* emacs-29: error creating external process - (permission-denied "Doing vfork" "Permission denied")
@ 2022-12-08 13:46 Jostein Kjønigsen
0 siblings, 0 replies; 4+ messages in thread
From: Jostein Kjønigsen @ 2022-12-08 13:46 UTC (permalink / raw)
To: Ergus via Emacs development discussions.
[-- Attachment #1: Type: text/plain, Size: 51598 bytes --]
Hey everyone.
I'm testing out the latest emacs-29 commits daily to validate that my C#
and TypeScript development environment works as it should (or as
expected) using the new built-in major-modes based on tree-sitter.
I've found a few issues related to "my" modes, and I've either reported
bugs for those or supplied patches. I consider those aspects to be under
fairly good control.
I've quite recently encountered one regression though, which is breaking
my setup, and I believe it's in a part of Emacs which I'm not deeply
familiar with.
There seems to be some changes in (make-process?) which causes an error
when trying to launch an external process used as a language-server.
What's annoying is that it doesn't seem to happen for all make-process
invocations, nor for all external processes.
When it fails, we get a stack-trace like this:
Debugger entered--Lisp error: (permission-denied"Doing vfork" "Permission denied")
make-process(:name "omnisharp" :connection-type pipe :buffer "*omnisharp*" :coding no-conversion :command ("/home/jostein/.emacs.d/.cache/lsp/omnisharp-roslyn..." "-lsp") :filter (closure ((chunk) (body) (body-length) (leftovers) (body-received . 0) (workspace . #s(lsp--workspace :ewoc nil :server-capabilities nil :registered-server-capabilities nil :root "/home/jostein/build/testy" :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ... ... ...) :test? (closure ... nil ...)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) :host-root nil :proc nil :cmd-proc nil :buffers (#<buffer test.cs<testy>>) :semantic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra-client-capabilities nil :status starting :metadata #<hash-table equal 0/65 0x1573d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d03> :workspace-folders nil :last-id 0 :status-string nil :shutdown-action nil :diagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-done-tokens #<hash-table equal 0/65 0x1573d5610d83>))) (_proc input) (setq chunk (if (s-blank? leftovers) input (concat leftovers input))) (let (messages) (while (not (s-blank? chunk)) (if (not body-length) (let* ((body-sep-pos ...)) (if body-sep-pos (progn ... ... ... ...) (progn ... ...))) (let* ((chunk-length ...) (left-to-receive ...) (this-body ...) (body-bytes ...)) (setq body (cons this-body body)) (setq body-received (+ body-received body-bytes)) (if (>= chunk-length left-to-receive) (progn ...))))) (mapc #'(lambda (msg) (lsp--parser-on-message msg workspace)) (nreverse messages)))) :sentinel #f(compiled-function (&rest args2) #<bytecode -0xada18c6b4c312f0>) :stderr "*omnisharp::stderr*" :noquery t)
(let* ((stderr-buf (format "*%s::stderr*" process-name)) (default-directory (lsp--default-directory-for-connection)) (proc (make-process :name process-name:connection-type 'pipe :buffer (format "*%s*" process-name):coding 'no-conversion :command final-command:filter filter:sentinel sentinel:stderr stderr-buf:noquery t))) (set-process-query-on-exit-flag procnil) (set-process-query-on-exit-flag (get-buffer-process stderr-buf)nil) (save-current-buffer (set-buffer (get-buffer stderr-buf)) (special-mode)) (cons proc proc))
(let ((final-command (lsp-resolve-final-function command)) (process-name (generate-new-buffer-name name)) (process-environment (lsp--compute-process-environment environment-fn))) (let* ((stderr-buf (format "*%s::stderr*" process-name)) (default-directory (lsp--default-directory-for-connection)) (proc (make-process :name process-name:connection-type 'pipe :buffer (format "*%s*" process-name):coding 'no-conversion :command final-command:filter filter:sentinel sentinel:stderr stderr-buf:noquery t))) (set-process-query-on-exit-flag procnil) (set-process-query-on-exit-flag (get-buffer-process stderr-buf)nil) (save-current-buffer (set-buffer (get-buffer stderr-buf)) (special-mode)) (cons proc proc)))
(if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let ((final-command (lsp-resolve-final-function command)) (process-name (generate-new-buffer-name name)) (process-environment (lsp--compute-process-environment environment-fn))) (let* ((stderr-buf (format "*%s::stderr*" process-name)) (default-directory (lsp--default-directory-for-connection)) (proc (make-process :name process-name:connection-type 'pipe :buffer (format "*%s*" process-name):coding 'no-conversion :command final-command:filter filter:sentinel sentinel:stderr stderr-buf:noquery t))) (set-process-query-on-exit-flag procnil) (set-process-query-on-exit-flag (get-buffer-process stderr-buf)nil) (save-current-buffer (set-buffer (get-buffer stderr-buf)) (special-mode)) (cons proc proc))))
(closure ((command closure (t) nil (append (list (lsp-csharp--language-server-path) "-lsp") (if lsp-csharp-solution-file (progn (list "-s" ...)))))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let ((final-command (lsp-resolve-final-function command)) (process-name (generate-new-buffer-name name)) (process-environment (lsp--compute-process-environment environment-fn))) (let* ((stderr-buf (format "*%s::stderr*" process-name)) (default-directory (lsp--default-directory-for-connection)) (proc (make-process :name process-name :connection-type ... :buffer ... :coding ... :command final-command :filter filter :sentinel sentinel :stderr stderr-buf :noquery t))) (set-process-query-on-exit-flag proc nil) (set-process-query-on-exit-flag (get-buffer-process stderr-buf) nil) (save-current-buffer (set-buffer (get-buffer stderr-buf)) (special-mode)) (cons proc proc)))))((closure ((chunk) (body) (body-length) (leftovers) (body-received . 0) (workspace . #s(lsp--workspace :ewoc nil :server-capabilities nil :registered-server-capabilities nil :root "/home/jostein/build/testy" :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect ... :test? ...) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) :host-root nil :proc nil :cmd-proc nil :buffers (#<buffer test.cs<testy>>) :semantic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra-client-capabilities nil :status starting :metadata #<hash-table equal 0/65 0x1573d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d03> :workspace-folders nil :last-id 0 :status-string nil :shutdown-action nil :diagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-done-tokens #<hash-table equal 0/65 0x1573d5610d83>))) (_proc input) (setq chunk (if (s-blank? leftovers) input (concat leftovers input))) (let (messages) (while (not (s-blank? chunk)) (if (not body-length) (let* (...) (if body-sep-pos ... ...)) (let* (... ... ... ...) (setq body ...) (setq body-received ...) (if ... ...)))) (mapc #'(lambda (msg) (lsp--parser-on-message msg workspace)) (nreverse messages)))) #f(compiled-function (&rest args2) #<bytecode -0xada18c6b4c312f0>) "omnisharp" nil #s(lsp--workspace :ewoc nil :server-capabilities nil :registered-server-capabilities nil :root "/home/jostein/build/testy" :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure ... nil ...)) (filter sentinel name environment-fn workspace) (if (functionp ...) (lsp-json-rpc-connection workspace ...) (let ... ...))) :test? (closure (t) nil (let* (...) (if binary ... nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) :host-root nil :proc nil :cmd-proc nil :buffers (#<buffer test.cs<testy>>) :semantic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra-client-capabilities nil :status starting :metadata #<hash-table equal 0/65 0x1573d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d03> :workspace-folders nil :last-id 0 :status-string nil :shutdown-action nil :diagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-done-tokens #<hash-table equal 0/65 0x1573d5610d83>))
funcall((closure ((command closure (t) nil (append (list (lsp-csharp--language-server-path) "-lsp") (if lsp-csharp-solution-file (progn ...))))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let ((final-command (lsp-resolve-final-function command)) (process-name (generate-new-buffer-name name)) (process-environment (lsp--compute-process-environment environment-fn))) (let* ((stderr-buf ...) (default-directory ...) (proc ...)) (set-process-query-on-exit-flag proc nil) (set-process-query-on-exit-flag (get-buffer-process stderr-buf) nil) (save-current-buffer (set-buffer ...) (special-mode)) (cons proc proc))))) (closure ((chunk) (body) (body-length) (leftovers) (body-received . 0) (workspace . #s(lsp--workspace :ewoc nil :server-capabilities nil :registered-server-capabilities nil :root "/home/jostein/build/testy" :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect ... :test? ...) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) :host-root nil :proc nil :cmd-proc nil :buffers (#<buffer test.cs<testy>>) :semantic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra-client-capabilities nil :status starting :metadata #<hash-table equal 0/65 0x1573d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d03> :workspace-folders nil :last-id 0 :status-string nil :shutdown-action nil :diagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-done-tokens #<hash-table equal 0/65 0x1573d5610d83>))) (_proc input) (setq chunk (if (s-blank? leftovers) input (concat leftovers input))) (let (messages) (while (not (s-blank? chunk)) (if (not body-length) (let* (...) (if body-sep-pos ... ...)) (let* (... ... ... ...) (setq body ...) (setq body-received ...) (if ... ...)))) (mapc #'(lambda (msg) (lsp--parser-on-message msg workspace)) (nreverse messages)))) #f(compiled-function (&rest args2) #<bytecode -0xada18c6b4c312f0>) "omnisharp" nil #s(lsp--workspace :ewoc nil :server-capabilities nil :registered-server-capabilities nil :root "/home/jostein/build/testy" :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure ... nil ...)) (filter sentinel name environment-fn workspace) (if (functionp ...) (lsp-json-rpc-connection workspace ...) (let ... ...))) :test? (closure (t) nil (let* (...) (if binary ... nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) :host-root nil :proc nil :cmd-proc nil :buffers (#<buffer test.cs<testy>>) :semantic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra-client-capabilities nil :status starting :metadata #<hash-table equal 0/65 0x1573d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d03> :workspace-folders nil :last-id 0 :status-string nil :shutdown-action nil :diagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-done-tokens #<hash-table equal 0/65 0x1573d5610d83>))
(let* ((default-directory root) (client (copy-lsp--client client-template)) (workspace (make-lsp--workspace :root root :client client :status 'starting :buffers (list (lsp-current-buffer)) :host-root (file-remote-p root))) (server-id (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref client 15))) (environment-fn (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref client 27))) (new-connection (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref client 3))) (custom-capabilities (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref client 19))) (multi-root (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref client 16))) (initialized-fn (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref client 22))) (--dash-source-471-- (funcall (or (plist-get new-connection :connect) (user-error "Client %s is configured incorrectly" client)) (lsp--create-filter-function workspace) (apply-partially #'lsp--process-sentinel workspace) (format "%s" server-id) environment-fn workspace)) (proc (car-safe (prog1 --dash-source-471-- (setq --dash-source-471-- (cdr --dash-source-471--))))) (cmd-proc --dash-source-471--) (workspace-folders (gethash server-id (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... session))) (aref session 3))))) (progn (progn (or (progn (and (memq (type-of workspace) cl-struct-lsp--workspace-tags) t)) (signal 'wrong-type-argument (list 'lsp--workspace workspace))) (let* ((v workspace)) (aset v 7 proc))) (progn (or (progn (and (memq (type-of workspace) cl-struct-lsp--workspace-tags) t)) (signal 'wrong-type-argument (list 'lsp--workspace workspace))) (let* ((v workspace)) (aset v 8 cmd-proc)))) (mapc #'(lambda (project-root) (let* ((a1 workspace) (v project-root) (v (progn ... ...))) (puthash v (let* (...) (if ... vlist ...)) v))) (or workspace-folders (list root))) (let ((lsp--cur-workspace workspace)) (run-hooks 'lsp-before-initialize-hook) (lsp-request-async "initialize" (append (list :processId (if (file-remote-p (buffer-file-name)) nil (emacs-pid)) :rootPath (lsp-file-local-name (expand-file-name root)) :clientInfo (list :name "emacs" :version (emacs-version)) :rootUri (lsp--path-to-uri root) :capabilities (lsp--client-capabilities custom-capabilities) :initializationOptions initialization-options :workDoneToken "1") (if lsp-server-trace (progn (list :trace lsp-server-trace))) (if multi-root (progn (list :workspaceFolders (apply ... ...))))) #'(lambda (input0) (let* ((capabilities ...)) (if (equal ... server-id) (progn ...)) (progn (progn ... ...) (progn ... ...)) (let (...) (lsp-notify "initialized" lsp--empty-ht)) (if initialized-fn (progn ...)) (progn (or ... ...) (let* ... ...)) (mapc #'... (progn ... ...)) (let (...) (run-hooks ...)) (lsp--info "%s initialized successfully in folders: %s" (lsp--workspace-print workspace) (lsp-workspace-folders workspace)))) :mode 'detached)) workspace)
lsp--start-workspace(#s(lsp-session :folders ("/home/jostein/build/testy" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-table equal 0/65 0x1573d5d84a81>) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure (t) nil (append (list ... "-lsp") (if lsp-csharp-solution-file ...)))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let ((final-command ...) (process-name ...) (process-environment ...)) (let* (... ... ...) (set-process-query-on-exit-flag proc nil) (set-process-query-on-exit-flag ... nil) (save-current-buffer ... ...) (cons proc proc))))) :test? (closure (t) nil (let* ((binary (and t ...))) (if binary (f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) "/home/jostein/build/testy" nil)
(unwind-protect (lsp--start-workspace session client project-root (lsp--create-initialization-options session client)) (lsp--spinner-stop))
lsp--start-connection(#s(lsp-session :folders ("/home/jostein/build/testy" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-table equal 0/65 0x1573d5d84a81>) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure (t) nil (append (list ... "-lsp") (if lsp-csharp-solution-file ...)))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let ((final-command ...) (process-name ...) (process-environment ...)) (let* (... ... ...) (set-process-query-on-exit-flag proc nil) (set-process-query-on-exit-flag ... nil) (save-current-buffer ... ...) (cons proc proc))))) :test? (closure (t) nil (let* ((binary (and t ...))) (if binary (f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) "/home/jostein/build/testy")
(or (lsp--find-workspace session client project-root) (if ignore-multi-foldernil (lsp--find-multiroot-workspace session client project-root)) (lsp--start-connection session client project-root))
(closure ((ignore-multi-folder) (project-root . "/home/jostein/build/testy") (session . #s(lsp-session :folders ("/home/jostein/build/testy" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-table equal 0/65 0x1573d5d84a81>))) (client) (or (lsp--find-workspace session client project-root) (if ignore-multi-folder nil (lsp--find-multiroot-workspace session client project-root)) (lsp--start-connection session client project-root)))(#s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure (t) nil (append (list ... "-lsp") (if lsp-csharp-solution-file ...)))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let ((final-command ...) (process-name ...) (process-environment ...)) (let* (... ... ...) (set-process-query-on-exit-flag proc nil) (set-process-query-on-exit-flag ... nil) (save-current-buffer ... ...) (cons proc proc))))) :test? (closure (t) nil (let* ((binary (and t ...))) (if binary (f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil))
mapcar((closure ((ignore-multi-folder) (project-root . "/home/jostein/build/testy") (session . #s(lsp-session :folders ("/home/jostein/build/testy" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-table equal 0/65 0x1573d5d84a81>))) (client) (or (lsp--find-workspace session client project-root) (if ignore-multi-folder nil (lsp--find-multiroot-workspace session client project-root)) (lsp--start-connection session client project-root))) (#s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure (t) nil (append ... ...))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let (... ... ...) (let* ... ... ... ... ...)))) :test? (closure (t) nil (let* ((binary ...)) (if binary (f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil)))
-map((closure ((ignore-multi-folder) (project-root . "/home/jostein/build/testy") (session . #s(lsp-session :folders ("/home/jostein/build/testy" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-table equal 0/65 0x1573d5d84a81>))) (client) (or (lsp--find-workspace session client project-root) (if ignore-multi-folder nil (lsp--find-multiroot-workspace session client project-root)) (lsp--start-connection session client project-root))) (#s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure (t) nil (append ... ...))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let (... ... ...) (let* ... ... ... ... ...)))) :test? (closure (t) nil (let* ((binary ...)) (if binary (f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil)))
lsp--ensure-lsp-servers(#s(lsp-session :folders ("/home/jostein/build/testy" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-table equal 0/65 0x1573d5d84a81>) (#s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure (t) nil (append ... ...))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let (... ... ...) (let* ... ... ... ... ...)))) :test? (closure (t) nil (let* ((binary ...)) (if binary (f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil)) "/home/jostein/build/testy" nil)
(progn (if (-contains? (progn (or (progn (and (memq ... cl-struct-lsp-session-tags)t)) (signal 'wrong-type-argument (list 'lsp-session session))) (aref session1)) project-root)nil (progn (or (progn (and (memq (type-of session) cl-struct-lsp-session-tags)t)) (signal 'wrong-type-argument (list 'lsp-session session))) (let* ((v session)) (aset v1 (let* ((vlist ...)) (if (memql project-root vlist) vlist (cons project-root vlist)))))) (lsp--persist-session session)) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder))
(if project-root (progn (if (-contains? (progn (or (progn (and ...t)) (signal 'wrong-type-argument (list ... session))) (aref session1)) project-root)nil (progn (or (progn (and (memq ... cl-struct-lsp-session-tags)t)) (signal 'wrong-type-argument (list 'lsp-session session))) (let* ((v session)) (aset v1 (let* (...) (if ... vlist ...))))) (lsp--persist-session session)) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder)) (lsp--warn"%s not in project or it is blacklisted." (buffer-name))nil)
(let ((project-root (let ((result (let (...) (if result ...)))) (if result (progn (lsp-f-canonical result)))))) (if project-root (progn (if (-contains? (progn (or (progn ...) (signal ... ...)) (aref session1)) project-root)nil (progn (or (progn (and ...t)) (signal 'wrong-type-argument (list ... session))) (let* ((v session)) (aset v1 (let* ... ...)))) (lsp--persist-session session)) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder)) (lsp--warn"%s not in project or it is blacklisted." (buffer-name))nil))
(if clients (let ((project-root (let ((result (let ... ...))) (if result (progn (lsp-f-canonical result)))))) (if project-root (progn (if (-contains? (progn (or ... ...) (aref session1)) project-root)nil (progn (or (progn ...) (signal ... ...)) (let* (...) (aset v1 ...))) (lsp--persist-session session)) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder)) (lsp--warn"%s not in project or it is blacklisted." (buffer-name))nil)) (lsp--warn"No LSP server for %s(check *lsp-log*)." major-mode)nil)
(let ((clients (if ask-for-client (list (lsp--completing-read"Select server to start: " (ht-values lsp-clients) (-compose'symbol-name 'lsp--client-server-id)nil t)) (lsp--find-clients)))) (if clients (let ((project-root (let ((result ...)) (if result (progn ...))))) (if project-root (progn (if (-contains? (progn ... ...) project-root)nil (progn (or ... ...) (let* ... ...)) (lsp--persist-session session)) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder)) (lsp--warn"%s not in project or it is blacklisted." (buffer-name))nil)) (lsp--warn"No LSP server for %s(check *lsp-log*)." major-mode)nil))
(let* ((session input0)) (let ((clients (if ask-for-client (list (lsp--completing-read"Select server to start: " (ht-values lsp-clients) (-compose ... ...)nil t)) (lsp--find-clients)))) (if clients (let ((project-root (let (...) (if result ...)))) (if project-root (progn (if (-contains? ... project-root)nil (progn ... ...) (lsp--persist-session session)) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder)) (lsp--warn"%s not in project or it is blacklisted." (buffer-name))nil)) (lsp--warn"No LSP server for %s(check *lsp-log*)." major-mode)nil)))
(let ((input0 (lsp-session))) (let* ((session input0)) (let ((clients (if ask-for-client (list (lsp--completing-read"Select server to start: " ... ...nil t)) (lsp--find-clients)))) (if clients (let ((project-root (let ... ...))) (if project-root (progn (if ...nil ... ...) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder)) (lsp--warn"%s not in project or it is blacklisted." (buffer-name))nil)) (lsp--warn"No LSP server for %s(check *lsp-log*)." major-mode)nil))))
lsp--try-project-root-workspaces(nil nil)
(or (and (not (lsp-find-session-folder (lsp-session) (buffer-file-name))) (lsp--try-open-in-library-workspace)) (lsp--try-project-root-workspaces (equal arg '(4)) (and arg (not (equal arg1)))))
(setq lsp--buffer-workspaces (or (and (not (lsp-find-session-folder (lsp-session) (buffer-file-name))) (lsp--try-open-in-library-workspace)) (lsp--try-project-root-workspaces (equal arg '(4)) (and arg (not (equal arg1))))))
(if (setq lsp--buffer-workspaces (or (and (not (lsp-find-session-folder (lsp-session) (buffer-file-name))) (lsp--try-open-in-library-workspace)) (lsp--try-project-root-workspaces (equal arg '(4)) (and arg (not (equal arg1)))))) (progn (lsp-mode1) (if lsp-auto-configure (progn (lsp--auto-configure))) (setq lsp-buffer-uri (lsp--buffer-uri)) (lsp--info"Connected to %s." (apply 'concat (mapcar #'(lambda (it) (ignore it) (format "[%s %s]" ... ...)) lsp--buffer-workspaces)))))
(cond (matching-clients (if (setq lsp--buffer-workspaces (or (and (not (lsp-find-session-folder ... ...)) (lsp--try-open-in-library-workspace)) (lsp--try-project-root-workspaces (equal arg '...) (and arg (not ...))))) (progn (lsp-mode 1) (if lsp-auto-configure (progn (lsp--auto-configure))) (setq lsp-buffer-uri (lsp--buffer-uri)) (lsp--info "Connected to %s." (apply 'concat (mapcar #'... lsp--buffer-workspaces)))))) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--client-download-in-progress?))) (lsp--info "There are language server(%s) installation in prog..." (-map #'lsp--client-server-id clients)) (seq-do #'(lambda (client) (progn (or (progn ...) (signal ... ...)) (let* (...) (aset v 32 ...)))) clients)) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? (-const lsp-enable-suggest-server-download) #'lsp--client-download-server-fn (-not #'lsp--client-download-in-progress?)))) (let ((client (lsp--completing-read (concat "Unable to find installed server supporting this fi..." "The following servers could be installed automatic...") clients (-compose #'symbol-name #'lsp--client-server-id) nil t))) (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (let* ((v client)) (aset v 32 (let* (... ...) (if ... vlist ...))))) (lsp--install-server-internal client))) ((not lsp-warn-no-matched-clients) nil) ((setq clients (if matching-clients nil (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--client-download-server-fn (-not (-const lsp-enable-suggest-server-download)) (-not #'lsp--server-binary-present?))))) (lsp--warn "The following servers support current file but aut..." (mapconcat #'(lambda (client) (symbol-name (progn ... ...))) clients " "))) ((setq clients (if matching-clients nil (lsp--filter-clients (-andfn #'lsp--supports-buffer? (-not #'lsp--server-binary-present?))))) (lsp--warn "The following servers support current file but do ..." (mapconcat #'(lambda (client) (symbol-name (progn ... ...))) clients " "))) ((not (lsp--filter-clients #'lsp--supports-buffer?)) (lsp--error "There are no language servers supporting current m..." major-mode major-mode major-mode)))
(let (clients (matching-clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--server-binary-present?)))) (cond (matching-clients (if (setq lsp--buffer-workspaces (or (and (not ...) (lsp--try-open-in-library-workspace)) (lsp--try-project-root-workspaces (equal arg ...) (and arg ...)))) (progn (lsp-mode 1) (if lsp-auto-configure (progn (lsp--auto-configure))) (setq lsp-buffer-uri (lsp--buffer-uri)) (lsp--info "Connected to %s." (apply 'concat (mapcar ... lsp--buffer-workspaces)))))) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--client-download-in-progress?))) (lsp--info "There are language server(%s) installation in prog..." (-map #'lsp--client-server-id clients)) (seq-do #'(lambda (client) (progn (or ... ...) (let* ... ...))) clients)) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? (-const lsp-enable-suggest-server-download) #'lsp--client-download-server-fn (-not #'lsp--client-download-in-progress?)))) (let ((client (lsp--completing-read (concat "Unable to find installed server supporting this fi..." "The following servers could be installed automatic...") clients (-compose ... ...) nil t))) (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... client))) (let* ((v client)) (aset v 32 (let* ... ...)))) (lsp--install-server-internal client))) ((not lsp-warn-no-matched-clients) nil) ((setq clients (if matching-clients nil (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--client-download-server-fn (-not ...) (-not ...))))) (lsp--warn "The following servers support current file but aut..." (mapconcat #'(lambda (client) (symbol-name ...)) clients " "))) ((setq clients (if matching-clients nil (lsp--filter-clients (-andfn #'lsp--supports-buffer? (-not ...))))) (lsp--warn "The following servers support current file but do ..." (mapconcat #'(lambda (client) (symbol-name ...)) clients " "))) ((not (lsp--filter-clients #'lsp--supports-buffer?)) (lsp--error "There are no language servers supporting current m..." major-mode major-mode major-mode))))
(progn (let (clients (matching-clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--server-binary-present?)))) (cond (matching-clients (if (setq lsp--buffer-workspaces (or (and ... ...) (lsp--try-project-root-workspaces ... ...))) (progn (lsp-mode 1) (if lsp-auto-configure (progn ...)) (setq lsp-buffer-uri (lsp--buffer-uri)) (lsp--info "Connected to %s." (apply ... ...))))) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--client-download-in-progress?))) (lsp--info "There are language server(%s) installation in prog..." (-map #'lsp--client-server-id clients)) (seq-do #'(lambda (client) (progn ... ...)) clients)) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? (-const lsp-enable-suggest-server-download) #'lsp--client-download-server-fn (-not ...)))) (let ((client (lsp--completing-read ... clients ... nil t))) (progn (or (progn ...) (signal ... ...)) (let* (...) (aset v 32 ...))) (lsp--install-server-internal client))) ((not lsp-warn-no-matched-clients) nil) ((setq clients (if matching-clients nil (lsp--filter-clients (-andfn ... ... ... ...)))) (lsp--warn "The following servers support current file but aut..." (mapconcat #'(lambda ... ...) clients " "))) ((setq clients (if matching-clients nil (lsp--filter-clients (-andfn ... ...)))) (lsp--warn "The following servers support current file but do ..." (mapconcat #'(lambda ... ...) clients " "))) ((not (lsp--filter-clients #'lsp--supports-buffer?)) (lsp--error "There are no language servers supporting current m..." major-mode major-mode major-mode)))))
(if (buffer-file-name) (progn (let (clients (matching-clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--server-binary-present?)))) (cond (matching-clients (if (setq lsp--buffer-workspaces (or ... ...)) (progn (lsp-mode 1) (if lsp-auto-configure ...) (setq lsp-buffer-uri ...) (lsp--info "Connected to %s." ...)))) ((setq clients (lsp--filter-clients (-andfn ... ...))) (lsp--info "There are language server(%s) installation in prog..." (-map #'lsp--client-server-id clients)) (seq-do #'(lambda ... ...) clients)) ((setq clients (lsp--filter-clients (-andfn ... ... ... ...))) (let ((client ...)) (progn (or ... ...) (let* ... ...)) (lsp--install-server-internal client))) ((not lsp-warn-no-matched-clients) nil) ((setq clients (if matching-clients nil (lsp--filter-clients ...))) (lsp--warn "The following servers support current file but aut..." (mapconcat #'... clients " "))) ((setq clients (if matching-clients nil (lsp--filter-clients ...))) (lsp--warn "The following servers support current file but do ..." (mapconcat #'... clients " "))) ((not (lsp--filter-clients #'lsp--supports-buffer?)) (lsp--error "There are no language servers supporting current m..." major-mode major-mode major-mode))))))
lsp()
run-hooks(change-major-mode-after-body-hook prog-mode-hook c-mode-common-hook csharp-mode-hook)
apply(run-hooks (change-major-mode-after-body-hook prog-mode-hook c-mode-common-hook csharp-mode-hook))
run-mode-hooks(csharp-mode-hook)
csharp-mode()
set-auto-mode-0(csharp-modenil)
set-auto-mode--apply-alist((("\\.hsc\\'" . haskell-mode) ("\\.l[gh]s\\'" . haskell-literate-mode) ("\\.hsig\\'" . haskell-mode) ("\\.[gh]s\\'" . haskell-mode) ("\\.cabal\\'\\|/cabal\\.project\\|/\\.cabal/config\\'" . haskell-cabal-mode) ("\\.chs\\'" . haskell-c2hs-mode) ("\\.ghci\\'" . ghci-script-mode) ("\\.dump-simpl\\'" . ghc-core-mode) ("\\.hcr\\'" . ghc-core-mode) ("\\.ts\\'" . typescript-mode) ("\\(?:build\\|profile\\)\\.boot\\'" . clojure-mode) ("\\.cljs\\'" . clojurescript-mode) ("\\.cljc\\'" . clojurec-mode) ("\\.\\(clj\\|cljd\\|dtm\\|edn\\)\\'" . clojure-mode) ("\\.\\(scala\\|sbt\\|worksheet\\.sc\\)\\'" . scala-mode) ("\\.\\(?:php[s345]?\\|phtml\\)\\'" . php-mode-maybe) ("\\.\\(?:php\\.inc\\|stub\\)\\'" . php-mode) ("/\\.php_cs\\(?:\\.dist\\)?\\'" . php-mode) ("\\.rs\\'" . rust-mode) ("\\.dart\\'" . dart-mode) ("\\.\\(?:md\\|markdown\\|mkd\\|mdown\\|mkdn\\|mdwn\\)\\'" . markdown-mode) ("\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'" nil epa-file) ("\\.elc\\'" . elisp-byte-code-mode) ("\\.zst\\'" nil jka-compr) ("\\.dz\\'" nil jka-compr) ("\\.xz\\'" nil jka-compr) ("\\.lzma\\'" nil jka-compr) ("\\.lz\\'" nil jka-compr) ("\\.g?z\\'" nil jka-compr) ("\\.bz2\\'" nil jka-compr) ("\\.Z\\'" nil jka-compr) ("\\.vr[hi]?\\'" . vera-mode) ("\\.tsx\\'" . tsx-ts-mode) ("\\.ts\\'" . typescript-ts-mode) ("\\(?:\\.\\(?:rbw?\\|ru\\|rake\\|thor\\|jbuilder\\|rabl\\|ge..." . ruby-mode) ("\\.re?st\\'" . rst-mode) ("\\.py[iw]?\\'" . python-mode) ("\\.m\\'" . octave-maybe-mode) ("\\.less\\'" . less-css-mode) ("\\.scss\\'" . scss-mode) ("\\.cs\\'" . csharp-mode) ("\\.awk\\'" . awk-mode) ("\\.\\(u?lpc\\|pike\\|pmod\\(\\.in\\)?\\)\\'" . pike-mode) ("\\.idl\\'" . idl-mode) ("\\.java\\'" . java-mode) ("\\.m\\'" . objc-mode) ("\\.ii\\'" . c++-mode) ("\\.i\\'" . c-mode) ("\\.lex\\'" . c-mode) ("\\.y\\(acc\\)?\\'" . c-mode) ...) nil nil)
set-auto-mode()
normal-mode(t)
after-find-file(t t)
find-file-noselect-1(#<buffer test.cs<testy> > "~/build/testy/test.cs" nil nil "~/build/testy/test.cs" nil)
find-file-noselect("~/build/testy/test.cs" nil nil t)
find-file("~/build/testy/test.cs" t)
funcall-interactively(find-file "~/build/testy/test.cs" t)
call-interactively(find-file nil nil)
command-execute(find-file)
For those interested, I've made a detailed error report for it in the
lsp-mode issue-tracker:
https://github.com/emacs-lsp/lsp-mode/issues/3842
Does anyone know of any recent changes which could have caused this? Or
should I register this as a separate bug on debbugs?
--
*Jostein Kjønigsen*
jostein.kjønigsen.no <https://jostein.kjønigsen.no>
jostein@kjonigsen.net - jostein@gmail.com
[-- Attachment #2: Type: text/html, Size: 101308 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: emacs-29: error creating external process - (permission-denied "Doing vfork" "Permission denied")
[not found] <f41f3806-1d3b-fbd4-2e2c-905ffe62e2e5@riseup.net>
@ 2022-12-09 18:03 ` Jostein Kjønigsen
2022-12-09 21:27 ` Jostein Kjønigsen
0 siblings, 1 reply; 4+ messages in thread
From: Jostein Kjønigsen @ 2022-12-09 18:03 UTC (permalink / raw)
To: THall, Ergus via Emacs development discussions.
I've been testing a little more and this is clearly something which
happens with a very specific set of launch parameters.
Case in point: lsp-mode works fine for all other language-protocol
server I use. Only omnisharp fails. But if I try to use omnisharp via
eglot, then it launches fine.
That is, so far this is the only code I know which can reproduce this error:
https://github.com/emacs-lsp/lsp-mode/blob/e56da7199c09e44f4b5feaf07691d467c01da376/clients/lsp-csharp.el#L335-L362
--
Jostein
On 09.12.2022 17:09, THall wrote:
> I am running emacs 30 from master as of today I still get this error.
> csharp-mode is now built in, and when lsp-mode attempts to start the
> omnisharp server the same vfork permission denied error occurs with
> make-process.
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: emacs-29: error creating external process - (permission-denied "Doing vfork" "Permission denied")
2022-12-09 18:03 ` Jostein Kjønigsen
@ 2022-12-09 21:27 ` Jostein Kjønigsen
2022-12-16 22:24 ` Jostein Kjønigsen
0 siblings, 1 reply; 4+ messages in thread
From: Jostein Kjønigsen @ 2022-12-09 21:27 UTC (permalink / raw)
To: THall, Ergus via Emacs development discussions.
On 09.12.2022 19:03, Jostein Kjønigsen wrote:
> I've been testing a little more and this is clearly something which
> happens with a very specific set of launch parameters.
>
> Case in point: lsp-mode works fine for all other language-protocol
> server I use. Only omnisharp fails. But if I try to use omnisharp via
> eglot, then it launches fine.
>
> That is, so far this is the only code I know which can reproduce this
> error:
>
> https://github.com/emacs-lsp/lsp-mode/blob/e56da7199c09e44f4b5feaf07691d467c01da376/clients/lsp-csharp.el#L335-L362
>
>
> --
> Jostein
>
I've just tested moving my setup to eglot, and ran into issues getting
typescript-language-server working, but it complained about not being
able to find tsserver.
As a means to try to resolve those, I created a shell-script in
$HOME/bin, which looks pretty much like this:
#!/bin/sh
cd server-dir
./typescript-language-server $*
When launching eglot and using this as a language-server instead, I get
the same error. Activating edbug-on-error does not trigger the emacs
debugger, but still fails the same way.
--
Jostein
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: emacs-29: error creating external process - (permission-denied "Doing vfork" "Permission denied")
2022-12-09 21:27 ` Jostein Kjønigsen
@ 2022-12-16 22:24 ` Jostein Kjønigsen
0 siblings, 0 replies; 4+ messages in thread
From: Jostein Kjønigsen @ 2022-12-16 22:24 UTC (permalink / raw)
To: jostein, Ergus via Emacs development discussions., THall
Just as a public FYI, this was an error in lsp-mode and not a fault/regression in Emacs.
Please consider this case closed.
—
Jostein Kjønigsen
https://jostein.kjønigsen.net
> On 9 Dec 2022, at 22:33, Jostein Kjønigsen <jostein@secure.kjonigsen.net> wrote:
>
> On 09.12.2022 19:03, Jostein Kjønigsen wrote:
>> I've been testing a little more and this is clearly something which happens with a very specific set of launch parameters.
>>
>> Case in point: lsp-mode works fine for all other language-protocol server I use. Only omnisharp fails. But if I try to use omnisharp via eglot, then it launches fine.
>>
>> That is, so far this is the only code I know which can reproduce this error:
>>
>> https://github.com/emacs-lsp/lsp-mode/blob/e56da7199c09e44f4b5feaf07691d467c01da376/clients/lsp-csharp.el#L335-L362
>>
>> --
>> Jostein
>>
> I've just tested moving my setup to eglot, and ran into issues getting typescript-language-server working, but it complained about not being able to find tsserver.
>
> As a means to try to resolve those, I created a shell-script in $HOME/bin, which looks pretty much like this:
>
> #!/bin/sh
> cd server-dir
> ./typescript-language-server $*
>
> When launching eglot and using this as a language-server instead, I get the same error. Activating edbug-on-error does not trigger the emacs debugger, but still fails the same way.
>
>
> --
> Jostein
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-12-16 22:24 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-08 13:46 emacs-29: error creating external process - (permission-denied "Doing vfork" "Permission denied") Jostein Kjønigsen
[not found] <f41f3806-1d3b-fbd4-2e2c-905ffe62e2e5@riseup.net>
2022-12-09 18:03 ` Jostein Kjønigsen
2022-12-09 21:27 ` Jostein Kjønigsen
2022-12-16 22:24 ` Jostein Kjønigsen
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).