Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
921e5fe6
Commit
921e5fe6
authored
Jan 25, 2003
by
Thien-Thi Nguyen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(Info-try-follow-nearest-node): Add case: Handle menu item
terminated by ": " as an index entry.
parent
1a9e275b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
28 additions
and
9 deletions
+28
-9
lisp/ChangeLog
lisp/ChangeLog
+5
-0
lisp/info.el
lisp/info.el
+23
-9
No files found.
lisp/ChangeLog
View file @
921e5fe6
2003-01-24 Thien-Thi Nguyen <ttn@gnu.org>
* info.el (Info-try-follow-nearest-node): Add case: Handle menu item
terminated by ": " as an index entry.
2003-01-24 Juanma Barranquero <lektu@terra.es>
* isearch.el (isearch-forward): Fix typo.
...
...
lisp/info.el
View file @
921e5fe6
...
...
@@ -27,6 +27,10 @@
;;; Commentary:
;; Note that nowadays we expect info files to be made using makeinfo.
;; In particular we make these assumptions:
;; - a menu item MAY contain colons but not colon-space ": "
;; - a menu item ending with ": " (but not ":: ") is an index entry
;; - a node name MAY NOT contain a colon
;;; Code:
...
...
@@ -584,7 +588,7 @@ which the match was found."
(
save-excursion
(
set-buffer
(
marker-buffer
marker
))
(
goto-char
marker
)
;; Search tag table
(
beginning-of-line
)
(
when
(
re-search-forward
regexp
nil
t
)
...
...
@@ -628,7 +632,7 @@ Value is the position at which a match was found, or nil if not found."
(
beginning-of-line
)
(
setq
found
(
point
)))))
found
)))
(
defun
Info-find-node-in-buffer
(
regexp
)
"Find a node or anchor in the current buffer.
REGEXP is a regular expression matching nodes or references. Its first
...
...
@@ -638,7 +642,7 @@ This function looks for a case-sensitive match first. If none is found,
a case-insensitive match is tried."
(
or
(
Info-find-node-in-buffer-1
regexp
nil
)
(
Info-find-node-in-buffer-1
regexp
t
)))
(
defun
Info-find-node-2
(
filename
nodename
&optional
no-going-back
)
(
buffer-disable-undo
(
current-buffer
))
(
or
(
eq
major-mode
'Info-mode
)
...
...
@@ -721,16 +725,16 @@ a case-insensitive match is tried."
(
nodepos
nil
))
(
catch
'foo
;; First, search a tag table, if any
(
when
(
marker-position
Info-tag-table-marker
)
(
let*
((
m
Info-tag-table-marker
)
(
found
(
Info-find-in-tag-table
m
regexp
)))
(
when
found
;; FOUND is (ANCHOR POS MODE).
(
setq
guesspos
(
nth
1
found
))
;; If this is an indirect file, determine which
;; file really holds this node and read it in.
(
unless
(
eq
(
nth
2
found
)
'Info-mode
)
...
...
@@ -747,7 +751,7 @@ a case-insensitive match is tried."
;; Else we may have a node, which we search for:
(
goto-char
(
max
(
point-min
)
(
-
(
byte-to-position
guesspos
)
1000
)))
;; Now search from our advised position (or from beg of
;; buffer) to find the actual node. First, check
;; whether the node is right where we are, in case the
...
...
@@ -991,7 +995,7 @@ a case-insensitive match is tried."
(
insert
entry
)
(
while
(
=
(
line-beginning-position
0
)
(
1-
(
point
)))
(
delete-region
(
1-
(
point
))
(
point
))))
;; Now remove duplicate entries under the same heading.
(
let
((
seen
nil
)
(
limit
(
point
)))
...
...
@@ -2119,8 +2123,18 @@ If no reference to follow, moves to the next node, or up if none."
((
setq
node
(
Info-get-token
(
point
)
"\\*note[ \n]"
"\\*note[ \n]\\([^:]*\\):"
))
(
Info-follow-reference
node
))
;; explicit node name
((
setq
node
(
Info-get-token
(
point
)
"\\* +"
"\\* +\\([^:]*\\)::"
))
(
Info-goto-node
node
))
;; index entry (Another approach is to combine this w/ the following cond
;; branch "other menu item", but that also requires fixing
;; Info-extract-menu-node-name -- stay tuned. --ttn)
((
Info-get-token
(
point
)
"\\* +"
"\\* +\\(.*\\):[ \t]"
)
(
save-excursion
(
re-search-forward
":[ \t]"
)
(
setq
node
(
Info-following-node-name
"^."
)))
(
Info-goto-node
node
))
;; other menu item
((
Info-get-token
(
point
)
"\\* +"
"\\* +\\([^:]*\\):"
)
(
beginning-of-line
)
(
forward-char
2
)
...
...
@@ -2740,7 +2754,7 @@ the variable `Info-file-list-for-emacs'."
(
concat
"No next, prev or up links -- "
(
buffer-substring
(
point
)
header-end
)))
(
setq
header
(
buffer-substring
(
point
)
header-end
))))
(
put-text-property
(
point-min
)
(
1+
(
point-min
))
'header-line
header
)
;; Hide the part of the first line
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment