Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Mar 2004 00:15:18 -0800 (PST)
From:      George Hartzell <hartzell@kestrel.alerce.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        hartzell@kestrel.alerce.com
Subject:   ports/64486: xemacs21 fails with dired from xemacs-packages on FreeBSD 5.2.1
Message-ID:  <20040320081518.B398760CF@bloop.alerce.com>
Resent-Message-ID: <200403200010.i2K0A5Tl065280@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         64486
>Category:       ports
>Synopsis:       xemacs21 fails with dired from xemacs-packages on FreeBSD 5.2.1
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Mar 19 16:10:05 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     George Hartzell
>Release:        FreeBSD 5.2.1-RELEASE i386
>Organization:
>Environment:
System: FreeBSD bloop.alerce.com 5.2.1-RELEASE FreeBSD 5.2.1-RELEASE #0: Mon Mar 8 04:06:53 PST 2004 root@bloop.alerce.com:/usr/obj/usr/src/sys/BLOOP i386
xemacs-21.1.14      XEmacs text editor version 21
xemacs-packages-10.0 Basic XEmacs elisp packages(xemacs-packages)

>Description:

Running M-x dired results in a complaint about extent-list being
called with an incorrect number of argument.

>How-To-Repeat:

Install the xemacs21 and xemacs-packages ports, and try to run dired.

>Fix:

I found a discussion of this bug on the xemacs web site:

    http://list-archive.xemacs.org/xemacs-beta/200310/msg00235.html

I snagged the following two definitions from the beta xemacs
distribution's extents.el and added them to my .xemacs file.   It
seems to have fixed my problem.
	     
(defun extent-list (&optional buffer-or-string from to flags property value)
  "Return a list of the extents in BUFFER-OR-STRING.
BUFFER-OR-STRING defaults to the current buffer if omitted.
FROM and TO can be used to limit the range over which extents are
returned; if omitted, all extents in the buffer or string are returned.

More specifically, if a range is specified using FROM and TO, only
extents that overlap the range (i.e. begin or end inside of the range)
are included in the list.  FROM and TO default to the beginning and
end of BUFFER-OR-STRING, respectively.

FLAGS controls how end cases are treated.  For a discussion of this,
and exactly what ``overlap'' means, see `map-extents'.  PROPERTY and VALUE
are also as in `map-extents'.

If you want to map a function over the extents in a buffer or string,
consider using `map-extents' or `mapcar-extents' instead.

See also `extents-at'."
  (mapcar-extents 'identity nil buffer-or-string from to flags property value))

;; an alternative to map-extents.
(defun mapcar-extents (function &optional predicate buffer-or-string from to
flags property value)
  "Apply FUNCTION to all extents which overlap a region in BUFFER-OR-STRING.
The region is delimited by FROM and TO.  FUNCTION is called with
one argument, the extent.  A list of the values returned by FUNCTION
is returned.  An optional PREDICATE may be used to further limit the
extents over which FUNCTION is mapped.  The optional arguments FLAGS,
PROPERTY, and VALUE may also be used to control the extents passed to
PREDICATE or FUNCTION.  See also `map-extents'."
  (let (*result*)
    (map-extents (if predicate
                     #'(lambda (ex junk)
                         (and (funcall predicate ex)
                              (setq *result* (cons (funcall function ex)
                                                   *result*)))
                         nil)
                   #'(lambda (ex junk)
                         (setq *result* (cons (funcall function ex)
                                              *result*))
                         nil))
                 buffer-or-string from to nil flags property value)
    (nreverse *result*)))
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040320081518.B398760CF>