unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#11126: 24.0.94; `customize-apropos' does not seem to work for a list of words
@ 2012-03-29 18:46 Drew Adams
  2012-03-29 18:50 ` Drew Adams
  2014-02-09  4:49 ` Lars Ingebrigtsen
  0 siblings, 2 replies; 8+ messages in thread
From: Drew Adams @ 2012-03-29 18:46 UTC (permalink / raw)
  To: 11126

Doesn't seem to do anything.  Just replies:
 
 "No customizable groups matching (A B)"
 
where A and B are words that should match customized things.
 
Example: use "emacs" and "editing" for A and B.  Those are the names of
two preloaded customize groups, so I would expect to see at least those
two groups in a Customize buffer.  Instead, I get just the error
message.
 
emacs -Q
M-x customize-apropos RET emacs editing RET
 
In GNU Emacs 24.0.94.1 (i386-mingw-nt5.1.2600)
 of 2012-03-19 on MARVIN
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.6) --no-opt --enable-checking --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include'
 






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

* bug#11126: 24.0.94; `customize-apropos' does not seem to work for a list of words
  2012-03-29 18:46 bug#11126: 24.0.94; `customize-apropos' does not seem to work for a list of words Drew Adams
@ 2012-03-29 18:50 ` Drew Adams
  2012-03-29 20:25   ` Drew Adams
  2014-02-09  4:53   ` Lars Ingebrigtsen
  2014-02-09  4:49 ` Lars Ingebrigtsen
  1 sibling, 2 replies; 8+ messages in thread
From: Drew Adams @ 2012-03-29 18:50 UTC (permalink / raw)
  To: 11126

This backtrace shows where the problem is.

Debugger entered--returning value: nil
  string-match("\\(emacs\\|avoid\\).*?\\(emacs\\|avoid\\)" "avoid")
* (if (string-match apropos-regexp (symbol-name symbol)) (progn (if (get symbol
(quote custom-group)) (push (list symbol (quote custom-group)) found)) (if
(custom-facep symbol) (push (list symbol (quote custom-face)) found)) (if (and
(boundp symbol) (eq (indirect-variable symbol) symbol) (or (get symbol (quote
saved-value)) (custom-variable-p symbol) nil)) (push (list symbol (quote
custom-variable)) found))))
* (when (string-match apropos-regexp (symbol-name symbol)) (if (get symbol
(quote custom-group)) (push (list symbol (quote custom-group)) found)) (if
(custom-facep symbol) (push (list symbol (quote custom-face)) found)) (if (and
(boundp symbol) (eq (indirect-variable symbol) symbol) (or (get symbol (quote
saved-value)) (custom-variable-p symbol) nil)) (push (list symbol (quote
custom-variable)) found)))
* (lambda (symbol) (when (string-match apropos-regexp (symbol-name symbol)) (if
(get symbol (quote custom-group)) (push (list symbol (quote custom-group))
found)) (if (custom-facep symbol) (push (list symbol (quote custom-face))
found)) (if (and (boundp symbol) (eq (indirect-variable symbol) symbol) (or (get
symbol (quote saved-value)) (custom-variable-p symbol) nil)) (push (list symbol
(quote custom-variable)) found))))(avoid)
* mapatoms((lambda (symbol) (when (string-match apropos-regexp (symbol-name
symbol)) (if (get symbol (quote custom-group)) (push (list symbol (quote
custom-group)) found)) (if (custom-facep symbol) (push (list symbol (quote
custom-face)) found)) (if (and (boundp symbol) (eq (indirect-variable symbol)
symbol) (or (get symbol (quote saved-value)) (custom-variable-p symbol) nil))
(push (list symbol (quote custom-variable)) found)))))
* (let (found) (mapatoms (\` (lambda (symbol) (when (string-match apropos-regexp
(symbol-name symbol)) (\, (if (not ...) (quote ...))) (\, (if (not ...) (quote
...))) (\, (if (not ...) (\` ...))))))) (if (not found) (error "No %s matching
%s" (if (eq type t) "items" (format "customizable %s" (if (memq type (quote
...)) (symbol-name type) "items"))) pattern) (custom-buffer-create
(custom-sort-items found t custom-buffer-order-groups) "*Customize Apropos*")))
  customize-apropos(("avoid" "emacs") nil)
* call-interactively(customize-apropos t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)






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

* bug#11126: 24.0.94; `customize-apropos' does not seem to work for a list of words
  2012-03-29 18:50 ` Drew Adams
@ 2012-03-29 20:25   ` Drew Adams
  2014-02-09  4:58     ` Lars Ingebrigtsen
  2014-02-09  4:53   ` Lars Ingebrigtsen
  1 sibling, 1 reply; 8+ messages in thread
From: Drew Adams @ 2012-03-29 20:25 UTC (permalink / raw)
  To: 11126

> This backtrace shows where the problem is.
> Debugger entered--returning value: nil
>   string-match("\\(emacs\\|avoid\\).*?\\(emacs\\|avoid\\)" "avoid")

So the problem is apparently that the constructed regexp is not something that
is usefully tested against any single symbol name.  The regexp requires at least
two words, for it to match.  Well, yes, because a symbol name can contain
non-word characters, there are some symbols whose names include multiple words.
But that is hardly a general case or something to be expected by reading the
doc.

Is the behavior is intentional?  In that case it is the doc that is wrong
(misleading, to put it mildly).

"If it is a list of words, search for matches for any two (or more) of those
words."

Matches against what?  Against the set of names of customize things?  Or against
only a single such name?

Who would guess that those "words" that the user inputs are matched _not_ as
words but as multiple substrings within a single customize object?

What I expected, and which would be more useful (especially since a user can
already enter a regexp), would be to be able to enter a list of words (or just
strings) and have them matched (either as words or as substrings), together,
against the set of customize objects.  Not against each single such object.

Hence I expected that typing "avoid emacs" would look for all customize objects
matching either "avoid" or "emacs".






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

* bug#11126: 24.0.94; `customize-apropos' does not seem to work for a list of words
  2012-03-29 18:46 bug#11126: 24.0.94; `customize-apropos' does not seem to work for a list of words Drew Adams
  2012-03-29 18:50 ` Drew Adams
@ 2014-02-09  4:49 ` Lars Ingebrigtsen
  2014-02-09  4:57   ` Lars Ingebrigtsen
  1 sibling, 1 reply; 8+ messages in thread
From: Lars Ingebrigtsen @ 2014-02-09  4:49 UTC (permalink / raw)
  To: Drew Adams; +Cc: 11126

"Drew Adams" <drew.adams@oracle.com> writes:

> Doesn't seem to do anything.  Just replies:
>
>  "No customizable groups matching (A B)"

I get

customize-apropos: No customizable nil matching (emacs editing)

which seems even less helpful...

> emacs -Q
> M-x customize-apropos RET emacs editing RET

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/





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

* bug#11126: 24.0.94; `customize-apropos' does not seem to work for a list of words
  2012-03-29 18:50 ` Drew Adams
  2012-03-29 20:25   ` Drew Adams
@ 2014-02-09  4:53   ` Lars Ingebrigtsen
  1 sibling, 0 replies; 8+ messages in thread
From: Lars Ingebrigtsen @ 2014-02-09  4:53 UTC (permalink / raw)
  To: Drew Adams; +Cc: 11126

"Drew Adams" <drew.adams@oracle.com> writes:

> This backtrace shows where the problem is.
>
> Debugger entered--returning value: nil
>   string-match("\\(emacs\\|avoid\\).*?\\(emacs\\|avoid\\)" "avoid")
> * (if (string-match apropos-regexp (symbol-name symbol)) (progn (if (get symbol

Well, you have a symbol called `avoid', apparently, and that doesn't
match those two words...

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/





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

* bug#11126: 24.0.94; `customize-apropos' does not seem to work for a list of words
  2014-02-09  4:49 ` Lars Ingebrigtsen
@ 2014-02-09  4:57   ` Lars Ingebrigtsen
  0 siblings, 0 replies; 8+ messages in thread
From: Lars Ingebrigtsen @ 2014-02-09  4:57 UTC (permalink / raw)
  To: Drew Adams; +Cc: 11126

Lars Ingebrigtsen <larsi@gnus.org> writes:

> I get
>
> customize-apropos: No customizable nil matching (emacs editing)
>
> which seems even less helpful...

Fixed on trunk.

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/





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

* bug#11126: 24.0.94; `customize-apropos' does not seem to work for a list of words
  2012-03-29 20:25   ` Drew Adams
@ 2014-02-09  4:58     ` Lars Ingebrigtsen
  2014-02-10 23:21       ` Drew Adams
  0 siblings, 1 reply; 8+ messages in thread
From: Lars Ingebrigtsen @ 2014-02-09  4:58 UTC (permalink / raw)
  To: Drew Adams; +Cc: 11126

"Drew Adams" <drew.adams@oracle.com> writes:

> Is the behavior is intentional?  In that case it is the doc that is wrong
> (misleading, to put it mildly).
>
> "If it is a list of words, search for matches for any two (or more) of those
> words."
>
> Matches against what?  Against the set of names of customize things?  Or against
> only a single such name?

Against the set of names of customizable things.  I think that's pretty
obvious from the context.  Closing.

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/





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

* bug#11126: 24.0.94; `customize-apropos' does not seem to work for a list of words
  2014-02-09  4:58     ` Lars Ingebrigtsen
@ 2014-02-10 23:21       ` Drew Adams
  0 siblings, 0 replies; 8+ messages in thread
From: Drew Adams @ 2014-02-10 23:21 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 11126

> > Matches against what?  Against the set of names of customize
> > things?  Or against only a single such name?
> 
> Against the set of names of customizable things.  I think that's
> pretty obvious from the context.  Closing.

It might be obvious to you, but you would apparently be wrong.
It seems to match against a _single_ thing.  Please read the bug
reports.

>> Who would guess that those "words" that the user inputs are
>> matched _not_ as words but as multiple substrings within a
>> single customize object?
   ^^^^^^^^^^^^^^^^^^^^^^^

And you've confirmed that you, like I, would NOT have guessed
this behavior.  You, like I, guessed that matching is against
the set of customizable objects.

This bug is not fixed.  Not at all.





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

end of thread, other threads:[~2014-02-10 23:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-29 18:46 bug#11126: 24.0.94; `customize-apropos' does not seem to work for a list of words Drew Adams
2012-03-29 18:50 ` Drew Adams
2012-03-29 20:25   ` Drew Adams
2014-02-09  4:58     ` Lars Ingebrigtsen
2014-02-10 23:21       ` Drew Adams
2014-02-09  4:53   ` Lars Ingebrigtsen
2014-02-09  4:49 ` Lars Ingebrigtsen
2014-02-09  4:57   ` Lars Ingebrigtsen

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