Fix how custom themes handle faces, so the multi-tty/multi-frame case works.
* lisp/custom.el (custom-push-theme): Don't record faces in `changed'
theme; this doesn't work correctly for per-frame face settings.
(disable-theme): Use face-set-after-frame-default to reset faces.
(custom--frame-color-default): New function.
* lisp/frame.el (frame-background-mode, frame-set-background-mode):
Moved from faces.el.
(frame-default-terminal-background): New function.
* src/xfaces.c (Finternal_merge_in_global_face): Modify the foreground
and background color parameters if they have been changed.
Kevin Ryde [Sun, 3 Jul 2011 12:40:59 +0000 (14:40 +0200)]
* cl.texi (For Clauses): @items for hash-values and key-bindings
to make them more visible when skimming. Add examples of `using'
clause to them, examples being clearer than a description in
words.
gnus.el (gnus-list-debbugs): New command.
gnus-group.el (gnus-bug-group-download-format-alist): Get the mboxstat instead of the maintbox, since the stat seems to be fuller.
gnus-msg.el (gnus-configure-posting-styles): Don't try to select dead summary buffers.
message.el (message-get-reply-headers): Delete all duplicates, instead of the first.
(message-get-reply-headers): Ensure that we have progress while deleting duplicates.
gnus-msg.el (gnus-configure-posting-styles): Get the local gnus-posting-style value from the summary buffer to make it easier to make that a per-buffer conf.
* textmodes/fill.el (fill-region): Remove the "Ordinarily" from
the doc string, since it appears that using `fill-column' always
controls the width (bug#7845).
nnir.el (nnir-run-imap): Allow halting a search when an article is found by setting `shortcut' in 'query.
(nnir-request-article): Use `shortcut' setting when requesting article by Message-ID.
gnus-msg.el (gnus-bug): Give the Version and Package headers to debbugs with the X-Debbugs-Package and X-Debbugs-Version headers. Bring the pseudo-headers back too.
Stefan Monnier [Sat, 2 Jul 2011 04:27:41 +0000 (00:27 -0400)]
Add multiple inheritance to keymaps.
* src/keymap.c (Fmake_composed_keymap): New function.
(Fset_keymap_parent): Simplify.
(fix_submap_inheritance): Remove.
(access_keymap_1): New function extracted from access_keymap to handle
embedded parents and handle lists of maps.
(access_keymap): Use it.
(Fkeymap_prompt, map_keymap_internal, map_keymap, store_in_keymap)
(Fcopy_keymap): Handle embedded parents.
(Fcommand_remapping, define_as_prefix): Simplify.
(Fkey_binding): Simplify.
(syms_of_keymap): Move minibuffer-local-completion-map,
minibuffer-local-filename-completion-map,
minibuffer-local-must-match-map, and
minibuffer-local-filename-must-match-map to Elisp.
(syms_of_keymap): Defsubr make-composed-keymap.
* src/keyboard.c (menu_bar_items): Use map_keymap_canonical.
(parse_menu_item): Trivial simplification.
* lisp/subr.el (remq): Don't allocate if it's not needed.
(keymap--menu-item-binding, keymap--menu-item-with-binding)
(keymap--merge-bindings): New functions.
(keymap-canonicalize): Use them to refine the canonicalization.
* lisp/minibuffer.el (minibuffer-local-completion-map)
(minibuffer-local-must-match-map): Move initialization from C.
(minibuffer-local-filename-completion-map): Move initialization from C;
don't inherit from anything here.
(minibuffer-local-filename-must-match-map): Make obsolete.
(completing-read-default): Use make-composed-keymap to combine
minibuffer-local-filename-completion-map with either
minibuffer-local-must-match-map or
minibuffer-local-filename-completion-map.
* progmodes/flymake.el (flymake-find-file-hook): Add an `autoload'
cookie, since the manual says that it should be possible to add
this function to `find-file-hook'.
Moved `cfengine3-mode' to cfengine.el. Removed cfengine3.el.
* progmodes/cfengine.el: Moved all cfengine3.el functionality
here. Noted Ted Zlatanov as the maintainer.
(cfengine-common-settings, cfengine-common-syntax): New functions
to set up common things between `cfengine-mode' and
`cfengine3-mode'.
(cfengine3-mode): New mode.
(cfengine3-defuns cfengine3-defuns-regex
(cfengine3-class-selector-regex cfengine3-category-regex)
(cfengine3-vartypes cfengine3-font-lock-keywords)
(cfengine3-beginning-of-defun, cfengine3-end-of-defun)
(cfengine3-indent-line): Added from cfengine3.el.
Jan Djärv [Fri, 1 Jul 2011 09:18:46 +0000 (11:18 +0200)]
* process.c: Add defined (HAVE_GSETTINGS) for xgselect.h
(wait_reading_process_output): Add defined (HAVE_GSETTINGS) for
xg_select.
* xgselect.c: Add defined (HAVE_GSETTINGS).
(xgselect_initialize): Ditto.
* xsettings.c (store_monospaced_changed): Take new font as arg and
check for change against current_mono_font.
(EMACS_TYPE_SETTINGS): Remove this and related defines.
(emacs_settings_constructor, emacs_settings_get_property)
(emacs_settings_set_property, emacs_settings_class_init)
(emacs_settings_init, gsettings_obj): Remove.
(something_changedCB): New function for HAVE_GSETTINGS.
(something_changedCB): HAVE_GCONF: Call store_monospaced_changed
with value as argument.
(init_gsettings): Check that GSETTINGS_SCHEMA exists before calling
g_settings_new. Do not create gsettings_obj.
Remove calls to g_settings_bind. Connect something_changedCB to
"changed".
Paul Eggert [Fri, 1 Jul 2011 05:12:00 +0000 (22:12 -0700)]
* eval.c (struct backtrace): Simplify and port the data structure.
Do not assume that "int nargs : BITS_PER_INT - 2;" produces a
signed bit field, as this assumption is not portable and it makes
Emacs crash when compiled with Sun C 5.8 on sparc. Do not use
"char debug_on_exit : 1" as this is not portable either; instead,
use the portable "unsigned int debug_on_exit : 1". Remove unused
member evalargs. Remove obsolete comments about cc bombing out.
Stefan Monnier [Fri, 1 Jul 2011 03:48:44 +0000 (23:48 -0400)]
* lisp/window.el (bury-buffer): Don't iconify the only frame.
(switch-to-buffer): Revert to Emacs<23 behavior, i.e. do not fallback
to pop-to-buffer. Use pop-to-buffer-same-frame if you don't like that.
Stefan Monnier [Fri, 1 Jul 2011 03:15:02 +0000 (23:15 -0400)]
* lisp/emacs-lisp/find-func.el (find-library--load-name): New fun.
(find-library-name): Use it to find relative load names when provided
absolute file name.