[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#4510: 23.1; Separate help-argument-face from downcasing
From: |
Juanma Barranquero |
Subject: |
bug#4510: 23.1; Separate help-argument-face from downcasing |
Date: |
Tue, 22 Sep 2009 01:21:15 +0200 |
On Mon, Sep 21, 2009 at 23:35, Drew Adams <drew.adams@oracle.com> wrote:
> The problem is that function `help-default-arg-highlight' couples
> (a) the use of a face to highlight the arguments with (b) downcasing
> the arguments. These two should be separated, so users can highlight
> without downcasing (or downcase without highlighting).
This is the proposed patch; it also renames
`help-default-arg-highlight', which has an unfitting name.
Juanma
2009-09-21 Juanma Barranquero <lekktu@gmail.com>
* help-fns.el (help-downcase-arguments): New option.
(help-default-arg-highlight): Obsolete.
(help-highlight-arg): New function.
(help-do-arg-highlight): Use it.
Suggested by Drew Adams <drew.adams@oracle.com>. (Bug#4510)
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 2425310..fc80966 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -158,15 +158,22 @@ KIND should be `var' for a variable or `subr'
for a subroutine."
(concat "src/" file)
file)))))
-(defun help-default-arg-highlight (arg)
- "Default function to highlight arguments in *Help* buffers.
-It returns ARG in face `help-argument-name'; ARG is also
-downcased if it displays differently than the default
-face (according to `face-differs-from-default-p')."
- (propertize (if (face-differs-from-default-p 'help-argument-name)
- (downcase arg)
- arg)
- 'face 'help-argument-name))
+(defcustom help-downcase-arguments
+ (and (face-differs-from-default-p 'help-argument-name) t)
+ "If non-nil, argument names in *Help* buffers are downcased."
+ :type 'boolean
+ :group 'help
+ :version "23.2")
+
+(defun help-highlight-arg (arg)
+ "Highlight ARG as an argument name for a *Help* buffer.
+Return ARG in face `help-argument-name'; ARG is also downcased
+if the variable `help-downcase-arguments' is non-nil."
+ (propertize (if help-downcase-arguments (downcase arg) arg)
+ 'face 'help-argument-name))
+
+(define-obsolete-function-alias 'help-default-arg-highlight
+ 'help-highlight-arg "23.2")
(defun help-do-arg-highlight (doc args)
(with-syntax-table (make-syntax-table emacs-lisp-mode-syntax-table)
@@ -184,7 +191,7 @@ face (according to `face-differs-from-default-p')."
"\\(?:-[a-z0-9-]+\\)?" ; for ARG-xxx, ARG-n
"\\(?:-[{([<`\"].*?\\)?"; for ARG-{x}, (x),
<x>, [x], `x'
"\\>") ; end of word
- (help-default-arg-highlight arg)
+ (help-highlight-arg arg)
doc t t 1)))))
(defun help-highlight-arguments (usage doc &rest args)