all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: van.ly@SDF.ORG, Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 73656@debbugs.gnu.org
Subject: bug#73656: 30.0.91; icomplete-vertical has no matches for M-x man RET chdir
Date: Sat, 16 Nov 2024 15:43:59 +0200	[thread overview]
Message-ID: <86cyivguow.fsf@gnu.org> (raw)
In-Reply-To: <jwvplnevo76.fsf-monnier+emacs@gnu.org> (message from Stefan Monnier on Fri, 01 Nov 2024 13:52:55 -0400)

Ping! Can you try this patch?  If it solves the problem, I'd like us
to install it.

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: eliz@gnu.org,  73656@debbugs.gnu.org
> Date: Fri, 01 Nov 2024 13:52:55 -0400
> 
> > On NetBSD the patch fails to generate the icomplete-vertical-mode
> > autocomplete for "chd" when invoked in "emacs -Q" session.  The man.elc
> > file was byte recompiled.
> 
> I meant for the patch to be read rather than applied.
> Also, what value do you get for `Man-man-k-flags`?
> 
> > On debian the patch also fails.
> 
> Yes, there was a trivial error.  Fixed in the patch below.
> 
> 
>         Stefan
> 
> 
> diff --git a/lisp/man.el b/lisp/man.el
> index 816c75d749c..d5ac8b93d99 100644
> --- a/lisp/man.el
> +++ b/lisp/man.el
> @@ -973,6 +973,27 @@ Man-parse-man-k
>                (search-forward-regexp "\\=, *\\([^ \t,]+\\)" bound t)))))
>      (nreverse table)))
>  
> +(defvar Man-man-k-flags
> +  ;; It's not clear which man page will "always" be available, `man -k man'
> +  ;; seems like the safest choice, but `man -k apropos' seems almost as safe
> +  ;; and usually returns a much shorter output.
> +  (with-temp-buffer
> +    (with-demoted-errors "%S" (call-process "man" nil t nil "-k" "apropos"))
> +    (let ((lines (count-lines (point-min) (point-max)))
> +          (completions (Man-parse-man-k)))
> +      (if (>= (length completions) lines)
> +          '("-k") ;; "-k" seems to return sane results: look no further!
> +        (erase-buffer)
> +        ;; Try "-k -l" (bug#73656).
> +        (with-demoted-errors "%S" (call-process "man" nil t nil
> +                                                "-k" "-l" "apropos"))
> +        (let ((lines (count-lines (point-min) (point-max)))
> +              (completions (Man-parse-man-k)))
> +          (if (and (> lines 0) (>= (length completions) lines))
> +              '("-k" "-l") ;; "-k -l" seems to return sane results.
> +            '("-k"))))))
> +  "List of arguments to pass to get the expected \"man -k\" output.")
> +
>  (defun Man-completion-table (string pred action)
>    (cond
>     ;; This ends up returning t for pretty much any string, and hence leads to
> @@ -1007,9 +1028,13 @@ Man-completion-table
>              ;; error later.
>              (when (eq 0
>                        (ignore-errors
> -                        (process-file
> +                        (apply
> +                         #'process-file
>                           manual-program nil '(t nil) nil
> -                         "-k" (concat (when (or Man-man-k-use-anchor
> +                         ;; FIXME: When `process-file' runs on a remote hosts,
> +                         ;; `Man-man-k-flags' may be wrong.
> +                         `(,@Man-man-k-flags
> +                           ,(concat (when (or Man-man-k-use-anchor
>                                                  (string-equal prefix ""))
>                                          "^")
>                                        (if (string-equal prefix "")
> @@ -1021,7 +1046,7 @@ Man-completion-table
>                                          ;; But we don't have that, and
>                                          ;; shell-quote-argument does
>                                          ;; the job...
> -                                        (shell-quote-argument prefix))))))
> +                                      (shell-quote-argument prefix)))))))
>                (setq table (Man-parse-man-k)))))
>  	;; Cache the table for later reuse.
>          (when table
> 
> 





  reply	other threads:[~2024-11-16 13:43 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-06 12:38 bug#73656: 30.0.91; icomplete-vertical has no matches for M-x man RET chdir Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-06 13:33 ` Eli Zaretskii
2024-10-06 14:33   ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-06 14:48     ` Eli Zaretskii
2024-10-06 13:35 ` Eli Zaretskii
2024-10-06 14:54   ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-06 16:10     ` Eli Zaretskii
2024-10-09 12:43       ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-13 12:09         ` Eli Zaretskii
2024-10-15  5:20           ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-17 17:48             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-18  0:37               ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-19  9:42                 ` Eli Zaretskii
2024-10-20 15:06                   ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-20 15:50                     ` Eli Zaretskii
2024-10-21  2:26                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-22  9:31                       ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-25  5:34                       ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-31 18:15                         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-01 16:04                           ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-01 17:52                             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-16 13:43                               ` Eli Zaretskii [this message]
2024-11-17  5:34                                 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-17  7:08                                   ` Eli Zaretskii
2024-11-17 21:56                                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86cyivguow.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=73656@debbugs.gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=van.ly@SDF.ORG \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.