unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#13276: 24.2.50; apropos-variable
@ 2012-12-25  5:35 Richard Stallman
  2012-12-26 11:10 ` Bastien
  2013-01-04  1:40 ` Glenn Morris
  0 siblings, 2 replies; 25+ messages in thread
From: Richard Stallman @ 2012-12-25  5:35 UTC (permalink / raw)
  To: 13276

M-x apropos-variable RET command-hook RET find nothing.  It doesn't
see pre-command-hook or post-command-hook.  And
M-x apropos-variable RET hook$ RET displays a list in which
those two are missing.


In GNU Emacs 24.2.50.1 (mips64el-unknown-linux-gnu, GTK+ Version 2.12.12)
 of 2012-10-20 on chiefs-gnewsense
Bzr revision: 110610 rgm@gnu.org-20121021013546-97l6862aw3mmsbd4
System Description:	gNewSense mipsel-l

Configured using:
 `configure 'CFLAGS=-O0 -g' '--with-gif=no' '--with-tiff=no''

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Apropos

Minor modes in effect:
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  gpm-mouse-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
C-c C-d C-d C-d C-d x n d u d d d x ESC x c a DEL DEL 
v a r SPC a p TAB ESC b ESC t TAB C-a ESC f TAB RET 
- h o o k RET C-x o C-x 1 C-s c o m m a n d C-s C-s 
ESC x ESC p RET - f u n c t i o n s $ C-a c o m m a 
n d . * RET C-x C-f e m a c s - b z r / i n c DEL DEL 
DEL s r c / k e y b o a r d . c RET C-x C-v ESC b t 
r u n k / RET C-s C-j c o m m a n d C-v C-v C-v C-v 
C-v C-v C-v C-v C-v C-v C-v C-v C-v ESC x a p r SPC 
v a r DEL DEL DEL SPC SPC v a TAB r RET ESC [ A ESC 
[ A ESC [ A ESC [ A ESC [ A ESC [ A RET C-h v p r e 
- c o m m TAB RET ESC v ESC x ESC [ A RET c o m m a 
n d - h o o k RET ESC [ A ESC [ A ESC x ESC [ A RET 
p r e - c o m m a n d - h o o k RET ESC x a p r o p 
o s SPC v a r RET - h o o k $ RET C-x o C-v C-v C-v 
ESC v ESC x r e p o r t SPC e m a s DEL c s SPC u DEL 
b u g RET

Recent messages:
Mark saved where search started
No apropos matches for `command.*-functions$'
Use M-x make-directory RET RET to create the directory and its parents
Mark saved where search started
Making completion list... [2 times]
No apropos matches for `command.*hook'
Type C-x 1 to delete the help window.
No apropos matches for `command-hook'
No apropos matches for `pre-command-hook'
Type C-x 4 C-o RET to restore the other window.  

Load-path shadows:
None found.

Features:
(pcmpl-unix two-column debug unrmail diff ispell mail-extr shadow
emacsbug cc-langs cl cl-lib cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs bug-reference apropos
time-stamp vc-arch vc-mtn vc-hg vc-git vc-sccs vc-svn vc-rcs utf-7
ind-util vc-bzr texinfo etags rmailsum jka-compr diff-mode log-edit
easy-mmode pcvs-util add-log vc vc-dispatcher parse-time vc-cvs
sgml-mode epa-mail epa derived epg epg-config shell pcomplete grep
compile comint ansi-color ring dired-aux novice quail help-mode
rmailout dabbrev misearch multi-isearch mule-util cal-move cal-menu
calendar cal-loaddefs qp mailalias rmailmm message sendmail
format-spec rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode
mailabbrev gmm-utils mailheader mail-parse rfc2231 dired t-mouse
time-date rmailedit rmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils paren cus-start cus-load advice help-fns
advice-preload tooltip ediff-hook vc-hooks lisp-float-type mwheel
x-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment lisp-mode register page menu-bar rfn-eshadow
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call






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

* bug#13276: 24.2.50; apropos-variable
  2012-12-25  5:35 bug#13276: 24.2.50; apropos-variable Richard Stallman
@ 2012-12-26 11:10 ` Bastien
  2012-12-26 16:56   ` Drew Adams
  2013-01-04  1:40 ` Glenn Morris
  1 sibling, 1 reply; 25+ messages in thread
From: Bastien @ 2012-12-26 11:10 UTC (permalink / raw)
  To: rms; +Cc: 13276

Richard Stallman <rms@gnu.org> writes:

> M-x apropos-variable RET command-hook RET find nothing.  It doesn't
> see pre-command-hook or post-command-hook.  And
> M-x apropos-variable RET hook$ RET displays a list in which
> those two are missing.

My understanding is that this is intentional.

The docstring of apropos-variable says that it shows "user
variables", and that you can list "normal variables" too by
using C-u M-x apropos-variable RET or by setting

(setq apropos-do-all t)

Maybe `apropos-variable' should be renamed `apropos-options'
to make it clear it lists "user variables" and not "normal
variables." (this assumes the convention of options = user
variables is common enough.)

-- 
 Bastien





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

* bug#13276: 24.2.50; apropos-variable
  2012-12-26 11:10 ` Bastien
@ 2012-12-26 16:56   ` Drew Adams
  0 siblings, 0 replies; 25+ messages in thread
From: Drew Adams @ 2012-12-26 16:56 UTC (permalink / raw)
  To: 'Bastien', rms; +Cc: 13276

> Maybe `apropos-variable' should be renamed `apropos-options'
> to make it clear it lists "user variables" and not "normal
> variables."

FWIW -

I proposed that long ago.  It has been discussed at least once, at least as far
back as 2005.  This is what I use:
http://www.emacswiki.org/emacs/download/apropos-fn%2bvar.el

> (this assumes the convention of options = user variables is common enough.)

It's not just a convention.  It's the Emacs definition of option.






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

* bug#13276: 24.2.50; apropos-variable
  2012-12-25  5:35 bug#13276: 24.2.50; apropos-variable Richard Stallman
  2012-12-26 11:10 ` Bastien
@ 2013-01-04  1:40 ` Glenn Morris
  2013-01-04  7:54   ` Bastien
  1 sibling, 1 reply; 25+ messages in thread
From: Glenn Morris @ 2013-01-04  1:40 UTC (permalink / raw)
  To: 13276-done

Richard Stallman wrote:

> M-x apropos-variable RET command-hook RET find nothing.  It doesn't
> see pre-command-hook or post-command-hook.

'Twas ever thus. Try C-u M-x apropos-variable; or set apropos-do-all
non-nil. Note that otherwise the interactive prompt says
"Apropos user option", and those variables are not user options.





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

* bug#13276: 24.2.50; apropos-variable
  2013-01-04  1:40 ` Glenn Morris
@ 2013-01-04  7:54   ` Bastien
  2013-01-04 17:52     ` Stefan Monnier
  2013-01-04 20:00     ` Richard Stallman
  0 siblings, 2 replies; 25+ messages in thread
From: Bastien @ 2013-01-04  7:54 UTC (permalink / raw)
  To: 13276; +Cc: rms

Glenn Morris <rgm@gnu.org> writes:

> Richard Stallman wrote:
>
>> M-x apropos-variable RET command-hook RET find nothing.  It doesn't
>> see pre-command-hook or post-command-hook.
>
> 'Twas ever thus. Try C-u M-x apropos-variable; or set apropos-do-all
> non-nil. Note that otherwise the interactive prompt says
> "Apropos user option", and those variables are not user options.

I suggest renaming `apropos-variable' to `apropos-option' and to
use `apropos-variable' for 

  (let ((apropos-do-all t)) (call-interactively 'apropos-variable))

or something equivalent.

Users assume functions to do what their name suggests, the hint in
the interactive prompt that `apropos-variable' does not really list
all variables but just user options is not enough IMHO.

-- 
 Bastien





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

* bug#13276: 24.2.50; apropos-variable
  2013-01-04  7:54   ` Bastien
@ 2013-01-04 17:52     ` Stefan Monnier
  2013-01-04 19:03       ` Drew Adams
  2013-01-05 10:25       ` Bastien
  2013-01-04 20:00     ` Richard Stallman
  1 sibling, 2 replies; 25+ messages in thread
From: Stefan Monnier @ 2013-01-04 17:52 UTC (permalink / raw)
  To: Bastien; +Cc: 13276, rms

> I suggest renaming `apropos-variable' to `apropos-option' and to
> use `apropos-variable' for 

That sounds right.


        Stefan





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

* bug#13276: 24.2.50; apropos-variable
  2013-01-04 17:52     ` Stefan Monnier
@ 2013-01-04 19:03       ` Drew Adams
  2013-01-05 10:25       ` Bastien
  1 sibling, 0 replies; 25+ messages in thread
From: Drew Adams @ 2013-01-04 19:03 UTC (permalink / raw)
  To: 'Stefan Monnier', 'Bastien'; +Cc: 13276, rms

> > I suggest renaming `apropos-variable' to `apropos-option' and to
> > use `apropos-variable' for 
> 
> That sounds right.

Kevin Rodgers (and I) suggested the same thing, at least as far back as 2005.

http://lists.gnu.org/archive/html/bug-gnu-emacs/2005-09/msg00042.html

http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg01165.html

(In the latter thread I also proposed the same thing for `set-variable':
renaming it to `set-option'.)

And at least as far back as 2007 I noted that RMS had agreed to such a renaming
"but not now".  I don't find that qualification now, but here he agreed to a
renaming (aliasing):

http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg01273.html






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

* bug#13276: 24.2.50; apropos-variable
  2013-01-04  7:54   ` Bastien
  2013-01-04 17:52     ` Stefan Monnier
@ 2013-01-04 20:00     ` Richard Stallman
  1 sibling, 0 replies; 25+ messages in thread
From: Richard Stallman @ 2013-01-04 20:00 UTC (permalink / raw)
  To: Bastien; +Cc: 13276

    I suggest renaming `apropos-variable' to `apropos-option'

I think it is a good idea.  If even I managed to forget about this
wrinkle and get surprised by it, others may well be surprised too.
I know the difference between "variable" and "user option", though
it had been years since it last entered my awareness.  Other people
may never have known it.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call






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

* bug#13276: 24.2.50; apropos-variable
  2013-01-04 17:52     ` Stefan Monnier
  2013-01-04 19:03       ` Drew Adams
@ 2013-01-05 10:25       ` Bastien
  2013-01-05 17:52         ` Drew Adams
                           ` (2 more replies)
  1 sibling, 3 replies; 25+ messages in thread
From: Bastien @ 2013-01-05 10:25 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 13276, rms

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

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> I suggest renaming `apropos-variable' to `apropos-option' and to
>> use `apropos-variable' for 
>
> That sounds right.

The attached patch does this.

It renames `apropos-variable' to `apropos-option' and define a new
`apropos-variable' command.  C-u M-x apropos-variable RET shows only
user options, and C-u M-x apropos-option RET shows all variables.

The patch also introduces a new button for user options so that
users can immediately see which variables are options in the apropos
buffer.

Let me know if I can apply this to the trunk.


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

=== modified file 'lisp/apropos.el'
--- lisp/apropos.el	2013-01-01 09:11:05 +0000
+++ lisp/apropos.el	2013-01-05 10:22:10 +0000
@@ -69,7 +69,7 @@
   "Non nil means apropos commands will search more extensively.
 This may be slower.  This option affects the following commands:
 
-`apropos-variable' will search all variables, not just user variables.
+`apropos-option' will search all variables, not just user options.
 `apropos-command' will also search non-interactive functions.
 `apropos' will search all symbols, not just functions, variables, faces,
 and those with property lists.
@@ -115,6 +115,12 @@
   :group 'apropos
   :version "24.3")
 
+(defface apropos-option-button
+  '((t (:inherit (font-lock-variable-name-face button))))
+  "Button face indicating a user option in Apropos."
+  :group 'apropos
+  :version "24.3")
+
 (defface apropos-misc-button
   '((t (:inherit (font-lock-constant-face button))))
   "Button face indicating a miscellaneous object type in Apropos."
@@ -261,6 +267,15 @@
   'action (lambda (button)
 	    (describe-variable (button-get button 'apropos-symbol))))
 
+(define-button-type 'apropos-option
+  'apropos-label "User option"
+  'apropos-short-label "o"
+  'face 'apropos-option-button
+  'help-echo "mouse-2, RET: Display more help on this user option"
+  'follow-link t
+  'action (lambda (button)
+	    (describe-variable (button-get button 'apropos-symbol))))
+
 (define-button-type 'apropos-face
   'apropos-label "Face"
   'apropos-short-label "F"
@@ -461,15 +476,15 @@
 This is used to decide whether to print the result's type or not.")
 
 ;;;###autoload
-(defun apropos-variable (pattern &optional do-all)
-  "Show user variables that match PATTERN.
+(defun apropos-option (pattern &optional do-all)
+  "Show user options that match PATTERN.
 PATTERN can be a word, a list of words (separated by spaces),
 or a regexp (using some regexp special characters).  If it is a word,
 search for matches for that word as a substring.  If it is a list of words,
 search for matches for any two (or more) of those words.
 
 With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also show
-normal variables."
+variables, not just user options."
   (interactive (list (apropos-read-pattern
 		      (if (or current-prefix-arg apropos-do-all)
 			  "variable" "user option"))
@@ -481,6 +496,17 @@
 				(get symbol 'variable-documentation)))
 		     'custom-variable-p)))
 
+;;;###autoload
+(defun apropos-variable (pattern &optional do-not-all)
+  "Show variables that match PATTERN.
+When DO-NOT-ALL is not-nil, show user options only, i.e. behave
+like `apropos-option'."
+  (interactive (list (apropos-read-pattern
+		      (if current-prefix-arg "user option" "variable"))
+                     current-prefix-arg))
+  (let ((apropos-do-all (if do-not-all nil t)))
+    (apropos-option pattern)))
+
 ;; For auld lang syne:
 ;;;###autoload
 (defalias 'command-apropos 'apropos-command)
@@ -1099,7 +1125,11 @@
 				   'apropos-macro
 				 'apropos-function))
 			     (not nosubst))
-	  (apropos-print-doc 3 'apropos-variable (not nosubst))
+	  (apropos-print-doc 3
+			     (if (custom-variable-p symbol)
+				 'apropos-option
+			       'apropos-variable)
+			     (not nosubst))
 	  (apropos-print-doc 7 'apropos-group t)
 	  (apropos-print-doc 6 'apropos-face t)
 	  (apropos-print-doc 5 'apropos-widget t)


[-- Attachment #3: Type: text/plain, Size: 14 bytes --]


-- 
 Bastien

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

* bug#13276: 24.2.50; apropos-variable
  2013-01-05 10:25       ` Bastien
@ 2013-01-05 17:52         ` Drew Adams
  2013-01-05 19:11         ` Glenn Morris
  2013-01-05 23:40         ` Stefan Monnier
  2 siblings, 0 replies; 25+ messages in thread
From: Drew Adams @ 2013-01-05 17:52 UTC (permalink / raw)
  To: 'Bastien', 'Stefan Monnier'; +Cc: 13276, rms

> >> I suggest renaming `apropos-variable' to `apropos-option' and to
> >> use `apropos-variable' for 
> > That sounds right.
> The attached patch does this.

Glad to see this finally happening.

> It renames `apropos-variable' to `apropos-option' and define a new
> `apropos-variable' command.  C-u M-x apropos-variable RET shows only
> user options, and C-u M-x apropos-option RET shows all variables.
> 
> The patch also introduces a new button for user options so that
> users can immediately see which variables are options in the apropos
> buffer.

IOW, essentially the code I pointed to last month (as well as years ago):
http://www.emacswiki.org/emacs/download/apropos-fn%2bvar.el


FWIW, this doc line is not too good:

 With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also
show
-normal variables."
+variables, not just user options."

User options _are_ variables.  The line should say something like "also show
variables that are not user options."


Question (not particularly related to this patch):

Why do we treat the faces differently for, say, `apropos-symbol' and
`apropos-variable'?

apropos.el defines faces for these buttons:

apropos-function-button
apropos-variable-button
apropos-option-button
apropos-misc-button

But it defines faces for these things - not for their buttons:

apropos-symbol
apropos-keybinding
apropos-property

Why don't we handle the following the same way we handle `apropos-symbol' (or
vice versa):

apropos-function
apropos-variable
apropos-option
apropos-misc

E.g., when defining their button types, just include both `button' and the
thing's face for property `face'?  E.g.,

(defface apropos-option '((t (:inherit font-lock-variable-name-face)))
  "Face used for option names in Apropos buffers."
  :group 'apropos)

(define-button-type 'apropos-option
  'apropos-label "Option"
  'apropos-short-label "o"
  'face '(apropos-option button)  ; <======================
  'help-echo "mouse-2, RET: Display more help on this user option (variable)"
  'follow-link t
  'action (lambda (button)
            (describe-variable (button-get button 'apropos-symbol))))

Just wondering.  Why do we treat these differently?  In all cases the faces are
used only for buttons.  Is there some advantage to using one or the other
treatment?  Thx.






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

* bug#13276: 24.2.50; apropos-variable
  2013-01-05 10:25       ` Bastien
  2013-01-05 17:52         ` Drew Adams
@ 2013-01-05 19:11         ` Glenn Morris
  2013-01-07 22:04           ` Bastien
  2013-01-05 23:40         ` Stefan Monnier
  2 siblings, 1 reply; 25+ messages in thread
From: Glenn Morris @ 2013-01-05 19:11 UTC (permalink / raw)
  To: Bastien; +Cc: 13276, rms

Bastien wrote:

> The attached patch does this.

All the documentation will need updating too.

> +(defface apropos-option-button
> +  '((t (:inherit (font-lock-variable-name-face button))))
> +  "Button face indicating a user option in Apropos."
> +  :group 'apropos
> +  :version "24.3")

24.4





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

* bug#13276: 24.2.50; apropos-variable
  2013-01-05 10:25       ` Bastien
  2013-01-05 17:52         ` Drew Adams
  2013-01-05 19:11         ` Glenn Morris
@ 2013-01-05 23:40         ` Stefan Monnier
  2013-01-07 22:04           ` Bastien
  2013-01-08 14:11           ` Drew Adams
  2 siblings, 2 replies; 25+ messages in thread
From: Stefan Monnier @ 2013-01-05 23:40 UTC (permalink / raw)
  To: Bastien; +Cc: 13276, rms

> It renames `apropos-variable' to `apropos-option' and define a new

I think it should be "apropos-user-option", but other than that, I'm OK
with your change.


        Stefan





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

* bug#13276: 24.2.50; apropos-variable
  2013-01-05 19:11         ` Glenn Morris
@ 2013-01-07 22:04           ` Bastien
  2013-01-08  4:31             ` Glenn Morris
  0 siblings, 1 reply; 25+ messages in thread
From: Bastien @ 2013-01-07 22:04 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 13276, rms

I committed this change, as revno111437.

Glenn Morris <rgm@gnu.org> writes:

> Bastien wrote:
>
>> The attached patch does this.
>
> All the documentation will need updating too.

I updated the few places I've found relevant, please have a look.

>> +(defface apropos-option-button
>> +  '((t (:inherit (font-lock-variable-name-face button))))
>> +  "Button face indicating a user option in Apropos."
>> +  :group 'apropos
>> +  :version "24.3")
>
> 24.4

Yes.  Thanks!

-- 
 Bastien





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

* bug#13276: 24.2.50; apropos-variable
  2013-01-05 23:40         ` Stefan Monnier
@ 2013-01-07 22:04           ` Bastien
  2013-01-08 14:11           ` Drew Adams
  1 sibling, 0 replies; 25+ messages in thread
From: Bastien @ 2013-01-07 22:04 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 13276-done, rms

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> It renames `apropos-variable' to `apropos-option' and define a new
>
> I think it should be "apropos-user-option", but other than that, I'm OK
> with your change.

I've used `propos-user-option' and applied the change.

Thanks for the feedback,

-- 
 Bastien





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

* bug#13276: 24.2.50; apropos-variable
  2013-01-07 22:04           ` Bastien
@ 2013-01-08  4:31             ` Glenn Morris
  2013-01-08  7:15               ` Bastien
  0 siblings, 1 reply; 25+ messages in thread
From: Glenn Morris @ 2013-01-08  4:31 UTC (permalink / raw)
  To: Bastien; +Cc: 13276


Just needs a NEWS entry AFAICS.





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

* bug#13276: 24.2.50; apropos-variable
  2013-01-08  4:31             ` Glenn Morris
@ 2013-01-08  7:15               ` Bastien
  0 siblings, 0 replies; 25+ messages in thread
From: Bastien @ 2013-01-08  7:15 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 13276

Glenn Morris <rgm@gnu.org> writes:

> Just needs a NEWS entry AFAICS.

Done.

-- 
 Bastien





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

* bug#13276: 24.2.50; apropos-variable
  2013-01-05 23:40         ` Stefan Monnier
  2013-01-07 22:04           ` Bastien
@ 2013-01-08 14:11           ` Drew Adams
  2013-01-08 14:33             ` Bastien
  1 sibling, 1 reply; 25+ messages in thread
From: Drew Adams @ 2013-01-08 14:11 UTC (permalink / raw)
  To: 'Stefan Monnier', 'Bastien'; +Cc: 13276, rms

> > It renames `apropos-variable' to `apropos-option' and define a new
> 
> I think it should be "apropos-user-option", but other than 
> that, I'm OK with your change.

Too bad.  That just confuses users more.  The only options in Emacs are user
options.  The name you've chosen hints that there are also non-user options.

We used the qualifier "user" for "user variable" because there are also non-user
variables.  There, it made sense.  We don't speak of "user faces".

It can sometimes be OK to talk about "user options" or even "customizable
options" in text passages, even though this is redundant (and could confuse for
the reason mentioned above), if we want to emphasize that these are thingies
that users can customize.  If the text makes things clear, that's OK.

But to use this term in the name of the command is a bad idea, IMHO.  It should
have been left as was originally suggested: `apropos-option'.  In Emacs, an
option _is_ a user variable.






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

* bug#13276: 24.2.50; apropos-variable
  2013-01-08 14:11           ` Drew Adams
@ 2013-01-08 14:33             ` Bastien
  2013-01-08 14:38               ` Drew Adams
  0 siblings, 1 reply; 25+ messages in thread
From: Bastien @ 2013-01-08 14:33 UTC (permalink / raw)
  To: Drew Adams; +Cc: 13276, rms

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

>> > It renames `apropos-variable' to `apropos-option' and define a new
>> 
>> I think it should be "apropos-user-option", but other than 
>> that, I'm OK with your change.
>
> Too bad.  That just confuses users more.  The only options in Emacs are user
> options.  The name you've chosen hints that there are also non-user options.

This was also my thinking when I proposed `apropos-option' and not
`apropos-user-option'.

But giving it a second thought I think `apropos-user-option' is fine.

It is a bit more explicit than necessary, but that's the game when
offering doc affordances.  

For newbies, this will just mean "my options", not something more
contrived than you can see when you are both an Emacs expert and
trying to put yourself in the newbie's shoes...

2 cts of course,

-- 
 Bastien





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

* bug#13276: 24.2.50; apropos-variable
  2013-01-08 14:33             ` Bastien
@ 2013-01-08 14:38               ` Drew Adams
  2013-01-08 15:48                 ` Drew Adams
  0 siblings, 1 reply; 25+ messages in thread
From: Drew Adams @ 2013-01-08 14:38 UTC (permalink / raw)
  To: 'Bastien'; +Cc: 13276, rms

> For newbies, this will just mean "my options"

Yes, that's the sense in which it can sometimes be OK to use the term in text.
But the text can make these things clear.

A command name is different - each qualifier we put in a function name can
reasonably give the impression that it needs to be there to distinguish other
thingies that do not qualify for that qualifier.

And it's not about newbie vs oldie.  Anyone is susceptible to the same
considerations regarding confusion.






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

* bug#13276: 24.2.50; apropos-variable
  2013-01-08 14:38               ` Drew Adams
@ 2013-01-08 15:48                 ` Drew Adams
  2013-01-08 16:05                   ` Bastien
  0 siblings, 1 reply; 25+ messages in thread
From: Drew Adams @ 2013-01-08 15:48 UTC (permalink / raw)
  To: 'Bastien'; +Cc: 13276, rms

I would add this question, as something else to think about.  Just in case you
are thinking that it is a good idea to have `user' in the command name so that
people can, for example, more easily find the commands that have to do with user
settings/preferences (options and faces):

Will you also be renaming these 52 commands, to add `-user-' to the name?  These
are just from emacs -Q; there are no doubt others from unloaded Emacs
libraries...

buffer-face-mode	
buffer-face-set
buffer-face-toggle 
customize-apropos-faces
customize-apropos-options
customize-changed-options
customize-face
customize-option
customize-save-variable
customize-set-variable
customize-variable
describe-face
facemenu-add-face 
facemenu-remove-face-props 
facemenu-set-face
facemenu-set-face-from-menu 
find-face-definition
global-whitespace-toggle-options
gnus-face-from-file
hi-lock-face-buffer
hi-lock-face-phrase-buffer 
hi-lock-line-face-buffer
hi-lock-unface-buffer 
highlight-changes-rotate-faces
invert-face 
list-faces-display
make-empty-face 
make-face
make-face-bold 
make-face-bold-italic
make-face-italic	
make-face-unbold
make-face-unitalic 
menu-bar-options-save
modify-face
pr-toggle-faces
ps-print-buffer-with-faces 
ps-print-region-with-faces
ps-spool-buffer-with-faces 
ps-spool-region-with-faces
set-face-background 
set-face-background-pixmap
set-face-font 
set-face-foreground
set-face-inverse-video 
set-face-inverse-video-p
set-face-stipple	
set-face-underline
set-face-underline-p
set-variable
whitespace-toggle-options






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

* bug#13276: 24.2.50; apropos-variable
  2013-01-08 15:48                 ` Drew Adams
@ 2013-01-08 16:05                   ` Bastien
  2013-01-08 16:56                     ` Drew Adams
  0 siblings, 1 reply; 25+ messages in thread
From: Bastien @ 2013-01-08 16:05 UTC (permalink / raw)
  To: Drew Adams; +Cc: 13276, rms

Hi Drew,

I'm not interested in being right or getting things perfect,
I'm interested in improving them by contributing directly.

Criticism is welcome, but please do remember everyone's time
is more than precious: it's invaluable.

So sorry, but I won't discuss this further.  If you want to
submit a patch, please do so -- you said earlier that you
already explained why you don't contribute directly, but
I don't know these reasons and could not find them.

Best,

-- 
 Bastien





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

* bug#13276: 24.2.50; apropos-variable
  2013-01-08 16:05                   ` Bastien
@ 2013-01-08 16:56                     ` Drew Adams
  2013-01-08 17:53                       ` Bastien
       [not found]                       ` <<87fw2bh881.fsf@bzg.ath.cx>
  0 siblings, 2 replies; 25+ messages in thread
From: Drew Adams @ 2013-01-08 16:56 UTC (permalink / raw)
  To: 'Bastien'; +Cc: 13276, rms

> I'm not interested in being right or getting things perfect,
> I'm interested in improving them by contributing directly.

I contributed the same suggestion wrt `apropos-variable' directly many years
ago.  Nothing wrong with contributing directly.

No one has criticised you or what you are interested in.  I'm glad that you
contributed to getting this change made finally.

Contributing directly is not in contradiction with trying to DTRT when
contributing.

One can argue that `apropos-user-option' _is_ the right thing.  Or one can state
that s?he has no time to contribute to getting the name right.  Nothing wrong
with either of those.

But I do not see any logical contradiction between "contributing directly" and
trying to DTRT - in this case, trying to get the name right.

> Criticism is welcome,

Thank you so much.  But please recognize that my criticism has not been of you
or anyone else.  No one is criticizing you.

My arguments have been only about why Emacs should use this name instead of that
name.  I too am trying to "improve things by contributing directly" my proposals
and supporting reasons.

Thinking about and discussing what should be done can contribute to improving
things just as much as committing changes to the code base.  Behind code there
is design.

> but please do remember everyone's time
> is more than precious: it's invaluable.

Everyone's, including mine.  My contributions, which take time, are intended to
help.

No one requires you to consider them or to reply.  If you don't have the time or
are not interested, no problem.

This new name will likely be around for quite a while.  If it is
`apropos-user-option' then we will live with that.  It's not a big deal that it
does not fit with the other commands regarding options and faces.

But while we're at it, we could just do it right.

> So sorry, but I won't discuss this further.  If you want to
> submit a patch, please do so

If there is a decision to revert to the name `apropos-option' then I will gladly
submit a patch to do that.

> -- you said earlier that you already explained why you
> don't contribute directly,

No idea what that means.  I contribute directly all the time, and I am doing so
now.  If you mean committing code then no, I do not do that.  I have no
programmer tools on my laptop (which belongs to my employer), and I do not
intend to have any.

If someone else does not want to commit a patch I submit that has been agreed
upon, so be it.  If a patch or a suggestion I submit is not agreed upon, so be
it.

I do not decide things for Emacs Dev.  And I do not commit to the Emacs
source-code tree.  Other than that, I contribute in many ways, all of which I
consider to be "direct".

Best,

  Drew






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

* bug#13276: 24.2.50; apropos-variable
  2013-01-08 16:56                     ` Drew Adams
@ 2013-01-08 17:53                       ` Bastien
       [not found]                       ` <<87fw2bh881.fsf@bzg.ath.cx>
  1 sibling, 0 replies; 25+ messages in thread
From: Bastien @ 2013-01-08 17:53 UTC (permalink / raw)
  To: Drew Adams; +Cc: 13276, rms

Hi Drew,

I know that you are contributing a lot, sorry if my email suggested
otherwise.

My point was that, for small changes (like this one or the ones you
often request about docstrings), patches are more likely to be more
closely and quickly considered than discussions, because they speak
for themselves.  If they do not, and if it is a small change, then
probably we're bikeshed'ing.

> My arguments have been only about why Emacs should use this name
> instead of that name.

I understand, and perhaps you're right.

> If there is a decision to revert to the name `apropos-option' then I
> will gladly submit a patch to do that.

My point (again) is that such a "decision" is more likely to happen 
if you submit the patch *before*.  Be bold :)

>> -- you said earlier that you already explained why you
>> don't contribute directly,
>
> No idea what that means.  

I'm referring to a reply you sent to Stefan recently, stating that 
you already stated why you would not contribute code.  But maybe my
memory is fragile.

> I contribute directly all the time, and I am doing so now.

We disagree on what "directly" means: I mean submitting or applying
a patch.

> If you mean committing code then no, I do not do that.  I have no
> programmer tools on my laptop (which belongs to my employer), and I do not
> intend to have any.

Too bad!

> If someone else does not want to commit a patch I submit that has been agreed
> upon, so be it.  If a patch or a suggestion I submit is not agreed upon, so be
> it.
>
> I do not decide things for Emacs Dev.  And I do not commit to the Emacs
> source-code tree.  

Up to you.

> Other than that, I contribute in many ways, all of which I
> consider to be "direct".

They are valuable too.  Thanks!

-- 
 Bastien





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

* bug#13276: 24.2.50; apropos-variable
       [not found]                       ` <<87fw2bh881.fsf@bzg.ath.cx>
@ 2014-04-21 18:35                         ` Drew Adams
  2014-04-22  9:31                           ` Bastien
  0 siblings, 1 reply; 25+ messages in thread
From: Drew Adams @ 2014-04-21 18:35 UTC (permalink / raw)
  To: Bastien; +Cc: 13276, rms

In Emacs, a customizable variable is called an "option".  There is no
other kind of option in Emacs.  The doc refers to such as options, as
do also existing commands and other functions (`customize-option',
`customize-apropos-options', `customize-changed-options',
`whitespace-toggle-options',...)

Emacs 24.4 has introduced the poorly named command and face
`apropos-user-option' and `apropos-user-option-button'.
Please rename these as they should be named: `apropos-option' and
`apropos-option-button'.

Everyone in this bug thread, including RMS, had agreed that the name
should be `apropos-option', but Stefan acted otherwise.  This is a
bad decision.  It just makes things harder for users, by confusing them.





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

* bug#13276: 24.2.50; apropos-variable
  2014-04-21 18:35                         ` Drew Adams
@ 2014-04-22  9:31                           ` Bastien
  0 siblings, 0 replies; 25+ messages in thread
From: Bastien @ 2014-04-22  9:31 UTC (permalink / raw)
  To: Drew Adams; +Cc: 13276, rms

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

> Everyone in this bug thread, including RMS, had agreed that the name
> should be `apropos-option', but Stefan acted otherwise.  This is a
> bad decision.  It just makes things harder for users, by confusing
> them.

Stefan suggested `apropos-user-option' and I did the change following
his suggestion, because I agree `apropos-user-option' is good too.

Let me restate the point I tried to make in this thread:

  My point was that, for small changes (like this one or the ones you
  often request about docstrings), patches are more likely to be more
  closely and quickly considered than discussions, because they speak
  for themselves.  If they do not, and if it is a small change, then
  probably we're bikeshed'ing.

Thanks,

-- 
 Bastien





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

end of thread, other threads:[~2014-04-22  9:31 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-25  5:35 bug#13276: 24.2.50; apropos-variable Richard Stallman
2012-12-26 11:10 ` Bastien
2012-12-26 16:56   ` Drew Adams
2013-01-04  1:40 ` Glenn Morris
2013-01-04  7:54   ` Bastien
2013-01-04 17:52     ` Stefan Monnier
2013-01-04 19:03       ` Drew Adams
2013-01-05 10:25       ` Bastien
2013-01-05 17:52         ` Drew Adams
2013-01-05 19:11         ` Glenn Morris
2013-01-07 22:04           ` Bastien
2013-01-08  4:31             ` Glenn Morris
2013-01-08  7:15               ` Bastien
2013-01-05 23:40         ` Stefan Monnier
2013-01-07 22:04           ` Bastien
2013-01-08 14:11           ` Drew Adams
2013-01-08 14:33             ` Bastien
2013-01-08 14:38               ` Drew Adams
2013-01-08 15:48                 ` Drew Adams
2013-01-08 16:05                   ` Bastien
2013-01-08 16:56                     ` Drew Adams
2013-01-08 17:53                       ` Bastien
     [not found]                       ` <<87fw2bh881.fsf@bzg.ath.cx>
2014-04-21 18:35                         ` Drew Adams
2014-04-22  9:31                           ` Bastien
2013-01-04 20:00     ` Richard Stallman

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