-2011-03-15 Ralph Schleicher <rs@ralph-schleicher.de>
+ 2011-03-19 Eli Zaretskii <eliz@gnu.org>
+
+ * emerge.el (emerge-metachars): Separate value for ms-dos and
+ windows-nt systems.
+ (emerge-protect-metachars): Quote correctly for ms-dos and
+ windows-nt systems.
+
-2011-03-12 Juanma Barranquero <lekktu@gmail.com>
++2011-03-19 Ralph Schleicher <rs@ralph-schleicher.de>
+
+ * info.el (info-initialize): Replace all uses of `:' with
+ path-separator for compatibility with non-Unix systems.
+ Cache quoting of path-separator. (Bug#8258)
+
-2011-03-12 Michael Albinus <michael.albinus@gmx.de>
++2011-03-19 Juanma Barranquero <lekktu@gmail.com>
+
+ * avoid.el (mouse-avoidance-mode, mouse-avoidance-nudge-dist)
+ (mouse-avoidance-threshold, mouse-avoidance-banish-destination)
+ (mouse-avoidance-mode): Fix typos in docstrings.
+
+2011-03-19 Chong Yidong <cyd@stupidchicken.com>
- * net/tramp.el (tramp-progress-reporter-update): Use
- `tramp-compat-funcall'.
- (tramp-handle-start-file-process): Use `tramp-compat-process-get'.
- (tramp-handle-insert-file-contents): Make `file-remote-p' call
- compatible.
- (tramp-open-connection-setup-interactive-shell): Use
- `tramp-compat-process-put'.
+ * startup.el (package-subdirectory-regexp): Move from package.el.
+ Omit \\` and \\', and let callers add them.
- * net/tramp-compat.el (tramp-compat-process-get)
- (tramp-compat-process-put): New defuns.
+ * emacs-lisp/package.el (package-strip-version)
+ (package-load-all-descriptors): Add \\` and \\' to
+ package-subdirectory-regexp before using it.
+ (package-untar-buffer): New arg DIR; ensure that file untars only
+ into this expected directory. Remove superfluous delete-region.
+ (package-unpack): Caller changed.
+ (package-tar-file-info): Use package-subdirectory-regexp.
- * net/trampver.el: Update release number.
+2011-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
-2011-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
+ * vc/diff-mode.el (diff-mode-map): Shadow problematic bindings from
+ diff-mode-shared-map (bug#8284).
+ (diff-mode-shared-map): Re-introduce some bindings that were problematic.
- * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization
- into declaration. Remove redundant and harmful binding.
+2011-03-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
-2011-03-11 Juanma Barranquero <lekktu@gmail.com>
+ * calendar/time-date.el (format-seconds): Use assoc instead of
+ assoc-string, since assoc-string doesn't exist in XEmacs.
- Backport revno:103463 from trunk.
- * emacs-lisp/cl-macs.el (lexical-let*): Fix argument name in docstring.
+2011-03-17 Juanma Barranquero <lekktu@gmail.com>
- Backport revno:103622 from trunk.
- * help-fns.el (describe-variable): Don't complete keywords.
- Suggested by Teodor Zlatanov <tzz@lifelogs.com>.
+ * custom.el (custom-known-themes): Reflow docstring.
+ (custom-theme-load-path): Fix typo in docstring.
+ (load-theme): Fix typo in error message.
+ (custom-available-themes, custom-variable-theme-value):
+ Use `let', not `let*'.
-2011-03-11 Eli Zaretskii <eliz@gnu.org>
+2011-03-17 Jay Belanger <jay.p.belanger@gmail.com>
- * files.el (file-ownership-preserved-p): Pass `integer' as an
- explicit 2nd argument to `file-attributes'. If the file's owner
- is the Administrators group on Windows, and the current user is
- Administrator, consider that a match.
+ * calc/README: Mention inclusion of musical notes.
- * server.el (server-ensure-safe-dir): Consider server directory
- safe on MS-Windows if its owner is the Administrators group while
- the current Emacs user is Administrator. Use `=' to compare
- numerical UIDs, since they could be integers or floats.
+ * calc/calc-units.el (calc-lu-quant): Rename from
+ `calc-logunits-quantity'.
+ (calcFunc-lupquant): Rename from `calcFunc-powerquant'.
+ (calcFunc-lufquant): Rename from `calcFunc-fieldquant'.
+ (calc-db): Rename from `calc-dblevel'.
+ (calcFunc-dbpower): Rename from `calcFunc-dbpowerlevel'.
+ (calcFunc-dbfield): Rename from `calcFunc-dbfieldlevel'.
+ (calc-np): Rename from `calc-nplevel'.
+ (calcFunc-nppower): Rename from `calcFunc-nppowerlevel'.
+ (calcFunc-npfield): Rename from `calcFunc-npfieldlevel'.
+ (calc-lu-plus): Rename from `calc-logunits-add'.
+ (calcFunc-lupadd): Rename from `calcFunc-lupoweradd'.
+ (calcFunc-lufadd): Rename from `calcFunc-lufieldadd'.
+ (calc-lu-minus): Rename from `calc-logunits-sub'.
+ (calcFunc-lupsub): Rename from `calcFunc-lupowersub'.
+ (calcFunc-lufsub): Rename from `calcFunc-lufieldsub'.
+ (calc-lu-times): Rename from `calc-logunits-mul'.
+ (calcFunc-lupmul): Rename from `calcFunc-lupowermul'.
+ (calcFunc-lufmul): Rename from `calcFunc-lufieldmul'.
+ (calc-lu-divide): Rename from `calc-logunits-div'.
+ (calcFunc-lupdiv): Rename from `calcFunc-lupowerdiv'.
+ (calcFunc-lufdiv): Rename from `calcFunc-lufielddiv'.
-2011-03-07 Chong Yidong <cyd@stupidchicken.com>
+ * calc/calc-ext.el (calc-init-extensions): Update the names of the
+ functions being autoloaded.
- * Version 23.3 released.
+ * calc/calc.el (calc-lu-power-reference): Rename from
+ `calc-logunits-power-reference'.
+ (calc-lu-field-reference): Rename from
+ `calc-logunits-field-reference'.
-2011-03-07 Chong Yidong <cyd@stupidchicken.com>
+ * calc/calc-help (calc-l-prefix-help): Mention musical note functions.
- * progmodes/cc-cmds.el (c-beginning-of-statement): Fix 2011-01-31
- change; patch supplied by Alan Mackenzie was applied incorrectly.
+2011-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
-2011-02-26 Eli Zaretskii <eliz@gnu.org>
+ * minibuffer.el (completion-all-sorted-completions):
+ Use :completion-cycle-penalty text property if present.
- * international/mule-cmds.el (set-default-coding-systems): Use the
- -unix variant of encoding in default-keyboard-coding-system.
- (Bug#8122)
+2011-03-16 Ken Manheimer <ken.manheimer@gmail.com>
-2011-02-23 Kenichi Handa <handa@m17n.org>
+ * allout.el (allout-yank-processing): Adjust for new rebulleting
+ regime so bullet being yanked is used without prompting the user
+ for a choice.
- * mail/rmailmm.el (rmail-mime-process-multipart): Do not signal an
- error when a multipart boundary in the nested multipart is found.
+2011-03-16 Juanma Barranquero <lekktu@gmail.com>
-2011-02-22 Kenichi Handa <handa@m17n.org>
+ * startup.el (command-line): Warn the user that _emacs is deprecated.
- * mail/rmail.el (rmail-start-mail): Decode "encoded-words" of
- header components.
+2011-03-16 Juanma Barranquero <lekktu@gmail.com>
-2011-02-19 Kenichi Handa <handa@m17n.org>
+ * progmodes/delphi.el (delphi-search-path, delphi-indent-level)
+ (delphi-verbose, delphi-comment-face, delphi-string-face)
+ (delphi-keyword-face, delphi-ignore-changes, delphi-indent-line)
+ (delphi-mode-abbrev-table, delphi-debug-buffer, delphi-tab)
+ (delphi-find-unit, delphi-find-current-xdef, delphi-fill-comment)
+ (delphi-new-comment-line, delphi-font-lock-defaults)
+ (delphi-debug-mode-map, delphi-mode-syntax-table, delphi-mode):
+ Fix typos in docstrings.
- * mail/rmailmm.el (rmail-mime-find-header-encoding): Be sure to
- get the header copy into the temporary buffer.
- (rmail-mime-insert-decoded-text): Ignore us-ascii.
- (rmail-show-mime): When rmail-mime-coding-system is nil, set
- buffer-file-coding-system to undecided.
+2011-03-15 Ken Manheimer <ken.manheimer@gmail.com>
-2011-02-18 Eli Zaretskii <eliz@gnu.org>
+ * allout.el (allout-make-topic-prefix, allout-rebullet-heading):
+ Invert the roles of character and string values for INSTEAD, so a
+ string is used for the more common case of a defaulting prompt.
- * image-mode.el (image-toggle-display-image): Disable
- require-final-newline in buffers visiting binary image files.
- (Bug#8047)
+2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
- * international/mule-cmds.el (read-char-by-name, ucs-insert):
- Document completion with asterisk and a substring.
+ * progmodes/ruby-mode.el (ruby-backward-sexp):
+ * progmodes/ebrowse.el (ebrowse-draw-file-member-info):
+ * play/gamegrid.el (gamegrid-make-face):
+ * play/bubbles.el (bubbles--grid-width, bubbles--grid-height)
+ (bubbles--colors, bubbles--shift-mode, bubbles--initialize-images):
+ * notifications.el (notifications-notify):
+ * net/xesam.el (xesam-search-engines):
+ * net/quickurl.el (quickurl-list-insert):
+ * vc/vc-hg.el (vc-hg-dir-printer): Fix use of case.
-2011-02-18 Glenn Morris <rgm@gnu.org>
+2011-03-15 Chong Yidong <cyd@stupidchicken.com>
- * files.el (find-file-literally): Doc fix.
+ * startup.el (command-line): Update package subdirectory regexp.
-2011-02-17 Glenn Morris <rgm@gnu.org>
+2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
- * simple.el (rfc822-goto-eoh): Give it a doc-string.
+ * allout.el (allout-abbreviate-flattened-numbering)
+ (allout-mode-deactivate-hook): Fix up obsolescence "date".
- * log-edit.el (log-edit-insert-changelog):
- Fix `log-edit-strip-single-file-name' functionality. (Bug#8057)
+ * subr.el (read-char-choice): Only show the cursor after the prompt,
+ not after the answer.
-2011-02-14 Chong Yidong <cyd@stupidchicken.com>
+2011-03-15 Kevin Ryde <user42@zip.com.au>
- * pgg-gpg.el (pgg-gpg-process-region): Bind
- delete-by-moving-to-trash to nil.
+ * help-fns.el (variable-at-point): Skip leading quotes, if any
+ (bug#8253).
- * pgg-pgp.el (pgg-pgp-process-region, pgg-pgp-verify-region)
- (pgg-pgp-snarf-keys-region):
- * pgg-pgp5.el (pgg-pgp5-process-region, pgg-pgp5-verify-region)
- (pgg-pgp5-snarf-keys-region): Likewise.
+2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
-2011-02-12 Chong Yidong <cyd@stupidchicken.com>
+ * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the
+ warning message.
- * files.el (copy-directory): Revert to pre-2011-01-29 version.
+2011-03-14 Michael Albinus <michael.albinus@gmx.de>
-2011-02-12 Chong Yidong <cyd@stupidchicken.com>
+ * shell.el (shell): When called interactively, offer to change the
+ shell file name on remote hosts.
- * epg.el (epg-delete-output-file, epg-decrypt-string)
- (epg-verify-string, epg-sign-string, epg-encrypt-string): Bind
- delete-by-moving-to-trash to nil.
+2011-03-13 Teodor Zlatanov <tzz@lifelogs.com>
- * epa-file.el (epa-file-insert-file-contents): Likewise.
+ * net/ldap.el (ldap-search-internal): Add `auth-source-search'
+ integration for LDAP parameters. The host, base, user or binddn,
+ and secret tokens can be specified in a netrc file, for instance.
+ This is optional because an `auth-source' parameter must be
+ specified in the search attributes.
-2011-02-10 Glenn Morris <rgm@gnu.org>
+2011-03-13 Juanma Barranquero <lekktu@gmail.com>
- * emacs-lisp/cl-seq.el (union, nunion, intersection)
- (nintersection, set-difference, nset-difference)
- (set-exclusive-or, nset-exclusive-or): Doc fix.
+ * help.el (describe-mode): Link to the mode's definition (bug#8185).
- * ediff-ptch.el (ediff-fixup-patch-map): Doc fix.
+2011-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
-2011-02-08 Glenn Morris <rgm@gnu.org>
+ * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization
+ into declaration. Remove redundant and harmful binding.
- * faces.el (face-attr-match-p): Handle the obsolete :bold and
- :italic props, so that frame-set-background-mode works. (Bug#7966)
+2011-03-12 Eli Zaretskii <eliz@gnu.org>
-2011-02-07 Glenn Morris <rgm@gnu.org>
+ * files.el (file-ownership-preserved-p): Pass `integer' as an
+ explicit 2nd argument to `file-attributes'. If the file's owner
+ is the Administrators group on Windows, and the current user is
+ Administrator, consider that a match.
- * simple.el (next-error): Doc fix.
+ * server.el (server-ensure-safe-dir): Consider server directory
+ safe on MS-Windows if its owner is the Administrators group while
+ the current Emacs user is Administrator. Use `=' to compare
+ numerical UIDs, since they could be integers or floats.
-2011-02-06 Chong Yidong <cyd@stupidchicken.com>
- Thierry Volpiatto <thierry.volpiatto@gmail.com>
+2011-03-12 Juanma Barranquero <lekktu@gmail.com>
- * files.el (copy-directory): New arg COPY-AS-SUBDIR. If nil,
- don't copy as a subdirectory.
+ * vc/vc-bzr.el (vc-bzr-state): Handle bzr 2.3.0 (follow-up to bug#8170).
-2011-02-05 Glenn Morris <rgm@gnu.org>
+2011-03-12 Michael Albinus <michael.albinus@gmx.de>
- * emacs-lisp/cl-macs.el (return-from): Fix doc typo.
+ Sync with Tramp 2.2.1.
-2011-02-04 Glenn Morris <rgm@gnu.org>
+ * net/tramp-sh.el (tramp-methods): Exchange "%k" marker with options.
- * calendar/diary-lib.el (diary-font-lock-keywords):
- Tweak diary-time-regexp match. (Bug#7891)
+ * net/trampver.el: Update release number.
- * progmodes/f90.el (f90-find-tag-default): New function. (Bug#7919)
- (f90-mode): Use it for mode's `find-tag-default-function' property.
+2011-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
-2011-02-03 Glenn Morris <rgm@gnu.org>
+ * progmodes/compile.el (compilation--previous-directory): Fix up
+ various nil/dead-marker mismatches (bug#8014).
+ (compilation-directory-properties, compilation-error-properties):
+ Don't call it at a position past the one we're about to change.
- * ibuf-ext.el (ibuffer-filter-disable): Make it work. (Bug#7969)
+ * emacs-lisp/bytecomp.el (byte-compile-make-obsolete-variable):
+ Disable obsolescence warnings in the file that declares it.
- * faces.el (set-face-attribute): Doc fix. (Bug#2659)
+2011-03-11 Ken Manheimer <ken.manheimer@gmail.com>
-2011-02-02 Stefan Monnier <monnier@iro.umontreal.ca>
+ * allout-widgets.el (allout-widgets-tally): Initialize
+ allout-widgets-tally as a hash table rather than nil to prevent
+ mode-line redisplay warnings.
+ Also, clarify the module description and fix a comment typo.
- * pcomplete.el (pcomplete-here*): Backport fix for mistaken change
- (bug#7959) and (bug#5935).
+2011-03-11 Juanma Barranquero <lekktu@gmail.com>
-2011-01-31 Deniz Dogan <deniz.a.m.dogan@gmail.com>
+ * help-fns.el (describe-variable): Don't complete keywords.
+ Suggested by Teodor Zlatanov <tzz@lifelogs.com>.
- * net/rcirc.el: Clean log filenames (Bug#7933).
- (rcirc-log-write): Use convert-standard-filename.
- (rcirc-log-filename-function): Documentation updates.
+2011-03-10 Chong Yidong <cyd@stupidchicken.com>
-2011-01-31 Alan Mackenzie <acm@muc.de>
+ * emacs-lisp/package.el (package-version-join): Impose a standard
+ string representation for pre/alpha/beta version lists.
+ (package-unpack-single): Standardize the directory name by passing
+ it through package-version-join.
+ (package-strip-rcs-id): Accept any version string that does not
+ signal an error in version-to-list.
- * progmodes/cc-cmds.el (c-forward-over-illiterals):
- Continue parsing if we encounter a naked # (Bug#7595).
- (c-beginning-of-statement): Avoid loop in locating the beginning
- of a macro.
+2011-03-10 Michael Albinus <michael.albinus@gmx.de>
-2011-01-31 Chong Yidong <cyd@stupidchicken.com>
+ * simple.el (delete-trailing-whitespace): Return nil for the
+ benefit of `write-file-functions'.
- * files.el (copy-directory): Fix arguments to recursive call.
+2011-03-10 Glenn Morris <rgm@gnu.org>
-2011-01-29 Daiki Ueno <ueno@unixuser.org>
+ * vc/vc-hg.el (vc-hg-pull, vc-hg-merge-branch): Use vc-hg-program.
- * epg.el (epg--status-KEYEXPIRED, epg--status-KEYREVOKED):
- Don't presume KEYEXPIRED and KEYREVOKED to be a fatal error status
- (Bug#7931).
+ * vc/vc-git.el (vc-git-program): New option.
+ (vc-git-branches, vc-git-pull, vc-git-merge-branch, vc-git-command)
+ (vc-git--call): Use it.
-2011-01-29 Chong Yidong <cyd@stupidchicken.com>
+ * eshell/esh-util.el (eshell-condition-case): Doc fix.
- * files.el (copy-directory): If destination is an existing
- directory, copy into a subdirectory there.
+ * cus-edit.el (Custom-newline): If no button at point, look
+ for a subgroup button at start-of-line. (Bug#2298)
-2011-01-29 Andreas Schwab <schwab@linux-m68k.org>
+ * mail/rmail.el (rmail-msgend, rmail-msgbeg): Doc fixes.
- * emacs-lisp/shadow.el (load-path-shadows-find): Ignore leim-list
- files.
+2011-03-10 Julien Danjou <julien@danjou.info>
-2011-01-28 Chong Yidong <cyd@stupidchicken.com>
+ * avoid.el (mouse-avoidance-ignore-p): Do not move the cursor if
+ `cursor-type' is nil.
- * image-dired.el (image-dired-mouse-display-image): No-op if no
- file is found (Bug#7817).
+2011-03-09 Jay Belanger <jay.p.belanger@gmail.com>
- * mouse.el (mouse-menu-non-singleton): Doc fix (Bug#7801).
+ * calc/calc.el (calc-mode-map): Don't bind "C-_" to `calc-missing-key'.
-2011-01-28 Kenichi Handa <handa@m17n.org>
+2011-03-09 Ken Manheimer <ken.manheimer@gmail.com>
- * international/quail.el (quail-keyboard-layout-alist):
- Remove superfluous SPC for "pc105-uk" (bug#7927).
+ * allout.el Summary: Change so yank of distinctive-bullet items
+ preserves the existing header prefix, rebulleting it if necessary,
+ rather than replacing it. This is necessary for proper operation
+ of cooperative addons like allout-widgets.
+ (allout-make-topic-prefix, allout-rebullet-heading): Change
+ SOLICIT arg to INSTEAD, and interpret additionally a string value
+ as alternate bullet to be used, instead of prompting the user for
+ a bullet character.
-2011-01-27 Glenn Morris <rgm@gnu.org>
+2011-03-09 Michael Albinus <michael.albinus@gmx.de>
- * msb.el (msb-menu-bar-update-buffers): Update for changed
- argument handling of menu-bar-select-frame. (Bug#7902)
+ * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Do
+ not use `tramp-file-name-port', because this returns also
+ `tramp-default-port'.
-2011-01-27 Chong Yidong <cyd@stupidchicken.com>
+2011-03-09 Deniz Dogan <deniz.a.m.dogan@gmail.com>
- * progmodes/cc-engine.el (c-forward-<>-arglist-recur): Set a limit
- to the recursion depth (Bug#7722).
+ * net/rcirc.el (rcirc-handler-001): Remove useless
+ with-rcirc-process-buffer.
+ (rcirc-check-auth-status): Swap arguments to string-match.
-2011-01-26 Roy Liu <carsomyr@gmail.com> (tiny change)
+2011-03-09 Glenn Morris <rgm@gnu.org>
- * term/ns-win.el (ns-find-file): Expand ns-input-file with
- command-line-default-directory (Bug#7872).
+ * shell.el (shell-mode):
+ Set comint-input-ring-size from HISTSIZE. (Bug#7889)
-2011-01-25 Glenn Morris <rgm@gnu.org>
+ * progmodes/gdb-mi.el (gdb): Improve 2010-12-08 change.
+ Check for GDBHISTFILE, HISTSIZE, etc. (Bug#7889)
- * comint.el (comint-mode): Doc fix. (Bug#7897)
+2011-03-08 Chong Yidong <cyd@stupidchicken.com>
-2011-01-24 Stefan Monnier <monnier@iro.umontreal.ca>
+ * emacs-lisp/package.el (package-refresh-contents)
+ (package-menu-execute): Use condition-case-no-debug.
- * files.el (file-name-non-special): Only change buffer-file-name after
- insert-file-contents if it's `visit'ing the file (bug#7854).
+2011-03-08 Michael Albinus <michael.albinus@gmx.de>
-2011-01-23 Chong Yidong <cyd@stupidchicken.com>
+ * simple.el (shell-command-to-string): Use `process-file'.
- * dired.el (dired-revert): Doc fix (Bug#7758).
+ * emacs-lisp/package.el (package-tar-file-info): Handle also
+ remote files.
-2011-01-23 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * emacs-lisp/package-x.el (package-upload-buffer-internal): Use
+ `equal' for upload base check.
- * progmodes/ruby-mode.el (ruby-here-doc-beg-match): Fix for
- here-doc which ends with an underscore.
- (ruby-mode-set-encoding): Skip shebang line always.
- (ruby-mode-map): Bind C-c C-c to comment-region.
- (ruby-font-lock-keywords): Highlight literal hash key labels as symbols.
- (ruby-forward-sexp): Stop after literal hash key labels.
- (ruby-font-lock-syntactic-keywords): Highlight regexp after open
- bracket.
+2011-03-08 Arni Magnusson <arnima@hafro.is> (tiny change)
-2011-01-22 Keitaro Miyazaki <keitaro.miyazaki@gmail.com> (tiny change)
+ * textmodes/texinfo.el (texinfo-environments):
+ Add deftypecv, deftypeivar, deftypemethod, deftypeop, html. (Bug#2783)
- * emacs-lisp/re-builder.el (reb-mode-map): Set case-fold-search in
- the correct buffer (Bug#7650).
+2011-03-08 Glenn Morris <rgm@gnu.org>
-2011-01-22 Glenn Morris <rgm@gnu.org>
+ * cus-start.el (cursor-in-non-selected-windows):
+ Fix :set quoting oddness. (Bug#8192)
- * simple.el (do-auto-fill): Give it a doc string.
+ * font-lock.el (lisp-font-lock-keywords-1): Don't highlight `)'
+ in some setf expressions. (Bug#2159)
- * button.el (make-text-button): Doc fix. (See bug#7881)
+2011-03-08 Chong Yidong <cyd@stupidchicken.com>
-2011-01-22 Chong Yidong <cyd@stupidchicken.com>
+ * custom.el (custom-available-themes): Return themes in
+ alphabetical order.
- * simple.el (line-move-visual): Doc fix (Bug#7594).
+2011-03-07 Chong Yidong <cyd@stupidchicken.com>
- * emacs-lisp/re-builder.el (reb-mode-map): Fix logic error in
- "Case sensitive" menu item.
+ * progmodes/cc-cmds.el (c-beginning-of-statement): Fix incorrect
+ application of patch from Alan Mackenzie (Bug#7595).
-2011-01-21 Roland McGrath <roland@frob.com>
+2011-03-07 Deniz Dogan <deniz.a.m.dogan@gmail.com>
- * comint.el (comint-replace-by-expanded-history-before-point): Fix
- expansion of !$ and !!:N syntax to pick the indicated word (bug#7883).
+ * net/rcirc.el (rcirc-connect): Fix PASS bug.
-2011-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
+2011-03-07 Glenn Morris <rgm@gnu.org>
- * progmodes/js.el (js--regexp-literal): Count backslashes (bug#7882).
+ * vc/vc.el (vc-next-action): Add missing space to y-or-n-p prompt.
+ Give an explicit error if failed to make writable. (Bug#6146)
-2011-01-21 Jari Aalto <jari.aalto@cante.net>
+2011-03-07 Ed Reingold <reingold@emr.cs.iit.edu>
- * emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
- Assume foo(bar) is a manpage reference rather than some unquoted
- symbol (bug#7705).
+ * calendar/cal-hebrew.el (diary-hebrew-yahrzeit):
+ Add optional `after-sunset' argument. (Bug#8190)
-2011-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
+2011-03-07 Aaron S. Hawley <aaron.s.hawley@gmail.com>
- * subr.el (shell-quote-argument): Properly quote \n (bug#7687).
- Suggested by Flo <sensorflo@gmail.com>.
+ * play/morse.el (nato-alphabet, nato-region, denato-region):
+ New variable and functions. (Bug#2288)
+ (morse-region, unmorse-region): Barf if read-only.
-2011-01-21 Glenn Morris <rgm@gnu.org>
+2011-03-06 Stefan Monnier <monnier@iro.umontreal.ca>
- * progmodes/compile.el (compilation-error-regexp-alist):
- Fix custom type. (Bug#7812)
+ * progmodes/gud.el (gdb-script-syntax-propertize-function):
+ Don't change the syntax of a \n that closes a comment (bug#8169).
-2011-01-17 Stefan Monnier <monnier@iro.umontreal.ca>
+2011-03-06 Chong Yidong <cyd@stupidchicken.com>
- * emacs-lisp/easy-mmode.el (define-minor-mode): Don't re-evaluate the
- keymap expression. Improve docstring.
+ * emacs-lisp/package-x.el (package-archive-upload-base): Make it a
+ defcustom.
+ (package--update-file): Doc fix. Accept relative file names.
+ (package--archive-contents-from-file): Remove the argument, since
+ it's necessarily always "archive-contents".
+ (package-maint-add-news-item): Pass relative file name args to
+ package--update-file.
+ (package-upload-buffer-internal): Prompt for a destination if
+ package-archive-upload-base is invalid. Create the directory if
+ it does not exist.
+ (package-upload-buffer, package-upload-file): Doc fix.
-2011-01-15 Mark Diekhans <markd@soe.ucsc.edu>
+2011-03-06 Chong Yidong <cyd@stupidchicken.com>
- * files.el (backup-buffer): Make last-resort backup file in
- .emacs.d (Bug#6953).
+ * isearch.el (isearch-mode-map): Bind C-y to isearch-yank-kill,
+ and move isearch-yank-line to M-s C-e (Bug#8183).
- * subr.el (locate-user-emacs-file): If .emacs.d does not exist,
- make it with permission 700.
+2011-03-06 Alan Mackenzie <acm@muc.de>
-2011-01-14 Kenichi Handa <handa@m17n.org>
+ * progmodes/cc-engine.el (c-guess-basic-syntax): Reindent.
+ (c-guess-basic-syntax): Move CASE 19 to a different place,
+ correctly to process template-args-cont lines.
- * mail/rmailmm.el (rmail-mime-insert-header):
- Set rmail-mime-coding-system to a cons whose car is the last coding
- system used to decode the header.
- (rmail-mime-find-header-encoding): New function.
- (rmail-mime-insert-decoded-text):
- Override rmail-mime-coding-system if it is a cons.
- (rmail-show-mime): If only a header part was decoded, find the
- coding system while ignoring mm-charset-override-alist.
+2011-03-06 Jay Belanger <jay.p.belanger@gmail.com>
-2011-01-13 Chong Yidong <cyd@stupidchicken.com>
+ * calc/calc-ext.el (calc-init-extensions):
+ Rename calc-logunits-dblevel and calc-logunits-nplevel to calc-dblevel
+ and calc-nplevel, respectively. Add keybindings for calc-spn,
+ calc-midi and calc-freq. Add autoloads for calcFunc-spn,
+ calcFunc-midi, calcFunc-freq, calc-spn, calc-midi and calc-freq.
- * subr.el (event-start, event-end): Doc fix (Bug#7826).
+ * calc/calc-units.el (calc-dblevel): Rename from
+ calc-logunits-dblevel.
+ (calc-nplevel): Rename from calc-logunits-nplevel.
+ (math-midi-round, math-freqp, math-midip, math-spnp)
+ (math-spn-to-midi, math-midi-to-spn, math-freq-to-spn)
+ (math-midi-to-freq, math-spn-to-freq, calcFunc-spn, calcFunc-midi)
+ (calcFunc-freq, calc-freq, calc-midi, calc-spn): New functions.
+ (math-notes): New variable.
-2011-01-12 Kenichi Handa <handa@m17n.org>
+ * calc/calc.el (calc-note-threshold): New variable.
- * mail/rmailmm.el (rmail-mime-next-item)
- (rmail-mime-previous-item): Delete them.
- (rmail-mime-shown-mode): Recursively call for children.
- (rmail-mime-hidden-mode): Delete the 2nd arg TOP.
- Callers changed.
- (rmail-mime-raw-mode): Recursively call for children.
- (rmail-mode-map): Change mapping of tab and backtab to
- forward-button and backward-button respectively.
- (rmail-mime-insert-tagline): Always insert "Hide" or "Show"
- button.
- (rmail-mime-update-tagline): New function.
- (rmail-mime-insert-text): Call rmail-mime-update-tagline if the
- body display is changed.
- (rmail-mime-toggle-button): Rename from rmail-mime-image.
- (rmail-mime-image): Delete this button type.
- (rmail-mime-toggle): New button type.
- (rmail-mime-insert-bulk): Call rmail-mime-update-tagline if the
- body display is changed. Change the save button label to "Save".
- Don't process show/hide button here.
- (rmail-mime-insert-multipart): Call rmail-mime-update-tagline if
- the body display is changed. Unconditionally call
- rmail-mime-insert for children.
- (rmail-mime-handle): Update `display' vector of the just inserted
- entity.
- (rmail-mime-process): If mail-header-parse-content-type returns
- nil, use "text/plain" as the fallback type.
- (rmail-mime-insert): For raw-mode, recursively call
- rmail-mim-insert for children.
- (rmail-mime): Handle the case that the current buffer is not rmail
- buffer (e.g. in summary buffer).
+2011-03-06 Chong Yidong <cyd@stupidchicken.com>
-2011-01-05 Kenichi Handa <handa@m17n.org>
+ * emacs-lisp/package.el (package-archives): Accept either ordinary
+ directory names, in addition to HTTP URLs.
+ (package--with-work-buffer): New macro. Handle normal directories.
+ (package-handle-response): Don't display the failing buffer.
+ (package-download-single, package-download-tar)
+ (package--download-one-archive): Use package--with-work-buffer.
+ (package-archive-base): Rename from package-archive-url.
- * mail/rmailmm.el (rmail-mime-next-item)
- (rmail-mime-previous-item): Skip the body of a non-multipart
- entity if a tagline is shown.
+2011-03-06 Glenn Morris <rgm@gnu.org>
-2011-01-11 Stefan Monnier <monnier@iro.umontreal.ca>
+ * generic-x.el (generic-unix-modes): Add xmodmap-generic-mode.
+ (xmodmap-generic-mode): Respect generic-extras-enable-list.
- * tmm.el (tmm-get-keymap): Skip bindings without labels (bug#7721).
- (tmm-prompt): Simplify.
- (tmm-add-prompt): Remove unused var `win'.
+2011-03-06 Daniel Clemente <dcl441-bugs@yahoo.com> (tiny change)
- * whitespace.el (global-whitespace-newline-mode): Fix call (bug#7810)
- to minor mode which used nil accidentally to mean "turn off".
+ * generic-x.el (xmodmap-generic-mode): New. (Bug#2065)
-2011-01-10 Michael Albinus <michael.albinus@gmx.de>
+2011-03-06 Juanma Barranquero <lekktu@gmail.com>
- * net/tramp.el (tramp-find-inline-compress)
- (tramp-get-inline-coding): Quote command after pipe symbol for
- local calls under W32. (Bug#6784)
+ * allout.el (allout-init, allout-prefixed-keybindings)
+ (allout-unprefixed-keybindings):
+ * progmodes/prolog.el (prolog-find-term):
+ Fix typos in docstrings.
-2011-01-10 Michael Albinus <michael.albinus@gmx.de>
+2011-03-06 Nikolaj Schumacher <me@nschum.de> (tiny change)
- * net/tramp.el (tramp-default-method): Initialize with pscp/plink
- only when running under W32.
+ * emacs-lisp/elp.el (elp-results): Fix off-by-one in header. (Bug#2746)
-2011-01-09 Eli Zaretskii <eliz@gnu.org>
+2011-03-06 Kevin Ryde <user42@zip.com.au>
- * progmodes/grep.el (grep-compute-defaults): Quote the program
- file name after the pipe symbol in Grep templates. (Bug#6784)
- * jka-compr.el (jka-compr-partial-uncompress): Likewise.
+ * textmodes/sgml-mode.el (sgml-fill-nobreak): Give it a doc. (Bug#5326)
-2011-01-08 Lennart Borgman <lennart.borgman@gmail.com>
+2011-03-06 Michael Shields <shields@msrl.com> (tiny change)
- * buff-menu.el (Buffer-menu-buffer-list): New var.
- (Buffer-menu-revert-function, list-buffers-noselect): Use it, so a
- restricted buffer list is not lost on revert (Bug#7749).
+ * window.el (one-window-p, walk-windows, display-buffer):
+ Doc fixes. (Bug#5567)
-2011-01-08 Eric Hanchrow <eric.hanchrow@gmail.com>
+2011-03-06 Jay Belanger <jay.p.belanger@gmail.com>
- * net/ldap.el (ldap-search-internal): Discard stderr output.
+ * cus-edit.el (custom-prompt-variable): Use the `custom-get' property
+ of the variable if it exists.
-2011-01-07 Eli Zaretskii <eliz@gnu.org>
+2011-03-06 Juanma Barranquero <lekktu@gmail.com>
- * files.el (directory-abbrev-alist): Doc fix. (Bug#7777)
+ * bookmark.el:
+ * desktop.el:
+ * emacs-lock.el:
+ * ps-print.el:
+ * saveplace.el:
+ * net/tramp-cache.el:
+ * obsolete/fast-lock.el:
+ * textmodes/reftex.el:
+ Don't set `kill-emacs-hook' on noninteractive sessions (bug#8137).
-2011-01-06 Stefan Monnier <monnier@iro.umontreal.ca>
+2011-03-05 Antoine Levitt <antoine.levitt@gmail.com>
- * vc-bzr.el (vc-bzr-annotate-command, vc-bzr-annotate-time):
- Author names can have spaces (bug#7792).
+ * files.el (delete-directory, copy-directory, list-directory):
+ Use read-directory-name.
-2011-01-04 Kenichi Handa <handa@m17n.org>
+ * find-file.el (ff-find-the-other-file):
+ * net/ange-ftp.el (ange-ftp-make-directory):
+ * printing.el (pr-interactive-dir):
+ * progmodes/ada-prj.el (ada-prj-load-directory):
+ * progmodes/ebnf2ps.el (ebnf-print-directory)
+ (ebnf-spool-directory, ebnf-eps-directory)
+ (ebnf-syntax-directory):
+ * shell.el (shell):
+ * speedbar.el (speedbar-create-directory):
+ * vc/emerge.el (emerge-merge-directories):
+ * vc/vc-dir.el (vc-dir):
+ * vc/vc.el (vc-create-tag, vc-retrieve-tag): Likewise.
- * mail/rmailmm.el (rmail-mime-insert-bulk): Display an unknown
- part as a plain text.
- (rmail-mime-process-multipart): Set the default content-type to
- nil for unknown multipart subtypes (bug#7651).
+2011-03-05 Chong Yidong <cyd@stupidchicken.com>
-2011-01-03 Brent Goodrick <bgoodr@gmail.com> (tiny change)
+ * help-mode.el (help-buffer): If we are to return the current
+ buffer, signal an error if it's not in Help mode (Bug#8147).
- * abbrev.el (prepare-abbrev-list-buffer): If listing local abbrev
- table, get the value before switching to the output buffer. (Bug#7733)
+2011-03-05 Reuben Thomas <rrt@sc3d.org>
-2011-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
+ * files.el (file-name-version-regexp): Handle backup files of the
+ form `foo.js.~HEAD~1~' (Bug#8159).
- * progmodes/python.el (python-mode): Don't impose font-lock (bug#3628).
+2011-03-05 Glenn Morris <rgm@gnu.org>
-2011-01-02 Stefan Monnier <monnier@iro.umontreal.ca>
+ * eshell/esh-var.el: Don't require esh-test when compiling.
+ * eshell/em-banner.el, eshell/esh-cmd.el, eshell/esh-mode.el:
+ * eshell/esh-var.el, eshell/eshell.el: Move tests to esh-test.
+ * eshell/esh-test.el: Move to ../../test/eshell.el.
- * files.el (file-local-variables-alist):
- Make permanent-local (bug#7767).
+2011-03-05 David Engster <deng@randomsample.de>
-2011-01-02 Glenn Morris <rgm@gnu.org>
+ * files.el (save-some-buffers): Report the names of buffers saved
+ automatically due to buffer-save-without-query (Bug#8134).
- * version.el (emacs-copyright): Set short copyright year to 2011.
+2011-03-05 Deniz Dogan <deniz.a.m.dogan@gmail.com>
-2011-01-02 Mark Lillibridge <mark.lillibridge@hp.com> (tiny change)
+ * net/rcirc.el: Add QuakeNet authentication support.
+ (rcirc-authinfo, rcirc-check-auth-status)
+ (rcirc-authenticate): Support QuakeNet.
- * mail/mail-utils.el (mail-strip-quoted-names): Avoid clobbering
- an existing temp buffer. (Bug#7746)
+2011-03-05 Deniz Dogan <deniz.a.m.dogan@gmail.com>
-2011-01-02 Glenn Morris <rgm@gnu.org>
+ * net/rcirc.el: Add functionality to authenticate before
+ autojoining channels.
+ (rcirc-authenticate-before-join): New option.
+ (rcirc-authenticated-hook): New variable.
+ (rcirc-connect): Make local variable rcirc-user-authenticated.
+ (rcirc-handler-001): Respect rcirc-authenticate-before-join.
+ (rcirc-check-auth-status, rcirc-join-channels-post-auth):
+ New functions.
+ (rcirc-handler-PRIVMSG, rcirc-handler-NOTICE):
+ Call rcirc-check-auth-status.
+
+2011-03-05 Alex Harsanyi <AlexHarsanyi@gmail.com>
+
+ * net/soap-client.el (soap-namespace-put-link): Check if the target
+ name is fully qualified -- use only the name part.
+ (soap-parse-complex-type, soap-parse-sequence): Recognize xsd:all
+ types, treated the same as xsd:sequence. (Bug#8166)
+
+2011-03-05 Eli Zaretskii <eliz@gnu.org>
+
+ * files.el (find-file-noselect): Don't ask about re-visiting
+ non-literally if the file is already visited in image-mode.
+ (Bug#8177)
+
+2011-03-05 Glenn Morris <rgm@gnu.org>
+
+ * eshell/esh-mode.el (eshell-kill-buffer-function): New function.
+ (eshell-mode): Use eshell-kill-buffer-function.
+ Run the -initialize functions independently of the -load-hooks.
+ * eshell/esh-proc.el (eshell-kill-process-function): New function.
+ (eshell-gather-process-output, eshell-sentinel)
+ (eshell-interrupt-process, eshell-kill-process, eshell-quit-process):
+ Use eshell-kill-process-function.
+ * eshell/em-alias.el (eshell-alias-load-hook):
+ * eshell/em-banner.el (eshell-banner-load-hook):
+ * eshell/em-cmpl.el (eshell-cmpl-load-hook):
+ * eshell/em-dirs.el (eshell-dirs-load-hook):
+ * eshell/em-glob.el (eshell-glob-load-hook):
+ * eshell/em-hist.el (eshell-hist-load-hook):
+ * eshell/em-pred.el (eshell-pred-load-hook):
+ * eshell/em-prompt.el (eshell-prompt-load-hook):
+ * eshell/em-rebind.el (eshell-rebind-load-hook):
+ * eshell/em-script.el (eshell-script-load-hook):
+ * eshell/em-smart.el (eshell-smart-load-hook):
+ * eshell/em-term.el (eshell-term-load-hook):
+ * eshell/em-unix.el (eshell-unix-load-hook):
+ * eshell/esh-arg.el (eshell-arg-load-hook):
+ * eshell/esh-cmd.el (eshell-cmd-load-hook):
+ * eshell/esh-ext.el (eshell-ext-load-hook):
+ * eshell/esh-io.el (eshell-io-load-hook):
+ * eshell/esh-mode.el (eshell-exit-hook):
+ * eshell/esh-proc.el (eshell-proc-load-hook, eshell-kill-hook):
+ * eshell/esh-var.el (eshell-var-load-hook):
+ Set default hook values to nil. (Bug#5375)
+
+ * eshell/esh-module.el (eshell-module-unload-hook)
+ (eshell-modules-list): Remove leading * from defcustom docs.
+
+ * eshell/esh-util.el (eshell-for): Make it obsolete.
+ * eshell/em-alias.el (eshell/alias, eshell-alias-completions):
+ * eshell/em-dirs.el (eshell-save-some-last-dir):
+ * eshell/em-hist.el (eshell-save-some-history)
+ (eshell-hist-parse-modifier):
+ * eshell/em-ls.el (eshell-ls-dir, eshell-ls-files)
+ (eshell-ls-entries):
+ * eshell/em-unix.el (eshell/cat, eshell/du, eshell/su):
+ * eshell/esh-cmd.el (eshell-invoke-directly, eshell-do-eval)
+ (eshell/which):
+ * eshell/esh-ext.el (eshell-find-interpreter):
+ * eshell/esh-mode.el (eshell-mode):
+ * eshell/esh-module.el (eshell-unload-extension-modules):
+ * eshell/esh-proc.el (eshell-process-interact):
+ * eshell/esh-test.el (eshell-test):
+ * eshell/esh-util.el (eshell-flatten-list, eshell-winnow-list):
+ * eshell/esh-var.el (eshell/env, eshell-environment-variables)
+ (eshell-variables-list):
+ * eshell/eshell.el (eshell-unload-all-modules):
+ Replace eshell-for with dolist.
+
+2011-03-04 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-bzr.el (vc-bzr-after-dir-status): Handle bzr 2.3.0. (Bug#8170)
+
+2011-03-04 Tom Tromey <tromey@redhat.com>
+
+ * progmodes/gud.el (gdb-script-mode): Derive from prog-mode.
+
+2011-03-04 Glenn Morris <rgm@gnu.org>
+
+ * outline.el (outline-regexp): No longer allow nil.
+ (outline-heading-end-regexp): Add safety predicate. (Bug#7619)
- * mail/mail-utils.el (mail-mbox-from): Handle From: headers with
- multiple addresses. (Bug#7760)
+ * net/browse-url.el (browse-url):
+ Handle deleted default-directory. (Bug#6077)
-2010-12-31 Michael Albinus <michael.albinus@gmx.de>
+ * recentf.el (recentf-include-p): In case of a buggy predicate,
+ err on the side of including, not excluding. (Bug#5843)
- * net/tramp.el (tramp-methods): Add recursive options to "scpc",
- "scpx", "pscp" and "psftp".
+2011-03-04 Jay Belanger <jay.p.belanger@gmail.com>
-2010-12-31 Eli Zaretskii <eliz@gnu.org>
+ * calc/calc-units.el (math-to-standard-rec): Don't treat subscripted
+ variables as units.
- * term/w32-win.el (image-library-alist): Set up correctly for
- libpng versions both before and after 1.4.0. (Bug#7716)
+2011-03-04 Bob Rogers <rogers@rgrjr.dyndns.org>
-2010-12-25 Eli Zaretskii <eliz@gnu.org>
+ * emacs-lisp/ewoc.el (ewoc-goto-next): Give a more explicit error
+ if there is no node. (Bug#3261)
- * time.el (display-time-mode): Mention display-time-interval in
- the doc string. (Bug#7713)
+2011-03-04 Leo <sdl.web@gmail.com>
- * simple.el (select-active-regions): Doc fix. (Bug#7702)
+ * vc/diff-mode.el (diff-mode): Fix whitespace-style. (Bug#8139)
-2010-12-24 Kenichi Handa <handa@m17n.org>
+ * time.el (display-time-world-list): Fix typo. (Bug#7571)
- * mail/rmailmm.el (rmail-mime-parse): Perform parsing in
- condition-case and return an error message string if something
- goes wrong.
- (rmail-show-mime): Adjust for the above change. Insert the
- header by rmail-mime-insert-header.
+2011-03-04 Zachary Kanfer <zkanfer@gmail.com> (tiny change)
-2010-12-24 Kenichi Handa <handa@m17n.org>
+ * cus-edit.el (custom-buffer-create-internal):
+ Split search string before passing it to `customize-apropos' (bug#8136).
- * mail/rmailmm.el: New key bindings for rmail-mime-next-item,
- rmail-mime-previous-item, and rmail-mime-toggle-hidden.
- (rmail-mime-mbox-buffer)
- (rmail-mime-view-buffer, rmail-mime-coding-system): New variables.
- (rmail-mime-entity): Argument changed. All codes handling an
- entity object are changed.
- (rmail-mime-entity-header, rmail-mime-entity-body): Adjust for
- the above change.
- (rmail-mime-entity-children, rmail-mime-entity-handler)
- (rmail-mime-entity-tagline): New functions.
- (rmail-mime-message-p): New function.
- (rmail-mime-save): Bind rmail-mime-mbox-buffer.
- (rmail-mime-entity-segment, rmail-mime-next-item)
- (rmail-mime-previous-item, rmail-mime-shown-mode)
- (rmail-mime-hidden-mode, rmail-mime-raw-mode)
- (rmail-mime-toggle-raw, rmail-mime-toggle-hidden)
- (rmail-mime-insert-tagline, rmail-mime-insert-header):
- New functions.
- (rmail-mime-text-handler): Call rmail-mime-insert-text.
- (rmail-mime-insert-decoded-text): New function.
- (rmail-mime-insert-text): Call rmail-mime-insert-decoded-text.
- (rmail-mime-insert-image): Argument changed. Caller changed.
- (rmail-mime-image): Call rmail-mime-toggle-hidden.
- (rmail-mime-set-bulk-data): New function.
- (rmail-mime-insert-bulk): Argument changed.
- (rmail-mime-multipart-handler): Return t.
- (rmail-mime-process-multipart): Argument changed.
- Handle "multipart/alternative" here.
- (rmail-mime-process): Argument changed.
- (rmail-mime-parse): Bind rmail-mime-mbox-buffer.
- (rmail-mime-insert): Argument changed. Handle raw display mode.
- (rmail-mime): Argument changed. Handle toggling of raw display
- mode.
- (rmail-show-mime): Bind rmail-mime-mbox-buffer and
- rmail-mime-view-buffer.
- (rmail-insert-mime-forwarded-message): Likewise.
- (rmail-search-mime-message): Likewise. Don't bind rmail-buffer.
+2011-03-04 Drew Adams <drew.adams@oracle.com>
- * mail/rmail.el (rmail-show-message-1): If rmail-enable-mime is
- non-nil, handle the header in rmail-show-mime-function.
+ * image-dired.el (image-dired-cmd-read-exif-data-options):
+ Fix typo in docstring (bug#8156).
-2010-12-20 Leo <sdl.web@gmail.com>
+2011-03-03 Deniz Dogan <deniz.a.m.dogan@gmail.com>
- * help-fns.el (describe-variable): Fix 2010-12-17 change.
+ * net/rcirc.el (rcirc-cmd-join): Accept comma-separated input.
-2010-12-20 Juri Linkov <juri@jurta.org>
+2011-03-03 Christian Ohler <ohler@gnu.org>
- * isearch.el (isearch-lazy-highlight-error): New variable.
- (isearch-lazy-highlight-new-loop): Compare `isearch-error' and
- `isearch-lazy-highlight-error'. Set `isearch-lazy-highlight-error'
- to the current value of `isearch-error' (Bug#7468).
+ * emacs-lisp/ert.el (ert--explain-equal): New function.
+ (ert--explain-equal-rec): Renamed from `ert--explain-not-equal'.
+ All callers changed.
+ (ert--explain-equal-including-properties): Renamed from
+ `ert--explain-not-equal-including-properties'. All callers
+ changed.
-2010-12-17 Chong Yidong <cyd@stupidchicken.com>
+2011-03-03 Christian Ohler <ohler@gnu.org>
- * help-fns.el (describe-variable): Don't emit trailing whitespace
- (Bug#7511).
+ * emacs-lisp/ert.el (ert--stats-set-test-and-result)
+ (ert-char-for-test-result, ert-string-for-test-result)
+ (ert-run-tests-batch, ert--print-test-for-ewoc):
+ Handle `ert-test-quit'.
-2010-12-17 Leo <sdl.web@gmail.com>
+2011-03-03 David Abrahams <dave@boostpro.com> (tiny change)
- * eshell/em-hist.el (eshell-previous-matching-input): Signal error
- if point is not behind eshell-last-output-end (Bug#7585).
+ * vc/ediff-init.el (ediff-use-faces, ediff-highlight-all-diffs):
+ Move ediff-defvar-local calls after defcustoms. (Bug#1821)
-2010-12-16 Chong Yidong <cyd@stupidchicken.com>
+2011-03-03 Glenn Morris <rgm@gnu.org>
- * textmodes/rst.el (rst-compile-pdf-preview)
- (rst-compile-slides-preview): Use make-temp-file (Bug#7646).
+ * files.el (file-truename): Doc fix. (Bug#2341)
-2010-12-15 Kevin Gallagher <Kevin.Gallagher@boeing.com>
+2011-03-03 Bob Rogers <rogers-emacs@rgrjr.dyndns.org>
- * emulation/edt-mapper.el: Override mapping of function keys so
- that the later call to read-key-sequence works.
+ * vc/vc-dir.el (vc-dir-mode-map): Bind vc-dir-find-file to e (Bug#7349).
-2010-12-13 Eli Zaretskii <eliz@gnu.org>
+2011-03-03 Vagn Johansen <gonz808@hotmail.com> (tiny change)
- * mail/smtpmail.el (smtpmail-send-it): Write queued mail body with
- Unix EOLs. (Bug#7589)
+ * vc/vc-svn.el (vc-svn-after-dir-status): Some MS Windows svn client
+ programs output backslashes. (Bug#7663)
-2010-12-12 Eli Zaretskii <eliz@gnu.org>
+2011-03-03 Glenn Morris <rgm@gnu.org>
- * subr.el (posn-col-row): Evaluate header-line-format in the
- context of the POSITION window's buffer.
+ * mail/sendmail.el (mail-mode-map): Remove mail-sent-via.
+ (mail-mode): Remove mail-sent-via from the doc.
+ (mail-sent-via): Make it obsolete. (Bug#1776)
-2010-12-11 Glenn Morris <rgm@gnu.org>
+ * progmodes/grep.el (grep-highlight-matches): Doc fix.
+ (grep-process-setup): No highlighting without font-lock. (Bug#8084)
- * subr.el (member-ignore-case, run-mode-hooks, insert-for-yank-1)
- (with-silent-modifications): Doc fixes.
+ * vc/vc-bzr.el (vc-bzr-state-heuristic): Handle dirstate entries
+ with no parents. (Bug#8025)
-2010-12-10 Michael Albinus <michael.albinus@gmx.de>
+2011-03-02 Teodor Zlatanov <tzz@lifelogs.com>
- * net/tramp.el (tramp-action-password, tramp-process-actions):
- Revert patch from 2010-12-08. Use `save-restriction'.
+ * password-cache.el (password-in-cache-p): Add autoload.
-2010-12-09 Eli Zaretskii <eliz@gnu.org>
+2011-03-02 Glenn Morris <rgm@gnu.org>
- * menu-bar.el (menu-bar-frame-for-menubar, menu-bar-positive-p):
- New functions.
- (menu-bar-showhide-menu) <menu-bar-mode, showhide-tool-bar>: Use
- them instead of `nil' and `>', respectively. (Bug#1077)
+ * man.el (Man-support-local-filenames): Also handle Red Hat's man.
+ * dired-x.el (Man-support-local-filenames): Autoload it.
+ (dired-guess-shell-alist-default): Also handle Red Hat's man.
-2010-12-09 Stephen Berman <stephen.berman@gmx.net>
+ * dired-x.el (dired-default-directory-alist, dired-default-directory):
+ Mark as obsolete.
+ (dired-smart-shell-command): Just call dired-current-directory.
- * calendar/diary-lib.el (diary-list-sexp-entries):
- Handle case of no newline at end of file. (Bug#7536)
+ * dired-x.el (dired-jump-other-window): Add autoload.
+ (dired-default-directory-alist, dired-default-directory): Doc fixes.
+ (dired-default-directory-alist): Mark as risky.
-2010-12-09 Glenn Morris <rgm@gnu.org>
+ * dired-x.el (dired-omit-here-always): Make it obsolete.
- * mail/smtpmail.el (smtpmail-send-it): Revert previous change.
+2011-03-02 Chong Yidong <cyd@stupidchicken.com>
-2010-12-08 Michael Albinus <michael.albinus@gmx.de>
+ * textmodes/artist.el (artist-curr-go): Default to pen-line.
+ (artist-select-op-pen-line): New function.
+ (artist-menu-map): New variable.
+ (artist-mode-map): Add a menu to the menu-bar.
- * net/tramp.el (tramp-handle-start-file-process):
- Protect buffer-modified value. (Bug#7557)
- (tramp-action-password): Delete region, do not narrow.
- (tramp-process-actions): Do not widen.
+2011-03-02 Jay Belanger <jay.p.belanger@gmail.com>
-2010-12-08 Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
+ * calc/calc-math.el (calcFunc-log10): Check for symbolic mode
+ when evaluating.
- * log-edit.el (log-edit-changelog-entries):
- Regexp quote filename. (Bug#7505)
+ * calc/calc-units.el (math-conditional-apply, math-conditional-pow):
+ New function.
+ (math-logunits-add, math-logunits-mul, math-logunits-divide):
+ (math-logunits-quant, math-logunits-level):
+ Use `math-conditional-apply' and `math-conditional-pow' to evaluate
+ functions.
+ (math-logunits-level): Extract units from ratio.
-2010-12-08 Tom Breton <tehom@panix.com>
+2011-03-01 Juanma Barranquero <lekktu@gmail.com>
- * cus-edit.el (custom-save-all):
- Bind print-length and print-level to nil. (Bug#7581)
+ * emacs-lisp/cl-macs.el (lexical-let*): Fix argument name in docstring.
-2010-12-08 Glenn Morris <rgm@gnu.org>
+2011-03-01 Glenn Morris <rgm@gnu.org>
- * mouse.el (mouse-menu-major-mode-map, mouse-menu-bar-map):
- Run hooks to update menu contents. (Bug#7586)
+ * calendar/cal-hebrew.el (calendar-hebrew-birthday)
+ (diary-hebrew-birthday): Rename and rework functions added
+ in previous change.
- * mail/smtpmail.el (smtpmail-send-it): Avoid colons in the queued
- file names, for the sake of MS Windows. (Bug#7588)
+2011-03-01 Ed Reingold <reingold@emr.cs.iit.edu>
-2010-12-07 Stefan Monnier <monnier@iro.umontreal.ca>
+ * calendar/cal-hebrew.el (hebrew-calendar-birthday)
+ (diary-hebrew-birthday): New functions.
- * diff-mode.el (diff-refine-hunk): Make it work when the hunk contains
- empty lines without a leading space.
+2011-03-01 Glenn Morris <rgm@gnu.org>
-2010-12-06 Leo <sdl.web@gmail.com>
+ * dired.el (dired-safe-switches-p): Beef it up.
+ (dired-actual-switches): Use it for the safe-local prop. (Bug#3230)
- * dired-aux.el (dired-do-redisplay): Postpone dired-after-readin-hook
- while mapping over marks (Bug#6810).
+2011-03-01 Stefan Monnier <monnier@iro.umontreal.ca>
-2010-12-06 Chong Yidong <cyd@stupidchicken.com>
+ * dired.el (dired-safe-switches-p): New function.
- * image-dired.el (image-dired-db-file)
- (image-dired-temp-image-file, image-dired-gallery-dir)
- (image-dired-temp-rotate-image-file): Set default values relative
- to image-dired-dir (Bug#7518).
+2011-03-01 Glenn Morris <rgm@gnu.org>
-2010-12-06 Lawrence Mitchell <wence@gmx.li>
+ * files.el (dir-locals-collect-variables):
+ Add the ability to exclude subdirectories. (Bug#8100)
- * format.el (format-decode-run-method): Pass args FROM and TO, not
- point-min and point-max, to shell-command-on-region (Bug#7488).
+ * dired-x.el (dired-omit-here-always): Add `(subdirs . nil)' to locals.
-2010-12-06 Jan Djärv <jan.h.d@swipnet.se>
+2011-02-28 Christoph Scholtes <cschol2112@googlemail.com>
- * frame.el (blink-cursor-mode): Make default t for ns.
+ * ido.el (ido-everywhere): Doc fix.
+ (ido-mode): Doc fix.
-2010-12-05 Bob Rogers <rogers-emacs@rgrjr.dyndns.org>
+2011-02-28 Glenn Morris <rgm@gnu.org>
- * vc-dir.el (vc-dir-query-replace-regexp): Doc fix (Bug#7501).
+ * dired-x.el (dired-guess-shell-alist-default): Use \\', not $.
-2010-12-05 Chong Yidong <cyd@stupidchicken.com>
+2011-02-28 Michael Albinus <michael.albinus@gmx.de>
- * comint.el (comint-dynamic-list-input-ring)
- (comint-dynamic-complete-filename)
- (comint-replace-by-expanded-filename)
- (comint-dynamic-simple-complete)
- (comint-dynamic-list-filename-completions)
- (comint-dynamic-list-completions): Doc fix (Bug#7499).
+ * net/tramp-cmds.el (tramp-append-tramp-buffers): Dump load-path
+ shadows.
- * subr.el (posn-x-y, posn-object-x-y, posn-object-width-height):
- Doc fix (Bug#7471).
+2011-02-28 Antoine Levitt <antoine.levitt@gmail.com>
-2010-12-04 Martin Rudalics <rudalics@gmx.at>
+ * dired-x.el (dired-guess-shell-alist-default): Add rar and 7z.
- * dired.el (dired-pop-to-buffer): Bind pop-up-frames to nil
- (Bug#7533).
+2011-02-28 Juanma Barranquero <lekktu@gmail.com>
-2010-12-04 W. Martin Borgert <debacle@debian.org> (tiny change)
+ * emacs-lisp/pcase.el (pcase, pcase--u1, pcase--q1):
+ Fix typos in docstrings.
- * files.el (auto-mode-alist): Handle .dbk (DocBook) with xml-mode.
- (Bug#7491).
+2011-02-28 Stephen Berman <stephen.berman@gmx.net>
-2010-12-04 Chong Yidong <cyd@stupidchicken.com>
+ * dired-aux.el (dired-update-file-line):
+ Fix 2010-11-09 change. (Bug#8131)
- * simple.el (transient-mark-mode): Doc fix (Bug#7465).
+2011-02-28 Eli Zaretskii <eliz@gnu.org>
-2010-12-04 Eli Zaretskii <eliz@gnu.org>
+ * international/mule-cmds.el (set-default-coding-systems): Use the
+ -unix variant of encoding in default-keyboard-coding-system.
+ (Bug#8122)
- * files.el (file-relative-name): Handle UNC file names on
- DOS/Windows. (Bug#4674)
+2011-02-27 Chong Yidong <cyd@stupidchicken.com>
-2010-12-03 Daiki Ueno <ueno@unixuser.org>
+ * facemenu.el (list-colors-display): Use with-help-window (Bug#8048).
- * epg.el (epg-digest-algorithm-alist): Replace "RMD160" with
- "RIPEMD160" (Bug#7490). Reported by Daniel Kahn Gillmor.
- (epg-context-set-passphrase-callback): Mention that the callback
- is not called when used with GnuPG 2.x.
+2011-02-27 Prestoo Ten <prestooten@gmail.com> (tiny change)
-2010-12-02 Glenn Morris <rgm@gnu.org>
+ * term/screen.el: New file (Bug#2650).
- * ps-print.el (ps-line-lengths-internal, ps-nb-pages):
- Ensure ps-footer-font-size-internal is initialized.
- Call ps-get-page-dimensions before trying to use ps-font-for-text.
+2011-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
-2010-12-01 Kenichi Handa <handa@m17n.org>
+ * emacs-lisp/pcase.el (pcase--if): Try to invert test to reduce depth.
+ (pcase-mutually-exclusive-predicates): New var.
+ (pcase--split-consp, pcase--split-pred): Use it.
+ (pcase--split-equal, pcase--split-member): When splitting against
+ a pure predicate, run it to know the outcome.
+ (pcase--u1): Mark vars that are actually used.
+ (pcase--q1): Avoid introducing unused vars.
- * mail/rmailmm.el (rmail-mime-parse): Call rmail-mime-process
- within condition-case.
- (rmail-show-mime): Don't use condition-case.
- (rmail-search-mime-message): New function.
- (rmail-search-mime-message-function): Set to
- rmail-search-mime-message.
+2011-02-27 Jay Belanger <jay.p.belanger@gmail.com>
-2010-12-01 Leo <sdl.web@gmail.com>
+ * calc/calc-ext.el (calc-init-extensions):
+ Autoload `calc-l-prefix-help' instead of `calc-ul-prefix-help'.
- * ido.el (ido-common-initialization): New function. (bug#3274)
- (ido-mode): Use it.
- (ido-completing-read): Call it.
+ * calc/calc-math.el (calcFunc-log10): Don't signal an error in
+ symbolic mode.
-2010-11-27 Chong Yidong <cyd@stupidchicken.com>
+ * calc/calc-vec.el (calcFunc-subscr): Return nil if the first
+ argument is a variable.
- * log-edit.el (log-edit-font-lock-keywords): Don't try matching
- stand-alone lines, since that is handled by log-edit-match-to-eoh
- (Bug#6465).
+2011-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
-2010-11-27 Eduard Wiebe <usenet@pusto.de>
+ * emacs-lisp/assoc.el: Remove misleading `sort' (bug#8126).
+ (aput, adelete, amake): Replace `eval' -> `symbol-value'.
+ Suggested by Michael Heerdegen <michael_heerdegen@web.de>.
- * dired.el (dired-get-filename): Replace backslashes with slashes
- in file names on MS-Windows, needed by `locate'. (Bug#7308)
- * locate.el (locate-default-make-command-line): Don't consider
- drive letter and root directory part of
- `directory-listing-before-filename-regexp'. (Bug#7308)
- (locate-post-command-hook, locate-post-command-hook): New defcustoms.
+2011-02-25 Teodor Zlatanov <tzz@lifelogs.com>
-2010-11-26 Stefan Monnier <monnier@iro.umontreal.ca>
+ * password-cache.el (password-in-cache-p): Convenience function to
+ check if a key is in the cache, even if the value is nil.
- * emacs-lisp/smie.el (smie-prec2->grammar): Simplify handling
- of :smie-open/close-alist.
- (smie-next-sexp): Make it accept a "start token" as argument.
- (smie-indent-keyword): Be careful not to misidentify tokens that span
- more than one line, as empty lines. Add argument `token'.
+2011-02-25 Jambunathan K <kjambunathan@gmail.com>
-2010-11-26 Kenichi Handa <handa@m17n.org>
+ * emacs-lisp/package-x.el (package--archive-contents-from-url)
+ (package--archive-contents-from-file): New functions.
+ (package-update-news-on-upload): New var.
+ (package-upload-buffer-internal): Extract archive-contents from
+ package-archive-upload-base if it is not found at archive-url.
+ Obey package-update-news-on-upload.
+ (package-upload-buffer, package-upload-file): Doc fix.
- * mail/rmailmm.el (rmail-mime-insert-multipart): For unsupported
- multipart subtypes, insert all as usual.
+2011-02-24 Glenn Morris <rgm@gnu.org>
- * mail/rmail.el: Require rfc2047.
+ * files-x.el (modify-dir-local-variable): Handle dir-locals from
+ the cache, and from non-file sources.
-2010-11-26 Kenichi Handa <handa@m17n.org>
+ * help-fns.el (describe-variable): Return consistent results when a
+ dir-local from a file came from the cache or did not. (Bug#8095)
+ If a dir-local has no associated file, say it came from a "directory".
- * mail/rmailmm.el (rmail-mime-entity, rmail-mime-entity-type)
- (rmail-mime-entity-disposition)
- (rmail-mime-entity-transfer-encoding, rmail-mime-entity-header)
- (rmail-mime-entity-body, rmail-mime-entity-children): New functions.
- (rmail-mime-save): Handle the case that the button's `data' is a
- MIME entity.
- (rmail-mime-insert-text): New function.
- (rmail-mime-insert-image): Handle the case that DATA is a MIME entity.
- (rmail-mime-bulk-handler): Just call rmail-mime-insert-bulk.
- (rmail-mime-insert-bulk): New function mostly copied from the old
- rmail-mime-bulk-handler.
- (rmail-mime-multipart-handler): Just call rmail-mime-process-multipart.
- (rmail-mime-process-multipart): New function mostly copied from
- the old rmail-mime-multipart-handler.
- (rmail-mime-show): Just call rmail-mime-process.
- (rmail-mime-process): New function mostly copied from the old
- rmail-mime-show.
- (rmail-mime-insert-multipart, rmail-mime-parse)
- (rmail-mime-insert, rmail-show-mime)
- (rmail-insert-mime-forwarded-message)
- (rmail-insert-mime-resent-message): New functions.
- (rmail-insert-mime-forwarded-message-function): Set to
- rmail-insert-mime-forwarded-message.
- (rmail-insert-mime-resent-message-function): Set to
- rmail-insert-mime-resent-message.
+ * files.el (hack-dir-local-variables): Fix setting of `dir-name'.
+ (hack-local-variables-confirm, hack-local-variables-filter): Doc fix.
- * mail/rmailsum.el: Require rfc2047.
- (rmail-header-summary): Handle multiline Subject: field.
- (rmail-summary-line-decoder): Change the default to
- rfc2047-decode-string.
+ * files.el (dir-locals-find-file): Doc fix.
+ Fix the check for cache elements that have no associated file,
+ and the mtime check for those that do. (Bug#8095)
- * mail/rmail.el (rmail-enable-mime): Change the default to t.
- (rmail-mime-feature): Change the default to `rmailmm'.
- (rmail-quit): Delete the specifal code for rmail-enable-mime.
- (rmail-display-labels): Likewise.
- (rmail-show-message-1): Check rmail-enable-mime, and use
- rmail-show-mime-function for a MIME message. Decode the headers
- according to RFC2047.
+ * dired-x.el (dired-hack-local-variables):
+ Handle interrupts during hacking local variables. (Bug#5216)
-2010-11-24 Stefan Monnier <monnier@iro.umontreal.ca>
+ * emacs-lisp/autoload.el (autoload-save-buffers)
+ (autoload-find-destination, update-directory-autoloads):
+ Avoid prompts when updating autoloads.
- * progmodes/which-func.el (which-func-imenu-joiner-function):
- Return a string, as expected.
- (which-function-mode): Make sure we stop any previous timer before
- starting a new one.
+2011-02-23 Stefan Monnier <monnier@iro.umontreal.ca>
-2010-11-23 Michael Albinus <michael.albinus@gmx.de>
+ * emacs-lisp/bytecomp.el (byte-compile-disable-print-circle): Obsolete.
- * net/tramp.el (tramp-default-method-alist)
- (tramp-default-user-alist, tramp-default-proxies-alist):
- Adapt custom options type. (Bug#7445)
+2011-02-23 Kenichi Handa <handa@m17n.org>
-2010-11-21 Chong Yidong <cyd@stupidchicken.com>
+ * mail/rmailmm.el (rmail-mime-process-multipart): Do not signal an
+ error when a multipart boundary in the nested multipart is found.
- * progmodes/python.el: Add Ipython support (Bug#5390).
- (python-shell-prompt-alist)
- (python-shell-continuation-prompt-alist): New options.
- (python--set-prompt-regexp): New function.
- (inferior-python-mode, run-python, python-shell):
- Require ansi-color. Use python--set-prompt-regexp to set the comint
- prompt based on the Python interpreter.
- (python--prompt-regexp): New var.
- (python-check-comint-prompt)
- (python-comint-output-filter-function): Use it.
- (run-python): Use a pipe (Bug#5694).
+ * mail/rmail.el (rmail-start-mail): Decode "encoded-words" of
+ header components.
-2010-11-21 Chong Yidong <cyd@stupidchicken.com>
+2011-02-23 Glenn Morris <rgm@gnu.org>
- * progmodes/python.el (run-python): Doc fix.
- (python-keep-current-directory-in-path): New var (Bug#7454).
+ * dired.el (dired-mode): Call hack-dir-local-variables-non-file-buffer.
+ * dired-x.el (dired-omit-mode): Safe if boolean.
+ (dired-enable-local-variables): Fix doc and custom type.
+ (dired-enable-local-variables, dired-local-variables-file)
+ (dired-hack-local-variables): Make obsolete.
+ (dired-omit-here-always): Use dir-locals.el instead.
-2010-11-20 Chong Yidong <cyd@stupidchicken.com>
+ * files.el (safe-local-eval-forms): Add the write-file-hooks version.
- * lpr.el (lpr-buffer, print-buffer, lpr-region, print-region):
- Prompt user before actually printing.
+2011-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
-2010-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
+ * help-fns.el (describe-function-1): Don't signal an error just because
+ the DOC file disappeared.
- * simple.el (kill-new, kill-append, kill-region):
- * comint.el (comint-kill-region): Make the yank-handler argument
- obsolete.
+2011-02-22 Seppo Sade <sepposade1@gmail.com> (tiny change)
-2010-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
+ * eshell/esh-ext.el (eshell-external-command): Do not restrict
+ remote check to "ftp". (Bug#8089)
- * emacs-lisp/smie.el (smie-bnf-classify): Signal errors for tokens
- that are both openers (resp. closers) and something else.
- (smie-grammar): Loosen definition of valid values.
- (smie-next-sexp, smie-down-list, smie-blink-matching-open)
- (smie-indent--parent, smie-rule-parent, smie-indent-keyword)
- (smie-indent-after-keyword): Adjust users.
- (smie-indent-keyword): Don't indent empty lines.
+2011-02-21 Alan Mackenzie <acm@muc.de>
- * vc-hg.el (vc-hg-program): New var.
- Suggested by Norman Gray <norman@astro.gla.ac.uk>.
- (vc-hg-state, vc-hg-working-revision, vc-hg-command): Use it.
+ Fix bug #7930.
+ * progmodes/cc-engine.el (c-state-literal-at): Prevent positions
+ in macros finding their way into c-state-nonlit-pos-cache.
+ Strengthen the comments.
+ (c-state-dump): New commented out diagnostic routine.
-2010-11-17 Glenn Morris <rgm@gnu.org>
+2011-02-21 Michael Albinus <michael.albinus@gmx.de>
- * emacs-lisp/autoload.el (autoload-find-destination): The function
- coding-system-eol-type may return non-numeric values. (Bug#7414)
+ * net/tramp.el (tramp-rfn-eshadow-setup-minibuffer): Do not use
+ `field' property of `rfn-eshadow-overlay'.
-2010-11-16 Ulrich Mueller <ulm@gentoo.org>
+2011-02-21 Lars Ingebrigtsen <larsi@gnus.org>
- * server.el (server-force-stop): Ensure the server is stopped (Bug#7409).
+ * net/netrc.el (netrc-parse): Comment fix.
-2010-11-13 Eli Zaretskii <eliz@gnu.org>
+2011-02-21 Chong Yidong <cyd@stupidchicken.com>
- * subr.el (posn-col-row): Pay attention to header line. (Bug#7390)
+ * color.el (color-name-to-rgb): Rename from color-rgb->normalize.
+ Autoload. Add optional arg FRAME, and pass it to color-values.
+ (color-complement): Caller changed. Doc fix.
+ (color-gradient): Rewrite for better clarity and efficiency.
-2010-11-13 Chong Yidong <cyd@stupidchicken.com>
+ * faces.el (color-values): Use cond for clarity. Doc fix.
- * textmodes/picture.el (picture-mouse-set-point): Don't use
- posn-col-row; explicitly compute the motion based on the posn at
- the window-start (Bug#7390).
+ * facemenu.el (color-rgb-to-hsv): Delete; use the version in
+ color.el instead.
+ (list-colors-sort-key, list-colors-print):
+ Use color-normalized-values.
-2010-11-13 Michael Albinus <michael.albinus@gmx.de>
+2011-02-20 Drew Adams <drew.adams@oracle.com>
- * net/tramp.el (tramp-remote-coding-commands): Add an alternative
- using "base64 -d -i". This is needed for older base64 versions
- from GNU coreutils. Reported by Klaus Reichl
- <Klaus.Reichl@thalesgroup.com>.
+ * color.el: First part of merge from hexrgb.el.
+ (color-rgb-to-hex): Rename from color-rgb->hex.
+ (color-rgb-to-hsv): Rename from color-rgb->hsv. Force hue and
+ saturation to zero if the value is too small.
+ (color-rgb-to-hsl): Rename from color-rgb->hsl.
+ (color-srgb-to-xyz): Rename from color-srgb->xyz. Doc fix.
+ (color-xyz-to-srgb): Rename from color-xyz->srgb. Doc fix.
+ (color-xyz-to-lab): Rename from color-xyz->lab. Doc fix.
+ (color-lab-to-xyz): Rename from color-lab->xyz. Doc fix.
+ (color-lab-to-srgb): Rename from color-lab->srgb. Doc fix.
+ (color-cie-de2000): Doc fix.
-2010-11-13 Glenn Morris <rgm@gnu.org>
+2011-02-20 Alan Mackenzie <acm@muc.de>
- * novice.el (disabled-command-function):
- Fix 2009-11-15 change. (Bug#7384)
+ * progmodes/cc-cmds.el (c-beginning-of-statement): Avoid loop in
+ locating the beginning of a macro. (Bug#7595)
-2010-11-12 Glenn Morris <rgm@gnu.org>
+2011-02-20 Glenn Morris <rgm@gnu.org>
- * calendar/calendar.el (diary-iso-date-forms): Make elements
- mutually exclusive. (Bug#7377)
+ * edmacro.el (edmacro-eight-bits): Make it a defcustom.
+ Don't autoload it.
-2010-11-12 Stefan Monnier <monnier@iro.umontreal.ca>
+ * autorevert.el (auto-revert-mode, auto-revert-tail-mode)
+ (global-auto-revert-ignore-buffer): Remove leading "*" from docs.
- * emacs-lisp/smie.el (smie-prec2->grammar): Obey equality constraints
- when filling the remaining "unconstrained" values.
+2011-02-19 Dmitry Bolshakov <dmitry.bolshakov@bridge-quest.com>
+ Dima Kogan <dkogan@cds.caltech.edu> (tiny change)
-2010-11-11 Stefan Monnier <monnier@iro.umontreal.ca>
+ * progmodes/hideshow.el (hs-find-block-beginning)
+ (hs-hide-level-recursive): Ignore comments when parsing braces
+ (Bug#8036).
- * emacs-lisp/bytecomp.el (byte-compile-warnings): Simplify the
- safety predicate.
+2011-02-19 Chong Yidong <cyd@stupidchicken.com>
- * files.el (safe-local-variable-p): Gracefully handle errors.
+ * vc/vc-bzr.el (vc-bzr-bound-branch-p): New function.
+ (vc-bzr-pull): Use it.
- * emacs-lisp/smie.el (smie-rule-parent, smie-indent--rule):
- Use smie-indent-virtual when indenting relative to an opener.
- (smie-rule-separator): Use smie-rule-parent.
- (smie-indent-keyword): Consult rules, even for openers at bol.
- (smie-indent-comment-close): Try to align closer's content.
+2011-02-19 Chong Yidong <cyd@stupidchicken.com>
-2010-11-11 Glenn Morris <rgm@gnu.org>
+ * vc/vc-bzr.el (vc-bzr--branch-conf): Function deleted.
+ (vc-bzr-branch-conf): New function, similar to vc-bzr--branch-conf
+ but returning an alist. Ignore comments in bzr conffile.
+ (vc-bzr-pull, vc-bzr-merge-branch): Use vc-bzr-branch-conf.
+ (vc-bzr-error-regex-alist): New var.
+ (vc-bzr-merge-branch): Use it to highlight the pull/merge buffer.
- * ls-lisp.el (ls-lisp-dired-ignore-case): Make it an obsolete alias.
+ * vc/vc-dispatcher.el (vc-do-async-command):
+ Bind inhibit-read-only to t.
-2010-11-10 Glenn Morris <rgm@gnu.org>
+ * progmodes/compile.el (compilation--flush-directory-cache):
+ Handle the case where cdr of compilation--flush-directory-cache
+ points to no buffer, which can occur if we previously switched to
+ compilation-mode in a pregenerated buffer.
- * printing.el (pr-menu-bind): Doc fix.
+2011-02-19 Kenichi Handa <handa@m17n.org>
- * speedbar.el (speedbar-toggle-images): Doc fix.
+ * mail/rmailmm.el (rmail-mime-find-header-encoding): Be sure to
+ get the header copy into the temporary buffer.
+ (rmail-mime-insert-decoded-text): Ignore us-ascii.
+ (rmail-show-mime): When rmail-mime-coding-system is nil, set
+ buffer-file-coding-system to undecided.
- * progmodes/python.el (python-shell): Doc fix.
+2011-02-19 Eli Zaretskii <eliz@gnu.org>
- * wid-edit.el (widget-field-use-before-change)
- (widget-use-overlay-change): Doc fixes.
+ * international/mule-cmds.el (read-char-by-name, ucs-insert):
+ Document completion with asterisk and a substring.
-2010-11-09 Glenn Morris <rgm@gnu.org>
+2011-02-19 Glenn Morris <rgm@gnu.org>
- * progmodes/tcl.el (tcl-hairy-scan-for-comment): Doc fix.
+ * files.el (find-file-literally): Doc fix.
-2010-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
+ * simple.el (rfc822-goto-eoh): Give it a doc-string.
- * minibuffer.el (minibuffer-completion-help): Specify the end of the
- completion field (bug#7211).
+ * log-edit.el (log-edit-insert-changelog):
+ Fix `log-edit-strip-single-file-name' functionality. (Bug#8057)
- * progmodes/python.el (python-font-lock-syntactic-keywords): (bug#7322)
- Fix handling of backslash escapes.
- (python-quote-syntax): Adjust accordingly.
+2011-02-19 Glenn Morris <rgm@gnu.org>
-2010-11-08 Richard Levitte <richard@levitte.org> (tiny change)
+ * dired-x.el: Don't require dired-aux.
+ (dired-do-create-files, dired-mark-read-regexp)
+ (dired-do-create-files-regexp): Autoload from dired-aux.
- * vc-mtn.el (vc-mtn-working-revision, vc-mtn-after-dir-status)
- (vc-mtn-workfile-branch): Adjust to new output format.
+ * dired-x.el (dired-find-buffer-nocreate): Merge into dired.el.
+ * dired.el (dired-find-buffer-nocreate): Merge dired-x version.
-2010-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
+ * dired-x.el (dired-read-shell-command): Merge into dired-aux's version.
+ * dired-aux.el (dired-read-shell-command): Merge dired-x's version.
- * international/mule-cmds.el (princ-list): Mark as obsolete.
+ * dired-x.el (dired-clean-up-after-deletion): Merge into dired.el.
+ * dired.el (dired-clean-up-after-deletion): Merge dired-x's version.
+ (dired-clean-up-buffers-too): Declare.
-2010-11-07 Stefan Monnier <monnier@iro.umontreal.ca>
+ * dired-x.el (dired-initial-position): Merge into dired.el's version.
+ * dired.el (dired-initial-position): Merge dired-x's version here.
+ (dired-find-subdir): Declare.
- * emacs-lisp/smie.el: New package.
+ * dired-x.el (dired-omit-new-add-entry): Merge into dired-add-entry.
+ * dired-aux.el (dired-add-entry): Give it a doc-string.
+ Merge dired-x's dired-omit handling here.
+ (dired-omit-mode, dired-omit-regexp, dired-omit-localp): Declare.
-2010-11-06 Michael Albinus <michael.albinus@gmx.de>
+ * international/mule-diag.el (list-input-methods-1):
+ Indent all lines of multi-line doc-strings. (Bug#8066)
- * files.el (backup-by-copying-when-mismatch):
- Set `permanent-local' property.
+2011-02-18 Chong Yidong <cyd@stupidchicken.com>
- * net/tramp.el (tramp-handle-insert-file-contents): Do not set
- `permanent-local' property for `backup-by-copying-when-mismatch'.
+ Fix 2011-02-02 changes.
-2010-11-06 Eli Zaretskii <eliz@gnu.org>
+ * apropos.el (apropos-print): Call apropos-mode before setting up
+ buffer variables. Use inhibit-read-only.
- * ls-lisp.el (insert-directory): Doc fix. (bug#7285)
- (ls-lisp-classify-file): New function.
- (ls-lisp-insert-directory): Call it if switches include -F (bug#6294).
- (ls-lisp-classify): Call ls-lisp-classify-file.
- (insert-directory): Remove blanks from switches.
+ * emacs-lisp/package.el (package--list-packages):
+ Call package-menu-mode before setting up buffer variables.
-2010-11-07 Wilson Snyder <wsnyder@wsnyder.org>
+ * play/solitaire.el (solitaire): Call solitaire-mode before
+ setting up buffer variables. Use inhibit-read-only.
- * progmodes/verilog-mode.el (verilog-insert-one-definition)
- (verilog-read-decls, verilog-read-sub-decls-sig): Fix AUTOWIRE and
- AUTOINOUT for SV style multidimensional arrays, bug294.
- Reported by Eric Mastromarchi.
- (verilog-preprocess): Use with-current-buffer and
- font-lock-fontify-buffer to cleanup style issues.
+2011-02-18 Lawrence Mitchell <wence@gmx.li>
-2010-11-05 Michael Albinus <michael.albinus@gmx.de>
+ * progmodes/sh-script.el (sh-syntax-propertize-here-doc): (bug#8053)
+ Bind case-fold-search to nil when looking for end of here-doc.
- * net/trampver.el: Update release number.
+2011-02-18 Eli Zaretskii <eliz@gnu.org>
-2010-08-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+ * image-mode.el (image-toggle-display-image):
+ Set find-file-literally non-nil in buffers visiting binary image
+ files. (Bug#8047)
- * mouse.el (mouse-fixup-help-message): Match "mouse-2" only at the
- beginning of the string. Use `string-match-p'. (Bug#6765)
+2011-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
-2010-11-01 Glenn Morris <rgm@gnu.org>
+ * files.el (cd): Make completion obey cd-path (bug#7924).
- * locate.el (locate, locate-mode): Doc fixes.
+2011-02-18 Glenn Morris <rgm@gnu.org>
-2010-11-01 Chong Yidong <cyd@stupidchicken.com>
+ * progmodes/prolog.el: Don't require compile when compiling.
+ (compilation-shell-minor-mode, compilation-error-regexp-alist)
+ (compilation-forget-errors, compilation-fake-loc)
+ (compilation-parse-errors-function, compilation-error-list): Declare.
+ (prolog-inferior-mode): Require 'compile.
+
+ * emulation/cua-base.el (pc-selection-mode): Declare.
+
+ * emacs-lisp/eieio-custom.el: Set generated-autoload-file.
+ (customize-object): Add autoload cookie.
+ * emacs-lisp/eieio-opt.el: Set generated-autoload-file.
+ (eieio-browse, describe-class, eieio-describe-class)
+ (eieio-describe-constructor, describe-generic, eieio-describe-generic)
+ (eieio-help-mode-augmentation-maybee): Add autoload cookies.
+ * emacs-lisp/eieio.el: Regenerate with automatic autoloads.
+ * Makefile.in (autoloads): Make eieio.el writable.
+
+ * dired-x.el (dired-clean-up-after-deletion, dired-do-relsymlink)
+ (dired-do-relsymlink-regexp, dired-find-buffer-nocreate): Use #'.
+ (dired-hack-local-variables): Use inhibit-read-only.
+ (dired-guess-default): Simplify.
+ (dired-make-relative-symlink): Use dotimes.
+ (dired-simultaneous-find-file): Use dolist.
+ (dired-mark-sexp): Remove unneeded `if'. Use line-end-position.
+ (dired-x-hands-off-my-keys): Doc fix.
+ (dired-x-bind-find-file): Doc fix. Use remapping.
+ (after-init-hook): No need to add dired-x-bind-find-file.
+ (dired-x-find-file, dired-x-find-file-other-window): Doc fixes.
+ No need to call expand-file-name.
+ (dired-filename-at-point): Remove unused locals `end', `filename'.
+
+2011-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/pcase.el (pcase--u1): Understand non-linear patterns.
+
+2011-02-18 Christian Ohler <ohler@gnu.org>
+
+ * emacs-lisp/ert.el (ert--setup-results-buffer)
+ (ert-results-pop-to-backtrace-for-test-at-point)
+ (ert-results-pop-to-messages-for-test-at-point)
+ (ert-results-pop-to-should-forms-for-test-at-point)
+ (ert-results-pop-to-timings): Revert parts of change 2011-02-02T17:59:44Z!sds@gnu.org that
+ were incorrect and unnecessary. This should make `make check'
+ pass again.
+
+2011-02-17 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * lisp/allout-widgets.el (allout-widgets-icons-light-subdir)
+ (allout-widgets-icons-dark-subdir): Track relocations of icons.
+ * lisp/allout.el: Remove commentary about remove encryption
+ passphrase mnemonic support and verification.
+ (allout-encrypt-string): Recognize epg failure to decrypt gpg2
+ armored text using gpg1, and indicate that the gpg version *might*
+ be the problem in the error message.
+
+2011-02-17 Deniz Dogan <deniz.a.m.dogan@gmail.com>
+
+ * net/rcirc.el (rcirc-float-time): New function.
+ (rcirc-keepalive, rcirc-handler-ctcp-KEEPALIVE)
+ (rcirc-ctcp-sender-PING): Use it.
- * server.el (server-start): New arg INHIBIT-PROMPT prevents asking
- user for confirmation.
- (server-force-stop): Use it.
- (server-start): Use server-force-stop for kill-emacs-hook, to
- avoid user interaction while killing Emacs.
+2011-02-17 Glenn Morris <rgm@gnu.org>
-2010-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
+ * speedbar.el (speedbar-ignored-modes, speedbar-file-unshown-regexp)
+ (speedbar-update-flag, speedbar-fetch-etags-command)
+ (speedbar-fetch-etags-arguments):
+ * term.el (term-buffer-maximum-size, term-input-chunk-size)
+ (term-completion-autolist, term-completion-addsuffix)
+ (term-completion-recexact, term-completion-fignore):
+ * term/sup-mouse.el (sup-mouse-fast-select-window):
+ * term/x-win.el (x-select-request-type):
+ Convert some defvars with "*" to defcustoms.
- * vc/log-edit.el (log-edit-rewrite-fixes): New var.
- (log-edit-author): New dynamic var.
- (log-edit-changelog-ours-p, log-edit-insert-changelog-entries):
- Use it to return the author if different from committer.
- (log-edit-insert-changelog): Use them to add Author: and Fixes headers.
+ * shell.el (shell-delimiter-argument-list): Set it to nil. (Bug#8027)
-2010-10-31 Eli Zaretskii <eliz@gnu.org>
+ * vc/vc.el (vc-default-previous-version):
+ Remove alias that points nowhere. (Bug#4496)
- * vc/vc-hooks.el (vc-default-mode-line-string): Doc fix.
+ * dired-x.el (dired-clean-up-after-deletion):
+ kill-buffer does not need save-excursion.
+ (dired-do-run-mail): Doc fix.
+ (dired-filename-at-point): Doc fix.
+ Use looking-at, and skip-chars rather than re search.
-2010-10-31 Chong Yidong <cyd@stupidchicken.com>
+ * dired-x.el (dired-filename-at-point): Fix 8-year old typo.
- * vc/vc.el (vc-deduce-backend): New fun. Handle diff buffers.
- (vc-root-diff, vc-print-root-log, vc-log-incoming)
- (vc-log-outgoing): Use it.
- (vc-diff-internal): Set diff-vc-backend.
+2011-02-16 Ken Manheimer <ken.manheimer@gmail.com>
- * vc/diff-mode.el (diff-vc-backend): New var.
+ * allout-widgets.el: New allout extension that shows allout
+ outline structure with graphical widgets. 'allout-widgets'
+ customize group is an 'allout' subgroup, for easy discovery.
-2010-10-31 Juri Linkov <juri@jurta.org>
+ * allout.el: Include PGP and GnuPG in Keywords, and other
+ commentary refinements.
+ (allout-abbreviate-flattened-numbering): Rename to
+ allout-flattened-numbering-abbreviation, and
+ define-obsolete-variable-alias the old name.
+ (allout-flattened-numbering-abbreviation): Rename from
+ allout-abbreviate-flattened-numbering.
+ (allout-mode-p): Include among autoloads, for use by other modes
+ with impunity.
+ (allout-listify-exposed):
+ Use allout-flattened-numbering-abbreviation.
+ (allout-encrypt-string): Use set-buffer-multibyte directly.
+ (allout-set-buffer-multibyte): Remove.
- * vc/vc.el (vc-diff-internal): Set `revert-buffer-function'
- buffer-locally to lambda that re-runs the vc diff command.
- (Bug#6447)
+2011-02-16 Deniz Dogan <deniz.a.m.dogan@gmail.com>
-2010-10-31 Dan Nicolaescu <dann@ics.uci.edu>
+ * simple.el (just-one-space): Remove useless `or' call.
- * vc/log-view.el (log-view-mode-map): Bind revert-buffer.
+2011-02-16 Alex Harsanyi <AlexHarsanyi@gmail.com>
- Make 'g' (AKA revert-buffer) rerun VC log, log-incoming and
- log-outgoing commands.
- * vc/vc.el (vc-log-internal-common): Add a new argument and use it
- to create a buffer local revert-buffer-function variable.
- (vc-print-log-internal, vc-log-incoming, vc-log-outgoing): Pass a
- revert-buffer-function lambda.
+ * net/soap-client.el (soap-well-known-xmlns, soap-local-xmlns)
+ (soap-default-xmlns, soap-target-xmlns, soap-multi-refs)
+ (soap-decoded-multi-refs, soap-current-wsdl)
+ (soap-encoded-namespaces): Rename CL-style *...* variables.
- Improve VC create/retrieve tag/branch.
- * vc.el (vc-create-tag): Do not read the directory name for VCs
- with repository revision granularity. Adjust the tag/branch
- prompt. Reset VC properties.
- (vc-retrieve-tag): Do not read the directory name for VCs
- with repository revision granularity. Reset VC properties.
+2011-02-16 Michael Albinus <michael.albinus@gmx.de>
- Add optional support for resetting VC properties.
- * vc-dispatcher.el (vc-resynch-window): Add new optional argument,
- call vc-file-clearprops when true.
- (vc-resynch-buffer): Add new optional argument, pass it down.
- (vc-resynch-buffers-in-directory): Likewise.
+ * net/soap-client.el: Add "comm" and "hypermedia" to the
+ keywords. Reflow too long lines.
- Improve support for special markup in the VC commit message.
- * vc-mtn.el (vc-mtn-checkin): Support Author: and Date: markup.
- * vc-hg.el (vc-hg-checkin): Add support for Date:.
- * vc-git.el (vc-git-checkin):
- * vc-bzr.el (vc-bzr-checkin): Likewise.
+ * net/soap-inspect.el: Ditto. Require 'cl.
- Add support for vc-log-incoming, improve vc-log-outgoing for Git.
- * vc-git.el (vc-git-log-view-mode): Fix font lock for
- incoming/outgoing logs.
- (vc-git-log-outgoing, vc-git-log-incoming): New functions.
+2011-02-16 Bastien Guerry <bzg@altern.org>
- * vc-git.el (vc-git-log-outgoing): Use the same format as the
- short log.
- (vc-git-log-incoming): Likewise. Run "git fetch" before the log
- command
+ * play/doctor.el (doctor-mode): Bugfix: escape the "," character
+ in a `doctor-type' argument.
- Add bindings for vc-log-incoming and vc-log-outgoing.
- * vc-hooks.el (vc-prefix-map): Add bindings for vc-log-incoming
- and vc-log-outgoing.
- * vc-dir.el (vc-dir-menu-map): Add menu bindings for vc-log-incoming
- and vc-log-outgoing.
+2011-02-16 Alex Harsanyi <AlexHarsanyi@gmail.com>
- Improve state updating for VC tag commands.
- * vc.el (vc-create-tag, vc-retrieve-tag): Call vc-resynch-buffer
- to update the state of all buffers in the directory.
+ * net/soap-client.el:
+ * net/soap-inspect.el: New files.
-2010-05-19 Glenn Morris <rgm@gnu.org>
+2011-02-16 Leo <sdl.web@gmail.com>
- * vc-dir.el (vc-dir): Don't pop-up-windows. (Bug#6204)
+ * dired-x.el (dired-mode-map, dired-extra-startup):
+ Remove dired-copy-filename-as-kill since it's already in dired.el.
-2010-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
+2011-02-16 Glenn Morris <rgm@gnu.org>
- * vc.el (vc-checkin, vc-modify-change-comment):
- Adjust to new vc-start/finish-logentry.
- (vc-find-conflicted-file): New command.
- (vc-transfer-file): Adjust to new vc-checkin.
- (vc-next-action): Improve scoping.
+ * dired-x.el (dired-bind-jump, dired-bind-man, dired-bind-info):
+ Doc fixes. Add :set property, replacing top-level calls.
+ (dired-vm-read-only-folders, dired-vm): Doc fix (drop v. old VM 4).
+ (dired-guess-shell-gnutar): Test tar version rather than system-type.
+ (dired-extra-startup, dired-man, dired-info): Doc fixes.
+ (dired-clean-up-after-deletion): Use when and dolist.
+ (dired-jump): Use unless and when.
+ (dired-virtual): Use line-end-position.
+ (dired-default-directory-alist): Rename from default-directory-alist.
+ (dired-default-directory): Update for above name change.
+ (dired-vm): Drop VM < 5 and simplify.
+ (dired-buffer-more-recently-used-p): Rewrite.
+ (dired-filename-at-point): Use when and or.
+ (dired-x-read-filename-at-point): Rename from read-filename-at-point.
+ Update callers.
- * vc-git.el (vc-git-checkin): Use log-edit-extract-headers.
- (vc-git-commits-coding-system): Rename from git-commits-coding-system.
+2011-02-15 Glenn Morris <rgm@gnu.org>
- * vc-dispatcher.el (vc-log-edit): Shorten names for
- log-edit-show-files.
+ * dired-x.el: Use easymenu for menu items. Fix item capitalization.
- * vc-bzr.el (vc-bzr-checkin): Use log-edit-extract-headers.
- (vc-bzr-conflicted-files): New function.
+2011-02-14 Chong Yidong <cyd@stupidchicken.com>
- * log-edit.el (log-edit-summary, log-edit-header)
- (log-edit-unknown-header): New faces.
- (log-edit-headers-alist): New var.
- (log-edit-header-contents-regexp): New const.
- (log-edit-match-to-eoh): New function.
- (log-edit-font-lock-keywords): Use them.
- (log-edit): Insert a "Summary:" header as default.
- (log-edit-mode): Mark font-lock rules as case-insensitive.
- (log-edit-done): Cleanup headers.
- (log-edit-extract-headers): New function to replace it.
+ * vc/vc-git.el (vc-git-root-log-format): New option for
+ customizing log format.
+ (vc-git-print-log, vc-git-log-outgoing, vc-git-log-incoming)
+ (vc-git-log-view-mode): Use it.
+ (vc-git-expanded-log-entry): New function.
+ (vc-git-log-view-mode): Use it. Truncate lines in root log.
- * vc-dispatcher.el (vc-finish-logentry): Don't mess so badly with
- the windows/frames.
+ * vc/vc-hg.el (vc-hg-root-log-template): New option for
+ customizing log format.
+ (vc-hg-print-log): Use it.
+ (vc-hg-expanded-log-entry): New function.
+ (vc-hg-log-view-mode): Use vc-hg-root-log-template and
+ vc-hg-expanded-log-entry. Truncate lines in root log.
- * vc-bzr.el (vc-bzr-shelve-apply): Don't use *vc-bzr-shelve*.
+ * vc/vc-bzr.el (vc-bzr-log-view-mode): Truncate lines in root log.
- * vc-dir.el (vc-dir-kill-line): New command.
- (vc-dir-mode-map): Bind it to C-k.
- (vc-dir-headers): Abbreviate the working dir.
+ * vc/log-view.el (log-view-mode-menu):
+ Add log-view-toggle-entry-display.
- * vc-git.el (vc-git-revision-table): Include remote branches.
+2011-02-14 Glenn Morris <rgm@gnu.org>
-2010-10-31 Dan Nicolaescu <dann@ics.uci.edu>
+ * dired-x.el: Don't require man when compiling.
+ (dired-omit-extensions, dired-local-variables-file)
+ (dired-x-hands-off-my-keys): Make them defcustoms.
+ (Man-support-local-filenames, Man-getpage-in-background): Declare.
+ (vm-visit-folder): Declare rather than defining.
+ (dired-x-help-address, dired-x-variable-list): Remove.
+ (dired-x-submit-report): Make it an obsolete alias.
- New VC methods: vc-log-incoming and vc-log-outgoing.
- * vc.el (vc-print-log-setup-buttons, vc-log-internal-common)
- (vc-incoming-outgoing-internal, vc-log-incoming, vc-log-outgoing):
- New functions.
- (vc-print-log-internal): Just call vc-log-internal-common.
- (vc-log-view-type): New permanent local variable.
+2011-02-14 Juanma Barranquero <lekktu@gmail.com>
- * vc-hooks.el (vc-menu-map): Bind vc-log-incoming and vc-log-outgoing.
+ * makefile.w32-in (TRAMP_SRC): Remove tramp-imap.el.
- * vc-bzr.el (vc-bzr-log-view-mode): Use vc-log-view-type instead
- of the dynamic bound vc-short-log.
- (vc-bzr-log-incoming, vc-bzr-log-outgoing): New functions.
+2011-02-13 Teodor Zlatanov <tzz@lifelogs.com>
- * vc-git.el (vc-git-log-outgoing): New function.
- (vc-git-log-view-mode): Use vc-log-view-type instead
- of the dynamic bound vc-short-log.
+ * net/imap.el: Bring it back.
- * vc-hg.el (vc-hg-log-view-mode): Use vc-log-view-type instead of
- the dynamic bound vc-short-log. Highlight the tag.
- (vc-hg-log-incoming, vc-hg-log-outgoing): New functions.
- (vc-hg-outgoing, vc-hg-incoming, vc-hg-outgoing-mode):
- (vc-hg-incoming-mode): Remove.
- (vc-hg-extra-menu-map): Do not bind vc-hg-incoming and vc-hg-outgoing.
+2011-02-13 Alan Mackenzie <acm@muc.de>
- Fix default-directory for vc-root-diff.
- * vc.el (vc-root-diff): Bind default-directory to the root
- directory for the diff command.
+ * progmodes/cc-fonts.el (c-font-lock-declarations): Remove a
+ narrow-to-region call that cuts context off the end (Bug#7722).
-2010-10-31 Sam Steingold <sds@gnu.org>
+ * progmodes/cc-engine.el (c-forward-<>-arglist-recur):
+ Refactor nested if-forms with a simple cond.
+ (c-forward-<>-arglist): Revert 2011-01-31 change.
- * vc-hg.el (vc-hg-push, vc-hg-pull): Use `apply' when calling
- `vc-hg-command' with a list of flags.
+2011-02-13 Chong Yidong <cyd@stupidchicken.com>
-2010-10-31 Glenn Morris <rgm@gnu.org>
+ * vc/log-view.el: New command log-view-toggle-entry-display for
+ toggling log entries between concise and detailed forms.
+ (log-view-toggle-entry-display): New command.
+ (log-view-mode-map): Bind RET to it.
+ (log-view-expanded-log-entry-function): New variable.
+ (log-view-current-entry, log-view-inside-comment-p)
+ (log-view-current-tag): New functions.
+ (log-view-toggle-mark-entry): Use log-view-current-entry and
+ log-view-end-of-defun instead of searching directly with
+ log-view-message-re.
+ (log-view-end-of-defun): Likewise. Add optional ARG for
+ compatibility with end-of-defun.
+ (log-view-end-of-defun): Ignore comments and VC buttons.
- * vc-bzr.el (vc-bzr-log-edit-mode): Add --fixes support to
- log-edit-before-checkin-process.
+ * vc/vc-bzr.el (vc-bzr-expanded-log-entry): New function.
+ (vc-bzr-log-view-mode): Use log-view-expanded-log-entry-function.
- * vc.el (vc-modify-change-comment): Pass MODE to vc-start-logentry.
+2011-02-13 Teodor Zlatanov <tzz@lifelogs.com>
- * vc-bzr.el, vc-hg.el (log-edit-mode): Declare.
+ * net/imap.el: Remove file. All the functionality is in nnimap.el.
- * vc-dispatcher.el (vc-start-logentry): Doc fix.
- (log-view-process-buffer, log-edit-extra-flags): Declare.
+ * net/imap-hash.el: Remove file.
-2010-10-31 Dan Nicolaescu <dann@ics.uci.edu>
+2011-02-13 Michael Albinus <michael.albinus@gmx.de>
- Add special markup processing for commit logs.
- * log-edit.el (log-edit): Add new argument MODE. Use that mode
- when non-nil instead of the log-view-mode.
+ * Makefile.in (TRAMP_SRC): Remove tramp-imap.el.
- * vc.el (vc-default-log-edit-mode): New function.
+ * net/tramp.el (tramp-read-passwd): Simplify `auth-source-search'
+ call.
- * vc-dispatcher.el (vc-log-edit): Add a mode argument, pass it to
- log-edit.
+ * net/tramp-imap.el: Remove file.
- Support for shelving snapshots and for showing shelves.
- * vc-bzr.el (vc-bzr-shelve-show, vc-bzr-shelve-show-at-point)
- (vc-bzr-shelve-apply-and-keep-at-point, vc-bzr-shelve-snapshot):
- New functions.
- (vc-bzr-shelve-map, vc-bzr-shelve-menu-map)
- (vc-bzr-extra-menu-map): Map them.
+2011-02-13 Chong Yidong <cyd@stupidchicken.com>
-2010-10-30 Michael Albinus <michael.albinus@gmx.de>
+ * vc/vc.el (vc-print-log-setup-buttons): Instead of using the
+ widget library for buttons, just use button.el.
- * net/tramp.el (tramp-handle-insert-file-contents): For root,
- preserve owner and group when editing files. (Bug#7289)
+ * vc/log-view.el (log-view-mode-map): Don't inherit from
+ widget-keymap.
-2010-10-29 Glenn Morris <rgm@gnu.org>
+2011-02-12 Glenn Morris <rgm@gnu.org>
- * speedbar.el (speedbar-mode):
- * play/fortune.el (fortune-in-buffer, fortune):
- * play/gomoku.el (gomoku-mode):
- * play/landmark.el (lm-mode):
- * textmodes/bibtex.el (bibtex-validate, bibtex-validate-globally):
- Replace inappropriate uses of toggle-read-only. (Bug#7292)
+ * emacs-lisp/cl-seq.el (union, nunion, intersection)
+ (nintersection, set-difference, nset-difference)
+ (set-exclusive-or, nset-exclusive-or): Doc fix.
-2010-10-28 Glenn Morris <rgm@gnu.org>
+ * ediff-ptch.el (ediff-fixup-patch-map): Doc fix.
- * select.el (x-selection): Mark it as an obsolete alias.
+ * faces.el (face-attr-match-p): Handle the obsolete :bold and
+ :italic props, so that frame-set-background-mode works. (Bug#7966)
-2010-10-27 Aaron S. Hawley <aaron.s.hawley@gmail.com>
+ * simple.el (next-error): Doc fix.
- * add-log.el (find-change-log): Use derived-mode-p rather than
- major-mode (bug#7284).
+2011-02-12 Thierry Volpiatto <thierry.volpiatto@gmail.com>
-2010-10-27 Glenn Morris <rgm@gnu.org>
+ * dired-aux.el (dired-create-files): Adapt destination name to
+ match the new behavior of copy-directory.
- * menu-bar.el (menu-bar-files-menu): Make it into an actual alias,
- rather than just an unused variable that inherits from the real one.
+2011-02-12 Chong Yidong <cyd@stupidchicken.com>
-2010-10-23 Michael McNamara <mac@mail.brushroad.com>
+ * mail/mail-utils.el (mail-dont-reply-to-names): New variable,
+ from rmail-dont-reply-to-names. Callers changed.
+ (mail-dont-reply-to): Rename from mail-dont-reply-to.
+ (rmail-dont-reply-to): Make it an obsolete alias.
- * progmodes/verilog-mode.el (verilog-directive-re): Make this variable
- auto-built for efficiency of execution and updating.
- (verilog-extended-complete-re): Support 'pure' fucntion & task
- declarations (these have no bodies).
- (verilog-beg-of-statement): General cleanup to enable support of
- 'pure' fucntion & task declarations (these have no bodies).
- These efforts together fix Verilog bug210 from veripool; which was also
- noticed by Steve Pearlmutter.
- (verilog-directive-re, verilog-directive-begin, verilog-indent-re)
- (verilog-directive-nest-re, verilog-set-auto-endcomments):
- Support `elsif. Reported by Shankar Giri.
- (verilog-forward-ws&directives, verilog-in-attribute-p): Fixes for
- attribute handling for lining up declarations and assignments.
- (verilog-beg-of-statement-1): Fix issue where continued declaration
- is indented differently if it is after a begin..end clock.
- (verilog-in-attribute-p, verilog-skip-backward-comments)
- (verilog-skip-forward-comment-p): Support proper treatment of
- attributes by indent code. Reported by Jeff Steele.
- (verilog-in-directive-p): Fix comment to correctly describe function.
- (verilog-backward-up-list, verilog-in-struct-region-p)
- (verilog-backward-token, verilog-in-struct-p)
- (verilog-in-coverage-p, verilog-do-indent)
- (verilog-pretty-declarations): Use verilog-backward-up-list as
- wrapper around backward-up-list inorder to properly skip comments.
- Reported by David Rogoff.
- (verilog-property-re, verilog-endcomment-reason-re)
- (verilog-beg-of-statement, verilog-set-auto-endcomments)
- (verilog-calc-1 ): Fix for assert a; else b; indentation (new form
- of if). Reported by Max Bjurling and
- (verilog-calc-1): Fix for clocking block in modport
- declaration. Reported by Brian Hunter.
+ * mail/rmail.el (rmail-default-dont-reply-to-names): Default to
+ nil, and make obsolete (Bug#7888).
+ (rmail-dont-reply-to-names): Alias to mail-dont-reply-to-names.
-2010-10-23 Wilson Snyder <wsnyder@wsnyder.org>
+ * mail/rmailsum.el (rmail-summary-sort-by-correspondent): Doc fix.
- * progmodes/verilog-mode.el (verilog-auto-inst, verilog-gate-ios)
- (verilog-gate-keywords, verilog-read-sub-decls)
- (verilog-read-sub-decls-gate, verilog-read-sub-decls-gate-ios)
- (verilog-read-sub-decls-line, verilog-read-sub-decls-sig): Support
- AUTOINST for gate primitives, bug284. Reported by Mark Johnson.
- (verilog-read-decls): Fix spaces in V2K module parameters causing
- mis-identification as interfaces, bug287.
- (verilog-read-decls): Fix not treating "parameter string" as a
- parameter in AUTOINSTPARAM.
- (verilog-read-always-signals-recurse, verilog-read-decls): Fix not
- treating `elsif similar to `endif inside AUTOSENSE.
- (verilog-do-indent): Implement correct automatic or static task or
- function end comment highlight. Reported by Steve Pearlmutter.
- (verilog-font-lock-keywords-2): Fix highlighting of single
- character pins, bug264. Reported by Michael Laajanen.
- (verilog-auto-inst, verilog-read-decls, verilog-read-sub-decls)
- (verilog-read-sub-decls-in-interfaced, verilog-read-sub-decls-sig)
- (verilog-subdecls-get-interfaced, verilog-subdecls-new):
- Support interfaces with AUTOINST, bug270. Reported by Luis Gutierrez.
- (verilog-pretty-expr): Fix interactive arguments, bug272.
- Reported by Mark Johnson.
- (verilog-auto-tieoff, verilog-auto-tieoff-ignore-regexp):
- Add 'verilog-auto-tieoff-ignore-regexp' for AUTOTIEOFF,
- bug269. Suggested by Gary Delp.
- (verilog-mode-map, verilog-preprocess, verilog-preprocess-history)
- (verilog-preprocessor, verilog-set-compile-command):
- Create verilog-preprocess and verilog-preprocessor to show
- preprocessed output.
- (verilog-get-beg-of-line, verilog-get-end-of-line)
- (verilog-modi-file-or-buffer, verilog-modi-name)
- (verilog-modi-point, verilog-within-string): Move defmacro's
- before first use to avoid warning. Reported by Steve Pearlmutter.
- (verilog-colorize-buffer, verilog-colorize-include-files-buffer)
- (verilog-colorize-region, verilog-highlight-buffer)
- (verilog-highlight-includes, verilog-highlight-modules)
- (verilog-highlight-region, verilog-mode): Rename colorize to
- highlight to match other packages. Disable module highlighting,
- as received speed complaints, reenable for experimentation only
- using new verilog-highlight-modules.
- (verilog-read-decls): Fix regexp stack overflow in very large
- AUTO_TEMPLATEs, bug250.
- (verilog-auto, verilog-delete-auto, verilog-save-buffer-state)
- (verilog-scan): Create verilog-save-buffer-state to standardize
- making insignificant changes that shouldn't call hooks.
- (verilog-save-no-change-functions, verilog-save-scan-cache)
- (verilog-scan, verilog-scan-cache-ok-p, verilog-scan-region):
- Create verilog-save-no-change-functions to wrap verilog-scan
- preservation, and fix to work with nested preserved calls.
- (verilog-auto-inst, verilog-auto-inst-dot-name): Support .name
- port syntax for AUTOWIRE, and with new verilog-auto-inst-dot-name
- generate .name with AUTOINST, bug245. Suggested by David Rogoff.
- (verilog-submit-bug-report): Update variable list to be complete.
- (verilog-auto, verilog-colorize-region): Fix AUTO expansion
- breaking on-the-fly font-locking.
- (verilog-colorize-buffer, verilog-colorize-include-files)
- (verilog-colorize-include-files-buffer, verilog-colorize-region)
- (verilog-load-file-at-mouse, verilog-load-file-at-point)
- (verilog-mode, verilog-read-inst-module-matcher): With point on a
- AUTOINST cell instance name, middle mouse button now finds-file on
- it. Suggested by Brad Dobbie.
- (verilog-alw-get-temps, verilog-auto-reset)
- (verilog-auto-sense-sigs, verilog-read-always-signals)
- (verilog-read-always-signals-recurse): Fix loop indexes being
- AUTORESET. AUTORESET now assumes any variables in the
- initialization section of a for() should be ignored.
- Reported by Dan Dever.
- (verilog-error-font-lock-keywords)
- (verilog-error-regexp-emacs-alist)
- (verilog-error-regexp-xemacs-alist): Fix error detection of
- Cadence HAL, reported by David Asher. Repair drift between the
- three similar error variables.
- (verilog-modi-lookup, verilog-modi-lookup-cache)
- (verilog-modi-lookup-last-current, verilog-modi-lookup-last-mod)
- (verilog-modi-lookup-last-modi, verilog-modi-lookup-last-tick):
- Fix slow verilog-auto expansion on very large files.
- (verilog-read-sub-decls-expr, verilog-read-sub-decls-line):
- Fix AUTOOUTPUT treating "1*2" as a signal name in submodule connection
- "{1*2{...". Broke in last revision.
- (verilog-read-sub-decls-expr): Fix AUTOOUTPUT not detecting
- submodule connections with replications "{#{a},#{b}}".
+ * mail/rmailsort.el (rmail-sort-by-correspondent)
+ (rmail-select-correspondent): Doc fix. Use mail-dont-reply-to.
-2010-10-23 Glenn Morris <rgm@gnu.org>
+ * mail/rmail.el (rmail-reply): Use mail-dont-reply-to.
- * comint.el (comint-password-prompt-regexp):
- Match "enter the password". (Bug#7224)
+2011-02-12 Thierry Volpiatto <thierry.volpiatto@gmail.com>
-2010-10-22 Juanma Barranquero <lekktu@gmail.com>
+ * files.el (copy-directory): New argument COPY-CONTENTS for
+ copying directory contents into another existing directory.
- * progmodes/dcl-mode.el (dcl-electric-reindent-regexps):
- Fix typo in docstring.
+2011-02-12 Tassilo Horn <tassilo@member.fsf.org>
-2010-10-21 Michael Albinus <michael.albinus@gmx.de>
+ * minibuffer.el (completion-table-case-fold): New function for
+ creating a case-insensitive completion table.
- * net/tramp.el (tramp-get-inline-coding): Return `nil' in case of
- errors.
+2011-02-12 Teodor Zlatanov <tzz@lifelogs.com>
- * net/trampver.el: Update release number.
+ * net/tramp.el (tramp-default-method): Also check if
+ `auth-source-search' is bound.
+ (tramp-read-passwd): Use `auth-source-search' instead of
+ `auto-source-user-or-password'.
-2010-10-20 Kenichi Handa <handa@m17n.org>
+ * net/tramp-imap.el: Autoload `auto-source-search' instead of
+ `auto-source-user-or-password.
+ (tramp-imap-passphrase-callback-function): Use it.
- * face-remap.el (text-scale-adjust): Call read-event with a proper
- prompt.
+ * net/imap-hash.el: Autoload `auto-source-search' instead of
+ `auto-source-user-or-password.
+ (imap-hash-open-connection): Use it.
-2010-10-19 Michael Albinus <michael.albinus@gmx.de>
+ * mail/smtpmail.el: Autoload `auto-source-search' instead of
+ `auto-source-user-or-password.
+ (smtpmail-try-auth-methods): Use it.
- * net/tramp.el (tramp-do-file-attributes-with-stat)
- (tramp-do-directory-files-and-attributes-with-stat): Use "e0" in
- order to make stat results a float. Patch by Andreas Schwab
- <schwab@linux-m68k.org>.
+2011-02-12 Phil Hagelberg <phil@hagelb.org>
-2010-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
+ * emacs-lisp/package.el: Allow packages to be reinstalled.
+ (package--write-file-no-coding): Remove EXCL arg.
+ (package-unpack-single): Don't use it.
- * repeat.el (repeat): Use read-key (bug#6256).
+2011-02-12 Karl Pflästerer <k@rl.pflaesterer.de> (tiny change)
-2010-10-18 Chong Yidong <cyd@stupidchicken.com>
+ * vc/vc-svn.el: Adapt to Subversion change, with no .svn directory
+ in each sub directory.
+ (vc-svn-registered): Use vc-svn-root.
+ (vc-svn-root): New function. Make vc-svn-responsible-p an alias.
+ (vc-svn-repository-hostname): Use "svn info".
- * emacs-lisp/unsafep.el: Don't mark functions that display
- messages as safe. Suggested by Johan Bockgård.
+2011-02-11 Deniz Dogan <deniz.a.m.dogan@gmail.com>
-2010-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
+ * simple.el (delete-trailing-whitespace): New optional buffer
+ bound parameters.
- * emacs-lisp/regexp-opt.el (regexp-opt-group, regexp-opt-charset):
- Turn comments into docstrings.
+2011-02-11 Bastien Guerry <bzg@altern.org>
- * minibuffer.el (completion--replace): Move point where it belongs
- when there's a common suffix (bug#7215).
+ * files.el (basic-save-buffer): save unmodified buffers when
+ the file pointed by buffer-file-name doesn't exist.
-2010-10-15 Michael Albinus <michael.albinus@gmx.de>
+2011-02-11 Deniz Dogan <deniz.a.m.dogan@gmail.com>
- * net/tramp.el (tramp-open-connection-setup-interactive-shell):
- Suppress expansion of tabs to spaces. Reported by Dale Sedivec
- <dale@codefu.org>.
+ * net/rcirc.el (rcirc-cmd-join): Accept multiple channels.
-2010-10-15 Kenichi Handa <handa@m17n.org>
+2011-02-11 Glenn Morris <rgm@gnu.org>
- * international/characters.el: Add category '|' (word breakable)
- to fullwidth characters.
+ * emacs-lisp/cl-specs.el (multiple-value-bind): Fix debug spec.
-2010-10-14 Kenichi Handa <handa@m17n.org>
+2011-02-11 Juanma Barranquero <lekktu@gmail.com>
- * mail/rmail.el (rmail-show-message-1): Catch an error of
- base64-decode-region and just show an error message (bug#7165).
+ * net/rcirc.el (rcirc-send-ctcp): Remove spurious arg to `format'.
- * ps-mule.el (ps-mule-font-spec-list): Delete it. Not used anymore.
- (ps-mule-begin-job): Fix for the case that only ENCODING is set in
- a font-spec (bug#7197).
+2011-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
-2010-10-13 Glenn Morris <rgm@gnu.org>
+ * server.el (server-process-filter): Use pcase.
- * mail/emacsbug.el (report-emacs-bug): Mention debbugs.gnu.org.
+ * emacs-lisp/smie.el (smie-blink-matching-open): Don't use `pos' in two
+ conflicting ways.
+ (smie-indent--parent): Extend to "parent of arg".
+ (smie-indent-inside-string): New function.
+ (smie-indent-functions): Use it.
-2010-10-12 Juanma Barranquero <lekktu@gmail.com>
+ * vc/vc-dir.el (vc-dir-refresh): Reorder operations to try and avoid
+ bzr locking race condition.
- * international/mule.el (define-coding-system):
- * international/titdic-cnv.el (quail-cxterm-package-ext-info):
- * composite.el (compose-region): Fix typo in docstring.
+ * emacs-lisp/edebug.el (edebug-instrument-function): Check a marker is
+ still valid before using it.
-2010-10-10 Jan Djärv <jan.h.d@swipnet.se>
+ * progmodes/grep.el (grep-mode-font-lock-keywords): Adjust to
+ `message' -> `compilation-message' rename (bug#8004).
- * term/ns-win.el (ns-right-alternate-modifier): New defvar.
- (ns-right-option-modifier): New alias for ns-right-alternate-modifier.
- (mac-right-option-modifier): New alias for ns-right-option-modifier.
+ Move keymap initialization into declaration.
+ * textmodes/enriched.el (enriched-mode-map):
+ * textmodes/bib-mode.el (bib-mode-map):
+ * term/lk201.el (lk201-function-map):
+ * tar-mode.el (tar-mode-map):
+ * replace.el (occur-mode-map):
+ * progmodes/idlwave.el (idlwave-rinfo-mouse-map, idlwave-rinfo-map):
+ * progmodes/idlw-help.el (idlwave-help-mode-map):
+ * progmodes/gdb-mi.el (gdb-memory-format-menu, gdb-memory-unit-menu):
+ * play/solitaire.el (solitaire-mode-map):
+ * play/snake.el (snake-mode-map, snake-null-map):
+ * play/pong.el (pong-mode-map):
+ * play/handwrite.el (menu-bar-handwrite-map):
+ * play/gametree.el (gametree-mode-map):
+ * net/rcirc.el (rcirc-mode-map, rcirc-browse-url-map)
+ (rcirc-multiline-minor-mode-map, rcirc-track-minor-mode-map):
+ * net/newst-plainview.el (newsticker-menu, newsticker-mode-map)
+ (newsticker--url-keymap):
+ * net/net-utils.el (nslookup-mode-map, ftp-mode-map):
+ * menu-bar.el (menu-bar-file-menu, menu-bar-i-search-menu)
+ (menu-bar-search-menu, menu-bar-replace-menu, menu-bar-goto-menu)
+ (menu-bar-edit-menu, menu-bar-custom-menu)
+ (menu-bar-showhide-fringe-ind-menu, menu-bar-showhide-fringe-menu)
+ (menu-bar-showhide-scroll-bar-menu, menu-bar-showhide-menu)
+ (menu-bar-line-wrapping-menu, menu-bar-options-menu)
+ (menu-bar-games-menu, menu-bar-encryption-decryption-menu)
+ (menu-bar-tools-menu, menu-bar-describe-menu)
+ (menu-bar-search-documentation-menu, menu-bar-manuals-menu)
+ (menu-bar-help-menu):
+ * mail/rmailsum.el (rmail-summary-mode-map):
+ * kmacro.el (kmacro-step-edit-map):
+ * ibuffer.el (ibuffer-mode-groups-popup, ibuffer-mode-map)
+ (ibuffer-mode-operate-map):
+ * hi-lock.el (hi-lock-menu, hi-lock-map):
+ * emulation/vip.el (vip-mode-map):
+ * emacs-lisp/re-builder.el (reb-lisp-mode-map):
+ * bookmark.el (bookmark-bmenu-mode-map):
+ * help-mode.el (help-mode-map): Move initialization into declaration.
- * cus-start.el (all): ns-right-alternate-modifier is new.
+2011-02-10 Deniz Dogan <deniz.a.m.dogan@gmail.com>
-2010-10-10 Andreas Schwab <schwab@linux-m68k.org>
+ * net/rcirc.el: Add PRIVMSG and CTCP functions.
+ (rcirc-send-privmsg, rcirc-send-ctcp): New functions.
+ (rcirc-keepalive, rcirc-cmd-ctcp, rcirc-ctcp-sender-PING)
+ (rcirc-cmd-me, rcirc-authenticate): Use them.
- * Makefile.in (ELCFILES): Update.
+2011-02-10 Ken Manheimer <ken.manheimer@gmail.com>
-2010-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
+ * allout.el: Synopsis: Change allout user configuration so
+ auto-activation is controlled solely by customization
+ `allout-auto-activation'.
- * emacs-lisp/lisp.el (lisp-completion-at-point):
- Use emacs-lisp-mode-syntax-table for the whole function.
+ (allout-auto-activation-helper, allout-setup): New autoloads
+ implement new custom set procedure for allout-auto-activation.
+ Also, explicitly invoke (allout-setup) after allout-auto-activation
+ is custom-defined, to affect the settings in emacs sessions besides
+ the few where allout-auto-activation customization is done.
+ (allout-auto-activation): Use allout-auto-activation-helper to
+ :set. Revise the docstring.
+ (allout-init): Reduce functionality to just customizing
+ allout-auto-activation, and mark obsolete.
+ (allout-mode): Respect string values for allout-auto-activation.
+ Run allout-after-copy-or-kill-hook without any args.
+ (allout-mode, allout-layout, allout-default-layout)
+ (outlineify-sticky): Adjust docstring for new scheme.
+ (allout-after-copy-or-kill-hook): No arguments - hook implementers
+ should concentrate on the kill ring.
-2010-10-09 Richard Sharman <richard_sharman@mitel.com> (tiny change)
+2011-02-09 Teodor Zlatanov <tzz@lifelogs.com>
- * progmodes/gdb-ui.el (gdb-mouse-toggle-breakpoint-margin)
- (gdb-mouse-toggle-breakpoint-fringe): Correct regexp to
- work when breakpoint number exceeds nine.
+ * password-cache.el (password-cache-remove): Accept secrets that are
+ not strings.
-2010-10-05 David Koppelman <koppel@ece.lsu.edu>
+2011-02-09 Stefan Monnier <monnier@iro.umontreal.ca>
- * hi-lock.el (hi-lock-font-lock-hook): Check font-lock-fontified
- instead of font-lock-mode before adding keywords.
- Remove hi-lock-mode off code. Remove inhibit hack.
- (hi-lock-set-pattern): Only add keywords if font-lock-fontified
- non-nil; removed hook inhibit hack.
+ * progmodes/sh-script.el (sh-font-lock-open-heredoc): Fix case
+ of here-doc that immediately follows a comment.
-2010-10-09 Glenn Morris <rgm@gnu.org>
+2011-02-09 Deniz Dogan <deniz.a.m.dogan@gmail.com>
- * emacs-lisp/shadow.el (find-emacs-lisp-shadows): Rename it...
- (load-path-shadows-find): ... to this.
- (list-load-path-shadows): Update for above change.
+ * net/rcirc.el (rcirc-ctcp-sender-PING): Simplifying.
- * mail/mail-utils.el (mail-mbox-from): Also try return-path.
+ * net/rcirc.el (rcirc-cmd-ctcp): Use dedicated function when
+ available.
+ (rcirc-ctcp-sender-PING): New function.
-2010-10-08 Glenn Morris <rgm@gnu.org>
+2011-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
- * emacs-lisp/cl-compat.el, emacs-lisp/lmenu.el: Move to obsolete/.
+ * obsolete/pc-select.el: Rename from emulation/pc-select.el (bug#7940).
+ Remove the mark/nomark handling, and activate shift-select-mode instead.
- * emacs-lisp/shadow.el (lisp-shadow): Change prefix.
- (shadows-compare-text-p): Make it an obsolete alias for...
- (load-path-shadows-compare-text): ... new name.
- (find-emacs-lisp-shadows): Update for above name change.
- (load-path-shadows-same-file-or-nonexistent): New name for the old
- shadow-same-file-or-nonexistent.
+ * obsolete/pc-mode.el: Rename from emulation/pc-mode.el.
-2010-10-03 Chong Yidong <cyd@stupidchicken.com>
+2011-02-07 Jay Belanger <jay.p.belanger@gmail.com>
- * minibuffer.el (completion--some, completion--do-completion)
- (minibuffer-complete-and-exit, minibuffer-completion-help)
- (completion-basic-try-completion)
- (completion-basic-all-completions)
- (completion-pcm--find-all-completions): Use lexical-let to
- avoid some false matches in variable completion (Bug#7056)
+ * calc/calc-units.el (math-logunits-quant): Add support for
+ non-logarithmic units.
-2010-10-03 Olof Ohlsson Sax <olof.ohlsson.sax@gmail.com> (tiny change)
+2011-02-07 Ken Manheimer <ken.manheimer@gmail.com>
- * vc-svn.el (vc-svn-merge-news): Use --non-interactive. (Bug#7152)
+ * allout.el (allout-after-copy-or-kill-hook): New hook for
+ extension-specific processing of killed text.
+ (allout-mode): Include new allout-after-copy-or-kill-hook among
+ mentioned hooks.
+ (allout-kill-line, allout-kill-topic): Ensure that processing
+ after kill happens even if barf-if-buffer-read-only is raised.
+ Include new allout-after-copy-or-kill-hook among that subsequent
+ processing.
+ (allout-deannotate-hidden): Actually remove the annotation text
+ properties.
-2010-10-03 Leo <sdl.web@gmail.com>
+ * allout.el (allout-listify-exposed): Copy text sans text properties.
- * dnd.el (dnd-get-local-file-name): If MUST-EXIST is non-nil, only
- return non-nil if the file exists (Bug#7090).
+2011-02-07 Michael Albinus <michael.albinus@gmx.de>
-2010-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
+ * net/dbus.el (dbus-list-activatable-names): Add optional argument BUS.
- * minibuffer.el (completion--replace):
- Better preserve markers (bug#7138).
+2011-02-07 Deniz Dogan <deniz.a.m.dogan@gmail.com>
-2010-09-29 Juanma Barranquero <lekktu@gmail.com>
+ * net/rcirc.el (rcirc-handler-317): New function (Bug#6507).
- * server.el (server-process-filter): Doc fix.
+2011-02-06 Jay Belanger <jay.p.belanger@gmail.com>
-2010-09-27 Drew Adams <drew.adams@oracle.com>
+ * calc/calc.el (calc-logunits-field-reference): Rename from
+ `calc-default-field-reference-level'.
+ (calc-logunits-power-reference): Rename from
+ `calc-default-power-reference-level'.
- * dired.el (dired-save-positions): Doc fix. (Bug#7119)
+ * calc/calc-units.el (math-logunits-quant): Rename from
+ `math-logunits-level'
+ (math-logunits-plus): Rename from math-logcombine.
+ (calcFunc-luplus, calcFunc-luminus calc-luplus, calc-luminus): Remove.
+ (calcFunc-lufieldadd, calcFunc-lupoweradd, calcFunc-lufieldsub)
+ (calcFunc-lufieldsub, calc-logunits-add, calc-logunits-sub):
+ New functions.
+ (calcFunc-fieldquant): Rename from `calcFunc-fieldlevel'.
+ (calcFunc-powerquant): Rename from `calcFunc-powerlevel'.
+ (calc-logunits-quantity): Rename from `calc-level'.
+ (calcFunc-dbfieldlevel, calcFunc-dbpowerlevel, calcFunc-npfieldlevel)
+ (calcFunc-nppowerlevel, calc-logunits-dblevel, calc-logunits-nplevel)
+ (math-logunits-mul, calcFunc-lufieldmul, calcFunc-lupowermul)
+ (calc-logunits-mul, math-logunits-divide, calcFunc-lufielddiv)
+ (calcFunc-lupowerdiv, calc-logunits-divide, math-logunits-level):
+ New functions.
-2010-09-27 Andreas Schwab <schwab@linux-m68k.org>
+ * calc/calc-help.el (calc-u-prefix-help): Remove "L" reference.
+ (calc-ul-prefix-help): Remove.
+ (calc-l-prefix-help): New function.
+ (calc-full-help): Add reference to `calc-l-prefix-help'.
- * Makefile.in (ELCFILES): Update.
+ * calc/calc-ext.el (calc-init-extensions): Update autoloads.
- * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
- Avoid infinite recursion on erroneous lambda form. (Bug#7114)
+ * calc/README: Mention logarithmic units.
-2010-09-27 Kenichi Handa <handa@m17n.org>
+2011-02-06 Chong Yidong <cyd@stupidchicken.com>
- * tar-mode.el (tar-header-block-tokenize): Decode filenames in
- "ustar" format.
+ * mail/emacsbug.el (report-emacs-bug-hook): Remove the check for
+ non-ASCII characters (Bug#7925).
-2010-09-27 Kenichi Handa <handa@m17n.org>
+2011-02-05 Glenn Morris <rgm@gnu.org>
- * international/mule.el (define-coding-system): Docstring fixed.
+ * emacs-lisp/cl-macs.el (return-from): Fix doc typo.
- * international/mule-diag.el (describe-character-set): Use princ
- with proper print-length and print-level instead of insert.
+ * calendar/diary-lib.el (diary-font-lock-keywords):
+ Tweak diary-time-regexp match. (Bug#7891)
-2010-09-26 Juanma Barranquero <lekktu@gmail.com>
+ * progmodes/f90.el (f90-find-tag-default): New function. (Bug#7919)
+ (f90-mode): Use it for mode's `find-tag-default-function' property.
- * window.el (walk-windows): Doc fix (bug#7105).
+ * ibuf-ext.el (ibuffer-filter-disable): Make it work. (Bug#7969)
-2010-09-23 Glenn Morris <rgm@gnu.org>
+ * faces.el (set-face-attribute): Doc fix. (Bug#2659)
- * isearch.el (isearch-lazy-highlight-cleanup)
- (isearch-lazy-highlight-initial-delay)
- (isearch-lazy-highlight-interval)
- (isearch-lazy-highlight-max-at-a-time, isearch-lazy-highlight-face):
- * net/net-utils.el (ipconfig-program-options):
- Move aliases to options before the associated definitions.
+2011-02-05 Deniz Dogan <deniz.a.m.dogan@gmail.com>
-2010-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
+ * net/rcirc.el (rcirc-handler-JOIN): Reset mode-line-process
+ (Bug#6386).
- * newcomment.el (comment-normalize-vars): Better test validity of
- comment-end-skip.
+2011-02-05 Stefan Monnier <monnier@iro.umontreal.ca>
-2010-09-19 Stefan Monnier <monnier@iro.umontreal.ca>
+ * progmodes/sh-script.el (sh-here-doc-open-re): Don't rely on the
+ font-lock-syntax-table remappings.
+ (sh-here-doc-markers, sh-here-doc-re): Remove.
+ (sh-font-lock-close-heredoc): Remove.
+ (sh-syntax-propertize-here-doc): New function.
+ (sh-font-lock-open-heredoc): Set the sh-here-doc-marker property
+ instead of the sh-here-doc-re.
+ (sh-font-lock-paren): Don't do anything in comments or strings.
+ Handle line continuations. Accept a few more chars.
+ Don't rely on the font-lock-syntax-table remappings.
+ `esac' is not a valid pattern.
+ (sh-syntax-propertize-function): Handle here-docs differently, so we
+ don't bother syntax-propertizing the insides.
- * emacs-lisp/float-sup.el (float-pi): New name for `pi'.
- (float-e): New name for `e'.
- (degrees-to-radians, radians-to-degrees):
- * calendar/solar.el (solar-longitude):
- * calculator.el (calculator-registers, calculator-funcall):
- * textmodes/artist.el (artist-spray-random-points):
- * play/bubbles.el (bubbles--initialize-images): Use new names.
+ * progmodes/sh-script.el (sh-font-lock-paren, sh-kw, sh-prev-thing):
+ Handle new bashisms ";&" and ";;&" (bug#7947).
-2010-09-19 Eric M. Ludlam <zappo@gnu.org>
+2011-02-05 Michael Albinus <michael.albinus@gmx.de>
- Update to CEDET 1.0's version of EIEIO.
+ * net/tramp-smb.el (tramp-smb-errors): Use `regexp-opt'.
+ Add "NT_STATUS_IO_TIMEOUT" and "NT_STATUS_NO_SUCH_USER".
- * emacs-lisp/eieio.el (eieio-specialized-key-to-generic-key):
- New function.
- (eieio-defmethod, eieio-generic-form, eieio-generic-call): Use it.
- (eieio-default-eval-maybe): Eval val instead of unquoting only.
- (class-precedence-list): If class is nil, return nil.
- (eieio-generic-call): If class of first input arg is nil, don't
- look up static methods, and do check for primary methods.
- (initialize-instance): See if the default needs to be evaluated
- during the constructor.
- (eieio-perform-slot-validation-for-default): Don't do the check
- for values that will eventually be evaluated.
- (eieio-eval-default-p): New function.
- (eieio-default-eval-maybe): Use it.
+2011-02-05 Era Eriksson <era+tramp@iki.fi> (tiny change)
-2010-07-03 Jan Moringen <jan.moringen@uni-bielefeld.de>
+ * net/tramp.el (tramp-postfix-method-format)
+ (tramp-postfix-method-regexp, tramp-prefix-domain-format)
+ (tramp-prefix-domain-regexp, tramp-postfix-user-format)
+ (tramp-postfix-user-regexp, tramp-prefix-port-format)
+ (tramp-prefix-port-regexp, tramp-postfix-host-format)
+ (tramp-postfix-host-regexp, tramp-handle-substitute-in-file-name):
+ Doc fix.
- * emacs-lisp/eieio.el (eieio-defclass): Allow :c3
- method-invocation-order.
- (eieio-c3-candidate, eieio-c3-merge-lists): New functions.
- (eieio-class-precedence-dfs): Compute class precedence list using
- dfs algorithm.
- (eieio-class-precedence-bfs): Compute class precedence list using
- bfs algorithm.
- (eieio-class-precedence-c3): Compute class precedence list using
- c3 algorithm.
- (class-precedence-list): New function.
- (eieiomt-method-list, eieiomt-sym-optimize): Use it.
- (inconsistent-class-hierarchy): New error symbol.
- (call-next-method): Stow the replacement argument list for future
- call-next-method invocations.
+2011-02-04 Sam Steingold <sds@gnu.org>
-2010-09-15 Glenn Morris <rgm@gnu.org>
+ * mouse.el (mouse-buffer-menu-mode-groups): Add a "GDB" group.
- * calendar/appt.el (appt-check): If not displaying the diary,
- use (diary 1) to only get the entries we need.
- (appt-make-list): Sort diary-list-entries, if we cannot guarantee
- that it is in day order. (Bug#7019)
+2011-02-04 Andreas Schwab <schwab@linux-m68k.org>
- * calendar/appt.el (appt-check): Rather than showing the diary,
- just turn off invisible display, and only if needed.
+ * international/mule-util.el (with-coding-priority): Doc fix.
- * calendar/diary-lib.el (diary-list-entries): Doc fix. (Bug#7019)
+2011-02-04 Eli Zaretskii <eliz@gnu.org>
-2010-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
+ * arc-mode.el (archive-mode-map): Fix a typo in last change.
- * emacs-lisp/byte-run.el (set-advertised-calling-convention):
- Add `when' argument. Update callers.
+2011-02-03 Sam Steingold <sds@gnu.org>
- * subr.el (unintern): Declare the obarray arg mandatory.
+ * progmodes/gdb-mi.el (gdb-breakpoints-list-handler-custom):
+ Do not error out when `func' is nil.
-2010-09-14 Glenn Morris <rgm@gnu.org>
+2011-02-03 Michael Albinus <michael.albinus@gmx.de>
- * calendar/diary-lib.el (diary-list-entries-hook, diary-sort-entries):
- Doc fixes.
+ * net/tramp-sh.el (tramp-remote-path): Add default settings for
+ `tramp-default-remote-path' to the docstring.
+ (tramp-get-remote-path): Suppress error message when `getconf
+ PATH' fails.
- * calendar/diary-lib.el (diary-included-files): New variable.
- (diary-list-entries): Maybe initialize diary-included-files.
- (diary-include-other-diary-files): Append to diary-included-files.
- * calendar/appt.el (appt-update-list): Also check the members of
- diary-included-files. (Bug#6999)
- (appt-check): Doc fix.
+ * net/tramp-smb.el (tramp-smb-errors): Add "NT_STATUS_UNSUCCESSFUL".
-2010-09-12 David Reitter <david.reitter@gmail.com>
+2011-02-03 Glenn Morris <rgm@gnu.org>
- * simple.el (line-move-visual): Do not truncate goal column to
- integer size. (Bug#7020)
+ * vc/vc-hg.el (vc-hg-command): Doc fix.
+
+ * term/w32-win.el (libpng-version): Declare for compiler.
+
+ * msb.el: No need to load dired while compiling.
+
+ * emacs-lisp/elint.el (elint-standard-variables):
+ Remove a couple of built-ins that now have doc-strings.
+
+ * hi-lock.el, ps-bdf.el, ps-mule.el, ps-print.el, ps-samp.el:
+ `require' is automatically `eval-and-compile'd.
+
+ * net/rcirc.el (rcirc-nick-completion-format): Add :version tag.
+ (rcirc-log-directory, rcirc-log-flag): Move definitions before use.
+
+ * strokes.el (strokes-fill-current-buffer-with-whitespace):
+ Move definition before use.
+ (strokes-report-bug): Make it obsolete.
+
+2011-02-02 Sam Steingold <sds@gnu.org>
+
+ * apropos.el (apropos-print): Now that `apropos-mode' inherits
+ from `special-mode', entering it makes the buffer read-only, so
+ call it only when everything has been already inserted.
+ * emacs-lisp/ert.el (ert--setup-results-buffer)
+ (ert-results-pop-to-backtrace-for-test-at-point)
+ (ert-results-pop-to-messages-for-test-at-point)
+ (ert-results-pop-to-timings): Ditto.
+ * emacs-lisp/package.el (package--list-packages): Ditto.
+ * play/solitaire.el (solitaire): Ditto.
+
+2011-02-02 Chong Yidong <cyd@stupidchicken.com>
+
+ * progmodes/compile.el: Make all faces inherit.
+ (compilation-warning): Inherit from font-lock-variable-name-face.
+ (compilation-info): Inherit from font-lock-type-face.
+ (compilation-line-number): Reassign to font-lock-keyword-face.
+ (compilation-column-number): Reassign to font-lock-doc-face.
+ (compilation-leave-directory-face): Reassign to
+ font-lock-builtin-face.
+
+2011-02-02 Eli Zaretskii <eliz@gnu.org>
+
+ * dired.el (dired-insert-directory): Don't invoke `ls' when
+ ls-lisp.el is used to emulate it.
+
+2011-02-01 Julien Danjou <julien@danjou.info>
+
+ * color.el (color-gradient): Add a color-gradient function.
+
+2011-02-01 Sam Steingold <sds@gnu.org>
+
+ * simple.el (special-mode-map): Bind "h" to `describe-mode';
+ bind "z" to `kill-this-buffer'.
+ (completion-list-mode-map): Bind "z" to `kill-this-buffer'.
+ * apropos.el (apropos-mode-map): Inherit from `special-mode-map'.
+ (apropos-mode): Inherit from `special-mode'.
+ * arc-mode.el (archive-mode-map): Inherit from `special-mode-map'.
+ * bookmark.el (bookmark-bmenu-mode): Define using
+ `define-derived-mode' inheriting from `special-mode'.
+ * dired.el (dired-mode-map): Inherit from `special-mode-map'.
+ * image-mode.el (image-mode-map): Ditto.
+ * replace.el (occur-mode): Define using
+ `define-derived-mode' inheriting from `special-mode'.
+ * tar-mode.el (tar-mode): Inherit from `special-mode'.
+ * calendar/diary-lib.el (diary-fancy-display-mode):
+ Inherit from `special-mode-map'.
+ * emacs-lisp/ert.el (ert-simple-view-mode, ert-results-mode):
+ Inherit from `special-mode'.
+ * emacs-lisp/package.el (package-menu-mode-map): Copy from
+ `special-mode-map'.
+ (package-menu-mode): Define using `define-derived-mode'
+ inheriting from `special-mode'.
+ * erc/erc-list.el (erc-list-menu-mode): Inherit from `special-mode'.
+ * net/xesam.el (xesam-mode): Inherit from `special-mode'.
+ (xesam-mode-map): Define separately.
+ * play/solitaire.el (solitaire-mode): Inherit from `special-mode'.
+ * progmodes/compile.el (compilation-minor-mode-map)
+ (compilation-mode-map): Inherit from `special-mode-map'.
+ * vc/diff-mode.el (diff-mode-shared-map):
+ Inherit from `special-mode-map'.
+ * vc/log-view.el (log-view-mode-map): Add a comment.
+
+2011-02-01 Chong Yidong <cyd@stupidchicken.com>
+
+ * custom.el (load-theme): Define return value. Drop use of
+ unsafep; call custom-theme-load-confirm for non-known-safe themes.
+ (custom-theme-load-confirm): Scroll in the correct window.
+ (custom-enabled-themes): Add custom-safe-themes to :set-after.
+
+ * cus-theme.el (custom-theme-checkbox-toggle): Don't activate the
+ checkbox if load-theme fails.
+
+2011-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/compile.el (compilation-next-error): Check there's
+ a message before using it (bug#7941).
+
+2011-02-01 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc-mtx.el (math-lud-pivot-check): New function.
+ (math-do-matrix-lud): Use `math-lud-pivot-check' to check the size
+ of potential pivots.
-2010-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
+2011-01-31 Alan Mackenzie <acm@muc.de>
- * repeat.el (repeat): Allow repeating when the last event is a click.
- Suggested by Drew Adams (bug#6256).
+ * progmodes/cc-cmds.el (c-forward-over-illiterals):
+ Continue parsing if we encounter a naked # (Bug#7595).
+ (c-beginning-of-statement): Avoid loop in locating the beginning
+ of a macro. (Not actually committed until 2011-02-20, see above).
-2010-09-11 Sascha Wilde <wilde@sha-bang.de>
+2011-01-31 Chong Yidong <cyd@stupidchicken.com>
- * vc/vc-hg.el (vc-hg-state,vc-hg-working-revision):
- Replace setting HGRCPATH to "" by some less invasive --config options.
+ * files.el (copy-directory): Fix arguments to recursive call.
-2010-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
+2011-01-31 Chong Yidong <cyd@stupidchicken.com>
- * font-lock.el (font-lock-beginning-of-syntax-function):
- Mark as obsolete.
+ * files.el (copy-directory): If destination is an existing
+ directory, copy into a subdirectory there.
-2010-09-10 Glenn Morris <rgm@gnu.org>
+2011-01-31 Andreas Schwab <schwab@linux-m68k.org>
- * menu-bar.el (menu-bar-options-save): Fix handling of menu-bar
- and tool-bar modes. (Bug#6211)
- (menu-bar-mode): Move setting of standard-value after the
- minor-mode definition, otherwise it seems to have no effect.
+ * emacs-lisp/shadow.el (load-path-shadows-find): Ignore leim-list
+ files.
-2010-09-08 Masatake YAMATO <yamato@redhat.com>
+2011-01-31 Chong Yidong <cyd@stupidchicken.com>
- * progmodes/antlr-mode.el (antlr-font-lock-additional-keywords):
- Fix typo. (Bug#6976)
+ * image-dired.el (image-dired-mouse-display-image): No-op if no
+ file is found (Bug#7817).
-2010-09-06 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+ * mouse.el (mouse-menu-non-singleton): Doc fix (Bug#7801).
- * whitespace.el: Allow cleaning up blanks without blank
- visualization (Bug#6651). Adjust help window for
- whitespace-toggle-options (Bug#6479). Allow to use fill-column
- instead of whitespace-line-column (from EmacsWiki). New version 13.1.
- (whitespace-style): Add new value 'face. Adjust docstring.
- (whitespace-space, whitespace-hspace, whitespace-tab):
- Adjust foreground property face.
- (whitespace-line-column): Adjust docstring and type declaration.
- (whitespace-style-value-list, whitespace-toggle-option-alist)
- (whitespace-help-text): Adjust const initialization.
- (whitespace-toggle-options, global-whitespace-toggle-options):
+2011-01-31 Kenichi Handa <handa@m17n.org>
+
+ * international/quail.el (quail-keyboard-layout-alist):
+ Remove superfluous SPC for "pc105-uk" (bug#7927).
+
+2011-01-31 Glenn Morris <rgm@gnu.org>
+
+ * msb.el (msb-menu-bar-update-buffers): Update for changed
+ argument handling of menu-bar-select-frame. (Bug#7902)
+
+2011-01-31 Chong Yidong <cyd@stupidchicken.com>
+
+ * progmodes/cc-engine.el (c-forward-<>-arglist-recur): Set a limit
+ to the recursion depth (Bug#7722).
+
+2011-01-31 Roy Liu <carsomyr@gmail.com> (tiny change)
+
+ * term/ns-win.el (ns-find-file): Expand ns-input-file with
+ command-line-default-directory (Bug#7872).
+
+2011-01-31 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/compile.el (compilation--flush-directory-cache):
+ New function, extracted from compilation--remove-properties.
+ (compilation--remove-properties, compilation--parse-region): Use it.
+ (compilation--previous-directory): Handle one more case.
+ (compilation-enable-debug-messages): Remove.
+ (compilation-parse-errors, compilation--flush-parse): Just remove the
+ left over debug messages.
+
+2011-01-31 Sam Steingold <sds@gnu.org>
+
+ * progmodes/compile.el (compilation-enable-debug-messages):
+ Add a variable to make the parsing messages introduced in
+ 2011-01-28T22:12:05Z!monnier@iro.umontreal.ca optional.
+ (compilation-parse-errors, compilation--flush-parse): Use it.
+
+2011-01-31 Deniz Dogan <deniz.a.m.dogan@gmail.com>
+
+ * net/rcirc.el: New customizable nick completion format. (Bug#6314)
+ (rcirc-nick-completion-format): New defcustom.
+ (rcirc-complete): Use it.
+
+2011-01-31 Deniz Dogan <deniz.a.m.dogan@gmail.com>
+
+ * net/rcirc.el: Clean log filenames (Bug#7933).
+ (rcirc-log-write): Use convert-standard-filename.
+ (rcirc-log-filename-function): Documentation updates.
+
+2011-01-30 Jan Djärv <jan.h.d@swipnet.se>
+
+ * mail/emacsbug.el (report-emacs-bug-insert-to-mailer):
+ Check report-emacs-bug-can-use-osx-open and use that if t.
+ (report-emacs-bug-can-use-osx-open): New function.
+ (report-emacs-bug): Rename can-xdg-email to can-insert-mail.
+ Check report-emacs-bug-can-use-osx-open also for can-insert-mail.
+
+2011-01-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * vc/vc-dispatcher.el (vc-set-async-update): New function for
+ updating Dired or VC-dir buffers after async command completes.
+
+ * vc/vc-bzr.el (vc-bzr-async-command): Return the process buffer.
+ (vc-bzr-pull, vc-bzr-merge-branch): Use vc-set-async-update.
+
+ * vc/vc-git.el (vc-git-merge-branch): Add FETCH_HEAD to branch
+ completions if it exists. Use vc-set-async-update.
+ (vc-git-pull): Use vc-set-async-update.
+
+ * vc/vc-hg.el (vc-hg-pull): Fix default-contents arg to
+ read-shell-command. Use vc-set-async-update.
+ (vc-hg-merge-branch): Use vc-set-async-update.
+
+2011-01-29 Daiki Ueno <ueno@unixuser.org>
+
+ * epg.el (epg--status-KEYEXPIRED, epg--status-KEYREVOKED):
+ Don't presume KEYEXPIRED and KEYREVOKED to be a fatal error status
+ (Bug#7931).
+
+2011-01-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/compile.el: Avoid an N² behavior in grep.
+ (compilation--previous-directory): New fun.
+ (compilation--previous-directory-cache): New var.
+ (compilation--remove-properties): Flush it.
+ (compilation-directory-properties, compilation-error-properties):
+ Use the new fun to speed up looking for the current directory.
+
+2011-01-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * vc/vc-hg.el (vc-hg-history): New var.
+ (vc-hg-pull): Perform default pull if called via Lisp by vc-pull.
+ (vc-hg-merge-branch): New function.
+
+ * vc/vc.el (vc-pull): Make vc-update an alias for this, instead of
+ the other way around.
+
+ * vc/vc-git.el (vc-git-branches, vc-git-pull)
+ (vc-git-merge-branch): New functions.
+ (vc-git-history): New var.
+
+2011-01-28 Chong Yidong <cyd@stupidchicken.com>
+
+ * vc/vc-dispatcher.el (vc-do-async-command): New function.
+
+ * vc/vc-bzr.el (vc-bzr-async-command): Convert into a wrapper for
+ vc-do-async-command.
+
+ * vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch):
+ Callers changed.
+
+2011-01-28 Leo <sdl.web@gmail.com>
+
+ * emacs-lisp/advice.el (ad-make-advised-docstring): Don't apply
+ highlighting to the "this function is advised" message.
+
+ * help-mode.el (help-mode-finish): Apply highlighting here, to
+ avoid clobbering by substitute-command-keys (Bug#6304).
+
+2011-01-28 Chong Yidong <cyd@stupidchicken.com>
+
+ * woman.el (woman0-roff-buffer): Process roff escape sequences
+ occurring prior to the first request (Bug#7843).
+
+2011-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/compile.el: Don't use font-lock any more.
+ (compilation-error-regexp-alist-alist): Change handling of makepp
+ so it preserves the warning/error distinction on subsequent files.
+ Simplify various rules.
+ (compilation-directory-properties): Use font-lock-face.
+ Add a compilation-message property.
+ (compilation-internal-error-properties): Use font-lock-face.
+ Don't set the compilation-debug property here.
+ (compilation--put-prop, compilation--remove-properties)
+ (compilation--parse-region, compilation--ensure-parse)
+ (compilation--ensure-parse): New functions.
+ (compilation-parse-errors): New function, largely inspired of
+ compilation-mode-font-lock-keywords. Set compilation-debug here.
+ (compilation--parsed): New var.
+ (compilation--flush-parse): Use compilation--ensure-parse.
+ (compilation-start): Don't call font-lock.
+ (compilation-turn-on-font-lock): Remove.
+ (compilation-setup): Don't set font-lock-extra-managed-props not change
+ other font-lock settings, other than keywords.
+ Don't activate font-lock-mode.
+ Set change-major-mode-hook and before-change-functions.
+ (compilation--unsetup): Remove properties and hooks.
+ (compilation-next-single-property-change): New function.
+ (compilation-next-error): Use it to parse when needed.
+ (compile-goto-error): Parse buffer as needed.
+ (compilation--compat-error-properties): Don't need a dummy `face'
+ property any more.
+
+2011-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/compile.el: Use accessors for clarity and fix omake hack.
+ (compilation-process-setup-function): Fix docstring's false promises.
+ (compilation-error-regexp-alist-alist): Catch omake's continuous
+ recompilation message and avoid reuse of old markers.
+ (compilation-parse-errors-function): Declare obsolete.
+ (compilation-buffer-modtime): Remove.
+ (compilation--make-cdrloc, compilation--loc->col)
+ (compilation--loc->line, compilation--loc->file-struct)
+ (compilation--loc->marker, compilation--loc->visited)
+ (compilation--make-file-struct, compilation--file-struct->file-spec)
+ (compilation--file-struct->formats)
+ (compilation--file-struct->loc-tree): New macros. Use them.
+ (compilation--message): New defstruct. Use them.
+ (compilation-next-error-function): Don't mess with timestamps to try
+ and guess when to reparse.
+
+2011-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textmodes/tex-mode.el: Get rid of compilation-parse-errors-function
+ (tex-old-error-file-name): New function,
+ extracted from tex-compilation-parse-errors.
+ (tex-compilation-parse-errors): Remove.
+ (tex-error-regexp-alist): New var.
+ (tex-shell): Use it to avoid compilation-parse-errors-function.
+
+ * progmodes/grep.el (grep-regexp-alist): Tighten regexp.
+ (grep-mode-font-lock-keywords): Remove regexp that seems like
+ a left-over from before we used compile.el.
+ (grep-mode-font-lock-keywords): Call syntax-ppss-flush-cache when
+ modifying the buffer within with-silent-modifications.
+
+ * progmodes/compile.el: Cleanup text-properties namespace by using
+ `compilation-message' instead of `message', `compilation-directory'
+ instead of `directory', and `compilation-debug' instead of `debug'.
+ (compilation-last-buffer, compilation-parsing-end)
+ (compilation-error-list, compilation-old-error-list): Move to the
+ compatibility part of the code.
+ (compilation-error-properties): If `file' is a function, let it return
+ a file name.
+ (compilation-mode-font-lock-keywords): Be more conservative with the
+ omake "^ *" pattern prefix, to try and minimize the risk of
+ pathologically slow regexp matching.
+ (compilation-start): Use inhibit-read-only.
+ (compilation--unsetup): New function.
+ (compilation-shell-minor-mode, compilation-minor-mode): Use it.
+ (compilation-filter): Minor tweaks.
+ (compilation-next-error-function): Try and avoid abusing variables.
+ (compilation--flush-file-structure): New fun.
+ (compilation-fake-loc): Use it to improve behavior when file is reused.
+ (debug-ignored-errors): Add "Moved past last ...".
+ (compilation--compat-error-properties)
+ (compilation--compat-parse-errors): Rename by doubling the "-".
+
+ Port features from the previous prolog.el to the new one.
+ * progmodes/prolog.el (prolog-system): Add GNU and ECLiPSe options.
+ (prolog-program-name, prolog-program-switches, prolog-consult-string)
+ (prolog-compile-string, prolog-prompt-regexp): Get rid of the <foo>-i
+ variable and use a function to compute the value dynamically.
+ (prolog-prompt-regexp): Add regexp for GNU Prolog.
+ (prolog-continued-prompt-regexp): Remove, unused.
+ (prolog-find-value-by-system): Try and use the value of prolog-system
+ in the *prolog* buffer if it helps.
+ (prolog-mode-keybindings-common): Bind C-c C-z unconditionally...
+ (prolog-zip-on): ..and check prolog-system and version here instead.
+ (prolog-inferior-self-insert-command): New command.
+ (prolog-inferior-mode-map): Use it.
+ (prolog-inferior-error-regexp-alist): New var.
+ (prolog-inferior-mode): Use it, with compilation-shell-minor-mode.
+ (prolog-input-filter): Use derived-mode-p.
+ (prolog-inferior-guess-flavor): New function.
+ (prolog-ensure-process): Use it. Use make-comint-in-buffer rather than
+ make-comint to avoid running comint-mode twice.
+ (prolog-inferior-buffer): New fun.
+ (prolog-old-process-region, prolog-old-process-file):
+ Don't call prolog-bsts here...
+ (prolog-build-prolog-command): ...do it here instead.
+ (prolog-old-process-region, prolog-old-process-file):
+ Use compilation-fake-loc and compilation-forget-errors.
+ (prolog-consult-compile-region): Use bolp.
+
+2011-01-28 Chong Yidong <cyd@stupidchicken.com>
+
+ * image-mode.el (image-display-size): Doc fix (Bug#7820).
+
+2011-01-27 Sam Steingold <sds@gnu.org>
+
+ * midnight.el (clean-buffer-list-kill-never-buffer-names):
+ Remove "*server*" which is never created by emacs server.
+
+2011-01-27 Deniz Dogan <deniz.a.m.dogan@gmail.com>
+
+ * vc/vc-bzr.el (vc-bzr-diff): Don't pass --diff-options unless
+ there are some diff switches.
+
+2011-01-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/ruby-mode.el (ruby-syntax-propertize-function):
+ Copy change made to ruby-font-lock-syntactic-keywords.
+
+ * htmlfontify.el: Make it obey the font-lock-face text property.
+ Miscellaneous cleanup such as:
+ - Don't hide expressions after a closing paren.
+ - Move initial setq into let.
+ - Hoist common parts out of ifs.
+ (hfy-p-to-face, hfy-p-to-face-lennart): Remove.
+ (hfy-face-at): Use get-text-property instead.
+ (hfy-prop-invisible-p): Use invisible-p if available.
+ (htmlfontify-manual): Use \\[...].
+ (hfy-html-quote-regex): Use [...].
+ (hfy-combined-face-spec): Simplify.
+ (hfy-compile-face-map): Don't presume point-min==1.
+ (hfy-css-name, hfy-buffer, htmlfontify-buffer): Use \' rather than $ to
+ match end of string.
+ (hfy-text-p): η-reduce.
+ (hfy-tags-for-file): Receive cache-hash directly.
+ (hfy-mark-tag-names): Adjust call.
+
+2011-01-27 Glenn Morris <rgm@gnu.org>
+
+ * msb.el (msb-after-load-hooks): Make it an obsolete alias.
+ (msb-after-load-hook): Remove eval-after-load wackiness.
+
+2011-01-25 Sam Steingold <sds@gnu.org>
+
+ * vc/vc-svn.el (vc-svn-diff): Use `diff-command' instead of the
+ literal "diff" (important for windows-nt).
+
+2011-01-25 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/copyright.el (copyright-at-end-flag)
+ (copyright-names-regexp): Add safety properties.
+ (copyright-year-ranges): New option.
+ (copyright-find-end): New function, split from copyright-update-year.
+ (copyright-update-year): Use copyright-find-end.
+ (copyright-fix-years): Optionally, convert years to ranges.
+ Handle years continued over comment lines.
+ Do not mess with the fill-prefix.
+ Do not call copyright-update.
+ (copyright-update-directory): Optionally, fix years rather than update.
+ Skip directories. Find files with only safe local vars.
+
+2011-01-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * files.el (file-name-non-special): Only change buffer-file-name after
+ insert-file-contents if it's `visit'ing the file (bug#7854).
+
+2011-01-25 Chong Yidong <cyd@stupidchicken.com>
+
+ * dired.el (dired-revert): Doc fix (Bug#7758).
+
+ * simple.el (line-move-visual): Doc fix (Bug#7594).
+
+2011-01-25 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * progmodes/ruby-mode.el (ruby-here-doc-beg-match): Fix for
+ here-doc which ends with an underscore.
+ (ruby-mode-set-encoding): Skip shebang line always.
+ (ruby-mode-map): Bind C-c C-c to comment-region.
+ (ruby-font-lock-keywords): Highlight literal hash key labels as symbols.
+ (ruby-forward-sexp): Stop after literal hash key labels.
+ (ruby-font-lock-syntactic-keywords): Highlight regexp after open
+ bracket.
+
+2011-01-25 Keitaro Miyazaki <keitaro.miyazaki@gmail.com> (tiny change)
+
+ * emacs-lisp/re-builder.el (reb-mode-map): Set case-fold-search in
+ the correct buffer (Bug#7650).
+
+2011-01-25 Glenn Morris <rgm@gnu.org>
+
+ * comint.el (comint-mode): Doc fix. (Bug#7897)
+
+ * simple.el (do-auto-fill): Give it a doc string.
+
+ * button.el (make-text-button): Doc fix. (See bug#7881)
+
+2011-01-24 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/perl-mode.el (perl-syntax-propertize-special-constructs):
+ Don't move backward, so as not to fall in an inf-loop (bug#7736).
+
+ * progmodes/ruby-mode.el (ruby-syntax-propertize-function): (bug#7735)
+ Handle ?" and friends differently (e.g. don't use backrefs).
+
+2011-01-24 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc.el (calc-default-power-reference-level)
+ (calc-default-field-reference-level): New variables.
+ * calc/calc-units.el (math-standard-units): Add dB and Np.
+ (math-logunits): New variable.
+ (math-extract-logunits, math-logcombine, calcFunc-luplus)
+ (calcFunc-luminus, calc-luplus, calc-luminus, math-logunit-level)
+ (calcFunc-fieldlevel, calcFunc-powerlevel, calc-level):
+ New functions.
+ (math-find-base-units-rec): Add entry for ln(10).
+ * calc/calc-help.el (calc-u-prefix-help): Add logarithmic help.
+ (calc-ul-prefix-help): New function.
+ * calc/calc-ext.el (calc-init-extensions): Autoload new units
+ functions. Add keybindings for new units functions.
+
+2011-01-22 Giorgos Keramidas <keramida@ceid.upatras.gr> (tiny change)
+
+ * net/rcirc.el (rcirc-kill-buffer-hook): Flush logs when killing
+ rcirc buffers. (Bug#4940)
+
+2011-01-22 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/copyright.el (copyright-find-copyright): New function,
+ split out from copyright-update-year.
+ (copyright-update): Don't mess with the GPL version if we don't own the
+ copyright. Update license regexp, and remove no longer needed
+ Esperanto stuff.
+ (copyright-fix-years): Use copyright-find-copyright.
+
+2011-01-22 Chong Yidong <cyd@stupidchicken.com>
+
+ * vc/diff.el (diff-sentinel): Doc fix (Bug#7682).
+
+2011-01-22 Jari Aalto <jari.aalto@cante.net>
+
+ * play/landmark.el: Change `lm-' prefix to `landmark-' (Bug#7672).
+ (lm): Rename to landmark.
+ (lm-test-run): Rename to landmark-test-run.
+
+2011-01-22 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/re-builder.el (reb-mode-map): Fix logic error in
+ "Case sensitive" menu item.
+
+2011-01-22 Roland McGrath <roland@frob.com>
+
+ * comint.el (comint-replace-by-expanded-history-before-point): Fix
+ expansion of !$ and !!:N syntax to pick the indicated word (bug#7883).
+
+2011-01-22 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/js.el (js--regexp-literal): Count backslashes (bug#7882).
+
+2011-01-22 Jari Aalto <jari.aalto@cante.net>
+
+ * emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
+ Assume foo(bar) is a manpage reference rather than some unquoted
+ symbol (bug#7705).
+
+2011-01-22 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (shell-quote-argument): Properly quote \n (bug#7687).
+ Suggested by Flo <sensorflo@gmail.com>.
+
+2011-01-22 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/compile.el (compilation-error-regexp-alist):
+ Fix custom type. (Bug#7812)
+
+2011-01-22 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-prefixed-keybindings): Bind (prefixed) '#' to
+ allout-number-siblings, in keeping with what obtained due to
+ (now-defunct) allout-keybindings-list. Ditch repeat binding to
+ (prefixed) ?i.
+ (allout-before-change-handler): Better expose spots affected by
+ undo.
+
+2011-01-22 Chong Yidong <cyd@stupidchicken.com>
+
+ * man.el (Man-highlight-references0): Use make-button (Bug#7881).
+
+2011-01-22 Phil Hagelberg <phil@evri.com>
+
+ * pcmpl-unix.el (pcmpl-ssh-config-file): New option.
+ (pcmpl-ssh-known-hosts): Rename from pcmpl-ssh-hosts.
+ (pcmpl-ssh-config-hosts): New function.
+ (pcmpl-ssh-hosts): Use pcmpl-ssh-config-hosts in addition to
+ pcmpl-ssh-known-hosts.
+
+2011-01-21 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc-undo.el (calc-undo): Autoload it.
+ * calc/calc-ext.el (calc-init-extensions): Remove keybindings
+ and autoload for `calc-undo'.
+ * calc/calc.el (calc-mode-map): Add keybindings for `calc-undo'.
+ * calc/calc-prog.el:
+ * calc/calc-graph.el:
+ * calc/calc-map.el: Change `arglist' to `math-arglist' throughout.
+
+2011-01-21 Štěpán Němec <stepnem@gmail.com> (tiny change)
+
+ * calc/calc-ext.el (calc-init-extensions): Map all `undo'
+ keybindings to `calc-undo'.
+
+2011-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Don't mess with *temp*.
+ * obsolete/spell.el: Move from textmodes/spell.el.
+ (spell-string):
+ * term.el (term-read-input-ring):
+ * startup.el (display-startup-echo-area-message):
+ * progmodes/antlr-mode.el (antlr-directory-dependencies):
+ * comint.el (comint-read-input-ring): Use with-temp-buffer.
+ * international/mule.el (ctext-pre-write-conversion): Don't hardcode
+ point-min==1.
+
+2011-01-20 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-institute-keymap): Use fset instead of
+ reapplying defalias.
+
+ (allout-hotspot-key-handler): Check for non-control-modified
+ bindings for hotspot characters if there are no control-modified
+ versions.
+
+ * allout.el: Summary - migrate to defining allout mode using
+ define-minor-mode instead of defun. Significantly clean-up
+ internal keymap provisions, refactoring and, in the process,
+ removing a lot of accumulated cruft.
+
+ allout-mode-map is now a keymap by virtue of being a defalias to
+ allout-mode-map-value, which contains the actual keymap structure.
+
+ (allout-mode): Use define-minor-mode rather than defun.
+ Remove now-unnecessary minor-mode setup activities from the body.
+ Specify :keymap as allout-mode-map so the minor-mode-map-alist
+ entry will be '(allout-mode . allout-mode-map) - see
+ allout-mode-map-value, below. Adjust docstring to track changes.
+ (allout-minor-mode): Remove this defalias, now that we're using
+ define-minor-mode.
+ (allout-mode-map): Set value to be 'allout-mode-map. The actual
+ keymap is allout-mode-map-value, via defalias.
+ (allout-mode-map-value): The variable holding the actual mode
+ keymap structure, by virtue of defalias from allout-mode-map.
+ (allout-compose-and-institute-keymap): Rename from
+ allout-bind-keys, and including the binding-composition
+ functionality of the former produce-allout-mode-map and
+ allout-setup-mode-map.
+ (allout-institute-keymap): Take over the "setup" part of the former
+ allout-setup-mode-map. Reassign allout-mode-map-value value and
+ update the defalias.
+ (allout-command-prefix, allout-prefixed-keybindings)
+ (allout-unprefixed-keybindings):
+ Use allout-compose-and-institute-keymap to process the bindings.
+ (allout-unprefixed-keybindings): Remove extraneous '?' question marks.
+ (allout-prefixed-keybindings): Elide binding to (prefixed) \C-h -
+ user can customize if they want to use that binding.
+ Bind allout-copy-topic-as-kill to (prefixed) \M-k.
+ Bind allout-up-current-level to (prefixed) \C-u. (I think i mistakenly
+ elided that, previously, instead of the one for \C-h.)
+ (allout-hotspot-key-handler): Remove attempt to resolve the key
+ through the literal key-string lookup on allout-keybindings-list.
+ That probably hasn't worked for a Long Time, and removal of
+ allout-keybindings-list further simplifies the keybindings situation.
+ (allout-pre-command-business): Use allout-mode-map-value instead
+ of allout-mode-map.
+ (allout-preempt-trailing-ctrl-h): Remove. The user can customize
+ the bindings if they want to use a keybinding having a trailing
+ \C-h. No deprecation needed since this feature was never in a release.
+ (allout-keybindings-list): Remove. It's not been useful for a
+ while. (See allout-hotspot-key-handler changes, above.)
+ (produce-allout-mode-map): Remove. Consolidate into
+ allout-compose-and-institute-keymap.
+ (allout-mode-map-adjustments): Remove. No longer necessary with
+ removal of allout-preempt-trailing-ctrl-h.
+ (allout-setup-mode-map): Remove. Consolidate into
+ allout-compose-and-institute-keymap and allout-institute-keymap.
+
+2011-01-20 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-svn.el (vc-svn-after-dir-status): Tweak previous change.
+
+ * simple.el (read-expression-history): Remove, it's in minibuf.c.
+
+2011-01-20 Chong Yidong <cyd@stupidchicken.com>
+
+ * subr.el (y-or-n-p): Revert 2011-01-07 change, removing ARGS.
+
+ * files.el (find-alternate-file, basic-save-buffer)
+ (basic-save-buffer-2, revert-buffer, recover-file)
+ (kill-buffer-ask, abort-if-file-too-large)
+ (set-visited-file-name, write-file, backup-buffer)
+ (basic-save-buffer, save-some-buffers):
+ * dired-aux.el (dired-compress-file): Callers changed.
+
+2011-01-19 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-svn.el (vc-svn-after-dir-status, vc-svn-parse-status):
+ Also check the property status. (Bug#7861)
+
+2011-01-18 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-debug-message): Extend function exclude
+ list. Use `regexp-opt'.
+
+2011-01-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textmodes/tex-mode.el (tex-font-lock-verb): Make sure \verb
+ highlighting doesn't spill over subsequent lines.
+
+ * emacs-lisp/easy-mmode.el (define-minor-mode): Don't re-evaluate the
+ keymap expression. Improve docstring.
+
+ * electric.el (electric-indent-post-self-insert-function):
+ Don't auto-indent for indent-to-left-margin, it's too often
+ counter-productive.
+
+2011-01-16 Tassilo Horn <tassilo@member.fsf.org>
+
+ * strokes.el (strokes-read-stroke): Re-fill strokes buffer with
+ spaces if the frame was resized, so that the full visible buffer
+ serves as canvas for strokes.
+
+2011-01-16 Glenn Morris <rgm@gnu.org>
+
+ * info-xref.el (info-xref-docstrings): Replace cl function.
+ Also skip directories.
+
+2011-01-16 Kevin Ryde <user42@zip.com.au>
+
+ * info-xref.el: Version 3.
+ (info-xref-check, info-xref-check-all): Move commentary details
+ into docstrings for better visibility.
+ Use compilation-mode for the results buffer.
+ (info-xref-output, info-xref-output-error, info-xref-with-output)
+ (info-xref-filename, info-xref-in-progress):
+ New internals for this.
+ (info-xref-check-list, info-xref-check-buffer)
+ (info-xref-check-all-custom): Use those.
+ (info-xref-output-buffer): Rename from info-xref-results-buffer.
+ (info-xref-output-heading): Rename from info-xref-filename-heading.
+ (info-xref-good, info-xref-bad, info-xref-xfile-alist)
+ (info-xref-filename-heading): Move to output managing section.
+ (info-xref-docstrings): New command checking "Info node `(foo)Bar'"
+ (info-xref-lock-file-p, info-xref-with-file): New helpers for it.
+ (info-xref-subfile-p): Move to generic section with those two.
+ (info-xref-check-node): New function split from
+ info-xref-check-buffer, shared by info-xref-docstrings.
+ (info-xref-goto-node-p): Move to a checking section with that func.
+ (info-xref-unavail): New counter.
+ (info-xref-check-node): Use it.
+ (info-xref-with-output): Show count of unavailables at end of output.
+ (info-xref-all-info-files): Exclude ".*" dotfiles. Ignore broken
+ symlinks. Exclude .texi files. Exclude Emacs backup files.
+ (info-xref-check-all-custom): Fix quietening viper-mode and
+ gnus-registry-install -- use setq not let so as not to unbind
+ after load.
+
+2011-01-16 Juri Linkov <juri@jurta.org>
+
+ * isearch.el (isearch-abort): Don't quit if search has
+ an incomplete regexp (isearch-error is non-nil). (Bug#7534)
+
+2011-01-15 Mark Diekhans <markd@soe.ucsc.edu>
+
+ * files.el (backup-buffer): Make last-resort backup file in
+ .emacs.d (Bug#6953).
+
+ * subr.el (locate-user-emacs-file): If .emacs.d does not exist,
+ make it with permission 700.
+
+2011-01-15 Kenichi Handa <handa@m17n.org>
+
+ * mail/rmailmm.el (rmail-mime-insert-header):
+ Set rmail-mime-coding-system to a cons whose car is the last coding
+ system used to decode the header.
+ (rmail-mime-find-header-encoding): New function.
+ (rmail-mime-insert-decoded-text):
+ Override rmail-mime-coding-system if it is a cons.
+ (rmail-show-mime): If only a header part was decoded, find the
+ coding system while ignoring mm-charset-override-alist.
+
+2011-01-15 Chong Yidong <cyd@stupidchicken.com>
+
+ * subr.el (event-start, event-end): Doc fix (Bug#7826).
+
+2011-01-15 Kenichi Handa <handa@m17n.org>
+
+ * mail/rmailmm.el (rmail-mime-next-item)
+ (rmail-mime-previous-item): Delete them.
+ (rmail-mime-shown-mode): Recursively call for children.
+ (rmail-mime-hidden-mode): Delete the 2nd arg TOP.
+ Callers changed.
+ (rmail-mime-raw-mode): Recursively call for children.
+ (rmail-mode-map): Change mapping of tab and backtab to
+ forward-button and backward-button respectively.
+ (rmail-mime-insert-tagline): Always insert "Hide" or "Show"
+ button.
+ (rmail-mime-update-tagline): New function.
+ (rmail-mime-insert-text): Call rmail-mime-update-tagline if the
+ body display is changed.
+ (rmail-mime-toggle-button): Rename from rmail-mime-image.
+ (rmail-mime-image): Delete this button type.
+ (rmail-mime-toggle): New button type.
+ (rmail-mime-insert-bulk): Call rmail-mime-update-tagline if the
+ body display is changed. Change the save button label to "Save".
+ Don't process show/hide button here.
+ (rmail-mime-insert-multipart): Call rmail-mime-update-tagline if
+ the body display is changed. Unconditionally call
+ rmail-mime-insert for children.
+ (rmail-mime-handle): Update `display' vector of the just inserted
+ entity.
+ (rmail-mime-process): If mail-header-parse-content-type returns
+ nil, use "text/plain" as the fallback type.
+ (rmail-mime-insert): For raw-mode, recursively call
+ rmail-mim-insert for children.
+ (rmail-mime): Handle the case that the current buffer is not rmail
+ buffer (e.g. in summary buffer).
+
+2011-01-15 Kenichi Handa <handa@m17n.org>
+
+ * mail/rmailmm.el (rmail-mime-next-item)
+ (rmail-mime-previous-item): Skip the body of a non-multipart
+ entity if a tagline is shown.
+
+2011-01-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * tmm.el (tmm-get-keymap): Skip bindings without labels (bug#7721).
+ (tmm-prompt): Simplify.
+ (tmm-add-prompt): Remove unused var `win'.
+
+ * whitespace.el (global-whitespace-newline-mode): Fix call (bug#7810)
+ to minor mode which used nil accidentally to mean "turn off".
+
+2011-01-15 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-find-inline-compress)
+ (tramp-get-inline-coding): Quote command after pipe symbol for
+ local calls under W32. (Bug#6784)
+
+2011-01-15 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-default-method): Initialize with pscp/plink
+ only when running under W32.
+
+2011-01-15 Eli Zaretskii <eliz@gnu.org>
+
+ * progmodes/grep.el (grep-compute-defaults): Quote the program
+ file name after the pipe symbol in Grep templates. (Bug#6784)
+ * jka-compr.el (jka-compr-partial-uncompress): Likewise.
+
+2011-01-15 Lennart Borgman <lennart.borgman@gmail.com>
+
+ * buff-menu.el (Buffer-menu-buffer-list): New var.
+ (Buffer-menu-revert-function, list-buffers-noselect): Use it, so a
+ restricted buffer list is not lost on revert (Bug#7749).
+
+2011-01-15 Eric Hanchrow <eric.hanchrow@gmail.com>
+
+ * net/ldap.el (ldap-search-internal): Discard stderr output.
+
+2011-01-15 Eli Zaretskii <eliz@gnu.org>
+
+ * files.el (directory-abbrev-alist): Doc fix. (Bug#7777)
+
+2011-01-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc-bzr.el (vc-bzr-annotate-time): Tweak previous change.
+
+2011-01-15 Kenichi Handa <handa@m17n.org>
+
+ * mail/rmailmm.el (rmail-mime-insert-bulk): Display an unknown
+ part as a plain text.
+ (rmail-mime-process-multipart): Set the default content-type to
+ nil for unknown multipart subtypes (bug#7651).
+
+2011-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * hexl.el (hexl-mode-old-*): Remove.
+ (hexl-mode--old-var-vals): New var to replace them.
+ (hexl-mode--minor-mode-p, hexl-mode--setq-local): New funs.
+ (hexl-mode, hexl-follow-line, hexl-activate-ruler):
+ Use them to set local vars (bug#7846).
+ (hexl-mode-exit): Use hexl-mode--old-var-vals to restore state.
+ (hexl-backward-short, hexl-backward-word, hexl-scroll-down)
+ (hexl-scroll-up, hexl-end-of-1k-page, hexl-end-of-512b-page): Simplify.
+
+ * vc/smerge-mode.el: Resolve comment conflicts more aggressively.
+ (smerge-resolve--normalize-re): New var.
+ (smerge-resolve--extract-comment, smerge-resolve--normalize): New funs.
+ (smerge-resolve): Use them.
+ * newcomment.el (comment-only-p): New function.
+ (comment-or-uncomment-region): Use it.
+
+2011-01-14 Brent Goodrick <bgoodr@gmail.com> (tiny change)
+
+ * abbrev.el (prepare-abbrev-list-buffer): If listing local abbrev
+ table, get the value before switching to the output buffer. (Bug#7733)
+
+2011-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/python.el (python-mode): Don't impose font-lock (bug#3628).
+
+2011-01-14 Kim F. Storm <storm@cua.dk>
+
+ * emulation/cua-base.el (cua--init-keymaps):
+ Remap exchange-point-and-mark in cua-global-keymap.
+
+2011-01-14 Tassilo Horn <tassilo@member.fsf.org>
+
+ * progmodes/sh-script.el (sh-other-keywords): Add ZSH's foreach
+ loop keyword.
+
+2011-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/easymenu.el: Add :enable (bug#7754), and obey :label.
+ Require CL.
+ (easy-menu-create-menu, easy-menu-convert-item-1):
+ Use :label rather than nil for labels. Use `case'.
+ Add :enable as alias for :active.
+ (easy-menu-binding): Obey :label.
+
+2011-01-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Use run-mode-hooks for major mode hooks (bug#513).
+ * textmodes/reftex-toc.el (reftex-toc-mode-map):
+ Rename from reftex-toc-map.
+ (reftex-toc-mode): Use define-derived-mode.
+ * textmodes/reftex-sel.el (reftex-select-shared-map): New map.
+ (reftex-select-label-mode-map, reftex-select-bib-mode-map):
+ Rename from reftex-select-(label|bib)-map. Move init into declaration.
+ (reftex-select-label-mode, reftex-select-bib-mode):
+ Use define-derived-mode.
+ * textmodes/reftex-index.el (reftex-index-phrases-mode-map)
+ (reftex-index-mode-map): Rename from reftex-index(-phrases)-map.
+ Move init into delcaration.
+ (reftex-index-mode, reftex-index-phrases-mode):
+ Use define-derived-mode.
+ * speedbar.el (speedbar-mode-syntax-table): Renaqme from
+ speedbar-syntax-table. Move init into declaration.
+ (speedbar-mode-map): Rename from speedbar-key-map.
+ Move init into declaration.
+ (speedbar-file-key-map): Move init into declaration.
+ (speedbar-mode): Use define-derived-mode.
+ * recentf.el (recentf-mode): Don't run hook (or message) redundantly.
+ * net/rcirc.el (rcirc-mode): Use run-mode-hooks.
+ * emacs-lisp/chart.el (chart-mode-map): Rename from chart-map.
+ (chart-face-list): Move initialization into declaration.
+ (chart-mode): Use define-derived-mode.
+ * calculator.el (calculator-mode-map): Move init into declaration.
+ (calculator-mode): Use define-derived-mode.
+
+ * mail/mail-utils.el (mail-strip-quoted-names): Make the regexp code
+ work for nested comments.
+
+ * progmodes/prolog.el: Use syntax-propertize. Further code cleanup.
+ (prolog-use-prolog-tokenizer-flag): Change default when
+ syntax-propertize can be used.
+ (prolog-syntax-propertize-function): New var.
+ (prolog-mode-variables): Move make-local-variable into `set'.
+ Don't make comment-column local since we don't set it.
+ Set comment-add (as it was in previous prolog.el). Use dolist.
+ Set syntax-propertize-function.
+ (prolog-mode, prolog-inferior-mode):
+ Call prolog(-inferior)-menu directly, not through the mode-hook.
+ (prolog-buffer-module, prolog-indent-level)
+ (prolog-paren-is-the-first-on-line-p, prolog-paren-balance)
+ (prolog-comment-limits, prolog-goto-comment-column):
+ Use line-(end|beginning)-position.
+ (prolog-build-prolog-command): Tighten up regexp.
+ (prolog-consult-compile): Move make-local-variable into `set'.
+ (prolog-consult-compile-filter, prolog-goto-next-paren)
+ (prolog-help-on-predicate, prolog-clause-info)
+ (prolog-mark-predicate): Don't let+setq.
+ (prolog-indent-line): Use indent-line-to.
+ Only call prolog-goto-comment-column if necessary.
+ (prolog-indent-level): Use bobp.
+ (prolog-first-pos-on-line): Remove, not used any more.
+ (prolog-in-string-or-comment): Use syntax-ppss if available.
+ (prolog-help-on-predicate): Use read-string.
+ (prolog-goto-predicate-info): Simplify.
+ (prolog-read-predicate): Use `default' rather than `initial'.
+ (prolog-temporary-file): Use make-temp-file to close a security hole.
+ (prolog-toggle-sicstus-sd): New command.
+ (prolog-electric-underscore, prolog-variables-to-anonymous):
+ Use dynamic-scoping as it was meant.
+ (prolog-menu): Move menu definitions to top-level.
+ Use a toggle-button for Sicstus's source debugger.
+ Change "Code" to the more usual "Prolog", and hence change "Prolog"
+ to "System".
+ (prolog-inferior-menu): Reuse prolog-menu's help menu.
+ Move other menu definition to top-level.
+
+2011-01-13 Tassilo Horn <tassilo@member.fsf.org>
+
+ * doc-view.el (doc-view-open-text): Use meaningful text buffer
+ name. Keep original document's directory as default-directory
+ (bug#6446).
+ (doc-view-initiate-display): Fall back to normal mode when
+ doc-view-mode cannot be enabled, also when extracting the document
+ text into a separate buffer (bug#6446).
+
+ * simple.el (shell-command): Don't error out if shell command
+ buffer contains text with non-nil read-only property when erasing
+ the buffer.
+
+2011-01-13 Kim F. Storm <storm@cua.dk>
+
+ * ido.el (ido-may-cache-directory): Move "too-big" check later.
+ (ido-next-match, ido-prev-match): Fix stray reordering of matching
+ items when cycling through the matches.
+
+2011-01-13 Tassilo Horn <tassilo@member.fsf.org>
+
+ * dired-x.el (dired-omit-verbose): New defcustom that allows
+ disabling the omit messages.
+ (dired-omit-expunge): Use it.
+
+2011-01-13 Christian Ohler <ohler@gnu.org>
+
+ * emacs-lisp/ert.el, emacs-lisp/ert-x.el: New files.
+
+2011-01-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * font-lock.el (font-lock-verbose): Default to nil.
+
+2011-01-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * simple.el (sendmail-user-agent-compose): Move to sendmail.el.
+ (compose-mail): New arg RETURN-ACTION.
+ (compose-mail-other-window, compose-mail-other-frame): Likewise.
+
+ * mail/sendmail.el (mail-return-action): New var.
+ (mail-mode): Make it buffer-local.
+ (mail-bury): Obey it. Move special Rmail window handling to
+ rmail-mail-return.
+ (mail, mail-setup): New arg RETURN-ACTION.
+ (sendmail-user-agent-compose): Move from simple.el.
+
+ * mail/rmail.el (rmail-mail-return): New function.
+ (rmail-start-mail): Pass it to compose-mail.
+
+2011-01-12 Chong Yidong <cyd@stupidchicken.com>
+
+ * menu-bar.el (menu-bar-custom-menu): Tweak Mule and Customize
+ menus. Add menu item for customize-themes.
+
+ * cus-theme.el (customize-themes):
+ * emacs-lisp/package.el (package--list-packages):
+ Use switch-to-buffer.
+
+2011-01-11 Johan Bockgård <bojohan@gnu.org>
+
+ * emacs-lisp/unsafep.el (unsafep): Handle backquoted forms.
+
+2011-01-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/prolog.el: Fix up coding convention and such.
+ (prolog-indent-width): Use the same default as in
+ previous prolog.el rather than tab-width which depends on which buffer
+ is current when the file is loaded.
+ (prolog-electric-newline-flag): Only enable if electric-indent-mode
+ is not available.
+ (prolog-emacs): Remove. Use (featurep 'xemacs) instead.
+ (prolog-known-systems): Remove.
+ (prolog-mode-syntax-table, prolog-inferior-mode-map):
+ Move initialization into declaration.
+ (prolog-mode-map): Move initialization into declaration.
+ Remove system-specific mode-map vars, since they referred to the same
+ keymap anyway.
+ (prolog-mode-variables): Obey the user's preference w.r.t
+ adaptive-fill-mode. Prefer symbol-value to `eval'.
+ (prolog-mode-keybindings-edit): Add compatibility bindings.
+ (prolog-mode): Use define-derived-mode. Don't handle mercury here.
+ (mercury-mode-map): New var.
+ (mercury-mode, prolog-inferior-mode): Use define-derived-mode.
+ (prolog-ensure-process, prolog-process-insert-string)
+ (prolog-consult-compile): Use with-current-buffer.
+ (prolog-guess-fill-prefix): Simplify data flow.
+ (prolog-replace-in-string): New function to use instead of
+ replace-in-string.
+ (prolog-enable-sicstus-sd): Don't abuse `eval'.
+ (prolog-uncomment-region): Use `uncomment-region' when available.
+ (prolog-electric-colon, prolog-electric-dash): Use `eolp'.
+ (prolog-int-to-char, prolog-char-to-int): New functions to use instead
+ of int-to-char and char-to-int.
+ (prolog-mode-hook, prolog-inferior-mode-hook): Don't force font-lock.
+
+2011-01-11 Stefan Bruda <stefan@bruda.ca>
+
+ * progmodes/prolog.el: Replace by a whole new file.
+
+2011-01-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (eval-after-load): Fix timing for features (bug#7769).
+ (declare-function, undefined, insert-for-yank)
+ (replace-regexp-in-string): Follow checkdoc's recommendations.
+
+2011-01-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * calendar/diary-lib.el (diary-mode): Refresh *Calendar* after
+ refreshing the diary buffer.
+
+2011-01-10 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el: Add 2011 to the file copyright.
+ (allout-encrypt-string): Prevent encryption from adding an extra
+ newline at the end of the topic body.
+ (allout-version): Increment to 2.3.
+
+2011-01-10 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/dbus.el (dbus-unregister-service): Complete doc.
+ Fix call of dbus-error signal.
+ (dbus-register-property): Use `dont-register' keyword.
+
+2011-01-10 Jan Moringen <jan.moringen@uni-bielefeld.de>
+
+ * net/dbus.el (dbus-unregister-service): Translate returned
+ integer into a symbol.
+ (dbus-register-property): Use `dbus-register-service' to do the
+ name registration.
+
+2011-01-09 Chong Yidong <cyd@stupidchicken.com>
+
+ * progmodes/idlw-help.el (idlwave-help-link): Inherit from link face.
+ Suggested by Joakim Verona.
+
+ * comint.el (comint-highlight-prompt): Inherit minibuffer-prompt.
+
+ * wid-edit.el (visibility): Replace :on-image and :off-image
+ widget properties with :on-glyph and :off-glyph, for consistency
+ with the `visibility' widget.
+ (widget-toggle-value-create, widget-visibility-value-create):
+ Merge into a single function `widget-toggle-value-create'.
+
+ * cus-edit.el (custom-variable-value-create, custom-visibility)
+ (custom-face-edit-value-create, custom-face-value-create):
+ Replace :on-image and :off-image widget properties with :on-glyph and
+ :off-glyph, for consistency with the `visibility' widget.
+
+2011-01-09 Andreas Schwab <schwab@linux-m68k.org>
+
+ * net/ldap.el (ldap-search-internal): Don't use eval.
+
+2011-01-09 Chong Yidong <cyd@stupidchicken.com>
+
+ * subr.el (read-char-choice): Use read-key.
+
+ * custom.el (custom-safe-themes): Rename from
+ custom-safe-theme-files. Add :risky tag.
+ (load-theme, custom-theme-load-confirm): Save sha1 hashes to
+ custom-safe-themes, not filenames. Suggested by Stefan Monnier.
+
+2011-01-09 Chong Yidong <cyd@stupidchicken.com>
+
+ * tool-bar.el (tool-bar-setup): Remove Help button. Remove label
+ from Search and add a label to Undo.
+
+ * vc/vc-dir.el (vc-dir-tool-bar-map): Rearrange, removing
+ inappropriate buttons and adding :vert-only tags.
+
+ * progmodes/compile.el (compilation-mode-tool-bar-map): Adjust to
+ removal of Help tool-bar button. Remove Undo button for space.
+
+ * info.el (info-tool-bar-map): Add :vert-only tags.
+
+2011-01-08 Tassilo Horn <tassilo@member.fsf.org>
+
+ * doc-view.el (doc-view-mode-p): Check for png or imagemagick
+ image backend support. Either of them is fine.
+
+2011-01-08 Chong Yidong <cyd@stupidchicken.com>
+
+ * subr.el (y-or-n-p): Doc fix.
+
+ * custom.el (custom-safe-theme-files): New defcustom.
+ (custom-theme-load-confirm): New function.
+ (load-theme): Load theme using `load', confirming with
+ custom-theme-load-confirm if necessary.
+
+ * subr.el (read-char-choice): New function, factored out from
+ dired-query and hack-local-variables-confirm.
+
+ * dired-aux.el (dired-query):
+ * files.el (hack-local-variables-confirm): Use it.
+
+ * dired-aux.el (dired-compress-file):
+ * files.el (abort-if-file-too-large, find-alternate-file)
+ (set-visited-file-name, write-file, backup-buffer)
+ (basic-save-buffer, basic-save-buffer-2, save-some-buffers)
+ (delete-directory, revert-buffer, recover-file, kill-buffer-ask):
+ Use new format string args for y-or-n-p and yes-or-no-p.
+
+2011-01-08 Andreas Schwab <schwab@linux-m68k.org>
+
+ * progmodes/compile.el (compilation-error-regexp-alist-alist)
+ [gcc-include]: Tighten file name match, add match for column
+ number. (Bug#7806)
+ [gnu]: Remove unused group.
+
+2011-01-08 Glenn Morris <rgm@gnu.org>
+
+ * makefile.w32-in (EMACSOPT): Add --no-site-lisp.
+
+ * makefile.w32-in (EMACSOPT): -batch implies --no-init-file.
+
+2011-01-07 Sam Steingold <sds@gnu.org>
+
+ * w32-fns.el (w32-shell-name): Use `shell-file-name' instead of
+ the `explicit-shell-file-name' because that is the
+ non-interactive shell.
+
+2011-01-07 Chong Yidong <cyd@stupidchicken.com>
+
+ * subr.el (y-or-n-p): Accept format string args.
+
+2011-01-07 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (EMACSOPT): Add --no-site-lisp.
+
+2011-01-06 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-back-to-current-heading): Ensure return to
+ the visible containing topic, rather than a collapsed one.
+ (allout-view-change-hook): Remove hook that was deprecated long ago.
+ (allout-exposure-change-hook): Remove documentation remarks
+ concerning removed allout-view-change-hook.
+ (allout-flag-region): Remove invocation of and documentation
+ remarks concerning allout-view-change-hook.
+
+2011-01-06 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-bzr.el (vc-bzr-annotate-command, vc-bzr-annotate-time)
+ (vc-bzr-annotate-extract-revision-at-line):
+ Handle authors with embedded spaces. (Bug#7792)
+
+2011-01-05 Tassilo Horn <tassilo@member.fsf.org>
+
+ * doc-view.el (doc-view-image-width): New variable.
+ (doc-view-enlarge, doc-view-insert-image): Prefer imagemagick
+ backend for PNG images, and do dynamic rescaling instead of
+ reconverting the whole doc.
+
+2011-01-05 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/rx.el (rx-repeat): Replace CL function.
+
+2011-01-04 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el: Reconcile with changes in line movement behavior for
+ long text lines that cross more than a single physical window
+ line, ie when truncate-lines is nil.
+ (allout-next-visible-heading): Provide for change in line-move
+ behavior on long lines when truncate-lines is nil. In that case,
+ line-move can wind up on the same textual line when it moves to
+ the next window line, and moving to the bullet position after the
+ move yields zero advancement. Add logic to detect and compensate
+ for the lack of progress.
+ (allout-current-topic-collapsed-p): move-end-of-line respect for
+ field boundaries is different when operating with body lines
+ shorter than window width versus ones greater than window width,
+ which can yield false negatives in this function. Avoid
+ difference by applying move-end-of-line while field-text-motion is
+ inhibited.
+
+2011-01-04 Glenn Morris <rgm@gnu.org>
+
+ * textmodes/rst.el (rst-compile-toolsets):
+ Add pdf and s5 to option alist.
+
+2011-01-04 Jan Moringen <jan.moringen@uni-bielefeld.de>
+
+ * net/dbus.el (dbus-register-property): Add optional parameter
+ dont-register-service. Updated docstring accordingly.
+
+2011-01-04 Andreas Schwab <schwab@linux-m68k.org>
+
+ * textmodes/rst.el (rst-compile-pdf-preview)
+ (rst-compile-slides-preview): Remove extra line.
+
+2011-01-04 Glenn Morris <rgm@gnu.org>
+
+ * textmodes/rst.el (rst-compile-toolsets): Make it a defcustom.
+ Add `pdf' and `s5' entries. Use `prog.py' if found, otherwise
+ default to `prog' without a .py extension.
+ (rst-compile-pdf-preview, rst-compile-slides-preview):
+ Use program names from rst-compile-toolsets, rather than hard-coding.
+ (rst-portable-mark-active-p): Fix presumed typo.
+
+2011-01-02 Eli Zaretskii <eliz@gnu.org>
+
+ * term/w32-win.el (dynamic-library-alist): Set up correctly for
+ libpng versions both before and after 1.4.0. (Bug#7716)
+
+2011-01-02 Eli Zaretskii <eliz@gnu.org>
+
+ * time.el (display-time-mode): Mention display-time-interval in
+ the doc string. (Bug#7713)
+
+2011-01-02 Kenichi Handa <handa@m17n.org>
+
+ * mail/rmailmm.el (rmail-mime-parse): Perform parsing in
+ condition-case and return an error message string if something
+ goes wrong.
+ (rmail-show-mime): Adjust for the above change. Insert the
+ header by rmail-mime-insert-header.
+
+2011-01-02 Kenichi Handa <handa@m17n.org>
+
+ * mail/rmailmm.el: New key bindings for rmail-mime-next-item,
+ rmail-mime-previous-item, and rmail-mime-toggle-hidden.
+ (rmail-mime-mbox-buffer)
+ (rmail-mime-view-buffer, rmail-mime-coding-system): New variables.
+ (rmail-mime-entity): Argument changed. All codes handling an
+ entity object are changed.
+ (rmail-mime-entity-header, rmail-mime-entity-body): Adjust for
+ the above change.
+ (rmail-mime-entity-children, rmail-mime-entity-handler)
+ (rmail-mime-entity-tagline): New functions.
+ (rmail-mime-message-p): New function.
+ (rmail-mime-save): Bind rmail-mime-mbox-buffer.
+ (rmail-mime-entity-segment, rmail-mime-next-item)
+ (rmail-mime-previous-item, rmail-mime-shown-mode)
+ (rmail-mime-hidden-mode, rmail-mime-raw-mode)
+ (rmail-mime-toggle-raw, rmail-mime-toggle-hidden)
+ (rmail-mime-insert-tagline, rmail-mime-insert-header):
+ New functions.
+ (rmail-mime-text-handler): Call rmail-mime-insert-text.
+ (rmail-mime-insert-decoded-text): New function.
+ (rmail-mime-insert-text): Call rmail-mime-insert-decoded-text.
+ (rmail-mime-insert-image): Argument changed. Caller changed.
+ (rmail-mime-image): Call rmail-mime-toggle-hidden.
+ (rmail-mime-set-bulk-data): New function.
+ (rmail-mime-insert-bulk): Argument changed.
+ (rmail-mime-multipart-handler): Return t.
+ (rmail-mime-process-multipart): Argument changed.
+ Handle "multipart/alternative" here.
+ (rmail-mime-process): Argument changed.
+ (rmail-mime-parse): Bind rmail-mime-mbox-buffer.
+ (rmail-mime-insert): Argument changed. Handle raw display mode.
+ (rmail-mime): Argument changed. Handle toggling of raw display
+ mode.
+ (rmail-show-mime): Bind rmail-mime-mbox-buffer and
+ rmail-mime-view-buffer.
+ (rmail-insert-mime-forwarded-message): Likewise.
+ (rmail-search-mime-message): Likewise. Don't bind rmail-buffer.
+
+ * mail/rmail.el (rmail-show-message-1): If rmail-enable-mime is
+ non-nil, handle the header in rmail-show-mime-function.
+
+2011-01-02 Leo <sdl.web@gmail.com>
+
+ * help-fns.el (describe-variable): Fix previous change.
+
+2011-01-02 Juri Linkov <juri@jurta.org>
+
+ * isearch.el (isearch-lazy-highlight-error): New variable.
+ (isearch-lazy-highlight-new-loop): Compare `isearch-error' and
+ `isearch-lazy-highlight-error'. Set `isearch-lazy-highlight-error'
+ to the current value of `isearch-error' (Bug#7468).
+
+2011-01-02 Chong Yidong <cyd@stupidchicken.com>
+
+ * help-fns.el (describe-variable): Don't emit trailing whitespace
+ (Bug#7511).
+
+2011-01-02 Chong Yidong <cyd@stupidchicken.com>
+
+ * textmodes/rst.el (rst-compile-pdf-preview)
+ (rst-compile-slides-preview): Use make-temp-file (Bug#7646).
+
+2011-01-02 Kevin Gallagher <Kevin.Gallagher@boeing.com>
+
+ * emulation/edt-mapper.el: Override mapping of function keys so
+ that the later call to read-key-sequence works.
+
+2011-01-02 Eli Zaretskii <eliz@gnu.org>
+
+ * mail/smtpmail.el (smtpmail-send-it): Write queued mail body with
+ Unix EOLs. (Bug#7589)
+
+2011-01-02 Leo <sdl.web@gmail.com>
+
+ * eshell/em-hist.el (eshell-previous-matching-input): Signal error
+ if point is not behind eshell-last-output-end (Bug#7585).
+
+2011-01-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * files.el (file-local-variables-alist):
+ Make permanent-local (bug#7767).
+
+2011-01-02 Glenn Morris <rgm@gnu.org>
+
+ * version.el (emacs-copyright): Set short copyright year to 2011.
+
+2011-01-02 Mark Lillibridge <mark.lillibridge@hp.com> (tiny change)
+
+ * mail/mail-utils.el (mail-strip-quoted-names): Avoid clobbering
+ an existing temp buffer. (Bug#7746)
+
+2011-01-02 Glenn Morris <rgm@gnu.org>
+
+ * mail/mail-utils.el (mail-mbox-from): Handle From: headers with
+ multiple addresses. (Bug#7760)
+
+2011-01-01 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-auto-fill): Do not infinitely recurse - use
+ do-auto-fill if everything points back to allout-auto-fill.
+ (allout-mode-deactivate-hook): Declare obsolete, in favor of
+ standard-formed minor-mode deactivate hook, allout-mode-off-hook.
+
+2010-12-31 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-methods): Add recursive options to "scpc"
+ and "scpx".
+
+2010-12-30 Tassilo Horn <tassilo@member.fsf.org>
+
+ * doc-view.el (doc-view-set-doc-type): New function refactored
+ from doc-view-mode.
+ (doc-view-fallback-mode): New function.
+ (doc-view-mode): Use it.
+ (doc-view-mode-maybe): New function that checks if doc-view-mode
+ can be used and falls back to the next best mode otherwise.
+
+ * files.el (auto-mode-alist): Use doc-view-mode-maybe for PDF,
+ DVI, OpenDocument, and MS Office files.
+
+2010-12-30 Andreas Schwab <schwab@linux-m68k.org>
+
+ * emacs-lisp/rx.el (rx-syntax): Fix typo.
+
+2010-12-30 Tassilo Horn <tassilo@member.fsf.org>
+
+ * doc-view.el (doc-view-toggle-display): Perform rassq-delete-all
+ on a copy of auto-mode-alist, because that deletes with side
+ effects.
+
+2010-12-30 Tassilo Horn <tassilo@member.fsf.org>
+
+ * doc-view.el (doc-view-mode, doc-view-toggle-display):
+ Use normal-mode without doc-view-mode bindings in auto-mode-alist as
+ fallback instead of hard coding fundamental mode.
+
+2010-12-30 Tassilo Horn <tassilo@member.fsf.org>
+
+ * doc-view.el (doc-view-doc->txt): Handle OpenDocument (or MS
+ Office) files also for searching.
+
+2010-12-30 Tassilo Horn <tassilo@member.fsf.org>
+
+ * doc-view.el: Implement viewing of OpenDocument (and Microsoft
+ Office) files. Not yet enabled via auto-mode-list.
+ (doc-view-unoconv-program): New custom variable.
+ (doc-view-mode-p): Handle new odf document type.
+ (doc-view-odf->pdf): New conversion function.
+ (doc-view-convert-current-doc): Call it for odf files.
+ (doc-view-mode): Recognize newly supported file extensions.
+
+2010-12-30 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-default-method-alist)
+ (tramp-default-user-alist)
+ (tramp-local-host-regexp, tramp-prefix-domain-format)
+ (tramp-prefix-domain-regexp): Set tramp-autoload cookie.
+
+ * net/tramp-ftp.el:
+ * net/tramp-gvfs.el:
+ * net/tramp-gw.el:
+ * net/tramp-imap.el:
+ * net/tramp-sh.el:
+ * net/tramp-smb.el: Add tramp-autoload cookie for initialisation
+ code of `tramp-default-method-alist' and `tramp-default-user-alist'.
+
+2010-12-29 Karl Fogel <kfogel@red-bean.com>
+
+ * saveplace.el (save-place-alist-to-file): Save list sorted and
+ pretty-printed, so that it is mergeable by line-based text merging,
+ as suggested by Iain Dalton <iain.dalton {_AT_} gmail.com>.
+
+2010-12-28 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-v18/19-file-var-hack): Obsolete, remove.
+ (allout-mode): Argument "toggle" => "force".
+ Refine the docstring.
+ Remove special provisions for reactivation, besides the 'force'
+ argument.
+ Consolidate layout provisions coce directly into the activation
+ condition branch, now that we've removed those provisions.
+ (allout-unload-function): Explicitly activate the mode before
+ deactivating, if it's initially deactivated.
+ (allout-set-buffer-multibyte): Properly prevent byte-compiler
+ warnings for version of function used only where
+ set-buffer-multibyte is unavailable.
+
+2010-12-28 Chong Yidong <cyd@stupidchicken.com>
+
+ * tool-bar.el (tool-bar-setup): Remove :enable conditions, which
+ are handled by the menu-bar entries. As before, don't use
+ :visibile to avoid changing the tool-bar.
+
+2010-12-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/secrets.el (secrets-delete-alias): New defun.
+
+2010-12-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-default-user-alist): Do not add "ssh" based
+ methods, otherwise ~/.ssh/config would be ignored.
+
+2010-12-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/rx.el: Make it a superset of sregex.
+ (rx-constituents): Add `any => "."', mark `repeat' as taking any number
+ of args, add `regex' alias.
+ (rx-info): Add arg to distinguish head and standalone forms.
+ (rx-check, rx-form): Pass the corresponding arg.
+ (rx-**): Simplify.
+ (rx-repeat): Make it work for any number of args.
+ (rx-syntax): Make it accept syntax chars as is.
+ * obsolete/sregex.el: Move from emacs-lisp/.
+ * emacs-lisp/re-builder.el: Remove sregex support.
+ * emacs-lisp/edebug.el (sregexq, rx): Remove redundant defs.
+
+2010-12-25 Eli Zaretskii <eliz@gnu.org>
+
+ * mouse.el (mouse-yank-primary): On MS-Windows, try the (emulated)
+ PRIMARY first, then the clipboard. (Bug#7699)
+
+2010-12-22 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/bytecomp.el (byte-compile-output-docform): Fix up use of
+ print-number-table.
+
+2010-12-21 Chong Yidong <cyd@stupidchicken.com>
+
+ * help-fns.el (find-lisp-object-file-name): Locate .emacs from
+ .emacs.elc (Bug#7530).
+
+ * wid-edit.el (widget-image-find): Remove bogus :ascent spec from
+ image spec (Bug#7480).
+
+2010-12-21 Daiki Ueno <ueno@unixuser.org>
+
+ * obsolete/pgg-parse.el, obsolete/pgg-pgp5.el, obsolete/pgg-pgp.el,
+ * obsolete/pgg-gpg.el, obsolete/pgg-def.el, obsolete/pgg.el:
+ Move from lisp/.
+
+2010-12-20 Leo <sdl.web@gmail.com>
+
+ * dnd.el (dnd-get-local-file-name): Unhex of file name shall
+ always be performed (Bug#7680).
+
+2010-12-20 Chong Yidong <cyd@stupidchicken.com>
+
+ * menu-bar.el (menu-bar-kill-ring-save): Make obsolete.
+ (menu-bar-edit-menu): Bind "Copy" to kill-ring-save. Don't use
+ mouse-region-match.
+
+ * color.el: Move from gnus/.
+
+ * vc/diff.el (diff-better-file-name): Function deleted.
+ abbreviating file names causes problems with shell-quote-argument.
+ (diff-no-select): Just use expand-file-name.
+
+ * tool-bar.el (tool-bar--image-expression): New function.
+ (tool-bar-local-item, tool-bar--image-exp): Use it.
+ (tool-bar-setup): Initialize tool-bar-separator-image-expression.
+ Use :enable instead of :visible to avoid changing the tool-bar
+ configuration unnecessarily.
+
+ * info.el (info-tool-bar-map): Add separators.
+
+2010-12-17 Ken Brown <kbrown@cornell.edu>
+
+ * loadup.el: Use version numbers in Cygwin build.
+
+2010-12-17 Ryan Twitchell <metatheorem@gmail.com> (tiny change)
+
+ * ido.el (ido-file-internal): Ask for confirmation before
+ overwriting an existing file (Bug#1238).
+
+2010-12-16 Chong Yidong <cyd@stupidchicken.com>
+
+ * tool-bar.el (tool-bar-setup): Add separators.
+
+ * menu-bar.el (featurep): Use menu-bar-separator.
+
+2010-12-16 Ken Manheimer <ken.manheimer@gmail.com>
+
+ Migrate allout encryption provisions from pgg to epg.
+
+ * allout.el (allout-toggle-current-subtree-encryption)
+ (allout-toggle-subtree-encryption): Adjust docstrings to reflect
+ defaulting policy and other changes. Change fetch-pass to keymode-cue,
+ for simpler universal argument interpretation.
+ (allout-toggle-subtree-encryption): Adjust docstring to describe
+ changed encryption provisions. Change fetch-pass to keymode-cue, for
+ simpler universal argument interpretation. Remove provisions for
+ handling key type and identity - they'll all be within
+ allout-encrypt-string or epg/epg or even contained all the way in gpg.
+ (allout-encrypt-string): Include keymode-cue, for optionally prompting
+ for keypair recipients (universal argument > 1) and, in addition,
+ associating the specified recipients with the outline (universal
+ argument > 4) using a file local variable setting for
+ 'epa-file-encrypt-to'.
+ Require epa, for recipients handling.
+ Change how regexp filtering elements are named.
+ Describe the problem with caching of incorrect symmetric-decryption
+ keys.
+ Use the epa-passphrase-callback-function, in case the user is using
+ GnuPG v1.
+ Support saving of the selected keypair recipients when invoked with a
+ keymode-cue > 4.
+ Remove obsolete arguments 'fetch-pass', 'target-cache-id', 'retried'.
+ Require 'epa.
+ Establish epg-context with armoring and default epg-protocol.
+ Remove all passphrase cache, verification, and hinting code.
+ (allout-passphrase-verifier-handling, allout-passphrase-hint-handling):
+ No longer used, delete.
+ (allout-mode): Adjust docstring to describe changed encryption
+ provisions. Describe the problem with caching of incorrect
+ symmetric-decryption keys.
+ (allout-obtain-passphrase, allout-epg-passphrase-callback-function)
+ (allout-make-passphrase-state, allout-passphrase-state-passphrase)
+ (allout-encrypted-key-info, allout-update-passphrase-mnemonic-aids)
+ (allout-get-encryption-passphrase-verifier, allout-verify-passphrase):
+ Obsolete, remove.
+
+2010-12-16 Daiki Ueno <ueno@unixuser.org>
+
+ * epa-file.el (epa-file-select-keys): Accept 'silent to inhibit
+ key selection prompt; make 'silent as default (Bug#7487).
+
+2010-12-16 Leo <sdl.web@gmail.com>
+
+ * eshell/eshell.el (eshell-directory-name):
+ Use locate-user-emacs-file (Bug#7578).
+
+2010-12-15 Glenn Morris <rgm@gnu.org>
+
+ * loadup.el (symbol-file-load-history-loaded): Remove; unused.
+
+2010-12-15 Jari Aalto <jari.aalto@cante.net>
+ Scott Evans <gse@antisleep.com>
+
+ * rect.el (rectange--default-line-number-format)
+ (rectangle-number-line-callback): New functions.
+ (rectangle-number-lines): New command, bound to C-x r N (Bug#4382).
+
+2010-12-15 Chong Yidong <cyd@stupidchicken.com>
+
+ * rect.el (operate-on-rectangle-lines, string-rectangle-string):
+ Delete unused variables.
+ (move-to-column-force): Remove function obsolete since 21.2.
+
+2010-12-14 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-temp-buffer-file-name): Make it permanent-local.
+ (tramp-handle-insert-file-contents): Do not set permanent-local
+ property.
+
+ * net/tramp-cache.el (tramp-persistency-file-name):
+ Use `locate-user-emacs-file' if fboundp.
+
+ * net/tramp-sh.el (tramp-methods): Add "ksu".
+ (tramp-default-user-alist): Add "ksu". Use `regexp-opt' for
+ method list.
+
+2010-12-14 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/js.el: Doc't require font-lock, etags, or easymenu.
+ (find-tag-marker-ring): Declare.
+ (js-find-symbol): Require etags.
+
+ * mail/sendmail.el: Don't require rmail or mailalias when compiling.
+ Require mail-utils.
+ (mail-alias-file): Don't autoload. Doc fix.
+ (mail-bury-selects-summary, mail-send-nonascii): Don't autoload.
+ (mail-mailer-swallows-blank-line): Default to nil. Doc fix.
+ Mark as obsolete, and risky.
+ (mail-setup): Simplify.
+
+ * mail/mailalias.el (build-mail-aliases): Make it interactive.
+ * mail/sendmail.el (build-mail-aliases): Update autoload.
+
+ * dired.el (dired-trivial-filenames, dired-chown-program)
+ (dired-auto-revert-buffer): Remove autoload cookies.
+ * mail/sendmail.el (mail-recover-1): Require 'dired.
+
+ * dired.el (dired-subdir-switches, dired-chown-program)
+ (dired-use-ls-dired, dired-chmod-program, dired-touch-program):
+ Make into defcustoms.
+ (dired-chown-program): Simplify initialization.
+
+ * mail/mail-utils.el: No need to require lisp-mode, it's in loadup.
+
+2010-12-13 Romain Francoise <romain@orebokech.com>
+
+ * net/gnutls.el (gnutls-negotiate): Fix setting of default trustfiles.
+
+2010-12-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/netrc.el (netrc-point-at-eol): Remove the unused
+ netrc-point-at-old and netrc-bound-and-true-p bindings.
+ (netrc-parse): Cache the netrc contents.
+
+2010-12-13 Eli Zaretskii <eliz@gnu.org>
+
+ * subr.el (posn-col-row): Evaluate header-line-format in the
+ context of the POSITION window's buffer.
+
+2010-12-13 Glenn Morris <rgm@gnu.org>
+
+ * subr.el (member-ignore-case, run-mode-hooks, insert-for-yank-1)
+ (with-silent-modifications): Doc fixes.
+
+2010-12-13 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-action-password, tramp-process-actions):
+ Revert previous from. Use `save-restriction'.
+
+2010-12-13 Stephen Berman <stephen.berman@gmx.net>
+
+ * calendar/diary-lib.el (diary-list-sexp-entries):
+ Handle case of no newline at end of file. (Bug#7536)
+
+2010-12-13 Glenn Morris <rgm@gnu.org>
+
+ * mail/smtpmail.el (smtpmail-send-it): Revert previous change.
+
+2010-12-13 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-action-password): Delete region, do not narrow.
+ (tramp-process-actions): Do not widen.
+
+ * net/tramp-sh.el (tramp-sh-handle-start-file-process):
+ Protect buffer-modified value. (Bug#7557)
+
+2010-12-13 Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
+
+ * log-edit.el (log-edit-changelog-entries):
+ Regexp quote filename. (Bug#7505)
+
+2010-12-13 Tom Breton <tehom@panix.com>
+
+ * cus-edit.el (custom-save-all):
+ Bind print-length and print-level to nil. (Bug#7581)
+
+2010-12-13 Glenn Morris <rgm@gnu.org>
+
+ * mouse.el (mouse-menu-major-mode-map, mouse-menu-bar-map):
+ Run hooks to update menu contents. (Bug#7586)
+
+ * mail/smtpmail.el (smtpmail-send-it): Avoid colons in the queued
+ file names, for the sake of MS Windows. (Bug#7588)
+
+2010-12-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * diff-mode.el (diff-refine-hunk): Make it work when the hunk contains
+ empty lines without a leading space.
+
+2010-12-13 Leo <sdl.web@gmail.com>
+
+ * dired-aux.el (dired-do-redisplay): Postpone dired-after-readin-hook
+ while mapping over marks (Bug#6810).
+
+2010-12-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * image-dired.el (image-dired-db-file)
+ (image-dired-temp-image-file, image-dired-gallery-dir)
+ (image-dired-temp-rotate-image-file): Set default values relative
+ to image-dired-dir (Bug#7518).
+
+2010-12-13 Lawrence Mitchell <wence@gmx.li>
+
+ * format.el (format-decode-run-method): Pass args FROM and TO, not
+ point-min and point-max, to shell-command-on-region (Bug#7488).
+
+2010-12-13 Jan Djärv <jan.h.d@swipnet.se>
+
+ * frame.el (blink-cursor-mode): Make default t for ns.
+
+2010-12-13 Bob Rogers <rogers-emacs@rgrjr.dyndns.org>
+
+ * vc-dir.el (vc-dir-query-replace-regexp): Doc fix (Bug#7501).
+
+2010-12-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * comint.el (comint-dynamic-list-input-ring)
+ (comint-dynamic-complete-filename)
+ (comint-replace-by-expanded-filename)
+ (comint-dynamic-simple-complete)
+ (comint-dynamic-list-filename-completions)
+ (comint-dynamic-list-completions): Doc fix (Bug#7499).
+
+ * subr.el (posn-x-y, posn-object-x-y, posn-object-width-height):
+ Doc fix (Bug#7471).
+
+2010-12-13 Martin Rudalics <rudalics@gmx.at>
+
+ * dired.el (dired-pop-to-buffer): Bind pop-up-frames to nil
+ (Bug#7533).
+
+2010-12-13 W. Martin Borgert <debacle@debian.org> (tiny change)
+
+ * files.el (auto-mode-alist): Handle .dbk (DocBook) with xml-mode.
+ (Bug#7491).
+
+2010-12-13 Eli Zaretskii <eliz@gnu.org>
+
+ * files.el (file-relative-name): Handle UNC file names on
+ DOS/Windows. (Bug#4674)
+
+2010-12-13 Daiki Ueno <ueno@unixuser.org>
+
+ * epg.el (epg-digest-algorithm-alist): Replace "RMD160" with
+ "RIPEMD160" (Bug#7490). Reported by Daniel Kahn Gillmor.
+ (epg-context-set-passphrase-callback): Mention that the callback
+ is not called when used with GnuPG 2.x.
+
+2010-12-13 Glenn Morris <rgm@gnu.org>
+
+ * ps-print.el (ps-line-lengths-internal, ps-nb-pages):
+ Ensure ps-footer-font-size-internal is initialized.
+ Call ps-get-page-dimensions before trying to use ps-font-for-text.
+
+2010-12-13 Kenichi Handa <handa@m17n.org>
+
+ * mail/rmailmm.el (rmail-mime-parse): Call rmail-mime-process
+ within condition-case.
+ (rmail-show-mime): Don't use condition-case.
+ (rmail-search-mime-message): New function.
+ (rmail-search-mime-message-function): Set to
+ rmail-search-mime-message.
+
+2010-12-13 Leo <sdl.web@gmail.com>
+
+ * ido.el (ido-common-initialization): New function. (bug#3274)
+ (ido-mode): Use it.
+ (ido-completing-read): Call it.
+
+2010-12-12 Karl Fogel <kfogel@red-bean.com>
+
+ * bookmark.el (bookmark-name-from-full-record): Rename back to
+ this original name from `bookmark-name-from-record' reverting part
+ of 2010-12-08T08:09:27Z!kfogel@red-bean.com / kfogel@red-bean.com-20101208080927-5j9jqnb2xvcw4ogm.
+ As Drew Adams pointed out, there was no reason to cause churn for
+ third-party callers. (Bug#7609)
+
+2010-12-12 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-engine.el (c-forward-type): Before scanning a
+ template arglist, check that the current language supports this.
+
+2010-12-11 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-bzr.el (vc-bzr-state-heuristic): Also check that the executable
+ state of the file matches. (Bug#7544)
+ (vc-bzr-register, vc-bzr-checkin)
+ (vc-bzr-annotate-extract-revision-at-line): Doc fixes.
+ (vc-directory-exclusion-list): Remove unnecessary eval-after-load.
+
+ * textmodes/sgml-mode.el (sgml-xml-guess): Add .xhtml extension.
+
+2010-12-11 Karel Klíč <kklic@redhat.com>
+
+ * files.el (auto-mode-alist): Use html-mode for *.xhtml. (Bug#7606)
+
+2010-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Derive from prog-mode, use derived-mode-p, and fix up various
+ minor style issues in lisp/progmodes.
+
+ * progmodes/vhdl-mode.el (vhdl-mode):
+ * progmodes/verilog-mode.el (verilog-mode):
+ * progmodes/vera-mode.el (vera-mode):
+ * progmodes/sql.el (sql-mode):
+ * progmodes/scheme.el (scheme-mode):
+ * progmodes/perl-mode.el (perl-mode):
+ * progmodes/octave-inf.el (inferior-octave-mode):
+ * progmodes/autoconf.el (autoconf-mode):
+ * progmodes/m4-mode.el (m4-mode):
+ * progmodes/inf-lisp.el (inferior-lisp-mode):
+ * progmodes/idlwave.el (idlwave-mode):
+ * progmodes/icon.el (icon-mode):
+ * progmodes/idlw-help.el (idlwave-help-mode):
+ * progmodes/dcl-mode.el (dcl-mode):
+ * progmodes/idlw-shell.el (idlwave-shell-mode):
+ * progmodes/ebrowse.el (ebrowse-tree-mode, ebrowse-electric-list-mode)
+ (ebrowse-member-mode, ebrowse-electric-position-mode):
+ Use define-derived-mode.
+
+ * progmodes/xscheme.el (exit-scheme-interaction-mode)
+ (xscheme-enter-interaction-mode, xscheme-enter-debugger-mode)
+ (xscheme-debugger-mode-p, xscheme-send-string-1):
+ * progmodes/tcl.el (inferior-tcl-proc, tcl-current-word)
+ (tcl-load-file, tcl-restart-with-file):
+ * progmodes/ps-mode.el (ps-run-running):
+ * progmodes/gdb-mi.el (gud-watch, gdb-mouse-set-clear-breakpoint):
+ * progmodes/js.el (js--get-all-known-symbols):
+ * progmodes/inf-lisp.el (inferior-lisp-proc):
+ * progmodes/idlwave.el (idlwave-beginning-of-statement)
+ (idlwave-template, idlwave-update-buffer-routine-info)
+ (idlwave-update-current-buffer-info)
+ (idlwave-get-routine-info-from-buffers, idlwave-choose)
+ (idlwave-scan-class-info, idlwave-fix-keywords)
+ (idlwave-list-buffer-load-path-shadows):
+ * progmodes/idlw-toolbar.el (idlwave-toolbar, idlwave-toolbar-add)
+ (idlwave-toolbar-remove):
+ * progmodes/idlw-shell.el (idlwave-shell-save-and-action)
+ (idlwave-shell-file-name, idlwave-shell-electric-debug-all-off)
+ (idlwave-shell-menu-def):
+ * progmodes/idlw-complete-structtag.el
+ (idlwave-prepare-structure-tag-completion):
+ * progmodes/gud.el (gud-set-buffer):
+ * progmodes/f90.el (f90-backslash-not-special):
+ * progmodes/delphi.el (delphi-find-unit): Use derived-mode-p.
+
+ * progmodes/xscheme.el (xscheme-start)
+ (local-set-scheme-interaction-buffer, scheme-interaction-mode):
+ * progmodes/which-func.el (which-function):
+ * progmodes/vhdl-mode.el (vhdl-set-style):
+ * progmodes/verilog-mode.el (verilog-set-compile-command)
+ (verilog-modify-compile-command, verilog-error-regexp-add-xemacs)
+ (verilog-set-define, verilog-auto-reeval-locals):
+ * progmodes/sql.el (sql-product-font-lock, sql-interactive-mode):
+ * progmodes/simula.el (simula-mode):
+ * progmodes/scheme.el (scheme-mode-variables, dsssl-mode):
+ * progmodes/python.el (python-check, python-mode):
+ * progmodes/prolog.el (prolog-mode-variables):
+ * progmodes/gud.el (gud-tooltip-activate-mouse-motions):
+ * progmodes/ebrowse.el (ebrowse-view-file-other-frame):
+ * progmodes/delphi.el (delphi-mode):
+ * progmodes/cc-styles.el (c-setup-paragraph-variables):
+ * progmodes/cc-mode.el (c-basic-common-init, c-common-init)
+ (c-font-lock-init): Move make-local-variable to their setq.
+
+ * progmodes/vhdl-mode.el (vhdl-write-file-hooks-init)
+ (vhdl-hs-minor-mode, vhdl-ps-print-init): Fix make-local-variable ->
+ make-local-hook.
+ * progmodes/sh-script.el (sh-require-final-newline): Remove.
+ (sh-set-shell): Don't set require-final-newline since it's already done
+ by prog-mode.
+ * progmodes/modula2.el (m2-mode): Don't make m2-end-comment-column
+ since we never set it.
+ * progmodes/ebrowse.el (ebrowse-set-tree-indentation):
+ Use read-string and standard prompt.
+ * progmodes/dcl-mode.el (dcl-mode-map): Move init into declaration.
+ * progmodes/meta-mode.el (meta-mode-abbrev-table): Merge init and decl.
+ (meta-common-mode-syntax-table): Rename from meta-mode-syntax-table.
+ (meta-common-mode-map): Rename from meta-mode-map.
+ Remove C-m binding, which is a user preference, not mode specific.
+ (meta-common-mode): New major mode; replace meta-common-initialization.
+ * progmodes/js.el (js-mode): Call syntax-propertize rather than messing
+ around with font-lock.
+ * progmodes/etags.el (select-tags-table-mode):
+ Derive from special-mode.
+ * progmodes/octave-mod.el (octave-mode):
+ * progmodes/gdb-mi.el (gdb-inferior-io-mode, gdb-threads-mode)
+ (gdb-memory-mode, gdb-disassembly-mode, gdb-breakpoints-mode)
+ (gdb-frames-mode, gdb-locals-mode, gdb-registers-mode):
+ Let define-derived-mode do its job.
+ * progmodes/cpp.el (cpp-edit-mode-map):
+ Move initialization into declaration.
+ (cpp-edit-mode): Use define-derived-mode.
+ (cpp-edit-load): Use derived-mode-p.
+ * progmodes/mixal-mode.el (mixal-mode):
+ * progmodes/f90.el (f90-mode):
+ * progmodes/cfengine.el (cfengine-mode): Don't bother setting
+ require-final-newline since prog-mode does it already.
+ * progmodes/cc-cmds.el (c-update-modeline): Use match-string.
+ * progmodes/asm-mode.el (asm-mode-map): Fix menu setup.
+ * progmodes/antlr-mode.el: Require cc-mode upfront.
+ (antlr-mode-syntax-table, antlr-action-syntax-table): Initialize in
+ the declaration.
+ (antlr-directory-dependencies, antlr-show-makefile-rules):
+ Use derived-mode-p.
+ (antlr-language-option): Don't assume point-min==1.
+ (antlr-mode): Use define-derived-mode.
+ * progmodes/ada-mode.el: Use derived-mode-p.
+ (ada-mode): Use define-derived-mode.
+ Use hack-local-variables-hook.
+
+2010-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textmodes/texinfo.el (texinfo-mode-map): Bind texinfo-insert-@end.
+ (texinfo-mode): Don't disable adaptive-fill-mode.
+ (texinfo-insert-block): Adjust cursor placement for blocks with arg.
+ (texinfo-insert-@end, texinfo-insert-braces, texinfo-insert-@code)
+ (texinfo-insert-@dfn, texinfo-insert-@email, texinfo-insert-@emph)
+ (texinfo-insert-@example, texinfo-insert-@file, texinfo-insert-@item)
+ (texinfo-insert-@kbd, texinfo-insert-@node, texinfo-insert-@noindent)
+ (texinfo-insert-@quotation, texinfo-insert-@samp)
+ (texinfo-insert-@strong, texinfo-insert-@table, texinfo-insert-@var)
+ (texinfo-insert-@uref): Use define-skeleton.
+ (texinfo-insert-@-with-arg): Delete.
+
+2010-12-10 Eli Zaretskii <eliz@gnu.org>
+
+ * arc-mode.el (archive-zip-extract): If w32-quote-process-args is
+ nil, do quote archive member names. (Bug#6144)
+
+2010-12-10 Glenn Morris <rgm@gnu.org>
+
+ * files.el (diff-no-select): Declare.
+
+ * mail/emacsbug.el (report-emacs-bug): Use mail-user-agent properties.
+ (report-emacs-bug-create-existing-bugs-buffer): Avoid free variables.
+
+ * comint.el (comint-input-ring-file-name): Doc fix.
+
+2010-12-09 Eli Zaretskii <eliz@gnu.org>
+
+ * menu-bar.el (menu-bar-frame-for-menubar, menu-bar-positive-p):
+ New functions.
+ (menu-bar-showhide-menu) <menu-bar-mode, showhide-tool-bar>:
+ Use them instead of `nil' and `>', respectively.
+ (menu-bar-showhide-tool-bar-menu): Use menu-bar-frame-for-menubar
+ instead of `nil'.
+ (toggle-menu-bar-mode-from-frame): Use menu-bar-frame-for-menubar
+ and menu-bar-positive-p instead of `nil' and `>', respectively.
+ (Bug#1077)
+
+2010-12-09 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * whitespace.el (whitespace-newline-mode): Code fix.
+
+2010-12-09 Glenn Morris <rgm@gnu.org>
+
+ * play/landmark.el (lm-print-y,s,noise-int, lm-print-y,s,noise):
+ Rename functions without commas, update callers.
+
+2010-12-08 Jeff Dairiki <dairiki@dairiki.org> (tiny change)
+
+ * whitespace.el (whitespace-cleanup-region):
+ Clean up spaces before tabs. (Bug#7582)
+
+2010-12-08 Karl Fogel <kfogel@red-bean.com>
+
+ * bookmark.el: Adjust parameter names and doc strings to resolve
+ confusion over whether "bookmark" meant a bookmark name or a
+ bookmark record. Along the way, shorten one function's name for
+ similar reasons. (Issue #7548)
+ (bookmark-name-from-record): New name for
+ `bookmark-name-from-full-record'. All callers changed.
+ (bookmark-get-bookmark, bookmark-get-bookmark-record)
+ (bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set)
+ (bookmark-get-annotation, bookmark-set-annotation)
+ (bookmark-get-filename, bookmark-set-filename)
+ (bookmark-get-position, bookmark-set-position)
+ (bookmark-get-front-context-string, bookmark-set-front-context-string)
+ (bookmark-get-rear-context-string, bookmark-set-rear-context-string)
+ (bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via)
+ (bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
+ Rename `bookmark' parameter to `bookmark-name-or-record', to
+ clearly show its role, and shorten or adjust doc strings accordingly.
+ (bookmark-set-name): Same, and pass the parameter directly to
+ `bookmark-get-bookmark' instead of redundantly doing the callee's work.
+ (bookmark-default-annotation-text, bookmark-send-edited-annotation)
+ (bookmark-relocate, bookmark-insert-location, bookmark-insert)
+ (bookmark-delete): Rename `bookmark' parameter to `bookmark-name',
+ and in some cases shorten doc string accordingly.
+ (bookmark-rename): Change `old' and `new' parameters to `old-name'
+ and `new-name', and adjust an internal variable to avoid confusion.
+ (bookmark-jump, bookmark-jump-noselect): Clarify `bookmark'
+ parameter in doc string.
+
+2010-12-08 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/gdb-mi.el (gdb): Try to initialize comint input history
+ from gdb's history file. (Bug#7575)
+
+ * mail/emacsbug.el (report-emacs-bug):
+ Try to handle some other mail clients.
+
+2010-12-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * files.el (dir-locals-collect-variables): Don't let errors stop us.
+ Use string-prefix-p.
+ (file-name-version-regexp): New var.
+ (file-name-sans-versions):
+ * jka-cmpr-hook.el (jka-compr-build-file-regexp): Use it,
+ (jka-compr-get-compression-info): Use dolist.
+ (jka-compr-compression-info-list): Don't bother specifying
+ version/backup regexps.
+
+2010-12-07 Tassilo Horn <tassilo@member.fsf.org>
+
+ * simple.el (just-one-space): Make argument n default to 1 if
+ omitted.
+
+2010-12-07 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * electric.el (electric-indent-post-self-insert-function):
+ Delete trailing newlines even if we don't reindent.
+
+2010-12-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion-at-point): Remove the `arg'.
+ * bindings.el (complete-symbol): Move back from minibuffer.el.
+
+2010-12-06 Deniz Dogan <deniz.a.m.dogan@gmail.com>
+
+ * simple.el (just-one-space): Delete newlines for negative arg.
+
+2010-12-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * ansi-color.el (ansi-color-unfontify-region): Replace by trivial def.
+ (ansi-color-filter-apply): Simplify.
+ (ansi-color-apply): Use `font-lock-face' rather than `face'.
+
+2010-12-05 Bob Rogers <rogers-emacs@rgrjr.dyndns.org>
+
+ * vc/vc-dir.el (vc-dir-query-replace-regexp): Doc fix (Bug#7501).
+
+2010-12-04 Chong Yidong <cyd@stupidchicken.com>
+
+ * dired.el (dired-use-ls-dired): Set default to a special
+ "unspecified" value.
+ (dired-insert-directory): When called the first time, check
+ whether "ls --dired" succeeds and set dired-use-ls-dired (Bug#7546).
+
+2010-12-04 Tak Ota <Takaaki.Ota@am.sony.com>
+
+ * replace.el: Add "collect" feature to occur.
+ (occur-collect-regexp-history): New var.
+ (occur-read-primary-args): Return a replace string for nlines,
+ if needed.
+ (occur): Extend the meaning of nlines.
+
+2010-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/which-func.el (which-func-ff-hook): Log the error message.
+ (which-func-update-1): Distinguish symbols from strings.
+ (which-function): Stay within 80 columns.
+
+2010-12-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (with-demoted-errors): Distinguish symbols from strings.
+
+ * newcomment.el (comment-styles): Add docs to each style (bug#7509).
+ Improve docstring.
+ (comment-style): Use comment-styles's docs to describe values.
+
+2010-12-03 Jan Djärv <jan.h.d@swipnet.se>
+
+ * term/common-win.el (x-setup-function-keys): Restore ns-new-frame
+ and ns-show-prefs (Bug#7535).
+
+ * term/ns-win.el (global-map): Restore ns-new-frame and ns-show-prefs
+ bindings (Bug#7535).
+
+2010-12-03 Glenn Morris <rgm@gnu.org>
+
+ * nxml/nxml-mode.el: Require rng-nxml.
+ (rng-nxml-mode-init, nxml-enable-unicode-char-name-sets):
+ Remove declarations.
+
+ * nxml/nxml-mode.el, nxml/nxml-outln.el, nxml/rng-loc.el:
+ * nxml/rng-nxml.el, nxml/rng-valid.el:
+ Remove leading `*' from defcustom docs.
+
+ * startup.el (normal-top-level-add-subdirs-to-load-path): Simplify.
+ (normal-top-level-add-to-load-path, tty-handle-args):
+ Convert comments to basic doc-strings.
+
+ * net/browse-url.el (browse-url-url-at-point)
+ (browse-url-default-browser): Remove autoload cookies.
+
+ * mail/emacsbug.el (report-emacs-bug-create-existing-bugs-buffer):
+ Remove more undefined cl functions.
+
+ * vc/diff.el (diff-sentinel): Make new arguments optional.
+ * ibuf-ext.el (diff-sentinel): Update declaration.
+
+2010-12-03 Daiki Ueno <ueno@unixuser.org>
+
+ * epg.el (epg-digest-algorithm-alist): Replace "RMD160" with
+ "RIPEMD160" (Bug#7490). Reported by Daniel Kahn Gillmor.
+ (epg-context-set-passphrase-callback): Mention that the callback
+ is not called when used with GnuPG 2.x.
+
+2010-12-02 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-local-host-regexp): Add "localhost6".
+ (tramp-file-name-port): Check also for `tramp-default-port'.
+ (tramp-get-connection-name): New defun.
+ (tramp-get-connection-process): Use it.
+ (tramp-debug-message): Extend function exclude list.
+ (tramp-drop-volume-letter): Fix doc string.
+
+ * net/tramp-cmds.el: Remove solved todo item.
+
+ * net/tramp-ftp.el:
+ * net/tramp-gvfs.el:
+ * net/tramp-gw.el:
+ * net/tramp-imap.el:
+ * net/tramp-smb.el: Fix regexps added to `tramp-default-method-alist'
+ and `tramp-default-user-alist', respectively.
+
+ * net/tramp-gw.el (tramp-gw-open-connection):
+ Use `tramp-get-connection-name' and `tramp-get-connection-buffer'.
+
+ * net/tramp-imap.el (tramp-imap-make-iht): Use just
+ `tramp-file-name-port'.
+
+ * net/tramp-sh.el (tramp-methods): Add recursive options to "pscp"
+ and "psftp". Exchange "%k" marker with options.
+ (tramp-do-copy-or-rename-file, tramp-sh-handle-file-local-copy):
+ Compute size of link target.
+ (tramp-do-copy-or-rename-file-out-of-band): Move setting of
+ `tramp-current-*' up due to gateway methods. Optimize computing of
+ copy arguments. Use `tramp-get-connection-name' and
+ `tramp-get-connection-buffer'. Improve debug messages.
+ (tramp-compute-multi-hops): Remove port determination.
+ (tramp-maybe-open-connection): Use `tramp-get-connection-name'.
+
+ * net/trampver.el: Update release number.
+
+2010-12-02 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/cl-macs.el (cl-parse-loop-clause):
+ Avoid infinite loop over windows. (Bug#7492)
+
+ * progmodes/flymake.el (flymake-check-file-limit):
+ Allow nil to mean "no limit".
+ (flymake-check-patch-master-file-buffer): Update for above change.
+ Allow a .tex file-name extension to be optional.
+ (flymake-master-tex-init): Also match \include statements.
+
+2010-11-30 Sam Steingold <sds@gnu.org>
+
+ * nxml/nxml-mode.el (nxml-parent-document): Add a variable.
+ (nxml-parent-document-set): A function to set `nxml-parent-document'.
+ (nxml-mode): Define using `define-derived-mode' instead of `defun'.
+ (nxml-mode-hook): Remove `defcustom' (auto-defined by
+ define-derived-mode').
+ * nxml/rng-valid.el (rng-dtd-trivial-p): Add a helper function for
+ users who want to call `nxml-parent-document-set'.
+
+2010-11-27 Chong Yidong <cyd@stupidchicken.com>
+
+ * log-edit.el (log-edit-font-lock-keywords): Don't try matching
+ stand-alone lines, since that is handled by log-edit-match-to-eoh
+ (Bug#6465).
+
+2010-11-27 Eduard Wiebe <usenet@pusto.de>
+
+ * dired.el (dired-get-filename): Replace backslashes with slashes
+ in file names on MS-Windows, needed by `locate'. (Bug#7308)
+ * locate.el (locate-default-make-command-line): Don't consider
+ drive letter and root directory part of
+ `directory-listing-before-filename-regexp'. (Bug#7308)
+ (locate-post-command-hook, locate-post-command-hook): New defcustoms.
+
+2010-11-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el (smie-prec2->grammar): Simplify handling
+ of :smie-open/close-alist.
+ (smie-next-sexp): Make it accept a "start token" as argument.
+ (smie-indent-keyword): Be careful not to misidentify tokens that span
+ more than one line, as empty lines. Add argument `token'.
+
+2010-11-27 Kenichi Handa <handa@m17n.org>
+
+ * mail/rmailmm.el (rmail-mime-insert-multipart): For unsupported
+ multipart subtypes, insert all as usual.
+
+ * mail/rmail.el: Require rfc2047.
+
+2010-11-27 Kenichi Handa <handa@m17n.org>
+
+ * mail/rmailmm.el (rmail-mime-entity, rmail-mime-entity-type)
+ (rmail-mime-entity-disposition)
+ (rmail-mime-entity-transfer-encoding, rmail-mime-entity-header)
+ (rmail-mime-entity-body, rmail-mime-entity-children): New functions.
+ (rmail-mime-save): Handle the case that the button's `data' is a
+ MIME entity.
+ (rmail-mime-insert-text): New function.
+ (rmail-mime-insert-image): Handle the case that DATA is a MIME entity.
+ (rmail-mime-bulk-handler): Just call rmail-mime-insert-bulk.
+ (rmail-mime-insert-bulk): New function mostly copied from the old
+ rmail-mime-bulk-handler.
+ (rmail-mime-multipart-handler): Just call rmail-mime-process-multipart.
+ (rmail-mime-process-multipart): New function mostly copied from
+ the old rmail-mime-multipart-handler.
+ (rmail-mime-show): Just call rmail-mime-process.
+ (rmail-mime-process): New function mostly copied from the old
+ rmail-mime-show.
+ (rmail-mime-insert-multipart, rmail-mime-parse)
+ (rmail-mime-insert, rmail-show-mime)
+ (rmail-insert-mime-forwarded-message)
+ (rmail-insert-mime-resent-message): New functions.
+ (rmail-insert-mime-forwarded-message-function): Set to
+ rmail-insert-mime-forwarded-message.
+ (rmail-insert-mime-resent-message-function): Set to
+ rmail-insert-mime-resent-message.
+
+ * mail/rmailsum.el: Require rfc2047.
+ (rmail-header-summary): Handle multiline Subject: field.
+ (rmail-summary-line-decoder): Change the default to
+ rfc2047-decode-string.
+
+ * mail/rmail.el (rmail-enable-mime): Change the default to t.
+ (rmail-mime-feature): Change the default to `rmailmm'.
+ (rmail-quit): Delete the specifal code for rmail-enable-mime.
+ (rmail-display-labels): Likewise.
+ (rmail-show-message-1): Check rmail-enable-mime, and use
+ rmail-show-mime-function for a MIME message. Decode the headers
+ according to RFC2047.
+
+2010-11-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/which-func.el (which-func-imenu-joiner-function):
+ Return a string, as expected.
+ (which-function-mode): Make sure we stop any previous timer before
+ starting a new one.
+
+2010-11-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-default-method-alist)
+ (tramp-default-user-alist, tramp-default-proxies-alist):
+ Adapt custom options type. (Bug#7445)
+
+2010-11-27 Chong Yidong <cyd@stupidchicken.com>
+
+ * progmodes/python.el: Add Ipython support (Bug#5390).
+ (python-shell-prompt-alist)
+ (python-shell-continuation-prompt-alist): New options.
+ (python--set-prompt-regexp): New function.
+ (inferior-python-mode, run-python, python-shell):
+ Require ansi-color. Use python--set-prompt-regexp to set the comint
+ prompt based on the Python interpreter.
+ (python--prompt-regexp): New var.
+ (python-check-comint-prompt)
+ (python-comint-output-filter-function): Use it.
+ (run-python): Use a pipe (Bug#5694).
+
+2010-11-27 Chong Yidong <cyd@stupidchicken.com>
+
+ * progmodes/python.el (run-python): Doc fix.
+ (python-keep-current-directory-in-path): New var (Bug#7454).
+
+2010-11-27 Chong Yidong <cyd@stupidchicken.com>
+
+ * lpr.el (lpr-buffer, print-buffer, lpr-region, print-region):
+ Prompt user before actually printing.
+
+2010-11-27 Glenn Morris <rgm@gnu.org>
+
+ * startup.el (package-enable-at-startup, package-initialize):
+ Remove unnecessary declarations.
+
+2010-11-27 Eli Zaretskii <eliz@gnu.org>
+
+ * international/characters.el (glyphless-char-display-control):
+ Exclude newline and TAB from the c0-control group.
+
+2010-11-27 Glenn Morris <rgm@gnu.org>
+
+ * mail/sendmail.el (build-mail-aliases): Doc fix for autoload.
+ (expand-mail-aliases): Remove unnecessary autoload.
+
+ * allout.el (allout-command-prefix, allout-mode-map): Declare.
+
+ * shell.el (shell-dir-cookie-re): Move definition before use.
+
+ * mail/emacsbug.el (report-emacs-bug-create-existing-bugs-buffer):
+ Replace undefined CL functions.
+
+2010-11-26 Eli Zaretskii <eliz@gnu.org>
+
+ * simple.el (prog-mode): Set bidi-paragraph-direction to
+ left-to-right.
+
+ * term/pc-win.el (x-get-selection-internal): Emulation for MS-DOS.
+
+2010-11-26 Glenn Morris <rgm@gnu.org>
+
+ * calendar/diary-lib.el (diary-outlook-format-1): New function, so that
+ diary-outlook-formats can be sensitive to calendar-date-style.
+ (diary-outlook-formats): Simplify the default setting.
+ (diary-from-outlook-internal): Pass subject and body as arguments.
+ Use dolist rather than dotimes. Don't save the diary buffer.
+ (diary-from-outlook-gnus, diary-from-outlook-rmail):
+ Pass subject and body as explicit arguments to the -internal function.
+
+2010-11-26 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mail/rfc2368.el (rfc2368-parse-mailto-url): Unfold URLs before
+ parsing them. This makes mailto:...?subject=foo\nbar work.
+
+2010-11-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc/diff.el (diff): Fix last change.
+
+2010-11-24 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/pcase.el: Improve pcase-let. Use "pcase--" prefix.
+ (pcase--dontcare-upats): New var.
+ (pcase-let, pcase-let*): Generate better code.
+ Accept the same bodies as `let'.
+ (pcase-dolist): New macro.
+ (pcase--trivial-upat-p): New helper function.
+ (pcase--expand): Strip leading "(let nil" if any.
+
+2010-11-24 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mail/mailclient.el (browse-url): Require.
+ (mailclient-send-it): Bind `browse-url-mailto-function' to nil to
+ use the external browser function to send the mail (bug#7469).
+
+ * net/browse-url.el (browse-url-browser-function): Revert the
+ default back to the previous value, since the new value broke
+ mailclient.el.
+ (browse-url-mailto-function): New variable for mailto: URLs.
+ (browse-url): Use the new variable for mailto: URLs.
+
+2010-11-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eshell/esh-cmd.el (eshell-parse-command):
+ * eshell/esh-arg.el (eshell-parse-arguments):
+ * eshell/em-script.el (eshell-source-file):
+ Use with-silent-modifications.
+
+2010-11-23 Chong Yidong <cyd@stupidchicken.com>
+
+ * vc/vc.el (vc-merge): Remove optional arg PROMPT. Always prompt
+ for a merge location.
+
+ * vc/vc-bzr.el (vc-bzr-pull): Remove unused var.
+ (vc-bzr-merge-branch): Always prompt.
+ (vc-bzr-async-command): Use the full branch filename.
+
+2010-11-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * shell.el (shell): Use current-buffer by default if it's already
+ a shell mode buffer and its process is dead.
+ Suggested by Jose E. Marchesi <jemarch@gnu.org>.
+
+2010-11-23 Tassilo Horn <tassilo@member.fsf.org>
+
+ * mail/emacsbug.el (report-emacs-bug-query-existing-bugs):
+ Mention that the keywords should be comma separated.
+
+2010-11-23 Chong Yidong <cyd@stupidchicken.com>
+
+ * vc/vc.el (vc-merge): Use vc-BACKEND-merge-branch if available.
+ Accept optional prefix arg meaning to prompt for a command.
+ (vc-update): Use vc-BACKEND-pull if available. Accept optional
+ prefix arg meaning to prompt for a command.
+ (vc-pull): Alias for vc-update.
+
+ * vc/vc-bzr.el (vc-bzr-admin-branchconf, vc-bzr-history): New vars.
+ (vc-bzr--branch-conf, vc-bzr-async-command, vc-bzr-pull)
+ (vc-bzr-merge-branch): New functions, implementing merge-branch
+ and pull operations.
+
+2010-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * Makefile.in: Fix up last merge.
+
+ * vc/diff.el (diff-old-temp-file, diff-new-temp-file): Remove.
+ (diff-sentinel): Get them as arguments instead.
+ (diff-old-file, diff-new-file, diff-extra-args): Remove.
+ (diff-file-local-copy, diff-better-file-name): New funs.
+ (diff-no-select): Rename from diff-into-buffer.
+ Support buffers additionally to files. Move `buf' arg. Don't display buf.
+ Prefer closures to buffer-local variables.
+ (diff): Adjust accordingly.
+ (diff-buffer-with-file): Move from files.el.
+ * files.el (diff-buffer-with-file): Move to vc/diff.el.
+ (diff-buffer-internal): Remove.
+ (diff-buffer-buffer): Remove.
+ (save-some-buffers-action-alist): Use diff-no-select so as not to guess
+ the buffer name used, and so as not to mess up windows and frames.
+
+2010-11-22 Bob Rogers <rogers-emacs@rgrjr.dyndns.org>
+
+ * files.el: Make revert work with diff-buffer-with-file (bug#7277).
+ (diff-buffer-internal): New function extracted from diff-buffer-with-file
+ (diff-buffer-with-file): Use it.
+ * vc/diff.el (diff-into-buffer): New fun, extracted from diff.
+ (diff): Use it.
+
+2010-11-22 Tassilo Horn <tassilo@member.fsf.org>
+
+ * textmodes/reftex-ref.el (reftex-goto-label): Use the current
+ \ref's or \pageref's value as default instead of initial input.
+
+2010-11-21 Michael Albinus <michael.albinus@gmx.de>
+
+ * files.el (backup-by-copying-when-mismatch): The default value is
+ now t.
+
+ * startup.el (normal-top-level):
+ * net/tramp.el (tramp-handle-insert-file-contents): Do not set
+ `backup-by-copying-when-mismatch'.
+
+2010-11-21 Jan Djärv <jan.h.d@swipnet.se>
+
+ * tool-bar.el (tool-bar-setup): Remove save as, print and customize.
+
+2010-11-21 Deniz Dogan <deniz.a.m.dogan@gmail.com>
+
+ * progmodes/python.el (python-font-lock-keywords):
+ Highlight top-level augmented assignments (Bug#6445).
+
+2010-11-21 Jan Djärv <jan.h.d@swipnet.se>
+
+ * term/ns-win.el (ns-right-control-modifier)
+ (ns-right-command-modifier): Defvar them.
+
+ * cus-start.el (all): Add ns-right-control-modifier and
+ ns-right-command-modifier (Bug#7458).
+
+2010-11-20 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/authors.el (authors-ignored-files)
+ (authors-valid-file-names, authors-renamed-files-alist): Add entries.
+
+2010-11-20 Tassilo Horn <tassilo@member.fsf.org>
+
+ * mail/emacsbug.el (report-emacs-bug-query-existing-bugs)
+ (report-emacs-bug-parse-query-results)
+ (report-emacs-bug-create-existing-bugs-buffer): Pass through
+ keywords used for querying the bug database to show them in the
+ existing bugs buffer.
+
+2010-11-20 Jan Djärv <jan.h.d@swipnet.se>
+
+ * tool-bar.el (tool-bar-setup): Add some :vert-only keywords.
+
+ * info.el (info-tool-bar-map): Add some :vert-only keywords.
+
+2010-11-20 Eli Zaretskii <eliz@gnu.org>
+
+ * international/characters.el (glyphless-char-display-control):
+ Make it a defcustom, with update-glyphless-char-display as its
+ :set attribute.
+ (top level): Don't call update-glyphless-char-display.
+
+2010-11-20 Michael Albinus <michael.albinus@gmx.de>
+
+ Sync with Tramp 2.2.0.
+
+ * net/tramp.el (tramp-handle-insert-file-contents): Don't use
+ `file-remote-p' (due to compatibility).
+
+ * net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
+ (tramp-do-copy-or-rename-file-out-of-band): Use `ignore-errors'.
+
+ * net/trampver.el: Update release number.
+
+2010-11-20 Eli Zaretskii <eliz@gnu.org>
+
+ * faces.el (glyphless-char): Define value for `pc'.
+
+2010-11-20 Tassilo Horn <tassilo@member.fsf.org>
+
+ Implemented a bug querying mechanism.
+ * mail/emacsbug.el (report-emacs-bug-tracker-url): New variable.
+ (report-emacs-bug-create-existing-bugs-buffer)
+ (report-emacs-bug-parse-query-results)
+ (report-emacs-bug-query-existing-bugs): New functions.
+
+2010-11-19 Tassilo Horn <tassilo@member.fsf.org>
+
+ * textmodes/reftex-ref.el (reftex-goto-label): If point is inside
+ a \ref{} or \pageref{} macro, then use its value as initial input.
+
+2010-11-19 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc-units.el (math-build-units-table-buffer):
+ calc/README: Mention that the TeX specific units won't use the
+ `tex' prefix in TeX mode.
+ calc/calc-lang.el (math-variable-table): Don't use the `tex'
+ prefix for units in TeX mode.
+
+2010-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * simple.el (kill-new, kill-append, kill-region):
+ * comint.el (comint-kill-region): Make the yank-handler argument
+ obsolete.
+
+2010-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el (smie-bnf-classify): Signal errors for tokens
+ that are both openers (resp. closers) and something else.
+ (smie-grammar): Loosen definition of valid values.
+ (smie-next-sexp, smie-down-list, smie-blink-matching-open)
+ (smie-indent--parent, smie-rule-parent, smie-indent-keyword)
+ (smie-indent-after-keyword): Adjust users.
+ (smie-indent-keyword): Don't indent empty lines.
+
+ * vc-hg.el (vc-hg-program): New var.
+ Suggested by Norman Gray <norman@astro.gla.ac.uk>.
+ (vc-hg-state, vc-hg-working-revision, vc-hg-command): Use it.
+
+2010-11-18 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/autoload.el (autoload-find-destination): The function
+ coding-system-eol-type may return non-numeric values. (Bug#7414)
+
+2010-11-18 Ulrich Mueller <ulm@gentoo.org>
+
+ * server.el (server-force-stop): Ensure the server is stopped (Bug#7409).
+
+2010-11-18 Eli Zaretskii <eliz@gnu.org>
+
+ * subr.el (posn-col-row): Pay attention to header line. (Bug#7390)
+
+2010-11-18 Chong Yidong <cyd@stupidchicken.com>
+
+ * textmodes/picture.el (picture-mouse-set-point): Don't use
+ posn-col-row; explicitly compute the motion based on the posn at
+ the window-start (Bug#7390).
+
+2010-11-18 Glenn Morris <rgm@gnu.org>
+
+ * novice.el (disabled-command-function):
+ Fix 2009-11-15 change. (Bug#7384)
+
+2010-11-18 Glenn Morris <rgm@gnu.org>
+
+ * calendar/calendar.el (diary-iso-date-forms): Make elements
+ mutually exclusive. (Bug#7377)
+
+2010-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el (smie-prec2->grammar): Obey equality constraints
+ when filling the remaining "unconstrained" values.
+
+2010-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/bytecomp.el (byte-compile-warnings): Simplify the
+ safety predicate.
+
+ * files.el (safe-local-variable-p): Gracefully handle errors.
+
+ * emacs-lisp/smie.el (smie-rule-parent, smie-indent--rule):
+ Use smie-indent-virtual when indenting relative to an opener.
+ (smie-rule-separator): Use smie-rule-parent.
+ (smie-indent-keyword): Consult rules, even for openers at bol.
+ (smie-indent-comment-close): Try to align closer's content.
+
+2010-11-18 Glenn Morris <rgm@gnu.org>
+
+ * ls-lisp.el (ls-lisp-dired-ignore-case): Make it an obsolete alias.
+
+2010-11-18 Glenn Morris <rgm@gnu.org>
+
+ * printing.el (pr-menu-bind): Doc fix.
+
+ * speedbar.el (speedbar-toggle-images): Doc fix.
+
+ * progmodes/python.el (python-shell): Doc fix.
+
+ * wid-edit.el (widget-field-use-before-change)
+ (widget-use-overlay-change): Doc fixes.
+
+2010-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Minor cleanup to improve style.
+ * textmodes/rst.el (rst-update-section): Use point-marker.
+ (rst-get-decoration): Eliminate unneeded assignment.
+ (rst-promote-region, rst-straighten-decorations)
+ (rst-section-tree, rst-adjust): Use point-marker.
+ (rst-toc-mode-mouse-goto): Avoid setq.
+ (rst-shift-region-guts, rst-shift-region-left)
+ (rst-iterate-leftmost-paragraphs, rst-iterate-leftmost-paragraphs-2)
+ (rst-convert-bullets-to-enumeration): Use copy-marker.
+
+ * minibuffer.el (completion-fail-discreetly): New var.
+ (completion--do-completion): Use it.
+
+ * electric.el (electric-pair-pairs): New var.
+ (electric-pair-post-self-insert-function): Use it.
+ (electric-layout-post-self-insert-function): Don't insert a before
+ newline unless it's actually needed.
+
+2010-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/python.el (run-python): Explain why we remove the current
+ directory from sys.path. Suggested by Eric Hanchrow <erich@cozi.com>.
+
+ * progmodes/grep.el (grep-regexp-alist): Tighten the regexp (bug#7378).
+
+2010-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/octave-mod.el: Rely on elecric-*-modes.
+ (octave-mode-map): Don't bind ;, SPC, and LF.
+ (octave-auto-indent, octave-auto-newline): Remove.
+ (electric-layout-rules): Declare.
+ (octave-mode): Set electric-layout-rules.
+ (octave-indent-new-comment-line): Use reindent-then-newline-and-indent.
+ (octave-reindent-then-newline-and-indent, octave-electric-semi)
+ (octave-electric-space): Remove.
+
+ * electric.el (electric-layout-mode): New minor mode.
+ (electric--after-char-pos): New function.
+ (electric-indent-post-self-insert-function): Use it.
+ (electric-layout-rules): New var.
+ (electric-layout-post-self-insert-function): New function.
+ (electric-indent-mode): Make them interact better.
+
+2010-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/checkdoc.el (checkdoc-syntax-table): Fix last change.
+ (checkdoc-sentencespace-region-engine, checkdoc-this-string-valid)
+ (checkdoc-proper-noun-region-engine): Use with-syntax-table.
+
+2010-11-15 Agustín Martín <agustin.martin@hispalinux.es>
+
+ * textmodes/flyspell.el (flyspell-generic-progmode-verify):
+ Make sure to check inside the word (Bug#6761).
+
+2010-11-14 Chong Yidong <cyd@stupidchicken.com>
+
+ * startup.el (command-line): If the cursorColor resource is set,
+ change the cursor face-spec (Bug#7392).
+
+2010-11-13 Ken Manheimer <ken.manheimer@gmail.com>
+
+ The main features of the following allout.el changes are:
+ - implement user customization for the allout key bindings
+ - add a customization control by which the user can inhibit use of
+ a trailing Ctrl-H, so by default it's reserved for use with
+ describe-prefix-bindings
+ - adapt to new version of called-interactively-p, while
+ maintaining backwards compatibility with old version
+ - fix hotspot navigation so i works properly with meta-modified keys.
+
+ * allout.el (allout-keybindings, allout-bind-keys)
+ (allout-keybindings-binding, allout-prefixed-keybindings)
+ (allout-unprefixed-keybindings, allout-preempt-trailing-ctrl-h)
+ (allout-keybindings-list, allout-mode-map-adjustments)
+ (allout-setup-mode-map): Establish allout-mode keymaps as user
+ customizable settings, and also establish a customizable setting which
+ regulates whether or not a trailing control-h is reserved for use with
+ describe-prefix-bindings - and inhibit it by default, so that control-h
+ *is* reserved for describe-prefix-bindings unless the user changes it.
+
+ * allout.el (allout-hotspot-key-handler): Distinguish more explicitly
+ and accurately between modified and unmodified events, and handle
+ modified events more comprehensively.
+
+ * allout.el (allout-substring-no-properties):
+ Alias to use or provide version of `substring-no-properties'.
+ (allout-solicit-alternate-bullet): Use `allout-substring-no-properties'.
+
+ * allout.el (allout-next-single-char-property-change):
+ Alias to use or provide version of `next-single-char-property-change'.
+ (allout-annotate-hidden, allout-hide-by-annotation):
+ Use `allout-next-single-char-property-change'.
+
+ * allout.el (allout-select-safe-coding-system):
+ Alias to use or provide version of `select-safe-coding-system'.
+ (allout-toggle-subtree-encryption):
+ Use `allout-select-safe-coding-system'.
+
+ * allout.el (allout-set-buffer-multibyte):
+ Alias to use or provide version of `set-buffer-multibyte'.
+ (allout-encrypt-string): Use `allout-set-buffer-multibyte'.
+
+ * allout.el (allout-called-interactively-p): Macro for using the
+ different versions of called-interactively-p identically, depending on
+ the subroutine's argument signature.
+ (allout-back-to-current-heading, allout-beginning-of-current-entry):
+ Use `(interactive "p")' instead of `(called-interactively-p)'.
+
+ * allout.el (allout-init, allout-ascend, allout-end-of-level)
+ (allout-previous-visible-heading, allout-forward-current-level)
+ (allout-backward-current-level, allout-show-children):
+ Use `allout-called-interactively-p' instead of `called-interactively-p'.
+
+ * allout.el (allout-before-change-handler):
+ Exempt edits to the (overlaid) character after the allout outline
+ bullet from edit confirmation prompt.
+
+ * allout.el (allout-add-resumptions):
+ Ensure that it respects correct buffer for keybindings.
+
+ * allout.el (allout-beginning-of-line):
+ Use `allout-previous-single-char-property-change' alias for the sake of
+ diverse compatibility.
+
+ * allout.el (allout-end-of-line):
+ Use `allout-mark-active-p' to encapsulate respect for mark activity.
+
+2010-11-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * frame.el (frame-notice-user-settings): Don't clobber other
+ user-set parameters when calling face-set-after-frame-default in
+ response to background-color parameter (Bug#7373).
+
+2010-11-13 Eli Zaretskii <eliz@gnu.org>
+
+ * international/characters.el (glyphless-char-display-control):
+ Rename from glyphless-char-control; all users changed. Doc fix.
+ Signal an error if display method is not one of the recognized
+ symbols.
+
+2010-11-13 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-compat.el (tramp-compat-line-beginning-position)
+ (tramp-compat-line-end-position): Remove them.
+
+ * net/tramp.el (tramp-parse-rhosts-group)
+ (tramp-parse-shosts-group, tramp-parse-sconfig-group)
+ (tramp-parse-hosts-group, tramp-parse-passwd-group)
+ (tramp-parse-netrc-group, tramp-parse-putty-group)
+ * net/tramp-cmds.el (tramp-append-tramp-buffers)
+ * net/tramp-sh.el (tramp-do-file-attributes-with-ls)
+ (tramp-sh-handle-file-selinux-context)
+ (tramp-sh-handle-file-name-all-completions)
+ (tramp-sh-handle-insert-directory)
+ (tramp-sh-handle-expand-file-name, tramp-find-executable)
+ (tramp-wait-for-output, tramp-send-command-and-read)
+ * net/tramp-smb.el (tramp-smb-read-file-entry)
+ (tramp-smb-get-cifs-capabilities): Use `point-at-eol'.
+
+ * net/tramp-sh.el (tramp-sh-handle-insert-directory) Use
+ `point-at-bol'.
+ (tramp-remote-coding-commands): Add an alternative using "base64
+ -d -i". This is needed for older base64 versions from GNU
+ coreutils. Reported by Klaus Reichl
+ <Klaus.Reichl@thalesgroup.com>.
+
+2010-11-13 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * simple.el (count-words-region): New function.
+
+2010-11-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * shell.el (shell-dir-cookie-re): New custom variable.
+ (shell-dir-cookie-watcher): New function.
+
+ * vc/vc.el (vc-deduce-backend): Use default-directory in shell-mode
+ and compilation-mode (bug#7350).
+
+ * vc/smerge-mode.el (smerge-refine): Choose better default part to
+ highlight when one of them is empty.
+
+ * skeleton.el (skeleton-read): Don't use `newline' since it may strip
+ trailing space.
+ (skeleton-newline): New function.
+ (skeleton-internal-1): Use it.
+
+ * simple.el (open-line): `newline' may strip trailing space.
+
+2010-11-12 Kevin Ryde <user42@zip.com.au>
+
+ * international/mule-cmds.el (princ-list): Use mapc.
+
+2010-11-12 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/bytecomp.el (byte-compile-log-buffer): New constant.
+ Use it to replace all instances of "*Compile-Log*".
+
+2010-11-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/pcase.el (pcase-let*, pcase-let): Add debug and
+ indentation specs.
+
+2010-11-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/modula2.el: Use SMIE and skeleton.
+ (m2-mode-syntax-table): (*..*) can be nested.
+ Add //...\n. Fix paren syntax.
+ (m2-mode-map): Remove LF and TAB bindings.
+ (m2-indent): Add safety property.
+ (m2-smie-grammar): New var.
+ (m2-smie-refine-colon, m2-smie-refine-of, m2-smie-backward-token)
+ (m2-smie-forward-token, m2-smie-refine-semi, m2-smie-rules): New funs.
+ (m2-mode): Use define-derived-mode.
+ (m2-newline, m2-tab): Remove.
+ (m2-begin, m2-case, m2-definition, m2-else, m2-for, m2-header)
+ (m2-if, m2-loop, m2-module, m2-or, m2-procedure, m2-with, m2-record)
+ (m2-stdio, m2-type, m2-until, m2-var, m2-while, m2-export)
+ (m2-import): Use define-skeleton.
+
+2010-11-11 Glenn Morris <rgm@gnu.org>
+
+ * obsolete/lucid.el: Don't warn about any CL functions in this file.
+
+ * ls-lisp.el (ls-lisp-ignore-case, ls-lisp-dirs-first)
+ (ls-lisp-verbosity): Add custom :set-after property.
+ (ls-lisp-verbosity, ls-lisp-use-localized-time-format): Doc fixes.
+ (ls-lisp-format, ls-lisp-format-time): Don't take `now' as an argument.
+ (ls-lisp-insert-directory): Update caller.
+ (ls-lisp-set-options): New function.
+ (ls-lisp-emulation): Use ls-lisp-set-options for custom :set.
+ Doc fix.
+
+ * play/landmark.el (lm-prompt-for-move):
+ * play/gomoku.el (gomoku-prompt-for-move): Remove nonsensical code.
+
+ * progmodes/idlw-complete-structtag.el: Remove unused dec `name'.
+
+ * progmodes/idlwave.el (idlwave-routine-entry-compare-twins)
+ (idlwave-study-twins): Prefix dynamic local variable `name'.
+ (idlwave-routine-twin-compare): Update for above change.
+
+ * progmodes/idlw-help.el (idlwave-do-mouse-completion-help):
+ Prefix dynamic local variables `name', `kwd', and `link'.
+ * progmodes/idlw-shell.el (idlwave-shell-complete-execcomm-help):
+ * progmodes/idlw-complete-structtag.el
+ (idlwave-complete-structure-tag-help):
+ * progmodes/idlwave.el (idlwave-complete-sysvar-help)
+ (idlwave-complete-sysvar-tag-help)
+ (idlwave-complete-class-structure-tag-help):
+ Update for above name changes.
+
+2010-11-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/browse-url.el (browse-url-browser-function): Change the
+ default to use `browse-url-mail' on mailto: URLs.
+
+2010-11-10 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/package.el (package-read-all-archive-contents):
+ Reset package-archive-contents to nil before re-reading.
+
+2010-11-10 Brandon Craig Rhodes <brandon@rhodesmill.org> (tiny change)
+
+ * textmodes/flyspell.el (flyspell-word): Do not re-check words
+ already found as misspellings by (flyspell-large-region), just
+ do highlighting (bug#7322).
+
+2010-11-10 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/octave-mod.el (octave-mark-block): Update for smie change.
+
+ * emulation/edt.el (edt-with-position): New macro.
+ (edt-find-forward, edt-find-backward, edt-find-next-forward)
+ (edt-find-next-backward, edt-sentence-forward, edt-sentence-backward)
+ (edt-paragraph-forward, edt-paragraph-backward): Use it.
+
+ * emulation/tpu-extras.el (tpu-with-position): New macro.
+ (tpu-paragraph, tpu-page, tpu-search-internal): Use it.
+
+ * textmodes/texnfo-upd.el (texinfo-pointer-name): Fix typo.
+
+ * textmodes/texnfo-upd.el (texinfo-all-menus-update)
+ (texinfo-menu-copy-old-description, texinfo-start-menu-description)
+ (texinfo-master-menu, texinfo-insert-node-lines)
+ (texinfo-multiple-files-update):
+ * textmodes/texinfmt.el (texinfo-append-refill, texinfo-copying):
+ Use line-beginning-position.
+
+ * progmodes/cperl-mode.el (cperl-find-pods-heres, cperl-write-tags):
+ No recent Emacs supports system-type `emx'.
+
+ * progmodes/ada-xref.el (is-windows): Rename to ada-on-ms-windows.
+ (ada-command-separator, ada-default-prj-properties)
+ (ada-find-any-references): Update for above name change.
+
+ * dirtrack.el (dirtrack-directory-function)
+ (dirtrack-canonicalize-function):
+ * filecache.el (file-cache-completion-ignore-case)
+ (file-cache-case-fold-search, file-cache-ignore-case):
+ * term.el (serial-port-is-file-p): Cosmetic change.
+
+ * emulation/viper-init.el (viper-ms-style-os-p): Doc fix.
+ Remove non-existent `windows-95' system-type.
+ * dired.el (dired-chown-program): Remove non-existent `linux'
+ system-type.
+
+ * net/net-utils.el (net-utils-remove-ctl-m): Use memq for system-types.
+ (ping-program-options): Remove non-existent `linux' system-type.
+
+ * startup.el (package-initialize): Update declaration.
+
+ * ls-lisp.el (ls-lisp-time-lessp, ls-lisp-time-to-seconds): Remove.
+ (ls-lisp-handle-switches): Use time-less-p.
+ (ls-lisp-format-time): Use float-time.
+
+ * textmodes/remember.el (remember-time-to-seconds): Remove.
+ (remember-store-in-mailbox): Use float-time.
+
+ * calendar/timeclock.el (timeclock-time-to-seconds): Make it an alias.
+
+ * calendar/time-date.el (time-to-seconds): Always an alias on Emacs,
+ never a real function.
+ (with-no-warnings): Remove compat stub, now unused.
+ (time-less-p): Doc fix.
+ (time-to-number-of-days): Simplify.
+
+ * eshell/esh-util.el (eshell-time-less-p, eshell-time-to-seconds):
+ Remove.
+ (eshell-read-passwd, eshell-read-hosts): Use time-less-p.
+ * eshell/esh-test.el (eshell-test, eshell-show-usage-metrics):
+ * eshell/em-unix.el (eshell-show-elapsed-time, eshell/time):
+ * eshell/em-pred.el (eshell-pred-file-time): Use float-time.
+ * eshell/em-ls.el (eshell-ls-sort-entries): Use time-less-p.
+
+ * eshell/em-unix.el (eshell-remove-entries, eshell/rm)
+ (eshell-shuffle-files, eshell-shorthand-tar-command)
+ (eshell-mvcpln-template, eshell/mv, eshell/cp, eshell/ln):
+ Prefix dynamic locals `interactive', `preview', `recursive', `verbose'.
+ * eshell/em-glob.el (eshell-extended-glob, eshell-glob-entries):
+ Prefix dynamic local variable `matches'.
+
+ * skeleton.el (skeleton-internal-list, skeleton-internal-1):
+ Prefix dynamic local variable `skeleton'.
+
+2010-11-10 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * net/browse-url.el (browse-url-mail): Insert body part of mailto url
+ in mail buffer; make yank-action always a command that yanks original
+ buffer.
+
+2010-11-09 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/tcl.el (tcl-hairy-scan-for-comment): Doc fix.
+
+2010-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (minibuffer-completion-help): Specify the end of the
+ completion field (bug#7211).
+
+ * progmodes/python.el (python-font-lock-syntactic-keywords): (bug#7322)
+ Fix handling of backslash escapes.
+ (python-quote-syntax): Adjust accordingly.
+
+2010-11-09 Richard Levitte <richard@levitte.org> (tiny change)
+
+ * vc-mtn.el (vc-mtn-working-revision, vc-mtn-after-dir-status)
+ (vc-mtn-workfile-branch): Adjust to new output format.
+
+2010-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * international/mule-cmds.el (princ-list): Mark as obsolete.
+
+2010-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el: New package.
+
+2010-11-09 Michael Albinus <michael.albinus@gmx.de>
+
+ * files.el (backup-by-copying-when-mismatch):
+ Set `permanent-local' property.
+
+ * net/tramp.el (tramp-handle-insert-file-contents): Do not set
+ `permanent-local' property for `backup-by-copying-when-mismatch'.
+
+2010-11-09 Eli Zaretskii <eliz@gnu.org>
+
+ * ls-lisp.el (insert-directory): Doc fix. (bug#7285)
+
+2010-11-09 Wilson Snyder <wsnyder@wsnyder.org>
+
+ * progmodes/verilog-mode.el (verilog-insert-one-definition)
+ (verilog-read-decls, verilog-read-sub-decls-sig): Fix AUTOWIRE and
+ AUTOINOUT for SV style multidimensional arrays, bug294.
+ Reported by Eric Mastromarchi.
+ (verilog-preprocess): Use with-current-buffer and
+ font-lock-fontify-buffer to cleanup style issues.
+
+2010-11-09 Glenn Morris <rgm@gnu.org>
+
+ * locate.el (locate, locate-mode): Doc fixes.
+
+2010-11-09 Chong Yidong <cyd@stupidchicken.com>
+
+ * server.el (server-start): New arg INHIBIT-PROMPT prevents asking
+ user for confirmation.
+ (server-force-stop): Use it.
+ (server-start): Use server-force-stop for kill-emacs-hook, to
+ avoid user interaction while killing Emacs.
+
+2010-11-09 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/meta-mode.el: Remove leading `*' from defcustom docs.
+ (meta-indent-line): Simplify.
+
+ * vc/emerge.el (emerge-line-number-in-buf):
+ * textmodes/ispell.el (ispell-region):
+ * textmodes/fill.el (current-fill-column):
+ * progmodes/xscheme.el (xscheme-send-current-line):
+ * progmodes/vhdl-mode.el (vhdl-current-line, vhdl-line-copy):
+ * progmodes/tcl.el (tcl-hairy-scan-for-comment):
+ * progmodes/sh-script.el (sh-handle-prev-do):
+ * progmodes/meta-mode.el (meta-indent-line):
+ * progmodes/idlwave.el (idlwave-goto-comment, idlwave-fill-paragraph)
+ (idlwave-in-quote):
+ * progmodes/idlw-shell.el (idlwave-shell-current-frame)
+ (idlwave-shell-update-bp-overlays, idlwave-shell-sources-filter):
+ * progmodes/fortran.el (fortran-looking-at-if-then):
+ * progmodes/etags.el (find-tag-in-order, etags-snarf-tag):
+ * progmodes/cperl-mode.el (cperl-sniff-for-indent)
+ (cperl-find-pods-heres):
+ * progmodes/ada-mode.el (ada-get-current-indent, ada-narrow-to-defun):
+ * net/quickurl.el (quickurl-list-insert):
+ * net/ldap.el (ldap-search-internal):
+ * net/eudc.el (eudc-expand-inline):
+ * mail/sendmail.el (sendmail-send-it):
+ * mail/mspools.el (mspools-visit-spool, mspools-get-spool-name):
+ * emulation/viper-cmd.el (viper-paren-match, viper-backward-indent)
+ (viper-brac-function):
+ * calc/calc-yank.el (calc-do-grab-region):
+ * calc/calc-keypd.el (calc-keypad-press):
+ * term.el (term-move-columns, term-insert-spaces):
+ * speedbar.el (speedbar-highlight-one-tag-line):
+ * simple.el (current-word):
+ * mouse-drag.el (mouse-drag-should-do-col-scrolling):
+ * info.el (Info-find-node-in-buffer-1, Info-follow-reference)
+ (Info-scroll-down):
+ * hippie-exp.el (he-line-beg):
+ * epa.el (epa--marked-keys):
+ * dired-aux.el (dired-kill-line, dired-do-kill-lines)
+ (dired-update-file-line, dired-add-entry, dired-remove-entry)
+ (dired-relist-entry):
+ * buff-menu.el (Buffer-menu-buffer):
+ * array.el (current-line):
+ * allout.el (allout-resolve-xref)
+ (allout-latex-verbatim-quote-curr-line):
+ Replace yet more uses of end-of-line etc with line-end-position, etc.
+
+2010-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/checkdoc.el (checkdoc-display-status-buffer)
+ (checkdoc-interactive-loop, checkdoc-recursive-edit): Avoid princ-list.
+ (checkdoc-syntax-table): Initialize in the declaration.
+ (emacs-lisp-mode-hook): Use just checkdoc-minor-mode now that it turns
+ the mode on unconditionally.
+
+ * emacs-lisp/cl-macs.el (extent-data, extent-face, extent-priority)
+ (extent-end-position, extent-start-position): Remove setf method for
+ non-existing functions (bug#7319).
+
+2010-11-07 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el: Simplify the smie-rules-function return values.
+ (smie-precs->prec2): Rename from smie-precs-precedence-table.
+ (smie-bnf->prec2): Rename from smie-bnf-precedence-table.
+ (smie-prec2->grammar): Rename from smie-prec2-levels.
+ (smie-grammar): Rename from smie-op-levels.
+ (smie-indent--hanging-p): Rename from smie-hanging-p.
+ (smie-rule-hanging-p): New alias.
+ (smie-indent--bolp): Rename from smie-bolp.
+ (smie-indent--hanging-p): New alias.
+ (smie--token): New dynamically bound variable.
+ (smie-indent--parent): New function.
+ (smie-rule-parent-p): Use it; rename from smie-parent-p.
+ (smie-rule-next-p): Rename from smie-next-p.
+ (smie-rule-prev-p): Rename from smie-prev-p.
+ (smie-rule-sibling-p, smie-rule-parent)
+ (smie-indent--separator-outdent, smie-rule-separator): New functions.
+ (smie-rule-separator-outdent): New var.
+ (smie-indent--rule): Merge with smie-indent--column.
+ (smie-indent-forward-token, smie-indent-backward-token):
+ Also recognize close parens.
+ (smie-indent-keyword): Don't use smie-indent--column any more.
+ (smie-indent-after-keyword): Ignore closers by default.
+ (smie-indent-line): Use with-demoted-errors.
+ * progmodes/octave-mod.el (octave-smie-grammar):
+ Rename from octave-smie-op-levels.
+ (octave-smie-rules): Adjust to new behavior.
+ * progmodes/prolog.el (prolog-smie-grammar):
+ Rename from prolog-smie-op-levels.
+
+2010-11-07 Glenn Morris <rgm@gnu.org>
+
+ * eshell/esh-util.el (subst-char-in-string)
+ (directory-files-and-attributes): These compatibility definitions are
+ not needed on any version of Emacs since at least 21.4.
+
+ * progmodes/verilog-mode.el (verilog-get-beg-of-line)
+ (verilog-get-end-of-line): Remove.
+ (verilog-within-string, verilog-re-search-forward-substr)
+ (verilog-re-search-backward-substr, verilog-set-auto-endcomments)
+ (verilog-surelint-off, verilog-getopt-file, verilog-highlight-region):
+ Use point-at-bol, point-at-eol.
+ * progmodes/pascal.el (pascal-get-beg-of-line, pascal-get-end-of-line):
+ Remove.
+ (pascal-declaration-end, pascal-declaration-beg, pascal-within-string)
+ (electric-pascal-terminate-line, pascal-set-auto-comments)
+ (pascal-indent-paramlist, pascal-indent-declaration)
+ (pascal-get-lineup-indent, pascal-func-completion)
+ (pascal-get-completion-decl, pascal-var-completion, pascal-completion):
+ Use point-at-bol, point-at-eol.
+ * progmodes/flymake.el (flymake-line-beginning-position)
+ (flymake-line-end-position): Remove.
+ (flymake-highlight-line): Use point-at-bol, point-at-eol.
+ * eshell/esh-util.el (line-end-position, line-beginning-position):
+ Remove compat definitions.
+
+ * emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
+ Use end-of-line N.
+ (checkdoc-this-string-valid-engine, checkdoc-file-comments-engine):
+ Use line-end-position.
+
+ * emacs-lisp/chart.el (chart-zap-chars):
+ * play/decipher.el (decipher-set-map):
+ * progmodes/ada-mode.el (ada-get-current-indent)
+ (ada-search-ignore-string-comment, ada-tab-hard, ada-untab-hard):
+ * progmodes/ada-prj.el (ada-prj-load-from-file, ada-prj-display-help):
+ * progmodes/ada-xref.el (ada-initialize-runtime-library)
+ (ada-get-all-references):
+ * progmodes/cperl-mode.el (cperl-electric-paren)
+ (cperl-electric-rparen, cperl-electric-keyword, cperl-electric-else)
+ (cperl-linefeed, cperl-sniff-for-indent, cperl-to-comment-or-eol)
+ (cperl-find-pods-heres, cperl-indent-exp, cperl-fix-line-spacing)
+ (cperl-word-at-point-hard):
+ * progmodes/idlw-shell.el (idlwave-shell-move-or-history)
+ (idlwave-shell-filename-string, idlwave-shell-batch-command)
+ (idlwave-shell-display-line):
+ * progmodes/idlwave.el (idlwave-show-begin, idlwave-fill-paragraph)
+ (idlwave-calc-hanging-indent, idlwave-auto-fill, idlwave-template):
+ * progmodes/js.el (js--re-search-forward-inner)
+ (js--re-search-backward-inner):
+ * progmodes/vhdl-mode.el (vhdl-align-region-1, vhdl-align-region-2)
+ (vhdl-fix-clause, vhdl-compose-configuration-architecture):
+ * progmodes/ruby-mode.el (ruby-parse-partial, eval-when-compile):
+ * textmodes/flyspell.el (flyspell-process-localwords):
+ * textmodes/ispell.el (ispell-buffer-local-parsing)
+ (ispell-buffer-local-dict, ispell-buffer-local-words):
+ Use point-at-bol and point-at-eol.
+
+ * speedbar.el (speedbar-generic-item-info)
+ (speedbar-item-info-tag-helper, speedbar-change-expand-button-char)
+ (speedbar-add-indicator, speedbar-check-vc-this-line)
+ (speedbar-check-obj-this-line, speedbar-extract-one-symbol)
+ (speedbar-buffers-line-directory, speedbar-buffer-revert-buffer):
+ Replace more uses of end-of-line etc with line-end-position.
+
+2010-11-06 Glenn Morris <rgm@gnu.org>
+
+ * textmodes/texnfo-upd.el (texinfo-start-menu-description)
+ (texinfo-update-menu-region-beginning, texinfo-menu-first-node)
+ (texinfo-delete-existing-pointers, texinfo-find-pointer)
+ (texinfo-clean-up-node-line, texinfo-insert-node-lines)
+ (texinfo-multiple-files-update):
+ * textmodes/table.el (table--probe-cell-left-up)
+ (table--probe-cell-right-bottom):
+ * textmodes/picture.el (picture-tab-search):
+ * textmodes/page-ext.el (pages-copy-header-and-position)
+ (pages-directory-for-addresses):
+ * progmodes/vera-mode.el (vera-get-offset):
+ * progmodes/simula.el (simula-calculate-indent):
+ * progmodes/python.el (python-pdbtrack-overlay-arrow):
+ * progmodes/prolog.el (end-of-prolog-clause):
+ * progmodes/perl-mode.el (perl-calculate-indent, perl-indent-exp):
+ * progmodes/icon.el (indent-icon-exp):
+ * progmodes/etags.el (tag-re-match-p):
+ * progmodes/ebrowse.el (ebrowse-show-file-name-at-point):
+ * progmodes/ebnf2ps.el (ebnf-begin-file):
+ * progmodes/dcl-mode.el (dcl-back-to-indentation-1)
+ (dcl-save-local-variable):
+ * play/life.el (life-setup):
+ * play/gametree.el (gametree-looking-at-ply):
+ * nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
+ * mail/sendmail.el (mail-mode-auto-fill):
+ * emacs-lisp/lisp-mode.el (calculate-lisp-indent):
+ * emacs-lisp/edebug.el (edebug-overlay-arrow):
+ * emacs-lisp/checkdoc.el (checkdoc-this-string-valid):
+ * woman.el (woman-parse-numeric-value, woman2-TH, woman2-SH)
+ (woman-tab-to-tab-stop, WoMan-warn-ignored):
+ * type-break.el (type-break-file-keystroke-count):
+ * term.el (term-replace-by-expanded-history-before-point)
+ (term-skip-prompt, term-extract-string):
+ * speedbar.el (speedbar-edit-line, speedbar-expand-line)
+ (speedbar-contract-line, speedbar-toggle-line-expansion)
+ (speedbar-parse-c-or-c++tag, speedbar-parse-tex-string)
+ (speedbar-buffer-revert-buffer, speedbar-highlight-one-tag-line):
+ * sort.el (sort-skip-fields):
+ * skeleton.el (skeleton-internal-list):
+ * simple.el (line-move-finish, line-move-to-column):
+ * shell.el (shell-forward-command):
+ * misc.el (copy-from-above-command):
+ * makesum.el (double-column):
+ * ebuff-menu.el (electric-buffer-update-highlight):
+ * dired.el (dired-move-to-end-of-filename):
+ * dframe.el (dframe-popup-kludge):
+ * bookmark.el (bookmark-kill-line, bookmark-bmenu-show-filenames):
+ * arc-mode.el (archive-get-lineno):
+ Use line-end-position and line-beginning-position.
+
+ * progmodes/idlwave.el (idlwave-routine-entry-compare-twins):
+ (idlwave-study-twins): Prefix dynamic local `class'.
+ (idlwave-routine-twin-compare): Update for above name change.
+
+ * emacs-lisp/eieio-comp.el (byte-compile-file-form-defmethod):
+ Use boundp tests to silence compiler. Update for changed name of
+ bytecomp-filename variable.
+
+ * emulation/viper-cmd.el (viper-read-string-with-history):
+ Prefix dynamic local `initial'.
+ (viper-minibuffer-standard-hook): Update for above name change.
+
+ * emacs-lisp/elint.el (elint-init-env): Prefix dynamic local `env'.
+ (elint-init-form): Update for above name change.
+
+ * mail/mail-extr.el (mail-extract-address-components): Give dynamic
+ local variables `cbeg' and `cend' a prefix.
+ (mail-extr-voodoo): Update for above name change.
+
+ * textmodes/reftex-toc.el (reftex-toc-do-promote)
+ (reftex-toc-promote-prepare): Pass `delta' as an explicit argument.
+ (reftex-toc-promote-action): Doc fix.
+
+ * textmodes/reftex-sel.el (reftex-select-item): Give local variables
+ `prompt', `data' a prefix.
+ (reftex-select-post-command-hook, reftex-select-callback)
+ (reftex-select-mouse-accept, reftex-select-read-cite):
+ Update for above name changes.
+
+ * textmodes/reftex-ref.el (reftex-reference): Rename local variable
+ `refstyle' to reftex-refstyle.
+ (reftex-offer-label-menu): Update for above name change.
+ * textmodes/reftex-sel.el (reftex-select-toggle-varioref): Update for
+ `refstyle' name change.
+
+ * vc/emerge.el (emerge-eval-in-buffer): Remove, and replace all uses
+ with with-current-buffer.
+ (diff, template): Give dynamic local variables a prefix.
+ (emerge-line-numbers): Rename local `diff' to emerge-line-diff.
+ (emerge-line-number-in-buf): Update for above name change.
+ (emerge-combine-versions-internal): Rename local `template' to
+ emerge-combine-template.
+ (emerge-combine-versions-edit): Update for above name change.
+
+2010-11-06 Ralf Angeli <angeli@caeruleus.net>
+
+ * textmodes/reftex-cite.el
+ (reftex-extract-bib-entries-from-thebibliography): Match bibitem
+ entries with whitespace after \bibitem.
+ (reftex-create-bibtex-file): Match entries containing numbers and
+ symbol constituents. Make sure that entries with whitespace at
+ various places are found.
+
+2010-11-05 Christian Millour <cm@abtela.com> (tiny change)
+
+ * shell.el (shell-process-popd): Made aware of comint-file-name-prefix.
+
+2010-11-05 Jan Djärv <jan.h.d@swipnet.se>
+
+ * mouse.el (mouse-yank-primary): Update comment (Bug#6802).
+
+2010-11-05 Glenn Morris <rgm@gnu.org>
+
+ * woman.el (woman0-roff-buffer, woman1-roff-buffer)
+ (woman2-roff-buffer): Give local variable `request' a prefix.
+ (woman0-macro): Rename argument `request' in the same way.
+ (woman-request): New name for `request' dynamic variable.
+ (woman-unquote, woman-forward-arg): Update for above name change.
+ (woman1-roff-buffer): Give local variable `unquote' a prefix.
+ (woman1-unquote): New name for `unquote' dynamic variable.
+ (woman1-B-or-I, woman1-alt-fonts): Update for above name change.
+ (woman-translations): Rename from `translations'. No longer global.
+ (woman2-tr, woman-translate): Update for above name change.
+ (woman-translate): Check for bound variable.
+ (woman2-roff-buffer): Give local variable `translations' a prefix.
+
+ * play/doctor.el: Give all local variables a prefix. Update callers.
+ (doc$, doctor-put-meaning): Use backquote.
+
+ * emacs-lisp/cl-macs.el (loop): Give local variable args a prefix.
+ (cl-parse-loop-clause, cl-loop-handle-accum): Update for above change.
+
+ * emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Give local
+ variables bytes, ptr, op a prefix.
+ (disassemble-offset): Update for above change.
+
+2010-11-03 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/package.el (package-unpack): Remove no-op.
+ (package--builtins, package--dir): Doc fix.
+ (package-activate-1, package-activate, package-install)
+ (package-compute-transaction): Fix error message.
+ (package-delete): Use delete-directory. Omit system packages.
+ (package-initialize): Set package-alist to nil first.
+ (package-menu-mark-delete, package-menu-mark-install): Don't add
+ symbols that are inconsistent with the package state.
+ (package-menu-execute): Perform deletions and installations as
+ single batch operations.
+
+2010-11-03 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/idlwave.el (idlwave-pset): Only used on XEmacs.
+ (props): Remove unnecessary declaration.
+
+ * textmodes/ispell.el (ispell-init-process): On Emacs, always use
+ set-process-query-on-exit-flag.
+
+ * textmodes/reftex-toc.el (name1, dummy, dummy2): Remove unused decs.
+ (reftex-toc-do-promote): Remove unused local `mpos'.
+ (reftex-toc-restore-region): Make `mpos' local to this function.
+
+ * net/dbus.el (dbus-name-owner-changed-handler): Doc fix.
+
+ * play/landmark.el (lm-losing-threshold): Correct spelling.
+ (lm-human-plays): Use new name.
+
+ * play/gomoku.el (gomoku-loosing-threshold): Correct spelling.
+ (gomoku-human-plays): Use new name.
+
+ * play/gomoku.el (nil-score, Xscore, XXscore, XXXscore, XXXXscore)
+ (Oscore, OOscore, OOOscore, OOOOscore): Rename with gomoku- prefix.
+ (gomoku-score-trans-table, gomoku-winning-threshold)
+ (gomoku-loosing-threshold, gomoku-init-score-table): Use new names.
+
+2010-11-03 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/package.el: Don't put built-in packages in
+ package-alist, to avoid loading inefficiencies.
+ (package-built-in-p): Make VERSION optional, and treat it as a
+ minimum acceptable version.
+ (package-activate): Search separately for built-in packages.
+ Emit a warning if a dependency fails.
+ (define-package): Handle most common case, where there is no
+ obsolete package, first.
+ (package-compute-transaction): Print required version in error.
+ (package--initialized): New variable.
+ (list-packages): Use it.
+ (package-initialize): Optional arg NO-ACTIVATE. Don't put
+ built-in packages in packages-alist; keep it separate.
+ Set package--initialized.
+ (describe-package): Avoid activating packages as a side-effect.
+ Search separately for built-in packages.
+ (describe-package-1): Handle the case where an elpa package is
+ simultaneously built-in and available/installed.
+ (package-installed-p, package--generate-package-list):
+ Search separately for built-in packages.
+ (package-load-descriptor): Doc fix.
+
+2010-11-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/perl-mode.el (perl-syntax-propertize-function):
+ Handle __DATA__ and __END__.
+
+2010-11-02 Noah Friedman <friedman@splode.com>
+
+ * emacs-lisp/bytecomp.el (byte-recompile-file): If bytecomp-arg is
+ nil, do not ask to recompile files that are not already compiled,
+ and do not recompile them.
+
+2010-11-02 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/package.el (package-initialize): Ensure that
+ obsoleted built-in packages are not in package-activated-list
+ during activation.
+ (describe-package-1): Make the "installed" status override
+ "built-in".
+
+2010-11-01 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * subr.el (version-separator, version-regexp-alist): Remove '*'
+ from docstring.
+ (version-list-<=, version<=, version=): Doc fix.
+
+2010-11-01 Kenichi Handa <handa@m17n.org>
+
+ * faces.el (glyphless-char): Inherit underline for tty.
+
+2010-11-01 Kenichi Handa <handa@m17n.org>
+
+ Implement various display methods for glyphless characters.
+
+ * international/characters.el (char-acronym-table): New variable.
+ (glyphless-char-control): New variable.
+ (update-glyphless-char-display): New function.
+
+ * faces.el (glyphless-char): New face.
+
+2010-11-01 Glenn Morris <rgm@gnu.org>
+
+ * calendar/holidays.el (general-holidays, oriental-holidays)
+ (local-holidays, other-holidays, hebrew-holidays, christian-holidays)
+ (islamic-holidays, bahai-holidays, solar-holidays): Move aliases before
+ the definitions of their targets.
+
+ * emacs-lisp/smie.el (smie): New custom group.
+ (smie-blink-matching-inners, smie-indent-basic): Add :group.
+
+ * faces.el (xw-defined-colors, x-setup-function-keys):
+ * mouse-sel.el (x-select-text):
+ * term/w32console.el (x-setup-function-keys): Update declarations.
+
+ * progmodes/ruby-mode.el (ruby-syntax-propertize-heredoc): Declare.
+
+ * textmodes/ispell.el (comment-add): Declare.
+
+ * net/gnutls.el (gnutls-boot, gnutls-errorp, gnutls-error-string):
+ Declare.
+
+ * info.el (finder-keywords-hash, package-alist): Declare.
+
+2010-11-01 Chong Yidong <cyd@stupidchicken.com>
+
+ * finder.el (finder-compile-keywords): Don't use intern-soft,
+ since package names may not yet exist in the obarray.
+
+2010-11-01 Chong Yidong <cyd@stupidchicken.com>
+
+ * vc/vc-arch.el (vc-arch-checkin):
+ * vc/vc-cvs.el (vc-cvs-checkin):
+ * vc/vc-mtn.el (vc-mtn-checkin):
+ * vc/vc-rcs.el (vc-rcs-checkin):
+ * vc/vc-sccs.el (vc-sccs-checkin):
+ * vc/vc-svn.el (vc-svn-checkin): Remove optional extra arg, unused
+ since 2010-04-21 commit by Stefan Monnier.
+
+2010-11-01 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/bytecomp.el (byte-recompile-file): Fix previous change.
+
+ * startup.el (package-enable-at-startup, package-initialize):
+ Silence compiler.
+
+ * progmodes/ada-mode.el (ada-font-lock-syntactic-keywords):
+ Silence compiler.
+
+2010-10-31 Julien Danjou <julien@danjou.info>
+
+ * emacs-lisp/bytecomp.el (byte-recompile-file): New fun (bug#7297).
+ (byte-recompile-directory):
+ * emacs-lisp/lisp-mode.el (emacs-lisp-byte-compile-and-load):
+ Use `byte-recompile-file'.
+
+2010-10-31 Glenn Morris <rgm@gnu.org>
+
+ * cus-start.el: Handle standard values via a keyword.
+ Only set version property if specified.
+ (cursor-in-non-selected-windows, menu-bar-mode)
+ (tool-bar-mode, show-trailing-whitespace):
+ Do not specify standard values.
+ (transient-mark-mode, temporary-file-directory): Use :standard.
+
+2010-10-31 Jan Djärv <jan.h.d@swipnet.se>
+
+ * term/x-win.el (x-get-selection-value): New function that gets
+ PRIMARY with type as specified in x-select-request-type. (Bug#6802)
+
+2010-10-31 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-handle-insert-file-contents): For root,
+ preserve owner and group when editing files. (Bug#7289)
+
+2010-10-31 Glenn Morris <rgm@gnu.org>
+
+ * speedbar.el (speedbar-mode):
+ * play/fortune.el (fortune-in-buffer, fortune):
+ * play/gomoku.el (gomoku-mode):
+ * play/landmark.el (lm-mode):
+ * textmodes/bibtex.el (bibtex-validate, bibtex-validate-globally):
+ Replace inappropriate uses of toggle-read-only. (Bug#7292)
+
+ * select.el (x-selection): Mark it as an obsolete alias.
+
+2010-10-31 Aaron S. Hawley <aaron.s.hawley@gmail.com>
+
+ * vc/add-log.el (find-change-log): Use derived-mode-p rather than
+ major-mode (bug#7284).
+
+2010-10-31 Glenn Morris <rgm@gnu.org>
+
+ * menu-bar.el (menu-bar-files-menu): Make it into an actual alias,
+ rather than just an unused variable that inherits from the real one.
+
+2010-10-31 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-cmds.el (c-mask-paragraph): Fix an off-by-1 error.
+ This fixes bug #7185.
+
+2010-10-30 Chong Yidong <cyd@stupidchicken.com>
+
+ * startup.el (command-line): Search for package directories, and
+ don't load package.el if none are found.
+
+ * emacs-lisp/package.el (describe-package, list-packages):
+ Call package-initialize if it has not been called yet.
+
+2010-10-30 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-fonts.el (c-font-lock-enum-tail): New function
+ which fontifies the tail of an enum.
+ (c-basic-matchers-after): Insert a call to the above new function.
+ This fixes bug #7264.
+
+2010-10-30 Glenn Morris <rgm@gnu.org>
+
+ * cus-start.el: Add :set properties for minor modes menu-bar-mode,
+ tool-bar-mode, transient-mark-mode. (Bug#7306)
+ Include the :set property in the dumped Emacs.
+
+2010-10-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ SMIE: change indent rules format, improve smie-setup.
+ * emacs-lisp/smie.el (smie-precs-precedence-table)
+ (smie-merge-prec2s, smie-bnf-precedence-table, smie-prec2-levels):
+ Mark them pure so the tables gets built at compile time.
+ (smie-bnf-precedence-table): Store the closer-alist in the table.
+ (smie-prec2-levels): Preserve the closer-alist.
+ (smie-blink-matching-open): Be more forgiving in case of indentation.
+ (smie-hanging-p): Rename from smie-indent--hanging-p.
+ (smie-bolp): Rename from smie-indent--bolp.
+ (smie--parent, smie--after): New dynamic vars.
+ (smie-parent-p, smie-next-p, smie-prev-p): New funs.
+ (smie-indent-rules): Remove.
+ (smie-indent--offset-rule): Remove fun.
+ (smie-rules-function): New var.
+ (smie-indent--rule): New fun.
+ (smie-indent--offset, smie-indent-keyword, smie-indent-after-keyword)
+ (smie-indent-exps): Use it.
+ (smie-setup): Setup paren blinking; add keyword args for token
+ functions; extract closer-alist from op-levels.
+ (smie-indent-debug-log): Remove var.
+ (smie-indent-debug): Remove fun.
+ * progmodes/prolog.el (prolog-smie-indent-rules): Remove.
+ (prolog-smie-rules): New fun to replace it.
+ (prolog-mode-variables): Simplify.
+ * progmodes/octave-mod.el (octave-smie-closer-alist): Remove, now that
+ it's setup automatically.
+ (octave-smie-indent-rules): Remove.
+ (octave-smie-rules): New fun to replace it.
+ (octave-mode): Simplify.
+
+2010-10-29 Glenn Morris <rgm@gnu.org>
+
+ * files.el (temporary-file-directory): Remove (already defined in C).
+ * cus-start.el: Add temporary-file-directory.
+
+ * abbrev.el (abbrev-mode):
+ * composite.el (auto-composition-mode):
+ * menu-bar.el (menu-bar-mode):
+ * simple.el (transient-mark-mode):
+ * tool-bar.el (tool-bar-mode): Adjust the define-minor-mode calls so
+ that they do not define the associated variables twice.
+ * simple.el (transient-mark-mode): Remove defvar.
+ * composite.el (auto-composition-mode): Make variable auto-buffer-local.
+ * cus-start.el: Add transient-mark-mode, menu-bar-mode, tool-bar-mode.
+ Handle multiple groups, and also custom-delayed-init-variables.
+ * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix.
+
+2010-10-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/pcase.el (pcase): New `string' and `guard' patterns.
+ (pcase-if): Add one minor optimization.
+ (pcase-split-equal): Rename from pcase-split-eq.
+ (pcase-split-member): Rename from pcase-split-memq.
+ (pcase-u1): Add strings to the member optimization.
+ Add `guard' variant of predicates.
+ (pcase-q1): Add string patterns.
+
+2010-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc/log-edit.el (log-edit-rewrite-fixes): State its safety pred.
+
+2010-10-28 Glenn Morris <rgm@gnu.org>
+
+ * term/ns-win.el (global-map, menu-bar-final-items, menu-bar-help-menu):
+ Move menu-bar related settings to ../menu-bar.el.
+ * menu-bar.el (global-map, menu-bar-final-items, menu-bar-help-menu):
+ Move ns-specific settings here from term/ns-win.el.
+
+ * simple.el (x-selection-owner-p): Remove unused declaration.
+
+2010-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion-cycling): New var (bug#7266).
+ (minibuffer-complete, completion--do-completion):
+ Use completion--flush-all-sorted-completions.
+ (minibuffer-complete): Only cycle if completion-cycling is set.
+ (completion--flush-all-sorted-completions): Unset completion-cycling.
+ (minibuffer-force-complete): Set completion-cycling.
+ (completion-all-sorted-completions): Move declaration before first use.
+
+2010-10-28 Leo <sdl.web@gmail.com>
+
+ * iswitchb.el (iswitchb-kill-buffer): Avoid `iswitchb-make-buflist'
+ which changes the order of matches seen by users (bug#7231).
+
+2010-10-28 Jes Bodi Klinke <jes@bodi-klinke.dk> (tiny change)
+
+ * progmodes/compile.el (compilation-mode-font-lock-keywords):
+ Don't confuse -omega as "-o mega".
+
+2010-10-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc/log-edit.el (log-edit-rewrite-fixes): New var.
+ (log-edit-author): New dynamic var.
+ (log-edit-changelog-ours-p, log-edit-insert-changelog-entries): Use it
+ to return the author if different from committer.
+ (log-edit-insert-changelog): Use them to add Author: and Fixes headers.
+
+ * play/landmark.el: Adjust commenting convention.
+ (lm-nil-score): Rename from nil-score.
+ (Xscore, XXscore, XXXscore, XXXXscore, Oscore, OOscore, OOOscore)
+ (OOOOscore): Move into a let in lm-score-trans-table.
+ (lm-winning-threshold, lm-loosing-threshold): Use lm-score-trans-table.
+
+ * electric.el (electric-indent-chars): Autoload.
+ * progmodes/octave-mod.el (octave-mode):
+ * progmodes/ruby-mode.el (ruby-mode): Take advantage of it.
+ (ruby-mode-abbrev-table): Merge initialization and declaration.
+
+2010-10-27 Glenn Morris <rgm@gnu.org>
+
+ * abbrev.el (abbrev-mode): Remove one of the three definitions of this
+ variable.
+
+ * server.el (server-host, server-port, server-auth-dir): Autoload risky.
+
+ * term/ns-win.el: Restore require of cl when compiling.
+ (menu-bar-final-items): Remove non-existent `windows' menu.
+ (ns-handle-nxopen): Optionally handle the temp-case.
+ (ns-handle-nxopentemp): Just call ns-handle-nxopen.
+ (ns-insert-file, ns-find-file): Use `pop'.
+
+2010-10-26 Glenn Morris <rgm@gnu.org>
+
+ * term/common-win.el (xw-defined-colors): Simplify the 'ns case.
+
+2010-10-26 Adrian Robert <Adrian.B.Robert@gmail.com>
+
+ * term/ns-win.el (ns-new-frame, ns-show-prefs): Don't add to
+ global map.
+ * term/common-win.el (x-setup-function-keys): Remove most of the
+ keymappings. Comment on the remaining ones.
+
+2010-10-26 Peter Oliver <p.d.oliver@mavit.org.uk> (tiny change)
+
+ * server.el (server-port): New option. (Bug#854)
+ (server-start): Use server-port.
+
+2010-10-26 Glenn Morris <rgm@gnu.org>
+
+ * term/ns-win.el (ns-version-string): Remove unused declaration.
+ (ns-invocation-args): Change to x-invocation-args.
+ (ns-handle-switch, ns-handle-numeric-switch, ns-handle-iconic)
+ (ns-handle-name-switch, ns-ignore-2-arg): Remove.
+ (ns-handle-nxopen, ns-handle-nxopentemp, ns-ignore-1-arg):
+ Use x-invocation-args instead of ns-invocation-args.
+ (ns-initialize-window-system, handle-args-function-alist):
+ Use x-handle-args instead of ns-handle-args.
+ * term/common-win.el (x-handle-args): Also handle nextstep arguments.
+ * startup.el (command-line-ns-option-alist): Replace
+ ns-handle-name-switch, ns-handle-switch, ns-handle-numeric-switch,
+ ns-handle-iconic with the x- equivalents.
+
+ * term/common-win.el (x-select-enable-clipboard):
+ * term/pc-win.el (x-select-enable-clipboard): Doc fix.
+
+ * term/ns-win.el: No need to require cl when compiling.
+ (x-display-name, x-setup-function-keys, x-select-text, x-colors)
+ (xw-defined-colors): Use the common-win definitions.
+ (ns-alternatives-map): Make it an obsolete alias for x-alternatives-map.
+ (ns-handle-iconic): Make it an alias for x-handle-iconic.
+ * term/common-win.el (x-select-text, x-alternatives-map)
+ (x-setup-function-keys, x-colors, xw-defined-colors): Handle 'ns case.
+ * loadup.el [ns]: Load common-win.
+
+2010-10-26 Daiki Ueno <ueno@unixuser.org>
+
+ * epa-mail.el (epa-mail-encrypt): Handle local-part only
+ recipients; expand mail aliases (Bug#7280).
+
+2010-10-25 Glenn Morris <rgm@gnu.org>
+
+ * term/common-win.el (x-handle-switch): Simplify with pop.
+ Optionally handle numeric switches.
+ (x-handle-numeric-switch): Just call x-handle-switch.
+ (x-handle-initial-switch, x-handle-xrm-switch, x-handle-geometry)
+ (x-handle-name-switch, x-handle-display, x-handle-args):
+ Simplify with pop.
+
+ * term/ns-win.el: Do not require easymenu.
+ (menu-bar-edit-menu) <copy, paste, paste-from-menu, separator-undo>:
+ <spell>: Move adjustments to menu-bar.el.
+ * menu-bar.el (menu-bar-edit-menu) <copy, paste, paste-from-menu>:
+ <separator-undo, spell>: Move ns-win's adjustments here.
+ * loadup.el [ns]: Do not load easymenu.
+
+2010-10-24 Chong Yidong <cyd@stupidchicken.com>
+
+ * image.el (image-checkbox-checked, image-checkbox-unchecked):
+ Delete (Bug#7222).
+
+ * startup.el (fancy-startup-tail): Instead of using inline images,
+ refer to image files from etc/.
+
+ * wid-edit.el (checkbox): Likewise.
+ (widget-image-find): Center image specs.
+
+2010-10-24 Glenn Morris <rgm@gnu.org>
+
+ * term/ns-win.el (x-select-text): Doc fix.
+ * w32-fns.el (x-alternatives-map, x-setup-function-keys)
+ (x-select-text): Move to term/common-win.
+ * term/w32-win.el (xw-defined-colors): Move to common-win.
+ * term/x-win.el (xw-defined-colors, x-alternatives-map)
+ (x-setup-function-keys, x-select-text): Move to common-win.
+ * term/common-win.el (x-select-text, x-alternatives-map)
+ (x-setup-function-keys, xw-defined-colors): Merge x- and w32-
+ definitions here.
+
+2010-10-24 T.V. Raman <tv.raman.tv@gmail.com> (tiny change)
+
+ * net/mairix.el (mairix-searches-mode-map):
+ * mail/mspools.el (mspools-mode-map): Fix 2010-10-10 change.
+
+2010-10-24 Michael McNamara <mac@mail.brushroad.com>
+
+ * progmodes/verilog-mode.el (verilog-directive-re): Make this variable
+ auto-built for efficiency of execution and updating.
+ (verilog-extended-complete-re): Support 'pure' fucntion & task
+ declarations (these have no bodies).
+ (verilog-beg-of-statement): General cleanup to enable support of
+ 'pure' fucntion & task declarations (these have no bodies).
+ These efforts together fix Verilog bug210 from veripool; which was also
+ noticed by Steve Pearlmutter.
+ (verilog-directive-re, verilog-directive-begin, verilog-indent-re)
+ (verilog-directive-nest-re, verilog-set-auto-endcomments):
+ Support `elsif. Reported by Shankar Giri.
+ (verilog-forward-ws&directives, verilog-in-attribute-p): Fixes for
+ attribute handling for lining up declarations and assignments.
+ (verilog-beg-of-statement-1): Fix issue where continued declaration
+ is indented differently if it is after a begin..end clock.
+ (verilog-in-attribute-p, verilog-skip-backward-comments)
+ (verilog-skip-forward-comment-p): Support proper treatment of
+ attributes by indent code. Reported by Jeff Steele.
+ (verilog-in-directive-p): Fix comment to correctly describe function.
+ (verilog-backward-up-list, verilog-in-struct-region-p)
+ (verilog-backward-token, verilog-in-struct-p)
+ (verilog-in-coverage-p, verilog-do-indent)
+ (verilog-pretty-declarations): Use verilog-backward-up-list as
+ wrapper around backward-up-list inorder to properly skip comments.
+ Reported by David Rogoff.
+ (verilog-property-re, verilog-endcomment-reason-re)
+ (verilog-beg-of-statement, verilog-set-auto-endcomments)
+ (verilog-calc-1 ): Fix for assert a; else b; indentation (new form
+ of if). Reported by Max Bjurling and
+ (verilog-calc-1): Fix for clocking block in modport
+ declaration. Reported by Brian Hunter.
+
+2010-10-24 Wilson Snyder <wsnyder@wsnyder.org>
+
+ * progmodes/verilog-mode.el (verilog-auto-inst, verilog-gate-ios)
+ (verilog-gate-keywords, verilog-read-sub-decls)
+ (verilog-read-sub-decls-gate, verilog-read-sub-decls-gate-ios)
+ (verilog-read-sub-decls-line, verilog-read-sub-decls-sig): Support
+ AUTOINST for gate primitives, bug284. Reported by Mark Johnson.
+ (verilog-read-decls): Fix spaces in V2K module parameters causing
+ mis-identification as interfaces, bug287.
+ (verilog-read-decls): Fix not treating "parameter string" as a
+ parameter in AUTOINSTPARAM.
+ (verilog-read-always-signals-recurse, verilog-read-decls): Fix not
+ treating `elsif similar to `endif inside AUTOSENSE.
+ (verilog-do-indent): Implement correct automatic or static task or
+ function end comment highlight. Reported by Steve Pearlmutter.
+ (verilog-font-lock-keywords-2): Fix highlighting of single
+ character pins, bug264. Reported by Michael Laajanen.
+ (verilog-auto-inst, verilog-read-decls, verilog-read-sub-decls)
+ (verilog-read-sub-decls-in-interfaced, verilog-read-sub-decls-sig)
+ (verilog-subdecls-get-interfaced, verilog-subdecls-new):
+ Support interfaces with AUTOINST, bug270. Reported by Luis Gutierrez.
+ (verilog-pretty-expr): Fix interactive arguments, bug272.
+ Reported by Mark Johnson.
+ (verilog-auto-tieoff, verilog-auto-tieoff-ignore-regexp):
+ Add 'verilog-auto-tieoff-ignore-regexp' for AUTOTIEOFF,
+ bug269. Suggested by Gary Delp.
+ (verilog-mode-map, verilog-preprocess, verilog-preprocess-history)
+ (verilog-preprocessor, verilog-set-compile-command):
+ Create verilog-preprocess and verilog-preprocessor to show
+ preprocessed output.
+ (verilog-get-beg-of-line, verilog-get-end-of-line)
+ (verilog-modi-file-or-buffer, verilog-modi-name)
+ (verilog-modi-point, verilog-within-string): Move defmacro's
+ before first use to avoid warning. Reported by Steve Pearlmutter.
+ (verilog-colorize-buffer, verilog-colorize-include-files-buffer)
+ (verilog-colorize-region, verilog-highlight-buffer)
+ (verilog-highlight-includes, verilog-highlight-modules)
+ (verilog-highlight-region, verilog-mode): Rename colorize to
+ highlight to match other packages. Disable module highlighting,
+ as received speed complaints, reenable for experimentation only
+ using new verilog-highlight-modules.
+ (verilog-read-decls): Fix regexp stack overflow in very large
+ AUTO_TEMPLATEs, bug250.
+ (verilog-auto, verilog-delete-auto, verilog-save-buffer-state)
+ (verilog-scan): Create verilog-save-buffer-state to standardize
+ making insignificant changes that shouldn't call hooks.
+ (verilog-save-no-change-functions, verilog-save-scan-cache)
+ (verilog-scan, verilog-scan-cache-ok-p, verilog-scan-region):
+ Create verilog-save-no-change-functions to wrap verilog-scan
+ preservation, and fix to work with nested preserved calls.
+ (verilog-auto-inst, verilog-auto-inst-dot-name): Support .name
+ port syntax for AUTOWIRE, and with new verilog-auto-inst-dot-name
+ generate .name with AUTOINST, bug245. Suggested by David Rogoff.
+ (verilog-submit-bug-report): Update variable list to be complete.
+ (verilog-auto, verilog-colorize-region): Fix AUTO expansion
+ breaking on-the-fly font-locking.
+ (verilog-colorize-buffer, verilog-colorize-include-files)
+ (verilog-colorize-include-files-buffer, verilog-colorize-region)
+ (verilog-load-file-at-mouse, verilog-load-file-at-point)
+ (verilog-mode, verilog-read-inst-module-matcher): With point on a
+ AUTOINST cell instance name, middle mouse button now finds-file on
+ it. Suggested by Brad Dobbie.
+ (verilog-alw-get-temps, verilog-auto-reset)
+ (verilog-auto-sense-sigs, verilog-read-always-signals)
+ (verilog-read-always-signals-recurse): Fix loop indexes being
+ AUTORESET. AUTORESET now assumes any variables in the
+ initialization section of a for() should be ignored.
+ Reported by Dan Dever.
+ (verilog-error-font-lock-keywords)
+ (verilog-error-regexp-emacs-alist)
+ (verilog-error-regexp-xemacs-alist): Fix error detection of
+ Cadence HAL, reported by David Asher. Repair drift between the
+ three similar error variables.
+ (verilog-modi-lookup, verilog-modi-lookup-cache)
+ (verilog-modi-lookup-last-current, verilog-modi-lookup-last-mod)
+ (verilog-modi-lookup-last-modi, verilog-modi-lookup-last-tick):
+ Fix slow verilog-auto expansion on very large files.
+ (verilog-read-sub-decls-expr, verilog-read-sub-decls-line):
+ Fix AUTOOUTPUT treating "1*2" as a signal name in submodule connection
+ "{1*2{...". Broke in last revision.
+ (verilog-read-sub-decls-expr): Fix AUTOOUTPUT not detecting
+ submodule connections with replications "{#{a},#{b}}".
+
+2010-10-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * progmodes/dcl-mode.el (dcl-electric-reindent-regexps):
+ Fix typo in docstring.
+
+2010-10-24 Kenichi Handa <handa@m17n.org>
+
+ * face-remap.el (text-scale-adjust): Call read-event with a proper
+ prompt.
+
+2010-10-24 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/unsafep.el: Don't mark functions that display
+ messages as safe. Suggested by Johan Bockgård.
+
+2010-10-24 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/regexp-opt.el (regexp-opt-group, regexp-opt-charset):
+ Turn comments into docstrings.
+
+ * minibuffer.el (completion--replace): Move point where it belongs
+ when there's a common suffix (bug#7215).
+
+2010-10-24 Chong Yidong <cyd@stupidchicken.com>
+
+ Merge read-color and facemenu-read-color (Bug#7242).
+
+ * faces.el (read-color): Use the completion code from
+ facemenu-read-color. Require match in completion. Doc fix.
+
+ * facemenu.el (facemenu-read-color): Alias for read-color.
+ (facemenu-set-foreground, facemenu-set-background):
+ Use read-color.
+
+ * frame.el (set-background-color, set-foreground-color)
+ (set-cursor-color, set-mouse-color, set-border-color):
+ Use read-color.
+
+2010-10-24 Leo <sdl.web@gmail.com>
+
+ * eshell/em-unix.el (eshell-remove-entries): Use the TRASH
+ argument of delete-file and delete-directory (Bug#7011).
+
+2010-10-24 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/package.el (package-menu-mode-map): Inherit from
+ button-buffer-map.
+
+2010-10-24 Ralf Angeli <angeli@caeruleus.net>
+
+ * emacs-lisp/package.el (package--generate-package-list): Make the
+ *Packages* buffer read-only.
+
+2010-10-24 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-fonts.el (c-font-lock-declarations): Cache the
+ result of `c-beginning-of-decl-1' between invocations of a lambda
+ function (Bug #7265).
+
+2010-10-24 Daiki Ueno <ueno@unixuser.org>
+
+ * epg-config.el (epg-gpg-program): Try to use "gpg2" if "gpg"
+ executable is not available on the system (Bug#7268).
+
+2010-10-24 Glenn Morris <rgm@gnu.org>
+
+ * select.el (selection-coding-system, next-selection-coding-system):
+ Sync doc with C versions.
+
+ * w32-vars.el (x-select-enable-clipboard):
+ * term/x-win.el (x-select-enable-clipboard): Move to common-win.
+ * term/common-win.el (x-select-enable-clipboard): Move here.
+
+ * term/tty-colors.el (tty-defined-color-alist): Remove duplicate
+ definition of C variable.
+
+ * frame.el (show-trailing-whitespace, auto-hscroll-mode)
+ (display-hourglass, hourglass-delay, cursor-in-non-selected-windows):
+ Don't redefine things that are defined in C.
+ * cus-start.el: Also handle :risky, :safe, :set, and :tag.
+ (show-trailing-whitespace, auto-hscroll-mode)
+ (display-hourglass, hourglass-delay, cursor-in-non-selected-windows):
+ Set up the appropriate custom properties.
+
+2010-10-24 Chong Yidong <cyd@stupidchicken.com>
+
+ Bind "C-c ]" to ...
+ * progmodes/f90.el (f90-mode-map): ... f90-insert-end.
+ * nxml/nxml-mode.el (nxml-mode-map): ... nxml-finish-element.
+ * textmodes/tex-mode.el (tex-mode-map): ... latex-close-block.
+ * textmodes/sgml-mode.el (sgml-mode-map): ... sgml-close-tag.
+
+2010-10-23 Glenn Morris <rgm@gnu.org>
+
+ * textmodes/flyspell.el (flyspell-mode): If there was an error,
+ say what it was.
+
+ * frame.el (auto-hscroll-mode, cursor-in-non-selected-windows):
+ Sync docs with C version.
+
+ * term/ns-win.el (xw-defined-colors):
+ * term/x-win.el (xw-defined-colors): Make docs identical to w32-win.
+
+ * term/pc-win.el (x-select-enable-clipboard):
+ * term/x-win.el (x-select-enable-clipboard):
+ * w32-vars.el (x-select-enable-clipboard): Make doc-strings identical.
+
+ * comint.el (comint-password-prompt-regexp): Make it less vague.
+ Bump version.
+
+ * help-fns.el (doc-file-to-man, doc-file-to-info): New commands.
+
+ * help.el (finder-by-keyword): Remove unnecessary autoload.
+
+2010-10-22 Glenn Morris <rgm@gnu.org>
+
+ * loadup.el: Unconditionally load float-sup.
+ * paren.el (show-paren-delay):
+ * emacs-lisp/float-sup.el:
+ * emulation/cua-base.el (cua-prefix-override-inhibit-delay):
+ * obsolete/lazy-lock.el (lazy-lock-defer-time, lazy-lock-stealth-nice)
+ (lazy-lock-stealth-verbose): Assume float support.
+ * ps-print.el: Assume float support on Emacs.
+ * emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
+ Remove non-float branch.
+
+ * emacs-lisp/autoload.el (batch-update-autoloads): Update for
+ src/Makefile no longer being pre-processed.
+
+2010-10-22 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/find-func.el (find-library): Use test-completion.
+
+2010-10-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * newcomment.el (comment-dwim): Fix the intentation in the doc string.
+
+2010-10-21 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-do-file-attributes-with-stat): Do not use
+ space in stat format string.
+ (tramp-send-command): Unset $PS1 when using here documents, in
+ order not to get several prompts.
+ (tramp-get-inline-coding): Return `nil' in case of errors.
+
+2010-10-21 Daiki Ueno <ueno@unixuser.org>
+
+ * hexl.el (hexl-mode, hexl-mode-exit):
+ Tweak revert-buffer-function to inhibit auto-mode-alist (Bug#7252).
+ (hexl-revert-buffer-function): New function.
+ (hexl-before-revert-hook, hexl-after-revert-hook): Abolish.
+
+2010-10-19 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-langs.el (c-type-decl-prefix-key): C++ bit:
+ Move "\(const\|throw\|volatile\)\>" nearer the start of the regexp, so
+ that these keywords aren't wrongly matched as identifiers.
+
+ * progmodes/cc-mode.el (c-before-change, c-after-change): Move the
+ setting of c-new-BEG and c-new-END from c-before-change to
+ c-after-change. (Bug#7181)
+
+2010-10-19 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-face.el (custom-theme-set-faces): Revert 2010-10-18 change.
+ Don't mark as safe.
+
+ * custom.el (custom-theme-set-variables): Likewise.
+ (load-theme): Add custom-theme-set-faces and
+ custom-theme-set-variables to safe-functions while loading.
+ (custom-enabled-themes): Mark as risky.
+
+2010-10-18 Julien Danjou <julien@danjou.info>
+
+ * bindings.el: Remove end dashes in default mode-line-format.
+
+2010-10-19 Chong Yidong <cyd@stupidchicken.com>
+
+ * bindings.el (global-map): Bind C-d to delete-char and deletechar
+ to delete-forward-char.
+
+ * simple.el (normal-erase-is-backspace-mode): Remap delete to
+ deletechar, and hence delete-forward-char.
+
+2010-10-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * repeat.el (repeat): Use read-key (bug#6256).
+
+2010-10-19 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/unsafep.el: Don't mark functions that display
+ messages as safe. Suggested by Johan Bockgård.
+
+2010-10-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion--replace): Move point where it belongs
+ when there's a common suffix (bug#7215).
+
+2010-10-19 Kenichi Handa <handa@m17n.org>
+
+ * international/characters.el: Add category '|' (word breakable)
+ to fullwidth characters.
+
+2010-10-19 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-do-file-attributes-with-stat)
+ (tramp-do-directory-files-and-attributes-with-stat): Use "e0" in
+ order to make stat results a float. Patch by Andreas Schwab
+ <schwab@linux-m68k.org>.
+
+2010-10-18 Julien Danjou <julien@danjou.info>
+
+ * avoid.el (mouse-avoidance-ignore-p): Ignore mouse when it is
+ hidden by `make-pointer-invisible'.
+
+2010-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * files.el (locate-file-completion-table): Strip non-matching elements
+ before checking length of list (bug#7238).
+
+2010-10-18 Chong Yidong <cyd@stupidchicken.com>
+
+ * custom.el (custom-theme-set-variables): Mark as a safe function.
+ (load-theme): Check forms using unsafep.
+
+ * cus-face.el (custom-theme-set-faces): Mark as a safe function.
+
+2010-10-17 Agustín Martín <agustin.martin@hispalinux.es>
+
+ * textmodes/ispell.el (ispell-aspell-find-dictionary):
+ Fix aspell data file searching (bug#7230).
+
+2010-10-16 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-theme.el (custom-theme--migrate-settings): New var.
+ (customize-create-theme): Allow editing the `user' theme.
+ (custom-theme-add-variable, custom-theme-add-var-1)
+ (custom-theme-add-face, custom-theme-add-face-1): Add a checkbox
+ to the front of each variable or face widget.
+ (custom-theme-write): Save theme settings in the correct order.
+ Optionally, remove saved settings from user customizations.
+ (custom-theme-write-variables, custom-theme-write-faces):
+ Save only the checked widgets.
+ (customize-themes): Add a link for migrating custom settings.
+
+ * custom.el (custom-declare-theme, provide-theme):
+ Use custom-theme-name-valid-p.
+ (custom-theme-name-valid-p): Remove checks that are now
+ unnecessary since themes no longer obey load-path.
+
+ * cus-edit.el (custom-variable-value-create): For the simple
+ style, hide documentation string when hidden.
+
+2010-10-16 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-edit.el (custom-variable, custom-face): Combine the
+ :inhibit-magic and :display-style properties into a single
+ :custom-style property.
+ (custom-toggle-hide-variable, custom-toggle-hide-face):
+ New functions. If hiding an edited value, save it to :shown-value.
+ (custom-variable-value-create, custom-face-value-create): Use them.
+ (custom-magic-reset): Allow magic property to be unset.
+
+ * custom.el: Custom themes no longer use load-path.
+ (custom-theme-load-path): New option. Change built-in theme
+ directory to etc/.
+ (custom-enabled-themes): Add custom-theme-load-path dependency.
+ (custom-theme--load-path): New function.
+ (load-theme, custom-available-themes): Use it.
+
+ * cus-theme.el (describe-theme-1): Use custom-theme--load-path.
+ (customize-themes): Link to custom-theme-load-path variable.
+ (custom-theme-add-var-1, custom-theme-add-face-1): Use the
+ :custom-style property.
+
+ * themes/*.el: Moved to etc/.
+
+2010-10-16 Ralf Angeli <angeli@caeruleus.net>
+
+ * textmodes/reftex-cite.el
+ (reftex-extract-bib-entries-from-thebibliography): Do not move
+ point when searching for \bibitem entries. Match entries with
+ spaces or tabs in front of arguments.
+
+2010-10-16 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-theme.el (customize-create-theme): Delete overlays after
+ erasing. If given a THEME arg, display only the faces of that arg
+ instead of custom-theme--listed-faces.
+ (custom-theme-variable-menu, custom-theme-variable-action)
+ (custom-variable-reset-theme, custom-theme-delete-variable): Delete.
+ (custom-theme-add-variable, custom-theme-add-face): Apply value
+ from the theme settings, instead of the current value.
+ (custom-theme-add-var-1, custom-theme-add-face-1): New functions.
+ (custom-theme-visit-theme): Allow calling outside theme buffers.
+ (custom-theme-merge-theme): Don't enable the theme when merging.
+ (custom-theme-write-variables, custom-theme-write-faces): Use the
+ :shown-value properties to save buffer values, not global ones.
+ (customize-themes): Display a warning about user customizations.
+
+ * cus-edit.el (custom-variable-value-create)
+ (custom-face-value-create): Obey new special properties
+ :shown-value and :inhibit-magic.
+
+2010-10-15 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
+ Suppress expansion of tabs to spaces. Reported by Dale Sedivec
+ <dale@codefu.org>.
+
+2010-10-14 Kenichi Handa <handa@m17n.org>
+
+ * mail/rmail.el (rmail-show-message-1): Catch an error of
+ base64-decode-region and just show an error message (bug#7165).
+
+ * ps-mule.el (ps-mule-font-spec-list): Delete it. Not used anymore.
+ (ps-mule-begin-job): Fix for the case that only ENCODING is set in
+ a font-spec (bug#7197).
+
+2010-10-14 Glenn Morris <rgm@gnu.org>
+
+ * mail/emacsbug.el (report-emacs-bug): Mention debbugs.gnu.org.
+
+2010-10-14 Juanma Barranquero <lekktu@gmail.com>
+
+ * international/mule.el (define-coding-system):
+ * international/titdic-cnv.el (quail-cxterm-package-ext-info):
+ * composite.el (compose-region): Fix typo in docstring.
+
+2010-10-14 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-face.el (custom-theme-set-faces): Call custom-push-theme
+ only after checking the theme-face property.
+
+ * faces.el (face-spec-reset-face): Reset all attributes in one
+ single call to set-face-attribute.
+ (face-spec-match-p): Make it a defsubst.
+ (frame-set-background-mode): New arg KEEP-FACE-SPECS.
+ (x-create-frame-with-faces, tty-create-frame-with-faces)
+ (tty-set-up-initial-frame-faces): Don't recompute face specs in
+ frame-set-background-mode, since they are recomputed immediately
+ afterwards in face-set-after-frame-default.
+ (face-set-after-frame-default): Minor optimization.
+ (cursor): Provide non-trivial defface spec.
+
+ * custom.el (custom-theme-recalc-face): Simplify.
+
+2010-10-14 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc-alg.el (math-var): Rename from `var'.
+ (math-is-polynomial, math-is-poly-rec): Replace `var'
+ with `math-var'.
+
+ * calc/calcalg2.el (math-var): Rename from `var'.
+ (calcFunc-table, math-scan-for-limits): Replace `var'
+ with `math-var'.
+
+2010-10-13 Glenn Morris <rgm@gnu.org>
+
+ * subr.el (last): Deal with dotted lists (reported in bug#7174).
+
+2010-10-13 Stephen Berman <stephen.berman@gmx.net>
+
+ * subr.el (last): Use `safe-length' instead of `length' (bug#7206).
+
+2010-10-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/tls.el (tls-program): Remove spurious %s from openssl.
+ (tls-starttls-switches): Remove starttls hack.
+ (open-tls-stream): Ditto.
+ (tls-find-starttls-argument): Ditto.
+
+2010-10-13 Juanma Barranquero <lekktu@gmail.com>
+
+ * image.el (image-library-alist): Declare as obsolete alias.
+ (image-type-available-p): Use `dynamic-library-alist'.
+
+ * term/w32-win.el (dynamic-library-alist):
+ Use instead of `image-library-alist'.
+
+2010-10-13 IRIE Shinsuke <irieshinsuke@yahoo.co.jp> (tiny change)
+
+ * subr.el (last): Make it faster. (Bug#7174)
+
+2010-10-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> (tiny change)
+
+ * Makefile.in (compile-clean): Use `` instead of $(). (Bug#7178)
+
+2010-10-12 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-theme.el (custom-theme--listed-faces): Add cursor face.
+ (describe-theme-1): Extract doc from unloaded themes.
+
+ * custom.el (custom-theme-name-valid-p): Don't list color-themes.
+
+ * themes/tango-theme.el:
+ * themes/tango-dark-theme.el:
+ * themes/wheatgrass-theme.el: New files.
+
+2010-10-12 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-theme.el (describe-theme, customize-themes)
+ (custom-theme-save): New commands.
+ (custom-new-theme-mode-map): Bind C-x C-s.
+ (custom-new-theme-mode): Use custom--initialize-widget-variables.
+ (customize-create-theme): New optional arg THEME.
+ (custom-theme-revert): Use it.
+ (custom-theme-visit-theme): Remove dead code.
+ (custom-theme-merge-theme): Use custom-available-themes.
+ (custom-theme-write): Make interactive.
+ (custom-theme-write): Use custom-theme-name-valid-p.
+ (describe-theme-1, custom-theme-choose-revert)
+ (custom-theme-checkbox-toggle, custom-theme-selections-toggle):
+ New funs.
+ (custom-theme-allow-multiple-selections): New option.
+ (custom-theme-choose-mode): New major mode.
+
+ * custom.el (custom-theme-set-variables): Remove dead code.
+ Obey custom--inhibit-theme-enable.
+ (custom--inhibit-theme-enable): New var.
+ (provide-theme): Obey it.
+ (load-theme): Replace load with manual read/eval, in order to
+ check for correctness. Use custom-theme-name-valid-p.
+ (custom-theme-name-valid-p): New function.
+ (custom-available-themes): Use it.
+
+ * cus-edit.el (custom--initialize-widget-variables): New function.
+ (Custom-mode): Use it.
+
+ * cus-face.el (custom-theme-set-faces): Remove dead code.
+ Obey custom--inhibit-theme-enable.
+
+ * help-mode.el (help-theme-def, help-theme-edit): New buttons.
+
+2010-10-12 Juanma Barranquero <lekktu@gmail.com>
+
+ * net/telnet.el (telnet-mode-map): Fix previous change (bug#7193).
+
+2010-10-12 Jan Djärv <jan.h.d@swipnet.se>
+
+ * term/ns-win.el (ns-right-alternate-modifier): New defvar.
+ (ns-right-option-modifier): New alias for ns-right-alternate-modifier.
+ (mac-right-option-modifier): New alias for ns-right-option-modifier.
+
+ * cus-start.el (all): ns-right-alternate-modifier is new.
+
+2010-10-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/lisp.el (lisp-completion-at-point):
+ Use emacs-lisp-mode-syntax-table for the whole function.
+
+2010-10-12 David Koppelman <koppel@ece.lsu.edu>
+
+ * hi-lock.el (hi-lock-font-lock-hook): Check font-lock-fontified
+ instead of font-lock-mode before adding keywords.
+ Remove hi-lock-mode off code. Remove inhibit hack.
+ (hi-lock-set-pattern): Only add keywords if font-lock-fontified
+ non-nil; removed hook inhibit hack.
+
+2010-10-12 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/shadow.el (find-emacs-lisp-shadows): Rename it...
+ (load-path-shadows-find): ... to this.
+ (list-load-path-shadows): Update for above change.
+
+ * mail/mail-utils.el (mail-mbox-from): Also try return-path.
+
+2010-10-11 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mail/hashcash.el, net/imap.el, pgg-parse.el, pgg.el:
+ Fix comment for declare-function.
+
+2010-10-11 Chong Yidong <cyd@stupidchicken.com>
+
+ * custom.el (custom-fix-face-spec): New function; code moved from
+ custom-face-edit-fix-value.
+ (custom-push-theme): Use it when checking if a face has been
+ changed outside customize.
+ (custom-available-themes): New function.
+ (load-theme): Use it.
+
+ * cus-edit.el (custom-face-edit-fix-value): Use custom-fix-face-spec.
+
+ * custom.el (custom-push-theme): Cleanup (use cond).
+ (disable-theme): Recompute the saved-face property.
+ (custom-theme-recalc-face): Follow face alias before setting prop.
+
+ * image.el (image-checkbox-checked, image-checkbox-unchecked):
+ New variables, containing checkbox images.
+
+ * startup.el (fancy-startup-tail):
+ * wid-edit.el (checkbox): Use them.
+
+2010-10-10 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * shell.el (shell-mode-map):
+ * progmodes/modula2.el (m2-mode-map):
+ * progmodes/inf-lisp.el (inferior-lisp-mode-map):
+ * play/mpuz.el (mpuz-mode-map):
+ * play/landmark.el (lm-mode-map):
+ * play/decipher.el (decipher-mode-map):
+ * play/5x5.el (5x5-mode-map):
+ * net/telnet.el (telnet-mode-map):
+ * net/quickurl.el (quickurl-list-mode-map):
+ * net/mairix.el (mairix-searches-mode-map):
+ * net/eudc-hotlist.el (eudc-hotlist-mode-map):
+ * net/dig.el (dig-mode-map):
+ * mail/mspools.el (mspools-mode-map):
+ * hexl.el (hexl-mode-map):
+ * emulation/ws-mode.el (wordstar-C-k-map, wordstar-mode-map)
+ (wordstar-C-o-map, wordstar-C-q-map):
+ * emacs-lisp/edebug.el (edebug-eval-mode-map):
+ * emacs-lisp/chart.el (chart-map):
+ * edmacro.el (edmacro-mode-map):
+ * erc/erc-list.el (erc-list-menu-mode-map):
+ * array.el (array-mode-map): Declare and define in one step.
+
+ * vc/log-view.el (log-view-mode-map): Bind revert-buffer.
+
+2010-10-10 Daiki Ueno <ueno@unixuser.org>
+
+ * epa.el (epa-passphrase-callback-function): Display filename
+ passed as the 3rd arg.
+ * epa-file.el (epa-file-passphrase-callback-function):
+ Pass filename to epa-passphrase-callback-function.
+
+2010-10-09 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-edit.el (custom-face-widget-to-spec)
+ (custom-face-get-current-spec, custom-face-state): New functions.
+ (custom-face-set, custom-face-mark-to-save)
+ (custom-face-value-create, custom-face-state-set): Use them.
+
+ * cus-theme.el (custom-theme--listed-faces): New var.
+ (customize-create-theme): Use *Custom Theme* as the buffer name.
+ Set revert-buffer-function. Optional arg BUFFER. Insert all
+ faces listed in custom-theme--listed-faces.
+ (custom-theme-revert): New function.
+ (custom-theme-add-variable, custom-theme-add-face): Insert at the
+ bottom of the list.
+ (custom-theme-write): Prompt for theme name if empty.
+ (custom-theme-write-variables): Use dolist.
+ (custom-theme-write-faces): Handle hidden (collapsed) widgets.
+
+2010-10-09 Alan Mackenzie <acm@muc.de>
+
+ Enhance fontification of declarators to take account of the
+ presence/absence of "typedef".
+
+ * cc-engine.el (c-forward-type): New &optional param
+ "brace-block-too".
+ (c-forward-decl-or-cast-1): cdr of return value now indicates the
+ presence of either or both of a "struct"-like keyword and "typedef".
+
+ * cc-fonts.el (c-complex-decl-matchers): Remove the heuristic
+ fontification of declarators which follow a "}".
+ (c-font-lock-declarations): Fontify declarators according to the
+ presence/absence of "typedef".
+
+ * cc-langs.el (c-typedef-kwds c-typedef-key): New lang variable
+ for "typedef".
+ (c-typedef-decl-key): New lang variable built from
+ c-typedef-decl-kwds.
+
+2010-10-09 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * ibuffer.el (ibuffer-mode-map): Don't redefine the cursor keys,
+ since that's too annoying. Move the filter groups commands to
+ TAB/backtab.
+
+ * epa.el (epa-passphrase-callback-function): Say what we're
+ querying the password for.
+
+ * ibuffer.el (ibuffer-visit-buffer): To mimick list-buffers
+ behaviour, don't bury the ibuffer buffer when visiting other buffers.
+
+2010-10-08 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-edit.el (custom-commands, custom-buffer-create-internal)
+ (custom-magic-value-create): Pad button tags with spaces.
+ (custom-face-edit): New variable.
+ (custom-face-value-create): Determine whether to use the usual
+ face editor here, instead of using custom-face-selected.
+ Pass face defaults to custom-face-edit widget.
+ (custom-face-selected, custom-display-unselected): Delete widgets.
+ (custom-display-unselected-match): Function removed.
+ (custom-face-set, custom-face-mark-to-save):
+ Accept custom-face-edit widgets as the direct widget child.
+
+ * wid-edit.el (widget--completing-widget): New var.
+ (widget-default-complete): Bind it when doing completion.
+ (widget-string-complete, widget-file-complete): Use it.
+
+2010-10-09 Glenn Morris <rgm@gnu.org>
+
+ * calendar/cal-hebrew.el (holiday-hebrew-rosh-hashanah)
+ (holiday-hebrew-passover, holiday-hebrew-tisha-b-av)
+ (holiday-hebrew-misc): Small simplifications.
+
+ * emacs-lisp/authors.el (authors-valid-file-names): Add b2m.c.
+
+ * net/browse-url.el: Don't require thingatpt, term, dired,
+ executable, or w3-auto when compiling.
+ (dired-get-filename, term-char-mode, term-send-down, term-send-string):
+ Declare.
+ (browse-url-text-emacs): Require term.
+
+2010-10-08 Andreas Schwab <schwab@linux-m68k.org>
+
+ * net/browse-url.el (browse-url-xdg-open): Remove use of /bin/sh.
+
+2010-10-08 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/cl-compat.el, emacs-lisp/lmenu.el: Move to obsolete/.
+
+ * emacs-lisp/shadow.el (lisp-shadow): Change prefix.
+ (shadows-compare-text-p): Make it an obsolete alias for...
+ (load-path-shadows-compare-text): ... new name.
+ (find-emacs-lisp-shadows): Update for above name change.
+ (load-path-shadows-same-file-or-nonexistent): New name for the old
+ shadow-same-file-or-nonexistent.
+
+2010-10-08 Chong Yidong <cyd@stupidchicken.com>
+
+ * minibuffer.el (completion--some, completion--do-completion)
+ (minibuffer-complete-and-exit, minibuffer-completion-help)
+ (completion-basic-try-completion)
+ (completion-basic-all-completions)
+ (completion-pcm--find-all-completions): Use lexical-let to
+ avoid some false matches in variable completion (Bug#7056)
+
+2010-10-08 Olof Ohlsson Sax <olof.ohlsson.sax@gmail.com> (tiny change)
+
+ * vc-svn.el (vc-svn-merge-news): Use --non-interactive. (Bug#7152)
+
+2010-10-08 Leo <sdl.web@gmail.com>
+
+ * dnd.el (dnd-get-local-file-name): If MUST-EXIST is non-nil, only
+ return non-nil if the file exists (Bug#7090).
+
+2010-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion--replace):
+ Better preserve markers (bug#7138).
+
+2010-10-08 Juanma Barranquero <lekktu@gmail.com>
+
+ * server.el (server-process-filter): Doc fix.
+
+2010-10-08 Drew Adams <drew.adams@oracle.com>
+
+ * dired.el (dired-save-positions): Doc fix. (Bug#7119)
+
+2010-10-08 Glenn Morris <rgm@gnu.org>
+
+ * vc/ediff-wind.el (ediff-setup-control-frame):
+ * vc/ediff-ptch.el (ediff-default-backup-extension):
+ * vc/ediff-diff.el (ediff-shell, ediff-diff-options)
+ (ediff-exec-process): Remove system-types emx, windows-95.
+
+ * net/browse-url.el (browse-url-xdg-open): Shell-quote url. (Bug#7166)
+
+2010-10-07 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-edit.el (custom-variable, custom-face): Doc fix.
+ (custom-face-edit): Add value-create attribute.
+ (custom-face-edit-value-create)
+ (custom-face-edit-value-visibility-action): New functions.
+ Hide unused face attributes by default, and add a visibility toggle.
+ (custom-face-edit-deactivate): Show empty values with shadow face.
+ (custom-face-selected): Only use this for face specs with default
+ attributes.
+ (custom-face-value-create): Cleanup.
+
+ * wid-edit.el (widget-checklist-value-create): Use dolist.
+ (widget-checklist-match-find): Make second arg optional.
+
+2010-10-07 Glenn Morris <rgm@gnu.org>
+
+ * hilit-chg.el (hilit-chg-get-diff-info, hilit-chg-get-diff-list-hk):
+ Prefix things.
+
+ * emacs-lisp/shadow.el (shadow-font-lock-keywords)
+ (load-path-shadows-mode, list-load-path-shadows): Rename shadow-mode to
+ load-path-shadows-mode, update references.
+ (load-path-shadows-font-lock-keywords, load-path-shadows-find-file):
+ Rename variable and button.
+ (list-load-path-shadows): Update button caller.
+
+2010-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el (smie-bnf-classify): New function.
+ (smie-bnf-precedence-table): Use it to remember the closers/openers.
+ (smie-merge-prec2s): Handle those new entries.
+ (smie-prec2-levels): Only set precedence to nil for actual
+ openers/closers.
+ * progmodes/octave-mod.el (octave-smie-op-levels): Remove dummy entry
+ that is now unnecessary.
+
+2010-10-07 Miles Bader <miles@gnu.org>
+
+ * emacs-lisp/regexp-opt.el (regexp-opt): Add `symbols' mode.
+
+2010-10-07 Glenn Morris <rgm@gnu.org>
+
+ * mail/rmail.el (mail-sendmail-delimit-header, mail-header-end)
+ (mail-position-on-field): Remove declarations.
+ (mail-position-on-field): Autoload it.
+ (rmail-retry-failure): Replace use of mail-sendmail-delimit-header
+ and mail-header-end. Don't require sendmail.
+
+ * emacs-lisp/shadow.el (shadow-font-lock-keywords): New variable.
+ (shadow-mode): New mode.
+ (shadow-find-file): New button.
+ (list-load-path-shadows): Use shadow-mode and buttons.
+
+ * iimage.el (iimage-version): Remove.
+ (iimage-mode-image-search-path, iimage-mode-image-regex-alist):
+ Turn into defcustoms.
+ (iimage-mode-map): Give it a doc string.
+
+ * calendar/appt.el (appt-activate): Give a warning rather than an error
+ if there is no diary-file.
+
+2010-10-06 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-sh-file-name-handler-alist):
+ Use `tramp-handle-find-backup-file-name'.
+
+2010-10-06 Glenn Morris <rgm@gnu.org>
+
+ * font-core.el (font-lock-defaults-alist): Remove variable.
+ (font-lock-mode): Doc fix.
+ (font-lock-default-function): Do not consult font-lock-defaults-alist.
+ * font-lock.el (font-lock-refresh-defaults): Doc fix.
+ (font-lock-set-defaults): Doc fix.
+ Do not consult font-lock-defaults-alist.
+
+ * hilit-chg.el (hilit-chg-get-diff-list-hk): Declare `e' for compiler.
+
+ * emacs-lisp/cl.el: No longer provide cl-19.
+
+2010-10-05 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-handle-directory-files-and-attributes)
+ (tramp-handle-file-exists-p, tramp-handle-file-newer-than-file-p):
+ New defuns, taken from tramp-smb.el.
+ (tramp-coding-system-change-eol-conversion)
+ (tramp-set-process-query-on-exit-flag): Remove.
+
+ * net/tramp-compat.el (top): Do not check for byte-compiler objects.
+ (tramp-compat-coding-system-change-eol-conversion)
+ (tramp-compat-set-process-query-on-exit-flag): New defuns, taken
+ from tramp.el.
+
+ * net/tramp-gvfs.el:
+ * net/tramp-gw.el: Replace `tramp-set-process-query-on-exit-flag'
+ by `tramp-compat-set-process-query-on-exit-flag'.
+
+ * net/tramp-imap.el (tramp-imap-file-name-handler-alist):
+ Use `tramp-handle-directory-files-and-attributes',
+ `tramp-handle-file-exists-p' and
+ `tramp-handle-file-newer-than-file-p'.
+ (tramp-imap-handle-file-exists-p)
+ (tramp-imap-handle-file-executable-p)
+ (tramp-imap-handle-file-readable-p)
+ (tramp-imap-handle-directory-files-and-attributes)
+ (tramp-imap-handle-file-newer-than-file-p): Remove.
+
+ * net/tramp-sh.el: Replace `tramp-set-process-query-on-exit-flag'
+ by `tramp-compat-set-process-query-on-exit-flag' and
+ `tramp-coding-system-change-eol-conversion' by
+ `tramp-compat-coding-system-change-eol-conversion'.
+
+ * net/tramp-smb.el (tramp-smb-file-name-handler-alist):
+ Use `tramp-handle-directory-files-and-attributes',
+ `tramp-handle-file-exists-p' and
+ `tramp-handle-file-newer-than-file-p'.
+ (tramp-smb-handle-directory-files-and-attributes)
+ (tramp-smb-handle-file-exists-p)
+ (tramp-smb-handle-file-newer-than-file-p): Remove.
+ (tramp-smb-maybe-open-connection):
+ Replace `tramp-set-process-query-on-exit-flag' by
+ `tramp-compat-set-process-query-on-exit-flag'.
+
+2010-10-05 Glenn Morris <rgm@gnu.org>
+
+ * obsolete/rnews.el, obsolete/rnewspost.el: Remove files.
+
+2010-10-04 Michael Albinus <michael.albinus@gmx.de>
+
+ Continue reorganization of load dependencies. (Bug#7156)
+
+ * net/tramp.el (tramp-handle-file-local-copy-hook)
+ (tramp-delete-temp-file-function): Move down.
+ (tramp-exists-file-name-handler): Move up.
+ (tramp-register-file-name-handlers): Simplify autoload.
+ (tramp-handle-write-region-hook, tramp-handle-directory-file-name)
+ (tramp-handle-directory-files, tramp-handle-dired-uncache)
+ (tramp-handle-file-modes, tramp-handle-file-name-as-directory)
+ (tramp-handle-file-name-completion)
+ (tramp-handle-file-name-directory)
+ (tramp-handle-file-name-nondirectory, tramp-handle-file-regular-p)
+ (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
+ (tramp-handle-find-backup-file-name)
+ (tramp-handle-insert-file-contents, tramp-handle-load)
+ (tramp-handle-substitute-in-file-name)
+ (tramp-handle-unhandled-file-name-directory)
+ (tramp-mode-string-to-int, tramp-local-host-p)
+ (tramp-make-tramp-temp-file): Move from tramp-sh.el.
+
+ * net/tramp-gvfs.el (top):
+ * net/tramp-smb.el (top): Do not require 'tramp-sh.
+
+ * net/tramp-sh.el (all): Move several objects to tramp.el, see
+ there. Rename `tramp-handle-*' to `tramp-sh-handle-*'.
+
+2010-10-04 Glenn Morris <rgm@gnu.org>
+
+ * calendar/appt.el (appt-add): Ensure reminders are enabled.
+ (appt-activate): Give status messages.
+
+2010-10-03 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * net/gnutls.el: Improve docs. Remove starttls and ssl emulation.
+ Provide only `open-gnutls-stream' (formerly `open-ssl-stream') and
+ `gnutls-negotiate' (formerly `starttls-negotiate').
+ Remove trivial wrapper `starttls-open-stream'.
+
+2010-10-03 Dan Nicolaescu <dann@ics.uci.edu>
+
+ Make 'g' (AKA revert-buffer) rerun the VC log, log-incoming and
+ log-outgoing commands.
+ * vc/vc.el (vc-log-internal-common): Add a new argument and use it
+ to create a buffer local revert-buffer-function variable.
+ (vc-print-log-internal, vc-log-incoming, vc-log-outgoing): Pass a
+ revert-buffer-function lambda.
+
+2010-10-03 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * net/gnutls.el (starttls-negotiate): Use the plist interface to
+ `gnutls-boot'. Make TYPE the only required parameter.
+ Allow TRUSTFILES and KEYFILES to be lists.
+ (open-ssl-stream): Use it.
+
+2010-10-03 Glenn Morris <rgm@gnu.org>
+
+ * subr.el (directory-sep-char): Remove obsolete variable.
+ * net/tramp-compat.el: Don't mess about with the byte-compiler unless
+ it is "necessary".
+
+ * vc/vc-hooks.el (vc-header-alist): Remove obsolete variable.
+ * vc/vc.el (vc-static-header-alist): Doc fix.
+ * vc/vc-cvs.el (vc-cvs-header):
+ * vc/vc-rcs.el (vc-rcs-header):
+ * vc/vc-sccs.el (vc-sccs-header):
+ * vc/vc-svn.el (vc-svn-header): Do not consult vc-header-alist.
+ * obsolete/vc-mcvs.el (vc-mcvs-header):
+ * progmodes/cperl-mode.el (cperl-mode): Only set vc-header-alist
+ on XEmacs.
+
+2010-10-03 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/bytecomp.el (byte-compile-from-buffer):
+ Remove obsolete use of binary-overwrite-mode (Bug#7001).
+
+2010-10-03 Glenn Morris <rgm@gnu.org>
+
+ * obsolete/x-menu.el: Remove file, obsolete since 21.1.
+
+ * textmodes/rst.el (rst-font-lock-keywords-function):
+ Drop Emacs 20 code.
+
+ * textmodes/artist.el (artist-replace-char): Drop Emacs 20 code.
+
+ * printing.el: Drop Emacs 20 code.
+
+ * calendar/appt.el (appt-delete): Don't autoload it (you can't use it
+ without having used appt.el already).
+
+ * subr.el (make-local-hook): Remove function obsolete since 21.1.
+ * progmodes/cc-mode.el (make-local-hook): Don't do cc-bytecomp stuff.
+ (c-basic-common-init, c-font-lock-init): Only call make-local-hook on
+ XEmacs.
+ * progmodes/cc-styles.el (make-local-hook): Don't do cc-bytecomp stuff.
+ (c-make-styles-buffer-local): Only call make-local-hook on XEmacs.
+
+ * ps-def.el (leading-code-private-22, charset-bytes, charset-id)
+ (charset-width, find-charset-region, chars-in-region, forward-point)
+ (encode-coding-string, coding-system-p, ccl-execute-on-string)
+ (define-ccl-program, multibyte-string-p, string-make-multibyte):
+ Remove compatibility cruft (none of these are used by ps*.el).
+
+2010-10-03 Kevin Rodgers <kevin.d.rodgers@gmail.com>
+
+ * subr.el (booleanp): Return t instead of a list (Bug#7086).
+
+2010-10-03 Chong Yidong <cyd@stupidchicken.com>
+
+ * server.el (server-process-filter, server-return-error):
+ Give emacsclient time to shut down after receiving an error string.
+
+2010-10-02 Michael Albinus <michael.albinus@gmx.de>
+
+ * files.el (remote-file-name-inhibit-cache): New defcustom.
+
+ * time.el (display-time-file-nonempty-p):
+ Use `remote-file-name-inhibit-cache'.
+
+ * net/tramp.el (tramp-completion-reread-directory-timeout):
+ Fix docstring.
+
+ * net/tramp-cache.el (tramp-cache-inhibit-cache): Remove.
+ (tramp-get-file-property): Replace `tramp-cache-inhibit-cache' by
+ `remote-file-name-inhibit-cache'. Check also for an integer
+ value. Add/increase counter when `tramp-verbose' >= 10.
+ (tramp-set-file-property): Add/increase counter when
+ `tramp-verbose' >= 10.
+
+ * net/tramp-cmds.el (tramp-cleanup-all-connections)
+ (tramp-cleanup-all-buffers): Set tramp-autoload cookie.
+ (tramp-bug): Set tramp-autoload cookie. Report all interned
+ tramp-* variables. Report also `remote-file-name-inhibit-cache'.
+ (tramp-reporter-dump-variable): Fix docstring. Mask non-7bit
+ characters only in strings.
+
+ * net/tramp-compat.el (remote-file-name-inhibit-cache): Define due
+ to backward compatibility.
+
+ * net/tramp-sh.el (tramp-handle-verify-visited-file-modtime)
+ (tramp-handle-file-name-all-completions)
+ (tramp-handle-vc-registered): Use `remote-file-name-inhibit-cache'.
+ (tramp-open-connection-setup-interactive-shell):
+ Call `tramp-cleanup-connection' directly.
+
+2010-10-02 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/checkdoc.el (checkdoc-minor-keymap): Remove obsolete alias.
+
+ * subr.el (char-bytes): Remove obsolete function.
+
+ * isearch.el (isearch-return-char): Remove obsolete function.
+
+ * mouse.el: No longer provide mldrag.
+ (mldrag-drag-mode-line, mldrag-drag-vertical-line):
+ Remove obsolete aliases.
+
+ * comint.el (comint-kill-output): Remove obsolete alias.
+
+ * composite.el (decompose-composite-char): Remove obsolete function.
+ * ps-def.el (decompose-composite-char): Remove unused function.
+
+ * iswitchb.el (iswitchb-default-keybindings): Remove obsolete function.
+
+ * outline.el (outline-visible): Remove obsolete function.
+
+ * term/pc-win.el (x-frob-font-slant, x-frob-font-weight):
+ * faces.el (internal-find-face, internal-get-face)
+ (frame-update-faces, frame-update-face-colors)
+ (x-frob-font-weight, x-frob-font-slant)
+ (internal-frob-font-weight, internal-frob-font-slant)
+ (x-make-font-bold, x-make-font-demibold, x-make-font-unbold)
+ (x-make-font-italic, x-make-font-oblique, x-make-font-unitalic)
+ (x-make-font-bold-italic): Remove functions and aliases, obsolete
+ since Emacs 21.1.
+ * emulation/viper-util.el (viper-get-face):
+ * obsolete/lucid.el (find-face, get-face): Use facep.
+ * vc/ediff-init.el (ediff-valid-color-p, ediff-get-face):
+ Remove unused functions.
+ * vc/ediff-util.el (ediff-submit-report): Doc fix.
+
+ * emacs-lisp/bytecomp.el (byte-compile-file): Use kill-emacs-hook to
+ delete tempfile if interrupted during compilation.
+
+2010-10-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/tls.el (tls-starttls-switches): Give up on using starttls with
+ gnutls-cli.
+ (tls-program): Add --insecure to be consistent with the defaults from
+ openssl s_client. Now all three commands are insecure.
+
+2010-10-01 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (DEST, TAGS, TAGS-LISP, TAGS-nmake)
+ (TAGS-LISP-nmake, TAGS-gmake, TAGS-LISP-gmake, TAGS-SH)
+ (TAGS-LISP-SH, TAGS-CMD, TAGS-LISP-CMD): New targets.
+
+2010-10-01 Glenn Morris <rgm@gnu.org>
+
+ * obsolete/sc.el: Remove file.
+
+ * files.el (temporary-file-directory): On darwin, also try
+ DARWIN_USER_TEMP_DIR (see discussion in bug#7135).
+
+2010-10-01 Juanma Barranquero <lekktu@gmail.com>
+
+ * server.el (server-start): Revert part of 2010-09-30T02:53:26Z!lekktu@gmail.com.
+ Let's not break compatibility gratuitously, shall we?
+
+2010-09-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/tls.el (tls-starttls-switches): New variable.
+ (tls-find-starttls-argument): Use it.
+ (open-tls-stream): Ditto.
+
+ * net/netrc.el (netrc-credentials): Return the value of the "default"
+ entry.
+ (netrc-machine): Ditto.
+
+2010-09-30 Eli Zaretskii <eliz@gnu.org>
+
+ * vc/vc-hooks.el (vc-default-mode-line-string): Doc fix.
+
+2010-09-30 Juanma Barranquero <lekktu@gmail.com>
+
+ * server.el (server-start): Don't write pid to the authentication file.
+ (server-create-tty-frame): Don't send pid.
+ (server-process-filter): Send pid at the start of every connection.
+
+2010-09-30 Glenn Morris <rgm@gnu.org>
+
+ * calendar/diary-lib.el (view-diary-entries, list-diary-entries)
+ (show-all-diary-entries): Remove obsolete function aliases.
+
+ * calendar/appt.el (appt-issue-message, appt-visible, appt-msg-window):
+ Remove options, obsolete since 22.1.
+ (appt-display-format, appt-display-message):
+ Remove backwards-compatibility code.
+ (appt-check): No longer check appt-issue-message.
+ (appt-make-list): No longer autoload it. Doc fix. No longer
+ activate the package.
+
+2010-09-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/gnutls.el (starttls-negotiate): Loop a lot longer.
+ (starttls-negotiate): Just call boot, and let the handshake be
+ triggered from the read loop.
+
+2010-09-29 Glenn Morris <rgm@gnu.org>
+
+ * calendar/diary-lib.el (diary-list-entries): Use temp buffers when
+ not displaying the diary.
+ (diary-add-to-list): If no buffer-file-name, fall back to diary-file.
+ * calendar/appt.el (appt-check): No longer need to kill diary.
+
+ * calendar/diary-lib.el (diary-list-entries): Move the
+ "Preparing..." message entirely here.
+ (diary-simple-display, diary-fancy-display): Move "Preparing..."
+ messages to diary-list-entries.
+ (diary-include-other-diary-files): Use LIST-ONLY rather than setting
+ diary-display-function.
+
+ * calendar/diary-lib.el (diary-include-other-diary-files):
+ Trap some recursive includes.
+
+ * calendar/appt.el (appt-activate): Check diary file.
+
+2010-09-29 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * pgg.el (pgg-run-at-time-1): Define it for XEmacs only; fix if/else
+ construction.
+
+ * calendar/time-date.el: No need to require cl for Emacs 21.
+
+2010-09-28 Glenn Morris <rgm@gnu.org>
+
+ * calendar/appt.el (appt-check): Minor simplification.
+
+2010-09-28 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mail/sendmail.el (mail-citation-prefix-regexp): Remove "}" from
+ citation prefix.
+
+2010-09-27 Andreas Schwab <schwab@linux-m68k.org>
+
+ * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
+ Avoid infinite recursion on erroneous lambda form. (Bug#7114)
+
+2010-09-27 Kenichi Handa <handa@m17n.org>
+
+ * tar-mode.el (tar-header-block-tokenize): Decode filenames in
+ "ustar" format.
+
+2010-09-27 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (define-coding-system): Docstring fixed.
+
+ * international/mule-diag.el (describe-character-set): Use princ
+ with proper print-length and print-level instead of insert.
+
+2010-09-27 Juanma Barranquero <lekktu@gmail.com>
+
+ * window.el (walk-windows): Doc fix (bug#7105).
+
+2010-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/float-sup.el (e): Remove.
+
+2010-09-27 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * net/gnutls.el (gnutls, gnutls-log-level): Add group and custom
+ variable.
+ (starttls-negotiate): Use it.
+
+2010-09-27 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/gnutls.el (starttls-negotiate): Stop looping when we get a t
+ back.
+
+2010-09-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/pcase.el (pcase-let*, pcase-let): plet -> pcase-let.
+
+2010-09-26 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/gnutls.el (starttls-negotiate): Avoid the cl.el decf function.
+
+ * net/netrc.el (netrc-store-data): New function.
+
+2010-09-26 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * net/gnutls.el: GnuTLS glue code to set up a connection.
+
+2010-09-25 Julien Danjou <julien@danjou.info>
+
+ * notifications.el: Call dbus-register-signal only if it is bound.
+
+2010-09-25 Glenn Morris <rgm@gnu.org>
+
+ * eshell/em-alias.el, eshell/em-banner.el, eshell/em-basic.el:
+ * eshell/em-cmpl.el, eshell/em-dirs.el, eshell/em-glob.el:
+ * eshell/em-hist.el, eshell/em-ls.el, eshell/em-pred.el:
+ * eshell/em-prompt.el, eshell/em-rebind.el, eshell/em-script.el:
+ * eshell/em-smart.el, eshell/em-term.el, eshell/em-unix.el:
+ * eshell/esh-cmd.el, eshell/esh-ext.el, eshell/esh-io.el:
+ * eshell/esh-mode.el, eshell/esh-proc.el, eshell/esh-test.el:
+ * eshell/esh-util.el, eshell/esh-var.el:
+ Remove leading `*' from docs of faces and defcustoms.
+
+2010-09-25 Ulrich Mueller <ulm@gentoo.org>
+
+ * eshell/em-ls.el (eshell-ls-archive-regexp):
+ * eshell/esh-util.el (eshell-tar-regexp):
+ * ibuffer.el (ibuffer-compressed-file-name-regexp):
+ * info.el (Info-suffix-list):
+ * international/mule.el (auto-coding-alist):
+ * woman.el (woman-file-regexp, woman-file-compression-regexp):
+ * progmodes/etags.el (tags-compression-info-list):
+ Support xz compression.
+
+2010-09-25 Chong Yidong <cyd@stupidchicken.com>
+
+ * files.el (get-free-disk-space): Don't assume the "df" output
+ columns line up (Bug#6995).
+
+2010-09-25 Juanma Barranquero <lekktu@gmail.com>
+
+ * finder.el (finder-unknown-keywords):
+ * progmodes/gdb-mi.el (gdb-jsonify-buffer, gdb-running-threads-count):
+ * progmodes/etags.el (tags-table-including): Fix typos in docstrings.
+
+2010-09-25 Juanma Barranquero <lekktu@gmail.com>
+
+ * server.el (server-start): Revert part of 2010-08-08 change. Using
+ address 127.0.0.1 for local host is now done in Fmake_network_process.
+
+2010-09-24 Glenn Morris <rgm@gnu.org>
+
+ * image-mode.el, progmodes/compile.el, progmodes/gud.el:
+ * progmodes/mixal-mode.el, textmodes/bibtex-style.el:
+ * textmodes/css-mode.el, textmodes/dns-mode.el:
+ Move autoloaded auto-mode-alist entries to files.el.
+ * files.el (auto-mode-alist): Move entries here.
+
+2010-09-23 Glenn Morris <rgm@gnu.org>
+
+ * isearch.el (isearch-lazy-highlight-cleanup)
+ (isearch-lazy-highlight-initial-delay)
+ (isearch-lazy-highlight-interval)
+ (isearch-lazy-highlight-max-at-a-time, isearch-lazy-highlight-face):
+ * net/net-utils.el (ipconfig-program-options):
+ Move aliases to options before the associated definitions.
+
+2010-09-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * newcomment.el (comment-normalize-vars): Better test validity of
+ comment-end-skip.
+
+2010-09-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/float-sup.el (float-pi): New name for `pi'.
+ (float-e): New name for `e'.
+ (degrees-to-radians, radians-to-degrees):
+ * calendar/solar.el (solar-longitude):
+ * calculator.el (calculator-registers, calculator-funcall):
+ * textmodes/artist.el (artist-spray-random-points):
+ * play/bubbles.el (bubbles--initialize-images): Use new names.
+
+2010-09-23 Eric M. Ludlam <zappo@gnu.org>
+
+ Update to CEDET 1.0's version of EIEIO.
+
+ * emacs-lisp/eieio.el (eieio-specialized-key-to-generic-key):
+ New function.
+ (eieio-defmethod, eieio-generic-form, eieio-generic-call): Use it.
+ (eieio-default-eval-maybe): Eval val instead of unquoting only.
+ (class-precedence-list): If class is nil, return nil.
+ (eieio-generic-call): If class of first input arg is nil, don't
+ look up static methods, and do check for primary methods.
+ (initialize-instance): See if the default needs to be evaluated
+ during the constructor.
+ (eieio-perform-slot-validation-for-default): Don't do the check
+ for values that will eventually be evaluated.
+ (eieio-eval-default-p): New function.
+ (eieio-default-eval-maybe): Use it.
+
+2010-09-23 Jan Moringen <jan.moringen@uni-bielefeld.de>
+
+ * emacs-lisp/eieio.el (eieio-defclass): Allow :c3
+ method-invocation-order.
+ (eieio-c3-candidate, eieio-c3-merge-lists): New functions.
+ (eieio-class-precedence-dfs): Compute class precedence list using
+ dfs algorithm.
+ (eieio-class-precedence-bfs): Compute class precedence list using
+ bfs algorithm.
+ (eieio-class-precedence-c3): Compute class precedence list using
+ c3 algorithm.
+ (class-precedence-list): New function.
+ (eieiomt-method-list, eieiomt-sym-optimize): Use it.
+ (inconsistent-class-hierarchy): New error symbol.
+ (call-next-method): Stow the replacement argument list for future
+ call-next-method invocations.
+
+2010-09-23 Glenn Morris <rgm@gnu.org>
+
+ * calendar/appt.el (appt-check): If not displaying the diary,
+ use (diary 1) to only get the entries we need.
+ (appt-make-list): Sort diary-list-entries, if we cannot guarantee
+ that it is in day order. (Bug#7019)
+
+ * calendar/appt.el (appt-check): Rather than showing the diary,
+ just turn off invisible display, and only if needed.
+
+ * calendar/diary-lib.el (diary-list-entries): Doc fix. (Bug#7019)
+
+2010-09-23 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/bytecomp.el (byte-compile-file-form-defvar):
+ (byte-compile-defvar, byte-compile-cl-warn):
+ Start warnings with lower-case, like the majority.
+
+ * files.el (auto-mode-alist): Add .xa, .xw, .xsw for ld-script-mode.
+
+ * files.el (auto-mode-alist): Prefer C-mode for .xs. (Bug#7071)
+
+ * progmodes/ld-script.el (auto-mode-alist): Move to files.el.
+ * files.el (auto-mode-alist): Move ld-script entries here, further down
+ the list.
+
+ * vc/add-log.el: Don't require timezone when compiling.
+ (timezone-make-date-sortable): Autoload it.
+ (change-log-sortable-date-at): Don't require timezone.
+ Use `ignore-errors'.
+
+ * comint.el (comint-use-prompt-regexp-instead-of-fields):
+ Move alias before definition, so it does not need autoloading.
+
+ * emulation/crisp.el, emulation/cua-base.el, emulation/edt.el:
+ * emulation/pc-select.el, emulation/vip.el, international/iso-ascii.el:
+ * international/kkc.el, international/ogonek.el, mail/feedmail.el:
+ * net/browse-url.el, net/eudc-vars.el, net/net-utils.el:
+ * net/rcompile.el, net/rlogin.el, textmodes/enriched.el:
+ * textmodes/makeinfo.el, textmodes/page-ext.el, textmodes/picture.el:
+ * textmodes/refer.el, textmodes/spell.el, textmodes/table.el:
+ * textmodes/tex-mode.el, textmodes/two-column.el:
+ Remove leading `*' from docs of defcustoms etc.
+
+2010-09-23 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * net/netrc.el (netrc-parse): Remove encrypt.el mentions.
+
+2010-09-22 Dan Christensen <jdc@uwo.ca>
+
+ * calendar/time-date.el (date-to-time): Try using parse-time-string
+ first before using the slower timezone-make-date-arpa-standard.
+
+2010-09-22 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * calendar/time-date.el (format-seconds): Comment fix.
+
+2010-09-22 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/package.el (package-menu-mode): `revert-buffer-function'
+ is not automatically buffer-local.
+
+2010-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el (smie-debug--describe-cycle): Fix typo.
+ (smie-indent-comment): Be more careful with comment-start-skip.
+ (smie-indent-comment-close, smie-indent-comment-inside): New funs.
+ (smie-indent-functions): Use them.
+
+2010-09-21 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/ange-ftp.el (ange-ftp-skip-msgs): Add "^504 ..." message.
+
+2010-09-21 Jan Djärv <jan.h.d@swipnet.se>
+
+ * menu-bar.el (menu-bar-set-tool-bar-position): customize-set-variable
+ tool-bar-position. Don't modify frame parameters here.
+ (menu-bar-options-save): Add tool-bar-position.
+
+ * tool-bar.el (tool-bar-position): New defcustom (Bug#7049).
+
+2010-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textmodes/reftex-parse.el (reftex-what-macro)
+ (reftex-context-substring): Let-bind forward-sexp-function to nil
+ since we don't need/want to treat \begin...\end as a block (bug#7053).
+
+ * emacs-lisp/lisp.el (up-list): Don't do nothing silently.
+
+ * simple.el (blink-matching-open): Use syntax-class.
+
+ * progmodes/pascal.el (pascal-mode): Use define-derived-mode.
+ Set invisibility spec for pascal's outline mode.
+ (pascal-outline-change): Clean up calling convention.
+ (pascal-show-all, pascal-hide-other-defuns): Update callers.
+
+ * progmodes/prolog.el (prolog-smie-forward-token)
+ (prolog-smie-backward-token): New functions.
+ (prolog-mode-variables): Use them to parse "!," correctly.
+ Set up smie-blink-matching for ".".
+
+ * textmodes/ispell.el (ispell-start, ispell-end): Rename from `start'
+ and `end'.
+ (ispell-region, ispell-process-line): Update users.
+
+ * textmodes/reftex-parse.el (reftex-what-macro): Don't hardcode
+ point-min==1.
+
+ * textmodes/ispell.el: Fix commenting convention.
+ (ispell-parse-output): Simplify, use push.
+ (ispell-region): Use match-string-no-properties.
+ (ispell-begin-skip-region-regexp): Use mapconcat to simplify.
+ (ispell-minor-mode): Use define-minor-mode.
+ (ispell-message): Remove unused var `skip-regexp'.
+ (ispell-add-per-file-word-list): Use dynamic let-binding.
+ Try and use the proper comment marker.
+
+ * mail/sendmail.el: Fix commenting convention.
+ (sendmail-send-it): Use line-beginning-position.
+
+ * help-fns.el (describe-variable): Add original value, if applicable.
+
+2010-09-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * subr.el (y-or-n-p): Remove leftover code from 2010-09-17T13:30:30Z!monnier@iro.umontreal.ca.
+
+ * emacs-lisp/smie.el (smie-indent--hanging-p): Use `smie-indent--bolp'.
+
+2010-09-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el (smie-bnf-precedence-table): Improve error message.
+ (smie-debug--prec2-cycle, smie-debug--describe-cycle): New functions.
+ (smie-prec2-levels): Use them to better diagnose precedence cycles.
+ (smie-blink-matching-check): Don't signal a mismatch if car is t.
+ (smie-blink-matching-open): Rewrite to remove assumptions, so that
+ something like "." can also be a closer.
+ (smie--associative-p, smie-indent--hanging-p, smie-indent--bolp)
+ (smie-indent--offset, smie-indent--offset-rule, smie-indent--column):
+ Rename internal functions to use "--". Update callers.
+
+ * frame.el (make-frame-names-alist): Don't list frames on other displays.
+
+ * fringe.el (fringe-styles): New var.
+ (fringe-mode, fringe-query-style): Use it.
+
+2010-09-18 Michael R. Mauger <mmaug@yahoo.com>
+
+ * progmodes/sql.el: Version 2.8
+ (sql-login-params): Update widget structure; changes still needed.
+ (sql-product-alist): Add :list-all and :list-table features for
+ SQLite, Postgres and MySQL products.
+ (sql-redirect): Handle default value.
+ (sql-execute, sql-execute-feature): New functions.
+ (sql-read-table-name): New function.
+ (sql-list-all, sql-list-table): New functions. User API.
+ (sql-mode-map, sql-interactive-mode-map): Add key definitions
+ for above functions.
+ (sql-mode-menu, sql-interactive-mode-menu): Add menu definitions
+ for above functions.
+ (sql-postgres-login-params): Add user and database defaults.
+ (sql-buffer-live-p): Bug fix.
+ (sql-product-history): New variable.
+ (sql-read-product): New function. Use it.
+ (sql-set-product, sql-product-interactive): Use it.
+ (sql-connection-history): New variable.
+ (sql-read-connection): New function. Use it.
+ (sql-connect): New function.
+ (sql-for-each-login): Redesign function interface.
+ (sql-make-alternate-buffer-name, sql-save-connection): Use it.
+ (sql-get-login-ext, sql-get-login): Use it. Handle default values.
+ (sql-comint): Check for program. Existing live buffer.
+ (sql-comint-postgres): Add port parameter.
+
+2010-09-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/warnings.el: Fix commenting convention.
+ (display-warning): Use special mode and make the buffer read-only.
+
+2010-09-18 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc-prog.el (calc-read-parse-table-part): Don't "fix" the
+ empty string when it follows a repeated or optional pattern.
+
+2010-09-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * indent.el (indent-according-to-mode): Apply syntax-propertize.
+ (indent-region): Use indent-according-to-mode.
+
+2010-09-18 Eli Zaretskii <eliz@gnu.org>
+
+ * fringe.el (fringe-mode): Doc fix.
+
+2010-09-14 Kan-Ru Chen <kanru@kanru.info> (tiny change)
+
+ * textmodes/nroff-mode.el (nroff-view): Kill old buffer before
+ refreshing the preview buffer.
+
+2010-09-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textmodes/tex-mode.el (tex-syntax-propertize-rules)
+ (latex-syntax-propertize-rules): New consts; replace
+ tex-font-lock-syntactic-keywords.
+ (tex-env-mark, latex-env-before-change): New functions.
+ (latex-electric-env-pair-mode): New minor mode.
+ (tex-font-lock-verb): Change arguments; do move point.
+ (tex-font-lock-syntactic-face-function): Adjust to new verbatim
+ representation as a form of comment.
+ (tex-font-lock-keywords-1): Remove workaround, now unneeded.
+ (doctex-syntax-propertize-rules): New const; replaces
+ doctex-font-lock-syntactic-keywords.
+ (tex-common-initialization, doctex-mode): Use syntax-propertize-rules.
+
+ * progmodes/fortran.el (fortran--font-lock-syntactic-keywords): Remove.
+ (fortran-make-syntax-propertize-function): New function; replaces
+ fortran-font-lock-syntactic-keywords.
+ (fortran-mode): Use it.
+ (fortran-line-length): Use it. Improve interactive spec.
+
+ * emacs-lisp/syntax.el (syntax-propertize-precompile-rules): New macro.
+ (syntax-propertize-rules): Add var-ref case. Fix offset computation
+ when adding surrounding \(..\).
+
+ * progmodes/js.el (js-mode): Fix last change (bug#7054).
+
+2010-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * obsolete/old-whitespace.el (whitespace-rescan-files-in-buffers):
+ Use with-current-buffer.
+
+ * isearch.el (isearch-face): Rename from `isearch'.
+ (isearch-highlight): Use new name.
+
+2010-09-17 Eli Zaretskii <eliz@gnu.org>
+
+ * fringe.el (fringe-mode, fringe-query-style): Use 4 pixels, not
+ 5, for `half' width fringes. (Bug#6933)
+
+2010-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/bytecomp.el (byte-compile-file-form-defvar)
+ (byte-compile-defvar): "foo/bar" does not lack a prefix.
+
+ * subr.el (y-or-n-p): Add the "(y or n)" that was lost somehow.
+
+2010-09-17 Stephen Berman <stephen.berman@gmx.net>
+
+ * dframe.el (dframe-reposition-frame-emacs): Use tool-bar-pixel-width
+ in calculating new frame position. Add more space between new and
+ parent on the left (Bug#7048).
+
+2010-09-17 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-compat.el (tramp-compat-with-temp-message): Make it a
+ defmacro.
+
+2010-09-16 Chong Yidong <cyd@stupidchicken.com>
+
+ * mail/sendmail.el: Add "*unsent mail*" to same-window-buffer-names.
+
+ * term/x-win.el (x-cut-buffer-or-selection-value): Define as
+ obsolete alias for x-selection-value.
+
+ * ido.el (ido-make-buffer-list): Fix error in 2010-08-22 merge.
+
+2010-09-16 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-cmds.el (tramp-cleanup-connection): Set tramp-autoload
+ cookie.
+
+2010-09-15 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-compat.el (tramp-compat-with-temp-message)
+ (tramp-compat-font-lock-add-keywords, tramp-compat-process-get)
+ (tramp-compat-process-put): New defuns.
+
+ * net/tramp.el (top):
+ * net/tramp-gvfs.el (top):
+ * net/tramp-cache.el (top): Use `tramp-compat-font-lock-add-keywords'.
+
+ * net/tramp.el (tramp-progress-reporter-update):
+ Use `tramp-compat-funcall'.
+
+ * net/tramp.el (tramp-process-actions):
+ * net/tramp-gvfs.el (tramp-gvfs-handler-askquestion):
+ * net/tramp-sh.el (tramp-handle-vc-registered)
+ (tramp-get-remote-stat, tramp-get-remote-readlink):
+ Use `tramp-compat-with-temp-message'.
+
+ * net/tramp-sh.el (top): Require 'cl.
+ (tramp-handle-start-file-process): Use `tramp-compat-process-get'.
+ (tramp-open-connection-setup-interactive-shell):
+ Use `tramp-compat-process-put'.
+
+2010-09-15 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-engine.el (c-forward-<>-arglist-recur): Correct the
+ indentation.
+ (c-forward-<>-arglist-recur): Fix an infinite recursion.
+
+2010-09-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/bytecomp.el (byte-compile-warning-types): New type
+ `lexical' for warnings related to lexical scoping.
+ (byte-compile-file-form-defvar, byte-compile-defvar): Warn about
+ global vars which don't have a prefix and could hence affect lexical
+ scoping in unrelated files.
+
+2010-09-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/imap.el: Revert back to version
+ cb950ed8ff3e0f40dac437a51b269166f9ffb60d, since some of the changes
+ seem problematic.
+
+2010-09-14 Juanma Barranquero <lekktu@gmail.com>
+
+ * obsolete/old-whitespace.el (whitespace-unload-function):
+ Explicitly pass `obarray' to `unintern' to avoid a warning.
+
+2010-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/byte-run.el (set-advertised-calling-convention):
+ Add `when' argument. Update callers.
+
+ * subr.el (unintern): Declare the obarray arg mandatory.
+
+2010-09-14 Glenn Morris <rgm@gnu.org>
+
+ * calendar/diary-lib.el (diary-list-entries-hook, diary-sort-entries):
+ Doc fixes.
+
+ * calendar/diary-lib.el (diary-included-files): New variable.
+ (diary-list-entries): Maybe initialize diary-included-files.
+ (diary-include-other-diary-files): Append to diary-included-files.
+ * calendar/appt.el (appt-update-list): Also check the members of
+ diary-included-files. (Bug#6999)
+ (appt-check): Doc fix.
+
+2010-09-14 David Reitter <david.reitter@gmail.com>
+
+ * simple.el (line-move-visual): Do not truncate goal column to
+ integer size. (Bug#7020)
+
+2010-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * repeat.el (repeat): Allow repeating when the last event is a click.
+ Suggested by Drew Adams (bug#6256).
+
+2010-09-14 Sascha Wilde <wilde@sha-bang.de>
+
+ * vc/vc-hg.el (vc-hg-state, vc-hg-working-revision):
+ Replace setting HGRCPATH to "" by some less invasive --config options.
+
+2010-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * font-lock.el (font-lock-beginning-of-syntax-function):
+ Mark as obsolete.
+
+2010-09-14 Glenn Morris <rgm@gnu.org>
+
+ * menu-bar.el (menu-bar-options-save): Fix handling of menu-bar
+ and tool-bar modes. (Bug#6211)
+ (menu-bar-mode): Move setting of standard-value after the
+ minor-mode definition, otherwise it seems to have no effect.
+
+2010-09-14 Masatake YAMATO <yamato@redhat.com>
+
+ * progmodes/antlr-mode.el (antlr-font-lock-additional-keywords):
+ Fix typo. (Bug#6976)
+
+2010-09-14 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * whitespace.el: Allow cleaning up blanks without blank
+ visualization (Bug#6651). Adjust help window for
+ whitespace-toggle-options (Bug#6479). Allow to use fill-column
+ instead of whitespace-line-column (from EmacsWiki). New version 13.1.
+ (whitespace-style): Add new value 'face. Adjust docstring.
+ (whitespace-space, whitespace-hspace, whitespace-tab):
+ Adjust foreground property face.
+ (whitespace-line-column): Adjust docstring and type declaration.
+ (whitespace-style-value-list, whitespace-toggle-option-alist)
+ (whitespace-help-text): Adjust const initialization.
+ (whitespace-toggle-options, global-whitespace-toggle-options):
+ Adjust docstring.
+ (whitespace-display-window, whitespace-interactive-char)
+ (whitespace-style-face-p, whitespace-color-on): Adjust code.
+ (whitespace-help-scroll): New fun.
+
+2010-09-14 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * calendar/time-date.el (format-seconds): Comment fix.
+
+2010-09-13 Michael R. Mauger <mmaug@yahoo.com>
+
+ * progmodes/sql.el: Version 2.7.
+ (sql-buffer-live-p): Improve detection.
+ (sql-find-sqli-buffer, sql-set-sqli-buffer-generally)
+ (sql-set-sqli-buffer): Use it.
+ (sql-product-interactive): Run `sql-set-sqli-hook'.
+ (sql-rename-buffer): Code cleanup.
+ (sql-redirect, sql-redirect-value): New functions. More to come.
+
+2010-09-13 Juanma Barranquero <lekktu@gmail.com>
+
+ Port tramp-related Makefile changes of 2010-09-08T14:42:54Z!michael.albinus@gmx.de, 2010-09-13T15:17:01Z!michael.albinus@gmx.de to Windows.
+ * makefile.w32-in (LOADDEFS): Add $(lisp)/net/tramp-loaddefs.el.
+ (TRAMP_SRC): New macro.
+ ($(lisp)/net/tramp-loaddefs.el): New target.
+
+2010-09-13 Michael Albinus <michael.albinus@gmx.de>
+
+ Major code cleanup. Split tramp.el into tramp.el and tramp-sh.el.
+
+ * Makefile.in (TRAMP_SRC): Remove tramp-fish.el. Add tramp-sh.el.
+
+ * net/tramp.el (top): Don't show loading message. Require just
+ 'tramp-compat, everything else is required there.
+ Use `ignore-errors' where appropriate.
+ (tramp-inline-compress-start-size, tramp-copy-size-limit)
+ (tramp-terminal-type, tramp-end-of-output)
+ (tramp-initial-end-of-output, 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, tramp-remote-path)
+ (tramp-remote-process-environment, tramp-sh-extra-args)
+ (tramp-actions-before-shell, tramp-uudecode)
+ (tramp-perl-file-truename, tramp-perl-file-name-all-completions)
+ (tramp-perl-file-attributes)
+ (tramp-perl-directory-files-and-attributes)
+ (tramp-perl-encode-with-module, tramp-perl-decode-with-module)
+ (tramp-perl-encode, tramp-perl-decode)
+ (tramp-vc-registered-read-file-names, tramp-file-mode-type-map)
+ (tramp-file-name-handler-alist, tramp-make-tramp-temp-file)
+ (tramp-handle-make-symbolic-link, tramp-handle-load)
+ (tramp-handle-file-name-as-directory)
+ (tramp-handle-file-name-directory)
+ (tramp-handle-file-name-nondirectory, tramp-handle-file-truename)
+ (tramp-handle-file-exists-p, tramp-handle-file-attributes)
+ (tramp-do-file-attributes-with-ls)
+ (tramp-do-file-attributes-with-perl)
+ (tramp-do-file-attributes-with-stat)
+ (tramp-handle-set-visited-file-modtime)
+ (tramp-handle-verify-visited-file-modtime)
+ (tramp-handle-set-file-modes, tramp-handle-set-file-times)
+ (tramp-set-file-uid-gid, tramp-remote-selinux-p)
+ (tramp-handle-file-selinux-context)
+ (tramp-handle-set-file-selinux-context)
+ (tramp-handle-file-executable-p, tramp-handle-file-readable-p)
+ (tramp-handle-file-newer-than-file-p, tramp-handle-file-modes)
+ (tramp-handle-file-directory-p, tramp-handle-file-regular-p)
+ (tramp-handle-file-symlink-p, tramp-handle-file-writable-p)
+ (tramp-handle-file-ownership-preserved-p)
+ (tramp-handle-directory-file-name, tramp-handle-directory-files)
+ (tramp-handle-directory-files-and-attributes)
+ (tramp-do-directory-files-and-attributes-with-perl)
+ (tramp-do-directory-files-and-attributes-with-stat)
+ (tramp-handle-file-name-all-completions)
+ (tramp-handle-file-name-completion, tramp-handle-add-name-to-file)
+ (tramp-handle-copy-file, tramp-handle-copy-directory)
+ (tramp-handle-rename-file, tramp-do-copy-or-rename-file)
+ (tramp-do-copy-or-rename-file-via-buffer)
+ (tramp-do-copy-or-rename-file-directly)
+ (tramp-do-copy-or-rename-file-out-of-band)
+ (tramp-handle-make-directory, tramp-handle-delete-directory)
+ (tramp-handle-delete-file)
+ (tramp-handle-dired-recursive-delete-directory)
+ (tramp-handle-dired-compress-file, tramp-handle-dired-uncache)
+ (tramp-handle-insert-directory)
+ (tramp-handle-unhandled-file-name-directory)
+ (tramp-handle-expand-file-name)
+ (tramp-handle-substitute-in-file-name)
+ (tramp-handle-executable-find, tramp-process-sentinel)
+ (tramp-handle-start-file-process, tramp-handle-process-file)
+ (tramp-handle-call-process-region, tramp-handle-shell-command)
+ (tramp-handle-file-local-copy, tramp-handle-file-remote-p)
+ (tramp-handle-insert-file-contents)
+ (tramp-handle-insert-file-contents-literally)
+ (tramp-handle-find-backup-file-name)
+ (tramp-handle-make-auto-save-file-name, tramp-handle-write-region)
+ (tramp-vc-registered-file-names, tramp-handle-vc-registered)
+ (tramp-sh-file-name-handler, tramp-vc-file-name-handler)
+ (tramp-maybe-send-script, tramp-set-auto-save, tramp-run-test)
+ (tramp-run-test2, tramp-find-executable, tramp-set-remote-path)
+ (tramp-find-file-exists-command, tramp-open-shell)
+ (tramp-find-shell, tramp-barf-if-no-shell-prompt)
+ (tramp-open-connection-setup-interactive-shell)
+ (tramp-local-coding-commands, tramp-remote-coding-commands)
+ (tramp-find-inline-encoding, tramp-call-local-coding-command)
+ (tramp-inline-compress-commands, tramp-find-inline-compress)
+ (tramp-compute-multi-hops, tramp-maybe-open-connection)
+ (tramp-send-command, tramp-wait-for-output)
+ (tramp-send-command-and-check, tramp-barf-unless-okay)
+ (tramp-send-command-and-read, tramp-mode-string-to-int)
+ (tramp-convert-file-attributes, tramp-check-cached-permissions)
+ (tramp-file-mode-from-int, tramp-file-mode-permissions)
+ (tramp-shell-case-fold, tramp-make-copy-program-file-name)
+ (tramp-method-out-of-band-p, tramp-local-host-p)
+ (tramp-get-remote-path, tramp-get-remote-tmpdir)
+ (tramp-get-ls-command, tramp-get-ls-command-with-dired)
+ (tramp-get-test-command, tramp-get-test-nt-command)
+ (tramp-get-file-exists-command, tramp-get-remote-ln)
+ (tramp-get-remote-perl, tramp-get-remote-stat)
+ (tramp-get-remote-readlink, tramp-get-remote-trash)
+ (tramp-get-remote-id, tramp-get-remote-uid, tramp-get-remote-gid)
+ (tramp-get-local-uid, tramp-get-local-gid)
+ (tramp-get-inline-compress, tramp-get-inline-coding): Move to
+ tramp-sh.el.
+ (tramp-methods, tramp-default-method-alist)
+ (tramp-default-user-alist, tramp-foreign-file-name-handler-alist):
+ Move initialization to tramp-sh.el.
+ (tramp-temp-name-prefix): Make it a defconst.
+ (tramp-dissect-file-name): Don't check anymore for multi-hop
+ methods.
+ (tramp-debug-outline-regexp): Add a docstring.
+ (tramp-debug-outline-level): Rename from `tramp-outline-level'.
+ (tramp-get-debug-buffer): Use it.
+
+ * net/tramp-cache.el (top): Set tramp-autoload cookie for
+ initialization forms.
+ (tramp-set-connection-property): Don't protect `tramp-message'
+ call, it isn't necessary any longer.
+ (tramp-dump-connection-properties): Use `ignore-errors'.
+
+ * net/tramp-compat.el (top): Require 'advice, 'format-spec,
+ 'password-cache and 'auth-source.
+
+ * net/tramp-gvfs.el (top):
+ * net/tramp-smb.el (top): Require 'tramp-sh.
+
+ * net/tramp-gw.el (tramp-gw-open-network-stream): Use `ignore-errors'.
+
+ * net/tramp-sh.el: New file, derived from tramp.el.
+ (top): Initialize `tramp-methods', `tramp-default-method-alist',
+ `tramp-default-user-alist', `tramp-foreign-file-name-handler-alist'.
+ Remove "scp1_old", "scp2_old", "ssh1_old", "ssh2_old".
+ Use `ignore-errors' where appropriate.
+ (tramp-sh-file-name-handler-alist): Rename from
+ `tramp-file-name-handler-alist'.
+ (tramp-send-command-and-check): Return t or nil. Remove all
+ `zerop' checks, where called.
+ (tramp-handle-set-file-modes)
+ (tramp-do-copy-or-rename-file-directly)
+ (tramp-handle-delete-directory, tramp-handle-delete-file)
+ (tramp-maybe-send-script): Use `tramp-barf-unless-okay'.
+ (tramp-sh-file-name-handler, tramp-send-command-and-check)
+ (tramp-get-remote-ln): Set tramp-autoload cookie.
+
+ * net/tramp-fish.el: Remove file.
+
+2010-09-13 Daiki Ueno <ueno@unixuser.org>
+
+ * epa-file.el (epa-file-insert-file-contents): If visiting, bind
+ buffer-file-name to avoid file-locking. (Bug#7026)
+
+2010-09-13 Julien Danjou <julien@danjou.info>
+
+ * notifications.el (notifications-notify): Add support for
+ image-path and sound-name.
+ (notifications-specification-version): Add this variable.
+
+2010-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (y-or-n-p): New function, moved from src/fns.c; use read-key.
+
+2010-09-12 Leo <sdl.web@gmail.com>
+
+ * net/rcirc.el (rcirc-server-commands, rcirc-client-commands)
+ (rcirc-completion-start): New variables.
+ (rcirc-nick-completions): Rename to rcirc-completions.
+ (rcirc-nick-completion-start-offset): Delete.
+ (rcirc-completion-at-point): New function for constructing
+ completion data for both nicks and irc commands. Add to
+ completion-at-point-functions in rcirc mode.
+ (rcirc-complete): Rename from rcirc-nick-complete; use
+ rcirc-completion-at-point.
+ (defun-rcirc-command): Update rcirc-client-commands.
+
+2010-09-11 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/bytecomp.el (byte-compile-file): Create .elc files
+ atomically, to avoid parallel build errors. (Bug#4196)
+
+2010-09-11 Michael R. Mauger <mmaug@yahoo.com>
+
+ * progmodes/sql.el: Version 2.6
+ (sql-dialect): Synonym for "sql-product".
+ (sql-find-sqli-buffer, sql-set-sqli-buffer-generally)
+ (sql-set-sqli-buffer, sql-show-sqli-buffer, sql-interactive-mode):
+ Set "sql-buffer" to buffer name not buffer object so multiple sql
+ interactive buffers work properly. Reverts misguided changes in
+ earlier work.
+ (sql-comint): Make sure different buffer name is used if "*SQL*"
+ buffer is for a different product.
+ (sql-make-alternate-buffer-name): Fix bug with "sql-database"
+ login param.
+ (sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql)
+ (sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase)
+ (sql-db2, sql-linter, sql-product-interactive, sql-rename-buffer):
+ Accept new buffer name or prompt for one.
+ (sql-port): Default to zero.
+ (sql-comint-mysql): Handle "sql-port" as a numeric.
+ (sql-port-history): Delete unused variable.
+ (sql-get-login): Default "sql-port" to a number.
+ (sql-product-alist): Correct Postgres prompt and terminator regexp.
+ (sql-sqlite-program): Dynamically detect presence of "sqlite" or
+ "sqlite3" executables.
+ (sql-sqlite-login-params): Add "*.sqlite[23]?" database name pattern.
+ (sql-buffer-live-p): New function.
+ (sql-mode-menu, sql-send-string): Use it.
+ (sql-mode-oracle-font-lock-keywords): Improve SQL*Plus REMARK
+ syntax pattern.
+ (sql-mode-postgres-font-lock-keywords): Support Postgres V9.
+ (sql-mode-sqlite-font-lock-keywords): Hilight sqlite commands.
+
+2010-09-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/netrc.el (netrc-credentials): New convenience function.
+
+2010-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textmodes/texinfo.el (texinfo-syntax-propertize-function): New fun
+ to replace texinfo-font-lock-syntactic-keywords.
+ (texinfo-mode): Use it.
+
+ * textmodes/tex-mode.el (tex-common-initialization, doctex-mode):
+ Use syntax-propertize-function.
+
+ * textmodes/sgml-mode.el (sgml-syntax-propertize-function): New var to
+ replace sgml-font-lock-syntactic-keywords.
+ (sgml-mode): Use it.
+
+ * textmodes/reftex.el (font-lock-syntactic-keywords): Don't declare
+ since we don't use it.
+
+ * textmodes/bibtex.el (bibtex-mode): Use syntax-propertize-function.
+
+ * progmodes/vhdl-mode.el (vhdl-mode): Use syntax-propertize-function
+ if available.
+ (vhdl-fontify-buffer): Adjust.
+
+ * progmodes/tcl.el (tcl-syntax-propertize-function): New var to
+ replace tcl-font-lock-syntactic-keywords.
+ (tcl-mode): Use it.
+
+ * progmodes/simula.el (simula-syntax-propertize-function): New var to
+ replace simula-font-lock-syntactic-keywords.
+ (simula-mode): Use it.
+
+ * progmodes/sh-script.el (sh-st-symbol): Remove.
+ (sh-font-lock-close-heredoc, sh-font-lock-open-heredoc): Add eol arg.
+ (sh-font-lock-flush-syntax-ppss-cache, sh-font-lock-here-doc): Remove.
+ (sh-font-lock-quoted-subshell): Assume we've already matched $(.
+ (sh-font-lock-paren): Set syntax-multiline.
+ (sh-font-lock-syntactic-keywords): Remove.
+ (sh-syntax-propertize-function): New function to replace it.
+ (sh-mode): Use it.
+
+ * progmodes/ruby-mode.el (ruby-here-doc-beg-re):
+ Define while compiling.
+ (ruby-here-doc-end-re, ruby-here-doc-beg-match)
+ (ruby-font-lock-syntactic-keywords, ruby-comment-beg-syntax)
+ (syntax-ppss, ruby-in-ppss-context-p, ruby-in-here-doc-p)
+ (ruby-here-doc-find-end, ruby-here-doc-beg-syntax)
+ (ruby-here-doc-end-syntax): Only define when
+ syntax-propertize is not available.
+ (ruby-syntax-propertize-function, ruby-syntax-propertize-heredoc):
+ New functions.
+ (ruby-in-ppss-context-p): Update to new syntax of heredocs.
+ (electric-indent-chars): Silence bytecompiler.
+ (ruby-mode): Use prog-mode, syntax-propertize-function, and
+ electric-indent-chars.
+
+ * progmodes/python.el (python-syntax-propertize-function): New var to
+ replace python-font-lock-syntactic-keywords.
+ (python-mode): Use it.
+ (python-quote-syntax): Simplify and adjust to new use.
+
+ * progmodes/perl-mode.el (perl-syntax-propertize-function): New fun to
+ replace perl-font-lock-syntactic-keywords.
+ (perl-syntax-propertize-special-constructs): New fun to replace
+ perl-font-lock-special-syntactic-constructs.
+ (perl-font-lock-syntactic-face-function): New fun.
+ (perl-mode): Use it.
+
+ * progmodes/octave-mod.el (octave-syntax-propertize-sqs): New function
+ to replace octave-font-lock-close-quotes.
+ (octave-syntax-propertize-function): New function to replace
+ octave-font-lock-syntactic-keywords.
+ (octave-mode): Use it.
+
+ * progmodes/mixal-mode.el (mixal-syntax-propertize-function): New var;
+ replaces mixal-font-lock-syntactic-keywords.
+ (mixal-mode): Use it.
+
+ * progmodes/make-mode.el (makefile-syntax-propertize-function):
+ New var; replaces makefile-font-lock-syntactic-keywords.
+ (makefile-mode): Use it.
+ (makefile-imake-mode): Adjust.
+
+ * progmodes/js.el (js--regexp-literal): Define while compiling.
+ (js-syntax-propertize-function): New var; replaces
+ js-font-lock-syntactic-keywords.
+ (js-mode): Use it.
+
+ * progmodes/gud.el (gdb-script-syntax-propertize-function): New var;
+ replaces gdb-script-font-lock-syntactic-keywords.
+ (gdb-script-mode): Use it.
+
+ * progmodes/fortran.el (fortran-mode): Use syntax-propertize-function.
+ (fortran--font-lock-syntactic-keywords): New var.
+ (fortran-line-length): Update syntax-propertize-function and
+ fortran--font-lock-syntactic-keywords.
+
+ * progmodes/cperl-mode.el (cperl-mode): Use syntax-propertize-function.
+
+ * progmodes/cfengine.el (cfengine-mode):
+ Use syntax-propertize-function.
+ (cfengine-font-lock-syntactic-keywords): Remove.
+
+ * progmodes/autoconf.el (autoconf-mode):
+ Use syntax-propertize-function.
+ (autoconf-font-lock-syntactic-keywords): Remove.
+
+ * progmodes/ada-mode.el (ada-set-syntax-table-properties)
+ (ada-after-change-function, ada-initialize-syntax-table-properties)
+ (ada-handle-syntax-table-properties): Only define when
+ syntax-propertize is not available.
+ (ada-mode): Use syntax-propertize-function.
+
+ * font-lock.el (font-lock-syntactic-keywords): Make obsolete.
+ (font-lock-fontify-syntactic-keywords-region): Move handling of
+ font-lock-syntactically-fontified to...
+ (font-lock-default-fontify-region): ...here.
+ Let syntax-propertize-function take precedence.
+ (font-lock-fontify-syntactically-region): Cal syntax-propertize.
+
+ * emacs-lisp/syntax.el (syntax-propertize-function)
+ (syntax-propertize-chunk-size, syntax-propertize--done)
+ (syntax-propertize-extend-region-functions): New vars.
+ (syntax-propertize-wholelines, syntax-propertize-multiline)
+ (syntax-propertize--shift-groups, syntax-propertize-via-font-lock)
+ (syntax-propertize): New functions.
+ (syntax-propertize-rules): New macro.
+ (syntax-ppss-flush-cache): Set syntax-propertize--done.
+ (syntax-ppss): Call syntax-propertize.
+
+ * emacs-lisp/regexp-opt.el (regexp-opt-depth): Skip named groups.
+
+2010-09-10 Agustín Martín <agustin.martin@hispalinux.es>
+
+ * textmodes/ispell.el (ispell-init-process): Improve comments.
+ XEmacs compatibility changes regarding (add-hook) 'local option
+ and (set-process-query-on-exit-flag).
+
+2010-09-09 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-cache.el (tramp-parse-connection-properties):
+ Set tramp-autoload cookie.
+
+2010-09-09 Glenn Morris <rgm@gnu.org>
+
+ * image.el (imagemagick-types-inhibit): Add :type, :version, :group.
+ (imagemagick-register-types): Doc fix.
+
+2010-09-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/octave-mod.el (electric-indent-chars): Silence bytecomp.
+
+ * progmodes/js.el (require): Require is already "eval-and-compile".
+ (js--re-search-forward): Avoid `eval'. Preserve the error data.
+ (js--re-search-backward): Use js--re-search-forward.
+
+ * progmodes/fortran.el (fortran-line-length): Don't recompute
+ syntactic keywords redundantly a second time.
+
+ * progmodes/ada-mode.el: Replace "(set '" with setq.
+ (ada-mode): Simplify.
+ (ada-create-case-exception, ada-adjust-case-interactive)
+ (ada-adjust-case-region, ada-format-paramlist, ada-indent-current)
+ (ada-search-ignore-string-comment, ada-move-to-start)
+ (ada-move-to-end): Use with-syntax-table.
+
+ * font-lock.el (save-buffer-state): Remove `varlist' arg.
+ (font-lock-unfontify-region, font-lock-default-fontify-region):
+ Update usage correspondingly.
+ (font-lock-fontify-syntactic-keywords-region):
+ Set parse-sexp-lookup-properties buffer-locally here.
+ (font-lock-fontify-syntactically-region): Remove unused `ppss' arg.
+
+ * simple.el (blink-matching-open): Don't burp if we can't find a match.
+
+2010-09-08 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/bytecomp.el (byte-compile-report-ops):
+ Error if not compiled with -DBYTE_CODE_METER.
+
+ * emacs-lisp/bytecomp.el (byte-recompile-directory):
+ Ignore dir-locals-file.
+
+2010-09-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/compile.el (compilation-error-regexp-alist-alist):
+ Not a const.
+ (compilation-error-regexp-alist-alist): Rule out ": " in file names
+ for the `gnu' messages.
+ (compilation-set-skip-threshold): New command.
+ (compilation-start): Use \' rather than $.
+ (compilation-forget-errors): Use clrhash.
+
+2010-09-08 Agustín Martín <agustin.martin@hispalinux.es>
+
+ * textmodes/ispell.el (ispell-valid-dictionary-list):
+ Simplify logic.
+
+2010-09-08 Michael Albinus <michael.albinus@gmx.de>
+
+ Migrate to Tramp 2.2. Rearrange load dependencies.
+ (Bug#1529, Bug#5448, Bug#5705)
+
+ * Makefile.in (TRAMP_DIR, TRAMP_SRC): New variables.
+ ($(TRAMP_DIR)/tramp-loaddefs.el): New target.
+ (LOADDEFS): Add $(lisp)/net/tramp-loaddefs.el.
+
+ * net/tramp.el (top): Remove all other tramp-* loads except
+ tramp-compat.el. Remove all changes to tramp-unload-hook for
+ other tramp-* packages. Rearrange defun order. Change calls of
+ `tramp-compat-call-process', `tramp-compat-decimal-to-octal',
+ `tramp-compat-octal-to-decimal' to new function names.
+ (tramp-terminal-type, tramp-initial-end-of-output)
+ (tramp-methods, tramp-foreign-file-name-handler-alist)
+ (tramp-tramp-file-p, tramp-completion-mode-p)
+ (tramp-send-command-and-check, tramp-get-remote-path)
+ (tramp-get-remote-tmpdir, tramp-get-remote-ln)
+ (tramp-shell-quote-argument): Set tramp-autoload cookie.
+ (with-file-property, with-connection-property): Move to
+ tramp-cache.el.
+ (tramp-local-call-process, tramp-decimal-to-octal)
+ (tramp-octal-to-decimal): Move to tramp-compat.el.
+ (tramp-handle-shell-command): Do not require 'shell.
+ (tramp-compute-multi-hops): No special handling for tramp-gw-*
+ symbols.
+ (tramp-unload-tramp): Do not call `tramp-unload-file-name-handlers'.
+
+ * net/tramp-cache.el (top): Require 'tramp. Add to
+ `tramp-unload-hook'.
+ (tramp-cache-data, tramp-get-file-property)
+ (tramp-set-file-property, tramp-flush-file-property)
+ (tramp-flush-directory-property, tramp-get-connection-property)
+ (tramp-set-connection-property, tramp-flush-connection-property)
+ (tramp-cache-print, tramp-list-connections): Set tramp-autoload
+ cookie.
+ (with-file-property, with-connection-property): New defuns, moved
+ from tramp.el.
+ (tramp-flush-file-function): Use `with-parsed-tramp-file-name'
+ macro.
+
+ * net/tramp-cmds.el (top): Add to `tramp-unload-hook'.
+ (tramp-version): Set tramp-autoload cookie.
+
+ * net/tramp-compat.el (top): Require 'tramp-loaddefs. Remove all
+ changes to tramp-unload-hook for other tramp-* packages. Add to
+ `tramp-unload-hook'.
+ (tramp-compat-decimal-to-octal, tramp-compat-octal-to-decimal)
+ (tramp-compat-call-process): New defuns, moved from tramp.el.
+
+ * net/tramp-fish.el (top) Require just 'tramp. Add objects to
+ `tramp-methods' and `tramp-foreign-file-name-handler-alist'.
+ Add to `tramp-unload-hook'. Change call of
+ `tramp-compat-decimal-to-octal' to new function name.
+ (tramp-fish-method): Make it a defconst.
+ (tramp-fish-file-name-p): Make it a defsubst.
+ (tramp-fish-method, tramp-fish-file-name-handler)
+ (tramp-fish-file-name-p): Set tramp-autoload cookie.
+
+ * net/tramp-ftp.el (top) Add objects to `tramp-methods' and
+ `tramp-foreign-file-name-handler-alist'. Add to
+ `tramp-unload-hook'.
+ (tramp-ftp-method): Make it a defconst.
+ (tramp-ftp-file-name-p): Make it a defsubst.
+ (tramp-ftp-method, tramp-ftp-file-name-handler)
+ (tramp-ftp-file-name-p): Set tramp-autoload cookie.
+
+ * net/tramp-gvfs.el (top) Add objects to `tramp-methods' and
+ `tramp-foreign-file-name-handler-alist'. Add to
+ `tramp-unload-hook'. Change checks, whether package can be
+ loaded.
+ (tramp-gvfs-file-name-p): Make it a defsubst.
+ (tramp-gvfs-methods, tramp-gvfs-file-name-handler)
+ (tramp-gvfs-file-name-p): Set tramp-autoload cookie.
+ (tramp-gvfs-handle-file-directory-p): New defun.
+ (tramp-gvfs-file-name-handler-alist): Use it.
+
+ * net/tramp-gw.el (top) Add objects to `tramp-methods' and
+ `tramp-foreign-file-name-handler-alist'. Add to
+ `tramp-unload-hook'.
+ (tramp-gw-tunnel-method, tramp-gw-default-tunnel-port)
+ (tramp-gw-socks-method, tramp-gw-default-socks-port): Make it a
+ defconst.
+ (tramp-gw-tunnel-method, tramp-gw-socks-method)
+ (tramp-gw-open-connection): Set tramp-autoload cookie.
+
+ * net/tramp-imap.el (top) Require just 'tramp. Add objects to
+ `tramp-methods' and `tramp-foreign-file-name-handler-alist'.
+ Add to `tramp-unload-hook'. Change checks, whether package can be
+ loaded.
+ (tramp-imap-file-name-p): Make it a defsubst.
+ (tramp-imap-method, tramp-imaps-method)
+ (tramp-imap-file-name-handler)
+ (tramp-imap-file-name-p): Set tramp-autoload cookie.
+
+ * net/tramp-smb.el (top) Require just 'tramp. Add objects to
+ `tramp-methods' and `tramp-foreign-file-name-handler-alist'.
+ Add to `tramp-unload-hook'. Change checks, whether package can be
+ loaded. Change call of `tramp-compat-decimal-to-octal' to new
+ function name.
+ (tramp-smb-tunnel-method): Make it a defconst.
+ (tramp-smb-file-name-p): Make it a defsubst.
+ (tramp-smb-method, tramp-smb-file-name-handler)
+ (tramp-smb-file-name-p): Set tramp-autoload cookie.
+
+ * net/tramp-uu.el (top) Add to `tramp-unload-hook'.
+ (tramp-uuencode-region): Set tramp-autoload cookie.
+
+ * net/trampver.el (top) Add to `tramp-unload-hook'.
+ (tramp-version, tramp-bug-report-address): Set tramp-autoload
+ cookie. Update release number.
+
+2010-09-07 Agustín Martín <agustin.martin@hispalinux.es>
+
+ * textmodes/ispell.el (ispell-start-process): Make sure original
+ arg list is properly initialized (Bug#6993, Bug#6994).
+
+2010-09-06 Alexander Klimov <alserkli@inbox.ru> (tiny change)
+
+ * files.el (directory-abbrev-alist): Use \` as default regexp.
+
+ * emacs-lisp/rx.el (rx-any): Don't explode ranges that end in special
+ chars like - or ] (bug#6984).
+ (rx-any-condense-range): Explode 2-char ranges.
+
+2010-09-06 Glenn Morris <rgm@gnu.org>
+
+ * desktop.el (desktop-path): Bump :version after 2009-09-15 change.
+
+2010-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textmodes/bibtex.el:
+ * proced.el: Update to new email for Roland Winkler <winkler@gnu.org>.
+
+2010-09-05 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/imap.el (imap-message-map): Remove optional buffer parameter,
+ since no callers use it.
+ (imap-message-get): Ditto.
+ (imap-message-put): Ditto.
+ (imap-mailbox-map): Ditto.
+ (imap-mailbox-put): Ditto.
+ (imap-mailbox-get): Ditto.
+ (imap-mailbox-get): Revert last change for this function.
+
+2010-09-05 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/imap.el (imap-fetch-safe): Remove function, and alter all
+ callers to use `imap-fetch' instead. According to the comments, this
+ should be safe, since all other IMAP clients use the 1:* syntax.
+ (imap-enable-exchange-bug-workaround): Remove.
+ (imap-debug): Remove -- doesn't seem very useful.
+
+2010-09-05 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/imap.el (imap-log): New convenience function used throughout
+ instead of repeating the same code all over the place.
+
+2010-09-05 David De La Harpe Golden <david@harpegolden.net>
+
+ * mouse.el (mouse-save-then-kill): Save region to kill-ring
+ when mouse-drag-copy-region is non-nil (Bug#6956).
+
+2010-09-05 Chong Yidong <cyd@stupidchicken.com>
+
+ * dired.el (dired-ls-sorting-switches, dired-sort-by-name-regexp):
+ Improve regexps (Bug#6987).
+ (dired-sort-toggle): Search more robustly for -t flag.
+
+ * files.el (get-free-disk-space): Search more robustly for
+ "available" column. Suggested by Ehud Karni
+ <ehud@unix.mvs.co.il>.
+
+2010-09-05 Juanma Barranquero <lekktu@gmail.com>
+
+ * international/uni-bidi.el:
+ * international/uni-category.el:
+ * international/uni-combining.el:
+ * international/uni-decimal.el:
+ * international/uni-mirrored.el:
+ * international/uni-name.el: Regenerate.
+
+2010-09-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * electric.el (electric-indent-post-self-insert-function):
+ Don't reindent with a sloppy indentation function.
+
+ * emacs-lisp/syntax.el (syntax-ppss): More sanity check to catch
+ border case in change-log-mode.
+
+2010-09-04 Chong Yidong <cyd@stupidchicken.com>
+
+ * progmodes/compile.el (compilation-error-regexp-alist-alist):
+ Remove ruby regexp; handle Ruby errors with gcc-include and gnu.
+ Recognize leading tab in gcc-include regexp. Ignore names with
+ leading "from" or "in" in gnu regexp (Bug#6937).
+
+2010-09-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Avoid global recursive calls to kill-buffer-hooks; fit into 80 cols.
+ * textmodes/ispell.el (ispell-process-buffer-name): Remove.
+ (ispell-start-process): Avoid setq and simplify logic.
+ (ispell-init-process): Setup kill-buffer-hook locally when needed.
+ (kill-buffer-hook): Don't use it globally with code that uses
+ expand-file-name since that may call kill-buffer via
+ code_conversion_restore.
+
+2010-09-04 Noorul Islam K M <noorul@noorul.com> (tiny change)
+
+ * emacs-lisp/package.el (package-directory-list): Only call
+ file-name-nondirectory on a string.
+
+2010-09-02 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/package.el (package--download-one-archive):
+ Ensure that archive-contents is valid before saving it.
+ (package-activate-1, package-mark-obsolete, define-package)
+ (package-compute-transaction, package-list-maybe-add): Use push.
+
+2010-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Use SMIE's blink-paren for octave-mode.
+ * progmodes/octave-mod.el (octave-font-lock-close-quotes):
+ Backslashes do not escape single-quotes, single-quotes do.
+ (octave-block-else-regexp, octave-block-end-regexp)
+ (octave-block-match-alist): Remove.
+ (octave-smie-bnf-table): New var, with old content.
+ (octave-smie-op-levels): Use it.
+ (octave-smie-closer-alist): New var.
+ (octave-mode): Use it. Setup smie-blink-matching and electric-indent.
+ (octave-blink-matching-block-open): Remove.
+ (octave-reindent-then-newline-and-indent, octave-electric-semi)
+ (octave-electric-space): Let self-insert-command run expand-abbrev and
+ blink parens.
+
+ * electric.el (electricity): New group.
+ (electric-indent-chars): New var.
+ (electric-indent-post-self-insert-function): New fun.
+ (electric-indent-mode): New minor mode.
+ (electric-pair-skip-self): New custom.
+ (electric-pair-post-self-insert-function): New function.
+ (electric-pair-mode): New minor mode.
+
+ * calc/calc-aent.el (calcAlg-blink-matching-check): New fun, to replace
+ calcAlg-blink-matching-open.
+ (calc-alg-ent-map, calc-alg-ent-esc-map): Initialize in the declaration.
+ (calc-do-alg-entry): Only touch the part of the keymap that varies.
+ Use the new blink-matching-check-function.
+
+ Provide blink-matching support to SMIE.
+ * emacs-lisp/smie.el (smie-bnf-closer-alist): New function.
+ (smie-blink-matching-triggers, smie-blink-matching-inners): New vars.
+ (smie-blink-matching-check, smie-blink-matching-open): New functions.
+
+ * simple.el (newline): Fix last change to properly remove itself from
+ the hook.
+
+2010-09-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * simple.el (newline): Eliminate optimization.
+ Use post-self-insert-hook to set hard-newline and things before
+ running post-self-insert-hook.
+ (blink-matching-check-mismatch): New function.
+ (blink-matching-check-function): New variable.
+ (blink-matching-open): Use them.
+ Skip back forward over prefix chars skipped by forward-sexp.
+ Don't check if the parens are backslash escaped.
+ (blink-paren-post-self-insert-function): Check backslash escaping here.
+
+2010-09-02 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/package.el (package-menu-mode-map):
+ Change package-menu-revert bindings to revert-buffer.
+ (package-menu-mode): Set revert-buffer-function.
+ (package-menu-revert): Doc fix.
+
+2010-09-02 Agustín Martín <agustin.martin@hispalinux.es>
+
+ * textmodes/ispell.el (ispell-init-process): Use "~/" as
+ `default-directory' unless using Ispell per-directory personal
+ dictionaries and not in a mini-buffer under XEmacs.
+ (kill-buffer-hook): Do not kill ispell process on exit when
+ `ispell-process-directory' is "~/". (Bug#6143)
+
+2010-09-02 Jan Djärv <jan.h.d@swipnet.se>
+
+ * simple.el (kill-new): Call interprogram-cut-function with only
+ one argument.
+
+ * term.el (term-mouse-paste): Don't call x-get-cutbuffer.
+ Remove cut buffer from error message.
+
+ * term/x-win.el (x-select-text):
+ * term/pc-win.el (x-selection-value):
+ * term/ns-win.el (x-selection-value):
+ * eshell/em-term.el:
+ * w32-fns.el (x-get-selection-value):
+ * mouse-sel.el (mouse-sel-set-selection-function):
+ * frame.el (display-selections-p): Remove cut-buffer in documentation.
+
+ * term/x-win.el: Update documentation for x-last-selected-text-*.
+ (x-last-selected-text-cut, x-last-selected-text-cut-encoded)
+ (x-last-cut-buffer-coding, x-cut-buffer-max): Remove.
+ (x-select-text): Remove argument PUSH, update documentation.
+ Remove cut-buffer code.
+ (x-selection-value-internal): Was previously x-selection-value.
+ (x-selection-value): Rename from x-cut-buffer-or-selection-value.
+ Update documentation, remove cut-buffer code.
+ Call x-selection-value-internal.
+ (x-clipboard-yank): Call x-selection-value-internal.
+ (x-initialize-window-system): Remove setting of x-cut-buffer-max.
+
+ * term/pc-win.el (x-last-selected-text):
+ x-cut-buffer-or-selection-value renamed to x-selection-value
+ (x-select-text): Remove argument PUSH, update documentation.
+
+ * term/ns-win.el (x-setup-function-keys, ns-last-selected-text):
+ x-cut-buffer-or-selection-value renamed to x-selection-value
+ (x-selection-value): Rename from x-cut-buffer-or-selection-value.
+ (x-select-text): Remove argument PUSH, update documentation.
+
+ * emacs-lisp/cl-macs.el (x-get-cutbuffer, x-get-cut-buffer): Remove.
+
+ * w32-fns.el (x-last-selected-text):
+ x-cut-buffer-or-selection-value renamed to x-selection-value.
+ (x-cut-buffer-max): Remove.
+ (x-select-text): Remove argument PUSH, update documentation.
+
+ * simple.el (interprogram-cut-function): Remove mention of PUSH.
+
+ * select.el (x-get-cut-buffer, x-set-cut-buffer): Remove.
+
+ * mouse-sel.el (mouse-sel-get-selection-function):
+ x-cut-buffer-or-selection-value renamed to x-selection-value.
+ (x-select-text): Remove optional push.
+
+2010-09-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * simple.el (blink-paren-function): Move from C to here.
+ (blink-paren-post-self-insert-function): New function.
+ (post-self-insert-hook): Use it.
+
+ * emacs-lisp/pcase.el (pcase-split-memq):
+ Fix overenthusiastic optimisation.
+ (pcase-u1): Handle the case of a lambda pred.
+
+2010-08-31 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el (standard-display-european-internal):
+ Setup standard-display-table for 8-bit characters by storing 8-bit
+ characters in the element vector.
+
+ * disp-table.el (standard-display-8bit):
+ Setup standard-display-table for 8-bit characters by storing 8-bit
+ characters in the element vector.
+ (standard-display-european): Likewise.
+
+2010-08-31 Masatake YAMATO <yamato@redhat.com>
+
+ * textmodes/nroff-mode.el (nroff-view): New command.
+ (nroff-mode-map): Bind it to C-c C-c.
+
+2010-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el (smie-down-list): New command.
+
+ Remove old indentation and navigation code on octave-mode.
+ * progmodes/octave-mod.el (octave-mode-map): Remap down-list to
+ smie-down-list rather than add a binding for octave-down-block.
+ (octave-mark-block, octave-blink-matching-block-open):
+ Rely on forward-sexp-function.
+ (octave-fill-paragraph): Don't narrow, so you can use
+ indent-according-to-mode.
+ (octave-block-begin-regexp, octave-block-begin-or-end-regexp): Remove.
+ (octave-in-block-p, octave-re-search-forward-kw)
+ (octave-re-search-backward-kw, octave-indent-calculate)
+ (octave-end-as-array-index-p, octave-block-end-offset)
+ (octave-scan-blocks, octave-forward-block, octave-backward-block)
+ (octave-down-block, octave-backward-up-block, octave-up-block)
+ (octave-before-magic-comment-p, octave-indent-line): Remove.
+
+2010-08-31 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/package.el (package--read-archive-file): Just use
+ `read', to avoid copying an additional string.
+ (package-menu-mode): Set header-line-format here.
+ (package-menu-refresh, package-menu-revert): Signal an error if
+ not in the Package Menu.
+ (package-menu-package-list): New var.
+ (package--generate-package-list): Operate on the current buffer;
+ don't assume that it is *Packages*, since the user may rename it.
+ Allow persistent package listings and sort keys using
+ package-menu-package-list and package-menu-package-sort-key.
+ (package-menu--version-predicate): Fix version calculation.
+ (package-menu-sort-by-column): Don't select the window.
+ (package--list-packages): Create the *Packages* buffer.
+ Set package-menu-package-list-key.
+ (list-packages): Sorting by status is now the default.
+ (package-buffer-info): Use match-string-no-properties.
+ (define-package): Add a &rest argument for future proofing, but
+ don't use it yet.
+ (package-install-from-buffer, package-install-buffer-internal):
+ Merge into a single function, package-install-from-buffer.
+ (package-install-file): Change caller.
+
+ * finder.el: Load finder-inf using `require'.
+ (finder-list-matches): Sorting by status is now the default.
+ (finder-compile-keywords): Simpify printing.
+
+2010-08-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/octave-mod.el (octave-font-lock-keywords): Use regexp-opt.
+ (octave-mode-map): Remove special bindings for forward/backward-block
+ and octave-backward-up-block. Use smie-close-block.
+ (octave-continuation-marker-regexp): New var.
+ (octave-continuation-regexp): Use it.
+ (octave-operator-table, octave-smie-op-levels)
+ (octave-operator-regexp, octave-smie-indent-rules): New vars.
+ (octave-smie-backward-token, octave-smie-forward-token): New funs.
+ (octave-mode): Use SMIE.
+ (octave-close-block): Delete.
+
+2010-08-30 Eli Zaretskii <eliz@gnu.org>
+
+ * menu-bar.el (menu-bar-edit-menu) <"Paste">: Check selection in
+ CLIPBOARD, not in PRIMARY. (Bug#6944)
+
+2010-08-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el (smie-indent-offset-rule): Let :parent take
+ a list of parents.
+ (smie-indent-column): Allow indirection through variables.
+
+ * composite.el (save-buffer-state): Delete, unused.
+ * font-lock.el (save-buffer-state): Use with-silent-modifications.
+ (font-lock-default-fontify-region): Use with-syntax-table.
+ * jit-lock.el (with-buffer-unmodified): Remove.
+ (with-buffer-prepared-for-jit-lock): Use with-silent-modifications.
+
+ Use `declare' in defmacros.
+ * window.el (save-selected-window):
+ * subr.el (with-temp-file, with-temp-message, with-syntax-table):
+ * progmodes/python.el (def-python-skeleton):
+ * net/dbus.el (dbus-ignore-errors):
+ * jka-cmpr-hook.el (with-auto-compression-mode):
+ * international/mule.el (with-category-table):
+ * emacs-lisp/timer.el (with-timeout):
+ * emacs-lisp/lisp-mnt.el (lm-with-file):
+ * emacs-lisp/eieio.el (with-slots):
+ * emacs-lisp/easymenu.el (easy-menu-define):
+ * emacs-lisp/debug.el (debugger-env-macro):
+ * emacs-lisp/cl-compat.el (Multiple-value-bind, Multiple-value-setq)
+ (Multiple-value-call, Multiple-value-prog1):
+ * emacs-lisp/cl-seq.el (cl-parsing-keywords, cl-check-key)
+ (cl-check-test-nokey, cl-check-test, cl-check-match): Move indent and
+ edebug rule to definition.
+ * emacs-lisp/lisp-mode.el (save-selected-window)
+ (with-current-buffer, combine-after-change-calls)
+ (with-output-to-string, with-temp-file, with-temp-buffer)
+ (with-temp-message, with-syntax-table, read-if, eval-after-load)
+ (dolist, dotimes, when, unless):
+ * emacs-lisp/byte-run.el (inline): Remove indent rule, redundant.
+
+2010-08-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * finder.el: Require `package'.
+ (finder-known-keywords): Tweak descriptions. Retire `oop' keyword.
+ (finder-package-info): Var deleted.
+ (finder-keywords-hash, finder--builtins-alist): New vars.
+ (finder-compile-keywords): Compute package--builtins and
+ finder-keywords-hash instead of finder-keywords-hash, respecting
+ the "Package" header.
+ (finder-unknown-keywords, finder-list-matches):
+ Use finder-keywords-hash and package--list-packages.
+ (finder-mode): Don't set font-lock-defaults.
+ (finder-exit): We don't use "*Finder-package*" and "*Finder
+ Category*" buffers anymore.
+
+ * emacs-lisp/package.el (package--builtins-base): Var deleted.
+ (package--builtins): Set default value to nil.
+ (package-initialize): Load precomputed value of package--builtins
+ from finder-inf.el.
+ (package-alist, package-compute-transaction)
+ (package-download-transaction): Improve docstring.
+ (package-read-all-archive-contents): Do not change
+ package--builtins here.
+ (list-packages): Make package-list-packages an alias for this.
+ Sort by status by default.
+ (package--list-packages): Add optional PACKAGES arg.
+ (describe-package-1): Use font-lock-face property. For built-in
+ packages, insert file commentary.
+ (package--generate-package-list): Rename from
+ package-list-packages-internal; all callers changed. Add optional
+ PACKAGES arg. Add alphabetical sort fallbacks.
+ (package-menu--version-predicate, package-menu--status-predicate)
+ (package-menu--description-predicate)
+ (package-menu--name-predicate): New functions.
+
+ * info.el (Info-finder-find-node): Search package-alist instead of
+ finder-package-info.
+
+2010-08-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * subr.el (version-regexp-alist): Don't use "a" and "b" for
+ "alpha" and "beta".
+ (version-to-list): Handle versions like "10.3d".
+
+2010-08-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/macroexp.el (macroexpand-all-1): Use pcase.
+ (macroexp-accumulate): Use `declare'.
+
+2010-08-27 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * whitespace.el (whitespace-style): Adjust type declaration.
+
+2010-08-26 Łukasz Stelmach <lukasz.stelmach@iem.pw.edu.pl> (tiny change)
+
+ * play/cookie1.el (read-cookie): Fix off-by-one error (bug#6921).
+
+2010-08-26 Chong Yidong <cyd@stupidchicken.com>
+
+ * simple.el (beginning-of-buffer, end-of-buffer): Doc fix
+ (Bug#6907).
+
+2010-08-26 Nathan Weizenbaum <nweiz@cressida.sea.corp.google.com> (tiny change)
+
+ * progmodes/js.el: Make indentation more customizable (Bug#6914).
+ (js-paren-indent-offset, js-square-indent-offset)
+ (js-curly-indent-offset): New options.
+ (js--proper-indentation): Use them.
+
+2010-08-26 Daniel Colascione <dan.colascione@gmail.com>
+
+ * progmodes/sh-script.el (sh-get-indent-info): Use syntax-ppss
+ instead of inspecting font-lock properties (Bug#6916).
+
+2010-08-26 David Reitter <david.reitter@gmail.com>
+
+ * server.el (server-visit-files): Run pre-command-hook and
+ post-command-hook for each buffer while it is current (Bug#6910).
+ (server-execute): Do not run hooks here.
+
+2010-08-26 Michael Albinus <michael.albinus@gmx.de>
+
+ Sync with Tramp 2.1.19.
+
+ * net/tramp-gvfs.el (tramp-gvfs-handle-write-region): Protect
+ deleting tmpfile.
+ (tramp-gvfs-maybe-open-connection): Use `tramp-compat-funcall'.
+
+ * net/tramp.el (tramp-handle-expand-file-name)
+ (tramp-completion-handle-file-name-all-completions)
+ (tramp-completion-handle-file-name-completion):
+ Use `tramp-connectable-p'.
+
+ * net/trampver.el: Update release number.
+
+2010-08-26 Chong Yidong <cyd@stupidchicken.com>
+
+ * help.el (help-map): Bind `C-h P' to describe-package.
+
+ * menu-bar.el (menu-bar-describe-menu): Add describe-package.
+
+ * emacs-lisp/package.el (package-refresh-contents): Catch errors
+ when downloading archives.
+ (describe-package-1): Add package commentary.
+ (package-install-button-action): New function.
+ (package-menu-mode-map): Bind ? to package-menu-describe-package.
+ (package-menu-view-commentary): Function removed.
+ (package-list-packages-internal): Hide the `package' package too.
+
+2010-08-25 Kenichi Handa <handa@m17n.org>
+
+ * language/misc-lang.el ("Arabic"): New language environment.
+ Setup composition-function-table for Arabic characters.
+
+ * international/fontset.el (setup-default-fontset): Fix typo for
+ arabic OTF spec (fini->fina).
+
+2010-08-25 Jan Djärv <jan.h.d@swipnet.se>
+
+ * menu-bar.el (menu-bar-set-tool-bar-position): Set frame parameter
+ on all frames.
+
+2010-08-24 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * whitespace.el: Allow cleaning up blanks without blank
+ visualization (Bug#6651). Adjust help window for
+ whitespace-toggle-options (Bug#6479). Allow to use fill-column
+ instead of whitespace-line-column (from EmacsWiki). New version
+ 13.1.
+ (whitespace-style): Add new value 'face. Adjust docstring.
+ (whitespace-space, whitespace-hspace, whitespace-tab):
+ Adjust foreground property face.
+ (whitespace-line-column): Adjust docstring and type declaration.
+ (whitespace-style-value-list, whitespace-toggle-option-alist)
+ (whitespace-help-text): Adjust const initialization.
+ (whitespace-toggle-options, global-whitespace-toggle-options):
Adjust docstring.
(whitespace-display-window, whitespace-interactive-char)
(whitespace-style-face-p, whitespace-color-on): Adjust code.
--- /dev/null
- (defcustom emerge-metachars "[ \t\n!\"#$&'()*;<=>?[\\^`{|~]"
- "Characters that must be quoted with \\ when used in a shell command line.
+;;; emerge.el --- merge diffs under Emacs control
+
+;;; The author has placed this file in the public domain.
+
+;; This file is part of GNU Emacs.
+
+;; Author: Dale R. Worley <worley@world.std.com>
+;; Keywords: unix, vc, tools
+
+;; This software was created by Dale R. Worley and is
+;; distributed free of charge. It is placed in the public domain and
+;; permission is granted to anyone to use, duplicate, modify and redistribute
+;; it provided that this notice is attached.
+
+;; Dale R. Worley provides absolutely NO WARRANTY OF ANY KIND
+;; with respect to this software. The entire risk as to the quality and
+;; performance of this software is with the user. IN NO EVENT WILL DALE
+;; R. WORLEY BE LIABLE TO ANYONE FOR ANY DAMAGES ARISING OUT THE
+;; USE OF THIS SOFTWARE, INCLUDING, WITHOUT LIMITATION, DAMAGES RESULTING FROM
+;; LOST DATA OR LOST PROFITS, OR FOR ANY SPECIAL, INCIDENTAL OR CONSEQUENTIAL
+;; DAMAGES.
+
+;;; Commentary:
+
+;;; Code:
+
+;; There aren't really global variables, just dynamic bindings
+(defvar A-begin)
+(defvar A-end)
+(defvar B-begin)
+(defvar B-end)
+(defvar diff-vector)
+(defvar merge-begin)
+(defvar merge-end)
+(defvar valid-diff)
+
+;;; Macros
+
+(defmacro emerge-defvar-local (var value doc)
+ "Defines SYMBOL as an advertised variable.
+Performs a defvar, then executes `make-variable-buffer-local' on
+the variable. Also sets the `preserved' property, so that
+`kill-all-local-variables' (called by major-mode setting commands)
+won't destroy Emerge control variables."
+ `(progn
+ (defvar ,var ,value ,doc)
+ (make-variable-buffer-local ',var)
+ (put ',var 'preserved t)))
+
+;; Add entries to minor-mode-alist so that emerge modes show correctly
+(defvar emerge-minor-modes-list
+ '((emerge-mode " Emerge")
+ (emerge-fast-mode " F")
+ (emerge-edit-mode " E")
+ (emerge-auto-advance " A")
+ (emerge-skip-prefers " S")))
+(if (not (assq 'emerge-mode minor-mode-alist))
+ (setq minor-mode-alist (append emerge-minor-modes-list
+ minor-mode-alist)))
+
+;; We need to define this function so describe-mode can describe Emerge mode.
+(defun emerge-mode ()
+ "Emerge mode is used by the Emerge file-merging package.
+It is entered only through one of the functions:
+ `emerge-files'
+ `emerge-files-with-ancestor'
+ `emerge-buffers'
+ `emerge-buffers-with-ancestor'
+ `emerge-files-command'
+ `emerge-files-with-ancestor-command'
+ `emerge-files-remote'
+ `emerge-files-with-ancestor-remote'
+
+Commands:
+\\{emerge-basic-keymap}
+Commands must be prefixed by \\<emerge-fast-keymap>\\[emerge-basic-keymap] in `edit' mode,
+but can be invoked directly in `fast' mode.")
+
+(define-obsolete-variable-alias 'emerge-version 'emacs-version "23.2")
+
+(defun emerge-version ()
+ "Return string describing the version of Emerge.
+When called interactively, displays the version."
+ (interactive)
+ (if (called-interactively-p 'interactive)
+ (message "Emerge version %s" emacs-version)
+ emacs-version))
+
+(make-obsolete 'emerge-version 'emacs-version "23.2")
+
+;;; Emerge configuration variables
+
+(defgroup emerge nil
+ "Merge diffs under Emacs control."
+ :group 'tools)
+
+;; Commands that produce difference files
+;; All that can be configured is the name of the programs to execute
+;; (emerge-diff-program and emerge-diff3-program) and the options
+;; to be provided (emerge-diff-options). The order in which the file names
+;; are given is fixed.
+;; The file names are always expanded (see expand-file-name) before being
+;; passed to diff, thus they need not be invoked under a shell that
+;; understands `~'.
+;; The code which processes the diff/diff3 output depends on all the
+;; finicky details of their output, including the somewhat strange
+;; way they number lines of a file.
+(defcustom emerge-diff-program "diff"
+ "Name of the program which compares two files."
+ :type 'string
+ :group 'emerge)
+(defcustom emerge-diff3-program "diff3"
+ "Name of the program which compares three files.
+Its arguments are the ancestor file and the two variant files."
+ :type 'string
+ :group 'emerge)
+(defcustom emerge-diff-options ""
+ "Options to pass to `emerge-diff-program' and `emerge-diff3-program'."
+ :type 'string
+ :group 'emerge)
+(defcustom emerge-match-diff-line
+ (let ((x "\\([0-9]+\\)\\(\\|,\\([0-9]+\\)\\)"))
+ (concat "^" x "\\([acd]\\)" x "$"))
+ "Pattern to match lines produced by diff that describe differences.
+This is as opposed to lines from the source files."
+ :type 'regexp
+ :group 'emerge)
+(defcustom emerge-diff-ok-lines-regexp
+ "^\\([0-9,]+[acd][0-9,]+$\\|[<>] \\|---\\)"
+ "Regexp that matches normal output lines from `emerge-diff-program'.
+Lines that do not match are assumed to be error messages."
+ :type 'regexp
+ :group 'emerge)
+(defcustom emerge-diff3-ok-lines-regexp
+ "^\\([1-3]:\\|====\\| \\)"
+ "Regexp that matches normal output lines from `emerge-diff3-program'.
+Lines that do not match are assumed to be error messages."
+ :type 'regexp
+ :group 'emerge)
+
+(defcustom emerge-rcs-ci-program "ci"
+ "Name of the program that checks in RCS revisions."
+ :type 'string
+ :group 'emerge)
+(defcustom emerge-rcs-co-program "co"
+ "Name of the program that checks out RCS revisions."
+ :type 'string
+ :group 'emerge)
+
+(defcustom emerge-process-local-variables nil
+ "Non-nil if Emerge should process local-variables lists in merge buffers.
+\(You can explicitly request processing the local-variables
+by executing `(hack-local-variables)'.)"
+ :type 'boolean
+ :group 'emerge)
+(defcustom emerge-execute-line-deletions nil
+ "If non-nil: `emerge-execute-line' makes no output if an input was deleted.
+It concludes that an input version has been deleted when an ancestor entry
+is present, only one A or B entry is present, and an output entry is present.
+If nil: In such circumstances, the A or B file that is present will be
+copied to the designated output file."
+ :type 'boolean
+ :group 'emerge)
+
+(defcustom emerge-before-flag "vvvvvvvvvvvvvvvvvvvv\n"
+ "Flag placed above the highlighted block of code. Must end with newline.
+Must be set before Emerge is loaded, or emerge-new-flags must be run
+after setting."
+ :type 'string
+ :group 'emerge)
+(defcustom emerge-after-flag "^^^^^^^^^^^^^^^^^^^^\n"
+ "Flag placed below the highlighted block of code. Must end with newline.
+Must be set before Emerge is loaded, or emerge-new-flags must be run
+after setting."
+ :type 'string
+ :group 'emerge)
+
+;; Hook variables
+
+(defcustom emerge-startup-hook nil
+ "Hook to run in the merge buffer after the merge has been set up."
+ :type 'hook
+ :group 'emerge)
+(defcustom emerge-select-hook nil
+ "Hook to run after a difference has been selected.
+The variable `n' holds the (internal) number of the difference."
+ :type 'hook
+ :group 'emerge)
+(defcustom emerge-unselect-hook nil
+ "Hook to run after a difference has been unselected.
+The variable `n' holds the (internal) number of the difference."
+ :type 'hook
+ :group 'emerge)
+
+;; Variables to control the default directories of the arguments to
+;; Emerge commands.
+
+(defcustom emerge-default-last-directories nil
+ "If nil, default dir for filenames in emerge is `default-directory'.
+If non-nil, filenames complete in the directory of the last argument of the
+same type to an `emerge-files...' command."
+ :type 'boolean
+ :group 'emerge)
+
+(defvar emerge-last-dir-A nil
+ "Last directory for the first file of an `emerge-files...' command.")
+(defvar emerge-last-dir-B nil
+ "Last directory for the second file of an `emerge-files...' command.")
+(defvar emerge-last-dir-ancestor nil
+ "Last directory for the ancestor file of an `emerge-files...' command.")
+(defvar emerge-last-dir-output nil
+ "Last directory for the output file of an `emerge-files...' command.")
+(defvar emerge-last-revision-A nil
+ "Last RCS revision used for first file of an `emerge-revisions...' command.")
+(defvar emerge-last-revision-B nil
+ "Last RCS revision used for second file of an `emerge-revisions...' command.")
+(defvar emerge-last-revision-ancestor nil
+ "Last RCS revision used for ancestor file of an `emerge-revisions...' command.")
+
+(defvar emerge-before-flag-length)
+(defvar emerge-before-flag-lines)
+(defvar emerge-before-flag-match)
+(defvar emerge-after-flag-length)
+(defvar emerge-after-flag-lines)
+(defvar emerge-after-flag-match)
+(defvar emerge-diff-buffer)
+(defvar emerge-diff-error-buffer)
+(defvar emerge-prefix-argument)
+(defvar emerge-file-out)
+(defvar emerge-exit-func)
+(defvar emerge-globalized-difference-list)
+(defvar emerge-globalized-number-of-differences)
+
+;; The flags used to mark differences in the buffers.
+
+;; These function definitions need to be up here, because they are used
+;; during loading.
+(defun emerge-new-flags ()
+ "Function to be called after `emerge-{before,after}-flag'.
+This is called after these functions are changed to compute values that
+depend on the flags."
+ (setq emerge-before-flag-length (length emerge-before-flag))
+ (setq emerge-before-flag-lines
+ (emerge-count-matches-string emerge-before-flag "\n"))
+ (setq emerge-before-flag-match (regexp-quote emerge-before-flag))
+ (setq emerge-after-flag-length (length emerge-after-flag))
+ (setq emerge-after-flag-lines
+ (emerge-count-matches-string emerge-after-flag "\n"))
+ (setq emerge-after-flag-match (regexp-quote emerge-after-flag)))
+
+(defun emerge-count-matches-string (string regexp)
+ "Return the number of matches in STRING for REGEXP."
+ (let ((i 0)
+ (count 0))
+ (while (string-match regexp string i)
+ (setq count (1+ count))
+ (setq i (match-end 0)))
+ count))
+
+;; Calculate dependent variables
+(emerge-new-flags)
+
+(defcustom emerge-min-visible-lines 3
+ "Number of lines that we want to show above and below the flags when we are
+displaying a difference."
+ :type 'integer
+ :group 'emerge)
+
+(defcustom emerge-temp-file-prefix
+ (expand-file-name "emerge" temporary-file-directory)
+ "Prefix to put on Emerge temporary file names.
+Do not start with `~/' or `~USERNAME/'."
+ :type 'string
+ :group 'emerge)
+
+(defcustom emerge-temp-file-mode 384 ; u=rw only
+ "Mode for Emerge temporary files."
+ :type 'integer
+ :group 'emerge)
+
+(defcustom emerge-combine-versions-template
+ "#ifdef NEW\n%b#else /* not NEW */\n%a#endif /* not NEW */\n"
+ "Template for `emerge-combine-versions' to combine the two versions.
+The template is inserted as a string, with the following interpolations:
+ %a the A version of the difference
+ %b the B version of the difference
+ %% the character `%'
+Don't forget to end the template with a newline.
+Note that this variable can be made local to a particular merge buffer by
+giving a prefix argument to `emerge-set-combine-versions-template'."
+ :type 'string
+ :group 'emerge)
+
+;; Build keymaps
+
+(defvar emerge-basic-keymap nil
+ "Keymap of Emerge commands.
+Directly available in `fast' mode;
+must be prefixed by \\<emerge-fast-keymap>\\[emerge-basic-keymap] in `edit' mode.")
+
+(defvar emerge-fast-keymap nil
+ "Local keymap used in Emerge `fast' mode.
+Makes Emerge commands directly available.")
+
+(defvar emerge-options-menu
+ (make-sparse-keymap "Options"))
+
+(defvar emerge-merge-menu
+ (make-sparse-keymap "Merge"))
+
+(defvar emerge-move-menu
+ (make-sparse-keymap "Move"))
+
+(defcustom emerge-command-prefix "\C-c\C-c"
+ "Command prefix for Emerge commands in `edit' mode.
+Must be set before Emerge is loaded."
+ :type 'string
+ :group 'emerge)
+
+;; This function sets up the fixed keymaps. It is executed when the first
+;; Emerge is done to allow the user maximum time to set up the global keymap.
+(defun emerge-setup-fixed-keymaps ()
+ ;; Set up the basic keymap
+ (setq emerge-basic-keymap (make-keymap))
+ (suppress-keymap emerge-basic-keymap) ; this sets 0..9 to digit-argument and
+ ; - to negative-argument
+ (define-key emerge-basic-keymap "p" 'emerge-previous-difference)
+ (define-key emerge-basic-keymap "n" 'emerge-next-difference)
+ (define-key emerge-basic-keymap "a" 'emerge-select-A)
+ (define-key emerge-basic-keymap "b" 'emerge-select-B)
+ (define-key emerge-basic-keymap "j" 'emerge-jump-to-difference)
+ (define-key emerge-basic-keymap "." 'emerge-find-difference)
+ (define-key emerge-basic-keymap "q" 'emerge-quit)
+ (define-key emerge-basic-keymap "\C-]" 'emerge-abort)
+ (define-key emerge-basic-keymap "f" 'emerge-fast-mode)
+ (define-key emerge-basic-keymap "e" 'emerge-edit-mode)
+ (define-key emerge-basic-keymap "s" nil)
+ (define-key emerge-basic-keymap "sa" 'emerge-auto-advance)
+ (define-key emerge-basic-keymap "ss" 'emerge-skip-prefers)
+ (define-key emerge-basic-keymap "l" 'emerge-recenter)
+ (define-key emerge-basic-keymap "d" nil)
+ (define-key emerge-basic-keymap "da" 'emerge-default-A)
+ (define-key emerge-basic-keymap "db" 'emerge-default-B)
+ (define-key emerge-basic-keymap "c" nil)
+ (define-key emerge-basic-keymap "ca" 'emerge-copy-as-kill-A)
+ (define-key emerge-basic-keymap "cb" 'emerge-copy-as-kill-B)
+ (define-key emerge-basic-keymap "i" nil)
+ (define-key emerge-basic-keymap "ia" 'emerge-insert-A)
+ (define-key emerge-basic-keymap "ib" 'emerge-insert-B)
+ (define-key emerge-basic-keymap "m" 'emerge-mark-difference)
+ (define-key emerge-basic-keymap "v" 'emerge-scroll-up)
+ (define-key emerge-basic-keymap "^" 'emerge-scroll-down)
+ (define-key emerge-basic-keymap "<" 'emerge-scroll-left)
+ (define-key emerge-basic-keymap ">" 'emerge-scroll-right)
+ (define-key emerge-basic-keymap "|" 'emerge-scroll-reset)
+ (define-key emerge-basic-keymap "x" nil)
+ (define-key emerge-basic-keymap "x1" 'emerge-one-line-window)
+ (define-key emerge-basic-keymap "xc" 'emerge-combine-versions)
+ (define-key emerge-basic-keymap "xC" 'emerge-combine-versions-register)
+ (define-key emerge-basic-keymap "xf" 'emerge-file-names)
+ (define-key emerge-basic-keymap "xj" 'emerge-join-differences)
+ (define-key emerge-basic-keymap "xl" 'emerge-line-numbers)
+ (define-key emerge-basic-keymap "xm" 'emerge-set-merge-mode)
+ (define-key emerge-basic-keymap "xs" 'emerge-split-difference)
+ (define-key emerge-basic-keymap "xt" 'emerge-trim-difference)
+ (define-key emerge-basic-keymap "xx" 'emerge-set-combine-versions-template)
+ ;; Allow emerge-basic-keymap to be referenced indirectly
+ (fset 'emerge-basic-keymap emerge-basic-keymap)
+ ;; Set up the fast mode keymap
+ (setq emerge-fast-keymap (copy-keymap emerge-basic-keymap))
+ ;; Allow prefixed commands to work in fast mode
+ (define-key emerge-fast-keymap emerge-command-prefix 'emerge-basic-keymap)
+ ;; Allow emerge-fast-keymap to be referenced indirectly
+ (fset 'emerge-fast-keymap emerge-fast-keymap)
+ ;; Suppress write-file and save-buffer
+ (define-key emerge-fast-keymap [remap write-file] 'emerge-query-write-file)
+ (define-key emerge-fast-keymap [remap save-buffer] 'emerge-query-save-buffer)
+
+ (define-key emerge-basic-keymap [menu-bar] (make-sparse-keymap))
+
+ (define-key emerge-fast-keymap [menu-bar emerge-options]
+ (cons "Merge-Options" emerge-options-menu))
+ (define-key emerge-fast-keymap [menu-bar merge]
+ (cons "Merge" emerge-merge-menu))
+ (define-key emerge-fast-keymap [menu-bar move]
+ (cons "Move" emerge-move-menu))
+
+ (define-key emerge-move-menu [emerge-scroll-reset]
+ '("Scroll Reset" . emerge-scroll-reset))
+ (define-key emerge-move-menu [emerge-scroll-right]
+ '("Scroll Right" . emerge-scroll-right))
+ (define-key emerge-move-menu [emerge-scroll-left]
+ '("Scroll Left" . emerge-scroll-left))
+ (define-key emerge-move-menu [emerge-scroll-down]
+ '("Scroll Down" . emerge-scroll-down))
+ (define-key emerge-move-menu [emerge-scroll-up]
+ '("Scroll Up" . emerge-scroll-up))
+ (define-key emerge-move-menu [emerge-recenter]
+ '("Recenter" . emerge-recenter))
+ (define-key emerge-move-menu [emerge-mark-difference]
+ '("Mark Difference" . emerge-mark-difference))
+ (define-key emerge-move-menu [emerge-jump-to-difference]
+ '("Jump To Difference" . emerge-jump-to-difference))
+ (define-key emerge-move-menu [emerge-find-difference]
+ '("Find Difference" . emerge-find-difference))
+ (define-key emerge-move-menu [emerge-previous-difference]
+ '("Previous Difference" . emerge-previous-difference))
+ (define-key emerge-move-menu [emerge-next-difference]
+ '("Next Difference" . emerge-next-difference))
+
+
+ (define-key emerge-options-menu [emerge-one-line-window]
+ '("One Line Window" . emerge-one-line-window))
+ (define-key emerge-options-menu [emerge-set-merge-mode]
+ '("Set Merge Mode..." . emerge-set-merge-mode))
+ (define-key emerge-options-menu [emerge-set-combine-template]
+ '("Set Combine Template..." . emerge-set-combine-template))
+ (define-key emerge-options-menu [emerge-default-B]
+ '("Default B" . emerge-default-B))
+ (define-key emerge-options-menu [emerge-default-A]
+ '("Default A" . emerge-default-A))
+ (define-key emerge-options-menu [emerge-skip-prefers]
+ '(menu-item "Skip Prefers" emerge-skip-prefers
+ :button (:toggle . emerge-skip-prefers)))
+ (define-key emerge-options-menu [emerge-auto-advance]
+ '(menu-item "Auto Advance" emerge-auto-advance
+ :button (:toggle . emerge-auto-advance)))
+ (define-key emerge-options-menu [emerge-edit-mode]
+ '(menu-item "Edit Mode" emerge-edit-mode :enable (not emerge-edit-mode)))
+ (define-key emerge-options-menu [emerge-fast-mode]
+ '(menu-item "Fast Mode" emerge-fast-mode :enable (not emerge-fast-mode)))
+
+ (define-key emerge-merge-menu [emerge-abort] '("Abort" . emerge-abort))
+ (define-key emerge-merge-menu [emerge-quit] '("Quit" . emerge-quit))
+ (define-key emerge-merge-menu [emerge-split-difference]
+ '("Split Difference" . emerge-split-difference))
+ (define-key emerge-merge-menu [emerge-join-differences]
+ '("Join Differences" . emerge-join-differences))
+ (define-key emerge-merge-menu [emerge-trim-difference]
+ '("Trim Difference" . emerge-trim-difference))
+ (define-key emerge-merge-menu [emerge-combine-versions]
+ '("Combine Versions" . emerge-combine-versions))
+ (define-key emerge-merge-menu [emerge-copy-as-kill-B]
+ '("Copy B as Kill" . emerge-copy-as-kill-B))
+ (define-key emerge-merge-menu [emerge-copy-as-kill-A]
+ '("Copy A as Kill" . emerge-copy-as-kill-A))
+ (define-key emerge-merge-menu [emerge-insert-B]
+ '("Insert B" . emerge-insert-B))
+ (define-key emerge-merge-menu [emerge-insert-A]
+ '("Insert A" . emerge-insert-A))
+ (define-key emerge-merge-menu [emerge-select-B]
+ '("Select B" . emerge-select-B))
+ (define-key emerge-merge-menu [emerge-select-A]
+ '("Select A" . emerge-select-A)))
+
+
+;; Variables which control each merge. They are local to the merge buffer.
+
+;; Mode variables
+(emerge-defvar-local emerge-mode nil
+ "Indicator for emerge-mode.")
+(emerge-defvar-local emerge-fast-mode nil
+ "Indicator for emerge-mode fast submode.")
+(emerge-defvar-local emerge-edit-mode nil
+ "Indicator for emerge-mode edit submode.")
+(emerge-defvar-local emerge-A-buffer nil
+ "The buffer in which the A variant is stored.")
+(emerge-defvar-local emerge-B-buffer nil
+ "The buffer in which the B variant is stored.")
+(emerge-defvar-local emerge-merge-buffer nil
+ "The buffer in which the merged file is manipulated.")
+(emerge-defvar-local emerge-ancestor-buffer nil
+ "The buffer in which the ancestor variant is stored,
+or nil if there is none.")
+
+(defconst emerge-saved-variables
+ '((buffer-modified-p set-buffer-modified-p)
+ buffer-read-only
+ buffer-auto-save-file-name)
+ "Variables and properties of a buffer which are saved, modified and restored
+during a merge.")
+(defconst emerge-merging-values '(nil t nil)
+ "Values to be assigned to emerge-saved-variables during a merge.")
+
+(emerge-defvar-local emerge-A-buffer-values nil
+ "Remembers emerge-saved-variables for emerge-A-buffer.")
+(emerge-defvar-local emerge-B-buffer-values nil
+ "Remembers emerge-saved-variables for emerge-B-buffer.")
+
+(emerge-defvar-local emerge-difference-list nil
+ "Vector of differences between the variants, and markers in the buffers to
+show where they are. Each difference is represented by a vector of seven
+elements. The first two are markers to the beginning and end of the difference
+section in the A buffer, the second two are markers for the B buffer, the third
+two are markers for the merge buffer, and the last element is the \"state\" of
+that difference in the merge buffer.
+ A section of a buffer is described by two markers, one to the beginning of
+the first line of the section, and one to the beginning of the first line
+after the section. (If the section is empty, both markers point to the same
+point.) If the section is part of the selected difference, then the markers
+are moved into the flags, so the user can edit the section without disturbing
+the markers.
+ The \"states\" are:
+ A the merge buffer currently contains the A variant
+ B the merge buffer currently contains the B variant
+ default-A the merge buffer contains the A variant by default,
+ but this difference hasn't been selected yet, so
+ change-default commands can alter it
+ default-B the merge buffer contains the B variant by default,
+ but this difference hasn't been selected yet, so
+ change-default commands can alter it
+ prefer-A in a three-file merge, the A variant is the preferred
+ choice
+ prefer-B in a three-file merge, the B variant is the preferred
+ choice")
+(emerge-defvar-local emerge-current-difference -1
+ "The difference that is currently selected.")
+(emerge-defvar-local emerge-number-of-differences nil
+ "Number of differences found.")
+(emerge-defvar-local emerge-edit-keymap nil
+ "The local keymap for the merge buffer, with the emerge commands defined in
+it. Used to save the local keymap during fast mode, when the local keymap is
+replaced by emerge-fast-keymap.")
+(emerge-defvar-local emerge-old-keymap nil
+ "The original local keymap for the merge buffer.")
+(emerge-defvar-local emerge-auto-advance nil
+ "*If non-nil, emerge-select-A and emerge-select-B automatically advance to
+the next difference.")
+(emerge-defvar-local emerge-skip-prefers nil
+ "*If non-nil, differences for which there is a preference are automatically
+skipped.")
+(emerge-defvar-local emerge-quit-hook nil
+ "Hooks to run in the merge buffer after the merge has been finished.
+`emerge-prefix-argument' will hold the prefix argument of the `emerge-quit'
+command.
+This is *not* a user option, since Emerge uses it for its own processing.")
+(emerge-defvar-local emerge-output-description nil
+ "Describes output destination of emerge, for `emerge-file-names'.")
+
+;;; Setup functions for two-file mode.
+
+(defun emerge-files-internal (file-A file-B &optional startup-hooks quit-hooks
+ output-file)
+ (if (not (file-readable-p file-A))
+ (error "File `%s' does not exist or is not readable" file-A))
+ (if (not (file-readable-p file-B))
+ (error "File `%s' does not exist or is not readable" file-B))
+ (let ((buffer-A (find-file-noselect file-A))
+ (buffer-B (find-file-noselect file-B)))
+ ;; Record the directories of the files
+ (setq emerge-last-dir-A (file-name-directory file-A))
+ (setq emerge-last-dir-B (file-name-directory file-B))
+ (if output-file
+ (setq emerge-last-dir-output (file-name-directory output-file)))
+ ;; Make sure the entire files are seen, and they reflect what is on disk
+ (with-current-buffer
+ buffer-A
+ (widen)
+ (let ((temp (file-local-copy file-A)))
+ (if temp
+ (setq file-A temp
+ startup-hooks
+ (cons `(lambda () (delete-file ,file-A))
+ startup-hooks))
+ ;; Verify that the file matches the buffer
+ (emerge-verify-file-buffer))))
+ (with-current-buffer
+ buffer-B
+ (widen)
+ (let ((temp (file-local-copy file-B)))
+ (if temp
+ (setq file-B temp
+ startup-hooks
+ (cons `(lambda () (delete-file ,file-B))
+ startup-hooks))
+ ;; Verify that the file matches the buffer
+ (emerge-verify-file-buffer))))
+ (emerge-setup buffer-A file-A buffer-B file-B startup-hooks quit-hooks
+ output-file)))
+
+;; Start up Emerge on two files
+(defun emerge-setup (buffer-A file-A buffer-B file-B startup-hooks quit-hooks
+ output-file)
+ (setq file-A (expand-file-name file-A))
+ (setq file-B (expand-file-name file-B))
+ (setq output-file (and output-file (expand-file-name output-file)))
+ (let* ((merge-buffer-name (emerge-unique-buffer-name "*merge" "*"))
+ ;; create the merge buffer from buffer A, so it inherits buffer A's
+ ;; default directory, etc.
+ (merge-buffer (with-current-buffer
+ buffer-A
+ (get-buffer-create merge-buffer-name))))
+ (with-current-buffer
+ merge-buffer
+ (emerge-copy-modes buffer-A)
+ (setq buffer-read-only nil)
+ (auto-save-mode 1)
+ (setq emerge-mode t)
+ (setq emerge-A-buffer buffer-A)
+ (setq emerge-B-buffer buffer-B)
+ (setq emerge-ancestor-buffer nil)
+ (setq emerge-merge-buffer merge-buffer)
+ (setq emerge-output-description
+ (if output-file
+ (concat "Output to file: " output-file)
+ (concat "Output to buffer: " (buffer-name merge-buffer))))
+ (save-excursion (insert-buffer-substring emerge-A-buffer))
+ (emerge-set-keys)
+ (setq emerge-difference-list (emerge-make-diff-list file-A file-B))
+ (setq emerge-number-of-differences (length emerge-difference-list))
+ (setq emerge-current-difference -1)
+ (setq emerge-quit-hook quit-hooks)
+ (emerge-remember-buffer-characteristics)
+ (emerge-handle-local-variables))
+ (emerge-setup-windows buffer-A buffer-B merge-buffer t)
+ (with-current-buffer merge-buffer
+ (run-hooks 'startup-hooks 'emerge-startup-hook)
+ (setq buffer-read-only t))))
+
+;; Generate the Emerge difference list between two files
+(defun emerge-make-diff-list (file-A file-B)
+ (setq emerge-diff-buffer (get-buffer-create "*emerge-diff*"))
+ (with-current-buffer
+ emerge-diff-buffer
+ (erase-buffer)
+ (shell-command
+ (format "%s %s %s %s"
+ emerge-diff-program emerge-diff-options
+ (emerge-protect-metachars file-A)
+ (emerge-protect-metachars file-B))
+ t))
+ (emerge-prepare-error-list emerge-diff-ok-lines-regexp)
+ (emerge-convert-diffs-to-markers
+ emerge-A-buffer emerge-B-buffer emerge-merge-buffer
+ (emerge-extract-diffs emerge-diff-buffer)))
+
+(defun emerge-extract-diffs (diff-buffer)
+ (let (list)
+ (with-current-buffer
+ diff-buffer
+ (goto-char (point-min))
+ (while (re-search-forward emerge-match-diff-line nil t)
+ (let* ((a-begin (string-to-number (buffer-substring (match-beginning 1)
+ (match-end 1))))
+ (a-end (let ((b (match-beginning 3))
+ (e (match-end 3)))
+ (if b
+ (string-to-number (buffer-substring b e))
+ a-begin)))
+ (diff-type (buffer-substring (match-beginning 4) (match-end 4)))
+ (b-begin (string-to-number (buffer-substring (match-beginning 5)
+ (match-end 5))))
+ (b-end (let ((b (match-beginning 7))
+ (e (match-end 7)))
+ (if b
+ (string-to-number (buffer-substring b e))
+ b-begin))))
+ ;; fix the beginning and end numbers, because diff is somewhat
+ ;; strange about how it numbers lines
+ (if (string-equal diff-type "a")
+ (progn
+ (setq b-end (1+ b-end))
+ (setq a-begin (1+ a-begin))
+ (setq a-end a-begin))
+ (if (string-equal diff-type "d")
+ (progn
+ (setq a-end (1+ a-end))
+ (setq b-begin (1+ b-begin))
+ (setq b-end b-begin))
+ ;; (string-equal diff-type "c")
+ (progn
+ (setq a-end (1+ a-end))
+ (setq b-end (1+ b-end)))))
+ (setq list (cons (vector a-begin a-end
+ b-begin b-end
+ 'default-A)
+ list)))))
+ (nreverse list)))
+
+;; Set up buffer of diff/diff3 error messages.
+(defun emerge-prepare-error-list (ok-regexp)
+ (setq emerge-diff-error-buffer (get-buffer-create "*emerge-diff-errors*"))
+ (with-current-buffer
+ emerge-diff-error-buffer
+ (erase-buffer)
+ (save-excursion (insert-buffer-substring emerge-diff-buffer))
+ (delete-matching-lines ok-regexp)))
+
+;;; Top-level and setup functions for three-file mode.
+
+(defun emerge-files-with-ancestor-internal (file-A file-B file-ancestor
+ &optional startup-hooks quit-hooks
+ output-file)
+ (if (not (file-readable-p file-A))
+ (error "File `%s' does not exist or is not readable" file-A))
+ (if (not (file-readable-p file-B))
+ (error "File `%s' does not exist or is not readable" file-B))
+ (if (not (file-readable-p file-ancestor))
+ (error "File `%s' does not exist or is not readable" file-ancestor))
+ (let ((buffer-A (find-file-noselect file-A))
+ (buffer-B (find-file-noselect file-B))
+ (buffer-ancestor (find-file-noselect file-ancestor)))
+ ;; Record the directories of the files
+ (setq emerge-last-dir-A (file-name-directory file-A))
+ (setq emerge-last-dir-B (file-name-directory file-B))
+ (setq emerge-last-dir-ancestor (file-name-directory file-ancestor))
+ (if output-file
+ (setq emerge-last-dir-output (file-name-directory output-file)))
+ ;; Make sure the entire files are seen, and they reflect what is on disk
+ (with-current-buffer
+ buffer-A
+ (widen)
+ (let ((temp (file-local-copy file-A)))
+ (if temp
+ (setq file-A temp
+ startup-hooks
+ (cons `(lambda () (delete-file ,file-A))
+ startup-hooks))
+ ;; Verify that the file matches the buffer
+ (emerge-verify-file-buffer))))
+ (with-current-buffer
+ buffer-B
+ (widen)
+ (let ((temp (file-local-copy file-B)))
+ (if temp
+ (setq file-B temp
+ startup-hooks
+ (cons `(lambda () (delete-file ,file-B))
+ startup-hooks))
+ ;; Verify that the file matches the buffer
+ (emerge-verify-file-buffer))))
+ (with-current-buffer
+ buffer-ancestor
+ (widen)
+ (let ((temp (file-local-copy file-ancestor)))
+ (if temp
+ (setq file-ancestor temp
+ startup-hooks
+ (cons `(lambda () (delete-file ,file-ancestor))
+ startup-hooks))
+ ;; Verify that the file matches the buffer
+ (emerge-verify-file-buffer))))
+ (emerge-setup-with-ancestor buffer-A file-A buffer-B file-B
+ buffer-ancestor file-ancestor
+ startup-hooks quit-hooks output-file)))
+
+;; Start up Emerge on two files with an ancestor
+(defun emerge-setup-with-ancestor (buffer-A file-A buffer-B file-B
+ buffer-ancestor file-ancestor
+ &optional startup-hooks quit-hooks
+ output-file)
+ (setq file-A (expand-file-name file-A))
+ (setq file-B (expand-file-name file-B))
+ (setq file-ancestor (expand-file-name file-ancestor))
+ (setq output-file (and output-file (expand-file-name output-file)))
+ (let* ((merge-buffer-name (emerge-unique-buffer-name "*merge" "*"))
+ ;; create the merge buffer from buffer A, so it inherits buffer A's
+ ;; default directory, etc.
+ (merge-buffer (with-current-buffer
+ buffer-A
+ (get-buffer-create merge-buffer-name))))
+ (with-current-buffer
+ merge-buffer
+ (emerge-copy-modes buffer-A)
+ (setq buffer-read-only nil)
+ (auto-save-mode 1)
+ (setq emerge-mode t)
+ (setq emerge-A-buffer buffer-A)
+ (setq emerge-B-buffer buffer-B)
+ (setq emerge-ancestor-buffer buffer-ancestor)
+ (setq emerge-merge-buffer merge-buffer)
+ (setq emerge-output-description
+ (if output-file
+ (concat "Output to file: " output-file)
+ (concat "Output to buffer: " (buffer-name merge-buffer))))
+ (save-excursion (insert-buffer-substring emerge-A-buffer))
+ (emerge-set-keys)
+ (setq emerge-difference-list
+ (emerge-make-diff3-list file-A file-B file-ancestor))
+ (setq emerge-number-of-differences (length emerge-difference-list))
+ (setq emerge-current-difference -1)
+ (setq emerge-quit-hook quit-hooks)
+ (emerge-remember-buffer-characteristics)
+ (emerge-select-prefer-Bs)
+ (emerge-handle-local-variables))
+ (emerge-setup-windows buffer-A buffer-B merge-buffer t)
+ (with-current-buffer merge-buffer
+ (run-hooks 'startup-hooks 'emerge-startup-hook)
+ (setq buffer-read-only t))))
+
+;; Generate the Emerge difference list between two files with an ancestor
+(defun emerge-make-diff3-list (file-A file-B file-ancestor)
+ (setq emerge-diff-buffer (get-buffer-create "*emerge-diff*"))
+ (with-current-buffer
+ emerge-diff-buffer
+ (erase-buffer)
+ (shell-command
+ (format "%s %s %s %s %s"
+ emerge-diff3-program emerge-diff-options
+ (emerge-protect-metachars file-A)
+ (emerge-protect-metachars file-ancestor)
+ (emerge-protect-metachars file-B))
+ t))
+ (emerge-prepare-error-list emerge-diff3-ok-lines-regexp)
+ (emerge-convert-diffs-to-markers
+ emerge-A-buffer emerge-B-buffer emerge-merge-buffer
+ (emerge-extract-diffs3 emerge-diff-buffer)))
+
+(defun emerge-extract-diffs3 (diff-buffer)
+ (let (list)
+ (with-current-buffer
+ diff-buffer
+ (while (re-search-forward "^====\\(.?\\)$" nil t)
+ ;; leave point after matched line
+ (beginning-of-line 2)
+ (let ((agreement (buffer-substring (match-beginning 1) (match-end 1))))
+ ;; if the A and B files are the same, ignore the difference
+ (if (not (string-equal agreement "2"))
+ (setq list
+ (cons
+ (let (group-1 group-3 pos)
+ (setq pos (point))
+ (setq group-1 (emerge-get-diff3-group "1"))
+ (goto-char pos)
+ (setq group-3 (emerge-get-diff3-group "3"))
+ (vector (car group-1) (car (cdr group-1))
+ (car group-3) (car (cdr group-3))
+ (cond ((string-equal agreement "1") 'prefer-A)
+ ((string-equal agreement "3") 'prefer-B)
+ (t 'default-A))))
+ list))))))
+ (nreverse list)))
+
+(defun emerge-get-diff3-group (file)
+ ;; This save-excursion allows emerge-get-diff3-group to be called for the
+ ;; various groups of lines (1, 2, 3) in any order, and for the lines to
+ ;; appear in any order. The reason this is necessary is that Gnu diff3
+ ;; can produce the groups in the order 1, 2, 3 or 1, 3, 2.
+ (save-excursion
+ (re-search-forward
+ (concat "^" file ":\\([0-9]+\\)\\(,\\([0-9]+\\)\\)?\\([ac]\\)$"))
+ (beginning-of-line 2)
+ ;; treatment depends on whether it is an "a" group or a "c" group
+ (if (string-equal (buffer-substring (match-beginning 4) (match-end 4)) "c")
+ ;; it is a "c" group
+ (if (match-beginning 2)
+ ;; it has two numbers
+ (list (string-to-number
+ (buffer-substring (match-beginning 1) (match-end 1)))
+ (1+ (string-to-number
+ (buffer-substring (match-beginning 3) (match-end 3)))))
+ ;; it has one number
+ (let ((x (string-to-number
+ (buffer-substring (match-beginning 1) (match-end 1)))))
+ (list x (1+ x))))
+ ;; it is an "a" group
+ (let ((x (1+ (string-to-number
+ (buffer-substring (match-beginning 1) (match-end 1))))))
+ (list x x)))))
+
+;;; Functions to start Emerge on files
+
+;;;###autoload
+(defun emerge-files (arg file-A file-B file-out &optional startup-hooks
+ quit-hooks)
+ "Run Emerge on two files."
+ (interactive
+ (let (f)
+ (list current-prefix-arg
+ (setq f (emerge-read-file-name "File A to merge" emerge-last-dir-A
+ nil nil t))
+ (emerge-read-file-name "File B to merge" emerge-last-dir-B nil f t)
+ (and current-prefix-arg
+ (emerge-read-file-name "Output file" emerge-last-dir-output
+ f f nil)))))
+ (if file-out
+ (add-hook 'quit-hooks `(lambda () (emerge-files-exit ,file-out))))
+ (emerge-files-internal
+ file-A file-B startup-hooks
+ quit-hooks
+ file-out))
+
+;;;###autoload
+(defun emerge-files-with-ancestor (arg file-A file-B file-ancestor file-out
+ &optional startup-hooks quit-hooks)
+ "Run Emerge on two files, giving another file as the ancestor."
+ (interactive
+ (let (f)
+ (list current-prefix-arg
+ (setq f (emerge-read-file-name "File A to merge" emerge-last-dir-A
+ nil nil t))
+ (emerge-read-file-name "File B to merge" emerge-last-dir-B nil f t)
+ (emerge-read-file-name "Ancestor file" emerge-last-dir-ancestor
+ nil f t)
+ (and current-prefix-arg
+ (emerge-read-file-name "Output file" emerge-last-dir-output
+ f f nil)))))
+ (if file-out
+ (add-hook 'quit-hooks `(lambda () (emerge-files-exit ,file-out))))
+ (emerge-files-with-ancestor-internal
+ file-A file-B file-ancestor startup-hooks
+ quit-hooks
+ file-out))
+
+;; Write the merge buffer out in place of the file the A buffer is visiting.
+(defun emerge-files-exit (file-out)
+ ;; if merge was successful was given, save to disk
+ (if (not emerge-prefix-argument)
+ (emerge-write-and-delete file-out)))
+
+;;; Functions to start Emerge on buffers
+
+;;;###autoload
+(defun emerge-buffers (buffer-A buffer-B &optional startup-hooks quit-hooks)
+ "Run Emerge on two buffers."
+ (interactive "bBuffer A to merge: \nbBuffer B to merge: ")
+ (let ((emerge-file-A (emerge-make-temp-file "A"))
+ (emerge-file-B (emerge-make-temp-file "B")))
+ (with-current-buffer
+ buffer-A
+ (write-region (point-min) (point-max) emerge-file-A nil 'no-message))
+ (with-current-buffer
+ buffer-B
+ (write-region (point-min) (point-max) emerge-file-B nil 'no-message))
+ (emerge-setup (get-buffer buffer-A) emerge-file-A
+ (get-buffer buffer-B) emerge-file-B
+ (cons `(lambda ()
+ (delete-file ,emerge-file-A)
+ (delete-file ,emerge-file-B))
+ startup-hooks)
+ quit-hooks
+ nil)))
+
+;;;###autoload
+(defun emerge-buffers-with-ancestor (buffer-A buffer-B buffer-ancestor
+ &optional startup-hooks
+ quit-hooks)
+ "Run Emerge on two buffers, giving another buffer as the ancestor."
+ (interactive
+ "bBuffer A to merge: \nbBuffer B to merge: \nbAncestor buffer: ")
+ (let ((emerge-file-A (emerge-make-temp-file "A"))
+ (emerge-file-B (emerge-make-temp-file "B"))
+ (emerge-file-ancestor (emerge-make-temp-file "anc")))
+ (with-current-buffer
+ buffer-A
+ (write-region (point-min) (point-max) emerge-file-A nil 'no-message))
+ (with-current-buffer
+ buffer-B
+ (write-region (point-min) (point-max) emerge-file-B nil 'no-message))
+ (with-current-buffer
+ buffer-ancestor
+ (write-region (point-min) (point-max) emerge-file-ancestor nil
+ 'no-message))
+ (emerge-setup-with-ancestor (get-buffer buffer-A) emerge-file-A
+ (get-buffer buffer-B) emerge-file-B
+ (get-buffer buffer-ancestor)
+ emerge-file-ancestor
+ (cons `(lambda ()
+ (delete-file ,emerge-file-A)
+ (delete-file ,emerge-file-B)
+ (delete-file
+ ,emerge-file-ancestor))
+ startup-hooks)
+ quit-hooks
+ nil)))
+
+;;; Functions to start Emerge from the command line
+
+;;;###autoload
+(defun emerge-files-command ()
+ (let ((file-a (nth 0 command-line-args-left))
+ (file-b (nth 1 command-line-args-left))
+ (file-out (nth 2 command-line-args-left)))
+ (setq command-line-args-left (nthcdr 3 command-line-args-left))
+ (emerge-files-internal
+ file-a file-b nil
+ (list `(lambda () (emerge-command-exit ,file-out))))))
+
+;;;###autoload
+(defun emerge-files-with-ancestor-command ()
+ (let (file-a file-b file-anc file-out)
+ ;; check for a -a flag, for filemerge compatibility
+ (if (string= (car command-line-args-left) "-a")
+ ;; arguments are "-a ancestor file-a file-b file-out"
+ (progn
+ (setq file-a (nth 2 command-line-args-left))
+ (setq file-b (nth 3 command-line-args-left))
+ (setq file-anc (nth 1 command-line-args-left))
+ (setq file-out (nth 4 command-line-args-left))
+ (setq command-line-args-left (nthcdr 5 command-line-args-left)))
+ ;; arguments are "file-a file-b ancestor file-out"
+ (setq file-a (nth 0 command-line-args-left))
+ (setq file-b (nth 1 command-line-args-left))
+ (setq file-anc (nth 2 command-line-args-left))
+ (setq file-out (nth 3 command-line-args-left))
+ (setq command-line-args-left (nthcdr 4 command-line-args-left)))
+ (emerge-files-with-ancestor-internal
+ file-a file-b file-anc nil
+ (list `(lambda () (emerge-command-exit ,file-out))))))
+
+(defun emerge-command-exit (file-out)
+ (emerge-write-and-delete file-out)
+ (kill-emacs (if emerge-prefix-argument 1 0)))
+
+;;; Functions to start Emerge via remote request
+
+;;;###autoload
+(defun emerge-files-remote (file-a file-b file-out)
+ (setq emerge-file-out file-out)
+ (emerge-files-internal
+ file-a file-b nil
+ (list `(lambda () (emerge-remote-exit ,file-out ',emerge-exit-func)))
+ file-out)
+ (throw 'client-wait nil))
+
+;;;###autoload
+(defun emerge-files-with-ancestor-remote (file-a file-b file-anc file-out)
+ (setq emerge-file-out file-out)
+ (emerge-files-with-ancestor-internal
+ file-a file-b file-anc nil
+ (list `(lambda () (emerge-remote-exit ,file-out ',emerge-exit-func)))
+ file-out)
+ (throw 'client-wait nil))
+
+(defun emerge-remote-exit (file-out emerge-exit-func)
+ (emerge-write-and-delete file-out)
+ (kill-buffer emerge-merge-buffer)
+ (funcall emerge-exit-func (if emerge-prefix-argument 1 0)))
+
+;;; Functions to start Emerge on RCS versions
+
+;;;###autoload
+(defun emerge-revisions (arg file revision-A revision-B
+ &optional startup-hooks quit-hooks)
+ "Emerge two RCS revisions of a file."
+ (interactive
+ (list current-prefix-arg
+ (read-file-name "File to merge: " nil nil 'confirm)
+ (read-string "Revision A to merge: " emerge-last-revision-A)
+ (read-string "Revision B to merge: " emerge-last-revision-B)))
+ (setq emerge-last-revision-A revision-A
+ emerge-last-revision-B revision-B)
+ (emerge-revisions-internal
+ file revision-A revision-B startup-hooks
+ (if arg
+ (cons `(lambda ()
+ (shell-command
+ ,(format "%s %s" emerge-rcs-ci-program file)))
+ quit-hooks)
+ quit-hooks)))
+
+;;;###autoload
+(defun emerge-revisions-with-ancestor (arg file revision-A
+ revision-B ancestor
+ &optional
+ startup-hooks quit-hooks)
+ "Emerge two RCS revisions of a file, with another revision as ancestor."
+ (interactive
+ (list current-prefix-arg
+ (read-file-name "File to merge: " nil nil 'confirm)
+ (read-string "Revision A to merge: " emerge-last-revision-A)
+ (read-string "Revision B to merge: " emerge-last-revision-B)
+ (read-string "Ancestor: " emerge-last-revision-ancestor)))
+ (setq emerge-last-revision-A revision-A
+ emerge-last-revision-B revision-B
+ emerge-last-revision-ancestor ancestor)
+ (emerge-revision-with-ancestor-internal
+ file revision-A revision-B ancestor startup-hooks
+ (if arg
+ (let ((cmd ))
+ (cons `(lambda ()
+ (shell-command
+ ,(format "%s %s" emerge-rcs-ci-program file)))
+ quit-hooks))
+ quit-hooks)))
+
+(defun emerge-revisions-internal (file revision-A revision-B &optional
+ startup-hooks quit-hooks output-file)
+ (let ((buffer-A (get-buffer-create (format "%s,%s" file revision-A)))
+ (buffer-B (get-buffer-create (format "%s,%s" file revision-B)))
+ (emerge-file-A (emerge-make-temp-file "A"))
+ (emerge-file-B (emerge-make-temp-file "B")))
+ ;; Get the revisions into buffers
+ (with-current-buffer
+ buffer-A
+ (erase-buffer)
+ (shell-command
+ (format "%s -q -p%s %s" emerge-rcs-co-program revision-A file)
+ t)
+ (write-region (point-min) (point-max) emerge-file-A nil 'no-message)
+ (set-buffer-modified-p nil))
+ (with-current-buffer
+ buffer-B
+ (erase-buffer)
+ (shell-command
+ (format "%s -q -p%s %s" emerge-rcs-co-program revision-B file)
+ t)
+ (write-region (point-min) (point-max) emerge-file-B nil 'no-message)
+ (set-buffer-modified-p nil))
+ ;; Do the merge
+ (emerge-setup buffer-A emerge-file-A
+ buffer-B emerge-file-B
+ (cons `(lambda ()
+ (delete-file ,emerge-file-A)
+ (delete-file ,emerge-file-B))
+ startup-hooks)
+ (cons `(lambda () (emerge-files-exit ,file))
+ quit-hooks)
+ nil)))
+
+(defun emerge-revision-with-ancestor-internal (file revision-A revision-B
+ ancestor
+ &optional startup-hooks
+ quit-hooks output-file)
+ (let ((buffer-A (get-buffer-create (format "%s,%s" file revision-A)))
+ (buffer-B (get-buffer-create (format "%s,%s" file revision-B)))
+ (buffer-ancestor (get-buffer-create (format "%s,%s" file ancestor)))
+ (emerge-file-A (emerge-make-temp-file "A"))
+ (emerge-file-B (emerge-make-temp-file "B"))
+ (emerge-ancestor (emerge-make-temp-file "ancestor")))
+ ;; Get the revisions into buffers
+ (with-current-buffer
+ buffer-A
+ (erase-buffer)
+ (shell-command
+ (format "%s -q -p%s %s" emerge-rcs-co-program
+ revision-A file)
+ t)
+ (write-region (point-min) (point-max) emerge-file-A nil 'no-message)
+ (set-buffer-modified-p nil))
+ (with-current-buffer
+ buffer-B
+ (erase-buffer)
+ (shell-command
+ (format "%s -q -p%s %s" emerge-rcs-co-program revision-B file)
+ t)
+ (write-region (point-min) (point-max) emerge-file-B nil 'no-message)
+ (set-buffer-modified-p nil))
+ (with-current-buffer
+ buffer-ancestor
+ (erase-buffer)
+ (shell-command
+ (format "%s -q -p%s %s" emerge-rcs-co-program ancestor file)
+ t)
+ (write-region (point-min) (point-max) emerge-ancestor nil 'no-message)
+ (set-buffer-modified-p nil))
+ ;; Do the merge
+ (emerge-setup-with-ancestor
+ buffer-A emerge-file-A buffer-B emerge-file-B
+ buffer-ancestor emerge-ancestor
+ (cons `(lambda ()
+ (delete-file ,emerge-file-A)
+ (delete-file ,emerge-file-B)
+ (delete-file ,emerge-ancestor))
+ startup-hooks)
+ (cons `(lambda () (emerge-files-exit ,file))
+ quit-hooks)
+ output-file)))
+
+;;; Function to start Emerge based on a line in a file
+
+(defun emerge-execute-line ()
+ "Run Emerge using files named in current text line.
+Looks in that line for whitespace-separated entries of these forms:
+ a=file1
+ b=file2
+ ancestor=file3
+ output=file4
+to specify the files to use in Emerge.
+
+In addition, if only one of `a=file' or `b=file' is present, and `output=file'
+is present:
+If `emerge-execute-line-deletions' is non-nil and `ancestor=file' is present,
+it is assumed that the file in question has been deleted, and it is
+not copied to the output file.
+Otherwise, the A or B file present is copied to the output file."
+ (interactive)
+ (let (file-A file-B file-ancestor file-out
+ (case-fold-search t))
+ ;; Stop if at end of buffer (even though we might be in a line, if
+ ;; the line does not end with newline)
+ (if (eobp)
+ (error "At end of buffer"))
+ ;; Go to the beginning of the line
+ (beginning-of-line)
+ ;; Skip any initial whitespace
+ (if (looking-at "[ \t]*")
+ (goto-char (match-end 0)))
+ ;; Process the entire line
+ (while (not (eolp))
+ ;; Get the next entry
+ (if (looking-at "\\([a-z]+\\)=\\([^ \t\n]+\\)[ \t]*")
+ ;; Break apart the tab (before =) and the filename (after =)
+ (let ((tag (downcase
+ (buffer-substring (match-beginning 1) (match-end 1))))
+ (file (buffer-substring (match-beginning 2) (match-end 2))))
+ ;; Move point after the entry
+ (goto-char (match-end 0))
+ ;; Store the filename in the right variable
+ (cond
+ ((string-equal tag "a")
+ (if file-A
+ (error "This line has two `A' entries"))
+ (setq file-A file))
+ ((string-equal tag "b")
+ (if file-B
+ (error "This line has two `B' entries"))
+ (setq file-B file))
+ ((or (string-equal tag "anc") (string-equal tag "ancestor"))
+ (if file-ancestor
+ (error "This line has two `ancestor' entries"))
+ (setq file-ancestor file))
+ ((or (string-equal tag "out") (string-equal tag "output"))
+ (if file-out
+ (error "This line has two `output' entries"))
+ (setq file-out file))
+ (t
+ (error "Unrecognized entry"))))
+ ;; If the match on the entry pattern failed
+ (error "Unparsable entry")))
+ ;; Make sure that file-A and file-B are present
+ (if (not (or (and file-A file-B) file-out))
+ (error "Must have both `A' and `B' entries"))
+ (if (not (or file-A file-B))
+ (error "Must have `A' or `B' entry"))
+ ;; Go to the beginning of the next line, so next execution will use
+ ;; next line in buffer.
+ (beginning-of-line 2)
+ ;; Execute the correct command
+ (cond
+ ;; Merge of two files with ancestor
+ ((and file-A file-B file-ancestor)
+ (message "Merging %s and %s..." file-A file-B)
+ (emerge-files-with-ancestor (not (not file-out)) file-A file-B
+ file-ancestor file-out
+ nil
+ ;; When done, return to this buffer.
+ (list
+ `(lambda ()
+ (switch-to-buffer ,(current-buffer))
+ (message "Merge done.")))))
+ ;; Merge of two files without ancestor
+ ((and file-A file-B)
+ (message "Merging %s and %s..." file-A file-B)
+ (emerge-files (not (not file-out)) file-A file-B file-out
+ nil
+ ;; When done, return to this buffer.
+ (list
+ `(lambda ()
+ (switch-to-buffer ,(current-buffer))
+ (message "Merge done.")))))
+ ;; There is an output file (or there would have been an error above),
+ ;; but only one input file.
+ ;; The file appears to have been deleted in one version; do nothing.
+ ((and file-ancestor emerge-execute-line-deletions)
+ (message "No action."))
+ ;; The file should be copied from the version that contains it
+ (t (let ((input-file (or file-A file-B)))
+ (message "Copying...")
+ (copy-file input-file file-out)
+ (message "%s copied to %s." input-file file-out))))))
+
+;;; Sample function for creating information for emerge-execute-line
+
+(defcustom emerge-merge-directories-filename-regexp "[^.]"
+ "Regexp describing files to be processed by `emerge-merge-directories'."
+ :type 'regexp
+ :group 'emerge)
+
+;;;###autoload
+(defun emerge-merge-directories (a-dir b-dir ancestor-dir output-dir)
+ (interactive
+ (list
+ (read-directory-name "A directory: " nil nil 'confirm)
+ (read-directory-name "B directory: " nil nil 'confirm)
+ (read-directory-name "Ancestor directory (null for none): " nil nil 'confirm)
+ (read-directory-name "Output directory (null for none): " nil nil 'confirm)))
+ ;; Check that we're not on a line
+ (if (not (and (bolp) (eolp)))
+ (error "There is text on this line"))
+ ;; Turn null strings into nil to indicate directories not used.
+ (if (and ancestor-dir (string-equal ancestor-dir ""))
+ (setq ancestor-dir nil))
+ (if (and output-dir (string-equal output-dir ""))
+ (setq output-dir nil))
+ ;; Canonicalize the directory names
+ (setq a-dir (expand-file-name a-dir))
+ (if (not (string-equal (substring a-dir -1) "/"))
+ (setq a-dir (concat a-dir "/")))
+ (setq b-dir (expand-file-name b-dir))
+ (if (not (string-equal (substring b-dir -1) "/"))
+ (setq b-dir (concat b-dir "/")))
+ (if ancestor-dir
+ (progn
+ (setq ancestor-dir (expand-file-name ancestor-dir))
+ (if (not (string-equal (substring ancestor-dir -1) "/"))
+ (setq ancestor-dir (concat ancestor-dir "/")))))
+ (if output-dir
+ (progn
+ (setq output-dir (expand-file-name output-dir))
+ (if (not (string-equal (substring output-dir -1) "/"))
+ (setq output-dir (concat output-dir "/")))))
+ ;; Set the mark to where we start
+ (push-mark)
+ ;; Find out what files are in the directories.
+ (let* ((a-dir-files
+ (directory-files a-dir nil emerge-merge-directories-filename-regexp))
+ (b-dir-files
+ (directory-files b-dir nil emerge-merge-directories-filename-regexp))
+ (ancestor-dir-files
+ (and ancestor-dir
+ (directory-files ancestor-dir nil
+ emerge-merge-directories-filename-regexp)))
+ (all-files (sort (nconc (copy-sequence a-dir-files)
+ (copy-sequence b-dir-files)
+ (copy-sequence ancestor-dir-files))
+ (function string-lessp))))
+ ;; Remove duplicates from all-files.
+ (let ((p all-files))
+ (while p
+ (if (and (cdr p) (string-equal (car p) (car (cdr p))))
+ (setcdr p (cdr (cdr p)))
+ (setq p (cdr p)))))
+ ;; Generate the control lines for the various files.
+ (while all-files
+ (let ((f (car all-files)))
+ (setq all-files (cdr all-files))
+ (if (and a-dir-files (string-equal (car a-dir-files) f))
+ (progn
+ (insert "A=" a-dir f "\t")
+ (setq a-dir-files (cdr a-dir-files))))
+ (if (and b-dir-files (string-equal (car b-dir-files) f))
+ (progn
+ (insert "B=" b-dir f "\t")
+ (setq b-dir-files (cdr b-dir-files))))
+ (if (and ancestor-dir-files (string-equal (car ancestor-dir-files) f))
+ (progn
+ (insert "ancestor=" ancestor-dir f "\t")
+ (setq ancestor-dir-files (cdr ancestor-dir-files))))
+ (if output-dir
+ (insert "output=" output-dir f "\t"))
+ (backward-delete-char 1)
+ (insert "\n")))))
+
+;;; Common setup routines
+
+;; Set up the window configuration. If POS is given, set the points to
+;; the beginnings of the buffers.
+(defun emerge-setup-windows (buffer-A buffer-B merge-buffer &optional pos)
+ ;; Make sure we are not in the minibuffer window when we try to delete
+ ;; all other windows.
+ (if (eq (selected-window) (minibuffer-window))
+ (other-window 1))
+ (delete-other-windows)
+ (switch-to-buffer merge-buffer)
+ (emerge-refresh-mode-line)
+ (split-window-vertically)
+ (split-window-horizontally)
+ (switch-to-buffer buffer-A)
+ (if pos
+ (goto-char (point-min)))
+ (other-window 1)
+ (switch-to-buffer buffer-B)
+ (if pos
+ (goto-char (point-min)))
+ (other-window 1)
+ (if pos
+ (goto-char (point-min)))
+ ;; If diff/diff3 reports errors, display them rather than the merge buffer.
+ (if (/= 0 (with-current-buffer emerge-diff-error-buffer (buffer-size)))
+ (progn
+ (ding)
+ (message "Errors found in diff/diff3 output. Merge buffer is %s."
+ (buffer-name emerge-merge-buffer))
+ (switch-to-buffer emerge-diff-error-buffer))))
+
+;; Set up the keymap in the merge buffer
+(defun emerge-set-keys ()
+ ;; Set up fixed keymaps if necessary
+ (if (not emerge-basic-keymap)
+ (emerge-setup-fixed-keymaps))
+ ;; Save the old local map
+ (setq emerge-old-keymap (current-local-map))
+ ;; Construct the edit keymap
+ (setq emerge-edit-keymap (if emerge-old-keymap
+ (copy-keymap emerge-old-keymap)
+ (make-sparse-keymap)))
+ ;; Install the Emerge commands
+ (emerge-force-define-key emerge-edit-keymap emerge-command-prefix
+ 'emerge-basic-keymap)
+ (define-key emerge-edit-keymap [menu-bar] (make-sparse-keymap))
+
+ ;; Create the additional menu bar items.
+ (define-key emerge-edit-keymap [menu-bar emerge-options]
+ (cons "Merge-Options" emerge-options-menu))
+ (define-key emerge-edit-keymap [menu-bar merge]
+ (cons "Merge" emerge-merge-menu))
+ (define-key emerge-edit-keymap [menu-bar move]
+ (cons "Move" emerge-move-menu))
+
+ ;; Suppress write-file and save-buffer
+ (substitute-key-definition 'write-file
+ 'emerge-query-write-file
+ emerge-edit-keymap)
+ (substitute-key-definition 'save-buffer
+ 'emerge-query-save-buffer
+ emerge-edit-keymap)
+ (define-key emerge-edit-keymap [remap write-file] 'emerge-query-write-file)
+ (define-key emerge-edit-keymap [remap save-buffer] 'emerge-query-save-buffer)
+ (use-local-map emerge-fast-keymap)
+ (setq emerge-edit-mode nil)
+ (setq emerge-fast-mode t))
+
+(defun emerge-remember-buffer-characteristics ()
+ "Record certain properties of the buffers being merged.
+Must be called in the merge buffer. Remembers read-only, modified,
+auto-save, and saves them in buffer local variables. Sets the buffers
+read-only and turns off `auto-save-mode'.
+These characteristics are restored by `emerge-restore-buffer-characteristics'."
+ ;; force auto-save, because we will turn off auto-saving in buffers for the
+ ;; duration
+ (do-auto-save)
+ ;; remember and alter buffer characteristics
+ (setq emerge-A-buffer-values
+ (with-current-buffer
+ emerge-A-buffer
+ (prog1
+ (emerge-save-variables emerge-saved-variables)
+ (emerge-restore-variables emerge-saved-variables
+ emerge-merging-values))))
+ (setq emerge-B-buffer-values
+ (with-current-buffer
+ emerge-B-buffer
+ (prog1
+ (emerge-save-variables emerge-saved-variables)
+ (emerge-restore-variables emerge-saved-variables
+ emerge-merging-values)))))
+
+(defun emerge-restore-buffer-characteristics ()
+ "Restore characteristics saved by `emerge-remember-buffer-characteristics'."
+ (let ((A-values emerge-A-buffer-values)
+ (B-values emerge-B-buffer-values))
+ (with-current-buffer emerge-A-buffer
+ (emerge-restore-variables emerge-saved-variables
+ A-values))
+ (with-current-buffer emerge-B-buffer
+ (emerge-restore-variables emerge-saved-variables
+ B-values))))
+
+;; Move to line DESIRED-LINE assuming we are at line CURRENT-LINE.
+;; Return DESIRED-LINE.
+(defun emerge-goto-line (desired-line current-line)
+ (forward-line (- desired-line current-line))
+ desired-line)
+
+(defun emerge-convert-diffs-to-markers (A-buffer
+ B-buffer
+ merge-buffer
+ lineno-list)
+ (let* (marker-list
+ (A-point-min (with-current-buffer A-buffer (point-min)))
+ (offset (1- A-point-min))
+ (B-point-min (with-current-buffer B-buffer (point-min)))
+ ;; Record current line number in each buffer
+ ;; so we don't have to count from the beginning.
+ (a-line 1)
+ (b-line 1))
+ (with-current-buffer A-buffer (goto-char (point-min)))
+ (with-current-buffer B-buffer (goto-char (point-min)))
+ (while lineno-list
+ (let* ((list-element (car lineno-list))
+ a-begin-marker
+ a-end-marker
+ b-begin-marker
+ b-end-marker
+ merge-begin-marker
+ merge-end-marker
+ (a-begin (aref list-element 0))
+ (a-end (aref list-element 1))
+ (b-begin (aref list-element 2))
+ (b-end (aref list-element 3))
+ (state (aref list-element 4)))
+ ;; place markers at the appropriate places in the buffers
+ (with-current-buffer
+ A-buffer
+ (setq a-line (emerge-goto-line a-begin a-line))
+ (setq a-begin-marker (point-marker))
+ (setq a-line (emerge-goto-line a-end a-line))
+ (setq a-end-marker (point-marker)))
+ (with-current-buffer
+ B-buffer
+ (setq b-line (emerge-goto-line b-begin b-line))
+ (setq b-begin-marker (point-marker))
+ (setq b-line (emerge-goto-line b-end b-line))
+ (setq b-end-marker (point-marker)))
+ (setq merge-begin-marker (set-marker
+ (make-marker)
+ (- (marker-position a-begin-marker)
+ offset)
+ merge-buffer))
+ (setq merge-end-marker (set-marker
+ (make-marker)
+ (- (marker-position a-end-marker)
+ offset)
+ merge-buffer))
+ ;; record all the markers for this difference
+ (setq marker-list (cons (vector a-begin-marker a-end-marker
+ b-begin-marker b-end-marker
+ merge-begin-marker merge-end-marker
+ state)
+ marker-list)))
+ (setq lineno-list (cdr lineno-list)))
+ ;; convert the list of difference information into a vector for
+ ;; fast access
+ (setq emerge-difference-list (apply 'vector (nreverse marker-list)))))
+
+;; If we have an ancestor, select all B variants that we prefer
+(defun emerge-select-prefer-Bs ()
+ (let ((n 0))
+ (while (< n emerge-number-of-differences)
+ (if (eq (aref (aref emerge-difference-list n) 6) 'prefer-B)
+ (progn
+ (emerge-unselect-and-select-difference n t)
+ (emerge-select-B)
+ (aset (aref emerge-difference-list n) 6 'prefer-B)))
+ (setq n (1+ n))))
+ (emerge-unselect-and-select-difference -1))
+
+;; Process the local-variables list at the end of the merged file, if
+;; requested.
+(defun emerge-handle-local-variables ()
+ (if emerge-process-local-variables
+ (condition-case err
+ (hack-local-variables)
+ (error (message "Local-variables error in merge buffer: %s"
+ (prin1-to-string err))))))
+
+;;; Common exit routines
+
+(defun emerge-write-and-delete (file-out)
+ ;; clear screen format
+ (delete-other-windows)
+ ;; delete A, B, and ancestor buffers, if they haven't been changed
+ (if (not (buffer-modified-p emerge-A-buffer))
+ (kill-buffer emerge-A-buffer))
+ (if (not (buffer-modified-p emerge-B-buffer))
+ (kill-buffer emerge-B-buffer))
+ (if (and emerge-ancestor-buffer
+ (not (buffer-modified-p emerge-ancestor-buffer)))
+ (kill-buffer emerge-ancestor-buffer))
+ ;; Write merge buffer to file
+ (and file-out
+ (write-file file-out)))
+
+;;; Commands
+
+(defun emerge-recenter (&optional arg)
+ "Bring the highlighted region of all three merge buffers into view.
+This brings the buffers into view if they are in windows.
+With an argument, reestablish the default three-window display."
+ (interactive "P")
+ ;; If there is an argument, rebuild the window structure
+ (if arg
+ (emerge-setup-windows emerge-A-buffer emerge-B-buffer
+ emerge-merge-buffer))
+ ;; Redisplay whatever buffers are showing, if there is a selected difference
+ (if (and (>= emerge-current-difference 0)
+ (< emerge-current-difference emerge-number-of-differences))
+ (let* ((merge-buffer emerge-merge-buffer)
+ (buffer-A emerge-A-buffer)
+ (buffer-B emerge-B-buffer)
+ (window-A (get-buffer-window buffer-A 'visible))
+ (window-B (get-buffer-window buffer-B 'visible))
+ (merge-window (get-buffer-window merge-buffer))
+ (diff-vector
+ (aref emerge-difference-list emerge-current-difference)))
+ (if window-A (progn
+ (select-window window-A)
+ (emerge-position-region
+ (- (aref diff-vector 0)
+ (1- emerge-before-flag-length))
+ (+ (aref diff-vector 1)
+ (1- emerge-after-flag-length))
+ (1+ (aref diff-vector 0)))))
+ (if window-B (progn
+ (select-window window-B)
+ (emerge-position-region
+ (- (aref diff-vector 2)
+ (1- emerge-before-flag-length))
+ (+ (aref diff-vector 3)
+ (1- emerge-after-flag-length))
+ (1+ (aref diff-vector 2)))))
+ (if merge-window (progn
+ (select-window merge-window)
+ (emerge-position-region
+ (- (aref diff-vector 4)
+ (1- emerge-before-flag-length))
+ (+ (aref diff-vector 5)
+ (1- emerge-after-flag-length))
+ (1+ (aref diff-vector 4))))))))
+
+;;; Window scrolling operations
+;; These operations are designed to scroll all three windows the same amount,
+;; so as to keep the text in them aligned.
+
+;; Perform some operation on all three windows (if they are showing).
+;; Catches all errors on the operation in the A and B windows, but not
+;; in the merge window. Usually, errors come from scrolling off the
+;; beginning or end of the buffer, and this gives a nice error message:
+;; End of buffer is reported in the merge buffer, but if the scroll was
+;; possible in the A or B windows, it is performed there before the error
+;; is reported.
+(defun emerge-operate-on-windows (operation arg)
+ (let* ((merge-buffer emerge-merge-buffer)
+ (buffer-A emerge-A-buffer)
+ (buffer-B emerge-B-buffer)
+ (window-A (get-buffer-window buffer-A 'visible))
+ (window-B (get-buffer-window buffer-B 'visible))
+ (merge-window (get-buffer-window merge-buffer)))
+ (if window-A (progn
+ (select-window window-A)
+ (condition-case nil
+ (funcall operation arg)
+ (error))))
+ (if window-B (progn
+ (select-window window-B)
+ (condition-case nil
+ (funcall operation arg)
+ (error))))
+ (if merge-window (progn
+ (select-window merge-window)
+ (funcall operation arg)))))
+
+(defun emerge-scroll-up (&optional arg)
+ "Scroll up all three merge buffers, if they are in windows.
+With argument N, scroll N lines; otherwise scroll by nearly
+the height of the merge window.
+`C-u -' alone as argument scrolls half the height of the merge window."
+ (interactive "P")
+ (emerge-operate-on-windows
+ 'scroll-up
+ ;; calculate argument to scroll-up
+ ;; if there is an explicit argument
+ (if (and arg (not (equal arg '-)))
+ ;; use it
+ (prefix-numeric-value arg)
+ ;; if not, see if we can determine a default amount (the window height)
+ (let ((merge-window (get-buffer-window emerge-merge-buffer)))
+ (if (null merge-window)
+ ;; no window, use nil
+ nil
+ (let ((default-amount
+ (- (window-height merge-window) 1 next-screen-context-lines)))
+ ;; the window was found
+ (if arg
+ ;; C-u as argument means half of default amount
+ (/ default-amount 2)
+ ;; no argument means default amount
+ default-amount)))))))
+
+(defun emerge-scroll-down (&optional arg)
+ "Scroll down all three merge buffers, if they are in windows.
+With argument N, scroll N lines; otherwise scroll by nearly
+the height of the merge window.
+`C-u -' alone as argument scrolls half the height of the merge window."
+ (interactive "P")
+ (emerge-operate-on-windows
+ 'scroll-down
+ ;; calculate argument to scroll-down
+ ;; if there is an explicit argument
+ (if (and arg (not (equal arg '-)))
+ ;; use it
+ (prefix-numeric-value arg)
+ ;; if not, see if we can determine a default amount (the window height)
+ (let ((merge-window (get-buffer-window emerge-merge-buffer)))
+ (if (null merge-window)
+ ;; no window, use nil
+ nil
+ (let ((default-amount
+ (- (window-height merge-window) 1 next-screen-context-lines)))
+ ;; the window was found
+ (if arg
+ ;; C-u as argument means half of default amount
+ (/ default-amount 2)
+ ;; no argument means default amount
+ default-amount)))))))
+
+(defun emerge-scroll-left (&optional arg)
+ "Scroll left all three merge buffers, if they are in windows.
+If an argument is given, that is how many columns are scrolled, else nearly
+the width of the A and B windows. `C-u -' alone as argument scrolls half the
+width of the A and B windows."
+ (interactive "P")
+ (emerge-operate-on-windows
+ 'scroll-left
+ ;; calculate argument to scroll-left
+ ;; if there is an explicit argument
+ (if (and arg (not (equal arg '-)))
+ ;; use it
+ (prefix-numeric-value arg)
+ ;; if not, see if we can determine a default amount
+ ;; (half the window width)
+ (let ((merge-window (get-buffer-window emerge-merge-buffer)))
+ (if (null merge-window)
+ ;; no window, use nil
+ nil
+ (let ((default-amount
+ (- (/ (window-width merge-window) 2) 3)))
+ ;; the window was found
+ (if arg
+ ;; C-u as argument means half of default amount
+ (/ default-amount 2)
+ ;; no argument means default amount
+ default-amount)))))))
+
+(defun emerge-scroll-right (&optional arg)
+ "Scroll right all three merge buffers, if they are in windows.
+If an argument is given, that is how many columns are scrolled, else nearly
+the width of the A and B windows. `C-u -' alone as argument scrolls half the
+width of the A and B windows."
+ (interactive "P")
+ (emerge-operate-on-windows
+ 'scroll-right
+ ;; calculate argument to scroll-right
+ ;; if there is an explicit argument
+ (if (and arg (not (equal arg '-)))
+ ;; use it
+ (prefix-numeric-value arg)
+ ;; if not, see if we can determine a default amount
+ ;; (half the window width)
+ (let ((merge-window (get-buffer-window emerge-merge-buffer)))
+ (if (null merge-window)
+ ;; no window, use nil
+ nil
+ (let ((default-amount
+ (- (/ (window-width merge-window) 2) 3)))
+ ;; the window was found
+ (if arg
+ ;; C-u as argument means half of default amount
+ (/ default-amount 2)
+ ;; no argument means default amount
+ default-amount)))))))
+
+(defun emerge-scroll-reset ()
+ "Reset horizontal scrolling in Emerge.
+This resets the horizontal scrolling of all three merge buffers
+to the left margin, if they are in windows."
+ (interactive)
+ (emerge-operate-on-windows
+ (lambda (x) (set-window-hscroll (selected-window) 0))
+ nil))
+
+;; Attempt to show the region nicely.
+;; If there are min-lines lines above and below the region, then don't do
+;; anything.
+;; If not, recenter the region to make it so.
+;; If that isn't possible, remove context lines balancedly from top and bottom
+;; so the entire region shows.
+;; If that isn't possible, show the top of the region.
+;; BEG must be at the beginning of a line.
+(defun emerge-position-region (beg end pos)
+ ;; First test whether the entire region is visible with
+ ;; emerge-min-visible-lines above and below it
+ (if (not (and (<= (progn
+ (move-to-window-line emerge-min-visible-lines)
+ (point))
+ beg)
+ (<= end (progn
+ (move-to-window-line
+ (- (1+ emerge-min-visible-lines)))
+ (point)))))
+ ;; We failed that test, see if it fits at all
+ ;; Meanwhile positioning it correctly in case it doesn't fit
+ (progn
+ (set-window-start (selected-window) beg)
+ (if (pos-visible-in-window-p end)
+ ;; Determine the number of lines that the region occupies
+ (let ((lines 0))
+ (while (> end (progn
+ (move-to-window-line lines)
+ (point)))
+ (setq lines (1+ lines)))
+ ;; And position the beginning on the right line
+ (goto-char beg)
+ (recenter (/ (1+ (- (1- (window-height (selected-window)))
+ lines))
+ 2))))))
+ (goto-char pos))
+
+(defun emerge-next-difference ()
+ "Advance to the next difference."
+ (interactive)
+ (if (< emerge-current-difference emerge-number-of-differences)
+ (let ((n (1+ emerge-current-difference)))
+ (while (and emerge-skip-prefers
+ (< n emerge-number-of-differences)
+ (memq (aref (aref emerge-difference-list n) 6)
+ '(prefer-A prefer-B)))
+ (setq n (1+ n)))
+ (let ((buffer-read-only nil))
+ (emerge-unselect-and-select-difference n)))
+ (error "At end")))
+
+(defun emerge-previous-difference ()
+ "Go to the previous difference."
+ (interactive)
+ (if (> emerge-current-difference -1)
+ (let ((n (1- emerge-current-difference)))
+ (while (and emerge-skip-prefers
+ (> n -1)
+ (memq (aref (aref emerge-difference-list n) 6)
+ '(prefer-A prefer-B)))
+ (setq n (1- n)))
+ (let ((buffer-read-only nil))
+ (emerge-unselect-and-select-difference n)))
+ (error "At beginning")))
+
+(defun emerge-jump-to-difference (difference-number)
+ "Go to the N-th difference."
+ (interactive "p")
+ (let ((buffer-read-only nil))
+ (setq difference-number (1- difference-number))
+ (if (and (>= difference-number -1)
+ (< difference-number (1+ emerge-number-of-differences)))
+ (emerge-unselect-and-select-difference difference-number)
+ (error "Bad difference number"))))
+
+(defun emerge-abort ()
+ "Abort the Emerge session."
+ (interactive)
+ (emerge-quit t))
+
+(defun emerge-quit (arg)
+ "Finish the Emerge session and exit Emerge.
+Prefix argument means to abort rather than successfully finish.
+The difference depends on how the merge was started,
+but usually means to not write over one of the original files, or to signal
+to some process which invoked Emerge a failure code.
+
+Unselects the selected difference, if any, restores the read-only and modified
+flags of the merged file buffers, restores the local keymap of the merge
+buffer, and sets off various emerge flags. Using Emerge commands in this
+buffer after this will cause serious problems."
+ (interactive "P")
+ (if (prog1
+ (y-or-n-p
+ (if (not arg)
+ "Do you really want to successfully finish this merge? "
+ "Do you really want to abort this merge? "))
+ (message ""))
+ (emerge-really-quit arg)))
+
+;; Perform the quit operations.
+(defun emerge-really-quit (arg)
+ (setq buffer-read-only nil)
+ (emerge-unselect-and-select-difference -1)
+ (emerge-restore-buffer-characteristics)
+ ;; null out the difference markers so they don't slow down future editing
+ ;; operations
+ (mapc (lambda (d)
+ (set-marker (aref d 0) nil)
+ (set-marker (aref d 1) nil)
+ (set-marker (aref d 2) nil)
+ (set-marker (aref d 3) nil)
+ (set-marker (aref d 4) nil)
+ (set-marker (aref d 5) nil))
+ emerge-difference-list)
+ ;; allow them to be garbage collected
+ (setq emerge-difference-list nil)
+ ;; restore the local map
+ (use-local-map emerge-old-keymap)
+ ;; turn off all the emerge modes
+ (setq emerge-mode nil)
+ (setq emerge-fast-mode nil)
+ (setq emerge-edit-mode nil)
+ (setq emerge-auto-advance nil)
+ (setq emerge-skip-prefers nil)
+ ;; restore mode line
+ (kill-local-variable 'mode-line-buffer-identification)
+ (let ((emerge-prefix-argument arg))
+ (run-hooks 'emerge-quit-hook)))
+
+(defun emerge-select-A (&optional force)
+ "Select the A variant of this difference.
+Refuses to function if this difference has been edited, i.e., if it
+is neither the A nor the B variant.
+A prefix argument forces the variant to be selected
+even if the difference has been edited."
+ (interactive "P")
+ (let ((operate
+ (lambda ()
+ (emerge-select-A-edit merge-begin merge-end A-begin A-end)
+ (if emerge-auto-advance
+ (emerge-next-difference))))
+ (operate-no-change
+ (lambda () (if emerge-auto-advance
+ (emerge-next-difference)))))
+ (emerge-select-version force operate-no-change operate operate)))
+
+;; Actually select the A variant
+(defun emerge-select-A-edit (merge-begin merge-end A-begin A-end)
+ (with-current-buffer
+ emerge-merge-buffer
+ (delete-region merge-begin merge-end)
+ (goto-char merge-begin)
+ (insert-buffer-substring emerge-A-buffer A-begin A-end)
+ (goto-char merge-begin)
+ (aset diff-vector 6 'A)
+ (emerge-refresh-mode-line)))
+
+(defun emerge-select-B (&optional force)
+ "Select the B variant of this difference.
+Refuses to function if this difference has been edited, i.e., if it
+is neither the A nor the B variant.
+A prefix argument forces the variant to be selected
+even if the difference has been edited."
+ (interactive "P")
+ (let ((operate
+ (lambda ()
+ (emerge-select-B-edit merge-begin merge-end B-begin B-end)
+ (if emerge-auto-advance
+ (emerge-next-difference))))
+ (operate-no-change
+ (lambda () (if emerge-auto-advance
+ (emerge-next-difference)))))
+ (emerge-select-version force operate operate-no-change operate)))
+
+;; Actually select the B variant
+(defun emerge-select-B-edit (merge-begin merge-end B-begin B-end)
+ (with-current-buffer
+ emerge-merge-buffer
+ (delete-region merge-begin merge-end)
+ (goto-char merge-begin)
+ (insert-buffer-substring emerge-B-buffer B-begin B-end)
+ (goto-char merge-begin)
+ (aset diff-vector 6 'B)
+ (emerge-refresh-mode-line)))
+
+(defun emerge-default-A ()
+ "Make the A variant the default from here down.
+This selects the A variant for all differences from here down in the buffer
+which are still defaulted, i.e., which the user has not selected and for
+which there is no preference."
+ (interactive)
+ (let ((buffer-read-only nil))
+ (let ((selected-difference emerge-current-difference)
+ (n (max emerge-current-difference 0)))
+ (while (< n emerge-number-of-differences)
+ (let ((diff-vector (aref emerge-difference-list n)))
+ (if (eq (aref diff-vector 6) 'default-B)
+ (progn
+ (emerge-unselect-and-select-difference n t)
+ (emerge-select-A)
+ (aset diff-vector 6 'default-A))))
+ (setq n (1+ n))
+ (if (zerop (% n 10))
+ (message "Setting default to A...%d" n)))
+ (emerge-unselect-and-select-difference selected-difference)))
+ (message "Default choice is now A"))
+
+(defun emerge-default-B ()
+ "Make the B variant the default from here down.
+This selects the B variant for all differences from here down in the buffer
+which are still defaulted, i.e., which the user has not selected and for
+which there is no preference."
+ (interactive)
+ (let ((buffer-read-only nil))
+ (let ((selected-difference emerge-current-difference)
+ (n (max emerge-current-difference 0)))
+ (while (< n emerge-number-of-differences)
+ (let ((diff-vector (aref emerge-difference-list n)))
+ (if (eq (aref diff-vector 6) 'default-A)
+ (progn
+ (emerge-unselect-and-select-difference n t)
+ (emerge-select-B)
+ (aset diff-vector 6 'default-B))))
+ (setq n (1+ n))
+ (if (zerop (% n 10))
+ (message "Setting default to B...%d" n)))
+ (emerge-unselect-and-select-difference selected-difference)))
+ (message "Default choice is now B"))
+
+(defun emerge-fast-mode ()
+ "Set fast mode, for Emerge.
+In this mode ordinary Emacs commands are disabled, and Emerge commands
+need not be prefixed with \\<emerge-fast-keymap>\\[emerge-basic-keymap]."
+ (interactive)
+ (setq buffer-read-only t)
+ (use-local-map emerge-fast-keymap)
+ (setq emerge-mode t)
+ (setq emerge-fast-mode t)
+ (setq emerge-edit-mode nil)
+ (message "Fast mode set")
+ (force-mode-line-update))
+
+(defun emerge-edit-mode ()
+ "Set edit mode, for Emerge.
+In this mode ordinary Emacs commands are available, and Emerge commands
+must be prefixed with \\<emerge-fast-keymap>\\[emerge-basic-keymap]."
+ (interactive)
+ (setq buffer-read-only nil)
+ (use-local-map emerge-edit-keymap)
+ (setq emerge-mode t)
+ (setq emerge-fast-mode nil)
+ (setq emerge-edit-mode t)
+ (message "Edit mode set")
+ (force-mode-line-update))
+
+(defun emerge-auto-advance (arg)
+ "Toggle Auto-Advance mode, for Emerge.
+This mode causes `emerge-select-A' and `emerge-select-B' to automatically
+advance to the next difference.
+With a positive argument, turn on Auto-Advance mode.
+With a negative argument, turn off Auto-Advance mode."
+ (interactive "P")
+ (setq emerge-auto-advance (if (null arg)
+ (not emerge-auto-advance)
+ (> (prefix-numeric-value arg) 0)))
+ (message (if emerge-auto-advance
+ "Auto-advance set"
+ "Auto-advance cleared"))
+ (force-mode-line-update))
+
+(defun emerge-skip-prefers (arg)
+ "Toggle Skip-Prefers mode, for Emerge.
+This mode causes `emerge-next-difference' and `emerge-previous-difference'
+to automatically skip over differences for which there is a preference.
+With a positive argument, turn on Skip-Prefers mode.
+With a negative argument, turn off Skip-Prefers mode."
+ (interactive "P")
+ (setq emerge-skip-prefers (if (null arg)
+ (not emerge-skip-prefers)
+ (> (prefix-numeric-value arg) 0)))
+ (message (if emerge-skip-prefers
+ "Skip-prefers set"
+ "Skip-prefers cleared"))
+ (force-mode-line-update))
+
+(defun emerge-copy-as-kill-A ()
+ "Put the A variant of this difference in the kill ring."
+ (interactive)
+ (emerge-validate-difference)
+ (let* ((diff-vector
+ (aref emerge-difference-list emerge-current-difference))
+ (A-begin (1+ (aref diff-vector 0)))
+ (A-end (1- (aref diff-vector 1)))
+ ;; so further kills don't append
+ this-command)
+ (with-current-buffer emerge-A-buffer
+ (copy-region-as-kill A-begin A-end))))
+
+(defun emerge-copy-as-kill-B ()
+ "Put the B variant of this difference in the kill ring."
+ (interactive)
+ (emerge-validate-difference)
+ (let* ((diff-vector
+ (aref emerge-difference-list emerge-current-difference))
+ (B-begin (1+ (aref diff-vector 2)))
+ (B-end (1- (aref diff-vector 3)))
+ ;; so further kills don't append
+ this-command)
+ (with-current-buffer emerge-B-buffer
+ (copy-region-as-kill B-begin B-end))))
+
+(defun emerge-insert-A (arg)
+ "Insert the A variant of this difference at the point.
+Leaves point after text, mark before.
+With prefix argument, puts point before, mark after."
+ (interactive "P")
+ (emerge-validate-difference)
+ (let* ((diff-vector
+ (aref emerge-difference-list emerge-current-difference))
+ (A-begin (1+ (aref diff-vector 0)))
+ (A-end (1- (aref diff-vector 1)))
+ (opoint (point))
+ (buffer-read-only nil))
+ (insert-buffer-substring emerge-A-buffer A-begin A-end)
+ (if (not arg)
+ (set-mark opoint)
+ (set-mark (point))
+ (goto-char opoint))))
+
+(defun emerge-insert-B (arg)
+ "Insert the B variant of this difference at the point.
+Leaves point after text, mark before.
+With prefix argument, puts point before, mark after."
+ (interactive "P")
+ (emerge-validate-difference)
+ (let* ((diff-vector
+ (aref emerge-difference-list emerge-current-difference))
+ (B-begin (1+ (aref diff-vector 2)))
+ (B-end (1- (aref diff-vector 3)))
+ (opoint (point))
+ (buffer-read-only nil))
+ (insert-buffer-substring emerge-B-buffer B-begin B-end)
+ (if (not arg)
+ (set-mark opoint)
+ (set-mark (point))
+ (goto-char opoint))))
+
+(defun emerge-mark-difference (arg)
+ "Leaves the point before this difference and the mark after it.
+With prefix argument, puts mark before, point after."
+ (interactive "P")
+ (emerge-validate-difference)
+ (let* ((diff-vector
+ (aref emerge-difference-list emerge-current-difference))
+ (merge-begin (1+ (aref diff-vector 4)))
+ (merge-end (1- (aref diff-vector 5))))
+ (if (not arg)
+ (progn
+ (goto-char merge-begin)
+ (set-mark merge-end))
+ (goto-char merge-end)
+ (set-mark merge-begin))))
+
+(defun emerge-file-names ()
+ "Show the names of the buffers or files being operated on by Emerge.
+Use C-u l to reset the windows afterward."
+ (interactive)
+ (delete-other-windows)
+ (let ((temp-buffer-show-function
+ (lambda (buf)
+ (split-window-vertically)
+ (switch-to-buffer buf)
+ (other-window 1))))
+ (with-output-to-temp-buffer "*Help*"
+ (with-current-buffer emerge-A-buffer
+ (if buffer-file-name
+ (progn
+ (princ "File A is: ")
+ (princ buffer-file-name))
+ (progn
+ (princ "Buffer A is: ")
+ (princ (buffer-name))))
+ (princ "\n"))
+ (with-current-buffer emerge-B-buffer
+ (if buffer-file-name
+ (progn
+ (princ "File B is: ")
+ (princ buffer-file-name))
+ (progn
+ (princ "Buffer B is: ")
+ (princ (buffer-name))))
+ (princ "\n"))
+ (if emerge-ancestor-buffer
+ (with-current-buffer emerge-ancestor-buffer
+ (if buffer-file-name
+ (progn
+ (princ "Ancestor file is: ")
+ (princ buffer-file-name))
+ (progn
+ (princ "Ancestor buffer is: ")
+ (princ (buffer-name))))
+ (princ "\n")))
+ (princ emerge-output-description)
+ (with-current-buffer standard-output
+ (help-mode)))))
+
+(defun emerge-join-differences (arg)
+ "Join the selected difference with the following one.
+With a prefix argument, join with the preceding one."
+ (interactive "P")
+ (let ((n emerge-current-difference))
+ ;; adjust n to be first difference to join
+ (if arg
+ (setq n (1- n)))
+ ;; n and n+1 are the differences to join
+ ;; check that they are both differences
+ (if (or (< n 0) (>= n (1- emerge-number-of-differences)))
+ (error "Incorrect differences to join"))
+ ;; remove the flags
+ (emerge-unselect-difference emerge-current-difference)
+ ;; decrement total number of differences
+ (setq emerge-number-of-differences (1- emerge-number-of-differences))
+ ;; build new differences vector
+ (let ((i 0)
+ (new-differences (make-vector emerge-number-of-differences nil)))
+ (while (< i emerge-number-of-differences)
+ (aset new-differences i
+ (cond
+ ((< i n) (aref emerge-difference-list i))
+ ((> i n) (aref emerge-difference-list (1+ i)))
+ (t (let ((prev (aref emerge-difference-list i))
+ (next (aref emerge-difference-list (1+ i))))
+ (vector (aref prev 0)
+ (aref next 1)
+ (aref prev 2)
+ (aref next 3)
+ (aref prev 4)
+ (aref next 5)
+ (let ((ps (aref prev 6))
+ (ns (aref next 6)))
+ (cond
+ ((eq ps ns)
+ ps)
+ ((and (or (eq ps 'B) (eq ps 'prefer-B))
+ (or (eq ns 'B) (eq ns 'prefer-B)))
+ 'B)
+ (t 'A))))))))
+ (setq i (1+ i)))
+ (setq emerge-difference-list new-differences))
+ ;; set the current difference correctly
+ (setq emerge-current-difference n)
+ ;; fix the mode line
+ (emerge-refresh-mode-line)
+ ;; reinsert the flags
+ (emerge-select-difference emerge-current-difference)
+ (emerge-recenter)))
+
+(defun emerge-split-difference ()
+ "Split the current difference where the points are in the three windows."
+ (interactive)
+ (let ((n emerge-current-difference))
+ ;; check that this is a valid difference
+ (emerge-validate-difference)
+ ;; get the point values and old difference
+ (let ((A-point (with-current-buffer emerge-A-buffer
+ (point-marker)))
+ (B-point (with-current-buffer emerge-B-buffer
+ (point-marker)))
+ (merge-point (point-marker))
+ (old-diff (aref emerge-difference-list n)))
+ ;; check location of the points, give error if they aren't in the
+ ;; differences
+ (if (or (< A-point (aref old-diff 0))
+ (> A-point (aref old-diff 1)))
+ (error "Point outside of difference in A buffer"))
+ (if (or (< B-point (aref old-diff 2))
+ (> B-point (aref old-diff 3)))
+ (error "Point outside of difference in B buffer"))
+ (if (or (< merge-point (aref old-diff 4))
+ (> merge-point (aref old-diff 5)))
+ (error "Point outside of difference in merge buffer"))
+ ;; remove the flags
+ (emerge-unselect-difference emerge-current-difference)
+ ;; increment total number of differences
+ (setq emerge-number-of-differences (1+ emerge-number-of-differences))
+ ;; build new differences vector
+ (let ((i 0)
+ (new-differences (make-vector emerge-number-of-differences nil)))
+ (while (< i emerge-number-of-differences)
+ (aset new-differences i
+ (cond
+ ((< i n)
+ (aref emerge-difference-list i))
+ ((> i (1+ n))
+ (aref emerge-difference-list (1- i)))
+ ((= i n)
+ (vector (aref old-diff 0)
+ A-point
+ (aref old-diff 2)
+ B-point
+ (aref old-diff 4)
+ merge-point
+ (aref old-diff 6)))
+ (t
+ (vector (copy-marker A-point)
+ (aref old-diff 1)
+ (copy-marker B-point)
+ (aref old-diff 3)
+ (copy-marker merge-point)
+ (aref old-diff 5)
+ (aref old-diff 6)))))
+ (setq i (1+ i)))
+ (setq emerge-difference-list new-differences))
+ ;; set the current difference correctly
+ (setq emerge-current-difference n)
+ ;; fix the mode line
+ (emerge-refresh-mode-line)
+ ;; reinsert the flags
+ (emerge-select-difference emerge-current-difference)
+ (emerge-recenter))))
+
+(defun emerge-trim-difference ()
+ "Trim lines off top and bottom of difference that are the same.
+If lines are the same in both the A and the B versions, strip them off.
+\(This can happen when the A and B versions have common lines that the
+ancestor version does not share.)"
+ (interactive)
+ ;; make sure we are in a real difference
+ (emerge-validate-difference)
+ ;; remove the flags
+ (emerge-unselect-difference emerge-current-difference)
+ (let* ((diff (aref emerge-difference-list emerge-current-difference))
+ (top-a (marker-position (aref diff 0)))
+ (bottom-a (marker-position (aref diff 1)))
+ (top-b (marker-position (aref diff 2)))
+ (bottom-b (marker-position (aref diff 3)))
+ (top-m (marker-position (aref diff 4)))
+ (bottom-m (marker-position (aref diff 5)))
+ size success sa sb sm)
+ ;; move down the tops of the difference regions as much as possible
+ ;; Try advancing comparing 1000 chars at a time.
+ ;; When that fails, go 500 chars at a time, and so on.
+ (setq size 1000)
+ (while (> size 0)
+ (setq success t)
+ (while success
+ (setq size (min size (- bottom-a top-a) (- bottom-b top-b)
+ (- bottom-m top-m)))
+ (setq sa (with-current-buffer emerge-A-buffer
+ (buffer-substring top-a
+ (+ size top-a))))
+ (setq sb (with-current-buffer emerge-B-buffer
+ (buffer-substring top-b
+ (+ size top-b))))
+ (setq sm (buffer-substring top-m (+ size top-m)))
+ (setq success (and (> size 0) (equal sa sb) (equal sb sm)))
+ (if success
+ (setq top-a (+ top-a size)
+ top-b (+ top-b size)
+ top-m (+ top-m size))))
+ (setq size (/ size 2)))
+ ;; move up the bottoms of the difference regions as much as possible
+ ;; Try advancing comparing 1000 chars at a time.
+ ;; When that fails, go 500 chars at a time, and so on.
+ (setq size 1000)
+ (while (> size 0)
+ (setq success t)
+ (while success
+ (setq size (min size (- bottom-a top-a) (- bottom-b top-b)
+ (- bottom-m top-m)))
+ (setq sa (with-current-buffer emerge-A-buffer
+ (buffer-substring (- bottom-a size)
+ bottom-a)))
+ (setq sb (with-current-buffer emerge-B-buffer
+ (buffer-substring (- bottom-b size)
+ bottom-b)))
+ (setq sm (buffer-substring (- bottom-m size) bottom-m))
+ (setq success (and (> size 0) (equal sa sb) (equal sb sm)))
+ (if success
+ (setq bottom-a (- bottom-a size)
+ bottom-b (- bottom-b size)
+ bottom-m (- bottom-m size))))
+ (setq size (/ size 2)))
+ ;; {top,bottom}-{a,b,m} are now set at the new beginnings and ends
+ ;; of the difference regions. Move them to the beginning of lines, as
+ ;; appropriate.
+ (with-current-buffer emerge-A-buffer
+ (goto-char top-a)
+ (beginning-of-line)
+ (aset diff 0 (point-marker))
+ (goto-char bottom-a)
+ (beginning-of-line 2)
+ (aset diff 1 (point-marker)))
+ (with-current-buffer emerge-B-buffer
+ (goto-char top-b)
+ (beginning-of-line)
+ (aset diff 2 (point-marker))
+ (goto-char bottom-b)
+ (beginning-of-line 2)
+ (aset diff 3 (point-marker)))
+ (goto-char top-m)
+ (beginning-of-line)
+ (aset diff 4 (point-marker))
+ (goto-char bottom-m)
+ (beginning-of-line 2)
+ (aset diff 5 (point-marker))
+ ;; put the flags back in, recenter the display
+ (emerge-select-difference emerge-current-difference)
+ (emerge-recenter)))
+
+;; FIXME the manual advertised this as working in the A or B buffers,
+;; but it does not, because all the buffer locals are nil there.
+;; It would work to call it from the merge buffer and specify that one
+;; wants to use the value of point in the A or B buffer.
+;; But with the prefix argument already in use, there is no easy way
+;; to have it ask for a buffer.
+(defun emerge-find-difference (arg)
+ "Find the difference containing the current position of the point.
+If there is no containing difference and the prefix argument is positive,
+it finds the nearest following difference. A negative prefix argument finds
+the nearest previous difference."
+ (interactive "P")
+ (cond ((eq (current-buffer) emerge-A-buffer)
+ (emerge-find-difference-A arg))
+ ((eq (current-buffer) emerge-B-buffer)
+ (emerge-find-difference-B arg))
+ (t (emerge-find-difference-merge arg))))
+
+(defun emerge-find-difference-merge (arg)
+ "Find the difference containing point, in the merge buffer.
+If there is no containing difference and the prefix argument is positive,
+it finds the nearest following difference. A negative prefix argument finds
+the nearest previous difference."
+ (interactive "P")
+ ;; search for the point in the merge buffer, using the markers
+ ;; for the beginning and end of the differences in the merge buffer
+ (emerge-find-difference1 arg (point) 4 5))
+
+(defun emerge-find-difference-A (arg)
+ "Find the difference containing point, in the A buffer.
+This command must be executed in the merge buffer.
+If there is no containing difference and the prefix argument is positive,
+it finds the nearest following difference. A negative prefix argument finds
+the nearest previous difference."
+ (interactive "P")
+ ;; search for the point in the A buffer, using the markers
+ ;; for the beginning and end of the differences in the A buffer
+ (emerge-find-difference1 arg
+ (with-current-buffer emerge-A-buffer (point))
+ 0 1))
+
+(defun emerge-find-difference-B (arg)
+ "Find the difference containing point, in the B buffer.
+This command must be executed in the merge buffer.
+If there is no containing difference and the prefix argument is positive,
+it finds the nearest following difference. A negative prefix argument finds
+the nearest previous difference."
+ (interactive "P")
+ ;; search for the point in the B buffer, using the markers
+ ;; for the beginning and end of the differences in the B buffer
+ (emerge-find-difference1 arg
+ (with-current-buffer emerge-B-buffer (point))
+ 2 3))
+
+(defun emerge-find-difference1 (arg location begin end)
+ (let* ((index
+ ;; find first difference containing or after the current position
+ (catch 'search
+ (let ((n 0))
+ (while (< n emerge-number-of-differences)
+ (let ((diff-vector (aref emerge-difference-list n)))
+ (if (<= location (marker-position (aref diff-vector end)))
+ (throw 'search n)))
+ (setq n (1+ n))))
+ emerge-number-of-differences))
+ (contains
+ ;; whether the found difference contains the current position
+ (and (< index emerge-number-of-differences)
+ (<= (marker-position (aref (aref emerge-difference-list index)
+ begin))
+ location)))
+ (arg-value
+ ;; numeric value of prefix argument
+ (prefix-numeric-value arg)))
+ (emerge-unselect-and-select-difference
+ (cond
+ ;; if the point is in a difference, select it
+ (contains index)
+ ;; if the arg is nil and the point is not in a difference, error
+ ((null arg) (error "No difference contains point"))
+ ;; if the arg is positive, select the following difference
+ ((> arg-value 0)
+ (if (< index emerge-number-of-differences)
+ index
+ (error "No difference contains or follows point")))
+ ;; if the arg is negative, select the preceding difference
+ (t
+ (if (> index 0)
+ (1- index)
+ (error "No difference contains or precedes point")))))))
+
+(defun emerge-line-numbers ()
+ "Display the current line numbers.
+This function displays the line numbers of the points in the A, B, and
+merge buffers."
+ (interactive)
+ (let* ((valid-diff
+ (and (>= emerge-current-difference 0)
+ (< emerge-current-difference emerge-number-of-differences)))
+ (emerge-line-diff (and valid-diff
+ (aref emerge-difference-list
+ emerge-current-difference)))
+ (merge-line (emerge-line-number-in-buf 4 5))
+ (A-line (with-current-buffer emerge-A-buffer
+ (emerge-line-number-in-buf 0 1)))
+ (B-line (with-current-buffer emerge-B-buffer
+ (emerge-line-number-in-buf 2 3))))
+ (message "At lines: merge = %d, A = %d, B = %d"
+ merge-line A-line B-line)))
+
+(defvar emerge-line-diff)
+
+(defun emerge-line-number-in-buf (begin-marker end-marker)
+ ;; FIXME point-min rather than 1? widen?
+ (let ((temp (1+ (count-lines 1 (line-beginning-position)))))
+ (if valid-diff
+ (progn
+ (if (> (point) (aref emerge-line-diff begin-marker))
+ (setq temp (- temp emerge-before-flag-lines)))
+ (if (> (point) (aref emerge-line-diff end-marker))
+ (setq temp (- temp emerge-after-flag-lines)))))
+ temp))
+
+(defun emerge-set-combine-template (string &optional localize)
+ "Set `emerge-combine-versions-template' to STRING.
+This value controls how `emerge-combine-versions' combines the two versions.
+With prefix argument, `emerge-combine-versions-template' is made local to this
+merge buffer. Localization is permanent for any particular merge buffer."
+ (interactive "s\nP")
+ (if localize
+ (make-local-variable 'emerge-combine-versions-template))
+ (setq emerge-combine-versions-template string)
+ (message
+ (if (assq 'emerge-combine-versions-template (buffer-local-variables))
+ "emerge-set-combine-versions-template set locally"
+ "emerge-set-combine-versions-template set")))
+
+(defun emerge-set-combine-versions-template (start end &optional localize)
+ "Copy region into `emerge-combine-versions-template'.
+This controls how `emerge-combine-versions' will combine the two versions.
+With prefix argument, `emerge-combine-versions-template' is made local to this
+merge buffer. Localization is permanent for any particular merge buffer."
+ (interactive "r\nP")
+ (if localize
+ (make-local-variable 'emerge-combine-versions-template))
+ (setq emerge-combine-versions-template (buffer-substring start end))
+ (message
+ (if (assq 'emerge-combine-versions-template (buffer-local-variables))
+ "emerge-set-combine-versions-template set locally."
+ "emerge-set-combine-versions-template set.")))
+
+(defun emerge-combine-versions (&optional force)
+ "Combine versions using the template in `emerge-combine-versions-template'.
+Refuses to function if this difference has been edited, i.e., if it is
+neither the A nor the B variant.
+An argument forces the variant to be selected even if the difference has
+been edited."
+ (interactive "P")
+ (emerge-combine-versions-internal emerge-combine-versions-template force))
+
+(defun emerge-combine-versions-register (char &optional force)
+ "Combine the two versions using the template in register REG.
+See documentation of the variable `emerge-combine-versions-template'
+for how the template is interpreted.
+Refuses to function if this difference has been edited, i.e., if it is
+neither the A nor the B variant.
+An argument forces the variant to be selected even if the difference has
+been edited."
+ (interactive "cRegister containing template: \nP")
+ (let ((template (get-register char)))
+ (if (not (stringp template))
+ (error "Register does not contain text"))
+ (emerge-combine-versions-internal template force)))
+
+(defun emerge-combine-versions-internal (emerge-combine-template force)
+ (let ((operate
+ (lambda ()
+ (emerge-combine-versions-edit merge-begin merge-end
+ A-begin A-end B-begin B-end)
+ (if emerge-auto-advance
+ (emerge-next-difference)))))
+ (emerge-select-version force operate operate operate)))
+
+(defvar emerge-combine-template)
+
+(defun emerge-combine-versions-edit (merge-begin merge-end
+ A-begin A-end B-begin B-end)
+ (with-current-buffer
+ emerge-merge-buffer
+ (delete-region merge-begin merge-end)
+ (goto-char merge-begin)
+ (let ((i 0))
+ (while (< i (length emerge-combine-template))
+ (let ((c (aref emerge-combine-template i)))
+ (if (= c ?%)
+ (progn
+ (setq i (1+ i))
+ (setq c
+ (condition-case nil
+ (aref emerge-combine-template i)
+ (error ?%)))
+ (cond ((= c ?a)
+ (insert-buffer-substring emerge-A-buffer A-begin A-end))
+ ((= c ?b)
+ (insert-buffer-substring emerge-B-buffer B-begin B-end))
+ ((= c ?%)
+ (insert ?%))
+ (t
+ (insert c))))
+ (insert c)))
+ (setq i (1+ i))))
+ (goto-char merge-begin)
+ (aset diff-vector 6 'combined)
+ (emerge-refresh-mode-line)))
+
+(defun emerge-set-merge-mode (mode)
+ "Set the major mode in a merge buffer.
+Overrides any change that the mode might make to the mode line or local
+keymap. Leaves merge in fast mode."
+ (interactive
+ (list (intern (completing-read "New major mode for merge buffer: "
+ obarray 'commandp t nil))))
+ (funcall mode)
+ (emerge-refresh-mode-line)
+ (if emerge-fast-mode
+ (emerge-fast-mode)
+ (emerge-edit-mode)))
+
+(defun emerge-one-line-window ()
+ (interactive)
+ (let ((window-min-height 1))
+ (shrink-window (- (window-height) 2))))
+
+;;; Support routines
+
+;; Select a difference by placing the visual flags around the appropriate
+;; group of lines in the A, B, and merge buffers
+(defun emerge-select-difference (n)
+ (let ((emerge-globalized-difference-list emerge-difference-list)
+ (emerge-globalized-number-of-differences emerge-number-of-differences))
+ (emerge-place-flags-in-buffer emerge-A-buffer n 0 1)
+ (emerge-place-flags-in-buffer emerge-B-buffer n 2 3)
+ (emerge-place-flags-in-buffer nil n 4 5))
+ (run-hooks 'emerge-select-hook))
+
+(defun emerge-place-flags-in-buffer (buffer difference before-index
+ after-index)
+ (if buffer
+ (with-current-buffer
+ buffer
+ (emerge-place-flags-in-buffer1 difference before-index after-index))
+ (emerge-place-flags-in-buffer1 difference before-index after-index)))
+
+(defun emerge-place-flags-in-buffer1 (difference before-index after-index)
+ (let ((buffer-read-only nil))
+ ;; insert the flag before the difference
+ (let ((before (aref (aref emerge-globalized-difference-list difference)
+ before-index))
+ here)
+ (goto-char before)
+ ;; insert the flag itself
+ (insert-before-markers emerge-before-flag)
+ (setq here (point))
+ ;; Put the marker(s) referring to this position 1 character before the
+ ;; end of the flag, so it won't be damaged by the user.
+ ;; This gets a bit tricky, as there could be a number of markers
+ ;; that have to be moved.
+ (set-marker before (1- before))
+ (let ((n (1- difference)) after-marker before-marker diff-list)
+ (while (and
+ (>= n 0)
+ (progn
+ (setq diff-list (aref emerge-globalized-difference-list n)
+ after-marker (aref diff-list after-index))
+ (= after-marker here)))
+ (set-marker after-marker (1- after-marker))
+ (setq before-marker (aref diff-list before-index))
+ (if (= before-marker here)
+ (setq before-marker (1- before-marker)))
+ (setq n (1- n)))))
+ ;; insert the flag after the difference
+ (let* ((after (aref (aref emerge-globalized-difference-list difference)
+ after-index))
+ (here (marker-position after)))
+ (goto-char here)
+ ;; insert the flag itself
+ (insert emerge-after-flag)
+ ;; Put the marker(s) referring to this position 1 character after the
+ ;; beginning of the flag, so it won't be damaged by the user.
+ ;; This gets a bit tricky, as there could be a number of markers
+ ;; that have to be moved.
+ (set-marker after (1+ after))
+ (let ((n (1+ difference)) before-marker after-marker diff-list)
+ (while (and
+ (< n emerge-globalized-number-of-differences)
+ (progn
+ (setq diff-list (aref emerge-globalized-difference-list n)
+ before-marker (aref diff-list before-index))
+ (= before-marker here)))
+ (set-marker before-marker (1+ before-marker))
+ (setq after-marker (aref diff-list after-index))
+ (if (= after-marker here)
+ (setq after-marker (1+ after-marker)))
+ (setq n (1+ n)))))))
+
+;; Unselect a difference by removing the visual flags in the buffers.
+(defun emerge-unselect-difference (n)
+ (let ((diff-vector (aref emerge-difference-list n)))
+ (emerge-remove-flags-in-buffer emerge-A-buffer
+ (aref diff-vector 0) (aref diff-vector 1))
+ (emerge-remove-flags-in-buffer emerge-B-buffer
+ (aref diff-vector 2) (aref diff-vector 3))
+ (emerge-remove-flags-in-buffer emerge-merge-buffer
+ (aref diff-vector 4) (aref diff-vector 5)))
+ (run-hooks 'emerge-unselect-hook))
+
+(defun emerge-remove-flags-in-buffer (buffer before after)
+ (with-current-buffer
+ buffer
+ (let ((buffer-read-only nil))
+ ;; remove the flags, if they're there
+ (goto-char (- before (1- emerge-before-flag-length)))
+ (if (looking-at emerge-before-flag-match)
+ (delete-char emerge-before-flag-length)
+ ;; the flag isn't there
+ (ding)
+ (message "Trouble removing flag"))
+ (goto-char (1- after))
+ (if (looking-at emerge-after-flag-match)
+ (delete-char emerge-after-flag-length)
+ ;; the flag isn't there
+ (ding)
+ (message "Trouble removing flag")))))
+
+;; Select a difference, removing any flags that exist now.
+(defun emerge-unselect-and-select-difference (n &optional suppress-display)
+ (if (and (>= emerge-current-difference 0)
+ (< emerge-current-difference emerge-number-of-differences))
+ (emerge-unselect-difference emerge-current-difference))
+ (if (and (>= n 0) (< n emerge-number-of-differences))
+ (progn
+ (emerge-select-difference n)
+ (let* ((diff-vector (aref emerge-difference-list n))
+ (selection-type (aref diff-vector 6)))
+ (if (eq selection-type 'default-A)
+ (aset diff-vector 6 'A)
+ (if (eq selection-type 'default-B)
+ (aset diff-vector 6 'B))))))
+ (setq emerge-current-difference n)
+ (if (not suppress-display)
+ (progn
+ (emerge-recenter)
+ (emerge-refresh-mode-line))))
+
+;; Perform tests to see whether user should be allowed to select a version
+;; of this difference:
+;; a valid difference has been selected; and
+;; the difference text in the merge buffer is:
+;; the A version (execute a-version), or
+;; the B version (execute b-version), or
+;; empty (execute neither-version), or
+;; argument FORCE is true (execute neither-version)
+;; Otherwise, signal an error.
+(defun emerge-select-version (force a-version b-version neither-version)
+ (emerge-validate-difference)
+ (let ((buffer-read-only nil))
+ (let* ((diff-vector
+ (aref emerge-difference-list emerge-current-difference))
+ (A-begin (1+ (aref diff-vector 0)))
+ (A-end (1- (aref diff-vector 1)))
+ (B-begin (1+ (aref diff-vector 2)))
+ (B-end (1- (aref diff-vector 3)))
+ (merge-begin (1+ (aref diff-vector 4)))
+ (merge-end (1- (aref diff-vector 5))))
+ (if (emerge-compare-buffers emerge-A-buffer A-begin A-end
+ emerge-merge-buffer merge-begin
+ merge-end)
+ (funcall a-version)
+ (if (emerge-compare-buffers emerge-B-buffer B-begin B-end
+ emerge-merge-buffer merge-begin
+ merge-end)
+ (funcall b-version)
+ (if (or force (= merge-begin merge-end))
+ (funcall neither-version)
+ (error "This difference region has been edited")))))))
+
+;; Read a file name, handling all of the various defaulting rules.
+
+(defun emerge-read-file-name (prompt alternative-default-dir default-file
+ A-file must-match)
+ ;; `prompt' should not have trailing ": ", so that it can be modified
+ ;; according to context.
+ ;; If alternative-default-dir is non-nil, it should be used as the default
+ ;; directory instead if default-directory, if emerge-default-last-directories
+ ;; is set.
+ ;; If default-file is set, it should be used as the default value.
+ ;; If A-file is set, and its directory is different from
+ ;; alternative-default-dir, and if emerge-default-last-directories is set,
+ ;; the default file should be the last part of A-file in the default
+ ;; directory. (Overriding default-file.)
+ (cond
+ ;; If this is not the A-file argument (shown by non-nil A-file), and
+ ;; if emerge-default-last-directories is set, and
+ ;; the default directory exists but is not the same as the directory of the
+ ;; A-file,
+ ;; then make the default file have the same name as the A-file, but in
+ ;; the default directory.
+ ((and emerge-default-last-directories
+ A-file
+ alternative-default-dir
+ (not (string-equal alternative-default-dir
+ (file-name-directory A-file))))
+ (read-file-name (format "%s (default %s): "
+ prompt (file-name-nondirectory A-file))
+ alternative-default-dir
+ (concat alternative-default-dir
+ (file-name-nondirectory A-file))
+ (and must-match 'confirm)))
+ ;; If there is a default file, use it.
+ (default-file
+ (read-file-name (format "%s (default %s): " prompt default-file)
+ ;; If emerge-default-last-directories is set, use the
+ ;; directory from the same argument of the last call of
+ ;; Emerge as the default for this argument.
+ (and emerge-default-last-directories
+ alternative-default-dir)
+ default-file (and must-match 'confirm)))
+ (t
+ (read-file-name (concat prompt ": ")
+ ;; If emerge-default-last-directories is set, use the
+ ;; directory from the same argument of the last call of
+ ;; Emerge as the default for this argument.
+ (and emerge-default-last-directories
+ alternative-default-dir)
+ nil (and must-match 'confirm)))))
+
+;; Revise the mode line to display which difference we have selected
+
+(defun emerge-refresh-mode-line ()
+ (setq mode-line-buffer-identification
+ (list (format "Emerge: %%b diff %d of %d%s"
+ (1+ emerge-current-difference)
+ emerge-number-of-differences
+ (if (and (>= emerge-current-difference 0)
+ (< emerge-current-difference
+ emerge-number-of-differences))
+ (cdr (assq (aref (aref emerge-difference-list
+ emerge-current-difference)
+ 6)
+ '((A . " - A")
+ (B . " - B")
+ (prefer-A . " - A*")
+ (prefer-B . " - B*")
+ (combined . " - comb"))))
+ ""))))
+ (force-mode-line-update))
+
+;; compare two regions in two buffers for containing the same text
+(defun emerge-compare-buffers (buffer-x x-begin x-end buffer-y y-begin y-end)
+ ;; first check that the two regions are the same length
+ (if (not (and (= (- x-end x-begin) (- y-end y-begin))))
+ nil
+ (catch 'exit
+ (while (< x-begin x-end)
+ ;; bite off and compare no more than 1000 characters at a time
+ (let* ((compare-length (min (- x-end x-begin) 1000))
+ (x-string (with-current-buffer
+ buffer-x
+ (buffer-substring x-begin
+ (+ x-begin compare-length))))
+ (y-string (with-current-buffer
+ buffer-y
+ (buffer-substring y-begin
+ (+ y-begin compare-length)))))
+ (if (not (string-equal x-string y-string))
+ (throw 'exit nil)
+ (setq x-begin (+ x-begin compare-length))
+ (setq y-begin (+ y-begin compare-length)))))
+ t)))
+
+;; Construct a unique buffer name.
+;; The first one tried is prefixsuffix, then prefix<2>suffix,
+;; prefix<3>suffix, etc.
+(defun emerge-unique-buffer-name (prefix suffix)
+ (if (null (get-buffer (concat prefix suffix)))
+ (concat prefix suffix)
+ (let ((n 2))
+ (while (get-buffer (format "%s<%d>%s" prefix n suffix))
+ (setq n (1+ n)))
+ (format "%s<%d>%s" prefix n suffix))))
+
+;; Verify that we have a difference selected.
+(defun emerge-validate-difference ()
+ (if (not (and (>= emerge-current-difference 0)
+ (< emerge-current-difference emerge-number-of-differences)))
+ (error "No difference selected")))
+
+;;; Functions for saving and restoring a batch of variables
+
+;; These functions save (get the values of) and restore (set the values of)
+;; a list of variables. The argument is a list of symbols (the names of
+;; the variables). A list element can also be a list of two functions,
+;; the first of which (when called with no arguments) gets the value, and
+;; the second (when called with a value as an argument) sets the value.
+;; A "function" is anything that funcall can handle as an argument.
+
+(defun emerge-save-variables (vars)
+ (mapcar (lambda (v) (if (symbolp v)
+ (symbol-value v)
+ (funcall (car v))))
+ vars))
+
+(defun emerge-restore-variables (vars values)
+ (while vars
+ (let ((var (car vars))
+ (value (car values)))
+ (if (symbolp var)
+ (set var value)
+ (funcall (car (cdr var)) value)))
+ (setq vars (cdr vars))
+ (setq values (cdr values))))
+
+;; Make a temporary file that only we have access to.
+;; PREFIX is appended to emerge-temp-file-prefix to make the filename prefix.
+(defun emerge-make-temp-file (prefix)
+ (let (f (old-modes (default-file-modes)))
+ (unwind-protect
+ (progn
+ (set-default-file-modes emerge-temp-file-mode)
+ (setq f (make-temp-file (concat emerge-temp-file-prefix prefix))))
+ (set-default-file-modes old-modes))
+ f))
+
+;;; Functions that query the user before he can write out the current buffer.
+
+(defun emerge-query-write-file ()
+ "Ask the user whether to write out an incomplete merge.
+If answer is yes, call `write-file' to do so. See `emerge-query-and-call'
+for details of the querying process."
+ (interactive)
+ (emerge-query-and-call 'write-file))
+
+(defun emerge-query-save-buffer ()
+ "Ask the user whether to save an incomplete merge.
+If answer is yes, call `save-buffer' to do so. See `emerge-query-and-call'
+for details of the querying process."
+ (interactive)
+ (emerge-query-and-call 'save-buffer))
+
+(defun emerge-query-and-call (command)
+ "Ask the user whether to save or write out the incomplete merge.
+If answer is yes, call COMMAND interactively. During the call, the flags
+around the current difference are removed."
+ (if (yes-or-no-p "Do you really write to write out this unfinished merge? ")
+ ;; He really wants to do it -- unselect the difference for the duration
+ (progn
+ (if (and (>= emerge-current-difference 0)
+ (< emerge-current-difference emerge-number-of-differences))
+ (emerge-unselect-difference emerge-current-difference))
+ ;; call-interactively takes the value of current-prefix-arg as the
+ ;; prefix argument value to be passed to the command. Thus, we have
+ ;; to do nothing special to make sure the prefix argument is
+ ;; transmitted to the command.
+ (call-interactively command)
+ (if (and (>= emerge-current-difference 0)
+ (< emerge-current-difference emerge-number-of-differences))
+ (progn
+ (emerge-select-difference emerge-current-difference)
+ (emerge-recenter))))
+ ;; He's being smart and not doing it
+ (message "Not written")))
+
+;; Make sure the current buffer (for a file) has the same contents as the
+;; file on disk, and attempt to remedy the situation if not.
+;; Signal an error if we can't make them the same, or the user doesn't want
+;; to do what is necessary to make them the same.
+(defun emerge-verify-file-buffer ()
+ ;; First check if the file has been modified since the buffer visited it.
+ (if (verify-visited-file-modtime (current-buffer))
+ (if (buffer-modified-p)
+ ;; If buffer is not obsolete and is modified, offer to save
+ (if (yes-or-no-p (format "Save file %s? " buffer-file-name))
+ (save-buffer)
+ (error "Buffer out of sync for file %s" buffer-file-name))
+ ;; If buffer is not obsolete and is not modified, do nothing
+ nil)
+ (if (buffer-modified-p)
+ ;; If buffer is obsolete and is modified, give error
+ (error "Buffer out of sync for file %s" buffer-file-name)
+ ;; If buffer is obsolete and is not modified, offer to revert
+ (if (yes-or-no-p (format "Revert file %s? " buffer-file-name))
+ (revert-buffer t t)
+ (error "Buffer out of sync for file %s" buffer-file-name)))))
+\f
+;; Utilities that might have value outside of Emerge.
+
+;; Set up the mode in the current buffer to duplicate the mode in another
+;; buffer.
+(defun emerge-copy-modes (buffer)
+ ;; Set the major mode
+ (funcall (with-current-buffer buffer major-mode)))
+
+;; Define a key, even if a prefix of it is defined
+(defun emerge-force-define-key (keymap key definition)
+ "Like `define-key', but forcibly creates prefix characters as needed.
+If some prefix of KEY has a non-prefix definition, it is redefined."
+ ;; Find out if a prefix of key is defined
+ (let ((v (lookup-key keymap key)))
+ ;; If so, undefine it
+ (if (integerp v)
+ (define-key keymap (substring key 0 v) nil)))
+ ;; Now define the key
+ (define-key keymap key definition))
+
+;;;;; Improvements to describe-mode, so that it describes minor modes as well
+;;;;; as the major mode
+;;(defun describe-mode (&optional minor)
+;; "Display documentation of current major mode.
+;;If optional arg MINOR is non-nil (or prefix argument is given if interactive),
+;;display documentation of active minor modes as well.
+;;For this to work correctly for a minor mode, the mode's indicator variable
+;;\(listed in `minor-mode-alist') must also be a function whose documentation
+;;describes the minor mode."
+;; (interactive)
+;; (with-output-to-temp-buffer "*Help*"
+;; (princ mode-name)
+;; (princ " Mode:\n")
+;; (princ (documentation major-mode))
+;; (let ((minor-modes minor-mode-alist)
+;; (locals (buffer-local-variables)))
+;; (while minor-modes
+;; (let* ((minor-mode (car (car minor-modes)))
+;; (indicator (car (cdr (car minor-modes))))
+;; (local-binding (assq minor-mode locals)))
+;; ;; Document a minor mode if it is listed in minor-mode-alist,
+;; ;; bound locally in this buffer, non-nil, and has a function
+;; ;; definition.
+;; (if (and local-binding
+;; (cdr local-binding)
+;; (fboundp minor-mode))
+;; (progn
+;; (princ (format "\n\n\n%s minor mode (indicator%s):\n"
+;; minor-mode indicator))
+;; (princ (documentation minor-mode)))))
+;; (setq minor-modes (cdr minor-modes))))
+;; (with-current-buffer standard-output
+;; (help-mode))
+;; (help-print-return-message)))
+
+;; This goes with the redefinition of describe-mode.
+;;;; Adjust things so that keyboard macro definitions are documented correctly.
+;;(fset 'defining-kbd-macro (symbol-function 'start-kbd-macro))
+
+;; substitute-key-definition should work now.
+;;;; Function to shadow a definition in a keymap with definitions in another.
+;;(defun emerge-shadow-key-definition (olddef newdef keymap shadowmap)
+;; "Shadow OLDDEF with NEWDEF for any keys in KEYMAP with entries in SHADOWMAP.
+;;In other words, SHADOWMAP will now shadow all definitions of OLDDEF in KEYMAP
+;;with NEWDEF. Does not affect keys that are already defined in SHADOWMAP,
+;;including those whose definition is OLDDEF."
+;; ;; loop through all keymaps accessible from keymap
+;; (let ((maps (accessible-keymaps keymap)))
+;; (while maps
+;; (let ((prefix (car (car maps)))
+;; (map (cdr (car maps))))
+;; ;; examine a keymap
+;; (if (arrayp map)
+;; ;; array keymap
+;; (let ((len (length map))
+;; (i 0))
+;; (while (< i len)
+;; (if (eq (aref map i) olddef)
+;; ;; set the shadowing definition
+;; (let ((key (concat prefix (char-to-string i))))
+;; (emerge-define-key-if-possible shadowmap key newdef)))
+;; (setq i (1+ i))))
+;; ;; sparse keymap
+;; (while map
+;; (if (eq (cdr-safe (car-safe map)) olddef)
+;; ;; set the shadowing definition
+;; (let ((key
+;; (concat prefix (char-to-string (car (car map))))))
+;; (emerge-define-key-if-possible shadowmap key newdef)))
+;; (setq map (cdr map)))))
+;; (setq maps (cdr maps)))))
+
+;; Define a key if it (or a prefix) is not already defined in the map.
+(defun emerge-define-key-if-possible (keymap key definition)
+ ;; look up the present definition of the key
+ (let ((present (lookup-key keymap key)))
+ (if (integerp present)
+ ;; if it is "too long", look up the valid prefix
+ (if (not (lookup-key keymap (substring key 0 present)))
+ ;; if the prefix isn't defined, define it
+ (define-key keymap key definition))
+ ;; if there is no present definition, define it
+ (if (not present)
+ (define-key keymap key definition)))))
+
+;; Ordinary substitute-key-definition should do this now.
+;;(defun emerge-recursively-substitute-key-definition (olddef newdef keymap)
+;; "Like `substitute-key-definition', but act recursively on subkeymaps.
+;;Make sure that subordinate keymaps aren't shared with other keymaps!
+;;\(`copy-keymap' will suffice.)"
+;; ;; Loop through all keymaps accessible from keymap
+;; (let ((maps (accessible-keymaps keymap)))
+;; (while maps
+;; ;; Substitute in this keymap
+;; (substitute-key-definition olddef newdef (cdr (car maps)))
+;; (setq maps (cdr maps)))))
+
+;; Show the name of the file in the buffer.
+(defun emerge-show-file-name ()
+ "Displays the name of the file loaded into the current buffer.
+If the name won't fit on one line, the minibuffer is expanded to hold it,
+and the command waits for a keystroke from the user. If the keystroke is
+SPC, it is ignored; if it is anything else, it is processed as a command."
+ (interactive)
+ (let ((name (buffer-file-name)))
+ (or name
+ (setq name "Buffer has no file name."))
+ (save-window-excursion
+ (select-window (minibuffer-window))
+ (unwind-protect
+ (progn
+ (erase-buffer)
+ (insert name)
+ (while (and (not (pos-visible-in-window-p))
+ (not (window-full-height-p)))
+ (enlarge-window 1))
+ (let* ((echo-keystrokes 0)
+ (c (read-event)))
+ (if (not (eq c 32))
+ (setq unread-command-events (list c)))))
+ (erase-buffer)))))
+
+;; Improved auto-save file names.
+;; This function fixes many problems with the standard auto-save file names:
+;; Auto-save files for non-file buffers get put in the default directory
+;; for the buffer, whether that makes sense or not.
+;; Auto-save files for file buffers get put in the directory of the file,
+;; regardless of whether we can write into it or not.
+;; Auto-save files for non-file buffers don't use the process id, so if a
+;; user runs more than on Emacs, they can make auto-save files that overwrite
+;; each other.
+;; To use this function, do:
+;; (fset 'make-auto-save-file-name
+;; (symbol-function 'emerge-make-auto-save-file-name))
+(defun emerge-make-auto-save-file-name ()
+ "Return file name to use for auto-saves of current buffer.
+Does not consider `auto-save-visited-file-name';
+that is checked before calling this function.
+You can redefine this for customization.
+See also `auto-save-file-name-p'."
+ (if buffer-file-name
+ ;; if buffer has a file, try the format <file directory>/#<file name>#
+ (let ((f (concat (file-name-directory buffer-file-name)
+ "#"
+ (file-name-nondirectory buffer-file-name)
+ "#")))
+ (if (file-writable-p f)
+ ;; the file is writable, so use it
+ f
+ ;; the file isn't writable, so use the format
+ ;; ~/#&<file name>&<hash of directory>#
+ (concat (getenv "HOME")
+ "/#&"
+ (file-name-nondirectory buffer-file-name)
+ "&"
+ (emerge-hash-string-into-string
+ (file-name-directory buffer-file-name))
+ "#")))
+ ;; if buffer has no file, use the format ~/#%<buffer name>%<process id>#
+ (expand-file-name (concat (getenv "HOME")
+ "/#%"
+ ;; quote / into \! and \ into \\
+ (emerge-unslashify-name (buffer-name))
+ "%"
+ (make-temp-name "")
+ "#"))))
+
+;; Hash a string into five characters more-or-less suitable for use in a file
+;; name. (Allowed characters are ! through ~, except /.)
+(defun emerge-hash-string-into-string (s)
+ (let ((bins (vector 0 0 0 0 0))
+ (i 0))
+ (while (< i (length s))
+ (aset bins (% i 5) (% (+ (* (aref bins (% i 5)) 35)
+ (aref s i))
+ 65536))
+ (setq i (1+ i)))
+ (mapconcat (lambda (b)
+ (setq b (+ (% b 93) ?!))
+ (if (>= b ?/)
+ (setq b (1+ b)))
+ (char-to-string b))
+ bins "")))
+
+;; Quote any /s in a string by replacing them with \!.
+;; Also, replace any \s by \\, to make it one-to-one.
+(defun emerge-unslashify-name (s)
+ (let ((limit 0))
+ (while (string-match "[/\\]" s limit)
+ (setq s (concat (substring s 0 (match-beginning 0))
+ (if (string= (substring s (match-beginning 0)
+ (match-end 0))
+ "/")
+ "\\!"
+ "\\\\")
+ (substring s (match-end 0))))
+ (setq limit (1+ (match-end 0)))))
+ s)
+
+;; Metacharacters that have to be protected from the shell when executing
+;; a diff/diff3 command.
- (let ((limit 0))
- (while (string-match emerge-metachars s limit)
- (setq s (concat (substring s 0 (match-beginning 0))
- "\\"
- (substring s (match-beginning 0))))
- (setq limit (1+ (match-end 0)))))
- s)
++(defcustom emerge-metachars
++ (if (memq system-type '(ms-dos windows-nt))
++ "[ \t\"<>|?*^&=]"
++ "[ \t\n!\"#$&'()*;<=>?[\\^`{|~]")
++ "Characters that must be quoted when used in a shell command line.
+More precisely, a [...] regexp to match any one such character."
+ :type 'regexp
+ :group 'emerge)
+
+;; Quote metacharacters (using \) when executing a diff/diff3 command.
+(defun emerge-protect-metachars (s)
++ (if (memq system-type '(ms-dos windows-nt))
++ (shell-quote-argument s)
++ (let ((limit 0))
++ (while (string-match emerge-metachars s limit)
++ (setq s (concat (substring s 0 (match-beginning 0))
++ "\\"
++ (substring s (match-beginning 0))))
++ (setq limit (1+ (match-end 0)))))
++ s))
+
+(provide 'emerge)
+
+;;; emerge.el ends here