emacs-ess / ESS

Emacs Speaks Statistics: ESS
https://ess.r-project.org/
GNU General Public License v3.0
614 stars 160 forks source link

Getting help for " hangs emacs #1167

Open gdkrmr opened 2 years ago

gdkrmr commented 2 years ago

Running

?'"'

in the inferior R mode buffer. The first time I could unlock it spamming C-c and C-g, the second time I had to send SIGUSR2 to the emacs process and got the following back trace:

Debugger entered--entering a function:
* substitute-command-keys("Quit")
  ess-wait-for-process(#<process R> nil nil nil 2305843009213693951)
  ess-command(#("as.character(utils::help(''\"''))\n" 26 27 (fontified t) 27 29 (face font-lock-string-face fontified t)) #<buffer  *ess-get-words*> sleep nil nil nil nil nil)
  ess-get-words-from-vector(#("as.character(utils::help(''\"''))\n" 26 27 (fontified t) 27 29 (face font-lock-string-face fontified t)))
  ess-r-help--find-package(#("'\"'" 0 1 (fontified t) 1 3 (fontified t face font-lock-string-face)))
  ess-r-help--build-help-command--unqualified(#("'\"'" 0 1 (fontified t) 1 3 (fontified t face font-lock-string-face)))
  #f(compiled-function (object) #<bytecode 0x82e5c686bce4422>)(#("'\"'" 0 1 (fontified t) 1 3 (fontified t face font-lock-string-face)))
  apply(#f(compiled-function (object) #<bytecode 0x82e5c686bce4422>) #("'\"'" 0 1 (fontified t) 1 3 (fontified t face font-lock-string-face)))
  ess-build-help-command(#("'\"'" 0 1 (fontified t) 1 3 (fontified t face font-lock-string-face)))
  ess--flush-help-into-current-buffer(#("'\"'" 0 1 (fontified t) 1 3 (fontified t face font-lock-string-face)) nil)
  ess-display-help-on-object(#("'\"'" 0 1 (fontified t) 1 3 (fontified t face font-lock-string-face)))
  ess-help-r--display-help-\?(#("?'\"'" 0 2 (fontified t) 2 4 (face font-lock-string-face fontified t)) #("?'\"'" 0 2 (fontified t) 2 4 (face font-lock-string-face fontified t)))
  ess-help-r--process-help-input(#<process R> #("?'\"'" 0 2 (fontified t) 2 4 (face font-lock-string-face fontified t)))
  inferior-ess-r-input-sender(#<process R> #("?'\"'" 0 2 (fontified t) 2 4 (face font-lock-string-face fontified t)))
  comint-send-input()
  inferior-ess-send-input()
  funcall-interactively(inferior-ess-send-input)
  command-execute(inferior-ess-send-input)