|
|||||||||||||||||
Searching XEmacs
Quick Links
About XEmacs
|
XEmacs 21.2.32 ReleaseSummary of Changes to 21.2.32 "Kastor & Polydeukes"goto changes
ChangeLogs for Release 21.2.32 "Kastor & Polydeukes" of XEmacsgoto summary
lib-src/ChangeLog2000-03-20 Martin Buchholz <martin@xemacs.org> * make-dump-id.c: Use config.h and systime.h for portability. 2000-02-20 Olivier Galibert <galibert@pobox.com> * make-dump-id.c: Added. * Makefile.in.in: Add support for make-dump-id. 2000-03-12 Ben Wing <ben@xemacs.org> * etags.c (canonicalize_filename): fixed a problem with gratuitous capitalization of file names under MS Windows. lisp/ChangeLog2000-03-20 Andy Piper <andy@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@xemacs.org> * files.el (find-file-noselect): undo change that shouldn't have gone in. 2000-03-17 Andy Piper <andy@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@iskon.hr> * cl.el (gensym): Move to here from cl-macs.el. (gentemp): Ditto. 2000-03-16 Andy Piper <andy@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@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@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@xemacs.org> * files.el (auto-mode-alist): pick up jsp, jhtml and xml files. 2000-03-09 Yoshiki Hayashi <yoshiki@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@xemacs.org> * gutter-items.el (build-buffers-tab-internal): add selected field to buffers tab spec. 2000-03-07 Yoshiki Hayashi <yoshiki@xemacs.org> * minibuf.el (last-exact-completion): Initialize to nil. 2000-03-07 Didier Verna <didier@xemacs.org> * startup.el (command-line-1): remove unused variable `first-file-buffer'. 2000-02-29 Hrvoje Niksic <hniksic@iskon.hr> * loaddefs.el (completion-ignored-extensions): Removed ".log", which is also used for Web server log files. 2000-02-03 IKEYAMA Tomonori <tomonori@suiyokai.org> * mule/mule-charset.el: Setup auto-fill-chars. 2000-03-02 SL Baur <steve@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@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@xemacs.org> * startup.el (load-user-init-file): Merge two `if's to one `or'. 2000-02-28 Martin Buchholz <martin@xemacs.org> * menubar-items.el (maybe-add-init-button): Remove the "Load .emacs" button from all menubars. 2000-03-01 Didier Verna <didier@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@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@xemacs.org> * minibuf.el (read-variable): Allow symbol to default argument. 2000-02-27 Andy Piper <andy@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@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@xemacs.org> * gutter-items.el (add-tab-to-gutter): specify dimensions dynamically. 2000-02-24 Martin Buchholz <martin@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@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@dtmx.com> * msw-glyphs.el (msgdi-device-p): Added this and 'msgdi specifier tag. lwlib/ChangeLog2000-03-14 Ben Wing <ben@xemacs.org> * xlwmenu.c (massage_resource_name): Handle %_ and %%. 2000-02-20 Gunnar Evermann <ge204@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. man/ChangeLog2000-03-15 SL Baur <steve@musashimaru.m17n.org> * lispref/postgresql.texi (Unimplemented libpq Functions): Update documentation to reflect the latest code. 2000-03-07 SL Baur <steve@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@xemacs.org> * lispref/glyphs.texi (Image Specifiers): Remove parenthesis. 2000-03-06 Yoshiki Hayashi <yoshiki@xemacs.org> * xemacs-faq.texi: Put node before section. 2000-03-05 Jonathan Harris <jhar@tardis.ed.ac.uk> * xemacs-faq.texi (Macintosh port): Made texinfmt-friendly. 2000-03-01 Sandra Wambold <wambold@xemacs.org> * xemacs-faq.texi: Added 6.4.1. XEmacs won't start on Windows 2000-01-25 Yoshiki Hayashi <yoshiki@xemacs.org> * xemacs/xemacs.texi: Detailed menu update. 2000-01-28 Yoshiki Hayashi <yoshiki@xemacs.org> * xemacs/help.texi: Synch with FSF 20.5. Update. 2000-02-21 Yoshiki Hayashi <yoshiki@xemacs.org> * lispref/minibuf.texi: Add default argument documentation. 2000-02-27 Martin Buchholz <martin@xemacs.org> * internals/internals.texi (lrecords): Update docs for new lisp object representation. 2000-02-25 Martin Buchholz <martin@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@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@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@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. nt/ChangeLog2000-03-15 Mike Alexander <mta@arbortext.com> * xemacs.mak: Fix for generation of $(XEMACS)\Installation. 2000-03-14 Adrian Aichner <adrian@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@xemacs.org> * xemacs.mak (TEMACS_ENTRYPOINT): Fix for portable dumper. 2000-03-12 Ben Wing <ben@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@xemacs.org> * PROBLEMS: Doc fix from Reini Urban <rurban@x-ray.at>. 2000-02-27 Mike Alexander <mta@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@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@DyCon.com> * inc\sys\time.h: MinGW defines struct timeval in <winsock.h>. 2000-02-24 Martin Buchholz <martin@xemacs.org> * config.h (INLINE_HEADER): Define properly (?) for Windows. src/ChangeLog2000-03-12 Jan Vroonhof <vroonhof@math.ethz.ch> * sysdep.c: Include proper headers for mmap when pdumping() 2000-03-20 Martin Buchholz <martin@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@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@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@xemacs.org> * glyphs.c (image_instantiate): allow text glyphs to be instantiated in the minibuffer window. 2000-03-19 Andy Piper <andy@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@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@xemacs.org> * window.c (Fselect_window): Undo 2000-03-17 change. 2000-03-17 SL Baur <steve@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@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@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@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@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@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@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@musashimaru.m17n.org> * postgresql.c (Fpq_lo_import): Fix return value. Suggested by: Kenji Itoh <keit@tpj.co.jp>. 2000-03-13 Ben Wing <ben@xemacs.org> * alloc.c (pdump_load): Fix compile warning under mswin. 2000-03-14 SL Baur <steve@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@musashimaru.m17n.org> * postgresql.c (vars_of_postgresql): Mule-ize. (Fpq_conn_defaults): Ditto. 2000-03-12 Ben Wing <ben@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@dtmx.com> * nt.c (fstat): Added a comment for another problem with non-encapsulated [f]stat(), reported by Adrian Aichner <aichner@ecf.teradyne.com>. 2000-03-11 Andy Piper <andy@xemacs.org> * window.c (make_dummy_parent): initialize subwindow instance cache. (Fset_window_configuration): zero extent_modiff. 2000-03-10 Andy Piper <andy@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@xemacs.org> * alloc.c (pdump_dump_data): remove i & count shadows. 2000-02-27 Mike Alexander <mta@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@musashimaru.m17n.org> * lrecord.h: add `lrecord_type_pgsetenv'. 2000-03-08 SL Baur <steve@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@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@xemacs.org> * redisplay-output.c (redisplay_output_display_block): Disable redundant code. 2000-03-09 Yoshiki Hayashi <yoshiki@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@xemacs.org> * emacs.c (main_1): Always call syms_of_gui. * inline.c: include gui.h 2000-03-09 Yoshiki Hayashi <yoshiki@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@xemacs.org> * buffer.c (Frename_buffer): record new buffer name the right way. 2000-03-08 Andy Piper <andy@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@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@xemacs.org> * redisplay.h: Fix comment style. 2000-03-08 Jonathan Harris <jhar@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@xemacs.org> * dired.c: #include `regex.h' after `sysfile.h'. 2000-03-06 Martin Buchholz <martin@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@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@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@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@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@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@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@xemacs.org> * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr 2000-03-03 Jan Vroonhof <vroonhof@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@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@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@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@xemacs.org> * emacs.c (data-directory): Xref `locate-data-file' in docstring. 2000-02-29 Stephen J. Turnbull <stephen@xemacs.org> * alloc.c (dumpopaquevec): Increase dimension for --with-canna. 1999-12-30 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * file-coding.c (reset_decoding_stream): Clear previous detection state when autodetect. 2000-02-29 Didier Verna <didier@xemacs.org> * extents.c (set_extent_glyph_1): don't require extents to be attached. 2000-02-27 Andy Piper <andy@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@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@xemacs.org> * device-msw.c: Be kind to older cygwin versions. From Raymond Toy <toy@rtp.ericsson.se>. * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>. 2000-02-25 Martin Buchholz <martin@xemacs.org> * elhash.c (MARK_OBJ): Practice macro hygiene. 2000-02-24 Martin Buchholz <martin@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@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@xemacs.org> * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash if it is. 2000-02-24 Martin Buchholz <martin@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@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@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@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@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. tests/ChangeLog2000-03-10 Martin Buchholz <martin@xemacs.org> * automated/mule-tests.el: Check that (make-temp-name) returns unique values. 2000-03-06 Yoshiki Hayashi <yoshiki@xemacs.org> * gutter-test.el: Fix name of specifier. |
||||||||||||||||
|
|
||||||||||||||||
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