From 9c1d5ac586dbdaa42311019a4ed076d17288233a Mon Sep 17 00:00:00 2001 From: Milan Zamazal Date: Wed, 4 May 2011 20:26:55 -0700 Subject: [PATCH] Small addition to glasses.el (bug#8524) * lisp/progmodes/glasses.el (glasses-separate-capital-groups): New option. (glasses-make-readable): Use glasses-separate-capital-groups. --- lisp/ChangeLog | 5 +++++ lisp/progmodes/glasses.el | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cf120f8df8e..a862509a6e9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2011-05-05 Milan Zamazal + + * progmodes/glasses.el (glasses-separate-capital-groups): New option. + (glasses-make-readable): Use glasses-separate-capital-groups. + 2011-05-05 Juanma Barranquero * emacs-lisp/warnings.el (warning-level-aliases): Reflow docstring. diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el index 0d9359caa77..6792e861888 100644 --- a/lisp/progmodes/glasses.el +++ b/lisp/progmodes/glasses.el @@ -116,6 +116,15 @@ parenthesis expression starts." :group 'glasses :type '(repeat regexp)) +(defcustom glasses-separate-capital-groups t + "If non-nil, try to separate groups of capital letters. +When the value is non-nil, HTMLSomething and IPv6 are displayed +as HTML_Something and I_Pv6 respectively. Set the value to nil +if you prefer to display them unchanged." + :group 'glasses + :type 'boolean + :version "24.1") + (defcustom glasses-uncapitalize-p nil "If non-nil, downcase embedded capital letters in identifiers. Only identifiers starting with lower case letters are affected, letters inside @@ -212,8 +221,11 @@ CATEGORY is the overlay category. If it is nil, use the `glasses' category." 'glasses-init)) ;; Face + separator (goto-char beg) - (while (re-search-forward "[a-z]\\([A-Z]\\)\\|[A-Z]\\([A-Z]\\)[a-z]" - end t) + (while (re-search-forward + (if glasses-separate-capital-groups + "[a-z]\\([A-Z]\\)\\|[A-Z]\\([A-Z]\\)[a-z]" + "[a-z]\\([A-Z]\\)") + end t) (let* ((n (if (match-string 1) 1 2)) (o (glasses-make-overlay (match-beginning n) (match-end n)))) (goto-char (match-beginning n)) -- 2.11.4.GIT