emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: info invisible changes


From: Miles Bader
Subject: Re: info invisible changes
Date: 05 Nov 2002 13:08:02 +0900

"Stefan Monnier" <monnier+gnu/address@hidden> writes:
> Can you decode for me the following email you sent ;-) ?

Whoops, sorry; maybe that's why I didn't any response (until I looked
just now, I didn't even realize that it had gotten encoded into some
wierd encoding, base64'd, etc!)...

Here's the original mail, sans byte-code strings:


Hi Kim,

I see you put in your info changes.

It does look nicer (cleaner), but there are some problems:

When I do `Memacs' from the top-level dir (with point at the beginning
of the buffer), I get the following error:

   Debugger entered--Lisp error: (error "No such anchor in tag table or node in 
tag table or file: The extensible self-documenting text editor")
     signal(error ("No such anchor in tag table or node in tag table or file: 
The extensible self-documenting text editor"))
     error("No such anchor in tag table or node in tag table or file: %s" "The 
extensible self-documenting text editor")
     byte-code(...)
     Info-find-node-2(nil "The extensible self-documenting text editor" nil)
     Info-find-node(nil "The extensible self-documenting text editor")
     Info-goto-node("The extensible self-documenting text editor" nil)
     Info-menu("Emacs" nil)
     call-interactively(Info-menu)

[Note that the "The extensible ..." is the descriptive text for the
 `Emacs' menu line, so apparently the `M' command is getting confused
 about how things are formatted.]

There are some other, more minor problems with this:

  (1) The dir file (and presumably other info menus) I have was
      formatted assuming that no text would be hidden, so in some cases,
      the invisible text results in a very wierd looking display.

      Here's an example display from my *info* dir node (these are all
      debian entries):

--- begin quote ---
* CVS                   Concurrent Versions
                                                     System
* CVS client/server     Describes the
                                                     client/server protocol
                                                     used by CVS.
* gcc-295               The GNU Compiler
                                                     Collection (Version
                                                     2.95.x).
* Gdb                   The GNU debugger.
* Gdb-Internals         The GNU debugger's
                                                     internals.
---  end quote  ---

      Here's the text as it appears without invisible regions:

--- begin quote ---
* CVS: (cvs).                                        Concurrent Versions
                                                     System
* CVS client/server: (cvsclient).                    Describes the
                                                     client/server protocol
                                                     used by CVS.
* gcc-295: (gcc-295).                                The GNU Compiler
                                                     Collection (Version
                                                     2.95.x).
* Gdb: (gdb).                                        The GNU debugger.
* Gdb-Internals: (gdbint).                           The GNU debugger's
                                                     internals.
---  end quote  ---

      From the above, it seems that your change also removes some
      whitespace, because just difference can't be accounted for by just
      making the node-name and puncutation invisible.

  (2) Cursor movement is `wierd' around the invisible text region.  For
      instance, taking one of the menu lines from above:

--- begin quote ---
* gcc-295               The GNU Compiler
---  end quote  ---

      when I use C-f to move forward from the beginning of the line,
      everything's OK until point is before the `5'.  If I hit C-f
      then, point jumps to being before the `T', when I expected it to
      move to just after the `5'.  If I then hit C-f again, the cursor
      doesn't move, `sticking' at the point before the `T'; another C-f
      then moves forward as expected.

      I thought these sorts of problems were supposed to be generally
      fixed these days (well, C-n/C-p are still fucked I think, but
      they're a separate case), so perhaps there's something odd with
      the way you're setting up your invisible text.

  (3) In the gcc-2.95 info doc, there's a node (`(gcc-295)G++ and GCC')
      that contains the following text:

--- begin quote ---
that you get better object code, and better debugging information.  The
GNU debugger, GDB, works with this information in the object code to
give you comprehensive C++ source-level editing capabilities (*note C
and C++: (gdb.info)C.).
---  end quote  ---

      your *note hack turns it into:

--- begin quote ---
that you get better object code, and better debugging information.  The
GNU debugger, GDB, works with this information in the object code to
give you comprehensive C++ source-level editing capabilities (see C
and C++.info)C.).
---  end quote  ---

  (4) The wrapping problem happens with *note tags too; often it's fairly
      benign (a line that's unusually short because of invisible'd text),
      but sometimes it gets a bit uglier; e.g. the original:

--- begin quote ---
     order to be compiled,and also requires the header files for the
     target's thread library if you want thread support.  *Note
     Cross-Compilers and Header Files: Cross Headers, for discussion
     about header files issues for cross-compilation.
---  end quote  ---

      turns into [note the wrapped line]:

--- begin quote ---
     order to be compiled,and also requires the header files for the
     target's thread library if you want thread support.  See Cross-Compilers 
and Header Files, for discussion
     about header files issues for cross-compilation.
---  end quote  ---

  (5) Cursor movement around the `See' is wierd, but I guess that's
      something you can do much about.

  (6) Ah, I just saw another misformatted menu entry; the original:

--- begin quote ---
* gcc-3.2: (gcc-3.2).                                The GNU Compiler
                                                     Collection (Version 3.2).
* gccint-3.2: (gccint-3.2).                          Internals of the GNU
                                                     Compiler Collection
                                                     (Version 3.2).
---  end quote  ---

      turns into:

--- begin quote ---
* gcc-3.2               2).                                  The GNU Compiler
                                                     Collection (Version 3.2).
* gccint-3.2            2).                          Internals of the GNU
                                                     Compiler Collection
                                                     (Version 3.2).
---  end quote  ---

Anyway, I basically like it, it's noticably easier to read than the old
style.

-Miles

-- 
Somebody has to do something, and it's just incredibly pathetic that it
has to be us.  -- Jerry Garcia




reply via email to

[Prev in Thread] Current Thread [Next in Thread]