]> code.delx.au - gnu-emacs/commitdiff
(Info-fontify-node): Use :align-to display prop.
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 3 Jun 2003 20:28:21 +0000 (20:28 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 3 Jun 2003 20:28:21 +0000 (20:28 +0000)
Use `invisible' rather than `display' prop to hide text.

lisp/info.el

index 5cf90a08b67230c4c6ec29e9280b36f5c81f0546..6deb7ca70c0dc51d8a4b32d63f17fee3a6d6e7f3 100644 (file)
@@ -2903,33 +2903,40 @@ the variable `Info-file-list-for-emacs'."
              (set-marker m nil))))
 
        (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)
-                 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)
-                                      (1+ (match-beginning 0))
-                                      'font-lock-face 'info-menu-5))
-               (add-text-properties (match-beginning 1) (match-end 1)
-                                    '(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)
-                   (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))))))
+       (when (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)
+               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)
+                                    (1+ (match-beginning 0))
+                                    'font-lock-face 'info-menu-5))
+             (add-text-properties (match-beginning 1) (match-end 1)
+                                  '(font-lock-face info-xref
+                                    mouse-face highlight
+                                    help-echo "mouse-2: go to this node"))
+             (when (eq Info-hide-note-references t)
+               (put-text-property (match-beginning 2) (match-beginning 4)
+                                  'invisible t)
+               ;; We need a stretchable space like :align-to but with
+               ;; a minimum value.
+               (put-text-property (match-beginning 4) (match-end 4) 'display
+                                  (if (>= 22 (- (match-end 1)
+                                                (match-beginning 0)))
+                                      '(space :align-to 24)
+                                    '(space :width 2)))
+               (setq cont (looking-at "."))
+               (while (and (= (forward-line 1) 0)
+                           (looking-at "\\([ \t]+\\)[^*\n]"))
+                 (put-text-property (match-beginning 1) (match-end 1) 'display
+                                    (if cont
+                                        '(space :align-to 26)
+                                      '(space :align-to 24)))
+                 (setq cont t))))))
 
        (Info-fontify-menu-headers)
        (set-buffer-modified-p nil)))))