|
|||||||||||||||||
Searching XEmacs
Quick Links
About XEmacs
|
XEmacs 21.5.35 "kohlrabi" is releasedgoto announcement, summary, changes
From: "Aidan Kehoe" <kehoea@parhasard.net>
Subject: XEmacs 21.5.35 "kohlrabi" is released.
Organization: The XEmacs Project
* XEmacs 21.5.35 "kohlrabi" is released.
"kohlrabi" is the thirty-sixth in the VEGETABLE series.
This release is the first beta release since 2013. The most important change
included is a merge of Ben Wing’s work providing Unicode as an internal
format. The bulk of this work was done coming up to 2010 and it was merged to
the trunk in 2016. To enable it, pass --with-mule
--with-unicode-internal as arguments to the configure
script.
Important other changes are Jeff Sparke’s work updating the GTK support to
handle GTK3, Jerry James’ work to add transport level security (TLS, including
SSL) support to the network code, Aidan Kehoe’s to improve algorithmic
complexity problems related to use of character positions in C code, Jaakko
Salomaa’s work to support the OpenSSL bignum implementation, work from
multiple people to have XEmacs build on 64-bit Windows.
Changes to improve maintainability include removal of support for Windows
95/98/ME, removal of support for unexec, removal of support for
incremental garbage collection (slower, more memory-intensive, and buggier
than the alternative), removal of support for non-KKCC memory descriptions
(KKCC was done as part of the incremental GC work, but is stable, fast and
reliable), removal of several redundant C-level hash table implementations,
moving many non-hotspot functions from C to Lisp.
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.35 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.
Also, if you don't have the packages yet, see
http://www.xemacs.org/Documentation/packageGuide.html.
Mercurial repository:
https://foss.heptapod.net/xemacs/xemacs
This is a read-only Mercurial repository. To check out XEmacs 21.5.35,
use the command
hg clone -r r21-5-35 https://foss.heptapod.net/xemacs/xemacs
to create a new Mercurial workspace, or
hg pull -u -r r21-5-35
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 .
Changes in XEmacs 21.5.35 "kohlrabi"goto announcement, summary, changes Major Features, Bugfixes, and Backward Incompatible Changes
User-Visible Bug Fixes and Improvements
Build Infrastructure and Source Tree
Documentation
Lisp API
Internal API and Implementation
Testing and Debugging
ChangeLogs for XEmacs 21.5.35 "kohlrabi"goto announcement, summary, changes
ChangeLog Entries from ChangeLoggoto announcement, summary, changes
2023-05-13 Aidan Kehoe <kehoea@parhasard.net>
* XEmacs 21.5.35 "kohlrabi" is released.
2022-12-24 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac: Revise Mats' change of 8dac3e59da3f to avoid
extended regular expressions, not guaranteed to work with sed(1),
and not necessary.
Mats' change allowed for patch numbers in makeinfo(1)'s version
output, as does this.
* configure: Regenerate.
2022-10-28 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* configure.ac:
In my previous change, the preprocessor detection of a Canna version
that uses the CANNA_NEW_WCHAR_AWARE preprocessor define was broken with
preprocessors that split the result of two tokens in the same line to
two lines. Use the standard C preprocessor substitution and
concatenation to make the test robust.
In operating systems where the standard headers define _WCHAR_T,
autodetecting Canna's RK.h fails unless CANNA_NEW_WCHAR_AWARE is
defined. Split the header detection to check the requirement from
jrkanji.h and then use the result to detect RK.h.
2022-10-25 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* configure.ac:
Canna detection was attempting to use an environment variable,
$ac_header_compiler, to deduce the result of simple header checks. It
might have worked in some previous version of autoconf, but not
anymore, resulting in the detection being non-functional. Also I'm not
sure what the check for -DCANNA_NEW_WCHAR_AWARE tried to do, since I
tested the Canna versions previous to where that flag was introduced,
and as far as I can tell, the test has never worked. U WOT M8.
Rewrite the detection. Make configure error out if Canna was requested
explicitly with --with-canna and detection didn't pan out.
* configure: Renegerate.
2022-07-31 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* configure.ac:
$with_infopath was written as $with_info_path, causing the config
flag --with-infopath to generate an empty define for PATH_INFOPATH
for src/paths.h. Fix.
* configure: Renegerate.
2022-07-24 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* configure.ac:
Remove the check for a Cygwin sscanf() bug. It was encountered by Ben
Wing in 2004, and is fixed nowadays.
* configure: Regenerate.
* Makefile.in.in:
Tiny change unrelated to the Unicode mapping: Fix the checking of
test ! -d $${dir} for mkdir $(DESTDIR)$${dir} to
test ! -d $(DESTDIR)$${dir}.
2022-07-10 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* configure.ac:
Add detection from Free/Net/OpenBSD libkvm's for the memory usage API.
Add the POSIXly correct -Wl,-R option to the tested list of compiler-
to-linker passthrough parameters. Thanks to nbhauke for pointing to
this.
* configure: Regenerate.
2022-07-08 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* configure.ac:
Add Solaris >= 10 _XOPEN_SOURCE=600 define so that sys/feature_test.h
doesn't choke on C99 mode. See
https://docs.oracle.com/cd/E88353_01/html/E37853/xpg6-7.html for
details.
Fix /usr/ucbinclude in known include paths, add /usr/sfw/include to
them.
Improve libmp type detection.
* configure: Regenerate
2022-06-30 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* configure.ac: Fix the PostgreSQL header detection.
* configure: Regenerate.
2022-06-19 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* configure.ac:
Fix the broken linker -R flag detection under BSD.
Generalize the include directory detection mechanism, broadening the
FreeType detection while at it.
Fix a pattern of incorrect "test_command; if test "$?"; then ...; fi"
usage that made configure quite unreliable.
Remove the hardcoded pkg-config dependency that caused configure error
messages and compile errors with the assumption that a non-existent
pkg config yielded a working "--libs". Make all call sites that
actually require pkg-config fail-fast autodetection instead of giving
false positives that crash builds. This also fixes ncurses support in
systems without pkg-config.
* configure.ac (XE_PROTECT_LINKER_FLAGS):
Fix LLVM compilation by making XE_PROTECT_LINKER_FLAGS() recognize
-f flags for CLANG like -fstack-protector-strong and not pass them to
the linker with -Xlinker.
* configure.ac (XE_ADD_TO_LIST):
New macro, adds an entry if it isn't already in an environment var.
* configure.ac (XE_TLS_TEST):
* configure.ac (XE_LOCATE_NSS):
Revamp completely the TLS detection mechanism so that it now actually
works with and without pkg-config.
* configure: Regenerate.
2022-06-16 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac: Don't check for intptr_t, not needed.
* configure: Regenerate.
2022-05-18 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* configure.ac:
Add --with-bignum=openssl for the OpenSSL bignum driver.
* configure: Regenerate.
2021-10-27 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac:
We have removed support for the old GC mark algorithms, and so
--with-kkcc is no longer needed, since it is the default.
* configure: Regenerate.
2021-10-27 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac:
Remove support for unexec from configure.ac, which means no longer
any need for --with-pdump, it is the default.
* configure: Regenerate.
2021-10-27 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac (AC_LANG):
* configure.ac (XE_COMPLEX_ARG):
* configure.ac (TAB):
* configure.ac (CPP_MAKEFILE):
Run autoupdate on configure.ac, take its advice regarding the lack
of a need to #define STDC_HEADERS, the lack of a need for a
RETSIGTYPE #define, the lack of a need for a TIME_WITH_SYS_TIME
#define that is distinct from HAVE_SYS_TIME_H.
* configure: Regenerate.
2021-10-23 Aidan Kehoe <kehoea@parhasard.net>
* configure: Regenerate.
* configure.ac (XE_COMPLEX_ARG):
* configure.ac (TAB):
Remove support for --with-newgc from this file, it is slower, more
unstable, and uses more memory than the old GC.
2021-09-09 Aidan Kehoe <kehoea@parhasard.net>
* README (Note):
Update a link in this file, now Bitbucket support for Mercurial is
no longer extant. Thank you J Lewis Muir on Heptapod!
2021-01-01 Henry S. Thompson <ht@home.hst.name>
* configure.ac: make explicit --with-ncurses work again
--with-ncurses stopped working as a result of the 2020-03-29
change that made it unnecessary, fixed.
* configure: Regenerate.
2020-11-25 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac: Check for strsignal().
Only in its absence check for sys_siglist, which recent glibc no
longer provides given its lack of thread safety.
* configure: Regenerate.
2020-03-29 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac:
Use pkg-info if available to determine the linked libraries
necessary for ncurses, thank you Mats Lidell.
* configure: Regenerate.
2018-11-01 Jerry James <james@xemacs.org>
* configure.ac: OPENSSL_init_crypto is gone; check for
OPENSSL_init_ssl instead.
* configure: Regenerate.
2018-04-10 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac (TAB):
No longer check for wcwidth().
2017-11-23 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac:
Don't just take the first link-time option to disable ASLR that
links, check that it actually disables ASLR (in the same way we
checked for ASLR in the first place) before choosing it. Thank
you for the bug report, Stephen Turnbull.
* configure: Regenerate.
2017-11-23 Stephen J. Turnbull <stephen@xemacs.org>
* configure.ac (Disable ASLR): Output $no_pie in AC_MSG_RESULT.
* configure: Regenerate.
2017-11-23 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac (XE_COMPLEX_ARG):
Make a HAVE_GLIBC #define available, turns out autoconf is too
enthusiastic about _GNU_SOURCE, #defining it even on non-glibc
systems.
Accept MAP_ANON, a BSDism, as an alias for MAP_ANONYMOUS here.
Be careful not to redefine an existing definition for MAP_ANONYMOUS
Remove a caddr_t variable, this type is long obsolete and the
variable was unused.
* configure: Regenerate.
2017-11-23 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac (XE_COMPLEX_ARG):
Remove gmalloc.c, remove the configure line options
--with-dlmalloc, --with-system-malloc, --with-debug-malloc. Always
use the system malloc. Autodetect __after_morecore_hook, use it
for our memory-full warning if available, otherwise ignore it.
Use mcheck.h if ERROR_CHECK_MALLOC is defined, as we had planned
for years pending its maturity.
* configure.ac (have_libmcheck): Make this available.
* configure: Regenerate.
2017-11-15 Aidan Kehoe <kehoea@parhasard.net>
* configure: Regenerate.
* configure.ac:
Take a more general approach to checking for ASLR; check for the
technique itself initially, don't just examine the operating
system or the compile-time #defines. Then to work around it try a
list of techniques, using the first one that compiles.
This may bring an end to the XEmacs tradition of a single-line
configure.ac commit every time a new Mac OS version is released.
2017-11-14 Aidan Kehoe <kehoea@parhasard.net>
* configure: Regenerate.
* configure.ac:
Detect and disable ASLR on Linux as well as on Darwin, it doesn't
work with our approach to dumping.
Limit this to the main xemacs binary, not movemail, gnuclient and so
on.
2017-11-07 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac (XE_COMPLEX_ARG):
Document that we default to the system malloc.
* configure.ac:
Implement this. Use src/gmalloc.c if --with-system-malloc=no was
supplied, otherwise use the system malloc.
Document that the right next step is to remove src/gmalloc.c, and
to use __after_morecore_hook and malloc_set_state if those are
available in the system malloc, not otherwise.
* configure:
Regenerate.
2017-03-13 Aidan Kehoe <kehoea@parhasard.net>
* ChangeLog:
Update mid.gmane.org to mid.xemacs.org. We miss you, Gmane.
2016-12-27 Aidan Kehoe <kehoea@parhasard.net>
* configure:
Regenerate for the GTK branch.
2017-01-23 Jeff Sparkes <jsparkes@gmail.com>
* configure.ac (HAVE_XFACE): giflib 5.0 removed a function we
were checking for.
* configure: Rebuild.
2017-03-15 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac:
Don't #define _BSD_SOURCE or _SVID_SOURCE on glibc, even if xmkmf
asks us to. Silences a warning on Linux. Thank you Mats Lidell.
* configure: Regenerate.
2016-11-05 Michael Sperber <mike@xemacs.org>
* configure.ac: Disable ASLR on macOS Sierra..
* configure: Rebuild.
2016-10-13 Jerry James <james@xemacs.org>
* configure.ac: Fix OpenSSL detection for versions >= 1.1.0.
* configure: Regenerate.
2016-09-26 Aidan Kehoe <kehoea@parhasard.net>
* src/doprnt.c (doprnt_2): Increase the complexity of this
function, handle flags as appropriate for rationals (not just
strings). We don't take rationals as arguments just yet, this is
an incremental change.
2015-10-28 Marcus Crestani <crestani@xemacs.org>
* configure.ac: Disable ASLR on El Capitan.
* configure: Rebuild.
2015-05-05 Stephen J. Turnbull <stephen@xemacs.org>
* configure.ac (Installation): Report all compiler switches.
* configure: Regenerate.
2015-05-05 Stephen J. Turnbull <stephen@xemacs.org>
* configure.ac (XE_EXPAND_VARIABLE):
(CPP_to_sh):
(CPP_boolean_to_sh):
(COLON_TO_SPACE_WARN):
Collect with other macro definitions.
* configure: Regenerate.
2015-05-05 Stephen J. Turnbull <stephen@xemacs.org>
* configure.ac (PostgreSQL): Fix shell syntax error.
* configure: Regenerate.
2015-05-04 Stephen J. Turnbull <stephen@xemacs.org>
* configure.ac (PostgreSQL): Allow specification of subdir.
Add most recent versioned directories for multiversion
installations (eg, MacPorts.
* configure: Regenerate.
2015-04-09 Aidan Kehoe <kehoea@parhasard.net>
* configure.ac:
If X509_check_host() is available, check the number of arguments
it takes. Don't use it if it takes any number of arguments other
than five. Also don't use it if <openssl/x509v3.h> does not
declare it, since if that is so there is no portable way to tell
how many arguments it should take, and so we would end up smashing
the stack.
* configure: Regenerate.
2015-03-26 Vin Shelton <acs@xemacs.org>
* configure.ac: Recognize and support 64-bit cygwin, thanks to
Henry S. Thompson <ht@inf.ed.ac.uk>.
* configure: Regenerated.
2015-02-28 Mike Kupfer <mike.kupfer@xemacs.org>
* README: fix note about which Bitbucket repository to push to.
2015-03-19 Stephen J. Turnbull <stephen@xemacs.org>
* configure.ac (TLS): Prevent unintended fall-through to OpenSSL.
* configure: Rebuild.
2015-01-11 Stephen J. Turnbull <stephen@xemacs.org>
* configure.ac (Xft): Remove dupes from pkg-config --cflags.
2015-01-10 Stephen J. Turnbull <stephen@xemacs.org>
* configure.ac (Postgresql): Improve Installation text.
* configure: Rebuild.
2015-01-08 Stephen J. Turnbull <stephen@xemacs.org>
Fix progress bar crashes.
Thanks to Ralf Soergel for diagnosis and a patch.
* configure.ac (Athena widgets):
Test for "international" resource in SimpleWidgetClass in libXaw3d.
* configure: Rebuild.
2014-12-20 Jeff Sparkes <jsparkes@gmail.com>
* configure.ac: Remove obsolete gdk_imlib check.
2014-11-09 Jeff Sparkes <jsparkes@gmail.com>
* configure.ac (HAVE_GNUTLS): Add SSL/TLS libraries to $LIBS, not
$LDFLAGS.
2014-10-10 Marcus Crestani <crestani@xemacs.org>
* configure.ac: Disable ASLR on Yosemite.
* configure: Rebuild.
2014-10-09 Jerry James <james@xemacs.org>
* configure.ac: Check for TLS headers as well as libraries.
2014-10-07 Jerry James <james@xemacs.org>
* configure.ac: Add TLS support.
2014-02-11 Jerry James <james@xemacs.org>
* .hgignore: Add man/Makefile.
2013-11-19 Jeff Sparkes <jsparkes@gmail.com>
* configure.ac: Add support for --with-gtk=2 and --with-gtk=3 to
build with a specific major version.
* configure: Regenerate.
2013-11-15 Jeff Sparkes <jsparkes@gmail.com>
* configure.ac: Output exact GTK version.
Simplify version checking code.
Check for GTK 3.X first, then 2.X.
(HAVE_GTK2): Remove incorrect second setting.
* configure: Regenerate.
2013-10-28 Marcus Crestani <crestani@xemacs.org>
* configure.ac: Disable ASLR on Mavericks.
* configure: Rebuild.
2013-09-15 Jeff Sparkes <jsparkes@gmail.com>
* configure.ac: Force -lX11 for GTK to link XKeycodeToKeysym.
* configure: Regenerate.
2013-09-08 Marcus Crestani <crestani@xemacs.org>
* configure.ac: x86_64 Macs also use POSIX virtual-dirty-bit write
barrier.
* configure: Rebuild.
2013-07-28 Stephen J. Turnbull <stephen@xemacs.org>
* configure.ac (makeinfo):
Use basic regexp. Avoid autoconf errors on empty version strings.
Report version found if insufficient. Lightly tested.
2013-06-25 Jerry James <james@xemacs.org>
* INSTALL: Update required makeinfo version.
* Makefile.in.in: Check for usable makeinfo before invoking submake.
* configure.ac: Try to find makeinfo >= 4.12.
2013-06-23 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.5.35 "kohlrabi" is released.
2013-06-17 Jerry James <james@xemacs.org>
* configure.ac: Support bignums with MPIR.
2013-06-17 Jerry James <james@xemacs.org>
* configure.ac: Add check for mp_set_memory_functions.
2013-03-12 Jerry James <james@xemacs.org>
* config.guess: Update to latest upstream version.
* config.sub: Ditto.
* install-sh: Ditto.
2013-03-04 Jerry James <james@xemacs.org>
* configure.ac: Check for large file support.
2013-03-04 Jerry James <james@xemacs.org>
* configure.ac: Complete removal of need_modules_common, forgotten
in the previous patch.
2013-03-02 Jerry James <james@xemacs.org>
* configure.ac: Make symbolic links in src for module source files
if they are built into the executable, so they are built with the
same CFLAGS as the non-module source files.
ChangeLog Entries from etc/ChangeLoggoto announcement, summary, changes
2023-05-13 Aidan Kehoe <kehoea@parhasard.net>
* XEmacs 21.5.35 "kohlrabi" is released.
2022-10-24 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* Emacs.ad:
Specify the resolution_x and resolution_y fields for the default
fonts that have 75 and 100 DPI versions in the X.org base distribution
to prioritize the 75 DPI versions.
2017-09-30 Aidan Kehoe <kehoea@parhasard.net>
* HELLO:
Encode the IPA using ISO-IR 196 rather than our proprietary
charset, which we dropped in the process of merging the
unicode-internal support.
2017-03-13 Aidan Kehoe <kehoea@parhasard.net>
* unicode/unicode-consortium/EASTASIA/OBSOLETE/BIG5.TXT:
Update mid.gmane.org to mid.xemacs.org. We miss you, Gmane.
2015-01-25 Jeff Sparkes <jsparkes@gmail.com>
* xemacs.css: CSS styling file for Gtk 3.0.
2014-12-05 Jerry James <james@xemacs.org>
* xemacs.appdata.xml:
* xemacs.desktop:
* xemacs-icon.svg: New files for distribution packaging.
ChangeLog Entries from lib-src/ChangeLoggoto announcement, summary, changes
2023-05-13 Aidan Kehoe <kehoea@parhasard.net>
* XEmacs 21.5.35 "kohlrabi" is released.
2023-04-06 Aidan Kehoe <kehoea@parhasard.net>
* make-mswin-unicode.pl:
The W32API headers have some preprocessor directives that end up
matched by $rettype_re, remove them before further processing.
2022-07-15 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* Makefile.in.in:
Change the installation of scripts to use the command in the
INSTALL_SCRIPT variable. This fixes attempting to install the script
files with install(1)'s -s flag and failing because strip(1) doesn't
work with shell scripts.
2022-06-19 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* fakemail.c (cuserid): Fix FreeBSD compile.
2021-11-29 Aidan Kehoe <kehoea@parhasard.net>
* gnuclient.c (filename_expand):
* winclient.c (doFile):
* winclient.c (parseCommandLine):
Fix some types, silence some unused-variable warnings in these
files for the sake of clang++-8.
2021-10-27 Aidan Kehoe <kehoea@parhasard.net>
* etags.c:
* fakemail.c:
* hexl.c:
* ootags.c:
No longer check for STDC_HEADERS in these files, pre-C89 compilers
are long obsolete.
2021-10-20 Aidan Kehoe <kehoea@parhasard.net>
* make-mswin-unicode.pl:
Revise this now we have removed support for Win95/98/Me; generate
the Unicode encapsulated code as inline headers that no longer
check at runtime whether the Unicode versions of the functions
should be called. No longer generate intl-auto-encap.c.
Revise the file to better deal with the Cygwin headers and types,
in a way that is compatible with Visual Studio 8.
2021-09-09 Aidan Kehoe <kehoea@parhasard.net>
* gnuserv.c (handle_unix_request):
Update a link to a specific changeset on Heptapod here, now
Bitbucket's Mercurial support is dead.
2020-03-17 Aidan Kehoe <kehoea@parhasard.net>
* gnuclient.c:
* gnuclient.c (filename_expand):
* gnuclient.c (clean_string):
cygwin_conv_to_posix_path() has been removed, use
cygwin_conv_path() instead.
2019-03-21 Jerry James <james@xemacs.org>
* pop.c: Prevent potential buffer overflows. The size argument to
strncat() must be at most 1 less than the buffer size, to leave room
for the terminating null byte. See strncat(3).
2018-04-27 Aidan Kehoe <kehoea@parhasard.net>
* make-case-conv.py:
Remove this file, replaced by lisp/mule/make-case-conv.el
2017-11-09 Aidan Kehoe <kehoea@parhasard.net>
* make-case-conv.py:
Document why this file's approach didn't work. Slot it for deletion.
2017-09-24 Aidan Kehoe <kehoea@parhasard.net>
* b2m.c (main):
* etags.c:
* etags.c (just_read_file):
* movemail.c (main):
* ootags.c (just_read_file):
Silence a few compiler warnings in these files.
2017-03-15 Aidan Kehoe <kehoea@parhasard.net>
* make-docfile.c (scan_lisp_file):
Don't wrap the integer counter when reading the length of a #@
comment. Thank you for the tracker bug report, Hao Sun in tracker
issue 870!
2015-03-08 Aidan Kehoe <kehoea@parhasard.net>
* gnuserv.c (echo_request):
No longer close the file handle unconditionally, leave this to the
individual socket types.
* gnuserv.c (handle_internet_request):
Close the file handle here.
* gnuserv.c (handle_unix_request):
Don't close the file handle here, document why (it broke gnuclient
under OS X). It should actually be OK, but my suspicion is that
the issues is that the Unix (local) domain sockets are still
underdocumented compared to the internet sockets.
2014-12-05 Jerry James <james@xemacs.org>
* gnuserv.c (echo_request): close the socket when done
(handle_unix_request): do not call echo_request on accept failure
2014-12-05 Jerry James <james@xemacs.org>
* pop.c (socket_connection): Do not leak a socket if the POP
server's address cannot be determined.
2014-10-18 Aidan Kehoe <kehoea@parhasard.net>
* ootags.c (substitute):
Cast the result of strlen to int before comparing it with a signed
value, for the sake of compiler warnings.
ChangeLog Entries from lisp/ChangeLoggoto announcement, summary, changes
2023-05-13 Aidan Kehoe <kehoea@parhasard.net>
* XEmacs 21.5.35 "kohlrabi" is released.
2023-05-08 Aidan Kehoe <kehoea@parhasard.net>
* byte-optimize.el (byte-optimize-zerop):
Don't use #'byte-optimize-zerop incorrectly in this function, use
#'cl-safe-expr-p instead, which also checks that subforms do not
have side effects.
* byte-optimize.el (byte-optimize-side-effect-free-p):
Add a docstring to this function, all going well preventing the
above bug going forward.
2023-04-16 Aidan Kehoe <kehoea@parhasard.net>
* mule/compiled-unicode-tables.el (unicode-ignore-first-column):
* mule/compiled-unicode-tables.el (harvest-unicode-files):
* mule/compiled-unicode-tables.el (search-for-unicode-path-strings):
* mule/compiled-unicode-tables.el (match-all-unicode-files):
Revise these functions to respect directory-sep-char,
necessary for building for win32-native.
2023-01-29 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el (display-call-tree):
Don't error within this when dealing with anonymous functions.
2022-12-24 Aidan Kehoe <kehoea@parhasard.net>
* info.el (Info-find-file-node):
Info-tag-table-marker is buffer-local, and we need to
#'set-marker on the value in the original buffer, not the tag
table buffer. Avoid error with C-u F1 i ../info/lispref.info RET
with this change.
2022-12-18 Aidan Kehoe <kehoea@parhasard.net>
* compat.el:
* diagnose.el:
* dialog-gtk.el:
* dialog-items.el:
* dump-paths.el:
* font-menu.el:
* font.el:
* gdk.el:
* generic-widgets.el:
* glade.el:
* gnome-widgets.el:
* gnome.el:
* gpm.el:
* gtk-compose.el:
* gtk-extra.el:
* gtk-faces.el:
* gtk-ffi.el:
* gtk-file-dialog.el:
* gtk-init.el:
* gtk-mouse.el:
* gtk-package.el:
* gtk-password-dialog.el:
* gtk-select.el:
* gtk-widget-accessors.el:
* gtk-widgets.el:
* gtk.el:
* gutter.el:
* hash-table.el:
* help-macro.el:
* itimer.el:
* loadup-el.el:
* msw-faces.el:
* msw-init.el:
* msw-select.el:
* mule/compiled-unicode-tables.el:
* mule/general-early.el:
* mule/iso-with-esc.el:
* mule/kinsoku.el:
* mule/mule-category.el:
* mule/mule-coding.el:
* mule/mule-composite-stub.el:
* mule/mule-msw-init-late.el:
* mule/mule-win32-init.el:
* mule/windows.el:
* next-error.el:
* occur.el:
* package-net.el:
* post-gc.el:
* printer.el:
* raw-process.el:
* resize-minibuffer.el:
* term/bobcat.el:
* term/cygwin.el:
* term/linux.el:
* term/scoansi.el:
* term/tvi970.el:
* term/vt102.el:
* term/vt125.el:
* term/vt200.el:
* term/vt201.el:
* term/vt220.el:
* term/vt240.el:
* term/vt300.el:
* term/vt320.el:
* term/vt400.el:
* term/vt420.el:
* unicode.el:
* widgets-gtk.el:
Add missing ";;; FILE.el ends here" lines at the end of all these
Lisp files, a good practice that I want to encourage.
2022-11-06 Aidan Kehoe <kehoea@parhasard.net>
* info.el (Info-find-file-node):
Avoid provoking a warning when calling #'match-end in a buffer
that is distinct from the current-buffer at the time of
#'looking-at, something usually suggestive of a bug but actually
OK in this context.
2022-11-04 Aidan Kehoe <kehoea@parhasard.net>
* fill.el (fill-region-as-paragraph):
* simple.el (do-auto-fill):
If fill-column is most-positive-fixnum, (1+ fill-column) can be
negative on non-bignum builds. Avoid passing this negative number
to #'move-to-column when filling.
2022-08-31 Aidan Kehoe <kehoea@parhasard.net>
* files.el (set-auto-mode):
Use #'file-system-ignore-case-p now it is available. Remove a
comment from 2000 basically regretting that it was not available.
Switch to #'string-match-p throughout this function in passing,
reducing match data conflicts.
2022-08-31 Aidan Kehoe <kehoea@parhasard.net>
* files.el (file-relative-name):
Correct a bug introduced into this function by the last commit,
the length of the filename examined by #'mismatch should be at
most two.
Compare using #'equalp in passing for case-insensitivity,
appropriate for drive letters under Windows.
2022-08-29 Aidan Kehoe <kehoea@parhasard.net>
Deprecate #'string-equal, #'string-equal-ignore-case, encourage
use of #'equal, #'equalp instead, with or without the caller's own
type checking. Some small other changes in passing.
* build-report.el (build-report-make-output-get):
Revise this slightly, (eql (length build-report-make-output-dir)
0) is equivalent to checking it against "" and nil.
* byte-optimize.el:
* byte-optimize.el (byte-compile-side-effect-free-ops):
Remove the optimizers from #'string=, #'string-equal, now they are
marked as GNU Emacs compatible and deprecated for other uses.
* bytecomp.el:
* bytecomp.el (152): Keep the byte-defop of byte-string= for the
sake of the disassembler.
Comment out the corresponding byte-defop-compiler statements.
* cmdloop.el (yes-or-no-p-minibuf):
Use #'canoncase rather than #'downcase, as is more correct for
this use case.
* dragdrop.el (experimental-dragdrop-drop-mime-default):
Switch from string= to equal in this function, as is done
elsewhere in this changeset.
* dragdrop.el (dragdrop-is-some-url):
Revise the checking that we correspond to some METHOD to avoid
#'string-equal and to use a CL function that doesn't allocate
dynamic memory.
* find-paths.el:
* find-paths.el (paths-decode-directory-path):
Be a bit more sensible in this function, use #'mapcan instead of
(delete "" (mapcar ...)), switch to #'equal instead of
#'string-equal.
* files.el (kill-some-buffers):
Make this a bit more idiomatic, use #'dolist, avoid #'string-equal.
* obsolete.el:
* obsolete.el (string-equal): New.
* obsolete.el (string-equal-ignore-case): New.
Move the implementation of these functions here from fns.c.
* obsolete.el (canonicalize-string-equal-argument): New. Used by
the implementation of the above.
* replace.el (perform-replace):
Switch to #'canoncase from #'downcase in this function, which is
more appropriate for this use case.
* shadow.el (find-emacs-lisp-shadows):
Use #'file-name-sans-extension instead of re-implementing it.
* subr.el (string-equal-ignore-case): Removed.
* subr.el ('string=): Removed.
Move these to obsolete.el
* x-font-menu.el:
* x-font-menu.el (x-font-menu-load-font-core):
Make this a bit more idiomatic, #'return-from the function rather
than using #'catch,
* x-init.el (x-initialize-keyboard):
Use #'string-match-p in this function given the match data are not
used.
* abbrev.el (define-abbrev):
* autoload.el (generate-autoload-type-section):
* autoload.el (update-file-autoloads):
* autoload.el (update-autoload-files):
* cus-edit.el (customize-set-value):
* cus-edit.el (customize-set-variable):
* cus-edit.el (customize-save-variable):
* cus-edit.el (customize):
* cus-edit.el (customize-other-window):
* cus-edit.el (custom-browse-insert-prefix):
* cus-file.el:
* cus-file.el (make-custom-file-name):
* etags.el (visit-tags-table):
* etags.el (complete-symbol):
* etags.el (display-tag-info):
* files.el (create-file-buffer):
* files.el (find-buffer-visiting):
* files.el (find-file-noselect):
* files.el (set-visited-file-name):
* files.el (write-file):
* files.el (file-relative-name):
* files.el (delete-auto-save-file-if-necessary):
* files.el (file-newest-backup):
* files.el (rename-uniquely):
* files.el (rename-auto-save-file):
* fill.el (maybe-adapt-fill-prefix):
* fill.el (fill-region-as-paragraph):
* fill.el (justify-current-line):
* fill.el (unjustify-current-line):
* font-menu.el (font-menu-family-constructor):
* font-menu.el (font-menu-weight-constructor):
* font.el (font-spatial-to-canonical):
* font.el (x-font-create-object):
* gtk-faces.el (gtk-convert-font-slant-from-xlfd):
* gtk-faces.el (gtk-convert-font-size-from-xlfd):
* gtk-ffi.el (gtk-ffi-check-function):
* gtk-font-menu.el (gtk-reset-device-font-menus):
* gtk-font-menu.el (gtk-font-menu-load-font):
* gtk-marshal.el (define-marshaller):
* hyper-apropos.el (hyper-apropos):
* indent.el (beginning-of-line-text):
* info.el (Info-find-file-node):
* info.el (Info-follow-reference):
* info.el (Info-menu):
* isearch-mode.el (isearch-update-ring):
* ldap.el (ldap-decode-boolean):
* lisp.el (lisp-complete-symbol):
* list-mode.el (choose-completion-delete-max-match):
* make-docfile.el (done):
* minibuf.el (defun):
* minibuf.el (minibuffer-do-completion-1):
* minibuf.el (minibuffer-do-completion):
* minibuf.el (completing-read):
* minibuf.el (exit-minibuffer):
* minibuf.el (read-file-name-internal):
* minibuf.el (append-expand-filename):
* msw-font-menu.el (mswindows-font-menu-load-font):
* mule/ethio-util.el (ethio-tilde-escape):
* mule/ethio-util.el (ethio-flag-to-language):
* mule/ethio-util.el (i):
* mule/korea-util.el (quail-hangul-switch-symbol-ksc):
* mule/mule-cmds.el (activate-input-method):
* mule/mule-cmds.el (inactivate-input-method):
* mule/mule-cmds.el (describe-language-environment):
* newcomment.el (comment-normalize-vars):
* newcomment.el (comment-quote-nested):
* newcomment.el (comment-padright):
* newcomment.el (comment-padleft):
* newcomment.el (comment-region-internal):
* newcomment.el (comment-region):
* newcomment.el (comment-dwim):
* newcomment.el (comment-auto-fill-only-comments):
* occur.el (multi-occur):
* package-admin.el (package-admin-find-top-directory):
* package-get.el (package-get-interactive-package-query):
* package-get.el (package-get):
* package-get.el (package-get-info-version):
* package-get.el (package-get-info-prop):
* packages.el (packages-split-path):
* regexp-opt.el (regexp-opt-charset):
* regexp-opt.el (regexp-opt):
* simple.el:
* simple.el (delete-indentation):
* simple.el (interprogram-paste-function):
* startup.el (command-line-early):
* startup.el (load-user-init-file):
* startup.el (command-line-1):
* startup.el (splash-screen-window-body):
* subr.el (insert-face):
* view-less.el (view-search-forward):
* view-less.el (view-search-backward):
* wid-edit.el (widget-prompt-spaceify):
* wid-edit.el (widget-checklist-prompt-value):
* wid-edit.el (widget-file-complete):
* wid-edit.el (widget-color-complete):
* x-faces.el (x-color-list-internal):
* x-font-menu.el (x-reset-device-font-menus-core):
Mechanically change from #'string-equal to #'equal in these files.
2022-08-19 Aidan Kehoe <kehoea@parhasard.net>
* isearch-mode.el (isearch-fix-case):
* isearch-mode.el (isearch-complete1):
Small changes to modernize this code; call #'string-match-p
instead of wrapping #'string-match with #'save-match-data, no need
to cons up an alist to pass to #'try-completion, the latter now
accepts lists of strings without problems.
2022-08-02 Aidan Kehoe <kehoea@parhasard.net>
Abstract out the list of things to be saved and restored in
#'isearch-push-state, using #'macrolet and #'setf.
* isearch-mode.el:
* isearch-mode.el (isearch-state-places): New. Symbol macro
expanding to a list of those PLACEs to be manipulated for the
isearch state stack.
* isearch-mode.el (isearch-setf-state-places): New. Macro using
isearch-state-places, for use in isearch-top-state.
* isearch-mode.el (isearch-make-state-object): New. Macro using
isearch-state-places, for use in isearch-push-state.
* isearch-mode.el (isearch-top-state): Move within the
#'macrolet. Use #'isearch-setf-state-places.
* isearch-mode.el (isearch-pop-state): Move within the #'macrolet.
* isearch-mode.el (isearch-push-state): Move within the #'macrolet.
2022-08-04 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* setup-paths.el (paths-emacs-root-p):
* setup-paths.el (paths-find-emacs-roots):
* setup-paths.el (paths-find-site-lisp-directory):
* setup-paths.el (paths-find-site-module-directory):
* setup-paths.el (paths-find-lisp-directory):
* setup-paths.el (paths-find-mule-lisp-directory):
* setup-paths.el (paths-find-module-directory):
* setup-paths.el (paths-construct-info-path):
* setup-paths.el (paths-find-doc-directory):
* setup-paths.el (paths-find-exec-directory):
* setup-paths.el (paths-find-data-directory):
* setup-paths.el (paths-construct-data-directory-list):
Make all of these functions respect the -no-configured-paths command
line flag and disregard the configured and built in paths.
* startup.el (command-line-do-help):
Document -no-configured-paths in the command line help text.
2022-08-03 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* startup.el (startup-setup-paths):
Clean up the path debugging code by replacing all clunky
([if/when] debug-paths (princ (format "...))) invocations with code
from...
* startup.el (startup-setup-paths-debug-vars):
...this new macro that prints variable names and values one per line
in "variable name: variable value" format.
The debugging output changes a little, splitting the "this-var and
that-var\nvalue of this-var\nvalue of that-var\n" messages to easier
to read multiple lines that all start with the name of the variable.
* startup.el (startup-setup-paths-debug-dump-info):
* startup.el (startup-setup-paths-missing-emacs-roots-warning):
...and these functions that move the error and debug messaging wholly
out of #'startup-setup-paths.
Print a newline after the "Couldn't find an obvious default for the
root of the XEmacs hierarchy." message.
2022-07-29 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* mule/compiled-unicode-tables.el:
Use #'push instead of open coding with #'setq and #'cons.
2022-07-28 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* cl-macs.el (apply-partially):
Fix support for &rest lambdas.
* subr.el (apply-partially):
Use #'list* instead of #'list and #'append.
2022-07-24 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* mule/compiled-unicode-tables.el:
A new mechanism for packing the used Unicode translation tables from
etc/unicode to a compiled .elc.
At compile time, harvest from the Lisp codebase all files that could
possibly be used in etc/unicode, dump them with
unicode.c:Fdump_unicode_mapping_table() and create a search table out
of them. unicode.c:Fload_unicode_mapping_table() will then call this
file's #'set-compiled-unicode-file-search-table to make the compiled
data available to it.
* unicode.el:
* mule/latin.el:
* mule/mule-charset.el:
The mapping files under etc/unicode/unicode-consortium/ISO8859 were
renamed to make their filenames unambiguous for the Unicode table
compiler. Change these files to reflect that.
2022-07-25 Aidan Kehoe <kehoea@parhasard.net>
* wid-edit.el (widget-sublist): Removed. Equivalent to #'subseq,
but less general.
* wid-edit.el (widget-remove-if): Removed.
Usually equivalent to #'remove-if, always equivalent to (delete-if
PREDICATE (copy-sequence LIST)), not used in the XEmacs packages,
no indication to keep it.
* wid-edit.el (widget-item-match-inline): Adjust this not to use
widget-sublist, and to cons a little less.
2022-07-23 Aidan Kehoe <kehoea@parhasard.net>
* pcase.el (pcase--u1):
Suppress a warning about an unused variable bound by
#'destructuring-bind, by not binding it and modifying EXPR
appropriately.
2022-07-23 Aidan Kehoe <kehoea@parhasard.net>
* pcase.el: New. Imported from GNU, a version before the
introduction of lexical binding there.
The reasoning to put it here rather than xemacs-base is that it is
completely routine for the GNU Emacs core code to use these
macros, and as we synch our core files going forward we will need
to have it available.
The following relevant ChangeLog entries are taken from GNU's
ChangeLog.15:
2011-02-28 Juanma Barranquero <lekktu@gmail.com>
* emacs-lisp/pcase.el (pcase, pcase--u1, pcase--q1):
Fix typos in docstrings.
2011-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/pcase.el (pcase--if): Try to invert test to reduce depth.
(pcase-mutually-exclusive-predicates): New var.
(pcase--split-consp, pcase--split-pred): Use it.
(pcase--split-equal, pcase--split-member): When splitting against
a pure predicate, run it to know the outcome.
(pcase--u1): Mark vars that are actually used.
(pcase--q1): Avoid introducing unused vars.
2011-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/pcase.el (pcase--u1): Understand non-linear patterns.
2010-11-24 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/pcase.el: Improve pcase-let. Use "pcase--" prefix.
(pcase--dontcare-upats): New var.
(pcase-let, pcase-let*): Generate better code.
Accept the same bodies as `let'.
(pcase-dolist): New macro.
(pcase--trivial-upat-p): New helper function.
(pcase--expand): Strip leading "(let nil" if any.
2010-11-12 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/pcase.el (pcase-let*, pcase-let): Add debug and
indentation specs.
2010-10-29 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/pcase.el (pcase): New `string' and `guard' patterns.
(pcase-if): Add one minor optimization.
(pcase-split-equal): Rename from pcase-split-eq.
(pcase-split-member): Rename from pcase-split-memq.
(pcase-u1): Add strings to the member optimization.
Add `guard' variant of predicates.
(pcase-q1): Add string patterns.
2010-09-26 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/pcase.el (pcase-let*, pcase-let): plet -> pcase-let.
2010-09-01 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/pcase.el (pcase-split-memq):
Fix overenthusiastic optimization.
(pcase-u1): Handle the case of a lambda pred.
2010-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/pcase.el: New file.
2022-07-20 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* subr.el (apply-partially):
For a &rest argumented lambda, construct one in return in
#'apply-partially instead of returning a lambda with an empty argument
list and make it append together the pre-applied and provided &rest
arg lists.
2022-07-18 Aidan Kehoe <kehoea@parhasard.net>
* byte-optimize.el (byte-optimize-zerop):
#'numberp has a byte code, and so it's fine to transform (zerop
OBJECT) into (if (numberp OBJECT) (= OBJECT 0)
(signal 'wrong-type-argument 'number OBJECT).
This avoids correctness problems introducted by the
byte-compile-delete-errors option, revealed in
tests/automated/lisp-tests.el.
2022-07-11 Aidan Kehoe <kehoea@parhasard.net>
* update-elc.el (do-autoload-commands):
If we just need to rebuild the module autoloads, load autoload.el,
something that wasn't done before.
* update-elc.el (preloaded-file-list):
full-arg-dir was not used, remove it, thank you the byte compiler.
2022-07-09 Aidan Kehoe <kehoea@parhasard.net>
* subr.el (format):
Update the documentation of the integer length modifiers, now that
?z has been added.
2022-06-30 Aidan Kehoe <kehoea@parhasard.net>
* finder.el (finder-compile-keywords):
Correct a thinko in c6966a009d0d , insert a coding cookie that
reflects buffer-file-coding-system.
2022-06-30 Aidan Kehoe <kehoea@parhasard.net>
* update-elc.el (source-modules): New.
Document where the C source is for modules, which differs from
module-directory when --srcdir is specified. This is relevant when
deciding whether to build auto-autoloads.el for modules.
* update-elc.el (preloaded-file-list):
Use this when examining for outdatedness of auto-autoloads.el.
* update-elc.el (do-autoload-commands):
Correct the code to build the modules' auto-autoload.el, which
cannot just use batch-update-directory-autoloads, since that
doesn't recurse. Thank you Stephen Turnbull, Mats Lidell, and the
Gentoo users.
* update-elc-2.el (batch-update-elc-2):
Don't wrap errors loading the auto-autoloads for the modules, if
that fails, whatever caused it to fail should be fixed.
2022-06-27 Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp>
* update-elc-2.el (batch-update-elc-2):
Trap missing file errors for autoloads in modules. Currently
there are none, and the build process apparently doesn't produce
an empty file in this case.
2022-06-27 Aidan Kehoe <kehoea@parhasard.net>
* finder.el (finder-compile-keywords):
Don't use the save-buffer infrastructure when generating
finder-inf.el, since that leads to lock files, making parallel
builds less likely to work. Thank you Mats Lidell and the Gentoo
users!
2022-06-23 Aidan Kehoe <kehoea@parhasard.net>
* x-faces.el (:compile-toplevel):
Only (require 'fontconfig) at compile time, meaning that file is
not dumped on non-Xft builds.
2022-06-17 Aidan Kehoe <kehoea@parhasard.net>
* code-process.el:
* code-process.el (:compile-toplevel):
Silence compiler warnings about variables provided by starttls.el,
functions provided by format-spec.el.
* code-process.el (network-stream-open-starttls):
Fix a bug in this function, thank you the byte compiler
(#'make-network-process is not available on XEmacs, use
#'open-network-stream-internal instead.)
* x-faces.el (fontconfig):
Silence byte compile warnings, just (require 'fontconfig)
unconditionally, which works even if fontconfig support is not
compiled in.
2022-06-16 Aidan Kehoe <kehoea@parhasard.net>
* update-elc-2.el (batch-update-elc-2):
Remove the code to update auto-autoloads from this file.
(It was buggy (e.g. it updated mule/auto-autoloads.el and then
immediately compiled auto-autoloads.el) and caused dependency
problems.)
Load the module auto-autoloads when byte-compiling,
which we didn't previously.
* update-elc.el:
* update-elc.el (need-to-rebuild-module-autoloads): New.
* update-elc.el (need-to-recompile-module-autoloads): New.
* update-elc.el (module-directory): Make this available when
updating module auto-autoloads.
* update-elc.el (aa-modules): New.
* update-elc.el (aac-modules): New.
The path to the module auto-autoloads.el, auto-autoloads.elc
* update-elc.el
(lisp-files-ignored-when-checking-for-autoload-updating):
Add finder-inf.el to this list.
* update-elc.el (or):
Check explictly whether module/auto-autoloads.el is out of date in
this file, which we did not do previously.
* update-elc.el (do-autoload-commands):
If there are no files to be byte-compiled but auto-autoloads need
updated, do that here (using run-temacs with the byte-compiled
files) rather than signalling to update-elc-2.el using
../src/REBUILD_AUTOLOADS. This should avoid dependency problems
with massively parallel builds.
2022-03-23 Aidan Kehoe <kehoea@parhasard.net>
* custom.el:
No need to #'require widget, both it and this file are dumped, and
doing so makes the output of the dump a little more confusing.
* dumped-lisp.el (preloaded-file-list):
Move menubar, menubar-items, font-menu ahead of x-font-menu to
avoid the latter forcing load of the former.
* files.el (file-remote-p):
Use and-boundp when checking for efs-path-regexp.
* help.el (add-log-current-defun):
Use and-fboundp when calling this function, provided as an
autoload in xemacs-base.
* mule/cyrillic.el:
* mule/greek.el:
Tell the byte-compiler where to find #'setup-case-pairs in these
files.
* mule/mule-charset.el:
Tell the byte-compiler where to find #'init-windows-glyph-list-4
in this file.
* obsolete.el (define-obsolete-function-alias):
* obsolete.el (define-compatible-function-alias):
* obsolete.el (define-obsolete-variable-alias):
* obsolete.el (define-compatible-variable-alias):
Declare the WHEN argument special to avoid compiler warnings when
using these functions.
* unicode.el:
Un-obsolete #'split-char, portable to GNU and very widely used
(and not too bad of an API).
2022-03-19 Aidan Kehoe <kehoea@parhasard.net>
* apropos.el (apropos-documentation-check-doc-file):
* buff-menu.el (Buffer-menu-toggle-read-only):
* buff-menu.el (Buffer-menu-popup-menu):
* compose.el (electric-diacritic):
* cus-edit.el (custom-buffer-create-internal):
* cus-edit.el (custom-variable-value-create):
* cus-edit.el (custom-face-value-create):
* cus-edit.el (custom-group-value-create):
* files.el (insert-directory):
* finder.el (finder-insert-at-column):
* mode-motion.el (mode-motion-highlight-sexp):
* mode-motion.el (mode-motion-add-help-echo):
* mule/china-util.el (decode-hz-region):
* mule/devan-util.el (indian-to-devanagari-region):
* mule/devan-util.el (devanagari-to-indian-region):
* mule/ethio-util.el (ethio-sera-to-fidel-english):
* mule/ethio-util.el (ethio-sera-to-fidel-ethio):
* mule/ethio-util.el (ethio-process-language-flag):
* mule/ethio-util.el (ethio-tilde-escape):
* mule/ethio-util.el (ethio-convert-digit):
* mule/ethio-util.el (ethio-fidel-to-sera-buffer):
* mule/ethio-util.el (ethio-modify-vowel):
* mule/ethio-util.el (ethio-fidel-to-tex-buffer):
* mule/ethio-util.el (ethio-tex-to-fidel-buffer):
* mule/ethio-util.el (ethio-fidel-to-java-buffer):
* mule/ethio-util.el (ethio-find-file):
* mule/ethio-util.el (ethio-insert-space):
* mule/ethio-util.el (ethio-gemination):
* mule/japan-util.el (japanese-katakana-region):
* mule/japan-util.el (japanese-hiragana-region):
* mule/japan-util.el (japanese-hankaku-region):
* mule/japan-util.el (japanese-zenkaku-region):
* mule/kinsoku.el (kinsoku-process-shrink):
* mule/tibet-util.el (tibetan-compose-region):
* mule/tibet-util.el (tibetan-decompose-region):
* mule/viet-util.el (viet-encode-viqr-region):
* picture.el (move-to-column-force):
* view-less.el (cleanup-backspaces):
* wid-browse.el (widget-browse):
* wid-edit.el (widget-after-change):
* wid-edit.el (widget-default-format-handler):
* wid-edit.el (widget-checklist-add-item):
* wid-edit.el (widget-radio-add-item):
* wid-edit.el (widget-group-value-create):
Migrate #'following-char, #'preceding-char to #'char-after,
#'char-before in these files.
2022-03-19 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el:
Document that the byte-following-char, byte-preceding-char defops
are only kept around for the sake of the disassembler.
Remove the corresponding byte-defop-compiler, compile both the
functions as normal calls, so the warning that they are obsolete
comes through, and so there is no speed upside to calling them.
* obsolete.el:
* obsolete.el (following-char): New.
* obsolete.el (preceding-char): New. Move the implementations of
these functions to this file from C.
2022-03-21 Aidan Kehoe <kehoea@parhasard.net>
* loadup.el:
We can no longer just (store-match-data nil) to clear the extent
information for strings known to the search code before dumping;
pass in an extent with its SEARCH property set to DISCARD
instead.
2022-03-06 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el:
* bytecomp.el (byte-compile-default-warnings):
Disable the format-not-constant warning by default, after
discussion with Stephen Turnbull, thank you Steve.
2022-01-31 Aidan Kehoe <kehoea@parhasard.net>
#'check-type gives a clearer error message than
#'check-argument-type (it lists PLACE in the error message). It is
also better style. Prefer it in dumped Lisp except in those
places where startup dependencies make it not available.
* auto-save.el (recover-all-files):
* coding.el:
* coding.el (unencodable-char-position):
* coding.el (check-coding-systems-region):
* descr-text.el (unidata-initialize-unicodedata-database):
* descr-text.el (unidata-initialize-unihan-database):
* dialog.el (popup-dialog-box):
* events.el:
* events.el (set-character-of-keysym):
* events.el (get-character-of-keysym):
* files.el (file-system-ignore-case-p):
* gui.el (insert-gui-button):
* menubar.el (find-menu-item):
* modeline.el (add-minor-mode):
* mule/mule-category.el (define-category):
* mule/mule-category.el (undefine-category):
* mule/mule-category.el (category-doc-string):
* mule/mule-category.el (modify-category-entry):
* mule/mule-category.el (char-category-list):
* mule/mule-charset.el (set-charset-registry):
* mule/mule-charset.el (charset-after):
* mule/mule-charset.el (find-translation-table):
* mule/mule-charset.el (define-charset-tag):
* mule/mule-charset.el (charset-tag-to-charset-list):
* simple.el (warning-level-<):
* simple.el (display-warning):
* specifier.el (let-specifier):
* subr.el (replace-in-string):
* unicode.el (frob-unicode-errors-region):
* widget.el (define-widget):
* window-xemacs.el (display-buffer):
2021-11-09 Aidan Kehoe <kehoea@parhasard.net>
* info.el (Info-find-file-node):
makeinfo(1) constructs its tag table using byte positions, and
with significant non-ASCII contents info files it is routine for
this to get out of synch with our character positions.
This gave difficult-to-pin-down "No such node" errors with the
Lispref.
Take the discrepancy between byte and character positions on board
when deciding where to start looking for a node.
Thank you for the investigation and bug report, Henry Thompson!
In passing there is no need to restrict the range of the position
passed to #'goto-char, it has always limited its movement to the
visible portion of the buffer.
2021-10-20 Aidan Kehoe <kehoea@parhasard.net>
* descr-text.el (describe-char-unicodedata-file):
Only delete a trailing newline if one is present, avoiding
build-time problems now mule/make-digit.el has (require
'descr-text).
2021-10-23 Aidan Kehoe <kehoea@parhasard.net>
* backquote.el (backquote):
Document that the support for the old-style backquote syntax is
obsolete and will be removed soon.
2021-10-09 Aidan Kehoe <kehoea@parhasard.net>
* mule/make-digit.el:
New. File to generate digit.el from UnicodeData.txt.
* mule/digit.el:
Regenerate this reflecting the same version of UnicodeData of last
commit, last modification on unicode.org 2021-07-06 12:31, md5
c98cbeae07758b826ef080c65b9d4d61.
2021-10-09 Aidan Kehoe <kehoea@parhasard.net>
* mule/uni-case-conv.el:
Update this file to reflect current UnicodeData.txt, last
modification on unicode.org 2021-07-06 12:31, md5
c98cbeae07758b826ef080c65b9d4d61.
2021-07-15 Aidan Kehoe <kehoea@parhasard.net>
* files.el:
* files.el (file-remote-p):
If EFS is loaded, use efs-path-regexp to work out if FILE is remote.
* minibuf.el (minibuffer-complete-and-exit):
* minibuf.el (exit-minibuffer):
Fix some indentation in these two functions.
* minibuf.el (minibuffer-smart-mouse-tracker):
Ignore ange-ftp, long deprecated.
Trust that #'file-remote-p will recognise EFS pathnames if EFS is
loaded.
Use the newer #'test-completion, which always gives t for an exact
match, rather than the older #'try-completion, where this is not
guaranteed.
* minibuf.el (minibuffer-smart-select-kludge-filename):
ange-ftp is long deprecated, ignore it.
Use the new support of #'file-remote-p for EFS, don't implement
that ourselves.
2021-06-10 Aidan Kehoe <kehoea@parhasard.net>
* cl-extra.el (cl-do-prettyprint):
Fix a bug in a regexp here, can't start a subexpression within a
character set.
2021-05-10 Aidan Kehoe <kehoea@parhasard.net>
* subr.el (zerop):
Error if NUMBER is a character or a marker in this function, as
the C code did previously.
2021-05-06 Aidan Kehoe <kehoea@parhasard.net>
* easymenu.el (easy-menu-add):
* easymenu.el (easy-menu-remove):
In the normal course of events #'easy-menu-remove is called before
#'easy-menu-add, and so the code in the latter to save any
existing non-default mode-popup-menu fails. Add corresponding code
to #'easy-menu-remove too.
2021-05-11 Aidan Kehoe <kehoea@parhasard.net>
* gtk-marshal.el (get-marshaller-type-info): New.
Summarize the type info (so return type and argument type) of RVAL
and ARGS as a string.
* gtk-marshal.el (get-marshaller-name): Implement this using
#'get-marshaller-type-info.
* gtk-marshal.el (define-marshaller):
Add a newline and appropriate indentation to the C definition of
the function.
Push the now-defined marshal function onto defined-marshallers.
* gtk-marshal.el:
When creating emacs-marshal.c, instead of creating a long list of
puthash() calls to be called the first time any function is
imported, create a table mapping the lower 16 bits of the type
string hash to the corresponding function, which is faster in my
testing (with 10,000 gtk-import-function-internal calls), and has
more predictable performance than the old approach.
2021-02-14 Aidan Kehoe <kehoea@parhasard.net>
* replace.el (perform-replace): Update a
(save-match-data ... (string-match "[[:upper:]]" ...)) call to
call `string-match-p' without the encloding `save-match-data'
instead, now `string-match-p' is available.
2021-02-14 Aidan Kehoe <kehoea@parhasard.net>
Minor changes to deal with moving the match data to being extents.
* cl-extra.el (cl-prettyprint):
Call #'replace-match instead of accessing the match data after
deleting the relevant text in this function.
* loadup.el:
Clear the match data before dumping, now we use string extent info
for it and that is not dumpable.
* replace.el (perform-replace): Use the more exhaustive
#'match-data-canonical instead of #'match-data when saving the
match data associated with the real match in this function.
Don't pass the INTEGERS argument to #'match-data given its
performance issues with large buffers.
* subr.el (save-match-data):
Update this to save the match data with the more exhaustive
#'match-data-canonical, and to explicitly detach any extents in
the saved data once done with them.
* subr.el (match-string): Moved to C, now its algorithmic
complexity is better there.
* subr.el (match-string-no-properties):
Implement in terms of #'match-string.
2021-01-28 Aidan Kehoe <kehoea@parhasard.net>
* code-files.el (load):
Revise my change of 2021-01-10 looking for unwanted duplicate
extensions to strip directory information before calling #'equal,
something which will give us fewer false-positives.
2021-01-21 Aidan Kehoe <kehoea@parhasard.net>
* x-init.el (pseudo-canonicalize-keysym):
Document why there's no need to call #'canonicalize-keysym in this
function.
2021-01-11 Aidan Kehoe <kehoea@parhasard.net>
* cl-extra.el (bignump): New.
* cl-extra.el (ratiop): New.
* cl-extra.el (rationalp): New.
* cl-extra.el (bigfloatp): New.
* cl-extra.el (floatingp): New.
* cl-extra.el (realp): New.
Move all these from number.c.
They are very short and mostly translate to one funcall +/- a
couple of bytecodes, make them available with defsubst*.
* make-docfile.el (docfile-out-of-date):
#'integerp no longer available on bare-metal XEmacs, and it is only
relevant if STATUS is zero; use #'fixnump instead.
2021-01-11 Aidan Kehoe <kehoea@parhasard.net>
Move some further simple functions to Lisp from C.
* subr.el:
* subr.el (integerp): New.
* subr.el (car-safe): New.
* subr.el (cdr-safe): New.
* subr.el (copy-sequence): New.
* subr.el (wrong-type-argument): New.
All of these are from data.c.
2021-01-11 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el (byte-compile-file-form-eval-boundary): Removed.
* bytecomp.el (byte-compile-file-form-require): New.
Use a more sensible name for #'require's byte hunk handler, also
used by GNU. Only evaluate the call to require if
byte-compile-eval-when-seen is non-nil, allowing users to
explicitly avoid compile time evaluation if that is needed.
2021-01-10 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el (byte-compile-file):
When loading TARGET-FILE, pass a non-nil NOSUFFIX argument to
#'load, avoiding issues when FILENAME.elc.elc exists in the target
directory.
* code-files.el (load):
Warn if FILENAME.elc was supplied, NOSUFFIX is nil, and
#'locate-file returned FILENAME.elc.elc.
Don't error, this is rare and there may be compatibility issues if
we do that.
2020-12-28 Aidan Kehoe <kehoea@parhasard.net>
* simple.el (delete-backward-char):
Both COUNT and KILLP are optional in this function, declare them
as such.
2020-11-24 Aidan Kehoe <kehoea@parhasard.net>
* device.el (get-device): New.
Moved here from device.c, no need for it to be in C.
* simple.el (delete-backward-char): New.
Moved here from cmds.c, no need for it to be in C.
2020-11-17 Aidan Kehoe <kehoea@parhasard.net>
* events.el (keyboard-translate):
Use `canonicalize-keysym' here, just introduced, so the keyboard
translate processing is more reliable.
2020-11-17 Aidan Kehoe <kehoea@parhasard.net>
* events.el (keyboard-translate):
* events.el (set-character-of-keysym):
2020-11-03 Aidan Kehoe <kehoea@parhasard.net>
* minibuf.el (read-coding-system):
Correct the spelling in the docstring here.
* subr.el (format):
CONTROL-STRING isn't optional in #'format, correct the arglist
here.
2020-09-01 Aidan Kehoe <kehoea@parhasard.net>
Some style, efficiency changes to wid-edit.el.
* wid-edit.el:
* wid-edit.el (widget-shadow-subrs): Removed.
No longer necessary.
* wid-edit.el (widget-princ-to-string):
Remove the commented old implementation.
* wid-edit.el (widget-member):
Use #'plist-get rather than #'widget-plist-member (which
ultimately calls #'plist-get).
No need for a final clause that returns nil, that's what #'cond
does by default.
* wid-edit.el (widget-default-menu-tag-get):
Call #'prin1-to-string rather than #'widget-princ-to-string, which
calls #'prin1-to-string anyway.
2020-08-25 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp-runtime.el (eval-when-feature): Removed.
This never worked (the after-load-alist entry syntax was
incorrect), it is not used in packages and GNU have removed it. No
indication to continue with it in XEmacs.
2020-03-25 Aidan Kehoe <kehoea@parhasard.net>
* code-cmds.el (universal-coding-system-argument):
Use the DEFAULT argument to #'read-coding-system, trust it to
rewrite the prompt rather than doing it ourselves.
* code-files.el (set-buffer-file-coding-system):
Call #'read-coding-system expicitly, take a default from
coding-system-history.
* code-files.el (set-buffer-file-coding-system-for-read):
Call #'check-coding-system rather than #'get-coding-system, which
is clearer for what we want.
* code-files.el (insert-file-contents):
Ditto.
* code-process.el:
* code-process.el (set-buffer-process-coding-system):
Explicitly call #'read-coding-system in the (interactive) spec
here, so we can pass in the existing default-process-coding-system
as a DEFAULT argument.
* coding.el (set-keyboard-coding-system):
Explicitly call #'read-coding-system in the (interactive) spec
here, displaying keyboard-coding-system as the default.
* coding.el (set-terminal-coding-system):
Explicitly call #'read-coding-system in the (interactive) spec
here, displaying terminal-coding-system as the default.
* minibuf.el (coding-system-history): New.
* minibuf.el (read-file-name):
Backslash some parentheses in the first column for the sake of
fontification.
* minibuf.el (read-directory-name):
Ditto.
* minibuf.el (read-coding-system):
Revise this to use coding-system-history, to adjust PROMPT
depending on DEFAULT-CODING-SYSTEM, to ignore case (as does GNU).
* minibuf.el (read-non-nil-coding-system):
Revise this to use coding-system-history and to ignore case.
2020-03-23 Aidan Kehoe <kehoea@parhasard.net>
* simple.el (kill-line-1): Implement this with #'macrolet rather
than keeping around a function in the dumped Lisp.
* simple.el (kill-entire-line): Use the macro.
* simple.el (kill-line): Use the macro.
* simple.el (backward-kill-line): Use the macro. This function
differs from the other two in that it previously did not use
#'kill-line-1.
2020-03-23 Aidan Kehoe <kehoea@parhasard.net>
* simple.el (digit-argument):
Use #'digit-char-p in this function rather than re-implementing
it.
2020-03-23 Aidan Kehoe <kehoea@parhasard.net>
* byte-optimize.el:
#'prefix-numeric-value is a pure function, optimise it as such.
2020-03-23 Aidan Kehoe <kehoea@parhasard.net>
* subr.el (with-trapping-errors):
If RESIGNAL is non-nil and ERROR-FORM is nil, don't wrap the
#'call-with-condition-handler with #'condition-case.
If ERROR-FORM is nil and RESIGNAL is nil, use `block' to return
control to the caller.
2020-03-20 Aidan Kehoe <kehoea@parhasard.net>
Further reduce potential match data corruption bugs by avoiding
#'string-match when the match data isn't used, mostly using
#'string-match-p instead but sometimes the CL sequence functions
for particularly trivial regexps.
* finder.el:
* finder.el (finder-select):
* font-lock.el (font-lock-set-defaults-1):
As well as the above, use a label instead of binding a symbol's
value to a lambda and then funcalling that.
* newcomment.el (comment-indent-new-line):
Use #'search instead of #'string-match for a trivial regexp.
* package-admin.el (package-admin-get-install-dir):
Ditto.
* register.el (describe-register-1):
* startup.el (load-terminal-library):
* startup.el (find-init-file-1):
* startup.el (command-line-1):
Use #'string-match-p in these four functions.
* startup.el (splash-screen-window-body):
Use #'search instead of #'string-match for a trivial regexp.
* syntax.el (syntax-string-to-code):
* test-harness.el (test-harness-from-buffer):
* test-harness.el (batch-test-emacs):
* update-elc-2.el (do-update-elc-2):
* update-elc.el:
* update-elc.el (update-elc-chop-extension):
* version.el (emacs-version):
* wid-browse.el (widget-browse-sexp):
* wid-edit.el (widget-field-use-before-change):
Searching `emacs-version' for the string XEmacs is not the way to
check whether this emacs is XEmacs, use featurep instead.
* wid-edit.el (widget-field-validate):
* wid-edit.el (widget-field-value-create):
* window-xemacs.el (display-buffer):
* x-scrollbar.el (x-init-scrollbar-from-resources):
Use #'string-match-p for the last four.
2019-10-18 Aidan Kehoe <kehoea@parhasard.net>
* subr.el (with-trapping-errors):
Revise this to use the Common Lisp keyword parsing
infrastructure, which will accept :allow-other-keys t and explicitly
have the trailing keyword override.
Declare its indentation using (declare (indent ...)) rather than
using #'put.
2020-01-24 Aidan Kehoe <kehoea@parhasard.net>
* wid-edit.el (widget-parsing-escapes): New.
Macro to do most of the work of parsing %-escapes in widget format
strings, refactored out.
* wid-edit.el (widget-value-convert-widget):
Use it.
Adjust the order of frequency of the value escape in passing, that
is much more common in the customize code than in the about-xemacs
code which I had been testing on.
* wid-edit.el (widget-checklist-add-item, widget-radio-add-item):
Use `widget-parsing-escapes' in these functions.
2020-01-22 Aidan Kehoe <kehoea@parhasard.net>
* wid-edit.el (widget-default-create):
* wid-edit.el (widget-checklist-add-item):
* wid-edit.el (widget-radio-add-item):
* wid-edit.el (widget-editable-list-entry-create):
Move away from code using #'re-search-forward to parse format
strings within all these functions, use #'position instead.
In #'widget-default-create, use the more reasonable and readable
(case escape ...) rather than funcalling an uncompiled lambda
which is in a vector indexed according to a string offset, which
offset is produced using #'string-match.
2019-04-22 Aidan Kehoe <kehoea@parhasard.net>
* process.el (setenv):
Sync the API of this function with GNU.
Remove UNSET as an argument, giving nil for VALUE always has been
equivalent.
Add SUBSTITUTE-ENV-VARS in its stead,
Check that VARIABLE, VALUE can be encoded in the coding system of
the system, error if they can't.
2019-04-14 Aidan Kehoe <kehoea@parhasard.net>
* misc.el:
* misc.el (make-weak-box):
* misc.el (weak-box-ref):
* misc.el (:load-toplevel):
Remove #'weak-box-ref-1 from the dumped Lisp binary, using
(eval-when (:load-toplevel) ...) to ensure a reasonable docstring.
2019-03-28 Aidan Kehoe <kehoea@parhasard.net>
* x-init.el (pseudo-canonicalize-keysym):
* x-init.el (x-keysym-on-keyboard-sans-modifiers-p):
* x-init.el (x-keysym-on-keyboard-p):
Accept characters as keysyms in these functions, as well as
strings and symbols. This is needed since changeset a69c6e871607
of 2017-12-20, which applied to the C code.
2019-03-21 Jerry James <james@xemacs.org>
* startup.el (startup-setup-paths): Silence startup warnings due to
mismatched format strings and arguments. Patch thanks to Tim
Landscheidt <tim@tim-landscheidt.de>.
2019-03-21 Aidan Kehoe <kehoea@parhasard.net>
Move several more functions, not loop hotspots and easily
implemented in Lisp, from C to Lisp.
* abbrev.el:
* abbrev.el (insert-abbrev-table-description): New.
Move this back to Lisp, now there's a penalty for it being in C
with NEWGC.
Remove comment with old Lisp implementation.
* cmdloop.el:
* cmdloop.el (prefix-numeric-value): New.
Move this here from callint.c.
* loadup.el:
* loadup.el (really-early-error-handler):
Use #'format-into rather than (princ (format ...)), now #'format
is not available on a bare-metal XEmacs.
* setup-paths.el (paths-default-info-directories):
Use (string directory-sep-char) rather than (char-to-string
directory-sep-char), now the latter is not available on a
bare-metal XEmacs.
* simple.el:
* simple.el (backward-char): New.
* simple.el (beginning-of-line): New.
* simple.el (end-of-line): New.
Move these three from cmds.c.
* subr.el:
* subr.el (format): New.
Move this from doprnt.c
* subr.el (arrayp): New.
* subr.el (sequencep): New.
* subr.el (natnump): New.
* subr.el (nonnegativep): New.
Move all these from data.c
* subr.el (identity):
Give this a better argument name and docstring.
* subr.el (char-to-string): New.
* subr.el (string-to-char): New.
* subr.el (char-equal): New.
Move these three from editfns.c.
* x-misc.el:
* x-misc.el (default-x-device): New.
Move this from device-x.c.
2019-03-27 Aidan Kehoe <kehoea@parhasard.net>
* minibuf.el (read-file-name-internal-1):
Revise this now #'user-name-completion returns two values and
#'user-name-completion-1 is no longer available.
2011-03-05 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el:
* bytecomp.el (byte-compile-default-warnings):
* bytecomp.el (byte-compiler-legal-options):
* bytecomp.el (byte-compile-format): New.
* bytecomp.el (byte-compile-message): New.
Introduce `byte-compile-format', which warns if CONTROL-STRING is
not constant, something that is reasonably often a security
issue. Suppress this warning for calls to #'gettext, or
if-statements both branches of which are constant strings.
2018-10-07 Aidan Kehoe <kehoea@parhasard.net>
* font-lock.el (font-lock-fontify-syntactically-region):
Careful here, font-lock-cache-position can be a marker that
doesn't point anywhere; thanks for the bug report, Michael
Sperber!
2018-10-01 Aidan Kehoe <kehoea@parhasard.net>
* code-files.el (insert-file-contents):
* cus-edit.el (custom-redraw):
* font-lock.el (font-lock-fontify-syntactically-region):
* help.el (Help-princ-face):
* help.el (Help-prin1-face):
* help.el (help-symbol-regexp):
* indent.el (increase-left-margin):
* indent.el (decrease-left-margin):
* info.el (Info-find-file-node):
* info.el (Info-cease-edit):
* mouse.el (default-mouse-track-deal-with-down-event):
* select.el (select-convert-to-lineno):
* select.el (select-convert-to-sourceloc):
* simple.el (kill-region):
* simple.el (pop-global-mark):
* simple.el (signal-error-on-buffer-boundary):
* wid-edit.el (widget-setup):
* window-xemacs.el (restore-saved-window-parameters):
Don't call #'marker-position in the core Lisp code, as we have
just advised in its docstring.
2018-09-28 Aidan Kehoe <kehoea@parhasard.net>
* byte-optimize.el (byte-optimize-car):
* byte-optimize.el (byte-optimize-cdr):
Leave erroring on zero arguments and returning nil on nil
arguments to #'byte-optimize-predicate within these functions.
2018-09-16 Aidan Kehoe <kehoea@parhasard.net>
* alist.el: Remove this.
It's indifferent to poor code, nothing uses it in core, and the
file is in APEL already.
2018-09-05 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el (cl-const-expr-p):
Recognise that keywords are constant symbols within this
function.
* byte-optimize.el:
* byte-optimize.el (byte-compile-trueconstp): Removed.
* byte-optimize.el (byte-optimize-car):
* byte-optimize.el (byte-optimize-cdr):
* byte-optimize.el (byte-optimize-or):
* byte-optimize.el (byte-optimize-if):
* byte-optimize.el (byte-optimize-letX):
Use `byte-compile-constp' instead in the places this macro was
used, which recognises that keywords are constant symbols too, and
so reduces the number of places this bug can happen.
2018-09-02 Aidan Kehoe <kehoea@parhasard.net>
* byte-optimize.el:
* byte-optimize.el (:execute):
* bytecomp.el (:execute):
* cl-extra.el:
* cl-extra.el (:execute):
* cl-extra.el (streamp):
* cl-macs.el:
* cus-face.el:
* cus-face.el (:compile-toplevel):
* easy-mmode.el:
* help.el:
* help.el (:execute):
* info.el (:compile-toplevel):
* info.el (unless):
* regexp-opt.el (regexp-opt-group):
* syntax-ppss.el (font-lock-beginning-of-syntax-function):
* syntax-ppss.el (syntax-ppss-depth):
* wid-browse.el:
* wid-browse.el (widget-browse):
* x-init.el (:compile-toplevel):
Now #'eval-when is in bytecomp-runtime, use it in those places
where it is clearer than #'eval-when-compile.
Many of the places #'eval-when-compile were used were actually
unnecessary; remove them.
* bytecomp-runtime.el (eval-when):
Document #'eval-when in a little more detail.
2018-09-02 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el (byte-compile-initial-macro-environment):
Correct a comment here, there's no bug in defstruct or defsetf.
2018-09-02 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp-runtime.el:
* bytecomp-runtime.el (eval-when): Move the runtime part of this
here from cl-macs.el.
* bytecomp.el:
* bytecomp.el (byte-compile-eval):
* bytecomp.el (byte-compile-eval-when-seen): New.
* bytecomp.el (byte-compile-initial-macro-environment):
Implement the bulk of #'eval-when in the compiler, where it belongs.
* cl-macs.el:
* cl-macs.el (cl-not-toplevel): Removed.
* cl-macs.el (eval-when): Removed.
* cl-macs.el (arguments): Removed.
* cl-macs.el (cl-compile-time-too): Removed.
* cl-macs.el (define-setf-method):
* cl-macs.el (defstruct):
* cl-macs.el (deftype):
* cl-macs.el (define-compiler-macro):
* cl.el (declaim):
Use the ANSI CL syntax for the stages in WHEN with #'eval-when.
No need to worry about delaying loading cl-macs.el when using that
syntax.
* cl.el (cl-random-time):
* ldap.el (:load-toplevel):
Correct the syntax of this #'eval-when call.
2018-08-25 Aidan Kehoe <kehoea@parhasard.net>
* autoload.el (generate-file-autoloads):
* autoload.el (generate-custom-defines):
* autoload.el (generate-custom-defines-1):
* bytecomp.el:
* bytecomp.el (byte-compile-dest-file): New.
* bytecomp.el (byte-compile-inline-expand):
* disass.el (disassemble-1):
* files.el:
* files.el (parse-colon-path):
* files.el (set-auto-mode):
* files.el (hack-local-variables):
* files.el (hack-local-variables-last-page):
* files.el (hack-local-variables-prop-line):
* files.el (file-relative-name):
* files.el (revert-buffer):
* files.el (recover-session):
* files.el (file-expand-wildcards):
* files.el (shell-quote-wildcard-pattern):
* files.el (insert-directory):
* files.el (insert-directory-adj-pos):
* find-paths.el (paths-find-recursive-path):
* font-lock.el (font-lock-lisp-like):
* font-lock.el (font-lock-match-java-declarations):
* font-mgr.el:
* font-mgr.el (xlfd-font-name-p):
* gutter-items.el (buffers-tab-omit-some-buffers):
* gutter-items.el (select-buffers-tab-buffers-by-mode):
Call #'string-match, #'looking-at much less often, preferring
#'string-match-p and #'looking-at-p instead for fewer side-effects.
* cus-edit.el:
* cus-edit.el (customize-version-lessp):
Use the much cheaper #'parse-integer instead of #'read here.
* files.el (convert-standard-filename):
Redefine this to act as identity on non-windows-nt systems.
2018-08-14 Aidan Kehoe <kehoea@parhasard.net>
* misc.el (make-weak-box):
Make this code work when run interpreted too, not that it will come
up much.
2018-08-13 Aidan Kehoe <kehoea@parhasard.net>
* misc.el (make-weak-box):
Have distinct weak boxes print distinctly; remove information on
the type of the one-time contents from the weak box, it doesn't
add anything and will be inaccurate once the contents are nil.
2018-08-12 Aidan Kehoe <kehoea@parhasard.net>
* misc.el:
* misc.el (weak-box-p):
* misc.el (make-weak-box):
* misc.el (weak-box-ref):
Improve the implementation here; make #'weak-box-ref free in terms
of garbage, make weak boxes that reference distinct objects print
distinctly, give information as to the type of CONTENTS stored.
Document some more on the performance and debugging implications
of the Lisp implementation.
2018-08-12 Aidan Kehoe <kehoea@parhasard.net>
* misc.el:
* misc.el (weak-box-p): New.
* misc.el (make-weak-box): New.
* misc.el (weak-box-ref): New.
Move all these functions here from data.c.
2018-07-17 Aidan Kehoe <kehoea@parhasard.net>
* backquote.el (bq-process):
* backquote.el (bq-process-2):
* backquote.el (bq-comma):
* backquote.el (bq-process-1):
Style improvements in this file:
1. Give structured errors on encountering invalid syntax.
2. Call member* when interpreted, which #'memq was doing anyway,
and which will translate to the memq bytecode in the old way when
compiled.
3. Indent if statements as Emacs Lisp, not Common Lisp.
2018-07-17 Aidan Kehoe <kehoea@parhasard.net>
* backquote.el (bq-process-2):
Be better about handling vectors here; pass through constants,
call #'vector, #'vconcat directly at runtime if appropriate. Call
#'atom (which translates to bytecode) rather than #'vectorp first
within this function.
New #'bq-process-2 flag, vector*, which means "call apply
#'vector in the old way"
* backquote.el (bq-comma):
Don't check for numberp here, leave that to #'bq-process-1.
* backquote.el (bq-process-1):
Implement vector*. Call #'quote-maybe when appropriate, giving
more readable output.
2018-07-05 Aidan Kehoe <kehoea@parhasard.net>
Silence an extensive list of byte compile warnings, chiefly
through use of #'globally-declare-fboundp and
#'globally-declare-boundp.
Also prefer (default-device 'x) to (default-x-device), since the
former always exists when byte compiling.
* autoload.el:
* autoload.el (make-autoload):
* autoload.el (autoload-make-autoload-operators): New.
* autoload.el (autoload-make-autoload-complex-operators): New.
Be a bit better about silencing byte compile warnings regarding
autoload-make-autoload-operators here
* behavior.el:
* behavior.el (unless):
* buff-menu.el:
* buff-menu.el (unless):
* cmdloop.el:
* cmdloop.el (unless):
* cmdloop.el (yes-or-no-p):
* cmdloop.el (y-or-n-p):
* cus-edit.el:
* cus-edit.el (unless):
* custom.el (custom-theme-reset-internal-face):
* custom.el (custom-define-hook):
* dialog-items.el:
* dialog-items.el (unless):
* dialog.el:
* easymenu.el:
* easymenu.el (unless):
* font-menu.el:
* font-menu.el (unless):
* font.el:
* font.el (fontconfig):
* font.el (font-xft-font-regexp):
* font.el (font-xft-font-regexp)): New.
* font.el (x-font-build-cache):
* font.el (xft-font-create-object):
* fontconfig.el (fc-try-font):
* fontconfig.el (fc-find-available-font-families):
* fontconfig.el (fc-find-available-weights-for-family):
* gnuserv.el:
* gnuserv.el (unless):
* gtk-faces.el:
* gtk-faces.el (unless):
* gtk-faces.el (gtk-convert-font-from-xlfd):
* help.el:
* help.el (unless):
* help.el (help):
* hyper-apropos.el:
* hyper-apropos.el (unless):
* info.el:
* info.el (unless):
* lisp-mode.el:
* lisp-mode.el (unless):
* menubar-items.el:
* menubar-items.el (unless):
* menubar.el:
* menubar.el (unless):
* minibuf.el:
* minibuf.el (unless):
* minibuf.el (insert-default-directory):
* mode-motion.el:
* mode-motion.el (mouse):
* modeline.el:
* modeline.el (unless):
* mouse.el:
* mouse.el (unless):
* mouse.el (shift):
* msw-select.el:
* msw-select.el (unless):
* mule/mule-charset.el (do-define-charset-tags):
* mule/mule-charset.el (script):
* mwheel.el:
* mwheel.el (unless):
* occur.el:
* occur.el (unless):
* package-ui.el:
* package-ui.el (unless):
* picture.el:
* picture.el (unless):
* printer.el:
* printer.el (unless):
* scrollbar.el:
* scrollbar.el (unless):
* select.el:
* select.el (unless):
* startup.el:
* startup.el (unless):
* toolbar-items.el:
* toolbar-items.el (unless):
* toolbar.el:
* toolbar.el (unless):
* userlock.el:
* userlock.el (unless):
* userlock.el (ask-user-about-lock-minibuf):
* wid-edit.el:
* wid-edit.el (unless):
* x-faces.el (x-make-font-bold-xft):
* x-faces.el (x-make-font-unbold-xft):
* x-faces.el (x-make-font-italic-xft):
* x-faces.el (x-make-font-unitalic-xft):
* x-faces.el (x-font-size-xft):
* x-faces.el (x-find-xft-font-of-size):
* x-font-menu.el:
* x-font-menu.el (unless):
* x-init.el:
* x-init.el (unless):
* x-mouse.el:
* x-mouse.el (unless):
* x-scrollbar.el:
* x-scrollbar.el (unless):
* x-scrollbar.el (x-init-scrollbar-from-resources):
* x-win-sun.el:
* x-win-sun.el (unless):
* x-win-sun.el (x-win-init-sun):
* x-win-xfree86.el:
* x-win-xfree86.el (unless):
2018-07-05 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el (defsubst*):
Document that within BODY the variable names within ARGLIST may
not have dynamic binding.
Don't check BODY for side effects, our check is inaccurate and the
result was used, inaccurately, within cl-defsubst-expand to decide
whether argument names needed binding.
* cl-macs.el (cl-defsubst-expand):
Don't bind arguments using let if the UNSAFE argument is supplied,
that gives byte-compile warnings that don't help anyone.
2018-07-05 Aidan Kehoe <kehoea@parhasard.net>
* map-ynp.el (normalize-menu-text): Add an autoload for this
function, now it's available in Lisp when C menubar support isn't
available.
* menubar.el (normalize-menu-text): Implement this function, moved
from C.
2018-07-04 Aidan Kehoe <kehoea@parhasard.net>
* loadup.el (source-lisp):
* make-docfile.el (source-lisp):
* update-elc.el (source-lisp):
#'nth no longer available on a bare-metal XEmacs, use its
implementation.
* subr.el:
* subr.el (identity): New.
* subr.el (nth): New.
Move these functions here from fns.c.
2018-07-01 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el (byte-compile-normal-call):
When examining the :test, :key, etc arguments, be aware that a
quoted symbol may be a data placeholder, and take that into
account before warning.
* cl-extra.el (cl-macroexpand-all):
Only close around variables that are actually *used* in the
lambda, when dealing with lambdas and lexical scope.
2018-07-01 Aidan Kehoe <kehoea@parhasard.net>
* easymenu.el:
* easymenu.el (easy-menu-do-define):
* easymenu.el (easy-menu-change):
* easymenu.el (easy-menu-add):
* easymenu.el (easy-menu-remove):
* easymenu.el (easy-menu-add-item):
* easymenu.el (easy-menu-item-present-p):
* easymenu.el (easy-menu-remove-item):
* lisp-mode.el (emacs-lisp-mode):
* lisp-mode.el (lisp-interaction-mode):
* startup.el (command-line):
If running noninteractively (e.g. byte-compiling Lisp when
building), don't bother to add menubar entries.
2018-07-01 Aidan Kehoe <kehoea@parhasard.net>
* cl-extra.el (cl-macroexpand-all):
Use #'apply-partially to create closures with lambdas and lexical
variables.
* cl-macs.el (apply-partially):
#'function-max-args can give nil, handle this OK.
#'error doesn't take a format string, correct calls to it.
* subr.el (apply-partially):
Don't use a (&rest args) arglist for the constructed function if
we've been supplied an explicit lambda. Parse the supplied arglist
and construct one that reflects it, something that allows the byte
compiler to give more useful warnings with labels.
Do the check for the number of args passed correctly.
If we haven't been supplied an explicit lambda, use an uninterned
symbol for the argument list name, avoiding problems with dynamic
scope.
2018-06-30 Aidan Kehoe <kehoea@parhasard.net>
* gtk-widgets.el:
Avoid duplicate function imports in this file.
* gtk-faces.el:
Silence warnings about unbound symbols within this file when
byte-compiling.
* gtk-file-dialog.el:
Silence warnings about #'gtk-dialog-get-content-area not being
#'fboundp.
* gtk-init.el:
Silence warnings about #'gtk-load-css not having a function
binding.
2018-06-14 Aidan Kehoe <kehoea@parhasard.net>
* test-harness.el (test-harness-from-buffer):
Use the correct number of #'format arguments in calls to
Print-Failure here, avoiding log chatter when XEmacs warns about
too many arguments to #'format.
2018-05-25 Aidan Kehoe <kehoea@parhasard.net>
* events.el:
* events.el (key-or-mouse-event-p): New.
* events.el (timeout-or-eval-event-p): New.
* events.el (char-or-event-p): New.
Make these available, the C code has been calling them from
wrong_type_argument() for years, despite their not existing.
2018-04-27 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el:
* bytecomp.el (ignore):
* bytecomp.el (byte-compile-ignore): New.
Add a byte-compile method for #'ignore, marking all its arguments
as for-effect, and returning nil.
2018-04-25 Aidan Kehoe <kehoea@parhasard.net>
* subr.el (not): New.
* subr.el (null): New.
* subr.el (atom): New.
* subr.el (listp): New.
* subr.el (nlistp): New.
* subr.el (bitp): New.
* subr.el (zerop): New.
* subr.el (true-list-p): New.
Move all these functions from C, they're not loop hotspots,
they're easily implemented in Lisp, and implementing them in C
costs less memory with NEWGC.
* bytecomp.el (byte-compile-throw):
#'null is no longer in C, don't include its code in
byte-compile-checks-on-load.
* dumped-lisp.el:
* dumped-lisp.el (preloaded-file-list):
* loadup.el (gc-cons-threshold):
* loadup.el (really-early-error-handler):
* loadup.el (fboundp):
* make-docfile.el (done):
* make-docfile.el (process-args):
* make-docfile.el (preloaded-file-list):
* make-docfile.el (site-file-list):
* packages.el (packages-add-suffix):
* packages.el (packages-list-autoloads-path):
* update-elc.el:
* update-elc.el (preloaded-file-list):
* update-elc.el (or):
* update-elc.el (featurep):
* update-elc.el (do-autoload-commands):
Don't use those functions when running a bare-metal XEmacs binary.
2018-04-25 Aidan Kehoe <kehoea@parhasard.net>
* make-docfile.el (docfile-out-of-date):
#'call-process can return a non-integer if the underlying process
signaled, and exited for that reason. Handle this more gracefully.
2018-04-10 Aidan Kehoe <kehoea@parhasard.net>
* code-files.el (write-region):
Document that APPEND can now be a numeric offset, indicating a
point to seek to.
2018-02-18 Aidan Kehoe <kehoea@parhasard.net>
* simple.el (no-case-regexp-p):
* simple.el (with-search-caps-disable-folding):
* simple.el (with-interactive-search-caps-disable-folding):
* simple.el (log-message-filter):
Use `string-match-p' in these functions, no need to save the match
data with same.
* simple.el (clone-process):
* simple.el (clone-buffer):
* simple.el (clone-indirect-buffer):
Ditto; use the same idiom throughout the file when stripping
trailing <DIGIT+> patterns from strings.
2017-12-25 Aidan Kehoe <kehoea@parhasard.net>
* hyper-apropos.el (hyper-apropos-grok-variables):
User variables' docstrings do not necessarily start with *, check
for one before removing the first character from the output.
2017-12-24 Aidan Kehoe <kehoea@parhasard.net>
* test-harness.el (test-harness-from-buffer):
Error in `Skip-Test-Unless' if BODY is not specified.
2017-12-22 Aidan Kehoe <kehoea@parhasard.net>
* descr-text.el (describe-char-unicodedata-file):
The UnicodeData.txt installed with Perl no longer serves our
needs. Use that installed by TeX instead, if available.
2017-12-22 Aidan Kehoe <kehoea@parhasard.net>
* compose.el: Rename from x-compose.el, it's not
platform-specific.
(decide-on-bindings):
Remove the last of the X11-specific code, don't use the UABCD
keysyms for some exotic composed base characters.
* gtk-compose.el (gtk-compose): Require the new feature.
* isearch-mode.el (isearch-pre-command-hook):
* keymap.el (for):
Update documentation, references to x-compose.el to reference the
new name.
2017-12-01 Aidan Kehoe <kehoea@parhasard.net>
* about.el (about): New custom group for this file.
* about.el (about-headline-face):
* about.el (about-link-face):
Provide and use a custom group for these faces, avoiding a
distracting warning when viewing the about page.
2017-11-16 Aidan Kehoe <kehoea@parhasard.net>
* x-faces.el (x-library-search-path):
Update this variable to include share/ subdirectories of all the
potential prefixes, since rgb.txt is usually now in share/X11.
* x-faces.el (x-color-list-internal):
Use #'canoncase, not #'downcase when adding completion for the
lowercase form, avoiding problems with Turkish locales.
2017-11-14 Aidan Kehoe <kehoea@parhasard.net>
* mule/cyrillic.el ("Cyrillic-ISO"):
* mule/cyrillic.el ("Russian"):
* mule/cyrillic.el ("Cyrillic-ALT"):
Remove cyril-util from the features list of these language
environments; `standard-display-cyrillic-translit' is the only
function in that file, and it has an autoload entry
already. Removing it from the features list is helpful in buildbot
tests without installed packages.
2017-11-14 Aidan Kehoe <kehoea@parhasard.net>
* gutter-items.el (buffers-tab-items):
Add a missing parenthesis after Stephen's last change, get things
building again.
2017-11-14 Stephen J. Turnbull <stephen@xemacs.org>
* gutter-items.el (buffers-tab-items):
Sort list before truncating it. Clarify logic, remove comment.
2017-11-13 Aidan Kehoe <kehoea@parhasard.net>
* unicode.el (decode-char):
Return nil instead of erroring when CODE cannot be encoded, as did
this function pre-unicode-internal and as does (did) GNU's
version.
2017-11-09 Aidan Kehoe <kehoea@parhasard.net>
Ben's approach in lib-src/make-case-conv.el didn't work, there are
107 entries in CaseFolding.txt as of today where the first column
is a lowercase letter, not an uppercase one. Parse UnicodeData.txt
instead.
* mule/make-case-conv.el: New.
Replacement for lib-src/make-case-conv.py, parsing UnicodeData.txt
instead.
* mule/uni-case-conv.el:
Update this file to reflect output from make-case-conv.el with
recent UnicodeData.txt instead.
2017-10-29 Aidan Kehoe <kehoea@parhasard.net>
* cl-extra.el (cl-macroexpand-all):
When processing a let binding, and an existing symbol macro has
the same symbol name as the let binding, delay shadowing until all
bindings are processed.
2017-10-26 Stephen J. Turnbull <stephen@xemacs.org>
* mule/japanese.el (shift_jis): Correct comment.
2017-10-26 Stephen J. Turnbull <stephen@xemacs.org>
* gutter-items.el (buffers-tab-omit-function):
(buffers-tab-omit-list):
(buffers-tab-selection-function):
(buffers-tab-filter-functions):
(buffers-tab-sort-function):
(buffers-tab-grouping-regexp):
(buffers-tab-format-buffer-line-function):
(format-buffers-tab-line):
(buffers-tab-items):
(add-tab-to-gutter):
(update-tab-in-gutter):
Clarify docstrings.
2017-10-12 Aidan Kehoe <kehoea@parhasard.net>
* frame.el (frame-utmost-window-2): Made into a label.
* frame.el (frame-utmost-window-1): Use the label.
Remove #'frame-utmost-window-2 from the global namespace.
2017-10-06 Aidan Kehoe <kehoea@parhasard.net>
* mule/chinese.el:
* mule/chinese.el (for):
* mule/chinese.el (chinese-big5/list):
* mule/chinese.el (find-charset):
* mule/mule-category.el (predefined-category-list):
* mule/mule-charset.el:
Remove Ben's attempt under unicode-internal to make Big5 into one
charset. This is incompatible with byte-compiled code from 21.4,
which uses the hackish chinese-big5-1, chinese-big5-2 charsets
with ISO-2022 escapes to encode these characters.
If at some point in the future where we use UTF-8 for compiled
code this could be revisited.
2017-09-30 Aidan Kehoe <kehoea@parhasard.net>
* mule/thai.el:
* mule/thai.el (thai-tis620):
* mule/thai.el (tis-620):
The charset thai-iso8859-11 is identical to thai-tis620 for our
purposes, and its presence makes the digit-char test code fail on
non-mule. Remove it. Use tis-620, the preferred IANA name for
related coding system, as the related coding system name. Provide
iso-8859-11, not actually an IANA name, as an alias.
2017-09-25 Aidan Kehoe <kehoea@parhasard.net>
* subr.el (concat):
This function hasn't accepted individual fixnums as arguments in
twenty years, and GNU's version of the function doesn't
either. Remove all mention of it.
Clarify the types of the elements accepted in the argument sequences.
* subr.el (bvconcat):
Clarify the types of the elements accepted in the argument sequences.
2017-09-16 Aidan Kehoe <kehoea@parhasard.net>
* startup.el:
Remove `keyboard-type', which has been present since 1991 and
never used. Don't do a make-compatible with it, since though it is
present in GNU code it is not set or examined there. The byte
compiler warning should be enough.
2017-09-07 Aidan Kehoe <kehoea@parhasard.net>
* rect.el (delete-extract-rectangle-line):
Use (format "%*s" N "") instead of (spaces-string N) in this
function.
* rect.el (extract-rectangle-line): Ditto.
* rect.el (spaces-strings): Removed.
* rect.el (spaces-string): Removed.
These aren't needed, (format "*s" N "") does the same job.
* rect.el (apply-on-rectangle):
* rect.el (delete-rectangle-line):
* rect.el (open-rectangle-line):
* rect.el (string-rectangle-line):
* rect.el (clear-rectangle-line):
* rect.el (rect):
Fixup whitespace in this file.
2017-06-28 Aidan Kehoe <kehoea@parhasard.net>
* subr.el (char-width): Move this to C, necessary as part of the
unicode-internal support.
2017-05-30 Aidan Kehoe <kehoea@parhasard.net>
* about.el (about-xemacs):
Correct a recently-introduced bug here, give the correct bounding
keywords to #'parse-integer when working out the month of the
release date.
Don't check for xemacs-extra-name, xemacs-release-date being
#'boundp, we control src/emacs.c, and can ensure they always are.
2017-03-15 Aidan Kehoe <kehoea@parhasard.net>
* make-docfile.el:
Don't bother working around a berkeley-unix and next-mach bug
that is likely long fixed anyway.
Print the stderr of make-docfile to the terminal instead of simply
discarding it.
Pass through make-docfile's exit code.
2017-03-13 Aidan Kehoe <kehoea@parhasard.net>
* ChangeLog:
* data.c:
Update mid.gmane.org to mid.xemacs.org. We miss you, Gmane.
2017-03-12 Aidan Kehoe <kehoea@parhasard.net>
Replace calls to #'string-match, where the match data isn't used,
with calls to #'string-match-p. This will lead to fewer
undesired interactions (= bugs) with other code.
* abbrev.el (define-abbrev):
* auto-save.el (auto-save-file-name-p):
* auto-save.el (auto-save-original-name):
* buff-menu.el (list-buffers-internal):
* byte-optimize.el (byte-compile-log-lap-1):
* bytecomp-runtime.el (error-unless-tests-match):
* bytecomp-runtime.el (byte-compile-file-being-compiled):
* bytecomp.el (byte-recompile-directory):
* bytecomp.el (byte-recompile-file):
* bytecomp.el (batch-byte-compile-one-file):
* cl-extra.el (names):
* cmdloop.el:
* cmdloop.el (keyboard-escape-quit):
* code-files.el (find-file-coding-system-for-read-from-filename):
* code-files.el (find-file-coding-system-for-write-from-filename):
* code-process.el (call-process):
* code-process.el (start-process):
* code-process.el (network-stream-open-starttls):
* code-process.el (open-network-stream):
* cus-edit.el (custom-guess-type):
* cus-edit.el (customize-apropos):
* custom.el (custom-group-of-mode):
* custom.el (custom-load-symbol):
* derived.el (derived-mode-make-docstring):
* descr-text.el (describe-text-sexp):
* etags.el (get-tag-table-buffer):
* etags.el (add-to-tag-completion-table):
* faces.el (face-complain-about-font):
* files.el:
* files.el (file-chase-links):
* files.el (find-file-noselect):
* files.el (set-auto-mode):
* files.el (hack-local-variables):
* files.el (hack-one-local-variable):
* files.el (file-name-sans-versions):
* files.el (make-backup-file-name-1):
* files.el (backup-file-name-p):
* files.el (backup-extract-version):
* files.el (file-relative-name):
* files.el (rename-uniquely):
* files.el (wildcard-to-regexp):
* files.el (shell-quote-wildcard-pattern):
* files.el (insert-directory):
* files.el (file-name-non-special):
* files.el (file-system-ignore-case-p):
* fill.el:
* fill.el (fill-context-prefix):
* finder.el (finder-edit):
* finder.el (finder-view):
2017-03-12 Aidan Kehoe <kehoea@parhasard.net>
Clean up auto-save.el, extend the functionality of
#'auto-save-{un,}escape-name.
* auto-save.el:
* auto-save.el (efs-auto-save-remotely):
Always provide a defvar for this, since this file is dumped efs.el
will not be loaded before auto-save.el.
* auto-save.el (auto-save-checked-directory):
Fix some indentation; remove some long-commented code, avoiding
distraction.
* auto-save.el (auto-save-name-in-fixed-directory):
We have DOC now, it's not expensive of RAM to have function
docstrings, uncomment this one.
* auto-save.el (auto-save-name-in-same-directory):
Ditto.
* auto-save.el (auto-save-reserved-chars):
Expand the docstring of this a little.
* auto-save.el (auto-save-escape-name):
Preserve those characters which wouldn't be preserved by
file-name-coding-system in this function.
* auto-save.el (auto-save-unescape-name):
Do the inverse of the newly-added functionality of
#'auto-save-escape-name.
* auto-save.el (auto-save-cyclic-hash-14):
Uncomment the docstring for this function.
2017-03-12 Aidan Kehoe <kehoea@parhasard.net>
* auto-save.el (auto-save-unescape-name):
Fix a bug in this, limit the hex parsing correctly.
2017-03-09 Aidan Kehoe <kehoea@parhasard.net>
* disp-table.el (standard-display-g1):
* disp-table.el (standard-display-graphic):
* disp-table.el (standard-display-underline):
* files.el (make-backup-file-name-1):
* files.el (wildcard-to-regexp):
* gtk-file-dialog.el (gtk-file-dialog-update-dropdown):
* info.el (Info-all-case-regexp):
* info.el (Info-scroll-next):
* map-ynp.el (map-y-or-n-p):
* menubar.el (menu-item-generate-accelerator-spec):
* menubar.el (menu-max-items):
* minibuf.el (get-user-response):
* package-admin.el (package-admin-check-manifest):
In contexts like (concat ... (char-to-string x) ...), (list x) is
a more idiomatic and faster way to construct a sequence. Use it.
* autoload.el (autoload-featurep-protect-autoloads):
The fixnum-char mapping for values less than #x100 is stable, no
need to construct the string "\x00-\xff" at runtime.
2017-03-04 Aidan Kehoe <kehoea@parhasard.net>
* startup.el (normal-top-level):
Bind an uninterned #:buffer, rather than #:ntl-buffer, which is
less distracting in backtraces.
(Commit chiefly done to help get the xemacs-commit hook posting
again.)
2017-02-20 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el:
* cl-macs.el (with-hash-table-iterator): New.
Make this Common Lisp special form available, the relevant C
runtime support has just been added.
2017-02-13 Aidan Kehoe <kehoea@parhasard.net>
* autoload.el (make-autoload):
* cl-macs.el (get-setf-method):
* files.el (abbreviate-file-name):
* regexp-opt.el (regexp-opt-depth):
* simple.el (delete-trailing-whitespace):
Replace (save-match-data (string-match ...)), detected
algorithmically, with (string-match-p ...). Similarly for the one
instance of (save-match-data (looking-at ...)).
2017-02-09 Aidan Kehoe <kehoea@parhasard.net>
* subr.el (safe-length): New. Moved here from data.c, there's no
indication to have this in C.
2017-01-15 Aidan Kehoe <kehoea@parhasard.net>
* subr.el (with-output-to-string):
Sigh, despite that we did not document that standard-output would
always be a Lisp buffer, a decent amount of code depends on that
behaviour, and so we cannot implement this in terms of
#'make-string-output-stream. Thanks for the bug report, Jerry James!
2017-01-14 Aidan Kehoe <kehoea@parhasard.net>
* minibuf.el (mouse-rfn-setup-vars): Move this to being a label.
* minibuf.el (mouse-read-file-name-1):
Define, use the label.
2017-01-14 Aidan Kehoe <kehoea@parhasard.net>
* cus-face.el:
* cus-face.el (custom-face-attributes):
Merge GNU's :height, equivalent to :size if a fixnum, providing a
scale factor if a float, and transforming in some way if a
function.
* cus-face.el (custom-set-face-font-height): New.
Implementation to set :height.
* faces.el:
* faces.el (make-face-family):
* faces.el (make-face-size):
Use #'apply-partially in these two functions, so the byte compiler
can check the lambda bodies for sanity.
* faces.el (make-face-height): New.
Do the bulk of the work of implementing the :height keyword. Not
done yet; code to make a proportional font size update on changing
of the font size from the font menu.
2017-01-14 Aidan Kehoe <kehoea@parhasard.net>
* cus-face.el (custom-face-inherit):
Whoops Ben in 7efd3a9bbcfb, (vector spec) does not check whether
SPEC is a vector, do it properly.
2017-01-14 Aidan Kehoe <kehoea@parhasard.net>
* font-menu.el:
* font-menu.el (font-menu-change-face): Renamed.
* font-menu.el (font-menu-maybe-change-face): New name for
#'font-menu-change-face.
Also give it a more comprehensive docstring, to avoid the sort of
mistake of 30118fdc4f1f.
No need for #'string-equal (there is on balance usually no need
for #'string-equal, #'equal has a bytecode).
* font-menu.el (font-menu-set-font):
Revert part of 30118fdc4f1f of 20021112, which meant the font menu
no longer worried about whether a given face was equivalent to the
current default face when deciding whether to change it.
Only message about changing a font if it is changed.
* cl-macs.el (assert):
Remove the artificial restriction that FORM must be a cons.
This restriction is also present in Common Lisp, but keeping it
adds no value for us.
2016-12-30 Aidan Kehoe <kehoea@parhasard.net>
* cl-extra.el (cl-macroexpand-all):
Shadow symbol macros when the corresponding symbols are
encountered in lambda argument lists with the symbol macro body.
Previously this was buggy in that the lambda argument lists were
left alone and the expansion was applied to the body of the
lambda, which no-one intended.
Implement a new SHADOW option for individual symbol macros,
specifying the Common Lisp behaviour.
* cl-macs.el (symbol-macrolet):
Document this shadowing in the docstring. Document the
transformation of `let', `let*' to `letf', `letf*'.
Document the new SHADOW option.
* cl-macs.el (cl-defsubst-expand):
Use the new SHADOW option in our symbol macros, to avoid problems
with argument substitution inside let bindings or lambda
expressions where that would be inappropriate.
2016-12-29 Aidan Kehoe <kehoea@parhasard.net>
Remove duplicate (and silently overridden) buffers tab Lisp code,
buff-menu.el.
* buff-menu.el:
* buff-menu.el (buffers-tab): Removed.
* buff-menu.el (buffers-tab-max-size): Removed.
* buff-menu.el (buffers-tab-switch-to-buffer-function): Removed.
* buff-menu.el (buffers-tab-omit-function): Removed.
* buff-menu.el (buffers-tab-selection-function): Removed.
* buff-menu.el (buffers-tab-filter-functions): Removed.
* buff-menu.el (buffers-tab-sort-function): Removed.
* buff-menu.el (buffers-tab-face): Removed.
* buff-menu.el (buffers-tab-grouping-regexp): Removed.
* buff-menu.el (buffers-tab-format-buffer-line-function): Removed.
* buff-menu.el (buffers-tab-default-buffer-line-length): Removed.
* buff-menu.el (buffers-tab-max-buffer-line-length): Removed.
* buff-menu.el (buffers-menu-omit-function): New.
* buff-menu.el (buffers-tab-switch-to-buffer): Removed.
* buff-menu.el (select-buffers-tab-buffers-by-mode): Removed.
* buff-menu.el (format-buffers-tab-line): Removed.
* buff-menu.el (buffers-tab-items): Removed.
* files.el (switch-to-next-buffer):
* files.el (switch-to-previous-buffer)
Use the usually-equivalent buffers-menu-omit-function in
#'switch-to-{next,previous}-buffer, since these functions are
always dumped and the buffers tab omit-function may well not be.
* files.el (switch-to-next-buffer-in-group): Removed.
* files.el (switch-to-previous-buffer-in-group): Removed.
Move #'switch-to-{next,previous}-buffer-in-group to
gutter-items.el, given they rely on the buffer tab grouping being
available.
* gutter-items.el:
* gutter-items.el (buffers-tab): New.
* gutter-items.el (buffers-tab-omit-some-buffers): New.
* gutter-items.el (select-buffers-tab-buffers-by-mode):
* gutter-items.el (switch-to-next-buffer-in-group): New.
* gutter-items.el (switch-to-previous-buffer-in-group): New.
* keydefs.el:
Only give #'switch-to-{next,previous}-buffer-in-group a keybinding
if the gutter is available.
2016-12-27 Aidan Kehoe <kehoea@parhasard.net>
* about.el (about-xemacs):
* auto-save.el (auto-save-unescape-name):
* cl-extra.el:
* cl-extra.el (upper-case-p):
* descr-text.el (unidata-initialize-unihan-database):
* files.el:
* files.el (backup-extract-version):
* font.el (font-parse-rgb-components):
Use (parse-integer ... :radix 16) rather than (string-to-number
(match-string ...) 16) where appropriate, creating less garbage
strings.
2016-11-28 Aidan Kehoe <kehoea@parhasard.net>
* minibuf.el (read-from-minibuffer):
Bind `help-form' within this function rather than using
help-keymap-with-help-key.
* help.el (function-really-at-point):
Rename this label from #'function-at-point, which should fix the
build (the file byte-compiled and ran fine, which is usually
enough). Thank you Mats Lidell and the buildbot.
2016-11-27 Aidan Kehoe <kehoea@parhasard.net>
* help.el (function-at-point): New.
* help.el (function-at-event): New.
* help.el (function-called-at-point): Reworked.
* help.el (function-at-point): Reworked.
* help.el (help-keymap-with-help-key): Removed, long obsolete.
Add support for detecting the current Lisp function if we are in
the context of a C file.
2016-11-23 Aidan Kehoe <kehoea@parhasard.net>
* dumped-lisp.el (preloaded-file-list):
Restore mule/digit.el to the list of dumped files, dropped
accidentally in the Unicode merge.
2016-11-21 Aidan Kehoe <kehoea@parhasard.net>
* obarray.el (obarray-map):
Correct the spelling of #'maphash when marking this for
compatibility.
2016-11-20 Aidan Kehoe <kehoea@parhasard.net>
* abbrev.el:
* abbrev.el (defining-abbrev-turns-on-abbrev-mode):
* abbrev.el (make-abbrev-table):
* abbrev.el (clear-abbrev-table):
* abbrev.el (define-abbrev-table):
* abbrev.el (define-abbrev):
* abbrev.el (inverse-add-abbrev):
* abbrev.el (expand-region-abbrevs):
Implement abbrev tables as hash-table objects, not as vectors.
* derived.el:
* derived.el (derived):
Ditto.
* obarray.el: New.
* obarray.el (xemacs-intern-in-vector):
* obarray.el (xemacs-intern-soft-in-vector):
* obarray.el (xemacs-unintern-in-vector):
* obarray.el (xemacs-mapatoms-in-vector):
* obarray.el (xemacs-next-iteration-in-vector):
For compatibility with all the emacs code out there that expects
that #'intern and friends can take vector arguments, provide a
non-dumped but autoloaded implementation of traditional emacs
obarrays, with the buckets implemented as individual slots in a
non-resizing vector and each entry in a bucket chained through a
symbol's next pointer.
* obarray.el (obarray-default-size): New.
* obarray.el (obarray-make): New.
* obarray.el (obarrayp): New.
* obarray.el (obarray-get): New.
* obarray.el (obarray-put): New.
* obarray.el (obarray-remove): New.
* obarray.el (obarray-map): New.
Import these ill-conceived GNU functions, mark them compatible.
* obsolete.el:
Provide autoloads for the traditional-obarray compatibility
functions.
2016-11-19 Aidan Kehoe <kehoea@parhasard.net>
* fontconfig.el (fc-define-property):
Supply the right number of arguments to #'format when creating the
fc-pattern-del- functions, now we have diagnostics that complain
when too many arguments are supplied.
2016-11-15 Aidan Kehoe <kehoea@parhasard.net>
* about.el (about-finish-buffer):
Restore an omitted arglist here.
* bytecomp.el (byte-compile-output-docform):
No need for char= here, use #'eql which will compile to a byte code.
* bytecomp.el (byte-compile-lambda):
Check for a likely interactive spec when examining the arglist
here, warn if encountered, the programmer probably omitted the
arglist (see the above about.el change for context).
2016-11-07 Aidan Kehoe <kehoea@parhasard.net>
* subr.el (char-int-p): New.
* subr.el (char-or-char-int-p): New.
* subr.el (char-or-string-p): New.
* subr.el (integer-or-marker-p): New.
* subr.el (integer-or-char-p): New.
* subr.el (integer-char-or-marker-p): New.
* subr.el (number-or-marker-p): New.
* subr.el (number-char-or-marker-p): New.
Move these basic predicates to subr.el from data.c
2016-10-30 Aidan Kehoe <kehoea@parhasard.net>
* dumped-lisp.el (preloaded-file-list):
Dump (preload) "font-menu" when the menubar is available,
"x-font-menu" when X and the menubar is available.
* font-menu.el (font-menu-family-constructor):
* font-menu.el (font-menu-size-constructor):
* font-menu.el (font-menu-weight-constructor):
* gtk-font-menu.el (gtk-reset-device-font-menus):
* gtk-font-menu.el (gtk-font-menu-font-data):
* msw-font-menu.el (mswindows-reset-device-font-menus):
* msw-font-menu.el (mswindows-font-menu-font-data):
* x-font-menu.el (x-reset-device-font-menus-core):
* x-font-menu.el (x-font-menu-font-data-xft):
* x-font-menu.el (x-font-menu-font-data-core):
Use #'assoc, which has a native implementation, instead of
#'vassoc, which is implemented in non-dumped Lisp, for the font
menu device cache.
Dump the font menu implementation code when the relevant features
are compiled in.
Makes the font face menu a little faster, though the bottleneck is
still loading the faces from the X server.
2016-09-11 Aidan Kehoe <kehoea@parhasard.net>
* abbrev.el (abbrev-symbol):
Use a label rather than binding a lambda when examining the local
and global tables.
* about.el (about-finish-buffer):
Use a label instead of binding a lambda.
* gtk-password-dialog.el (gtk-password-dialog-new):
Ditto.
* minibuf.el (minibuffer-complete-word):
Use a label rather than binding a lambda here; don't needlessly
bind something to the value of last-command-char.
* minibuf.el (read-file-name-internal-1):
Use #'file-name-absolute-p here, as an old comment suggested.
* minibuf.el (read-directory-name-internal):
Use a label rather than binding a lambda here.
* minibuf.el (mouse-read-file-name-1):
Ditto.
* mouse.el (default-mouse-track-cleanup-hook):
Ditto.
* mouse.el (default-mouse-track-cleanup-extent):
Ditto.
2016-11-04 Aidan Kehoe <kehoea@parhasard.net>
* select.el:
* select.el (select-convert-in):
Pass through VALUE if it is non-nil and there is no handler, don't
discard it. Useful for TARGETS, timestamps.
* select.el (select-convert-from-cf-unicodetext):
Supply this with an implementation even when mswindows-unicode
isn't available as a coding system.
* select.el (selection-converter-out-alist):
* select.el (selection-converter-in-alist):
Only include CF_TEXT in these alists conditionally (at dump time),
if the relevant coding system is available.
2016-09-11 Aidan Kehoe <kehoea@parhasard.net>
* gutter-items.el (buffers-tab-switch-to-buffer):
Don't walk windows and cons up the windows-of-buffers list twice,
needlessly, we only need one window and #'get-buffer-window does
the same thing without consing.
* gutter-items.el (select-buffers-tab-buffers-by-mode):
Use the regexp engine a little less in this function.
* gutter-items.el (format-buffers-tab-line):
Don't use the regexp engine in this function. Don't repeatedly
call #'buffer-name, save its result.
* gutter-items.el (build-buffers-tab-internal): Move this to being
a label within #'buffers-tab-items.
* gutter-items.el (buffers-tab-items):
Be more idiomatic in checking buffers-tab-filter-function, no need
to traverse the list twice.
Improve the algorithmic complexity of the code to implement the
buffers-tab-max-size functionality.
* menubar.el (check-menu-syntax):
* menubar.el (menu-item-strip-accelerator-spec):
Don't use the regexp engine in this function, we're called a good
deal in long menus and it's easy to implement it with functions
that have bytecodes.
* menubar.el (menu-item-generate-accelerator-spec):
Make this function's implementation faster in the common case
where OMIT-CHARS-LIST is nil.
2016-08-19 Aidan Kehoe <kehoea@parhasard.net>
* mwheel.el:
Sync functionality (though surprisingly little code) from
GNU. Thank you GNU.
Remove some unneeded compatibility code.
* mwheel.el (mwheel-scroll-amount): Removed.
* mwheel.el (mouse-wheel-scroll-amount): New.
Use GNU's newer, more sensible name for this variable.
* mwheel.el (mouse-wheel-click-event): New.
Event to ignore for a brief period after using the mouse wheel.
* mwheel.el (mouse-wheel-inhibit-click-time): New.
Numbeer of seconds to inhibit `mouse-wheel-click-event' after
using the mouse wheel.
* mwheel.el (mouse-wheel-progressive-speed): New.
Should the mouse wheel scroll more quickly if it is moved more
energetically?
* mwheel.el (mwheel-follow-mouse): Removed.
* mwheel.el (mouse-wheel-follow-mouse): New.
Rename the former to the latter.
* mwheel.el (mouse-wheel-scroll-up-function): New variable, the
command to call when scrolling up using the wheel, defaulting to
#'scroll-up-command.
* mwheel.el (mouse-wheel-scroll-down-function): New variable,
defaulting to #'scroll-down-command.
* mwheel.el (mwheel-install):
Support
* mwheel.el (mwheel-scroll):
* mwheel.el (mouse-wheel-scroll): Rename `mwheel-scroll' to
`mouse-wheel-scroll', something GNU (oddly) haven't, but something
that is clearer and more sensible.
* mwheel.el (mouse-wheel-scroll, mwheel-install):
Add autoload forms for these, since the auto-autoload code doesn't
understand how to parse symbol-macrolet.
* obsolete.el:
* obsolete.el ('mwheel-scroll): Make this available as an obsolete
alias for #'mouse-wheel-scroll.
* obsolete.el ('mwheel-scroll-amount): New.
Make this available as an obsolete variable alias for
mouse-wheel-scroll-amount.
* obsolete.el ('mwheel-follow-mouse): New.
Make this available as an obsolete variable alias for
mouse-wheel-follow-mouse.
* behavior-defs.el:
* behavior-defs.el (mwheel): Move the mwheel behavior here from
mwheel.el, so users can disable it from their init file.
* keydefs.el:
Be a little clearer in the implementation of this, bind the mouse
wheel events to #'mouse-wheel-scroll, which is autoloaded.
Incorporates the following GNU changes:
2002-12-02 Andreas Schwab <schwab@suse.de>
* mwheel.el (mouse-wheel-scroll-amount): Fix customize type.
2002-11-29 Markus Rost <rost@math.ohio-state.edu>
* mwheel.el (mouse-wheel-inhibit-click-time): Fix custom type.
2002-11-29 Kim F. Storm <storm@cua.dk>
* mwheel.el: Avoid accidental yanking of text while scrolling with
the mouse wheel. This adds a short period after each mouse wheel
scroll event where a click on the mouse wheel button is ignored.
(mouse-wheel-click-event, mouse-wheel-inhibit-click-time): New customs.
(mouse-wheel-click-button, mwheel-inhibit-click-event-timer): New vars.
(mwheel-inhibit-click-timeout, mwheel-filter-click-events): New defuns.
(mwheel-scroll): Add mwheel-filter-click-events as pre-command-hook.
Start mwheel-inhibit-click-event-timer with timeout handler
mwheel-inhibit-click-timeout.
2002-11-11 Markus Rost <rost@math.ohio-state.edu>
* mwheel.el (mouse-wheel-down-button, mouse-wheel-up-button):
Declare with defvar, not with defcustom.
2002-08-29 John Paul Wallington <jpw@shootybangbang.com>
* mwheel.el (mouse-wheel-up-button): Doc fix.
2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
* mwheel.el (mouse-wheel-change-button): Deactivate before changing.
(mouse-wheel-up-button, mouse-wheel-down-button): Obsolete.
(mouse-wheel-up-event, mouse-wheel-down-event): New vars.
(mouse-wheel-follow-mouse): Change default to t.
(mwheel-event-button): Return the basic event symbol.
(mwheel-scroll): Work with non-mouse events.
(mouse-wheel-mode): Use the new vars.
(mwheel-install): Obey `uninstall'.
2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
* mwheel.el (mouse-wheel-scroll-amount, mwheel-scroll)
(mouse-wheel-mode): Don't require the first element to be modifier-free.
2002-02-19 Sam Steingold <sds@gnu.org>
* mwheel.el (mouse-wheel-scroll-amount): Can specify different
scroll amounts for different modifiers now.
(mwheel-scroll): Handle the new `mouse-wheel-scroll-amount'
format properly.
(mouse-wheel-mode): Ditto.
2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
* mwheel.el (mouse-wheel-scroll-amount): Allow float values.
(mouse-wheel-progressive-speed): New var.
(mwheel-scroll): Use it and handle float values.
2004-11-11 Stefan Monnier <monnier@iro.umontreal.ca>
* mwheel.el (mouse-wheel-scroll-amount): Allow float values.
(mouse-wheel-progressive-speed): New var.
(mwheel-scroll): Use it and handle float values.
2006-02-14 Juanma Barranquero <lekktu@gmail.com>
* help.el (where-is): Fix message for remapped commands.
* mwheel.el (mouse-wheel-click-event, mouse-wheel-mode):
Fix typos in docstrings.
2006-02-11 Martin Rudalics <rudalics@gmx.at>
* mwheel.el (mouse-wheel-up-event): Doc fix.
2008-06-12 Glenn Morris <rgm@gnu.org>
* mwheel.el (mouse-wheel-follow-mouse, mwheel-event-window):
Evaluate definitions when compiling. Reverse tests.
2009-11-25 Juri Linkov <juri@jurta.org>
Mouse-wheel scrolling for DocView Continuous mode. (Bug#4896)
* mwheel.el (mwheel-scroll-up-function)
(mwheel-scroll-down-function): New defvars.
(mwheel-scroll): Funcall `mwheel-scroll-up-function' instead of
`scroll-up', and `mwheel-scroll-down-function' instead of
`scroll-down'.
2000-11-06 Miles Bader <miles@lsi.nec.co.jp>
* mwheel.el (mouse-wheel-scroll-amount): Rename from
`mwheel-scroll-amount'.
(mouse-wheel-follow-mouse): Rename from `mwheel-follow-mouse'.
(mouse-wheel-mode): Use (featurep 'xemacs) instead of
string-matching against the version string.
2016-07-30 Aidan Kehoe <kehoea@parhasard.net>
* menubar-items.el (build-buffers-menu-internal): Move to being a
label within #'buffers-menu-filter.
* menubar-items.el (buffers-menu-filter):
Implement #'build-buffers-menu-filter as an inlined label. Remove
a compatibility hack in its implementation.
Use backquotes to construct the individual menu items, making
things a little clearer.
Avoid uselessly calling #'length a few times, where #'nthcdr is
appropriate to determine if a list's length is larger than a given
value.
Avoid uselessly calling #'nreverse twice if dealing with groups.
* menubar-items.el (coding-system-menu-filter):
Correct a docstring in passing.
* menubar-items.el (buffers-menu-format-buffer-line-function):
Update the documentation of this function to document that we've
removed a compatibility hack.
2016-08-17 Aidan Kehoe <kehoea@parhasard.net>
* gnuserv.el (gnuserv-string): Removed.
* gnuserv.el (gnuserv-request-stream): New.
Replace gnuserv-string with gnuserv-request-stream, now we have
native support for string output streams.
* gnuserv.el (gnuserv-process-filter):
Avoid using the regexp engine in this function. Avoid using the
Lisp reader, use #'parse-integer, it's cheaper when parsing
integers.
* gnuserv.el (gnuserv-start-1):
Use #'clear-output here.
* subr.el (with-output-to-string):
Implement this using #'make-string-output-stream.
2016-07-06 Aidan Kehoe <kehoea@parhasard.net>
* cl-extra.el (terpri): Move this here from print.c.
* cl-macs.el: Document why there's no benefit to a compiler macro
for #'terpri.
* make-docfile.el:
* make-docfile.el (message):
* make-docfile.el (docfile-out-of-date):
Don't use #'terpri at build time, it's no longer available,
(write-char ?\n) instead.
2016-06-30 Aidan Kehoe <kehoea@parhasard.net>
* cl-extra.el (concatenate): Implement #'concatenate in
sequence.c, implement #'concat, #'vconcat, #'bvconcat in terms of
it rather than the other way around.
* find-paths.el (paths-no-lisp-directory-regexp):
* find-paths.el (paths-construct-path):
* find-paths.el (paths-construct-emacs-directory):
* find-paths.el (construct-emacs-version-name):
* find-paths.el (paths-directories-which-exist):
* loadup.el (really-early-error-handler):
* make-docfile.el (process-args):
* packages.el (packages-add-suffix):
* packages.el (packages-list-autoloads-path):
* update-elc.el (preloaded-file-list):
* update-elc.el (do-autoload-commands):
Use #'concatenate rather than #'concat in these files run at build
time, where #'concat's new implementation from subr.el is not
available.
* subr.el:
* subr.el (concat): Moved here from fns.c.
* subr.el (vconcat): Moved here from fns.c.
* subr.el (bvconcat): Moved here from fns.c.
Implement all three in terms of #'concatenate. Maintain the
#'concat bytecode for the moment.
2016-01-04 Stephen J. Turnbull <stephen@xemacs.org>
* cl-seq.el (delete-if): Fix typo in docstring.
2015-09-26 Michael Sperber <mike@xemacs.org>
* info.el (Info-read-subfile): Follow change in Makeinfo 5.0 with
arithmetic of node positions.
2015-06-22 Stephen J. Turnbull <stephen@xemacs.org>
* itimer-autosave.el (auto-save-timeout): Customize in group 'auto-save.
2015-06-11 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el (equalp):
Fix a bug in this compiler macro when passed constants in a
certain order.
2015-06-03 Aidan Kehoe <kehoea@parhasard.net>
* code-files.el (load):
Revise this to respect load-ignore-out-of-date-elc-files, rather
than leaving that to #'load-internal. Avoids a corner case where
the source and the compiled file have different, incompatible
encodings.
Move the call to #'substitute-in-file-name here.
No longer check for a zero-length filename, since #'load-internal
no longer chokes on same and errors correctly.
2015-05-15 Aidan Kehoe <kehoea@parhasard.net>
* simple.el:
* simple.el (line-number): Moved to buffer.c; we have an existing
line number cache in C, it's a shame not to have it available.
2015-05-29 Aidan Kehoe <kehoea@parhasard.net>
* byte-optimize.el (side-effect-free-fns):
Add #'integer-length, #'logcount here.
* cl-extra.el:
* cl-extra.el (integer-length):
Update this to avoid allocating memory.
* cl-extra.el (logcount): New. Return the number of one bits in
INTEGER, if non-negative. Function from Common Lisp.
2015-04-11 Aidan Kehoe <kehoea@parhasard.net>
* mule/mule-cmds.el (set-locale-for-language-environment):
Bind `position' as a local variable here, as was the original
intention.
2015-04-11 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el:
* cl-macs.el (check-type):
Correct the sense of the type test here when PLACE is not
setf'able, something which gave confusing errors with literal
fixnums or, e.g., (+ 30 40).
2015-04-04 Aidan Kehoe <kehoea@parhasard.net>
* gutter-items.el (append-progress-feedback):
* gutter-items.el (abort-progress-feedback):
Correct comments in both these functions, it's the progress stack
being adjusted, not the message stack.
* simple.el (message-stack):
Describe my recent change in the structure of this.
* simple.el (current-message):
Adjust the implementation of this to always return the string
displayed.
2015-04-03 Aidan Kehoe <kehoea@parhasard.net>
* gnuserv.el (gnuserv-edit-files):
No need to memorise the device created for the sake of C-x #, if
the client is not waiting for us.
Fixes a bug in the following situation:
-- Start gnuserv from an XEmacs within screen
-- Call gnuclient with an X11 display available, connecting
successfully to that XEmacs and creating an X11 frame
-- Then call gnuclient file-name.txt, save the file, then type C-x
#; this deletes all the frames on the device, which it shouldn't.
2015-04-01 Aidan Kehoe <kehoea@parhasard.net>
When calling #'string-match with a REGEXP without regular
expression special characters, call #'search, #'mismatch, #'find,
etc. instead, making our code less likely to side-effect other
functions' match data and a little faster.
* apropos.el (apropos-command):
* apropos.el (apropos):
Call (position ?\n ...) rather than (string-match "\n" ...) here.
* buff-menu.el:
* buff-menu.el (buffers-menu-omit-invisible-buffers):
Don't fire up the regexp engine just to check if a string starts
with a space.
* buff-menu.el (select-buffers-tab-buffers-by-mode):
Don't fire up the regexp engine just to compare mode basenames.
* buff-menu.el (format-buffers-tab-line):
* buff-menu.el (build-buffers-tab-internal): Moved to being a
label within the following.
* buff-menu.el (buffers-tab-items): Use the label.
* bytecomp.el (byte-compile-log-1):
Don't fire up the regexp engine just to look for a newline.
* cus-edit.el (get):
Ditto.
* cus-edit.el (custom-variable-value-create):
Ditto, but for a colon.
* descr-text.el (describe-text-sexp):
Ditto.
* descr-text.el (describe-char-unicode-data):
Use #'split-string-by-char given that we're just looking for a
semicolon.
* descr-text.el (describe-char):
Don't fire up the regexp engine just to look for a newline.
* disass.el (disassemble-internal):
Ditto.
* files.el (file-name-sans-extension):
Implement this using #'position.
* files.el (file-name-extension):
Correct this function's docstring, implement it in terms of
#'position.
* files.el (insert-directory):
Don't fire up the regexp engine to split a string by space; don't
reverse the list of switches, this is actually a longstand bug as
far as I can see.
* gnuserv.el (gnuserv-process-filter):
Use #'position here, instead of consing inside #'split-string
needlessly.
* gtk-file-dialog.el (gtk-file-dialog-update-dropdown):
Use #'split-string-by-char here, don't fire up #'split-string for
directory-sep-char.
* gtk-font-menu.el (hack-font-truename):
Implement this more cheaply in terms of #'find,
#'split-string-by-char, #'equal, rather than #'string-match,
#'split-string, #'string-equal.
* hyper-apropos.el (hyper-apropos-grok-functions):
* hyper-apropos.el (hyper-apropos-grok-variables):
Look for a newline using #'position rather than #'string-match in
these functions.
* info.el (Info-insert-dir):
* info.el (Info-insert-file-contents):
* info.el (Info-follow-reference):
* info.el (Info-extract-menu-node-name):
* info.el (Info-menu):
Look for fixed strings using #'position or #'search as appropriate
in this file.
* ldap.el (ldap-decode-string):
* ldap.el (ldap-encode-string):
#'encode-coding-string, #'decode-coding-string are always
available, don't check if they're fboundp.
* ldap.el (ldap-decode-address):
* ldap.el (ldap-encode-address):
Use #'split-string-by-char in these functions.
* lisp-mnt.el (lm-creation-date):
* lisp-mnt.el (lm-last-modified-date):
Don't fire up the regexp engine just to look for spaces in this file.
* menubar-items.el (default-menubar):
Use (not (mismatch ...)) rather than #'string-match here, for
simple regexp.
Use (search "beta" ...) rather than (string-match "beta" ...)
* menubar-items.el (sort-buffers-menu-alphabetically):
* menubar-items.el (sort-buffers-menu-by-mode-then-alphabetically):
* menubar-items.el (group-buffers-menu-by-mode-then-alphabetically):
Don't fire up the regexp engine to check if a string starts with
a space or an asterisk.
Use the more fine-grained results of #'compare-strings; compare
case-insensitively for the buffer menu.
* menubar-items.el (list-all-buffers):
* menubar-items.el (tutorials-menu-filter):
Use #'equal rather than #'string-equal, which, in this context,
has the drawback of not having a bytecode, and no redeeming
features.
* minibuf.el:
* minibuf.el (un-substitute-in-file-name):
Use #'count, rather than counting the occurences of $ using the
regexp engine.
* minibuf.el (read-file-name-internal-1):
Don't fire up the regexp engine to search for ?=.
* mouse.el (mouse-eval-sexp):
Check for newline with #'find.
* msw-font-menu.el (mswindows-reset-device-font-menus):
Split a string by newline with #'split-string-by-char.
* mule/japanese.el:
* mule/japanese.el ("Japanese"):
Use #'search rather than #'string-match; canoncase before
comparing; fix a bug I had introduced where I had been making case
insensitive comparisons where the case mattered.
* mule/korea-util.el (default-korean-keyboard):
Look for ?3 using #'find, not #'string-march.
* mule/korea-util.el (quail-hangul-switch-hanja):
Search for a fixed string using #'search.
* mule/mule-cmds.el (set-locale-for-language-environment):
#'position, #'substitute rather than #'string-match,
#'replace-in-string.
* newcomment.el (comment-make-extra-lines):
Use #'search rather than #'string-match for a simple string.
* package-get.el (package-get-remote-filename):
Use #'position when looking for ?@
* process.el (setenv):
* process.el (read-envvar-name):
Use #'position when looking for ?=.
* replace.el (map-query-replace-regexp):
Use #'split-string-by-char instead of using an inline
implementation of it.
* select.el (select-convert-from-cf-text):
* select.el (select-convert-from-cf-unicodetext):
Use #'position rather than #'string-match in these functions.
* setup-paths.el (paths-emacs-data-root-p):
Use #'search when looking for simple string.
* sound.el (load-sound-file):
Use #'split-string-by-char rather than an inline reimplementation
of same.
* startup.el (splash-screen-window-body):
* startup.el (splash-screen-tty-body):
Search for simple strings using #'search.
* version.el (emacs-version):
Ditto.
* x-font-menu.el (hack-font-truename):
Implement this more cheaply in terms of #'find,
#'split-string-by-char, #'equal, rather than #'string-match,
#'split-string, #'string-equal.
* x-font-menu.el (x-reset-device-font-menus-core):
Use #'split-string-by-char here.
* x-init.el (x-initialize-keyboard):
Search for a simple string using #'search.
2015-03-16 Aidan Kehoe <kehoea@parhasard.net>
* tty-init.el (make-frame-after-init-entry-point):
Some parentheses were placed badly here with the last change,
thank you Mats for pointing it out; in passing, change to a
version of the code that doesn't create a string for garbage, not
that it matters.
2015-03-16 Aidan Kehoe <kehoea@parhasard.net>
* obsolete.el (max-char):
Make this available for compatiblity with GNU, implement it in
terms of char-code-limit.
2015-03-15 Aidan Kehoe <kehoea@parhasard.net>
* tty-init.el (make-frame-after-init-entry-point):
Behave better when TERM was not set; use
#'console-tty-terminal-type instead of (getenv "TERM") so we get
the value that reflects the current console. Thank you Uwe Brauer!
* mule/mule-tty-init.el (mule-tty-win-initted): Removed.
* mule/mule-tty-init.el (init-mule-tty-win): Removed.
* mule/mule-tty-init.el: Remove this file in its entirety.
* mule/mule-x-init.el (x-use-halfwidth-roman-font): Removed.
* mule/mule-x-init.el: Remove this file in its entirety.
* dumped-lisp.el (preloaded-file-list): Remove them from the
dumped file list. The functions within haven't been used since
they were imported from Mule in 1999, and the functionality of
init-mule-tty-win was already in tty-init.el. If someone wants to
automatically use a halfwidth roman font, they can go hunting for
the code, but there are no users on http://searchco.de/ as of
20150315. Leaving them around is confusing and distracting.
2015-03-14 Aidan Kehoe <kehoea@parhasard.net>
* simple.el (quoted-insert):
Update the docstring here, syncing GNU's, especially mentioning
read-quoted-char-radix.
* cmdloop.el:
* cmdloop.el (read-quoted-char-radix): Move this up here, outside
the functions.
* cmdloop.el (read-function-key-map): New label, reading and
replacing characters from function-key-map if appropriate.
* cmdloop.el (read-quoted-char): Multiple changes:
-- Take advantage of help-event-list, but be careful not to have
any keystrokes with character equivalents in it, so the user can
type C-q C-h and have the expected result.
-- Use function-key-map, as does #'read-char and
#'read-exclusive-char, helpful for character composition under
X11.
-- Pop up the help window ourselves if, e.g. F1 arrives on a TTY
via function-key-map, event-stream won't have done it.
-- Error if no keystroke that can be converted into a character is
specified, don't just insert ?\x00 as we used to and as does GNU
-- Use #'digit-char-p instead of reimplementing it.
-- Fix a bug of mine where I wasn't consistent about treating
character codes as Unicode.
2015-03-14 Aidan Kehoe <kehoea@parhasard.net>
* cmdloop.el (no-character-typed):
New error, for those cases when a keystroke is to be treated as a
character but has no character equivalent.
* cmdloop.el (read-char-1): Use it.
* keymap.el (synthesize-keysym): Use it.
2015-03-14 Aidan Kehoe <kehoea@parhasard.net>
* cus-start.el (all): Describe help-event-list for Custom.
* keydefs.el (help-event-list): Initialise it.
2015-03-12 Aidan Kehoe <kehoea@parhasard.net>
* simple.el (append-message): Be more careful about saving a
non-nil value for START in message-stack.
2015-03-11 Aidan Kehoe <kehoea@parhasard.net>
* isearch-mode.el:
* isearch-mode.el (isearch-fix-case):
Use the new #'no-case-regexp-p function if treating ISEARCH-STRING
as a regular expression; otherwise, use the [[:upper:]] character
class.
* isearch-mode.el (isearch-no-upper-case-p): Removed.
* isearch-mode.el (with-caps-disable-folding): Removed.
These two haven't been used since 1998.
* occur.el (occur-1):
Use #'no-case-regexp-p here.
* replace.el (perform-replace):
Don't use #'no-upper-case-p, use #'no-case-regexp-p or
(string-match "[[:upper:]]" ...) as appropriate.
* simple.el:
* simple.el (no-upper-case-p): Removed. This did two different
things, and its secondary function (examining regular expressions)
just became much more complicated; move the regular expression
functionality to its own function, use character classes when
examining non-regular-expressions instead.
The code to look for character classes, and the design decision
that this should be done, are from GNU, thank you Stefan Monnier.
* simple.el (no-case-regexp-p): New.
Given a REGEXP, return non-nil if it has nothing to suggest an
interactive user wants a case-sensitive search.
* simple.el (with-search-caps-disable-folding):
* simple.el (with-interactive-search-caps-disable-folding):
Update both these macros to use #'no-case-regexp-p.
2015-03-11 Aidan Kehoe <kehoea@parhasard.net>
Correct #'clear-message and friends so the START and END supplied
to #'append-message are reflected when restoring messages from the
message stack.
* simple.el (remove-message-hook):
Update this to reflect the START and END keyword arguments.
* simple.el (log-message):
Update this to take START and END keyword arguments.
* simple.el (clear-message):
Update this to reflect a changed `message-stack' alist structure.
* simple.el (remove-message):
Update this to reflect a changed `message-stack' alist structure;
don't do `with-trapping-errors' and resignal use
#'call-with-condition-handler directly instead, for better
backtraces and easier debugging.
* simple.el (append-message):
Update this to reflect a changed message-stack structure.
2015-03-08 Aidan Kehoe <kehoea@parhasard.net>
* mule/digit.el: New file, specifying integer weights for those
decimal digits specified by Unicode, and for the Latin characters
in ASCII.
* dumped-lisp.el (preloaded-file-list):
Dump this file, so those weights are available at runtime.
2015-02-25 Aidan Kehoe <kehoea@parhasard.net>
* cl-extra.el (digit-char-p): Moved to data.c.
* cl-extra.el (digit-char): Moved to data.c.
2014-12-31 Michael Sperber <mike@xemacs.org>
* simple.el (line-move): Add `noerror' optional argument, as in
GNU Emacs.
2014-11-10 Michael Sperber <mike@xemacs.org>
* custom.el (custom-add-package-version): The car of a
:package-version is a symbol, not a string.
2014-10-11 Stephen J. Turnbull <stephen@xemacs.org>
* mule/korea-util.el (korean-key-bindings):
* mule/ethio-util.el (setup-ethiopic-environment-internal):
Change invalid GNU-style key definitions to XEmacs format.
2014-10-07 Jerry James <james@xemacs.org>
* code-process.el (network-stream-get-response):
(network-stream-command):
(network-stream-open-plain):
(network-stream-open-tls):
(network-stream-certificate):
(network-stream-open-starttls):
(network-stream-open-shell): New functions.
(open-network-stream): Accept Emacs-compatible arguments.
2014-09-27 Michael Sperber <mike@xemacs.org>
* custom.el (defcustom):
(custom-handle-keyword): Handle :package-version without bailing out.
2014-09-25 Jerry James <james@xemacs.org>
* bytecomp.el (byte-compile-insert-header): do not insert
timestamps in .elc comments to get reproducible builds.
2014-08-05 Aidan Kehoe <kehoea@parhasard.net>
* keymap.el:
* keymap.el (event-apply-modifiers):
When a character keysym has case information, apply the shift
modifier to it by upcasing it.
* keymap.el (synthesize-keysym):
Document this a little.
* keymap.el (synthesize-unicode-codepoint): New.
Like #'synthesize-keysym, but synthesizing a Unicode codepoint.
* keymap.el (function-key-map-parent): Bind control shift u to
synthesize a Unicode character input, as does GTK+ and as
specified by ISO 14755.
2014-08-06 Aidan Kehoe <kehoea@parhasard.net>
* fontconfig.el (fc-name-parse-harder):
Improve style here, don't re-implement #'split-string-by-char with
its ESCAPE-CHAR argument, look for a string prefix in a list of
candidates in a more CL-idiomatic way, use the language's features
for boolean or.
2014-07-14 Aidan Kehoe <kehoea@parhasard.net>
* simple.el (raw-append-message):
Use #'write-sequence in this, take its START and END keyword
arguments, so our callers don't have to cons as much.
* simple.el (append-message):
Pass through START and END here.
2014-07-02 Aidan Kehoe <kehoea@parhasard.net>
* byte-optimize.el (side-effect-free-fns):
#'keymapp is not side-effect-free, it can autoload.
2014-07-02 Aidan Kehoe <kehoea@parhasard.net>
* cmdloop.el:
* cmdloop.el (read-char-1): New.
* cmdloop.el (read-char, read-char-exclusive):
Use #'read-char-1 in these function; sync their API with that of
GNU, respect `function-key-map' where we didn't before, add
initial support for Quail input methods.
* keymap.el (next-key-event):
Accept EVENT and PROMPT arguments, as does #'next-command-event.
* keymap.el (event-apply-modifiers):
Use #'functionp here, no need to exclude lambdas from
`function-key-map'.
* keymap.el (synthesize-keysym):
Correct this function's docstring.
2014-04-19 Mats Lidell <matsl@xemacs.org>
* help.el: Sync from GNU - Link to customize if applicable and
display version info. Other changes: Remove use of button-2.
return and button-1 use activate-function. Move between
activate-function-extents with tab.
2014-01-27 Michael Sperber <mike@xemacs.org>
* font-lock.el (font-lock-regexp-grouping-backslash,
font-lock-regexp-grouping-construct): Add these, as in GNU Emacs.
2014-01-27 Michael Sperber <mike@xemacs.org>
* lisp.el (check-parens): Add, from GNU Emacs.
2014-01-27 Michael Sperber <mike@xemacs.org>
* custom.el (custom-declare-variable, defcustom): Add :risky and
:safe options
2013-12-30 Byrel Mitchell <byrel.mitchell@gmail.com>
* menubar.el (add-menu-item-1, delete-menu-item): Do not assume
every top-level menu is on current-menubar.
2013-12-22 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el:
* cl-macs.el (princ): New compiler macro.
Transform #'princ to #'write-sequence if we can determine at
compile time that it is being passed a string. Initialising the
printer is expensive enough, but much of our code took this
approach because #'write-sequence wasn't available.
2013-12-17 Aidan Kehoe <kehoea@parhasard.net>
* simple.el (blink-matching-open):
When showing the opening parenthesis in the minibiffer, use the
isearch face for it, in case there are multiple parentheses in the
text shown.
When writing moderately involved macros, it's often not enough
just to show the backquote context before the parenthesis
(e.g. @,.`). Skip over that when searching for useful context in
the same way we skip over space and tab.
* simple.el (message):
* simple.el (lmessage):
If there are no ARGS, don't call #'format. This allows extent
information to be passed through to the minibuffer.
It's probably better still to update #'format to preserve extent
info.
2013-12-17 Aidan Kehoe <kehoea@parhasard.net>
* cl-extra.el:
* cl-extra.el (write-string): New.
* cl-extra.el (write-line): New.
Add these here, implemented in terms of #'write-sequence in print.c.
2013-09-15 Mats Lidell <matsl@cxemacs.org>
* files.el (mode-require-final-newline): Variable synced from
GNU. Thank you GNU. Allows modes to control final newlines.
(require-final-newline): Add action on visiting and visiting or
saving in sync with GNU.
* text-mode.el (text-mode): Use mode-require-final-newline.
2013-09-10 Stephen J. Turnbull <stephen@xemacs.org>
* fontconfig.el (fc-name-parse-known-problem-attributes): New.
(fc-name-parse-harder): New.
* font.el (xft-font-create-object): Use fc-name-parse-harder.
2013-08-21 Aidan Kehoe <kehoea@parhasard.net>
* startup.el (normal-top-level):
Use #'call-with-condition-handler here when calling
#'command-line, giving better backtraces on error.
Be careful about the current buffer in HANDLER.
2013-08-21 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el:
* bytecomp.el (gensym):
* bytecomp.el (byte-compile-gensym): New.
Warn that gensym called in a for-effect context is unlikely to be
useful.
Warn about non-string non-integer ARGs, this is incorrect.
Am not changing the function to error with same, most code that
makes the mistake has no problems, which is why it has survived
so long.
* window-xemacs.el (save-window-excursion/mapping):
* window.el (save-window-excursion):
Call #'gensym with a string, not a symbol.
2013-08-05 Aidan Kehoe <kehoea@parhasard.net>
* isearch-mode.el (isearch-pre-command-hook):
If this function is called and (this-command-keys) contains
misc-user events, #'key-binding throws an error.
Eddie Corns and Alex Belits describe this happening in tracker
issue 336, and we can avoid this by catching the error and
handling the misc-user event in the same way that #'dispatch-event
does.
I haven't reproduced the actual error they describe, and welcome
testing to make sure it's gone.
Thank you Eddie, thank you Alex!
2013-08-05 Aidan Kehoe <kehoea@parhasard.net>
* behavior.el:
(override-behavior):
Correct some spelling and formatting here, thank you Steven
Mitchell in tracker issue 826.
2013-08-05 Aidan Kehoe <kehoea@parhasard.net>
* mule/latin.el:
Add a Latin-script Azeri language environment, with UTF-8 as the
encoding and case information for schwa.
ChangeLog Entries from lwlib/ChangeLoggoto announcement, summary, changes 2023-05-13 Aidan Kehoe <kehoea@parhasard.net>
* XEmacs 21.5.35 "kohlrabi" is released.
2022-07-02 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* lwlib-fonts.h:
Add <X11/X.h> before the include of <X11/Xft/Xft.h> for old versions of
Xft where including the plain Xft.h doesn't include for the X defines.
2022-03-14 Aidan Kehoe <kehoea@parhasard.net>
* xlwgauge.c (GaugeExpose):
* xlwgauge.c (GaugeQueryGeometry):
Use our REGISTER #define, avoid warnings with g++ 11.
2021-10-27 Aidan Kehoe <kehoea@parhasard.net>
* lwlib-Xaw.c: Don't check for STDC_HEADERS, unconditionally
#include <stdlib.h>
2017-11-23 Stephen J. Turnbull <stephen@xemacs.org>
* lwlib-colors.c (xft_convert_color): Remove unused variable.
2017-11-12 Aidan Kehoe <kehoea@parhasard.net>
* lwlib-internal.h:
Make min(), max() available as macros to lwlib as well as to the
core code. Thank you Mats Lidell and the buildbot.
2016-12-30 Aidan Kehoe <kehoea@parhasard.net>
* lwlib-Xlw.c (xlw_update_one_widget):
Remove a set-but-not used variable here.
2015-06-22 Michael Sperber <mike@xemacs.org>
* lwlib-colors.h:
* lwlib-colors.c (xft_convert_color_1): Introduce, and make
`xft_convert_color' use it.
2015-01-07 Jerry James <james@xemacs.org>
* lwlib-Xaw.c (xaw_scrollbar_scroll): Add typecast to fix g++ build,
problem reported by Marcus Harnisch.
2015-01-08 Stephen J. Turnbull <stephen@xemacs.org>
Fix progress bar crashes.
Thanks to Ralf Soergel for diagnosis and a patch.
* xt-wrappers.h (HAVE_ATHENA_I18N):
Define XAW_INTERNATIONALIZATION when needed.
ChangeLog Entries from man/ChangeLoggoto announcement, summary, changes 2023-05-13 Aidan Kehoe <kehoea@parhasard.net>
* XEmacs 21.5.35 "kohlrabi" is released.
2022-12-24 Aidan Kehoe <kehoea@parhasard.net>
* lispref/eval.texi (Special Operators):
* lispref/eval.texi (Autoloading):
* lispref/files.texi (File Name Completion):
* lispref/intro.texi (A Sample Variable Description):
* lispref/objects.texi (Primitive Function Type):
* lispref/os.texi (Terminal-Specific):
* lispref/searching.texi (Syntax of Regexps):
* lispref/strings.texi (String Basics):
* lispref/tooltalk.texi (Elisp Interface for Sending Messages):
* lispref/tooltalk.texi (Elisp Interface for Receiving Messages):
* new-users-guide/xmenu.texi (Options Menu):
* termcap.texi (Preparation):
* termcap.texi (Find):
* termcap.texi (Interrogate):
* termcap.texi (Initialize):
* termcap.texi (Output Padding):
* termcap.texi (Encode Parameters):
* termcap.texi (tparam):
* termcap.texi (tgoto):
* termcap.texi (Capability Format):
* termcap.texi (Naming):
* termcap.texi (Scrolling):
* termcap.texi (Insdel Line):
* termcap.texi (Keypad):
* termcap.texi (Meta Key):
* xemacs/abbrevs.texi (Defining Abbrevs):
* xemacs/abbrevs.texi (Expanding Abbrevs):
* xemacs/abbrevs.texi (Saving Abbrevs):
* xemacs/abbrevs.texi (Dynamic Abbrevs):
* xemacs/basic.texi (Moving Point):
* xemacs/buffers.texi (Select Buffer):
* xemacs/buffers.texi (List Buffers):
* xemacs/buffers.texi (Misc Buffer):
* xemacs/buffers.texi (Kill Buffer):
* xemacs/building.texi (Compilation):
* xemacs/building.texi (Lisp Eval):
* xemacs/building.texi (Lisp Debug):
* xemacs/calendar.texi (Special Diary Entries):
* xemacs/calendar.texi (Calendar Customizing):
* xemacs/calendar.texi (Holiday Customizing):
* xemacs/calendar.texi (Diary Customizing):
* xemacs/calendar.texi (Fancy Diary Display):
* xemacs/custom.texi (Minor Modes):
* xemacs/custom.texi (Locals):
* xemacs/custom.texi (File Variables):
* xemacs/custom.texi (Kbd Macro Query):
* xemacs/custom.texi (Keymaps):
* xemacs/custom.texi (Interactive Rebinding):
* xemacs/custom.texi (Init Syntax):
* xemacs/custom.texi (Terminal Init):
* xemacs/custom.texi (Audible Bell):
* xemacs/display.texi (Scrolling):
* xemacs/display.texi (Selective Display):
* xemacs/files.texi (Backup Copying):
* xemacs/files.texi (Interlocking):
* xemacs/files.texi (Recover):
* xemacs/files.texi (Dired Edit):
* xemacs/files.texi (Dired Deletion):
* xemacs/files.texi (Dired Immed):
* xemacs/files.texi (Misc File Ops):
* xemacs/fixit.texi (Kill Errors):
* xemacs/fixit.texi (Transpose):
* xemacs/fixit.texi (Fixing Case):
* xemacs/fixit.texi (Spelling):
* xemacs/frame.texi (Frame):
* xemacs/frame.texi (Mode Line):
* xemacs/glossary.texi (Glossary):
* xemacs/indent.texi (Indentation Commands):
* xemacs/keystrokes.texi (Intro to Keystrokes):
* xemacs/keystrokes.texi (Key Sequences):
* xemacs/keystrokes.texi (Meta Key):
* xemacs/keystrokes.texi (Super and Hyper Keys):
* xemacs/keystrokes.texi (Commands):
* xemacs/killing.texi (Killing):
* xemacs/killing.texi (Appending Kills):
* xemacs/killing.texi (Earlier Kills):
* xemacs/menus.texi (File Menu):
* xemacs/menus.texi (Edit Menu):
* xemacs/menus.texi (Options Menu):
* xemacs/misc.texi (Sorting):
* xemacs/misc.texi (Single Shell):
* xemacs/misc.texi (Interactive Shell):
* xemacs/picture.texi (Basic Picture):
* xemacs/picture.texi (Tabs in Picture):
* xemacs/picture.texi (Rectangles in Picture):
* xemacs/programs.texi (Lists):
* xemacs/programs.texi (Tag Syntax):
* xemacs/programs.texi (Tags Search):
* xemacs/programs.texi (Fortran Abbrev):
* xemacs/search.texi (Incremental Search):
* xemacs/search.texi (Regexps):
* xemacs/search.texi (Search Case):
* xemacs/search.texi (Regexp Replace):
* xemacs/search.texi (Query Replace):
* xemacs/sending.texi (Sending Mail):
* xemacs/sending.texi (Mail Headers):
* xemacs/sending.texi (Mail Mode):
* xemacs/text.texi (TeX Mode):
* xemacs/text.texi (TeX Editing):
* xemacs/text.texi (TeX Print):
* xemacs/text.texi (Outline Motion):
* xemacs/text.texi (Outline Visibility):
* xemacs/text.texi (Words):
* xemacs/text.texi (Sentences):
* xemacs/text.texi (Paragraphs):
* xemacs/text.texi (Fill Commands):
* xemacs/text.texi (Fill Prefix):
* xemacs/text.texi (Case):
* xemacs/trouble.texi (Bugs):
* xemacs/windows.texi (Split Window):
* widget.texi (Setting Up the Buffer):
* widget.texi (Utilities):
Remove @refill from all these files at the instigation of recent
versions of makeinfo(1), using Ben's gr script.
2022-11-27 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi (Intro to Window and Frame Geometry):
Double @-signs in the ASCII-art diagram in this section, thank you
Matsl.
2022-08-28 Aidan Kehoe <kehoea@parhasard.net>
* lispref/strings.texi (Text Comparison):
Deprecate #'string-equal in the Lispref.
2022-08-17 Henry S. Thompson <ht@home.hst.name>
* internals/internals.texi: Fixes to Old Future Work to avoid
build error and navigation problems: Add missing index entry,
replace one @subsection with @section, re-run auto-generation of
@node
2022-08-04 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* xemacs/cmdargs.texi (Command Switches):
Document the -no-configured-paths command line flag.
2022-07-11 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi (Old Future Work -- Display Tables):
Move this section here from Future Work, now it has been
implemented.
2022-07-09 Aidan Kehoe <kehoea@parhasard.net>
* lispref/strings.texi (Formatting Strings):
Document the ?z integer length modifier.
2022-05-18 Jaakko Salomaa <jaakko.salomaa@iki.fi>
* internals/internals.texi (OpenSSL bignum driver):
Documentation for the OpenSSL bignum driver.
2022-02-19 Aidan Kehoe <kehoea@parhasard.net>
* lispref/searching.texi (Regexp Search):
* lispref/searching.texi (POSIX Regexps):
Clarify that implementing versions of #'looking-at-p,
#'string-match-p that follow POSIX rules doesn't add anything.
2021-11-03 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi (garbage_collect_1):
* internals/internals.texi (lrecords):
Adjust the documentation of the garbage collector slightly to
better reflect that KKCC is the default. Still needs a bit more work.
2021-10-27 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi (Dumping Justification):
Update the documentation of the dumping process.
2021-10-23 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi (Top):
* internals/internals.texi (Debugging and Testing):
* internals/internals.texi (lrecords):
Remove documentation of details of the implementation of the
incremental garbage collector. Document experience with it and its
removal in October 2021.
2021-10-19 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi (Q210341 says this in addition): Removed.
* internals/internals.texi (SUMMARY): Removed.
* internals/internals.texi (MORE INFORMATION): Removed.
* internals/internals.texi (wide character functions as
implemented on Windows 95): Removed.
* internals/internals.texi (REFERENCES): Removed.
* internals/internals.texi (Microsoft Knowledge Base): Removed.
* internals/internals.texi (Knowledge Base): Removed.
* internals/internals.texi (see the following book): Removed.
* internals/internals.texi (Background white paper): Removed.
* internals/internals.texi (Random other Windows I18N docs):
* internals/internals.texi (NOTE): Removed.
* internals/internals.texi (Unicode support under Windows):
Revise this file in detail now we have removed support for Windows
95/98/Me systems.
2021-05-27 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi (garbage_collect_1):
Remove documentation of special treatment of profiling info by GC,
something no longer done.
* internals/internals.texi (Profiling):
Document that we now use a Lisp hash table for the profiling
ticks, being careful to have sufficient space within it so that it
is never resized within a signal handler.
2021-05-26 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi (Stream Pairs):
* internals/internals.texi (Converting Events):
Update the documentation of the unique stream identifiers to
reflect that these are now Lisp objects.
2021-03-25 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi (Critical Redisplay Sections):
Document that the start_end_of_last_line() code is no longer
called if in redisplay.
2021-03-03 Aidan Kehoe <kehoea@parhasard.net>
* lispref/searching.texi (Simple Match Data):
Document the new search-error-on-bad-match-data variable, which
tells the search code to error rather than (more compatibly)
warning when it encounters inconsistent match data.
2021-02-14 Aidan Kehoe <kehoea@parhasard.net>
* lispref/searching.texi (Match Data):
Document that the underlying match data implementation is now in
terms of extents, explain some performance and correctness
considerations linked to this.
* lispref/searching.texi (Simple Match Data):
Flesh out some information on #'match-string and debugging
info provided by XEmacs. Clarify algorithmic considerations with
#'match-beginning, #'match-end.
* lispref/searching.texi (Replacing Match):
Update documentation of #'replace-match.
* lispref/searching.texi (Entire Match Data):
Advise preferential use of `save-match-data' in the opening of
this node.
Deprecate use of the INTEGERS argument to #'match-data.
Document #'match-data-canonical.
* lispref/searching.texi (Saving Match Data):
Clarify that XEmacs does not treat the match data specially when
running process filters and process sentinels and that it usually
has no need to.
2021-02-14 Aidan Kehoe <kehoea@parhasard.net>
* lispref/extents.texi (Extent Endpoints):
#'extent-start-position, #'extent-end-position now have new
MARKERP arguments, document this, and document the insertion types
of the returned markers.
2021-01-11 Aidan Kehoe <kehoea@parhasard.net>
* lispref/loading.texi (Named Features):
Document a couple of workarounds to avoid the compile-time
evaluation of (require ...) forms, should that be needed.
2020-11-20 Aidan Kehoe <kehoea@parhasard.net>
* lispref/keymaps.texi (Key Sequences): End the open @defun for
canonicalize-keysym.
2020-11-17 Aidan Kehoe <kehoea@parhasard.net>
* lispref/keymaps.texi:
* lispref/keymaps.texi (Key Sequences):
Prefer the character rather than the symbol keysym in this
documentation, since that is its canonical form.
2020-10-03 Aidan Kehoe <kehoea@parhasard.net>
* lispref/searching.texi (Syntax of Regexps):
Document the limitations on M and N for interval qualifiers;
clarify that the limits are #xFFFF for both, which limits were
just added.
2020-03-28 Aidan Kehoe <kehoea@parhasard.net>
* lispref/searching.texi (Syntax of Regexps):
Document the named non-shy groups, or explicitly numbered groups,
just added.
2020-03-18 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi:
Document the encoding of this file in its header, now texinfo
worries about that.
* lispref/mule.texi:
Re-encode this file as UTF-8, now texinfo restricts the encodings
it can use. Document this encoding in its header.
* xemacs-faq.texi:
Ditto. Revise the XEmacs coding cookie.
2018-10-01 Aidan Kehoe <kehoea@parhasard.net>
* lispref/compile.texi (Different Behavior):
Mention the unfortunate algorithmic complexity of
#'marker-position when cautioning about the behaviour of (+ MARKER
0).
2018-09-02 Aidan Kehoe <kehoea@parhasard.net>
* cl.texi (Time of Evaluation): Use the new-style
:compile-toplevel, :load-toplevel and :execute CL keywords in the
documentation of the WHEN argument to #'eval-when.
2018-08-15 Aidan Kehoe <kehoea@parhasard.net>
* lispref/markers.texi (Information from Markers):
Document an important algorithmic consideration with
#'marker-position.
2017-11-23 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi (A Summary of the Various XEmacs Modules):
* internals/internals.texi (Low-Level Modules):
* internals/internals.texi (Modules for Allocation):
* internals/internals.texi (Low-level allocation):
Remove mention of malloc.c (long gone) and gmalloc.c (gone today).
2017-11-14 Stephen J. Turnbull <stephen@xemacs.org>
* lispref/faces.texi (Face Properties): Add items to itemize.
2017-04-19 Aidan Kehoe <kehoea@parhasard.net>
* lispref/buffers.texi (Buffer Names):
Update documentation on #'generate-new-buffer-name to reflect
changes made to it today.
2017-03-09 Aidan Kehoe <kehoea@parhasard.net>
* widget.texi (Introduction):
Remove duplicated info on widget.el, wid-edit.el, as documented in
tracker issue 847. Thank you FKtPp and Steven Mitchell!
2017-02-11 Aidan Kehoe <kehoea@parhasard.net>
* lispref/keymaps.texi (Key Sequences):
Document that we now support e.g. (shift a), transforming that
internally to (A).
Document that (A) is still preferred given older XEmacs code.
2017-01-15 Aidan Kehoe <kehoea@parhasard.net>
* lispref/searching.texi (Regexp Search):
* lispref/searching.texi (POSIX Regexps):
Document `string-match-p', `looking-at-p'.
2016-12-30 Aidan Kehoe <kehoea@parhasard.net>
* cl.texi (Macro Bindings):
Document the new shadowing of arguments to lambda lists within
`symbol-macrolet' forms.
Document the new SHADOW element in a `symbol-macrolet' element, to
specify Common Lisp behaviour for expansion.
2016-10-15 Aidan Kehoe <kehoea@parhasard.net>
* lispref/strings.texi (Formatting Strings):
Document %u here.
Correct the spelling of zeroes.
Add documentation of the new &, !, and ~ flags.
Add documentation of the length modifiers, specifying truncation
to a bit width, newly implemented though long accepted.
Document the new u modifier, used to specify that integer
converters should treat their arguments as unsigned. (It is new to
XEmacs that the non-base-10 converters treat their arguments as
signed).
2016-11-07 Aidan Kehoe <kehoea@parhasard.net>
* lispref/strings.texi (Formatting Strings):
Be a little clearer in documentation of the STREAM argument to
#'format-into.
2016-10-26 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi :
* internals/internals.texi (Old Future Work -- Everything should
obey duplicable extents):
Move this section to Old Future Work from Future Work, now it is
implemented.
2016-10-19 Aidan Kehoe <kehoea@parhasard.net>
* lispref/strings.texi (Formatting Strings):
Document that #'format-into now accepts any stream argument as
accepted by #'print.
2016-09-18 Aidan Kehoe <kehoea@parhasard.net>
* lispref/strings.texi (Formatting Strings):
Describe #'format a little more clearly, don't mislead readers
about the algorithm.
Describe the newly-added #'format-into, something that makes more
sense now the resizing-buffer time is visible from Lisp.
2016-09-05 Aidan Kehoe <kehoea@parhasard.net>
* lispref/strings.texi (Formatting Strings):
Document the new support for extents in control string and in
arguments to #'format.
2016-06-16 Aidan Kehoe <kehoea@parhasard.net>
* lispref/searching.texi (Syntax of Regexps):
Clarify that backreferences can use numbers greater than ten.
2014-11-24 Stephen J. Turnbull <stephen@xemacs.org>
* lispref/strings.texi (String Properties):
Note that string properties are separate from extent properties.
2015-05-08 Aidan Kehoe <kehoea@parhasard.net>
* lispref/numbers.texi (Numbers):
Describe the newly-supported arbitrary-base syntax for rationals
(integers and ratios). Describe that ratios can take the same base
specification as integers, something also new.
2015-03-15 Aidan Kehoe <kehoea@parhasard.net>
* lispref/strings.texi (Character Codes):
Document `char-code-limit' here too.
2015-03-14 Aidan Kehoe <kehoea@parhasard.net>
* lispref/help.texi (Help Functions):
Document help-event-list, just added.
2015-02-23 Mike Kupfer <mike.kupfer@xemacs.org>
* internals/internals.texi (The Redisplay Mechanism):
Add notes about pixel_to_glyph_translation and related code.
(pixel_to_glyph_translation): New section.
2015-03-08 Aidan Kehoe <kehoea@parhasard.net>
* lispref/strings.texi (Predicates for Characters):
Document `digit-char-p', `digit-char' here.
* lispref/strings.texi (String Conversion):
Document `parse-integer' here.
2014-03-28 Jerry James <james@xemacs.org>
* Makefile.in: Do not build texinfo files.
* texinfo/fdl.texi:
* texinfo/texinfo.texi:
* texinfo/version.texi:
Remove files belonging to an external project.
2014-03-28 Jerry James <james@xemacs.org>
* lispref/loading.texi:
* lispref/macros.texi:
Fix broken next/prev pointers caught by texinfo 4.x, but not by
texinfo 5.x. Thanks to Thomas Mittelstaedt for reporting.
2014-02-11 Jerry James <james@xemacs.org>
* lispref/consoles-devices.texi:
* lispref/control.texi:
* lispref/customize.texi:
* lispref/databases.texi:
* lispref/debugging.texi:
* lispref/dialog.texi:
* lispref/display.texi:
* lispref/eval.texi:
* lispref/extents.texi:
* lispref/faces.texi:
* lispref/files.texi:
* lispref/frames.texi:
* lispref/functions.texi:
* lispref/glyphs.texi:
* lispref/gutter.texi:
* lispref/hash-tables.texi:
* lispref/help.texi:
* lispref/internationalization.texi:
* lispref/intro.texi:
* lispref/keymaps.texi:
* lispref/ldap.texi:
* lispref/lispref.texi:
* lispref/lists.texi:
* lispref/loading.texi:
* lispref/macros.texi:
* lispref/markers.texi:
* lispref/menus.texi:
* lispref/minibuf.texi:
* lispref/modes.texi:
* lispref/mule.texi:
* lispref/numbers.texi:
* lispref/objects.texi:
* lispref/os.texi:
* lispref/positions.texi:
* lispref/postgresql.texi:
* lispref/processes.texi:
* lispref/range-tables.texi:
* lispref/scrollbars.texi:
* lispref/searching.texi:
* lispref/sequences.texi:
* lispref/specifiers.texi:
* lispref/streams.texi:
* lispref/strings.texi:
* lispref/symbols.texi:
* lispref/syntax.texi:
* lispref/text.texi:
* lispref/tips.texi:
* lispref/toolbar.texi:
* lispref/tooltalk.texi:
* lispref/variables.texi:
* lispref/windows.texi:
* lispref/x-windows.texi:
* xemacs/custom.texi:
* xemacs/menus.texi:
* xemacs/programs.texi:
Add next, prev, and up pointers to each node for texinfo 5.2.
* texinfo/fdl.texi:
* texinfo/texinfo.texi:
* texinfo/version.texi:
Sync with texinfo 5.2.
2013-09-15 Mats Lidell <matsl@xemacs.org>
* xemacs/files.texi (Saving): New variable
mode-require-final-newline. Update info for require-final-newline.
2013-06-25 Jerry James <james@xemacs.org>
* Makefile.in: New file, so we can replace @MAKEINFO@.
* Makefile: Removed.
* lispref/packaging.texi: Update required version of makeinfo.
* xemacs/packages.texi: Ditto.
ChangeLog Entries from modules/ChangeLoggoto announcement, summary, changes
2022-07-09 Aidan Kehoe <kehoea@parhasard.net>
* ldap/eldap.c (print_ldap):
Use %p in the format string when printing a pointer, rather than
casting to a long and using 0x%lx.
2021-11-03 Aidan Kehoe <kehoea@parhasard.net>
* postgresql/postgresql.c:
* postgresql/postgresql.c (print_pgconn):
* postgresql/postgresql.c (RESULT_TUPLES_FMT):
* ldap/eldap.c:
* ldap/eldap.c (print_ldap):
Remove the mark methods from modules, now KKCC is the only mark
algorithm used.
2015-05-04 Stephen J. Turnbull <stephen@xemacs.org>
* postgresql/configure.ac (PostgreSQL): Allow specification of subdir.
Add most recent versioned directories for multiversion
installations (eg, MacPorts.
* postgresql/configure: Regenerate.
2014-08-11 Jerry James <james@xemacs.org>
* common/Makefile.common (CPPFLAGS): New variable.
ChangeLog Entries from nt/ChangeLoggoto announcement, summary, changes
2023-05-13 Aidan Kehoe <kehoea@parhasard.net>
* XEmacs 21.5.35 "kohlrabi" is released.
2023-04-16 Aidan Kehoe <kehoea@parhasard.net>
Make some initial changes to ease building with recent Visual
Studio.
* config.inc.samp:
* config.inc.samp (USE_PORTABLE_DUMPER): Removed.
* config.inc.samp (USE_KKCC): Removed.
* config.inc.samp (NEW_GC): Removed.
* xemacs.mak:
* xemacs.mak (USE_KKCC): Removed.
* xemacs.mak (NEW_GC): Removed.
* xemacs.mak (DEPEND):
* xemacs.mak (LIBC_LIB):
Visual Studio 2015 and later require ucrt.lib and vcruntime.lib,
include them.
* xemacs.mak (USE_PORTABLE_DUMPER): Removed.
* xemacs.mak (USE_SYSTEM_MALLOC):
* xemacs.mak (CONFIG_ERROR): Removed.
* xemacs.mak (EMACS_CONFIGURATION): Recognise AMD 64 here.
* xemacs.mak (OPT_OBJS): Removed.
* xemacs.mak (OPT_DEFINES): Removed.
* xemacs.mak (LIB_SRC_TOOLS):
* xemacs.mak ( NOTE):
* xemacs.mak ($(DUMP_TARGET)):
* xemacs.mak (distclean): Correct the path to CONFIG_VALUES, which
already includes BLDLIB_SRC.
2021-10-20 Aidan Kehoe <kehoea@parhasard.net>
* xemacs.mak (TEMACS_COMMON_OBJS):
* xemacs.mak (unicode-encapsulate):
Remove references to intl-auto-encap-win32.{c,obj} from this file,
no longer used or present.
2021-10-19 Aidan Kehoe <kehoea@parhasard.net>
* xemacs.mak (TEMACS_COMMON_OBJS):
Remove hash.obj from this, no longer needed.
2014-11-10 Vin Shelton <acs@xemacs.org>
* xemacs.mak (TEXINFO_SRCS): XEmacs sources no longer include
texinfo.texi.
2014-11-10 Vin Shelton <acs@xemacs.org>
* README: Updated contributor information.
ChangeLog Entries from src/ChangeLoggoto announcement, summary, changes 2013-06-23 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.34 "kale" is released. 2013-06-17 Jerry James <james@xemacs.org> * Makefile.in.in: Support bignums with MPIR. * config.h.in (WITH_MPIR): New macro. * number.c: Add MPIR support. * number.h: Ditto. * number-gmp.h: Ditto. (ratio_set_long_ulong): Canonicalize the ratio. (ratio_set_ulong_ulong): Ditto. * number-gmp.c (init_number_gmp): Add void param to silence GCC. * number-mp.c (init_number_mp): Ditto. 2013-06-17 Jerry James <james@xemacs.org> * alloc.c (make_bignum_un): New function. (make_bignum_ll): New function. (make_bignum_ull): New function. * config.h.in (HAVE_MP_SET_MEMORY_FUNCTIONS): Add. * data.c (Fplus): avoid unnecessary consing. (Ftimes): ditto. * glyphs.c (check_valid_xbm_inline): Since this function is called prior to dumping, when bignums are forbidden, do all arithmetic with C integers. * lisp.h (MOST_POSITIVE_FIXNUM_UNSIGNED): New constant. (MOST_POSITIVE_FIXNUM): Redefine in terms of the above. (UNSIGNED_NUMBER_FITS_IN_A_FIXNUM): New macro. * number-gmp.c (bignum_to_llong): New function. (bignum_to_ullong): New function. (bignum_set_llong): New function. (bigfloat_to_string): Adjust whitespace. (gmp_realloc): Ditto. (gmp_free): Ditto. * number-gmp.h (bignum_fits_llong): New macro. (bignum_fits_ullong): New macro. (bignum_set_ullong): New macro. * number-mp.c (bignum_long_sign_bit): Remove, didn't work. (bignum_min_llong): New variable. (bignum_max_llong): New variable. (bignum_max_ullong): New variable. (bignum_to_llong): New function. (bignum_to_ullong): New function. (bignum_set_long): Reimplement using MP_XTOM. (bignum_set_ulong): Ditto. (bignum_set_llong): New function. (bignum_set_ullong): New function. (bignum_clrbit): Fix a comment. (bignum_random_seed): Move to number-mp.h, since it is a no-op. (bignum_random): Implement. (mp_realloc): New function. (mp_free): New function. (init_number_mp): Use them. Fix a comment. Eliminate initialization of bignum_long_sign_bit. Initialize bignum_min_llong, bignum_max_llong, and bignum_set_ullong. * number-mp.h (MP_XTOM): New macro. (bignum_fits_llong_p): New macro. (bignum_fits_ullong_p): New macro. (bignum_random_seed): New macro. * number.h: Implement bignums as long long integers. (make_bignum_ll): New macro. (make_integer): Accept a long long value. (make_unsigned_integer): New macro. (NATNUMP): Adjust whitespace. (non_fixnum_number_p): Ditto. * alloc.c (Fmake_list): Use make_unsigned_integer or make_fixnum instead of make_integer where it is appropriate to do so. * chartab.c (char_table_default_for_type): Ditto. * dired.c (Ffile_attributes): Ditto. * elhash.c (hash_table_size_validate): Ditto. * eval.c (Fmacroexpand): Ditto. * event-stream.c (Faccept_process_output): Ditto. (Frecent_keys): Ditto. * events.c (Fmake_event): Ditto. (Fevent_timestamp_lessp): Ditto. * font-mgr.c (Ffc_pattern_get): Ditto. * indent.c (Fmove_to_column): Ditto. * process.c (Fset_process_window_size): Ditto. * profile.c (Fstart_profiling): Ditto. * unicode.c (Fset_unicode_conversion): Ditto. (Funicode_to_char): Ditto. 2013-04-23 Vin Shelton <acs@xemacs.org> * sysdep.c (qxe_getgrgid): Hack in WIN32_NATIVE group support. * dired.c (file_attributes): Add a hack for group name in native Windows builds. 2013-04-19 Mats Lidell <matsl@xemacs.org> * sysdep.c (qxe_getgrgid): Encapsulation of getgrgid. * syspwd.h: Ditto. * dired.c (Ffile_attributes): Added optional ID-FORMAT for compatibility with GNU. 2013-03-28 Jerry James <james@xemacs.org> * config.h.in: AC_FUNC_FSEEKO is the name of the autoconf macro. HAVE_FSEEKO is the name of the C preprocessor symbol. Do not confuse the two. 2013-03-11 Vin Shelton <acs@xemacs.org> * config.h.in: Move large file support outside WIN32_NO_CONFIGURE block. 2013-03-07 Jerry James <james@xemacs.org> * array.c (stack_like_malloc): Define only if WIN32_ANY. (stack_like_free): Ditto. * array.h: Ditto. 2013-03-04 Jerry James <james@xemacs.org> * config.h.in: Add placeholders and definitions needed for large file support. * dired.c (Ffile_attributes): Some elements of the stat structure can overflow a fixnum. Allow them to be bignums, if possible. * dumper.c (pdump_align_stream): Use OFF_T, FTELL, and FSEEK macros to get large file support. (pdump): Ditto. 2013-03-02 Jerry James <james@xemacs.org> * Makefile.in.in: If modules are built into the executable, assume that module source files are available in the current directory, since configure now creates soft links for them. 2013-02-22 Michael Sperber <mike@xemacs.org> * event-stream.c (post_command_hook): Don't complain about throws out of `post-command-hook'. This is quite common, for example to exit the minibuffer. 2013-02-04 Vin Shelton <acs@xemacs.org> * syswindows.h: Fix the cygwin build by supporting win32api 3.14 through appropriate guard macros. Thanks to Mats Lidell. 2013-01-22 Jerry James <james@xemacs.org> * general-slots.h: Add Q_visible. * gui.c (gui_item_add_keyval_pair): Add :visible as an alias to :included. * menubar.c (vars_of_menubar): Document that :visible is an alias to :included. * menubar-gtk.c (menu_convert): Ditto. * menubar-x.c (menu_item_descriptor_to_widget_value_1): Ditto. 2013-01-16 Jerry James <james@xemacs.org> * menubar-x.c (set_frame_menubar): when a menubar specification has an error, don't fail an assert() and bring XEmacs down. Instead, return 0 to skip the faulty menu and show any errors in *Warnings*. ChangeLog Entries from tests/ChangeLoggoto announcement, summary, changes 2013-06-23 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.34 "kale" is released. 2013-06-17 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Test #'apply-partially more extensively, given changes in cl-macs.el. 2013-06-17 Jerry James <james@xemacs.org> * automated/lisp-tests.el: Adjust expected failure message due to changes in check_valid_xbm_inline(). 2013-04-20 Mats Lidell <matsl@xemacs.org> * automated/dired-tests.el: New. Tests for file-attributes. goto announcement, summary, changes |
||||||||||||||||
|
|
|
||||||||||||||||
Not conform with <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Automatically validated by PSGML