Brief summary of changes to 21.2.32 "Kastor & Polydeukes"
-- Internal Postgres RDBMS support from Steve Baur
-- Improve gutter useability
-- Fix window geometry with gutters
-- Fix async updates so that they only occur when neccessary
-- Gutter documentation from Stephen Turnbull
-- redisplay-gutter-area fixes from Andy Piper
-- pdump file in MS-Windows executable from Mike Alexander
-- Miscellaneous fixes from Andy Piper
-------- ChangeLog entries from xemacs-21.2.32/ChangeLog -------
2000-03-15 Olivier Galibert <galibert(a)pobox.com>
* configure.in: Add dumper.o object when pdumping.
2000-02-20 Olivier Galibert <galibert(a)pobox.com>
* Makefile.in.in: Add pdump install support
* configure.in: Add EMACS_PROGNAME config.h variable.
2000-03-10 SL Baur <steve(a)musashimaru.m17n.org>
* configure.usage: document --with-postgresql flag.
2000-03-06 SL Baur <steve(a)musashimaru.m17n.org>
* configure.in: add autodetection of PostgreSQL runtime libraries
2000-03-09 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* aclocal.m4 (XE_SHLIB_STUFF): Define ld_shlibs to yes
when C compiler can produce shared libraries.
2000-03-01 Didier Verna <didier(a)xemacs.org>
* etc/NEWS: update the rect.el entry.
2000-02-26 Martin Buchholz <martin(a)xemacs.org>
* configure.in: Unconditionally define SHELL, to allow working
with (unreleased) autoconf 2.14.1, found on Mandrake 7.0 systems.
-------- ChangeLog entries from xemacs-21.2.32/lib-src/ChangeLog -------
2000-03-20 Martin Buchholz <martin(a)xemacs.org>
* make-dump-id.c: Use config.h and systime.h for portability.
2000-02-20 Olivier Galibert <galibert(a)pobox.com>
* make-dump-id.c: Added.
* Makefile.in.in: Add support for make-dump-id.
2000-03-12 Ben Wing <ben(a)xemacs.org>
* etags.c (canonicalize_filename): fixed a problem with gratuitous
capitalization of file names under MS Windows.
-------- ChangeLog entries from xemacs-21.2.32/lisp/ChangeLog -------
2000-03-20 Andy Piper <andy(a)xemacs.org>
* gutter-items.el (update-tab-in-gutter): force selection of the
selected-window if required to do so.
(buffers-tab-items): ditto.
(add-tab-to-gutter): ditto.
(create-frame-hook): use force-selection.
(default-gutter-position-changed): lambdify.
(update-tab-hook): deleted since it was only used in one place.
2000-03-18 Andy Piper <andy(a)xemacs.org>
* files.el (find-file-noselect): undo change that shouldn't have
gone in.
2000-03-17 Andy Piper <andy(a)xemacs.org>
* buffer.el (switch-to-buffer): use last-nonminibuf-window instead
of selected-window trickery.
* gutter-items.el (update-tab-in-gutter): don't give dedicated
frames tabs.
(progress-display-stop-callback): progress -> progress-display
(progress-display-quit-function): ditto.
(clear-progress-display): ditto.
(remove-progress-display): ditto.
(append-progress-display): ditto.
(abort-progress-display): ditto.
(raw-append-progress-display): ditto.
(display-progress-display): ditto.
(current-progress-display-label): ditto.
(current-progress-display): ditto.
(lprogress-display): ditto and save the buffer
(progress-display): ditto. Otherwise the buffer sometimes gets
changed which confuses font-lock.
* font-lock.el (font-lock-default-fontify-buffer): catch all
errors, not just quit.
(font-lock-mode): progress -> display-progress
(font-lock-default-fontify-buffer): ditto.
(font-lock-fontify-syntactically-region): ditto.
(font-lock-fontify-keywords-region): ditto.
2000-03-14 Hrvoje Niksic <hniksic(a)iskon.hr>
* cl.el (gensym): Move to here from cl-macs.el.
(gentemp): Ditto.
2000-03-16 Andy Piper <andy(a)xemacs.org>
* font-lock.el (font-lock-mode): use lprogress and friends for
progress management.
(font-lock-default-fontify-buffer): ditto.
(font-lock-fontify-syntactically-region): ditto.
(font-lock-fontify-keywords-region): ditto.
(font-lock-revert-cleanup): fix reverting.
(font-lock-revert-setup): ditto.
* gutter-items.el (progress-use-echo-area): new variable. Use the
echo area for progress gauges if non-nil.
(clear-progress): remove echo area stuff and defer to
clear-message.
(append-progress): dispatch non-command events after each progress
increment. Remove echo area stuff.
(abort-progress): remove echo area stuff and defer to
display-message.
(raw-append-progress): ditto. Dispatch non-command events after
gutter redisplay.
(display-progress): defer echo area stuff to display-message.
* gutter-items.el (clear-progress):
(abort-progress): indentation changes.
(display-progress): don't clear progress.
(append-progress): compare messages with equal.
(raw-append-progress): use dispatch-non-command-events to flush
widget creation events.
2000-03-13 Ben Wing <ben(a)xemacs.org>
* abbrev.el:
* abbrev.el (abbrev-string-to-be-defined): New.
* abbrev.el (inverse-abbrev-string-to-be-defined): New.
Changes for use with the menubar.
2000-03-12 Ben Wing <ben(a)xemacs.org>
* alist.el (vassoc): moved here from font-menu.el.
* custom.el (defface): typo fix.
* dialog.el (yes-or-no-p-dialog-box):
* dialog.el (message-box):
* files.el (save-some-buffers-1):
Put accelerators in the button names.
* font-lock.el (font-lock-comment-face):
* font-lock.el (font-lock-keyword-face):
* font-lock.el (font-lock-function-name-face):
Fixed some of the colors under MS Windows because the existing
default colors were hardly different from black and needed to be
made lighter.
* font-menu.el:
* font-menu.el (font-menu-split-long-menu):
* font-menu.el (font-menu-family-constructor):
* font-menu.el (font-menu-size-constructor):
* font-menu.el (font-menu-weight-constructor):
* font-menu.el (font-menu-set-font):
vassoc moved to alist.el.
Accelerators added to all menus.
Unused bound var new-props removed.
* keydefs.el: I did a whole lot of rearranging to put things in a
more consistent order and fixed a number of cases where key
combinations involving up, down, left, right and so on were
defined but the corresponding keypad combinations were not
defined.
* lisp-mode.el:
* lisp-mode.el (lisp-interaction-mode-popup-menu):
* lisp-mode.el (emacs-lisp-mode):
* lisp-mode.el (lisp-interaction-mode):
* lisp-mode.el (flet):
Added accelerators onto the menus.
Made all the different versions of the let function be indented
the same way.
Undid Steve's easy-menu-ification, because it makes it impossible
to have the menubar and popup menus different.
Cleaned up the menu; added items for find-function &c and some
indenting, and removed debug-on-*.
* list-mode.el (list-mode-hook):
* list-mode.el (list-mode):
* list-mode.el (completion-setup-hook):
* list-mode.el (display-completion-list):
Added support for the :window-height keyword, which is required
because of other changes that I made for the file dialog box. I
also made the hook variables list-mode-hook and
completion-setup-hook and also minibuffer-setup-hook in
minibuf.el be permanent-local; see comment in list-mode.el.
* map-ynp.el (map-y-or-n-p):
Added accelerators to the dialog buttons.
* menubar-items.el (menu-truncate-list):
New internal function.
* menubar-items.el (submenu-generate-accelerator-spec):
* menubar-items.el (menu-item-strip-accelerator-spec):
* menubar-items.el (menu-item-generate-accelerator-spec):
New exported functions, for use in auto-generating accelerator specs.
* menubar-items.el:
* menubar-items.el (default-menubar):
* menubar-items.el (maybe-add-init-button):
* menubar-items.el (bookmark-menu-filter):
* menubar-items.el (slow-format-buffers-menu-line):
* menubar-items.el (build-buffers-menu-internal):
* menubar-items.el (language-environment-menu-filter):
* menubar-items.el (default-popup-menu):
* menubar-items.el (popup-buffer-menu):
* menubar-items.el (popup-menubar-menu):
Did a major overhaul on this file, and in fact I'm nowhere near
done working on the menubar, and there will be more patches to
come. A basic summary of what I've done:
a) I added accelerators to all of the menu items. For menus that
are auto-generated, such as the buffers menu, the accelerators are
automatically added to the beginning of each line using the
numbers 1 through 9, then zero, and then letters starting with A,
but omitting the letters that are already in use for the fixed
menu items at the top of the buffers menu. To facilitate adding
accelerators of this kind, I created some new functions
(*-accelerator-spec), which are also being used by other filters
that auto generate lists of things such as ftp sites to download
packages. If people really don't like these accelerators
appearing at the beginning of the menu items, a variable can be
added to optionally turn them off, but I think this is rather
pointless because other menu items have accelerators and many or
most of the menu users will use the accelerators if the support is
there.
b) I combined the top level Tools and Apps menus into a single
Tools menu, because the distinction between the two is not
obvious, and the items on the menus are not used often enough that
putting some of them onto submenus is a problem.
c) I created two new top level menus called View and Cmds because
there were too many items on the File and Edit menus, and I'm going
to be adding more items to these menus. In contrast to the Tools
menu, the items on these menus may be used quite often during an
editing session, and so should be available with fewer
keystrokes.
d) I added a number of options to the options menu, including one
for controlling whether the alt key can be used to traverse to
menu items using the accelerators, one for controlling behavior of
control-k, one for controlling how the kill and yank functions
interact with the clipboard, a few additional buffers-menu
options, and various other things. I also did a bit of
rearranging, for example, combining the keyboard and mouse options
into a single keyboard and mouse submenu to facilitate the
accelerators on that level.
e) I changed the variable buffers-menu-format-buffer-line-function
to take two arguments instead of one, the second argument being
the line number for use in creating an accelerator. I added a
hack to support existing functions with one argument (although I
doubt that very many of these exist), for backward compatibility.
f) I moved the top level mule menu to be a submenu of the edit
menu. I think that most of the items on this menu are fairly
useless and there are certainly not enough frequently used items
to justify this being its own top level menu.
g) I combined most of the items in big-menubar.el into the main menu.
If people think the main menu is too big, it would be possible to
create different configurations, some smaller.
* menubar.el (check-menu-syntax):
Deleted some syntax checks that were no longer valid, partly
because of changes that were already made a long time ago, and
partly because of a change I made where I allow the name of the
menu item to be an evaluated expression rather than just a string,
similar to all of the other parameters of a menu item.
* minibuf.el:
* minibuf.el (read-file-name-1):
* minibuf.el (mouse-read-file-name-1):
I made a number of changes to improve the appearance
and functioning of the file dialog box. They include:
a) Fixing the problem where closing the dialog box by clicking on
the close button of the window didn't properly exit the
minibuffer.
b) Fixing the problem that if you typed part of a file name, and
then clicked on a completion with the mouse, the file was not
correctly selected.
c) Changing the title of the dialog box to reflect the operation
being done in accordance with user interface conventions, rather
than the name of the dialog box buffer, which is rather useless.
d) Remove the words "possible completions are" which didn't
belong.
e) Fix things so that the completions scroll off the end of the
completions windows only to the right, rather than both to the
right and down, which is in accordance with Windows user interface
conventions.
* msw-init.el (init-post-mswindows-win):
Added a binding for meta-F4, which is the standard windows binding
for exiting a program.
* select.el (get-selection-no-error):
* select.el (own-selection):
* select.el (own-clipboard):
Added an optional argument called append to the functions
own-selection and own-clipboard. This adds support for appending
text to the existing selection and allows the function
own-clipboard to be used as the value of the variable
interprogram- cut-function.
Fixed a bug in own-selection in handling zmacs-region-stays.
* simple.el (historical-kill-line): New.
* simple.el (kill-line):
* simple.el (interprogram-cut-function):
* simple.el (interprogram-paste-function):
* simple.el (handle-pre-motion-command):
* simple.el (next-line):
* simple.el (previous-line):
a) Expanded the variable kill-whole-line, so that function
kill-line can be set to delete the entire line always, not just
when cursor is at the beginning of the line. This is controlled
by setting the variable kill-whole-line to the symbol 'always.
This behavior, as well as the existing kill-whole-line behavior,
now only take effect when kill-line is called interactively,
although this is a departure from a previous behavior in the case
of setting this variable kill-whole-line to t. It is almost
certainly what has always been intended, and most likely the old
way of doing things introduced bugs. I also created a function
called historical-kill-line, which ignores the kill-whole-line
setting and always gives the historical behavior of only killing
to the end of the line. I bound this function to shift- control-k
so that the kill to end of line behavior is available, even when
kill-whole-line has been set to change control-k into the simple
delete-whole-line behavior. (This can be set using the options
menu.)
b) I changed things so that kill and yank now interact with the
clipboard by default under windows. This was done by changing the
default value of interprogram-cut- function and
interprogram-paste-function. You can get the old behavior by
setting these to nil, and there is an option on the options menu
to do this.
c) I added support for selecting text using shifted motion keys.
This support is on by default and can be controlled by the
variable shifted-motion-keys-select-region. There is also a
variable called unshifted-motion-keys-deselect-region that
controls more specifically how the shifted motion key behavior
works. I did not put an option on the options menu to turn this
off, because I can't imagine why this would be useful.
* simple.el (forward-block-of-lines):
* simple.el (backward-block-of-lines):
* simple.el (block-movement-size):
New.
* simple.el (uncapitalized-title-words):
* simple.el (uncapitalized-title-word-regexp):
* simple.el (capitalize-string-as-title):
* simple.el (capitalize-region-as-title):
New.
* subr.el (add-hook):
* subr.el (make-local-hook): New.
* subr.el (remove-local-hook): New.
* subr.el (add-one-shot-hook): New.
* subr.el (add-local-one-shot-hook): New.
Added some functions to make using hooks easier.
These include:
a) Functions add-local-hook and remove-local-hook to make it easy
to use local hooks.
b) Functions add-one-shot-hook and add-local-one-shot-hook, which
make it possible to add a "one-shot" hook, which is to say a hook
that runs only once, and automatically removes itself after the
first time it has run.
2000-03-09 Andy Piper <andy(a)xemacs.org>
* files.el (auto-mode-alist): pick up jsp, jhtml and xml files.
2000-03-09 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* buff-menu.el (buffers-menu-omit-invisible-buffers):
Moved from menubar-items.el.
* dumped-lisp.el: Dump gutter-items regardless of menubar.
2000-03-08 Andy Piper <andy(a)xemacs.org>
* gutter-items.el (build-buffers-tab-internal): add selected field
to buffers tab spec.
2000-03-07 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* minibuf.el (last-exact-completion): Initialize to nil.
2000-03-07 Didier Verna <didier(a)xemacs.org>
* startup.el (command-line-1): remove unused variable
`first-file-buffer'.
2000-02-29 Hrvoje Niksic <hniksic(a)iskon.hr>
* loaddefs.el (completion-ignored-extensions): Removed ".log",
which is also used for Web server log files.
2000-02-03 IKEYAMA Tomonori <tomonori(a)suiyokai.org>
* mule/mule-charset.el: Setup auto-fill-chars.
2000-03-02 SL Baur <steve(a)beopen.com>
* subr.el (with-string-as-buffer-contents): Reimplement using
`with-temp-buffer'. Fixes non-unique buffer name problem, fixes
non-deletion of buffer after execution problem.
(with-output-to-string): Use unique buffer name.
2000-02-29 Stephen J. Turnbull <stephen(a)xemacs.org>
* gutter-items.el (buffers-tab-sort-function): New variable.
(buffers-tab-items): Funcall it to sort the buffer tab list.
2000-02-29 Stephen J. Turnbull <stephen(a)xemacs.org>
* startup.el (load-user-init-file): Merge two `if's to one `or'.
2000-02-28 Martin Buchholz <martin(a)xemacs.org>
* menubar-items.el (maybe-add-init-button): Remove the "Load
.emacs" button from all menubars.
2000-03-01 Didier Verna <didier(a)xemacs.org>
* rect.el (string-rectangle): depend on `pending-delete-mode' for
region rectangle replacement (from Jan Vroonhof).
(replace-rectangle): new function.
2000-01-05 Yoshiki Hayashi <t90553(a)mail.ecc.u-tokyo.ac.jp>
* mule/mule-cmds.el (set-default-coding-systems): Use
set-terminal-coding-system and set-keyboard-coding-system.
* coding.el (set-terminal-coding-system): Use
set-console-tty-output-coding-system.
(set-keyboard-coding-system): Use
set-console-tty-input-coding-system.
2000-02-21 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* minibuf.el (read-variable): Allow symbol to default argument.
>>>>>>> 1.156.2.301
2000-02-27 Andy Piper <andy(a)xemacs.org>
* gutter-items.el (update-tab-hook): new function to be used for
hooks.
(create-frame-hook): add update-tab-hook.
(record-buffer-hook): ditto.
(default-gutter-position-changed): ditto.
(default-gutter-position): updating the buffers tab is now handled
by a hook.
(default-gutter-position-changed-hook): new variable.
(gutter-element-visibility-changed-hook): ditto.
(set-gutter-element-visible-p): call it.
(set-gutter-element): use modify-specifier-instances. Set extents
as duplicable before using.
(remove-gutter-element): ditto.
(set-gutter-element-visible-p): ditto.
(init-gutter): new function.
(add-tab-to-gutter): use new gutter-element functions rather than
setting specifiers directly.
(clear-progress): ditto.
(abort-progress): ditto.
(gutter-buffers-tab-visible-p): renamed from
default-gutter-visible-p
* specifier.el (modify-specifier-instances): new function from Jan
Vroonhof.
* x-init.el (init-post-x-win): call init-gutter.
* msw-init.el (init-post-mswindows-win): call init-gutter.
* menubar-items.el (default-menubar): Update to reflect new gutter
variables.
2000-02-26 Andy Piper <andy(a)xemacs.org>
* gutter-items.el (set-gutter-element): new function. Add gutter
elements to the specified gutter.
(remove-gutter-element): new function. Remove gutter elements from
the specified gutter.
(set-gutter-element-visible-p): new function. Set gutter element
visibility for the provided gutter-visible specifier.
2000-02-23 Andy Piper <andy(a)xemacs.org>
* gutter-items.el (add-tab-to-gutter): specify dimensions
dynamically.
2000-02-24 Martin Buchholz <martin(a)xemacs.org>
* gutter-items.el (add-tab-to-gutter):
* package-get.el (package-get-interactive-package-query):
* package-ui.el (pui-directory-exists):
(pui-install-selected-packages):
(pui-list-packages):
Use #'(lambda ...) instead of '(lambda ...).
2000-02-21 Gregory Neil Shapiro <gshapiro(a)gshapiro.net>
* startup.el (load-user-init-file): Check to make sure user
has an init-file before calling load().
2000-02-20 Kirill 'Big K' Katsnelson <kkm(a)dtmx.com>
* msw-glyphs.el (msgdi-device-p): Added this and 'msgdi specifier tag.
-------- ChangeLog entries from xemacs-21.2.32/lwlib/ChangeLog -------
2000-03-14 Ben Wing <ben(a)xemacs.org>
* xlwmenu.c (massage_resource_name): Handle %_ and %%.
2000-02-20 Gunnar Evermann <ge204(a)eng.cam.ac.uk>
* xlwscrollbar.c (get_gc): Always check for XmUNSPECIFIED_PIXMAP
even if we are only 'compatible' with the Motif resources.
(XmUNSPECIFIED_PIXMAP): Define unconditionally.
-------- ChangeLog entries from xemacs-21.2.32/man/ChangeLog -------
2000-03-15 SL Baur <steve(a)musashimaru.m17n.org>
* lispref/postgresql.texi (Unimplemented libpq Functions): Update
documentation to reflect the latest code.
2000-03-07 SL Baur <steve(a)musashimaru.m17n.org>
* lispref/postgresql.texi (PostgreSQL Support): New File.
* lispref/ldap.texi: Insert PostgreSQL/libpq chapter.
* lispref/lispref.texi (Top): Ditto.
* lispref/internationalization.texi: Ditto.
2000-03-07 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* lispref/glyphs.texi (Image Specifiers): Remove parenthesis.
2000-03-06 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* xemacs-faq.texi: Put node before section.
2000-03-05 Jonathan Harris <jhar(a)tardis.ed.ac.uk>
* xemacs-faq.texi (Macintosh port): Made texinfmt-friendly.
2000-03-01 Sandra Wambold <wambold(a)xemacs.org>
* xemacs-faq.texi: Added 6.4.1. XEmacs won't start on Windows
2000-01-25 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* xemacs/xemacs.texi: Detailed menu update.
2000-01-28 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* xemacs/help.texi: Synch with FSF 20.5. Update.
2000-02-21 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* lispref/minibuf.texi: Add default argument documentation.
2000-02-27 Martin Buchholz <martin(a)xemacs.org>
* internals/internals.texi (lrecords): Update docs for new lisp
object representation.
2000-02-25 Martin Buchholz <martin(a)xemacs.org>
* internals/internals.texi (Techniques for XEmacs Developers):
Document INLINE_HEADER and how to create macros and inline functions.
Cleanup entire section.
2000-02-17 Stephen J. Turnbull <turnbull(a)sk.tsukuba.ac.jp>
* man/lispref/gutter.texi: New file describing gutter API.
* man/lispref/lispref.texi, man/lispref/scrollbars.texi,
* man/lispref/toolbar.texi: Fixup links to new node Gutter.
2000-02-17 Stephen J. Turnbull <turnbull(a)sk.tsukuba.ac.jp>
* man/lispref/frames.texi, man/xemacs/custom.texi,
man/xemacs/frame.texi, man/xemacs/glossary.texi: Mention menubars,
toolbars, and gutters as optional components of frames, with
pointers to descriptions.
2000-02-17 Stephen J. Turnbull <turnbull(a)sk.tsukuba.ac.jp>
* man/lispref/mule.texi: Substantial reorganization and
revision for style of descriptions of character sets,
encodings, and coding systems. Addition of a complete table
of coding systems as of XEmacs 21.2.19.
-------- ChangeLog entries from xemacs-21.2.32/nt/ChangeLog -------
2000-03-15 Mike Alexander <mta(a)arbortext.com>
* xemacs.mak: Fix for generation of $(XEMACS)\Installation.
2000-03-14 Adrian Aichner <adrain(a)xemacs.org>
* xemacs.mak (LIB_SRC_TOOLS): LIB_SRC_TOOLS depend on
XEMACS_INCLUDES when we USE_PORTABLE_DUMPER.
2000-03-13 Ben Wing <ben(a)xemacs.org>
* xemacs.mak (TEMACS_ENTRYPOINT):
Fix for portable dumper.
2000-03-12 Ben Wing <ben(a)xemacs.org>
* xemacs.mak (*):
* config.inc: New.
a) Added a file called config.inc which makes it easier to set
build options for MS Windows. (Previously, the only way to do this
was through command line options to nmake.)
b) Cleaned the file up a bit.
c) Changed xemacs to be a windows application and not a console
application, now that runemacs.exe is no longer necessary.
d) Added support for building the tags file.
* xemacs.dsw: New.
* xemacs.dsp: New.
For compiling, editing, and debugging XEmacs using the VC++ 5.0
GUI. They may well work under other versions of VC++, but I don't
have access to them to test them.
2000-03-11 Andy Piper <andy(a)xemacs.org>
* PROBLEMS: Doc fix from Reini Urban <rurban(a)x-ray.at>.
2000-02-27 Mike Alexander <mta(a)arbortext.com>
* xemacs.rc: Include the portable dump data if INCLUDE_DUMP is defined
* xemacs.mak: Add the portable dump data to the EXE as a resource
2000-03-07 Jonathan Harris <jhar(a)tardis.ed.ac.uk>
* xemacs.mak (TEMACS_LIBS): Add ole32.lib and uuid.lib.
(installation): Always regenerate installation report.
2000-02-25 Craig Lanning <CraigL(a)DyCon.com>
* inc\sys\time.h: MinGW defines struct timeval in <winsock.h>.
2000-02-24 Martin Buchholz <martin(a)xemacs.org>
* config.h (INLINE_HEADER): Define properly (?) for Windows.
-------- ChangeLog entries from xemacs-21.2.32/src/ChangeLog -------
2000-03-12 Jan Vroonhof <vroonhof(a)math.ethz.ch>
* sysdep.c: Include proper headers for mmap when pdumping()
2000-03-20 Martin Buchholz <martin(a)xemacs.org>
* buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
(DFC_MALLOC_USE_CONVERTED_DATA):
Add aliasing-safe casts to allow use with char* or unsigned char*
lvalues.
* eldap.c (Fldap_open):
(Fldap_search_basic):
(Fldap_add):
(Fldap_modify):
Make C++-compilable.
Make sure GCPRO'ed variables are initialized.
Use temp variables to avoid repeated calls to Flength.
2000-03-16 Martin Buchholz <martin(a)xemacs.org>
* sysfile.h:
Make sure PATH_MAX is always defined.
Include limits.h for PATH_MAX.
Deprecate use of MAXPATHLEN.
2000-03-10 Martin Buchholz <martin(a)xemacs.org>
* emacs.c: Add reinit_vars_of_fileio.
* symsinit.h: Add reinit_vars_of_fileio.
* fileio.c (reinit_vars_of_fileio): New.
* fileio.c (Fmake_temp_name):
Initialize temp_name random number from microseconds to make
collisions even less likely. Initialize always at process startup
time. (make-temp-name) used to return the same file name twice in
a row when PDUMP.
Random stylistic fiddling.
Comment fixes.
2000-03-20 Andy Piper <andy(a)xemacs.org>
* glyphs.c (image_instantiate): allow text glyphs to be
instantiated in the minibuffer window.
2000-03-19 Andy Piper <andy(a)xemacs.org>
* glyphs.c (image_instance_hash): be careful about which items we
hash on.
* glyphs-widget.c (tab_control_set_property): record into pending
items rather than the actual items.
* glyphs-x.c (x_update_widget): use pending items to update with.
* glyphs-msw.c (mswindows_tab_control_update): use pending items
to update with.
* glyphs.c (mark_image_instance): mark pending items.
* window.c (Fset_window_configuration): record the buffer.
(Fselect_window): totally revert previous change which breaks many
things.
2000-03-18 Andy Piper <andy(a)xemacs.org>
* glyphs-msw.c (mswindows_tab_control_update): force selected
item.
* glyphs.c (image_instantiate): don't allow the minibuffer as a
window domain cache, otherwise we get inconsistencies at
startup. There is something fishy at startup which can lead to the
minibuffer being the selected window when the gutter content is
instantiated.
* gui.c (parse_gui_item_tree_list): add probably unneccessary
gcpros.
(parse_gui_item_tree_children): ditto.
(parse_gui_item_tree_item): ditto.
* glyphs.c (Fupdate_widget_instances): return something.
2000-03-18 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* window.c (Fselect_window): Undo 2000-03-17 change.
2000-03-17 SL Baur <steve(a)musashimaru.m17n.org>
* postgresql.c (Fpq_setenv): Remove this turkey when linking
against v7.0 libraries. Insta-coredump city until the postgres
folks fix it.
2000-03-17 Andy Piper <andy(a)xemacs.org>
* faces.c (complex_vars_of_faces): don't give the widget face an
inherited background pixmap.
* glyphs-msw.c (mswindows_tab_control_instantiate): select the
selected item.
* event-stream.c (Fdispatch_non_command_events): return something.
* gutter.c (output_gutter): use widget face.
(clear_gutter): ditto.
* NEWS: adjust again.
* window.c (Fselect_window): make sure this runs to completion to
avoid oddities with Fset_window_configuration.
(Fcurrent_window_configuration): in general do not save the
minibuffer as the selected window.
* glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
2000-03-16 Olivier Galibert <galibert(a)pobox.com>
* emacs.c (Frunning_temacs_p): Revert previous patch.
(main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
2000-03-16 Andy Piper <andy(a)xemacs.org>
* glyphs-x.c (x_tab_control_update): if no widget values then
return.
* NEWS: update for new features.
* event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
synthetic event to the native system.
(reinit_vars_of_event_Xt): set force_event_pending to
emacs_Xt_force_event_pending.
* events.h (struct event_stream): add force_event_pending.
* specifier.c (recompute_one_cached_specifier_in_window): add
comment.
* redisplay.c (redisplay_frame): don't call
update_frame_subwindows. Reset subwindow cachels when
subwindows_changed, removing this was an optimization too far.
* redisplay-output.c (compare_runes): reorganize so that we catch
glyph changes when we want them. Set optimize_output when this
would help layouts.
(redisplay_output_layout): remove frame_really_changed, use
optimize_output instead.
* redisplay-msw.c (mswindows_output_display_block): reset
optimize_output after outputting a glyph.
* redisplay-x.c (x_output_display_block): ditto.
* redisplay-tty.c (tty_output_display_block): ditto.
* gutter.c: (specifier_vars_of_gutter): use new spec changed
functions.
(gutter_specs_changed): do specific gutter positions.
(top_gutter_specs_changed): new function. Only update the
specified gutter specs.
(bottom_gutter_specs_changed): ditto.
(left_gutter_specs_changed): ditto.
(right_gutter_specs_changed): ditto.
* gui.c (gui_item_hash_internal): new function, does a real hash.
(gui_item_id_hash): use it.
(gui_item_hash): hash the eval'ed gui_item.
* gui-x.c (popup_selection_callback): send an eval event to call
Fupdate_widget_instances.
* gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
to call Fupdate_widget_instances.
* glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
(IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
* glyphs.c: (update_frame_subwindows): deleted.
(Fupdate_widget_instances): new function for updating the dirty
state of widgets that might have changed.
(syms_of_glyphs): add Qupdate_widget_instances.
(full_list_hash): hash a list completely.
(image_instance_hash): use it for items and properties.
* frame-msw.c (mswindows_size_frame_internal): remove unused
variable.
* faces.h (struct face_cachel): fix comment.
* event-stream.c (Fdispatch_non_command_events): new
function. Process non-command events, forcing an event cycle
beforehand.
(syms_of_event_stream): declare.
(event_stream_force_event_pending): new function. Force an event
on the native event queue so that an event cycle will occur next
time we check.
* event-msw.c:
(struct ntpipe_shove_stream):
(mswindows_enqueue_dispatch_event):
(mswindows_dequeue_dispatch_event):
(mswindows_cancel_dispatch_event):
(mswindows_pump_outstanding_events):
(mswindows_drain_windows_queue):
(mswindows_handle_paint):
(mswindows_wnd_proc):
(mswindows_key_to_emacs_keysym):
(get_process_input_waitable):
(emacs_mswindows_delete_stream_pair): re-indent file.
(mswindows_need_event): do not process further fds if the windows
fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
fixes the 100% cpu problem.
(reinit_vars_of_event_mswindows): set force_event_pending to 0.
2000-03-15 Olivier Galibert <galibert(a)pobox.com>
* alloc.h: New.
* dumper.h: New.
* dumper.c: New.
* emacs.c: Moved dump file searching to dumper.c.
(Frunning_temacs_p): Fixed.
* alloc.c: Moved everything pdump-related to dumper.c. Removed
last_lrecord_type_index_assigned.
2000-02-20 Olivier Galibert <galibert(a)pobox.com>
* symsinit.h: Added reinit parameter to init_console_stream
declaration.
* lisp.h: Added file parameter to pdump_load declaration.
* emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
support. Added dump file searching.
* config.h.in: Added EMACS_PROGNAME.
* console-stream.c (init_console_stream): Fix reinitialisation
when running from temacs.
* alloc.c (pdump): Add id support.
(pdump_load): Add file parameter and signature/id support.
* Makefile.in.in: Add full pdump support.
2000-03-15 SL Baur <steve(a)musashimaru.m17n.org>
* postgresql.c: Update documentation to reflect latest code
status.
(print_result): Show tuple counts in printed representation when
appropriate.
(Fpq_put_nbytes): MULE-ize.
(Fpq_get_line_async): Ditto.
2000-03-14 SL Baur <steve(a)musashimaru.m17n.org>
* postgresql.c (Fpq_lo_import): Fix return value.
Suggested by: Kenji Itoh <keit(a)tpj.co.jp>.
2000-03-13 Ben Wing <ben(a)xemacs.org>
* alloc.c (pdump_load):
Fix compile warning under mswin.
2000-03-14 SL Baur <steve(a)musashimaru.m17n.org>
* postgresql.c: Mule-ization, bug fixes.
Use PG_CODING to encapsulate coding system name changes.
Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
(pg-coding-system): Create.
(Fpq_conn_defaults): Mule-ize.
(Fpq_connectdb): Mule-ize & bug fix.
(Fpq_connect_start): Mule-ize.
(Fpq_set_client_encoding): Mule-ize.
(Fpq_finish): Document `DEAD' connection status.
(Fpq_clear): Ditto.
(Fpq_pgconn): Mule-ize.
(Fpq_exec): Mule-ize & bug fix.
(Fpq_send_query): Ditto.
(Fpq_get_result): Ditto.
(Fpq_res_status): Mule-ize.
(Fpq_result_error_message): Mule-ize.
(Fpq_ntuples): fix comments.
(Fpq_fname): Mule-ize.
(Fpq_fnumber): Mule-ize.
(Fpq_ftype): fix comments.
(Fpq_get_value): Mule-ize.
(Fpq_cmd_status): Ditto.
(Fpq_cmd_tuples): Ditto.
(Fpq_oid_value): Ditto.
(Fpq_notifies): Ditto.
(Fpq_lo_import): Ditto.
(Fpq_lo_export): Ditto.
(Fpq_get_line): Ditto.
(Fpq_put_line): Mule-ize and bug fix.
(syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
2000-03-10 SL Baur <steve(a)musashimaru.m17n.org>
* postgresql.c (vars_of_postgresql): Mule-ize.
(Fpq_conn_defaults): Ditto.
2000-03-12 Ben Wing <ben(a)xemacs.org>
* alloc.c (Fmake_byte_code):
* alloc.c (debug_string_purity_print):
* alloc.c (pdump_backtrace):
* alloc.c (pdump_get_indirect_count):
* alloc.c (pdump_register_sub):
* alloc.c (pdump_register_object):
* alloc.c (pdump_register_struct):
* alloc.c (pdump_dump_data):
* alloc.c (pdump_reloc_one):
Minor cleanups.
* console-msw.c:
* console-msw.c (GetConsoleHwnd):
* console-msw.c (msw_hide_console):
* console-msw.c (msw_show_console):
* console-msw.c (msw_ensure_console_buffered):
* console-msw.c (msw_output_console_string):
* console-msw.c (console_type_create_mswindows):
a) Added functions to manipulate the console window for use with
shell support.
b) Added support for writing text to the console, which is now
used under Windows when xemacs is not being run non-interactively,
to write text that would otherwise be destined for stdout because
under these circumstances, text written to stdout tends to
disappear and not be seen.
* console-msw.h:
* event-Xt.c:
* event-Xt.c (x_event_to_emacs_event):
* event-Xt.c (describe_event_window):
* events-mod.h (XEMACS_MOD_CONTROL):
* events.c:
* events.c (Fmake_event):
* events.c (character_to_event):
* events.c (event_to_character):
* events.c (format_event_object):
* events.c (Fevent_modifiers):
* events.h:
* events.h (struct key_data):
* events.h (struct button_data):
* events.h (struct misc_user_data):
* frame-x.c (Fcde_start_drag_internal):
* frame-x.c (Foffix_start_drag_internal):
* gpmevent.c (Freceive_gpm_event):
* keymap.c:
* keymap.c (bucky_sym_to_bucky_bit):
* keymap.c (control_meta_superify):
* keymap.c (make_key_description):
* keymap.c (keymap_lookup_directly):
* keymap.c (create_bucky_submap):
* keymap.c (keymap_store):
* keymap.c (define_key_check_and_coerce_keysym):
* keymap.c (define_key_parser):
* keymap.c (define_key_alternate_name):
* keymap.c (Fdefine_key):
* keymap.c (raw_lookup_key_mapper):
* keymap.c (struct map_keymap_unsorted_closure):
* keymap.c (map_keymap_unsorted_mapper):
* keymap.c (map_keymap_sort_predicate):
* keymap.c (map_keymap_sorted):
* keymap.c (accessible_keymaps_mapper_1):
* keymap.c (where_is_recursive_mapper):
* keymap.c (describe_map_mapper):
* keymap.c (describe_map_sort_predicate):
* keymap.c (describe_map):
* keymap.c (complex_vars_of_keymap):
And a number of other files, the key modifier preprocessor
constants that xemacs uses have names that conflict with constants
defined under MS Windows for other purposes, so they were renamed
to begin with the prefix XEMACS_. The variables that hold such
modifiers were changed to consistently be of type int to fix
various compile warnings.
* console.c (complex_vars_of_console):
* device.c:
* device-msw.c:
* device-msw.c (mswindows_finish_init_device):
* device-msw.c (msw_get_workspace_coords):
* device-msw.c (mswindows_device_system_metrics):
and various other files, added support for a new
device property called offset-workspace which returns the position
of the upper left corner of the workspace area and goes along with
the existing size-workspace property.
* dialog-msw.c:
* dialog-msw.c (push_bufbyte_string_as_unicode):
* dialog-msw.c (mswindows_popup_dialog_box):
Added support for XEmacs-style accelerator specifications in
button text. Note: I didn't add support for this under X Windows,
and somebody needs to do this.
* dialog.c:
* dialog.c (Fpopup_dialog_box):
Documented the support for accelerators that was just mentioned.
editfns.c (get_home_directory): Changed behavior under Windows
when HOME not defined; former behavior was irretrievably broken.
* emacs.c:
* emacs.c (main_1):
* emacs.c (main):
* minibuf.c (clear_echo_area_internal):
* minibuf.c (echo_area_append):
* print.c:
* print.c (std_handle_out_external):
* print.c (std_handle_out_va):
* print.c (fatal):
* print.c (write_string_to_stdio_stream):
* print.c (output_string):
* print.c (debug_print):
* print.c (debug_backtrace):
* print.c (debug_short_backtrace):
Cleaned up the code that prints text to stdout so that this can be
changed to output into a console window instead under MS Windows,
as described above.
* eval.c:
* eval.c (DEFEND_AGAINST_THROW_RECURSION):
* eval.c (internal_catch):
* eval.c (unwind_to_catch):
* eval.c (throw_or_bomb_out):
* eval.c (condition_case_1):
* eval.c (signal_1):
* eval.c (check_error_state_sanity):
* eval.c (call_with_suspended_errors_1):
* eval.c (call_with_suspended_errors):
* eval.c (reinit_vars_of_eval):
Added code to catch throw loops and check for a pesky bug that may
be gone now.
* event-msw.c:
* event-msw.c (key_needs_default_processing_p):
* event-msw.c (mswindows_wnd_proc):
* event-msw.c (mswindows_modifier_state):
* event-msw.c (emacs_mswindows_quit_p):
* event-msw.c (vars_of_event_mswindows):
a) Added support for using the alt key to select menu items as is
standard under MS Windows. This is controlled using the variable
menu-accelerator-enabled, just like under X Windows. There is an
option on the options menu to turn this support on. I really
think that it should be on by default under Windows, but I'm not
going to make this change yet.
b) Added support for dynamic display size changes under Windows.
* event-stream.c:
* event-stream.c (maybe_echo_keys):
* event-stream.c (Fnext_event):
* event-stream.c (command_builder_find_leaf):
* event-stream.c (lookup_command_event):
* event-stream.c (execute_command_event):
* event-stream.c (pre_command_hook):
* event-stream.c (post_command_hook):
* event-stream.c (syms_of_event_stream):
* event-stream.c (vars_of_event_stream):
* event-stream.c (complex_vars_of_event_stream):
* events.h (struct command_builder):
a) Tried to clean up a little bit the horribly written x-specific
accelerator code that crept into this file. I moved this code
into menubar-x.c where it belongs. I also needed to move the
command builder structure into the file events.h because it is
accessed directly by this accelerator code. What I didn't do, but
which should be done at some point, is to properly abstract this
code using device methods instead of the kludgy way that it
currently hooks into the event code.
b) Added the lisp variables this-command-properties and
last-command- properties, which should be used to synchronize two
adjacent commands in preference to playing games with the variable
this-command, which is typically what happens.
c) Added some slightly nasty code to hook into the lisp support
for shifted- motion-key selection. This is actually necessary for
somewhat complicated reasons, which are described in
simple.el. (NB: I think the proper thing would be to have the code
that calls the pre and post command hooks also call out to generic
lisp functions in simple.el, where all built-in stuff could be
added. I will think about this more.)
* event-unixoid.c (poll_fds_for_input):
* lread.c (readchar):
* redisplay-tty.c (tty_clear_frame):
* redisplay-x.c (x_get_gc):
* signal.c (interrupt_signal):
And a whole bunch of other files: fixed up places that printed
directly to stderr to instead call the function stderr_out so that
the changes I made under Windows work correctly.
* filemode.c (mode_string):
Warning fixes.
* frame-msw.c:
* frame-msw.c (mswindows_size_frame_internal):
Fixed the computation of frame size and position to keep the frame
within the workspace area, rather than within the physical
dimensions of the screen, so that the frame doesn't overlap window
manager decorations, such as the start menu and toolbar, typically
at the bottom of the screen.
* frame.c (vars_of_frame):
Changed the default frame title format under MS Windows to consist
of buffername-XEmacs, which is standard under MS Windows. I think
it might be a good idea to change this everywhere because I think
it is superior to the current frame title format, but this is the
kind of change that is likely to cause some people to get annoyed,
so I'm not making it.
* glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
* gui-msw.c (mswindows_handle_gui_wm_command):
Fixed compile warnings.
* gui-x.c:
* gui-x.c (strdup_and_add_accel):
* gui-x.c (button_item_to_widget_value):
* gui-x.h:
Added code to automatically put an accelerator onto the beginning
of menu items that don't have one as is now the standard, and is
described more later. Also fixed things so that the menu item
name can be an evaluated expression, again a new standard.
* gui.c:
* gui.c (gui_item_add_keyval_pair):
* gui.c (make_gui_item_from_keywords_internal):
* gui.c (gui_add_item_keywords_to_plist):
* gui.c (gui_item_accelerator):
* gui.c (gui_name_accelerator):
* gui.c (gui_item_included_p):
* gui.c (gui_item_display_flush_left):
* gui.c (gui_item_display_flush_right):
* gui.c (parse_gui_item_tree_item):
* gui.c (parse_gui_item_tree_children):
* gui.c (parse_gui_item_tree_list):
Mule-ized. Cleanup. GCPRO addition.
* line-number.c (buffer_line_number):
* lisp.h:
* lisp.h (EMACS_INT_MAX):
Added the manifest constant EMACS_INT_MIN corresponding to the
existing constant EMACS_INT_MAX. This is partially to fix compile
warnings under Windows, and partly for cleanliness.
* menubar-msw.c:
* menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
* menubar-msw.c (msw_translate_menu_or_dialog_item):
* menubar-msw.c (displayable_menu_item):
* menubar-msw.c (populate_menu_add_item):
* menubar-msw.c (populate_or_checksum_helper):
* menubar-msw.c (populate_menu):
* menubar-msw.c (update_frame_menubar_maybe):
* menubar-msw.c (prune_menubar):
* menubar-msw.c (msw_char_is_accelerator):
* menubar-msw.c (unsafe_handle_wm_initmenu_1):
* menubar-msw.c (mswindows_handle_wm_command):
* menubar-msw.c (mswindows_handle_wm_initmenupopup):
* menubar-msw.c (mswindows_handle_wm_initmenu):
* menubar-msw.c (mswindows_update_frame_menubars):
* menubar-msw.c (mswindows_free_frame_menubars):
* menubar-msw.c (mswindows_popup_menu):
Fixed a bug in handling accelerators where an extra character
would be displayed in the menu item. Also generalized the
function displayable_menu_item because it is now used by the
dialog box code as well. And finally, added code in the functions
that create the menubar to extract a list of accelerators for the
top level menubar, which is used in the event code to determine
whether a particular alt-key combination should be used to invoke
a menu item, or should be passed through to access the standard
XEmacs keymap binding for this key combination.
Much needed GCPROing.
* menubar-x.c:
* menubar-x.c (menu_item_descriptor_to_widget_value_1):
* menubar-x.c (menu_item_descriptor_to_widget_value):
* menubar-x.c (restore_in_menu_callback):
* menubar-x.c (x_popup_menu):
* menubar-x.c (menu_move_up):
* menubar-x.c (menu_move_down):
* menubar-x.c (menu_move_left):
* menubar-x.c (menu_move_right):
* menubar-x.c (menu_select_item):
* menubar-x.c (command_builder_operate_menu_accelerator):
* menubar-x.c (menu_accelerator_junk_on_error):
* menubar-x.c (command_builder_find_menu_accelerator):
* menubar-x.c (Faccelerate_menu):
* menubar.h:
Moved a whole bunch of code here that was previously in
event-stream.c as described above. There is also code connected
to the new standard of adding an accelerator to the beginning of
menu items that don't have one as described above and below.
* menubar.c:
* menubar.c (menu_parse_submenu_keywords):
* menubar.c (Fmenu_find_real_submenu):
* menubar.c (Fnormalize_menu_item_name):
* menubar.c (syms_of_menubar):
* menubar.c (vars_of_menubar):
* menubar.c (complex_vars_of_menubar):
a) Cleaned up a bunch of documentation and improved it.
b) XEmacs now automatically adds an accelerator onto the beginning
of any menu items that don't have one. I did this because there
will inevitably be some menu items on the main menubar that don't
have accelerators on them because the package that adds that
particular menu item hasn't yet been fixed up to have accelerators
in them and it looked rather strange to have some items with and
some items without accelerators, especially since even in items
without accelerators, you can, at least under windows, still
access the item through an accelerator corresponding to the first
character in the item's name. If people don't like this behavior,
I can add a variable to turn it off optionally, but I'm not sure
this is a good idea because we really do need to have accelerators
on all of the menu items, and if a package doesn't like the
accelerators being put on the first character, then it should put
the accelerators where they belong.
c) I made a behavior change, which is that the descriptor that
specifies the text of the menu item, which formerly was just a
string, can now also be an evaluated expression. This makes this
descriptor parallel with all of the others, which could also be
evaluated expressions. This also obviates the need for the
keyword :label, which was previously listed in the documentation
as unimplemented, and which was for the same purpose.
d) GCPROing.
* ntproc.c:
* ntproc.c (new_child):
* ntproc.c (sys_spawnve):
* ntproc.c (find_child_console):
* ntproc.c (sys_kill):
Fixed compile warnings. By the way, this file should really go
away entirely, and this will happen as soon as Kirill makes his
final round of process cleanups, which affect the function
call-process.
* process-nt.c:
* process-nt.c (struct nt_process_data):
* process-nt.c (find_process_from_pid):
* process-nt.c (send_signal_the_nt_way):
* process-nt.c (enable_child_signals):
* process-nt.c (find_child_console):
* process-nt.c (send_signal_the_95_way):
* process-nt.c (nt_finalize_process_data):
* process-nt.c (ensure_console_window_exists):
* process-nt.c (nt_create_process):
* process-nt.c (nt_kill_child_process):
* process-nt.c (nt_kill_process_by_pid):
* process-nt.c (nt_open_network_stream):
* process-nt.c (vars_of_process_nt):
Copied over code from Emacs 20.5 to correctly send signals to sub-
processes under Windows 95. Also added code to automatically
create and hide console window when a sub-process is created under
Windows 95, which obviates the need for the separate runemacs.exe
executable, and finally implemented some variables that were
implemented in Emacs 20.5, but previously not in XEmacs. These
include mswindows- start-process-share-console and
mswindows-start-process-inherit-error-mode. (Both of these only
apply to Windows 95.)
* regex.c (regex_compile): Fixed a compile warning.
* select-msw.c:
* select-msw.c (mswindows_own_selection):
* select-msw.c (mswindows_get_foreign_selection):
* select-msw.c (mswindows_disown_selection):
* select-msw.c (console_type_create_select_mswindows):
* select-msw.c (syms_of_select_mswindows):
Cleaned up the file and implemented the device method
selection_exists_p, which had accidentally been left out. Also
removed four lisp functions that were remnants from before the
time when the selection code was properly device abstracted.
These functions are no longer needed because there are generic
equivalents, and because they were added recently and don't exist
in FSF Emacs, I don't think there's any problem with just deleting
them.
* sysdep.c:
* sysdep.c (sys_subshell):
Fixed a compile warning, although in this case there's probably
something wrong with this code, and it ought to be looked into
more thoroughly by somebody who understands it.
* window.c:
* window.c (Fwindow_text_area_height):
* window.c (Fwindow_width):
* window.c (Fwindow_full_width):
* window.c (Fwindow_pixel_width):
* window.c (debug_print_window):
* window.c (syms_of_window):
Added functions window-text-area-height and window-full-width,
which are functions for returning various width and height
characteristics of a window. (One of these functions is necessary
for making the file dialog box work correctly, and the other one
was added for completeness.) Also added a table to the
documentation for window-height which describes the entire scheme
for accessing width and height characteristics of a window.
2000-03-12 Kirill 'Big K' Katsnelson <kkm(a)dtmx.com>
* nt.c (fstat): Added a comment for another problem with
non-encapsulated [f]stat(), reported by Adrian Aichner
<aichner(a)ecf.teradyne.com>.
2000-03-11 Andy Piper <andy(a)xemacs.org>
* window.c (make_dummy_parent): initialize subwindow instance
cache.
(Fset_window_configuration): zero extent_modiff.
2000-03-10 Andy Piper <andy(a)xemacs.org>
* redisplay.c (Fredraw_frame): reset the changed_set flags so that
more changes can be triggered.
(Fredisplay_frame): ditto.
(Fredraw_device): ditto.
(Fredisplay_device): ditto.
(redisplay_frame): make non-static.
(redisplay_frame): call update_frame_gutter_geometry outside of
display proper.
* gutter.h: declare update_frame_gutter_geometry.
* redisplay.h: declare redisplay_frame.
* gutter.c (update_frame_gutter_geometry): move geometry changes
in update_frame_gutters here. Geometry changes can only occur
outside of redisplay.
(update_frame_gutters): remove geometry change code.
(Fredisplay_gutter_area): make sure that we are in display when we
update and that we have flushed any size changes.
2000-03-11 Andy Piper <andy(a)xemacs.org>
* alloc.c (pdump_dump_data): remove i & count shadows.
2000-02-27 Mike Alexander <mta(a)arbortext.com>
* sysdep.h: Declare pdump_read_file
* sysdep.c (pdump_read_file): New function
* alloc.c (pdump_load): Call pdump_read_file to get the portable
dump data
2000-03-10 SL Baur <steve(a)musashimaru.m17n.org>
* lrecord.h: add `lrecord_type_pgsetenv'.
2000-03-08 SL Baur <steve(a)musashimaru.m17n.org>
* symsinit.h: declare (vars|syms)_of* functions.
* lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
2000-03-06 SL Baur <steve(a)musashimaru.m17n.org>
* config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
* inline.c: Include postgresql.h lrecord stuffs to placate buggy
GCCs.
* emacs.c (main_1): Call postgres initialization code.
* postgresql.h: New file. PostgreSQL RDBMS support.
* postgresql.c: New file.
2000-03-08 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* redisplay-output.c (redisplay_output_display_block): Disable
redundant code.
2000-03-09 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* mule-canna.c (Fcanna_henkan_region): Translate doc-string.
(Fcanna_henkan_next): Ditto.
(Fcanna_bunsetu_henkou): Ditto.
(Fcanna_henkan_kakutei): Ditto.
(Fcanna_henkan_end): Ditto.
(Fcanna_henkan_quit): Ditto.
(Fcanna_henkan_next): Set retun value correctly.
(c2mu): Use unsigned char instead of signed char.
2000-03-09 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* emacs.c (main_1): Always call syms_of_gui.
* inline.c: include gui.h
2000-03-09 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* redisplay.c (Vvisible_bell): Renamed from visible_bell and
converted to Lisp_Object.
(Qtop_bottom): New variable.
(syms_of_redisplay): Initialize it.
* redisplay.h (Vvisible_bell): Ditto.
* sound.c (ding): Ditto and check if Vvisible_bell is nil.
* redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
only flash top and bottom.
2000-03-08 Andy Piper <andy(a)xemacs.org>
* buffer.c (Frename_buffer): record new buffer name the right way.
2000-03-08 Andy Piper <andy(a)xemacs.org>
* glyphs.c (update_subwindow): increase hash depth so that widget
items get picked up properly.
* redisplay-output.c (compare_runes): increase hash depth so that
widget items get picked up properly.
2000-03-08 Andy Piper <andy(a)xemacs.org>
* gutter.c (output_gutter): add some debug.
* glyphs.h (struct Lisp_Image_Instance): add display_hash.
(IMAGE_INSTANCE_DISPLAY_HASH): new macro.
(XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
* redisplay-output.c (compare_runes): use display_hash to
determine if glyphs really are not the same.
* glyphs.c (update_subwindow): check display_hash to see if
anything really needs to be updated. If not then do
nothing. Record the display_hash after updating.
(image_instance_equal): compare the image_instance face also.
2000-03-07 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* redisplay.h: Fix comment style.
2000-03-08 Jonathan Harris <jhar(a)tardis.ed.ac.uk>
* consle-msw.h (struct mswindows_frame):
Added new member paint_pending to indicate whether a WM_PAINT
magic event has been queued for this frame.
* event-msw.c (mswindows_drain_windows_queue):
Don't queue a WM_PAINT magic event if one is already queued.
(emacs_mswindows_handle_magic_event): clear paint_pending flag.
* frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
2000-03-07 Didier Verna <didier(a)xemacs.org>
* dired.c: #include `regex.h' after `sysfile.h'.
2000-03-06 Martin Buchholz <martin(a)xemacs.org>
* sound.c (init_nas_sound): Fix compiler warning.
* alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
(FREE_STRUCT_P):
(MARK_STRUCT_AS_FREE):
(MARK_STRUCT_AS_NOT_FREE):
Make `gcc -fstrict-aliasing' work properly.
2000-03-07 Jonathan Harris <jhar(a)tardis.ed.ac.uk>
* device-msw.c (mswindows_finish_init_device): Call CoInitialize().
(mswindows_delete_device): Call CoUnnitialize().
* event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
2000-02-25 <CraigL(a)DyCon.com>
* process-nt.c: MinGW now has <shellapi.h>, but still needs
<errno.h>.
* sysdep.c: This extern declaration for environ prevents MinGW
from finding the variable in CRTDLL.DLL.
* s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
windows headers.
(SHGFI_EXETYPE): ..
(WM_MOUSEWHEEL): ..
(_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
definitions.
(MMRESULT): Removed, now defined in cygwin's windows headers.
(TIMECAPS): ..
(uid_t,gid_t,pid_t,ssize_t): ..
(_timeb): Removed, MinGW defines both _timeb and timeb.
(HAVE_H_ERRNO): Added.
(HAVE_TZNAME): Added, configure is not detecting this.
2000-02-03 IKEYAMA Tomonori <tomonori(a)suiyokai.org>
* chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
* syntax.c (syntax_match): Use it.
* cmds.c: Import auto-fill-chars from FSF Emacs.
(Vauto_fill_chars): New variables.
(internal_self_insert): Check Vauto_fill_chars.
(vars_of_cmds):
Declare auto-fill-chars as a Lisp variable and initialize it.
2000-03-05 Jonathan Harris <jhar(a)tardis.ed.ac.uk>
* fileio.c (Fmake_symbolic_link):
(Ffile_symlink_p):
Run handlers even if local machine doesn't have symlinks.
2000-03-05 Jonathan Harris <jhar(a)tardis.ed.ac.uk>
* event-msw.c (mswindows_drain_windows_queue):
Don't generate paint magic events for non-XEmacs frames.
2000-03-05 Andy Piper <andy(a)xemacs.org>
* redisplay.c (redisplay_frame): generate_displayable_area and
friends assumes that we are not in GC, we therefore have to make
sure that this doesn't happen.
* gutter.c (calculate_gutter_size): generate_displayable_area
assumes that we are not in GC, we therefore have to make sure that
this doesn't happen.
2000-03-05 Martin Buchholz <martin(a)xemacs.org>
* opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
2000-03-03 Jan Vroonhof <vroonhof(a)math.ethz.ch>
* redisplay.c (regenerate_window): Make sure we set a sane value
for end_pos even if we jump out of the loop.
(regenerate_window): Answer Ben's question :-).
(start_end_of_last_line): Add may_error argument.
(start_of_last_line):
(end_of_last_line): Pass may_error = 0.
(end_of_last_line_may_error): New function.
(pixel_to_glyph_translation): Use it, so we don't crash in
event_to_glyph.
2000-03-04 Andy Piper <andy(a)xemacs.org>
* window.h (struct window): add gutter_extent_modiff.
* window.c (allocate_window): zero out gutter_extent_modiff.
* redisplay.h: declare sync_display_line_structs.
* redisplay.c (add_glyph_rune): add a better comment.
* redisplay-output.c (sync_display_line_structs): made non-static.
(compare_runes): remove unneccesary glyph cachel access.
* gutter.h: declare gutter_extent_signal_changed_region_maybe.
* gutter.c (output_gutter): don't output the gutter if extent
changes only involve extents in buffers. use 4 sets of display
lines.
(gutter_extent_signal_changed_region_maybe): new function. Mark
extents in gutters as changed.
(update_frame_gutters): use 4 sets of display lines.
(reset_gutter_display_lines): ditto.
(free_frame_gutters): ditto.
(redraw_exposed_gutter): force output of gutters.
* frame.h (struct frame): add 4 sets of gutter display lines.
* extents.c: (extent_changed_for_redisplay): signal changes to
extents in strings in the gutter as well as extents in buffers.
2000-03-02 Andy Piper <andy(a)xemacs.org>
* gutter.c (specifier_vars_of_gutter): cosmetic changes.
* frame.c (Fmake_frame): make sure the gutters get initialized
after the frame is visible.
(set_frame_selected_window): re-arrange compilation macros a
little.
(change_frame_size_1): mark gutters changed.
* device.c (Fset_device_class): mark gutters changed.
2000-03-01 Andy Piper <andy(a)xemacs.org>
* window.c (window_top_frame_gutter_height): deleted.
(window_bottom_frame_gutter_height): ditto.
(window_left_frame_gutter_height): ditto.
(window_right_frame_gutter_height): ditto.
(window_top_gutter_height): don't use them.
(window_bottom_gutter_height): ditto.
(window_left_gutter_width): ditto.
(window_right_gutter_width): ditto.
(Fsplit_window): ditto.
(Fwindow_pixel_edges): don't use border dimensions here.
* scrollbar.c (update_scrollbar_instance): don't take gutters into account.
(update_scrollbar_instance): ditto.
* redisplay.c (generate_modeline): don't take gutters into account.
(generate_modeline): ditto.
(redisplay_frame): small gutter display optimisation.
* redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
* redisplay-msw.c (mswindows_output_vertical_divider): don't take
gutters into account.
* gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
for window position and type.
* gutter.c (get_gutter_coords): fix for frame gutters.
(update_frame_gutters): update frame geometry if the gutters have
changed.
(init_frame_gutters): record current gutter geometries.
* glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
var.
(mswindows_widget_instantiate): ditto.
* frame.h (struct frame): add current_gutter_bounds.
* frame.c (change_frame_size_1): position window and minibuffer
appropriately taking into account the frame gutters.
* frame-x.c: (x_initialize_frame_size): take into account the
frame gutters.
2000-02-29 Stephen J. Turnbull <stephen(a)xemacs.org>
* emacs.c (data-directory): Xref `locate-data-file' in docstring.
2000-02-29 Stephen J. Turnbull <stephen(a)xemacs.org>
* alloc.c (dumpopaquevec): Increase dimension for --with-canna.
1999-12-30 Yoshiki Hayashi <t90553(a)mail.ecc.u-tokyo.ac.jp>
* file-coding.c (reset_decoding_stream): Clear previous
detection state when autodetect.
2000-02-29 Didier Verna <didier(a)xemacs.org>
* extents.c (set_extent_glyph_1): don't require extents to be
attached.
2000-02-27 Andy Piper <andy(a)xemacs.org>
* gutter.c (Fset_default_gutter_position): don't default left and
right gutter visibility to t.
(Fset_default_gutter_position): run
default-gutter-position-changed-hook.
(syms_of_gutter): add default-gutter-position-changed-hook.
2000-02-26 Andy Piper <andy(a)xemacs.org>
* specifier.c (Fmake_specifier): add gutter references.
* gutter.h (RAW_WINDOW_GUTTER): new macro.
* lisp.h: declare Fvalid_plist_p.
* gutter.c (gutter_geometry_changed_in_window): mark the modeline
as changed.
(default_gutter_visible_p_changed_in_window): invalidate gutter as
well as its visibility so that it gets reconstructed.
(construct_window_gutter_spec): new function. Construct a string
to be displayed in the gutter from a plist of strings. Take care
to only use elements that are declared as visible.
(calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
WINDOW_GUTTER.
(gutter_validate): allow plists of strings in the specifier.
(gutter_specs_changed): construct the real_gutter from the gutter
specs using construct_window_gutter_spec.
(gutter_visible_validate): gutter-visible is a new specifier type.
(Fgutter_visible_specifier_p): new function for the new specifier.
(syms_of_gutter): declare gutter-visible and
Fgutter_visible_specifier_p.
(specifier_type_create_gutter): intitalize new gutter-visible
specifier.
(reinit_specifier_type_create_gutter): ditto.
(specifier_vars_of_gutter): use new specifier type for gutter
visibility.
(init_frame_gutters): construct real_gutter correctly.
(Fgutter_specifier_p): beef up documentation.
(Fgutter_size_specifier_p): ditto.
* winslots.h: add real_gutter slots.
2000-02-25 Andy Piper <andy(a)xemacs.org>
* device-msw.c: Be kind to older cygwin versions. From Raymond
Toy <toy(a)rtp.ericsson.se>.
* gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
earlier cygwins. From Raymond Toy <toy(a)rtp.ericsson.se>.
2000-02-25 Martin Buchholz <martin(a)xemacs.org>
* elhash.c (MARK_OBJ): Practice macro hygiene.
2000-02-24 Martin Buchholz <martin(a)xemacs.org>
* miscplay.c: s/__inline__/inline/g;
* glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
(get_device_compdc): INLINE ==> static inline
* *.[ch]: Change INLINE to INLINE_HEADER globally.
find -name '*.h' | \
xargs global-replace \
's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
2000-02-25 Andy Piper <andy(a)xemacs.org>
* window.c (window_top_frame_gutter_height): new function.
(window_top_window_gutter_height): ditto.
(window_top_gutter_height): use them.
(window_bottom_frame_gutter_height): new function.
(window_bottom_window_gutter_height): ditto.
(window_bottom_gutter_height): use them.
(window_left_window_gutter_width): new function.
(window_left_frame_gutter_width): ditto.
(window_left_gutter_width): use them.
(window_right_window_gutter_width): new function.
(window_right_frame_gutter_width): ditto.
(window_right_gutter_width): use them.
(window_pixel_height): new function. calulate window pixel height
with frame gutter involvement.
(Fsplit_window): calculate new sizes taking frame gutters into
account.
(window_char_height_to_pixel_height): don't include frame gutters.
(window_char_height): use window_pixel_height.
(window_pixheight): rename from window_pixel_height.
(change_window_height): use it.
(window_pixel_height_to_char_height): don't include frame gutters.
(window_char_width_to_pixel_width): ditto.
2000-02-25 Andy Piper <andy(a)xemacs.org>
* glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
if it is.
2000-02-24 Martin Buchholz <martin(a)xemacs.org>
* alloc.c (staticpro):
(staticpro_nodump):
(dumpstruct):
(dumpopaque):
(pdump_wire):
(pdump_wire_list):
(compact_string_chars):
(pdump_dump_wired):
Convert: if (foo) abort(); ==> assert (! foo);
* eldap.c (Fldap_search_basic):
(Fldap_add):
(Fldap_modify):
(Fldap_delete):
Fix compiler warnings, and possible crashes if (random) return
value were to be used.
2000-02-21 Kirill 'Big K' Katsnelson <kkm(a)dtmx.com>
* device-msw.c: Workaround ResetDC failure.
* frame-msw.c (msprinter_init_frame_3): Added an assertion before
applying a devmode.
* redisplay-msw.c (get_frame_dc): Added start_page_p.
(mswindows_text_width): Do not start printer page.
* console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
* glyphs-msw.c: Added image methods to msprinter console and
msprinter-specific image instantiation.
2000-02-20 Mike Alexander <mta(a)arbortext.com>
* select-msw.c (Fmswindows_set_clipboard): GC protect more things
to avoid crashes when selection-sets-clipboard is on
(mswindows_own_selection): ditto
2000-02-19 Kirill 'Big K' Katsnelson <kkm(a)dtmx.com>
* glyphs-msw.c:
* redisplay-msw.c (get_frame_dc):
(get_frame_compdc):
* console-msw.h:
* device-msw.c (mswindows_init_device):
(mswindows_delete_device):
(msprinter_init_device):
(msprinter_delete_device):
* frame-msw.c (mswindows_init_frame_1):
(mswindows_delete_frame):
(msprinter_init_frame_3):
(msprinter_delete_frame): Move compatible DC to device object from
frame object, for both mswindows and msprinter. Only one at a time
is needed, it is a real waste to have one per frame!
2000-02-23 Andy Piper <andy(a)xemacs.org>
* glyphs.c: add dynamic width and height elements.
(image_instance_equal): ditto.
* glyphs-widget.c (widget_query_geometry): calculate width and
height dynamically if required.
(initialize_widget_image_instance): initialize dynamic dimensions.
(widget_instantiate): pick-up dynamic dimensions.
* glyphs.h (struct Lisp_Image_Instance): add width and height for
dynamic determination. Add appropriate macros.
* gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
dimensions safe.
(WINDOW_GUTTER_SIZE): ditto.
(WINDOW_GUTTER_SIZE_INTERNAL): ditto.
* redisplay-msw.c (get_frame_compdc): gcc can't cope with this
inline.
(get_frame_dc): ditto.
* redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
here.
-------- ChangeLog entries from xemacs-21.2.32/tests/ChangeLog -------
2000-03-10 Martin Buchholz <martin(a)xemacs.org>
* automated/mule-tests.el: Check that (make-temp-name) returns
unique values.
2000-03-06 Yoshiki Hayashi <yoshiki(a)xemacs.org>
* gutter-test.el: Fix name of specifier.