* [agj@alum.mit.edu: Re: ":" in Scheme names.]
@ 2003-01-16 4:15 Aubrey Jaffer
2003-01-18 0:20 ` Thien-Thi Nguyen
[not found] ` <20030119215945.A1190D86@mail.voluntocracy.org>
0 siblings, 2 replies; 9+ messages in thread
From: Aubrey Jaffer @ 2003-01-16 4:15 UTC (permalink / raw)
I have heard nothing, so I assume that "info.el" has not been fixed.
------- Start of forwarded message -------
From: Aubrey Jaffer <agj@alum.mit.edu>
To: karl@freefriends.org
Cc: eliz@is.elta.co.il, bug-texinfo@gnu.org
In-reply-to: <200211071419.gA7EJxX06324@f7.net> (karl@freefriends.org)
Subject: Re: ":" in Scheme names.
Date: Thu, 7 Nov 2002 21:16:12 -0500 (EST)
With this change, Emacs info-mode correctly indexes colon-containing
names in (existing) info files. Does someone on bug-texinfo@gnu.org
maintain "info.el" or should I send this to bug-emacs@gnu.org?
cd /usr/share/emacs/21.2/lisp/
diff -c /usr/share/emacs/21.2/lisp/info.el\~ /usr/share/emacs/21.2/lisp/info.el
*** /usr/share/emacs/21.2/lisp/info.el~ Fri Dec 21 14:08:17 2001
- --- /usr/share/emacs/21.2/lisp/info.el Wed Nov 6 22:30:47 2002
***************
*** 1830,1836 ****
(interactive "sIndex topic: ")
(let ((orignode Info-current-node)
(rnode nil)
! (pattern (format "\n\\* +\\([^\n:]*%s[^\n:]*\\):[ \t]*\\([^.\n]*\\)\\.[ \t]*\\([0-9]*\\)"
(regexp-quote topic)))
node
(case-fold-search t))
- --- 1830,1836 ----
(interactive "sIndex topic: ")
(let ((orignode Info-current-node)
(rnode nil)
! (pattern (format "\n\\* +\\([^\n]*%s[^\n]*\\):[ \t]+\\([^.\n]*\\)\\.[ \t]*\\([0-9]*\\)"
(regexp-quote topic)))
node
(case-fold-search t))
Diff finished at Wed Nov 6 22:32:26
------- End of forwarded message -------
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [agj@alum.mit.edu: Re: ":" in Scheme names.]
2003-01-16 4:15 [agj@alum.mit.edu: Re: ":" in Scheme names.] Aubrey Jaffer
@ 2003-01-18 0:20 ` Thien-Thi Nguyen
[not found] ` <20030119215945.A1190D86@mail.voluntocracy.org>
1 sibling, 0 replies; 9+ messages in thread
From: Thien-Thi Nguyen @ 2003-01-18 0:20 UTC (permalink / raw)
Cc: bug-emacs
Aubrey Jaffer <agj@alum.mit.edu> writes:
I have heard nothing, so I assume that "info.el" has not been fixed.
[patch]
i have applied the patch locally; testing (on /usr/share/info/slib.info.gz
no less) still misbehaves, however. i see there are several additional
places in (the current cvs) info.el where ":" is taken to be end-of-tag.
thi
^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <20030119215945.A1190D86@mail.voluntocracy.org>]
* Re: [agj@alum.mit.edu: Re: ":" in Scheme names.]
[not found] ` <20030119215945.A1190D86@mail.voluntocracy.org>
@ 2003-01-20 2:44 ` Thien-Thi Nguyen
2003-01-21 5:59 ` Aubrey Jaffer
0 siblings, 1 reply; 9+ messages in thread
From: Thien-Thi Nguyen @ 2003-01-20 2:44 UTC (permalink / raw)
Cc: bug-emacs
From: Aubrey Jaffer <agj@alum.mit.edu>
Date: Sun, 19 Jan 2003 16:59:45 -0500 (EST)
If the patch improves some (but not all) behaviors, then it is still
worth releasing.
yes. which behaviors does it improve? what goes in the change log?
If you show me how to provoke the remaining misbehaviors, then I can
look at fixing them.
here is an interactive test case, w/ expected output:
evaluate: (info "/usr/share/info/slib.tar.gz")
then,
; type ; expect
i RET buffer changes to show index
C-s array-indexes RET point moves to match
m RET buffer changes to show array mapping funcs
l back to index
C-s batch: RET point moves to match
m RET buffer changes to show batch funcs
l back to index
this sequence exercises several parsing contexts, to start; from here
you can try other `m' and `i' variants.
for me, not all of the expected behaviors take place. some signal
end-of-file error. (after applying the patch i started looking at all
functions that have ":" in their regexp strings to see if they make
similar assumptions (that this patch fixes for this function) about tag
charset; i'm not sure what i'm working with exactly anymore, ymmv. :-)
the constraint "must not contain colon followed by space" is easy for
tags comprising programming language terms to meet w/o special handling,
and it is more permissive than the current "must not contain colon", so
as a fix it is ok. but i wonder if there is a better fix.
thi
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [agj@alum.mit.edu: Re: ":" in Scheme names.]
2003-01-20 2:44 ` Thien-Thi Nguyen
@ 2003-01-21 5:59 ` Aubrey Jaffer
0 siblings, 0 replies; 9+ messages in thread
From: Aubrey Jaffer @ 2003-01-21 5:59 UTC (permalink / raw)
Cc: bug-emacs
| From: Thien-Thi Nguyen <ttn@glug.org>
| Date: Sun, 19 Jan 2003 21:44:03 -0500
|
| From: Aubrey Jaffer <agj@alum.mit.edu>
| Date: Sun, 19 Jan 2003 16:59:45 -0500 (EST)
|
| If the patch improves some (but not all) behaviors, then it is still
| worth releasing.
|
| yes. which behaviors does it improve? what goes in the change log?
(Info-index): Fixed for index names containing colons.
| If you show me how to provoke the remaining misbehaviors, then I can
| look at fixing them.
|
| here is an interactive test case, w/ expected output:
|
| evaluate: (info "/usr/share/info/slib.tar.gz")
|
| then,
| ; type ; expect
| i RET buffer changes to show index
| C-s array-indexes RET point moves to match
| m RET buffer changes to show array mapping funcs
| l back to index
| C-s batch: RET point moves to match
| m RET buffer changes to show batch funcs
Appended is a patch to Info-menu so it grabs the correct default.
Also patched is Info-extract-menu-item so it goes to the ": ". But I
still get an error from Info-find-node-2 with the wrong value for
nodename:
let: No such anchor in tag table or node in tag table or file: modify-table: HTML Tables
Somewhere there is a forward search to ":"; but I lost the trail of
where this happens to nodename.
Here is an unrelated bug in Info-follow-nearest-node:
evaluate: (info "/usr/share/info/slib.tar.gz")
then,
; type ; expect
i RET buffer changes to show index
C-s array-indexes RET point moves to match
RET buffer changes to show array mapping funcs
l back to index
RET buffer changes to Getopt !!
-=-=-=-=-
cd /usr/share/emacs/21.2/lisp/
diff -c /usr/share/emacs/21.2/lisp/info.el\~ /usr/share/emacs/21.2/lisp/info.el
*** /usr/share/emacs/21.2/lisp/info.el~ Sun Jan 19 17:31:53 2003
--- /usr/share/emacs/21.2/lisp/info.el Tue Jan 21 00:33:40 2003
***************
*** 1477,1483 ****
(save-excursion
(goto-char p)
(end-of-line)
! (if (re-search-backward "\n\\* +\\([^:\t\n]*\\):" beg t)
(setq default (match-string-no-properties 1))))))
(let ((item nil))
(while (null item)
--- 1477,1483 ----
(save-excursion
(goto-char p)
(end-of-line)
! (if (re-search-backward "\n\\* +\\([^\t\n]+\\): " beg t)
(setq default (match-string-no-properties 1))))))
(let ((item nil))
(while (null item)
***************
*** 1509,1515 ****
(goto-char (point-min))
(or (search-forward "\n* menu:" nil t)
(error "No menu in this node"))
! (or (re-search-forward (concat "\n\\* +" menu-item ":") nil t)
(re-search-forward (concat "\n\\* +" menu-item) nil t)
(error "No such item in menu"))
(beginning-of-line)
--- 1509,1515 ----
(goto-char (point-min))
(or (search-forward "\n* menu:" nil t)
(error "No menu in this node"))
! (or (re-search-forward (concat "\n\\* +" menu-item ": ") nil t)
(re-search-forward (concat "\n\\* +" menu-item) nil t)
(error "No such item in menu"))
(beginning-of-line)
Diff finished at Tue Jan 21 00:33:44
^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <jklm1eym9x.fsf@totally-fudged-out-message-id>]
* Re: [agj@alum.mit.edu: Re: ":" in Scheme names.]
[not found] <jklm1eym9x.fsf@totally-fudged-out-message-id>
@ 2003-01-25 1:03 ` Thien-Thi Nguyen
2003-01-25 2:37 ` Aubrey Jaffer
0 siblings, 1 reply; 9+ messages in thread
From: Thien-Thi Nguyen @ 2003-01-25 1:03 UTC (permalink / raw)
Cc: bug-emacs
there are some deeper changes necessary to properly encode the
":"-in-menu-item cases, which i am looking into. for now, i have just
committed the patch below, which fixes "m" handling for slib.info.gz test
case:
; type ; expect
i RET buffer changes to show index
C-s array-indexes RET point moves to match
m RET buffer changes to show array mapping funcs
l back to index
C-s batch: RET point moves to match
m RET buffer changes to show batch funcs
there are still bugs in areas: completion for index, TAB command, font
locking. i will get to them shortly.
thi
__________________________________________________
cd /home/ttn/build/GNU/emacs/lisp/
cvs diff -w -c -b info.el
Index: info.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/info.el,v
retrieving revision 1.331
diff -w -c -b -r1.331 info.el
*** info.el 22 Jan 2003 20:35:23 -0000 1.331
--- info.el 25 Jan 2003 00:33:45 -0000
***************
*** 27,32 ****
--- 27,36 ----
;;; 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:
***************
*** 2119,2126 ****
--- 2123,2140 ----
((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)
Compilation exited abnormally with code 1 at Fri Jan 24 16:32:01
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [agj@alum.mit.edu: Re: ":" in Scheme names.]
2003-01-25 1:03 ` Thien-Thi Nguyen
@ 2003-01-25 2:37 ` Aubrey Jaffer
2003-01-25 3:02 ` Thien-Thi Nguyen
0 siblings, 1 reply; 9+ messages in thread
From: Aubrey Jaffer @ 2003-01-25 2:37 UTC (permalink / raw)
Cc: bug-emacs
| From: Thien-Thi Nguyen <ttn@glug.org>
| Date: 24 Jan 2003 20:03:06 -0500
|
| there are some deeper changes necessary to properly encode the
| ":"-in-menu-item cases, which i am looking into. for now, i have
| just committed the patch below, which fixes "m" handling for
| slib.info.gz test case:
Thanks!
| ; type ; expect
| i RET buffer changes to show index
| C-s array-indexes RET point moves to match
| m RET buffer changes to show array mapping funcs
| l back to index
| C-s batch: RET point moves to match
| m RET buffer changes to show batch funcs
With the patch, the last step gives me an error:
let: No such anchor in tag table or node in tag table or file: call-with-output-script: Batch
But it is evident that Info-try-follow-nearest-node is fixed if the
last line is instead:
| RET buffer changes to show batch funcs
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [agj@alum.mit.edu: Re: ":" in Scheme names.]
2003-01-25 2:37 ` Aubrey Jaffer
@ 2003-01-25 3:02 ` Thien-Thi Nguyen
2003-01-26 19:51 ` Kim F. Storm
0 siblings, 1 reply; 9+ messages in thread
From: Thien-Thi Nguyen @ 2003-01-25 3:02 UTC (permalink / raw)
Cc: bug-emacs
From: Aubrey Jaffer <agj@alum.mit.edu>
Date: Fri, 24 Jan 2003 21:37:04 -0500 (EST)
let: No such anchor in tag table or node in tag table or file:
call-with-output-script: Batch
But it is evident that Info-try-follow-nearest-node is fixed if the
last line is instead:
| RET buffer changes to show batch funcs
oops, yes this is a mistake on my part in reporting the consequences of
the fix. the good news is that the "m RET" case is now fixed (revision
1.333 in cvs), as well.
w/ 1.333 i ran around slib.info and dired-x.info using "RET", "m", "l"
and various "i" (default/exact/inexact input) commands w/o problems.
please let me know if you find any new (and interesting) bugs, otherwise
i'm inclined to look at other things now. M-x viva-scheme!
thi
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [agj@alum.mit.edu: Re: ":" in Scheme names.]
2003-01-25 3:02 ` Thien-Thi Nguyen
@ 2003-01-26 19:51 ` Kim F. Storm
2003-01-26 23:11 ` Thien-Thi Nguyen
0 siblings, 1 reply; 9+ messages in thread
From: Kim F. Storm @ 2003-01-26 19:51 UTC (permalink / raw)
Cc: bug-emacs
Thien-Thi Nguyen <ttn@giblet.glug.org> writes:
> From: Aubrey Jaffer <agj@alum.mit.edu>
> Date: Fri, 24 Jan 2003 21:37:04 -0500 (EST)
>
> let: No such anchor in tag table or node in tag table or file:
> call-with-output-script: Batch
>
> But it is evident that Info-try-follow-nearest-node is fixed if the
> last line is instead:
>
> | RET buffer changes to show batch funcs
>
> oops, yes this is a mistake on my part in reporting the consequences of
> the fix. the good news is that the "m RET" case is now fixed (revision
> 1.333 in cvs), as well.
>
> w/ 1.333 i ran around slib.info and dired-x.info using "RET", "m", "l"
> and various "i" (default/exact/inexact input) commands w/o problems.
> please let me know if you find any new (and interesting) bugs, otherwise
> i'm inclined to look at other things now. M-x viva-scheme!
Your change broke a lot of *note .... :: links where the :: is not
followed by a space, like these:
(*note some note::)
some text, *note some note::, more text
Try C-h i m elisp RET i signal RET TAB RET
I've installed a fix to CVS to stop searching for the end of the
reference when a comma, period, semicolon, or right parenthesis
follows the last colon.
However, I'm not sure this the right fix. It would probably be better
to specify the characters which shall cause a continued search if they
follow a colon, but I'm not sure what characters to include...
--
Kim F. Storm http://www.cua.dk
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [agj@alum.mit.edu: Re: ":" in Scheme names.]
2003-01-26 19:51 ` Kim F. Storm
@ 2003-01-26 23:11 ` Thien-Thi Nguyen
0 siblings, 0 replies; 9+ messages in thread
From: Thien-Thi Nguyen @ 2003-01-26 23:11 UTC (permalink / raw)
Cc: agj
From: no-spam@cua.dk (Kim F. Storm)
Date: 26 Jan 2003 20:51:59 +0100
Your change broke a lot of *note .... :: links where the :: is not
followed by a space, like these:
(*note some note::)
some text, *note some note::, more text
Try C-h i m elisp RET i signal RET TAB RET
I've installed a fix to CVS to stop searching for the end of the
reference when a comma, period, semicolon, or right parenthesis
follows the last colon.
thanks for catching this.
However, I'm not sure this the right fix. It would probably be better
to specify the characters which shall cause a continued search if they
follow a colon, but I'm not sure what characters to include...
if i understand correctly, you mean to replace while-not, w/ simply
while. initially i tried something like:
(while (looking-at ":*\\sw") ...)
but testing against elisp index fails for "&rest" and anything else w/
chars not in the word-constituent syntax class. unless there is a way
to create a syntax class that is \sw plus \s- plus \s_ minus ":", i
think we are stuck w/ explicitly enumerating trailing context. the
fixed info.el appears to be enough for now; we just need to track
makeinfo (x)ref rendering (not a big deal -- i don't think that is
changing very much).
thi
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2003-01-26 23:11 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-16 4:15 [agj@alum.mit.edu: Re: ":" in Scheme names.] Aubrey Jaffer
2003-01-18 0:20 ` Thien-Thi Nguyen
[not found] ` <20030119215945.A1190D86@mail.voluntocracy.org>
2003-01-20 2:44 ` Thien-Thi Nguyen
2003-01-21 5:59 ` Aubrey Jaffer
[not found] <jklm1eym9x.fsf@totally-fudged-out-message-id>
2003-01-25 1:03 ` Thien-Thi Nguyen
2003-01-25 2:37 ` Aubrey Jaffer
2003-01-25 3:02 ` Thien-Thi Nguyen
2003-01-26 19:51 ` Kim F. Storm
2003-01-26 23:11 ` Thien-Thi Nguyen
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.