2000-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.