[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bongo-devel] Emacs 21
From: |
Daniel Brockman |
Subject: |
Re: [bongo-devel] Emacs 21 |
Date: |
Wed, 27 Dec 2006 17:25:09 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
address@hidden (Daniel Jensen) writes:
> I experimented with loading and running Bongo in Emacs 21. (And had
> fun reading "Antinews" in the manuals.) There are a lot of problems
> that need to be resolved, but I believe these are mostly details. It
> should be possible to make a good Bongo backport with a little work.
Encouraged by your findings, Daniel, I started doing this backport.
> I have outlined what appears to be the most urgent tasks. Without
> fixing these, Bongo will not load. Most probably there are also other
> issues that will come clear, if we go ahead and target Emacs 21.
Okay, consider Emacs 21 targeted. I have fixed all the
issues that you described in your message --- see below.
> Customize: No `custom-reevaluate-setting' or `customize-mark-as-set'.
> Needs workaround.
Wrapper functions `bongo-custom-reevaluate-setting' and
`bongo-customize-mark-as-set'. Implementation copied.
> Moving: Functions `move-beginning-of-line', `move-end-of-line' and
> `line-move-invisible-p' do not exist.
The useful functionality of those functions are now
reimplemented in `bongo-point-at-{bol,eol}' and
`bongo-{before,after}-invisible-text-p'.
> Potentially needs a lot of debugging invisibility and
> so on.
Yeah, about that... :-)
> Fringe: No fringe bitmaps. Bongo should silently accept this.
I can't run X at the time of writing, but it seems to me
that Bongo already silently accepts this --- please confirm.
> Keymaps: I found a few errors, but I haven't had a close look.
Binding "ia" in a suppressed keymap didn't work in Emacs 21.
You have to first undefine "i". So that's what I did.
> Other missing functions: `run-mode-hooks', `define-global-minor-mode',
Implementations copied into `bongo-run-mode-hooks' and
`bongo-define-global-minor-mode'. The latter is bloated and we
don't need it all, so we might consider inlining it somehow.
> `define-obsolete-function-alias',
Implementation copied into `bongo-define-obsolete-function-alias'.
> `define-obsolete-variable-alias',
Can't implement this in Emacs 21 as there are no variable aliases.
Non-aliasing implementation in `bongo-define-obsolete-variable-alias'.
> 'char-displayable-p',
Usage conditionalized on fboundness.
> 'time-subtract',
This is called `subtract-time' in Emacs 21, and I even like that
name better, so Bongo uses it now (it's an alias in Emacs 22).
> `read-directory-name'.
Wrapper `bongo-read-directory-name' simply calls `read-file-name'.
> Most of which are not hard to replace, I think.
You were right. I put replacement implementations in the
newly added file `bongo-emacs21.el'.
> Regexps: Rx is a little different in Emacs 21, don't know exactly how.
You have to say `and' all over the place. Most notably, you
have to say `(rx (and foo bar))' instead of just `(rx foo bar)'.
Also, you have to say `(optional (and foo bar))' instead of the
simpler `(optional foo bar)'. Bongo does this now.
> Wrong number of arguments: `next-line', `previous-line',
These were too easy --- I just put in 1's.
> `face-foreground',
I wrapped this as `bongo-face-foreground'. I also put in a
wrapper `bongo-face-background' --- we needed that too.
> `defalias'. Pretty easy to fix.
We were using the third argument DOCSTRING for `defalias' in
one place, and even that wasn't called for, so I just stopped
calling this with more than two arguments. Problem solved.
With these changes, Bongo loads and runs in my Emacs 21.
I encourage everyone to try it out and report problems ---
especially people who can run X.
Daniel, thank you for the report. I have no idea if and
when I would have gotten around to doing this without it.
All you Emacs 21 users out there, merry christmas!
Maybe you'll even get a Debian package soon. :-)
--
Daniel Brockman <address@hidden>
- Re: [bongo-devel] Emacs 21,
Daniel Brockman <=
- [bongo-devel] Re: Emacs 21, Daniel Jensen, 2006/12/29
- Re: [bongo-devel] Emacs 21, Romain Francoise, 2006/12/31
- Re: [bongo-devel] Emacs 21, Daniel Brockman, 2006/12/31
- Re: [bongo-devel] Emacs 21, Romain Francoise, 2006/12/31
- Re: [bongo-devel] Emacs 21, Daniel Brockman, 2006/12/31
- Re: [bongo-devel] Emacs 21, Romain Francoise, 2006/12/31
- Re: [bongo-devel] Emacs 21, Daniel Brockman, 2006/12/31
- Re: [bongo-devel] Emacs 21, Romain Francoise, 2006/12/31
- Re: [bongo-devel] Emacs 21, Romain Francoise, 2006/12/31
- [bongo-devel] Need bongo cron job help, Dieter Deyke, 2006/12/31