changeset 48161:d2a2d967b832

(Info-fontify-node): Fixed hiding of *note references with embedded file names like (xxx.yyy). Avoid making any lines visibly longer if hiding newlines inside note references by wrapping line after references if it contained a newline (unfortunaly this makes more lines appear "shorter"). Properly reindent multi-line menu entry descriptions.
author Kim F. Storm <storm@cua.dk>
date Tue, 05 Nov 2002 22:39:07 +0000
parents 2dadda1f72fd
children 4260c3b0397c
files lisp/info.el
diffstat 1 files changed, 19 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/info.el	Tue Nov 05 22:38:39 2002 +0000
+++ b/lisp/info.el	Tue Nov 05 22:39:07 2002 +0000
@@ -2730,7 +2730,7 @@
 	    (add-text-properties (match-beginning 2) (1+ (match-end 2))
 				 '(invisible t))))
 	(goto-char (point-min))
-	(while (re-search-forward "\\(\\*Note[ \n\t]+\\)\\([^:]*\\)\\(:[^.,:]*[,:]?\\)" nil t)
+	(while (re-search-forward "\\(\\*Note[ \n\t]*\\)\\([^:]*\\)\\(:[^.,:(]*\\(([^)]*)[^.,:]*\\)?[,:]?\n?\\)" nil t)
 	  (unless (= (char-after (1- (match-beginning 0))) ?\") ; hack
 	    (let ((next (point))
 		  (hide-tag Info-hide-note-references)
@@ -2757,17 +2757,20 @@
 				   '(font-lock-face info-xref
 						    mouse-face highlight
 						    help-echo "mouse-2: go to this node"))
-	      (if (eq Info-hide-note-references t)
-		  (add-text-properties (match-beginning 3) (match-end 3)
-				       '(invisible t))))))
+	      (when (eq Info-hide-note-references t)
+		(add-text-properties (match-beginning 3) (match-end 3)
+				     (if (string-match "\n" (match-string 0))
+					 '(display "\n")
+				       '(invisible t)))))))
 
 	(goto-char (point-min))
 	(if (and (search-forward "\n* Menu:" nil t)
 		 (not (string-match "\\<Index\\>" Info-current-node))
 		 ;; Don't take time to annotate huge menus
 		 (< (- (point-max) (point)) Info-fontify-maximum-menu-size))
-	    (let ((n 0))
-	      (while (re-search-forward "^\\* +\\([^:\t\n]*\\)\\(:[^.,:]*[,:.][ \t]*\\)" nil t)
+	    (let ((n 0)
+		  cont)
+	      (while (re-search-forward "^\\* +\\([^:\t\n]*\\)\\(:[^.,:(]*\\(([^)]*)[^.,:]*\\)?[,:.][ \t]*\\)" nil t)
 		(setq n (1+ n))
 		(if (zerop (% n 3)) ; visual aids to help with 1-9 keys
 		    (put-text-property (match-beginning 0)
@@ -2777,10 +2780,17 @@
 				     '(font-lock-face info-xref
 				       mouse-face highlight
 				       help-echo "mouse-2: go to this node"))
+		(when (eq Info-hide-note-references t)
+		  (add-text-properties (match-beginning 2) (match-end 2)
+				       (list 'display
+					     (make-string (max 2 (- 22 (- (match-end 1) (match-beginning 1)))) ? )))
+		  (setq cont (looking-at "[ \t]*[^\n]")))
 		(if (eq Info-hide-note-references t)
-		    (add-text-properties (match-beginning 2) (match-end 2)
-					 (list 'display
-					       (make-string (max 2 (- 22 (- (match-end 1) (match-beginning 1)))) ? )))))))
+		    (while (and (= (forward-line 1) 0)
+				(looking-at "\\([ \t]+\\)[^*\n]"))
+		      (add-text-properties (match-beginning 1) (match-end 1)
+					   (list 'display (make-string (+ 22 (if cont 4 2)) ? )))
+		      (setq cont t))))))
 
 	(Info-fontify-menu-headers)
 	(set-buffer-modified-p nil)))))