-2011-06-19 Eli Zaretskii <eliz@gnu.org>
++2011-07-14 Eli Zaretskii <eliz@gnu.org>
+
+ * buff-menu.el (Buffer-menu-buffer+size): Accept an additional
+ argument LRM; if non-nil, append an invisible LRM character to the
+ buffer name.
+ (list-buffers-noselect): Call Buffer-menu-buffer+size with the
+ last argument non-nil, when formatting buffer names.
++ (Buffer-menu-mode, list-buffers-noselect): Force left-to-right
++ paragraph direction.
+
-2011-06-18 Eli Zaretskii <eliz@gnu.org>
+2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
- * buff-menu.el (Buffer-menu-mode, list-buffers-noselect): Force
- left-to-right paragraph direction.
+ * image.el (put-image): Mention the `put-image' overlay property
+ (bug#7834).
+
+ * scroll-bar.el (set-scroll-bar-mode): Mention that
+ `scroll-bar-mode' lists the values (bug#7772).
+
+ * image-mode.el (image-mode-fit-frame): Mention that it's a toggle
+ command (bug#7729).
+
+ * rect.el (apply-on-rectangle): Return the point after the last
+ operation.
+ (string-rectangle): Go to the point after the last operation
+ (bug#7522).
+
+ * simple.el (current-kill): Clarify what
+ `interprogram-paste-function' does (bug#7500).
+
+ * printing.el (pr-toggle-region): Clarify the documentation
+ slightly (bug#7493).
+
+ * time.el (display-time-update): Allow
+ `display-time-mail-function' to return nil (bug#7158). Fix
+ suggested by Detlev Zundel.
+
+ * vc/diff.el (diff): Clarify the order the file names are read
+ (bug#7111).
+
+ * mouse.el (mouse-set-region): Link to `mouse-drag-copy-region' in
+ the doc string (bug#7015).
+
+ * font-lock.el (font-lock-maximum-decoration): Mention what
+ numeric levels mean (bug#6935).
+
+ * startup.el (initial-buffer-choice): Don't mention the `none'
+ selection, which is against policy.
+
+2011-07-14 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer-normalize-special): Replace
+ `dedicated' by `dedicate' to dedicate window (Bug#9072).
+
+2011-07-14 Eli Zaretskii <eliz@gnu.org>
+
+ * subr.el (version<, version<=, version=): Mention "-CVS" and
+ "-12345" alpha version numbers.
+
+2011-07-14 Chong Yidong <cyd@stupidchicken.com>
+
+ * bindings.el: Add advertised binding for set-mark-command
+ (Bug#5772).
+
+2011-07-14 Chong Yidong <cyd@stupidchicken.com>
+
+ * bindings.el (mode-line-other-buffer):
+ * bookmark.el (bookmark-bmenu-2-window):
+ * bs.el (bs-cycle-next, bs-cycle-previous):
+ * net/tramp-cmds.el (tramp-append-tramp-buffers): Revert to using
+ switch-to-buffer.
+
+ * net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window):
+ Deleted.
+
+2011-07-14 Juanma Barranquero <lekktu@gmail.com>
+
+ * follow.el (follow-debug-message, follow-redisplay):
+ * jka-cmpr-hook.el (with-auto-compression-mode):
+ Fix typos in docstrings.
+
+2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * subr.el (with-silent-modifications): Clarify somewhat what the
+ macro inhibits (bug#6525).
+
+ * simple.el (eval-expression): Note what it does if called
+ interactively (bug#6495).
+
+2011-07-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * window.el (switch-to-buffer): New arg FORCE-SAME-WINDOW. Use
+ pop-to-buffer buffer-or-name if it is nil.
+
+ * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
+ Remove switch-to-buffer.
+
+2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * files.el (make-directory): Clarify that an error will be raised
+ if there's an error (bug#6397).
+
+ * startup.el (initial-buffer-choice): Add `none' as a choice
+ (bug#6234).
+
+ * subr.el (add-hook): Clarify section about buffer-local hooks
+ (bug#6218).
+
+ * dired.el (dired-flagged): Clarify doc string (bug#6117).
+
+2011-07-13 Juanma Barranquero <lekktu@gmail.com>
+
+ * tabify.el (untabify): Preserve the current column so that point
+ doesn't move (bug#6032).
+
+2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * progmodes/cperl-mode.el (cperl-syntaxify-by-font-lock): Rewrite
+ to avoid awkward possessive "s" (bug#5986).
+
+2011-07-13 Glenn Morris <rgm@gnu.org>
+
+ * dired.el (dired-use-ls-dired): Doc fix. (Bug#9039).
+ (dired-insert-directory): Give a message the first time
+ if ls is found not to support --dired.
+
+2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * simple.el (toggle-truncate-lines): Clarify what is toggled
+ (bug#5580). Text by Drew Adams.
+
+2011-07-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * simple.el (blink-matching-open): Make the error message from the
+ last change less verbose.
+
+2011-07-13 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * font-lock.el (font-lock-comment-face): Use the high contrast
+ "yellow" color for font-lock-comment-face on low color terminals
+ using a dark background color (bug#4221).
+
+2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * dired.el (dired-insert-set-properties): Make the doc string
+ reflect what it does now (bug#5325).
+
+ * simple.el (blink-matching-open): Say that we were unable to find
+ the match within the limit, if we're limited (bug#5122).
+
+ * international/mule-cmds.el (prefer-coding-system): Add an
+ example (bug#4869).
+
+ * progmodes/etags.el (tags-search): Document `file-list-form'
+ (bug#4731).
+
+2011-07-13 Lawrence Mitchell <wence@gmx.li>
+
+ * net/browse-url.el (browse-url-default-browser)
+ (browse-url-browser-function): Make the default browser choice a
+ bit more logical (bug#4300). Also clean up the doc string.
+
+2011-07-13 Juanma Barranquero <lekktu@gmail.com>
+
+ * bindings.el (completion-ignored-extensions): Add OpenMCL/Clozure
+ binary endings (bug#4440).
+
+2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * info.el (info-insert-file-contents): Inhibit jka-compr messages,
+ which can be pretty annoying (bug#8971).
+
+ * jka-compr.el (jka-compr-verbose): New variable, and use
+ throughout (bug#8971).
+
+ * info.el (Info-find-file): Fall back on the installation
+ directory if we can't find the info node anywhere else.
+
+2011-07-13 Sergei Organov <osv@javad.com> (tiny change)
+
+ * vc/vc.el (vc-revert-file):
+ Don't set file time-stamp in the past. (Bug#5181)
+
+2011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * files.el (after-find-file): Give a better error message when
+ trying to find a symlink that points to a file that doesn't exist
+ (bug#4398).
+
+ * progmodes/cc-vars.el: Remove (probably) misleading comment
+ (bug#4396).
+
+2011-07-12 Johan Bockgård <bojohan@gnu.org>
+
+ * mouse-sel.el (mouse-sel-primary-overlay): Use the `region' face.
+
+2011-07-12 Chong Yidong <cyd@stupidchicken.com>
+
+ * mouse-sel.el: Hack restoring functionality, while keeping
+ compatibility with 2010-07-03 changes to mouse selection.
+ (mouse-sel-primary-overlay): New var.
+ (mouse-sel-selection-alist): Use it.
+ (mouse-sel-mode): Doc fix; remove points that are default features
+ of mouse.el.
+
+2011-07-12 Johan Bockgård <bojohan@gnu.org>
+
+ * progmodes/compile.el (compilation-error-regexp-alist-alist):
+ Fix previous fix (bug#2490).
+
+2011-07-12 Roland Winkler <winkler@gnu.org>
+
+ * textmodes/bibtex.el (bibtex-initialize): Use
+ pop-to-buffer-same-window.
+ (bibtex-search-entries): Fix interactive call.
+
+2011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * progmodes/compile.el (compilation-error-regexp-alist-alist):
+ Fontise bytecomp Error lines more correctly (bug#2490). Fix
+ suggested by Johan Bockgård.
+
+ * subr.el (remove-duplicates): Remove; `delete-dups' is sufficient.
+
+ * dired-x.el (dired-guess-default): Use `delete-dups'.
+
+2011-07-12 Chong Yidong <cyd@stupidchicken.com>
+
+ * dired.el (dired-mark-prompt):
+ * dired-aux.el (dired-read-shell-command): Doc fix.
+
+2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mail/sendmail.el (sendmail-query-once): Use
+ `customize-save-variable' unconditionally, now that it works under
+ emacs -Q.
+
+ * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto.
+
+ * cus-edit.el (custom-file): Take an optional no-error variable.
+ (customize-save-variable): Set the variable, and give a warning if
+ running under "emacs -q".
+
+2011-07-11 Juanma Barranquero <lekktu@gmail.com>
+
+ * loadhist.el (unload-feature-special-hooks):
+ Add `auto-coding-functions', `fill-nobreak-predicate' and
+ `find-directory-functions' (bug#5327).
+
+2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * vc/ediff.el (ediff-patch-file): Clarify doc string (bug#3138).
+
+ * cus-edit.el (custom-guess-name-alist): -alist variables should
+ use the `alist' type (bug#3120). Suggested by Drew Adams.
+
+ * printing.el: Add documentation to all the `pr-toggle-' commands.
+
+2011-07-11 Leo <sdl.web@gmail.com> (tiny change)
+
+ * files.el (toggle-read-only): Only do the `C-x C-q' warning on VC
+ backends where it makes sense (bug#2623).
+
+2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * dired-x.el (dired-guess-default): Remove duplicate shell command
+ entries (bug#2028).
+ (dired-guess-default): Fix grammar in doc string (bug#2028).
+ (dired-guess-shell-alist-user): Clarify the example a bit (bug#2030).
+
+ * subr.el (remove-duplicates): New conveniency function.
+
+2011-07-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * tool-bar.el (tool-bar-mode): Clarify positive/negative arguments
+ (bug#1526).
+
+2011-07-10 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer-normalize-default): Don't invert
+ meaning of even-window-heights. Reported by Eli Zaretskii
+ <eliz@gnu.org>.
+
+2011-07-10 Bob Rogers <rogers@rgrjr.dyndns.org>
+
+ * vc/vc.el (vc-diff-internal): Fix race condition (Bug#1256).
+
+2011-07-10 Chong Yidong <cyd@stupidchicken.com>
+
+ * window.el (display-buffer): Fix arguments to
+ display-buffer-reuse-window in last change.
+
+ * faces.el (link): Use a less saturated blue on light backgrounds.
+
+ * startup.el (fancy-startup-text, fancy-about-text)
+ (fancy-startup-tail): Use font-lock faces, for background safety.
+
+2011-07-09 Bob Nnamtrop <bobnnamtrop@gmail.com> (tiny change)
+
+ * emulation/viper-cmd.el (viper-change-state-to-vi): Limit
+ triggering of abbrev expansion (Bug#9038).
+
+2011-07-09 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer-default-specifiers): Remove.
+ (display-buffer-macro-specifiers): Remove default specifiers.
+ (display-buffer-alist): Default to nil.
+ (display-buffer-reuse-window): New optional argument
+ other-window.
+ (display-buffer-pop-up-window): Allow splitting internal
+ windows. Check whether a live window was created.
+ (display-buffer-other-window-means-other-frame)
+ (display-buffer-normalize-arguments): Rename to
+ display-buffer-normalize-argument and rewrite. Set the
+ other-window specifier.
+ (display-buffer-normalize-special): New function.
+ (display-buffer-normalize-options): Rename to
+ display-buffer-normalize-default and rewrite.
+ (display-buffer-normalize-options-inhibit): Remove.
+ (display-buffer-normalize-specifiers): Rewrite.
+ (display-buffer): Process other-window specifier and call
+ display-buffer-reuse-window with it. Emulate Emacs 23 behavior
+ more faithfully.
+ (pop-up-windows, even-window-heights): Restore Emacs 23 default
+ values.
+ (display-buffer-alist-set): Don't handle 'unset default values.
+ (display-buffer-in-window, display-buffer-alist-set): Replace
+ symbol "dedicated" by "dedicate". Reported by Tassilo Horn
+ <tassilo@member.fsf.org>.
+
+2011-07-09 Leo Liu <sdl.web@gmail.com>
+
+ * register.el (insert-register): Restore accidental change on
+ 2011-06-26. (Bug#9028)
+
+2011-07-09 Glenn Morris <rgm@gnu.org>
+
+ * subr.el (remq): Handle the empty list. (Bug#9024)
+
+2011-07-08 Andreas Schwab <schwab@linux-m68k.org>
+
+ * mail/sendmail.el (send-mail-function): No longer delay custom
+ initialization.
+ * custom.el (custom-initialize-delay): Doc fix.
+
+2011-07-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * abbrev.el (expand-abbrev): Try to preserve point (bug#5805).
+
+2011-07-08 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-sh-handle-start-file-process): Use a
+ human-friendly prompt.
+
+2011-07-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc/vc-bzr.el (vc-bzr-revision-keywords): Remove svn, it's only
+ provided by a particular plugin.
+
+2011-07-08 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mail/sendmail.el (sendmail-query-once): If we aren't allowed to
+ save customizations (with "emacs -Q"), just set the variable
+ instead of erroring out.
+
+ * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto.
+
+2011-07-08 Juri Linkov <juri@jurta.org>
+
+ * arc-mode.el (archive-zip-expunge, archive-zip-update)
+ (archive-zip-update-case): Use 7z if found by `executable-find'.
+ The order of searching the available programs is the same as in
+ `archive-zip-extract' (bug#8968).
+
+2011-07-07 Chong Yidong <cyd@stupidchicken.com>
+
+ * menu-bar.el (menu-bar-line-wrapping-menu): Revert last change.
+ (menu-bar-options-menu): Tweak descriptions.
+
+2011-07-07 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * menu-bar.el (menu-bar-line-wrapping-menu): Make all the Options
+ menu items into verb phrases (bug#1421). Also refill to fit under
+ 80 columns.
+
+2011-07-07 Chong Yidong <cyd@stupidchicken.com>
+
+ * info.el (info, Info-read-node-name-2, Info-read-node-name-1)
+ (Info-read-node-name): Doc fix (Bug#1084).
+
+ * thingatpt.el (forward-thing, bounds-of-thing-at-point)
+ (thing-at-point, beginning-of-thing, end-of-thing, in-string-p)
+ (end-of-sexp, beginning-of-sexp)
+ (thing-at-point-bounds-of-list-at-point, forward-whitespace)
+ (forward-symbol, forward-same-syntax, word-at-point)
+ (sentence-at-point): Doc fix (Bug#1144).
+
+2011-07-07 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * info.el (Info-mode-map): Remove S-TAB binding, since [backtab]
+ should cover it (bug#1281).
+
+ * cus-edit.el (custom-show): Mark as obsolete.
+
+ * net/network-stream.el (network-stream-open-starttls): If gnutls
+ negotiation fails, then possibly try again with a non-encrypted
+ connection (bug#9017).
+
+ * mail/smtpmail.el (smtpmail-stream-type): Note that `plain' can
+ be used.
+
+2011-07-07 Richard Stallman <rms@gnu.org>
+
+ * mail/rmail.el (rmail-next-error-move): Use `compilation-message'
+ property, and handle its changed format.
+ Look for the correct line number.
+ Use file's line contents (but not past first =) to find
+ correct line in message.
+
+2011-07-07 Kenichi Handa <handa@m17n.org>
+
+ * international/characters.el (build-unicode-category-table):
+ Delete it.
+ (unicode-category-table): Set it by unicode-property-table-internal.
+
+ * international/mule-cmds.el (char-code-property-alist): Move to
+ to src/chartab.c.
+ (get-char-code-property): Call unicode-property-table-internal to
+ load a file. Call get-unicode-property-internal where necessary.
+ (put-char-code-property): Call unicode-property-table-internal to
+ load a file. Call put-unicode-property-internal where necessary.
+ put-unicode-property-internal where necessary.
+ (char-code-property-description):
+ Call unicode-property-table-internal to load a file.
+
+ * international/charprop.el:
+ * international/uni-bidi.el:
+ * international/uni-category.el:
+ * international/uni-combining.el:
+ * international/uni-comment.el:
+ * international/uni-decimal.el:
+ * international/uni-decomposition.el:
+ * international/uni-digit.el:
+ * international/uni-lowercase.el:
+ * international/uni-mirrored.el:
+ * international/uni-name.el:
+ * international/uni-numeric.el:
+ * international/uni-old-name.el:
+ * international/uni-titlecase.el:
+ * international/uni-uppercase.el: Regenerate.
+
+ * loadup.el: Load international/charprop.el before
+ international/characters.
+
+2011-07-07 Chong Yidong <cyd@stupidchicken.com>
+
+ * window.el (next-buffer, previous-buffer): Signal an error if
+ called from a minibuffer window.
+
+ * bindings.el: Revert 2011-07-04 change.
+
+2011-07-06 Richard Stallman <rms@gnu.org>
+
+ * mail/rmailmm.el (rmail-mime-process): Use markers for buf positions.
+ (rmail-mime-insert-bulk, rmail-mime-insert-text):
+ Treat markers like ints.
+ (rmail-mime-entity): Doc fix.
+
+2011-07-06 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mail/smtpmail.el (smtpmail-default-smtp-server): Made into a
+ defcustom again for backwards compatibility.
+
+ * simple.el (shell-command-on-region): Fill.
+
+ * dired-aux.el (dired-kill-line): Add a doc string.
+
+ * dabbrev.el (dabbrev-abbrev-char-regexp): Note that nil defaults
+ to "\\sw\\|\\s_" (bug#358).
+
+ * dired.el (dired-mode): Clarify "unmark or unflag" (bug#8770).
+ (dired-unmark-backward): Ditto.
+ (dired-flag-backup-files): Ditto.
+
+ * dired-x.el (dired-mark-sexp): Ditto.
+
+2011-07-06 Richard Stallman <rms@gnu.org>
+
+ * mail/rmailmm.el: Give entity a new slot, TRUNCATED.
+ (rmail-mime-entity): New arg TRUNCATED.
+ (rmail-mime-entity-truncated, rmail-mime-entity-set-truncated):
+ New functions.
+ (rmail-mime-save): Warn if entity is truncated.
+ (rmail-mime-toggle-hidden): Likewise, for showing.
+ (rmail-mime-process-multipart): Record when an entity is truncated.
+
+ * mail/rmailmm.el (rmail-search-mime-message): Don't get confused
+ if ENTITY is a string.
+
+2011-07-06 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * emacs-lisp/lisp-mode.el (eval-defun-1): Update the documentation
+ of faces when `M-C-x'-ing their definitions (bug#8378).
+ Also clean up the code slightly.
+
+ * progmodes/grep.el (rgrep): Don't bind `process-connection-type',
+ because that makes the colours go away.
+
+ * mail/sendmail.el (send-mail-function): Change the default to
+ `sendmail-query-once'.
+ (sendmail-query-once): Add an autoload cookie.
+
+ * net/network-stream.el (network-stream-open-starttls): Try using
+ a plain connection even if the server offered STARTTLS, and we
+ kinda wanted to use it, if Emacs doesn't have any STARTTLS
+ capability. This should make smtpmail.el work in slightly more
+ configurations.
+
+2011-07-06 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window):
+ New defun.
+ * net/tramp-cmds.el (tramp-append-tramp-buffers): Use it.
+
+2011-07-06 Michael R. Mauger <mmaug@yahoo.com>
+
+ * progmodes/sql.el: Version 3.0
+ (sql-product-alist): Add product :completion-object,
+ :completion-column, and :statement attributes.
+ (sql-mode-menu, sql-interactive-mode-map): Fix List entries.
+ (sql-mode-syntax-table): Mark all punctuation.
+ (sql-font-lock-keywords-builder): Temporarily remove fallback on
+ ansi keywords.
+ (sql-regexp-abbrev, sql-regexp-abbrev-list): New functions.
+ (sql-mode-oracle-font-lock-keywords): Improve.
+ (sql-oracle-show-reserved-words): New function for development.
+ (sql-product-font-lock): Simplify for source code buffers.
+ (sql-product-syntax-table, sql-product-font-lock-syntax-alist):
+ New functions.
+ (sql-highlight-product): Set product specific syntax table.
+ (sql-mode-map): Add statement movement functions.
+ (sql-ansi-statement-starters, sql-oracle-statement-starters):
+ New variable.
+ (sql-statement-regexp, sql-beginning-of-statement)
+ (sql-end-of-statement, sql-signum): New functions.
+ (sql-buffer-live-p, sql=find-sqli-buffer): Add CONNECTION parameter.
+ (sql-show-sqli-buffer): Bug fix.
+ (sql-interactive-mode): Store connection data as buffer local.
+ (sql-connect): Add NEW-NAME parameter. Redesign interaction
+ with sql-interactive-mode.
+ (sql-save-connection): Save buffer local settings.
+ (sql-connection-menu-filter): Change menu entry name.
+ (sql-product-interactive): Bug fix.
+ (sql-preoutput-hold): New variable.
+ (sql-interactive-remove-continuation-prompt): Bug fixes.
+ (sql-debug-redirect): New variable.
+ (sql-str-literal): New function.
+ (sql-redirect, sql-redirect-one, sql-redirect-value, sql-execute):
+ Redesign.
+ (sql-oracle-save-settings, sql-oracle-restore-settings)
+ (sql-oracle-list-all, sql-oracle-list-table): New functions.
+ (sql-completion-object, sql-completion-column)
+ (sql-completion-sqlbuf): New variables.
+ (sql-build-completions-1, sql-build-completions)
+ (sql-try-completion): New functions.
+ (sql-read-table-name): Use them.
+ (sql-contains-names): New buffer local variable.
+ (sql-list-all, sql-list-table): Use it.
+ (sql-oracle-completion-types): New variable.
+ (sql-oracle-completion-object, sql-sqlite-completion-object)
+ (sql-postgres-completion-object): New functions.
+
+2011-07-06 Glenn Morris <rgm@gnu.org>
+
+ * window.el (pop-to-buffer): Doc fix.
+
+2011-07-06 Markus Heiser <markus.heiser@darmarit.de> (tiny change)
+
+ * progmodes/gud.el (gud-pdb-marker-regexp): Accept \r char (Bug#5653).
+
+2011-07-06 Chong Yidong <cyd@stupidchicken.com>
+
+ * window.el (special-display-popup-frame): Doc fix (Bug#8853).
+
+ * info.el (Info-directory-toc-nodes): Minor doc fix (Bug#8833).
+
+2011-07-05 Chong Yidong <cyd@stupidchicken.com>
+
+ * button.el (button): Inherit from link face. Suggested by Dan
+ Nicolaescu.
+
+2011-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/gdb-mi.el: Fit in 80 columns.
+ (gdb-setup-windows, gdb-restore-windows): Avoid other-window and
+ switch-to-buffer.
+
+ * progmodes/which-func.el (which-func-ff-hook): Don't output a message
+ if imenu is simply not configured (bug#8941).
+
+2011-07-05 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-post-undo-hook): New allout outline-change
+ event hook to signal undo activity.
+ (allout-post-command-business): Run allout-post-undo-hook if an
+ undo just occurred.
+ (allout-after-copy-or-kill-hook, allout-mode): Minor docstring changes.
+ * allout-widgets.el (allout-widgets-after-undo-function):
+ Ensure the integrity of the current item's decoration after it has been
+ in the vicinity of an undo.
+ (allout-widgets-mode): Include allout-widgets-after-undo-function
+ on the new allout-post-undo-hook.
+
+2011-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/lisp-mode.el (lisp-interaction-mode-abbrev-table):
+ Let define-derived-mode define it.
+ * emacs-lisp/derived.el (define-derived-mode): Try to avoid creating
+ cycles of abbrev-table inheritance (bug#8998).
+
+2011-07-05 Roland Winkler <winkler@gnu.org>
+
+ * textmodes/bibtex.el: Add support for biblatex.
+ (bibtex-BibTeX-entry-alist, bibtex-biblatex-entry-alist)
+ (bibtex-BibTeX-field-alist, bibtex-biblatex-field-alist)
+ (bibtex-dialect-list, bibtex-dialect, bibtex-no-opt-remove-re)
+ (bibtex-entry-alist, bibtex-field-alist): New variables.
+ (bibtex-entry-field-alist): Obsolete alias for
+ bibtex-BibTeX-entry-alist.
+ (bibtex-entry-alist, bibtex-field-alist): New widgets.
+ (bibtex-set-dialect): New command.
+ (bibtex-entry-type, bibtex-entry-head)
+ (bibtex-entry-maybe-empty-head, bibtex-any-valid-entry-type):
+ Bind via bibtex-set-dialect.
+ (bibtex-Article, bibtex-Book, bibtex-Booklet, bibtex-InBook)
+ (bibtex-InCollection, bibtex-InProceedings, bibtex-Manual)
+ (bibtex-MastersThesis, bibtex-Misc, bibtex-PhdThesis)
+ (bibtex-Proceedings, bibtex-TechReport, bibtex-Unpublished):
+ Define via bibtex-set-dialect.
+ (bibtex-name-in-field, bibtex-remove-OPT-or-ALT):
+ Obey bibtex-no-opt-remove-re.
+ (bibtex-vec-push, bibtex-vec-incr): New functions.
+ (bibtex-format-entry, bibtex-field-list)
+ (bibtex-print-help-message, bibtex-validate)
+ (bibtex-search-entries): Use new format of bibtex-entry-alist.
+
+2011-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/compile.el (compilation-goto-locus):
+ * net/tramp-cmds.el (tramp-append-tramp-buffers):
+ * bs.el (bs-cycle-next, bs-cycle-previous):
+ * bookmark.el (bookmark-bmenu-list, bookmark-bmenu-2-window):
+ * bindings.el (mode-line-other-buffer):
+ * autoinsert.el (auto-insert):
+ * arc-mode.el (archive-extract):
+ * abbrev.el (edit-abbrevs): Fix some uses of switch-to-buffer.
+
+2011-07-05 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacs-lock.el (emacs-lock-mode): Fix typo in variable name.
+ Fix check of `emacs-lock-unlockable-modes'.
+ Coerce true values of `emacs-lock--try-unlocking' to t.
+
+2011-07-05 Juanma Barranquero <lekktu@gmail.com>
+
+ * obsolete/old-emacs-lock.el: Rename from emacs-lock.el.
+ * emacs-lock.el: New file.
+
+2011-07-05 Julien Danjou <julien@danjou.info>
+
+ * textmodes/rst.el (rst-define-level-faces): Use `facep' rather
+ than `boundp' to check if face is set.
+
+2011-07-05 Juanma Barranquero <lekktu@gmail.com>
+
+ * register.el (registerv-make):
+ * window.el (window-min-height): Fix typos in docstrings.
+
+2011-07-05 Jan Djärv <jan.h.d@swipnet.se>
+
+ * dynamic-setting.el (dynamic-setting-handle-config-changed-event):
+ Update doc string.
+
+2011-07-04 Juanma Barranquero <lekktu@gmail.com>
+
+ * server.el (server-execute): Catch quit and call
+ `server-return-error' to pass the error back to emacsclient and
+ close the connection (bug#8942).
+
+2011-07-04 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-encrypt-unencrypted-on-saves): Do not provide
+ insecure exception for current topic. Also note that auto-saves
+ are handled differently.
+
+ (allout-auto-save-temporarily-disabled), (allout-just-did-undo):
+ State variables for tracking auto-save inhibition situation.
+
+ (allout-write-contents-hook-handler): Rename from
+ 'allout-write-file-hook-handler', and describe how it depends on
+ write-contents-functions sensitivity to non-nil value to prevent
+ file write.
+
+ (allout-auto-save-hook-handler): Remove. auto-save does not check
+ this in individual buffers, only in the starting buffer, so this
+ is not the right way for us to inhibit auto-save in a buffer
+ according to its condition.
+
+ (allout-mode): Use new allout-write-contents-hook-handler, and
+ only with write-contents-functions. Remove auto-save provisions -
+ they're implemented elsewhere.
+
+ (allout-before-change-handler): If undo is in progress, note that
+ for attention of allout-post-command-business.
+
+ (allout-post-command-business): If the command we're following was
+ an undo, check for change in the status of encrypted items and
+ adjust auto-save inhibitions accordingly.
+
+ (allout-toggle-subtree-encryption): Adjust auto-save inhibition
+ according to whether there are or aren't any plain-text topics
+ pending encryption.
+
+ (allout-inhibit-auto-save-info-for-decryption):
+ Adjust buffer-saved-size and some allout state to inhibit auto-saves if
+ there are plain-text topics pending encryption.
+
+ (allout-maybe-resume-auto-save-info-after-encryption): Adjust
+ buffer-saved-size and some allout state to not inhibit auto-saves
+ if there are no longer any plain-text topics pending encryption.
+
+ (allout-next-topic-pending-encryption, allout-encrypt-decrypted):
+ No longer provide for exemption of the current topic.
+
+2011-07-04 Juri Linkov <juri@jurta.org>
+
+ Add 7z operations to delete and save changed members (bug#8968).
+ * arc-mode.el (archive-7z-expunge, archive-7z-update):
+ New defcustoms.
+ (archive-7z-write-file-member): New function.
+ (archive-7z-summarize): Fix the number of dashes in the
+ listing output.
+
+2011-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * pcmpl-linux.el (pcomplete-pare-list): Re-add, from pcomplete.el
+ (bug#8958).
+
+2011-07-04 Chong Yidong <cyd@stupidchicken.com>
+
+ * bindings.el: Ignore next-buffer and previous-buffer in
+ minibuffer-local-map.
+
+ * font-lock.el (font-lock-builtin-face): Change light background
+ color to dark slate blue (Bug#6693).
+
+2011-07-04 Wang Diancheng <dcwang@kingbase.com.cn> (tiny change)
+
+ * progmodes/gdb-mi.el (gdb): Use completion-at-point.
+
+2011-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * files.el (find-file): Use pop-to-buffer-same-window (bug#8911).
+ * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
+ Add switch-to-buffer.
+
+2011-07-04 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * isearch.el (isearch-search-fun-function): Clarify further the
+ meaning of the function returned.
+
+2011-07-04 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-cmds.el (tramp-cleanup-this-connection): New command.
+
+ * net/tramp-sh.el (tramp-color-escape-sequence-regexp): New defconst.
+ (tramp-sh-handle-insert-directory, tramp-convert-file-attributes):
+ Use it.
+ (tramp-remote-path): Add "/bin" and "/usr/bin". On busyboxes,
+ `tramp-default-remote-path' does not exist.
+ (tramp-send-command-and-read): New optional argument NOERROR.
+ (tramp-open-connection-setup-interactive-shell)
+ (tramp-get-remote-path, tramp-get-remote-stat): Use it.
+ (tramp-get-remote-readlink): Do not mask with `ignore-errors'.
+ (tramp-process-sentinel): Flush also process' connection property.
+ (tramp-sh-handle-start-file-process): Do not set process
+ sentinel. It is done now ...
+ (tramp-maybe-open-connection): ... here. (Bug#8929)
+
+2011-07-04 MON KEY <monkey@sandpframing.com>
+
+ * play/animate.el (animate-string): Doc fixes and allow changing
+ the buffer name (bug#5417).
+
+2011-07-04 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * play/animate.el (animation-buffer-name): Rename from *animate*.
+
+2011-07-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * emacs-lisp/timer.el: Use time-date fns rather than rolling our own.
+ This is simpler and helps future-proof the code.
+ (timer-until): Use time-subtract and float-time.
+ (timer--time-less-p): Use time-less-p.
+
+2011-07-04 Juanma Barranquero <lekktu@gmail.com>
+
+ * type-break.el (timep): Use the value of `float-time' to avoid a
+ byte-compiler warning.
+
+ * server.el (server-eval-and-print): Return any result, even nil.
+
+2011-07-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * type-break.el: Accept time formats that the builtins accept.
+ (timep, type-break-time-difference): Accept any format that
+ float-time accepts, rather than insisting on (HIGH LOW USECS) format.
+ This is simpler and helps future-proof the code.
+ (type-break-time-difference): Round rather than ignoring
+ subseconds components.
+
+2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * info.el (Info-apropos-matches): Make non-interactive, since it
+ doesn't seem to do anything useful as a command (bug#8829).
+
+2011-07-03 Chong Yidong <cyd@stupidchicken.com>
+
+ * frame.el (frame-background-mode, frame-set-background-mode):
+ Move from faces.el.
+ (frame-default-terminal-background): New function.
+
+ * 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.
+
+2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * dired.el (dired-flagging-regexp): Remove unused variable
+ (bug#8769).
+
+2011-03-29 Kevin Ryde <user42@zip.com.au>
+
+ * progmodes/compile.el (compilation-error-regexp-alist-alist):
+ `perl-Test2' extend to match possible "fail #N" rep count
+ (bug#8377).
+
+2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mail/feedmail.el (feedmail-buffer-to-smtpmail):
+ `smtpmail-via-smtp' now returns the error instead of nil.
+
+ * isearch.el (isearch-search-fun-function): Clarify the doc string
+ (bug#8101).
+
+2011-07-03 Richard Kim <emacs18@gmail.com> (tiny change)
+
+ * textmodes/texnfo-upd.el (texinfo-insert-menu): Don't insert
+ unnecessary spaces (bug#8987).
+
+2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/network-stream.el (open-network-stream): Use the
+ :end-of-capability command thoughout.
+
+2011-07-03 Wolfgang Jenkner <wjenkner@inode.at> (tiny change)
+
+ * net/network-stream.el (open-network-stream): Add the
+ :end-of-capability command parameter, used by pop3.el.
+
+2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * dired.el (dired-map-over-marks): Refill the doc string (bug#6814).
+
+ * fringe.el (fringe-query-style): Remove redundant text " (type ?
+ for list)" (bug#6475).
+
+ * files.el (file-expand-wildcards): Ignore non-readable
+ sub-directories while trying to find matches instead of signalling
+ an error (bug#6297).
+
+ * man.el (Man-reference-regexp): Allow matching possible
+ word-wrapped references (bug#6289).
+
+ * vc/vc.el (vc-modify-change-comment): Change *VC-log* to *vc-log*
+ for consistency with the other vc buffers (bug#6197).
+ (vc-checkin): Ditto.
+
+ * vc/vc-arch.el: Fix comments to match the *VC-log* name change.
+
+ * longlines.el (longlines-mode): Document what ARG does (bug#6150).
+
+2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * custom.el (defcustom): Clarify that :set is only used in the
+ Customize user interface (bug#6089).
+
+ * progmodes/flymake.el (flymake-mode): If the buffer isn't
+ associated with a file, refuse to run instead of erroring out
+ (bug#6084).
+
+ * 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).
+
+ * simple.el (shell-command-on-region): Say where the error output
+ went if `shell-command-default-error-buffer' is set (bug#6857).
+
+2011-07-02 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-yank-processing): Adjust cursor position for
+ backwards-deleted space.
+
+ (allout-rebullet-heading): Register changes with
+ allout-exposure-changed-hook, so the modified topic is properly
+ decorated.
+
+2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * minibuffer.el (completion-in-region): Document PREDICATE
+ (bug#7136).
+
+ * info-look.el (info-lookup-add-help): Clarify that ARGS is a list
+ of keyword/argument pairs (bug#6904).
+
+ * replace.el (multi-occur):
+ Mention `multi-occur-in-matching-buffers' in the doc string (bug#7566).
+
+2011-07-02 Drew Adams <drew.adams@oracle.com>
+
+ * dired.el (dired-mark-if): Make the message about whether it's
+ marking or unmarking clearer (bug#8523).
+
+2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * disp-table.el (display-table-print-array): New function.
+ (describe-display-table): Use it to print the vectors more pretty
+ (Bug#8859).
+
+2011-07-02 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (window-state-get-1): Don't assign clone numbers.
+ Add clone-of item to list of window parameters.
+ (window-state-put-2): Don't process clone numbers.
+ (display-buffer-alist): Fix doc-string.
+
+2011-07-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * 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.
+ * 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.
+
+2011-07-01 Glenn Morris <rgm@gnu.org>
+
+ * type-break.el (type-break-time-sum): Use dolist.
+
+ * textmodes/flyspell.el (flyspell-word-search-backward):
+ Replace CL function.
+
+2011-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * mouse.el (mouse--strip-first-event): New function.
+ (function-key-map): Use it to map fringe clicks to normal clicks
+ by default.
+
+ * vc/vc-bzr.el (vc-bzr-revision-keywords): Update.
+ (vc-bzr-revision-completion-table): Add support for annotate and date.
+
+ * emacs-lisp/derived.el (define-derived-mode): Make abbrev-table
+ inherit from parent.
+
+2011-07-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * dired-aux.el (dired-diff): Doc fixup (bug#8816).
+ (dired-show-file-type): Doc fixup (bug#8818).
+
+ * dired.el (dired-mode): Fix up the doc string as suggested by
+ Drew Adams (bug#8817).
+
+ * 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' (bug#8709).
+
+2011-07-01 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * 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): Add from cfengine3.el.
+
+2011-07-01 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-encoding-command-interactive): New defcustom.
+
+ * net/tramp-sh.el (tramp-maybe-open-connection): Use it.
+
+2011-07-01 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (same-window-buffer-names, same-window-regexps)
+ (same-window-p, special-display-frame-alist)
+ (special-display-popup-frame, special-display-function)
+ (special-display-buffer-names, special-display-regexps)
+ (special-display-p, pop-up-frame-alist, pop-up-frame-function)
+ (pop-up-frames, display-buffer-reuse-frames, pop-up-windows)
+ (split-window-preferred-function, split-height-threshold)
+ (split-width-threshold, even-window-heights)
+ (display-buffer-mark-dedicated, window-splittable-p)
+ (split-window-sensibly, window-safely-shrinkable-p):
+ Un-obsolete.
+ (display-buffer): Don't spread args with function specifier
+ because special-display-popup-frame won't like it.
+
+2011-07-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ Time-stamp simplifications and fixes.
+ These improve accuracy slightly, and future-proof the code
+ against some potential changes to current-time format.
+
+ * woman.el (woman-decode-buffer, WoMan-log-end): Log fractional secs
+ by using time-since and float-time.
+
+ * vc/ediff-util.el (ediff-calc-command-time): Use time-since
+ and float-time. Say "NNN.NNN seconds" rather than "NNN seconds
+ + NNN microseconds".
+
+ * type-break.el (type-break-time-sum): Rewrite using time-add.
+
+ * play/hanoi.el (hanoi-current-time-float): Remove.
+ All uses replaced by float-time.
+
+ * nxml/rng-maint.el (rng-time-function): Rewrite using time-subtract.
+ This yields a more-accurate answer.
+ (rng-time-to-float): Remove; no longer needed.
+
+ * emacs-lisp/timer.el (timer-relative-time): Use time-add.
+
+ * calendar/timeclock.el (timeclock-seconds-to-time):
+ Defalias to seconds-to-time, since they're the same thing.
+
+ * emacs-lisp/elp.el (elp-elapsed-time):
+ * emacs-lisp/benchmark.el (benchmark-elapse):
+ * allout-widgets.el (allout-elapsed-time-seconds): Use float-time.
+
+2011-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * 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.
+
+2011-07-01 Chong Yidong <cyd@stupidchicken.com>
+
+ * eshell/em-smart.el (eshell-smart-display-navigate-list):
+ Add mouse-yank-primary.
+
+2011-07-01 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * progmodes/cfengine3.el: New file to support CFEngine 3.x.
+
+2011-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * 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 (bug#8803).
+
+2011-06-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * textmodes/flyspell.el (flyspell-word): Consider words that
+ differ only in case as potential doublons (bug#5687).
+
+ * net/soap-client.el (soap-invoke, soap-wsdl-resolve-references):
+ Remove two rather uninteresting debugging-like messages to make
+ debbugs.el more silent.
+
+ * comint.el (comint-password-prompt-regexp): Accept "Response" as
+ a password-like phrase.
+
+2011-06-30 Mastake YAMATO <yamato@redhat.com>
+
+ * progmodes/cc-guess.el: New file.
+
+ * progmodes/cc-langs.el (c-mode-menu): Add "Style..." submenu.
+
+ * progmodes/cc-styles.el (cc-choose-style-for-mode): New function
+ derived from `c-basic-common-init'.
+
+ * progmodes/cc-mode.el (top-level): Require cc-guess.
+ (c-basic-common-init): Use `cc-choose-style-for-mode'.
+
+2011-06-30 Lawrence Mitchell <wence@gmx.li>
+
+ * progmodes/js.el (js-mode): Don't stomp on global settings (bug#8933).
+
+2011-06-30 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-engine.el (c-guess-continued-construct):
+ Correct the handling of template-args-cont, particularly for when font
+ lock is disabled. Name this case as "CASE G".
+
+2011-06-30 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-yank-processing): Fix injection of extra space
+ between bullet and non-whitespace character in first topic when
+ pasting, ensuring that the actual spacing in the pasted topic
+ following the bullet char is preserved. This extra space was
+ causing pasted encrypted topics to get a decrypted status even
+ when the content was actually still encrypted. Now the decryption
+ status from before the paste is preserved.
+
+ (allout-flag-region): Set all allout overlays so they evaporate
+ when reduced to zero length (evanescent), to prevent overlay
+ leakage.
+
+2011-06-30 Glenn Morris <rgm@gnu.org>
+
+ * w32-fns.el (w32-charset-info-alist): Declare.
+
+ * find-dired.el (find-grep-options): Simplify.
+
+ * term/ns-win.el (ns-set-resource): Declare.
+
+ * ses.el (row, col): Declare dynamic variables honestly.
+
+ * textmodes/reftex-parse.el (index-tags): Declare.
+
+2011-06-30 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-edit.el (customize-push-and-save): New function.
+
+ * files.el (hack-local-variables-confirm): Use it.
+
+ * custom.el (load-theme): New arg NO-CONFIRM.
+ Use customize-push-and-save (Bug#8720).
+ (custom-enabled-themes): Doc fix.
+
+ * cus-theme.el (customize-create-theme)
+ (custom-theme-merge-theme): Callers to load-theme changed.
+
+2011-06-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * thingatpt.el (thing-at-point-short-url-regexp): Require that
+ short URLs have at least one dot in them (bug #7614).
+
+ * progmodes/grep.el (rgrep): Bind `process-connection-type' to
+ nil, because using a pty is apparently too slow (bug #895).
+
+2011-06-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mail/sendmail.el (sendmail-query-once): New function.
+ (sendmail-query-once-function): New variable.
+
+2011-06-29 Glenn Morris <rgm@gnu.org>
+
+ * files.el (auto-mode-alist): Add .f03, .f08 for f90-mode.
+
+ * ses.el (top-level): Require cl when compiling.
+ (ses-set-localvars): Fix error statement.
+ Call it at compile time to silence a storm of warnings.
+
+2011-06-29 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (normalize-live-buffer): Rename to
+ window-normalize-buffer.
+ (normalize-live-frame): Rename to window-normalize-frame.
+ (normalize-any-window): Rename to window-normalize-any-window.
+ (normalize-live-window): Rename to window-normalize-live-window.
+ (make-window-atom): Rename to window-make-atom.
+ (window-resize-reset): Rename to window--resize-reset.
+ (window-resize-reset-1): Rename to window--resize-reset-1.
+ (resize-mini-window): Rename to window--resize-mini-window.
+ (resize-subwindows-skip-p): Rename to
+ window--resize-subwindows-skip-p.
+ (resize-subwindows-normal): Rename to
+ window--resize-subwindows-normal.
+ (resize-subwindows): Rename to window--resize-subwindows.
+ (resize-other-windows): Rename to window--resize-siblings.
+ (resize-this-window): Rename to window--resize-this-window.
+ (resize-root-window): Rename to window--resize-root-window.
+ (resize-root-window-vertically): Rename to
+ window--resize-root-window-vertically.
+ (normalize-buffer-to-display): Rename to
+ window-normalize-buffer-to-display.
+ (normalize-buffer-to-switch-to): Rename to
+ window-normalize-buffer-to-switch-to.
+ Correspondingly update all callers of the functions listed
+ above.
+ (display-buffer-alist, display-buffer-normalize-arguments)
+ (display-buffer-normalize-options, display-buffer)
+ (display-buffer-alist-set): Use "function" instead of
+ "fun-with-args".
+
+2011-06-28 Chong Yidong <cyd@stupidchicken.com>
+
+ * mail/emacsbug.el (report-emacs-bug): Handle non-gnu bug
+ addresses more clearly. Add hyperlinks for bug-gnu-emacs and
+ debbugs.gnu.org. Mention acknowledgment email.
+
+2011-06-28 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mail/smtpmail.el (smtpmail-send-it): Leave off changing the
+ buffer multibyteness, since it shouldn't matter.
+
+2011-06-28 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer-in-side-window): Handle dedicated
+ windows as in display-buffer-reuse-window.
+ (display-buffer-normalize-alist): Use value of override
+ specifier.
+ (display-buffer-normalize-specifiers): Use value of
+ other-window-means-other-frame specifier.
+ (display-buffer-alist): Rewrite some texts in widgets.
+ (display-buffer): Spread arguments when calling function
+ specified by fun-with-args.
+
+2011-06-28 Deniz Dogan <deniz@dogan.se>
+
+ * emacs-lisp/lisp-mode.el (emacs-lisp-mode-syntax-table):
+ Unnest `let'.
+
+ * textmodes/css-mode.el (css-font-lock-keywords): Fix grouped
+ selectors (Bug#5732).
+ (css-proprietary-nmstart-re): Use `regexp-opt'.
+
+2011-06-27 Jari Aalto <jari.aalto@cante.net>
+
+ * eshell/em-ls.el: Display `ls -l' dates in ISO format (Bug#8440).
+ (eshell-ls-date-format): New defcustom.
+ (eshell-ls-file): Use it.
+
+2011-06-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * help-fns.el (describe-variable): Fix message for terminal-local vars.
+
+2011-06-27 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * net/ange-ftp.el: Allow loading .gz files (Bug#6923).
+ (ange-ftp-make-tmp-name): New arg.
+ (ange-ftp-file-local-copy): Use it.
+
+2011-06-27 Jambunathan K <kjambunathan@gmail.com>
+
+ * tar-mode.el (tar-untar-buffer): Set coding-system-for-write to
+ no-conversion (Bug#8870).
+
+2011-06-27 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (window-right, window-left, window-child)
+ (window-child-count, window-last-child)
+ (window-iso-combination-p, walk-window-tree-1)
+ (window-atom-check-1, window-tree-1, delete-window)
+ (window-state-get-1, display-buffer-even-window-sizes): Adapt to
+ new naming conventions - window-vchild, window-hchild,
+ window-next and window-prev are now called window-top-child,
+ window-left-child, window-next-sibling and window-prev-sibling
+ respectively.
+ (resize-window-reset): Rename to window-resize-reset.
+ (resize-window-reset-1): Rename to window-resize-reset-1.
+ (resize-window): Rename to window-resize.
+ (window-min-height, window-min-width)
+ (resize-mini-window, resize-this-window, resize-root-window)
+ (resize-root-window-vertically, adjust-window-trailing-edge)
+ (enlarge-window, shrink-window, maximize-window)
+ (minimize-window, delete-window, quit-restore-window)
+ (split-window, balance-windows, balance-windows-area-adjust)
+ (balance-windows-area, window-state-put-2)
+ (display-buffer-even-window-sizes, display-buffer-set-height)
+ (display-buffer-set-width, set-window-text-height)
+ (fit-window-to-buffer): Rename all "resize-window" prefixed
+ calls to use the "window-resize" prefix convention.
+ (display-buffer-alist): Fix symbol for label specifier.
+ (display-buffer-reuse-window): Set reuse-dedicated to cdr of
+ corresponding specifier.
+ Reported by Juanma Barranquero <lekktu@gmail.com>.
+
+2011-06-27 Vincent Belaïche <vincentb1@users.sourceforge.net>
+
+ * ses.el (ses-destroy-cell-variable-range): Fix heading comment
+ convention.
+ (ses-call-printer): Does not pass an empty string to formatter when the
+ cell is empty to keep from barking printer Calc math-format-value.
+
+2011-06-27 Richard Stallman <rms@gnu.org>
+
+ * battery.el (battery-mode-line-limit): New variable.
+ (battery-update): Handle it.
+
+ * mail/rmailmm.el (rmail-mime-process-multipart):
+ Handle truncated messages.
+
+2011-06-27 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/flymake.el (flymake-err-line-patterns):
+ Allow for column numbers in the ant/javac pattern. (Bug#8866)
+
+2011-06-27 Vincent Belaïche <vincentb1@users.sourceforge.net>
+
+ * ses.el (ses-relocate-range): Keep rest of arguments for ses-range.
+ (ses--clean-!, ses--clean-_): New functions.
+ (ses-range): Add configurability of readout order, and conversion
+ to Calc vector.
+
+ * ses.el (ses-repair-cell-reference-all): New function.
+ (ses-cell-symbol): Set macro as safe, so that it can be used in
+ formulas.
+
+ * ses.el: Update cycle detection algorithm.
+ (ses-localvars): Add ses--Dijkstra-attempt-nb and
+ ses--Dijkstra-weight-bound, and initial values thereof when applicable.
+ (ses-set-localvars): New function.
+ (ses-make-cell): Add property-list as a cell element.
+ (ses-cell-property-get-fun, ses-cell-property-get)
+ (ses-cell-property-delq-fun, ses-cell-property-set-fun)
+ (ses-cell-property-pop-fun, ses-cell-property-get-handle-fun):
+ New functions.
+ (ses-cell-property-set, ses-cell-property-pop)
+ (ses-cell-property-get-handle): New macro.
+ (ses-cell-property-handle-car, ses-cell-property-handle-setcar):
+ New aliases, used for code readability.
+ (ses-calculate-cell, ses-update-cells): Use Dijkstra algorithm for
+ cycle detection.
+ (ses-self-reference-early-detection): New defcustom.
+ (ses-formula-references): Robustify against self-refering cells.
+ (ses-mode): Use ses-set-localvars.
+ (ses-command-hook): Add call to ses-initialize-Dijkstra-attempt
+ before lauching the update processing.
+ (ses-initialize-Dijkstra-attempt): New function.
+ (ses-recalculate-cell): Update for cycle detection based on
+ Dijkstra algorithm.
+
+ * ses.el: Fix commenting and indenting convention.
+
+2011-06-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * bs.el (bs-cycle-next): Complete last change.
+
+2011-06-27 Drew Adams <drew.adams@oracle.com>
+
+ * faces.el (list-faces-display): Add help-mode-map to output (bug#8939).
+
+2011-06-27 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/network-stream.el (network-stream-open-starttls):
+ Don't re-get capabilities unless we've reestablished connection.
+ (network-stream-open-starttls): Fix stupid typo with gnutls-clii.
+
+ * mail/smtpmail.el (smtpmail-via-smtp): Bind coding-system-for-*
+ to binary to possibly avoid line encoding issues on Windows (among
+ other things).
+
+2011-06-26 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/network-stream.el (open-network-stream): Return an :error
+ saying what the problem was, if possible.
+
+ * mail/smtpmail.el (smtpmail-via-smtp): Report the error from the
+ server.
+
+ * net/network-stream.el (network-stream-open-starttls): If we
+ wanted to use STARTTLS, and the server offered it, but we weren't
+ able to because we had no STARTTLS support, then close the connection.
+ (open-network-stream): Return an :error element, if present.
+
+2011-06-26 Chong Yidong <cyd@stupidchicken.com>
+
+ * hl-line.el (hl-line-sticky-flag): Doc fix.
+ (global-hl-line-sticky-flag): New option (Bug#8323).
+ (global-hl-line-highlight): Obey it.
+
+ * vc/vc.el (vc-revert-show-diff): Default to t.
+
+2011-06-26 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout-widgets.el (allout-widgets-post-command-business):
+ Stop decorating intermediate isearch matches. They're not being
+ undecorated when an isearch is continued past, and isearch
+ automatically collapses them. This leads to "widget leaks", where
+ decorated items accumulate in collapsed areas. Lines with lots of
+ hidden widgets can slow down cursor travel, substantially.
+ Too much complicated machinery would be needed to ensure undecoration,
+ so we're doing without this nicety.
+
+ (allout-widgets-tally-string): Don't try to do a hash-table-count
+ of allout-widgets-tally when it's nil. This eliminates spurious "Error
+ during redisplay: (wrong-type-argument hash-table-p nil)" warnings in
+ *Messages* when allout-widgets-maintain-tally is t.
+
+2011-06-26 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer-normalize-argument): Rename to
+ display-buffer-normalize-arguments. Handle special meaning of
+ LABEL argument. Respect special-display-function when popping up
+ a new frame. Fix code searching for a window showing the buffer
+ on another frame.
+ (display-buffer-normalize-specifiers):
+ Call display-buffer-normalize-arguments.
+ (display-buffer-in-window): Don't undedicate the window if its
+ buffer remains the same.
+ Reported by Drew Adams <drew.adams@oracle.com>.
+ (display-buffer-alist): Add choice for same-window macro
+ specfier.
+ (display-buffer): Mention special meaning of LABEL argument in
+ doc-string. Fix quoting. Don't pop up a new frame even as
+ fallback.
+
+2011-06-26 Juanma Barranquero <lekktu@gmail.com>
+
+ * bs.el (bs-cycle-next): Pass current buffer to `bury-buffer' to
+ avoid deleting the current window in some cases (bug#8911).
+
+2011-06-26 Andreas Schwab <schwab@linux-m68k.org>
+
+ * emacs-lisp/smie.el (smie-bnf->prec2): Fix last change.
+ (Bug#8934)
+
+2011-06-26 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/network-stream.el (network-stream-open-starttls):
+ Use built-in TLS support if `gnutls-available-p' is true.
+ (network-stream-open-tls): Ditto.
+
+2011-06-26 Leo Liu <sdl.web@gmail.com>
+
+ * register.el (registerv): New struct.
+ (registerv-make): New function.
+ (jump-to-register, describe-register-1, insert-register):
+ Support the jump-func, print-func and insert-func slot of a registerv
+ struct. (Bug#8415)
+
+2011-06-26 Chong Yidong <cyd@stupidchicken.com>
+
+ * vc/vc.el (vc-revert-show-diff): New defcustom.
+ (vc-diff-internal): New arg specifying diff buffer.
+ (vc-revert): Obey vc-revert-show-diff. If we show a diff, don't
+ reuse an existing *vc-diff* buffer (Bug#8927).
+
+ * progmodes/cperl-mode.el (cperl-mode): Derive from prog-mode.
+
+2011-06-26 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/f90.el (f90-critical-indent): New option.
+ (f90-font-lock-keywords-2, f90-blocks-re, f90-end-block-re)
+ (f90-start-block-re, f90-mode-abbrev-table): Add block, critical.
+ (f90-mode): Doc fix.
+ (f90-looking-at-critical, f90-looking-at-end-critical): New funcs.
+ (f90-no-block-limit, f90-calculate-indent, f90-end-of-block)
+ (f90-beginning-of-block, f90-next-block, f90-indent-region)
+ (f90-match-end): Handle block, critical.
+
+2011-06-25 Glenn Morris <rgm@gnu.org>
+
+ * calendar/diary-lib.el (diary-included-files): Doc fix.
+ (diary-include-files): New function, extracted from
+ diary-include-other-diary-files and diary-mark-included-diary-files.
+ (diary-include-other-diary-files, diary-mark-included-diary-files):
+ Just call diary-include-files.
+ (diary-mark-entries): Reset diary-included-files on first call.
+
+ * calendar/diary-lib.el (diary-mark-entries)
+ (diary-mark-included-diary-files):
+ Visit included diary-files in temp buffers.
+
+ * progmodes/f90.el (f90-keywords-re, f90-font-lock-keywords-1)
+ (f90-blocks-re, f90-program-block-re, f90-end-block-re)
+ (f90-start-block-re, f90-imenu-generic-expression)
+ (f90-looking-at-program-block-start, f90-no-block-limit):
+ Add support for submodules.
+
+ * progmodes/f90.el (f90-keywords-re, f90-keywords-level-3-re)
+ (f90-procedures-re, f90-constants-re): Add some F2008 stuff.
+
+2011-06-25 Eli Zaretskii <eliz@gnu.org>
+
+ * net/ange-ftp.el (ange-ftp-insert-file-contents): Let-bind
+ buffer-file-type before setting its value, to avoid disastrous
+ global effects on decoding files for DOS/Windows systems. (Bug#8780)
+
+2011-06-25 Juanma Barranquero <lekktu@gmail.com>
+
+ * allout.el (allout-unload-function): Pass -1 to `allout-mode'.
+
+ * ses.el (ses-unload-function):
+ * emacs-lisp/re-builder.el (re-builder-unload-function): Simplify.
+
+ * proced.el (proced-unload-function):
+ * progmodes/cperl-mode.el (cperl-mode-unload-function): Remove.
+
+2011-06-25 Andreas Rottmann <a.rottmann@gmx.at>
+
+ * server.el (server-create-window-system-frame): Add parameters arg.
+ (server-process-filter): Doc fix. Handle frame-parameters.
+
+2011-06-25 Juanma Barranquero <lekktu@gmail.com>
+
+ Fix bug#8730, bug#8781.
+
+ * loadhist.el (unload--set-major-mode): New function.
+ (unload-feature): Use it.
+
+ * progmodes/python.el (python-after-info-look): Add autoload cookie.
+ (python-unload-function): New function.
+
+2011-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * mail/rmail.el (rmail-show-message-1): Use restore-buffer-modified-p.
+
+2011-06-25 Giuseppe Scrivano <gscrivano@gnu.org>
+
+ * net/browse-url.el (browse-url-firefox-program): Add icecat to
+ the candidates list.
+
+2011-06-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * progmodes/verilog-mode.el (verilog-mode): Fix test for bound variable.
+
+2011-06-23 Richard Stallman <rms@gnu.org>
+
+ * mail/rmail.el: Going to grep hit in Rmail buffer finds the message.
+ (rmail-variables): Set next-error-move-function.
+ (rmail-what-message): Take argument POS.
+ (rmail-next-error-move): New function.
+
+2011-06-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el (smie-bnf->prec2): Give more understandable error
+ messages for adjacent non-terminals.
+
+2011-06-23 Richard Stallman <rms@gnu.org>
+
+ * mail/rmail.el (rmail-retry-ignored-headers): Add message-id.
+ (rmail-show-message-1): Preserve buffer modified flag.
+ (rmail-start-mail): Don't specify use of rmail-mail-return;
+ that's done by mail-bury now.
+ (rmail-mail-return): Handle arg NEWBUF.
+
+2011-06-23 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-method-out-of-band-p): Check, whether
+ SIZE is a number.
+
+2011-06-23 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (get-lru-window, get-mru-window)
+ (get-largest-window): Never return a minibuffer window.
+ (display-buffer-pop-up-window): Fix a bug that could lead to
+ reusing the minibuffer window.
+ (display-buffer): Pass original specifier argument to
+ display-buffer-function instead of the normalized one.
+ Reported by Thierry Volpiatto <thierry.volpiatto@gmail.com>.
+
+2011-06-22 Leo Liu <sdl.web@gmail.com>
+
+ * minibuffer.el (completing-read-function)
+ (completing-read-default): Move from minibuf.c
+
+2011-06-22 Richard Stallman <rms@gnu.org>
+
+ * mail/sendmail.el (mail-bury): If Rmail is in use, return nicely
+ to Rmail even if not started by a special Rmail command.
+
+ * mail/rmailmm.el (rmail-insert-mime-forwarded-message):
+ Copy the buffer currently showing just one message.
+
+2011-06-22 Roland Winkler <winkler@gnu.org>
+
+ * textmodes/bibtex.el (bibtex-entry-update): Use mapc.
+ (bibtex-clean-entry): First delete the old key so that a
+ customized algorithm for generating the new key does not get
+ confused by the old key.
+ (bibtex-url): Obey regexp of first step.
+ (bibtex-search-entries): Do not use add-to-list with local
+ list-var.
+
+2011-06-22 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mail/smtpmail.el (smtpmail-try-auth-methods): If the user has
+ stored a user name, then query for the password first, instead of
+ waiting for SMTP to give an error message and the trying again.
+
+2011-06-22 Lawrence Mitchell <wence@gmx.li>
+
+ * net/browse-url.el (browse-url-xdg-open): Use 0, rather than nil
+ BUFFER in call-process.
+
+2011-06-22 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mail/smtpmail.el (smtpmail-via-smtp): Make sure we don't send
+ QUIT twice.
+ (smtpmail-try-auth-methods): Require user name and password from
+ auth-source.
+
+2011-06-22 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer-default-specifiers)
+ (display-buffer-alist): Remove entries for pop-up-frame-alist.
+ Suggested by Katsumi Yamaoka <yamaoka@jpl.org>.
+ (split-window): Normalize SIDE argument (Bug#8916).
+
+ * frame.el (pop-up-frame-alist, pop-up-frame-function)
+ (special-display-frame-alist, special-display-popup-frame):
+ Remove duplicate declarations. These are now in window.el.
+
+2011-06-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mail/smtpmail.el (smtpmail-via-smtp):
+ Set :use-starttls-if-possible so that we always use STARTTLS if the
+ server supports it. SMTP servers that support STARTTLS commonly
+ require it.
+
+ * net/network-stream.el (network-stream-open-starttls): Support
+ upgrading to STARTTLS always, even if we don't have built-in support.
+ (open-network-stream): Add the :always-query-capabilies keyword.
+
+ * mail/smtpmail.el: Rewritten to do opportunistic STARTTLS
+ upgrades with `open-network-stream', and rely solely on
+ auth-source for all credentials. Big changes throughout the file,
+ but in particular:
+ (smtpmail-auth-credentials): Remove.
+ (smtpmail-starttls-credentials): Remove.
+ (smtpmail-via-smtp): Check for servers saying they want AUTH after
+ MAIL FROM, too.
+
+ * net/network-stream.el (network-stream-open-starttls):
+ Provide support for client certificates both for external and built-in
+ STARTTLS.
+ (auth-source): Require.
+ (open-network-stream): Document the :client-certificate keyword.
+ (network-stream-certificate): Change cert-cert to cert and
+ cert-key to key.
+
+2011-06-21 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-cache.el (top): Don't load the persistency file when
+ "emacs -Q" has been called.
+
+2011-06-21 Tim Harper <timcharper@gmail.com>
+
+ * term/ns-win.el (ns-initialize-window-system):
+ Set application-specific `ApplePressAndHoldEnabled' system
+ resource to NO as it is not yet supported by the NS port.
+
+2011-06-21 Juanma Barranquero <lekktu@gmail.com>
+
+ * misc.el (list-dynamic-libraries--refresh): Compute header here...
+ (list-dynamic-libraries): ...not here.
+
+2011-06-21 Leo Liu <sdl.web@gmail.com>
+
+ * subr.el (sha1): Implement sha1 using secure-hash.
+
+2011-06-21 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer-alist): In default value do not
+ enforce searching a window on any but the selected frame.
+ Reported by Katsumi Yamaoka <yamaoka@jpl.org>.
+ (display-buffer-select-window): Remove function.
+ (display-buffer-in-window): When a window on another frame gets
+ reused, do not select it any more but just raise its frame if
+ necessary (Bug#8851) and (Bug#8856).
+ (display-buffer-normalize-options): Handle pop-up-frames related
+ options more faithfully.
+ (pop-to-buffer): Don't rely on `display-buffer' selecting the
+ window if it is on another frame.
+ (display-buffer-alist, display-buffer-default-specifiers):
+ Don't make new frame unsplittable by default.
+ (display-buffer-normalize-argument): Fix doc-string typo and use
+ 'same-frame-other-window instead of 'other-window when associating
+ with display-buffer-macro-specifiers.
+
+2011-06-21 Vincent Belaïche <vincent.b.1@hotmail.fr>
+
+ * play/5x5.el (5x5-solve-rotate-left, 5x5-solve-rotate-right):
+ New functions.
+ (5x5-mode-map, 5x5-mode-menu): Bind them.
+ (5x5-draw-grid): Tweak the solver's rendering.
+
+2011-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/compile.el (compilation-error-regexp-alist-alist): Rename
+ `caml' to `python-tracebacks-and-caml'; allow leading tabs (bug#8585).
+
+2011-06-21 Drew Adams <drew.adams@oracle.com>
+
+ * menu-bar.el: Use function variable instead of switch-to-buffer.
+ (menu-bar-select-buffer-function): New variable.
+ (menu-bar-update-buffers): Use it (bug#8876).
+
+2011-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/bytecomp.el (add-to-list): Add handler to check the
+ variable's status.
+
+2011-06-20 Jan Djärv <jan.h.d@swipnet.se>
+
+ * x-dnd.el (x-dnd-version-from-flags)
+ (x-dnd-more-than-3-from-flags): New functions that handle long-as-cons
+ and long as number (Bug#8899).
+ (x-dnd-handle-xdnd): Call functions above (Bug#8899).
+
+2011-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion-metadata): Add `metadata' to the alist.
+ (completion-try-completion, completion-all-completions): Compute the
+ metadata argument if it's missing; make it optional (bug#8795).
+
+ * wid-edit.el: Use lex-bind and move towards completion-at-point.
+ (widget-complete): Use new :completion-function property.
+ (widget-completions-at-point): New function.
+ (default): Use :completion-function instead of :complete.
+ (widget-default-completions): Rename from widget-default-complete;
+ Rewrite.
+ (widget-string-complete, widget-file-complete, widget-color-complete):
+ Remove functions.
+ (file, symbol, function, variable, coding-system, color):
+ * international/mule-cmds.el (default-input-method, charset)
+ (language-info-custom-alist):
+ * cus-edit.el (face): Use new property :completions.
+
+ * progmodes/pascal.el (pascal-completions-at-point): New function.
+ (pascal-mode): Use it.
+ (pascal-mode-map): Use completion-at-point.
+ (pascal-toggle-completions): Make obsolete.
+ (pascal-complete-word, pascal-show-completions):
+ * progmodes/octave-mod.el (octave-complete-symbol):
+ Redefine as obsolete alias.
+ * progmodes/octave-inf.el (inferior-octave-completion-at-point):
+ Signal absence of completion info for old Octave,
+ (inferior-octave-complete): Redefine as obsolete alias.
+ * progmodes/meta-mode.el: Use lexical-binding and completion-at-point.
+ (meta-completions-at-point): Rename from meta-complete-symbol and
+ adapt it for use on completion-at-point-functions.
+ (meta-common-mode): Use it.
+ (meta-looking-at-backward, meta-match-buffer): Remove.
+ (meta-complete-symbol): Redefine as obsolete alias.
+ (meta-common-mode-map): Use completion-at-point.
+ * progmodes/make-mode.el: Use lexical-binding and completion-at-point.
+ (makefile-mode-map): Use completion-at-point.
+ (makefile-completions-at-point): Rename from makefile-complete and
+ adapt it for use on completion-at-point-functions.
+ (makefile-mode): Use it.
+ (makefile-complete): Redefine as obsolete alias.
+
+2011-06-20 Deniz Dogan <deniz@dogan.se>
+
+ * net/rcirc.el: Delete trailing whitespaces once and for all.
+
+2011-06-20 Daniel Colascione <dan.colascione@gmail.com>
+
+ * emacs-lisp/syntax.el (syntax-ppss): Further improve docstring.
+
+2011-06-19 Chong Yidong <cyd@stupidchicken.com>
+
+ * files.el (auto-mode-alist): Entry for m2-mode (Bug#8852).
+
+ * info.el (Info-apropos-toc-nodes): Minor doc fix (Bug#8833).
+
+2011-06-19 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer-other-window-means-other-frame):
+ Call display-buffer-normalize-alist.
+ (display-buffer-normalize-specifiers-1): Rename to
+ display-buffer-normalize-argument. New argument other-frame.
+ Rewrite.
+ (display-buffer-normalize-specifiers-2): Rename to
+ display-buffer-normalize-options.
+ (display-buffer-normalize-alist-1): New function.
+ (display-buffer-normalize-specifiers-3): Rename to
+ display-buffer-normalize-alist.
+ Call display-buffer-normalize-alist-1.
+ (display-buffer-normalize-options-inhibit): New variable.
+ (display-buffer-normalize-specifiers): Rewrite calling
+ display-buffer-normalize-alist,
+ display-buffer-normalize-argument, and
+ display-buffer-normalize-options. Don't call the latter if
+ display-buffer-normalize-options-inhibit is non-nil.
+ (frame-auto-delete): New option.
+ (window-deletable-p): Use frame-auto-delete.
+ (window-list-no-nils, window-state-ignored-parameters)
+ (window-state-get-1, window-state-get, window-state-put-list)
+ (window-state-put-1, window-state-put-2, window-state-put):
+ New functions.
+ (display-buffer-normalize-options): Move special-display-p group
+ after pop-up-frame group (Bug#8851) and (Bug#8856).
+
+2011-06-18 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/rx.el (rx-constituents): Add support for numbered
+ groups (Bug#8776).
+ (rx-submatch-n): New function.
+ (rx): Document it.
+
+ * dired-x.el (dired-mark-unmarked-files): Fix interactive spec
+ (Bug#8768).
+
+ * replace.el (occur-mode-map): Set occur-edit-mode binding to "e".
+
+ * textmodes/fill.el (default-justification): Add :safe (Bug#8879).
+
+ * cus-face.el (custom-declare-face): Call custom-theme-recalc face
+ anytime existing face settings are present (Bug#8889).
+
+ * progmodes/delphi.el (delphi-mode-syntax-table): Use defvar.
+ (delphi-mode): Use define-derived-mode to inherit from prog-mode.
+ Remove unused argument.
+
+2011-06-18 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer-default-specifiers):
+ Remove pop-up-frame. Add pop-up-window-min-height,
+ pop-up-window-min-width, and another reuse-window specifier
+ (Bug#8882). Reported by Dan Nicolaescu <dann@gnu.org>.
+ (display-buffer-normalize-specifiers-2):
+ Handle split-height-threshold and split-width-threshold also when
+ pop-up-windows is unset. Add a reuse-window specifier for the
+ case popping up a new window fails.
+ (special-display-popup-frame): Remove double quoting.
+ (display-buffer-normalize-specifiers-1): Fix thinko.
+
+2011-06-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * shell.el (shell-completion-vars): Set pcomplete-termination-string
+ according to comint-completion-addsuffix.
+
+ * pcomplete.el: Convert to lexical binding and fix bug#8819.
+ (pcomplete-suffix-list): Mark as obsolete.
+ (pcomplete-completions-at-point): Capture pcomplete-norm-func and
+ pcomplete-seen in the closure.
+ (pcomplete-comint-setup): Setup completion-at-point as well.
+ (pcomplete--entries): New function.
+ (pcomplete--env-regexp): New var.
+ (pcomplete-entries): Rewrite to work with partial-completion and
+ without relying on pcomplete-suffix-list.
+ (pcomplete-pare-list): Remove, unused.
+
+2011-06-17 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer-alist): Set pop-up-window-min-height
+ and pop-up-window-min-width in default value. Reported by
+ Thierry Volpiatto <thierry.volpiatto@gmail.com>. New specifier
+ other-window-means-other-frame.
+ (display-buffer-macro-specifiers): Comment out entry for
+ other-window specifier.
+ (display-buffer-other-window-means-other-frame): New function.
+ (display-buffer-normalize-specifiers-1): New arguments
+ buffer-name and label. Treat other-window case specially.
+ (display-buffer-normalize-specifiers-2): Treat other-window case
+ specially.
+ (display-buffer-normalize-specifiers-3): New function.
+ (display-buffer-normalize-specifiers):
+ Call display-buffer-normalize-specifiers-3.
+
+2011-06-17 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (same-window-p): Fix two typos introduced when
+ adding with-no-warnings.
+ (display-buffer-normalize-specifiers-1): Don't check
+ pop-up-frames for 'unset initialization.
+ (display-buffer-normalize-specifiers-2): Major rewrite using
+ special-display-p and same-window-p (Bug#8851) and (Bug#8856).
+ (pop-up-frames, display-buffer-reuse-frames)
+ (display-buffer-mark-dedicated): Don't initialize to 'unset.
+ Suggested by David Engster <deng@randomsample.de>.
+ (even-window-heights): Initialize to 'unset.
+ (display-buffer-alist-set): Handle new 'unset initializations.
+ (display-buffer-macro-specifiers): Don't pop up a new frame in the
+ other window case.
+
+2011-06-16 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer-normalize-specifiers-1):
+ Respect current value of pop-up-frames for most reasonable values of
+ second argument of display-buffer (Bug#8865).
+ (switch-to-buffer-same-frame, switch-to-buffer-other-window)
+ (switch-to-buffer-other-window-same-frame)
+ (switch-to-buffer-other-frame): Fix doc-strings. Reported by Drew
+ Adams (Bug#8875).
+ (display-buffer): Don't check noninteractive when calling
+ display-buffer-pop-up-frame.
+ (display-buffer-pop-up-frame): Never pop up a frame in
+ noninteractive mode (Bug#8857).
+ (enlarge-window, shrink-window): Don't report an error when the
+ window can't be resized as requested (Bug#8862).
+
+2011-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * pcmpl-rpm.el (pcomplete/rpm): Minor simplification.
+
+ * emacs-lisp/debug.el (debug): Don't leave the buffer in Debugger.
+
+ * abbrev.el (define-abbrev-table): Don't add a table multiple times.
+
+2011-06-15 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-fonts.el (c-font-lock-declarations): 1: Whilst checking
+ for declarators, disable knr checking to speed up for normal files.
+ 2: Refactor, replacing a sequence of nested if forms by a cond form.
+
+2011-06-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/network-stream.el (open-network-stream): Add the keyword
+ :always-query-capabilities for the case where you want to force a
+ `plain' network connection, but the protocol still requires the
+ capabilitiy command (i.e., SMTP and EHLO).
+
+ * subr.el (process-live-p): Rename from `process-alive-p' for
+ consistency with other `-live-p' functions.
+
+2011-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * window.el (same-window-buffer-names, same-window-regexps)
+ (special-display-frame-alist, special-display-popup-frame)
+ (special-display-function, special-display-buffer-names)
+ (special-display-regexps, pop-up-frame-alist)
+ (pop-up-frame-function, pop-up-frames, display-buffer-reuse-frames)
+ (pop-up-windows, split-window-preferred-function)
+ (split-height-threshold, split-width-threshold, even-window-heights)
+ (display-buffer-mark-dedicated): Don't encourage the use of
+ display-buffer-alist from Elisp code.
+
+2011-06-15 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * progmodes/python.el (python-mode): Derive from prog-mode.
+ * progmodes/ps-mode.el (ps-mode):
+ * progmodes/mixal-mode.el (mixal-mode):
+ * progmodes/cfengine.el (cfengine-mode):
+ * progmodes/ld-script.el (ld-script-mode): Likewise.
+
+2011-06-15 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer-alist): Trim default value to avoid
+ popping up a new frame (Bug#8857) or reusing an arbitrary window
+ on another frame.
+ (display-buffer): Do not fall back on popping up a new frame in
+ batch mode (Bug#8857).
+
+2011-06-14 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-theme.el (describe-theme-1): Use custom-theme-p.
+ (custom-theme-summary): New function.
+ (customize-themes): Use it.
+
+2011-06-13 Glenn Morris <rgm@gnu.org>
+
+ * cus-dep.el (custom-make-dependencies): Use up command-line-args-left.
+
+2011-06-13 Martin Rudalics <rudalics@gmx.at>
+
+ * help.el (help-window): Remove variable.
+ (help-window-point-marker, temp-buffer-max-height)
+ (temp-buffer-resize-mode, help-window-select): Rewrite doc-strings.
+ (help-print-return-message): Don't set help-window.
+ (resize-temp-buffer-window): Rewrite cod eand doc-string.
+ (help-window-setup-finish): Remove.
+ (help-window-display-message, help-window-setup)
+ (with-help-window): Major rewrite based on new
+ display-buffer-window variable.
+
+ * help-mode.el (help-mode-finish): Remove help-window related
+ code.
+
+ * view.el (view-exits-all-viewing-windows): Remove reference to
+ view-return-to-alist in doc-string.
+ (view-return-to-alist): Make obsolete.
+ (view-buffer): Call pop-to-buffer-same-window and remove
+ undo-window code.
+ (view-buffer-other-window): Call pop-to-buffer-other-window and
+ simplify code. Ignore second argument.
+ (view-buffer-other-frame): Call pop-to-buffer-other-frame and
+ simplify code. Ignore second argument.
+ (view-return-to-alist-update): Make obsolete.
+ (view-mode-enter): Rename second argument to QUIT-RESTORE.
+ Rewrite using quit-restore window parameters.
+ (view-mode-exit): Rename second argument to EXIT-ONLY.
+ Rewrite using quit-restore-window.
+ (View-exit, View-exit-and-edit, View-leave, View-quit)
+ (View-quit-all, View-kill-and-leave): Call view-mode-exit with
+ appropriate arguments.
+ (view-end-message): Use quit-restore window parameter.
+
+ * window.el (display-buffer-function): Rewrite doc-string.
+ (display-buffer-window, display-buffer-alist): New variables.
+ (display-buffer-split-specifiers)
+ (display-buffer-side-specifiers)
+ (display-buffer-macro-specifiers): New constants.
+ (display-buffer-even-window-sizes, display-buffer-set-height)
+ (display-buffer-set-width, display-buffer-select-window)
+ (display-buffer-in-window, display-buffer-reuse-window)
+ (display-buffer-split-window-1, display-buffer-split-window)
+ (display-buffer-split-atom-window, display-buffer-pop-up-window)
+ (display-buffer-pop-up-frame, display-buffer-pop-up-side-window)
+ (display-buffer-in-side-window, normalize-buffer-to-display)
+ (display-buffer-normalize-specifiers-1)
+ (display-buffer-normalize-specifiers-2)
+ (display-buffer-normalize-specifiers, display-buffer-frame):
+ New functions.
+ (display-buffer): Major rewrite.
+ (display-buffer-other-window, display-buffer-other-frame)
+ (pop-to-buffer, switch-to-buffer-other-window)
+ (switch-to-buffer-other-frame): Rewrite.
+ (display-buffer-same-window, display-buffer-same-frame)
+ (display-buffer-same-frame-other-window)
+ (pop-to-buffer-same-window, pop-to-buffer-same-frame)
+ (pop-to-buffer-other-window)
+ (pop-to-buffer-same-frame-other-window)
+ (pop-to-buffer-other-frame, switch-to-buffer-same-frame)
+ (switch-to-buffer-other-window-same-frame): New functions.
+ (same-window-p, special-display-p): Rewrite disabling warnings.
+ Make obsolete.
+ (pop-up-frames, display-buffer-reuse-frames, pop-up-windows)
+ (display-buffer-mark-dedicated): Initialize to symbol 'unset.
+ Make obsolete
+ (same-window-buffer-names, same-window-regexps)
+ (special-display-frame-alist, special-display-popup-frame)
+ (special-display-function, special-display-buffer-names)
+ (special-display-regexps, pop-up-frame-alist)
+ (pop-up-frame-function, split-window-preferred-function)
+ (split-height-threshold, split-width-threshold)
+ (even-window-heights): Make obsolete.
+
+2011-06-12 Glenn Morris <rgm@gnu.org>
+
+ * term/xterm.el (terminal-init-xterm): `version' may be nil. (Bug#8838)
+ Misc simplifications.
+
+2011-06-12 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (window-safely-shrinkable-p): Restore function which
+ was inadvertently removed in change from 2011-06-11. Declare as
+ obsolete.
+
+ * calendar/calendar.el (calendar-generate-window):
+ Use window-iso-combined-p instead of combination of one-window-p and
+ window-safely-shrinkable-p.
+
+2011-06-12 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/fortran.el (fortran-mode-syntax-table):
+ * progmodes/f90.el (f90-mode-syntax-table):
+ Set % to punctuation. (Bug#8820)
+ (f90-find-tag-default): Remove, no longer needed.
+
+2011-06-12 Daniel Colascione <dan.colascione@gmail.com>
+
+ * emacs-lisp/syntax.el (syntax-ppss): Clarify which items are invalid.
+
+2011-06-11 Chong Yidong <cyd@stupidchicken.com>
+
+ * image.el (image-animated-p): Return animation delay in seconds.
+ Avoid bit manipulation in Lisp; use `delay' entry in the metadata.
+ (image-animate-timeout): Remove DELAY argument. Don't assume
+ every subimage has the same delay; get it from image-animated-p.
+ (image-animate): Caller changed.
+
+2011-06-11 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-debug-message): Add `tramp-with-progress-reporter'
+ to ignored backtrace functions.
+
+2011-06-11 Glenn Morris <rgm@gnu.org>
+
+ * calendar/appt.el (appt-disp-window-function): Doc fix.
+ (appt-check): Handle overlapping appointments. (Bug#8337)
+
+2011-06-11 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (window-tree-1, window-tree): New functions, moving
+ the latter to window.el.
+ (bw-get-tree, bw-get-tree-1, bw-find-tree-sub)
+ (bw-find-tree-sub-1, bw-l, bw-t, bw-r, bw-b, bw-dir, bw-eqdir)
+ (bw-refresh-edges): Remove.
+ (balance-windows-1, balance-windows-2): New functions.
+ (balance-windows): Rewrite in terms of window tree functions,
+ balance-windows-1 and balance-windows-2.
+ (bw-adjust-window): Remove.
+ (balance-windows-area-adjust): New function with functionality of
+ bw-adjust-window but using resize-window.
+ (set-window-text-height): Rewrite doc-string.
+ Use normalize-live-window and resize-window.
+ (enlarge-window-horizontally, shrink-window-horizontally):
+ Rename argument to DELTA.
+ (window-buffer-height): New function.
+ (fit-window-to-buffer, shrink-window-if-larger-than-buffer):
+ Rewrite using new window resize routines.
+ (kill-buffer-and-window, mouse-autoselect-window-select):
+ Use ignore-errors instead of condition-case.
+ (quit-window): Call delete-frame instead of delete-windows-on
+ for the only buffer on frame.
+
+2011-06-10 Martin Rudalics <rudalics@gmx.at>
+
+ * loadup.el (top-level): Load window before files for the sake
+ of replace-buffer-in-windows.
+
+ * files.el (read-buffer-to-switch)
+ (switch-to-buffer-other-window)
+ (switch-to-buffer-other-frame, display-buffer-other-frame):
+ Move to window.el.
+
+ * simple.el (get-next-valid-buffer, last-buffer, next-buffer)
+ (previous-buffer): Move to window.el.
+
+ * bindings.el (unbury-buffer): Move to window.el.
+
+ * window.el (delete-other-windows-vertically): Move after
+ definition of delete-other-windows.
+ (other-window, delete-windows-on, replace-buffer-in-windows):
+ Move here from window.c.
+ (record-window-buffer, unrecord-window-buffer)
+ (set-window-buffer-start-and-point, switch-to-prev-buffer)
+ (switch-to-next-buffer): New functions.
+ (get-next-valid-buffer, last-buffer, next-buffer): Move here
+ from simple.el. Call switch-to-next-buffer.
+ (previous-buffer): Move here from simple.el.
+ Call switch-to-prev-buffer.
+ (bury-buffer): Move here from buffer.c. Switch to previous
+ buffer when window cannot be deleted.
+ (unbury-buffer): Move here from bindings.el.
+ (ctl-x-map): Move binding for other-window from window.c to
+ here.
+ (read-buffer-to-switch, switch-to-buffer-other-window)
+ (switch-to-buffer-other-frame): Move here from files.el.
+ (normalize-buffer-to-switch-to): New functions.
+ (switch-to-buffer): Move here from buffer.c.
+ Use read-buffer-to-switch and normalize-buffer-to-switch-to.
+
+2011-06-10 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (window-min-height, window-min-width): Move here
+ from window.c. Add defcustoms and rewrite doc-strings.
+ (resize-mini-window, resize-window): New functions.
+ (adjust-window-trailing-edge, enlarge-window, shrink-window):
+ Move here from window.c.
+ (maximize-window, minimize-window): New functions.
+ (delete-window, delete-other-windows, split-window): Move here
+ from window.c.
+ (window-split-min-size): New function.
+ (split-window-keep-point): Mention split-window-above-each-other
+ instead of split-window-vertically.
+ (split-window-above-each-other, split-window-vertically):
+ Rename split-window-vertically to split-window-above-each-other and
+ provide defalias for old definition.
+ (split-window-side-by-side, split-window-horizontally): Rename
+ split-window-horizontally to split-window-side-by-side and provide
+ defalias for the old definition.
+ (ctl-x-map): Move bindings for delete-window,
+ delete-other-windows and enlarge-window here from window.c.
+ Replace bindings for split-window-vertically and
+ split-window-horizontally by bindings for
+ split-window-above-each-other and split-window-side-by-side.
+
+ * cus-start.el (all): Remove entries for window-min-height and
+ window-min-width. Add entries for window-splits and
+ window-nest.
+
+2011-06-09 Glenn Morris <rgm@gnu.org>
+
+ * calendar/appt.el (appt-mode-line): New function.
+ (appt-check, appt-disp-window): Use it.
+
+ * files.el (hack-one-local-variable-eval-safep):
+ Allow minor-modes with explicit +/-1 arguments.
+
+2011-06-09 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * term/xterm.el (xterm): Add defgroup.
+ (xterm-extra-capabilities): Add defcustom to supply known xterm
+ capabilities, skip querying them, or query them (default).
+ (terminal-init-xterm): Use it.
+ (terminal-init-xterm-modify-other-keys): New function to set up
+ modifyOtherKeys support to simplify `terminal-init-xterm'.
+
+2011-06-09 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (resize-window-reset, resize-window-reset-1)
+ (resize-subwindows-skip-p, resize-subwindows-normal)
+ (resize-subwindows, resize-other-windows, resize-this-window)
+ (resize-root-window, resize-root-window-vertically)
+ (window-deletable-p, window-or-subwindow-p)
+ (frame-root-window-p): New functions.
+
+2011-06-09 Glenn Morris <rgm@gnu.org>
+
+ * net/ange-ftp.el (ange-ftp-switches-ok): New function.
+ (ange-ftp-get-files): Use it.
+
+2011-06-09 Alexander Klimov <alserkli@inbox.ru> (tiny change)
+
+ * mail/sendmail.el (mail-recover-1, mail-recover):
+ * files.el (recover-file, recover-session):
+ Handle dired-listing-switches not being just a single short option.
+
+2011-06-09 Glenn Morris <rgm@gnu.org>
+
+ * calendar/appt.el (appt-display-message, appt-disp-window):
+ Handle lists of appointments.
+
+2011-06-08 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (one-window-p): Move down in code.
+ Rewrite doc-string.
+ (window-current-scroll-bars): Rewrite doc-string.
+ Normalize live window argument.
+ (walk-windows, get-window-with-predicate, count-windows):
+ Rewrite doc-string. Use window-list-1.
+ (window-in-direction-2, window-in-direction, get-mru-window):
+ New functions.
+
+2011-06-08 Reuben Thomas <rrt@sc3d.org>
+
+ * progmodes/flymake.el (flymake-compilation-prevents-syntax-check):
+ Doc fix (Bug#8713).
+
+2011-06-08 Chong Yidong <cyd@stupidchicken.com>
+
+ * repeat.el (repeat-on-final-keystroke): Fix type (Bug#8696).
+
+2011-06-08 Juanma Barranquero <lekktu@gmail.com>
+
+ * loadhist.el (unload-feature-special-hooks):
+ Add `comint-output-filter-functions'.
+
+2011-06-08 Ivan Kanis <gnu@kanis.fr>
+
+ * calendar/appt.el (appt-check): Move some initializations into the let.
+
+2011-06-08 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (window-height): Defalias to window-total-height.
+ (window-width): Defalias to window-body-width.
+
+2011-06-07 Chong Yidong <cyd@stupidchicken.com>
+
+ * image-mode.el (image-toggle-animation): New command.
+ (image-mode-map): Bind it to RET.
+ (image-mode): Update message.
+ (image-toggle-display-image): Avoid a spurious cache flush.
+ (image-transform-rotation): Doc fix.
+ (image-transform-properties): Return quickly in the normal case.
+ (image-animate-loop): Rename from image-animate-max-time.
+
+ * image.el (image-animate-max-time): Move to image-mode.el.
+ (create-animated-image): Remove unnecessary function.
+ (image-animate): Rename from image-animate-start. New arg.
+ (image-animate-stop): Remove; just use image-animate-timer.
+ (image-animate-timer): Use car-safe.
+ (image-animate-timeout): Rename argument.
+
+2011-06-07 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (get-lru-window, get-largest-window): Move here from
+ window.c. Rename first argument to ALL-FRAMES.
+ Rephrase doc-strings.
+ (get-buffer-window-list): Rewrite using window-list-1.
+ Rephrase doc-string.
+ (window-safe-min-height, window-safe-min-width): New constants.
+ (window-size-ignore, window-min-size, window-min-size-1)
+ (window-sizable, window-sizable-p, window-size-fixed-1)
+ (window-size-fixed-p, window-min-delta-1, window-min-delta)
+ (window-max-delta-1, window-max-delta, window-resizable)
+ (window-resizable-p, window-total-height, window-total-width)
+ (window-body-width): New functions.
+ (window-full-height-p, window-full-width-p): Rewrite using
+ window-total-size.
+ (window-body-height): Rewrite using window-body-size.
+
+2011-06-06 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (window-right, window-left, window-child)
+ (window-child-count, window-last-child, window-any-p)
+ (normalize-live-buffer, normalize-live-frame)
+ (normalize-any-window, normalize-live-window)
+ (window-iso-combination-p, window-iso-combined-p)
+ (window-iso-combinations)
+ (walk-window-tree-1, walk-window-tree, walk-window-subtree)
+ (windows-with-parameter, window-with-parameter)
+ (window-atom-root, make-window-atom, window-atom-check-1)
+ (window-atom-check, window-side-check, window-check):
+ New functions.
+ (ignore-window-parameters, window-sides, window-sides-vertical)
+ (window-sides-slots): New variables.
+ (window-size-fixed): Move down in code. Minor doc-string fix.
+
+2011-06-05 Andreas Schwab <schwab@linux-m68k.org>
+
+ * comint.el (comint-dynamic-complete-as-filename)
+ (comint-dynamic-complete-filename): Correctly call
+ completion-in-region.
+
+2011-06-05 Deniz Dogan <deniz@dogan.se>
+
+ * net/rcirc.el (rcirc-prompt-for-encryption): Fix bug introduced
+ in last change.
+
+2011-06-05 Deniz Dogan <deniz@dogan.se>
+
+ * net/rcirc.el (rcirc-prompt-for-encryption): New function.
+ (rcirc): Use it to prompt for encryption.
+
+2011-06-05 Roland Winkler <winkler@gnu.org>
+
+ * textmodes/bibtex.el (bibtex-search-buffer): New variable.
+ (bibtex-search-entries): New command bound to C-c C-a.
+ (bibtex-display-entries): New function.
+
+2011-06-05 Roland Winkler <winkler@gnu.org>
+
+ * textmodes/bibtex.el (bibtex-generate-url-list): Fix docstring.
+ (bibtex-insert-kill): After yanking insert newline if necessary.
+ (bibtex-initialize): Call bibtex-string-files-init only once.
+ (bibtex-mode): Do not call easy-menu-add.
+ (bibtex-validate-globally): Use save-excursion in bibtex buffers.
+ (bibtex-yank): Set arg properly if nil.
+
+2011-06-05 Roland Winkler <winkler@gnu.org>
+
+ * textmodes/bibtex.el (bibtex-search-entry-globally):
+ New variable.
+ (bibtex-search-entry): Use it.
+
+2011-06-05 Roland Winkler <winkler@gnu.org>
+
+ * textmodes/bibtex.el (bibtex-entry-format): New option
+ sort-fields.
+ (bibtex-format-entry, bibtex-reformat): Honor this option.
+ (bibtex-parse-entry): Return fields in proper order.
+
+2011-06-05 Juanma Barranquero <lekktu@gmail.com>
+
+ * doc-view.el (doc-view-remove-if): Move computation of result out
+ of `dolist' to silence misleading lexical-binding warning.
+
+2011-06-04 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/timer.el (timer-activate): Remove unused arg.
+ (timer-activate, timer-activate-when-idle): Doc fix (Bug#8793).
+
+2011-06-04 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-find-shell): Apply workaround also for
+ "SunOS 5.10".
+
+2011-06-04 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-set-completion-function, tramp-parse-rhosts)
+ (tramp-parse-shosts, tramp-parse-sconfig, tramp-parse-shostkeys)
+ (tramp-parse-hosts, tramp-parse-passwd, tramp-parse-netrc)
+ (tramp-parse-putty):
+ * net/tramp-sh.el (tramp-completion-function-alist-rsh)
+ (tramp-completion-function-alist-ssh)
+ (tramp-completion-function-alist-telnet)
+ (tramp-completion-function-alist-su)
+ (tramp-completion-function-alist-putty): Set `tramp-autoload'
+ cookie.
+
+ * net/tramp-ftp.el:
+ * net/tramp-sh.el:
+ * net/tramp-smb.el: Set `tramp-autoload' cookie, and eval after
+ load "tramp.el" `tramp-set-completion-function'.
+
+2011-06-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * shell.el: Require and use pcomplete.
+ (shell-dynamic-complete-functions): Add pcomplete-completions-at-point.
+ (shell-completion-vars): Set pcomplete-default-completion-function.
+
+2011-06-04 Deniz Dogan <deniz@dogan.se>
+
+ * iswitchb.el (iswitchb-window-buffer-p): Use `member' instead of
+ `memq' (Bug#8799).
+
+2011-06-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (make-progress-reporter): Add "..." by default (bug#8785).
+
+2011-06-02 Juanma Barranquero <lekktu@gmail.com>
+
+ * bs.el (bs--mark-unmark, bs--nth-wrapper):
+ * mpc.el (mpc-select-extend, mpc-songpointer-context):
+ * vc/log-view.el (log-view-beginning-of-defun):
+ * vc/smerge-mode.el (smerge-apply-resolution-patch)
+ (smerge-refine-forward, smerge-refine-chopup-region):
+ Silence warning for unused `dotimes' counter variables.
+
+2011-06-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * net/tramp.el (tramp-with-progress-reporter): Rename from
+ with-progress-reporter. Use `declare'.
+ * net/tramp-smb.el:
+ * net/tramp-sh.el:
+ * net/tramp-gvfs.el: Update all uses.
+
+2011-06-02 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc.el (calc-kill-stack-buffer): Make sure that the trail
+ buffer isn't killed before making it current.
+
+2011-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Silence various byte-compiler warnings.
+ * emacs-lisp/byte-run.el (make-obsolete-variable): New argument
+ `access-type' and new obsolescence format.
+ * emacs-lisp/bytecomp.el (byte-compile-warn-obsolete): Adjust to
+ new format.
+ (byte-compile-check-variable): New `access-type' argument.
+ Only warn if the access-type is obsolete.
+ (byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
+ (byte-compile-variable-set): Adjust callers.
+ * help-fns.el (describe-variable): Adjust to new obsolescence format.
+ * mail/sendmail.el (mail-mailer-swallows-blank-line): Only mark
+ setting it as obsolete.
+ * simple.el (minibuffer-completing-symbol):
+ * font-lock.el (font-lock-beginning-of-syntax-function): Only mark read
+ access as obsolete.
+ * minibuffer.el (minibuffer-completing-file-name): Don't make it
+ obsolete yet.
+ * international/quail.el (quail-mouse-choose-completion): Remove unused
+ code referring to obsolete var.
+ (quail-choose-completion-string): Remove.
+ * server.el (server-clients-with, server-kill-buffer-query-function)
+ (server-kill-emacs-query-function): Silence "unused `proc'" warnings.
+ * proced.el (proced-send-signal):
+ * emacs-lisp/lisp.el (lisp-complete-symbol):
+ Replace completion-annotate-function with completion-extra-properties.
+
+2011-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * simple.el (goto-line): Use read-number.
+ (overriding-map-is-bound): Remove.
+ (saved-overriding-map): Change default.
+ (save&set-overriding-map): Rename from ensure-overriding-map-is-bound;
+ Take the map as argument.
+ (universal-argument, negative-argument, digit-argument): Use it.
+ (restore-overriding-map): Adjust.
+ (do-auto-fill): Use fill-forward-paragraph.
+ (keyboard-quit): Don't signal an error when debug-on-quit is non-nil.
+
+ * minibuffer.el (minibuffer-inactive-mode-map): New var.
+ (minibuffer-inactive-mode): New major mode.
+ * mouse.el (mouse-drag-region): Remove the "mouse-1 pops up
+ the *Messages* buffer" hack.
+ (mouse-popup-menubar): Don't burp if the event is a normal key.
+
+ Miscellaneous tweaks.
+ * emacs-lisp/cl-macs.el (dolist, dotimes): Use the same strategy for
+ lexical scoping as in subr.el's dolist and dotimes.
+ * emacs-lisp/bytecomp.el (byte-compile-unfold-bcf):
+ Silence compiler warning.
+ * thingatpt.el (forward-whitespace): Trivial coding style fix.
+ * subr.el (with-output-to-temp-buffer): Provide an edebug spec.
+ * international/ccl.el (ccl-compile): Trivial simplification.
+ * help-fns.el (help-do-arg-highlight): Silence compiler warning.
+ * emacs-lisp/testcover.el (testcover-end): Remove spurious
+ `printflag' argument.
+ * emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable):
+ Purecopy the whole obsolescence data.
+
+2011-06-01 Leo Liu <sdl.web@gmail.com>
+
+ * net/rcirc.el (rcirc-decode-coding-system): Revert last change;
+ improve doc-string as suggested by Marco Pessotto
+ <melmothx@gmail.com>.
+ (rcirc-print): Fix last change.
+
+2011-05-31 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (complete-with-action): Return nil for the metadata and
+ boundaries of non-functional tables.
+ (completion-table-dynamic): Return nil for the metadata.
+ (completion-table-with-terminator): Add default case, using
+ complete-with-action.
+ (completion--metadata): New function.
+ (completion-all-sorted-completions, minibuffer-completion-help): Use it
+ to try and avoid pathological performance problems.
+ (completion--embedded-envvar-table): Return `category' metadata.
+
+2011-05-31 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * subr.el (process-alive-p): New tiny convenience function.
+
+2011-05-31 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/debug.el (debug): Save&restore not just the buffer's
+ content but also its previous major mode.
+
+2011-05-31 Helmut Eller <eller.helmut@gmail.com>
+
+ * debug.el (debug): Restore the previous content of the
+ *Backtrace* buffer when we exit with C-M-c.
+
+2011-05-31 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el: Add metadata method to completion tables.
+ (completion-category-overrides): New defcustom.
+ (completion-metadata, completion--field-metadata)
+ (completion-metadata-get, completion--styles)
+ (completion--cycle-threshold): New functions.
+ (completion-try-completion, completion-all-completions):
+ Add `metadata' argument to choose completion-styles.
+ (completion--do-completion): Use metadata to choose cycling.
+ (completion-all-sorted-completions): Use metadata for sorting.
+ Remove :completion-cycle-penalty which is not needed any more.
+ (completion--try-word-completion): Add `metadata' argument.
+ (minibuffer-completion-help): Check metadata for annotation function
+ and sorting.
+ (completion-file-name-table): Return `category' metadata.
+ (minibuffer-completing-file-name): Make obsolete.
+ * simple.el (minibuffer-completing-symbol): Make obsolete.
+ * icomplete.el (icomplete-completions): Pass new `metadata' param to
+ completion-try-completion.
+
+2011-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * mail/smtpmail.el (smtpmail-send-data): Add progress reporter.
+
+2011-05-30 Leo Liu <sdl.web@gmail.com>
+
+ * net/rcirc.el (rcirc-debug-buffer): Use visible buffer name.
+ (rcirc-print): Decode all incoming messages (bug#8744).
+ (rcirc-decode-coding-system): Allow value nil for automatic coding
+ system detection.
+
+2011-06-01 Glenn Morris <rgm@gnu.org>
+
+ * mail/emacsbug.el (report-emacs-bug-hook): Mailclient ignores From.
+
+2011-05-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * image.el (image-animate-max-time): Allow nil and t values.
+ Default to nil.
+ (create-animated-image): Doc fix.
+ (image-animate-start): Remove second arg; just use
+ image-animate-max-time.
+ (image-animate-timeout): Doc fix. Args changed.
+
+ * image-mode.el (image-toggle-display-image): Ensure that the
+ image spec passed to the animate timer is the same object as in
+ the the buffer's display property (Bug#6981).
+ (image-transform-properties): Doc fix.
+
+ * image.el (image-animate-max-time): Default to nil.
+
+2011-05-29 Martin Rudalics <rudalics@gmx.at>
+
+ * menu-bar.el (kill-this-buffer-enabled-p): Avoid looping over
+ entire buffer list (Bug#8184).
+
+2011-05-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * image.el (imagemagick-types-inhibit)
+ (imagemagick-register-types): Doc fix.
+
+2011-05-29 Deniz Dogan <deniz@dogan.se>
+
+ * net/rcirc.el (rcirc): Use the user's stored encryption method by
+ default.
+
+2011-05-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * select.el: Don't perform clipboard-manager saving in hooks;
+ leave the hooks empty.
+
+2011-05-28 Leo Liu <sdl.web@gmail.com>
+
+ * replace.el (occur-menu-map, occur-edit-mode-map): New vars.
+ (occur-mode-map): Bind occur-edit-mode. Use occur-menu-map.
+ (occur-edit-mode): New major mode (Bug#8463).
+ (occur-after-change-function): New function.
+ (occur-engine): Give Occur tags a read-only property.
+
+2011-05-28 Kevin Ryde <user42@zip.com.au>
+
+ * subr.el (def-edebug-spec): Doc fix (Bug#8430).
+
+2011-05-28 Chong Yidong <cyd@stupidchicken.com>
+
+ * bindings.el (help-echo): Make the initial non-indicator dash
+ empty on graphical terminals (Bug#7295).
+
+ * files.el (auto-mode-alist): Move config rule after the
+ in-stripping one (Bug#8547).
+
+ * newcomment.el (comment-end-skip): Doc fix (Bug#8659).
+
+ * startup.el (normal-splash-screen): Remove gratuitous mode-line
+ setting (Bug#8740).
+
+2011-05-28 Alp Aker <aker@pitt.edu> (tiny change)
+
+ * buff-menu.el (Buffer-menu-revert-function, Buffer-menu-sort)
+ (Buffer-menu-buffer+size): Use Buffer-menu-buffer-column
+ (Bug#8539).
+
+2011-05-28 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/re-builder.el (re-builder): Improve doc (Bug#8286).
+
+2011-05-28 Dima Kogan <dkogan@cds.caltech.edu> (tiny change)
+
+ * progmodes/hideshow.el (hs-looking-at-block-start-p): New fun.
+ (hs-hide-block-at-point, hs-find-block-beginning)
+ (hs-already-hidden-p, hs-hide-block, hs-show-block): Use it
+ (Bug#8279).
+
+2011-05-28 Glenn Morris <rgm@gnu.org>
+
+ * startup.el (fancy-about-screen): Use standard mode line. (Bug#8740)
+
+2011-05-28 Chong Yidong <cyd@stupidchicken.com>
+
+ * help-fns.el (describe-function-1): If the function is a derived
+ major mode, print the parent mode.
+
+ * progmodes/cc-mode.el (c-mode, c++-mode, objc-mode, java-mode)
+ (idl-mode, pike-mode, awk-mode): Inherit from prog-mode.
+
+2011-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion--capf-wrapper): Check applicability before
+ retuning non-nil for non-exclusive completion data.
+ * progmodes/etags.el (tags-completion-at-point-function):
+ * info-look.el (info-lookup-completions-at-point): Mark as
+ non-exclusive.
+ (info-complete): Adjust accordingly.
+
+ * info-look.el: Convert to lexical-binding and completion-at-point.
+ (info-lookup-completions-at-point): New function.
+ (info-complete): Use it and completion-in-region.
+
+2011-05-28 Drew Adams <drew.adams@oracle.com>
+
+ * isearch.el: Let M-e start with point at the first mismatched char.
+ (isearch-fail-pos): New function.
+ (isearch-edit-string): Use it.
+
+2011-05-28 Dmitry Kurochkin <dmitry.kurochkin@gmail.com> (tiny change)
+
+ * isearch.el (isearch-range-invisible): Use invisible-p (bug#8721).
+
+2009-11-23 Toby Cubitt <toby-predictive@dr-qubit.org>
+
+ * emacs-lisp/avl-tree.el: New avl-tree-stack datatype. Add new
+ traversal functions for avl-trees.
+ (avl-tree--stack): New struct.
+ (avl-tree-stack-p, avl-tree--stack-repopulate): New funs.
+ (avl-tree-enter): Add optional `updatefun' arg.
+ (avl-tree--do-enter): Add optional `updatefun' arg.
+ Change return value.
+ (avl-tree-delete): Add optional `test' and `nilflag' args.
+ (avl-tree--do-delete): Add `test' and `nilflag' args.
+ Change return value.
+ (avl-tree-member): Add optional `nilflag'
+ (avl-tree-member-p): New function.
+ (avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar): New functions.
+ (avl-tree-stack, avl-tree-stack-pop, avl-tree-stack-first)
+ (avl-tree-stack-empty-p): New functions.
+
+2009-11-23 Toby Cubitt <toby-predictive@dr-qubit.org>
+
+ * emacs-lisp/avl-tree.el (avl-tree--del-balance): Rename from
+ avl-tree--del-balance1 and make it work both ways.
+ (avl-tree--del-balance2): Remove.
+ (avl-tree--enter-balance): Rename from avl-tree--enter-balance1 and
+ make it work both ways.
+ (avl-tree--enter-balance2): Remove.
+ (avl-tree--switch-dir, avl-tree--dir-to-sign, avl-tree--sign-to-dir):
+ New macros.
+ (avl-tree--mapc, avl-tree-map): Add direction argument.
+
+2011-05-27 David Michael <fedora.dm0@gmail.com> (tiny change)
+
+ * files.el (interpreter-mode-alist): Add rbash (bug#8745).
+
+2011-05-27 Chong Yidong <cyd@stupidchicken.com>
+
+ * select.el: Support clipboard managers with built-in function
+ x-clipboard-manager-save, via delete-frame-functions and
+ kill-emacs-hook.
+ (xselect-convert-to-targets): Add MULTIPLE target to list.
+ (xselect-convert-to-save-targets): New function.
+
+2011-05-27 Kenichi Handa <handa@m17n.org>
+
+ * mail/sendmail.el (mail-encode-header): Avoid double encoding by
+ let-binding rfc2047-encode-encoded-words to nil.
+
+2011-05-27 Glenn Morris <rgm@gnu.org>
+
+ * mail/emacsbug.el: Don't require url-util.
+
+ * shell.el (shell-directory-tracker): Case matters. (Bug#8735)
+
+ * files.el (set-auto-mode):
+ Also respect mode: entries at the end of the file. (Bug#8586)
+
+2011-05-26 Glenn Morris <rgm@gnu.org>
+
+ * files.el (hack-local-variables-prop-line, hack-local-variables):
+ Downcase mode names, as seems to be traditional.
+ (hack-local-variables, hack-local-variables-apply): Doc fixes.
+
+ * mail/emacsbug.el (report-emacs-bug): Mention checking From address.
+ (report-emacs-bug-hook): Try to validate the From address. (Bug#8038)
+
+2011-05-25 Julien Danjou <julien@danjou.info>
+
+ * textmodes/rst.el (rst-define-level-faces): Do not define face
+ symbol if it is already defined.
+
+2011-05-24 Vincent Belaïche <vincentb1@users.sourceforge.net>
+
+ * play/5x5.el (5x5-new-game, 5x5-randomize):
+ Reset 5x5-solver-output to nil when a new grid is cast.
+ (5x5-log-init, 5x5-log): Use defsubst instead of defmacro to shunt
+ these debugging traces, as defmacro breaks the compiled code.
+
+2011-05-24 Dmitry Kurochkin <dmitry.kurochkin@gmail.com> (tiny change)
+
+ * isearch.el (isearch-range-invisible): Use invisible-p (bug#8721).
+
+2011-05-24 Leo Liu <sdl.web@gmail.com>
+
+ * vc/vc-bzr.el (vc-bzr-sha1-program): Rename from sha1-program.
+ (vc-bzr-sha1): Adapt.
+
+ * sha1.el: Remove. Function `sha1' is now builtin.
+
+ * bindings.el: Provide sha1 feature.
+
+2011-05-24 Kenichi Handa <handa@m17n.org>
+
+ * mail/sendmail.el: Require `rfc2047'.
+ (mail-insert-from-field): Do not perform RFC2047 encoding.
+ (mail-encode-header): New function.
+ (sendmail-send-it): Set buffer-file-coding-system of the work
+ buffer to the return value of select-message-coding-system.
+ Call mail-encode-header.
+
+ * mail/smtpmail.el (smtpmail-send-it): Call mail-encode-header.
+
+2011-05-24 Sean Neakums <sneakums@zork.net> (tiny change)
+
+ * mail/supercite.el (sc-default-cite-frame):
+ Handle sc-nested-citation-p when sc-cite-blank-lines-p is non-nil.
+
+2011-05-24 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/python.el (brm-menu): Declare.
+
+ * emulation/viper.el (viper-set-hooks): Declare.
+
+ * play/5x5.el (5x5-log-init, 5x5-log): Evaluate when compiling.
+ (5x5-log-init, 5x5-log, 5x5-solver): Doc fixes.
+ (math-map-vec, math-sub, math-mul, math-make-intv, math-reduce-vec)
+ (math-format-number, math-pow, calcFunc-arrange, calcFunc-cvec)
+ (calcFunc-diag, calcFunc-trn, calcFunc-inv, calcFunc-mrow)
+ (calcFunc-mcol, calcFunc-vconcat, calcFunc-index): Declare.
+
+2011-05-24 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Add an :exit-function for completion-at-point.
+
+ * minibuffer.el (completion--done): New fun.
+ (completion--do-completion): Use it. New arg `expect-exact'.
+ (minibuffer-complete, minibuffer-complete-word): Don't output message,
+ since completion--do-completion does it for us now.
+ (minibuffer-force-complete): Use completion--done and
+ completion--replace. Handle sole-completion case with more care.
+ (minibuffer-complete-and-exit): Use new `expect-exact' arg.
+ (completion-extra-properties): New var.
+ (completion-annotate-function): Make obsolete.
+ (minibuffer-completion-help): Adjust accordingly.
+ Use completion-list-insert-choice-function.
+ (completion-at-point, completion-help-at-point):
+ Bind completion-extra-properties.
+ (completion-pcm-word-delimiters): Add | (for uniquify, for example).
+ * simple.el (completion-list-insert-choice-function): New var.
+ (completion-setup-function): Preserve it.
+ (choose-completion): Pay attention to it, shuffle the code a bit.
+ (choose-completion-string): New arg `insert-function'.
+
+ * textmodes/bibtex.el: Convert to lexical binding.
+ (bibtex-mode-map): Use completion-at-point.
+ (bibtex-mode): Use define-derived-mode&completion-at-point-functions.
+ (bibtex-completion-at-point-function): New fun, from bibtex-complete.
+ (bibtex-complete): Define as obsolete alias.
+ (bibtex-complete-internal): Remove.
+ (bibtex-format-entry): Remove unused sub-group in regexp.
+ * shell.el (shell--command-completion-data)
+ (shell-environment-variable-completion):
+ * pcomplete.el (pcomplete-completions-at-point):
+ * comint.el (comint--complete-file-name-data): Use :exit-function
+ instead of completion-table-with-terminator so it also works for
+ choose-completion.
+
+2011-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * <lots-of-files>.el: Don't quote lambda expressions with `quote'.
+
+ * vc/smerge-mode.el (smerge-refine-subst): Don't deactivate the mark
+ (bug#8710).
+
+ * emacs-lisp/lisp.el (up-list): Fix forward movement (bug#8708).
+
+2011-05-23 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-inhibit-auto-fill-on-headline): Create new
+ customization variable and implement: If non-nil, auto-fill will
+ be inhibited while on topic's header line.
+
+2011-05-23 Vincent Belaïche <vincentb1@users.sourceforge.net>
+
+ * play/5x5.el: I/ Add an arithmetic solver to suggest positions to
+ click on. II/ Make 5x5 multisession. III/ Ensure that random grids
+ always have a solution in grid size = 5 cases.
+ (5x5-mode-map): Add keybinding to function `5x5-solve-suggest'.
+ (5x5-solver-output, 5x5-log-buffer): New vars.
+ (5x5-grid, 5x5-x-pos, 5x5-y-pos, 5x5-moves, 5x5-cracking):
+ Make these variables buffer local to achieve 5x5 multi-session-ness.
+ (5x5): Set 5x5-grid-size only if SIZE is non-negative.
+ (5x5-grid-to-vec, 5x5-vec-to-grid, 5x5-log-init, 5x5-log, 5x5-solver)
+ (5x5-solve-suggest): New funs.
+ (5x5-randomize): Use 5x5-make-move instead of 5x5-flip-cell to
+ randomize a grid so that we ensure that there is always a solution.
+ (5x5-make-random-grid): Allow other movement than flipping.
+
+2011-05-23 Kevin Ryde <user42@zip.com.au>
+
+ * emacs-lisp/advice.el (ad-read-advised-function):
+ Use `function-called-at-point' as the default default, if it has
+ advice and passes PREDICATE.
+
+2011-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/bytecomp.el (byte-compile-function-form): Only call
+ byte-compile-lambda if it's actually a lambda.
+
+ * emacs-lisp/eieio.el (eieio-defgeneric-form-primary-only-one):
+ Fix function quoting. Use backquote better.
+
+2011-05-22 Yuanle Song <sylecn@gmail.com>
+
+ * nxml/rng-xsd.el (rng-xsd-check-pattern): Use case-sensitive
+ matching (Bug#8516).
+
+2011-01-22 Jari Aalto <jari.aalto@cante.net>
+
+ * vc/vc-dir.el (vc-default-dir-printer): Give edited tag a
+ different face (Bug#8178).
+
+2011-05-22 Chong Yidong <cyd@stupidchicken.com>
+
+ * vc/diff-mode.el (diff-changed): Don't use terminal specs for
+ defface (Bug#8144).
+
+2011-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/macroexp.el (macroexpand-all-1): Convert ' to #' for
+ funcall as well (bug#8712). Warn when performing those conversions.
+ * emacs-lisp/bytecomp.el (byte-compile-form): Fix error report.
+
+ * progmodes/grep.el (grep-mode): Fix it for good (bug#8684)!
+
+2011-05-22 Glenn Morris <rgm@gnu.org>
+
+ * files.el (hack-local-variables-prop-line): Small simplifications.
+ (hack-local-variables, hack-local-variables-prop-line):
+ If MODE-ONLY, return the mode, rather than just `t'.
+
+2011-05-21 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/grep.el (grep-mode): Fix last change (bug#8684).
+
+2011-05-21 Glenn Morris <rgm@gnu.org>
+
+ * files.el (hack-local-variables-prop-line, hack-local-variables):
+ If only interested in the mode, don't bother doing the other stuff.
+
+ * image-mode.el (image-after-revert-hook):
+ Redraw all frames on which the image is visible. (Bug#8567)
+
+ * dired-aux.el (dired-touch-initial): Just use current-time. (Bug#6887)
+
+ * wid-edit.el (widget-checklist-match-inline):
+ Fix 2011-04-19 change. (Bug#8649)
+
+2011-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/checkdoc.el (checkdoc-sentencespace-region-engine):
+ Also allow singlespace after single-letter capitals followed by a dot.
+
+ * nxml/nxml-mode.el (nxml-electric-slash): Reindent when completion is
+ enabled. Suggested by James Ahlborn <jahlborn@gmail.com> (bug#8704).
+
+2011-05-20 Nix <nix@esperi.org.uk>
+
+ * files.el (basic-save-buffer-2):
+ Fix handling of break-hardlink-on-save with non-existent files.
+
+2011-05-19 Deniz Dogan <deniz@dogan.se>
+
+ * net/rcirc.el (rcirc-mode): Initialize rcirc-urls to nil.
+ (rcirc-markup-urls): Check if rcirc-url-regexp is nil.
+
+2011-05-19 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/f90.el (f90-type-def-re):
+ Handle "type, bind(c)". (Bug#8691)
+
+ * emacs-lisp/autoload.el (batch-update-autoloads):
+ Set autoload-excludes by parsing loadup.el rather than Makefiles.
+
+2011-05-18 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-process-actions): Set "first-password-request"
+ property for the correct connection in case of multihops.
+
+2011-05-18 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/authors.el (authors-fixed-entries): Remove fakemail.c.
+ * mail/sendmail.el (sendmail-program): Fall back to just "sendmail".
+
+ Rationalize calendar handling of day and month abbrev-arrays.
+ * calendar/calendar.el (calendar-customized-p): New function.
+ (calendar-abbrev-construct, calendar-make-alist): Change what it does.
+ (calendar-day-name-array, calendar-month-name-array): Doc fix.
+ Add :set function.
+ (calendar-abbrev-length, calendar-day-abbrev-array)
+ (calendar-month-abbrev-array): Make defcustoms, with appropriate :set.
+ (calendar-day-abbrev-array, calendar-month-abbrev-array):
+ Elements may no longer be nil.
+ (calendar-day-name, calendar-month-name):
+ Update for changed nature of abbrev arrays.
+ * calendar/diary-lib.el (diary-name-pattern):
+ Update for changed nature of abbrev arrays.
+ (diary-mark-entries-1): Update calendar-make-alist calls.
+ (diary-font-lock-date-forms): Doc fix for changed abbrev arrays.
+ * calendar/cal-html.el (cal-html-day-abbrev-array):
+ Simply inherit from calendar-day-abbrev-array.
+
+2011-05-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/grep.el (grep-mode): Disable default
+ compilation-directory-matcher setting (bug#8684).
+
+2011-05-17 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-handle-insert-file-contents): Use "dd"
+ instead of "head" and "tail". There were problems with SunOS 5.9,
+ and it performs better.
+
+2011-05-17 Glenn Morris <rgm@gnu.org>
+
+ * mail/mail-utils.el (mail-dont-reply-to): Silence compiler.
+
+ * progmodes/idlw-shell.el (idlwave-shell-complete-filename):
+ Replace obsolete function.
+
+ * shell.el (pcomplete-parse-arguments-function): Declare.
+
+ * calendar/appt.el (appt-message-warning-time, appt-display-mode-line)
+ (appt-display-diary, appt-display-interval, appt-prev-comp-time)
+ (appt-check): Doc fixes.
+ (appt-disp-window-function, appt-delete-window-function):
+ Remove needless special case in custom :type.
+ (appt-display-count): Default to 0, not nil.
+ (appt-check): Reset appt-display-count to 0, not nil.
+
+2011-05-17 Juanma Barranquero <lekktu@gmail.com>
+
+ * progmodes/python.el (python-font-lock-keywords):
+ Add the Python 3.X keyword "nonlocal" (bug#8639).
+
+2011-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/eieio.el (defmethod): Fix quoting of code (bug#8677).
+
+2011-05-16 Kevin Ryde <user42@zip.com.au>
+
+ * info-look.el (makefile-automake-mode): New setups, looking in
+ automake manual, then makefile-mode.
+ (makefile-mode): Remove automake manual, have it just in
+ makefile-automake-mode since there's various things different or
+ not relevant to plain make.
+ (makefile-mode): Remove "other-modes" non-existent automake-mode,
+ believe a hypothetical automake-mode would go to makefile-mode,
+ not the other way around.
+
+2011-05-15 Chong Yidong <cyd@stupidchicken.com>
+
+ * vc/diff-mode.el (diff-fixup-modifs): Locate correct position for
+ hunk-end tags (Bug#8672).
+
+ * vc/vc-annotate.el (vc-annotate-mode-map): Bind = to
+ vc-annotate-show-diff-revision-at-line (Bug#8671).
+
+2011-05-14 Glenn Morris <rgm@gnu.org>
+
+ * vc/add-log.el (add-change-log-entry): Don't start adding a new entry
+ in the middle of an existing one with multiple authors. (Bug#8645)
+ (change-log-font-lock-keywords): Also handle multiple author lines
+ with leading tabs. (Bug#8644)
+
+ * calendar/appt.el (appt-check): Rename some local variables.
+ Some simplification/reordering.
+
+ * mail/feedmail.el (feedmail-confirm-outgoing-timeout)
+ (feedmail-sendmail-f-doesnt-sell-me-out)
+ (feedmail-queue-slug-suspect-regexp, feedmail-debug)
+ (feedmail-debug-sit-for, feedmail-queue-express-hook)
+ (feedmail-queue-runner-message-sender): Set :version.
+ (bbdb-search, bbdb-records, smtp-via-smtp, smtp-server)
+ (bbdb-dwim-net-address, vm-mail): Declare.
+ (feedmail-binmail-gnulinuxish-template):
+ Rename from feedmail-binmail-linuxish-template.
+ (feedmail-buffer-to-smtp, feedmail-vm-mail-mode):
+ Use insert-buffer-substring.
+
+2011-05-14 Bill Carpenter <bill@carpenter.org>
+
+ * mail/feedmail.el (feedmail-patch-level): Increase.
+ (feedmail-debug): New custom group.
+ (feedmail-confirm-outgoing-timeout)
+ (feedmail-sendmail-f-doesnt-sell-me-out)
+ (feedmail-queue-slug-suspect-regexp, feedmail-debug)
+ (feedmail-debug-sit-for, feedmail-queue-express-hook): New options.
+ (feedmail-sender-line, feedmail-from-line)
+ (feedmail-fiddle-headers-upwardly, feedmail-enable-spray)
+ (feedmail-spray-this-address)
+ (feedmail-spray-address-fiddle-plex-list)
+ (feedmail-queue-use-send-time-for-date)
+ (feedmail-queue-use-send-time-for-message-id)
+ (feedmail-last-chance-hook, feedmail-queue-runner-mode-setter)
+ (feedmail-buffer-eating-function):
+ Doc fixes.
+ (feedmail-spray-via-bbdb, feedmail-buffer-to-smtp)
+ (feedmail-vm-mail-mode, feedmail-message-action-scroll-up)
+ (feedmail-message-action-scroll-down): New functions.
+ (feedmail-queue-directory, feedmail-queue-draft-directory):
+ Use expand-file-name.
+ (feedmail-prompt-before-queue-standard-alist): Add scroll entries.
+ Remove C-v help entry.
+ (feedmail-queue-buffer-file-name): New variable.
+ (feedmail-mail-send-hook-splitter, feedmail-buffer-to-binmail)
+ (feedmail-buffer-to-smtpmail, feedmail-queue-express-to-draft)
+ (feedmail-message-action-send-strong, feedmail-message-action-edit)
+ (feedmail-message-action-draft, feedmail-message-action-draft-strong)
+ (feedmail-message-action-queue, feedmail-message-action-queue-strong)
+ (feedmail-message-action-toggle-spray)
+ (feedmail-run-the-queue-no-prompts)
+ (feedmail-run-the-queue-global-prompt, feedmail-queue-reminder)
+ (feedmail-look-at-queue-directory, feedmail-queue-subject-slug-maker)
+ (feedmail-create-queue-filename, feedmail-rfc822-time-zone):
+ (feedmail-fiddle-header, feedmail-give-it-to-buffer-eater)
+ (feedmail-envelope-deducer, feedmail-fiddle-from)
+ (feedmail-fiddle-sender, feedmail-default-date-generator)
+ (feedmail-fiddle-date, feedmail-fiddle-message-id)
+ (feedmail-fiddle-spray-address)
+ (feedmail-fiddle-list-of-spray-fiddle-plexes)
+ (feedmail-fiddle-list-of-fiddle-plexes)
+ (feedmail-fill-to-cc-function, feedmail-fill-this-one)
+ (feedmail-one-last-look, feedmail-fqm-p): Add debug calls.
+ (feedmail-queue-runner-message-sender, feedmail-binmail-template):
+ Change default. Doc fix.
+ (feedmail-queue-runner-cleaner-upper): Use feedmail-say-chatter.
+ (feedmail-binmail-linuxish-template): New constant.
+ (feedmail-buffer-to-sendmail): Doc fix. Add debug call.
+ Respect feedmail-sendmail-f-doesnt-sell-me-out.
+ (feedmail-send-it): Add debug call.
+ Use feedmail-queue-buffer-file-name, and
+ feedmail-send-it-immediately-wrapper.
+ (feedmail-message-action-send): Add debug call.
+ Use feedmail-send-it-immediately-wrapper.
+ (feedmail-queue-express-to-queue): Add debug call.
+ Run feedmail-queue-express-hook.
+ (feedmail-message-action-help): Add debug call. Use feedmail-p-h-b-n.
+ (feedmail-message-action-help-blat):
+ Rename from feedmail-queue-send-edit-prompt-help-first.
+ (feedmail-run-the-queue): Add debug call. Set buffer-file-type.
+ Check line-endings. Handle errors better.
+ (feedmail-queue-reminder-brief, feedmail-queue-reminder-medium):
+ Doc fix. Add debug call.
+ (feedmail-queue-send-edit-prompt): Doc fix. Add debug call.
+ Use feedmail-queue-send-edit-prompt-inner.
+ (feedmail-queue-runner-prompt, feedmail-scroll-buffer): New functions.
+ (feedmail-queue-send-edit-prompt-inner): New function, extracted
+ from feedmail-queue-send-edit-prompt.
+ (feedmail-queue-send-edit-prompt-help)
+ (feedmail-queue-send-edit-prompt-help-later): Remove functions.
+ (feedmail-tidy-up-slug): Add debug call.
+ Respect feedmail-queue-slug-suspect-regexp.
+ (feedmail-queue-subject-slug-maker): Use buffer-substring-no-properties.
+ (feedmail-dump-message-to-queue): Add debug call.
+ Expand queue-directory.
+ (feedmail-dump-message-to-queue): Change message slightly.
+ Use feedmail-say-chatter.
+ (feedmail-rfc822-date): Add debug call. Bind system-time-locale.
+ (feedmail-send-it-immediately-wrapper): New function.
+ (feedmail-send-it-immediately): Add debug calls. Use let not let*.
+ Insert empty string rather than newline. Handle full-frame case.
+ Use catch/throw. Use feedmail-say-chatter.
+ (feedmail-fiddle-from): Try mail-host-address.
+ (feedmail-default-message-id-generator): Doc fix.
+ Bind system-time-locale. Handle missing end.
+ (feedmail-fiddle-x-mailer): Add debug call.
+ Handle feedmail-x-mailer-line being nil.
+ (feedmail-accume-n-nuke-header, feedmail-deduce-address-list):
+ Add debug call. Use buffer-substring-no-properties.
+ (feedmail-say-debug, feedmail-say-chatter): New functions.
+ (feedmail-find-eoh): Give an explicit error.
+
+2011-05-13 Ulf Jasper <ulf.jasper@web.de>
+
+ * net/newst-treeview.el (newsticker-treeview-face): Change default
+ family from helvetica to sans.
+ (newsticker-treeview-tool-bar-map): Move tool-bar icons to
+ etc/images/newsticker.
+
+ * net/newst-reader.el (newsticker-feed-face): Change default
+ family from helvetica to sans.
+
+ * net/newst-plainview.el (newsticker-new-item-face)
+ (newsticker-old-item-face, newsticker-immortal-item-face)
+ (newsticker-obsolete-item-face, newsticker-date-face)
+ (newsticker-statistics-face): Change default family from
+ helvetica to sans.
+ (newsticker--plainview-tool-bar-map): Move tool-bar icons to
+ etc/images/newsticker.
+
+ * net/newst-backend.el (newsticker--do-run-auto-mark-filter),
+ (newsticker--process-auto-mark-filter-match): : Tell user about
+ auto-marking.
+
+2011-05-13 Didier Verna <didier@xemacs.org>
+
+ Common Lisp indentation improvements on defmethod and lambda-lists.
+ * cl-indent.el: Advertise the changes and remove obsolete TODO entries.
+ (lisp-lambda-list-keyword-parameter-indentation)
+ (lisp-lambda-list-keyword-parameter-alignment)
+ (lisp-lambda-list-keyword-alignment): New customizable user options.
+ (lisp-indent-defun-method): Improve docstring.
+ (extended-loop-p): Fix comment.
+ (lisp-indent-lambda-list-keywords-regexp): New variable.
+ (lisp-indent-lambda-list): New function.
+ (lisp-indent-259): Use it.
+ (lisp-indent-defmethod): Support for more than one
+ method qualifier and properly indent methods lambda-lists.
+ (defgeneric): Provide a missing common-lisp-indent-function property.
+
+2011-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * thingatpt.el (bounds-of-thing-at-point): Return nil rather than
+ bounds for the empty string (bug#8667).
+
+2011-05-13 Glenn Morris <rgm@gnu.org>
+
+ * mail/feedmail.el (feedmail-buffer-to-sendmail): Require sendmail.
+
+ * mail/sendmail.el (sendmail-program): Try executable-find first.
+ (sendmail-send-it): `sendmail-program' cannot be unbound.
+
+ * calendar/appt.el (appt-make-list): Simplify.
+ (appt-time-msg-list): Doc fix.
+ (appt-check): Change mode-line message at the time of the appointment.
+
+2011-05-12 Andreas Schwab <schwab@linux-m68k.org>
+
+ * progmodes/ld-script.el (ld-script-keywords)
+ (ld-script-builtins): Update keywords list.
+
+2011-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/grep.el (grep-filter): Don't trip on partial lines.
+
+ * shell.el (shell-completion-vars): New function.
+ (shell-mode):
+ * simple.el (read-shell-command): Use it.
+ (blink-matching-open): No need for " [...]" in minibuffer-message.
+
+2011-05-12 Glenn Morris <rgm@gnu.org>
+
+ * calendar/appt.el (appt-now-displayed): Remove pointless variable.
+ (appt-check): Simplify.
+
+2011-05-12 Eli Zaretskii <eliz@gnu.org>
+
+ * smerge-mode.el (smerge-resolve): Use null-device rather than a
+ literal "/dev/null".
+
+2011-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/lisp.el (lisp-complete-symbol, lisp-completion-at-point):
+ Fix typo.
+
+2011-05-12 Ralph Schleicher <rs@ralph-schleicher.de>
+
+ * progmodes/which-func.el (which-function):
+ Use add-log-current-defun instead of add-log-current-defun-function,
+ which might not be defined (Bug#8260).
+
+2011-05-12 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
+ Let byte-compile-initial-macro-environment always take precedence.
+
+2011-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * net/rcirc.el: Add support for SSL/TLS connections.
+ (rcirc-server-alist): New field `encryption'.
+ (rcirc): Check `encryption' settings.
+ (rcirc-connect): New arg `encryption'. Use open-network-stream.
+ Merge make-local-variable into `set'.
+ (rcirc--connection-open-p): New function.
+ (rcirc-send-string, rcirc-clean-up-buffer): Use it to handle case where
+ the process is not a network process (e.g. running gnutls-cli).
+ (set-rcirc-decode-coding-system, set-rcirc-encode-coding-system):
+ Make rcirc-(en|de)code-coding-system local here.
+ (rcirc-mode): Merge make-local-variable into `set'.
+ (rcirc-parent-buffer): Make permanent buffer-local.
+ (rcirc-multiline-minor-mode): Don't do it here.
+ (rcirc-switch-to-server-buffer): Don't switch to a random buffer if
+ there's no server buffer.
+
+2011-05-11 Glenn Morris <rgm@gnu.org>
+
+ * newcomment.el (comment-kill): Prefix "unused" local.
+
+ * term/w32console.el (get-screen-color): Declare.
+
+ * emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
+ Handle symbol elements of byte-compile-initial-macro-environment.
+
+2011-05-10 Leo Liu <sdl.web@gmail.com>
+
+ * bookmark.el (bookmark-bmenu-mode-map):
+ Bind bookmark-bmenu-search to `/'.
+
+ * mail/footnote.el: Convert to utf-8 encoding.
+ (footnote-unicode-string, footnote-unicode-regexp): New variable.
+ (Footnote-unicode): New function.
+ (footnote-style-alist): Add unicode style to the list.
+ (footnote-style): Doc fix.
+
+2011-05-10 Jim Meyering <meyering@redhat.com>
+
+ Fix doubled-word typos.
+ * international/quail.el (quail-insert-kbd-layout): and and -> and
+ * kermit.el: and and -> and
+ * net/ldap.el (ldap-search-internal): to to -> to
+ * progmodes/vhdl-mode.el (vhdl-offsets-alist): Likewise.
+ * progmodes/js.el (js-mode): and and -> and
+ * textmodes/artist.el (artist-move-to-xy): at at -> at
+ (artist-draw-region-trim-line-endings): if if -> if
+ And Safetyc -> Safety.
+ * textmodes/reftex-dcr.el (reftex-view-crossref): at at -> at a
2011-05-10 Glenn Morris <rgm@gnu.org>
- Stefan Monnier <monnier@iro.umontreal.ca>
+ Stefan Monnier <monnier@iro.umontreal.ca>
* files.el (hack-one-local-variable-eval-safep):
Consider "eval: (foo-mode)" to be safe. (Bug#8613)
- * bidi.c (bidi_cache_fetch_state, bidi_cache_search)
+ 2011-07-14 Eli Zaretskii <eliz@gnu.org>
+
++ Support bidi reordering of display and overlay strings.
++ * xdisp.c (compute_display_string_pos)
++ (compute_display_string_end): Accept additional argument STRING.
++ (init_iterator, reseat_1): Initialize bidi_it->string.s to NULL.
++ (reseat_to_string): Initialize bidi_it->string.s and
++ bidi_it->string.schars.
++ (Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to
++ NULL (avoids a crash in bidi_paragraph_init). Initialize
++ itb.string.lstring.
++ (init_iterator): Call bidi_init_it only of a valid
++ buffer position was specified. Initialize paragraph_embedding to
++ L2R.
++ (reseat_to_string): Initialize the bidi iterator.
++ (display_string): If we need to ignore text properties of
++ LISP_STRING, set IT->stop_charpos to IT->end_charpos. (The
++ original value of -1 will not work with bidi.)
++ (compute_display_string_pos): First arg is now struct
++ `text_pos *'; all callers changed. Support display properties on
++ Lisp strings.
++ (compute_display_string_end): Support display properties on Lisp
++ strings.
++ (init_iterator, reseat_1, reseat_to_string): Initialize the
++ string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS
++ when iterating on a string not from display properties).
++ (compute_display_string_pos, compute_display_string_end): Fix
++ calculation of the object to scan. Fixes an error when using
++ arrow keys.
++ (next_element_from_buffer): Don't abort when IT_CHARPOS is before
++ base_level_stop; instead, set base_level_stop to BEGV. Fixes
++ crashes in vertical-motion.
++ (next_element_from_buffer): Improve commentary for when
++ the iterator is before prev_stop.
++ (init_iterator): Initialize bidi_p from the default value of
++ bidi-display-reordering, not from buffer-local value. Use the
++ buffer-local value only if initializing for buffer iteration.
++ (handle_invisible_prop): Support invisible properties on strings
++ that are being bidi-reordered.
++ (set_iterator_to_next): Support bidi reordering of C strings and
++ Lisp strings.
++ (next_element_from_string): Support bidi reordering of Lisp
++ strings.
++ (handle_stop_backwards): Support Lisp strings as well.
++ (display_string): Support display of R2L glyph rows. Use
++ IT_STRING_CHARPOS when displaying from a Lisp string.
++ (init_iterator): Don't initialize it->bidi_p for strings
++ here.
++ (reseat_to_string): Initialize it->bidi_p for strings here.
++ (next_element_from_string, next_element_from_c_string)
++ (next_element_from_buffer): Add xassert's for correspondence
++ between IT's object being iterated and it->bidi_it.string
++ structure.
++ (face_before_or_after_it_pos): Support bidi iteration.
++ (next_element_from_c_string): Handle the case of the first string
++ character that is not the first one in the visual order.
++ (get_visually_first_element): New function, refactored from common
++ parts of next_element_from_buffer, next_element_from_string, and
++ next_element_from_c_string.
++ (tool_bar_lines_needed, redisplay_tool_bar)
++ (display_menu_bar): Force left-to-right direction. Add a FIXME
++ comment for making that be controlled by a user option.
++ (push_it, pop_it): Save and restore the state of the
++ bidi iterator. Save and restore the bidi_p flag.
++ (pop_it): Iterate out of display property for string iteration as
++ well.
++ (iterate_out_of_display_property): Support iteration over strings.
++ (handle_single_display_spec): Set up it->bidi_it for iteration
++ over a display string, and call bidi_init_it.
++ (handle_single_display_spec, next_overlay_string)
++ (get_overlay_strings_1, push_display_prop): Set up the bidi
++ iterator for displaying display or overlay strings.
++ (forward_to_next_line_start): Don't use the shortcut if
++ bidi-iterating.
++ (back_to_previous_visible_line_start): If handle_display_prop
++ pushed the iterator stack, restore the internal state of the bidi
++ iterator by calling bidi_pop_it same number of times.
++ (reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero,
++ and we are bidi-iterating, don't decrement the iterator position;
++ instead, set the first_elt flag in the bidi iterator, to produce
++ the same effect.
++ (reseat_1): Remove redundant setting of string_from_display_prop_p.
++ (push_display_prop): xassert that we are iterating a buffer.
++ (push_it, pop_it): Save and restore paragraph_embedding member.
++ (handle_single_display_spec, next_overlay_string)
++ (get_overlay_strings_1, reseat_1, reseat_to_string)
++ (push_display_prop): Set up the `unibyte' member of bidi_it.string
++ correctly. Don't assume unibyte strings are not bidi-reordered.
++ (compute_display_string_pos)
++ (compute_display_string_end): Fix handling the case of C string.
++ (push_it, pop_it): Save and restore from_disp_prop_p.
++ (handle_single_display_spec, push_display_prop): Set the
++ from_disp_prop_p flag.
++ (get_overlay_strings_1): Reset the from_disp_prop_p flag.
++ (pop_it): Call iterate_out_of_display_property only if we are
++ popping after iteration over a string that came from a display
++ property. Fix a typo in popping stretch info. Add an assertion
++ for verifying that the iterator position is in sync with the bidi
++ iterator.
++ (handle_single_display_spec, get_overlay_strings_1)
++ (push_display_prop): Fix initialization of paragraph direction for
++ string when that of the parent object is not yet determined.
++ (reseat_1): Call bidi_init_it to resync the bidi
++ iterator with IT's position. (Bug#7616)
++ (find_row_edges): If ROW->start.pos gives position
++ smaller than min_pos, use it as ROW->minpos. (Bug#7616)
++ (handle_stop, back_to_previous_visible_line_start, reseat_1):
++ Reset the from_disp_prop_p flag.
++ (SAVE_IT, RESTORE_IT): New macros.
++ (pos_visible_p, face_before_or_after_it_pos)
++ (back_to_previous_visible_line_start)
++ (move_it_in_display_line_to, move_it_in_display_line)
++ (move_it_to, move_it_vertically_backward, move_it_by_lines)
++ (try_scrolling, redisplay_window, display_line): Use them when
++ saving a temporary copy of the iterator and restoring it back.
++ (back_to_previous_visible_line_start, reseat_1)
++ (init_iterator): Empty the bidi cache "stack".
++ (move_it_in_display_line_to): If iterator ended up at
++ EOL, but we never saw any buffer positions smaller than
++ to_charpos, return MOVE_POS_MATCH_OR_ZV. Fixes vertical cursor
++ motion in bidi-reordered lines.
++ (move_it_in_display_line_to): Record prev_method and prev_pos
++ immediately before the call to set_iterator_to_next. Fixes cursor
++ motion in bidi-reordered lines with stretch glyphs and strings
++ displayed in margins. (Bug#8133) (Bug#8867)
++ Return MOVE_POS_MATCH_OR_ZV only if iterator position is past
++ TO_CHARPOS.
++ (pos_visible_p): Support positions in bidi-reordered lines. Save
++ and restore bidi cache.
++
++ * bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int.
++ (bidi_paragraph_info): Delete unused struct.
++ (bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT.
++ (bidi_cache_start): New variable.
++ (bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not
++ to zero.
++ (bidi_cache_fetch_state, bidi_cache_search)
++ (bidi_cache_find_level_change, bidi_cache_iterator_state)
++ (bidi_cache_find, bidi_peek_at_next_level)
++ (bidi_level_of_next_char, bidi_find_other_level_edge)
++ (bidi_move_to_visually_next): Compare cache index with
++ bidi_cache_start rather than with zero.
++ (bidi_fetch_char): Accept new argument STRING; all callers
++ changed. Support iteration over a string. Support strings with
++ display properties. Support unibyte strings. Fix the type of
++ `len' according to what STRING_CHAR_AND_LENGTH expects.
++ (bidi_paragraph_init, bidi_resolve_explicit_1)
++ (bidi_resolve_explicit, bidi_resolve_weak)
++ (bidi_level_of_next_char, bidi_move_to_visually_next): Support
++ iteration over a string.
++ (bidi_set_sor_type, bidi_resolve_explicit_1)
++ (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit
++ can now be zero (for strings); special values 0 and -1 were
++ changed to -1 and -2, respectively.
++ (bidi_char_at_pos): New function.
++ (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak):
++ Call it instead of FETCH_MULTIBYTE_CHAR.
++ (bidi_move_to_visually_next): Abort if charpos or bytepos were not
++ initialized to valid values.
++ (bidi_init_it): Don't initialize charpos and bytepos with invalid
++ values.
++ (bidi_level_of_next_char): Allow the sentinel "position" to pass
++ the test for valid cached positions. Fix the logic for looking up
++ the sentinel state in the cache. GCPRO the Lisp string we are
++ iterating.
++ (bidi_push_it, bidi_pop_it): New functions.
++ (bidi_initialize): Initialize the bidi cache start stack pointer.
++ (bidi_cache_ensure_space): New function, refactored from part of
++ bidi_cache_iterator_state. Don't assume the required size is just
++ one BIDI_CACHE_CHUNK away.
++ (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE.
++ (bidi_count_bytes, bidi_char_at_pos): New functions.
++ (bidi_cache_search): Don't assume bidi_cache_last_idx is
++ always valid if bidi_cache_idx is valid.
++ (bidi_cache_find_level_change): xassert that bidi_cache_last_idx
++ is valid if it's going to be used.
++ (bidi_shelve_cache, bidi_unshelve_cache): New functions.
++ (bidi_cache_fetch_state, bidi_cache_search)
+ (bidi_cache_find_level_change, bidi_cache_ensure_space)
+ (bidi_cache_iterator_state, bidi_cache_find)
+ (bidi_find_other_level_edge, bidi_cache_start_stack): All
+ variables related to cache indices are now EMACS_INT.
+
++ * dispextern.h (struct bidi_string_data): New structure.
++ (struct bidi_it): New member `string'. Make flag members be 1-bit
++ fields, and put them last in the struct.
++ (compute_display_string_pos, compute_display_string_end): Update
++ prototypes.
++ (bidi_push_it, bidi_pop_it): Add prototypes.
++ (struct iterator_stack_entry): New members bidi_p,
++ paragraph_embedding, and from_disp_prop_p.
++ (struct it): Member bidi_p is now a bit field 1 bit wide.
++ (bidi_shelve_cache, bidi_unshelve_cache): Declare
++ prototypes.
++
++ * .gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector)
++ (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors
++ and vector-like objects.
++
++ * dispnew.c (buffer_posn_from_coords): Save and restore the bidi
++ cache around display iteration.
++
++ * window.c (Fwindow_end, window_scroll_pixel_based)
++ (displayed_window_lines, Frecenter): Save and restore the bidi
++ cache around display iteration.
++
+2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * editfns.c (Fdelete_region): Clarify the use of the named
+ parameters (bug#6788).
+
+2011-07-14 Martin Rudalics <rudalics@gmx.at>
+
+ * indent.c (Fvertical_motion): Set and restore w->pointm when
+ saving and restoring the window's buffer (Bug#9006).
+
+2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * editfns.c (Fstring_to_char): Clarify just what is returned
+ (bug#6576). Text by Eli Zaretskii.
+
+2011-07-13 Juanma Barranquero <lekktu@gmail.com>
+
+ * gnutls.c (init_gnutls_functions): Honor gnutls_log_level (bug#9059).
+
+2011-07-13 Eli Zaretskii <eliz@gnu.org>
+
+ * buffer.c (mmap_find): Fix a typo.
+
+2011-07-13 Johan Bockgård <bojohan@gnu.org>
+
+ Fix execution of x selection hooks.
+ * xselect.c (Qx_lost_selection_functions)
+ (Qx_sent_selection_functions): New vars.
+ (syms_of_xselect): DEFSYM them.
+ (x_handle_selection_request): Pass Qx_sent_selection_functions
+ rather than Vx_sent_selection_functions to Frun_hook_with_args.
+ (x_handle_selection_clear,x_clear_frame_selections):
+ Pass Qx_lost_selection_functions rather than
+ Vx_lost_selection_functions to Frun_hook_with_args.
+
+2011-07-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ * buffer.c (Fget_buffer_create): Initialize inhibit_shrinking.
+ The old code sometimes used this field without initializing it.
+
+ * alloc.c (gc_sweep): Don't read past end of array.
+ In theory, the old code could also have corrupted Emacs internals,
+ though it'd be very unlikely.
+
+2011-07-12 Andreas Schwab <schwab@linux-m68k.org>
+
+ * character.c (Fcharacterp): Don't advertise optional ignored
+ argument. (Bug#4026)
+
+2011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * keymap.c (syms_of_keymap): Clarify that "modifier" is "modifier
+ key" (bug#4257).
+
+ * window.c (Fset_window_start): Doc fix (bug#4199).
+ (Fset_window_hscroll): Ditto.
+
+2011-07-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix minor new problems caught by GCC 4.6.1.
+ * term.c (init_tty): Remove unused local.
+ * xsettings.c (store_monospaced_changed): Define this function only
+ if (defined HAVE_GSETTINGS || defined HAVE_GCONF), as it's
+ not used otherwise.
+
+2011-07-12 Chong Yidong <cyd@stupidchicken.com>
+
+ * xdisp.c (Vresize_mini_windows): Minor doc fix (Bug#3300).
+
+2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * xdisp.c (syms_of_xdisp): Make it explicit that the mini-windows
+ are the mini-buffer and the echo area (bug#3320).
+
+ * term.c (init_tty): Remove support for supdup, c10 and perq
+ terminals, which are no longer supported (bug#1482).
+
+2011-07-10 Johan Bockgård <bojohan@gnu.org>
+
+ * xdisp.c (Ftool_bar_lines_needed): Fix WINDOWP check.
+
+2011-07-10 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event
+ for non-popups (Bug#3642).
+
+2011-07-10 Andreas Schwab <schwab@linux-m68k.org>
+
+ * alloc.c (reset_malloc_hooks): Protoize.
+ * buffer.c (mmap_init, mmap_find, mmap_free_1, mmap_enlarge)
+ (mmap_set_vars, mmap_alloc, mmap_free, mmap_realloc): Likewise.
+ * cm.c (losecursor): Likewise.
+ * data.c (fmod): Likewise.
+ * dispnew.c (swap_glyphs_in_rows): Likewise.
+ * emacs.c (memory_warning_signal): Likewise.
+ * floatfns.c (float_error): Likewise.
+ * font.c (check_gstring, check_otf_features, otf_tag_symbol)
+ (otf_open, font_otf_capability, generate_otf_features)
+ (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
+ Likewise.
+ * image.c (pbm_read_file): Likewise.
+ * indent.c (string_display_width): Likewise.
+ * intervals.c (check_for_interval, search_for_interval)
+ (inc_interval_count, count_intervals, root_interval)
+ (adjust_intervals_for_insertion, make_new_interval): Likewise.
+ * lread.c (defalias): Likewise.
+ * ralloc.c (r_alloc_check): Likewise.
+ * regex.c (set_image_of_range_1, set_image_of_range)
+ (regex_grow_registers): Likewise.
+ * sysdep.c (strerror): Likewise.
+ * termcap.c (valid_filename_p, tprint, main): Likewise.
+ * tparam.c (main): Likewise.
+ * unexhp9k800.c (run_time_remap, save_data_space)
+ (update_file_ptrs, read_header, write_header, calculate_checksum)
+ (copy_file, copy_rest, display_header): Likewise.
+ * widget.c (mark_shell_size_user_specified, create_frame_gcs):
+ Likewise.
+ * xdisp.c (check_it): Likewise.
+ * xfaces.c (register_color, unregister_color, unregister_colors):
+ Likewise.
+ * xfns.c (print_fontset_result): Likewise.
+ * xrdb.c (member, fatal, main): Likewise.
+
+2011-07-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix minor problems found by static checking (Bug#9031).
+ * chartab.c (char_table_set_range, map_sub_char_table):
+ Remove unused locals.
+ (uniprop_table): Now static.
+ * composite.c (_work_char): Remove unused static var.
+
+2011-07-09 Juanma Barranquero <lekktu@gmail.com>
+
+ * chartab.c (uniprop_table_uncompress): Remove unused local variable.
+
+2011-07-09 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (qttip_cb): Remove code without function.
+
2011-07-09 Eli Zaretskii <eliz@gnu.org>
- * bidi.c (bidi_fetch_char): Fix the type of `len' according to
- what STRING_CHAR_AND_LENGTH expects.
+ * w32.c (pthread_sigmask): New stub.
- * xdisp.c (move_it_in_display_line_to): Record prev_method and
- prev_pos immediately before the call to set_iterator_to_next.
- Fixes cursor motion in bidi-reordered lines with stretch glyphs
- and strings displayed in margins. (Bug#8133) (Bug#8867)
- Return MOVE_POS_MATCH_OR_ZV only if iterator position is past
- TO_CHARPOS.
- (pos_visible_p): Support positions in bidi-reordered lines. Save
- and restore bidi cache.
+2011-07-08 Paul Eggert <eggert@cs.ucla.edu>
-2011-07-08 Eli Zaretskii <eliz@gnu.org>
+ Use pthread_sigmask, not sigprocmask (Bug#9010).
+ sigprocmask is portable only for single-threaded applications, and
+ Emacs can be multi-threaded when it uses GTK.
+ * Makefile.in (LIB_PTHREAD_SIGMASK): New macro.
+ (LIBES): Use it.
+ * callproc.c (Fcall_process):
+ * process.c (create_process):
+ * sysdep.c (sys_sigblock, sys_sigunblock, sys_sigsetmask):
+ Use pthread_sigmask, not sigprocmask.
- * xdisp.c (move_it_in_display_line_to): If iterator ended up at
- EOL, but we never saw any buffer positions smaller than
- to_charpos, return MOVE_POS_MATCH_OR_ZV. Fixes vertical cursor
- motion in bidi-reordered lines.
+2011-07-08 Jan Djärv <jan.h.d@swipnet.se>
-2011-07-07 Eli Zaretskii <eliz@gnu.org>
+ * gtkutil.c (qttip_cb): Set line wrap to FALSE for tooltip widget.
+ (xg_prepare_tooltip): Revert text in x->ttip_lbl, margins was
+ wrong (Bug#8591).
- * xdisp.c (find_row_edges): If ROW->start.pos gives position
- smaller than min_pos, use it as ROW->minpos. (Bug#7616)
+2011-07-08 Jan Djärv <jan.h.d@swipnet.se>
-2011-07-05 Eli Zaretskii <eliz@gnu.org>
+ * gtkutil.c (xg_prepare_tooltip): Fix indentation and comment.
+ Put text in x->ttip_lbl instead of gtk_tooltip_set_text (Bug#8591).
+ (xg_hide_tooltip): Fix comment.
- * dispnew.c (buffer_posn_from_coords): Save and restore the bidi
- cache around display iteration.
+ * nsterm.m (initFrameFromEmacs): Don't use ns_return_types
+ in registerServicesMenuSendTypes.
+ (validRequestorForSendType): Don't check ns_return_types.
- * window.c (Fwindow_end, window_scroll_pixel_based)
- (displayed_window_lines, Frecenter): Save and restore the bidi
- cache around display iteration.
+ * nsfns.m (Fx_open_connection): Put NSStringPboardType into
+ ns_return_type.
- * bidi.c (bidi_unshelve_cache): Ensure we have enough space before
- restoring the shelved cache.
- (bidi_cache_ensure_space): Don't assume the required size is just
- one BIDI_CACHE_CHUNK away.
+2011-07-08 Jason Rumney <jasonr@gnu.org>
- * xdisp.c (back_to_previous_visible_line_start, reseat_1)
- (init_iterator): Empty the bidi cache "stack".
+ * w32fns.c (w32_wnd_proc) [WM_TIMER, WM_SET_CURSOR]: Avoid using
+ frame struct members of non-existent frames (Bug#6284).
-2011-07-03 Eli Zaretskii <eliz@gnu.org>
+2011-07-08 Jan Djärv <jan.h.d@swipnet.se>
- * bidi.c (bidi_shelve_cache, bidi_unshelve_cache): New functions.
+ * nsterm.m (keyDown): Call to wantsToDelayTextChangeNotifications and
+ variable firstTime not needed on OSX >= 10.6.
+ (setPosition): setFloatValue:knobProportion: is deprecated on OSX
+ >= 10.5. Use setKnobProportion, setDoubleValue.
- * dispextern.h (bidi_shelve_cache, bidi_unshelve_cache): Declare
- prototypes.
+ * nsterm.h (MAC_OS_X_VERSION_10_3, MAC_OS_X_VERSION_10_4)
+ (MAC_OS_X_VERSION_10_5): Define if not defined.
+ (EmacsView, EmacsTooltip): Implements NSWindowDelegate on OSX >= 10.6.
+ (EmacsMenu): Implements NSMenuDelegate on OSX >= 10.6.
+ (EmacsToolbar): Implements NSToolbarDelegate on OSX >= 10.6.
- * xdisp.c (SAVE_IT, RESTORE_IT): New macros.
- (pos_visible_p, face_before_or_after_it_pos)
+ * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods
+ cString and lossyCString on OSX >= 10.4
+
+ * nsmenu.m (fillWithWidgetValue): Don't use depercated method
+ sizeToFit on OSX >= 10.2.
+
+ * nsimage.m (allocInitFromFile): Don't use deprecated method
+ bestRepresentationForDevice on OSX >= 10.6.
+
+ * nsfns.m (check_ns_display_info): Cast to long and use %ld in error
+ to avoid warning.
+
+ * emacs.c: Declare unexec_init_emacs_zone.
+
+ * nsgui.h: Fix compiler warning about gnulib redefining verify.
+
+ * nsselect.m (ns_get_local_selection): Change to extern (Bug#8842).
+
+ * nsmenu.m (ns_update_menubar): Remove useless setDelegate call
+ on svcsMenu (Bug#8842).
+
+ * nsfns.m (Fx_open_connection): Remove NSStringPboardType from
+ ns_return_types.
+ (Fns_list_services): Just return Qnil on 10.6, code not working there.
+
+ * nsterm.m (QUTF8_STRING): Declare.
+ (initFrameFromEmacs): Call registerServicesMenuSendTypes.
+ (validRequestorForSendType): Return type is (id).
+ Change indexOfObjectIdenticalTo to indexOfObject.
+ Check if we have local selection before returning self (Bug#8842).
+ (writeSelectionToPasteboard): Put local selection into paste board
+ if we have a local selection (Bug#8842).
+ (syms_of_nsterm): DEFSYM QUTF8_STRING.
+
+ * nsterm.h (MAC_OS_X_VERSION_10_6): Define here instead of nsterm.m.
+ (ns_get_local_selection): Declare.
+
+2011-07-07 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * keymap.c (describe_map_tree): Don't insert a double newline at
+ the end of the buffer (bug#1169) and return whether we inserted
+ something.
+
+ * callint.c (Fcall_interactively): Change "reading args" to
+ "providing args" to try to clarify what it does (bug#1010).
+
+2011-07-07 Kenichi Handa <handa@m17n.org>
+
+ * composite.c (composition_compute_stop_pos): Ignore a static
+ composition starting before CHARPOS (Bug#8915).
+
+ * xdisp.c (handle_composition_prop): Likewise.
+
+2011-07-07 Eli Zaretskii <eliz@gnu.org>
+
+ * term.c (produce_glyphs) <xassert>: Allow IT_GLYPHLESS in it->what.
+ (Bug#9015)
+
+2011-07-07 Kenichi Handa <handa@m17n.org>
+
+ * character.h (unicode_category_t): New enum type.
+
+ * chartab.c (uniprop_decoder_t, uniprop_encoder_t): New types.
+ (Qchar_code_property_table): New variable.
+ (UNIPROP_TABLE_P, UNIPROP_GET_DECODER)
+ (UNIPROP_COMPRESSED_FORM_P): New macros.
+ (char_table_ascii): Uncompress the compressed values.
+ (sub_char_table_ref): New arg is_uniprop. Callers changed.
+ Uncompress the compressed values.
+ (sub_char_table_ref_and_range): Likewise.
+ (char_table_ref_and_range): Uncompress the compressed values.
+ (sub_char_table_set): New arg is_uniprop. Callers changed.
+ Uncompress the compressed values.
+ (sub_char_table_set_range): Args changed. Callers changed.
+ (char_table_set_range): Adjuted for the above change.
+ (map_sub_char_table): Delete args default_val and parent. Add arg
+ top. Give decoded values to a Lisp function.
+ (map_char_table): Adjusted for the above change. Give decoded
+ values to a Lisp function. Gcpro more variables.
+ (uniprop_table_uncompress)
+ (uniprop_decode_value_run_length): New functions.
+ (uniprop_decoder, uniprop_decoder_count): New variables.
+ (uniprop_get_decoder, uniprop_encode_value_character)
+ (uniprop_encode_value_run_length, uniprop_encode_value_numeric):
+ New functions.
+ (uniprop_encoder, uniprop_encoder_count): New variables.
+ (uniprop_get_encoder, uniprop_table)
+ (Funicode_property_table_internal, Fget_unicode_property_internal)
+ (Fput_unicode_property_internal): New functions.
+ (syms_of_chartab): DEFSYM Qchar_code_property_table, defsubr
+ Sunicode_property_table_internal, Sget_unicode_property_internal,
+ and Sput_unicode_property_internal. Defvar_lisp
+ char-code-property-alist.
+
+ * composite.c (CHAR_COMPOSABLE_P): Adjusted for the change of
+ Vunicode_category_table.
+
+ * font.c (font_range): Adjusted for the change of
+ Vunicode_category_table.
+
+2011-07-07 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * m/iris4d.h: Remove file, move contents ...
+ * s/irix6-5.h: ... here.
+
+2011-07-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove unportable assumption about struct layout (Bug#8884).
+ * alloc.c (mark_buffer):
+ * buffer.c (reset_buffer_local_variables, Fbuffer_local_variables)
+ (clone_per_buffer_values): Don't assume that
+ sizeof (struct buffer) is a multiple of sizeof (Lisp_Object).
+ This isn't true in general, and it's particularly not true
+ if Emacs is configured with --with-wide-int.
+ * buffer.h (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER):
+ New macros, used in the buffer.c change.
+
+2011-07-05 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xsettings.c: Use both GConf and GSettings if both are available.
+ (store_config_changed_event): Add comment.
+ (dpyinfo_valid, store_font_name_changed, map_tool_bar_style)
+ (store_tool_bar_style_changed): New functions.
+ (store_monospaced_changed): Add comment. Call dpyinfo_valid.
+ (struct xsettings): Move font inside HAVE_XFT.
+ (GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines.
+ (GSETTINGS_MONO_FONT): Renamed from SYSTEM_MONO_FONT.
+ Move inside HAVE_XFT.
+ (something_changed_gsettingsCB): Renamed from something_changedCB.
+ Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME
+ also.
+ (GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines.
+ (GCONF_MONO_FONT): Renamed from SYSTEM_MONO_FONT. Move inside HAVE_XFT.
+ (something_changed_gconfCB): Renamed from something_changedCB.
+ Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also.
+ (parse_settings): Move check for font inside HAVE_XFT.
+ (read_settings, apply_xft_settings): Add comment.
+ (read_and_apply_settings): Add comment. Call map_tool_bar_style and
+ store_tool_bar_style_changed. Move check for font inside HAVE_XFT and
+ call store_font_name_changed.
+ (xft_settings_event): Add comment.
+ (init_gsettings): Add comment. Get values for GSETTINGS_TOOL_BAR_STYLE
+ and GSETTINGS_FONT_NAME. Move check for fonts within HAVE_XFT.
+ (init_gconf): Add comment. Get values for GCONF_TOOL_BAR_STYLE
+ and GCONF_FONT_NAME. Move check for fonts within HAVE_XFT.
+ (xsettings_initialize): Call init_gsettings last.
+ (xsettings_get_system_font, xsettings_get_system_normal_font): Add
+ comment.
+
+2011-07-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ Random fixes. E.g., (random) never returned negative values.
+ * fns.c (Frandom): Use GET_EMACS_TIME for random seed, and add the
+ subseconds part to the entropy, as that's a bit more random.
+ Prefer signed to unsigned, since the signedness doesn't matter and
+ in general we prefer signed. When given a limit, use a
+ denominator equal to INTMASK + 1, not to VALMASK + 1, because the
+ latter isn't right if USE_2_TAGS_FOR_INTS.
+ * sysdep.c (get_random): Return a value in the range 0..INTMASK,
+ not 0..VALMASK. Don't discard "excess" bits that random () returns.
+
+2011-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textprop.c (text_property_stickiness):
+ Obey Vtext_property_default_nonsticky.
+ (syms_of_textprop): Add `display' to Vtext_property_default_nonsticky.
+ * w32fns.c (syms_of_w32fns):
+ * xfns.c (syms_of_xfns): Don't Add `display' since it's there by default.
+
+2011-07-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fileio.c (barf_or_query_if_file_exists): Use S_ISDIR.
+ This is more efficient than Ffile_directory_p and avoids a minor race.
+
+2011-07-04 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * buffer.c (Foverlay_put): Say what the return value is
+ (bug#7835).
+
+ * fileio.c (barf_or_query_if_file_exists): Check first if the file
+ is a directory before asking whether to use the file name
+ (bug#7564).
+ (barf_or_query_if_file_exists): Make the "File is a directory"
+ error be more correct.
+
+ * fns.c (Frequire): Remove the mention of the .gz files, since
+ that's installation-specific, but keep the mention of
+ `get-load-suffixes'.
+
+2011-07-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * editfns.c (Fformat_time_string): Don't assume strlen fits in int.
+ Report string overflow if the output is too long.
+
+2011-07-04 Juanma Barranquero <lekktu@gmail.com>
+
+ * gnutls.c (Fgnutls_boot): Don't mention :verify-error.
+ (syms_of_gnutls): Remove duplicate DEFSYM for
+ Qgnutls_bootprop_verify_hostname_error, an error for
+ Qgnutls_bootprop_verify_error (which is no longer used).
+
+ * eval.c (find_handler_clause): Remove parameters `sig' and `data',
+ unused since 2011-01-26T20:02:07Z!monnier@iro.umontreal.ca. All callers changed.
+ Also (re)move comments that are misplaced or no longer relevant.
+
+2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * callint.c (Finteractive): Clarify the meaning of "@" (bug#8813).
+
+2011-07-03 Chong Yidong <cyd@stupidchicken.com>
+
+ * xfaces.c (Finternal_merge_in_global_face): Modify the foreground
+ and background color parameters if they have been changed.
+
+2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * editfns.c (Fformat): Clarify the - and 0 flags (bug#6659).
+
+2011-07-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xsettings.c (SYSTEM_FONT): Define only when used.
+ No need to define when HAVE_GSETTINGS || !HAVE_XFT.
+
+ * keymap.c (access_keymap_1): Now static.
+
+2011-07-02 Chong Yidong <cyd@stupidchicken.com>
+
+ * keyboard.c (command_loop_1): If a down-mouse event is unbound,
+ leave any prefix arg for the up event (Bug#1586).
+
+2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * lread.c (syms_of_lread): Mention single symbols defined by
+ `defvar' or `defconst' (bug#7154).
+
+ * fns.c (Frequire): Mention .el.gz files (bug#7314).
+ (Frequire): Mention get-load-suffixes.
+
+2011-07-02 Martin Rudalics <rudalics@gmx.at>
+
+ * window.h (window): Remove clone_number slot.
+ * window.c (Fwindow_clone_number, Fset_window_clone_number):
+ Remove.
+ (make_parent_window, make_window, saved_window)
+ (Fset_window_configuration, save_window_save): Don't deal with
+ clone numbers.
+ * buffer.c (Qclone_number): Remove declaration.
+ (sort_overlays, overlay_strings): Don't deal with clone numbers.
+
+2011-07-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Add multiple inheritance to keymaps.
+ * 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.
+ * keyboard.c (menu_bar_items): Use map_keymap_canonical.
+ (parse_menu_item): Trivial simplification.
+
+2011-07-01 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (SETTINGS_LIBS): Fix typo.
+
+2011-07-01 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny patch)
+
+ * coding.c (Fencode_coding_string): Record the last coding system
+ used, as the function doc string says (bug#8738).
+
+2011-07-01 Jan Djärv <jan.h.d@swipnet.se>
+
+ * 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 (Bug#8967). Do not create gsettings_obj.
+ Remove calls to g_settings_bind. Connect something_changedCB to
+ "changed".
+
+ * xgselect.c: Add defined (HAVE_GSETTINGS).
+ (xgselect_initialize): Ditto.
+
+ * process.c: Add defined (HAVE_GSETTINGS) for xgselect.h
+ (wait_reading_process_output): Add defined (HAVE_GSETTINGS) for
+ xg_select.
+
+2011-07-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * 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.
+
+2011-06-30 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xsettings.c: Include glib-object.h, gio/gio.h if HAVE_GSETTINGS.
+ Let HAVE_GSETTINGS override HAVE_GCONF.
+ (store_monospaced_changed): New function.
+ (EMACS_SETTINGS): A new type derived from GObject to handle
+ GSettings notifications.
+ (emacs_settings_constructor, emacs_settings_get_property)
+ (emacs_settings_set_property, emacs_settings_class_init):
+ New functions.
+ (gsettings_client, gsettings_obj): New variables.
+ (GSETTINGS_SCHEMA): New define.
+ (something_changedCB): Call store_monospaced_changed.
+ (init_gsettings): New function.
+ (xsettings_initialize): Call init_gsettings.
+ (syms_of_xsettings): Initialize gsettings_client, gsettings_obj
+ to NULL.
+
+ * Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Renamed from
+ GCONF_CFLAGS/LIBS.
+
+2011-06-29 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (resize_root_window, grow_mini_window)
+ (shrink_mini_window): Rename Qresize_root_window to
+ Qwindow_resize_root_window and Qresize_root_window_vertically to
+ Qwindow_resize_root_window_vertically.
+
+2011-06-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * gnutls.c (Qgnutls_bootprop_verify_error): Remove unused var.
+
+2011-06-27 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in: Redesign dependencies so they reflect more
+ clearly which files are directly included by each source file,
+ and not through other includes.
+
+2011-06-27 Martin Rudalics <rudalics@gmx.at>
+
+ * buffer.c (Qclone_number): Declare static and DEFSYM it.
+ (sort_overlays, overlay_strings): When an overlay's clone number
+ matches the window's clone number process the overlay even if
+ the overlay's window property doesn't match the current window.
+
+ * window.c (Fwindow_vchild): Rename to Fwindow_top_child.
+ (Fwindow_hchild): Rename to Fwindow_left_child.
+ (Fwindow_next): Rename to Fwindow_next_sibling.
+ (Fwindow_prev): Rename to Fwindow_prev_sibling.
+ (resize_window_check): Rename to window_resize_check.
+ (resize_window_apply): Rename to window_resize_apply.
+ (Fresize_window_apply): Rename to Fwindow_resize_apply.
+ (Fdelete_other_windows_internal, resize_frame_windows)
+ (Fsplit_window_internal, Fdelete_window_internal)
+ (grow_mini_window, shrink_mini_window)
+ (Fresize_mini_window_internal): Fix callers accordingly.
+
+2011-06-26 Jan Djärv <jan.h.d@swipnet.se>
+
+ * emacsgtkfixed.h: State that this is only used with Gtk+3.
+ (emacs_fixed_set_min_size): Remove.
+ (emacs_fixed_new): Take frame as argument.
+
+ * emacsgtkfixed.c: State that this is only used with Gtk+3.
+ (_EmacsFixedPrivate): Remove minwidth/height.
+ Add struct frame *f.
+ (emacs_fixed_init): Initialize priv->f.
+ (get_parent_class, emacs_fixed_set_min_size): Remove.
+ (emacs_fixed_new): Set priv->f to argument.
+ (emacs_fixed_get_preferred_width)
+ (emacs_fixed_get_preferred_height): Use min_width/height from
+ frames size_hint to set minimum and natural (Bug#8919).
+ (XSetWMSizeHints, XSetWMNormalHints): Override these functions
+ and use min_width/height from frames size_hint to set
+ min_width/height (Bug#8919).
+
+ * gtkutil.c (xg_create_frame_widgets): Pass f to emacs_fixed_new.
+ (x_wm_set_size_hint): Remove call to emacs_fixed_set_min_size.
+ Fix indentation.
+
+2011-06-26 Eli Zaretskii <eliz@gnu.org>
+
+ * bidi.c (bidi_paragraph_init): Test for ZV_BYTE before calling
+ bidi_at_paragraph_end, since fast_looking_at doesn't like to be
+ called at ZV.
+
+2011-06-26 Chong Yidong <cyd@stupidchicken.com>
+
+ * process.c (wait_reading_process_output): Bypass select if
+ waiting for a cell while ignoring keyboard input, and input is
+ pending. Suggested by Jan Djärv (Bug#8869).
+
+2011-06-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use gnulib's dup2 module instead of rolling our own.
+ * sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this.
+
+2011-06-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * dispnew.c (scrolling_window): Before scrolling, turn off a
+ mouse-highlight in the window being scrolled.
+
+2011-06-24 Juanma Barranquero <lekktu@gmail.com>
+
+ Move DEFSYM to lisp.h and use everywhere.
+
+ * character.h (DEFSYM): Move declaration...
+ * lisp.h (DEFSYM): ...here.
+
+ * gnutls.c:
+ * minibuf.c:
+ * w32menu.c:
+ * w32proc.c:
+ * w32select.c: Don't include character.h.
+
+ * alloc.c (syms_of_alloc):
+ * buffer.c (syms_of_buffer):
+ * bytecode.c (syms_of_bytecode):
+ * callint.c (syms_of_callint):
+ * casefiddle.c (syms_of_casefiddle):
+ * casetab.c (init_casetab_once):
+ * category.c (init_category_once, syms_of_category):
+ * ccl.c (syms_of_ccl):
+ * cmds.c (syms_of_cmds):
+ * composite.c (syms_of_composite):
+ * dbusbind.c (syms_of_dbusbind):
+ * dired.c (syms_of_dired):
+ * dispnew.c (syms_of_display):
+ * doc.c (syms_of_doc):
+ * editfns.c (syms_of_editfns):
+ * emacs.c (syms_of_emacs):
+ * eval.c (syms_of_eval):
+ * fileio.c (syms_of_fileio):
+ * fns.c (syms_of_fns):
+ * frame.c (syms_of_frame):
+ * fringe.c (syms_of_fringe):
+ * insdel.c (syms_of_insdel):
+ * keymap.c (syms_of_keymap):
+ * lread.c (init_obarray, syms_of_lread):
+ * macros.c (syms_of_macros):
+ * msdos.c (syms_of_msdos):
+ * print.c (syms_of_print):
+ * process.c (syms_of_process):
+ * search.c (syms_of_search):
+ * sound.c (syms_of_sound):
+ * syntax.c (init_syntax_once, syms_of_syntax):
+ * terminal.c (syms_of_terminal):
+ * textprop.c (syms_of_textprop):
+ * undo.c (syms_of_undo):
+ * w32.c (globals_of_w32):
+ * window.c (syms_of_window):
+ * xdisp.c (syms_of_xdisp):
+ * xfaces.c (syms_of_xfaces):
+ * xfns.c (syms_of_xfns):
+ * xmenu.c (syms_of_xmenu):
+ * xsettings.c (syms_of_xsettings):
+ * xterm.c (syms_of_xterm): Use DEFSYM.
+
+2011-06-24 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * gnutls.c (syms_of_gnutls): Use the DEFSYM macro from character.h.
+
+2011-06-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ Integer and buffer overflow fixes (Bug#8873).
+
+ * print.c (printchar, strout): Check for string overflow.
+ (PRINTPREPARE, printchar, strout):
+ Don't set size unless allocation succeeds.
+
+ * minibuf.c (read_minibuf_noninteractive): Use ptrdiff_t, not int,
+ for sizes. Check for string overflow more accurately.
+ Simplify newline removal at end; this suppresses a GCC 4.6.0 warning.
+
+ * macros.c: Integer and buffer overflow fixes.
+ * keyboard.h (struct keyboard.kbd_macro_bufsize):
+ * macros.c (Fstart_kbd_macro, store_kbd_macro_char):
+ Use ptrdiff_t, not int, for sizes.
+ Don't increment bufsize until after realloc succeeds.
+ Check for size-calculation overflow.
+ (Fstart_kbd_macro): Use EMACS_INT, not int, for XINT result.
+
+ * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling.
+
+ * lread.c: Integer overflow fixes.
+ (read_integer): Radix is now EMACS_INT, not int,
+ to improve quality of diagnostics for out-of-range radices.
+ Calculate buffer size correctly for out-of-range radices.
+ (read1): Check for integer overflow in radices, and in
+ read-circle numbers.
+ (read_escape): Avoid int overflow.
+ (Fload, openp, read_buffer_size, read1)
+ (substitute_object_recurse, read_vector, read_list, map_obarray):
+ Use ptrdiff_t, not int, for sizes.
+ (read1): Use EMACS_INT, not int, for sizes.
+ Check for size overflow.
+
+ * image.c (cache_image): Check for size arithmetic overflow.
+
+ * lread.c: Integer overflow issues.
+ (saved_doc_string_size, saved_doc_string_length)
+ (prev_saved_doc_string_size, prev_saved_doc_string_length):
+ Now ptrdiff_t, not int.
+ (read1): Don't assume doc string length fits in int. Check for
+ out-of-range doc string lengths.
+ (read_list): Don't assume file position fits in int.
+ (read_escape): Check for hex character overflow.
+
+2011-06-22 Leo Liu <sdl.web@gmail.com>
+
+ * minibuf.c (Fcompleting_read_default, Vcompleting_read_function):
+ Move to minibuffer.el.
+
+2011-06-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fixes for GLYPH_DEBUG found by GCC 4.6.0 static checking.
+ The following patches are for when GLYPH_DEBUG && !XASSERT.
+ * dispextern.h (trace_redisplay_p, dump_glyph_string):
+ * dispnew.c (flush_stdout):
+ * xdisp.c (dump_glyph_row, dump_glyph_matrix, dump_glyph):
+ Mark as externally visible.
+ * dispnew.c (check_window_matrix_pointers): Now static.
+ * dispnew.c (window_to_frame_vpos):
+ * xfns.c (unwind_create_frame):
+ * xterm.c (x_check_font): Remove unused local.
+ * scroll.c (CHECK_BOUNDS):
+ * xfaces.c (cache_fache): Rename local to avoid shadowing.
+ * xfns.c, w32fns.c (image_cache_refcount, dpyinfo_refcount): Now static.
+ * xdisp.c (check_window_end): Now a no-op if !XASSERTS.
+ (debug_first_unchanged_at_end_vpos, debug_last_unchanged_at_beg_vpos)
+ (debug_dvpos, debug_dy, debug_delta, debug_delta_bytes, debug_end_vpos):
+ Now static.
+ (debug_method_add): Use va_list and vsprintf rather than relying
+ on undefined behavior with wrong number of arguments.
+ (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
+ Don't assume ptrdiff_t and EMACS_INT are the same width as int.
+ In this code, it's OK to assume C99 behavior for ptrdiff_t formats
+ since we're not interested in debugging glyphs with old libraries.
+ * xfaces.c (cache_face): Move debugging code earlier; this pacifies
+ GCC 4.6.0's static checking.
+
+2011-06-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Integer overflow and signedness fixes (Bug#8873).
+ A few related buffer overrun fixes, too.
+
+ * font.c (font_score): Use EMACS_INT, not int, to store XINT value.
+
+ * dispextern.h (struct face.stipple):
+ * image.c (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+ (x_bitmap_mask, x_allocate_bitmap_record)
+ (x_create_bitmap_from_data, x_create_bitmap_from_file)
+ (x_destroy_bitmap, x_destroy_all_bitmaps, x_create_bitmap_mask)
+ (x_create_bitmap_from_xpm_data):
+ * nsterm.h (struct ns_display_info.bitmaps_size, .bitmaps_last):
+ * w32term.h (struct w32_display_info.icon_bitmap_id, .bitmaps_size)
+ (.bitmaps_last):
+ * xfaces.c (load_pixmap):
+ * xterm.c (x_bitmap_icon, x_wm_set_icon_pixmap):
+ * xterm.h (struct x_display_info.icon_bitmap_id, .bitmaps_size)
+ (.bitmaps_last, struct x_output.icon_bitmap):
+ Use ptrdiff_t, not int, for bitmap indexes.
+ (x_allocate_bitmap_record): Check for size overflow.
+ * dispextern.h, lisp.h: Adjust to API changes elsewhere.
+
+ Use ptrdiff_t, not int, for overlay counts.
+ * buffer.h (overlays_at, sort_overlays, GET_OVERLAYS_AT):
+ * editfns.c (overlays_around, get_pos_property):
+ * textprop.c (get_char_property_and_overlay):
+ * xdisp.c (next_overlay_change, note_mouse_highlight):
+ * xfaces.c (face_at_buffer_position):
+ * buffer.c (OVERLAY_COUNT_MAX): New macro.
+ (overlays_at, overlays_in, sort_overlays, Foverlays_at)
+ (Fnext_overlay_change, Fprevious_overlay_change)
+ (mouse_face_overlay_overlaps, Foverlays_in):
+ Use ptrdiff_t, not int, for sizes.
+ (overlays_at, overlays_in): Check for size-calculation overflow.
+
+ * xterm.c (xim_initialize, same_x_server): Strlen may not fit in int.
+
+ * xsmfns.c (smc_save_yourself_CB, x_session_initialize): Avoid strlen.
+ (x_session_initialize): Do not assume string length fits in int.
+
+ * xsettings.c (apply_xft_settings): Fix potential buffer overrun.
+ This is unlikely, but can occur if DPI is outlandish.
+
+ * xsettings.c (Ffont_get_system_normal_font, Ffont_get_system_font):
+ * xselect.c (Fx_get_atom_name): Avoid need for strlen.
+
+ * xrdb.c: Don't assume strlen fits in int; avoid some strlens.
+ * xrdb.c (magic_file_p, search_magic_path):
+ Omit last arg SUFFIX; it was always 0. All callers changed.
+ (magic_file_p): Use ptrdiff_t, not int. Check for size overflow.
+
+ * xfont.c (xfont_match): Avoid need for strlen.
+
+ * xfns.c: Don't assume strlen fits in int.
+ (xic_create_fontsetname, x_window): Use ptrdiff_t, not int.
+
+ * xdisp.c (message_log_check_duplicate): Return intmax_t,
+ not unsigned long, as we prefer signed integers. All callers changed.
+ Detect integer overflow in repeat count.
+ (message_dolog): Don't assume print length fits in 39 bytes.
+ (display_mode_element): Don't assume strlen fits in int.
+
+ * termcap.c: Don't assume sizes fit in int and never overflow.
+ (struct termcap_buffer, tgetent): Use ptrdiff_t, not int, for sizes.
+ (gobble_line): Check for size-calculation overflow.
+
+ * minibuf.c (Fread_buffer):
+ * lread.c (intern, intern_c_string):
+ * image.c (xpm_scan) [HAVE_NS && !HAVE_XPM]:
+ Don't assume string length fits in int.
+
+ * keyboard.c (parse_tool_bar_item):
+ * gtkutil.c (style_changed_cb): Avoid need for strlen.
+
+ * font.c: Don't assume string length fits in int.
+ (font_parse_xlfd, font_parse_fcname, font_unparse_fcname):
+ Use ptrdiff_t, not int.
+ (font_intern_prop): Don't assume string length fits in int.
+ Don't assume integer property fits in fixnum.
+ * font.h (font_intern_prop): 2nd arg is now ptrdiff_t, not int.
+
+ * filelock.c: Fix some buffer overrun and integer overflow issues.
+ (get_boot_time): Don't assume gzip command string fits in 100 bytes.
+ Reformulate so as not to need the command string.
+ Invoke gzip -cd rather than gunzip, as it's more portable.
+ (lock_info_type, lock_file_1, lock_file):
+ Don't assume pid_t and time_t fit in unsigned long.
+ (LOCK_PID_MAX): Remove; we now use more-reliable bounds.
+ (current_lock_owner): Prefer signed type for sizes.
+ Use memcpy, not strncpy, where memcpy is what is really wanted.
+ Don't assume (via atoi) that time_t and pid_t fit in int.
+ Check for time_t and/or pid_t out of range, e.g., via a network share.
+ Don't alloca where an auto var works fine.
+
+ * fileio.c: Fix some integer overflow issues.
+ (file_name_as_directory, Fexpand_file_name, Fsubstitute_in_file_name):
+ Don't assume string length fits in int.
+ (directory_file_name): Don't assume string length fits in long.
+ (make_temp_name): Don't assume pid fits in int, or that its print
+ length is less than 20.
+
+ * data.c (Fsubr_name): Rewrite to avoid a strlen call.
+
+ * coding.c (make_subsidiaries): Don't assume string length fits in int.
+
+ * callproc.c (child_setup): Rewrite to avoid two strlen calls.
+
+ * process.c (Fformat_network_address): Use EMACS_INT, not EMACS_UINT.
+ We prefer signed integers, even for size calculations.
+
+ * emacs.c: Don't assume string length fits in 'int'.
+ (DEFINE_DUMMY_FUNCTION, sort_args): Use ptrdiff_t, not int.
+ (main): Don't invoke strlen when not needed.
+
+ * dbusbind.c (XD_ERROR): Don't arbitrarily truncate string.
+ (XD_DEBUG_MESSAGE): Don't waste a byte.
+
+ * callproc.c (getenv_internal_1, getenv_internal)
+ (Fgetenv_internal):
+ * buffer.c (init_buffer): Don't assume string length fits in 'int'.
+
+ * lread.c (invalid_syntax): Omit length argument.
+ All uses changed. This doesn't fix a bug, but it simplifies the
+ code away from its former Hollerith-constant appearance, and it's
+ one less 'int' to worry about when looking at integer-overflow issues.
+ (string_to_number): Simplify 2011-04-26 change by invoking xsignal1.
+
+ * lisp.h (DEFUN): Remove bogus use of sizeof (struct Lisp_Subr).
+ This didn't break anything, but it didn't help either.
+ It's confusing to put a bogus integer in a place where the actual
+ value does not matter.
+ (LIST_END_P): Remove unused macro and its bogus comment.
+ (make_fixnum_or_float): Remove unnecessary cast to EMACS_INT.
+
+ * lisp.h (union Lisp_Object.i): EMACS_INT, not EMACS_UINT.
+ This is for consistency with the ordinary, non-USE_LISP_UNION_TYPE,
+ implementation.
+ (struct Lisp_Bool_Vector.size): EMACS_INT, not EMACS_UINT.
+ We prefer signed types, and the value cannot exceed the EMACS_INT
+ range anyway (because otherwise the length would not be representable).
+ (XSET) [USE_LISP_UNION_TYPE]: Use uintptr_t and intptr_t,
+ not EMACS_UINT and EMACS_INT, when converting pointer to integer.
+ This avoids a GCC warning when WIDE_EMACS_INT.
+
+ * indent.c (sane_tab_width): New function.
+ (current_column, scan_for_column, Findent_to, position_indentation)
+ (compute_motion): Use it. This is just for clarity.
+ (Fcompute_motion): Don't assume hscroll and tab offset fit in int.
+
+ * image.c (xbm_image_p): Don't assume stated width, height fit in int.
+
+ * lisp.h (lint_assume): New macro.
+ * composite.c (composition_gstring_put_cache):
+ * ftfont.c (ftfont_shape_by_flt): Use it to pacify GCC 4.6.0.
+
+ * editfns.c, insdel.c:
+ Omit unnecessary forward decls, to simplify future changes.
+
+ * ftfont.c (ftfont_shape_by_flt): Use signed integers for lengths.
+
+ * font.c (Ffont_shape_gstring): Don't assume glyph len fits in 'int'.
+
+ * fns.c (Ffillarray): Don't assume bool vector size fits in 'int'.
+ Use much-faster test for byte-length change.
+ Don't assume string byte-length fits in 'int'.
+ Check that character arg fits in 'int'.
+ (mapcar1): Declare byte as byte, for clarity.
+
+ * alloc.c (Fmake_bool_vector): Avoid unnecessary multiplication.
+
+ * fns.c (concat): Catch string overflow earlier.
+ Do not rely on integer wraparound.
+
+ * dispextern.h (struct it.overlay_strings_charpos)
+ (struct it.selective): Now EMACS_INT, not int.
+ * xdisp.c (forward_to_next_line_start)
(back_to_previous_visible_line_start)
- (move_it_in_display_line_to, move_it_in_display_line)
- (move_it_to, move_it_vertically_backward, move_it_by_lines)
- (try_scrolling, redisplay_window, display_line): Use them when
- saving a temporary copy of the iterator and restoring it back.
+ (reseat_at_next_visible_line_start, next_element_from_buffer):
+ Don't arbitrarily truncate the value of 'selective' to int.
-2011-07-02 Eli Zaretskii <eliz@gnu.org>
+ * xdisp.c (init_iterator): Use XINT, not XFASTINT; it might be < 0.
- * xdisp.c (reseat_1): Call bidi_init_it to resync the bidi
- iterator with IT's position. (Bug#7616)
- (handle_stop, back_to_previous_visible_line_start, reseat_1):
- Reset the from_disp_prop_p flag.
+ * composite.c: Don't truncate sizes to 'int'.
+ (composition_gstring_p, composition_reseat_it)
+ (composition_adjust_point): Use EMACS_INT, not int.
+ (get_composition_id, composition_gstring_put_cache): Use EMACS_INT,
+ not EMACS_UINT, for indexes.
- * bidi.c (bidi_cache_search): Don't assume bidi_cache_last_idx is
- always valid if bidi_cache_idx is valid.
- (bidi_cache_find_level_change): xassert that bidi_cache_last_idx
- is valid if it's going to be used.
+ * category.h (CATEGORY_SET_P): Remove unnecessary cast to EMACS_INT.
- * dispextern.h (struct iterator_stack_entry, struct it): New
- member from_disp_prop_p.
+ * buffer.c: Include <verify.h>.
+ (struct sortvec.priority, struct sortstr.priority):
+ Now EMACS_INT, not int.
+ (compare_overlays, cmp_for_strings): Avoid subtraction overflow.
+ (struct sortstr.size, record_overlay_string)
+ (struct sortstrlist.size, struct sortlist.used):
+ Don't truncate size to int.
+ (record_overlay_string): Check for size-calculation overflow.
+ (init_buffer_once): Check at compile-time, not run-time.
- * xdisp.c (push_it, pop_it): Save and restore from_disp_prop_p.
- (handle_single_display_spec, push_display_prop): Set the
- from_disp_prop_p flag.
- (get_overlay_strings_1): Reset the from_disp_prop_p flag.
- (pop_it): Call iterate_out_of_display_property only if we are
- popping after iteration over a string that came from a display
- property. Fix a typo in popping stretch info. Add an assertion
- for verifying that the iterator position is in sync with the bidi
- iterator.
- (handle_single_display_spec, get_overlay_strings_1)
- (push_display_prop): Fix initialization of paragraph direction for
- string when that of the parent object is not yet determined.
+2011-06-22 Jim Meyering <meyering@redhat.com>
+
+ Don't leak an XBM-image-sized buffer
+ * image.c (xbm_load): Free the image buffer after using it.
+
+2011-06-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to Sun C.
+ * composite.c (find_automatic_composition): Omit needless 'return 0;'
+ that Sun C diagnosed.
+ * fns.c (secure_hash): Fix pointer signedness issue.
+ * intervals.c (static_offset_intervals): New function.
+ (offset_intervals): Use it.
-2011-07-01 Eli Zaretskii <eliz@gnu.org>
+2011-06-21 Leo Liu <sdl.web@gmail.com>
- * dispextern.h (struct bidi_string_data): New member `unibyte'.
+ * deps.mk (fns.o):
+ * makefile.w32-in ($(BLD)/fns.$(O)): Include sha256.h and
+ sha512.h.
- * xdisp.c (handle_single_display_spec, next_overlay_string)
- (get_overlay_strings_1, reseat_1, reseat_to_string)
- (push_display_prop): Set up the `unibyte' member of bidi_it.string
- correctly. Don't assume unibyte strings are not bidi-reordered.
- (compute_display_string_pos)
- (compute_display_string_end): Fix handling the case of C string.
+ * fns.c (secure_hash): Rename from crypto_hash_function and change
+ the first arg to accept symbols.
+ (Fsecure_hash): New primitive.
+ (syms_of_fns): New symbols.
- * bidi.c (bidi_count_bytes, bidi_char_at_pos): Accept an
- additional argument UNIBYTE, and support unibyte strings. All
- callers changed.
- (bidi_fetch_char): Support unibyte strings.
+2011-06-20 Deniz Dogan <deniz@dogan.se>
-2011-06-25 Eli Zaretskii <eliz@gnu.org>
+ * process.c (Fset_process_buffer): Clarify return value in
+ docstring.
- * xdisp.c (set_iterator_to_next, get_visually_first_element): Use
- it->bidi_it.string.schars rather than it->string_nchars when
- testing whether we're beyond string end, because string_nchars is
- zero for strings that come from overlays and display properties.
+2011-06-18 Chong Yidong <cyd@stupidchicken.com>
- * bidi.c (bidi_cache_iterator_state): Fix a bug with testing
- character positions against the cached range, when we use a
- stacked cache.
+ * dispnew.c (add_window_display_history): Use BVAR.
- * xdisp.c (push_it, pop_it): Save and restore it.
+ * xdisp.c (debug_method_add): Use BVAR.
+ (check_window_end, dump_glyph_matrix, dump_glyph)
+ (dump_glyph_row, dump_glyph_string): Convert arglist to ANSI C.
- * dispextern.h (struct iterator_stack_entry): New member
- paragraph_embedding.
+ * xfaces.c (check_lface_attrs, check_lface, dump_realized_face):
+ Likewise.
- * xdisp.c (handle_single_display_spec, next_overlay_string)
- (get_overlay_strings_1, push_display_prop): Set up the bidi
- iterator for displaying display or overlay strings.
- (forward_to_next_line_start): Don't use the shortcut if
- bidi-iterating.
- (back_to_previous_visible_line_start): If handle_display_prop
- pushed the iterator stack, restore the internal state of the bidi
- iterator by calling bidi_pop_it same number of times.
- (reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero,
- and we are bidi-iterating, don't decrement the iterator position;
- instead, set the first_elt flag in the bidi iterator, to produce
- the same effect.
- (reseat_1): Remove redundant setting of string_from_display_prop_p.
- (push_display_prop): xassert that we are iterating a buffer.
+ * xfns.c (Fx_create_frame, x_create_tip_frame): Delay image cache
+ check till after the cache is created in init_frame_faces.
+
+2011-06-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * fns.c (Fsafe_length): Yet another int/Lisp_Object mixup.
+
+2011-06-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h: Include <limits.h>, for INT_MAX, LONG_MAX, LLONG_MAX.
+ Without this, prin1 mishandles Lisp_Misc_Save_Value printing on
+ hosts with pre-C99 libraries, because pD is wrongly defined to "t".
+
+ Improve buffer-overflow checking (Bug#8873).
+ * fileio.c (Finsert_file_contents):
+ * insdel.c (insert_from_buffer_1, replace_range, replace_range_2):
+ Remove the old (too-loose) buffer overflow checks.
+ They weren't needed, since make_gap checks for buffer overflow.
+ * insdel.c (make_gap_larger): Catch buffer overflows that were missed.
+ The old code merely checked for Emacs fixnum overflow, and relied
+ on undefined (wraparound) behavior. The new code avoids undefined
+ behavior, and also checks for ptrdiff_t and/or size_t overflow.
+
+ * editfns.c (Finsert_char): Don't dump core with very negative counts.
+ Tune. Don't use wider integers than needed. Don't use alloca.
+ Use a bigger 'string' buffer. Rewrite to avoid 'n > 0' test.
+
+ * insdel.c (replace_range): Fix buf overflow when insbytes < outgoing.
+
+ * insdel.c, lisp.h (buffer_overflow): New function.
+ (insert_from_buffer_1, replace_range, replace_range_2):
+ * insdel.c (make_gap_larger):
+ * editfns.c (Finsert_char):
+ * fileio.c (Finsert_file_contents): Use it, to normalize wording.
+
+ * buffer.h (BUF_BYTES_MAX): Cast to ptrdiff_t so that it's signed.
+
+2011-06-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ Integer overflow and signedness fixes (Bug#8873).
- * bidi.c (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE.
+ * ccl.c (ASCENDING_ORDER): New macro, to work around GCC bug 43772.
+ (GET_CCL_RANGE, IN_INT_RANGE): Use it.
-2011-06-24 Eli Zaretskii <eliz@gnu.org>
+ * fileio.c: Don't assume EMACS_INT fits in off_t.
+ (emacs_lseek): New static function.
+ (Finsert_file_contents, Fwrite_region): Use it.
+ Use SEEK_SET, SEEK_CUR, SEEK_END as appropriate.
- * xdisp.c (push_it, pop_it): Save and restore the state of the
- bidi iterator. Save and restore the bidi_p flag.
- (pop_it): Iterate out of display property for string iteration as
- well.
- (iterate_out_of_display_property): Support iteration over strings.
- (handle_single_display_spec): Set up it->bidi_it for iteration
- over a display string, and call bidi_init_it.
+ * fns.c (Fload_average): Don't assume 100 * load average fits in int.
+
+ * fns.c: Don't overflow int when computing a list length.
+ * fns.c (QUIT_COUNT_HEURISTIC): New constant.
+ (Flength, Fsafe_length): Use EMACS_INT, not int, to avoid unwanted
+ truncation on 64-bit hosts. Check for QUIT every
+ QUIT_COUNT_HEURISTIC entries rather than every other entry; that's
+ faster and is responsive enough.
+ (Flength): Report an error instead of overflowing an integer.
+ (Fsafe_length): Return a float if the value is not representable
+ as a fixnum. This shouldn't happen except in contrived situations.
+ (Fnthcdr, Fsort): Don't assume list length fits in int.
+ (Fcopy_sequence): Don't assume vector length fits in int.
- * dispextern.h (struct iterator_stack_entry): New member bidi_p.
- (struct it): Member bidi_p is now a bit field 1 bit wide.
+ * alloc.c: Check that resized vectors' lengths fit in fixnums.
+ (header_size, word_size): New constants.
+ (allocate_vectorlike): Don't check size overflow here.
+ (allocate_vector): Check it here instead, since this is the only
+ caller of allocate_vectorlike that could cause overflow.
+ Check that the new vector's length is representable as a fixnum.
-2011-06-23 Eli Zaretskii <eliz@gnu.org>
+ * fns.c (next_almost_prime): Don't return a multiple of 3 or 5.
+ The previous code was bogus. For example, next_almost_prime (32)
+ returned 39, which is undesirable as it is a multiple of 3; and
+ next_almost_prime (24) returned 25, which is a multiple of 5 so
+ why was the code bothering to check for multiples of 7?
+
+ * bytecode.c (exec_byte_code): Use ptrdiff_t, not int, for vector length.
+
+ * eval.c, doprnt.c (SIZE_MAX): Remove; inttypes.h defines this now.
+
+ Variadic C functions now count arguments with ptrdiff_t.
+ This partly undoes my 2011-03-30 change, which replaced int with size_t.
+ Back then I didn't know that the Emacs coding style prefers signed int.
+ Also, in the meantime I found a few more instances where arguments
+ were being counted with int, which may truncate counts on 64-bit
+ machines, or EMACS_INT, which may be unnecessarily wide.
+ * lisp.h (struct Lisp_Subr.function.aMANY)
+ (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call):
+ Arg counts are now ptrdiff_t, not size_t.
+ All variadic functions and their callers changed accordingly.
+ (struct gcpro.nvars): Now size_t, not size_t. All uses changed.
+ * bytecode.c (exec_byte_code): Check maxdepth for overflow,
+ to avoid potential buffer overrun. Don't assume arg counts fit in 'int'.
+ * callint.c (Fcall_interactively): Check arg count for overflow,
+ to avoid potential buffer overrun. Use signed char, not 'int',
+ for 'varies' array, so that we needn't bother to check its size
+ calculation for overflow.
+ * editfns.c (Fformat): Use ptrdiff_t, not EMACS_INT, to count args.
+ * eval.c (apply_lambda):
+ * fns.c (Fmapconcat): Use XFASTINT, not XINT, to get args length.
+ (struct textprop_rec.argnum): Now ptrdiff_t, not int. All uses changed.
+ (mapconcat): Use ptrdiff_t, not int and EMACS_INT, to count args.
+
+ * callint.c (Fcall_interactively): Don't use index var as event count.
+
+ * vm-limit.c (check_memory_limits): Fix incorrect extern function decls.
+ * mem-limits.h (SIZE): Remove; no longer used.
+
+ * xterm.c (x_alloc_nearest_color_1): Prefer int to long when int works.
+
+ Remove unnecessary casts.
+ * xterm.c (x_term_init):
+ * xfns.c (x_set_border_pixel):
+ * widget.c (create_frame_gcs): Remove casts to unsigned long etc.
+ These aren't needed now that we assume ANSI C.
+
+ * sound.c (Fplay_sound_internal): Remove cast to unsigned long.
+ It's more likely to cause problems (due to unsigned overflow)
+ than to cure them.
+
+ * dired.c (Ffile_attributes): Don't use 32-bit hack on 64-bit hosts.
+
+ * unexelf.c (unexec): Don't assume BSS addr fits in unsigned.
+
+ * xterm.c (handle_one_xevent): Omit unnecessary casts to unsigned.
+
+ * keyboard.c (modify_event_symbol): Don't limit alist len to UINT_MAX.
+
+ * lisp.h (CHAR_TABLE_SET): Omit now-redundant test.
+
+ * lread.c (Fload): Don't compare a possibly-garbage time_t value.
+
+ GLYPH_CODE_FACE returns EMACS_INT, not int.
+ * dispextern.h (merge_faces):
+ * xfaces.c (merge_faces):
+ * xdisp.c (get_next_display_element, next_element_from_display_vector):
+ Don't assume EMACS_INT fits in int.
+
+ * character.h (CHAR_VALID_P): Remove unused parameter.
+ * fontset.c, lisp.h, xdisp.c: All uses changed.
+
+ * editfns.c (Ftranslate_region_internal): Omit redundant test.
+
+ * fns.c (concat): Minor tuning based on overflow analysis.
+ This doesn't fix any bugs. Use int to hold character, instead
+ of constantly refetching from Emacs object. Use XFASTINT, not
+ XINT, for value known to be a character. Don't bother comparing
+ a single byte to 0400, as it's always less.
+
+ * floatfns.c (Fexpt):
+ * fileio.c (make_temp_name): Omit unnecessary cast to unsigned.
+
+ * editfns.c (Ftranslate_region_internal): Use int, not EMACS_INT
+ for characters.
+
+ * doc.c (get_doc_string): Omit (unsigned)c that mishandled negatives.
+
+ * data.c (Faset): If ARRAY is a string, check that NEWELT is a char.
+ Without this fix, on a 64-bit host (aset S 0 4294967386) would
+ incorrectly succeed when S was a string, because 4294967386 was
+ truncated before it was used.
+
+ * chartab.c (Fchar_table_range): Use CHARACTERP to check range.
+ Otherwise, an out-of-range integer could cause undefined behavior
+ on a 64-bit host.
+
+ * composite.c: Use int, not EMACS_INT, for characters.
+ (fill_gstring_body, composition_compute_stop_pos): Use int, not
+ EMACS_INT, for values that are known to be in character range.
+ This doesn't fix any bugs but is the usual style inside Emacs and
+ may generate better code on 32-bit machines.
+
+ Make sure a 64-bit char is never passed to ENCODE_CHAR.
+ This is for reasons similar to the recent CHAR_STRING fix.
+ * charset.c (Fencode_char): Check that character arg is actually
+ a character. Pass an int to ENCODE_CHAR.
+ * charset.h (ENCODE_CHAR): Verify that the character argument is no
+ wider than 'int', as a compile-time check to prevent future regressions
+ in this area.
+
+ * character.c (char_string): Remove unnecessary casts.
+
+ Make sure a 64-bit char is never passed to CHAR_STRING.
+ Otherwise, CHAR_STRING would do the wrong thing on a 64-bit platform,
+ by silently ignoring the top 32 bits, allowing some values
+ that were far too large to be valid characters.
+ * character.h: Include <verify.h>.
+ (CHAR_STRING, CHAR_STRING_ADVANCE): Verify that the character
+ arguments are no wider than unsigned, as a compile-time check
+ to prevent future regressions in this area.
+ * data.c (Faset):
+ * editfns.c (Fchar_to_string, general_insert_function, Finsert_char)
+ (Fsubst_char_in_region):
+ * fns.c (concat):
+ * xdisp.c (decode_mode_spec_coding):
+ Adjust to CHAR_STRING's new requirement.
+ * editfns.c (Finsert_char, Fsubst_char_in_region):
+ * fns.c (concat): Check that character args are actually
+ characters. Without this test, these functions did the wrong
+ thing with wildly out-of-range values on 64-bit hosts.
+
+ Remove incorrect casts to 'unsigned' that lose info on 64-bit hosts.
+ These casts should not be needed on 32-bit hosts, either.
+ * keyboard.c (read_char):
+ * lread.c (Fload): Remove casts to unsigned.
+
+ * lisp.h (UNSIGNED_CMP): New macro.
+ This fixes comparison bugs on 64-bit hosts.
+ (ASCII_CHAR_P): Use it.
+ * casefiddle.c (casify_object):
+ * character.h (ASCII_BYTE_P, CHAR_VALID_P)
+ (SINGLE_BYTE_CHAR_P, CHAR_STRING):
+ * composite.h (COMPOSITION_ENCODE_RULE_VALID):
+ * dispextern.h (FACE_FROM_ID):
+ * keyboard.c (read_char): Use UNSIGNED_CMP.
+
+ * xmenu.c (dialog_selection_callback) [!USE_GTK]: Cast to intptr_t,
+ not to EMACS_INT, to avoid GCC warning.
+
+ * xfns.c (x_set_scroll_bar_default_width): Remove unused 'int' locals.
+
+ * buffer.h (PTR_BYTE_POS, BUF_PTR_BYTE_POS): Remove harmful cast.
+ The cast incorrectly truncated 64-bit byte offsets to 32 bits, and
+ isn't needed on 32-bit machines.
+
+ * buffer.c (Fgenerate_new_buffer_name):
+ Use EMACS_INT for count, not int.
+ (advance_to_char_boundary): Return EMACS_INT, not int.
+
+ * data.c (Qcompiled_function): Now static.
+
+ * window.c (window_body_lines): Now static.
+
+ * image.c (gif_load): Rename local to avoid shadowing.
+
+ * lisp.h (SAFE_ALLOCA_LISP): Check for integer overflow.
+ (struct Lisp_Save_Value): Use ptrdiff_t, not int, for 'integer' member.
+ * alloc.c (make_save_value): Integer argument is now of type
+ ptrdiff_t, not int.
+ (mark_object): Use ptrdiff_t, not int.
+ * lisp.h (pD): New macro.
+ * print.c (print_object): Use it.
+
+ * alloc.c: Use EMACS_INT, not int, to count objects.
+ (total_conses, total_markers, total_symbols, total_vector_size)
+ (total_free_conses, total_free_markers, total_free_symbols)
+ (total_free_floats, total_floats, total_free_intervals)
+ (total_intervals, total_strings, total_free_strings):
+ Now EMACS_INT, not int. All uses changed.
+ (Fgarbage_collect): Compute overall total using a double, so that
+ integer overflow is less likely to be a problem. Check for overflow
+ when converting back to an integer.
+ (n_interval_blocks, n_string_blocks, n_float_blocks, n_cons_blocks)
+ (n_vectors, n_symbol_blocks, n_marker_blocks): Remove.
+ These were 'int' variables that could overflow on 64-bit hosts;
+ they were never used, so remove them instead of repairing them.
+ (nzombies, ngcs, max_live, max_zombies): Now EMACS_INT, not 'int'.
+ (inhibit_garbage_collection): Set gc_cons_threshold to max value.
+ Previously, this ceilinged at INT_MAX, but that doesn't work on
+ 64-bit machines.
+ (allocate_pseudovector): Don't use EMACS_INT when int would do.
+
+ * alloc.c (Fmake_bool_vector): Don't assume vector size fits in int.
+ (allocate_vectorlike): Check for ptrdiff_t overflow.
+ (mark_vectorlike, mark_char_table, mark_object): Avoid EMACS_UINT
+ when a (possibly-narrower) signed value would do just as well.
+ We prefer using signed arithmetic, to avoid comparison confusion.
+
+ * alloc.c: Catch some string size overflows that we were missing.
+ (XMALLOC_OVERRUN_CHECK_SIZE) [!XMALLOC_OVERRUN_CHECK]: Define to 0,
+ for convenience in STRING_BYTES_MAX.
+ (STRING_BYTES_MAX): New macro, superseding the old one in lisp.h.
+ The definition here is exact; the one in lisp.h was approximate.
+ (allocate_string_data): Check for string overflow. This catches
+ some instances we weren't catching before. Also, it catches
+ size_t overflow on (unusual) hosts where SIZE_MAX <= min
+ (PTRDIFF_MAX, MOST_POSITIVE_FIXNUM), e.g., when size_t is 32 bits
+ and ptrdiff_t and EMACS_INT are both 64 bits.
+
+ * character.c, coding.c, doprnt.c, editfns.c, eval.c:
+ All uses of STRING_BYTES_MAX replaced by STRING_BYTES_BOUND.
+ * lisp.h (STRING_BYTES_BOUND): Renamed from STRING_BYTES_MAX.
+
+ * character.c (string_escape_byte8): Fix nbytes/nchars typo.
+
+ * alloc.c (Fmake_string): Check for out-of-range init.
+
+2011-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Fdefvaralias): Also mark the target as variable-special-p.
+
+2011-06-14 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xfns.c (x_set_scroll_bar_default_width): Remove argument to
+ xg_get_default_scrollbar_width.
+
+ * gtkutil.c: Include emacsgtkfixed.h if HAVE_GTK3.
+ (int_gtk_range_get_value): Move to the scroll bar part of the file.
+ (style_changed_cb): Call update_theme_scrollbar_width and call
+ x_set_scroll_bar_default_width and xg_frame_set_char_size for
+ all frames (Bug#8505).
+ (xg_create_frame_widgets): Call emacs_fixed_new if HAVE_GTK3 (Bug#8505).
+ Call gtk_window_set_resizable if HAVE_GTK3.
+ (x_wm_set_size_hint): Call emacs_fixed_set_min_size with min width
+ and height if HAVE_GTK3 (Bug#8505).
+ (scroll_bar_width_for_theme): New variable.
+ (update_theme_scrollbar_width): New function.
+ (xg_get_default_scrollbar_width): Move code to
+ update_theme_scrollbar_width, just return scroll_bar_width_for_theme.
+ (xg_initialize): Call update_theme_scrollbar_width.
+
+ * gtkutil.h (xg_get_default_scrollbar_width): Remove argument.
+
+ * emacsgtkfixed.c, emacsgtkfixed.h: New files.
+
+2011-06-12 Martin Rudalics <rudalics@gmx.at>
+
+ * frame.c (make_frame): Call other_buffer_safely instead of
+ other_buffer.
+
+ * window.c (temp_output_buffer_show): Call display_buffer with
+ second argument Vtemp_buffer_show_specifiers and reset latter
+ immediately after the call.
+ (Vtemp_buffer_show_specifiers): New variable.
+ (auto_window_vscroll_p, next_screen_context_lines)
+ (Vscroll_preserve_screen_position): Remove leading asterisks from
+ doc-strings.
+
+2011-06-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix minor problems found by GCC 4.6.0 static checking.
+ * buffer.c (Qclone_number): Remove for now, as it's unused.
+ (record_buffer, Funrecord_buffer): Rename local to avoid shadowing.
+ (record_buffer): Remove unused local.
+ * frame.c (other_visible_frames, frame_buffer_list): Now static.
+ (set_frame_buffer_list): Remove; unused.
+ * frame.h (other_visible_frames): Remove decl.
+ * keyboard.h (menu_items_inuse): Declare only if USE_GTK || USE_MOTIF.
+ * lisp.h (frame_buffer_list, set_frame_buffer_list): Remove decls.
+ (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): Declare only
+ if HAVE_GPM.
+ * menu.c (menu_items_inuse): Now static unless USE_GTK || USE_MOTIF.
+ * process.c (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
+ Define only if HAVE_GPM.
+ * widget.c (EmacsFrameResize, emacsFrameClassRec): Now static.
+ (update_hints_inhibit): Remove; never set. All uses removed.
+ * widgetprv.h (emacsFrameClassRec): Remove decl.
+ * window.c (delete_deletable_window): Now returns void, since it
+ wasn't returning anything.
+ (compare_window_configurations): Remove unused locals.
+ * xfns.c (x_set_scroll_bar_default_width): Remove unused locals.
+ * xmenu.c (x_menu_set_in_use): Define only if USE_GTK || USE_MOTIF.
+ (dialog_selection_callback) [!USE_GTK]: Prefer intptr_t for integers
+ the same widths as pointers. This follows up on the 2011-05-06 patch.
+ * xterm.c (x_alloc_lighter_color_for_widget): Define only if USE_LUCID.
+ * xterm.h: Likewise.
+ (x_menu_set_in_use): Declare only if USE_GTK || USE_MOTIF.
+
+2011-06-12 Juanma Barranquero <lekktu@gmail.com>
- * dispextern.h (bidi_push_it, bidi_pop_it): Add prototypes.
+ * makefile.w32-in: Update dependencies.
+ (LISP_H): Add lib/intprops.h.
+
+2011-06-11 Chong Yidong <cyd@stupidchicken.com>
+
+ * image.c (gif_load): Add animation frame delay to the metadata.
+ (syms_of_image): Use DEFSYM. New symbol `delay'.
+
+2011-06-11 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (delete_deletable_window): Re-add.
+ (Fset_window_configuration): Rewrite to handle dead buffers and
+ consequently deletable windows.
+ (window_tree, Fwindow_tree): Remove. Supply functionality in
+ window.el.
+ (compare_window_configurations): Simplify code.
+
+2011-06-11 Andreas Schwab <schwab@linux-m68k.org>
+
+ * image.c (imagemagick_load_image): Fix type mismatch.
+ (Fimagemagick_types): Likewise.
+
+ * window.h (replace_buffer_in_windows): Declare.
+
+2011-06-11 Martin Rudalics <rudalics@gmx.at>
+
+ * buffer.c: New Lisp objects Qbuffer_list_update_hook and
+ Qclone_number. Remove external declaration of Qdelete_window.
+ (Fbuffer_list): Rewrite doc-string. Minor restructuring of
+ code.
+ (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): Run
+ Qbuffer_list_update_hook if allowed.
+ (Fother_buffer): Rewrite doc-string. Major rewrite for new
+ buffer list implementation.
+ (other_buffer_safely): New function.
+ (Fkill_buffer): Replace call to replace_buffer_in_all_windows by
+ calls to replace_buffer_in_windows and
+ replace_buffer_in_windows_safely. Run Qbuffer_list_update_hook
+ if allowed.
+ (record_buffer): Inhibit quitting and rewrite using quittable
+ functions. Run Qbuffer_list_update_hook if allowed.
+ (Frecord_buffer, Funrecord_buffer): New functions.
+ (switch_to_buffer_1, Fswitch_to_buffer): Remove. Move
+ switch-to-buffer to window.el.
+ (bury-buffer): Move to window.el.
+ (Vbuffer_list_update_hook): New variable.
+
+ * lisp.h (other_buffer_safely): Add prototype in buffer.c
+ section.
+
+ * window.h (resize_frame_windows): Move up in code.
+ (Fwindow_frame): Remove EXFUN.
+ (replace_buffer_in_all_windows): Remove prototype.
+ (replace_buffer_in_windows_safely): Add prototype.
+
+ * window.c: Declare Qdelete_window static again. Move down
+ declaration of select_count.
+ (Fnext_window, Fprevious_window): Rewrite doc-strings.
+ (Fother_window): Move to window.el.
+ (window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER
+ cases. Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case.
+ (Fdelete_windows_on, Freplace_buffer_in_windows): Move to
+ window.el.
+ (replace_buffer_in_windows): Implement by calling
+ Qreplace_buffer_in_windows.
+ (replace_buffer_in_all_windows): Remove with some functionality
+ moved into replace_buffer_in_windows_safely.
+ (replace_buffer_in_windows_safely): New function.
+ (select_window_norecord, select_frame_norecord): Move in front
+ of run_window_configuration_change_hook. Remove now obsolete
+ declarations.
+ (Fset_window_buffer): Rewrite doc-string. Call
+ Qrecord_window_buffer.
+ (keys_of_window): Move binding for other-window to window.el.
+
+2011-06-11 Chong Yidong <cyd@stupidchicken.com>
+
+ * dispextern.h (struct image): Replace data member, whose int_val
+ and ptr_val fields were not used by anything, with a single
+ lisp_val object.
+
+ * image.c (Fimage_metadata, make_image, mark_image, tiff_load)
+ (gif_clear_image, gif_load, imagemagick_load_image)
+ (gs_clear_image, gs_load): Callers changed.
+
+2011-06-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * buffer.h: Include <time.h>, for time_t.
+ Needed to build on FreeBSD 8.2. Problem reported by Herbert J. Skuhra.
+
+ Fix minor problems found by static checking.
+
+ * image.c (PixelGetMagickColor): Declare if ImageMagick headers don't.
+
+ Make identifiers static if they are not used in other modules.
+ * data.c (Qcompiled_function, Qframe, Qvector):
+ * image.c (QimageMagick, Qsvg):
+ * minibuf.c (Qmetadata):
+ * window.c (resize_window_check, resize_root_window): Now static.
+ * window.h (resize_window_check, resize_root_window): Remove decls.
+
+ * window.c (window_deletion_count, delete_deletable_window):
+ Remove; unused.
+ (window_body_lines): Now static.
+ (Fdelete_other_windows_internal): Mark vars as initialized.
+ Make sure 'resize_failed' is initialized.
+ (run_window_configuration_change_hook): Rename local to avoid shadowing.
+ (resize_window_apply): Remove unused local.
+ * window.h (delete_deletable_window): Remove decl.
+
+ * image.c (gif_load, svg_load_image): Rename locals to avoid shadowing.
+ (imagemagick_load_image): Fix pointer signedness problem by changing
+ last arg from unsigned char * to char *. All uses changed.
+ Also, fix a local for similar reasons.
+ Remove unused locals. Remove locals to avoid shadowing.
+ (fn_rsvg_handle_free): Remove; unused.
+ (svg_load, svg_load_image): Fix pointer signedness problem.
+ (imagemagick_load_image): Don't use garbage pointer image_wand.
+
+ * ftfont.c (ftfont_get_metrics, ftfont_drive_otf): Remove unused locals.
+
+2011-06-10 Chong Yidong <cyd@stupidchicken.com>
+
+ * image.c (gif_load): Fix omitted cast error introduced by
+ 2011-06-06 change.
+
+2011-06-10 Martin Rudalics <rudalics@gmx.at>
+
+ * window.h (resize_proportionally, orig_total_lines)
+ (orig_top_line): Remove from window structure.
+ (set_window_height, set_window_width, change_window_heights)
+ (Fdelete_window): Remove prototypes.
+ (resize_frame_windows): Remove duplicate declaration.
- * bidi.c (bidi_push_it, bidi_pop_it): New functions.
- (bidi_initialize): Initialize the bidi cache start stack pointer.
- (bidi_cache_ensure_space): New function, refactored from part of
- bidi_cache_iterator_state.
+2011-06-10 Eli Zaretskii <eliz@gnu.org>
-2011-06-18 Eli Zaretskii <eliz@gnu.org>
+ * window.h (resize_frame_windows, resize_window_check)
+ (delete_deletable_window, resize_root_window)
+ (resize_frame_windows): Declare prototypes.
+
+ * window.c (resize_window_apply): Make definition be "static" to
+ match the prototype.
+
+2011-06-10 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c: Remove declarations of Qwindow_size_fixed,
+ window_min_size_1, window_min_size_2, window_min_size,
+ size_window, window_fixed_size_p, enlarge_window, delete_window.
+ Remove static from declaration of Qdelete_window, it's
+ temporarily needed by Fbury_buffer.
+ (replace_window): Don't assign orig_top_line and
+ orig_total_lines.
+ (Fdelete_window, delete_window): Remove. Window deletion is
+ handled by window.el.
+ (window_loop): Remove DELETE_OTHER_WINDOWS case. Replace
+ Fdelete_window calls with calls to Qdelete_window.
+ (Fdelete_other_windows): Remove. Deleting other windows is
+ handled by window.el.
+ (window_fixed_size_p): Remove. Fixed-sizeness of windows is
+ handled in window.el.
+ (window_min_size_2, window_min_size_1, window_min_size): Remove.
+ Window minimum sizes are handled in window.el.
+ (shrink_windows, size_window, set_window_height)
+ (set_window_width, change_window_heights, window_height)
+ (window_width, CURBEG, CURSIZE, enlarge_window)
+ (adjust_window_trailing_edge, Fadjust_window_trailing_edge)
+ (Fenlarge_window, Fshrink_window): Remove. Window resizing is
+ handled in window.el.
+ (make_dummy_parent): Rename to make_parent_window and give it a
+ second argument horflag.
+ (make_window): Don't set resize_proportionally any more.
+ (Fsplit_window): Remove. Windows are split in window.el.
+ (save_restore_action, save_restore_orig_size)
+ (shrink_window_lowest_first, save_restore_orig_size): Remove.
+ Resize mini windows in window.el.
+ (grow_mini_window, shrink_mini_window): Implement by calling
+ Qresize_root_window_vertically, resize_window_check and
+ resize_window_apply.
+ (saved_window, Fset_window_configuration, save_window_save): Do
+ not handle orig_top_line, orig_total_lines, and
+ resize_proportionally.
+ (window_min_height, window_min_width): Move to window.el.
+ (keys_of_window): Move bindings for delete-other-windows,
+ split-window, delete-window and enlarge-window to window.el.
+
+ * buffer.c: Temporarily extern Qdelete_window.
+ (Fbury_buffer): Temporarily call Qdelete_window instead of
+ Fdelete_window (Fbury_buffer will move to window.el soon).
+
+ * frame.c (set_menu_bar_lines_1): Remove code handling
+ orig_top_line and orig_total_lines.
+
+ * dispnew.c (adjust_frame_glyphs_initially): Don't use
+ set_window_height but set heights directly.
+ (change_frame_size_1): Use resize_frame_windows.
+
+ * xdisp.c (init_xdisp): Don't use set_window_height but set
+ heights directly.
+
+ * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): Use
+ resize_frame_windows instead of change_window_heights and run
+ run_window_configuration_change_hook.
+
+ * w32fns.c (x_set_tool_bar_lines): Use resize_frame_windows
+ instead of change_window_heights and run
+ run_window_configuration_change_hook.
+
+2011-06-09 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (replace_window): Rename second argument REPLACEMENT to
+ NEW. New third argument SETFLAG. Rewrite.
+ (delete_window, make_dummy_parent): Call replace_window with
+ third argument 1.
+ (window_list_1): Move down in code.
+ (run_window_configuration_change_hook): Move set_buffer part
+ before select_frame_norecord part in order to unwind correctly.
+ Rename count1 to count.
+ (recombine_windows, delete_deletable_window, resize_root_window)
+ (Fdelete_other_windows_internal)
+ (Frun_window_configuration_change_hook, make_parent_window)
+ (resize_window_check, resize_window_apply, Fresize_window_apply)
+ (resize_frame_windows, Fsplit_window_internal)
+ (Fdelete_window_internal, Fresize_mini_window_internal): New
+ functions.
+ (syms_of_window): New variables Vwindow_splits and Vwindow_nest.
+
+2011-06-08 Martin Rudalics <rudalics@gmx.at>
+
+ * window.h (window): Add some new members to window structure -
+ normal_lines, normal_cols, new_total, new_normal, clone_number,
+ splits, nest, prev_buffers, next_buffers.
+ (WINDOW_TOTAL_SIZE): Move here from window.c.
+ (MIN_SAFE_WINDOW_WIDTH, MIN_SAFE_WINDOW_HEIGHT): Define here.
+
+ * window.c (Fwindow_height, Fwindow_width, Fwindow_full_width_p):
+ Remove.
+ (make_dummy_parent): Set new members of windows structure.
+ (make_window): Move down in code. Handle new members of window
+ structure.
+ (Fwindow_clone_number, Fwindow_splits, Fset_window_splits)
+ (Fwindow_nest, Fset_window_nest, Fwindow_new_total)
+ (Fwindow_normal_size, Fwindow_new_normal, Fwindow_prev_buffers)
+ (Fset_window_prev_buffers, Fwindow_next_buffers)
+ (Fset_window_next_buffers, Fset_window_clone_number): New
+ functions.
+ (Fwindow_hscroll, Fwindow_at, Fwindow_point, Fwindow_start)
+ (Fwindow_end, Fwindow_line_height, Fset_window_dedicated_p):
+ Doc-string fixes.
+ (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter):
+ Argument WINDOW can be now internal window too.
+ (Fwindow_use_time): Move up in code.
+ (Fget_buffer_window): Rename argument FRAME to ALL-FRAMES.
+ Rewrite doc-string.
+ (Fset_window_configuration, saved_window)
+ (Fcurrent_window_configuration, save_window_save): Handle new
+ members of window structure.
+ (WINDOW_TOTAL_SIZE, MIN_SAFE_WINDOW_WIDTH)
+ (MIN_SAFE_WINDOW_HEIGHT): Move to window.h.
+ (syms_of_window): New Lisp objects Qrecord_window_buffer,
+ Qwindow_deletable_p, Qdelete_window, Qreplace_buffer_in_windows,
+ Qget_mru_window, Qresize_root_window,
+ Qresize_root_window_vertically, Qsafe, Qabove, Qbelow,
+ Qauto_buffer_name; staticpro them.
+
+2011-06-07 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (Fwindow_total_size, Fwindow_left_column)
+ (Fwindow_top_line, window_body_lines, Fwindow_body_size)
+ (Fwindow_list_1): New functions.
+ (window_box_text_cols): Replace with window_body_cols.
+ (Fwindow_width, Fscroll_left, Fscroll_right): Use
+ window_body_cols instead of window_box_text_cols.
+ (delete_window, Fset_window_configuration): Call
+ delete_all_subwindows with window as argument.
+ (delete_all_subwindows): Take a window as argument and not a
+ structure. Rewrite.
+ (window_loop): Remove handling of GET_LRU_WINDOW and
+ GET_LARGEST_WINDOW.
+ (Fget_lru_window, Fget_largest_window): Move to window.el.
+
+ * window.h: Extern window_body_cols instead of
+ window_box_text_cols. delete_all_subwindows now takes a
+ Lisp_Object as argument.
+
+ * indent.c (compute_motion, Fcompute_motion): Use
+ window_body_cols instead of window_box_text_cols.
+
+ * frame.c (delete_frame): Call delete_all_subwindows with root
+ window as argument.
+
+2011-06-07 Daniel Colascione <dan.colascione@gmail.com>
+
+ * fns.c (Fputhash): Document return value.
+
+2011-06-06 Chong Yidong <cyd@stupidchicken.com>
+
+ * image.c (gif_load): Implement gif89a spec "no disposal" method.
+
+2011-06-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Cons<->int and similar integer overflow fixes (Bug#8794).
+
+ Check for overflow when converting integer to cons and back.
+ * charset.c (Fdefine_charset_internal, Fdecode_char):
+ Use cons_to_unsigned to catch overflow.
+ (Fencode_char): Use INTEGER_TO_CONS.
+ * composite.h (LGLYPH_CODE): Use cons_to_unsigned.
+ (LGLYPH_SET_CODE): Use INTEGER_TO_CONS.
+ * data.c (long_to_cons, cons_to_long): Remove.
+ (cons_to_unsigned, cons_to_signed): New functions.
+ These signal an error for invalid or out-of-range values.
+ * dired.c (Ffile_attributes): Use INTEGER_TO_CONS.
+ * fileio.c (Fset_visited_file_modtime): Use CONS_TO_INTEGER.
+ * font.c (Ffont_variation_glyphs):
+ * fontset.c (Finternal_char_font): Use INTEGER_TO_CONS.
+ * lisp.h: Include <intprops.h>.
+ (INTEGER_TO_CONS, CONS_TO_INTEGER): New macros.
+ (cons_to_signed, cons_to_unsigned): New decls.
+ (long_to_cons, cons_to_long): Remove decls.
+ * undo.c (record_first_change): Use INTEGER_TO_CONS.
+ (Fprimitive_undo): Use CONS_TO_INTEGER.
+ * xfns.c (Fx_window_property): Likewise.
+ * xselect.c: Include <limits.h>.
+ (x_own_selection, selection_data_to_lisp_data):
+ Use INTEGER_TO_CONS.
+ (x_handle_selection_request, x_handle_selection_clear)
+ (x_get_foreign_selection, Fx_disown_selection_internal)
+ (Fx_get_atom_name, x_send_client_event): Use CONS_TO_INTEGER.
+ (lisp_data_to_selection_data): Use cons_to_unsigned.
+ (x_fill_property_data): Use cons_to_signed.
+ Report values out of range.
+
+ Check for buffer and string overflow more precisely.
+ * buffer.h (BUF_BYTES_MAX): New macro.
+ * lisp.h (STRING_BYTES_MAX): New macro.
+ * alloc.c (Fmake_string):
+ * character.c (string_escape_byte8):
+ * coding.c (coding_alloc_by_realloc):
+ * doprnt.c (doprnt):
+ * editfns.c (Fformat):
+ * eval.c (verror):
+ Use STRING_BYTES_MAX, not MOST_POSITIVE_FIXNUM,
+ since they may not be the same number.
+ * editfns.c (Finsert_char):
+ * fileio.c (Finsert_file_contents):
+ Likewise for BUF_BYTES_MAX.
+
+ * image.c: Use ptrdiff_t, not int, for sizes.
+ (slurp_file): Switch from int to ptrdiff_t.
+ All uses changed.
+ (slurp_file): Check that file size fits in both size_t (for
+ malloc) and ptrdiff_t (for sanity and safety).
- * xdisp.c (tool_bar_lines_needed, redisplay_tool_bar)
- (display_menu_bar): Force left-to-right direction. Add a FIXME
- comment for making that be controlled by a user option.
+ * fileio.c (Fverify_visited_file_modtime): Avoid time overflow
+ if b->modtime has its maximal value.
- * bidi.c (bidi_move_to_visually_next): GCPRO the Lisp string we
- are iterating.
+ * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits.
- * term.c (produce_glyphs): Add IT_GLYPHLESS to the values of
- it->what accepted by the xassert. Fixes a gratuitous crash in an
- Emacs built with -DXASSERTS.
+ Don't assume time_t can fit into int.
+ * buffer.h (struct buffer.modtime): Now time_t, not int.
+ * fileio.c (Fvisited_file_modtime): No need for time_t cast now.
+ * undo.c (Fprimitive_undo): Use time_t, not int, for time_t value.
- * .gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector)
- (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors
- and vector-like objects.
+ Minor fixes for signed vs unsigned integers.
+ * character.h (MAYBE_UNIFY_CHAR):
+ * charset.c (maybe_unify_char):
+ * keyboard.c (read_char, reorder_modifiers):
+ XINT -> XFASTINT, since the integer must be nonnegative.
+ * ftfont.c (ftfont_spec_pattern):
+ * keymap.c (access_keymap, silly_event_symbol_error):
+ XUINT -> XFASTINT, since the integer must be nonnegative.
+ (Fsingle_key_description, preferred_sequence_p): XUINT -> XINT,
+ since it makes no difference and we prefer signed.
+ * keyboard.c (record_char): Use XUINT when all the neighbors do.
+ (access_keymap): NATNUMP -> INTEGERP, since the integer must be
+ nonnegative.
- * xdisp.c (face_before_or_after_it_pos): Support bidi iteration.
- (next_element_from_c_string): Handle the case of the first string
- character that is not the first one in the visual order.
- (get_visually_first_element): New function, refactored from common
- parts of next_element_from_buffer, next_element_from_string, and
- next_element_from_c_string.
+2011-06-06 Stefan Monnier <monnier@iro.umontreal.ca>
-2011-06-16 Eli Zaretskii <eliz@gnu.org>
+ * window.h (Fwindow_frame): Declare.
- * xdisp.c (init_iterator): Don't initialize it->bidi_p for strings
- here.
- (reseat_to_string): Initialize it->bidi_p for strings here.
- (next_element_from_string, next_element_from_c_string)
- (next_element_from_buffer): Add xassert's for correspondence
- between IT's object being iterated and it->bidi_it.string
- structure.
+2011-06-06 Paul Eggert <eggert@cs.ucla.edu>
- * bidi.c (bidi_level_of_next_char): Fix the logic for looking up
- the sentinel state in the cache.
+ * alloc.c: Simplify handling of large-request failures (Bug#8800).
+ (SPARE_MEMORY): Always define.
+ (LARGE_REQUEST): Remove.
+ (memory_full): Use SPARE_MEMORY rather than LARGE_REQUEST.
-2011-06-13 Eli Zaretskii <eliz@gnu.org>
+2011-06-06 Martin Rudalics <rudalics@gmx.at>
- * xdisp.c (compute_display_string_pos)
- (compute_display_string_end, reseat_to_string): Don't assume
- it->bidi_it.string.s always points to string.lstring's data.
+ * lisp.h: Move EXFUNS for Fframe_root_window,
+ Fframe_first_window and Fset_frame_selected_window to window.h.
- * bidi.c (bidi_fetch_char, bidi_paragraph_init)
- (bidi_resolve_explicit_1, bidi_resolve_explicit)
- (bidi_resolve_weak, bidi_level_of_next_char): Don't assume
- string.s always points to string.lstring's data.
+ * window.h: Move EXFUNS for Fframe_root_window,
+ Fframe_first_window and Fset_frame_selected_window here from
+ lisp.h.
-2011-06-11 Eli Zaretskii <eliz@gnu.org>
+ * frame.c (Fwindow_frame, Fframe_first_window)
+ (Fframe_root_window, Fframe_selected_window)
+ (Fset_frame_selected_window): Move to window.c.
+ (Factive_minibuffer_window): Move to minibuf.c.
+ (Fother_visible_frames_p): New function.
- * xdisp.c (set_iterator_to_next): Advance string position
- correctly when padding it with blanks.
+ * minibuf.c (Factive_minibuffer_window): Move here from frame.c.
-2011-06-11 Eli Zaretskii <eliz@gnu.org>
+ * window.c (decode_window, decode_any_window): Move up in code.
+ (Fwindowp, Fwindow_live_p): Rewrite doc-strings.
+ (inhibit_frame_unsplittable): Remove unused variable.
+ (Fwindow_buffer): Move up and rewrite doc-string.
+ (Fwindow_parent, Fwindow_vchild, Fwindow_hchild, Fwindow_next)
+ (Fwindow_prev): New functions.
+ (Fwindow_frame): Move here from frame.c. Accept any window as
+ argument.
+ (Fframe_root_window, Fframe_first_window)
+ (Fframe_selected_window): Move here from frame.c. Accept frame
+ or arbitrary window as argument. Update doc-strings.
+ (Fminibuffer_window): Move up in code.
+ (Fwindow_minibuffer_p): Move up in code and simplify.
+ (Fset_frame_selected_window): Move here from frame.c.
+ Marginal rewrite.
+ (Fselected_window, select_window, Fselect_window): Move up in
+ code. Minor doc-string fixes.
- * xdisp.c (next_element_from_buffer): Improve commentary for when
- the iterator is before prev_stop.
- (init_iterator): Initialize bidi_p from the default value of
- bidi-display-reordering, not from buffer-local value. Use the
- buffer-local value only if initializing for buffer iteration.
- (handle_invisible_prop): Support invisible properties on strings
- that are being bidi-reordered.
- (reseat_to_string): Enable bidi-related code.
- (set_iterator_to_next): Support bidi reordering of C strings and
- Lisp strings.
- (next_element_from_string): Support bidi reordering of Lisp
- strings.
- (handle_stop_backwards): Support Lisp strings as well.
- (display_mode_line, display_mode_element): Temporarily force L2R
- paragraph direction.
- (display_string): Support display of R2L glyph rows. Use
- IT_STRING_CHARPOS when displaying from a Lisp string.
+2011-06-06 Paul Eggert <eggert@cs.ucla.edu>
-2011-06-10 Eli Zaretskii <eliz@gnu.org>
+ * alloc.c (memory_full) [SYSTEM_MALLOC]: Port to MacOS (Bug#8800).
+ Do not assume that spare memory exists; that assumption is valid
+ only if SYSTEM_MALLOC.
+ (LARGE_REQUEST): New macro, so that the issue of large requests
+ is separated from the issue of spare memory.
- * xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
- itb.string.lstring.
- (compute_display_string_pos, compute_display_string_end):
- Fix calculation of the object to scan. Fixes an error when using
- arrow keys.
- (next_element_from_buffer): Don't abort when IT_CHARPOS is before
- base_level_stop; instead, set base_level_stop to BEGV. Fixes
- crashes in vertical-motion.
+2011-06-05 Andreas Schwab <schwab@linux-m68k.org>
-2011-06-09 Eli Zaretskii <eliz@gnu.org>
+ * editfns.c (Fformat): Correctly handle zero flag with hexadecimal
+ format. (Bug#8806)
- * xdisp.c (compute_display_string_pos): First arg is now struct
- `text_pos *'; all callers changed. Support display properties on
- Lisp strings.
- (compute_display_string_end): Support display properties on Lisp
- strings.
- (init_iterator, reseat_1, reseat_to_string): Initialize the
- string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS
- when iterating on a string not from display properties).
+ * gtkutil.c (xg_get_default_scrollbar_width): Avoid warning.
- * bidi.c (bidi_fetch_char): Support strings with display
- properties.
+ * xfns.c (x_set_scroll_bar_default_width): Move declarations
+ before statements.
- * dispextern.h (struct bidi_string_data): New member bufpos.
- (compute_display_string_pos): Update prototype.
+2011-06-05 Jan Djärv <jan.h.d@swipnet.se>
-2011-06-09 Eli Zaretskii <eliz@gnu.org>
+ * gtkutil.c (xg_get_default_scrollbar_width): New function.
- * bidi.c (bidi_level_of_next_char): Allow the sentinel "position"
- to pass the test for valid cached positions.
+ * gtkutil.h: Declare xg_get_default_scrollbar_width.
- * xdisp.c (init_iterator): Call bidi_init_it only of a valid
- buffer position was specified. Initialize paragraph_embedding to
- L2R.
- (reseat_to_string): Initialize the bidi iterator (for now ifdef'ed
- out).
- (display_string): If we need to ignore text properties of
- LISP_STRING, set IT->stop_charpos to IT->end_charpos. (The
- original value of -1 will not work with bidi.)
+ * xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get
+ min width by calling x_set_scroll_bar_default_width (Bug#8505).
- * dispextern.h (struct bidi_string_data): New member lstring.
+2011-06-05 Juanma Barranquero <lekktu@gmail.com>
-2011-06-09 Eli Zaretskii <eliz@gnu.org>
+ * xdisp.c (single_display_spec_intangible_p): Remove declaration.
- * xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
- itb.string.s to NULL (avoids a crash in bidi_paragraph_init).
+2011-06-04 Chong Yidong <cyd@stupidchicken.com>
-2011-06-08 Eli Zaretskii <eliz@gnu.org>
+ * xselect.c (x_clipboard_manager_save): Remove redundant arg.
+ (x_clipboard_manager_save): Add return value.
+ (x_clipboard_manager_error_1, x_clipboard_manager_error_2):
+ New error handlers.
+ (x_clipboard_manager_save_frame, x_clipboard_manager_save_all):
+ Obey Vx_select_enable_clipboard_manager. Catch errors in
+ x_clipboard_manager_save (Bug#8779).
+ (Vx_select_enable_clipboard_manager): New variable.
+ (x_get_foreign_selection): Reduce scope of x_catch_errors (Bug#8790).
- * bidi.c (bidi_paragraph_info): Delete unused struct.
- (bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT.
- (bidi_cache_start): New variable.
- (bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not
- to zero.
- (bidi_cache_fetch_state, bidi_cache_search)
- (bidi_cache_find_level_change, bidi_cache_iterator_state)
- (bidi_cache_find, bidi_peek_at_next_level)
- (bidi_level_of_next_char, bidi_find_other_level_edge)
- (bidi_move_to_visually_next): Compare cache index with
- bidi_cache_start rather than with zero.
- (bidi_fetch_char): Accept new argument STRING; all callers
- changed. Support iteration over a string.
- (bidi_paragraph_init, bidi_resolve_explicit_1)
- (bidi_resolve_explicit, bidi_resolve_weak)
- (bidi_level_of_next_char, bidi_move_to_visually_next): Support
- iteration over a string.
- (bidi_set_sor_type, bidi_resolve_explicit_1)
- (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit
- can now be zero (for strings); special values 0 and -1 were
- changed to -1 and -2, respectively.
- (bidi_char_at_pos): New function.
- (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak):
- Call it instead of FETCH_MULTIBYTE_CHAR.
- (bidi_move_to_visually_next): Abort if charpos or bytepos were not
- initialized to valid values.
- (bidi_init_it): Don't initialize charpos and bytepos with invalid
- values.
+2011-06-04 Dan Nicolaescu <dann@ics.uci.edu>
- * xdisp.c (compute_display_string_pos)
- (compute_display_string_end): Accept additional argument STRING.
- (init_iterator, reseat_1): Initialize bidi_it->string.s to NULL.
- (reseat_to_string): Initialize bidi_it->string.s and
- bidi_it->string.schars.
+ * emacs.c (main): Warn when starting a GTK emacs in daemon mode.
- * dispextern.h (struct bidi_string_data): New structure.
- (struct bidi_it): New member `string'. Make flag members be 1-bit
- fields, and put them last in the struct.
- (compute_display_string_pos, compute_display_string_end): Update
- prototypes.
+2011-06-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * fringe.c (update_window_fringes): Don't update overlay arrow bitmap
+ in the current matrix if keep_current_p is non-zero.
2011-06-04 Eli Zaretskii <eliz@gnu.org>