For sometime I've been using my own copy of eldoc from emacs because
the version with xemacs didn't work with slime[1]. I'm not sure
what's changed, but the version with xemacs works fine now.
But I also updated the eldoc to work with xemacs. You can find the
version at http://github.com/rtoy/xemacs-hacks/tree/master/eldoc.
The only thing needed to make it work with xemacs is contained in
eldoc-xemacs.el. Two are simple help functions that don't currently
exist in xemacs and the last is string-match-p.
AFAICT, this version works like the version with xemacs. I don't do
much elisp programming, so I don't know if it's completely working or
not, but simple things appear to be fine.
There is a minor difference with slime where the function args aren't
highlighted, but they are with xemacs' eldoc. Haven't figured out why
yet.
I've only run this with 21.5; don't know if it works on 21.4 or not.
Anyway, if anyone wants to update xemacs, I can help with that or
supply a patch.
Ray
Footnotes:
[1] http://http://common-lisp.net/project/slime/
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta
Howdy,
Hoping this posts all right. I subscribed to this list for
years, but it was a long time ago. But I still use XEmacs.
I'm trying to get XEmacs properly working on my new iMac. It
worked beautifully for years (since 2006) with my previous
Mac, a MacBook Pro.
When I just start xemacs, it crashes. (I get a Segmentation
fault, though no core dump.)
Interestingly, when I run xemacs -q and then immediately run
(load-file "~/.xemacs/init.el"), it does *not* crash. Or I
can do it the hard way and progessively eval pieces of it
all the way through. But once I try to visit a Perl file or
something, it goes ka-boom.
It seems to be failing any time it tries to fontify anything
via font-locks.el, which happens primarily when
font-lock-fontify-buffer runs, which is often, because it's
built into the hooks of just about any sort of mode that is
entered for entering almost anything other than plain text,
e.g., any programming language file: shell, C, Elisp, Perl,
LaTeX, and so forth. I've included a lisp backtrace below.
As background, I've been an XEmacs user since it was in
alpha state at Lucid with Zamie Zawinski in charge. I can
hardly live without it, but have used Macs as my primary
machines since about 2006. While I no longer delve into it
or try to tweak it much, I do have a lot of legacy effort
invested in it and would love to just continue using it if I
can.
I'm running it under the current version of X11 for OS X
that is owned by (or called?) XQuartz. I installed it from
the macports collection. I've got version 21.4 patch 22.
I could finally just switch over to using GNU Emacs
permanently, but the transition would be extremely painful,
almost like starting over, because I have a great deal of
stuff in my startups and custom code and the like. I
particularly prefer the way that XEmacs allows me to do key
bindings. I seem to recall that it was over issues that
touched at leaset tangentially on this that JWZ and his crew
parted ways with RMS.
And I know XEmacs is not being supported much these days.
Boo hoo. Still, here's the promised backtrace. If anyone can
give me a clue how I might work through this problem, I'd be
grateful.
dispatch-non-command-events()
# (condition-case ... . ((nil)))
progress-feedback-dispatch-non-command-events()
# bind (tmsg top frame value message label)
append-progress-feedback(font-lock "Fontifying Opts..." 0 nil)
# bind (frame value message label)
display-progress-feedback(font-lock "Fontifying Opts..." 0)
# bind (str)
# (unwind-protect ...)
# bind (args value fmt label)
progress-feedback-with-label(font-lock "Fontifying %s..." 0 "Opts")
# bind (maybe-loudly end beg)
font-lock-default-unfontify-region(1 365 t)
# bind (loudly end beg)
font-lock-unfontify-region(1 365 t)
# bind (was-on font-lock-verbose font-lock-message-threshold aborted)
# (unwind-protect ...)
font-lock-default-fontify-buffer()
# bind (font-lock-verbose)
font-lock-fontify-buffer()
# bind (on-p maximum-size arg)
font-lock-mode(1)
# bind (was-on font-lock-verbose font-lock-message-threshold aborted)
# (unwind-protect ...)
font-lock-default-fontify-buffer()
# bind (font-lock-verbose)
#<compiled-function nil "...(9)" [font-lock-fontify-buffer-function
font-lock-verbose] 1
("/opt/local/lib/xemacs-21.4.22/lisp/font-lock.elc" . 38584) nil>()
call-interactively(font-lock-fontify-buffer)
command-execute(font-lock-fontify-buffer t)
# bind (_execute_command_keys_ _execute_command_name_ prefix-arg)
execute-extended-command(nil)
# bind (command-debug-status)
call-interactively(execute-extended-command)
# (condition-case ... . error)
# (catch top-level ...)
--
Lynn David Newton
Columbus, Ohio
neologisticsediting.comlynndavidnewton.com
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta
I just tried to do a package build, and got this:
Loading /builddir/build/BUILD/xemacs-packages-extra-20121228/xemacs-packages/ede/ede.el...
Requiring /builddir/build/BUILD/xemacs-packages-extra-20121228/xemacs-packages/ede/ede-source.el...
Requiring /builddir/build/BUILD/xemacs-packages-extra-20121228/xemacs-packages/eieio/eieio-base.elc...
Requiring
/builddir/build/BUILD/xemacs-packages-extra-20121228/xemacs-packages/eieio/eieio.elc...
Loading /usr/share/xemacs-21.5-b33/lisp/cl-macs.elc...
Requiring
/builddir/build/BUILD/xemacs-packages-extra-20121228/xemacs-packages/cedet-common/inversion.elc...
Requiring
/builddir/build/BUILD/xemacs-packages-extra-20121228/xemacs-packages/xemacs-base/advice.elc...
xemacs exiting.
# bind (stack-trace-on-signal debug-on-signal stack-trace-on-error
debug-on-error)
# (unwind-protect ...)
signal(error ("Unknown keyword" :risky))
# bind (type value keyword symbol)
custom-handle-keyword(ede-project-directories :risky t custom-variable)
# bind (keyword value arg initialize requests args doc default symbol)
custom-declare-variable(ede-project-directories nil "Directories in
which EDE may search for project files.\nIf the value is t, EDE may
search in any directory.\n\nIf the value is a function, EDE calls that
function with one\nargument, the directory name; the function should
return t iff\nEDE should look for project files in the
directory.\n\nOtherwise, the value should be a list of fully-expanded
directory\nnames. EDE searches for project files only in those
directories.\nIf you invoke the commands \\[ede] or \\[ede-new] on a
directory\nthat is not listed, Emacs will offer to add it to the
list.\n\nAny other value disables searching for EDE project files."
:group ede :type (choice (const :tag "Any directory" t) (repeat :tag
"List of directories" (directory)) (function :tag "Predicate"))
:version "23.4" :risky t)
(defcustom ede-project-directories nil "Directories in which EDE may
search for project files.\nIf the value is t, EDE may search in any
directory.\n\nIf the value is a function, EDE calls that function with
one\nargument, the directory name; the function should return t
iff\nEDE should look for project files in the directory.\n\nOtherwise,
the value should be a list of fully-expanded directory\nnames. EDE
searches for project files only in those directories.\nIf you invoke
the commands \\[ede] or \\[ede-new] on a directory\nthat is not
listed, Emacs will offer to add it to the list.\n\nAny other value
disables searching for EDE project files." :group (quote ede) :type
(quote (choice (const :tag "Any directory" t) (repeat :tag "List of
directories" (directory)) (function :tag "Predicate"))) :version
"23.4":risky t)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
load-internal("ede" nil t nil undecided)
# bind (handler path nosuffix nomessage noerror filename)
load("ede" nil t)
# bind (file arg)
command-line-do-load("-l")
# bind (dir file-count line end-of-options file-p arg tem)
command-line-1()
# bind (command-line-args-left)
command-line()
# bind (error-data)
normal-top-level()
# (condition-case ... . error)
# (catch top-level ...)
Unknown keyword: :risky
Is this a known problem?
--
Jerry James
http://www.jamezone.org/
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta
ACTIVITY SUMMARY (2013-01-01 - 2013-01-08)
XEmacs Issue Tracking System at http://tracker.xemacs.org/XEmacs/its/
To view or respond to any of the issues listed below, click on the issue
number. Do NOT respond to this message.
553 open ( +0) / 294 closed ( +0) / 847 total ( +0)
Open issues with patches: 13
Average duration of open issues: 1328 days.
Median duration of open issues: 1411 days.
Open Issues Breakdown
new 233 ( +0)
deferred 6 ( +0)
napping 3 ( +0)
verified 57 ( +0)
assigned 153 ( +0)
committed 19 ( +0)
documented 3 ( +0)
done/needs work 17 ( +0)
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta
* XEmacs 21.5.33 "horseradish" is released.
"horseradish" is the thirty-fourth in the VEGETABLE series.
The successor to XEmacs 21.5.32 "habanero", "horseradish" adds a few
minor fixes and improvements. The Help menu has been reorganized, and
there have been a number of syncs to GNU Emacs which are mostly useful
for supporting syncs of specific packages. The most generally useful
improvement is probably new support for the [remap] syntax in `define-key'.
This is the development line. The current series started with XEmacs
21.5.0 (an alias for XEmacs 21.4.0 "Solid Vapor", the first release in
the current stable line). 21.5 is the code base for introduction of
major new subsystems and fixes to design bugs that experience shows will
introduce instability. So far the main effort has been on improved
support for Unicode, updates to the build infrastructure, and development
of new features in memory allocation.
For general information about XEmacs, the developers, and the user
community, see our home page,
http://www.xemacs.org/
* XEmacs 21.5.33 is "beta" software.
The usual "no warranty" disclaimer (see etc/COPYING, sections 10 and 11)
applies. At this point in time, it is the version that most developers
are using for their daily work. However, it is certain that many bugs
remain and new ones will be introduced as development proceeds. Be sure
to take care to save your work often and follow a regular backup regime.
* Availability
Anonymous ftp:
ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.5
See http://www.xemacs.org/Install/ for more information about building
from source.
If you already have a 21.5.32 source tree, a patchkit is available in
xemacs-21.5.32-21.5.33.patch.gz. This does not update .elcs or .infos.
They will be rebuilt when you make XEmacs. If you have an earlier
version, you can repeatedly apply patchkits.
Also, if you don't have the packages yet, see
http://www.xemacs.org/Documentation/packageGuide.html.
Mercurial repository:
http://hg.debian.org/hg/xemacs/xemacs-beta
This is a read-only Mercurial repository. To check out XEmacs 21.5.33,
use the command
hg clone %(releaseSpec) http://hg.debian.org/hg/xemacs/xemacs-beta
to create a new Mercurial workspace, or
hg pull -u %(releaseSpec)
if you already have a local workspace from Mercurial. To update to the
most recent commits to the official repository, use
hg pull -u tip
For more details, see
http://www.xemacs.org/Develop/hgaccess.html .
* Brief summary of Changes to XEmacs 21.5.33 "horseradish"
Major Features, Bugfixes, and Backward Incompatible Changes
-- Nothing major this time. -- nobody
User-Visible Bug Fixes and Improvements
-- Improve: Reorganize default menubar. -- Stephen J. Turnbull
Build Infrastructure and Source Tree
-- Fix: Prevent make distclean from deleting configure in modules. --
Mats Lidell
-- Improve: Make configure warn about missing system package
hierarchies. -- Stephen J. Turnbull
Documentation
-- Fix: Description of Mercurial repositories. -- Stephen J. Turnbull
-- Fix: TUTORIAL to describe recenter-top-bottom correctly. -- Mats
Lidell
-- Improve: Description of `mark-defun'. -- Steven Mitchell
-- Improve: Documentation of menus. -- Byrel Mitchell, Vin Shelton
-- Improve: INSTALL. -- Steven Mitchell, Stephen J. Turnbull, Robert
D. Royar
Lisp API
-- Fix: Implement :active in submenu specs. -- Byrel Mitchell
-- New: Adopt GNU's ## syntax for the interned symbol with the
zero-length name. -- Aidan Kehoe
-- New: Command remapping in keymaps from GNU. -- Aidan Kehoe
-- New: call-process-shell-command from GNU. -- Mats Lidell
-- New: delete-trailing-lines, delete-trailing-whitespace from GNU. --
Aidan Kehoe
-- New: recenter-positions, recenter-top-bottom, recenter-last-op from
GNU. -- Mats Lidell
-- Improve: Accept GNU's UNIVERSAL argument in format-time-string. --
Aidan Kehoe
-- Improve: Allow noninteractive call of self-insert-command with null
count. -- Stephen J. Turnbull
Internal API and Implementation
-- Fix: Avoid malloc'ing inside search. -- Aidan Kehoe
-- Fix: GCPRO etc in define-specifier-tag. -- Aidan Kehoe
-- Fix: Incorrect handling of empty sets in subsetp. -- Stephen
J. Turnbull, Benson Mitchell, Steven Mitchell
-- Fix: Inhibit error at compile time in equal, member, assoc,
rassoc. -- Aidan Kehoe
-- Fix: Regexp in describe-register-1. -- Stephen Turnbull, Mats
Lidell
-- Fix: Respect face and display table information in the minibuffer
prompt. -- Aidan Kehoe
-- Improve: Charset not in table warning message. -- Stephen
J. Turnbull
-- Improve: find-coding-system-magic-cookie-in-file moved to C. --
Aidan Kehoe
Testing and Debugging
-- New: Simple test cases for call-process-shell-command. -- Mats
Lidell
-- New: Test regular expression in describe-register-1. -- Mats Lidell
-- New: Test search for character ranges with dirty syntax table. --
Aidan Kehoe
-- New: Test the new command remapping functionality. -- Aidan Kehoe
-- New: Tests of #'subsetp. -- Stephen J. Turnbull, Steven Mitchell,
Benson Mitchell
-------- ChangeLog Entries from ChangeLog --------
2013-01-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.33 "horseradish" is released.
2012-12-27 Robert D. Royar <xemacs(a)royar.org>
Minor additions by Stephen J. Turnbull <stephen(a)xemacs.org>.
* INSTALL: correct typographical errors; update
version numbers provided in Running Make section;
change default datadir reference to /usr/local/share
to match all other references to datadir's subdirectories;
change "can not" to "cannot".
2012-11-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* INSTALL: Reorganize and update.
Thanks to Steven Mitchell for the suggestion.
2012-08-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* configure.ac (Package Search): New Installation section.
Warn about missing system package hierarchies.
* configure: Regenerate.
-------- ChangeLog Entries from etc/ChangeLog --------
2013-01-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.33 "horseradish" is released.
2012-09-18 Mats Lidell <matsl(a)xemacs.org>
* TUTORIAL: Updated due to recenter-top-bottom
-------- ChangeLog Entries from lib-src/ChangeLog --------
2013-01-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.33 "horseradish" is released.
-------- ChangeLog Entries from lisp/ChangeLog --------
2013-01-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.33 "horseradish" is released.
2012-12-28 Byrel Mitchell <byrel.mitchell(a)gmail.com>
* menubar.el (check-menu-syntax): Implement :active in submenu specs.
2012-08-03 Stephen J. Turnbull <stephen(a)xemacs.org>
* menubar-items.el (default-menubar): Reorganize.
Add PROBLEMS to toplevel.
New "More about XEmacs" submenu for NEWS, licensing, etc.
New "Recent History" menu for messages, lossage, etc.
Get rid of ugly and unexpressive ellipses.
2012-12-14 Mats Lidell <matsl(a)xemacs.org>
* register.el (describe-register-1): Fix erroneous regular
expression. Thank you Stephen Turnbull.
2012-11-06 Aidan Kehoe <kehoea(a)parhasard.net>
* cl-macs.el (equal, member, assoc, rassoc):
Never error at compile time in these compiler macros because of an
incorrect number of arguments.
2012-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
* help.el:
* help.el (describe-function-1):
Add some newlines here when dealing with remapped commands, thank
you Robert Pluim.
2012-10-13 Mats Lidell <matsl(a)xemacs.org>
* process.el (call-process-shell-command): New function from GNU.
2012-09-18 Mats Lidell <matsl(a)xemacs.org>
* window-xemacs.el (recenter-positions): New defcustom.
(recenter-top-bottom): New command.
(recenter-last-op): New defvar.
* replace.el (perform-replace): Let-bind recenter-last-op to nil.
For def=recenter, replace `recenter' with `recenter-top-bottom'
that is called with `this-command' and `last-command' let-bound to
`recenter-top-bottom'. When the last `def' was not `recenter',
set `recenter-last-op' to nil.
* keydefs.el (global-map): Make recenter-top-bottom new default
for C-l.
2012-09-08 Aidan Kehoe <kehoea(a)parhasard.net>
* simple.el:
* simple.el (delete-trailing-lines): New.
* simple.el (delete-trailing-whitespace): New.
Import this function and an associated variable from GNU, thank
you GNU.
Update its interactive spec to work correctly in XEmacs.
2012-09-07 Aidan Kehoe <kehoea(a)parhasard.net>
* files.el:
* files.el (find-coding-system-magic-cookie-in-file):
Removed. Move this to C, so we can use
look_for_coding_system_magic_cookie().
2012-09-02 Aidan Kehoe <kehoea(a)parhasard.net>
* help.el (describe-function-1):
Document any command remapping that has been done in this function.
-------- ChangeLog Entries from lwlib/ChangeLog --------
2013-01-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.33 "horseradish" is released.
-------- ChangeLog Entries from man/ChangeLog --------
2013-01-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.33 "horseradish" is released.
2013-01-02 Vin Shelton <acs(a)xemacs.org>
* lispref/menus.texi (Creating Menu Accelerators): Clarify that
the menu accelerator must be lowercase.
2012-12-28 Stephen J. Turnbull <stephen(a)xemacs.org>
* xemacs/programs.texi (Defuns): Improve description of `mark-defun'.
Thanks to Steven Mitchell for the suggestion.
2012-12-28 Byrel Mitchell <byrel.mitchell(a)gmail.com>
* lispref/menus.texi (Menu Format):
Document use of :active in submenu specs.
2012-12-28 Stephen J. Turnbull <stephen(a)xemacs.org>
* internals/internals.texi (Mercurial Basics):
Update references to repository to reflect current reality.
2012-12-28 Byrel Mitchell <byrel.mitchell(a)gmail.com>
* lispref/menus.texi (Creating Menu Accelerators): Typo fix.
2012-10-13 Mats Lidell <matsl(a)xemacs.org>
* lispref/processes.texi (Synchronous Processes): New function
call-process-shell-command.
2012-09-18 Mats Lidell <matsl(a)xemacs.org>
* lispref/windows.texi (Vertical Scrolling): Added
recenter-top-bottom and recenter-positions
* xemacs/display.texi (Display): Rearranged and added
documentation due to new function recenter-top-bottom.
2012-08-06 Aidan Kehoe <kehoea(a)parhasard.net>
* lispref/symbols.texi (Symbol Components):
Document the new syntax of ## for the symbol with name "" interned
in obarray.
2012-09-02 Aidan Kehoe <kehoea(a)parhasard.net>
* lispref/keymaps.texi (Keymaps):
* lispref/keymaps.texi (Changing Key Bindings):
* lispref/keymaps.texi (Scanning Keymaps):
* lispref/keymaps.texi (Remapping commands):
* lispref/keymaps.texi (XEmacs): New.
* lispref/keymaps.texi (Other Keymap Functions):
Document the new command remapping functionality in this file.
-------- ChangeLog Entries from modules/ChangeLog --------
2013-01-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.33 "horseradish" is released.
2012-10-15 Mats Lidell <matsl(a)xemacs.org>
* common/Makefile.common (distclean): Don't delete configure.
-------- ChangeLog Entries from nt/ChangeLog --------
2013-01-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.33 "horseradish" is released.
-------- ChangeLog Entries from src/ChangeLog --------
2013-01-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.33 "horseradish" is released.
2012-12-24 Stephen J. Turnbull <stephen(a)xemacs.org>
(Fself_insert_command): Oops, Aidan renamed make_int to make_fixnum.
Adjust my patch to match. Thank you, Mr. Buildbot (and matsl! :-)
2012-12-24 Stephen J. Turnbull <stephen(a)xemacs.org>
* cmds.c (Fself_insert_command):
Allow noninteractive call with null argument.
2012-12-24 Stephen J. Turnbull <stephen(a)xemacs.org>
Based on patch by Benson and Steven Mitchell on XEmacs Beta
<50D16FF7.4090708(a)bnin.net>.
* sequence.c (venn): Fix bug in handling null arguments.
Add null set short circuits, conditional on caller is `subsetp'.
2012-10-18 Stephen J. Turnbull <stephen(a)xemacs.org>
* fontcolor-xlike-inc.c (xft_find_charset_font):
Improve charset not in table warning message.
2012-11-06 Aidan Kehoe <kehoea(a)parhasard.net>
* keymap.c (define_key_check_and_coerce_keysym):
When worrying about GNU Emacs-like keysym syntax, if the symbol
name starts with c-whatever (or s-whatever, or m-whatever), check
for a function binding for that before erroring. Otherwise command
remapping and C mode interact badly, since most of the C mode
commands are regarded as GNU Emacs-style keysyms.
2012-11-06 Aidan Kehoe <kehoea(a)parhasard.net>
* keymap.c (event_binding):
Do command remapping here for interactive lookups; avoids a
relatively expensive repeated call to get_relevant_keymaps(), as
was necessary in 7371081ce8f7 (which changeset has been backed
out).
2012-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
Respect face and display table information in the minibuffer
prompt. Thanks for the bug report, Nelson Ferreira!
* redisplay.c (struct prop_block):
Add entries representing the minibuffer prompt explicitly to the
union here.
* redisplay.c (add_propagation_runes):
Respect the face and the display table for the minibuffer prompt
here.
* redisplay.c (regenerate_window):
Use the new union members when passing the minibuffer prompt info
to add_propagation_runes().
2012-09-16 Aidan Kehoe <kehoea(a)parhasard.net>
* editfns.c (Fformat_time_string):
Accept GNU's UNIVERSAL argument, which means we call gmtime()
instead of localtime(). Thanks for the report of org-mode
incompatibility, Matsl!
2012-09-07 Aidan Kehoe <kehoea(a)parhasard.net>
* file-coding.c:
* file-coding.c (snarf_coding_system):
Take a new parameter, FIND_CODING_SYSTEM_P, which indicates that
find_coding_system() should be called.
* file-coding.c (look_for_coding_system_magic_cookie):
* file-coding.c (determine_real_coding_system):
* file-coding.c (undecided_convert):
Use this parameter.
* file-coding.c (Ffind_coding_system_magic_cookie_in_file):
New, moved from files.el, so we can use
look_for_coding_system_magic_cookie's implementation.
* file-coding.c (syms_of_file_coding):
Make Ffind_coding_system_magic_cookie_in_file available.
2012-09-05 Aidan Kehoe <kehoea(a)parhasard.net>
* keymap.c:
* keymap.c (Fdefine_key):
* keymap.c (remap_command):
* keymap.c (Fremap_command):
Don't sanity-check commands to be remapped with the (define-key
KEYMAP [remap COMMAND1] COMMAND2) syntax, for better compatibility
with GNU Emacs. Thank you Robert Pluim!
2012-09-02 Aidan Kehoe <kehoea(a)parhasard.net>
* regex.c (re_search_2):
* regex.c (re_match_2):
If the mirror syntax table is dirty, update it before the search,
preventing a malloc() inside the search code, something which
isn't allowed. Thank you Henry Thompson!
2012-08-12 Aidan Kehoe <kehoea(a)parhasard.net>
* specifier.c (define_specifier_tag):
GC protect the list that Fcharset_list () gave back, it's freshly
consed.
Clear the alist entries for this tag in CHARSET's tag list if the
charset_predicate is nil, so re-creating a charset tag works more
effectively.
* specifier.c (Fdefine_specifier_tag):
Device-type-specific tags *are* available, even if that device
type isn't; see specifier.el.
2012-08-06 Aidan Kehoe <kehoea(a)parhasard.net>
* lread.c (read1):
* print.c (print_symbol):
Adopt GNU's ## syntax for the interned symbol with the zero-length
name.
2012-09-02 Aidan Kehoe <kehoea(a)parhasard.net>
* keymap.c:
Add command remapping, a more robust equivalent to
#'substitute-key-definition.
* keymap.c (CHECK_REMAPPING_POSITION): New.
* keymap.c (keymap_equal): Correct a comment here.
* keymap.c (Fdefine_key): Document the command remapping syntax.
* keymap.c (Fremap_command): New.
* keymap.c (command_remapping): New.
* keymap.c (Fcommand_remapping): New.
* keymap.c (commands_remapped_to_mapper): New.
* keymap.c (commands_remapped_to_traverser): New.
* keymap.c (Fcommands_remapped_to): New.
* keymap.c (get_relevant_keymaps): Take a new POSITION argument.
* keymap.c (Fcurrent_keymaps, event_binding):
Supply the new POSITION argument to get_relevant_keymaps.
* keymap.c (Fkey_binding):
Add new arguments, NO-REMAP and POSITION.
* keymap.c (map_keymap_mapper):
* keymap.c (Fwhere_is_internal):
* keymap.c (where_is_to_char):
* keymap.c (where_is_recursive_mapper):
Don't expose the key remapping in these functions. This conflicts
with GNU, but is more sane for our callers. Access to command
remapping is with the functions #'command-remapping,
#'commands-remapped-to, and #'remap-command, not with the general
keymap functions, apart from the compatibility hack in #'define-key.
* keymap.c (syms_of_keymap):
* keymap.c (vars_of_keymap):
* keymap.c (complex_vars_of_keymap):
* lisp.h: New CHECK_COMMAND macro.
-------- ChangeLog Entries from tests/ChangeLog --------
2013-01-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.33 "horseradish" is released.
2012-12-19 Stephen J. Turnbull <stephen(a)xemacs.org>
* automated/lisp-tests.el: Add tests of #'subsetp.
Thanks Steven and Benson Mitchell <smitchell(a)bnin.net>.
2012-12-14 Mats Lidell <matsl(a)xemacs.org>
* automated/register-tests.el: New. Test for register.el. Test
case for bug in regular expression in describe-register-1
2012-10-13 Mats Lidell <matsl(a)xemacs.org>
* automated/process-tests.el: Simple test cases for
call-process-shell-command.
2012-09-02 Aidan Kehoe <kehoea(a)parhasard.net>
* automated/regexp-tests.el:
Make sure we can search for character ranges successfully when the
syntax table is dirty.
2012-09-02 Aidan Kehoe <kehoea(a)parhasard.net>
* automated/keymap-tests.el:
Test the new command remapping functionality.
--
Graduate School of Systems and Information Engineering University of Tsukuba
http://turnbull.sk.tsukuba.ac.jp Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta
On Fri, Dec 28, 2012 at 11:19 PM, Stephen J. Turnbull
<stephen(a)xemacs.org> wrote:
> So the algorithm would go something like
>
> (1) process a command item spec as currently done
> (2) if no :included keyword was present, check for commandp of the
> specified "command".
> if this test succeeds, add the item to the menu being built
> otherwise, if menu-developer-p is non-nil, log a warning,
> and do not add the item to the menu
This much can be done with current infrastructure. It occurred to me
that this could also be done at insertion time into the menu. Just add
an actual :included to items (vectors) with symbol callbacks. That
way, it's obvious to anyone hacking the menu that default :included
values are now being inserted.
I did this (patch attached), though it turned out to be a bit more
complicated than that. Items in the deprecated ["Name" callback
active-p suffix] form (without keys) won't accept additional keywords.
So I also added a preprocessing step to add keywords to such items.
This insertion-time modification might break something, if it depended
on the internal format of menu-items it had already added to the menu.
I don't know of anything that does this, and it seems to work fine so
far here, but it's a possibility. I'm not sure if this, or implicitly
doing it at menu-load time is better.
> (3) if no :active keyword was present, check whether any of the active
> modes provided the command
> if this test succeeds, activate the command in the menu
> otherwise, if menu-developer-p is non-nil, log a warning,
> and deactivate the item
>
...
> The test in (3) probably requires additional infrastructure.
This would be quite nice, but would require all modes to declare their
commands. Maybe this could be grabbed from the auto-load cookies? I
expect commands are usually autoloaded. But using autoload cookies
would require assuming that all commands in a file are specifically
meaningful in the mode defined in that file.
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta
Hello
I would not really say I solved the customize problem,
however I found out which configure option does cause the
problem.
It is the evil --with-toolbars option
My original options were
./configure --with-mule --with-widgets
--with-athena=3d --with-toolbars --with-xpm --with-xface
--with-database=berkdb --with-error-checking=none
--with-debug=yes --with-xim=xlib
When I changed to
./configure --with-mule --with-widgets
--with-athena=3d --with-xpm --with-xface
--with-database=berkdb --with-error-checking=none
--with-debug=yes --with-xim=xlib
Customize worked as expected. I leave it to the experts to
analyse my findings.
Uwe Brauer
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta
We are working on adding some changes to the menu to work with registers.
We have the code done, and it works in one buffer. (maybe one window?)
In any case, when you copy some stuff to registers, then change buffers,
the
menu returns to the default, without our changes.
So if you then want to paste in a register, the new menu items are not
there.
How do you do two things:
1. add your changes to other buffers already open?
2. add your changes so new buffers have them in it.
We have been modifying current-menubar, and not default-menubar.
Default-menubar is the factory originals on startup, right?
If so, I can see modifying that for new buffers, but not for existing
ones, or
am I thinking wrong on that?
Steve Mitchell
Does anybody know this? Or know where to point me to find it out?
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta
-------- Original Message --------
Subject: Re: [Q21.4] XEmacs crashes and patch
Date: Wed, 02 Jan 2013 16:10:54 -0500
From: steven Mitchell <smitchel(a)bnin.net>
To: Vin Shelton <acs(a)alumni.princeton.edu>
On 01/02/2013 01:08 PM, Vin Shelton wrote:
> Dear Steven, Benson and Byrel -
>
> On Wed, Dec 26, 2012 at 11:50 AM, Benson Mitchell
> <benson.mitchell+xemacs(a)gmail.com> wrote:
>> On Sat, Dec 22, 2012 at 9:12 PM, steven Mitchell <smitchel(a)bnin.net> wrote:
>>> whenever you put a nil value with a keyword in a menu, add-submenu would
>>> corrupt the menu structure, so that the next time the menu was accessed,
>>> it would crash (this is in Xwindows; crash was that XEmacs to just totally
>>> closed and went away.
>>>
This was slightly wrong; the corruption occurs when you try to add an
item to a menu with a nil value.
> Do you have a better test case that exhibits the behavior?
Try:
(progn
(add-submenu '("Test Toplevel") '("Test Parent" :included nil ["1"
(insert "1")]))
(add-submenu '("Test Toplevel" "Test Parent") '("Test Child" ["1"
(insert "1")]))
(assoc "Test Toplevel" current-menubar))
The second add-submenu will corrupt the menu structure. (Note that the
second menu is added right before the nil, instead of at the end of the
first menu.) This will trigger a crash the next time the menus are accessed.
Note that this is a fairly useless construction; I only found the bug by
forgetting to quote my :included predicate (which returned nil at
insertion-time.) It isn't a big deal to normal running, but really
impedes debugging errors like that. (Restarting XEmacs gets old fast!)
Best,
Byrel Mitchell
>
> Thanks!
>
> Vin Shelton
>
>
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta
Original thread on XEmacs Patches, moving this discussion to XEmacs
Beta to get a broader audience (and hopefully more comments).
Reshuffled to save the tl;dr comments for last. ;-)
Vin Shelton writes:
> I have attached patches for both 21.4 and 21.5 to address these
> thoughts. I will commit them soon unless there is further discussion.
+1. You need not wait for the outcome of the discussion below to be
resolved. As far as I'm concerned, your patch is a clear improvement
over current.
> There remains a bug with the accelerator code - even though the
> accelerator for "One" is "1", I notice that the initial "O" is
> underlined.
Yes. Maybe the right thing to do is to use the code for displaying
accelerators for auto-generated menus when the :accelerator key is
used in a menu item. This might require refactoring that code.
> Since there already is a top-level "t" menu (Tools), I think it's
> probably clearer to bind the top-level menu to "s". This will also
> show that accelerators don't have to be initial characters and can be
> embedded inside strings.
>
> The accelerator for "Two" is the lowercase, not uppercase, "t", so I
> tried to make that clear.
This isn't mentioned anywhere in the 21.5 version of menu.texi that I
can see. In fact, the actual behavior is confusing. By using the
:accelerator keyword, you can set the accelerator key to uppercase
letters (I tested "O"), and you can set the accelerator key inline
using the "%_" format character to shifted punctuation (I tested "#").
The case-folding behavior is not restricted to initial characters.
Here's the test menu:
(add-submenu nil '("%_Test"
["One" (insert "1") :accelerator ?O :active t]
["T%_WO" (insert "2")]
["%_#3" (insert "3")]))2
So I would guess a paragraph something like
The keystrokes used to activate an accelerated item must be
graphic characters. As a convenience for both programmers and
users, alphabetic keys declared using the "%_" format sequence in
the item name string are case-folded to lowercase by the menu
creation code. It is possible to set an uppercase accelerator by
use of the :accelerator key, but there is no way to distinguish
between uppercase accelerators and lowercase accelerators by
looking at the displayed menu. Therefore, uppercase accelerator
keys are best avoided.
should be added just above the menu in node "Menu Accelerators" of
menu.texi. Discussion of both content and location welcome.
I also note that man/xemacs/menus.texi doesn't mention accelerators at
all. Patches welcome. It also contains a section on using Lisp to
customize menus that seems out of place, but this probably should be
discussed before replacing it with a pointer to LispRef or anything
like that.
Steve
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta