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

Meta-] bug



    Date: Sun, 17 Nov 85 00:52 EST
    From: David M. J. Saslav <SAZ@OZ.AI.MIT.EDU>

    In Symbolics 3670 Zwei in Release 6.1, IP-TCP 29.13, 6-1-Patches 1.0,
    AISite 11.1, microcode TMC5-IO4-MIC 336, FEP 22, on Lisp Machine Duane Allman:

    the following situation fails for Meta-] (# indicates cursorpos or one
    charspace away from cursorpos, makes no difference here):

    ------------------------------------------------------------------------

    #(defun MY-FUN (arg1 arg2 arg3)

       ;;Comments inserted after one or more blanklines
       (rest-of-code))

    ------------------------------------------------------------------------
    META-] PUTS CURSOR HERE
    ------------------------------------------------------------------------

    (defun MY-FUN (arg1 arg2 arg3)#

       ;;Comments inserted after one or more blanklines
       (rest-of-code))

    ------------------------------------------------------------------------
    RATHER THAN HERE
    ------------------------------------------------------------------------

    (defun MY-FUN (arg1 arg2 arg3)

       ;;Comments inserted after one or more blanklines
       (rest-of-code))#

    ------------------------------------------------------------------------
    AS (I BELIEVE) IT SHOULD.

    saz

Zmacs doesn't behave this way in the development system (eventually
Release 7).  m-] is COM-FORWARD-PARAGRAPH; first of all, this is a
pretty shaky concept in a Lisp-mode buffer of code.  That aside, here is
the documentation of this function:

    Move to start of next paragraph.
    Paragraphs are delimited by blank lines or by lines which start with
    a delimiter in *PARAGRAPH-DELIMITER-LIST* or in *PAGE-DELIMITER-LIST*.
    If there is a fill prefix, any line that does not start with it starts
    a paragraph.
    Lines which start with a character in *TEXT-JUSTIFIER-ESCAPE-LIST*, if that
    character is also in *PARAGRAPH-DELIMITER-LIST*, count as blank lines in
    that they separate paragraphs and are not part of them.

In the development system, *PARAGRAPH-DELIMITER-LIST* is null in Lisp
mode and *PAGE-DELIMITER-LIST* contains <page>.
*TEXT-JUSTIFIER-ESCAPE-LIST* contains ".@-\'" and the fill prefix is
";;; ".  The result of all this is the m-] in the position you show it
will find the next <page>, the next line starting with ";;; " or . or @
or - or \ or ', or the end of the buffer, whichever is first.  This
seems about as reasonable as possible for the concept of paragraphs in
code...