all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Dan Nicolaescu <dann@ics.uci.edu>
To: Alan Mackenzie <acm@muc.de>
Cc: emacs-devel@gnu.org
Subject: Re: supporting older versions of emacs (was: Re: bootstrap fails AND how about fixing the byte-compiler?)
Date: Wed, 16 Jan 2008 15:40:01 -0800	[thread overview]
Message-ID: <200801162340.m0GNe1WO025295@sallyv1.ics.uci.edu> (raw)
In-Reply-To: <20080116213128.GC2171@muc.de> (Alan Mackenzie's message of "Wed,  16 Jan 2008 21:31:28 +0000")

Hi Alan,

Alan Mackenzie <acm@muc.de> writes:


  > > 21.1 was released in October 2001. 
  > > Is the number of people that do not upgrade to emacs-21, but still want
  > > to use the latest cc-mode significant enough to be worth the trouble?
  > 
  > Upgrading an unfamiliar piece of software is a nightmare of fear,
  > uncertainty and doubt.  (And Emacs is "unfamiliar" to nearly all its
  > users in this context.)  Will the new version of the software work?  More
  > to the point how much work will it take to get it to work, iron out the
  > niggly little differences, and so on?

The same argument applies to installing a new version of cc-mode too,
doesn't it?

  > I think there will be a lot of Emacs users still on old versions, though
  > they make very little noise.  I don't think giving them compatibility
  > headaches is the best way of persuading them to upgrade.
  > 
  > However, this is just my personal opinion.  ;-)

Well, you are the maintainer, so your opinion matters.

  > > It's obviously your choice, but is it worth it to still support
  > > emacs-20? 
  > 
  > Yes, I think so, given how little effort that actually takes.

If nothing changes, not much effort is required. 
If only more recent versions of emacs/XEmacs are supported, then a lot
of cruft can go away. A cursory look over the code say that
cc-bytecomp-defvar, cc-bytecomp-fboundp and maybe cc-bytecomp-defun can
probably go.

Compare the bytecode for this: 

(defmacro c-put-overlay (from to property value)
  ;; Put an overlay/extent covering the given range in the current
  ;; buffer.  It's currently undefined whether it's front/end sticky
  ;; or not.  The overlay/extent object is returned.
  (if (cc-bytecomp-fboundp 'make-overlay)
      ;; Emacs.
      `(let ((ol (make-overlay ,from ,to)))
       (overlay-put ol ,property ,value)
        ol)
    ;; XEmacs.
    `(let ((ext (make-extent ,from ,to)))
       (set-extent-property ext ,property ,value)
       ext)))

With this:

(defmacro c-put-overlay (from to property value)
  ;; Put an overlay/extent covering the given range in the current
  ;; buffer.  It's currently undefined whether it's front/end sticky
  ;; or not.  The overlay/extent object is returned.
  (if (featurep 'emacs)
      ;; Emacs.
      `(let ((ol (make-overlay ,from ,to)))
       (overlay-put ol ,property ,value)
        ol)
    ;; XEmacs.
    `(let ((ext (make-extent ,from ,to)))
       (set-extent-property ext ,property ,value)
       ext)))

Not sure if this would make a difference from the performance point of
view (it might for c-point for example), but reducing the amount of
cc-elisp in favor of elisp seems like a good idea.

Just my 2 cents.

        --dan

      reply	other threads:[~2008-01-16 23:40 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1JEXu8-0004C3-Cy@cvs.savannah.gnu.org>
2008-01-15  0:03 ` bootstrap fails Katsumi Yamaoka
2008-01-16  0:13   ` bootstrap fails AND how about fixing the byte-compiler? Alan Mackenzie
2008-01-16  0:58     ` Miles Bader
2008-01-16  2:15     ` Katsumi Yamaoka
2008-01-16  5:47     ` supporting older versions of emacs (was: Re: bootstrap fails AND how about fixing the byte-compiler?) Dan Nicolaescu
2008-01-16  8:12       ` supporting older versions of emacs Glenn Morris
2008-01-16 21:21         ` Alan Mackenzie
2008-01-16 22:29           ` Reiner Steib
2008-01-16 22:58             ` Glenn Morris
2008-01-16 23:41               ` Reiner Steib
2008-01-16 21:31       ` supporting older versions of emacs (was: Re: bootstrap fails AND how about fixing the byte-compiler?) Alan Mackenzie
2008-01-16 23:40         ` Dan Nicolaescu [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200801162340.m0GNe1WO025295@sallyv1.ics.uci.edu \
    --to=dann@ics.uci.edu \
    --cc=acm@muc.de \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.