* window.el (recenter-last-op): Doc fix.
(recenter-positions): New defcustom.
(recenter-top-bottom): Rewrite to use `recenter-positions'.
(move-to-window-line-top-bottom): Rewrite to use `recenter-positions'.
(grep-highlight-matches): Add new options
`always' and `auto'. Doc fix.
(grep-process-setup): Check `grep-highlight-matches' for
`auto-detect' to determine the need to compute grep defaults.
Move Windows/DOS specific --colors settings handling
to `grep-compute-defaults'. Check `grep-highlight-matches'
to get the value of "--color=".
(grep-compute-defaults): Compute `grep-highlight-matches' when it
has the value `auto-detect'. Move Windows/DOS specific settings
from `grep-process-setup'.
(zrgrep): New command with alias `rzgrep'.
windows) via M-n in the minibuffer of some Dired commands.
* dired-aux.el (dired-diff, dired-compare-directories)
(dired-do-create-files): Use `dired-dwim-target-defaults' to set
`minibuffer-default' in `minibuffer-with-setup-hook'.
(dired-dwim-target-directory): Find a window that displays Dired
buffer instead of failing when the next window is not Dired.
Use `get-window-with-predicate' to find for the next Dired window.
(dired-dwim-target-defaults): New function.
* ediff-util.el (ediff-read-file-name):
Use `dired-dwim-target-defaults' to set `minibuffer-default'
in `minibuffer-with-setup-hook'.
current Dired line) via M-n for file reading minibuffers. (Bug#5010)
* minibuffer.el (read-file-name-defaults): New function.
(read-file-name): Reset `minibuffer-default' to nil when
it duplicates initial input `insdef'.
Bind `minibuffer-default-add-function' to lambda that
calls `read-file-name-defaults' in `minibuffer-selected-window'.
(minibuffer-insert-file-name-at-point): New command.
* files.el (file-name-at-point-functions): New defcustom.
(find-file-default): Remove defvar.
(find-file-read-args): Don't use `find-file-default'.
Move `minibuffer-with-setup-hook' that sets `minibuffer-default'
to `read-file-name'.
(find-file-literally): Use `read-file-name' with
`confirm-nonexistent-file-or-buffer'.
* ffap.el (ffap-guess-file-name-at-point): New autoloaded function.
* dired.el (dired-read-dir-and-switches):
Move `minibuffer-with-setup-hook' that sets `minibuffer-default'
to `read-file-name'.
(dired-file-name-at-point): New function.
(dired-mode): Add hook `dired-file-name-at-point' to
`file-name-at-point-functions'.
* doc-view.el (doc-view-continuous-mode): New defcustom.
(doc-view-mode-map): Bind C-n/<down> to `doc-view-next-line-or-next-page',
C-p/<up> to `doc-view-previous-line-or-previous-page'.
(doc-view-next-line-or-next-page)
(doc-view-previous-line-or-previous-page): New commands.
(bookmark-search-pattern, bookmark-search-timer, bookmark-quit-flag): New vars.
(bookmark-read-search-input, bookmark-filtered-alist-by-regexp-only)
(bookmark-bmenu-filter-alist-by-regexp)
(bookmark-bmenu-goto-bookmark, bookmark-bmenu-cancel-search): New funs.
(bookmark-bmenu-search): New command.
(bookmark-bmenu-mode-map): Bind it.
* xterm.h (struct x_display_info): Add atoms and Window for xsettings.
* xterm.c (handle_one_xevent): Call xft_settings_event for
ClientMessage, PropertyNotify and DestroyNotify.
(x_term_init): If we have XFT, get DPI from Xft.dpi.
Call xsettings_initialize.
* xftfont.c (xftfont_fix_match): New function.
(xftfont_open): Call XftDefaultSubstitute before XftFontMatch.
Call xftfont_fix_match after XftFontMatch.
* xfont.c (xfont_driver): Initialize all members.
* xfns.c (x_default_font_parameter): Try font from Ffont_get_system_font.
Do not get font from x_default_parameter if we got one from
Ffont_get_system_font.
(Fx_select_font): Get the defaut font name from :name of FRAME_FONT (f).
* w32font.c (w32font_driver): Initialize all members.
* termhooks.h (enum event_kind): CONFIG_CHANGED_EVENT is new.
* lisp.h: Declare syms_of_xsettings.
* keyboard.c (kbd_buffer_get_event, make_lispy_event): Handle
CONFIG_CHANGED_EVENT.
* ftfont.c (ftfont_filter_properties): New function.
* frame.c (x_set_font): Remove unused variable lval.
* font.h (struct font_driver): filter_properties is new.
* font.c (font_put_extra): Don't return if val is nil, it means
boolean option is off.
(font_parse_fcname): Collect all extra properties in extra_props
and call filter_properties for all drivers with extra_props and
font as parameter.
(font_open_entity): Do not use cache, it does not pick up new fontconfig
settings like hinting.
(font_load_for_lface): If spec had a name in it, store it in entity.
* emacs.c (main): Call syms_of_xsettings
* config.in: HAVE_GCONF is new.
* Makefile.in (GCONF_CFLAGS, GCONF_LIBS): New variables for HAVE_GCONF.
xsettings.o is new.
* menu-bar.el: Put "Use system font" in Option-menu.
* loadup.el: If feature system-font-setting or font-render-setting is
there, load font-setting.
* Makefile.in (ELCFILES): font-settings.el is new.
* font-setting.el: New file.
* NEWS: Mention dynamic font changes (font-use-system-font).
* configure.in: New option: --with(out)-gconf.
Set HAVE_GCONF if we find gconf.
(vc-print-log-internal): Insert buttons to request more entries
when limiting the output.
* vc-sccs.el (vc-sccs-print-log):
* vc-rcs.el (vc-rcs-print-log):
* vc-cvs.el (vc-cvs-print-log):
* vc-git.el (vc-git-print-log): Return 'limit-unsupported when
LIMIT is non-nil.
* org.texi: Removed @Ie, @ie, @Eg, @eg macros.
2009-11-13 James TD Smith <ahktenzero@mohorovi.cc>
* org.texi (Column attributes): Add the new age summary operators.
Also, mention the fact you can only use one summary operator per
property.
2009-11-13 John Wiegley <johnw@newartisans.com>
* org.texi (Tracking your habits): Added a new section in the
manual about how to track habits.
(Resolving idle time): Added a section on how idle and
dangling clocks are resolved.
2009-11-13 Carsten Dominik <carsten.dominik@gmail.com>
* org.texi (Agenda commands): Document the new `i' command.
(Inserting deadline/schedule): Document logging changes
of scheduling and deadline times stamps.
(In-buffer settings): Document the in-buffer keywords for logging
changes of scheduling and deadline times stamps.
(Structure editing, Plain lists): Document indentation
cycling in empty entries with TAB.
(Archiving): Document the default archiving command.
(Moving subtrees): Document the new keys for archiving.
(Internal archiving): Fix incorrect key.
(Agenda commands): Document the TODO set switching commands.
(Agenda commands): Document the new archiving keys.
(Clocking work time): Better description on how to save
and restore a clock.
(Resolving idle time): Mention the x11idle program to get true
idleness also under X11.
(Resolving idle time): Use @kbd instead of @key for normal
letters, because this is how he rest of the manual does this.
(Pushing to MobileOrg): Mention that `org-directory'
should be set.
(Agenda commands): Document that SPC is a filter for
any tag.
(Search view): Renamed from "Keyword search".
(Capure): New chapter.
(Markup): New chapter.
(Links in HTML export, Images in HTML export): Extend
the section titles.
(Images in HTML export): Document the align option.
(Text areas in HTML export): Extend the section title.
(Images in LaTeX export): Explain image placement in LaTeX.
* lisp.h (USE_2_TAGS_FOR_INTS): New macro.
(LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P): New macros.
(enum Lisp_Type): Use them. Give explicit values.
(Lisp_Type_Limit): Remove.
(XINT, XUINT, make_number) [!USE_LISP_UNION_TYPE]:
(MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK):
Pay attention to USE_2_TAGS_FOR_INTS.
(INTEGERP): Use LISP_INT_TAG_P.
* fns.c (internal_equal): Simplify the default case.
(sxhash): Use case_Lisp_Int.
* data.c (wrong_type_argument): Don't check against Lisp_Type_Limit any more.
(Ftype_of): Use case_Lisp_Int.
(store_symval_forwarding): Take into account the fact that Ints can
now have more than one tag.
* buffer.c (syms_of_buffer): Use LISP_INT_TAG.
buffer_slot_type_mismatch):
* xfaces.c (face_attr_equal_p):
* print.c (print_object):
* alloc.c (mark_maybe_object, mark_object, survives_gc_p): Use case_Lisp_Int.
boundaries, in case `terminator' appears in the suffix.
(completion--embedded-envvar-table): Don't return boundaries if
there's no valid completion. Simplify.
(completion-file-name-table): New completion table extracted from
completion--file-name-table.
(completion--file-name-table): Use it.
(read-file-name-predicate): Declare obsolete.
(read-file-name): Use the pred arg i.s.o read-file-name-predicate.
* vc-bzr.el (vc-bzr-revision-completion-table): Use the new
completion-file-name-table, and use the `pred' argument.
* files.el (locate-file-completion-table): Use the `pred' arg rather
than read-file-name-predicate.
(abbreviate-file-name): Use \` rather than ^ for BOS.
* vc-annotate.el (vc-annotate-extract-revision-at-line): Return
the file name too.
(vc-annotate-revision-at-line)
(vc-annotate-find-revision-at-line)
(vc-annotate-revision-previous-to-line)
(vc-annotate-show-log-revision-at-line): Update to get the file
name from vc-annotate-extract-revision-at-line.
(vc-annotate-show-diff-revision-at-line-internal): Change the
argument to mean whether to show a file diff or not. Get the file
name from vc-annotate-extract-revision-at-line.
(vc-annotate-show-diff-revision-at-line): Update
vc-annotate-show-diff-revision-at-line call.
(vc-annotate-warp-revision): Add an optional file argument.
* vc-git.el (vc-git-annotate-command): Pass -C -C to the blame command.
(vc-git-annotate-extract-revision-at-line): Also return the file
name if found.
* vc-hg.el (vc-hg-annotate-command): Pass --follow to the annotate
command. Remove unused code.
(vc-hg-annotate-re): Update to match --follow output.
(vc-hg-annotate-extract-revision-at-line): Also return the file
name if found.
* vc.el: Update annotate-extract-revision-at-line documentation.
such as (bug#4699).
* simple.el (completion-base-position): New var.
(completion-base-size): Mark as obsolete.
(choose-completion): Make it work for mouse events as well.
Pass the new base-position to choose-completion-string.
(choose-completion-guess-base-position): New function, extracted from
choose-completion-delete-max-match.
(choose-completion-delete-max-match): Use it. Make obsolete.
(choose-completion-string): Use the new base-position info.
(completion-root-regexp): Delete.
(completion-setup-function): Preserve completion-base-position.
Eliminate obsolete base-size manipulation.
* minibuffer.el (display-completion-list): Don't mess with base-size.
(minibuffer-completion-help): Set completion-base-position instead.
* mouse.el (mouse-choose-completion): Redefine as a mere alias to
choose-completion.
* textmodes/bibtex.el (bibtex-complete):
* emacs-lisp/crm.el (crm--choose-completion-string):
Adjust to new calling convention.
* complete.el (partial-completion-mode): Use minibufferp to avoid
bumping into incompatible change to choose-completion-string-functions.
* ido.el (ido-choose-completion-string): Make its calling convention
more permissive.
* comint.el (comint-dynamic-list-input-ring-select): Remove obsolete
base-size manipulation.
(comint-dynamic-list-input-ring): Use dotimes and push.
* iswitchb.el (iswitchb-completion-help): Remove dead-code call to
fundamental-mode. Use `or'.
for registration create a VC repository if no backend is
responsible for the directory argument.
(vc-deduce-fileset): Tell vc-responsible-backend to register.
* subr.el (interactive-p): Mark obsolete.
(called-interactively-p): Make the optional-ness of `kind' obsolete.
* emacs-lisp/bytecomp.el (byte-compile-fdefinition): Make it obey
advertised-signature-table for subroutines as well.
(set-advertised-calling-convention): New function.
(make-obsolete, define-obsolete-function-alias)
(make-obsolete-variable, define-obsolete-variable-alias):
Make the optional-ness of `when' obsolete.
(define-obsolete-face-alias): Make `when' non-optional.
* help-fns.el (help-function-arglist):
* emacs-lisp/bytecomp.el (byte-compile-fdefinition):
Use advertised-signature-table.
* org.texi (Pushing to MobileOrg): Document `org-mobile-files'.
(Processing LaTeX fragments): Document that the size of images can be
changes using the variable `org-format-latex-options'.
(The date/time prompt, Timestamps): Be more accurate over ISO format
dates and times.
(Visibility cycling): Document showeverything keyword.
(In-buffer settings): Document showeverything keyword.
(Setting up the staging area): Fix the example.
(MobileOrg): New section.
(Agenda commands, Exporting Agenda Views): Document exporting the
agenda view to Org files.
(help-default-arg-highlight): Remove.
(help-highlight-arg): New function.
(help-do-arg-highlight): Use it.
Suggested by Drew Adams <drew.adams@oracle.com>. (Bug#4510, bug#4520)
* NEWS: Mention new variable `help-downcase-arguments'
and new default for arguments in *Help* buffers.
* etc/NEWS: Mention new behavior of -Q and new variable `inhibit-x-resources'.
* lisp/startup.el (emacs-quick-startup): Remove variable and all uses.
(command-line): Set `inhibit-x-resources' instead.
(command-line-1): Use `inhibit-x-resources' instead.
* src/emacs.c (inhibit_x_resources): New variable.
(main) [HAVE_NS]: Don't process --quick command line option.
(syms_of_emacs) <inhibit-x-resources>: DEFVAR_BOOL it.
* src/lisp.h (inhibit_x_resources): Declare it extern.
* src/w32reg.c (x_get_string_resource):
* src/xrdb.c (x_get_string_resource): Obey inhibit_x_resources.
(syms_of_keymap): Initialize it.
(Fwhere_is_internal): Try and use bindings from :advertised-binding
if applicable.
* progmodes/xscheme.el (xscheme-evaluation-commands):
Put a :advertised-binding property rather than using
advertised-xscheme-send-previous-expression.
(advertised-xscheme-send-previous-expression): Declare obsolete.
* emulation/crisp.el (crisp-mode-map): Use `undo' rather than
`advertised-undo'.
(crisp-mode): Add corresponding bindings to
undo's :advertised-binding instead.
* dired.el (dired-mode-map): Put a :advertised-binding property rather
than using dired-advertised-find-file.
(dired-advertised-find-file):
* simple.el (advertised-undo):
* wid-edit.el (advertised-widget-backward): Declare obsolete.
(widget-keymap): Put a :advertised-binding property rather
than using advertised-widget-backward.
* bindings.el (ctl-x-map): Put a :advertised-binding property rather
than using advertised-undo.
* tutorial.el (tutorial--default-keys): Adjust accordingly.
* org.texi (Effort estimates): Document new effort setting commands.
(Agenda commands): Document the new keys fro agenda time motion.
Document entry text mode. Improve documentation of the keys to include
inactive time stamps into the agenda view.
(Feedback): Document the new bug report command.
(Structure editing): Added an index entry for the sorting of subtrees.
Remove ill-defined (and mistakenly installed and luckily never used nor
documented) `completion-styles' property.
(completion-initials-expand, completion-initials-all-completions)
(completion-initials-try-completion): New functions.
(completion-styles-alist): Add doc to each entry.
Add new `initials' entry.
* abbrev.el (abbrev-file-name): Move from paths.el.
Obey user-emacs-directory.
* calc/calc.el (calc-settings-file): Don't autoload and instead obey
user-emacs-directory.
* dos-fns.el (dos-reevaluate-defcustoms): Don't reevaluate
abbrev-file-name and calc-settings-file any more.
* startup.el (command-line): Recompute abbrev-file-name and
abbreviated-home-dir.
(normal-no-mouse-startup-screen): Improve the generic code and get rid
of the special code for when C-h bindings haven't been changed.
(display-startup-echo-area-message): Use with-current-buffer.
(command-line-1): Use a list of strings, rather than a list of lists
of strings for longopts.
integers are nowadays always represented by the same (positive) number
on all platforms.
(read-key-empty-map): New const.
(read-key-delay): New var.
(read-key): New function.
(force-mode-line-update): Use with-current-buffer.
(locate-user-emacs-file): Don't forget to abbreviate the file name.
(start-process-shell-command, start-file-process-shell-command):
Discourage the use of command-args.
* processes.texi (Asynchronous Processes): Adjust arglist of
start-process-shell-command and start-file-process-shell-command.
2009-08-17 Chong Yidong <cyd at stupidchicken.com>
* files.el (hack-one-local-variable): If the mode function is for
a minor mode, pass it an argument (Bug#4148).