Browse Source

Fix commit a9880a

* org.el (org-toggle-tags-groups): Correctly highlight group
tags.
(org-tags-expand): Expand tags as words, with characters ?@
and ?_ being considered words constituents.
Bastien Guerry 12 years ago
parent
commit
dd3fbd246e
1 changed files with 10 additions and 7 deletions
  1. 10 7
      lisp/org.el

+ 10 - 7
lisp/org.el

@@ -4753,12 +4753,11 @@ Support for group tags is controlled by the option
 `org-group-tags', which is non-nil by default."
   (interactive)
   (setq org-group-tags (not org-group-tags))
-  (if (and (derived-mode-p 'org-agenda-mode)
-	   org-group-tags)
-      (org-agenda-redo))
-  (when (derived-mode-p 'org-mode)
-    (org-set-regexps-and-options-for-tags)
-    (org-set-regexps-and-options))
+  (cond ((and (derived-mode-p 'org-agenda-mode)
+	      org-group-tags)
+	 (org-agenda-redo))
+	((derived-mode-p 'org-mode)
+	 (let ((org-inhibit-startup t)) (org-mode))))
   (message "Groups tags support has been turned %s"
 	   (if org-group-tags "on" "off")))
 
@@ -14049,13 +14048,17 @@ the list of tags in this group.
 When DOWNCASE is non-nil, expand downcased TAGS."
   (if org-group-tags
       (let* ((case-fold-search t)
+	     (stable org-mode-syntax-table)
 	     (tal (or org-tag-groups-alist-for-agenda
 		      org-tag-groups-alist))
 	     (tal (if downcased (mapcar (lambda(tg) (mapcar 'downcase tg)) tal) tal))
 	     (tml (mapcar 'car tal))
 	     (rtnmatch match) rpl)
+	;; @ and _ are allowed as word-components in tags
+	(modify-syntax-entry ?@ "w" stable)
+	(modify-syntax-entry ?_ "w" stable)
 	(while (and tml (string-match
-			 (concat "\\(?1:[+-]?\\)\\(?2:" (regexp-opt tml) "\\)")
+			 (concat "\\(?1:[+-]?\\)\\(?2:\\<" (regexp-opt tml) "\\>\\)")
 			 rtnmatch))
 	  (let* ((dir (match-string 1 rtnmatch))
 		 (tag (match-string 2 rtnmatch))