unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
@ 2021-03-17  3:36 LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-03-17 11:51 ` Michael Albinus
  2021-03-17 15:45 ` bug#47205: " Lin Sun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 15+ messages in thread
From: LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-03-17  3:36 UTC (permalink / raw)
  To: 47205

[-- Attachment #1: Type: text/html, Size: 7610 bytes --]

[-- Attachment #2: backtrace-unexpected-input-event-for-expand-file-name --]
[-- Type: application/octet-stream, Size: 57005 bytes --]

Debugger entered--Lisp error: (no-catch input t)
  read-event(nil nil 0.001)
  (let ((inhibit-redisplay t) unread-command-events) (read-event nil nil check-interval))
  (let ((event (let ((inhibit-redisplay t) unread-command-events) (read-event nil nil check-interval)))) (if event (progn (if (condition-case nil (progn (dbus-check-event event)) (error nil)) (setq result (gethash key dbus-return-values-table)) (setq unread-command-events (nconc unread-command-events (cons event nil)))))) (if (< check-interval 1) (progn (setq check-interval (* check-interval 1.05)))))
  (while (eq (car result) :pending) (let ((event (let ((inhibit-redisplay t) unread-command-events) (read-event nil nil check-interval)))) (if event (progn (if (condition-case nil (progn (dbus-check-event event)) (error nil)) (setq result (gethash key dbus-return-values-table)) (setq unread-command-events (nconc unread-command-events (cons event nil)))))) (if (< check-interval 1) (progn (setq check-interval (* check-interval 1.05))))))
  (progn (while (eq (car result) :pending) (let ((event (let ((inhibit-redisplay t) unread-command-events) (read-event nil nil check-interval)))) (if event (progn (if (condition-case nil (progn ...) (error nil)) (setq result (gethash key dbus-return-values-table)) (setq unread-command-events (nconc unread-command-events ...))))) (if (< check-interval 1) (progn (setq check-interval (* check-interval 1.05)))))))
  (unwind-protect (progn (while (eq (car result) :pending) (let ((event (let (... unread-command-events) (read-event nil nil check-interval)))) (if event (progn (if (condition-case nil ... ...) (setq result ...) (setq unread-command-events ...)))) (if (< check-interval 1) (progn (setq check-interval (* check-interval 1.05))))))) (cancel-timer -with-timeout-timer-))
  (let* ((-with-timeout-timer- (run-with-timer (if timeout (/ timeout 1000.0) 25) nil #'(lambda nil (throw 'timeout 'timeout)))) (with-timeout-timers (cons -with-timeout-timer- with-timeout-timers))) (unwind-protect (progn (while (eq (car result) :pending) (let ((event (let ... ...))) (if event (progn (if ... ... ...))) (if (< check-interval 1) (progn (setq check-interval ...)))))) (cancel-timer -with-timeout-timer-)))
  (catch 'timeout (let* ((-with-timeout-timer- (run-with-timer (if timeout (/ timeout 1000.0) 25) nil #'(lambda nil (throw ... ...)))) (with-timeout-timers (cons -with-timeout-timer- with-timeout-timers))) (unwind-protect (progn (while (eq (car result) :pending) (let ((event ...)) (if event (progn ...)) (if (< check-interval 1) (progn ...))))) (cancel-timer -with-timeout-timer-))))
  (let ((-with-timeout-value- (catch 'timeout (let* ((-with-timeout-timer- (run-with-timer ... nil ...)) (with-timeout-timers (cons -with-timeout-timer- with-timeout-timers))) (unwind-protect (progn (while ... ...)) (cancel-timer -with-timeout-timer-)))))) (if (eq -with-timeout-value- 'timeout) (progn (signal 'dbus-error (list "call timed out"))) -with-timeout-value-))
  (progn (let ((-with-timeout-value- (catch 'timeout (let* ((-with-timeout-timer- ...) (with-timeout-timers ...)) (unwind-protect (progn ...) (cancel-timer -with-timeout-timer-)))))) (if (eq -with-timeout-value- 'timeout) (progn (signal 'dbus-error (list "call timed out"))) -with-timeout-value-)) (if (eq (car result) :error) (progn (signal (car (cdr result)) (cdr (cdr result))))) (cdr result))
  (unwind-protect (progn (let ((-with-timeout-value- (catch 'timeout (let* (... ...) (unwind-protect ... ...))))) (if (eq -with-timeout-value- 'timeout) (progn (signal 'dbus-error (list "call timed out"))) -with-timeout-value-)) (if (eq (car result) :error) (progn (signal (car (cdr result)) (cdr (cdr result))))) (cdr result)) (remhash key dbus-return-values-table))
  (let ((timeout (plist-get args :timeout)) (check-interval 0.001) (key (apply 'dbus-message-internal dbus-message-type-method-call bus service path interface method 'dbus-call-method-handler args)) (result (cons :pending nil))) (puthash key result dbus-return-values-table) (unwind-protect (progn (let ((-with-timeout-value- (catch 'timeout (let* ... ...)))) (if (eq -with-timeout-value- 'timeout) (progn (signal 'dbus-error (list "call timed out"))) -with-timeout-value-)) (if (eq (car result) :error) (progn (signal (car (cdr result)) (cdr (cdr result))))) (cdr result)) (remhash key dbus-return-values-table)))
  dbus-call-method(:system "org.freedesktop.DBus" "/org/freedesktop/DBus" "org.freedesktop.DBus" "AddMatch" "type='signal',interface='org.freedesktop.DBus.Loca...")
  (condition-case err (dbus-call-method bus dbus-service-dbus dbus-path-dbus dbus-interface-dbus "AddMatch" rule) (dbus-error (if (not (string-match "eavesdrop" rule)) (signal (car err) (cdr err)) (if dbus-debug (progn (message "Removing eavesdrop from rule %s" rule))) (setq rule (replace-regexp-in-string ",eavesdrop='true'" "" rule)) (dbus-call-method bus dbus-service-dbus dbus-path-dbus dbus-interface-dbus "AddMatch" rule))))
  (let ((counter 0) (rule "type='signal'") uname key key1 value) (if (and (stringp service) (not (= 0 (length service))) (not (string-equal service dbus-service-dbus)) (not (string-match "^:" service))) (setq uname (dbus-get-name-owner bus service)) (setq uname service)) (setq rule (concat rule (if uname (progn (format ",sender='%s'" uname))) (if interface (progn (format ",interface='%s'" interface))) (if signal (progn (format ",member='%s'" signal))) (if path (progn (format ",path='%s'" path))))) (if (or (stringp (car args)) (null (car args))) (let ((--dolist-tail-- args)) (while --dolist-tail-- (let ((arg (car --dolist-tail--))) (if (stringp arg) (setq rule (concat rule ...)) (if arg (signal ... ...))) (setq counter (1+ counter)) (setq --dolist-tail-- (cdr --dolist-tail--))))) (while args (setq key (car args) rule (concat rule (cond ((and ... ...) (setq counter ... args ... value ...) (if ... nil ...) (format ",arg%s%s='%s'" counter ... value)) ((and ... ...) (setq args ... value ...) (if ... nil ...) (format ",%s='%s'" ... value)) ((eq key :eavesdrop) ",eavesdrop='true'") (t (signal ... ...)))) args (cdr args)))) (condition-case err (dbus-call-method bus dbus-service-dbus dbus-path-dbus dbus-interface-dbus "AddMatch" rule) (dbus-error (if (not (string-match "eavesdrop" rule)) (signal (car err) (cdr err)) (if dbus-debug (progn (message "Removing eavesdrop from rule %s" rule))) (setq rule (replace-regexp-in-string ",eavesdrop='true'" "" rule)) (dbus-call-method bus dbus-service-dbus dbus-path-dbus dbus-interface-dbus "AddMatch" rule)))) (if dbus-debug (progn (message "Matching rule \"%s\" created" rule))) (setq key (list :signal bus interface signal) key1 (list uname service path handler rule) value (gethash key dbus-registered-objects-table)) (if (member key1 value) nil (puthash key (cons key1 value) dbus-registered-objects-table)) (list key (list service path handler)))
  dbus-register-signal(:system nil "/org/freedesktop/DBus/Local" "org.freedesktop.DBus.Local" "Disconnected" dbus-handle-bus-disconnect)
  (prog1 (dbus--init-bus bus private) (dbus-register-signal bus nil dbus-path-local dbus-interface-local "Disconnected" #'dbus-handle-bus-disconnect))
  dbus-init-bus(:system)
  (progn (dbus-init-bus :system))
  (condition-case err (progn (dbus-init-bus :system)) (dbus-error (if dbus-debug (progn (signal (car err) (cdr err))))))
  (progn (condition-case err (progn (dbus-init-bus :system)) (dbus-error (if dbus-debug (progn (signal (car err) (cdr err)))))) (condition-case err (progn (dbus-init-bus :session)) (dbus-error (if dbus-debug (progn (signal (car err) (cdr err)))))))
  (if (featurep 'dbusbind) (progn (condition-case err (progn (dbus-init-bus :system)) (dbus-error (if dbus-debug (progn (signal (car err) (cdr err)))))) (condition-case err (progn (dbus-init-bus :session)) (dbus-error (if dbus-debug (progn (signal (car err) (cdr err))))))))
  eval-buffer(#<buffer  *load*-614302> nil "xxx/.root/share/emacs/27.1.91/lisp/net/..." nil t)  ; Reading at buffer position 69829
  load-with-code-conversion("xxx/.root/share/emacs/27.1.91/lisp/net/..." "xxx/.root/share/emacs/27.1.91/lisp/net/..." nil t)
  require(dbus)
  eval-buffer(#<buffer  *load*-913948> nil "xxx/.root/share/emacs/27.1.91/lisp/net/..." nil t)  ; Reading at buffer position 4036
  load-with-code-conversion("xxx/.root/share/emacs/27.1.91/lisp/net/..." "xxx/.root/share/emacs/27.1.91/lisp/net/..." nil t)
  require(tramp-gvfs)
  (let ((max-specpdl-size (* 2 max-specpdl-size))) (require 'tramp-gvfs))
  (progn (let ((max-specpdl-size (* 2 max-specpdl-size))) (require 'tramp-gvfs)))
  eval((progn (let ((max-specpdl-size (* 2 max-specpdl-size))) (require 'tramp-gvfs))) t)
  #f(compiled-function (&rest body) "Like `progn', but evaluates the body at compile time and at\nload time.  In interpreted code, this is entirely equivalent to\n`progn', except that the value of the expression may be (but is\nnot necessarily) computed at load time if eager macro expansion\nis enabled." #<bytecode 0x1ff5555f273b>)((let ((max-specpdl-size (* 2 max-specpdl-size))) (require 'tramp-gvfs)))
  (eval-and-compile (let ((max-specpdl-size (* 2 max-specpdl-size))) (require 'tramp-gvfs)))
  eval-buffer(#<buffer  *load*> nil "xxx/.root/share/emacs/27.1.91/lisp/net/..." nil t)  ; Reading at buffer position 4928
  load-with-code-conversion("xxx/.root/share/emacs/27.1.91/lisp/net/..." "xxx/.root/share/emacs/27.1.91/lisp/net/..." nil t)
  tramp-archive-file-name-handler(expand-file-name "test/lisp/net/tramp-archive-resources/foo.iso/foo" "HOME/dev-env/src/emacs27.git/")
  expand-file-name("test/lisp/net/tramp-archive-resources/foo.iso/foo" "HOME/dev-env/src/emacs27.git/")
  (cons display (expand-file-name display root))
  (cons (cons display (expand-file-name display root)) --cl-var--)
  (setq --cl-var-- (cons (cons display (expand-file-name display root)) --cl-var--))
  (while (consp --cl-var--) (setq display (car --cl-var--)) (setq --cl-var-- (cons (cons display (expand-file-name display root)) --cl-var--)) (setq --cl-var-- (cdr --cl-var--)))
  (let* ((root (projectile-project-root)) (--cl-var-- (projectile-current-project-files)) (display nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq display (car --cl-var--)) (setq --cl-var-- (cons (cons display (expand-file-name display root)) --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--))
  (save-current-buffer (set-buffer (or (and (buffer-live-p helm-current-buffer) helm-current-buffer) (setq helm-current-buffer (current-buffer)))) (let* ((root (projectile-project-root)) (--cl-var-- (projectile-current-project-files)) (display nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq display (car --cl-var--)) (setq --cl-var-- (cons (cons display (expand-file-name display root)) --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--)))
  (progn (save-current-buffer (set-buffer (or (and (buffer-live-p helm-current-buffer) helm-current-buffer) (setq helm-current-buffer (current-buffer)))) (let* ((root (projectile-project-root)) (--cl-var-- (projectile-current-project-files)) (display nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq display (car --cl-var--)) (setq --cl-var-- (cons (cons display (expand-file-name display root)) --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--))))
  (if (projectile-project-p) (progn (save-current-buffer (set-buffer (or (and (buffer-live-p helm-current-buffer) helm-current-buffer) (setq helm-current-buffer (current-buffer)))) (let* ((root (projectile-project-root)) (--cl-var-- (projectile-current-project-files)) (display nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq display (car --cl-var--)) (setq --cl-var-- (cons (cons display ...) --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--)))))
  (closure (helm-projectile-current-project-root helm-ag-base-command t) nil (if (projectile-project-p) (progn (save-current-buffer (set-buffer (or (and (buffer-live-p helm-current-buffer) helm-current-buffer) (setq helm-current-buffer (current-buffer)))) (let* ((root (projectile-project-root)) (--cl-var-- (projectile-current-project-files)) (display nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq display (car --cl-var--)) (setq --cl-var-- (cons ... --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--))))))()
  apply((closure (helm-projectile-current-project-root helm-ag-base-command t) nil (if (projectile-project-p) (progn (save-current-buffer (set-buffer (or (and ... helm-current-buffer) (setq helm-current-buffer ...))) (let* ((root ...) (--cl-var-- ...) (display nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq display ...) (setq --cl-var-- ...) (setq --cl-var-- ...)) (nreverse --cl-var--)))))) nil)
  (setq result (apply fn args))
  (while (consp --cl-var--) (setq fn (car --cl-var--)) (setq result (apply fn args)) (if (and args (cdr funs)) (progn (setcar args result))) (setq --cl-var-- (cdr --cl-var--)))
  (let* ((result nil) (--cl-var-- funs) (fn nil)) (while (consp --cl-var--) (setq fn (car --cl-var--)) (setq result (apply fn args)) (if (and args (cdr funs)) (progn (setcar args result))) (setq --cl-var-- (cdr --cl-var--))) result)
  (let ((helm--source-name (assoc-default 'name source)) (helm-current-source source) (funs (if (functionp functions) (list functions) functions))) (let* ((result nil) (--cl-var-- funs) (fn nil)) (while (consp --cl-var--) (setq fn (car --cl-var--)) (setq result (apply fn args)) (if (and args (cdr funs)) (progn (setcar args result))) (setq --cl-var-- (cdr --cl-var--))) result))
  helm-apply-functions-from-source(((name . "Projectile files") (candidates closure (helm-projectile-current-project-root helm-ag-base-command t) nil (if ... ...)) (keymap keymap (33554441) (backtab) (S-tab) (left . helm-previous-source) (right . helm-next-source) (127 closure ... nil ... ...) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18) (31 . helm-ff-undo) (12) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) (13 . spacemacs/helm-find-files-windows) ...) (action ("Find File" . helm-find-file-or-marked) ("Find file in Dired" . helm-point-file-in-dired) ("View file" . view-file) ("Query replace fnames on ma..." . helm-ff-query-replace-fnames-on-marked) ("Marked files in dired `C-x..." . helm-marked-files-in-dired) ("Query replace contents on ..." . helm-ff-query-replace) ("Query replace regexp conte..." . helm-ff-query-replace-regexp) ("Attach file(s) to mail buf..." . helm-ff-mail-attach-files) ("Serial rename files" . helm-ff-serial-rename) ("Serial rename by symlinkin..." . helm-ff-serial-rename-by-symlink) ("Serial rename by copying f..." . helm-ff-serial-rename-by-copying) ("Open file with default too..." . helm-open-file-with-default-tool) ("Find file in hex dump" . hexl-find-file) ("Insert as org link `C-c @'" . helm-files-insert-as-org-link) ("Fd shell command (C-/)" . helm-ff-fd) ("Open file externally `C-c ..." . helm-open-file-externally) ("Grep File(s) `C-s, C-u Rec..." . helm-find-files-grep) ("Grep current directory wit..." . helm-find-files-ag) ("Git grep `M-g g, C-u from ..." . helm-ff-git-grep) ("Zgrep File(s) `M-g z, C-u ..." . helm-ff-zgrep) ("Pdf Grep File(s)" . helm-ff-pdfgrep) ("Gid `M-g i'" . helm-ff-gid) ("Switch to Eshell `M-e'" . helm-projectile-switch-to-shell) ("Etags `M-., C-u reload tag..." . helm-projectile-ff-etags-select-action) ("Eshell command on file(s) ..." . helm-projectile-find-files-eshell-command-on-file-action) ...) (persistent-action . helm-projectile-file-persistent-action) (persistent-help . "Preview file") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer (closure ... ... ...) helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (match helm-mm-exact-match helm-mm-match helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (mode-line . "\\<helm-read-file-map>\\[hel...") (header-line . "C-j: Preview file (keeping...") (multimatch . t) (before-init-hook closure (helm-projectile-current-project-root helm-ag-base-command t) nil (add-hook ... ...) (add-hook ... ...)) (group . helm)) (closure (helm-projectile-current-project-root helm-ag-base-command t) nil (if (projectile-project-p) (progn ...))))
  (cond ((and source (functionp value) (not (eq compute 'ignorefn))) (helm-apply-functions-from-source source value)) ((and (functionp value) (not (eq compute 'ignorefn))) (funcall value)) ((and (symbolp value) (boundp value)) (symbol-value value)) ((and (symbolp value) (not (functionp value))) (error "helm-interpret-value: Symbol must be a function or...")) (t value))
  helm-interpret-value((closure (helm-projectile-current-project-root helm-ag-base-command t) nil (if (projectile-project-p) (progn ...))) ((name . "Projectile files") (candidates closure (helm-projectile-current-project-root helm-ag-base-command t) nil (if ... ...)) (keymap keymap (33554441) (backtab) (S-tab) (left . helm-previous-source) (right . helm-next-source) (127 closure ... nil ... ...) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18) (31 . helm-ff-undo) (12) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) (13 . spacemacs/helm-find-files-windows) ...) (action ("Find File" . helm-find-file-or-marked) ("Find file in Dired" . helm-point-file-in-dired) ("View file" . view-file) ("Query replace fnames on ma..." . helm-ff-query-replace-fnames-on-marked) ("Marked files in dired `C-x..." . helm-marked-files-in-dired) ("Query replace contents on ..." . helm-ff-query-replace) ("Query replace regexp conte..." . helm-ff-query-replace-regexp) ("Attach file(s) to mail buf..." . helm-ff-mail-attach-files) ("Serial rename files" . helm-ff-serial-rename) ("Serial rename by symlinkin..." . helm-ff-serial-rename-by-symlink) ("Serial rename by copying f..." . helm-ff-serial-rename-by-copying) ("Open file with default too..." . helm-open-file-with-default-tool) ("Find file in hex dump" . hexl-find-file) ("Insert as org link `C-c @'" . helm-files-insert-as-org-link) ("Fd shell command (C-/)" . helm-ff-fd) ("Open file externally `C-c ..." . helm-open-file-externally) ("Grep File(s) `C-s, C-u Rec..." . helm-find-files-grep) ("Grep current directory wit..." . helm-find-files-ag) ("Git grep `M-g g, C-u from ..." . helm-ff-git-grep) ("Zgrep File(s) `M-g z, C-u ..." . helm-ff-zgrep) ("Pdf Grep File(s)" . helm-ff-pdfgrep) ("Gid `M-g i'" . helm-ff-gid) ("Switch to Eshell `M-e'" . helm-projectile-switch-to-shell) ("Etags `M-., C-u reload tag..." . helm-projectile-ff-etags-select-action) ("Eshell command on file(s) ..." . helm-projectile-find-files-eshell-command-on-file-action) ...) (persistent-action . helm-projectile-file-persistent-action) (persistent-help . "Preview file") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer (closure ... ... ...) helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (match helm-mm-exact-match helm-mm-match helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (mode-line . "\\<helm-read-file-map>\\[hel...") (header-line . "C-j: Preview file (keeping...") (multimatch . t) (before-init-hook closure (helm-projectile-current-project-root helm-ag-base-command t) nil (add-hook ... ...) (add-hook ... ...)) (group . helm)))
  (if candidate-proc (helm-interpret-value candidate-proc) (helm-interpret-value candidate-fn source))
  (condition-case err (if candidate-proc (helm-interpret-value candidate-proc) (helm-interpret-value candidate-fn source)) ((debug error) (helm-log "Error: %S" (setq cfn-error err)) nil))
  (let* ((candidate-fn (assoc-default 'candidates source)) (candidate-proc (assoc-default 'candidates-process source)) (inhibit-quit candidate-proc) cfn-error (notify-error #'(lambda (&optional e) (error "In `%s' source: `%s' %s %s" (assoc-default 'name source) (or candidate-fn candidate-proc) (if e "\n" "must be a list, a symbol bound to a list, or a fun...") (if e (prin1-to-string e) "")))) (candidates (condition-case err (if candidate-proc (helm-interpret-value candidate-proc) (helm-interpret-value candidate-fn source)) ((debug error) (helm-log "Error: %S" (setq cfn-error err)) nil)))) (cond ((and (processp candidates) (not candidate-proc)) (warn "Candidates function `%s' should be called in a `ca..." candidate-fn)) ((and candidate-proc (not (processp candidates))) (error "Candidates function `%s' should run a process" candidate-proc))) (cond ((processp candidates) candidates) (cfn-error (if helm--ignore-errors nil (funcall notify-error cfn-error))) ((or (null candidates) (equal candidates '(""))) nil) ((listp candidates) (helm-transform-candidates candidates source)) (t (funcall notify-error))))
  helm-get-candidates(((name . "Projectile files") (candidates closure (helm-projectile-current-project-root helm-ag-base-command t) nil (if ... ...)) (keymap keymap (33554441) (backtab) (S-tab) (left . helm-previous-source) (right . helm-next-source) (127 closure ... nil ... ...) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18) (31 . helm-ff-undo) (12) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) (13 . spacemacs/helm-find-files-windows) ...) (action ("Find File" . helm-find-file-or-marked) ("Find file in Dired" . helm-point-file-in-dired) ("View file" . view-file) ("Query replace fnames on ma..." . helm-ff-query-replace-fnames-on-marked) ("Marked files in dired `C-x..." . helm-marked-files-in-dired) ("Query replace contents on ..." . helm-ff-query-replace) ("Query replace regexp conte..." . helm-ff-query-replace-regexp) ("Attach file(s) to mail buf..." . helm-ff-mail-attach-files) ("Serial rename files" . helm-ff-serial-rename) ("Serial rename by symlinkin..." . helm-ff-serial-rename-by-symlink) ("Serial rename by copying f..." . helm-ff-serial-rename-by-copying) ("Open file with default too..." . helm-open-file-with-default-tool) ("Find file in hex dump" . hexl-find-file) ("Insert as org link `C-c @'" . helm-files-insert-as-org-link) ("Fd shell command (C-/)" . helm-ff-fd) ("Open file externally `C-c ..." . helm-open-file-externally) ("Grep File(s) `C-s, C-u Rec..." . helm-find-files-grep) ("Grep current directory wit..." . helm-find-files-ag) ("Git grep `M-g g, C-u from ..." . helm-ff-git-grep) ("Zgrep File(s) `M-g z, C-u ..." . helm-ff-zgrep) ("Pdf Grep File(s)" . helm-ff-pdfgrep) ("Gid `M-g i'" . helm-ff-gid) ("Switch to Eshell `M-e'" . helm-projectile-switch-to-shell) ("Etags `M-., C-u reload tag..." . helm-projectile-ff-etags-select-action) ("Eshell command on file(s) ..." . helm-projectile-find-files-eshell-command-on-file-action) ...) (persistent-action . helm-projectile-file-persistent-action) (persistent-help . "Preview file") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer (closure ... ... ...) helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (match helm-mm-exact-match helm-mm-match helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (mode-line . "\\<helm-read-file-map>\\[hel...") (header-line . "C-j: Preview file (keeping...") (multimatch . t) (before-init-hook closure (helm-projectile-current-project-root helm-ag-base-command t) nil (add-hook ... ...) (add-hook ... ...)) (group . helm)))
  (let ((candidates (helm-get-candidates source))) (cond ((processp candidates) (setq helm-async-processes (cons (cons candidates (append source (list ... ...))) helm-async-processes)) (set-process-filter candidates 'helm-output-filter) (setq candidates nil)) ((not (assq 'volatile source)) (puthash name candidates helm-candidate-cache))) candidates)
  (if it (prog1 it (helm-log "Use cached candidates")) (helm-log "No cached candidates, calculate candidates") (let ((candidates (helm-get-candidates source))) (cond ((processp candidates) (setq helm-async-processes (cons (cons candidates (append source ...)) helm-async-processes)) (set-process-filter candidates 'helm-output-filter) (setq candidates nil)) ((not (assq 'volatile source)) (puthash name candidates helm-candidate-cache))) candidates))
  (let ((it candidate-cache)) (if it (prog1 it (helm-log "Use cached candidates")) (helm-log "No cached candidates, calculate candidates") (let ((candidates (helm-get-candidates source))) (cond ((processp candidates) (setq helm-async-processes (cons (cons candidates ...) helm-async-processes)) (set-process-filter candidates 'helm-output-filter) (setq candidates nil)) ((not (assq 'volatile source)) (puthash name candidates helm-candidate-cache))) candidates)))
  (let* ((name (assoc-default 'name source)) (candidate-cache (gethash name helm-candidate-cache)) (inhibit-quit (assoc-default 'candidates-process source))) (let ((it candidate-cache)) (if it (prog1 it (helm-log "Use cached candidates")) (helm-log "No cached candidates, calculate candidates") (let ((candidates (helm-get-candidates source))) (cond ((processp candidates) (setq helm-async-processes (cons ... helm-async-processes)) (set-process-filter candidates 'helm-output-filter) (setq candidates nil)) ((not (assq ... source)) (puthash name candidates helm-candidate-cache))) candidates))))
  helm-get-cached-candidates(((name . "Projectile files") (candidates closure (helm-projectile-current-project-root helm-ag-base-command t) nil (if ... ...)) (keymap keymap (33554441) (backtab) (S-tab) (left . helm-previous-source) (right . helm-next-source) (127 closure ... nil ... ...) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18) (31 . helm-ff-undo) (12) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) (13 . spacemacs/helm-find-files-windows) ...) (action ("Find File" . helm-find-file-or-marked) ("Find file in Dired" . helm-point-file-in-dired) ("View file" . view-file) ("Query replace fnames on ma..." . helm-ff-query-replace-fnames-on-marked) ("Marked files in dired `C-x..." . helm-marked-files-in-dired) ("Query replace contents on ..." . helm-ff-query-replace) ("Query replace regexp conte..." . helm-ff-query-replace-regexp) ("Attach file(s) to mail buf..." . helm-ff-mail-attach-files) ("Serial rename files" . helm-ff-serial-rename) ("Serial rename by symlinkin..." . helm-ff-serial-rename-by-symlink) ("Serial rename by copying f..." . helm-ff-serial-rename-by-copying) ("Open file with default too..." . helm-open-file-with-default-tool) ("Find file in hex dump" . hexl-find-file) ("Insert as org link `C-c @'" . helm-files-insert-as-org-link) ("Fd shell command (C-/)" . helm-ff-fd) ("Open file externally `C-c ..." . helm-open-file-externally) ("Grep File(s) `C-s, C-u Rec..." . helm-find-files-grep) ("Grep current directory wit..." . helm-find-files-ag) ("Git grep `M-g g, C-u from ..." . helm-ff-git-grep) ("Zgrep File(s) `M-g z, C-u ..." . helm-ff-zgrep) ("Pdf Grep File(s)" . helm-ff-pdfgrep) ("Gid `M-g i'" . helm-ff-gid) ("Switch to Eshell `M-e'" . helm-projectile-switch-to-shell) ("Etags `M-., C-u reload tag..." . helm-projectile-ff-etags-select-action) ("Eshell command on file(s) ..." . helm-projectile-find-files-eshell-command-on-file-action) ...) (persistent-action . helm-projectile-file-persistent-action) (persistent-help . "Preview file") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer (closure ... ... ...) helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (match helm-mm-exact-match helm-mm-match helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (mode-line . "\\<helm-read-file-map>\\[hel...") (header-line . "C-j: Preview file (keeping...") (multimatch . t) (before-init-hook closure (helm-projectile-current-project-root helm-ag-base-command t) nil (add-hook ... ...) (add-hook ... ...)) (group . helm)))
  (helm-take-first-elements (helm-get-cached-candidates source) limit)
  (helm--initialize-one-by-one-candidates (helm-take-first-elements (helm-get-cached-candidates source) limit) source)
  (if (or (equal helm-pattern "") (assq 'match-dynamic source) (helm--candidates-in-buffer-p source)) (helm--initialize-one-by-one-candidates (helm-take-first-elements (helm-get-cached-candidates source) limit) source) (helm-match-from-candidates (helm-get-cached-candidates source) matchfns matchpartfn limit source))
  (helm-process-filtered-candidate-transformer (if (or (equal helm-pattern "") (assq 'match-dynamic source) (helm--candidates-in-buffer-p source)) (helm--initialize-one-by-one-candidates (helm-take-first-elements (helm-get-cached-candidates source) limit) source) (helm-match-from-candidates (helm-get-cached-candidates source) matchfns matchpartfn limit source)) source)
  (let ((matchfns (helm-match-functions source)) (matchpartfn (assoc-default 'match-part source)) (helm--source-name (assoc-default 'name source)) (helm-current-source source) (limit (helm-candidate-number-limit source)) (helm-pattern (helm-process-pattern-transformer helm-pattern source))) (helm--fuzzy-match-maybe-set-pattern) (helm-process-filtered-candidate-transformer (if (or (equal helm-pattern "") (assq 'match-dynamic source) (helm--candidates-in-buffer-p source)) (helm--initialize-one-by-one-candidates (helm-take-first-elements (helm-get-cached-candidates source) limit) source) (helm-match-from-candidates (helm-get-cached-candidates source) matchfns matchpartfn limit source)) source))
  (save-current-buffer (let ((matchfns (helm-match-functions source)) (matchpartfn (assoc-default 'match-part source)) (helm--source-name (assoc-default 'name source)) (helm-current-source source) (limit (helm-candidate-number-limit source)) (helm-pattern (helm-process-pattern-transformer helm-pattern source))) (helm--fuzzy-match-maybe-set-pattern) (helm-process-filtered-candidate-transformer (if (or (equal helm-pattern "") (assq 'match-dynamic source) (helm--candidates-in-buffer-p source)) (helm--initialize-one-by-one-candidates (helm-take-first-elements (helm-get-cached-candidates source) limit) source) (helm-match-from-candidates (helm-get-cached-candidates source) matchfns matchpartfn limit source)) source)))
  helm-compute-matches(((name . "Projectile files") (candidates closure (helm-projectile-current-project-root helm-ag-base-command t) nil (if ... ...)) (keymap keymap (33554441) (backtab) (S-tab) (left . helm-previous-source) (right . helm-next-source) (127 closure ... nil ... ...) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18) (31 . helm-ff-undo) (12) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) (13 . spacemacs/helm-find-files-windows) ...) (action ("Find File" . helm-find-file-or-marked) ("Find file in Dired" . helm-point-file-in-dired) ("View file" . view-file) ("Query replace fnames on ma..." . helm-ff-query-replace-fnames-on-marked) ("Marked files in dired `C-x..." . helm-marked-files-in-dired) ("Query replace contents on ..." . helm-ff-query-replace) ("Query replace regexp conte..." . helm-ff-query-replace-regexp) ("Attach file(s) to mail buf..." . helm-ff-mail-attach-files) ("Serial rename files" . helm-ff-serial-rename) ("Serial rename by symlinkin..." . helm-ff-serial-rename-by-symlink) ("Serial rename by copying f..." . helm-ff-serial-rename-by-copying) ("Open file with default too..." . helm-open-file-with-default-tool) ("Find file in hex dump" . hexl-find-file) ("Insert as org link `C-c @'" . helm-files-insert-as-org-link) ("Fd shell command (C-/)" . helm-ff-fd) ("Open file externally `C-c ..." . helm-open-file-externally) ("Grep File(s) `C-s, C-u Rec..." . helm-find-files-grep) ("Grep current directory wit..." . helm-find-files-ag) ("Git grep `M-g g, C-u from ..." . helm-ff-git-grep) ("Zgrep File(s) `M-g z, C-u ..." . helm-ff-zgrep) ("Pdf Grep File(s)" . helm-ff-pdfgrep) ("Gid `M-g i'" . helm-ff-gid) ("Switch to Eshell `M-e'" . helm-projectile-switch-to-shell) ("Etags `M-., C-u reload tag..." . helm-projectile-ff-etags-select-action) ("Eshell command on file(s) ..." . helm-projectile-find-files-eshell-command-on-file-action) ...) (persistent-action . helm-projectile-file-persistent-action) (persistent-help . "Preview file") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer (closure ... ... ...) helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (match helm-mm-exact-match helm-mm-match helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (mode-line . "\\<helm-read-file-map>\\[hel...") (header-line . "C-j: Preview file (keeping...") (multimatch . t) (before-init-hook closure (helm-projectile-current-project-root helm-ag-base-command t) nil (add-hook ... ...) (add-hook ... ...)) (group . helm)))
  (cons (helm-compute-matches src) --cl-var--)
  (setq --cl-var-- (cons (helm-compute-matches src) --cl-var--))
  (while (consp --cl-var--) (setq src (car --cl-var--)) (setq --cl-var-- (cons (helm-compute-matches src) --cl-var--)) (setq --cl-var-- (cdr --cl-var--)))
  (let* ((--cl-var-- src-list) (src nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq src (car --cl-var--)) (setq --cl-var-- (cons (helm-compute-matches src) --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--))
  (let ((throw-on-input catch-sym)) (let* ((--cl-var-- src-list) (src nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq src (car --cl-var--)) (setq --cl-var-- (cons (helm-compute-matches src) --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--)))
  (let ((catch-sym (make-symbol "input"))) (let ((throw-on-input catch-sym)) (let* ((--cl-var-- src-list) (src nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq src (car --cl-var--)) (setq --cl-var-- (cons (helm-compute-matches src) --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--))))
  (let ((matches (let ((catch-sym (make-symbol "input"))) (let ((throw-on-input catch-sym)) (let* ((--cl-var-- src-list) (src nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq src ...) (setq --cl-var-- ...) (setq --cl-var-- ...)) (nreverse --cl-var--)))))) (if (eq matches t) nil matches))
  sl-helm--collect-matches((closure (helm-major-mode-abbrev-table helm-major-mode-syntax-table helm-autoresize-mode helm-marked-buffer-name t) (src-list) "Return a list of matches f..." (let (...) (if ... nil matches))) (((name . "Projectile files in curren...") (init ...) (candidates . helm-candidates-in-buffer) (keymap keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (filter-one-by-one closure ... ... ...) (action-transformer . helm-find-files-action-transformer) (volatile . t) (match identity) (fuzzy-match . t) (redisplay . identity) (mode-line . "\\<helm-read-file-map>\\[hel...") (header-line . "C-j: Find File (keeping se...") (multimatch . t) (group . helm) (data closure ... nil ...) (get-line . buffer-substring-no-properties) (search helm-mm-exact-search helm-mm-search helm-candidates-in-buffer-search-default-fn helm-fuzzy-search)) ((name . "Projectile files") (candidates closure ... nil ...) (keymap keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (persistent-action . helm-projectile-file-persistent-action) (persistent-help . "Preview file") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer ... helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (match helm-mm-exact-match helm-mm-match helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (mode-line . "\\<helm-read-file-map>\\[hel...") (header-line . "C-j: Preview file (keeping...") (multimatch . t) (before-init-hook closure ... nil ... ...) (group . helm))))
  apply(sl-helm--collect-matches (closure (helm-major-mode-abbrev-table helm-major-mode-syntax-table helm-autoresize-mode helm-marked-buffer-name t) (src-list) "Return a list of matches f..." (let (...) (if ... nil matches))) (((name . "Projectile files in curren...") (init ...) (candidates . helm-candidates-in-buffer) (keymap keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (filter-one-by-one closure ... ... ...) (action-transformer . helm-find-files-action-transformer) (volatile . t) (match identity) (fuzzy-match . t) (redisplay . identity) (mode-line . "\\<helm-read-file-map>\\[hel...") (header-line . "C-j: Find File (keeping se...") (multimatch . t) (group . helm) (data closure ... nil ...) (get-line . buffer-substring-no-properties) (search helm-mm-exact-search helm-mm-search helm-candidates-in-buffer-search-default-fn helm-fuzzy-search)) ((name . "Projectile files") (candidates closure ... nil ...) (keymap keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (persistent-action . helm-projectile-file-persistent-action) (persistent-help . "Preview file") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer ... helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (match helm-mm-exact-match helm-mm-match helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (mode-line . "\\<helm-read-file-map>\\[hel...") (header-line . "C-j: Preview file (keeping...") (multimatch . t) (before-init-hook closure ... nil ... ...) (group . helm))))
  helm--collect-matches((((name . "Projectile files in curren...") (init ...) (candidates . helm-candidates-in-buffer) (keymap keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (filter-one-by-one closure ... ... ...) (action-transformer . helm-find-files-action-transformer) (volatile . t) (match identity) (fuzzy-match . t) (redisplay . identity) (mode-line . "\\<helm-read-file-map>\\[hel...") (header-line . "C-j: Find File (keeping se...") (multimatch . t) (group . helm) (data closure ... nil ...) (get-line . buffer-substring-no-properties) (search helm-mm-exact-search helm-mm-search helm-candidates-in-buffer-search-default-fn helm-fuzzy-search)) ((name . "Projectile files") (candidates closure ... nil ...) (keymap keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (persistent-action . helm-projectile-file-persistent-action) (persistent-help . "Preview file") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer ... helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (match helm-mm-exact-match helm-mm-match helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (mode-line . "\\<helm-read-file-map>\\[hel...") (header-line . "C-j: Preview file (keeping...") (multimatch . t) (before-init-hook closure ... nil ... ...) (group . helm))))
  (or candidates (helm--collect-matches sources))
  (setq matches (or candidates (helm--collect-matches sources)))
  (helm-log "Matches: %S" (setq matches (or candidates (helm--collect-matches sources))))
  (let (sources matches) (setq sources (let* ((--cl-var-- helm-sources) (src nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq src (car --cl-var--)) (if (helm-update-source-p src) (progn (setq --cl-var-- (cons src --cl-var--)))) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--))) (if sources nil (erase-buffer)) (helm-log "Matches: %S" (setq matches (or candidates (helm--collect-matches sources)))) (if matches (progn (erase-buffer) (let* ((--cl-var-- sources) (src nil) (--cl-var-- matches) (mtc nil)) (while (and (consp --cl-var--) (progn (setq src ...) (consp --cl-var--))) (setq mtc (car --cl-var--)) (helm-render-source src mtc) (setq --cl-var-- (cdr --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) nil) (helm--update-move-first-line))))
  (unwind-protect (let (sources matches) (setq sources (let* ((--cl-var-- helm-sources) (src nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq src (car --cl-var--)) (if (helm-update-source-p src) (progn (setq --cl-var-- ...))) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--))) (if sources nil (erase-buffer)) (helm-log "Matches: %S" (setq matches (or candidates (helm--collect-matches sources)))) (if matches (progn (erase-buffer) (let* ((--cl-var-- sources) (src nil) (--cl-var-- matches) (mtc nil)) (while (and (consp --cl-var--) (progn ... ...)) (setq mtc (car --cl-var--)) (helm-render-source src mtc) (setq --cl-var-- (cdr --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) nil) (helm--update-move-first-line)))) (let ((src (or source (helm-get-current-source)))) (if (assq 'candidates-process src) nil (helm-display-mode-line src 'force) (helm-log-run-hook 'helm-after-update-hook))) (if preselect (progn (helm-log "Update preselect candidate %s" preselect) (if (helm-window) (let ((save-selected-window--state (internal--before-with-selected-window ...))) (save-current-buffer (unwind-protect (progn ... ...) (internal--after-with-selected-window save-selected-window--state)))) (helm-preselect preselect source)))) (setq helm--force-updating-p nil) (helm--reset-update-flag))
  (save-current-buffer (set-buffer (helm-buffer-get)) (set (make-local-variable 'helm-input-local) helm-pattern) (unwind-protect (let (sources matches) (setq sources (let* ((--cl-var-- helm-sources) (src nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq src (car --cl-var--)) (if (helm-update-source-p src) (progn ...)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--))) (if sources nil (erase-buffer)) (helm-log "Matches: %S" (setq matches (or candidates (helm--collect-matches sources)))) (if matches (progn (erase-buffer) (let* ((--cl-var-- sources) (src nil) (--cl-var-- matches) (mtc nil)) (while (and ... ...) (setq mtc ...) (helm-render-source src mtc) (setq --cl-var-- ...) (setq --cl-var-- ...)) nil) (helm--update-move-first-line)))) (let ((src (or source (helm-get-current-source)))) (if (assq 'candidates-process src) nil (helm-display-mode-line src 'force) (helm-log-run-hook 'helm-after-update-hook))) (if preselect (progn (helm-log "Update preselect candidate %s" preselect) (if (helm-window) (let ((save-selected-window--state ...)) (save-current-buffer (unwind-protect ... ...))) (helm-preselect preselect source)))) (setq helm--force-updating-p nil) (helm--reset-update-flag)) (helm-log "end update"))
  helm-update(nil)
  (if (and (helm-resume-p resume) (helm-get-current-source)) (helm-mark-current-line t) (helm-update preselect))
  (save-current-buffer (set-buffer (helm-buffer-get)) (if (and (helm-resume-p resume) (helm-get-current-source)) (helm-mark-current-line t) (helm-update preselect)) (let* ((src (helm-get-current-source)) (src-keymap (assoc-default 'keymap src)) (hist (or (and history (symbolp history) history) (assoc-default 'history src))) (timer nil) blink-matching-paren (resize-mini-windows (and (null helm-echo-input-in-header-line) resize-mini-windows)) (first-src (car helm-sources)) (source-process-p (or (assq 'candidates-process src) (assq 'candidates-process first-src)))) (helm-log "helm-get-candidate-number => %S" (helm-get-candidate-number)) (helm-log "helm-execute-action-at-once-if-one = %S" helm-execute-action-at-once-if-one) (helm-log "helm-quit-if-no-candidate = %S" helm-quit-if-no-candidate) (if (and src (helm-resume-p resume)) (progn (helm-display-mode-line src))) (if helm-maybe-use-default-as-input (progn (setq helm-input helm-pattern) (if source-process-p (progn (defalias 'helm--hook6 #'...) (setq helm--temp-hooks (cons ... helm--temp-hooks)) (add-hook 'helm-after-update-hook 'helm--hook6)) (helm--reset-default-pattern)) (and (helm-empty-buffer-p) (null helm-quit-if-no-candidate) (helm-force-update preselect)))) (cond ((and (if (functionp helm-execute-action-at-once-if-one) (funcall helm-execute-action-at-once-if-one) helm-execute-action-at-once-if-one) (= (helm-get-candidate-number (eq helm-execute-action-at-once-if-one ...)) 1)) (ignore)) ((and helm-quit-if-no-candidate (= (helm-get-candidate-number) 0)) (setq helm-quit t) (and (functionp helm-quit-if-no-candidate) (funcall helm-quit-if-no-candidate))) (t (let ((tap (or default ...))) (if helm-execute-action-at-once-if-one (progn (helm-display-buffer helm-buffer resume) (select-window ...))) (unwind-protect (let (... setup-hook) (setq setup-hook ...) (unwind-protect ... ...)) (if timer (progn ... ...))))))))
  helm-read-from-minibuffer("[emacs27.git] Find file: " nil nil nil nil nil nil)
  (unwind-protect (helm-read-from-minibuffer prompt input preselect resume keymap default history) (helm-cleanup))
  (let (helm--source-name helm-current-source helm-in-persistent-action helm-quit (helm-buffer (or buffer helm-buffer))) (helm-initialize resume input default sources) (if helm-execute-action-at-once-if-one nil (helm-display-buffer helm-buffer resume) (select-window (helm-window))) (if helm-allow-mouse nil (helm--remap-mouse-mode 1)) (add-hook 'post-command-hook 'helm--maybe-update-keymap) (add-hook 'helm-after-update-hook 'helm--maybe-update-keymap) (add-hook 'post-command-hook 'helm--update-header-line) (helm-log "show prompt") (unwind-protect (helm-read-from-minibuffer prompt input preselect resume keymap default history) (helm-cleanup)) (prog1 (if helm-quit nil (helm-execute-selection-action)) (helm-log (concat "[End session] " (make-string 41 45)))))
  (condition-case _v (let (helm--source-name helm-current-source helm-in-persistent-action helm-quit (helm-buffer (or buffer helm-buffer))) (helm-initialize resume input default sources) (if helm-execute-action-at-once-if-one nil (helm-display-buffer helm-buffer resume) (select-window (helm-window))) (if helm-allow-mouse nil (helm--remap-mouse-mode 1)) (add-hook 'post-command-hook 'helm--maybe-update-keymap) (add-hook 'helm-after-update-hook 'helm--maybe-update-keymap) (add-hook 'post-command-hook 'helm--update-header-line) (helm-log "show prompt") (unwind-protect (helm-read-from-minibuffer prompt input preselect resume keymap default history) (helm-cleanup)) (prog1 (if helm-quit nil (helm-execute-selection-action)) (helm-log (concat "[End session] " (make-string 41 45))))) ((debug quit) (helm-restore-position-on-quit) (helm-log-run-hook 'helm-quit-hook) (helm-log (concat "[End session (quit)] " (make-string 34 45))) nil))
  (unwind-protect (condition-case _v (let (helm--source-name helm-current-source helm-in-persistent-action helm-quit (helm-buffer (or buffer helm-buffer))) (helm-initialize resume input default sources) (if helm-execute-action-at-once-if-one nil (helm-display-buffer helm-buffer resume) (select-window (helm-window))) (if helm-allow-mouse nil (helm--remap-mouse-mode 1)) (add-hook 'post-command-hook 'helm--maybe-update-keymap) (add-hook 'helm-after-update-hook 'helm--maybe-update-keymap) (add-hook 'post-command-hook 'helm--update-header-line) (helm-log "show prompt") (unwind-protect (helm-read-from-minibuffer prompt input preselect resume keymap default history) (helm-cleanup)) (prog1 (if helm-quit nil (helm-execute-selection-action)) (helm-log (concat "[End session] " (make-string 41 45))))) ((debug quit) (helm-restore-position-on-quit) (helm-log-run-hook 'helm-quit-hook) (helm-log (concat "[End session (quit)] " (make-string 34 45))) nil)) (if (fboundp 'advice-remove) (progn (advice-remove 'tramp-read-passwd #'helm--suspend-read-passwd) (advice-remove 'ange-ftp-get-passwd #'helm--suspend-read-passwd) (advice-remove 'epa-passphrase-callback-function #'helm--suspend-read-passwd) (advice-remove 'linum-on #'helm--advice-linum-on))) (helm-log "helm-alive-p = %S" (setq helm-alive-p nil)) (helm--remap-mouse-mode -1) (setq helm-alive-p nil) (setq helm--force-updating-p nil) (setq helm--buffer-in-new-frame-p nil) (setq helm-pattern "") (setq helm--ignore-errors nil) (helm-log-save-maybe))
  (let ((non-essential t) mouse-autoselect-window focus-follows-mouse mode-line-in-non-selected-windows minibuffer-completion-confirm (input-method-verbose-flag helm-input-method-verbose-flag) (helm-maybe-use-default-as-input (and (null input) (or helm-maybe-use-default-as-input (let* ((--cl-var-- ...) (s nil) (--cl-flag-- t) --cl-var--) (while (and ... ...) (setq --cl-var-- ...)) --cl-var--))))) (unwind-protect (condition-case _v (let (helm--source-name helm-current-source helm-in-persistent-action helm-quit (helm-buffer (or buffer helm-buffer))) (helm-initialize resume input default sources) (if helm-execute-action-at-once-if-one nil (helm-display-buffer helm-buffer resume) (select-window (helm-window))) (if helm-allow-mouse nil (helm--remap-mouse-mode 1)) (add-hook 'post-command-hook 'helm--maybe-update-keymap) (add-hook 'helm-after-update-hook 'helm--maybe-update-keymap) (add-hook 'post-command-hook 'helm--update-header-line) (helm-log "show prompt") (unwind-protect (helm-read-from-minibuffer prompt input preselect resume keymap default history) (helm-cleanup)) (prog1 (if helm-quit nil (helm-execute-selection-action)) (helm-log (concat "[End session] " (make-string 41 45))))) ((debug quit) (helm-restore-position-on-quit) (helm-log-run-hook 'helm-quit-hook) (helm-log (concat "[End session (quit)] " (make-string 34 45))) nil)) (if (fboundp 'advice-remove) (progn (advice-remove 'tramp-read-passwd #'helm--suspend-read-passwd) (advice-remove 'ange-ftp-get-passwd #'helm--suspend-read-passwd) (advice-remove 'epa-passphrase-callback-function #'helm--suspend-read-passwd) (advice-remove 'linum-on #'helm--advice-linum-on))) (helm-log "helm-alive-p = %S" (setq helm-alive-p nil)) (helm--remap-mouse-mode -1) (setq helm-alive-p nil) (setq helm--force-updating-p nil) (setq helm--buffer-in-new-frame-p nil) (setq helm-pattern "") (setq helm--ignore-errors nil) (helm-log-save-maybe)))
  helm-internal((helm-source-projectile-dired-files-list helm-source-projectile-files-list) nil "[emacs27.git] Find file: " nil nil "*helm projectile: emacs27.git*" nil nil nil)
  apply(helm-internal ((helm-source-projectile-dired-files-list helm-source-projectile-files-list) nil "[emacs27.git] Find file: " nil nil "*helm projectile: emacs27.git*" nil nil nil))
  (if (keywordp (car plist)) (progn (setq helm--local-variables (append helm--local-variables (helm-parse-keys plist))) (apply fn (mapcar #'(lambda (key) (plist-get plist key)) helm-argument-keys))) (apply fn plist))
  (if (and helm-alive-p (eq fn #'helm)) (if (helm--alive-p) (error "Error: Trying to run helm within a running helm se...") (save-current-buffer (set-buffer (helm-buffer-get)) (prog1 (message "Aborting an helm session running in background") (helm-keyboard-quit)))) (if (keywordp (car plist)) (progn (setq helm--local-variables (append helm--local-variables (helm-parse-keys plist))) (apply fn (mapcar #'(lambda (key) (plist-get plist key)) helm-argument-keys))) (apply fn plist)))
  (let ((fn (cond ((or (and helm-alive-p (plist-get plist :allow-nest)) (and helm-alive-p (memq ... plist))) #'helm--nest) ((keywordp (car plist)) #'helm) (t #'helm-internal)))) (if (and helm-alive-p (eq fn #'helm)) (if (helm--alive-p) (error "Error: Trying to run helm within a running helm se...") (save-current-buffer (set-buffer (helm-buffer-get)) (prog1 (message "Aborting an helm session running in background") (helm-keyboard-quit)))) (if (keywordp (car plist)) (progn (setq helm--local-variables (append helm--local-variables (helm-parse-keys plist))) (apply fn (mapcar #'(lambda ... ...) helm-argument-keys))) (apply fn plist))))
  helm((helm-source-projectile-dired-files-list helm-source-projectile-files-list) nil "[emacs27.git] Find file: " nil nil "*helm projectile: emacs27.git*" nil nil nil)
  apply(helm ((helm-source-projectile-dired-files-list helm-source-projectile-files-list) nil "[emacs27.git] Find file: " nil nil "*helm projectile: emacs27.git*" nil nil nil))
  (progn (setq helm--local-variables (append helm--local-variables (helm-parse-keys plist))) (apply fn (mapcar #'(lambda (key) (plist-get plist key)) helm-argument-keys)))
  (if (keywordp (car plist)) (progn (setq helm--local-variables (append helm--local-variables (helm-parse-keys plist))) (apply fn (mapcar #'(lambda (key) (plist-get plist key)) helm-argument-keys))) (apply fn plist))
  (if (and helm-alive-p (eq fn #'helm)) (if (helm--alive-p) (error "Error: Trying to run helm within a running helm se...") (save-current-buffer (set-buffer (helm-buffer-get)) (prog1 (message "Aborting an helm session running in background") (helm-keyboard-quit)))) (if (keywordp (car plist)) (progn (setq helm--local-variables (append helm--local-variables (helm-parse-keys plist))) (apply fn (mapcar #'(lambda (key) (plist-get plist key)) helm-argument-keys))) (apply fn plist)))
  (let ((fn (cond ((or (and helm-alive-p (plist-get plist :allow-nest)) (and helm-alive-p (memq ... plist))) #'helm--nest) ((keywordp (car plist)) #'helm) (t #'helm-internal)))) (if (and helm-alive-p (eq fn #'helm)) (if (helm--alive-p) (error "Error: Trying to run helm within a running helm se...") (save-current-buffer (set-buffer (helm-buffer-get)) (prog1 (message "Aborting an helm session running in background") (helm-keyboard-quit)))) (if (keywordp (car plist)) (progn (setq helm--local-variables (append helm--local-variables (helm-parse-keys plist))) (apply fn (mapcar #'(lambda ... ...) helm-argument-keys))) (apply fn plist))))
  helm(:sources (helm-source-projectile-dired-files-list helm-source-projectile-files-list) :buffer "*helm projectile: emacs27.git*" :truncate-lines nil :prompt "[emacs27.git] Find file: ")
  (let ((helm-ff-transformer-show-only-basename nil) (helm-boring-file-regexp-list nil)) (helm :sources helm-source-projectile-files-and-dired-list :buffer (concat "*helm projectile: " (projectile-project-name) "*") :truncate-lines helm-projectile-truncate-lines :prompt (projectile-prepend-project-name "Find file: ")))
  helm-projectile-find-file(nil)
  funcall-interactively(helm-projectile-find-file nil)
  call-interactively(helm-projectile-find-file nil nil)
  command-execute(helm-projectile-find-file)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-17  3:36 bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-03-17 11:51 ` Michael Albinus
  2021-03-17 15:45 ` bug#47205: " Lin Sun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 15+ messages in thread
From: Michael Albinus @ 2021-03-17 11:51 UTC (permalink / raw)
  To: 47205; +Cc: lin.sun

LinSun via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs@gnu.org> writes:

Hi,

> There is a bug that `helm-projectile-find-file' is interrupted by an
> unexpected input event. After inspecting emacs code, I found it can
> simply reproduce by follow code, and the expected out is a path,
> while actually result is t:
>
> emacs --batch --eval "(message \"%s\" (catch 'input
> (let ((throw-on-input 'input)) (expand-file-name \"a.iso/b\"
> \"/\"))))"
>
> From the backtrace, it seems caused by `tramp-archive-file-name-handler’.
>
> How to avoid input event in this situation? Thanks

This input event is expected. You expand the file name "a.iso/b", which
is recognized as archive due to the ".iso/" extension. This triggers the
Tramp archive file name handler, which is implemented using D-Bus. The
input event is a D-Bus event, as you can see:

--8<---------------cut here---------------start------------->8---
# emacs --batch --eval "(message \"%s %s\" (catch 'input (let ((throw-on-input 'input)) (expand-file-name \"a.iso/b\" \"/\"))) last-input-event)"

=> t (dbus-event :system 2 2 org.freedesktop.DBus :1.527417 nil nil nil dbus-call-method-handler)
--8<---------------cut here---------------end--------------->8---

Which problem do you have with D-Bus events?

Best regards, Michael.





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: Re: bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-17  3:36 bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-03-17 11:51 ` Michael Albinus
@ 2021-03-17 15:45 ` Lin Sun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-03-17 17:41   ` Michael Albinus
  1 sibling, 1 reply; 15+ messages in thread
From: Lin Sun via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-03-17 15:45 UTC (permalink / raw)
  To: michael.albinus, 47205

[-- Attachment #1: Type: text/html, Size: 5755 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-17 15:45 ` bug#47205: " Lin Sun via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-03-17 17:41   ` Michael Albinus
  2021-03-18  0:27     ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: Michael Albinus @ 2021-03-17 17:41 UTC (permalink / raw)
  To: Lin Sun; +Cc: 47205

Lin Sun <lin.sun@zoom.us> writes:

> Hi Michael,

Hi

> It seems only “keyboard” input should trigger a ‘input event, so dbus
> event should be silence for this case.

D-Bus events are implemented as special event, which is also an input
event. `throw-on-input' reacts on input events, perhaps its docstring
shall be adapted.

Again, which problem have you encountered? Or is it just the docstring?

Best regards, Michael.





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-17 17:41   ` Michael Albinus
@ 2021-03-18  0:27     ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-03-18  3:42       ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-03-18  8:21       ` Eli Zaretskii
  0 siblings, 2 replies; 15+ messages in thread
From: LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-03-18  0:27 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 47205

[-- Attachment #1: Type: text/html, Size: 3938 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-18  0:27     ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-03-18  3:42       ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-03-18  4:31         ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-03-18  8:21       ` Eli Zaretskii
  1 sibling, 1 reply; 15+ messages in thread
From: LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-03-18  3:42 UTC (permalink / raw)
  To: Michael Albinus, sunlin7@yahoo.com; +Cc: 47205

[-- Attachment #1: Type: text/html, Size: 5568 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-18  3:42       ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-03-18  4:31         ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 15+ messages in thread
From: LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-03-18  4:31 UTC (permalink / raw)
  To: Michael Albinus, sunlin7@yahoo.com; +Cc: 47205

[-- Attachment #1: Type: text/html, Size: 3335 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-18  0:27     ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-03-18  3:42       ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-03-18  8:21       ` Eli Zaretskii
  2021-03-18 10:02         ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-03-18 10:07         ` Michael Albinus
  1 sibling, 2 replies; 15+ messages in thread
From: Eli Zaretskii @ 2021-03-18  8:21 UTC (permalink / raw)
  To: LinSun; +Cc: 47205, michael.albinus

> Cc: 47205@debbugs.gnu.org
> Date: Thu, 18 Mar 2021 08:27:19 +0800
> From:  LinSun via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> > which problem have you encountered? Or is it just the docstring?
> 
> It’s from the issue https://github.com/bbatsov/helm-projectile/issues/154, 
> 
> “[bug] `helm-projectile-find-file' empty candidate when there is "*.iso/" folder”
> 
> Through the traceback I attached in first mail, the dbus event cause a unexpected return value in line 
> 
> https://github.com/emacs-helm/helm/blob/26d4e9e4d38a143d7dfb2fe206eacbc326944532/helm.el#L4649,
> 
> Then it’s function will show nothing.

Is this because helm uses while-no-input or throw-on-input?  If so,
does it help to bind while-no-input-ignore-events to a list that
includes this kind of dbus events?





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-18  8:21       ` Eli Zaretskii
@ 2021-03-18 10:02         ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-03-18 10:13           ` Michael Albinus
  2021-03-18 10:07         ` Michael Albinus
  1 sibling, 1 reply; 15+ messages in thread
From: LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-03-18 10:02 UTC (permalink / raw)
  To: Eli Zaretskii
  Cc: 47205@debbugs.gnu.org, sunlin7@yahoo.com, michael.albinus@gmx.de

[-- Attachment #1: Type: text/html, Size: 4752 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-18  8:21       ` Eli Zaretskii
  2021-03-18 10:02         ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-03-18 10:07         ` Michael Albinus
  2021-03-18 10:18           ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-03-18 10:21           ` Eli Zaretskii
  1 sibling, 2 replies; 15+ messages in thread
From: Michael Albinus @ 2021-03-18 10:07 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 47205, LinSun

[-- Attachment #1: Type: text/plain, Size: 1302 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:

>> It’s from the issue https://github.com/bbatsov/helm-projectile/issues/154, 
>> 
>> “[bug] `helm-projectile-find-file' empty candidate when there is "*.iso/" folder”
>> 
>> Through the traceback I attached in first mail, the dbus event cause a unexpected return value in line 
>> 
>> https://github.com/emacs-helm/helm/blob/26d4e9e4d38a143d7dfb2fe206eacbc326944532/helm.el#L4649,
>> 
>> Then it’s function will show nothing.
>
> Is this because helm uses while-no-input or throw-on-input?  If so,
> does it help to bind while-no-input-ignore-events to a list that
> includes this kind of dbus events?

This doesn't help (yet), because dbus-event isn't handled via
while-no-input-ignore-events. The appended patch extends this for
dbus-event and file-notify. The following adapted test works then:

--8<---------------cut here---------------start------------->8---
# emacs --batch --eval "(message \"%s\" (catch 'input (let ((while-no-input-ignore-events (cons 'dbus-event while-no-input-ignore-events)) (throw-on-input 'input)) (expand-file-name \"a.iso/b\" \"/\"))))"
--8<---------------cut here---------------end--------------->8---

Is it OK to push this to the master branch (plus doc adaptions)?

Best regards, Michael.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 658 bytes --]

*** /tmp/ediff1fXkLQ	2021-03-18 11:05:59.385773239 +0100
--- /home/albinus/src/emacs/src/keyboard.c	2021-03-18 10:57:18.933131675 +0100
***************
*** 3614,3619 ****
--- 3614,3625 ----
      case ICONIFY_EVENT: ignore_event = Qiconify_frame; break;
      case DEICONIFY_EVENT: ignore_event = Qmake_frame_visible; break;
      case SELECTION_REQUEST_EVENT: ignore_event = Qselection_request; break;
+ #ifdef USE_FILE_NOTIFY
+     case FILE_NOTIFY_EVENT: ignore_event = Qfile_notify; break;
+ #endif
+ #ifdef HAVE_DBUS
+     case DBUS_EVENT: ignore_event = Qdbus_event; break;
+ #endif
      default: ignore_event = Qnil; break;
      }


^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-18 10:02         ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-03-18 10:13           ` Michael Albinus
  2021-03-18 10:21             ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: Michael Albinus @ 2021-03-18 10:13 UTC (permalink / raw)
  To: LinSun; +Cc: 47205@debbugs.gnu.org, sunlin7@yahoo.com

LinSun <lin.sun@zoom.us> writes:

> Hi Eli,

Hi,

> No effect after add the dbus-event into ` while-no-input-ignore-events
> `, output still be t.

Yes, I've just explained the situation the other message. If Eli agrees,
we'll improve it in the master branch.

> The work around is execute “(require ‘trampe-archive)” before eval the
> statement, output is expanded path:

In your use case, the workaround is much more simple: set
tramp-archive-enabled to nil:

--8<---------------cut here---------------start------------->8---
# emacs --batch --eval "(setq tramp-archive-enabled nil)" --eval "(message \"%s %s\" (catch 'input (let ((throw-on-input 'input)) (expand-file-name \"a.iso/b\" \"/\"))) last-input-event)"
--8<---------------cut here---------------end--------------->8---

Best regards, Michael.





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-18 10:07         ` Michael Albinus
@ 2021-03-18 10:18           ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-03-18 10:21           ` Eli Zaretskii
  1 sibling, 0 replies; 15+ messages in thread
From: LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-03-18 10:18 UTC (permalink / raw)
  To: Michael Albinus, Eli Zaretskii; +Cc: 47205@debbugs.gnu.org

[-- Attachment #1: Type: text/html, Size: 4730 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-18 10:07         ` Michael Albinus
  2021-03-18 10:18           ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-03-18 10:21           ` Eli Zaretskii
  2021-03-18 11:45             ` Michael Albinus
  1 sibling, 1 reply; 15+ messages in thread
From: Eli Zaretskii @ 2021-03-18 10:21 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 47205, lin.sun

> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: LinSun <lin.sun@zoom.us>,  47205@debbugs.gnu.org
> Date: Thu, 18 Mar 2021 11:07:39 +0100
> 
> > Is this because helm uses while-no-input or throw-on-input?  If so,
> > does it help to bind while-no-input-ignore-events to a list that
> > includes this kind of dbus events?
> 
> This doesn't help (yet), because dbus-event isn't handled via
> while-no-input-ignore-events. The appended patch extends this for
> dbus-event and file-notify. The following adapted test works then:

That patch is fine by me, thanks.





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-18 10:13           ` Michael Albinus
@ 2021-03-18 10:21             ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 15+ messages in thread
From: LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-03-18 10:21 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 47205@debbugs.gnu.org, Eli Zaretskii, sunlin7@yahoo.com

[-- Attachment #1: Type: text/html, Size: 1939 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file
  2021-03-18 10:21           ` Eli Zaretskii
@ 2021-03-18 11:45             ` Michael Albinus
  0 siblings, 0 replies; 15+ messages in thread
From: Michael Albinus @ 2021-03-18 11:45 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 47205-done, lin.sun

Version: 28.1

Eli Zaretskii <eliz@gnu.org> writes:

Hi Eli,

>> > Is this because helm uses while-no-input or throw-on-input?  If so,
>> > does it help to bind while-no-input-ignore-events to a list that
>> > includes this kind of dbus events?
>>
>> This doesn't help (yet), because dbus-event isn't handled via
>> while-no-input-ignore-events. The appended patch extends this for
>> dbus-event and file-notify. The following adapted test works then:
>
> That patch is fine by me, thanks.

Pushed to master, and closing the bug.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-03-18 11:45 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-17  3:36 bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-03-17 11:51 ` Michael Albinus
2021-03-17 15:45 ` bug#47205: " Lin Sun via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-03-17 17:41   ` Michael Albinus
2021-03-18  0:27     ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-03-18  3:42       ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-03-18  4:31         ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-03-18  8:21       ` Eli Zaretskii
2021-03-18 10:02         ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-03-18 10:13           ` Michael Albinus
2021-03-18 10:21             ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-03-18 10:07         ` Michael Albinus
2021-03-18 10:18           ` LinSun via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-03-18 10:21           ` Eli Zaretskii
2021-03-18 11:45             ` Michael Albinus

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).