Subject: Re: bug#60505: 29.0.60; Fido Mode and Tramp Completion

From: Michael Albinus <[email-masked]>
Date: Wed, 08 Feb 2023 16:04:53 +0100

Michael Heerdegen <[email-masked]> writes:

Hi Michael,

> It still happens sometimes:
>
> | Debugger entered--Lisp error: (file-missing "Searching for program" "No such file or directory" "ls")
> |   (call-process "ls" nil nil nil "--dired")
> |   (dired-insert-directory "/home/" "-ahl" nil nil t)
> |   (dired-readin-insert)
> |   (#f(compiled-function () #<bytecode 0x8e6bc1f0877cf80>))
> |   (combine-change-calls-1 1 1 #f(compiled-function () #<bytecode 0x8e6bc1f0877cf80>))
> |   (dired-readin)
> |   (#f(compiled-function (dir-or-list &optional switches mode) #<bytecode -0x5d986f621ad9bc8>) "/home/" nil)
> |   (apply #f(compiled-function (dir-or-list &optional switches mode) #<bytecode -0x5d986f621ad9bc8>) ("/home/" nil))
> |   (dired-internal-noselect "/home/" nil)
> |   (dired-noselect "/home/" nil)
> |   (#f(compiled-function (dirname &optional switches) "\"Edit\"
> | directory DIRNAME--delete, rename, print, etc. some files in
> | it.\nOptional second argument SWITCHES specifies the options to be
> | used\nwhen invoking `insert-directory-program', usually `ls', which
> | produces\nthe listing of the directory files and their
> | attributes.\nInteractively, a prefix argument will cause the command
> | to prompt\nfor SWITCHES.\n\nIf DIRNAME is a string, Dired displays a
> | list of files in DIRNAME (which\nmay also have shell wildcards
> | appended to select certain files).\n\nIf DIRNAME is a cons, its
> | first element is taken as the directory name\nand the rest as an
> | explicit list of files to make directory entries for.\nIn this case,
> | SWITCHES are applied to each of the files separately, and\ntherefore
> | switches that control the order of the files in the
> | produced\nlisting have no effect.\n\n\\<dired-mode-map>You can flag
> | files for deletion with \\[dired-flag-file-deletion] and
> | then\ndelete them by typing \\[dired-do-flagged-delete].\nType
> | \\[describe-mode] after entering Dired for more info.\n\nIf DIRNAME
> | is already in a Dired buffer, that buffer is used without refresh."
> | (interactive (dired-read-dir-and-switches "")) #<bytecode
> | -0x14edfe378d0a8e85>) "/home/" nil)
> |   (ls-lisp--dired #f(compiled-function (dirname &optional switches)
> | "\"Edit\" directory DIRNAME--delete, rename, print, etc. some files
> | in it.\nOptional second argument SWITCHES specifies the options to
> | be used\nwhen invoking `insert-directory-program', usually `ls',
> | which produces\nthe listing of the directory files and their
> | attributes.\nInteractively, a prefix argument will cause the command
> | to prompt\nfor SWITCHES.\n\nIf DIRNAME is a string, Dired displays a
> | list of files in DIRNAME (which\nmay also have shell wildcards
> | appended to select certain files).\n\nIf DIRNAME is a cons, its
> | first element is taken as the directory name\nand the rest as an
> | explicit list of files to make directory entries for.\nIn this case,
> | SWITCHES are applied to each of the files separately, and\ntherefore
> | switches that control the order of the files in the
> | produced\nlisting have no effect.\n\n\\<dired-mode-map>You can flag
> | files for deletion with \\[dired-flag-file-deletion] and
> | then\ndelete them by typing \\[dired-do-flagged-delete].\nType
> | \\[describe-mode] after entering Dired for more info.\n\nIf DIRNAME
> | is already in a Dired buffer, that buffer is used without refresh."
> | (interactive (dired-read-dir-and-switches "")) #<bytecode
> | -0x14edfe378d0a8e85>) "/home/")
> |   (apply ls-lisp--dired #f(compiled-function (dirname &optional
> | switches) "\"Edit\" directory DIRNAME--delete, rename, print,
> | etc. some files in it.\nOptional second argument SWITCHES specifies
> | the options to be used\nwhen invoking `insert-directory-program',
> | usually `ls', which produces\nthe listing of the directory files and
> | their attributes.\nInteractively, a prefix argument will cause the
> | command to prompt\nfor SWITCHES.\n\nIf DIRNAME is a string, Dired
> | displays a list of files in DIRNAME (which\nmay also have shell
> | wildcards appended to select certain files).\n\nIf DIRNAME is a
> | cons, its first element is taken as the directory name\nand the rest
> | as an explicit list of files to make directory entries for.\nIn this
> | case, SWITCHES are applied to each of the files separately,
> | and\ntherefore switches that control the order of the files in the
> | produced\nlisting have no effect.\n\n\\<dired-mode-map>You can flag
> | files for deletion with \\[dired-flag-file-deletion] and
> | then\ndelete them by typing \\[dired-do-flagged-delete].\nType
> | \\[describe-mode] after entering Dired for more info.\n\nIf DIRNAME
> | is already in a Dired buffer, that buffer is used without refresh."
> | (interactive (dired-read-dir-and-switches "")) #<bytecode
> | -0x14edfe378d0a8e85>) "/home/")
> |   (dired "/home/")
> |   (helm-point-file-in-dired "/home/micha/.")
> |   (funcall helm-point-file-in-dired "/home/micha/.")
> |   ((closure ((action . helm-point-file-in-dired)) (arg) (setq command-history (cons (list 'funcall (list 'function action) (list 'quote arg)) command-history)) (funcall action arg)) "/home/micha/.")
> |   (helm-execute-selection-action-1)
> |   (helm-execute-selection-action)
> |   (helm-internal helm-source-find-files "/home/micha/" "Find files or url: " nil nil "*helm find files*" nil nil nil)
> |   (apply helm-internal (helm-source-find-files "/home/micha/" "Find files or url: " nil nil "*helm find files*" nil nil nil))
> |   (helm helm-source-find-files "/home/micha/" "Find files or url: " nil nil "*helm find files*" nil nil nil)
> |   (apply helm (helm-source-find-files "/home/micha/" "Find files or url: " nil nil "*helm find files*" nil nil nil))
> |   (helm :sources helm-source-find-files :input "/home/micha/" :case-fold-search smart :preselect nil :ff-transformer-show-only-basename nil :default nil :prompt "Find files or url: " :buffer "*helm find files*")
> |   (helm-find-files-1 "/home/micha/" nil)
> |   (helm-find-files nil)
> |   (funcall-interactively helm-find-files nil)
> |   (call-interactively helm-find-files nil nil)
> |   (command-execute helm-find-files)
>
> Can I help with this in any way?  You can also give me a private phone
> call if that would the fastest way of investigation.

I'm still unable to reproduce. I've installed the needed packages from
GNU ELPA (I believe), and then I've applied

# src/emacs -Q -l tramp \
  -l ~/.emacs.d/elpa/helm-20230129.1448/helm-autoloads.el \
  -l ~/.emacs.d/elpa/helm-core-20230117.1925/helm-core-autoloads.el \
  -l ~/.emacs.d/elpa/async-20221228.1315/async-autoloads.el

M-x helm-find-files
=> custom-initialize-reset: In ‘Find Files’ source: ‘helm-find-files-get-candidates’ 
   (user-error "Error: file-notify-error (\"File watching is not available\" \"Too many open files\")")

M-x helm-find-files
/home/albinus/ RET
=> Proper dired listing.

Grrrr. Do you like to run a jitsi session together with me, for debugging?

> Michael.

Best regards, Michael.