From: Chong Yidong Date: Sat, 27 Nov 2010 20:04:57 +0000 (-0500) Subject: Merge changes from emacs-23 branch X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~45^2~88^2 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=07976ae3b816dea4fd541bbba862603d3132eb2c;p=emacs.git Merge changes from emacs-23 branch --- 07976ae3b816dea4fd541bbba862603d3132eb2c diff --cc doc/emacs/ChangeLog index cb243825d5d,91cabc40c9d..e390c6cbc16 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@@ -1,23 -1,29 +1,48 @@@ -2010-11-23 Bob Rogers ++2010-11-27 Bob Rogers + + * maintaining.texi (VC With A Locking VCS, VC Directory Commands): + * vc1-xtra.texi (Customizing VC, General VC Options): Small fixes. + -2010-11-21 Chong Yidong ++2010-11-27 Chong Yidong + + * maintaining.texi (Version Control Systems): Fix repeated sentence. + Suggested by Štěpán Němec. + -2010-11-20 Chong Yidong ++2010-11-27 Chong Yidong + + * maintaining.texi (Version Control): Say "commit", not "check in". + (Version Control Systems): Simplify descriptions. + (VCS Merging, VCS Changesets, VCS Repositories): New nodes, split from + VCS Concepts. + (VC Mode Line): Update example. + (Old Revisions): Document revert-buffer for vc-diff. + (Log Buffer): Promote to a subsection. Document header lines. + + * macos.texi (Mac / GNUstep Basics): Document + ns-right-alternate-modifier. + + * emacs.texi (Top): Update node listing. + -2010-11-06 Eli Zaretskii +2010-11-13 Eli Zaretskii + + * rmail.texi (Rmail Coding): Characters with no fonts are not + necessarily displayed as empty boxes. + + * mule.texi (Language Environments, Fontsets): Characters with no + fonts are not necessarily displayed as empty boxes. + + * display.texi (Text Display): Document display of glyphless + characters. + +2010-11-13 Glenn Morris + + * basic.texi (Position Info): Add M-x count-words-region. + +2010-11-11 Glenn Morris + + * msdog.texi (ls in Lisp): Update for ls-lisp changes. + +2010-11-09 Eli Zaretskii * msdog.texi (Windows HOME): Add information regarding startup directory when invoking Emacs from a desktop shortcut. (bug#7300) diff --cc doc/emacs/maintaining.texi index b407f5b9c99,a2240330a9d..cf504b6be2a --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@@ -362,29 -360,18 +360,26 @@@ change, and later use the @kbd{C-x v a @node VC Mode Line @subsection Version Control and the Mode Line +@cindex VC, mode line indicator When you visit a file that is under version control, Emacs indicates - this on the mode line. For example, @samp{RCS-1.3} says that the RCS - back end is used for that file, and the current version of the file is - 1.3. - - The first part of the VC mode-line indicator is the name of the back - end: @samp{RCS}, @samp{CVS}, @samp{Bzr}, etc. The back-end name is - followed by a single character and the version of the file. + this on the mode line. For example, @samp{Bzr-1223} says that Bazaar + is used for that file, and the current revision ID is 1223. The character between the back-end name and the revision ID - indicates the version control status of the file. @samp{-} means that - the work file is not locked (if locking is in use), or not modified (if - locking is not in use). @samp{:} indicates that the file is locked, or - that it is modified. If the file is locked by some other user (for + indicates the status of the work file. In a merge-based version + control system, a @samp{-} character indicates that the work file is -unmodified, and @samp{:} indicates that it has been modified. In a -lock-based system, @samp{-} indicates an unlocked file, and @samp{:} a -locked file; if the file is locked by another user (for instance, -@samp{jim}), that is displayed as @samp{RCS:jim:1.3}. ++unmodified, and @samp{:} indicates that it has been modified. ++@samp{!} indicates that the file contains conflicts as result of a ++recent merge operation (@pxref{Merging}), or that the file was removed ++from the version control. Finally, @samp{?} means that the file is ++under version control, but is missing from the working tree. ++ ++ In a lock-based system, @samp{-} indicates an unlocked file, and ++@samp{:} a locked file; if the file is locked by another user (for +instance, @samp{jim}), that is displayed as @samp{RCS:jim:1.3}. +@samp{@@} means that the file was locally added, but not yet committed - to the master repository. @samp{!} indicates that the file contains - conflicts as result of a recent merge operation (@pxref{Merging}), or - that the file was removed from the version control. Finally, @samp{?} - means that the file is under version control, but is missing from the - working tree. ++to the master repository. On a graphical display, you can move the mouse over this mode line indicator to pop up a ``tool-tip'', which displays a more verbose diff --cc doc/lispref/ChangeLog index d1c2d861eb7,959f4844c1c..c6d851f55ec --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@@ -1,10 -1,34 +1,40 @@@ -2010-11-21 Chong Yidong ++2010-11-27 Chong Yidong + + * nonascii.texi (Converting Representations): Document + byte-to-string. + + * strings.texi (Creating Strings): Don't mention semi-obsolete + function char-to-string. + (String Conversion): Shorten discussion of semi-obsolete function + string-to-char. Link to Converting Representations. + + * objects.texi (Symbol Type): + * text.texi (Near Point): + * help.texi (Help Functions): + * functions.texi (Mapping Functions): Use string instead of + char-to-string in examples. + -2010-11-20 Chong Yidong ++2010-11-27 Chong Yidong + + * text.texi (Kill Functions, Kill Functions) + (Low-Level Kill Ring, Low-Level Kill Ring): Remove obsolete + YANK-HANDLER args. + + * symbols.texi (Creating Symbols): Using unintern without an + obarray arg is now obsolete. + + * numbers.texi (Float Basics): Document float-e and float-pi. + + * variables.texi (Defining Variables): Change "pi" example to + "float-pi". + -2010-11-12 Eli Zaretskii +2010-11-26 Eli Zaretskii + + * commands.texi (Click Events): Document the values of X, Y and + COL, ROW in the event's position, when the click is on the header + or mode line, on the fringes, or in the margins. + +2010-11-17 Eli Zaretskii * customize.texi (Composite Types): Lower-case index entry. diff --cc doc/misc/ChangeLog index 38671f1410c,bb211e7ffca..91ac5f74b0e --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@@ -1,24 -1,9 +1,29 @@@ -2010-11-23 Glenn Morris ++2010-11-27 Glenn Morris + James Clark + + * nxml-mode.texi (Introduction): New section. + -2010-11-10 Glenn Morris +2010-11-21 Lars Magne Ingebrigtsen + + * gnus.texi (Server Commands): Document gnus-server-show-server. + +2010-11-20 Michael Albinus + + Sync with Tramp 2.2.0. + + * trampver.texi: Update release number. + +2010-11-19 Jay Belanger + + * calc.texi (TeX and LaTeX Language Modes, Predefined Units): + Mention that the TeX specific units won't use the `tex' prefix + in TeX mode. + +2010-11-18 Katsumi Yamaoka + + * gnus.texi (Misc Article): Document gnus-inhibit-images. + +2010-11-17 Glenn Morris * edt.texi: Remove information about Emacs 19. diff --cc etc/ChangeLog index e0f292812bf,384b276a285..03f2edb55b2 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@@ -1,22 -1,8 +1,26 @@@ -2010-11-21 Ulrich Mueller ++2010-11-27 Ulrich Mueller + + * HELLO: Add ancient Greek (Bug#7418). + -2010-10-20 Richard Stallman +2010-11-13 Eli Zaretskii + + * NEWS: Document display of glyphless characters. + +2010-11-11 Eric Schulte + + * refcards/orgcard.tex: Add new Babel key sequences. + +2010-10-26 Glenn Morris + + * images/README: Add (un)checked.xpm + * images/checked.xpm, images/unchecked.xpm: Add copyright. + +2010-10-24 Chong Yidong + + * images/checked.xpm: + * images/unchecked.xpm: New images. + +2010-10-24 Richard Stallman * DISTRIB: Update donation section. diff --cc etc/HELLO index f7320f7301f,348dcfa3ad6..5461d4cd7ef --- a/etc/HELLO +++ b/etc/HELLO @@@ -33,8 -33,9 +33,9 @@@ French (fran,Ag(Bais) Bonjour / Salu Georgian ($,1JEJ0J@J7J5J4J:J8(B) $,1J2J0J;J0J@JOJ=J1J0(B German (Deutsch) Guten Tag / Gr,A|_(B Gott Greek (,Fekkgmij\(B) ,FCei\(B ,Fsar(B + Greek, ancient ($,1p1,Fkkgmij^(B) ,FO$,1pv,Fk](B ,Fte(B ,Fja$,1q6(B ,Fl]ca(B ,Fwa$,1r6,Fqe(B Gujarati ($,19W:!9\9p9~9d: (B) $,19h9n9x:-9d:'(B -Hebrew (,Hzixar(B) ,Hylem(B +Hebrew $,1ro(B($,1-",q-(,y-*(B) ,Hylem(B Hungarian (magyar) Sz,Bi(Bp j,Bs(B napot! Hindi ($,15y55B5f6 (B) $,15h5n5x6-5d6'(B / $,15h5n5x6-5U5~5p(B $,16D(B Italian (italiano) Ciao / Buon giorno diff --cc etc/NEWS.23 index 0d37746d460,00000000000..0608286e6d5 mode 100644,000000..100644 --- a/etc/NEWS.23 +++ b/etc/NEWS.23 @@@ -1,2448 -1,0 +1,2496 @@@ +GNU Emacs NEWS -- history of user-visible changes. + +Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +See the end of the file for license conditions. + +Please send Emacs bug reports to bug-gnu-emacs@gnu.org. +If possible, use M-x report-emacs-bug. + +This file is about changes in Emacs version 23. + +See files NEWS.22, NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17 +for changes in older Emacs versions. + +You can narrow news to a specific version by calling `view-emacs-news' +with a prefix argument or by typing C-u C-h C-n. + + +* Installation Changes in Emacs 23.3 + +* Startup Changes in Emacs 23.3 + +* Changes in Emacs 23.3 + - ** The nextstep port can have different modifiers for the left and right - alt/option key by customizing the value for ns-right-alternate-modifier. - + +* Editing Changes in Emacs 23.3 + + +* Changes in Specialized Modes and Packages in Emacs 23.3 + +--- +** The appt-add command takes an optional argument for the warning time. +This can be used in place of the default appt-message-warning-time. + ++--- ++** You can allow inferior Python processes to load modules from the ++current directory by setting `python-remove-cwd-from-path' to nil. ++ ++** VC and related modes ++ ++*** New VC command `vc-log-incoming', bound to `C-x v I'. ++This shows a log of changes to be received with a pull operation. ++For Git, this runs "git fetch" to make the necessary data available ++locally; this requires version 1.7 or newer. ++ ++*** New VC command `vc-log-outgoing', bound to `C-x v O'. ++This shows a log of changes to be sent in the next commit. ++ ++*** New VC command vc-find-conflicted-file. ++ +++++ ++*** The 'g' key in VC diff, log, log-incoming and log-outgoing buffers ++reruns the corresponding VC command to compute an up to date version ++of the buffer. ++ ++*** vc-dir for Bzr supports viewing shelve contents and shelving snapshots. ++ +++++ ++*** Special markup can be added to log-edit buffers. ++You can add headers specifying additional information to be supplied ++to the version control system. For example: ++ ++ Author: J. R. Hacker ++ Fixes: 4204 ++ Actual text of log entry... ++ ++Bazaar recognizes the headers "Author", "Date" and "Fixes". ++Git, Mercurial, and Monotone recognize "Author" and "Date". ++Any unknown header is left as is in the message, so it is not lost. ++ +** Obsolete packages + ++++ +*** lmenu.el and cl-compat.el are now obsolete. + + +* New Modes and Packages in Emacs 23.3 ++ +** smie.el is a generic navigation and indentation engine. +It takes a simple BNF description of the grammar, and provides both +sexp-style navigation (jumping over begin..end pairs) as well as +indentation, which can be adjusted via ad-hoc indentation rules. ++ + +* Incompatible Lisp Changes in Emacs 23.3 + +** posn-col-row now excludes the header line from the row count +If the frame has a header line, posn-col-row will count row numbers +starting from the first line of text below the header line. + + +* Lisp changes in Emacs 23.3 + +++++ +** `e' and `pi' are now called `float-e' and `float-pi'. + The old names are obsolete. - ** The use of unintern without an obarray arg is declared obsolete. - ** The function `princ-list' is declared obsolete. - ** The yank-handler argument to kill-region and friends is declared obsolete. ++ +++++ ++** The use of unintern without an obarray arg is now obsolete. ++ ++--- ++** The function `princ-list' is now obsolete. ++ +++++ ++** The yank-handler argument to kill-region and friends is now obsolete. ++ +++++ +** New function byte-to-string, like char-to-string but for bytes. + + +* Changes in Emacs 23.3 on non-free operating systems + +++++ ++** The nextstep port can have different modifiers for the left and right ++alt/option key by customizing the value for ns-right-alternate-modifier. ++ + +* Installation Changes in Emacs 23.2 + +** New configure options for Emacs developers. +These are not new features; only the configure flags are new. + +*** --enable-profiling builds Emacs with profiling enabled. +This might not work on all platforms. + +*** --enable-checking[=OPTIONS] builds emacs with extra runtime checks. + +** `make install' now consistently ignores umask, creating a +world-readable install. + +** Emacs compiles with Gconf support, if it is detected. +Use the configure option --without-gconf to disable this. +This is used by the `font-use-system-font' feature (see below). + +* Startup Changes in Emacs 23.2 + +** The command-line option -Q (--quick) also inhibits loading X resources. +However, if Emacs is compiled with the Lucid or Motif toolkit, X +resource settings for the graphical widgets are still applied. +On Windows, the -Q option causes Emacs to ignore Registry settings, +but environment variables set on the Registry are still honored. + +*** The new variable `inhibit-x-resources' shows whether X resources +were loaded. + +** New command-line option -mm (--maximized) maximizes the initial frame. + +* Changes in Emacs 23.2 + +** The maximum size of buffers (and the largest fixnum) is doubled. +On typical 32bit systems, buffers can now be up to 512MB. + +** The default value of `trash-directory' is now nil. +This means that `move-file-to-trash' trashes files according to +freedesktop.org specifications, the same method used by the Gnome, +KDE, and XFCE desktops. (This change has no effect on Windows, which +uses `system-move-file-to-trash' for trashing.) + +** The pointer now becomes invisible when typing. +Customize `make-pointer-invisible' to disable this feature. + +** Font changes + +*** Emacs can use the system default monospaced font in Gnome. +To enable this feature, set `font-use-system-font' to non-nil (it is +nil by default). If the system default changes, Emacs changes also. +This feature requires Gconf support, which is automatically included +at compile-time if configure detects the gconf libraries (you can +disable this with the configure option --without-gconf). + +*** On X11, Emacs reacts to Xft changes made by configuration tools, +via the XSETTINGS mechanism. This includes antialias, hinting, +hintstyle, RGBA, DPI and lcdfilter changes. + +** Killing a buffer with a running process now asks for confirmation. +To remove this query, remove `process-kill-buffer-query-function' from +`kill-buffer-query-functions', or set the appropriate process flag +with `set-process-query-on-exit-flag'. + +** File-local variable changes + +*** Specifying a minor mode as a local variables enables that mode, +unconditionally. The previous behavior, toggling the mode, was +neither reliable nor generally desirable. + +*** There are new commands for adding and removing file-local variables: +`add-file-local-variable', `delete-file-local-variable', +`add-file-local-variable-prop-line', and +`delete-file-local-variable-prop-line'. + +*** There are new commands for adding and removing directory-local variables, +and copying them to and from file-local variable lists: +`add-dir-local-variable', `delete-dir-local-variable', +`copy-dir-locals-to-file-locals', +`copy-dir-locals-to-file-locals-prop-line' and +`copy-file-locals-to-dir-locals'. + +** Internationalization changes + +*** Unibyte sessions are now considered obsolete. +This refers to the EMACS_UNIBYTE environment variable as well as the +--unibyte, --multibyte, --no-multibyte, and --no-unibyte command line +arguments. Customizing enable-multibyte-characters and setting +default-enable-multibyte-characters are also deprecated. + +*** New coding system `utf-8-hfs'. +This is suitable for default-file-name-coding-system on Mac OS X; see +international/ucs-normalize.el. + +** Function arguments in *Help* buffers are now shown in upper-case. +Customize `help-downcase-arguments' to t to show them in lower-case. + +** New command `async-shell-command', bound globally to `M-&'. +This executes the command asynchronously, similar to calling `M-!' and +manually adding an ampersand to the end of the command. With `M-&', +you don't need the ampersand. The output appears in the buffer +`*Async Shell Command*'. + +** When running in a new enough xterm (newer than version 242), Emacs +asks xterm what the background color is and it sets up faces +accordingly for a dark background if needed (the current default is to +consider the background light). + + +* Editing Changes in Emacs 23.2 + +** Kill-ring and selection changes + +*** If `select-active-regions' is t, any active region automatically +becomes the primary selection (for interaction with other window +applications). If you enable this, you might want to bind +`mouse-yank-primary' to Mouse-2. + +*** When `save-interprogram-paste-before-kill' is non-nil, the kill +commands save the interprogram-paste selection into the kill ring +before doing anything else. This avoids losing the selection. + +*** When `kill-do-not-save-duplicates' is non-nil, identical +subsequent kills are not duplicated in the `kill-ring'. + +** Completion changes + +*** The new command `completion-at-point' provides mode-sensitive completion. + +*** tab-always-indent set to `complete' lets TAB do completion as well. + +*** The new completion-style `initials' is available. +For instance, this can complete M-x lch to list-command-history. + +*** The new variable `completions-format' determines how completions +are displayed in the *Completions* buffer. If you set it to +`vertical', completions are sorted vertically in columns. + +** The default value of `blink-matching-paren-distance' is increased. + +** M-n provides more default values in the minibuffer for commands +that read file names. These include the file name at point (when ffap +is loaded without ffap-bindings), the file name on the current line +(in Dired buffers), and the directory names of adjacent Dired windows +(for Dired commands that operate on several directories, such as copy, +rename, or diff). + +** M-r is bound to the new `move-to-window-line-top-bottom'. +This moves point to the window center, top and bottom on successive +invocations, in the same spirit as the C-l (recenter-top-bottom) +command. + +** The new variable `recenter-positions' determines the default +cycling order of C-l (`recenter-top-bottom'). + +** The abbrevs file is now a file named abbrev_defs in +user-emacs-directory; but the old location, ~/.abbrev_defs, is used if +that file exists. + + +* Changes in Specialized Modes and Packages in Emacs 23.2 + +** The bookmark menu has a narrowing search via bookmark-bmenu-search. + +** Calc + +*** The Calc settings file is now a file named calc.el in +user-emacs-directory; but the old location, ~/.calc.el, is used if +that file exists. + +*** Graphing commands (`g f' etc.) now work on MS-Windows, if you have +the native Windows port of Gnuplot version 3.8 or later installed. + +** Calendar and diary + +*** Fancy diary display is now the default. +If you prefer the simple display, customize `diary-display-function'. + +*** The diary's fancy display now enables view-mode. + +*** The command `calendar-current-date' accepts an optional argument +giving an offset from today. + +** Desktop + +*** The default value for `desktop-buffers-not-to-save' is nil. +This means Desktop will try restoring all buffers, when you restart +your Emacs session. Also, `desktop-buffers-not-to-save' is only +effective for buffers that have no associated file. If you want to +exempt buffers that do correspond to files, customize the value of +`desktop-files-not-to-save' instead. + +** Dired + +*** The new variable `dired-auto-revert-buffer', if non-nil, causes +Dired buffers to be reverted automatically on revisiting them. + +** DocView + +*** When `doc-view-continuous' is non-nil, scrolling a line +on the page edge advances to the next/previous page. + +** Elint + +*** Elint now uses compilation-mode. + +*** Elint can now scan individual files and whole directories, +and can be run in batch mode. + +*** Elint does a more thorough initialization, and recognizes more built-in +functions and variables. Customize `elint-scan-preloaded' if you want +to sacrifice some accuracy for a faster startup. + +*** Elint attempts some basic understanding of featurep and (f)boundp tests. + +*** Customize `elint-ignored-warnings' to suppress some warnings. + +** GDB-UI + +*** Toolbar functionality for reverse debugging. Display of STL +collections as watch expressions. These features require GDB 7.0 or later. + +** Grep + +*** A new command `zrgrep' searches recursively in gzipped files. + +** Info + +*** The new command `Info-virtual-index' bound to "I" displays a menu of +matched topics found in the index. + +*** The new command `info-finder' replaces finder.el with a virtual Info +manual that generates an Info file which gives the same information +through a menu structure. + +** LaTeX mode now provides completion (via completion-at-point). + +** Message mode is now the default mode for composing mail. + +The default for `mail-user-agent' is now message-user-agent, so the +C-x m (`compose-mail') command uses Message mode instead of Mail mode. + +Message mode has been included in Emacs, as part of the Gnus package, +for several years. It provides several features that are absent in +Mail mode, such as MIME handling. + +*** If the user has not customized mail-user-agent, `compose-mail' +checks for Mail mode customizations, and issues a warning if these +customizations are found. This alerts users who may otherwise be +unaware that their mail configuration has changed. + +To disable this check, set compose-mail-user-agent-warnings to nil. + +** The default value of mail-interactive is t, since Emacs 23.1. +(This was not announced at the time.) It means that when sending mail, +Emacs will wait for the process sending mail to return. If you +experience delays when sending mail, you may wish to set this to nil. + +** nXML mode is now the default for editing XML files. + +** pcomplete provides a new command `pcomplete-std-completion' which +is similar to `pcomplete' but using the standard completion UI code. + +** Shell (and other comint modes) + +*** M-s is no longer bound to `comint-next-matching-input'. + +*** M-r is now bound to `comint-history-isearch-backward-regexp'. +This starts an incremental search of the comint/shell input history. + +*** ansi-color is now enabled by default in Shell mode. +To disable it, set ansi-color-for-comint-mode to nil. + +** Tramp + +*** New connection methods "rsyncc", "imap" and "imaps". +On systems which support GVFS-Fuse, Tramp offers also the new +connection methods "dav", "davs", "obex" and "synce". + +** VC and related modes + +*** When using C-x v v or C-x v i on a unregistered file that is in a +directory not controlled by any VCS, ask the user what VC backend to +use to create a repository, create a new repository and register the +file. + +*** New command `vc-root-print-log', bound to `C-x v L'. +This displays a `*vc-change-log*' buffer showing the history of the +version-controlled directory tree as a whole. + +*** New command `vc-root-diff', bound to `C-x v D'. +This is similar to `vc-diff', but compares the entire directory tree +of the current VC directory with its working revision. + +*** `C-x v l' and `C-x v L' do not show the full log by default. +The number of entries shown can be chosen interactively with a prefix +argument, or by customizing vc-log-show-limit. The `*vc-change-log*' +buffer now contains buttons at the end of the buffer, which can be +used to increase the number of entries shown. RCS, SCCS, and CVS do +not support this feature. + +*** vc-annotate supports annotations through file copies and renames, +it displays the old names for the files and it can show logs/diffs for +the corresponding lines. Currently only Git and Mercurial take +advantage of this feature. + +*** The log command in vc-annotate can display a single log entry +instead of redisplaying the full log. The RCS, CVS and SCCS VC +backends do not support this. + +*** When a file is not found, VC will not try to check it out of RCS anymore. + +*** Diff and log operations can be used from Dired buffers. + +*** vc-git changes + +**** The short log format for git makes use of the graph display, +so it's not supported on git versions earlier than 1.5.6. + +**** vc-dir uses the --relative option of git, and so requires at least +git version 1.5.5. + +**** Support for operating with stashes has been added to vc-dir: +the stash list is displayed in the *vc-dir* header, stashes can be +created, removed, applied and their content displayed. + +*** vc-bzr supports operating with shelves: the shelve list is +displayed in the *vc-dir* header, shelves can be created, removed and applied. + +*** log-edit-strip-single-file-name controls whether or not single filenames +are stripped when copying text from the ChangeLog to the *VC-Log* buffer. + +** Miscellaneous + +*** Interactively `multi-isearch-buffers' and `multi-isearch-buffers-regexp' +read buffer names to search, one by one, ended with RET. With a prefix +argument, they ask for a regexp, and search in buffers whose names match +the specified regexp. Interactively `multi-isearch-files' and +`multi-isearch-files-regexp' read file names to search, one by one, +ended with RET. With a prefix argument, they ask for a wildcard, and +search in file buffers whose file names match the specified wildcard. + +*** Autorevert Tail mode now works also for remote files. + +*** The new eshell built-in commands `su' and `sudo' support Tramp. +Thus, they change `default-directory' to reflect the new user id, and +let commands run under that user's permissions. This works even when +`default-directory' is already remote. Calling the external commands +is possible via `*su' or `*sudo', respectively. + +** Obsolete packages + +*** sym-comp.el is now obsolete, superseded by completion-at-point. + +*** lucid.el and levents.el are now obsolete. + + +* New Modes and Packages in Emacs 23.2 + +** CEDET (the Collection of Emacs Development Tools) is now in Emacs. +This is a collection of packages to aid with using Emacs as an IDE +(integrated development environment): + +*** The Semantic package allows the use of parsers to intelligently +edit and navigate source code. Parsers for C/C++, Java, Javascript, +and several other languages are included by default, and Semantic can +also interface with external tools such as GNU Global and GNU Idutils. + +To enable Semantic, use the global minor mode `semantic-mode'. +See the Semantic manual for details. + +*** EDE (Emacs Development Environment) is a package for managing code +projects, including features such as automatic Makefile generation. + +To enable EDE, use the minor mode `global-ede-mode'. +See the EDE manual for details. + +*** SRecode is a library for recoding Semantic tags back into source +code. It is currently used by some parts of Semantic and EDE; in the +future, it may be used for code generation features. + +*** The EIEIO library implements a subset of the Common Lisp Object +System (CLOS). It is used by the other CEDET packages. + +** mpc.el is a front end for the Music Player Daemon. Run it with M-x mpc. + +** htmlfontify.el turns a fontified Emacs buffer into an HTML page. + +** js.el is a new major mode for JavaScript files. + +** imap-hash.el is a new library to address IMAP mailboxes as hashtables. + + +* Incompatible Lisp Changes in Emacs 23.2 + +** The Lisp reader turns integers that are too large/small into floats. +For instance, on machines where `536870911' is the largest integer, +reading `536870912' gives the floating-point object `536870912.0'. + +This change only concerns the Lisp reader; it does not affect how +actual integer objects overflow. + +** Several obsolete functions removed. +The functions have been obsolete since Emacs 19, and are unlikely to +be in use: + + time-stamp-month-dd-yyyy, time-stamp-dd/mm/yyyy, time-stamp-mon-dd-yyyy + time-stamp-dd-mon-yy, time-stamp-yy/mm/dd, time-stamp-yyyy/mm/dd, + time-stamp-yyyy-mm-dd, time-stamp-yymmdd, time-stamp-hh:mm:ss, + time-stamp-hhmm, baud-rate + +** Support for generating Emacs 18 compatible bytecode (by setting +the variable `byte-compile-compatibility') has been removed. + +** In image-mode.el `image-mode-maybe' is obsolete. +Instead, you can either use `image-mode' (which displays an image file +as the actual image initially), or `image-mode-as-text' (when you want +to display an image file as text initially). `image-mode-as-text' is a +combination of a non-image mode from `auto-mode-alist' (or Fundamental +mode) and `image-minor-mode'. `image-minor-mode' provides a `C-c C-c' +key binding to toggle image display. +`image-toggle-display-text' removes image properties. +`image-toggle-display-image' adds image properties. +`image-toggle-display' toggles between `image-mode-as-text' and `image-mode'. + + +* Lisp changes in Emacs 23.2 + +** All the default-FOO variables that hold the default value of the FOO +variable, are now declared obsolete. + +** read-key is a function halfway between read-event and read-key-sequence. +It reads a single key, but obeys input and escape sequence decoding. + +** Frame parameter changes + +*** You can give the `fullscreen' frame parameter the value `maximized'. +This maximizes the frame. + +*** The new frame parameter `sticky' makes Emacs frames sticky in +virtual desktops. + +** Completion changes + +*** completion-base-size is obsoleted by completion-base-position. +This change causes a few backward incompatibilities, mostly with +choose-completion-string-functions where the `mini-p' argument has +been replaced by a `base-position' argument, and where the `base-size' +argument is now always nil. + +*** New function `completion-in-region' to use the standard completion +facilities on a particular region of text. + +*** The 4th arg to all-completions (aka hide-spaces) is declared obsolete. + +*** completion-annotate-function specifies how to compute annotations +for completions displayed in *Completions*. + +** Minibuffer changes + +*** read-file-name-predicate is obsolete. It was used to pass the predicate +to read-file-name-internal because read-file-name-internal abused its `pred' +argument to pass the current directory, but this hack is not needed +any more. + +** Changes to file-manipulation functions + +*** `delete-directory' has an optional parameter RECURSIVE. + +*** New function `copy-directory', which copies a directory recursively. + +** called-interactively-p now takes one argument and replaces interactive-p +which is now marked obsolete. + +** New function set-advertised-calling-convention makes it possible +to obsolete arguments as well as make some arguments mandatory. + +** You can control which binding is preferentially shown in menus and +docstrings by adding a `:advertised-binding' property to the corresponding +command's symbol. That property can hold a single binding or a list +of bindings. + +** Network and process changes + +*** start-process-shell-command and start-file-process-shell-command +now only take a single `command' argument. + +*** The new variable `process-file-side-effects' should be set to nil +if a `process-file' call does not change a remote file. This allows +file name handlers such as Tramp to optimizations. + +*** make-network-process can now also create `seqpacket' Unix sockets. + +** Loading changes + +*** eval-next-after-load is obsolete. + +*** New hook `after-load-functions' run after loading an Elisp file. + +** Byte compilation changes + +*** Changing the file-names generated by byte-compilation by redefining +the function `byte-compile-dest-file' before loading bytecomp.el is obsolete. +Instead, customize byte-compile-dest-file-function. + +*** `byte-compile-warnings' has new members, `constants' and `suspicious'. + +** New macro with-silent-modifications to tweak text properties without +affecting the buffer's modification state. + +** Hash tables have a new printed representation that is readable. +The feature `hashtable-print-readable' identifies this new +functionality. + +** New functions for performing Unicode normalization: +ucs-normalize-NFD-region, ucs-normalize-NFD-string, +ucs-normalize-NFC-region, ucs-normalize-NFC-string, +ucs-normalize-NFKD-region, ucs-normalize-NFKD-string, +ucs-normalize-NFKC-region, ucs-normalize-NFKC-string, +ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string, +ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string. + +** Face aliases can now be marked as obsolete, using the macro +`define-obsolete-face-alias'. + +** New function `window-full-height-p', analogous to the full-width version. + + +* Changes in Emacs 23.2 on non-free operating systems + +** On MS-Windows, `display-time' now displays the system load average +as well as the time, as it does on GNU and Unix. + + +* Installation Changes in Emacs 23.1 + +** The default X toolkit is now Gtk+, rather than Lucid. +The configure option `--with-gtk' has been removed. Gtk is now the +default toolkit, but you can use --with-x-toolkit=gtk if necessary. + +** New font code. +Fonts are handled by new code capable of dealing with multiple font +backends. This uses the freetype and fontconfig libraries. + +*** Emacs now accepts font names supplied in the fontconfig format +(e.g. "monospace-12:bold") and GTK format (e.g. "Monospace Bold 12"). + +*** Added support for local fonts (fonts installed on the machine +where Emacs is running). + +*** Added support for the Xft library for antialiasing. + +*** Added support for the otf library for complex text layout by +OpenType fonts. + +*** Added support for the m17n library for text shaping. + +** Changes to image support + +*** configure now checks for libgif before libungif when searching for +a GIF library. + +*** Emacs now supports the SVG image format through librsvg2. + +*** Emacs now supports multi-page TIFF images. + +** New NeXTSTEP-based port. +This provides support for GNUstep (via the GNUstep libraries) and Mac +OS X (via the Cocoa libraries). + +Specify --with-ns to configure for this. By default, a self-contained +app will be built (containing all lisp). To install/share lisp with +other emacsen (e.g. X11 build) use --disable-ns-self-contained. See +nextstep/README and nextstep/INSTALL in the Emacs source directory. + +** Mac OS X is no longer supported via Carbon. +Use the NeXTSTEP port, described above. + +** The new configuration option "--with-dbus" enables D-Bus language +bindings for Emacs. + +** Support for many obsolete platforms has been removed. +See the list at the end of etc/MACHINES for details. + +*** Support for systems without alloca has been removed. + +*** Support for Sun windows has been removed. + +*** The `emacstool' utility has been removed. + +** The following platforms will be removed in a future Emacs version: +If you are still using Emacs on one of these platforms, please email +emacs-devel@gnu.org to inform the Emacs developers. + +*** Old GNU/Linux systems based on libc version 5. + +*** Old FreeBSD, NetBSD, and OpenBSD systems based on the COFF +executable format. + +*** Solaris versions 2.6 and below. + +*** Solaris on IBM RS6000 machines. + +*** UNIX System V (the original SysV, not later platforms based on it). + +*** Unixware on non-x86 machines. + +*** Platforms not supporting shared libraries (i.e., requiring the +NO_SHARED_LIBS compilation flag). + +** The configure options `--with-gcc', `--without-gcc' have been removed. +Configure will use gcc by default. Set the CC environment variable if +you need control over which C compiler is used. + +** The refcards are now shipped as PDF files. + +** The manuals are now licensed under the GNU Free Documentation License v1.3, +or any later version. + +** Emacs 23 comes with a new set of default icons. +Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png. +The Emacs 22 icon is available as `emacs22.png' in the same location. + +* Changes in Emacs 23.1 + +** Improved X Window System support + +*** Emacs now supports using both X displays and ttys in one session. +With an Emacs server active (M-x server-start), `emacsclient -t' +creates a tty frame connected to the running emacs server. You can +use any number of different ttys. `emacsclient -c' creates a new X11 +frame on the current $DISPLAY (or a tty frame if $DISPLAY is not set). +There may be problems if a display exits unexpectedly and Emacs is compiled +with Gtk+, see etc/PROBLEMS. + +You can test for the presence of this feature in your Lisp code by +testing for the `multi-tty' feature. + +*** Emacs starts in the background, as a daemon, when given the +--daemon command line argument. It disconnects from the terminal and +starts the server. Clients can connect and create graphical or +terminal frames using emacsclient. + +**** emacsclient starts emacs in daemon mode and connects to it when +--alternate-editor="" is used (or when the evironment variable +ALTERNATE_EDITOR is set to "") and emacsclient cannot connect to an +emacs server. + +*** The new command close-display-connection closes a connection to a +remote display. There are some bugs for Gtk+. See etc/PROBLEMS. + +*** Emacs now supports the XEmbed specification. +You can embed Emacs in another application on X11. The new command line +option --parent-id is used to pass the parent window id to Emacs. See +http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html +for details about XEmbed. + +*** Emacs can now set the frame opacity. +The opacity of a frame can be controlled by setting the `alpha' frame +parameter. This only takes effect on a compositing window manager for +the X Window System, such as Compiz, Beryl and Compiz Fusion, on Mac +OS X, or on Windows 2000 and later versions of Windows. + +The alpha parameter should be an integer between 0 (transparent) and +100 (opaque), or a float number between 0.0 and 1.0. It can also be a +cons cell (ACTIVE . INACTIVE), where ACTIVE is the opacity of an +active frame and INACTIVE is the opacity of non-active frames. + +The variable `frame-alpha-lower-limit' defines a lower bound for the +opacity; the default is 20. + +** Internationalization changes + +*** The Emacs character set is now a superset of Unicode. +(It has about four times the code space, which should be plenty). + +The internal encoding used for buffers and strings is now +Unicode-based and called `utf-8-emacs' (`emacs-internal' is an alias +for this). This encoding is backward-compatible with Unicode's UTF-8 +encoding. The internal encoding previously used by Emacs, +`emacs-mule', is still available for reading and writing files. + +During byte-compilation, Emacs 23 uses `utf-8-emacs' to write files. +As a result, byte-compiled files containing non-ASCII characters can't +be read by earlier versions of Emacs. Files compiled by Emacs 20, 21, +or 22 are loaded correctly as `emacs-mule' (whether or not they +contain multibyte characters). This takes somewhat more time, so it +may be worth recompiling existing .elc files which don't need to be +shared with older Emacsen. + +*** There are new coding systems/aliases; see M-x list-coding-systems. + +*** There is a new charset implementation with many new charsets. +See M-x list-character-sets. New charsets can be defined conveniently +as tables of unicodes. + +*** There are new language environments for Chinese-GBK, +Chinese-GB18030, Khmer, Bengali, Punjabi, Gujarati, Oriya, Telugu, +Sinhala, and TaiViet. + +*** The minor modes unify-8859-on-encoding-mode and +unify-8859-on-decoding-mode are obsolete. + +*** `ucs-insert' is bound to `C-x 8 RET' and in addition to hex numbers +accepts numbers in hash notation (e.g. #o21430 for octal, or #10r8984 for +decimal). It also accepts Unicode character names with completion. + +*** The `cyrillic-translit' input method supports many new characters. +Common typographical characters available from Unicode were added to +`cyrillic-translit': punctuation marks, accented characters, fractions, +and others. + +** Emacs now supports serial port access on GNU/Linux, Unix, and +Windows. The new command `serial-term' starts an interactive terminal +on a serial port. The serial port can be configured at runtime with +the mode-line mouse menu. + +** Menu Bar changes + +*** In the Options menu, the "Set Default Font" item applies the +selected font to the `default' face on all frames, not just the +current frame. Furthermore, if Emacs is compiled with both GTK and +Fontconfig support, the "Set Default Font" item uses the GTK font +selection dialog instead of an Emacs pop-up menu. + +*** The font setting chosen by "Set Default Font" is saved if the +"Save Options" item is used. + +*** The Tools menu contains a new Encryption/Decryption submenu. +This contains commands provided by EasyPG, the newly-included +interface to GnuPG (see New Modes and Packages). + +*** In the Options menu, the "Truncate Long Lines in the Buffer" entry +has been replaced with a submenu offering three different ways to +handle long lines: truncation, continuation at the window edge, and +the new word wrapping behavior (see Editing Changes, below). + +*** Improvements to menus for major and minor modes +More major and minor modes now have a mode specific menu, and existing +mode menus have been improved to include more functionality. + +** Mode-line changes + +*** The mode-line displays a `@', instead of `-', if the +default-directory for the current buffer is on a remote machine. + +*** The mode-line displays a mode menu when mouse-1 is clicked on a +minor mode, in the same way as it already did for major modes. + +*** The `mode-line-emphasis' face is used to highlight certain +mode-line information (e.g. waiting for a VC command to finish). + +*** The mode-line tooltips have been improved to provide more details. + +*** The VC, line/colum number and minor mode indicators on the mode +line are now interactive: mouse-1 can be used on them to pop up a menu. + +** File deletion can make use of the Recycle Bin or system Trash folder. +Set `delete-by-moving-to-trash' non-nil to use this. Deleted files +and directories will then be sent to the Recycle Bin on Windows, and +to `trash-directory' on other systems. + +** Directory-local variables can now be defined. +By default, Emacs looks in .dir-locals.el for directory-local +variables. For more information, see `dir-locals-set-directory-class' +and `dir-locals-set-class-variables'. + +** Emacs can now use `auth-source' for authentication. +`smtpmail' and `url' (Tramp and Gnus also) use `auth-source' to obtain +login names and passwords. The match, if found, is reported +in *Messages* with the password blanked out. + +** `where-is-preferred-modifier' can specify your favorite modifier. + + +* Startup Changes in Emacs 23.1 + +** The option `inhibit-startup-screen' (with aliases to old names +`inhibit-splash-screen' and `inhibit-startup-message') doesn't inhibit +display of the initial message in the *scratch* buffer. If you don't +want to display the initial message in the *scratch* buffer at startup, +you can set the option `initial-scratch-message' to nil. + +** New user option `initial-buffer-choice' specifies what to display +after starting Emacs: startup screen, *scratch* buffer, visiting a +file or directory. + +** New alias `argv' for `command-line-args-left' +This is a convenience alias, so that one can write `(pop argv)' +inside of --eval command line arguments in order to access +following arguments. + +** The abbrev file is no longer read at startup in batch mode. + +** Emacs now supports invocation by an X session manager. +It can save a session and restore it later. See the documentation of +the functions `emacs-session-save' and `emacs-session-restore'. +(Actually, this feature was introduced with Emacs 22, but it was not +documented.) + +* Incompatible Editing Changes in Emacs 23.1 + +** In Dired, `dired-flag-garbage-files' is rebound from `&' to `%&' +on the regexp command prefix map. + +** In Dired-x, all command guesses for ! are now added to the default +list accessible by M-n instead of pushing all guesses temporarily into +the history list. + +** In Isearch mode, a special case of typing `C-w' at the beginning of +the minibuffer that toggles word search (i.e. using key sequences +`C-s RET C-w' or `C-s M-e C-w') is obsolete. You can use the global key +`M-s w' to start word search, or type `M-s w' in Isearch mode to +toggle word search. To start nonincremental word search you can now use +`M-s w RET' and `M-s w C-r RET' instead of `C-s RET C-w' and `C-r RET C-w'. + +** In Info, `Info-search' is unbound from `M-s' to allow using `M-s w' +for word search as well as other search commands from the global prefix +key `M-s'. `Info-search' is still bound to `s', and also incremental +search commands `C-s', `C-M-s', `C-r', `C-M-r' are available for searching +through multiple Info nodes, together with their nonincremental versions +`C-s RET', `C-r RET', `C-M-s RET', `C-M-r RET', `M-s w RET'. + +** In Text mode, `center-line' and `center-paragraph' are rebound from +`M-s' and `M-S' to global keys `M-o M-s' and `M-o M-S' on the global +prefix map `M-o', which is intended for such formatting commands. + +** The following input methods were removed in Emacs 22.2, but this was +not advertised: danish-alt-postfix, esperanto-alt-postfix, +finnish-alt-postfix, german-alt-postfix, icelandic-alt-postfix, +norwegian-alt-postfix, scandinavian-alt-postfix, spanish-alt-postfix, +and swedish-alt-postfix. Use the versions without "alt-", which are +identical. + + +* Editing Changes in Emacs 23.1 + +** The C-n and C-p line-motion commands now move by screen lines, +taking continued lines and variable-width characters into account. +Setting `line-move-visual' to nil reverts this to the previous +behavior (i.e., motion by logical lines based on buffer contents +alone). + +** C-x C-c now invokes `save-buffers-kill-terminal', and C-z now +invokes `suspend-frame'. These changes are for compatibility with the +new multi-tty support (see `Improved X Window System support' above). + +** Mark changes + +*** Transient Mark mode is now on by default. + +*** mark-even-if-inactive now defaults to t + +*** When Transient Mark mode is on, C-SPC C-SPC pushes a mark without +activating it. + +*** When Transient Mark mode is on, M-q now fills the region if the +region is active. Otherwise, it fills the current paragraph. + +*** When Transient Mark mode is on, M-$ now checks spelling of the +region if the region is active. Otherwise, it checks spelling of the +word at point. + +*** When Transient Mark mode is on, TAB now indents the region if the +region is active. + +*** The variable `use-empty-active-region' controls whether an empty +active region in Transient Mark mode should make commands operate on +that empty region. + +** Temporarily active regions + +*** The new variable shift-select-mode, non-nil by default, controls +shift-selection. When Shift Select mode is on, shift-translated +motion keys (e.g. S-left and S-down) activate and extend a temporary +region, similar to mouse-selection. + +*** Temporarily active regions, created using shift-selection or +mouse-selection, are not necessarily deactivated in the next command. +They are only deactivated after point motion commands that are not +shift-translated, or after commands that would ordinarily deactivate +the mark in Transient Mark mode (e.g., any command that modifies the +buffer). + +** Minibuffer and completion changes + +*** Emacs may ask for confirmation before opening a non-existent file +or buffer. By default, Emacs requests confirmation if you type RET +immediately after TAB, and the resulting input is not an existing file +or buffer; this usually happens when the minibuffer input did not +complete far enough and you entered RET by mistake. In that case, +Emacs puts the message "[Confirm]" in the minibuffer; type RET again +to create the file or buffer. + +The new variable confirm-nonexistent-file-or-buffer determines whether +Emacs asks for confirmation. The default value is `after-completion'. +If you change it to t, Emacs always asks for confirmation; if you +change it to nil, Emacs never asks for confirmation. + +*** The rules for performing completion have been changed. +When generating completion alternatives, Emacs now takes the +minibuffer text after point, if any, into account: this text is +treated as a substring of the remaining part of the completion +alternative (i.e., the part not matched by the minibuffer text before +point). If no completion alternatives are found this way, Emacs +attempts to perform partial-completion. If still no completion +alternatives are found, we fall back on the Emacs 22 rules for +performing completion. + +The new variable `completion-styles' can be customized to choose your +favorite completion style. + +*** When M-n in the minibuffer reaches the end of the list of defaults, +it adds the completion list to the end, so next M-n continues putting +completion items to the minibuffer. The same principle applies to +incremental search commands as well: C-s or C-M-s starts searching +the default values and after the end of defaults they continue +searching minibuffer completion items. + +*** Minibuffer input of shell commands now comes with completion. + +*** In the `C-x d' (Dired) prompt, typing M-n gives the visited file +name of the current buffer. + +*** In the M-! (shell-command) prompt, M-n provides some default commands. +These are guessed using the file extension of the current file, based +on the file-handlers specified in the operating system's `mailcap' +file. The ! command in Dired (dired-do-shell-command) works +similarly, using the file displayed on the current line. + +*** A list of regexp default values is available via M-n for `occur', +`keep-lines', `flush-lines' and `how-many'. This list includes the active +region in transient-mark-mode, the word under the cursor, the last Isearch +regexp, the last Isearch string and the last replacement regexp. + +*** When enable-recursive-minibuffers is non-nil, operations which use +switch-to-buffer (such as C-x b and C-x C-f) do not fail any more when +used in a minibuffer or a dedicated window. Instead, they fallback on +using pop-to-buffer, which will use some other window. This change +has no effect when enable-recursive-minibuffers is nil (the default). + +*** Isearch started in the minibuffer searches in the minibuffer history. +Reverse Isearch commands (C-r, C-M-r) search in previous minibuffer +history elements, and forward Isearch commands (C-s, C-M-s) search in +next history elements. When the reverse search reaches the first history +element, it wraps to the last history element, and the forward search +wraps to the first history element. When the search is terminated, the +history element containing the search string becomes the current. + +*** The variable read-file-name-completion-ignore-case overrides +completion-ignore-case for file name completion. + +*** The variable read-buffer-completion-ignore-case overrides +completion-ignore-case for buffer name completion. + +*** The new command `minibuffer-force-complete' chooses one of the +possible completions, rather than stopping at the common prefix. + +*** If `completion-auto-help' is `lazy', Emacs shows the completions +buffer only on the second attempt to complete. This was already +supported in `partial-completion-mode'. + +** Face changes + +*** S-down-mouse-1 now pops up a menu for changing the font and text +size of the default face in the current buffer. The face is changed +via face remapping (see Lisp changes, below). + +*** New commands to change the default face size in the current buffer. +To increase it, type `C-x C-+' or `C-x C-='. To decrease it, type +`C-x C--'. To restore the default (global) face size, type `C-x C-0'. +These work via Text Scale mode, a new minor mode. + +The final key in the above commands may be repeated without the +leading `C-x', e.g. `C-x C-= C-= C-=' increases the face height by +three steps. Each step scales the height of the default face by the +value of the variable `text-scale-mode-step'. + +*** The commands buffer-face-mode and buffer-face-set can be used to +remap the default face in the current buffer. See "Buffer Face mode", +under New Modes and Packages. + +** Primary selection changes + +*** You can disable kill ring commands from accessing the primary +selection by setting `x-select-enable-primary' to nil. + +** Continuation lines can now be wrapped at word boundaries +(word-wrapping). This is controlled by the new per-buffer variable +`word-wrap'. Word wrapping does not take place if continuation lines +are not shown, e.g. if truncate-lines is non-nil. The most convenient +way to enable word-wrapping is using the new minor mode Visual Line +mode; in addition to setting `word-wrap' to t, this rebinds some +editing commands to work on screen lines rather than text lines. See +New Modes and Packages, below. + +** Window management changes + +*** truncate-partial-width-windows now accepts integer values, which +specify a minimum window width for partial-width windows, below which +lines are truncated. The default has been changed to 50. + +*** The new command balance-windows-area balances windows both +vertically and horizontally. + +*** pop-to-buffer now always sets input focus when the popped-to window +is on a different frame. + +** Miscellaneous changes: + +*** C-l is bound to the new command recenter-top-bottom, rather than recenter. +This moves the current line to window center, top and bottom on +successive invocations. + +*** scroll-preserve-screen-position also preserves the column position. + +*** If `yank-pop-change-selection' is t, rotating the kill ring also +updates the selection or clipboard to the current yank, just as M-w +would do so with the text it copies to the kill ring. + +*** C-M-% now shows replacement as it would look in the buffer, with +`\N' and `\&' substituted according to the match. Old behavior can be +restored by customizing `query-replace-show-replacement'. + +*** The command shell prompts for the default directory, when it is +called with a prefix and the default directory is a remote file name. +This is because some file name handlers (like ange-ftp) are not able to +run processes remotely. + +*** The new command kill-matching-buffers kills buffers whose name +matches a regexp. + +*** The value of comment-style now defaults to `indent'. +Thefore, comment-start markers are inserted at the current indentation +of the region to comment, rather than the leftmost column. + +*** The new commands `pp-macroexpand-expression' and +`pp-macroexpand-last-sexp' pretty-print macro expansions. + +*** The new command `set-file-modes' allows to set file's mode bits. +The mode bits can be specified in symbolic notation, like with GNU +Coreutils, in addition to an octal number. `chmod' is a new +convenience alias for this function. + +*** `next-error-recenter' specifies how next-error should recenter the +visited source file. Its value can be a number (for example, 0 for +top line, -1 for bottom line), or nil for no recentering. + +*** When typing in a password in the echo area, C-y yanks the current +kill into the password. + +*** Tooltip frame parameters `font' and `color' in `tooltip-frame-parameters' +are ignored. Customize the `tooltip' face instead. + +*** `mkdir' is a new convenience alias for `make-directory'. + +* New Modes and Packages in Emacs 23.1 + +** Auto Composition Mode is a minor mode that composes characters +automatically when they are displayed. It is globally on by default. +It uses `auto-composition-function' (default `auto-compose-chars'). + +** Bubbles, a new game, is similar to SameGame. + +** Buffer Face mode is a minor mode for remapping the default face in +the current buffer. The variable `buffer-face-mode-face' specifies +the face to remap to. The command `buffer-face-set' prompts for a +face name, sets `buffer-face-mode-face' to it, and enables +buffer-face-mode. See "Face changes", under Editing Changes, for a +description of face remapping. + +** butterfly flips the desired bit on the drive platter. +See http://xkcd.com/378/ + +** bug-reference.el provides clickable links to bug reports. + +** dbus.el provides D-Bus language bindings. +D-Bus is an inter-process communication mechanism for applications +residing on the same host. See the manual for details. + +** DocView mode allows viewing of PDF, PostScript and DVI documents. +One can also search for a regular expression in the document. For +details, see the commentary in doc-view.el. + +PDF and DVI files are now opened in Doc View mode by default. + +In Postcript mode, C-c C-c launches Doc View minor mode for viewing +the postscript file. + +** EasyPG provides an interface to the GNU Privacy Guard (GnuPG). +It includes a GnuPG keyring browser, cryptographic operations on +regions and files, and automatic encryption of *.gpg files. For +details, see the EasyPG Assistant User's Manual. + +** json.el is a library for parsing and generating JSON +(JavaScript Object Notation), a lightweight data-interchange format. + +** linum.el is a new minor mode to display line numbers for the +current buffer. + +** mairix.el is an interface to mairix, a free tool for indexing and +searching locally stored mail. It allows you to query mairix and +display the search results with Rmail, Gnus and VM. Note that there +is an existing Gnus back end, nnmairix.el, which should be used with +Maildir/MH setups. + +** minibuffer-depth-indicate-mode shows the minibuffer depth in the prompt. + +** nXML Mode +This is a new mode for editing XML documents. It allows a schema to +be associated with the XML document being edited, using Relax NG as +the schema language. The schema is used to provide two key features: + +*** Continuous validation. nXML validates as you type, highlighting +any invalid parts of your document. + +*** Completion. nXML can assist you in entering an element name, +attribute name or data value by using information about what is +allowed by the schema in that context. + +** proced.el provides a Dired-like interface for operating on +processes. Proced makes an Emacs buffer containing a listing of the +current processes. You can use the normal Emacs commands to move +around in this buffer, and special Proced commands to operate on the +processes listed. It is currently only functional on GNU/Linux, +MS-Windows and Solaris. + +** Remember Mode is a mode for jotting down things to remember. +Notes can be saved to a Diary file. For details, see the Remember +Manual. + +** RST mode is a major mode for editing reStructuredText files. + +** Ruby mode is a major mode for Ruby files. + +** Visual Line mode provides support for editing by visual lines. +It turns on word-wrapping in the current buffer, and rebinds C-a, C-e, +and C-k to commands that operate by visual lines instead of logical +lines. This is a more reliable replacement for longlines-mode. +This can also be turned on using the menu bar, via +Options -> Line Wrapping in this Buffer -> Word Wrap + +** xesam.el is an implementation of Xesam, an interface to (desktop) +search engines like Beagle, Strigi, and Tracker. The Xesam API +requires D-Bus for communication. + +** zeroconf.el offers service discovery and service publishing +interfaces according to the zeroconf specification. It communicates +with Avahi, a zeroconf implementation, via D-Bus messages on systems +which have installed this software. + +** There is a new `whitespace' package. +(The pre-existing one has been renamed to `old-whitespace'.) +Now, besides reporting bogus blanks, the whitespace package has a +minor mode and a global minor mode to visualize blanks (TAB, (HARD) +SPACE and NEWLINE). The visualization is made via faces and/or display +table. It can also indicate lines that extend beyond a given column, +trailing blanks, and empty lines at the start or end of a buffer. +See `whitespace-style' for more details. The `whitespace-action' option +specifies what to do when a buffer is visited, killed, or written. + + +* Changes in Specialized Modes and Packages in Emacs 23.1 + +** Abbrev has been rewritten in Elisp and extended with more flexibility. + +*** New functions: abbrev-get, abbrev-put, abbrev-table-get, abbrev-table-put, +abbrev-table-p, abbrev-insert, abbrev-table-menu. + +*** Special hook `abbrev-expand-functions' obsoletes `pre-abbrev-expand-hook'. + +*** `make-abbrev-table', `define-abbrev', `define-abbrev-table' all take +extra arguments for arbitrary properties. + +*** New variable `abbrev-minor-mode-table-alist'. + +*** `local-abbrev-table' can hold a list of abbrev-tables. + +*** Abbrevs have now the following special properties: +`:count', `:system', `:enable-function', `:case-fixed'. + +*** Abbrev-tables have now the following special properties: +`:parents', `:case-fixed', `:enable-function', `:regexp', +`abbrev-table-modiff'. + +** Apropos + +*** `apropos-library' describes the elements defined in a given library. + +*** Set `apropos-compact-layout' is you want a more compact (but wider) layout. + +** Archive Mode has basic support to browse Rar archives. +Note, however, that the free version of the unrar command only handles +versions 1 and 2 of the Rar format. + +** BibTeX mode + +*** New command `bibtex-initialize' (re)initializes BibTeX buffers. + +*** New `bibtex-entry-format' options `whitespace', `braces', and +`string', disabled by default. + +*** New variable `bibtex-cite-matcher-alist' contains rules to +identify cited keys in BibTeX entries, used by `bibtex-find-crossref'. + +*** Command `bibtex-url' allows multiple URLs per entry. + +** Bookmarks + +*** bookmark.el saves bookmarks in a pre-Emacs-23-incompatible file format +bookmark.el can read a .emacs.bmk file saved by an older Emacs, but an +older Emacs cannot read one saved by Emacs 23. + +** Calendar and diary + +*** There is a new date style, `iso', essentially year/month/day. +The variable `european-calendar-style' is obsolete - use `calendar-date-style'. +Similarly, the commands `american-calendar' and `european-calendar' +should be replaced by `calendar-set-date-style'. + +*** The calendar namespace has been rationalized. +All functions and variables now begin with a `calendar-', `diary-', or +`holiday-' prefix. The various calendar systems have secondary +prefixes, eg `calendar-french-'. The old names you are likely to use +directly still exist, for the time being, as aliases, but please start +using the new names. + +*** The whitespace in the calendar layout can be customized. +See the variables: +calendar-left-margin, calendar-intermonth-spacing, calendar-column-width, +calendar-day-header-width, and calendar-day-digit-width. + +*** Text (e.g. ISO weeks) can be displayed between the calendar months. +See the variables calendar-intermonth-header and calendar-intermonth-text. + +*** The function `holiday-chinese' computes holidays on the Chinese calendar. +It has been used to add items to the list `holiday-oriental-holidays'. + +*** `diary-remind' accepts a negative number -DAYS as a shorthand for +the list (1 2 ... DAYS). + +** Change Log mode + +*** The new command C-c C-f (change-log-find-file) finds the file +associated with the current log entry. + +*** The new command C-c C-c (change-log-goto-source) goes to the +source code associated with a log entry. + +** Compile and grep modes + +*** The mode-line entry for the *compilation* and *grep* buffer is color coded. +It has different colors for to show that: (a) the command is still +running, (b) successful completion, (c) error. + +*** compilation-auto-jump-to-first-error tells `compile' to jump to +the first error encountered during compilations. + +*** compilation-scroll-output accepts a new value, `first-error', which +says to stop auto scrolling at the first error that occurs. + +*** The `cc' alias for C++ files in `grep-file-aliases' has been +improved. `hh' can be used to match C++ header files and `cchh' both +C++ sources and headers. + +** Copyright + +*** You can specify your copyright holders' names. +Only copyright lines with holders matching `copyright-names-regexp' are +considered for update. + +*** Copyrights can be at the end of the buffer. +This is controlled by `copyright-at-end-flag' (used by, e.g., change-log-mode). + +** Custom + +*** defcustom accepts new keyword arguments, `:safe' and `:risky', which +set a variable's `safe-local-variable' and `risky-local-variable' property. + +** Diff mode + +*** diff-refine-hunk highlights word-level details of changes in a diff hunk. +It's used automatically as you move through hunks, see +diff-auto-refine-mode. It is bound to `C-c C-b'. + +*** diff-add-change-log-entries-other-window iterates through the diff +buffer and tries to create ChangeLog entries for each change. +It is bound to `C-x 4 A'. + +*** Turning on `whitespace-mode' in a diff buffer will show trailing +whitespace problems in the modified lines. + +** Dired + +*** In Dired, C-x C-q now runs the command wdired-change-to-wdired-mode, +and C-x C-q in wdired-mode exits it with asking a question about +saving changes. + +*** `&' runs the command `dired-do-async-shell-command' that executes +the command asynchronously without the need to manually add ampersand +to the end of the command. Its output appears in the buffer `*Async Shell +Command*'. + +*** `M-s f C-s' and `M-s f M-C-s' run Isearch that matches only at file names. +When a new user option `dired-isearch-filenames' is t, then even ordinary +Isearch started with `C-s' and `C-M-s' matches only at file names in the +Dired buffer. When `dired-isearch-filenames' is `dwim' then activation of +file name Isearch depends on the position of point - if point is on a file +name initially, then Isearch matches only file names, otherwise it matches +everywhere in the Dired buffer. You can toggle file names matching on or +off by typing `M-s f' in Isearch mode. + +*** `M-s a C-s' and `M-s a M-C-s' run multi-file Isearch on the marked files. +They visit the first marked file in the sequence and display the usual Isearch +prompt for a string or a regexp where all Isearch commands are available. + +*** `Q' in Dired provides two new keys for multi-file replacement. +The upper case key `Y' replaces all remaining matches in all remaining files +with no more questions. The upper case key `N' stops doing replacements +in the current file and skips to the next file. These multi-file keys +are available for all commands that use `tags-query-replace' +including `dired-do-query-replace-regexp', `vc-dir-query-replace-regexp', +`reftex-query-replace-document'. + +** Fortran + +*** The line length of fixed-form Fortran is not fixed at 72 any more. +Customize the variable `fortran-line-length' to change it. + +*** In Fortran mode, M-; is now bound to the standard comment-dwim, +rather than fortran-indent-comment. + +*** (The increasingly misnamed) F90 mode supports Fortran 2003 syntax. + +** Gnus + +*** The Gnus package has been updated +There are many new features, bug fixes and improvements; see the file +GNUS-NEWS or the node "No Gnus" in the Gnus manual for details. + +*** In Emacs 23, Gnus uses Emacs' new internal coding system `utf-8-emacs' for +saving articles, drafts, and ~/.newsrc.eld. These file may not be read +correctly in Emacs 22 and below. If you want to Gnus across different Emacs +versions, you may set `mm-auto-save-coding-system' to `emacs-mule'. + +*** Passwords are consistently loaded through `auth-source' +Gnus can use `auth-source' for POP and IMAP passwords. Also see that +`smtpmail' and `url' support `auth-source' for SMTP and HTTP/HTTPS/RSS +authentication respectively. + +** Help mode + +*** New macro `with-help-window' should set up help windows better +than `with-output-to-temp-buffer' with `print-help-return-message'. + +*** New option `help-window-select' permits to customize whether help +window shall be automatically selected when invoking help. + +*** New variable `help-window-point-marker' permits one to specify a new +position for point in help window (for example in `view-lossage'). + +** Isearch + +*** New command `isearch-forward-word' bound globally to `M-s w' starts +incremental word search. New command `isearch-toggle-word' bound to the +same key `M-s w' in Isearch mode toggles word searching on or off +while Isearch is active. + +*** New command `isearch-highlight-regexp' bound to `M-s h r' in Isearch +mode runs `highlight-regexp' (`hi-lock-face-buffer') with the current +search string as its regexp argument. The same key `M-s h r' and +other keys on the `M-s h' prefix are bound globally to the command +`highlight-regexp' and other hi-lock commands. + +*** New command `isearch-occur' bound to `M-s o' in Isearch mode +runs `occur' with the current search string. The same key `M-s o' +is bound globally to the command `occur'. + +*** Isearch can now search through multiple ChangeLog files. +When running Isearch in a ChangeLog file, if the search fails, +then another C-s tries searching the previous ChangeLog, +if there is one (e.g. going from ChangeLog to ChangeLog.12). +This is enabled if multi-isearch-search is non-nil. + +*** Two new commands to start Isearch on a list of marked buffers +for buff-menu.el and ibuffer.el are bound to the keys `M-s a C-s' and +`M-s a M-C-s'. + +*** The part of an Isearch that failed to match is highlighted in +`isearch-fail' face. + +*** `C-h C-h' in Isearch mode displays isearch-specific Help screen, +`C-h b' displays all Isearch key bindings, `C-h k' displays the full +documentation of the given Isearch key sequence, `C-h m' displays +documentation for Isearch mode. All the other Help commands exit +Isearch mode and execute their global definitions. + +*** When started in the minibuffer, Isearch searches in the minibuffer +history. See `Minibuffer changes', above. + +** MH-E + +*** Upgraded to MH-E version 8.2. See MH-E-NEWS for details. + +** Python +*** The file etc/emacs.py now supports both Python 2 and 3, meaning +that either version can be used as inferior Python by python.el. + +*** Python mode now has `pdbtrack' functionality. When using pdb to +debug a Python program, pdbtrack notices the pdb prompt and displays +the source file and line that the program is stopped at, much the same +way as gud-mode does for debugging C programs with gdb. + +** Recentf + +*** The default value of `recentf-keep' prevents from checking of +remote files, if there is no established connection to the +corresponding remote host. + +** Rmail + +*** Rmail no longer converts the messages to Babyl format. +Instead, it uses UNIX mbox format, both on disk and in Rmail buffers, +and does conversion and decoding when a message is displayed. + +The first time you visit an Rmail file in Babyl format, Rmail +automatically converts it to mbox format. This is a one-time +conversion, but it can take a few minutes, depending on how fast is +your machine and on the size of the file. You should find the rest of +Rmail usage unaltered. + +However, M-x set-rmail-inbox-list now lasts only for one session +because there is no way to save the list of inbox files in an +mbox-format file. + +Also, whereas with Babyl format M-x find-file would switch to Rmail +mode, with mbox format this is no longer the case (there being no way +to add an "-*- rmail-*-" cookie to an mbox file). Use C-u M-x rmail +instead. + +If you have written any extensions to Rmail, they are likely to need +updating. Conceptually, the Rmail buffer that you see is no longer +just a narrowed portion of the whole. So you cannot access the whole +of a message (or message collection) by a simple save-restriction and +widen. Instead, there are two buffers: the rmail-buffer, and the +rmail-view-buffer. The former is the buffer that you see, the latter +is invisible. Most of the time, the invisible `view' buffer contains +the full contents of the Rmail file, and the Rmail buffer contains a +decoded copy of the current message (with only a subset of the +headers). In this state, Rmail is said to be `swapped'. + +You may find the following functions useful: + +`rmail-get-header' and `rmail-set-header' get or set the value of a +message header, whether or not it is currently visible. + +`rmail-apply-in-message' is a general purpose function that calls a +function (with arguments) which you specify on the full text of a given +message. To further narrow to just the headers, search forward for "\n\n". + +*** The new command `rmail-mime' displays MIME messages. +It is bound to `v' in Rmail buffers and summaries. It displays plain +text and multipart messages in a temporary buffer, and offers buttons +to save attachments. + +*** The command `rmail-redecode-body' no longer accepts the optional arg RAW. +Since Rmail now holds messages in their original undecoded form in a +separate buffer, `rmail-redecode-body' no longer encodes the original +message, and therefore there should be no need to avoid encoding it. + +*** The o command is now `rmail-output'. It is an all-purpose command +for copying messages from Rmail and appending them to files. It +handles Babyl-format files as well as mbox-format files, and it +handles both kinds properly when they are visited in Emacs. It always +copies the full headers of the message. + +*** The C-o command is now `rmail-output-as-seen'. It uses +the message as displayed, appending it to an mbox file. + +*** The modified status of the Rmail buffer is reported in the mode-line. +Previously, this information was hidden. + +** TeX modes + +*** New option latex-indent-within-escaped-parens +permits to customize indentation of LaTeX environments delimited +by escaped parens. + +** T-mouse Mode + +*** If the gpm mouse server is running and t-mouse-mode is enabled, +Emacs uses a Unix socket in a GNU/Linux console to talk to server, +rather than faking events using the client program mev. This C level +approach provides mouse highlighting and help echoing in the +minibuffer. + +** Tramp + +*** New connection methods. +The new methods "plinkx", "plink2", "psftp", "sftp" and "fish" have +been introduced. There are also new so-called gateway methods +"tunnel" and "socks". + +*** IPv6 addresses. +IPv6 addresses are supported now as host names. They must be embedded +in square brackets, like in "/ssh:[::1]:". + +*** Multihop syntax has been removed. +The pseudo-method "multi" has been removed. Instead, multi hops +can be specified by the new variable `tramp-default-proxies-alist'. + +*** More default settings. +Default values can be set via the variables `tramp-default-user', +`tramp-default-user-alist' and `tramp-default-host'. + +*** Connection information is cached. +In order to reduce connection setup, information about used +connections is kept persistently in a file. The name of this file is +defined in the variable `tramp-persistency-file-name'. + +*** Control of remote processes. +Running processes on a remote host can be controlled by settings in +`tramp-remote-path' and `tramp-remote-process-environment'. + +*** Success of remote copy is checked. +When the variable `file-precious-flag' is set, the success of a remote +file copy is checked via the file's checksum. + +*** Passwords can be read from an authentification file. +Tramp uses the package `auth-source' to read passwords from a file, if +necessary. + +** VC and related modes + +*** VC now supports applying VC operations to a set of files at a time. +This enables VC to work much more effectively with changeset-oriented +version-control systems such as Subversion, GNU Arch, Mercurial, Git +and Bzr. VC will now pass a multiple-file commit to these systems as +a single changeset. + +*** vc-dir is a new command that displays file names and their VC +status. It allows to apply various VC operations to a file, a +directory or a set of files/directories. + +*** VC switches are no longer appended, rather the first non-nil value is used. +(This was for the most part true in Emacs 22, but was not advertised). +This is because there is an increasing variety of VC systems, and they +do not all accept the same "common" options. For example, a CVS diff +command used to append the values of `vc-cvs-diff-switches', +`vc-diff-switches', and `diff-switches'. Now the first non-nil value +from that sequence is used. The special value `t' means "no switches". + +*** Clicking on the VC mode-line entry now pops the VC menu. + +*** The VC mode-line entry now has a tooltip that explains the VC file status. + +*** In VC Annotate mode, the key bindings have changed to use lower +case keys instead of the upper case keys used in the past. + +*** In VC Annotate mode, for VC systems that support changesets, you can +see the diff for the whole changeset (not only for the current file) +by typing the D key. Using the "Show changeset diff of revision at +line" menu entry does the same thing. + +*** In VC Annotate mode, you can type v to toggle the annotation visibility. + +*** In VC Annotate mode, you can type f to show the file revision on +the current line. + +*** Asynchronous VC commands display [Waiting...] in the mode-line +of the corresponding buffer as long as the asynchronous process is +active. + +*** Log entries can be modified using the key "e" in log-view. +For now only CVS, RCS, SCCS and SVN support this functionality. +This is done by the `modify-change-comment' backend function. + +*** In log-view-mode, for VC systems that support changesets, you can +see the diff for the whole changeset (not only for the current file) +by typing the D key or using the "Changeset Diff" menu entry. + +*** In Log Edit mode, C-c C-d now shows the diff for the files involved. + +*** vc-git supports the "git grep" command. + +*** VC Support for Meta-CVS has been removed for lack of a maintainer able +to update it to the new VC. + +** Miscellaneous + +*** comint-mode uses `start-file-process' now (see Lisp Changes). +If `default-directory' is a remote file name, subprocesses are started +on the corresponding remote system. + +*** Eldoc highlights the function argument under point +with the face `eldoc-highlight-function-argument'. + +*** In Etags, the --members option is now the default. +Use --no-members if you want the old default behavior of not tagging +struct members in C, members variables in C++ and variables in PHP. + +*** The `gdb' command only works with the graphical interface now. +Use `gud-gdb' if you want the (old) text command mode. + +*** goto-address.el provides two new minor modes, goto-address-mode and +goto-address-prog-mode, which buttonize URLS and email addresses. + +*** The new command `eshell/info' runs info in an eshell buffer. + +*** The new variable `ffap-rfc-directories' specifies a list of local +directories in which `ffap-rfc' will first search for RFCs. + +*** hide-ifdef-mode allows shadowing ifdef-blocks instead of hiding them. +See option `hide-ifdef-shadow' and function `hide-ifdef-toggle-shadowing'. + +*** `icomplete-prospects-height' now supercedes `icomplete-prospects-length'. + +*** Info displays breadcrumbs in the header of the page. +See Info-breadcrumbs-depth to control it. + +*** net-utils has an `iwconfig' command, similar to the existing `ifconfig'. +It is used to configure wireless interfaces. + +*** The pcmpl-unix package supports hostname completion for ssh and scp. + +*** sgml-electric-tag-pair-mode lets you simultaneously edit matched tag pairs. + +*** smerge-refine highlights word-level details of changes in conflict. +It's used automatically as you move through conflicts, see +smerge-auto-refine-mode. + +*** talk.el has been extended for multiple tty support. + +*** A new command `display-time-world' has been added to the Time +package. It creates a buffer with an updating time display using +several time zones. + +*** The appearance of superscript and subscript in TeX is more customizable. +See the documentation of the variables: tex-fontify-script, +tex-font-script-display, tex-suscript-height-ratio, and +tex-suscript-height-minimum. + +*** view-remove-frame-by-deleting is now by default t +since users found iconification of view-mode frames distracting. + +*** WoMan tries to add locale-specific manual page directories to the +search path. This can be disabled by setting `woman-locale' to nil. + + +* Changes in Emacs 23.1 on non-free operating systems + +** Case is now considered significant in completion on MS-Windows. +The default value of `completion-ignore-case' is now nil on +MS-Windows, the same as it is for other operating systems. The +variable doesn't apply to reading a file name -- in that case Emacs +heeds `read-file-name-completion-ignore-case' instead. + +** IPv6 is supported on MS-Windows. +Emacs now supports IPv6 on Windows XP and later, and earlier versions +of Windows with third party IPv6 stacks installed. In Emacs 22, IPv6 was +supported on other platforms, but not on Windows due to using the winsock +1.1 header file, even though Emacs was linking to the winsock 2 library. + +** Busy cursor (hourglass) now displays on MS-Windows. +When Emacs is busy, an hourglass mouse cursor is displayed on Windows. +In Emacs 22 only X supported the busy cursor. + +** Battery status is available on MS-Windows +Emacs can now display the battery status in the mode-line when enabled with +display-battery-mode or from the Options menu. More verbose battery +information is also available with the command `battery'. In Emacs 22 +battery status was supported only on GNU/Linux and Mac. + +** More keys available on MS-Windows. +Keys normally associated with IMEs, and some exotic keys not normally found +on standard keyboards have been given names so they can be bound to functions +inside Emacs. If there are keys on your keyboard that have not been exposed +to Emacs in the past, try C-h k to see if they are available now. + +Emacs can now bind functions to the extra buttons for media player and +browser control present on some keyboards. These buttons are disabled +by default, since enabling them prevents their system-wide use when +Emacs has focus. To enable them, set the variable +w32-pass-multimedia-buttons to nil. See the doc string of that variable +for the list of extra keys that are available. + +** BDF fonts no longer supported on MS-Windows. +The font backend was completely rewritten for this release. The focus +on Windows has been getting acceptable performance and full unicode +support, including complex script shaping for native Windows fonts. A +rewrite of the BDF font support has not happened due to lack of time +and developers. If demand still exists for such a backend even with +the improved language support for native Windows fonts, future +development in this direction will most likely be based on the +freetype library, giving access to a wider range of font formats. + + +* Incompatible Lisp Changes in Emacs 23.1 + +** Variables cannot be both buffer-local and frame-local any more. + +** `functionp' returns nil for special forms. +I.e., it only returns t for objects that can be passed to `funcall'. + +** The behavior of map-char-table has changed. It may call the +specified function with a cons (FROM . TO) as a key if characters in +that range have the same value. + +** Process changes + +*** The function `dired-call-process' has been removed. + +*** The multibyteness of process filters is now determined by the +coding-system used for decoding. The functions +`process-filter-multibyte-p' and `set-process-filter-multibyte' are +obsolete. + +** The variable `byte-compile-warnings' can now be a list starting with `not', +meaning to disable the specified warnings. The meaning of this list +may therefore be the reverse of what you expect (of course, this is +only an issue if you make use of the new `not' syntax). Rather than +checking/manipulating elements directly, use the new functions +`byte-compile-warning-enabled-p', `byte-compile-disable-warning', and +`byte-compile-enable-warning.' + +** `mode-name' is no longer guaranteed to be a string. +Use `(format-mode-line mode-name)' to ensure a string value. + +** The function x-font-family-list has been removed. +Use the new function font-family-list (see Lisp Changes, below). + +** Internationalization changes + +*** The value of the function `charset-id' is now always 0. + +*** The functions `register-char-codings' and `coding-system-spec' +have been removed. + +*** The cpXXX coding systems are now supported automatically. +The functions cp-...-codepage, which you had to use in Emacs 22 to +enable support for these coding systems, have been deleted. + +*** The following features have been removed. They were used for +displaying various scripts with specific fonts, and are no longer +needed now that OpenType font support is available: + +**** `devanagari' and `devan-util', and all associated devanagari-* and +dev-* functions and variables (formerly used for Devanagari script). + +**** `kannada' and `knd-util', and all associated kannada-* and knd-* +functions and variables (formerly used for Kannada script). + +**** `malayalam' and `mlm-util', and all associated malayalam-* and +mlm-* functions and variables (formerly used for Malayalam script). + +**** `tamil' and `tml-util, and all associated tamil-* and tml-* +functions and variables (formerly used for Tamil script). + +*** The meaning of NAME argument of `set-fontset-font' is changed. +Previously nil is accepted as the default fontset. Now, nil is for +the fontset of the selected frame and t is for the default fontset. + +*** The meaning of FONTSET argument of `print-fontset' is changed. +Now, nil is for the fontset of the selected frame and t is for the +default fontset. + +** If a function in write-region-annotate-functions returns with a +different buffer current, Emacs no longer kills that buffer +automatically. This behavior existed in previous versions of Emacs, +but was undocumented. To kill a buffer after write-region, give the +variable `write-region-post-annotation-function' a buffer-local value +of `kill-buffer'. + +** The variable temp-file-name-pattern has been removed. +This variable was only used by call-process-region, which now uses +temporary-file-directory instead. + +** The COUNT and SYSTEM-FLAG arguments to define-abbrev have been +removed. The function now takes extra arguments for specifying +arbitrary abbrev properties. + +** end-of-defun-function is now guaranteed to work only when called +from the start of a defun. It must now leave point exactly at the end +of defun, since `end-of-defun' now itself moves forward over +whitespace after calling it. + + +* Lisp Changes in Emacs 23.1 + +** The new variable `generate-autoload-cookie' controls the magic comment +string used by `update-file-autoloads' to find autoloaded forms. The +variable `generated-autoload-file' similarly controls the name of the +file where `update-file-autoloads' writes the calls to `autoload'. +The default values are ";;;###autoload" and `loaddefs.el', +respectively. + +** New primitives `list-system-processes' and `process-attributes' +let Lisp programs access the processes that are running on the local +machine. See the doc strings of these functions for more details. +Not all platforms support accessing this information; on those that +don't, these primitives will return nil. + +** New variable `user-emacs-directory'. +Use this instead of "~/.emacs.d". + +** If a local hook function has a non-nil `permanent-local-hook' +property, `kill-all-local-variables' does not remove it from the local +value of the hook variable; it remains even if you change major modes. + +** `frame-inherited-parameters' lets new frames inherit parameters from +the selected frame. + +** New keymap `input-decode-map' overrides like key-translation-map, but +applies before function-key-map. Also it is terminal-local contrary to +key-translation-map. Terminal-specific key-sequences are generally added to +this map rather than to function-key-map now. + +** `ignore-errors' is now a standard macro (does not require the CL package). + +** `interprogram-paste-function' can now return one string or a list +of strings. In the latter case, Emacs puts the second and following +strings on the kill ring. + +** In `condition-case', a handler can specify "let the debugger run first". +You do this by writing `debug' in the list of conditions to be handled, +like this: + + (condition-case nil + (foo bar) + ((debug error) nil)) + +** clone-indirect-buffer now runs the clone-indirect-buffer-hook. + +** `beginning-of-defun-function' now takes one argument, the count given to +`beginning-of-defun'. (N.B. `end-of-defun-function' doesn't take any +arguments.) + +** `file-remote-p' has new optional parameters IDENTIFICATION and CONNECTED. +IDENTIFICATION specifies which part of the remote identifier has to be +returned. With CONNECTED passed non-nil, it is checked whether a +remote connection has been established already. + +** The new macro `declare-function' suppresses compiler warnings about +undefined functions. + +** Changes to interactive function handling + +*** The new interactive spec code ^ says to first call +handle-shift-selection if shift-select-mode is non-nil, before reading +the command arguments. This is used for shift-selection (see above). + +*** Built-in functions can now have an interactive specification that +is not a prompt string. If the `intspec' parameter of a `DEFUN' +starts with a `(', the string is evaluated as a Lisp form. + +*** The interactive-form of a function can be added post-facto via the +`interactive-form' symbol property. Mostly useful to add complex +interactive forms to subroutines. + +** Region changes + +*** Commands should use `use-region-p' to test whether there is +an active region that they should operate on. + +*** `region-active-p' returns non-nil when Transient Mark mode is +enabled and the mark is active. Most commands that act specially on +the active region in Transient Mark mode should use `use-region-p' +instead of `region-active-p', because `use-region-p' obeys the new +user option `use-empty-active-region' (see Editing Changes, above). + +*** If a command sets `transient-mark-mode' to (only . OLDVAL), that +means to activate transient-mark-mode temporarily, until the next +unshifted point motion command or mark deactivation. Afterwards, +reset transient-mark-mode to the value OLDVAL. The values `only' and +`identity', introduced in Emacs 22, are now deprecated. + +** Emacs session information + +*** The new variables `before-init-time' and `after-init-time' record the +value of `current-time' before and after Emacs loads the init files. + +*** The new function `emacs-uptime' returns the uptime of an Emacs instance. + +*** The new function `emacs-init-time' returns the duration of the +Emacs initialization. + +** Changes affecting display-buffer + +*** display-buffer tries to be smarter when splitting windows. +The new option split-window-preferred-function lets you specify your own +function to pop up new windows. Its default value split-window-sensibly +can split a window either vertically or horizontally, whichever seems +more suitable in the current configuration. You can tune the behavior +of split-window-sensibly by customizing split-height-threshold and the +new option split-width-threshold. Both options now take the value nil +to inhibit splitting in one direction. Setting split-width-threshold to +nil inhibits horizontal splitting and gets you the behavior of Emacs 22 +in this respect. In any case, display-buffer may now split the largest +window vertically even when it is not as wide as the containing frame. + +*** If pop-up-frames has the value `graphic-only', display-buffer only +makes a separate frame on graphic displays. + +*** select-frame and set-frame-selected-window have a new optional +argument NORECORD. If non-nil, this will avoid messing with the order +of recently selected windows and the buffer list. + +** Window parameters can now be defined. +These are analogous to frame parameters, but are associated with +individual windows. + +*** The new functions window-parameters, window-parameter, and +set-window-parameter are used to query and set window parameters. + +** Minibuffer and completion changes + +*** A list of default values can be specified for the DEFAULT argument of +functions `read-from-minibuffer', `read-string', `read-command', +`read-variable', `read-buffer', `completing-read'. Elements of this list +are available for inserting into the minibuffer by typing `M-n'. +For empty input these functions return the first element of this list. + +*** New function `read-regexp' uses the regexp history and some useful +regexp defaults (string at point, last Isearch/replacement regexp/string) +via M-n when reading a regexp in the minibuffer. + +*** minibuffer-local-must-match-filename-map is now named +minibuffer-local-filename-must-match-map. + +*** The `require-match' argument to `completing-read' accepts the new +values `confirm-only' and `confirm-after-completion'. + +** Search and replacement changes + +*** The regexp form \(?:\) specifies the group number explicitly. + +*** New function `match-substitute-replacement' returns the result of +`replace-match' without actually using it in the buffer. + +*** The new variable `replace-search-function' determines the function +to use for searching in query-replace and replace-string. The +function it specifies is called by `perform-replace' when its 4th +argument is nil. + +*** The new variable `replace-re-search-function' determines the +function to use for searching in `query-replace-regexp', +`replace-regexp', `query-replace-regexp-eval', and +`map-query-replace-regexp'. The function it specifies is called by +`perform-replace' when its 4th argument is non-nil. + +*** New keymap `search-map' bound to `M-s' provides global bindings +for search related commands. + +*** New keymap `multi-query-replace-map' contains additonal keys bound +to `automatic-all' and `exit-current' for multi-buffer interactive replacement. + +*** The variable `inhibit-changing-match-data', if non-nil, prevents +the search and match primitives from changing the match data. + +*** New functions `word-search-forward-lax' and `word-search-backward-lax'. +These are like `word-search-forward and `word-search-backward', except +that the end of the search string need not match a word boundary, +unless it ends in whitespace. + +** File handling changes + +*** set-file-modes is now interactive and can take the mode value in +symbolic notation thanks to auxiliary functions. + +*** file-local-variables-alist stores an alist of file-local +variables defined in the current buffer. + +** Face-remapping + +*** Each face can be remapped to a different face definition using the +variable `face-remapping-alist'. This is an alist that maps faces to +replacement definitions (which can be face names, lists of face names, +or attribute/value plists. If this variable is buffer-local, the +remapping occurs only in that buffer. + +*** text-scale-mode remaps the default face to a larger or smaller +size in the current buffer. This feature is used by the Buffer Face +menu and the new `C-x C-+', `C-x C--', and `C-x C-0' commands (see +Editing Changes, above). + +*** New functions: + +**** `face-remap-add-relative' adds a face remapping entry to the +current buffer. + +**** ``face-remap-remove-relative' removes a face remapping entry from +the current buffer. + +**** `face-remap-reset-base' restores a face to its global definition. + +**** `face-remap-set-base' sets the base remapping of a face. + +** Process changes + +*** The new function `start-file-process' is similar to `start-process', +but obeys file handlers. The file handler is chosen based on +`default-directory'. The functions `start-file-process-shell-command' +and `process-file-shell-command' are also new; they call internally +`start-file-process' and `process-file', respectively. + +*** The new function `process-lines' executes an external program and +returns its output as a list of lines. + +** Character code, representation, and charset changes. + +*** In multibyte buffers and strings, characters are represented by +UTF-8 byte sequences. The character code space is now 0x0..0x3FFFFF +with no gap; code points 0x0..0x10FFFF are Unicode characters of the +same code points, while code points 0x3FFF80..0x3FFFFF are raw 8-bit +bytes. + +*** Generic characters no longer exist. + +*** The concept of a charset has changed. A single character may +belong to multiple charsets (e.g. a-grave, U+00E0, belongs to charsets +unicode, iso-8859-1, iso-8859-3, etc). + +**** The dimension of a charset is now 1, 2, 3, or 4, and the size of +each dimension is no longer limited to 94 or 96. + +**** A dynamic charset priority list is used to infer the charset of +characters for display. + +*** The functions `split-char' and `make-char' now accept up to 4 +positional codes instead of just 2. + +*** The functions `encode-char' and `decode-char' now accept any character sets. + +*** The function `define-charset' now accepts a completely different +form of arguments (old-style arguments still work). + +*** The value of the function `char-charset' depends on the current +priorities of charsets. + +*** The function get-char-code-property now accepts many Unicode base +character properties. They are `name', `general-category', +`canonical-combining-class', `bidi-class', `decomposition', +`decimal-digit-value', `digit-value', `numeric-value', `mirrored', +`old-name', `iso-10646-comment', `uppercase', `lowercase', and +`titlecase'. + +*** The functions `modify-syntax-entry' and `modify-category-entry' now +accept a cons of characters as the first argument, and modify all +entries in that range of characters. + +*** Use of `translation-table-for-input' for character code unification +is now obsolete, since Emacs 23.1 and later uses Unicode as basis for +internal representation of characters. + +*** New functions: + +**** `characterp' returns t if and only if the argument is a character. +This replaces `char-valid-p', which is now obsolete. + +**** `max-char' returns the maximum character code (currently #x3FFFFF). + +**** `define-charset-alias' defines an alias of a charset. + +**** `set-charset-priority' sets priorities of charsets. + +**** `charset-priority-list' returns a prioritized list of charsets. + +**** `unibyte-string' makes a unibyte string from bytes. + +**** `define-char-code-property' defines a character code property. + +**** `char-code-property-description' returns the description string of +a character code property. + +*** New variables: + +**** `find-word-boundary-function-table' is a char-table of functions to +search for a word boundary. + +**** `char-script-table' is a char-table of script names. + +**** `char-width-table' is a char-table of character widths. + +**** `print-charset-text-property' controls how to handle `charset' text +property on printing a string. + +**** `printable-chars' is a char-table of printable characters. + +** Code conversion changes + +*** The new function `define-coding-system' should be used to define a +coding system instead of `make-coding-system' (which is now obsolete). + +*** The functions `encode-coding-region' and `decode-coding-region' +have an optional 4th argument to specify where the result of +conversion should go. + +*** The functions `encode-coding-string' and `decode-coding-string' +have an optional 4th argument specifying a buffer to store the result +of conversion. + +*** The new variable `inhibit-null-byte-detection' controls whether to +consider text with null bytes as binary data. By default, it is +`nil', and Emacs uses `no-conversion' for any text containing null +bytes. + +*** The functions `set-coding-priority' and `make-coding-system' are obsolete. + +*** New functions: + +**** `with-coding-priority' executes Lisp code using the specified +coding system priority order. + +**** `check-coding-systems-region' checks if the text in the region is +encodable by the specified coding systems. + +**** `coding-system-aliases' returns a list of aliases of a coding system. + +**** `coding-system-charset-list' returns a list of charsets supported +by a coding system. + +**** `coding-system-priority-list' returns a list of coding systems +ordered by their priorities. + +**** `set-coding-system-priority' sets priorities of coding systems. + +**** `coding-system-from-name' returns a coding system matching with +the argument name. + +** There is a new input method, Robin, different from Quail. +It has three functionalities: + i) a simple input method (converts an ASCII sequence into a string). +ii) converts an existing buffer substring into another string +iii) reverse conversion (each character produced by a +robin rule can hold the original ASCII sequence as a char-code-property) + +*** The new function `robin-define-package' defines a Robin package. + +*** The new function `robin-modify-package' modifies an existing Robin package. + +*** The new function `robin-use-package' starts using a Robin package +as an input method. + +*** The new function `string-to-unibyte' is like `string-as-unibyte' +but signals an error if STRING contains a non-ASCII, non-eight-bit +character. + +** Changes related to the new font backend + +*** Which font backends to use can be specified by the X resource +"FontBackend". For instance, to use both X core fonts and Xft fonts: + +Emacs.FontBackend: x,xft + +If this resource is not set, Emacs tries to use all font backends +available on your graphic device. + +*** New frame parameter `font-backend' specifies a list of +font-backends supported by the frame's graphic device. On X, they are +currently `x' and `xft'. + +*** The function `set-fontset-font' now accepts a script name as the +second argument, and has an optional 5th argument to control how to +set the font. + +*** New functions: + +**** `fontp' checks if the argument is a font-spec or font-entity. + +**** `font-spec' creates a new font-spec object. + +**** `font-get' returns a font property value. + +**** `font-put' sets a font property value. + +**** `font-face-attributes' returns a plist of face attributes set by a font. + +**** `list-fonts' returns a list of font-entities matching a font spec. + +**** `find-font' returns the font-entity best matching the given font spec. + +**** `font-family-list' returns a list of family names of available fonts. + +**** `font-xlfd-name' returns an XLFD name of a given font spec, font +entity, or font object. + +**** `clear-font-cache' clears all font caches. + +** Changes related to multiple-terminal (multi-tty) support + +*** $TERM is now set to `dumb' for subprocesses. If you want to know the +$TERM inherited by Emacs you will have to look inside initial-environment. + +*** $DISPLAY is now dynamically inherited from the frame's `display'. + +*** The `window-system' variable is now frame-local. The new +`initial-window-system' variable contains the `window-system' value +for the first frame. `window-system' is also now a function that +takes a frame argument. + +*** The `keyboard-translate-table' variable and the terminal and +keyboard coding systems are now terminal-local. + +*** You can specify a terminal device (`tty' parameter) and a terminal +type (`tty-type' parameter) to `make-terminal-frame'. + +*** The function `make-frame-on-display' now works during a tty +session. + +*** A new `terminal' data type. +The functions `get-device-terminal', `terminal-parameters', +`terminal-parameter', `set-terminal-parameter' use this data type. + +*** Function key sequences are now mapped using `local-function-key-map', +a new variable. This inherits from the global variable function-key-map, +which is not used directly any more. + +*** New hooks: + +**** before-hack-local-variables-hook is called after setting new +variable file-local-variables-alist, and before actually applying the +file-local variables. + +**** `suspend-tty-functions' and `resume-tty-functions' are called +after a tty frame has been suspended or resumed, respectively. The +functions are called with the terminal id of the frame being +suspended/resumed as a parameter. + +**** The special hook `delete-terminal-functions' is called before +deleting a terminal. + +*** New functions: + +**** `delete-terminal' + +**** `suspend-tty' + +**** `resume-tty'. + +*** `initial-environment' holds the environment inherited from Emacs's parent. + +** Redisplay changes + +*** For underlined characters, the distance between the underline and +the baseline is controlled by a new variable, `underline-minimum-offset'. + +*** You can now pass the value of the `invisible' property to +invisible-p to check whether it would cause the text to be invisible. +This is convenient when checking invisibility of text with no buffer +position (e.g. in before/after-strings). + +*** `clear-image-cache' can be told to flush only images of a specific file. + +*** `vertical-motion' can now be given a goal column. +It now accepts a cons cell (COLS . LINES) in its first argument, which +says to stop, where possible, at a pixel x-position equal to COLS +times the default column width. + +*** redisplay-end-trigger-functions, set-window-redisplay-end-trigger, +and window-redisplay-end-trigger are obsolete. Use `jit-lock-register' +instead. + +*** The new variables `wrap-prefix' and `line-prefix' specify display +specs which are appended at display-time to every continuation line +and non-continuation line, respectively. In addition, Emacs +recognizes the `wrap-prefix' and `line-prefix' text or overlay +properties; these have the same effects as the variables of the same +name, but take precedence. + +** The Lisp interpreter now treats non-breaking space as whitespace. + +** Miscellaneous new functions + +*** `apply-partially' performs a "curried" application of a function. + +*** `buffer-swap-text' swaps text between two buffers. This can be +useful for modes such as tar-mode, archive-mode, RMAIL. + +*** `combine-and-quote-strings' produces a single string from a list of strings +sticking a separator string in between each pair, and quoting those +strings that include the separator as their substring. Useful for +consing shell command lines from the individual arguments. + +*** `custom-note-var-changed' tells Custom to treat the change in a +certain variable as having been made within Custom. + +*** `face-all-attributes' returns an alist describing all the basic +attributes of a given face. + +*** `format-seconds' converts a number of seconds into a readable +string of days, hours, etc. + +*** `image-refresh' refreshes all images associated with a given image +specification. + +*** `locate-user-emacs-file' helps packages to select the appropriate +place to save user-specific files. It defaults to `user-emacs-directory' +unless the file already exists at $HOME. + +*** `read-color' reads a color name using the minibuffer. + +*** `read-shell-command' does what its name says, with completion. It +uses the minibuffer-local-shell-command-map for that. + +*** `split-string-and-unquote' splits a string into a list of substrings +on the boundaries of a given delimiter, and unquotes the substrings that +are quoted. Useful for taking apart shell commands. + +*** The two new functions `looking-at-p' and `string-match-p' can do +the same matching as `looking-at' and `string-match' without changing +the match data. + +*** The two new functions `make-serial-process' and +`serial-process-configure' provide a Lisp interface to the new serial +port support (see Emacs changes, above). + +** Miscellaneous new variables + +*** `auto-save-include-big-deletions', if non-nil, means auto-save is +not turned off automatically after a big deletion. + +*** `read-circle', if nil, disables the reading of recursive Lisp +structures using the #N= and #N# syntax. + +*** `this-command-keys-shift-translated' is non-nil if the key +sequence invoking the current command was found by shift-translation. + +*** `window-point-insertion-type' determines the insertion-type of the +marker used for window-point. + +*** bookmark provides `bookmark-make-record-function' so special major +modes like Info can teach bookmark.el how to save and restore the +relevant data. + +*** `fill-forward-paragraph-function' specifies which function the +filling code should use to find paragraph boundaries. + + +* New Packages for Lisp Programming in Emacs 23.1 + +** The new package avl-tree.el deals with the AVL tree data structure. + +** The new package check-declare.el verifies the accuracy of +declare-function macros (see Lisp Changes, above). + +** find-cmd.el can build `find' commands using lisp syntax. + +** The package misearch.el has been added. It allows Isearch to search +through multiple buffers. A variable `multi-isearch-next-buffer-function' +defines the function to call to get the next buffer to search in the series +of multiple buffers. Top-level functions `multi-isearch-buffers', +`multi-isearch-buffers-regexp', `multi-isearch-files' and +`multi-isearch-files-regexp' accept a single argument that specifies +a list of buffers/files to search for a string/regexp. + +** The new major mode `special-mode' is intended as a parent for +major modes such as those that set the "'mode-class 'special" property. + + +---------------------------------------------------------------------- +This file is part of GNU Emacs. + +GNU Emacs is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs. If not, see . + + +Local variables: +mode: outline +paragraph-separate: "[ ]*$" +end: + +arch-tag: e759449d-88b3-4de4-9900-3a6c3dfa23e2 diff --cc lib-src/ChangeLog index d1745a893bf,0f518445a45..160a19099a3 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@@ -1,4 -1,9 +1,9 @@@ + 2010-11-27 Joe Matarazzo (tiny change) + + * ebrowse.c (yylex): If end of input buffer encountered while + searching for a newline after "//", return YYEOF. (Bug#7446) + -2010-11-10 YAMAMOTO Mitsuharu +2010-11-18 YAMAMOTO Mitsuharu * emacsclient.c (set_local_socket) [DARWIN_OS]: Add fall-back definition of _CS_DARWIN_USER_TEMP_DIR for Mac OS X 10.4 and older. diff --cc lisp/ChangeLog index f26911298e3,c6da166726b..8544b0e53d3 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,235 -1,120 +1,346 @@@ + 2010-11-27 Chong Yidong + + * 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 + + * 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-26 Stefan Monnier ++2010-11-27 Stefan Monnier + + * 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-26 Kenichi Handa ++2010-11-27 Kenichi Handa + + * mail/rmailmm.el (rmail-mime-insert-multipart): For unsupported + multipart subtypes, insert all as usual. + + * mail/rmail.el: Require rfc2047. + -2010-11-26 Kenichi Handa ++2010-11-27 Kenichi Handa + + * 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 funciton mostly copied from + the old rmail-mime-multipart-handler. + (rmail-mime-show): Just call rmail-mime-process. + (rmail-mime-process): New funciton 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-24 Stefan Monnier ++2010-11-27 Stefan Monnier + + * 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-23 Michael Albinus ++2010-11-27 Michael Albinus + + * net/tramp.el (tramp-default-method-alist) + (tramp-default-user-alist, tramp-default-proxies-alist): + Adapt custom options type. (Bug#7445) + -2010-11-21 Chong Yidong ++2010-11-27 Chong Yidong + + * 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-21 Chong Yidong ++2010-11-27 Chong Yidong + + * progmodes/python.el (run-python): Doc fix. + (python-keep-current-directory-in-path): New var (Bug#7454). + -2010-11-20 Chong Yidong ++2010-11-27 Chong Yidong + + * lpr.el (lpr-buffer, print-buffer, lpr-region, print-region): + Prompt user before actually printing. + +2010-11-27 Eli Zaretskii + + * international/characters.el (glyphless-char-display-control): + Exclude newline and TAB from the c0-control group. + +2010-11-27 Glenn Morris + + * 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 + + * 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 + + * 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 + + * mail/rfc2368.el (rfc2368-parse-mailto-url): Unfold URLs before + parsing them. This makes mailto:...?subject=foo\nbar work. + +2010-11-25 Stefan Monnier + + * vc/diff.el (diff): Fix last change. + +2010-11-24 Stefan Monnier + + * 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 + + * 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 + + * 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 + + * 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 + + * shell.el (shell): Use current-buffer by default if it's already + a shell mode buffer and its process is dead. + Suggested by . + +2010-11-23 Tassilo Horn + + * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): + Mention that the keywords should be comma separated. + +2010-11-23 Chong Yidong + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * tool-bar.el (tool-bar-setup): Remove save as, print and customize. + +2010-11-21 Deniz Dogan + + * progmodes/python.el (python-font-lock-keywords): + Highlight top-level augmented assignments (Bug#6445). + +2010-11-21 Jan Djärv + + * 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 + + * emacs-lisp/authors.el (authors-ignored-files) + (authors-valid-file-names, authors-renamed-files-alist): Add entries. + +2010-11-20 Tassilo Horn + + * 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 + + * 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 + + * 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 + + 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 + + * faces.el (glyphless-char): Define value for `pc'. + +2010-11-20 Tassilo Horn + + 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 + + * 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 + + * 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 * simple.el (kill-new, kill-append, kill-region): - * comint.el (comint-kill-region): Make the yank-handler argument obsolete. + * comint.el (comint-kill-region): Make the yank-handler argument + obsolete. -2010-11-17 Stefan Monnier +2010-11-18 Stefan Monnier * emacs-lisp/smie.el (smie-bnf-classify): Signal errors for tokens that are both openers (resp. closers) and something else. @@@ -4385,3340 -1134,46 +4496,3340 @@@ `read-file-name-completion-ignore-case' does not exist. (tramp-get-debug-buffer): Use `tramp-debug-outline-regexp'. (tramp-find-shell, tramp-open-connection-setup-interactive-shell): - `tramp-open-shell'. - (tramp-action-password): Hide password prompt before next run. - (tramp-process-actions): Widen connection buffer for the trace. - (tramp-open-connection-setup-interactive-shell): Set `remote-tty' - process property. Trace stty settings if `tramp-verbose' >= 9. + `tramp-open-shell'. + (tramp-action-password): Hide password prompt before next run. + (tramp-process-actions): Widen connection buffer for the trace. + (tramp-open-connection-setup-interactive-shell): Set `remote-tty' + process property. Trace stty settings if `tramp-verbose' >= 9. + Apply workaround for IRIX64 bug. Move argument of last + `tramp-send-command' where it belongs to. + (tramp-maybe-open-connection): Use `async-args' and `gw-args' in + front of `login-args'. + (tramp-get-ls-command, tramp-get-ls-command-with-dired): Run tests + on "/dev/null" instead of "/". + (tramp-get-ls-command-with-dired): Make test for "--dired" + stronger. + (tramp-set-auto-save-file-modes): Adapt version check. + (tramp-set-process-query-on-exit-flag): Fix wrong parentheses. + (tramp-handle-process-file): Call the program in a subshell, in + order to preserve working directory. + (tramp-handle-shell-command): Don't use hard-wired "/bin/sh" but + `tramp-remote-sh' from `tramp-methods'. + (tramp-get-ls-command): Make test for "--color=never" stronger. + (tramp-check-for-regexp): Use (forward-line 1). + + * net/trampver.el: Update release number. + +2010-08-26 Chong Yidong + + * 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 + + * 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 + + * menu-bar.el (menu-bar-set-tool-bar-position): Set frame parameter + on all frames. + +2010-08-24 Vinicius Jose Latorre + + * 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): Added 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-08-24 Chong Yidong + + * emacs-lisp/package.el (list-packages): Alias for + package-list-packages. + +2010-08-24 Kevin Ryde + + * textmodes/flyspell.el (flyspell-check-tex-math-command): Doc fix + (Bug#5651). + + * progmodes/ruby-mode.el (ruby): Add defgroup. + +2010-08-24 Chong Yidong + + * 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-08-24 Fabian Ezequiel Gallina (tiny change) + + * progmodes/python.el (python-send-region): Send a different + Python command if Ipython is in use. + (python-check-version): Use a Python command to find the version. + +2010-08-24 Chong Yidong + + * mouse.el (mouse-yank-primary): Avoid setting primary when + deactivating the mark (Bug#6872). + +2010-08-23 Chris Foote (tiny change) + + * progmodes/python.el (python-block-pairs): Allow use of "finally" + with "else" (Bug#3991). + +2010-08-23 Michael Albinus + + * net/dbus.el: Accept UNIX domain sockets as bus address. + (top): Don't initialize `dbus-registered-objects-table' anymore, + this is done in dbusbind,c. + (dbus-check-event): Adapt test for bus. + (dbus-return-values-table, dbus-unregister-service) + (dbus-event-bus-name, dbus-introspect, dbus-register-property): + Adapt doc string. + +2010-08-23 Juanma Barranquero + + * ido.el (ido-use-virtual-buffers): Fix typo in docstring. + +2010-08-22 Juri Linkov + + * simple.el (read-extended-command): New function with the logic + for `completing-read' moved to Elisp from `execute-extended-command'. + Use `function-called-at-point' in `minibuffer-default-add-function' + to get a command name for M-n (bug#5364, bug#5214). + +2010-08-22 Chong Yidong + + * startup.el (command-line-1): Issue warning for ignored arguments + --unibyte, etc (Bug#6886). + +2010-08-22 Leo + + * net/rcirc.el (rcirc-add-or-remove): Accept a list of elements. + (ignore, bright, dim, keyword): Split list of nicknames before + passing to rcirc-add-or-remove (Bug#6894). + +2010-08-22 Chong Yidong + + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix (Bug#6880). + +2010-08-22 Leo + + Fix buffer-list rename&refresh after killing a buffer in ido. + * ido.el: Revert Óscar's. + (ido-kill-buffer-at-head): Exit the minibuffer with ido-exit=refresh. + Remember the buffers at head, rather than their name. + * iswitchb.el (iswitchb-kill-buffer): Re-make the list. + +2010-08-22 Kirk Kelsey (tiny change) + Stefan Monnier + + * progmodes/make-mode.el (makefile-fill-paragraph): Account for the + extra backslash added to each line (bug#6890). + +2010-08-22 Stefan Monnier + + * subr.el (read-key): Don't echo keystrokes (bug#6883). + +2010-08-22 Glenn Morris + + * menu-bar.el (menu-bar-games-menu): Add landmark. + +2010-08-22 Glenn Morris + + * align.el (align-regexp): Make group and spacing arguments + use the interactive defaults when non-interactive. (Bug#6698) + + * mail/rmail.el (rmail-forward): Replace mail-text-start with its + expansion, so as not to need sendmail. + (mail-text-start): Remove declaration. + (rmail-retry-failure): Require sendmail. + +2010-08-22 Chong Yidong + + * subr.el (read-key): Don't hide the menu-bar entries (bug#6881). + +2010-08-22 Michael Albinus + + * progmodes/flymake.el (flymake-start-syntax-check-process): + Use `start-file-process' in order to let it run also on remote hosts. + +2010-08-22 Kenichi Handa + + * files.el: Add `word-wrap' as safe local variable. + +2010-08-22 Glenn Morris + + * woman.el (woman-translate): Case matters. (Bug#6849) + +2010-08-22 Chong Yidong + + * simple.el (kill-region): Doc fix (Bug#6787). + +2010-08-22 Glenn Morris + + * calendar/diary-lib.el (diary-header-line-format): + Fit it to the window, not the frame. + +2010-08-22 Andreas Schwab + + * subr.el (ignore-errors): Add debug declaration. + +2010-08-22 Geoff Gole (tiny change) + + * whitespace.el (whitespace-color-off): Remove post-command-hook + locally. + +2010-08-21 Stefan Monnier + + * vc/add-log.el (add-log-file-name): Don't get confused by symlinks. + +2010-08-21 Chong Yidong + + * cus-edit.el (custom-group-value-create): Add extra newline + before end line (Bug#6876). + +2010-08-21 Chong Yidong + + * mouse.el (mouse-save-then-kill): Don't save region to kill ring + when extending it. Before killing on the second click, check if + the buffer is the correct one. Doc fix. + (mouse-secondary-save-then-kill): Allow usage without first + calling mouse-start-secondary, by defaulting to point. Don't save + an empty secondary selection. Doc fix. + +2010-08-21 Vinicius Jose Latorre + + * whitespace.el: Fix slow cursor movement (Bug#6172). Reported by + Christoph Groth and Liu Xin . + New version 13.0. + (whitespace-empty-at-bob-regexp, whitespace-empty-at-eob-regexp): + Adjust initialization. + (whitespace-bob-marker, whitespace-eob-marker) + (whitespace-buffer-changed): New vars. + (whitespace-cleanup, whitespace-color-on, whitespace-color-off) + (whitespace-empty-at-bob-regexp, whitespace-empty-at-eob-regexp) + (whitespace-post-command-hook, whitespace-display-char-on): + Adjust code. + (whitespace-looking-back, whitespace-buffer-changed): New funs. + (whitespace-space-regexp, whitespace-tab-regexp): Fun eliminated. + +2010-08-19 Stefan Monnier + + * files.el (locate-file-completion-table): Only list the .el and .elc + extensions if there's no other choice (bug#5955). + + * facemenu.el (facemenu-self-insert-data): New var. + (facemenu-post-self-insert-function, facemenu-set-self-insert-face): + New functions. + (facemenu-add-face): Use them. + + * simple.el (blink-matching-open): Obey forward-sexp-function. + +2010-08-18 Stefan Monnier + + * simple.el (prog-mode-map): New var. + (prog-indent-sexp): New command. + + * progmodes/octave-mod.el (octave-mode-menu): Make toggle buttons. + + * progmodes/prolog.el (smie): Require. + + * emacs-lisp/smie.el (smie-default-backward-token) + (smie-default-forward-token): Strip properties. + (smie-next-sexp): Be more careful with associative operators. + (smie-forward-sexp-command): Generalize. + (smie-backward-sexp-command): Simplify. + (smie-closer-alist): New var. + (smie-close-block): New command. + (smie-indent-debug-log): New var. + (smie-indent-offset-rule): Add a few more cases. + (smie-indent-column): New function. + (smie-indent-after-keyword): Use it. + (smie-indent-keyword): Use it. + Fix up the opener code's point position. + (smie-indent-comment): Only applies at BOL. + (smie-indent-debug): New command. + + * emacs-lisp/autoload.el (make-autoload): Preload the macros's + declarations that are useful before running the macro. + +2010-08-18 Joakim Verona + + * image.el (imagemagick-types-inhibit): New variable. + (imagemagick-register-types): New function. + * image-mode.el (image-transform-properties): New function. + (image-transform-set-scale, image-transform-fit-to-height) + (image-transform-set-rotation, image-transform-set-resize) + (image-transform-fit-to-width, image-transform-fit-to-height): + New functions. + (image-toggle-display-image): Support image transforms. + +2010-08-18 Katsumi Yamaoka + + * image.el (create-animated-image): Don't add heuristic mask to image + (Bug#6839). + +2010-08-18 Jan Djärv + + * term/ns-win.el (ns-get-pasteboard, ns-set-pasteboard): + Use QCLIPBOARD instead of QPRIMARY (Bug#6677). + +2010-08-17 Stefan Monnier + + * emacs-lisp/lisp.el (up-list): Obey forward-sexp-function if set. + + Font-lock '...' strings, plus various simplifications and fixes. + * progmodes/octave-mod.el (octave-font-lock-keywords): Use regexp-opt. + (octave-font-lock-close-quotes): New function. + (octave-font-lock-syntactic-keywords): New var. + (octave-mode): Use it. Set beginning-of-defun-function. + (octave-mode-map): Don't override the -defun commands. + (octave-mode-menu): Pass it directly to easy-menu-define; + remove (now generic) -defun commands; use info-lookup-symbol. + (octave-block-match-alist): Fix up last change so that + octave-close-block uses the more specific keyword. + (info-lookup-mode): Silence byte-compiler. + (octave-beginning-of-defun): Not interactive any more. + Optimize slightly. + (octave-end-of-defun, octave-mark-defun, octave-in-defun-p): Remove. + (octave-indent-defun, octave-send-defun): Use mark-defun instead. + (octave-completion-at-point-function): Make sure point is within + beg..end. + (octave-reindent-then-newline-and-indent): + Use reindent-then-newline-and-indent. + (octave-add-octave-menu): Remove. + +2010-08-17 Jan Djärv + + * mail/emacsbug.el (report-emacs-bug-insert-to-mailer) + (report-emacs-bug-can-use-xdg-email): New functions. + (report-emacs-bug): Set can-xdg-email to result of + report-emacs-bug-can-use-xdg-email. If can-xdg-email bind + \C-cm to report-emacs-bug-insert-to-mailer and add help text + about it. + + * net/browse-url.el (browse-url-default-browser): Add cond + for browse-url-xdg-open. + (browse-url-can-use-xdg-open, browse-url-xdg-open): New functions. + +2010-08-17 Glenn Morris + + * progmodes/cc-engine.el (c-new-BEG, c-new-END) + (c-fontify-recorded-types-and-refs): Define for compiler. + * progmodes/cc-mode.el (c-new-BEG, c-new-END): Move definitions + before use. + + * calendar/icalendar.el (icalendar--convert-recurring-to-diary): + Fix format call. + +2010-08-17 Michael Albinus + + * net/tramp.el (tramp-handle-make-symbolic-link): Flush file + properties. + (tramp-handle-process-file): Call the program in a subshell, in + order to preserve working directory. + (tramp-action-password): Hide password prompt before next run. + (tramp-process-actions): Widen connection buffer for the trace. + +2010-08-16 Deniz Dogan + + * net/rcirc.el (rcirc-log-process-buffers): New option. + (rcirc-print): Use it. + (rcirc-generate-log-filename): New function. + (rcirc-log-filename-function): Change default to + rcirc-generate-log-filename (Bug#6828). + +2010-08-16 Chong Yidong + + * simple.el (deactivate-mark): If select-active-regions is `only', + only set selection for temporarily active regions. + + * cus-start.el: Change defcustom for select-active-regions. + +2010-08-15 Chong Yidong + + * mouse.el (mouse--drag-set-mark-and-point): New function. + (mouse-drag-track): Use LOCATION arg to push-mark. + Use mouse--drag-set-mark-and-point to take click-count into + consideration when updating point and mark (Bug#6840). + +2010-08-15 Chong Yidong + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Give the Ruby rule a lower priority than Gnu (Bug#6778). + +2010-08-14 Štěpán Němec (tiny change) + + * font-lock.el (lisp-font-lock-keywords-2): + Add combine-after-change-calls, condition-case-no-debug, + with-demoted-errors, and with-silent-modifications (Bug#6025). + +2010-08-14 Kevin Ryde + + * emacs-lisp/copyright.el (copyright-update-year) + (copyright-update): Temporary switch-to-buffer to ensure the + buffer change being queried is visible (Bug#5394). + +2010-08-14 Tom Tromey + + * progmodes/etags.el (tags-file-name): Mark safe if stringp + (Bug#6733). + +2010-08-14 Eli Zaretskii + + * mouse.el (mouse-yank-primary): Fix mouse-2 on MS-Windows and + MS-DOS. (Bug#6689) + +2010-08-13 Jan Djärv + + * menu-bar.el (menu-bar-set-tool-bar-position): New function. + (menu-bar-showhide-tool-bar-menu-customize-enable-left) + (menu-bar-showhide-tool-bar-menu-customize-enable-right) + (menu-bar-showhide-tool-bar-menu-customize-enable-top) + (menu-bar-showhide-tool-bar-menu-customize-enable-bottom): + Call menu-bar-set-tool-bar-position. + +2010-08-12 Stefan Monnier + + * progmodes/octave-mod.el (octave-mode-syntax-table): Use the new "c" + comment style (bug#6834). + * progmodes/scheme.el (scheme-mode-syntax-table): + * emacs-lisp/lisp-mode.el (lisp-mode-syntax-table): Remove spurious + "b" flag in "' 14b" syntax. + + * progmodes/octave-mod.el (octave-mode-map): Remove special bindings + for (un)commenting the region and performing completion. + (octave-mode-menu): Use standard commands for help and completion. + (octave-mode-syntax-table): Support %{..%} comments (sort of). + (octave-mode): Use define-derived-mode. + Set completion-at-point-functions and don't set columns. + Don't disable adaptive-fill-regexp. + (octave-describe-major-mode, octave-comment-region) + (octave-uncomment-region, octave-comment-indent) + (octave-indent-for-comment): Remove. + (octave-indent-calculate): Rename from calculate-octave-indent. + (octave-indent-line, octave-fill-paragraph): Update caller. + (octave-initialize-completions): No need to make an alist. + (octave-completion-at-point-function): New function. + (octave-complete-symbol): Use it. + (octave-insert-defun): Use define-skeleton. + + * progmodes/octave-mod.el (octave-mode): Set comment-add. + (octave-mode-map): Use comment-dwim (bug#6829). + +2010-08-12 Antoine Levitt (tiny change) + + * cus-edit.el (custom-save-variables, custom-save-faces): Fix up + indentation of inserted comment. + +2010-08-11 Jan Djärv + + * faces.el (region): Add type gtk that uses gtk colors. + + * dynamic-setting.el (dynamic-setting-handle-config-changed-event): + Handle theme-name change. + +2010-08-10 Michael R. Mauger + + * progmodes/sql.el: Version 2.5 + (sql-product-alist): Add :prompt-cont-regexp property for several + database products. + (sql-prompt-cont-regexp): New variable. + (sql-output-newline-count, sql-output-by-send): + New variables. Record number of newlines in input text. + (sql-send-string): Handle multiple filters and count newlines. + (sql-send-magic-terminator): Count terminator newline. + (sql-interactive-remove-continuation-prompt): Filters output to + remove continuation prompts; one for each newline. + (sql-interactive-mode): Set up new variables, prompt regexp and + output filter. + (sql-mode-sqlite-font-lock-keywords): Correct some keywords. + (sql-make-alternate-buffer-name): Correct buffer name in edge cases. + +2010-08-10 Stefan Monnier + + * emacs-lisp/pcase.el: New file. + +2010-08-10 Michael Albinus + + * net/tramp.el (tramp-vc-registered-read-file-names): Read input + as here-document, otherwise the command could exceed maximum + length of command line. + (tramp-handle-vc-registered): Call script accordingly. + Reported by Toru TSUNEYOSHI . + +2010-08-10 Kenichi Handa + + * language/hebrew.el: Exclude U+05C3 (Hebrew SOF PASUQ) from the + composable pattern. + +2010-08-09 Chong Yidong + + * emacs-lisp/package.el (package-version-split) + (package--version-first-nonzero, package-version-compare): + Functions removed. + (package-directory-list, package-load-all-descriptors) + (package--built-in, package-activate, define-package) + (package-installed-p, package-compute-transaction) + (package-read-all-archive-contents) + (package--add-to-archive-contents, package-buffer-info) + (package-tar-file-info, package-list-packages-internal): + Use version-to-list and version-list-*. + + * emacs-lisp/package-x.el (package-upload-buffer-internal): + Use version-to-list. + (package-upload-buffer-internal): Use version-list-<=. + +2010-08-09 Kenichi Handa + + * language/hebrew.el: Exclude U+05BD (Hebrew MAQAF) from the + composable pattern. + +2010-08-08 Chong Yidong + + * tutorial.el (tutorial--default-keys): C-d is now bound to + delete-forward-char (Bug#6826). + + * mouse.el (mouse-drag-track): Remove accidentally-removed check + for `double' value of mouse-1-click-follows-link (Bug#6807). + +2010-08-08 Johan Bockgård + + * replace.el (replace-highlight): Bind isearch-forward and + isearch-error, ensuring that highlighting is updated if the user + switches the search direction (Bug#6808). + + * isearch.el (isearch-lazy-highlight-forward): New var. + (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search): + (isearch-lazy-highlight-update): Use it. + +2010-08-08 Kenichi Handa + + * international/mule.el (define-charset): Store NAME as :base property. + (ctext-non-standard-encodings-table): Pay attention to charset aliases. + (ctext-pre-write-conversion): Sort ctext-standard-encodings by the + current priority. Force using the designation of the specific + charset by adding `charset' text property. Improve the whole algorithm. + +2010-08-08 Juanma Barranquero + + * emulation/pc-select.el (pc-selection-mode-hook) + (copy-region-as-kill-nomark, beginning-of-buffer-mark) + (pc-selection-mode): Fix typos in docstrings. + +2010-08-08 Kenichi Handa + + * language/cyrillic.el: Don't add "microsoft-cp1251" to + ctext-non-standard-encodings-alist here. + + * international/mule.el (ctext-non-standard-encodings-alist): + Add "koi8-r" and "microsoft-cp1251". + (ctext-standard-encodings): New variable. + (ctext-non-standard-encodings-table): List only elements for + non-standard encodings. + (ctext-pre-write-conversion): Adjust for the above change. + Check ctext-standard-encodings. + + * international/mule-conf.el (compound-text): Doc fix. + (ctext-no-compositions): Doc fix. + (compound-text-with-extensions): Doc fix. + +2010-08-08 Stefan Monnier + + * simple.el (exchange-dot-and-mark): Mark obsolete, finally. + +2010-08-08 Juanma Barranquero + + * progmodes/which-func.el (which-func-format): Split help-echo text + into lines, like other mode-line tooltips. + + * server.el (server-start): When using TCP sockets, force IPv4 + and use a literal 127.0.0.1 for localhost. (Related to bug#6781.) + +2010-08-08 Stefan Monnier + + * bindings.el (complete-symbol): Run completion-at-point as a fallback. + +2010-08-08 Juanma Barranquero + + * term.el (term-delimiter-argument-list): Reflow docstring. + (term-read-input-ring, term-write-input-ring, term-send-input) + (term-bol, term-erase-in-display, serial-supported-or-barf): + Fix typos in docstrings. + +2010-08-08 Stefan Monnier + + * bindings.el (function-key-map): Add a S-tab => backtab fallback. + +2010-08-08 Juanma Barranquero + + * dabbrev.el (dabbrev-completion): Fix typo in docstring. + +2010-08-08 MON KEY (tiny change) + + * emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): + Fix typo in docstring (bug#6747). + +2010-08-08 Leo + + * eshell/esh-io.el (eshell-get-target): Better detection of + read-only file (Bug#6762). + +2010-08-08 Juanma Barranquero + + * align.el (align-default-spacing): Doc fix. + (align-region-heuristic, align-regexp): Fix typos in docstrings. + +2010-08-08 Stephen Peters + + * calendar/icalendar.el + (icalendar--split-value): Fix splitting regexp. (Bug#6766) + (icalendar--get-weekday-numbers): New. + (icalendar--convert-recurring-to-diary): Handle multiple byday + values in weekly rules. (Bug#6766) + +2010-08-08 Ulf Jasper + + * calendar/icalendar.el (icalendar-uid-format): Doc fix. + (icalendar--create-uid, icalendar-export-region) + (icalendar--parse-summary-and-rest): Code formatting. + +2010-08-08 Jay Belanger + + * calc/calc.el (calc-trail-mode,calc-refresh): Use `face' property + to italicize headers. + (calc-highlight-selections-with-faces): New variable. + (calc-selected-face, calc-nonselected-face): New faces. + + * calc/calccomp.el (math-comp-highlight-string): Use + `calc-highlight-selections-with-faces' to determine how to highlight + sub-formulas. + + * calc/calc-sel.el (calc-show-selections): Change message to when + using faces to highlight selections. + +2010-08-07 Michael R. Mauger + + * progmodes/sql.el (sql-mode-sqlite-font-lock-keywords): + Add SQLite 3 keywords, functions and datatypes. + (sql-interactive-mode): Remove `comint-process-echoes' set to t + (Bug#6686). + +2010-08-07 Chong Yidong + + * simple.el (select-active-regions): Move to keyboard.c. + (deactivate-mark): Used saved-region-selection. + (select-active-region): Function removed. + (activate-mark, set-mark, push-mark-command) + (handle-shift-selection): Don't call it. + (keyboard-quit): Avoid adding the region to the window selection. + + * mouse.el (mouse-drag-track): Remove hacks to deal with old + select-active-regions implementation. + (mouse-yank-at-click): Doc fix. + + * cus-start.el: Add custom declaration for select-active-regions. + +2010-08-07 Eli Zaretskii + + * simple.el (delete-forward-char): Doc fix. + + * tutorial.el (help-with-tutorial): Hack safe file-local variables + after reading the tutorial. + +2010-08-06 Alan Mackenzie + + * progmodes/cc-cmds.el (c-mask-paragraph, c-fill-paragraph): + Fix for the case that a C style comment has its delimiters alone on + their respective lines. + +2010-08-06 Michael Albinus + + * net/tramp.el (tramp-handle-start-file-process): Set connection + property "vec". + (tramp-process-sentinel): Use it for flushing the cache. + We cannot do it via the process buffer, the buffer could be deleted + already when running the sentinel. + +2010-08-06 Jürgen Hötzel (tiny change) + + * comint.el (comint-mode): Make directory tracking functions + functional on remote files. (Bug#6764) + +2010-08-06 Dan Nicolaescu + + * vc/diff-mode.el (diff-mode-shared-map): Bind g to revert-buffer. + +2010-08-05 Eli Zaretskii + + * emacs-lisp/find-gc.el (find-gc-source-files): + Rename unexec.c => unexcoff.c. + + * emacs-lisp/authors.el (authors-fixed-entries): + Rename unexec.c => unexcoff.c. + +2010-08-05 Michael Albinus + + * net/tramp.el (tramp-handle-dired-uncache): Flush directory + cache, not only file cache. + (tramp-process-sentinel): New defun. + (tramp-handle-start-file-process): Use it, in order to invalidate + file caches. + +2010-08-03 Leo + + * server.el (server-start): Simplify loop. + +2010-08-02 Stefan Monnier + + * frame.el (screen-height, screen-width, set-screen-width) + (set-screen-height): Remove ancient compatibility aliases. + + * textmodes/fill.el (justify-current-line): Don't add 1 to nspaces + when justifying. It seems useless and harmful for ncols=1 (bug#6738). + + * emacs-lisp/timer.el (timer-event-handler): Protect against timers + that change current buffer. + +2010-08-01 YAMAMOTO Mitsuharu + + * mouse.el (mouse-fixup-help-message): Match "mouse-2" only at the + beginning of the string. Use `string-match-p'. (Bug#6765) + +2010-08-01 Jan Djärv + + * cus-start.el (x-gtk-use-system-tooltips): New variable. + +2010-08-01 Chong Yidong + + * emacs-lisp/package.el (package--list-packages): Fix column alignment. + (package--builtins): Tweak descriptions. + (package-print-package): Upcase descriptions if necessary. + Show all built-in packages in font-lock-builtin-face. + (package-list-packages-internal): Omit "emacs" package. + Show status of built-in packages as "built-in". + +2010-07-31 Chong Yidong + + * mouse.el (mouse-save-then-kill): Doc fix. Deactivate mark + before killing to preserve the primary selection (Bug#6701). + + * term/x-win.el (x-select-text): Doc fix. + +2010-07-31 Nathaniel Flath + + * progmodes/cc-vars.el (c-offsets-alist, c-inside-block-syms) + (objc-font-lock-extra-types): + * progmodes/cc-mode.el (c-basic-common-init): + * progmodes/cc-langs.el (c-make-mode-syntax-table) + (c++-make-template-syntax-table) + (c-identifier-syntax-modifications, c-symbol-start, c-operators) + (c-<-op-cont-regexp, c->-op-cont-regexp, c-class-decl-kwds) + (c-brace-list-decl-kwds, c-modifier-kwds, c-prefix-spec-kwds-re) + (c-type-list-kwds, c-decl-prefix-re, c-opt-type-suffix-key): + * progmodes/cc-fonts.el (c-make-inverse-face) + (c-basic-matchers-after): + * progmodes/cc-engine.el (c-forward-keyword-clause) + (c-forward-<>-arglist, c-forward-<>-arglist-recur) + (c-forward-name, c-forward-type, c-forward-decl-or-cast-1) + (c-guess-continued-construct, c-guess-basic-syntax): + Enhance Java Mode to handle Java 5.0 (Tiger) and Java 6 (Mustang). + The above functions were modified or created. + +2010-07-31 Jan Djärv + + * faces.el (face-all-attributes): Improve documentation (Bug#6767). + +2010-07-31 Eli Zaretskii + + * files.el (bidi-paragraph-direction): Define safe local values. + + * language/hebrew.el ("Hebrew"): Add TUTORIAL.he to + language-info-alist. Remove outdated FIXME in a comment. + +2010-07-31 Alan Mackenzie + + * progmodes/cc-cmds.el (c-mask-paragraph): Fix bug #6688: + Auto-fill broken in C/C++ modes. + +2010-07-29 Jan Djärv + + * menu-bar.el (menu-bar-showhide-tool-bar-menu-customize-enable-left) + (menu-bar-showhide-tool-bar-menu-customize-disable) + (menu-bar-showhide-tool-bar-menu-customize-enable-right) + (menu-bar-showhide-tool-bar-menu-customize-enable-bottom) + (menu-bar-showhide-tool-bar-menu-customize-enable-top): New functions + (menu-bar-showhide-tool-bar-menu): If tool bar is moveable, + make a menu for Options => toolbar that can move it. + +2010-07-29 Chong Yidong + + * emacs-lisp/package-x.el (package--make-rss-entry): + (package-maint-add-news-item, package--update-news) + (package-upload-buffer-internal): New arg ARCHIVE-URL. + + * emacs-lisp/package.el (package-archive-url): Rename from + package-archive-id. + (package-install): Doc fix. + (package-download-single, package-download-tar, package-install) + (package-menu-view-commentary): Callers changed. + +2010-07-29 Michael Albinus + + * net/tramp.el (tramp-handle-start-file-process): Check only for + `remote-tty' process property. + (tramp-open-shell): Don't check for tty. + (tramp-open-connection-setup-interactive-shell): Set `remote-tty' + process property. + + * progmodes/gdb-mi.el (gdb-init-1): Check also for tty on a remote + host. + +2010-07-28 Chong Yidong + + * emacs-lisp/package.el (package-load-list, package-archives) + (package-archive-contents, package-user-dir) + (package-directory-list, package--builtins, package-alist) + (package-activated-list, package-obsolete-alist): Mark as risky. + +2010-07-28 Phil Hagelberg + + Add support for non-default package repositories. + * emacs-lisp/package.el (package-archive-base): Var deleted. + (package-archives): New variable. + (package-archive-contents): Doc fix. + (package-load-descriptor): Do nothing if descriptor file is missing. + (package--write-file-no-coding): New function. + (package-unpack-single): Use it. + (package-archive-id): New function. + (package-download-single, package-download-tar) + (package-menu-view-commentary): Use it. + (package-installed-p): Make second argument optional. + (package-read-all-archive-contents): New function. + (package-initialize): Use it. + (package-read-archive-contents): Add ARCHIVE argument. + (package--add-to-archive-contents): New function. + (package-install): Don't call package-read-archive-contents. + (package--download-one-archive): Store archive file in a + subdirectory of package-user-dir. + (package-menu-execute): Remove spurious line movement. + +2010-07-28 Jan Djärv + + * cus-start.el (tool-bar-style): Add text-image-horiz. + +2010-07-28 Michael Albinus + + * progmodes/gud.el (gud-common-init): Check for remoteness of + `file', and not of `default-directory'. + +2010-07-28 Michael Albinus + + * net/tramp.el (tramp-methods): Move hostname to the end in all + ssh `tramp-login-args'. + (tramp-verbose): Describe verbose level 9. + (tramp-open-shell): Check for tty if `tramp-verbose' >= 9. + (tramp-open-connection-setup-interactive-shell): Trace stty + settings if `tramp-verbose' >= 9. + (tramp-handle-start-file-process): Implement tty setting. + (Bug#4604, Bug#6360) + + * net/tramp-cmds.el (tramp-bug): Recommend setting of + `tramp-verbose' to 9. + +2010-07-27 Aaron S. Hawley + + * emacs-lisp/re-builder.el (reb-re-syntax, reb-lisp-mode) + (reb-lisp-syntax-p, reb-change-syntax, reb-cook-regexp): + Remove references to package `lisp-re' (bug#4369). + +2010-07-27 Tom Tromey + + * progmodes/js.el (js-mode): + * progmodes/make-mode.el (makefile-mode): + * progmodes/simula.el (simula-mode): + * progmodes/tcl.el (tcl-mode): Derive from prog-mode. + +2010-07-27 Juanma Barranquero + + * help-fns.el (find-lisp-object-file-name): Doc fix (bug#6494). + + * time.el (display-time-day-and-date): Remove spurious * in docstring. + (display-time-world-buffer-name, display-time-world-mode-map): + Fix typos in docstrings. + +2010-07-27 Shyam Karanatt (tiny change) + + * image-mode.el (image-display-size): New function. + (image-forward-hscroll, image-next-line, image-eol, image-eob) + (image-mode-fit-frame): Use it (Bug#6639). + +2010-07-27 Chong Yidong + + * dired.el (dired-buffers-for-dir): Handle list values of + dired-directory (Bug#6636). + +2010-07-26 Sam Steingold + + * mouse.el (mouse-yank-primary, mouse-yank-secondary): + Do not call `x-get-selection' the second time, reuse the value. + +2010-07-26 Daiki Ueno + + * epa-mail.el (epa-mail-mode-map): Add alternative key bindings + which consist of control chars only. Suggested by Richard Stallman. + +2010-07-25 Daiki Ueno + + * epa-file.el (epa-file-insert-file-contents): Check if LOCAL-FILE + exists before passing an error to find-file-not-found-functions + (bug#6723). + +2010-07-23 Lukas Huonker + + * play/tetris.el (tetris-tty-colors, tetris-x-colors, tetris-blank): + Remove leading nil element, adjust values. + (tetris-shapes, tetris-shape-scores): + Change representation of shapes and remove some redundancy. + (tetris-get-shape-cell, tetris-shape-width, tetris-draw-next-shape) + (tetris-draw-shape, tetris-erase-shape, tetris-test-shape): + Adjust for working with new representation of shapes. + (tetris-shape-rotations): New function. + (tetris-move-bottom, tetris-move-left, tetris-move-right) + (tetris-rotate-prev, tetris-rotate-next): + Adjust for working with the new version of tetris-test-shape. + +2010-07-23 Markus Triska + + * progmodes/ps-mode.el: Use comint (bug#5954). + (ps-run-mode-map): Adapt for comint-mode; omit "\r", [return].. + (ps-mode-other-newline): Simplify. + (ps-run-mode): Derive from comint-mode instead of + fundamental-mode, yielding input history etc. + (ps-run-start, ps-run-quit, ps-run-clear, ps-run-region) + (ps-run-send-string): Adapt for comint-mode. + (ps-run-newline): Remove now unneeded function. + +2010-07-23 Michael Albinus + + * net/tramp.el (tramp-methods): Move hostname to the end in all + plink `tramp-login-args'. + +2010-07-23 Michael Albinus + + * net/tramp.el (tramp-open-shell): New defun. + (tramp-find-shell, tramp-open-connection-setup-interactive-shell): + Use it. + +2010-07-23 Michael Albinus + + * net/tramp.el (tramp-file-name-regexp-unified) + (tramp-completion-file-name-regexp-unified): On W32 systems, do + not regard the volume letter as remote filename. (Bug#5447) + +2010-07-23 Juanma Barranquero + + * custom.el (custom-declare-variable): Give a clearer error message + when the docstring is missing (bug#6476). + +2010-07-22 Michael R. Mauger + + * progmodes/sql.el: Version 2.4. Improved Login prompting. + (sql-login-params): New widget definition. + (sql-oracle-login-params, sql-mysql-login-params) + (sql-solid-login-params, sql-sybase-login-params) + (sql-informix-login-params, sql-ingres-login-params) + (sql-ms-login-params, sql-postgres-login-params) + (sql-interbase-login-params, sql-db2-login-params) + (sql-linter-login-params): Use it. + (sql-sqlite-login-params): Use it; Define "database" parameter as + a file name. + (sql-sqlite-program): Change to "sqlite3". + (sql-comint-sqlite): Make sure database name is complete. + (sql-for-each-login): New function. + (sql-connect, sql-save-connection): Use it. + (sql-get-login-ext): New function. + (sql-get-login): Use it. + (sql-make-alternate-buffer-name): Handle :file parameters. + +2010-07-22 Juanma Barranquero + + * dired.el (dired-no-confirm): Document value t and fix defcustom to + accept it (bug#6597). Suggested by Drew Adams . + +2010-07-22 Teemu Likonen (tiny change) + + * dired.el (dired-mode-map): Use command remapping (bug#6632). + +2010-07-22 Lawrence Mitchell + + * term/vt100.el (vt100-wide-mode): Fix :init-value keyword (bug#6620). + +2010-07-21 Michael Albinus + + * net/tramp.el (tramp-get-ls-command) + (tramp-get-ls-command-with-dired): Run tests on "/dev/null" + instead of "/". + +2010-07-20 Michael R. Mauger + + * progmodes/sql.el: Version 2.3. + (sql-connection-alist): Changed keys from symbols to strings; + enhanced the widget definition. + (sql-mode-menu): Added submenu to select connections. + (sql-interactive-mode-menu): Added "Save Connection" item. + (sql-add-product): Fixed menu item. + (sql-get-product-feature): Improved error handling. + (sql--alt-buffer-part, sql--alt-if-not-empty): Removed. + (sql-make-alternate-buffer-name): Simplified. + (sql-product-interactive): Handle missing product. + (sql-connect): Support string keys, minor improvements. + (sql-save-connection): New function. + (sql-connection-menu-filter): New function. + +2010-07-20 Michael Albinus + + * net/tramp.el (tramp-file-name-handler): Trace 'quit. + (tramp-open-connection-setup-interactive-shell): Apply workaround for IRIX64 bug. Move argument of last `tramp-send-command' where it belongs to. + +2010-07-20 Michael Albinus + + * net/tramp.el (tramp-perl-file-attributes) + (tramp-perl-directory-files-and-attributes): Don't pass "$3". (tramp-maybe-open-connection): Use `async-args' and `gw-args' in front of `login-args'. - (tramp-get-ls-command, tramp-get-ls-command-with-dired): Run tests - on "/dev/null" instead of "/". - (tramp-get-ls-command-with-dired): Make test for "--dired" - stronger. - (tramp-set-auto-save-file-modes): Adapt version check. + +2010-07-19 Juanma Barranquero + + * time.el (display-time-world-mode): Define with `define-derived-mode'. + Set `show-trailing-whitespace' to nil. + (display-time-world-display): Simplify. + +2010-07-18 Alan Mackenzie + + Enhance `c-file-style' in file/directory local variables. + * progmodes/cc-mode.el (c-count-cfss): New function. + (c-before-hack-hook): Call `c-set-style' differently according to + whether c-file-style was set in file or directory local + variables. + +2010-07-18 Michael R. Mauger + + * progmodes/sql.el: Version 2.2. + (sql-product, sql-user, sql-database, sql-server, sql-port): + Use defcustom :safe keyword rather than putting safe-local-variable + property. + (sql-password): Use defcustom :risky keyword rather than putting + risky-local-variable property. + (sql-oracle-login-params, sql-sqlite-login-params) + (sql-solid-login-params, sql-sybase-login-params) + (sql-informix-login-params, sql-ingres-login-params) + (sql-ms-login-params, sql-postgres-login-params) + (sql-interbase-login-params, sql-db2-login-params) + (sql-linter-login-params): Add `port' option. + (sql-get-product-feature): Added NO-INDIRECT parameter. + (sql-comint-oracle, sql-comint-sybase) + (sql-comint-informix, sql-comint-sqlite, sql-comint-mysql) + (sql-comint-solid, sql-comint-ingres, sql-comint-ms) + (sql-comint-postgres, sql-comint-interbase, sql-comint-db2) + (sql-comint-linter): Renamed sql-connect-* functions to + sql-comint-*. + (sql-product-alist, sql-mode-menu): Renamed as above and + :sqli-connect-func to :sqli-comint-func. + (sql-connection): New variable. + (sql-interactive-mode): Set it. + (sql-connection-alist): New variable. + (sql-connect): New function. + (sql--alt-buffer-part, sql--alt-if-not-empty) + (sql-make-alternate-buffer-name): Improved alternative buffer name. + +2010-07-17 Thierry Volpiatto + + * image-mode.el (image-bookmark-make-record): Do not set context + in an image (Bug#6650). + +2010-07-17 Chong Yidong + + * simple.el (select-active-region): New function. + (push-mark-command, set-mark, activate-mark) + (handle-shift-selection): Use it. + (deactivate-mark): Don't check for size of region. + + * mouse.el (mouse-drag-track): Use select-active-region. + +2010-07-17 Michael Albinus + + * net/tramp.el (tramp-get-ls-command-with-dired): Make test for + "--dired" stronger. + +2010-07-17 Chong Yidong + + * term/x-win.el (x-select-enable-primary): Change default to nil. + (x-select-enable-clipboard): Add :version keyword. + + * mouse.el (mouse-drag-copy-region): + * simple.el (select-active-regions): Likewise. + +2010-07-16 Reiner Steib + + * vc/vc.el (vc-coding-system-inherit-eol): New defvar. + (vc-coding-system-for-diff): Use it to decide whether to inherit + from the file the EOL format for reading the diffs of that file. + (Bug#4451) + +2010-07-16 Eli Zaretskii + + * mail/rmailmm.el (rmail-mime-save): Make the temp buffer + unibyte, so compressed attachments are not compressed again. + +2010-07-16 Michael Albinus + + * net/tramp.el (tramp-handle-shell-command): Don't use hard-wired + "/bin/sh" but `tramp-remote-sh' from `tramp-methods'. + (tramp-find-shell): Simplify setting connection property. + (tramp-get-ls-command): Make test for "--color=never" stronger. + +2010-07-15 Simon South + + * progmodes/delphi.el (delphi-previous-indent-of): Indent case + blocks within record declarations (i.e. variant parts) correctly. + +2010-07-15 Simon South + + * progmodes/delphi.el (delphi-token-at): Give newlines precedence + over literal tokens when parsing so newlines aren't "absorbed" by + single-line comments. Corrects the indentation of case blocks + that have a comment on the first line. + +2010-07-14 Karl Fogel + + * bookmark.el (bookmark-load-hook): Fix doc string as suggested + by Drew Adams (Bug#5504). + +2010-07-14 Jan Djärv + + * xt-mouse.el (xterm-mouse-event-read): Fix for characters > 127 + now that Unicode is used (Bug#6594). + +2010-07-14 Chong Yidong + + * term/x-win.el (x-select-enable-clipboard): Default to t. + (x-initialize-window-system): Don't overwrite Paste menu item. + + * simple.el (select-active-regions): Default to t. + (push-mark-command): Don't overwrite primary with empty string. + + * mouse.el: Bind mouse-2 to mouse-yank-primary. + (mouse-drag-copy-region): Default to nil. + + * menu-bar.el (menu-bar-enable-clipboard): Don't overwrite + Cut/Copy/Paste menu bar items. + +2010-07-13 Thierry Volpiatto + + Allow C-w when setting a bookmark in a Gnus Article buffer (Bug#5975). + Patch applied by Karl Fogel. + + * bookmark.el (bookmark-set): Don't set `bookmark-yank-point' + and `bookmark-current-buffer' if they have been already set in + another buffer (e.g gnus-art). + +2010-07-13 Karl Fogel + Thierry Volpiatto + + Preparation for setting bookmarks in Gnus article buffers (Bug#5975). + + * bookmark.el (bookmark-make-record-default): Allow unneeded + information to be omitted from the record. + + Adjust declarations and calls: + + * info.el (bookmark-make-record-default): Adjust declaration. + (Info-bookmark-make-record): Adjust call. + + * woman.el (bookmark-make-record-default): Adjust declaration. + (woman-bookmark-make-record): Adjust call. + + * man.el (bookmark-make-record-default): Adjust declaration. + (Man-bookmark-make-record): Adjust call. + + * image-mode.el (bookmark-make-record-default): Adjust declaration. + + * doc-view.el (bookmark-make-record-default): Adjust declaration. + +2010-07-13 Karl Fogel + + * bookmark.el (bookmark-show-annotation): Use `when' instead of `if'. + This is also from Thierry Volpiatto's patch in bug #6444. However, + because it was extraneous to the functional change in that patch, + and causes a re-indendation, I am committing it separately. + +2010-07-13 Thierry Volpiatto + + * bookmark.el (bookmark-show-annotation): Ensure annotations show, + e.g. in Info bookmarks, by using `switch-to-buffer-other-window'. + Patch applied by Karl Fogel (Bug#6444). + +2010-07-13 Chong Yidong + + * frame.el (make-frame): Fix typo in 2010-06-30 change (Bug#6625). + +2010-07-13 Adrian Robert + + * term/ns-win.el: Bind M-~ to 'ns-prev-frame (due to Matthew + Dempsky; bug#5084). Remove incorrect binding for S-tab. + (ns-alternatives-map): Change S-tab binding to backtab + (bug#6616). + + * simple.el (normal-erase-is-backspace-setup-frame): Set mode on + under ns. + +2010-07-12 Andreas Schwab + + * language/tai-viet.el ("TaiViet"): Try to fix re-encoding bugs. + (Bug#5806) + + * language/tv-util.el (tai-viet-re): Remove format. + +2010-07-12 Kenichi Handa + + * language/hebrew.el: Remove no-byte-compile declaration. + Change coding: tag to utf-8. Register hebrew-shape-gstring in + composition-function-table for 3-character looking back. + (hebrew-font-get-precomposed): New function. + (hebrew-shape-gstring): Utilize precomposed glyphs if available. + +2010-07-11 Chong Yidong + + * mouse.el (mouse-drag-track): Handle select-active-regions + (Bug#6612). + +2010-07-11 Magnus Henoch + + * net/tramp-gvfs.el (tramp-gvfs-handle-copy-file): Do not pass + empty argument to gvfs-copy. + +2010-07-10 Glenn Morris + + * calendar/calendar.el (calendar-week-end-day): New function. + * calendar/cal-tex.el (cal-tex-cursor-month): Remove unused vars. + Respect calendar-week-start-day. (Bug#6606) + (cal-tex-insert-day-names, cal-tex-insert-blank-days) + (cal-tex-insert-blank-days-at-end): Respect calendar-week-start-day. + (cal-tex-first-blank-p, cal-tex-last-blank-p): Simplify, and + respect calendar-week-start-day. + +2010-07-10 Chong Yidong + + * simple.el (use-region-p): Doc fix (Bug#6607). + +2010-07-10 Aleksei Gusev (tiny change) + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Add regexps for cucumber and ruby. + +2010-07-08 Daiki Ueno + + * epa-file.el (epa-file-error, epa-file--find-file-not-found-function) + (epa-file-insert-file-contents): Hack to prevent + find-file from opening empty buffer when decryption failed + (bug#6568). + +2010-07-07 Agustín Martín + + * textmodes/ispell.el (ispell-alternate-dictionary): + Use file-readable-p. + Return nil if no word-list is found at default locations. + (ispell-complete-word-dict): Default to nil. + (ispell-command-loop): Use 'word-list' when using lookup-words. + (lookup-words): Use ispell-complete-word-dict or + ispell-alternate-dictionary. Check for word-list availability + and handle errors if needed with better messages (Bug#6539). + (ispell-complete-word): Use ispell-complete-word-dict or + ispell-alternate-dictionary. + +2010-07-07 Christoph Scholtes + + * progmodes/python.el (python-font-lock-keywords): Add Python 2.7 + builtins (BufferError, BytesWarning, WindowsError; callables + bin, bytearray, bytes, format, memoryview, next, print; __package__). + +2010-07-07 Glenn Morris + + * play/zone.el (top-level): Do not require timer, tabify, or cl. + (zone-shift-left): Ignore intangibility, and any errors from + forward-char. + (zone-shift-right): Remove no-op end-of-line. Ignore intangibility. + (zone-pgm-putz-with-case): Use upcase-region rather than inserting, + deleting, and copying text properties. + (zone-line-specs, zone-pgm-stress): Check forward-line exit status. + (zone-pgm-rotate): Handle odd buffers like that of gomoku, where getting + to point-max is hard. + (zone-fret, zone-fill-out-screen): Replace cl's do with dotimes. + (zone-fill-out-screen): Ignore intangibility. + +2010-07-05 Chong Yidong + + * menu-bar.el (menu-bar-mode): + * tool-bar.el (tool-bar-mode): Replace default-frame-alist element + if it has been set. + + * mouse.el (mouse-drag-track): Call mouse-start-end to handle + word/line selection (Bug#6565). + +2010-07-04 Juanma Barranquero + + * net/dbus.el (dbus-send-signal): Declare function. + +2010-07-04 Michael Albinus + + * net/dbus.el: Implement signal "PropertiesChanged" (from D-Bus 1.3.1). + (dbus-register-property): New optional argument EMITS-SIGNAL. + (dbus-property-handler): Send signal "PropertiesChanged" if requested. + +2010-07-03 Chong Yidong + + * mouse.el (mouse-drag-overlay): Variable deleted. + (mouse-move-drag-overlay, mouse-show-mark): Functions deleted. + (mouse--remap-link-click-p): New function. + (mouse-drag-track): Handle dragging by using temporary Transient + Mark mode, instead of a special overlay. + (mouse-kill-ring-save, mouse-save-then-kill): Don't call + mouse-show-mark. + + * mouse-sel.el (mouse-sel-selection-alist): mouse-drag-overlay + deleted. + +2010-07-02 Juri Linkov + + * autoinsert.el (auto-insert-alist): Fix readability + by using dotted pair notation for lambda. + +2010-07-02 Juri Linkov + + * faces.el (read-face-name): Rename arg `string-describing-default' + to `default'. Doc fix. Display the default value in quotes + in the prompt. With empty input, return the `default' arg, + unless the default value is a string (in which case return nil). + (describe-face): Replace the string `default' arg of `read-face-name' + with the symbol `default'. + +2010-07-02 Chong Yidong + + * emulation/viper-cmd.el (viper-delete-backward-char) + (viper-del-backward-char-in-insert) + (viper-del-backward-char-in-replace, viper-change) + (viper-backward-indent): Replace delete-backward-char with + delete-char (Bug#6552). + +2010-07-01 Chong Yidong + + * ruler-mode.el (ruler--save-header-line-format): Fix typos. + +2010-06-30 Chong Yidong + + * frame.el (make-frame): Add default-frame-alist to the PARAMETERS + argument passed to frame-creation-function (Bug#5378). + + * faces.el (x-handle-named-frame-geometry) + (x-handle-reverse-video, x-create-frame-with-faces) + (face-set-after-frame-default, tty-create-frame-with-faces): + Don't separately consult default-frame-alist. It is now passed as the + PARAMETER argument. + +2010-06-30 Andreas Schwab + + * startup.el (command-line): Don't call tool-bar-setup in a + tty-only build. + +2010-06-30 Chong Yidong + + * ruler-mode.el (ruler--save-header-line-format): New fun. + (ruler-mode): Use it as a setter function, so as not to overwrite + ruler-mode-header-line-format-old if Ruler mode is on (Bug#5370). + +2010-06-29 Chong Yidong + + * 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. + + * vc/diff-mode.el (diff-vc-backend): New var. + +2010-06-28 Jan Djärv + + * dynamic-setting.el (font-setting-change-default-font): + Remove call to message. + +2010-06-28 Kenichi Handa + + * international/quail.el (quail-insert-kbd-layout): Fix the + showing of untranslated characters. + +2010-06-28 Chong Yidong + + * simple.el (delete-active-region): New option. + (delete-backward-char): Implement in Lisp. + (delete-forward-char): New command. + + * mouse.el (mouse-region-delete-keys): Deleted. + (mouse-show-mark): Simplify. + + * bindings.el (global-map): Bind delete and DEL, the former to + delete-forward-char. + +2010-06-27 Lennart Borgman + + * progmodes/ruby-mode.el (ruby-mode-map): Don't bind TAB. + (ruby-mode): Bind indent-line-function (Bug#5119). + +2010-06-27 Chong Yidong + + * startup.el (command-line): Recognize "0" X resource value. + +2010-06-27 Chong Yidong + + * startup.el (command-line): Use X resources to set the value of + menu-bar-mode and tool-bar-mode, before calling frame-initialize. + + * menu-bar.el (menu-bar-mode): + * tool-bar.el (tool-bar-mode): Don't change default-frame-alist. + Set init-value to t. + + * frame.el (frame-notice-user-settings): Don't change + default-frame-alist based on menu-bar-mode and tool-bar-mode, or + vice versa (Bug#2249). + +2010-06-26 Eli Zaretskii + + * w32-fns.el (w32-convert-standard-filename): Doc fix. + +2010-06-25 Agustín Martín + + * textmodes/flyspell.el (flyspell-check-previous-highlighted-word): + Make sure `flyspell-word' re-checks word after function run (Bug#6504). + + * textmodes/ispell.el (ispell-init-process): Make sure ispell and + default directories are expanded (Bug#6143). + +2010-06-24 Juri Linkov + + * minibuffer.el (completions-format): Change default from nil to + `horizontal'. Remove `nil' value from :type. Doc fix. (Bug#6459) + +2010-06-24 Juri Linkov + + * vc/vc.el (vc-diff-internal): Set `revert-buffer-function' + buffer-locally to lambda that re-runs the vc diff command. + (Bug#6447) + +2010-06-24 Chong Yidong + + * kmacro.el (kmacro-call-macro): Don't issue hint message if the + echo area is in use (Bug#3412). + +2010-06-22 Glenn Morris + + * textmodes/texinfmt.el (texinfo-format-region) + (texinfo-raise-lower-sections, texinfo-format-separate-node) + (texinfo-itemize-item, texinfo-multitable-item, texinfo-alias) + (texinfo-format-option, texinfo-noindent): + Use line-beginning-position and line-end-position. + + * calc/calc-aent.el, calc/calc-ext.el, calc/calc-lang.el: + * calc/calc-store.el, calc/calc-units.el, calc/calc.el: + * calc/calccomp.el: Add explicit utf-8 coding cookies to files with + utf-8 characters. + +2010-06-21 Karl Fogel + + * play/zone.el (zone-fall-through-ws): Fix next-line -> + forward-line fallout. + +2010-07-06 Chong Yidong + + * mouse.el (mouse-appearance-menu): Add docstring. + + * help.el (describe-key): Print up-event using key-description. + +2010-07-03 Michael Albinus + + * net/zeroconf.el (zeroconf-resolve-service) + (zeroconf-service-resolver-handler): Use `dbus-byte-array-to-string'. + (zeroconf-publish-service): Use `dbus-string-to-byte-array'. + +2010-07-03 Jan Moringen + + * net/zeroconf.el (zeroconf-service-remove-hook): New defun. + +2010-06-30 Dan Nicolaescu + + Avoid displaying files with a nil state in vc-dir. + * vc/vc-dir.el (vc-dir-update): Obey the noinsert argument in all + cases that cause insertion. + (vc-dir-resynch-file): Tell vc-dir-update to avoid inserting files + with a nil state. + +2010-06-30 Chong Yidong + + * xml.el (xml-parse-region): Avoid infloop (Bug#5281). + +2010-06-29 Leo + + * emacs-lisp/rx.el (rx): Doc fix. (Bug#6537) + +2010-06-27 Oleksandr Gavenko (tiny change) + + * generic-x.el (bat-generic-mode): Fix regexp for command line + switches (Bug#5719). + +2010-06-27 Masatake YAMATO + + * htmlfontify.el (hfy-face-attr-for-class): Use append instead + of nconc to avoid pure storage error (Bug#6239). + +2010-06-27 Christoph (tiny change) + + * bookmark.el (bookmark-bmenu-2-window, bookmark-bmenu-other-window) + (bookmark-bmenu-other-window-with-mouse): Remove unnecessary + bindings of bookmark-automatically-show-annotations (Bug#6515). + +2010-06-25 Eli Zaretskii + + * arc-mode.el (archive-zip-extract): Don't quote the file name on + MS-Windows and MS-DOS. (Bug#6467, Bug#6144) + +2010-06-24 Štěpán Němec (tiny change) + + * comint.el (make-comint, make-comint-in-buffer): Mention return + value in the docstrings. (Bug#6498) + +2010-06-24 Yoni Rabkin + + * bs.el (bs-mode-font-lock-keywords): Remove "by" from Dired pattern, + since it is not present when using some non-default switches. + +2010-06-23 Karl Fogel + + * simple.el (compose-mail): Fix doc string to refer to + `compose-mail-user-agent-warnings', instead of to the + nonexistent `compose-mail-check-user-agent'. + +2010-06-21 Alan Mackenzie + + Fix an indentation bug: + + * progmodes/cc-mode.el (c-common-init): Initialise c-new-BEG/END. + (c-neutralize-syntax-in-and-mark-CPP): c-new-BEG/END: Take account + of existing values. + + * progmodes/cc-engine.el (c-clear-<-pair-props-if-match-after) + (c-clear->-pair-props-if-match-before): now return t when they've + cleared properties, nil otherwise. + (c-before-change-check-<>-operators): Set c-new-beg/end correctly + by taking account of the existing value. + + * progmodes/cc-defs.el + (c-clear-char-property-with-value-function): Fix this to clear the + property rather than overwriting it with nil. + +2010-06-20 Chong Yidong + + * emacs-lisp/package.el (package-print-package): Add link to + package description via describe-package. + (describe-package-1): List package requirements. Add button to + perform installation. + (package-menu-describe-package): New command. + + * help-mode.el (help-package): New button type. + +2010-06-19 Chong Yidong + + * emacs-lisp/package.el: Move package-list-packages binding to + menu-bar.el. + (describe-package, describe-package-1, package--dir): New funs. + (package-activate-1): Use package--dir. + + * emacs-lisp/package-x.el (gnus-article-buffer): Require package. + + * help-mode.el (help-package-def): New button type. + + * menu-bar.el: Move package-list-packages binding here from + package.el. + +2010-06-19 Gustav Hållberg (tiny change) + + * descr-text.el (describe-char): Avoid trailing whitespace. (Bug#6423) + +2010-06-18 Stefan Monnier + + * emacs-lisp/edebug.el (edebug-read-list): + Phase out old-style backquotes. + +2010-06-17 Juri Linkov + + * help-mode.el (help-mode): Set buffer-local variable + revert-buffer-function to help-mode-revert-buffer. + (help-mode-revert-buffer): New function. + + * info.el (Info-revert-find-node): Check for major-mode Info-mode + before popping to "*info*" (like in other Info functions). + Keep buffer-name in old-buffer-name. Keep Info-history-forward in + old-history-forward. Pop to old-buffer-name or "*info*" to + recreate the killed buffer. Set Info-history-forward from + old-history-forward. + (Info-breadcrumbs-depth): Add :group and :version. + +2010-06-17 Dan Nicolaescu + + * emacs-lisp/package.el (package-menu-mode-map): Add a menu. + +2010-06-17 Agustín Martín + + * textmodes/ispell.el (ispell-aspell-find-dictionary): Fix regexp + for languages like Portuguese with pt_{BR,PT} and no plain pt. + +2010-06-17 Juanma Barranquero + + * emacs-lisp/package.el (package-menu-mode-map): + Move initialization into declaration. + + * menu-bar.el (menu-bar-options-menu): Fix typo in menu entry. + +2010-06-17 Chong Yidong + + * emacs-lisp/package.el (package-archive-base): Point to + elpa.gnu.org. + (package-enable, package-load-list): New defcustoms. + (package-user-dir, package-directory-list): Turn into defcustoms. + Don't include package-user-dir in package-directory-list. + (package--builtins-base): Don't include Emacs as a "package". + (package-subdirectory-regexp): New var. + (package-load-all-descriptors, package-compute-transaction) + (package-download-transaction): Obey package-load-list. + (package-activate-1): Rename from package-do-activate. + (package-list-packages-internal): Check package-load-list. + (package-load-descriptor, package-generate-autoloads) + (package-unpack, package-unpack-single) + (package--read-archive-file, package-delete): + Use expand-file-name. + + * emacs-lisp/package-x.el: New file. Package uploading + functionality split out from package.el. + + * startup.el (command-line): Load packages after reading init file. + +2010-06-17 Tom Tromey + + * emacs-lisp/package.el: New file. + +2010-06-22 Dan Nicolaescu + + Fix vc-annotate for renamed files when using Git. + * vc/vc-git.el (vc-git-find-revision): Deal with empty results from + ls-files. Doe not pass the object as a file name to cat-file, it + is not a file name. + (vc-git-annotate-command): Pass the file name using -- to avoid + ambiguity with the revision. + (vc-git-previous-revision): Pass a relative file name. + +2010-06-22 Glenn Morris + + * progmodes/js.el (js-mode-map): Use standard capitalization and + ellipses for menu entries. + + * wid-edit.el (widget-complete): Doc fix. + +2010-06-22 Jürgen Hötzel (tiny change) + + * wid-edit.el (widget-complete): Fix typo in 2009-12-02 change. + +2010-06-22 Dan Nicolaescu + + Fix annotating other revisions for renamed files in vc-annotate. + * vc/vc-annotate.el (vc-annotate): Add an optional argument for the + VC backend. Use it when non-nil. + (vc-annotate-warp-revision): Pass the VC backend to vc-annotate. - (Bug#6487) ++ (Bug#6487). + + Fix vc-annotate-show-changeset-diff-revision-at-line for git. + * vc/vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal): + Do not pass the file name to the 'previous-revision call when we + don't want a file diff. (Bug#6489) + +2010-06-21 Dan Nicolaescu + + Fix finding revisions for renamed files in vc-annotate. + * vc/vc.el (vc-find-revision): Add an optional argument for + the VC backend. Use it when non-nil. + * vc/vc-annotate.el (vc-annotate-find-revision-at-line): Pass the VC + backend to vc-find-revision. (Bug#6487) + +2010-06-21 Dan Nicolaescu + + Fix reading file names in Git annotate buffers. + * vc/vc-git.el (vc-git-annotate-extract-revision-at-line): + Remove trailing whitespace. Suggested by Eric Hanchrow. (Bug#6481) + +2010-06-20 Alan Mackenzie + + * progmodes/cc-mode.el (c-before-hack-hook): When the mode is set + in file local variables, set it first. + +2010-06-19 Glenn Morris + + * descr-text.el (describe-char-unicode-data): Insert separating + space when needed. (Bug#6422) + + * progmodes/idlwave.el (idlwave-action-and-binding): + Fix typo in 2009-12-03 change. (Bug#6450) + +2010-06-17 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexpand-all-1): Put back special + handling for `lambda' (misunderstanding). + +2010-06-16 Jay Belanger + + * calc/calc-poly.el (math-accum-factors): Make sure that + constants aren't distributed after they are factored out. + +2010-06-16 Juri Linkov + + * facemenu.el (list-colors-display): Call `pop-to-buffer' before + `list-colors-print'. (Bug#6332) + + * subr.el (read-quoted-char): Fix up last change (bug#6290). + +2010-06-16 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexpand-all-1): Don't handle `lambda' + specially, since it's a macro. Fix up wrong hint passed to maybe-cons. + + * font-lock.el (font-lock-major-mode): Rename from + font-lock-mode-major-mode to distinguish it from + global-font-lock-mode's own font-lock-mode-major-mode (bug#6135). + (font-lock-set-defaults): + * font-core.el (font-lock-default-function): Adjust users. + (font-lock-mode): Don't set it at all. + +2010-06-16 Stefan Monnier + + * vc/vc-annotate.el (vc-annotate): Use vc-read-revision. + +2010-06-16 Glenn Morris + + * calendar/appt.el (appt-time-msg-list): Doc fix. + (appt-check): Let-bind appt-warn-time. + (appt-add): Make the 3rd argument optional. + Simplify argument names. Doc fix. Check for integer WARNTIME. + Only add WARNTIME to the output list if non-nil. + +2010-06-16 Ivan Kanis + + * calendar/appt.el (appt-check): Let the 3rd element of + appt-time-msg-list specify the warning time. + (appt-add): Add new argument with the warning time. (Bug#5176) + +2010-06-16 Bob Rogers + + * vc/vc-svn.el (vc-svn-after-dir-status): Fix regexp for Subversions + older than version 1.6. (Bug#6361) + +2010-06-16 Helmut Eller + + * emacs-lisp/cl-macs.el (destructuring-bind): Bind `bind-enquote', + used by cl-do-arglist. (Bug#6408) + +2010-06-16 Agustín Martín + + * textmodes/ispell.el (ispell-dictionary-base-alist): + Fix portuguese casechars/not-casechars for missing 'çÇ'. + Suggested by Rolando Pereira (bug#6434). + +2010-06-15 Juanma Barranquero + + * facemenu.el (list-colors-sort): Doc fix. + +2010-06-15 Bob Rogers + + * progmodes/sql.el (sql-connect-mysql): Fix typo. + +2010-06-14 Juri Linkov + + Add sort option `list-colors-sort'. (Bug#6332) + * facemenu.el (color-rgb-to-hsv): New function. + (list-colors-sort): New defcustom. + (list-colors-sort-key): New function. + (list-colors-display): Doc fix. Sort list according to the option + `list-colors-sort'. + (list-colors-print): Add HSV values to `help-echo' property of + RGB strings. + +2010-06-14 Juri Linkov + + * compare-w.el: Move to the "vc" subdirectory. + +2010-06-14 Stefan Monnier + + * image-mode.el (image-mode-map): Remap left-char and right-char. + + * nxml/nxml-mode.el (nxml-indent-line): Standardize indent behavior. + +2010-06-12 Chong Yidong + + * term/common-win.el (x-colors): Add all the color names defined + in rgb.txt (Bug#6332). + + * facemenu.el (list-colors-print): Don't print extra names if it + will overflow the window width. + + * vc/log-edit.el (log-edit-font-lock-keywords): Revert 2010-06-02 + change (Bug#6343). + +2010-06-12 Eli Zaretskii + + * files.el (make-directory): Doc fix (bug#6396). + +2010-06-12 Michael Albinus + + * net/tramp.el (tramp-remote-process-environment): Protect version + string by apostroph. + (tramp-shell-prompt-pattern): Do not use a shy group in case of + XEmacs. + (tramp-file-name-for-operation): Add `call-process-region'. (tramp-set-process-query-on-exit-flag): Fix wrong parentheses. - (tramp-handle-process-file): Call the program in a subshell, in - order to preserve working directory. - (tramp-handle-shell-command): Don't use hard-wired "/bin/sh" but - `tramp-remote-sh' from `tramp-methods'. - (tramp-get-ls-command): Make test for "--color=never" stronger. - (tramp-check-for-regexp): Use (forward-line 1). - * net/trampver.el: Update release number. + * net/tramp-compat.el (top): Do not autoload + `tramp-handle-file-remote-p'. Load tramp-util.el and tramp-vc.el + only when `start-file-process' is not bound. + (tramp-advice-file-expand-wildcards): Do not use + `tramp-handle-file-remote-p'. + (tramp-compat-make-temp-file): Handle the case, that + `make-temp-file' has no third argument EXTENSION. + +2010-06-11 Juanma Barranquero + + * makefile.w32-in (WINS_BASIC): Include new directory vc. + + * loadup.el ("vc-hooks", "ediff-hook"): Load from lisp/vc/. + +2010-06-11 Juri Linkov + + * finder.el (finder-known-keywords): Add keyword "vc" + for version control. + + * add-log.el, cvs-status.el, diff.el, diff-mode.el, ediff.el, + * emerge.el, log-edit.el, log-view.el, pcvs.el, smerge-mode.el, + * vc-annotate.el, vc-bzr.el, vc-dir.el, vc-dispatcher.el, vc-git.el, + * vc-hg.el, vc-mtn.el, vc.el: Add keyword "vc". + +2010-06-11 Juri Linkov + + Move version control related files to the "vc" subdirectory. + * add-log.el, cvs-status.el, diff.el, diff-mode.el, ediff-diff.el, + * ediff.el, ediff-help.el, ediff-hook.el, ediff-init.el, + * ediff-merg.el, ediff-mult.el, ediff-ptch.el, ediff-util.el, + * ediff-vers.el, ediff-wind.el, emerge.el, log-edit.el, log-view.el, + * pcvs-defs.el, pcvs.el, pcvs-info.el, pcvs-parse.el, pcvs-util.el, + * smerge-mode.el, vc-annotate.el, vc-arch.el, vc-bzr.el, vc-cvs.el, + * vc-dav.el, vc-dir.el, vc-dispatcher.el, vc.el, vc-git.el, + * vc-hg.el, vc-hooks.el, vc-mtn.el, vc-rcs.el, vc-sccs.el, vc-svn.el: + Move files to the "vc" subdirectory. + +2010-06-11 Chong Yidong + + * comint.el (comint-password-prompt-regexp): Fix 2010-04-10 change + (Bug#6367). + +2010-06-11 Stephen Eglen + + * shell.el: Bind `shell-resync-dirs' to M-RET. + +2010-06-10 Michael Albinus + + * notifications.el: Move file from lisp/net, because it is + supposed to talk locally to the user. + +2010-06-10 Julien Danjou + + * net/notifications.el (notifications-on-action-signal) + (notifications-on-closed-signal): Pass notification id as first + argument to the callback functions. Add docstrings. + (notifications-notify): Fix docstring. + +2010-06-10 Glenn Morris + + * emacs-lisp/authors.el (authors-ignored-files) + (authors-valid-file-names): Add some files. + +2010-06-10 Stefan Monnier + + * net/rcirc.el (rcirc-server-alist, rcirc, rcirc-connect): Resolve + merge conflict, giving preference to the emacs-23 version of the code. + +2010-06-09 Stefan Monnier + + * emacs-lisp/advice.el (ad-compile-function): + Define warning-suppress-types before we let-bind it (bug#6275). + + * vc-dispatcher.el: Rename mode-line-hook to vc-mode-line-hook; + declare it, make it buffer-local and permanent-local (bug#6324). + (vc-resynch-window): Adjust name. + * vc-hooks.el (vc-find-file-hook): Adjust name. + +2010-06-09 Michael Albinus + + * net/notifications.el (notifications-notify): Fix docstring. + +2010-06-09 Juanma Barranquero + + Update to Unicode 6.0.0 beta. + * international/charprop.el: Update copyright. + * international/mule-cmds.el (ucs-names): Update character ranges. + * international/uni-bidi.el: + * international/uni-category.el: + * international/uni-combining.el: + * international/uni-comment.el: + * international/uni-decimal.el: + * international/uni-decomposition.el: + * international/uni-digit.el: + * international/uni-lowercase.el: + * international/uni-mirrored.el: + * international/uni-name.el: + * international/uni-numeric.el: + * international/uni-old-name.el: + * international/uni-titlecase.el: + * international/uni-uppercase.el: Regenerate. + +2010-06-09 Juanma Barranquero + + * emacs-lisp/smie.el (comment-string-strip): Declare function. + (smie-precs-precedence-table): Fix typo in docstring. + + * vc-mtn.el (log-edit-extract-headers): Declare function. + + * vc-hg.el (log-edit-extract-headers): Remove duplicate declaration. + + * net/notifications.el (dbus-register-signal): Declare function. + (notifications-notify): Fix typos and reflow docstring. + +2010-06-09 Dan Nicolaescu + + 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. + +2010-06-09 Julien Danjou + + * net/notifications.el: New file. + +2010-06-09 Dan Nicolaescu + + 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. + + Improve support for special markup in the VC commit message. + * vc-mtn.el (vc-mtn-checkin): Add support for 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. + +2010-06-09 Stefan Monnier + + * emacs-lisp/smie.el (smie-indent-keyword): Remove special case that + can be handled with a ((:before "fn") (:prev "=>" parent)) rule. + +2010-06-07 Martin Pohlack + + * iimage.el: Remove images as soon as the underlying text is modified. + (iimage-modification-hook): New function. + (iimage-mode-buffer): Use it. + +2010-06-07 Stefan Monnier + + * emacs-lisp/smie.el (smie-indent-offset-rule): Rename from + smie-indent-offset-after. Add :prev case. Make a bit more generic. + (smie-indent-virtual): Remove `virtual' arg. Update callers. + (smie-indent-keyword): Add handling of open-paren keywords. + (smie-indent-comment-continue): Don't assume comment-continue. + +2010-06-07 Martin Rudalics + + * window.el (pop-to-buffer): Remove the conditional that + compares new-window and old-window, so it will reselect + the selected window unconditionally. + http://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00078.html + +2010-06-07 Stefan Monnier + + * emacs-lisp/smie.el (smie-indent-offset-after) + (smie-indent-forward-token, smie-indent-backward-token): New functions. + (smie-indent-after-keyword): Use them. + (smie-indent-fixindent): Only applies to the indentation of the BOL. + (smie-indent-keyword): Tweak the black magic. + (smie-indent-comment-continue): Strip comment-continue before use. + (smie-indent-functions): Indent comments before keywords. + +2010-06-06 Juri Linkov + + * isearch.el (isearch-lazy-highlight-search): Fix looping + by checking for empty match. This syncs this loop with the + similar loop in `isearch-search'. (Bug#6362) + +2010-06-05 Juanma Barranquero + + * net/dbus.el (dbus-register-method): Declare function. + (dbus-handle-event, dbus-property-handler): Fix typos in docstrings. + (dbus-introspect): Doc fix. + (dbus-event-bus-name, dbus-introspect-get-interface) + (dbus-introspect-get-argument): Reflow docstrings. + +2010-06-05 Dan Nicolaescu + + vc-log-incoming/vc-log-outgoing fixes 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): Use @{upstream} + instead of vc-git-compute-remote. + (vc-git-compute-remote): Remove. + +2010-06-04 Chong Yidong + + * term/common-win.el (x-colors): Add "dark green" and "dark + turquoise" (Bug#6332). + +2010-06-04 Juri Linkov + + * simple.el (kill-new): Fix logic of kill-do-not-save-duplicates. + Instead of setting `replace' to t and replacing the same string + with itself, don't do certain actions when + kill-do-not-save-duplicates is non-nil and string is equal to car + of kill-ring: don't call menu-bar-update-yank-menu, don't push + interprogram-paste strings to kill-ring, and don't push the input + argument `string' to kill-ring. + http://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00072.html + +2010-06-04 Juanma Barranquero + + * subr.el (directory-sep-char): Move from fileio.c and make a defconst. + +2010-06-04 Michael Albinus + + * net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name): Expand "~/". + (tramp-gvfs-handler-mounted-unmounted) + (tramp-gvfs-connection-mounted-p): Handle default-location. + + * net/tramp-smb.el (tramp-smb-handle-delete-directory): Don't try to + move files to trash. + +2010-06-04 Juanma Barranquero + + * international/mule-cmds.el (nonascii-insert-offset) + (nonascii-translation-table): Add obsolescence information. + + * international/mule.el (make-translation-table-from-vector): Doc fix. + +2010-06-03 Glenn Morris + + * desktop.el (desktop-clear-preserve-buffers): + Add "*Warnings*" buffer. (Bug#6336) + +2010-06-03 Dan Nicolaescu + + vc-log-incoming/vc-log-outgoing improvements for Git. + * 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. + + 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. + +2010-06-03 Chong Yidong + + * net/rcirc.el (rcirc-sort-nicknames): Remove. + (rcirc-handler-366): Always sort nicknames. + +2010-06-03 Juanma Barranquero + + * emacs-lisp/smie.el (comment-continue): Declare for byte-compiler. + +2010-06-03 Chong Yidong + + * net/rcirc.el (rcirc-nickname<, rcirc-sort-nicknames-join): Doc fix. + +2010-06-03 Stefan Monnier + + * net/rcirc.el (rcirc-sort-nicknames): Change default. + (rcirc-sort-nicknames-join): Avoid setq. + +2010-06-03 Deniz Dogan + + * net/rcirc.el (rcirc-sort-nicknames): New custom. + (rcirc-nickname<, rcirc-sort-nicknames-join): New funs. + (rcirc-handler-366): Use them. + +2010-06-03 Stefan Monnier + + Split smie-indent-calculate into more manageable chunks. + * emacs-lisp/smie.el (smie-indent-virtual, smie-indent-fixindent) + (smie-indent-comment, smie-indent-after-keyword, smie-indent-keyword) + (smie-indent-close, smie-indent-comment-continue, smie-indent-bob) + (smie-indent-exps): Extract from smie-indent-calculate. + (smie-indent-functions): New var. + (smie-indent-functions): Use them. + +2010-06-02 Stefan Monnier + + * emacs-lisp/smie.el (smie-indent-hanging-p): Use smie-bolp. + (smie-indent-calculate): Simplify and cleanup. + +2010-06-02 Michael Albinus + + * net/tramp-gvfs.el (top): Require url-util. + (tramp-gvfs-mount-point): Remove. + (tramp-gvfs-stringify-dbus-message, tramp-gvfs-send-command): + New defuns. + (with-tramp-dbus-call-method): Format trace message. + (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): + Implement backup call, when operation on local files fails. + Use progress reporter. Flush properties of changed files. + (tramp-gvfs-handle-make-directory): Make more traces. + (tramp-gvfs-url-file-name): Hexify file name in url. + (tramp-gvfs-fuse-file-name): Take also prefix (like dav shares) + into account for the resulting file name. + (tramp-gvfs-handler-askquestion): Return dummy mountpoint, when + the answer is "no". See `tramp-gvfs-maybe-open-connection'. + (tramp-gvfs-handler-mounted-unmounted) + (tramp-gvfs-connection-mounted-p): Test also for new mountspec + attribute "default_location". Set "prefix" property. + (tramp-gvfs-mount-spec): Return both prefix and mountspec. + (tramp-gvfs-maybe-open-connection): Test, whether mountpoint + exists. Raise an error, if not (due to a corresponding answer + "no" in interactive questions, for example). + +2010-06-02 Dan Nicolaescu + + * log-edit.el (log-edit-font-lock-keywords): Make group 4 match lax. + +2010-06-01 Juanma Barranquero + + * emacs-lisp/eldoc.el: Add completions for new commands left-* and + right-*. (Bug#6265) + +2010-06-01 Dan Nicolaescu + + Add support for vc-log-incoming, improve vc-log-outgoing for Git. + * vc-git.el (vc-git-compute-remote): New function. + (vc-git-log-outgoing): Use it instead of hard coding a value. + (vc-git-log-incoming): New function. + + 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. + + * vc-dir.el (vc-dir-update): Remove entries with a nil state (bug#5539). + +2010-06-01 Stefan Monnier + + * vc-bzr.el (vc-bzr-revision-completion-table): Apply + `file-directory-p' to the filename part rather than to the whole text. + +2010-05-31 Stefan Monnier + + * man.el (Man-completion-table): Let the user type "-k " (bug#6319). + +2010-05-31 Drew Adams + + * files.el (directory-files-no-dot-files-regexp): Doc fix (bug#6298). + +2010-05-31 Juanma Barranquero + + * subr.el (momentary-string-display): Just use read-event to read + the exit event (Bug#6238). + +2010-05-30 Eli Zaretskii + + * international/mule.el (define-coding-system): Doc fix (bug#6313). + +2010-05-30 Juanma Barranquero + + * emulation/cua-base.el: Recognize also `right-word' and `left-word'. + Suggested by Eli Zaretskii . + +2010-05-30 Stefan Monnier + + * minibuffer.el (completion-file-name-table): Don't return a boundary + past the end of `string' (bug#6299). + (completion--file-name-table): Delegate to completion-file-name-table + for the `boundaries' case. + +2010-05-30 Juanma Barranquero + + * emulation/cua-base.el: Recognize `right-char' and `left-char' as + movement commands. + + * progmodes/ada-xref.el (ada-prj-ada-project-path-sep): Set from + `path-separator', but maintain compatibility with Emacs 20.2. + +2010-05-29 Chong Yidong + + * server.el (server-process-filter): Receive parent-id argument + from emacsclient. + (server-create-window-system-frame): New arg. Pass parent-id as + frame parameter. + +2010-05-29 Eli Zaretskii + + Bidi-sensitive word movement with arrow keys. + * subr.el (right-arrow-command, left-arrow-command): Move to + bindings.el. + + * bindings.el (right-char, left-char): Move from subr.el and + rename from right-arrow-command and left-arrow-command. + (right-word, left-word): New functions. + (global-map) : Bind to right-char. + (global-map) : Bind to left-char. + (global-map) : Bind to right-word. + (global-map) : Bind to left-word. + + * ls-lisp.el (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. + +2010-05-29 Chong Yidong + + * ansi-color.el: Delete unused escape sequences (Bug#6085). + (ansi-color-drop-regexp): New constant. + (ansi-color-apply, ansi-color-filter-region) + (ansi-color-apply-on-region): Delete unrecognized control sequences. + (ansi-color-apply): Build string list before calling concat. + +2010-05-28 Juri Linkov + + * image-dired.el (image-dired-dired-toggle-marked-thumbs): + Replace LOCALP arg of `dired-get-filename' 'no-dir with nil. + (Bug#5270) + +2010-05-28 Michael Albinus + + * net/tramp.el (tramp-debug-message): Add `tramp-compat-funcall' + to ignored backtrace functions. + (with-progress-reporter): Expand docstring. + (tramp-handle-delete-file): Implement TRASH argument. + (tramp-get-remote-trash): New defun. + +2010-05-28 Michael Albinus + + * net/tramp-compat.el (tramp-compat-delete-file): + Use `symbol-value' for backward compatibility. + + * net/tramp.el (tramp-handle-make-symbolic-link) + (tramp-handle-load) + (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-process-file, tramp-handle-call-process-region) + (tramp-handle-shell-command, tramp-handle-file-local-copy) + (tramp-handle-insert-file-contents, tramp-handle-write-region) + (tramp-delete-temp-file-function): Use `delete-file' instead + of `tramp-compat-delete-file'. + + * net/tramp-fish.el (tramp-fish-handle-delete-directory) + (tramp-fish-handle-make-symbolic-link) + (tramp-fish-handle-process-file): Use `delete-file' instead + of `tramp-compat-delete-file'. + + * net/tramp-ftp.el (tramp-ftp-file-name-handler): + Use `delete-file' instead of `tramp-compat-delete-file'. + + * net/tramp-gvfs.el (tramp-gvfs-handle-delete-file): Rename arg. + (tramp-gvfs-handle-write-region): Use `delete-file' instead of + `tramp-compat-delete-file'. + + * net/tramp-imap.el (tramp-imap-do-copy-or-rename-file): + Use `delete-file' instead of `tramp-compat-delete-file'. + + * net/tramp-smb.el (tramp-smb-handle-copy-file) + (tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file) + (tramp-smb-handle-write-region): Use `delete-file' instead of + `tramp-compat-delete-file'. + (tramp-smb-handle-delete-directory): Use 'trash as arg. + +2010-05-27 Chong Yidong + + * dired.el (dired-delete-file): New arg TRASH. + (dired-internal-do-deletions): New arg TRASH. Use progress reporter. + (dired-do-flagged-delete, dired-do-delete): Use trash. + + * speedbar.el (speedbar-item-delete): Allow trashing. + + * files.el (delete-directory): New arg TRASH. + + * net/ange-ftp.el (ange-ftp-del-tmp-name, ange-ftp-delete-file) + (ange-ftp-rename-remote-to-remote) + (ange-ftp-rename-local-to-remote) + (ange-ftp-rename-remote-to-local, ange-ftp-load) + (ange-ftp-compress, ange-ftp-uncompress): Remove optional arg from + `delete-file'. + (ange-ftp-delete-directory): Add optional arg to `delete-file', to + allow trashing. + + * net/tramp-compat.el (tramp-compat-delete-file): Rewrite to + handle new TRASH arg of `delete-file'. + + * net/tramp.el (tramp-handle-delete-file): Change FORCE arg to TRASH. + (tramp-handle-make-symbolic-link, tramp-handle-load) + (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-process-file, tramp-handle-call-process-region) + (tramp-handle-shell-command, tramp-handle-file-local-copy) + (tramp-handle-insert-file-contents, tramp-handle-write-region) + (tramp-delete-temp-file-function): Use null TRASH arg in + tramp-compat-delete-file call. + + * net/tramp-fish.el (tramp-fish-handle-delete-directory) + (tramp-fish-handle-delete-file) + (tramp-fish-handle-make-symbolic-link) + (tramp-fish-handle-process-file): Use null TRASH arg in + `tramp-compat-delete-file' call. + + * net/tramp-ftp.el (tramp-ftp-file-name-handler): Use null TRASH + arg in `tramp-compat-delete-file' call. + + * net/tramp-gvfs.el (tramp-gvfs-handle-delete-file): Rename arg. + (tramp-gvfs-handle-write-region): Use null TRASH arg in + `tramp-compat-delete-file' call. + + * net/tramp-imap.el (tramp-imap-handle-delete-file): Rename arg. + (tramp-imap-do-copy-or-rename-file): Use null TRASH arg in + `tramp-compat-delete-file' call. + + * net/tramp-smb.el (tramp-smb-handle-copy-file) + (tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file) + (tramp-smb-handle-write-region): Use null TRASH arg in + tramp-compat-delete-file call. + (tramp-smb-handle-delete-directory): Use tramp-compat-delete-file. + (tramp-smb-handle-delete-file): Rename arg. + + * diff.el (diff-sentinel): + * epg.el (epg--make-temp-file, epg-decrypt-string) + (epg-verify-string, epg-sign-string, epg-encrypt-string): + * jka-compr.el (jka-compr-partial-uncompress) + (jka-compr-call-process, jka-compr-write-region): + * server.el (server-sentinel): Remove optional arg from + delete-file, reverting 2010-05-03 change. + +2010-05-27 Chong Yidong + + * progmodes/verilog-mode.el (verilog-type-font-keywords): + Use font-lock-constant-face, not obsolete font-lock-reference-face. + +2010-05-27 Kenichi Handa + + * language/hebrew.el (hebrew-shape-gstring): Check if a glyph + element of GSTRING is nil. + +2010-05-27 Stefan Monnier + + * emacs-lisp/smie.el (smie-forward-token-function) + (smie-backward-token-function): New vars. + (smie-backward-sexp, smie-forward-sexp) + (smie-indent-hanging-p, smie-indent-calculate): Use them. + (smie-default-backward-token): Rename from smie-backward-token and + skip comments. + (smie-default-forward-token): Rename from smie-forward-token and + skip comments. + (smie-next-sexp): Handle nil results from next-token. + (smie-indent-calculate): Add a new case for special `fixindent' comments. + +2010-05-27 Chong Yidong + + * progmodes/verilog-mode.el (verilog-type-font-keywords): + Use font-lock-constant-face, not obsolete font-lock-reference-face. + +2010-05-27 Masatake YAMATO + + * htmlfontify.el (hfy-face-resolve-face): New function. + (hfy-face-to-style): Use it (Bug#6279). + +2010-05-26 Stefan Monnier + + * progmodes/ada-xref.el (ada-gnat-parse-gpr): + * emulation/edt.el (edt-load-keys): Avoid (expand-file-name "."). + +2010-05-26 Glenn Morris + + * emulation/edt.el (edt-load-keys): Use locate-library. + +2010-05-25 Chong Yidong + + * log-edit.el (log-edit-strip-single-file-name): Default to nil. + (log-edit-changelog-entries): Doc fix. + (log-edit-changelog-insert-entries): Args changed. + Rename relative filenames in ChangeLog entries. Delete tabs. + (log-edit-insert-changelog-entries): Reorganize return value of + `log-edit-changelog-entries' to pass filenames to + log-edit-changelog-insert-entries. + +2010-05-25 Thierry Volpiatto + + * dired.el (dired-mode-map): Rebind "\C-t\C-t" from + `image-dired-dired-insert-marked-thumbs' to + `image-dired-dired-toggle-marked-thumbs'. + + * image-dired.el: Require cl when compiling. + (image-dired-dired-toggle-marked-thumbs): Rename from + `image-dired-dired-insert-marked-thumbs'. Add ARG. Doc fix. + Use interactive spec "P". Set LOCALP arg of `dired-get-filename' + to 'no-dir. Skip files whose names don't match + `image-file-name-regexp'. When file has a thumbnail overlay, + delete it. (Bug#5270) + +2010-05-25 Juri Linkov + + * image-mode.el (image-mode): Add image-after-revert-hook to + after-revert-hook. + (image-after-revert-hook): New function. (Bug#5669) + +2010-05-25 Juri Linkov + + * image.el (image-animated-p): When delay between animated images + is 0, set it to 10 (0.1 sec). (Bug#6258) + +2010-05-25 Christian Lynbech (tiny change) + + * net/tramp.el (tramp-handle-insert-directory): Don't use + `forward-word', its default syntax could be changed. + +2010-05-25 Michael Albinus + + * net/tramp.el (tramp-progress-reporter-update): New defun. + (with-progress-reporter): Use it. + (tramp-process-actions): + * net/tramp-gvfs.el (tramp-gvfs-handler-askquestion): + Preserve current message, in order to let progress reporter continue + afterwards. (Bug#6257) + +2010-05-25 Glenn Morris + + * net/rcirc.el (rcirc-default-user-name, rcirc-default-full-name): + Add :version. + +2010-05-25 Ryan Yeske + + * net/rcirc.el (rcirc-default-user-name): Change to "user". + (rcirc-default-full-name): Change to "unknown". + (rcirc-user-name-history): Add variable. + +2010-05-25 Ryan Yeske + Jonathan Rockway + + * net/rcirc.el (rcirc-server-alist): Add :pass. + (rcirc): When prompting for connection parameters, also prompt for + username and password. + (rcirc-connect): Take a PASS argument. If PASS is non-nil, send + value to server when connecting. + +2010-05-25 Stefan Monnier + + * emacs-lisp/smie.el (smie-set-prec2tab): Check override before use. + (smie-merge-prec2s): Pass the tables as separate args. + (smie-bnf-precedence-table): Adjust call accordingly. + (smie-prec2-levels): Set levels at the end. + + Replace Lisp calls to delete-backward-char by delete-char. + * bs.el, expand.el, ido.el, image-dired.el, lpr.el, pcomplete.el, + * skeleton.el, term.el, time.el, wid-edit.el, woman.el, + * calc/calc-graph.el, calc/calc-help.el, calc/calc-incom.el, + * calc/calc.el, emacs-lisp/cl-extra.el, emacs-lips/cl-loaddefs.el, + * emulation/cua-rect.el, emulation/viper-ex.el, eshell/esh-test.el, + * eshell/eshell.el, gnus/gnus-uu.el, gnus/nndoc.el, gnus/nnrss.el, + * gnus/rfc2047.el, gnus/utf7.el, international/utf-7.el, + * language/ethio-util.el, mh-e/mh-alias.el, mh-e/mh-search.el, + * net/imap.el, net/rcirc.el, obsolete/complete.el, play/decipher.el, + * progmodes/ada-mode.el, progmodes/cc-awk.el, progmodes/dcl-mode.el, + * progmodes/ps-mode.el, progmodes/verilog-mode.el, + * progmodes/vhdl-mode.el, textmodes/bibtex.el, textmodes/fill.el, + * textmodes/reftex-auc.el, textmodes/rst.el, textmodes/sgml-mode.el, + * textmodes/table.el, textmodes/texinfmt.el: Replace Lisp calls to + delete-backward-char by calls to delete-char. + +2010-05-25 Kenichi Handa + + * language/hebrew.el (hebrew-shape-gstring): New function. + Register it in composition-function-table for all Hebrew combining + characters. + +2010-05-25 Stefan Monnier + + * epa.el (epa--select-keys): Don't explicitly delete the window since + that can fail (e.g. sole window in frame). Use dedication instead. + +2010-05-24 Uday S Reddy (tiny change) + + * textmodes/fill.el (fill-region): Don't fill past the end (bug#6201). + +2010-05-22 Chong Yidong + + * image.el (image-refresh): Define as an alias for image-flush. + + * image-mode.el (image-toggle-display-image): Caller changed. + +2010-05-21 Juri Linkov + + * progmodes/grep.el (grep-read-files): Fix multi-pattern aliases. + Remove "all" from grep-files-aliases. Split grep-files-aliases by + whitespace, call wildcard-to-regexp on substrings and concat them + with "\\|". (Bug#6114) + +2010-05-21 Alan Mackenzie + + * progmodes/cc-engine.el (c-parse-state-get-strategy): + Replace parameter `here' with `here-' and `here-plus', which sandwich + any pertinent CPP construct. + (c-remove-stale-state-cache-backwards): Fix a bug which happens + when doing (c-parse-state) in a CPP construct: Exclude any "new" + CPP construct from taking part in the scanning. + +2010-05-21 Michael Albinus + + * net/tramp.el (tramp-do-copy-or-rename-file) + (tramp-handle-file-local-copy, tramp-maybe-open-connection): + Tune `with-progress-reporter' messages. + (tramp-handle-vc-registered): + * net/tramp-fish.el (tramp-fish-handle-file-local-copy) + (tramp-fish-handle-insert-file-contents) + (tramp-fish-maybe-open-connection): + * net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): + * net/tramp-imap.el (tramp-imap-do-copy-or-rename-file) + (tramp-imap-handle-insert-file-contents) + (tramp-imap-handle-file-local-copy): Use `with-progress-reporter'. + +2010-05-21 Juanma Barranquero + + * add-log.el (change-log-font-lock-keywords): + Highlight all authors in multi-author entries. + + * smerge-mode.el (smerge-refine-ignore-whitespace) + (smerge-refine-weight-hack, smerge-refine, smerge-makeup-conflict): + Fix typos in docstrings. + (smerge-resolve, smerge-refine-subst): Reflow docstrings. + +2010-05-21 Glenn Morris + + * progmodes/fortran.el (fortran-mode): + * progmodes/f90.el (f90-mode): Derive from prog-mode. + + * loadup.el [CANNOT_DUMP]: Update for bootstrap-emacs no longer + having a relative path in src/Makefile.in. + +2010-05-20 Kevin Ryde + + * help-mode.el (help-make-xrefs): For Info node links turn + newlines into spaces. Link node names with newlines are matched + by help-xref-info-regexp and buttonized, this change ensures they + can be followed successfully with RET. (Bug#6206) + +2010-05-20 Juri Linkov + + * locate.el (locate): Use pop-to-buffer instead of + switch-to-buffer-other-window. (Bug#6204) + +2010-05-20 Juri Linkov + + * replace.el (replace-highlight): Fix lazy-highlighting + for `M-s w str M-% str RET'. + +2009-12-15 Masatake YAMATO + + * isearch.el (isearch-yank-word-or-char): Pull next subword + when `subword-mode' is activated. (Bug#6220) + +2010-05-20 Mark A. Hershberger + + * isearch.el (isearch-update-post-hook): New hook. + (isearch-update): Use the new hook. (Bug#6225) + +2010-05-20 Juri Linkov + + * isearch.el (isearch-mode-map): Bind more keys to isearch-help-map: + [f1], [help], and (char-to-string help-char) instead of "\C-h". + (Bug#6222) + +2010-05-20 Juri Linkov + + * isearch.el (isearch-yank-string): Use isearch-process-search-string. + (Bug#6223) + +2010-05-20 Juri Linkov + + * dired-x.el (dired-jump, dired-jump-other-window): Add arg + FILE-NAME to read from the minibuffer when called interactively + with prefix argument instead of using buffer-file-name. + http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00534.html + + * dired.el: Update autoloads. + +2010-05-20 Chong Yidong + + * nxml/nxml-mode.el (nxml-mode-map): Bind C-c / to + nxml-finish-element, for consistency with SGML mode. + + * progmodes/octave-mod.el (octave-mode-map): Bind C-c / to + octave-close-block. + +2010-05-20 Juanma Barranquero + + * composite.el: Require cl when compiling. + (reference-point-alist, compose-gstring-for-graphic) + (compose-gstring-for-terminal): Fix typos in docstrings. + +2010-05-19 Juri Linkov + + * emacs-lisp/cl-macs.el (window-parameter): Add defsetf with + set-window-parameter. + +2010-05-19 Michael Albinus + + * net/tramp.el (tramp-methods): Add `tramp-async-args' attribute + where appropriate. + (tramp-maybe-open-connection): Use it. + +2010-05-19 Eli Zaretskii + + * simple.el (move-end-of-line): Make sure we are at line beginning + before backing up to end of previous line. + +2010-05-19 Michael Albinus + + * password-cache.el (password-cache-remove): Fix docstring. + + * net/secrets.el: Autoload the widget functions. + (secrets-search-items, secrets-create-item) + (secrets-get-attributes, secrets-expand-item): Attributes will be + stored on the password database without leading ":", as all other + clients do as well. + (secrets-mode): Fix docstring. + (secrets-show-secrets): Provide it as autoloaded command only when + D-Bus support is available. Check existence of Secret Service API. + +2010-05-19 Stefan Monnier + + * indent.el (indent-region): Deactivate region (bug#6200). + +2010-05-19 Glenn Morris + + * vc-dir.el (vc-dir): Don't pop-up-windows. (Bug#6204) + +2010-05-19 Kenichi Handa + + * composite.el: Register compose-gstring-for-graphic in + composition-function-table only for combining characters (Mn, Mc, Me). + +2010-05-18 Jay Belanger + + * calc/calc-trail.el (calc-trail-isearch-forward) + (calc-trail-isearch-backward): Ensure that the new window + point is set correctly. + +2010-05-18 Stefan Monnier + + * subr.el (read-quoted-char): Resolve modifiers after key + remapping (bug#6212). + +2010-05-18 Michael Albinus + + Add visualization code for secrets. + * net/secrets.el (secrets-mode): New major mode. + (secrets-show-secrets, secrets-show-collections) + (secrets-expand-collection, secrets-expand-item) + (secrets-tree-widget-after-toggle-function) + (secrets-tree-widget-show-password): New defuns. + +2010-05-18 Stefan Monnier + + * emacs-lisp/smie.el (smie-next-sexp): Break inf-loop at BOB. + (smie-backward-sexp, smie-forward-sexp): Remove boundary condition now + handled in smie-next-sexp. + (smie-indent-calculate): Provide a starting indentation (so the + recursion is well-founded ;-). + + Fix handling of non-associative equal levels. + * emacs-lisp/smie.el (smie-prec2-levels): Choose distinct levels even + when it's not needed. + (smie-op-left, smie-op-right): New functions. + (smie-next-sexp): New function, extracted from smie-backward-sexp. + Better handle equal levels to distinguish the associative case from + the "multi-keyword construct" case. + (smie-backward-sexp, smie-forward-sexp): Use it. + +2010-05-18 Juanma Barranquero + + * progmodes/prolog.el (smie-indent-basic): Declare for byte-compiler. + + * emacs-lisp/smie.el (smie-precs-precedence-table, smie-backward-sexp) + (smie-forward-sexp, smie-indent-calculate): Fix typos in docstrings. + +2010-05-17 Stefan Monnier + + Provide a simple generic indentation engine and use it for Prolog. + * emacs-lisp/smie.el: New file. + * progmodes/prolog.el (prolog-smie-op-levels) + (prolog-smie-indent-rules): New var. + (prolog-mode-variables): Use them to configure SMIE. + (prolog-indent-line, prolog-indent-level): Remove. + +2010-05-17 Jay Belanger + + * calc/calc-vec.el (math-vector-avg): Put the vector elements in + order before computing the averages. + +2010-05-16 Jay Belanger + + * calc/calc-vec.el (calc-histogram): + (calcFunc-histogram): Allow vectors as inputs. + (math-vector-avg): New function. + + * calc/calc-ext.el (math-group-float): Have the number of digits + being grouped depend on the radix (Bug#6189). + +2010-05-15 Ken Raeburn + + * version.el (emacs-copyright, emacs-version): Don't define here, + now that emacs.c defines it. + +2010-05-15 Eli Zaretskii + + * international/mule-cmds.el (mule-menu-keymap): Fix definition of + "Describe Language Environment" menu item. + + * language/hebrew.el ("Hebrew", "Windows-1255"): Doc fix. + + Bidi-sensitive movement with arrow keys. + * subr.el (right-arrow-command, left-arrow-command): New functions. + + * bindings.el (global-map): Bind them to right and left arrow keys. + + Don't override standard definition of convert-standard-filename. + * files.el (convert-standard-filename): + Call w32-convert-standard-filename and dos-convert-standard-filename on + the corresponding systems. + + * w32-fns.el (w32-convert-standard-filename): Rename from + convert-standard-filename. Doc fix. + + * dos-fns.el (dos-convert-standard-filename): Doc fix. + (convert-standard-filename): Don't defalias. + (register-name-alist, make-register, register-value) + (set-register-value, intdos): Obsolete aliases for the + corresponding dos-* functions and variables. + (dos-intdos): Add a doc string. + +2010-05-15 Jay Belanger + + * calc/calc-aent.el (math-read-token, math-find-user-tokens): + * calc/calc-lang.el (math-read-big-rec, math-lang-read-symbol): + (math-compose-tex-func): + * calc/calccomp.el (math-compose-expr): + * calc/calc-ext.el (math-format-flat-expr-fancy): + * calc/calc-store.el (calc-read-var-name): + * calc/calc-units.el (calc-explain-units-rec): Allow Greek letters. + + * calc/calc.el (var-π, var-φ, var-γ): New variables. + * calc/calc-aent.el (math-read-replacement-list): Add "micro" symbol. + * calc/calc-units.el (math-unit-prefixes): Add mu for micro. + (math-standard-units): Add units. + +2010-05-15 Stefan Monnier + + * progmodes/asm-mode.el (asm-mode): + * progmodes/prolog.el (prolog-mode): Use define-derived-mode. + + * pcomplete.el (pcomplete-completions-at-point): New function, + extracted from pcomplete-std-complete. + (pcomplete-std-complete): Use it. + +2010-05-15 Glenn Morris + + * Makefile.in (setwins, setwins_almost, setwins_for_subdirs): + Remove references to CVS, RCS and Old directories. + +2010-05-14 Jay Belanger + + * calc/calc-bin.el (math-format-twos-complement): Group digits when + appropriate. + +2010-05-14 Stefan Monnier + + * progmodes/sh-script.el (sh-mode-default-syntax-table): Remove. + (sh-mode-syntax-table): Give it a default value instead. + (sh-header-marker): Make buffer-local. + (sh-mode): Move make-local-variable to the corresponding setq. + (sh-add-completer): Avoid gratuitously let-binding a buffer-local var. + Use complete-with-action. + + * simple.el (prog-mode): New (abstract) major mode. + * emacs-lisp/lisp-mode.el (emacs-lisp-mode, lisp-mode): Use it. + * progmodes/sh-script.el (sh-mode): Remove redundant var assignment. + +2010-05-14 Juanma Barranquero + + * progmodes/sql.el (sql-oracle-program): Reflow docstring. + (sql-oracle-scan-on, sql-sybase-program, sql-product-font-lock) + (sql-add-product-keywords, sql-highlight-product, sql-set-product) + (sql-make-alternate-buffer-name, sql-placeholders-filter) + (sql-escape-newlines-filter, sql-input-sender) + (sql-send-magic-terminator, sql-sybase): Fix typos in docstrings. + +2010-05-13 Chong Yidong + + Add TeX open-block and close-block keybindings to SGML, and vice versa. + + * textmodes/tex-mode.el (tex-mode-map): Bind C-c C-t to + latex-open-block and C-c / to latex-close-block. + + * textmodes/sgml-mode.el (sgml-mode-map): Bind C-c C-o to sgml-tag + and C-c C-e to sgml-close-tag. + +2010-05-13 Michael Albinus + + * net/tramp.el (with-progress-reporter): Create reporter object + only when the message would be displayed. Handle nested calls. + (tramp-handle-load, tramp-handle-file-local-copy) + (tramp-handle-insert-file-contents, tramp-handle-write-region) + (tramp-maybe-send-script, tramp-find-shell): + Use `with-progress-reporter'. + (tramp-handle-dired-compress-file, tramp-maybe-open-connection): + Fix message text. + + * net/tramp-smb.el (tramp-smb-handle-copy-file) + (tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file) + (tramp-smb-handle-write-region, tramp-smb-maybe-open-connection): + Use `with-progress-reporter'. + +2010-05-13 Agustín Martín + + * textmodes/ispell.el (ispell-init-process): Do not kill ispell + process everytime when spellchecking from the minibuffer (bug#6143). + +2010-05-13 Stefan Monnier + + * progmodes/sh-script.el (sh-mode): Use define-derived-mode. + + * dos-fns.el: Add "dos-" prefix for namespace control. + (convert-standard-filename): Define as alias for + dos-convert-standard-filename but only if applicable. + +2010-05-12 Alan Mackenzie + + * progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun): + Push the mark at the start of these functions when appropriate. + +2010-05-12 Stefan Monnier + + * minibuffer.el (completion-cycle-threshold): New custom var. + (completion--do-completion): Use it. + (minibuffer-complete): Use cycling if appropriate. + +2010-05-11 Juanma Barranquero + + * dirtrack.el (dirtrackp): Remove defcustom; don't make automatically + buffer-local (it's an obsolete alias for `dirtrack-mode') (bug#6173). + +2010-05-11 Juri Linkov + + * scroll-all.el (scroll-all-check-to-scroll): + Add `scroll-up-command' and `scroll-down-command' (bug#6164). + +2010-05-11 Stefan Monnier + + * iimage.el (iimage-mode-map): Move initialization into declaration. + (iimage-mode-buffer): Use with-silent-modifications. + Simplify calling convention. Adjust callers. + (iimage-mode): Don't run hook redundantly. + + * minibuffer.el (completion-pcm--pattern->regex): + Fix last change (bug#6160). + +2010-05-10 Juri Linkov + + Remove nodes visited during Isearch from the Info history. + * info.el (Info-isearch-initial-history) + (Info-isearch-initial-history-list): New variables. + (Info-isearch-start): Record initial values of + Info-isearch-initial-history and Info-isearch-initial-history-list. + Add Info-isearch-end to isearch-mode-end-hook. + (Info-isearch-end): New function. + +2010-05-10 Michael Albinus + + * net/tramp.el (tramp-do-file-attributes-with-stat): Add space in + format string, in order to work around a bug in pdksh. + Reported by Gilles Pion . + (tramp-handle-verify-visited-file-modtime): Do not send a command + when the connection is not established. + (tramp-handle-set-file-times): Simplify the check for utc. + +2010-05-10 Juanma Barranquero + + Fix use of `filter-buffer-substring' (rework previous change). + * emulation/cua-base.el (cua--filter-buffer-noprops): New function. + (cua-repeat-replace-region): + * emulation/cua-rect.el (cua--extract-rectangle, cua-incr-rectangle): + * emulation/cua-gmrk.el (cua-copy-region-to-global-mark) + (cua-cut-region-to-global-mark): Use it. + +2010-05-09 Michael R. Mauger + + * progmodes/sql.el: Version 2.1. + (sql-product-alist): Redesign structure of product info. + (sql-product, sql-user, sql-server, sql-database): Safe variables. + (sql-port, sql-port-history): New variables. + (sql-interactive-product): New variable. + (sql-send-terminator): New variable. + (sql-imenu-generic-expression): Add "Types" imenu entry. + (sql-oracle-login-params, sql-sqlite-login-params) + (sql-mysql-login-params, sql-solid-login-params) + (sql-sybase-login-params, sql-informix-login-params) + (sql-ingres-login-params, sql-ms-login-params) + (sql-postgres-login-params, sql-interbase-login-params) + (sql-db2-login-params, sql-linter-login-params) + (sql-oracle-scan-on): New variables. + (sql-mode-map): Add C-c C-i to start interactive mode. + (sql-mode-menu): Update existing menu entries. + (sql-font-lock-keywords-builder): Compile-time font-lock optimization. + (sql-mode-oracle-font-lock-keywords) + (sql-mode-postgres-font-lock-keywords) + (sql-mode-ms-font-lock-keywords) + (sql-mode-sybase-font-lock-keywords) + (sql-mode-informix-font-lock-keywords) + (sql-mode-interbase-font-lock-keywords) + (sql-mode-ingres-font-lock-keywords) + (sql-mode-solid-font-lock-keywords) + (sql-mode-mysql-font-lock-keywords) + (sql-mode-sqlite-font-lock-keywords) + (sql-mode-db2-font-lock-keywords) + (sql-mode-linter-font-lock-keywords): Update initialization to + reduce run-time complexity. + (sql-add-product, sql-del-product): New functions. + (sql-set-product-feature, sql-get-product-feature): New functions. + (sql-product-font-lock): Update product API. + (sql-add-product-keywords): New function. + (sql-highlight-product): Update product API. + (sql-help-list-products): New function. + (sql-help): Dynamically lists free and non-free products. + (sql-get-login): Correct bug in handling history and added + prompt for port. + (sql-copy-column): Copy without properties. + (sqli-input-sender): Apply filters to SQLi input. + (sql-query-placeholders-and-send): Obey `sql-oracle-scan-on' setting. + Implement as a filter. + (sql-escape-newlines-filter): Implement as a filter. + (sql-remove-tabs-filter): New function. + (sql-send-magic-terminator): New function. + (sql-send-string): Implement magic terminator. + (sql-send-region): Use `sql-send-string'. + (sql-interactive-mode): Use product API. + (sql-product-interactive): Use product API. + (sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql) + (sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase) + (sql-db2, sql-linter): Use `sql-product-interactive'. + (sql-connect): New function. + (sql-connect-oracle, sql-connect-sybase, sql-connect-informix) + (sql-connect-sqlite, sql-connect-mysql, sql-connect-solid) + (sql-connect-ingres, sql-connect-ms, sql-connect-postgres) + (sql-connect-interbase, sql-connect-db2, sql-connect-linter): + Use `sql-connect'. + +2010-05-09 Stefan Monnier + + * minibuffer.el (completion-pcm-complete-word-inserts-delimiters): + New custom variable. + (completion-pcm--string->pattern): Use it. + (completion-pcm--pattern->regex, completion-pcm--pattern->string): + Make it handle any symbol as `any'. + (completion-pcm--merge-completions): Extract common suffix for the new + `prefix' symbol as well. + (completion-substring--all-completions): Use the new `prefix' symbol. + +2010-05-09 Michael Albinus + + * net/tramp-compat.el (byte-compile-not-obsolete-vars): Define if + not bound. + (tramp-compat-copy-file): Add PRESERVE-SELINUX-CONTEXT. + (tramp-compat-funcall): New defmacro. + (tramp-compat-line-beginning-position) + (tramp-compat-line-end-position) + (tramp-compat-temporary-file-directory) + (tramp-compat-make-temp-file, tramp-compat-file-attributes) + (tramp-compat-copy-file, tramp-compat-copy-directory) + (tramp-compat-delete-file, tramp-compat-delete-directory) + (tramp-compat-number-sequence, tramp-compat-process-running-p) + * net/tramp.el (top, with-progress-reporter) + (tramp-rfn-eshadow-setup-minibuffer) + (tramp-rfn-eshadow-update-overlay, tramp-handle-set-file-times) + (tramp-handle-dired-compress-file, tramp-handle-shell-command) + (tramp-completion-mode-p, tramp-check-for-regexp) + (tramp-open-connection-setup-interactive-shell) + (tramp-compute-multi-hops, tramp-read-passwd, tramp-clear-passwd) + (tramp-time-diff, tramp-coding-system-change-eol-conversion) + (tramp-set-process-query-on-exit-flag, tramp-unload-tramp) + * net/tramp-cmds.el (tramp-cleanup-all-connections) + (tramp-reporter-dump-variable, tramp-load-report-modules) + (tramp-append-tramp-buffers) + * net/tramp-gvfs.el (tramp-gvfs-handle-file-selinux-context): Use it. + + * net/tramp-imap.el (top): Autoload `epg-make-context'. + +2010-05-08 Stefan Monnier + + * progmodes/compile.el (compilation-buffer-modtime): Rename from + buffer-modtime. Adjust users. + +2010-05-08 Chong Yidong + + * international/mule.el (auto-coding-alist): Only purecopy + car of each item, not the whole list (Bug#6083). + +2010-05-08 Chong Yidong + + * progmodes/js.el (js-mode): Make paragraph variables local before + calling c-setup-paragraph-variables (Bug#6071). + +2010-05-08 Eli Zaretskii + + * composite.el (compose-region, reference-point-alist): Fix typos + in the doc strings. + +2010-05-08 Alexander Klimov (tiny change) + + * calc/calc-graph.el (calc-graph-plot): Use the proper form for + gnuplot's "set" command. + +2010-05-08 Juanma Barranquero + + * abbrev.el (last-abbrev-text): Doc fix. + (abbrev-prefix-mark): Don't escape parenthesis. + +2010-05-08 Andreas Schwab + + * composite.el (find-composition): Doc fix. + +2010-05-08 Juanma Barranquero + + * progmodes/sql.el (sql-electric-stuff): Fix typo in tag. + (sql-oracle-program, sql-sqlite-options) + (sql-query-placeholders-and-send): Doc fixes. + (sql-set-product, sql-interactive-mode): Reflow docstrings. + (sql-imenu-generic-expression, sql-buffer) + (sql-mode-ansi-font-lock-keywords, sql-mode-oracle-font-lock-keywords) + (sql-mode-postgres-font-lock-keywords, sql-mode-ms-font-lock-keywords) + (sql-mode-sybase-font-lock-keywords) + (sql-mode-informix-font-lock-keywords) + (sql-mode-interbase-font-lock-keywords) + (sql-mode-ingres-font-lock-keywords, sql-mode-solid-font-lock-keywords) + (sql-mode-mysql-font-lock-keywords, sql-mode-sqlite-font-lock-keywords) + (sql-mode-db2-font-lock-keywords, sql-mode-font-lock-keywords) + (sql-product-feature, sql-highlight-product) + (comint-line-beginning-position, sql-rename-buffer) + (sql-toggle-pop-to-buffer-after-send-region sql-oracle) + (sql-sybase, sql-informix, sql-sqlite, sql-mysql, sql-solid) + (sql-ingres, sql-ms, sql-postgres, sql-interbase, sql-db2, sql-linter): + Fix typos in docstrings. + +2010-05-08 Juri Linkov + + * info.el (Info-fontify-node): Put Info-breadcrumbs to the `display' + property instead of `invisible' and `after-string' (bug#5998). + +2010-05-08 Juri Linkov + + * image-mode.el (image-mode-as-text): Fix typo in docstring. + +2010-05-08 Juanma Barranquero + + * filecache.el (file-cache-add-directory-list) + (file-cache-add-directory-recursively): Fix typos in docstrings. + +2010-05-08 Kenichi Handa + + * language/indian.el (gurmukhi-composable-pattern): Fix typo. + (gujarati-composable-pattern): Fix typo. + +2010-05-08 Kenichi Handa + + * language/indian.el (oriya-composable-pattern) + (tamil-composable-pattern, malayalam-composable-pattern): + Add two-part vowels to "v" (vowel sign). + +2010-05-08 Chong Yidong + + * files.el (copy-directory): Handle symlinks (Bug#5982). + +2010-05-08 Dan Nicolaescu + + * vc-hg.el (vc-hg-state): Use HGRCPATH, not HGRC. + (vc-hg-working-revision): Likewise. Use hg parents, not hg parent + (Bug#5846). + +2010-05-08 Glenn Morris + + * emacs-lisp/lisp.el (lisp-completion-at-point): Give it a doc string. + + * minibuffer.el (completion-at-point): Doc fix. + +2010-05-08 Stefan Monnier + + * electric.el (Electric-command-loop): Minor tweak. + + * ebuff-menu.el (electric-buffer-list): Try and make it behave a bit + better with dedicated windows. + +2010-05-07 Chong Yidong + + * Version 23.2 released. + +2010-05-07 Deniz Dogan (tiny change) + Stefan Monnier + + Highlight vendor specific properties. + * textmodes/css-mode.el (css-proprietary-nmstart-re): New var. + (css-proprietary-property): New face. + (css-font-lock-keywords): Use them. + +2010-05-07 Eli Zaretskii -2010-08-26 Magnus Henoch + * cus-start.el (all): Add native condition for tool-bar-* symbols. - * net/tramp-gvfs.el (tramp-gvfs-handle-copy-file): Do not pass - empty argument to gvfs-copy. +2010-05-07 Stefan Monnier -2010-08-26 Chong Yidong + * textmodes/dns-mode.el (auto-mode-alist): Add entry for .zone files. + * files.el (auto-mode-alist): Remove redundant entries. - * net/tramp-compat.el (tramp-compat-delete-file): Rewrite to - handle new TRASH arg of `delete-file'. + * files.el (auto-save-mode): Move to simple.el to fix bootstrap. + * simple.el (auto-save-mode): Move from files.el. + * minibuffer.el (completion--common-suffix): Fix copy&paste error. -2010-08-26 Christian Lynbech (tiny change) +2010-05-07 Christian von Roques (tiny change) - * net/tramp.el (tramp-handle-insert-directory): Don't use - `forward-word', its default syntax could be changed. + * epg.el (epg-key-capablity-alist): Add "D" flag (Bug#5592). -2010-08-26 Toru TSUNEYOSHI +2010-05-07 Katsumi Yamaoka + + * mail/binhex.el (binhex-decode-region-internal) + * mail/uudecode.el (uudecode-decode-region-internal) + * net/dns.el (dns-read-string-name, dns-write, dns-read) + (dns-read-type, dns-query) + * pgg-parse.el (pgg-parse-armor) + * pgg.el (pgg-verify-region) + * sha1.el (sha1-string-external): Don't run set-buffer-multibyte for + XEmacs. + + * net/imap.el (imap-disable-multibyte): Redefine it as a macro. + +2010-05-07 Juanma Barranquero + + * progmodes/cperl-mode.el (cperl-mode-unload-function): New function. + + Fix use of `filter-buffer-substring' (4th arg NOPROPS removed). + * emulation/cua-base.el (cua-repeat-replace-region): + * emulation/cua-gmrk.el (cua-copy-region-to-global-mark) + (cua-cut-region-to-global-mark): + Remove text properties with `set-text-properties'. + +2010-05-06 Michael Albinus + + * net/tramp.el (top, with-progress-reporter): + Use `symbol-function' inside `funcall'. + + * net/tramp-compat.el (tramp-compat-file-attributes) + (tramp-compat-delete-file, tramp-compat-delete-directory): + Handle only `wrong-number-of-arguments' error. + + * net/tramp-gvfs.el (tramp-gvfs-handle-copy-file): Fix typo. + (tramp-gvfs-handle-file-selinux-context): Use `symbol-function' + inside `funcall'. + +2010-05-06 Stefan Monnier + + * minibuffer.el (completion--sreverse, completion--common-suffix): + New functions. + (completion-pcm--merge-completions): Extract common suffix when safe. + + * emacs-lisp/easy-mmode.el (define-minor-mode): + Make :variable more flexible. + * files.el (auto-save-mode): Use it to define using define-minor-mode. + +2010-05-05 Juri Linkov + + Add `slow' and `history' tags to the desktop data. + + * info.el (Info-virtual-nodes) [*Index*]: Add `slow' tag. + (Info-virtual-files) [*Apropos*]: Add `slow' tag. + (Info-finder-find-node): Require `finder.el' to be able + to restore node from the desktop. + (Info-desktop-buffer-misc-data): Save all nodes. Save additional + data `Info-history' and `slow' tag in the assoc list. + (Info-restore-desktop-buffer): Don't restore nodes with the + `slow' tag. Restore `Info-history'. + +2010-05-05 Michael Albinus + + Add FORCE argument to `delete-file'. + + * net/ange-ftp.el (ange-ftp-del-tmp-name): Make it a defun, + forcing to delete the temporary file. + (ange-ftp-delete-file): Add FORCE arg. + (ange-ftp-rename-remote-to-remote) + (ange-ftp-rename-local-to-remote, ange-ftp-rename-remote-to-local) + (ange-ftp-load, ange-ftp-compress, ange-ftp-uncompress): + Force file deletion. + + * net/tramp-compat.el (tramp-compat-delete-file): New defun. + + * net/tramp.el (tramp-handle-delete-file): Add FORCE arg. + (tramp-handle-make-symbolic-link, tramp-handle-load) + (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-process-file, tramp-handle-call-process-region) + (tramp-handle-shell-command, tramp-handle-file-local-copy) + (tramp-handle-insert-file-contents, tramp-handle-write-region) + (tramp-delete-temp-file-function): Use `tramp-compat-delete-file'. + + * net/tramp-fish.el (tramp-fish-handle-delete-file): Add FORCE arg. + (tramp-fish-handle-make-symbolic-link) + (tramp-fish-handle-process-file): Use `tramp-compat-delete-file'. + + * net/tramp-ftp.el (tramp-ftp-file-name-handler): + Use `tramp-compat-delete-file'. + + * net/tramp-gvfs.el (tramp-gvfs-handle-delete-file): Add FORCE arg. + (tramp-gvfs-handle-write-region): Use `tramp-compat-delete-file'. + + * net/tramp-imap.el (tramp-imap-handle-delete-file): Add FORCE arg. + (tramp-imap-do-copy-or-rename-file): Use `tramp-compat-delete-file'. + + * net/tramp-smb.el (tramp-smb-handle-delete-file): Add FORCE arg. + (tramp-smb-handle-copy-file, tramp-smb-handle-file-local-copy) + (tramp-smb-handle-rename-file, tramp-smb-handle-write-region): + Use `tramp-compat-delete-file'. + +2010-05-05 Stefan Monnier + + Minor cleanups. + * subr.el (add-minor-mode): Use push. + * mail/supercite.el (sc-electric-mode): Use more descriptive arg name. + * emulation/edt.el (edt-select-mode): Simplify. + + Use define-minor-mode in more cases. + * term/tvi970.el (tvi970-set-keypad-mode): + * simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode) + (normal-erase-is-backspace-mode): + * scroll-bar.el (scroll-bar-mode): Use it and define-minor-mode. + (set-scroll-bar-mode-1): (Re)move to its sole caller. + (get-scroll-bar-mode): New function. + * emacs-lisp/cl-macs.el (eq): Handle a non-variable first arg. + + Use define-minor-mode for less obvious cases. + * emacs-lisp/easy-mmode.el (define-minor-mode): Add :variable keyword. + * emacs-lisp/cl-macs.el (terminal-parameter, eq): Add setf method. + * international/iso-ascii.el (iso-ascii-mode): + * frame.el (auto-raise-mode, auto-lower-mode): + * composite.el (global-auto-composition-mode): Use define-minor-mode. + +2010-05-04 Michael Albinus + + * net/tramp.el (tramp-methods): Remove "-q" from `tramp-login-args' + in order to see error messages for failed logins. + +2010-05-03 Chong Yidong + + * diff.el (diff-sentinel): + + * epg.el (epg--make-temp-file, epg-decrypt-string) + (epg-verify-string, epg-sign-string, epg-encrypt-string): + + * jka-compr.el (jka-compr-partial-uncompress) + (jka-compr-call-process, jka-compr-write-region, jka-compr-load): + + * server.el (server-sentinel): Use delete-file's new FORCE arg + (Bug#6070). + +2010-05-03 Stefan Monnier + + Use define-minor-mode where applicable. + * view.el (view-mode): + * type-break.el (type-break-query-mode) + (type-break-mode-line-message-mode): + * textmodes/reftex.el (reftex-mode): + * term/vt100.el (vt100-wide-mode): + * tar-mode.el (tar-subfile-mode): + * savehist.el (savehist-mode): + * ibuf-ext.el (ibuffer-auto-mode): + * composite.el (auto-composition-mode): + * progmodes/vhdl-mode.el (vhdl-electric-mode, vhdl-stutter-mode): + Use define-minor-mode. + (vhdl-mode): Use static mode-line format. + (vhdl-mode-line-update): Delete. + (vhdl-create-mode-menu, vhdl-activate-customizations) + (vhdl-hs-minor-mode): Don't bother calling it. + +2010-05-02 Stefan Monnier + + * simple.el (with-wrapper-hook): Move. + (buffer-substring-filters): Mark obsolete. + (filter-buffer-substring-functions): New variable. + (filter-buffer-substring): Use it. Remove unused arg `noprops'. + +2010-05-01 Toru TSUNEYOSHI Michael Albinus Implement compression for inline methods. diff --cc lisp/gnus/ChangeLog index 3ae3c5bc740,7350cf97f50..651cfef7f00 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@@ -1,2212 -1,9 +1,2217 @@@ -2010-11-19 Yuri Karaban (tiny change) ++2010-11-27 Yuri Karaban (tiny change) + + * pop3.el (pop3-open-server): Read server greeting before starting TLS + negotiation. + -2010-10-12 Juanma Barranquero +2010-11-26 Julien Danjou + + * color.el: Rename various rgb functions to srgb. + +2010-11-26 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-get-groups): Allow non-quoted strings as mailbox + names. + +2010-11-26 Katsumi Yamaoka + + * shr.el (shr-insert): Revert last change. + (shr-find-fill-point): Never leave point being at bol; + relax the kinsoku limitation when rendering tables. + +2010-11-26 Lars Magne Ingebrigtsen + + * nnmail.el (nnmail-expiry-target-group): Protect against degenerate + results from -accept-article. + + * shr-color.el: Require cl when compiling. + + * nnheader.el (nnheader-update-marks-actions): Fix typo in last + checkin. + + * gnus-art.el (gnus-url-mailto): Unfold URLs before using them. + + * nnimap.el (nnimap-request-set-mark): Add is "+", not "-". + + * gnus-sum.el (gnus-summary-push-marks-to-backend): Use 'set instead of + 'add and 'delete to set backend marks. + + * nnmaildir.el (nnmaildir-request-set-mark): Be explicit about 'set. + + * nnheader.el (nnheader-update-marks-actions): Refactor out. + + * nntp.el (nntp-request-set-mark): Use it. + + * nnfolder.el (nnfolder-request-set-mark): Ditto. + + * nnml.el (nnml-request-set-mark): Ditto. + + * nnimap.el (nnimap-last-response-string): Remove the unfolding -- it + introduces regressions in article selection. + (nnimap-find-uid-response): New function. + (nnimap-request-accept-article): Use the UID returned, if any. + (nnimap-request-move-article): Use the UID returned, if any. + (nnimap-get-groups): Reimplement to work with folded lines. + (nnimap-find-uid-response): The UID is the last element in the list. + (nnimap-request-set-mark): Extend syntax with 'set. + + * nnml.el (nnml-request-set-mark): Ditto. + + * nnfolder.el (nnfolder-request-set-mark): Ditto. + + * nntp.el (nntp-request-set-mark): Ditto. + +2010-11-25 Katsumi Yamaoka + + * message.el (message-called-interactively-p): A temporary macro. + (message-goto-body): Use it temporarily. + +2010-11-25 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-unfold-quoted-lines): Refactor out. + (nnimap-last-response-string): Unfold quoted lines, if they exist. + (nnimap-last-response-string): Fix last unfolding fix. + +2010-11-25 Katsumi Yamaoka + + * shr.el (shr-insert): Fix the way to fold lines. + +2010-11-25 Julien Danjou + + * shr-color.el (shr-color->hexadecimal): Use color-rgb->hex + + * color.el: Rename from color-lab.el + (color-rgb->hex): Add. + (color-complement): Add. + (color-complement-hex): Add. + + * gnus-sum.el (gnus-summary-widget-forward): Add, and bind to [tab]. + +2010-11-25 Lars Magne Ingebrigtsen + + * shr-color.el (shr-color-visible): Don't bug out if the colour names + don't exist. + +2010-11-25 Katsumi Yamaoka + + * mml.el (mml-preview): Make sure to bind gnus-displaying-mime to nil, + assuming that article displaying or another mml-preview may be + interrupted for an error or for the like. + + * shr.el (shr-get-background): Fix argument name. + +2010-11-24 Lars Magne Ingebrigtsen + + * gnus-cache.el (gnus-summary-insert-cached-articles): Use it. + + * gnus-sum.el (gnus-summary-include-articles): New function. + + * message.el (message-goto-body): called-interactively-p needs a + parameter, so use `any'. + + * nnimap.el (nnimap-request-move-article): It's no longer necessary to + clear marks before moving, since they're synced from the Gnus side + first. + + * gnus-sum.el (gnus-summary-push-marks-to-backend): New function. + (gnus-summary-move-article): Copy over all marks before moving, so that + IMAP doesn't think a new article has arrived. + +2010-11-24 Julien Danjou + + * shr.el (shr-insert-background-overlay): Fix typo. + (shr-render-td): Copy the background before rendering. + + * shr-color.el (shr-color-visible): Fix docstring. + + * shr.el (shr-tag-table): Add bgcolor support. + (shr-render-td): Add bgcolor support. + (shr-get-background): Add. + (shr-insert-foreground-overlay): Use shr-get-background. + + * message.el (message-goto-body): Use called-interactively-p. + (message-in-body-p): message-goto-body returns point. + +2010-11-24 Lars Magne Ingebrigtsen + + * mm-util.el (mm-enable-multibyte): Use `to' instead of t. This fixes + Fixes something or other in Emacs 23, and is backwards compatible. + + * message.el (message-goto-body): Remove the <#secure special-casing, + which is too special. + + * shr.el (shr-parse-style): Drop !important from styles. + +2010-11-24 Daniel Schoepe (tiny change) + + * gnus-sum.el (gnus-summary-articles-in-thread): Fix a bug that causes + this function to return incorrect results when calling it with an + explicit article argument different from + (gnus-summary-article-number). + +2010-11-24 Julien Danjou + + * shr.el (shr-insert-color-overlay): Replace deprecated syntax. + (shr-tag-body): Add background support. + (shr-descend): Add background support. + (shr-tag-title): Add. + + * shr-color.el (shr-color-visible): Really return original background + if fixed. + +2010-11-24 Lars Magne Ingebrigtsen + + * shr.el (shr-color-check): Protect against non-existant colour names. + +2010-11-24 Julien Danjou + + * color-lab.el: Require 'cl when compiling. + + * shr.el (shr-insert-color-overlay): Remove specific rgb() check. + + * shr-color.el (shr-color->hexadecimal): Only return the hexadecimal + matched part. + + * color-lab.el: Fix all expt calls to use float type. + +2010-11-24 Katsumi Yamaoka + + * shr.el (shr-insert-color-overlay): Pass rgb(rrr, ggg, bbb) type color + expression to shr-color-check as is. + + * shr-color.el (shr-color->hexadecimal): Ignore case of color names. + + * color-lab.el: Add coding cookie. + (float-pi): Use eval-and-compile. + +2010-11-23 Lars Magne Ingebrigtsen + + * shr.el (shr-insert-color-overlay): Split stuff like + "#444444 !important" to find the real colour. + (shr-tag-font): Resurrect shr-tag-font again, since it's needed to + parse entries. + +2010-11-23 Andrew Cohen + + * nnheader.el (nnheader-parse-head): Bug fix. Properly position + point when parsing headers. + + * nnspool.el (nnspool-insert-nov-head): Bug fix. Make sure point + is positioned properly when parsing headers. + +2010-11-23 Julien Danjou + + * color-lab.el (boundp): Bind float-pi for Emacs < 23.3. + + * shr-color.el (shr-color->hexadecimal): Add support for color names. + + * shr.el (shr-parse-style): Replace \n with space in style parsing. + + * shr-color.el (shr-color-hsl-to-rgb-fractions): Use + shr-color-hue-to-rgb. + (shr-color->hexadecimal): Call shr-color-hsl-to-rgb-fractions. + +2010-11-23 Lars Magne Ingebrigtsen + + * shr.el (shr-color->hexadecimal): Autoload. + (shr-descend): Add color to all tags. + +2010-11-22 Julien Danjou + + * shr.el (shr-tag-color-check): Convert colors to hexadecimal with + shr-color->hexadecimal. + + * shr-color.el (shr-color->hexadecimal): Add converting functions for + RGB() or HSL() color representation. + + * shr.el (shr-tag-font): Add. + (shr-tag-color-check): New function to get better colors. + (shr-tag-insert-color-overlay): Factorize code between tag-font and + tag-span. + + * shr-color.el: New file. + + * color-lab.el: New file. + + * gnus-art.el (gnus-url-mailto): Do not downcase args. + +2010-11-21 Andrew Cohen + + * nnir.el: Fix typo in comments. + (nnir-run-imap): Simplify code. No need to reverse artlist. + (nnir-run-gmane): Use nnir-tmp-buffer for web results. + +2010-11-21 Lars Magne Ingebrigtsen + + * gnus-srvr.el (gnus-server-show-server): New command and keystroke. + + * nnimap.el (nnimap-get-capabilities): Refactor out. + (nnimap-open-connection): Re-request capabilities after STARTTLS. + +2010-11-21 Ralf Angeli + + * mm-uu.el (mm-uu-type-alist): Prevent spurious empty line from + appearing when `mm-uu-hide-markers' is nil. + +2010-11-21 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-unselect-group): Make into its own function. + (nnimap-request-rename-group): Unselect group before renaming. + This had gotten lost somewhere. + (nnimap-request-accept-article): Keep track of examined groups, and + unselect the group before APPENDing to read-only groups. + (nnimap-request-move-article): Clear flags before moving so that they + can be re-set later. + +2010-11-20 Katsumi Yamaoka + + * gnus-gravatar.el (gnus-gravatar-transform-address): Decode name again. + (gnus-gravatar-insert): Put avatar always in the beginning of the field. + +2010-11-19 Katsumi Yamaoka + + * gnus-art.el (gnus-mime-display-single) + * gnus-html.el (gnus-html-wash-images, gnus-html-prefetch-images) + * mm-decode.el (mm-shr): Assume that gnus-inhibit-images may be a group + parameter. + +2010-11-18 Lars Magne Ingebrigtsen + + * shr.el (shr-table-horizontal-line): Rename from shr-table-line. + (shr-table-vertical-line): New variable. + (shr-insert-table): Use it. + +2010-11-18 Katsumi Yamaoka + + * gnus-html.el (gnus-html-wash-images): Don't display images if + gnus-inhibit-images is non-nil; register displayer for cid images. + (gnus-html-display-image): Work for cid image. + (gnus-html-insert-image): Allow arguments. + (gnus-html-put-image): Inhibit read-only. + (gnus-html-prefetch-images): Don't prefetch images if + gnus-inhibit-images is non-nil. + +2010-11-17 Lars Magne Ingebrigtsen + + * shr.el (shr-put-image): Break lines when inserting big pictures. + +2010-11-17 Daniel Dehennin + + * mml2015.el (mml2015-epg-encrypt): Fix two cons with missing + sender, thanks Katsumi Yamaoka. + +2010-11-17 Andrew Cohen + + * nnir.el (nnir-run-imap): Reverse the article list for each group + rather than the whole list. + +2010-11-17 Katsumi Yamaoka + + * shr.el (shr-image-displayer): Protect function against non-existent + image source. + + * gnus-art.el (gnus-inhibit-images): New user option. + (gnus-mime-display-single): Don't display image if it is non-nil. + + * mm-decode.el (mm-shr): Bind shr-inhibit-images to the value of + gnus-inhibit-images. + + * shr.el (shr-image-displayer): New function. + (shr-tag-img): Use it. + +2010-11-16 Daniel Dehennin + + * mml2015.el (mml2015-epg-sign): Use From header. + +2010-11-15 Lars Magne Ingebrigtsen + + * gnus-html.el (gnus-html-wash-images): Register a displayer. + + * gnus-util.el (gnus-find-text-property-region): Return markers. + + * shr.el (shr-tag-img): Put a displayer in the text property. + + * gnus-util.el (gnus-find-text-property-region): New utility function. + + * gnus-html.el (gnus-html-display-image): Make the alt optional. + (gnus-html-show-images): Remove. + + * gnus-art.el (gnus-article-show-images): New, more general function. + + * gnus-html.el: Use image-url instead of gnus-image-url to unify the + image url text properties. + + * shr.el: Ditto. + + * gnus-agent.el (gnus-agentize): Only do the auto-agentizing if + gnus-agent-auto-agentize-methods is set. Which it isn't. + +2010-11-15 Katsumi Yamaoka + + * gnus-sum.el (gnus-summary-move-article): Fix `while' loop to make it + work for two or more articles. + +2010-11-12 Katsumi Yamaoka + + * gnus-art.el (article-treat-non-ascii): Keep text properties not to + divide an image that's in an html article to two or more when washing + non-ASCII characters in alt text of it. + +2010-11-11 Katsumi Yamaoka + + * mm-decode.el (mm-dissect-buffer): Pass sender's mail address to + smime-decrypt-region using function argument. + (mm-possibly-verify-or-decrypt, mm-dissect-multipart): Relay it. + + * mm-view.el (mm-view-pkcs7, mm-view-pkcs7-decrypt): Relay it. + + * smime.el (smime-decrypt-region): Catch it. + +2010-11-11 Stefan Monnier + + * smime.el (smime-mode-map): Move initialization into declaration. + (gnus-run-mode-hooks): Don't autoload. + (smime-mode): Use define-derived-mode. + +2010-11-11 Glenn Morris + + * smime.el (from): Restrict declaration to XEmacs. + + * nnir.el (gnus-group-topic-name): Autoload. + +2010-11-11 Katsumi Yamaoka + + * shr.el (shr-insert): Don't break long line if it is because of + kinsoku-bol characters in the line end. + +2010-11-11 Andrew Cohen + + * nnir.el (nnir-request-move-article): Fix to provide original group + and subject. + (nnir-warp-to-article): Don't fail on articles whose headers haven't + been retrieved. + + * gnus-sum.el (gnus-summary-move-article): Use original group and + subject for virtual articles such as those in an nnir summary buffer. + +2010-11-11 Katsumi Yamaoka + + * gnus-art.el (article-treat-non-ascii): Make it work for XEmacs (at + least 21.5). + + * smime.el (from): Declare it again for XEmacs. + +2010-11-10 Lars Magne Ingebrigtsen + + * message.el (message-resend): Don't disable encoding unless it's + already encoded. + + * nnimap.el (nnimap-update-info): Fix problem with `g' chopping of + low-numbered articles. + +2010-11-10 Katsumi Yamaoka + + * rfc2047.el (rfc2047-syntax-table): Simplify. + + * gnus-art.el (article-treat-non-ascii): Use put-char-table instead of + set-char-table-range for XEmacs. + +2010-11-10 Glenn Morris + + * smime.el (from): Remove unused declaration. + + * gnus-util.el (with-no-warnings): Remove compat stub, now unused. + (gnus-float-time): On Emacs, always an alias. + + * ecomplete.el (with-no-warnings): Remove compat stub, now unused. + (ecomplete-add-item): Use float-time on Emacs, else gnus-float-time. + +2010-11-10 Katsumi Yamaoka + + * gnus-art.el (org-entities): Declare it to silence the byte compiler. + +2010-11-09 Lars Magne Ingebrigtsen + + * shr.el (browse-url-mailto): Autoload. + + * gnus-art.el (article-treat-non-ascii): New command and keystroke. + + * message.el (message-subject-trailing-was-ask-regexp): A ] in a [] + regexp doesn't need quoting. + +2010-11-09 Sven Joachim + + * message.el (message-subject-trailing-was-ask-regexp) + (message-subject-trailing-was-regexp): Match was: in addition to was. + +2010-11-09 Glenn Morris + + * nnbabyl.el (nnbabyl-request-move-article, nnbabyl-delete-mail) + (nnbabyl-check-mbox): Use point-at-bol. + +2010-11-08 Lars Magne Ingebrigtsen + + * shr.el (shr-browse-url): Call browse-url-mailto for mailto: links. + + * message.el (message-mailto): New function. + (message-mailto): Should accept other parameters. + (message-mailto): Remove since it duplicates browse-url-mailto + functionality. + +2010-11-07 Lars Magne Ingebrigtsen + + * gnus-start.el (gnus-get-unread-articles): Ignore totally non-existent + methods. + (gnus-read-active-file): Ditto. + + * gnus-group.el (gnus-group-read-ephemeral-group): Remove superfluous + ": " from the prompt. + (gnus-group-make-group): Ditto. + +2010-11-07 Glenn Morris + + * gnus-bookmark.el (gnus-bookmark-bmenu-show-infos) + (gnus-bookmark-kill-line): Use point-at-eol. + +2010-11-07 Katsumi Yamaoka + + * gnus-gravatar.el (gnus-gravatar-transform-address): No need to skip + asterisks in From header. + +2010-11-06 Lars Magne Ingebrigtsen + + * gnus-ems.el (gnus-put-image): Use a blank text as the insertion + string to avoid making the From headers syntactically invalid. + + * message.el (message-send-mail): Don't insert courtesy messages if the + message already has List-Post and List-ID messages. + +2010-11-06 Glenn Morris + + * gnus-art.el (gnus-treat-article): Give dynamic local variables + `condition', `type', `length' a prefix. + (gnus-treat-predicate): Update for above name changes. + +2010-11-06 Andrew Cohen + + * nnir.el (gnus-summary-nnir-goto-thread): Remove function and + binding. Handled by `gnus-summary-refer-thread' instead. + (nnir-warp-to-article): New backend function. + + * nnimap.el (nnimap-request-thread): Force dependency updating. + + * gnus-sum.el (gnus-fetch-headers): Allow more arguments. + (gnus-summary-refer-thread): Rework to improve thread-referral. + + * gnus-int.el (gnus-warp-to-article): New function. + + * gnus-sum.el (gnus-summary-article-map): Bind it. + +2010-11-04 Andrew Cohen + + * nnir.el (gnus-summary-nnir-goto-thread): Limit work done by + gnus-summary-refer-thread. + + * gnus-sum.el (gnus-build-all-threads): Force updating of dependency + headers. + (gnus-summary-limit-include-thread): Prevent articles in thread from + being cut in gnus-cut-threads. + (gnus-summary-refer-thread): Limit retrieved headers to those in + thread. + +2010-11-04 Lars Magne Ingebrigtsen + + * message.el (message-send-mail): Use the value of + message-courtesy-message from the message buffer. + + * gnus-html.el (gnus-html-browse-url): Implement mailto: URLs. + + * shr.el (shr-browse-url): Implement mailto: URLs. + + * gnus-sum.el (gnus-summary-show-article): Take `t' as the arg to mean + "raw". + + * nnimap.el (nnimap-find-article-by-message-id): Don't EXAMINE a group + if it's already selected. + + * mm-decode.el (mm-save-part): Put the entire path in the `M-n' slot. + +2010-11-04 Katsumi Yamaoka + + * shr.el (shr-tag-img): Use string-width and truncate-string-to-width + to measure the length and truncate alt text. + +2010-11-03 Glenn Morris + + * nndiary.el (nndiary-generate-nov-databases-1) + (nndiary-generate-active-info): Rename dynamic variable `files' to + something less generic. + +2010-11-03 Andrew Cohen + + * nnir.el (nnir-request-move-article): Call the underlying backend to + move articles from nnir. + +2010-11-02 Lars Magne Ingebrigtsen + + * gnus-cite.el (gnus-article-natural-long-line-p): Remove. + +2010-11-02 Julien Danjou + + * nnir.el: Remove wais support. + +2010-11-02 Glenn Morris + + * gnus-html.el: Reorder requirements to quieten compiler. + +2010-11-02 Katsumi Yamaoka + + * gnus-cite.el (gnus-article-fill-cited-article): Make fill work + properly for XEmacs as well. + (gnus-article-fill-cited-article, gnus-article-foldable-buffer) + (gnus-article-natural-long-line-p): Use window-width rather than + frame-width. + +2010-11-01 Andrew Cohen + + * nnir.el (nnir-run-gmane): Inhibit demon. Return nil if no messages. + (nnir-read-parms): Don't modify query. + (nnir-run-query): Add ability to search topic on current line. + (nnir-get-active): Clean up. + +2010-11-01 Lars Magne Ingebrigtsen + + * gnus-cite.el (gnus-article-foldable-buffer): Protect against + degenerate articles. + + * gnus-sum.el (gnus-print-buffer): Rewrite to use with-temp-buffer. + (gnus-print-buffer): Just print the buffer as is, without any copying + to a buffer and then re-highlighting. + + * nnimap.el (nnimap-request-group): Store the new updated info. + (nnimap-request-group): Select the group when we don't know whether it + exists or not. + + * gnus-start.el (gnus-ask-server-for-new-groups): Return the new + groups. + + * gnus-group.el (gnus-group-find-new-groups): Display all the new + groups. + + * gnus-start.el (gnus-find-new-newsgroups): Return the list of new + groups. + + * gnus-cite.el (gnus-article-fill-cited-article): Minimize the + long-lines case by only filling the long lines. + + * nnimap.el (nnimap-parse-line): Don't bug out oddly formed replies + (bug #7311). + +2010-11-01 Katsumi Yamaoka + + * shr.el: No need to declare `declare-function' since shr.el is for + only Emacsen that provide `libxml-parse-html-region'. + +2010-11-01 Glenn Morris + + * mm-util.el (gnus-completing-read): Autoload. + (mm-read-coding-system): Simplify Emacs definition. + + * nnmail.el (gnus-activate-group): + * nnimap.el (gnutls-negotiate): + * nntp.el (netrc-parse): Fix declarations. + +2010-11-01 Katsumi Yamaoka + + * gnus-util.el (gnus-string-match-p): New function, that is an alias to + string-match-p in Emacs >=23. + + * gnus-msg.el (gnus-configure-posting-styles) + * nnir.el (nnir-run-gmane): Use gnus-string-match-p. + +2010-11-01 Glenn Morris + + * nnir.el (declare-function): Add compat stub. + (mm-url-insert, mm-url-encode-www-form-urlencoded): Declare. + (nnir-run-gmane): Require 'mm-url. + + * mm-util.el (mm-string-to-multibyte): Simplify. + + * shr.el (declare-function): Add compat stub. + (url-cache-create-filename): Declare. + (mm-disable-multibyte, widget-convert-button): Autoload. + + * smime.el (ldap-search): Declare. + (smime-cert-by-ldap-1): Require ldap on Emacs. + + * nnimap.el: Require nnmail, and gnus-sum when compiling. + (nnimap-keepalive): Use gnus-float-time. + + * mail-source.el (nnheader-message, gnus-float-time): Autoload. + (mail-source-delete-crash-box): Use gnus-float-time. + + * gnus-dired.el (gnus-completing-read): Autoload. + + * mm-view.el (gnus-rescale-image): Autoload. + + * mm-decode.el (gnus-completing-read, gnus-blocked-images): Autoload. + + * gnus.el (gnus-sloppily-equal-method-parameters): Move defn before use. + + * sieve-manage.el: Require 'cl when compiling. + + * gnus-util.el (iswitchb-read-buffer): Declare rather than autoload. + (gnus-iswitchb-completing-read): Require iswitchb. + (gnus-select-frame-set-input-focus): Silence compiler. + +2010-10-31 Lars Magne Ingebrigtsen + + * message.el (message-subject-trailing-was-query): Change default to t, + since I think that's what most people want. + + * nnimap.el (nnimap-request-accept-article): Erase buffer before + appending for easier debugging. + (nnimap-wait-for-connection): Take a regexp. + (nnimap-request-accept-article): Wait for the continuation line before + sending anything unless we're streaming. + + * gnus-art.el (gnus-treat-article): Only inhibit body washing, and + leave the header washing to take place. + +2010-10-31 Daniel Dehennin + + * gnus-msg.el (gnus-configure-posting-styles): Permit the use of + regular expression match and replace in posting styles. + +2010-10-31 Andrew Cohen + + * nnir.el (gnus-group-make-nnir-group,nnir-run-query): Allow searching + an entire server. + (nnir-get-active): New function. + (nnir-run-imap): Use it. + (nnir-run-gmane): Who knew, gmane search returns an article score! + + * gnus-srvr.el (gnus-server-mode-map): Add binding "G" to search the + server on the current line with nnir. + +2010-10-31 Lars Magne Ingebrigtsen + + * gnus-cite.el (gnus-article-foldable-buffer): Refactor out. + (gnus-article-foldable-buffer): Don't fold regions that have a ragged + left edge. + (gnus-article-foldable-buffer): Skip past the prefix when determining + raggedness. + + * gnus-sum.el (gnus-summary-show-article): Add `C-u C-u g' for showing + the raw article, and change `C-u g' to show the article without doing + treatments. + + * gnus-art.el (gnus-mime-display-alternative): Actually pass the type + on to `gnus-treat-article'. + (gnus-inhibit-article-treatments): New variable. + + * gnus.el: Autoload gnus-article-fill-cited-long-lines. + + * gnus-art.el (gnus-treatment-function-alist): Have + gnus-treat-fill-long-lines point to gnus-article-fill-cited-long-lines. + (gnus-treat-fill-long-lines): Change default to fill all text/plain + sections. + + * gnus-cite.el (gnus-article-fill-cited-article): Remove unused `force' + parameter. + (gnus-article-fill-cited-long-lines): New function. + (gnus-article-fill-cited-article): Allow filling only long sections. + + * shr.el (shr-find-fill-point): Don't break lines between punctuation + and non-punctuation (like after the apostrophe in "'We"). + + * gnus-sum.el (gnus-summary-select-article): Make sure + gnus-original-article-buffer is alive. + + * nndoc.el (nndoc-dissect-buffer): Reverse the order of the articles to + reflect the order they're in in the digest. + + * gnus.el (gnus-group-startup-message): Move point to the start of the + buffer. + + * nnimap.el (nnimap-capability): New function. + (nnimap-open-connection): Only send AUTHENTICATE PLAIN if LOGINDISABLED + is set. + +2010-10-31 David Engster + + * nnmairix.el (nnmairix-get-valid-servers): Return list of strings to + conform with changes to gnus-completing-read. + +2010-10-30 Lars Magne Ingebrigtsen + + * shr.el (shr-tag-img): Output "*" instead of "[img]". + +2010-10-30 Andrew Cohen + + * nnir.el: Move defvar, defcustom around to keep file organized + and keep byte-compiler quiet. + (nnir-read-parms): Accept search-engine as arg. + (nnir-run-query): Pass search-engine as arg. + (nnir-search-engine): Remove. + +2010-10-30 Lars Magne Ingebrigtsen + + * shr.el (shr-generic): The text nodes should be text, not :text. + + * nnir.el (nnir-search-engine): Ressurect variable, since it's used + later in the file. + +2010-10-30 Andrew Cohen + + * nnir.el: General clean up. Allow searching with multiple engines. + Allow separate extra-parameters for each engine. + Batch queries when possible. + (nnir-imap-default-search-key,nnir-method-default-engines): + Add customize interface. + (nnir-run-gmane): New engine. + (nnir-engines): Use it. Qualify all prompts with engine name. + (nnir-search-engine): Remove global variable. + (nnir-run-hyrex): Restore for now. + (nnir-extra-parms,nnir-search-history): New variables. + (gnus-group-make-nnir-group): Use them. + (nnir-group-server): Remove in favor of gnus-group-server. + (nnir-request-group): Avoid searching twice. + (nnir-sort-groups-by-server): New function. + +2010-10-30 Julien Danjou + + * gnus-group.el: Remove gnus-group-fetch-control. + + * gnus-start.el (gnus-find-new-newsgroups): + Remove gnus-check-first-time-used. + + * gnus.el: Remove gnus-backup-default-subscribed-newsgroups. + +2010-10-30 Knut Anders Hatlen (tiny change) + + * nnimap.el (nnimap-update-info): Allow 'ticked and other flags to be + set on groups that don't have \* permanentflags. + +2010-10-30 Lars Magne Ingebrigtsen + + * shr.el (shr-tag-span): Drop colorisation of regions since we don't + control the background color. + (shr-tag-img): Ignore very small web bug type images. + (shr-put-image): Add help-echo alt texts to the images. + (shr-tag-video): Show the video poster image. + +2010-10-29 Lars Magne Ingebrigtsen + + * shr.el (shr-table-depth): New variable. + (shr-tag-table-1): Only insert the images after the top-level table. + + * nnimap.el (nnimap-split-incoming-mail): Fix typo. + + * gnus-util.el (gnus-list-memq-of-list): New function. + + * nnimap.el (nnimap-split-incoming-mail): Note that the INBOX has been + selected. + (nnimap-unsplittable-articles): New slot. + (nnimap-new-articles): Use it. + +2010-10-29 Stephen Berman (tiny change) + + * gnus-group.el (gnus-group-get-new-news-this-group): Don't have point + move to the previous line on `M-g'. + +2010-10-29 Lars Magne Ingebrigtsen + + * gnus-msg.el (gnus-inews-do-gcc): Don't have the backends do the slow + *-request-group, which seems unnecessary. + + * nnimap.el (nnimap-quote-specials): Function copied over from + imap.el. + (nnimap-open-connection): Use AUTHENTICATE PLAIN on servers that say + they support that. Suggested by Tom Regner. + +2010-10-29 Julien Danjou + + * gnus-sum.el (gnus-summary-delete-marked-as-read): Remove obsolete + defalias. + (gnus-summary-delete-marked-with): Remove obsolete defalias. + + * gnus.el: Remove `gnus-nntp-service' variable. + (gnus-secondary-servers): Make obsolete. + (gnus-nntp-server): Make obsolete. + + * gnus-start.el (gnus-1): Remove x-splash calls. + + * gnus-ems.el (gnus-x-splash): Remove. + + * gnus.el (gnus-group-startup-message): Simplify/update code. + + * gnus-group.el (gnus-group-make-tool-bar): Check for display graphic + capability before doing anything. + (gnus-group-insert-group-line): Remove useless + gnus-group-remove-excess-properties. + +2010-10-29 Katsumi Yamaoka + + * gnus-art.el (gnus-article-goto-part): Work for article narrowed by ^L. + +2010-10-28 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-rescan-group): Try to restore the window + config after reselecting. + +2010-10-28 Julien Danjou + + * shr.el (shr-put-image): Use point even if only inserting text. + (shr-put-image): Save excursion when inserting alt text on non-graphic + display, so the behaviour is the same when we are on a graphic display. + + * nnir.el (nnir-run-swish-e): Remove hyrex support. + +2010-10-28 Katsumi Yamaoka + + * gnus-art.el (gnus-article-jump-to-part): Error on no part; fix prompt. + (gnus-mime-copy-part): Check coding system, not charset. + (gnus-mime-view-part-externally): Never remove part. + (gnus-mime-view-part-internally): Don't remove part here. + (gnus-article-part-wrapper): Make sure MIME tag is visible. + (gnus-article-goto-part): Go to displayed or preferred subpart if it is + multipart/alternative. + + * mm-decode.el (mm-display-part): Take optional arg `force'. + +2010-10-26 Julien Danjou + + * gnus-group.el (gnus-group-default-list-level): Add this function to + compute the default list level. + (gnus-group-default-list-level): Add possibility to use a function. + +2010-10-27 Katsumi Yamaoka + + * mm-decode.el (mm-shr): Add undisplayer to MIME handle. + + * gnus-group.el (gnus-group-completing-read) + (gnus-read-ephemeral-bug-group): Replace replace-regexp-in-string with + gnus-replace-in-string. + +2010-10-26 Katsumi Yamaoka + + * shr.el (shr-tag-div): Add. + +2010-10-25 Julien Danjou + + * gnus-util.el: Remove `gnus-with-local-quit'. + + * gnus-demon.el (gnus-demon-init): Use run-with-idle-timer function. + +2010-10-25 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-select-article): Fix type error in checking + the original article buffer. + +2010-10-24 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-request-head): New function. + (nnimap-request-move-article): Try to be slighly faster by not + requesting the entire message when moving. + (nnimap-transform-headers): Don't bug out on bodiless articles. + (nnimap-send-command): Have no outstanding messages if the IMAP server + doesn't support streaming. + (nnimap-transform-headers): Fold {quoted} strings more sloppily. + +2010-10-24 Julien Danjou + + * message.el (message-default-headers): Fix type. + +2010-10-24 Lars Magne Ingebrigtsen + + * gnus-html.el (gnus-html-prefetch-images): Decode entities before + prefetching images. + + * gnus-sum.el (gnus-group-make-articles-read): Propagate marks to the + backend for unknown groups. This is mainly useful for nnimap groups. + + * gnus-agent.el (gnus-agent-fetch-group): Don't download stuff if the + group isn't covered by the agent. + +2010-10-22 Andrew Cohen + + * nnir.el (nnir-method-default-engines): New variable. + (nnir-run-query): Use it. + (nnir-group-mode-hook): Remove key binding and move to gnus-group.el. + (gnus-summary-nnir-goto-thread): Change group if needed. + + * gnus-group.el (gnus-group-group-map): Add key binding for + gnus-group-make-nnir-group. + +2010-10-24 Lars Magne Ingebrigtsen + + * shr.el (shr-tag-object): Add. + + * gnus-sum.el (gnus-summary-select-article): Make sure we have the + original article buffer live. + (gnus-summary-select-article-buffer): + Mention gnus-widen-article-buffer. + +2010-10-23 Lars Magne Ingebrigtsen + + * shr.el (shr-tag-strong): Add. + +2010-10-22 Lars Magne Ingebrigtsen + + * gnus-group.el (gnus-group-completing-read): Remove all newlines from + group names. They mess up the group buffer badly. + + * shr.el (shr-tag-img): Don't bug out on images that don't have a SRC. + + * gnus-group.el (gnus-group-mark-group): Use gnus-group-position-point + instead of the summary one. + +2010-10-22 Katsumi Yamaoka + + * mml.el (mml-preview): Work properly when editing article. + + * gnus-start.el (gnus-read-active-file-1): Don't add method to + gnus-have-read-active-file if it's already been in. + +2010-10-22 Tom Tromey + + * gnus-group.el (gnus-group-unsubscribe-group): Fix args passed to + gnus-group-completing-read. + +2010-10-21 Lars Magne Ingebrigtsen + + * message.el (message-mode-map): Don't bind M-; to comment region, to + allow the global comment-dwim to work. + +2010-10-21 Julien Danjou + + * message.el (message-setup-1): Allow message-default-headers to be a + function. + +2010-10-21 Katsumi Yamaoka + + * shr.el (shr-tag-table): Simplify. + +2010-10-21 Lars Magne Ingebrigtsen + + * gnus-html.el (gnus-html-prefetch-images): Only prefetch http images + to avoid trying to snarf invalid stuff. + + * gnus-sum.el (gnus-summary-edit-article-done): Bind free variable. + + * gnus.el (gnus-message-archive-group): Quote value. + (gnus-message-archive-group): Mark as changed. + + * shr.el (shr-add-font): Don't put the font properties on the newline + or the indentation. + + * message.el (message-fix-before-sending): Change options when sending + non-printable characters. + + * gnus.el (gnus-message-archive-method): Change the default to + monthly outgoing groups. + + * gnus-sum.el (gnus-summary-edit-article-done): Try to replace articles + that have gotten new numbers. + + * nnimap.el (nnimap-request-replace-article): New function. + +2010-10-21 Katsumi Yamaoka + + * nnrss.el (nnrss-wash-html-in-text-plain-parts): Remove. + (nnrss-request-article): Don't use special html washing code. + +2010-10-20 Katsumi Yamaoka + + * shr.el (shr-tag-table): Remove useless nconc. + +2010-10-20 Lars Magne Ingebrigtsen + + * gnus-art.el (article-wash-html): Simplify and remove the charset + stuff. Use the normal html rendering code instead of the special html + washing code. + + * mm-view.el (mm-text-html-renderer-alist): Add the `shr' and + `gnus-w3m' symbols. + (mm-text-html-washer-alist): Remove. + + * mm-decode.el (mm-inline-text-html-renderer): Remove. + (mm-inline-media-tests): Remove use. + (mm-text-html-renderer): Change default to the `shr' symbol. + + * mm-view.el (mm-inline-text-html): Remove use. + + * gnus-art.el (gnus-blocked-images): New function. Allow the + `gnus-blocked-images' to be a function. + (gnus-article-wash-function): Remove. + +2010-10-20 Julien Danjou + + * spam.el (spam-list-of-processors): Mark as obsolete. + + * nnimap.el (nnimap-request-article): Fix BODYSTRUCTURE retrieval. + (nnimap-insert-partial-structure): Fix boundary detection. + +2010-10-20 Andreas Seltenreich + + * gnus-draft.el (gnus-draft-check-draft-articles): Don't unnecessarily + run file-truename on remote files. This can be expensive and even + prevent one from editing drafts if some unrelated buffer has a stale + connection. + +2010-10-20 Katsumi Yamaoka + + * shr.el (shr-find-fill-point): Shorten line if the preceding char is + kinsoku-eol regardless of shr-kinsoku-shorten. + (shr-tag-table-1): Rename from shr-tag-table; make it a subroutine. + (shr-tag-table): Support caption, thead, and tfoot. + +2010-10-19 Lars Magne Ingebrigtsen + + * shr.el (shr-find-fill-point): Don't leave blanks at the start of some + lines. + (shr-save-contents): New command and keystroke. + + * nndoc.el (nndoc-type-alist): Add git support. + (nndoc-git-type-p): New function. + (nndoc-transform-git-article): Ditto. + (nndoc-transform-git-headers): Ditto. + (nndoc-transform-git-headers): Generate Subject headers. + + * shr.el (shr-parse-style): New function. + (shr-tag-span): Ditto. + + * nnmairix.el (nnmairix-summary-mode-hook): Move nnmairix's `$' command + to `G G' to avoid collisions. + +2010-10-19 Katsumi Yamaoka + + * shr.el: Load kinsoku if necessary. + (shr-kinsoku-shorten): New internal variable. + (shr-find-fill-point): Make kinsoku shorten text line if + shr-kinsoku-shorten is bound to non-nil. + (shr-tag-table): Bild shr-kinsoku-shorten to t; refer to + shr-indentation too when testing if table is wider than frame width. + (shr-insert-table): Use `string-width' instead of `length' to measure + text width. + (shr-insert-table-ruler): Make sure indentation is done at bol. + +2010-10-19 Stefan Monnier + + * nnimap.el (nnimap-request-move-article, nnimap-parse-line) + (nnimap-process-expiry-targets): Use unibyte for buffers that hold + undecoded network data. + +2010-10-18 Lars Magne Ingebrigtsen + + * gnus-agent.el (gnus-agent-toggle-plugged): Use the right minor mode + name in the mode line spec so that the mode line menu works + (bug #2431). + + * message.el (message-get-reply-headers): If we're fed `to-address', + then always use that. + + * gnus-art.el (gnus-article-make-menu-bar): The article/group menus + aren't so wide as to need to switch off the edit menu. + + * gnus-delay.el (gnus-delay-article): Remove superfluous `group' + binding. Suggested by Leo (bug #6613). + + * nnimap.el (nnimap-request-group): Don't SELECT the group twice on + `M-g'. + (nnimap-update-info): Update flags/read marks even if \* isn't part of + the permanent marks. + +2010-10-18 Andrew Cohen + + * gnus-registry.el (gnus-registry-split-fancy-with-parent): + Splitting according to references/in-reply-to obeys the ignore-groups + variable, while splitting by sender and subject do not. + +2010-10-18 Lars Magne Ingebrigtsen + + * gnus-art.el (gnus-article-dumbquotes-map): Make into a char/string + alist, so that we can look for non-Unicode chars. + (article-translate-strings): Allow both character and string maps. + +2010-10-18 Katsumi Yamaoka + + * shr.el (shr-insert): Don't insert space behind a wide character + categorized as kinsoku-bol, or between characters both categorized as + nospace. + +2010-10-16 Andrew Cohen + + * gnus-sum.el (gnus-summary-refer-thread): Bug fix. Add the thread + headers to gnus-newsgroup-headers. + +2010-10-16 Lars Magne Ingebrigtsen + + * shr.el (shr-tag-img): Don't align images -- since we're not + rescaling, this often leads to ugly displays. + +2010-10-15 Andrew Cohen + + * gnus-sum.el (gnus-summary-refer-thread): Unconditionally ignore + duplicates. + +2010-10-15 Kan-Ru Chen (tiny change) + + * gnus-diary.el (gnus-diary-check-message): Fix gnus-completing-read + call. + +2010-10-15 Lars Magne Ingebrigtsen + + * gnus.el: Autoload gnus-html-show-images. + + * nnimap.el: Use nnheader-message throughout. + + * shr.el (shr-tag-img): Ignore images with no data. + +2010-10-15 Julien Danjou + + * mml.el (mml-generate-mime-1): Add `mml-enable-flowed' variable to add + a possibility to disable format=flow encoding when using hard newlines. + +2010-10-15 Katsumi Yamaoka + + * shr.el (shr-insert): Remove space inserted before or after a + breakable character or at the beginning or the end of a line. + (shr-find-fill-point): Do kinsoku; find the second best point or give + it up if there's no breakable point. + +2010-10-14 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-open-connection): Message when opening connection + for debugging purposes. + + * gnus-art.el (gnus-article-setup-buffer): Set article mode truncation + on every setup buffer call to allow this to change from article to + article. + + * shr.el (shr-tag-table): Experimental feature: Truncate lines in + buffers where we have a wide table. + +2010-10-14 Andrew Cohen + + * gnus-sum.el (gnus-summary-refer-thread): Implement a version that + uses *-request-thread. + +2010-10-14 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-open-connection): Remove %s from openssl + incantation, which is no longer valid. + +2010-10-14 Julien Danjou + + * shr.el: Fix defcustom type (char -> character). + +2010-10-14 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-open-connection): tls-program should be a list of + programs. + +2010-10-14 Julien Danjou + + * shr.el (shr-tag-a): Use url-link as widget type. + + * gnus-group.el (gnus-group-insert-group-line): Fix group argument to + `gnus-group-get-icon'. + +2010-10-13 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-close-server): Forget the nnimap data on close. + This should make server editing work better. + + * shr.el (shr-find-fill-point): Don't inloop on indented text. + + * nnimap.el (nnimap-open-connection): Fix open-tls-stream call. + (nnimap-parse-flags): Fix regexp. + + * shr.el (shr-find-fill-point): Use a filling algorithm that should + probably work for CJVK text, too. + + * nnimap.el (nnimap-extend-tls-programs): Remove. + (nnimap-open-connection): Bind STARTTLS to openssl explicitly. + +2010-10-13 Julien Danjou + + * nnimap.el (nnimap-parse-flags): Be more strict when looking for FETCH + responses. + +2010-10-13 Lars Magne Ingebrigtsen + + * mm-decode.el (mm-shr): Allow use from non-Gnus users. + + * gnus-spec.el (gnus-parse-simple-format): princ doesn't really insert + anything in Emacs. + + * shr.el (shr-current-column): Remove buggy and unnecessary function. + +2010-10-13 Julien Danjou + + * shr.el (shr-width): Make shr-width a defcustom with default to + fill-column. + (shr-tag-img): Use shr-width rather than fill-column. + +2010-10-13 Katsumi Yamaoka + + * gnus-dired.el (gnus-dired-attach): Silence XEmacs 21.5 when compiling. + + * gnus-gravatar.el (gnus-gravatar-transform-address): Adjust avatars' + position when (X-)Faces exist. + (gnus-treat-from-gravatar, gnus-treat-mail-gravatar): Force displaying + avatars when called interactively. + +2010-10-12 Katsumi Yamaoka + + * gnus-gravatar.el (gnus-gravatar-too-ugly): Don't test if + gnus-article-x-face-too-ugly is bound. + +2010-10-12 Lars Magne Ingebrigtsen + + * rfc2231.el (rfc2231-parse-string): Ignore repeated parts. + + * nnimap.el (nnimap-request-rename-group): Unselect by selecting a + mailbox that doesn't exist. + +2010-10-12 Julien Danjou + + * shr.el (shr-tag-img): Encode URL properly when retrieving. + (shr-get-image-data): Encode URL properly when fetching from cache. + (shr-tag-img): Use aligned-to spaces to align correctly images. + + * gnus-gravatar.el (gnus-gravatar-insert): Check if buffer is alive + before inserting the Gravatar. + + * shr.el (shr-tag-img): Add align attribute support for . + +2010-10-12 Lars Magne Ingebrigtsen + + * gnus-gravatar.el (gnus-art): Require. + + * gnus-sum.el (gnus-summary-mark-as-unread-forward) + (gnus-summary-mark-as-unread-backward, gnus-summary-mark-as-unread): + Remove long obsoleted functions. + +2010-10-11 Katsumi Yamaoka + + * nnimap.el (gnutls-negotiate): Silence the byte compiler. + + * gnus-art.el, gnus-cache.el, gnus-fun.el, gnus-group.el: + * gnus-picon.el, gnus-spec.el, gnus-sum.el, gnus-util.el, gnus.el: + * mail-source.el, message.el, mm-bodies.el, mm-decode.el, mm-extern.el: + * mm-util.el, mm-view.el, mml-smime.el, mml.el, mml1991.el, mml2015.el: + * nnfolder.el, nnheader.el, nnmail.el, nnmaildir.el, nnrss.el, nntp.el: + * rfc1843.el, sieve-manage.el, smime.el, spam.el: + Fix comment for declare-function. + +2010-10-11 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-request-rename-group): Select group read-only + before renaming it. + + * shr.el (shr-insert): Fix up the white space only regexp. + + * nnimap.el (nnimap-transform-split-mail): Not all articles have + bodies. Protect against this. Reported by Michael Welsh Duggan. + + * shr.el (shr-current-column): New function. + (shr-find-fill-point): New function. + +2010-10-11 Michael Welsh Duggan (tiny change) + + * sieve-manage.el (sieve-manage-open): Allow port names as well as port + numbers. + +2010-10-11 Julien Danjou + + * shr.el (shr-hr-line): Add. + (shr-tag-hr): Use shr-hr-line to specify which character to use to + display hr lines. + (shr-max-columns): Do not change state to nil if we just inserting + spaces. + +2010-10-11 Lars Magne Ingebrigtsen + + * gnus-topic.el (gnus-topic-read-group): If after the last group, + select the last group. + +2010-10-11 Teodor Zlatanov + + * gnus-int.el (gnus-run-hook-with-args): Autoload from gnus-util.el. + +2010-10-10 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-update-qresync-info): \Flagged messages are read + for Gnus. + (nnimap-retrieve-group-data-early): utf7-encode the group parameters. + (nnimap-update-qresync-info): Mark \Seen articles as read. + + * gnus-sum.el (gnus-summary-set-local-parameters): Ignore the `active' + non-variable, too. + + * nnimap.el (nnimap-open-connection): Use gnutls STARTTLS, if + available. + (nnimap-update-info): Rely more on the current active than the param + active to avoid marking articles as read too much. + + * auth-source.el (auth-source-create): Use (user-login-name) for the + user name default. + + * nnimap.el (nnimap-update-info): If the server doesn't return any + useful info, just use the previous info. + (nnimap-update-info): Prefer old info over start-article. + (nnimap-update-qresync-info): Finish implementing QRESYNC. + +2010-10-10 Andrew Cohen + + * nnir.el (autoload): Clean up autoloads. + (nnir-imap-default-search-key): Rename from nnir-imap-search-field. + Use key rather than value. + (nnir-imap-search-other): New variable. + (nnir-read-parm): Use it. + (nnir-imap-expr-to-imap): Use %S rather than imap-quote-specials. + (gnus-summary-nnir-goto-thread): Modify to work with imap. + +2010-10-10 Stefan Monnier + + * nnimap.el (nnimap-wait-for-response): If the user hits `C-g', kill + the process, too. + +2010-10-09 Lars Magne Ingebrigtsen + + * spam.el (gnus-summary-mode-map): Bind to "$". + Suggested by Russ Allbery. + + * shr.el: Rework the way things are indented by
  • slightly. + + * gnus.el (gnus-group-set-parameter): Fix typo. + + * nnimap.el: Start implementing QRESYNC support. + +2010-10-09 Julien Danjou + + * nnir.el (nnir-engines): Fix too many arguments. + +2010-10-09 Lars Magne Ingebrigtsen + + * nnmail.el (nnmail-expiry-target-group): Say that every expiry target + group is the "last", so that the backends like nnfolder actually save + their folders. + + * nnimap.el (nnimap-open-connection): If we have gnutls loaded, then + try to use that for the tls stream. + (nnimap-retrieve-group-data-early): Rework the marks code to heed + UIDVALIDITY and find out which groups are read-only and not. + (nnimap-get-flags): Use the same marks parsing code as the rest of + nnimap. + +2010-10-09 Julien Danjou + + * nnir.el (nnir-read-parm): Fix call to gnus-completing-read. + + * gnus-gravatar.el (gnus-gravatar-transform-address): Error errors when + retrieving gravatars. + + * shr.el (shr-table-corner): Add. + (shr-table-line): Add. + (shr-insert-table-ruler): Use the above defcustoms to insert tables. + +2010-10-08 Julien Danjou + + * mm-decode.el (mm-text-html-renderer): Add mm-shr in choice list. + +2010-10-08 Teodor Zlatanov + + * gnus-util.el (gnus-alist-pull): Rename `gnus-pull'. + + * gnus-sum.el (gnus-mark-article-as-unread) + (gnus-summary-mark-article-as-unread, gnus-summary-remove-bookmark) + (gnus-summary-set-bookmark): Use it. + + * gnus-msg.el (gnus-setup-message): Use it. + + * gnus-demon.el (gnus-demon-remove-handler): Use it. + + * gnus.el (gnus-group-remove-parameter): Use it. + + * gnus-group.el (gnus-group-make-web-group): Use it. + + * gnus-demon.el (gnus-demon-remove-handler): Use it. + + * nnregistry.el: Update docs to mention manual. + + * gnus-registry.el: Update docs to mention nnregistry.el. + (gnus-registry-initialize): Don't install nnregistry refer method + automatically. + (gnus-registry-install-nnregistry): Remove it. + +2010-10-08 Lars Magne Ingebrigtsen + + * shr.el (shr-insert): Don't insert double spaces. + +2010-10-08 Katsumi Yamaoka + + * gnus-gravatar.el (gnus-treat-from-gravatar) + (gnus-treat-mail-gravatar): Bind gnus-gravatar-too-ugly to nil when + called interactively. + + * gnus-art.el (gnus-mime-view-part-externally) + (gnus-mime-view-part-internally): Make predicate function passed to + gnus-mime-view-part-as-type assume argument is a mime type, not a list + of a mime type. + + * shr.el (shr-table-widths): Don't use cl function `reduce'. + +2010-10-07 Lars Magne Ingebrigtsen + + * shr.el (require): Require cl when compiling. + (shr-tag-hr): New function. + + * nnimap.el (nnimap-update-info): Remove double setting of high. + (nnimap-update-info): Don't ignore groups that have no UIDNEXT. + This makes nnimap work properly on Courier again. + + * gnus.el (gnus-carpal): The carpal mode has been removed, but define + the variable for backwards compatability. + + * mm-decode.el (mm-save-part): If given a non-directory result, expand + the file name before using to avoid setting mm-default-directory to + nil. + + * gnus-start.el (gnus-get-unread-articles): Require gnus-agent before + bidning gnus-agent variables. + + * shr.el (shr-render-td): Use a cache for the table rendering function + to avoid getting an exponential rendering behaviour in nested tables. + (shr-insert): Rework the line-breaking algorithm. + (shr-insert): Don't leave trailing spaces. + (shr-insert-table): Also insert empty TDs. + (shr-tag-blockquote): Ensure paragraphs after . + +2010-10-07 Stefan Monnier + + * gnus-sum.el (gnus-number): Rename from `number'. + (gnus-article-marked-p, gnus-summary-limit-to-display-predicate) + (gnus-summary-limit-children): Update uses correspondingly. + +2010-10-07 Katsumi Yamaoka + + * gnus-gravatar.el (gnus-gravatar-too-ugly): New user option. + (gnus-gravatar-transform-address): Don't show avatars of people of + which mail addresses match gnus-gravatar-too-ugly. + +2010-10-07 Lars Magne Ingebrigtsen + + * shr.el (shr-table-widths): Expand TD elements to fill available + space. + +2010-10-07 Julien Danjou + + * nnimap.el (nnimap-request-rename-group): Add this method. + +2010-10-07 Katsumi Yamaoka + + * gnus-html.el (gnus-html-schedule-image-fetching): Remove function + name from XEmacs' function-arglist. + + * gnus-gravatar.el (gnus-gravatar-insert): Don't add properties to + gravatar under XEmacs. + +2010-10-07 Teodor Zlatanov + + * auth-source.el: Update docs with TODO items. + + * gnus-sync.el: Update docs to explain state and plans. + + * gnus-int.el (gnus-after-set-mark-hook, gnus-before-update-mark-hook): + Hooks for mark updates. + (gnus-request-set-mark, gnus-request-update-mark): Use them. + + * gnus-util.el (gnus-run-hooks-with-args): Convenience function to run + hooks with arguments, which is needed for mark update hooks. + +2010-10-06 Julien Danjou + + * gnus.el (gnus-expand-group-parameter): Only return and act on what + was matched. + + * sieve-manage.el: Update example in `Commentary'. + + * sieve.el (sieve-open-server): Use sieve-manage-authenticate. + + * sieve-manage.el (sieve-manage-open): Use sieve-manage-default-port, + not 2000. + (sieve-manage-authenticate): Re-add function. + +2010-10-06 Lars Magne Ingebrigtsen + + * shr.el (shr-insert): Get 'space transition right. + (shr-render-td): Only delete space at the end of the TD. + + * nnimap.el (nnimap-open-connection): Prepare to support + open-gnutls-stream. + + * shr.el: Rearrange function order to be more logical. + +2010-10-06 Julien Danjou + + * nnrss.el (nnrss-check-group): Remove 404 URL in comment. + (nnrss-discover-feed): Remove 404 URL in docstring. + + * nnir.el: Fix Swish-E URL. + Fix Namazu URL. + + * message.el (message-change-subject): Remove 404 URL in a comment. + +2010-10-06 Katsumi Yamaoka + + * gnus-art.el (gnus-mime-view-part-as-type): Make it work when being + called interactively. + + * gnus-util.el (gnus-remove-if): Allow hash table. + (gnus-remove-if-not): New function. + + * gnus-art.el (gnus-mime-view-part-as-type) + * gnus-score.el (gnus-summary-score-effect) + * gnus-sum.el (gnus-read-move-group-name): + Replace remove-if-not with gnus-remove-if-not. + + * gnus-group.el (gnus-group-completing-read): + Regard collection as a hash table if it is not a list. + +2010-10-05 Lars Magne Ingebrigtsen + + * shr.el (shr-render-td): Allow blank/missing s. + + * shr.el: Document the table-rendering algorithm. + + * gnus-html.el (gnus-html-schedule-image-fetching): Protect against + invalid URLs. + + * shr.el (shr-tag-img): Shorten ALT texts and allow them to be + line-broken. + (shr-tag-img): Ignore image fetching errors. + (shr-overlays-in-region): Compute overlay positions correctly. + + * mm-decode.el (mm-shr): Require shr. + + * gnus-art.el (gnus-blocked-images): Move variable here. + + * shr.el (shr-insert-table): Bind free variable. + + * mm-decode.el (mm-shr): Bind shr-content-function. + + * shr.el (shr-content-function): New variable. + + * gnus-sum.el (gnus-article-sort-by-most-recent-date): New function, + added for symmetry. + + * nnir.el (nnir-retrieve-headers): Don't bug out on invalid data. + + * gnus-group.el (gnus-group-make-group): Doc fix. + + * nnimap.el (nnimap-request-newgroups): Return success. + + * shr.el (shr-find-elements): New function. + (shr-tag-table): Put all the images after the table. + (shr-tag-table): Really inhibit images inside the table. + (shr-collect-overlays): Copy over overlays from the TD elements to the + main document. + + * mm-decode.el (mm-shr): Bind shr-blocked-images to + gnus-blocked-images. + +2010-10-05 Julien Danjou + + * sieve-manage.el (sieve-sasl-auth): Use auth-source to authenticate. + + * gnus-html.el (gnus-html-wash-images): Rescale image from cid too. + (gnus-html-maximum-image-size): Add this function. + (gnus-html-put-image): Use gnus-html-maximum-image-size. + + * sieve-manage.el (sieve-manage-capability): Do not bug out when the + server-value of the capability is nil. + +2010-10-05 Lars Magne Ingebrigtsen + + * shr.el (shr-tag-em): Add tag. + +2010-10-05 Florian Ragwitz (tiny change) + + * sieve-manage.el (sieve-manage-default-stream): Make default stream + customizable. + + * gnus-html.el (gnus-html-wash-tags): Decode URL entities to avoid + handing broken links to browse-url. + +2010-10-05 Julien Danjou + + * gnus-util.el (gnus-emacs-completing-read) + (gnus-iswitchb-completing-read): Use autoload rather than require. + +2010-10-05 Katsumi Yamaoka + + * gnus-util.el (gnus-completing-read-function): Exclude + gnus-icompleting-read and gnus-ido-completing-read from candidates for + XEmacs since iswitchb.el is very old and ido.el is unavailable in + XEmacs. + + * gnus-registry.el (gnus-registry-install-nnregistry): Rewrite so as + not to use `delete-dups' that is unavailable in XEmacs 21.4. + + * gnus-html.el: Don't require help-fns under XEmacs. + (gnus-html-schedule-image-fetching): Work for XEmacs. + + * mm-decode.el (mm-shr): Decode contents by charset. + +2010-10-04 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-open-connection): Give an error if nnimap-stream is + unknown. + + * shr.el (shr-tag-blockquote): Ensure paragraph after quote, too. + (shr-get-image-data): Ensure against the cache file missing. + + * nnimap.el (nnimap-finish-retrieve-group-infos): Message while waiting + for data. + + * spam-report.el (spam-report-url-ping-plain): Don't query about + killing the process. + + * shr.el (shr-render-td): Protect against too-wide text. + +2010-10-04 Julien Danjou + + * mml-smime.el (mml-smime-openssl-encrypt-query): Fix choices. + (mml-smime-openssl-sign-query): Fix gnus-completing-read call. + + * gravatar.el (gravatar-retrieved): Kill buffer when gravatar has been + retrieved. + +2010-10-04 Lars Magne Ingebrigtsen + + * shr.el (browse-url): Require. + (shr-ensure-paragraph): Don't insert a new newline after empty-ish + lines. + (shr-show-alt-text, shr-browse-image): New commands. + (shr-browse-url, shr-copy-url): New commands. + + * gnus-sum.el (gnus-widen-article-window): New variable. + (gnus-summary-select-article-buffer): Use it. + + * message.el (message-idna-to-ascii-rhs-1): Don't bug out on addresses + without @ signs. + +2010-10-04 Michael Welsh Duggan (tiny change) + + * nnir.el (nnir-run-imap): Remove spurious space in search string. + +2010-10-04 Julien Danjou + + * gnus-util.el (gnus-emacs-completing-read): Mapcar collection to list, + for XEmacs. + +2010-10-04 Lars Magne Ingebrigtsen + + * gnus-salt.el: Remove all gnus-carpal stuff -- it's not useful. + + * nnimap.el (nnimap-open-connection): Allow tls as a synonym for ssl. + (nnimap-close-server): Implement. + + * shr.el (shr-ensure-paragraph): Fix the non-empty line case. + (shr-insert): Tweak line breaking. + (shr-insert): Handle
     better.
     +	(shr-tag-li): Get 
  • indentation right. + (shr-tag-li): Get
  • indentation even righter. + (shr-tag-blockquote): Ensure paragraph start. + (shr-make-table): Tweak table generation. + (shr-make-table): Fix typo. + + * shr.el: Implement table rendering. + +2010-10-04 Julien Danjou + + * gnus-html.el (gnus-html-put-image): Fix resize image code. + +2010-10-04 Lars Magne Ingebrigtsen + + * shr.el (shr-insert): Use string anchors instead of line anchors. + +2010-10-03 Lars Magne Ingebrigtsen + + * shr.el: Add headings. + (shr-ensure-paragraph): Actually work. + (shr-tag-li): Make
      prettier. + (shr-insert): Get white space at the beginning/end of elements right. + (shr-tag-p): Collapse subsequent

      s. + (shr-ensure-paragraph): Don't insert double line feeds after blank + lines. + (shr-insert): \t is also space. + (shr-tag-s): Fix "s" tag name function. + (shr-tag-s): Fix face prop name. + +2010-10-03 Julien Danjou + + * gnus-html.el (gnus-html-put-image): Use gnus-rescale-image. + + * mm-view.el (gnus-window-inside-pixel-edges): Add autoload for + gnus-window-inside-pixel-edges. + + * gnus-ems.el (gnus-window-inside-pixel-edges): Move from gnus-html to + gnus-ems. + + * mm-view.el (mm-inline-image-emacs): Support image resizing. + + * gnus-util.el (gnus-rescale-image): Add generic gnus-rescale-image + function. + + * mm-decode.el (mm-inline-large-images): Enhance defcustom and add + resize choice. + +2010-10-03 Lars Magne Ingebrigtsen + + * shr.el (shr-tag-p): Don't insert newlines on empty tags at the + beginning of the buffer. + + * gnus-sum.el (gnus-summary-select-article-buffer): Really select the + article buffer again. + + * shr.el (shr-tag-p): Don't insert newlines at the start of the buffer. + + * mm-decode.el (mm-shr): Narrow before inserting, so that shr can know + when it's at the start of the buffer. + + * shr.el (shr-tag-blockquote): Convert name. + (shr-rescale-image): Use the right image-size variant. + + * gnus-sum.el (gnus-summary-select-article-buffer): If the article + buffer isn't shown, then select the current article first instead of + bugging out. + (gnus-summary-select-article-buffer): Show both the article and summary + buffers again. + + * shr.el (shr-fontize-cont): Protect against regions with no text. + Rename tag functions to shr-tag-* for enhanced security. + (shr-tag-ul, shr-tag-ol, shr-tag-li, shr-tag-br): New functions. + +2010-10-03 Chong Yidong + + * shr.el (shr-insert): + * pop3.el (pop3-movemail): + * gnus-html.el (gnus-html-wash-tags): Don't use plusp, as cl may not be + loaded. + +2010-10-03 Glenn Morris + + * nnmairix.el (nnmairix-replace-illegal-chars): Drop Emacs 20 code. + + * smime.el (smime-cert-by-ldap-1): Drop Emacs 21 code. + + * gnus-art.el (gnus-next-page-map): Drop Emacs 20 compat cruft. + + * gmm-utils.el (gmm-write-region): Drop Emacs 20 compat cruft. + + * gnus-util.el (gnus-make-local-hook): Simplify. + +2010-10-02 Julien Danjou + + * gnus-util.el (gnus-iswitchb-completing-read): New function. + (gnus-ido-completing-read): New function. + (gnus-emacs-completing-read): New function. + (gnus-completing-read): Use gnus-completing-read-function. + Add gnus-completing-read-function. + +2010-10-02 Lars Magne Ingebrigtsen + + * shr.el (shr-insert-document): Autoload. + (shr-img): Be silent. + (shr-insert): Add a newline after every picture before text. + (shr-add-font): Use overlays for combining faces. + (shr-insert): Pass upwards the text start point. + + * mm-decode.el (mm-text-html-renderer): Default to shr.el rendering, if + possible. + (mm-shr): New function. + +2010-10-02 Julien Danjou + + * gnus-gravatar.el (gnus-gravatar-insert): Adjust character where we + should go backward. + +2010-10-02 Juanma Barranquero + + * shr.el (shr): Fix typo in provide call. + +2010-10-02 Lars Magne Ingebrigtsen + + * shr.el: New file. + + * gnus-html.el (gnus-html-schedule-image-fetching): Be silent. + + * gnus-topic.el (gnus-topic-move-group): Fix the syntax of the + completing read. + +2010-10-01 Lars Magne Ingebrigtsen + + * gnus-start.el (gnus-check-bogus-newsgroups): Say how many groups + we're being queried about. Suggested by Dan Jacobson. + + * nndoc.el (nndoc-type-alist): Do babyl before mime-parts. + Suggested by Jason Eisner. + + * gnus-async.el (gnus-async-delete-prefetched-entry): Remove from hash + table, too. Suggested by Stefan Wiens. + (gnus-async-prefetched-article-entry): Use intern-soft to avoid growing + the table unnecessary. Suggested by Stefan Wiens. + + * gnus-sum.el (gnus-summary-clear-local-variables): This is probably no + longer needed, and probably doesn't work either, as pointed out by + Stefan Wiens. + (gnus-summary-exit): Remove call to the clearing function. + (gnus-summary-exit-no-update): Ditto. + + * gnus-art.el (gnus-summary-save-in-file): Use with-current-buffer + instead of gnus-eval-in-buffer-window to avoid popping up frames. + Reported by Stefan Monnier. + (gnus-summary-save-in-rmail): Ditto. + + * gnus-sum.el (gnus-summary-select-article-buffer): Show only the + article buffer, instead of both the article buffer and the summary + buffer. Sort of suggested by Dan Jacobson. + + * gnus-win.el (gnus-buffer-configuration): Add an only-article spec. + + * nnmbox.el (nnmbox-read-mbox): Mark buffer for deletion on Gnus exit. + Suggested by Dan Jacobson. + + * mm-encode.el (mm-content-transfer-encoding-defaults): Try to make the + documentation clearer. + + * message.el (message-shorten-references): Comment on the number "21". + Suggested by Stefan Monnier. + + * gnus-sum.el (gnus-summary-scroll-up): Add more documentation. + Suggested by Dan Jacobson. + + * gnus.el (gnus-large-newsgroup): + Mention gnus-large-ephemeral-newsgroup. Suggested by Dan Jacobson. + + * gnus-msg.el (gnus-summary-resend-message): When resending, don't + externalize attachments. Bug reported by Steve Wen. + + * gnus.el (gnus-continuum-version): Make inactive, since it doesn't + really message anything to the user. + + * nnmail.el (nnmail-article-group): Allow using the fancy split method + directly. + + * nnimap.el (nnimap-request-group): Low higher than high to signal no + messages in empty groups. + +2010-10-01 Ted Zlatanov + + * nnimap.el (nnimap-request-group): Don't bug out when there's an empty + non-UIDNEXT group. + +2010-10-01 Lars Magne Ingebrigtsen + + * gnus-group.el (gnus-group-completing-read): Return the symbol name, + not the value from the collection. + + * nnimap.el (nnimap-update-info): Ignore groups that have no UIDNEXT + values. This sometimes happens on some groups that have no info. + (nnimap-request-newgroups): New function. + +2010-10-01 Teodor Zlatanov + + * gnus-registry.el (gnus-registry-install-nnregistry): Move the feature + check into `gnus-registry-initialize'. + (gnus-registry-initialize): Ditto. + Fix and extend header docs. + +2010-10-01 Lars Magne Ingebrigtsen + + * gnus-html.el (gnus-html-prefetch-images): Adjust regexp to avoid + regexp backtrace overflows. + + * nnimap.el (nnimap-extend-tls-programs): Only extend those programs + for starttls that tls.el implements; i.e. openssl. + +2010-10-01 Katsumi Yamaoka + + * gravatar.el: Don't load image.el that XEmacs doesn't provide. + (gravatar-create-image): New function that's an alias to + gnus-xmas-create-image, gnus-create-image, or create-image. + (gravatar-data->image): Use it. + +2010-09-30 Teodor Zlatanov + + * gnus-registry.el (gnus-registry-install-nnregistry): New function to + install the nnregistry refer method. + (gnus-registry-install-hooks): Use it. + (gnus-registry-unfollowed-groups): Add nnmairix to the default + unfollowed groups. + +2010-09-30 Jose A. Ortega Ruiz (tiny change) + + * gnus-sum.el (gnus-summary-show-thread): Skip past invisible text when + expanding threads. + +2010-09-30 Lars Magne Ingebrigtsen + + * nnir.el: Use the server names without suffixes (bug #7009). + + * nnimap.el (nnimap-open-connection): Reinstate the auto-upgrade from + unencrypted to STARTTLS, if possible. + +2010-09-30 Teemu Likonen (tiny change) + + * message.el (message-ignored-supersedes-headers): Strip Injection-* + headers before superseding. + +2010-09-30 Lars Magne Ingebrigtsen + + * nnrss.el (nnrss-use-local): Add documentation. + + * nnimap.el (nnimap-extend-tls-programs): New function. + (nnimap-open-connection): Use tls.el exclusively, and not starttls.el. + (nnimap-wait-for-connection): Accept the greeting from the stupid + output from openssl s_client -starttls, too. + + * nnimap.el (nnimap-find-article-by-message-id): Really return the + article number. + (nnimap-split-fancy): New variable. + (nnimap-split-incoming-mail): Use it. + + * nntp.el (nntp-server-list-active-group): Document. + + * nnimap.el (nnimap-find-article-by-message-id): Use EXAMINE instead of + SELECT to get the message-id. + + * mail-source.el (mail-sources): Remove webmail support. + (defvar): Ditto. + (mail-source-fetcher-alist): Ditto. + (mail-source-fetch-webmail): Remove. + + * webmail.el: Remove -- doesn't seem relevant any more. + + * gnus.el: Fix up make-obsolete-variable declarations throughout. + + * nnimap.el (nnimap-request-accept-article): Get the Message-ID without + the \r. + +2010-09-30 Julien Danjou + + * gnus-agent.el (gnus-agent-add-group): Fix call to + gnus-completing-read. + +2010-09-29 Lars Magne Ingebrigtsen + + * nndoc.el (nndoc-retrieve-groups): New function. + + * nnimap.el (nnimap-split-incoming-mail): If nnimap-split-methods is + `default', use nnmail-split-methods. + (nnimap-request-article): Downcase the NILs so that they are nil. + + * gnus-sum.el (gnus-valid-move-group-p): Make sure that `group' is a + symbol. + + * nnimap.el (nnimap-open-connection): Revert the auto-network->starttls + code, since if the user has requested network, that's what they ought + to get. + (nnimap-request-set-mark): Erase the buffer before issuing commands. + (nnimap-split-rule): Mark as obsolete. + + * pop3.el (pop3-send-streaming-command, pop3-stream-length): + New variable. + + * nnimap.el (nnimap-insert-partial-structure): Get the type from the + correct slot, too. + +2010-09-29 Julien Danjou + + * gnus.el (gnus-local-domain): Declare variable obsolete. + + * gnus-util.el (gnus-icompleting-read): Require iswitchb. + Fix history computing. + (gnus-ido-completing-read): Require ido. + +2010-09-29 Lars Magne Ingebrigtsen + + * gnus-registry.el: Don't prompt on load, which makes it impossible to + build Gnus. + + * nnimap.el (nnimap-insert-partial-structure): Be way more permissive + when interpreting the structures. + (nnimap-request-accept-article): Add \r\n to the lines to make this + work with Cyrus. + + * nndraft.el (nndraft-request-expire-articles): Use the group name + instead if "nndraft". Fix found by Nils Ackermann. + +2010-09-29 Ludovic Courtes + + * nnregistry.el: Add. + +2010-09-29 Stefan Monnier + + * nnmail.el (group, group-art-list, group-art): + Remove unneeded directives. + +2010-09-29 Katsumi Yamaoka + + * mm-util.el (mm-codepage-iso-8859-list, mm-charset-eval-alist) + (mm-mime-charset) + * rfc2047.el (rfc2047-syntax-table) + * utf7.el (utf7-utf-16-coding-system): Comment fix. + + * nnrss.el (nnrss-read-server-data, nnrss-read-group-data): Use `load' + rather than `insert-file-contents' and `eval-region'. + +2010-09-29 Julien Danjou + + * gnus-gravatar.el (gnus-gravatar-properties): Add this properties in + replacement of `gnus-gravatar-relief' to mimic + `gnus-faces-properties-alist'. + Add :version property. + +2010-09-28 Katsumi Yamaoka + + * mail-source.el (mail-source-report-new-mail) + * message.el (message-default-mail-headers) + * mm-decode.el (mm-valid-image-format-p): Comment fix. + + * mml2015.el (mml2015-use): Don't bind recursive-load-depth-limit. + +2010-09-28 Julien Danjou + + * gnus-gravatar.el (gnus-gravatar-insert): Fix search in case + mail-address contains the same string as real-name. + + * gnus-ems.el (gnus-put-image): Revert Lars, change and insert + non-blank in header, otherwise it'll get stripped. + + * gnus-gravatar.el (gnus-gravatar-insert): Search backward for + real-name, and then for mail address rather than doing : or , search. + +2010-09-27 Julien Danjou + + * gnus-util.el (gnus-completing-read): Use gnus-use-ido to apply the + right completing-read function. + (gnus-use-ido): New variable + (gnus-completing-read-with-default): Remove. + * gnus-agent.el (gnus-agent-read-group): Remove prompt computing. + (gnus-agent-add-group): + * gnus-srvr.el (gnus-server-add-server, gnus-server-goto-server): + * mm-view.el (mm-view-pkcs7-decrypt): + * mm-util.el (mm-codepage-setup): + * smime.el (smime-sign-buffer, smime-decrypt-buffer): + * mml-smime.el (mml-smime-openssl-sign-query): + * mml.el (mml-minibuffer-read-type, mml-minibuffer-read-disposition) + (mml-insert-multipart): + * gnus-msg.el (gnus-summary-yank-message): + * gnus-int.el (gnus-start-news-server): + * mm-decode.el (mm-interactively-view-part): + * gnus-dired.el (gnus-dired-attach): + * gnus.el (gnus-read-method): + * gnus-bookmark.el (gnus-bookmark-jump): + * gnus-art.el (gnus-mime-view-part-as-type) + (gnus-mime-action-on-part, gnus-article-encrypt-body): + * gnus-topic.el (gnus-topic-jump-to-topic, gnus-topic-move-matching) + (gnus-topic-copy-matching, gnus-topic-sort-topics, gnus-topic-move): + * nnmairix.el (nnmairix-create-server-and-default-group) + (nnmairix-update-groups, nnmairix-get-server) + (nnmairix-backend-to-server, nnmairix-goto-original-article) + (nnmairix-get-group-from-file-path): + * nnrss.el (nnrss-find-rss-via-syndic8): + * gnus-group.el (gnus-group-completing-read, gnus-group-make-web-group) + (gnus-group-make-useful-group, gnus-group-add-to-virtual) + (gnus-group-browse-foreign-server): + * gnus-sum.el (gnus-summary-goto-article, gnus-summary-limit-to-extra) + (gnus-summary-execute-command, gnus-summary-respool-article) + (gnus-read-move-group-name): + * gnus-score.el (gnus-summary-increase-score) + (gnus-summary-score-effect): + * gnus-registry.el (gnus-registry-read-mark): Use gnus-completing-read. + +2010-09-28 Katsumi Yamaoka + + * nnimap.el (auth-source-forget-user-or-password) + (auth-source-user-or-password): Autoload. + + * message.el (message-from-style, message-interactive) + (message-signature): Remove comment. + (message-cite-prefix-regexp): Default to mail-citation-prefix-regexp + always. + (message-sendmail-envelope-from): Comment fix. + (message-yank-prefix): Default to mail-yank-prefix always. + (message-indentation-spaces): + Default to mail-indentation-spaces always. + (message-signature-file): Default to mail-signature-file always. + +2010-09-27 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-read-group-1): Set gnus-newsgroup-highest. + (gnus-summary-insert-new-articles): Use gnus-newsgroup-highest to get + new articles. + + * nnimap.el (nnimap-request-article): Don't partial-fetch single-part + parts. + (nnimap-request-article): Work with the t setting, too. + + * gnus-sum.el (gnus-summary-exit): Kill the article buffer later, so + that you don't get flashes of other buffers. + (gnus-summary-show-complete-article): Intern before setting. + +2010-09-27 David Engster + + * nnmairix.el (nnmairix-replace-group-and-numbers): Deal with NOV as + well as HEADERS. + (nnmairix-retrieve-headers): Provide new argument for the above. + +2010-09-27 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-move-article): Don't alter + gnus-newsgroup-active. This makes `/ N' work after copying to the same + group. + + * nnimap.el (nnimap-update-info): Don't destructively alter active. + + * message.el (message-cite-prefix-regexp): Revert my last edit. + + * gnus-sum.el (gnus-summary-show-complete-article): Bind the server + variable instead of the Gnus variable. + + * nnimap.el (nnimap-find-wanted-parts-1): Use it. + + * gnus-art.el (gnus-fetch-partial-articles): Move back to nnimap again. + + * nnimap.el (nnimap-request-accept-article): Remove the "." at the end, + since some servers don't like it. + (nnimap-open-connection): Forget credentials if the server says the + password was wrong. + (nnimap-parse-line): Protect against invalid data. + + * gnus-sum.el (gnus-summary-move-article): Add comment. + (gnus-summary-insert-new-articles): Copy the old-high watermark so that + nothing alters it while scanning for new messages. + + * nnimap.el (nnimap-request-accept-article): Send a "." at the end, + which may or may not help. + (nnimap-open-connection): If we're doing a stream connection, and then + discover we're on a STARTTLS-capable server, then open a STARTTLS + connection instead. + +2010-09-27 Lars Magne Ingebrigtsen + + * nnimap.el (utf7): Require. + + * message.el (message-cite-prefix-regexp): Remove "}" from citation + prefix. + +2010-09-27 Juanma Barranquero * nnmail.el (nnmail-fancy-expiry-targets): Fix typo in docstring. diff --cc lisp/gnus/pop3.el index 327c5297492,b445b8979ea..eef53c2797d --- a/lisp/gnus/pop3.el +++ b/lisp/gnus/pop3.el @@@ -342,7 -268,13 +336,14 @@@ Returns the process associated with th (setq pop3-timestamp (substring response (or (string-match "<" response) 0) (+ 1 (or (string-match ">" response) -1))))) + (when (eq pop3-stream-type 'starttls) + (pop3-send-command process "STLS") + (let ((response (pop3-read-response process t))) + (if (and response (string-match "+OK" response)) + (starttls-negotiate process) + (pop3-quit process) + (error "POP server doesn't support starttls")))) + (pop3-set-process-query-on-exit-flag process nil) process))) ;; Support functions diff --cc lisp/net/tramp.el index 10b3c7bd04c,a9733fc6a0f..789677ce643 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@@ -331,11 -814,12 +331,11 @@@ empty string for the user name See `tramp-methods' for a list of possibilities for METHOD." :group 'tramp - :type '(repeat (list (regexp :tag "Host regexp") - (regexp :tag "User regexp") - (string :tag "Method")))) + :type '(repeat (list (choice :tag "Host regexp" regexp sexp) + (choice :tag "User regexp" regexp sexp) + (choice :tag "Method name" string (const nil))))) -(defcustom tramp-default-user - nil +(defcustom tramp-default-user nil "*Default user to use for transferring files. It is nil by default; otherwise settings in configuration files like \"~/.ssh/config\" would be overwritten. Also see `tramp-default-user-alist'. @@@ -355,11 -842,12 +355,11 @@@ matches, the variable `tramp-default-us If the file name does not specify the method, lookup is done using the empty string for the method name." :group 'tramp - :type '(repeat (list (regexp :tag "Method regexp") - (regexp :tag "Host regexp") - (string :tag "User")))) + :type '(repeat (list (choice :tag "Method regexp" regexp sexp) + (choice :tag " Host regexp" regexp sexp) + (choice :tag " User name" string (const nil))))) -(defcustom tramp-default-host - (system-name) +(defcustom tramp-default-host (system-name) "*Default host to use for transferring files. Useful for su and sudo methods mostly." :group 'tramp diff --cc lisp/vc/log-edit.el index c0aa595d968,00000000000..2bce58f50f2 mode 100644,000000..100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el @@@ -1,880 -1,0 +1,879 @@@ +;;; log-edit.el --- Major mode for editing CVS commit messages + +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +;; 2008, 2009, 2010 Free Software Foundation, Inc. + +;; Author: Stefan Monnier +;; Keywords: pcl-cvs cvs commit log vc + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; Todo: + +;; - Move in VC's code +;; - Add compatibility for VC's hook variables + +;;; Code: + +(eval-when-compile (require 'cl)) +(require 'add-log) ; for all the ChangeLog goodies +(require 'pcvs-util) +(require 'ring) + +;;;; +;;;; Global Variables +;;;; + +(defgroup log-edit nil + "Major mode for editing RCS and CVS commit messages." + :group 'pcl-cvs + :group 'vc ; It's used by VC. + :version "21.1" + :prefix "log-edit-") + +;; compiler pacifiers +(defvar cvs-buffer) + + +;; The main keymap + +(easy-mmode-defmap log-edit-mode-map + `(("\C-c\C-c" . log-edit-done) + ("\C-c\C-a" . log-edit-insert-changelog) + ("\C-c\C-d" . log-edit-show-diff) + ("\C-c\C-f" . log-edit-show-files) + ("\M-n" . log-edit-next-comment) + ("\M-p" . log-edit-previous-comment) + ("\M-r" . log-edit-comment-search-backward) + ("\M-s" . log-edit-comment-search-forward) + ("\C-c?" . log-edit-mode-help)) + "Keymap for the `log-edit-mode' (to edit version control log messages)." + :group 'log-edit) + +;; Compatibility with old names. Should we bother ? +(defvar vc-log-mode-map log-edit-mode-map) +(defvar vc-log-entry-mode vc-log-mode-map) + +(easy-menu-define log-edit-menu log-edit-mode-map + "Menu used for `log-edit-mode'." + '("Log-Edit" + ["Done" log-edit-done + :help "Exit log-edit and proceed with the actual action."] + "--" + ["Insert ChangeLog" log-edit-insert-changelog + :help "Insert a log message by looking at the ChangeLog"] + ["Add to ChangeLog" log-edit-add-to-changelog + :help "Insert this log message into the appropriate ChangeLog file"] + "--" + ["Show diff" log-edit-show-diff + :help "Show the diff for the files to be committed."] + ["List files" log-edit-show-files + :help "Show the list of relevant files."] + "--" + ["Previous comment" log-edit-previous-comment + :help "Cycle backwards through comment history"] + ["Next comment" log-edit-next-comment + :help "Cycle forwards through comment history."] + ["Search comment forward" log-edit-comment-search-forward + :help "Search forwards through comment history for a substring match of str"] + ["Search comment backward" log-edit-comment-search-backward + :help "Search backwards through comment history for substring match of str"])) + +(defcustom log-edit-confirm 'changed + "If non-nil, `log-edit-done' will request confirmation. +If 'changed, only request confirmation if the list of files has + changed since the beginning of the log-edit session." + :group 'log-edit + :type '(choice (const changed) (const t) (const nil))) + +(defcustom log-edit-keep-buffer nil + "If non-nil, don't hide the buffer after `log-edit-done'." + :group 'log-edit + :type 'boolean) + +(defvar cvs-commit-buffer-require-final-newline t) +(make-obsolete-variable 'cvs-commit-buffer-require-final-newline + 'log-edit-require-final-newline + "21.1") + +(defcustom log-edit-require-final-newline + cvs-commit-buffer-require-final-newline + "Enforce a newline at the end of commit log messages. +Enforce it silently if t, query if non-nil and don't do anything if nil." + :group 'log-edit + :type '(choice (const ask) (const t) (const nil))) + +(defcustom log-edit-setup-invert nil + "Non-nil means `log-edit' should invert the meaning of its SETUP arg. +If SETUP is 'force, this variable has no effect." + :group 'log-edit + :type 'boolean) + +(defcustom log-edit-hook '(log-edit-insert-cvs-template + log-edit-show-files + log-edit-insert-changelog) + "Hook run at the end of `log-edit'." + :group 'log-edit + :type '(hook :options (log-edit-insert-changelog + log-edit-insert-cvs-rcstemplate + log-edit-insert-cvs-template + log-edit-insert-filenames))) + +(defcustom log-edit-mode-hook (if (boundp 'vc-log-mode-hook) vc-log-mode-hook) + "Hook run when entering `log-edit-mode'." + :group 'log-edit + :type 'hook) + +(defcustom log-edit-done-hook nil + "Hook run before doing the actual commit. +This hook can be used to cleanup the message, enforce various +conventions, or to allow recording the message in some other database, +such as a bug-tracking system. The list of files about to be committed +can be obtained from `log-edit-files'." + :group 'log-edit + :type '(hook :options (log-edit-set-common-indentation + log-edit-add-to-changelog))) + +(defcustom log-edit-strip-single-file-name nil + "If non-nil, remove file name from single-file log entries." + :type 'boolean + :safe 'booleanp + :group 'log-edit + :version "24.1") + +(defvar cvs-changelog-full-paragraphs t) +(make-obsolete-variable 'cvs-changelog-full-paragraphs + 'log-edit-changelog-full-paragraphs + "21.1") + +(defvar log-edit-changelog-full-paragraphs cvs-changelog-full-paragraphs + "*If non-nil, include full ChangeLog paragraphs in the log. +This may be set in the ``local variables'' section of a ChangeLog, to +indicate the policy for that ChangeLog. + +A ChangeLog paragraph is a bunch of log text containing no blank lines; +a paragraph usually describes a set of changes with a single purpose, +but perhaps spanning several functions in several files. Changes in +different paragraphs are unrelated. + +You could argue that the log entry for a file should contain the +full ChangeLog paragraph mentioning the change to the file, even though +it may mention other files, because that gives you the full context you +need to understand the change. This is the behavior you get when this +variable is set to t. + +On the other hand, you could argue that the log entry for a change +should contain only the text for the changes which occurred in that +file, because the log is per-file. This is the behavior you get +when this variable is set to nil.") + +;;;; Internal global or buffer-local vars + +(defconst log-edit-files-buf "*log-edit-files*") +(defvar log-edit-initial-files nil) +(defvar log-edit-callback nil) +(defvar log-edit-diff-function nil) +(defvar log-edit-listfun nil) + +(defvar log-edit-parent-buffer nil) + +;;; Originally taken from VC-Log mode + +(defconst log-edit-maximum-comment-ring-size 32 + "Maximum number of saved comments in the comment ring.") +(defvar log-edit-comment-ring (make-ring log-edit-maximum-comment-ring-size)) +(defvar log-edit-comment-ring-index nil) +(defvar log-edit-last-comment-match "") + +(defun log-edit-new-comment-index (stride len) + "Return the comment index STRIDE elements from the current one. +LEN is the length of `log-edit-comment-ring'." + (mod (cond + (log-edit-comment-ring-index (+ log-edit-comment-ring-index stride)) + ;; Initialize the index on the first use of this command + ;; so that the first M-p gets index 0, and the first M-n gets + ;; index -1. + ((> stride 0) (1- stride)) + (t stride)) + len)) + +(defun log-edit-previous-comment (arg) + "Cycle backwards through comment history. +With a numeric prefix ARG, go back ARG comments." + (interactive "*p") + (let ((len (ring-length log-edit-comment-ring))) + (if (<= len 0) + (progn (message "Empty comment ring") (ding)) + ;; Don't use `erase-buffer' because we don't want to `widen'. + (delete-region (point-min) (point-max)) + (setq log-edit-comment-ring-index (log-edit-new-comment-index arg len)) + (message "Comment %d" (1+ log-edit-comment-ring-index)) + (insert (ring-ref log-edit-comment-ring log-edit-comment-ring-index))))) + +(defun log-edit-next-comment (arg) + "Cycle forwards through comment history. +With a numeric prefix ARG, go forward ARG comments." + (interactive "*p") + (log-edit-previous-comment (- arg))) + +(defun log-edit-comment-search-backward (str &optional stride) + "Search backwards through comment history for substring match of STR. +If the optional argument STRIDE is present, that is a step-width to use +when going through the comment ring." + ;; Why substring rather than regexp ? -sm + (interactive + (list (read-string "Comment substring: " nil nil log-edit-last-comment-match))) + (unless stride (setq stride 1)) + (if (string= str "") + (setq str log-edit-last-comment-match) + (setq log-edit-last-comment-match str)) + (let* ((str (regexp-quote str)) + (len (ring-length log-edit-comment-ring)) + (n (log-edit-new-comment-index stride len))) + (while (progn (when (or (>= n len) (< n 0)) (error "Not found")) + (not (string-match str (ring-ref log-edit-comment-ring n)))) + (setq n (+ n stride))) + (setq log-edit-comment-ring-index n) + (log-edit-previous-comment 0))) + +(defun log-edit-comment-search-forward (str) + "Search forwards through comment history for a substring match of STR." + (interactive + (list (read-string "Comment substring: " nil nil log-edit-last-comment-match))) + (log-edit-comment-search-backward str -1)) + +(defun log-edit-comment-to-change-log (&optional whoami file-name) + "Enter last VC comment into the change log for the current file. +WHOAMI (interactive prefix) non-nil means prompt for user name +and site. FILE-NAME is the name of the change log; if nil, use +`change-log-default-name'. + +This may be useful as a `log-edit-checkin-hook' to update change logs +automatically." + (interactive (if current-prefix-arg + (list current-prefix-arg + (prompt-for-change-log-name)))) + (let (;; Extract the comment first so we get any error before doing anything. + (comment (ring-ref log-edit-comment-ring 0)) + ;; Don't let add-change-log-entry insert a defun name. + (add-log-current-defun-function 'ignore) + end) + ;; Call add-log to do half the work. + (add-change-log-entry whoami file-name t t) + ;; Insert the VC comment, leaving point before it. + (setq end (save-excursion (insert comment) (point-marker))) + (if (looking-at "\\s *\\s(") + ;; It starts with an open-paren, as in "(foo): Frobbed." + ;; So remove the ": " add-log inserted. + (delete-char -2)) + ;; Canonicalize the white space between the file name and comment. + (just-one-space) + ;; Indent rest of the text the same way add-log indented the first line. + (let ((indentation (current-indentation))) + (save-excursion + (while (< (point) end) + (forward-line 1) + (indent-to indentation)) + (setq end (point)))) + ;; Fill the inserted text, preserving open-parens at bol. + (let ((paragraph-start (concat paragraph-start "\\|\\s *\\s("))) + (beginning-of-line) + (fill-region (point) end)) + ;; Canonicalize the white space at the end of the entry so it is + ;; separated from the next entry by a single blank line. + (skip-syntax-forward " " end) + (delete-char (- (skip-syntax-backward " "))) + (or (eobp) (looking-at "\n\n") + (insert "\n")))) + +;; Compatibility with old names. +(define-obsolete-variable-alias 'vc-comment-ring 'log-edit-comment-ring "22.1") +(define-obsolete-variable-alias 'vc-comment-ring-index 'log-edit-comment-ring-index "22.1") +(define-obsolete-function-alias 'vc-previous-comment 'log-edit-previous-comment "22.1") +(define-obsolete-function-alias 'vc-next-comment 'log-edit-next-comment "22.1") +(define-obsolete-function-alias 'vc-comment-search-reverse 'log-edit-comment-search-backward "22.1") +(define-obsolete-function-alias 'vc-comment-search-forward 'log-edit-comment-search-forward "22.1") +(define-obsolete-function-alias 'vc-comment-to-change-log 'log-edit-comment-to-change-log "22.1") + +;;; +;;; Actual code +;;; + +(defface log-edit-summary '((t :inherit font-lock-function-name-face)) + "Face for the summary in `log-edit-mode' buffers.") + +(defface log-edit-header '((t :inherit font-lock-keyword-face)) + "Face for the headers in `log-edit-mode' buffers.") + +(defface log-edit-unknown-header '((t :inherit font-lock-comment-face)) + "Face for unknown headers in `log-edit-mode' buffers.") + +(defvar log-edit-headers-alist '(("Summary" . log-edit-summary) + ("Fixes") ("Author")) + "AList of known headers and the face to use to highlight them.") + +(defconst log-edit-header-contents-regexp + "[ \t]*\\(.*\\(\n[ \t].*\\)*\\)\n?") + +(defun log-edit-match-to-eoh (limit) + ;; FIXME: copied from message-match-to-eoh. + (let ((start (point))) + (rfc822-goto-eoh) + ;; Typical situation: some temporary change causes the header to be + ;; incorrect, so EOH comes earlier than intended: the last lines of the + ;; intended headers are now not considered part of the header any more, + ;; so they don't have the multiline property set. When the change is + ;; completed and the header has its correct shape again, the lack of the + ;; multiline property means we won't rehighlight the last lines of + ;; the header. + (if (< (point) start) + nil ;No header within start..limit. + ;; Here we disregard LIMIT so that we may extend the area again. + (set-match-data (list start (point))) + (point)))) + +(defvar log-edit-font-lock-keywords + ;; Copied/inspired by message-font-lock-keywords. + `((log-edit-match-to-eoh - (,(concat "^\\(\\([a-z]+\\):\\)" log-edit-header-contents-regexp - "\\|\\(.*\\)") ++ (,(concat "^\\(\\([a-z]+\\):\\)" log-edit-header-contents-regexp) + (progn (goto-char (match-beginning 0)) (match-end 0)) nil + (1 (if (assoc (match-string 2) log-edit-headers-alist) + 'log-edit-header + 'log-edit-unknown-header) + nil lax) ++ ;; From `log-edit-header-contents-regexp': + (3 (or (cdr (assoc (match-string 2) log-edit-headers-alist)) + 'log-edit-header) - nil lax) - (4 font-lock-warning-face))))) ++ nil lax))))) + +;;;###autoload +(defun log-edit (callback &optional setup params buffer mode &rest ignore) + "Setup a buffer to enter a log message. +\\The buffer will be put in mode MODE or `log-edit-mode' +if MODE is nil. +If SETUP is non-nil, the buffer is then erased and `log-edit-hook' is run. +Mark and point will be set around the entire contents of the buffer so +that it is easy to kill the contents of the buffer with \\[kill-region]. +Once you're done editing the message, pressing \\[log-edit-done] will call +`log-edit-done' which will end up calling CALLBACK to do the actual commit. + +PARAMS if non-nil is an alist. Possible keys and associated values: + `log-edit-listfun' -- function taking no arguments that returns the list of + files that are concerned by the current operation (using relative names); + `log-edit-diff-function' -- function taking no arguments that + displays a diff of the files concerned by the current operation. + +If BUFFER is non-nil `log-edit' will jump to that buffer, use it to edit the +log message and go back to the current buffer when done. Otherwise, it +uses the current buffer." + (let ((parent (current-buffer))) + (if buffer (pop-to-buffer buffer)) + (when (and log-edit-setup-invert (not (eq setup 'force))) + (setq setup (not setup))) + (when setup + (erase-buffer) + (insert "Summary: ") + (save-excursion (insert "\n\n"))) + (if mode + (funcall mode) + (log-edit-mode)) + (set (make-local-variable 'log-edit-callback) callback) + (if (listp params) + (dolist (crt params) + (set (make-local-variable (car crt)) (cdr crt))) + ;; For backward compatibility with log-edit up to version 22.2 + ;; accept non-list PARAMS to mean `log-edit-list'. + (set (make-local-variable 'log-edit-listfun) params)) + + (if buffer (set (make-local-variable 'log-edit-parent-buffer) parent)) + (set (make-local-variable 'log-edit-initial-files) (log-edit-files)) + (when setup (run-hooks 'log-edit-hook)) + (goto-char (point-min)) (push-mark (point-max)) + (message "%s" (substitute-command-keys + "Press \\[log-edit-done] when you are done editing.")))) + +(define-derived-mode log-edit-mode text-mode "Log-Edit" + "Major mode for editing version-control log messages. +When done editing the log entry, just type \\[log-edit-done] which +will trigger the actual commit of the file(s). +Several other handy support commands are provided of course and +the package from which this is used might also provide additional +commands (under C-x v for VC, for example). + +\\{log-edit-mode-map}" + (set (make-local-variable 'font-lock-defaults) + '(log-edit-font-lock-keywords t t)) + (make-local-variable 'log-edit-comment-ring-index) + (hack-dir-local-variables-non-file-buffer)) + +(defun log-edit-hide-buf (&optional buf where) + (when (setq buf (get-buffer (or buf log-edit-files-buf))) + (let ((win (get-buffer-window buf where))) + (if win (ignore-errors (delete-window win)))) + (bury-buffer buf))) + +(defun log-edit-done () + "Finish editing the log message and commit the files. +If you want to abort the commit, simply delete the buffer." + (interactive) + ;; Clean up empty headers. + (goto-char (point-min)) + (while (looking-at (concat "^[a-z]*:" log-edit-header-contents-regexp)) + (let ((beg (match-beginning 0))) + (goto-char (match-end 0)) + (if (string-match "\\`[ \n\t]*\\'" (match-string 1)) + (delete-region beg (point))))) + ;; Get rid of leading empty lines. + (goto-char (point-min)) + (when (looking-at "\\([ \t]*\n\\)+") + (delete-region (match-beginning 0) (match-end 0))) + ;; Get rid of trailing empty lines + (goto-char (point-max)) + (skip-syntax-backward " ") + (when (equal (char-after) ?\n) (forward-char 1)) + (delete-region (point) (point-max)) + ;; Check for final newline + (if (and (> (point-max) (point-min)) + (/= (char-before (point-max)) ?\n) + (or (eq log-edit-require-final-newline t) + (and log-edit-require-final-newline + (y-or-n-p + (format "Buffer %s does not end in newline. Add one? " + (buffer-name)))))) + (save-excursion + (goto-char (point-max)) + (insert ?\n))) + (let ((comment (buffer-string))) + (when (or (ring-empty-p log-edit-comment-ring) + (not (equal comment (ring-ref log-edit-comment-ring 0)))) + (ring-insert log-edit-comment-ring comment))) + (let ((win (get-buffer-window log-edit-files-buf))) + (if (and log-edit-confirm + (not (and (eq log-edit-confirm 'changed) + (equal (log-edit-files) log-edit-initial-files))) + (progn + (log-edit-show-files) + (not (y-or-n-p "Really commit? ")))) + (progn (when (not win) (log-edit-hide-buf)) + (message "Oh, well! Later maybe?")) + (run-hooks 'log-edit-done-hook) + (log-edit-hide-buf) + (unless (or log-edit-keep-buffer (not log-edit-parent-buffer)) + (cvs-bury-buffer (current-buffer) log-edit-parent-buffer)) + (call-interactively log-edit-callback)))) + +(defun log-edit-files () + "Return the list of files that are about to be committed." + (ignore-errors (funcall log-edit-listfun))) + +(defun log-edit-mode-help () + "Provide help for the `log-edit-mode-map'." + (interactive) + (if (eq last-command 'log-edit-mode-help) + (describe-function major-mode) + (message "%s" + (substitute-command-keys + "Type `\\[log-edit-done]' to finish commit. Try `\\[describe-function] log-edit-done' for more help.")))) + +(defcustom log-edit-common-indent 0 + "Minimum indentation to use in `log-edit-set-common-indentation'." + :group 'log-edit + :type 'integer) + +(defun log-edit-set-common-indentation () + "(Un)Indent the current buffer rigidly to `log-edit-common-indent'." + (save-excursion + (let ((common (point-max))) + (rfc822-goto-eoh) + (while (< (point) (point-max)) + (if (not (looking-at "^[ \t]*$")) + (setq common (min common (current-indentation)))) + (forward-line 1)) + (rfc822-goto-eoh) + (indent-rigidly (point) (point-max) + (- log-edit-common-indent common))))) + +(defun log-edit-show-diff () + "Show the diff for the files to be committed." + (interactive) + (if (functionp log-edit-diff-function) + (funcall log-edit-diff-function) + (error "Diff functionality has not been setup"))) + +(defun log-edit-show-files () + "Show the list of files to be committed." + (interactive) + (let* ((files (log-edit-files)) + (buf (get-buffer-create log-edit-files-buf))) + (with-current-buffer buf + (log-edit-hide-buf buf 'all) + (setq buffer-read-only nil) + (erase-buffer) + (cvs-insert-strings files) + (setq buffer-read-only t) + (goto-char (point-min)) + (save-selected-window + (cvs-pop-to-buffer-same-frame buf) + (shrink-window-if-larger-than-buffer) + (selected-window))))) + +(defun log-edit-insert-cvs-template () + "Insert the template specified by the CVS administrator, if any. +This simply uses the local CVS/Template file." + (interactive) + (when (or (called-interactively-p 'interactive) + (= (point-min) (point-max))) + (when (file-readable-p "CVS/Template") + (insert-file-contents "CVS/Template")))) + +(defun log-edit-insert-cvs-rcstemplate () + "Insert the rcstemplate from the CVS repository. +This contacts the repository to get the rcstemplate file and +can thus take some time." + (interactive) + (when (or (called-interactively-p 'interactive) + (= (point-min) (point-max))) + (when (file-readable-p "CVS/Root") + ;; Ignore the stderr stuff, even if it's an error. + (call-process "cvs" nil '(t nil) nil + "checkout" "-p" "CVSROOT/rcstemplate")))) + +(defun log-edit-insert-filenames () + "Insert the list of files that are to be committed." + (interactive) + (insert "Affected files: \n" + (mapconcat 'identity (log-edit-files) " \n"))) + +(defun log-edit-add-to-changelog () + "Insert this log message into the appropriate ChangeLog file." + (interactive) + ;; Yuck! + (unless (string= (buffer-string) (ring-ref log-edit-comment-ring 0)) + (ring-insert log-edit-comment-ring (buffer-string))) + (dolist (f (log-edit-files)) + (let ((buffer-file-name (expand-file-name f))) + (save-excursion + (log-edit-comment-to-change-log))))) + +(defvar log-edit-changelog-use-first nil) + +(defvar log-edit-rewrite-fixes nil + "Rule to rewrite bug numbers into Fixes: headers. +The value should be of the form (REGEXP . REPLACEMENT) +where REGEXP should match the expression referring to a bug number +in the text, and REPLACEMENT is an expression to pass to `replace-match' +to build the Fixes: header.") +(put 'log-edit-rewrite-fixes 'safe-local-variable + (lambda (v) (and (stringp (car-safe v)) (stringp (cdr v))))) + +(defun log-edit-insert-changelog (&optional use-first) + "Insert a log message by looking at the ChangeLog. +The idea is to write your ChangeLog entries first, and then use this +command to commit your changes. + +To select default log text, we: +- find the ChangeLog entries for the files to be checked in, +- verify that the top entry in the ChangeLog is on the current date + and by the current user; if not, we don't provide any default text, +- search the ChangeLog entry for paragraphs containing the names of + the files we're checking in, and finally +- use those paragraphs as the log text. + +If the optional prefix arg USE-FIRST is given (via \\[universal-argument]), +or if the command is repeated a second time in a row, use the first log entry +regardless of user name or time." + (interactive "P") + (let ((eoh (save-excursion (rfc822-goto-eoh) (point)))) + (when (<= (point) eoh) + (goto-char eoh) + (if (looking-at "\n") (forward-char 1)))) + (let ((author + (let ((log-edit-changelog-use-first + (or use-first (eq last-command 'log-edit-insert-changelog)))) + (log-edit-insert-changelog-entries (log-edit-files))))) + (log-edit-set-common-indentation) + ;; Add an Author: field if appropriate. + (when author + (rfc822-goto-eoh) + (insert "Author: " author "\n" (if (looking-at "\n") "" "\n"))) + ;; Add a Fixes: field if applicable. + (when (consp log-edit-rewrite-fixes) + (rfc822-goto-eoh) + (when (re-search-forward (car log-edit-rewrite-fixes) nil t) + (let ((start (match-beginning 0)) + (end (match-end 0)) + (fixes (match-substitute-replacement + (cdr log-edit-rewrite-fixes)))) + (delete-region start end) + (rfc822-goto-eoh) + (insert "Fixes: " fixes "\n" (if (looking-at "\n") "" "\n"))))) + (goto-char (point-min)) + (when (and log-edit-strip-single-file-name (looking-at "\\*\\s-+")) + (forward-line 1) + (when (not (re-search-forward "^\\*\\s-+" nil t)) + (goto-char (point-min)) + (skip-chars-forward "^():") + (skip-chars-forward ": ") + (delete-region (point-min) (point)))))) + +;;;; +;;;; functions for getting commit message from ChangeLog a file... +;;;; Courtesy Jim Blandy +;;;; + +(defun log-edit-narrow-changelog () + "Narrow to the top page of the current buffer, a ChangeLog file. +Actually, the narrowed region doesn't include the date line. +A \"page\" in a ChangeLog file is the area between two dates." + (or (eq major-mode 'change-log-mode) + (error "log-edit-narrow-changelog: current buffer isn't a ChangeLog")) + + (goto-char (point-min)) + + ;; Skip date line and subsequent blank lines. + (forward-line 1) + (if (looking-at "[ \t\n]*\n") + (goto-char (match-end 0))) + + (let ((start (point))) + (forward-page 1) + (narrow-to-region start (point)) + (goto-char (point-min)))) + +(defun log-edit-changelog-paragraph () + "Return the bounds of the ChangeLog paragraph containing point. +If we are between paragraphs, return the previous paragraph." + (beginning-of-line) + (if (looking-at "^[ \t]*$") + (skip-chars-backward " \t\n" (point-min))) + (list (progn + (if (re-search-backward "^[ \t]*\n" nil 'or-to-limit) + (goto-char (match-end 0))) + (point)) + (if (re-search-forward "^[ \t\n]*$" nil t) + (match-beginning 0) + (point-max)))) + +(defun log-edit-changelog-subparagraph () + "Return the bounds of the ChangeLog subparagraph containing point. +A subparagraph is a block of non-blank lines beginning with an asterisk. +If we are between sub-paragraphs, return the previous subparagraph." + (end-of-line) + (if (search-backward "*" nil t) + (list (progn (beginning-of-line) (point)) + (progn + (forward-line 1) + (if (re-search-forward "^[ \t]*[\n*]" nil t) + (match-beginning 0) + (point-max)))) + (list (point) (point)))) + +(defun log-edit-changelog-entry () + "Return the bounds of the ChangeLog entry containing point. +The variable `log-edit-changelog-full-paragraphs' decides whether an +\"entry\" is a paragraph or a subparagraph; see its documentation string +for more details." + (save-excursion + (if log-edit-changelog-full-paragraphs + (log-edit-changelog-paragraph) + (log-edit-changelog-subparagraph)))) + +(defvar user-full-name) +(defvar user-mail-address) + +(defvar log-edit-author) ;Dynamically scoped. + +(defun log-edit-changelog-ours-p () + "See if ChangeLog entry at point is for the current user, today. +Return non-nil if it is." + ;; Code adapted from add-change-log-entry. + (let ((name (or (and (boundp 'add-log-full-name) add-log-full-name) + (and (fboundp 'user-full-name) (user-full-name)) + (and (boundp 'user-full-name) user-full-name))) + (mail (or (and (boundp 'add-log-mailing-address) add-log-mailing-address) + ;;(and (fboundp 'user-mail-address) (user-mail-address)) + (and (boundp 'user-mail-address) user-mail-address))) + (time (or (and (boundp 'add-log-time-format) + (functionp add-log-time-format) + (funcall add-log-time-format)) + (format-time-string "%Y-%m-%d")))) + (if (null log-edit-changelog-use-first) + (looking-at (regexp-quote (format "%s %s <%s>" time name mail))) + ;; Check the author, to potentially add it as a "Author: " header. + (when (looking-at "[^ \t]") + (when (and (boundp 'log-edit-author) + (not (looking-at (format ".+ .+ <%s>" + (regexp-quote mail)))) + (looking-at ".+ \\(.+ <.+>\\)")) + (let ((author (replace-regexp-in-string " " " " + (match-string 1)))) + (unless (and log-edit-author + (string-match (regexp-quote author) log-edit-author)) + (setq log-edit-author + (if log-edit-author + (concat log-edit-author ", " author) + author))))) + t)))) + +(defun log-edit-changelog-entries (file) + "Return the ChangeLog entries for FILE, and the ChangeLog they came from. +The return value looks like this: + (LOGBUFFER (ENTRYSTART ENTRYEND) ...) +where LOGBUFFER is the name of the ChangeLog buffer, and each +\(ENTRYSTART . ENTRYEND\) pair is a buffer region." + (let ((changelog-file-name + (let ((default-directory + (file-name-directory (expand-file-name file))) + (visiting-buffer (find-buffer-visiting file))) + ;; If there is a buffer visiting FILE, and it has a local + ;; value for `change-log-default-name', use that. + (if (and visiting-buffer + (local-variable-p 'change-log-default-name + visiting-buffer)) + (with-current-buffer visiting-buffer + change-log-default-name) + ;; `find-change-log' uses `change-log-default-name' if set + ;; and sets it before exiting, so we need to work around + ;; that memoizing which is undesired here + (setq change-log-default-name nil) + (find-change-log))))) + (with-current-buffer (find-file-noselect changelog-file-name) + (unless (eq major-mode 'change-log-mode) (change-log-mode)) + (goto-char (point-min)) + (if (looking-at "\\s-*\n") (goto-char (match-end 0))) + (if (not (log-edit-changelog-ours-p)) + (list (current-buffer)) + (save-restriction + (log-edit-narrow-changelog) + (goto-char (point-min)) + + ;; Search for the name of FILE relative to the ChangeLog. If that + ;; doesn't occur anywhere, they're not using full relative + ;; filenames in the ChangeLog, so just look for FILE; we'll accept + ;; some false positives. + (let ((pattern (file-relative-name + file (file-name-directory changelog-file-name)))) + (if (or (string= pattern "") + (not (save-excursion + (search-forward pattern nil t)))) + (setq pattern (file-name-nondirectory file))) + + (setq pattern (concat "\\(^\\|[^[:alnum:]]\\)" + pattern + "\\($\\|[^[:alnum:]]\\)")) + + (let (texts + (pos (point))) + (while (and (not (eobp)) (re-search-forward pattern nil t)) + (let ((entry (log-edit-changelog-entry))) + (if (< (elt entry 1) (max (1+ pos) (point))) + ;; This is not relevant, actually. + nil + (push entry texts)) + ;; Make sure we make progress. + (setq pos (max (1+ pos) (elt entry 1))) + (goto-char pos))) + + (cons (current-buffer) texts)))))))) + +(defun log-edit-changelog-insert-entries (buffer beg end &rest files) + "Insert the text from BUFFER between BEG and END. +Rename relative filenames in the ChangeLog entry as FILES." + (let ((opoint (point)) + (log-name (buffer-file-name buffer)) + (case-fold-search nil) + bound) + (insert-buffer-substring buffer beg end) + (setq bound (point-marker)) + (when log-name + (dolist (f files) + (save-excursion + (goto-char opoint) + (when (re-search-forward + (concat "\\(^\\|[ \t]\\)\\(" + (file-relative-name f (file-name-directory log-name)) + "\\)[, :\n]") + bound t) + (replace-match f t t nil 2))))) + ;; Eliminate tabs at the beginning of the line. + (save-excursion + (goto-char opoint) + (while (re-search-forward "^\\(\t+\\)" bound t) + (replace-match ""))))) + +(defun log-edit-insert-changelog-entries (files) + "Given a list of files FILES, insert the ChangeLog entries for them." + (let ((log-entries nil) + (log-edit-author nil)) + ;; Note that any ChangeLog entry can apply to more than one file. + ;; Here we construct a log-entries list with elements of the form + ;; ((LOGBUFFER ENTRYSTART ENTRYEND) FILE1 FILE2...) + (dolist (file files) + (let* ((entries (log-edit-changelog-entries file)) + (buf (car entries)) + key entry) + (dolist (region (cdr entries)) + (setq key (cons buf region)) + (if (setq entry (assoc key log-entries)) + (setcdr entry (append (cdr entry) (list file))) + (push (list key file) log-entries))))) + ;; Now map over log-entries, and extract the strings. + (dolist (log-entry (nreverse log-entries)) + (apply 'log-edit-changelog-insert-entries + (append (car log-entry) (cdr log-entry))) + (insert "\n")) + log-edit-author)) + +(defun log-edit-extract-headers (headers comment) + "Extract headers from COMMENT to form command line arguments. +HEADERS should be an alist with elements of the form (HEADER . CMDARG) +associating header names to the corresponding cmdline option name and the +result is then a list of the form (MSG CMDARG1 HDRTEXT1 CMDARG2 HDRTEXT2...). +where MSG is the remaining text from STRING. +If \"Summary\" is not in HEADERS, then the \"Summary\" header is extracted +anyway and put back as the first line of MSG." + (with-temp-buffer + (insert comment) + (rfc822-goto-eoh) + (narrow-to-region (point-min) (point)) + (let ((case-fold-search t) + (summary ()) + (res ())) + (dolist (header (if (assoc "Summary" headers) headers + (cons '("Summary" . t) headers))) + (goto-char (point-min)) + (while (re-search-forward (concat "^" (car header) + ":" log-edit-header-contents-regexp) + nil t) + (if (eq t (cdr header)) + (setq summary (match-string 1)) + (push (match-string 1) res) + (push (or (cdr header) (car header)) res)) + (replace-match "" t t))) + ;; Remove header separator if the header is empty. + (widen) + (goto-char (point-min)) + (when (looking-at "\\([ \t]*\n\\)+") + (delete-region (match-beginning 0) (match-end 0))) + (if summary (insert summary "\n")) + (cons (buffer-string) res)))) + +(provide 'log-edit) + +;; arch-tag: 8089b39c-983b-4e83-93cd-ed0a64c7fdcc +;;; log-edit.el ends here diff --cc src/ChangeLog index 8c98b52e6aa,45aed177ef2..b1d67c9c31f --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,148 -1,40 +1,184 @@@ -2010-11-25 Kenichi Handa ++2010-11-27 Kenichi Handa + + * charset.c (emacs_mule_charset): Make it an array of charset ID; + i.e. integer. + (Fdefine_charset_internal): Adjusted for the above change. + (init_charset_once): Likewise. + + * charset.h (emacs_mule_charset): Adjust the prototype. Delete + duplicated extern. + + * coding.c (emacs_mule_char): Adjust for the change of + emacs_mule_charset. + + * lread.c (read_emacs_mule_char): Adjust for the change of + emacs_mule_charset. + -2010-11-22 Eli Zaretskii ++2010-11-27 Eli Zaretskii + + * w32.c (_PROCESS_MEMORY_COUNTERS_EX): Don't define with versions + of w32api >= 3.15. (Bug#6989) (Bug#7452) + -2010-11-22 YAMAMOTO Mitsuharu ++2010-11-27 YAMAMOTO Mitsuharu + + * alloc.c (mark_terminals): Ensure that the image cache is marked + even if the terminal object was marked earlier (Bug#6301). + + 2010-11-21 Chong Yidong + + * editfns.c (Fbyte_to_string): Signal an error arg is not a byte. + -2010-11-20 Jan Djärv ++2010-11-27 Jan Djärv + + * gtkutil.c (menubar_map_cb): New function (Bug#7425). + (xg_update_frame_menubar): Connect signal map to menubar_map_cb. + Use 23 as menubar height if 0. (Bug#7425). + -2010-11-14 Jan Djärv +2010-11-26 Eli Zaretskii + + * xdisp.c (set_message_1): Force paragraph direction in echo area + be left-to-right. + + * keyboard.c (make_lispy_position): Put a meaningful value in yret + when the click is on the header or mode line. + +2010-11-25 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Don't forget to consider the + `cursor' property of the first character in overlay strings. + (Bug#7474) (Bug#7481) + +2010-11-24 Jan Djärv + + * nsterm.m (NSLeftControlKeyMask, NSLeftCommandKeyMask) + (NSLeftAlternateKeyMask): New defines. + (keyDown): Parse left and right keys separately (Bug#7458). + Compare Left key masks exactly (Bug#7458). + +2010-11-23 Eli Zaretskii + + * intervals.c (temp_set_point_both): Define before calling, to + avoid GCC warnings. + +2010-11-23 Dan Nicolaescu + + * nsmenu.m: Use #include instead of "config.h". + + * term.c (Qglyphless_char,last_glyphless_glyph_frame) + (last_glyphless_glyph_face_id. last_glyphless_glyph_merged_face_id): + Move declarations ... + * lisp.h (Qglyphless_char,last_glyphless_glyph_frame) + (last_glyphless_glyph_face_id. last_glyphless_glyph_merged_face_id): + ... here. + + * emacs.c (gdb_use_union, gdb_valbits,gdb_gctypebits) + (gdb_data_seg_bits, gdb_array_mark_flag, PVEC_FLAG) + (gdb_pvec_type): + * print.c (print_output_debug_flag): + * lisp.h (debug_print): Mark as EXTERNALLY_VISIBLE. + (safe_debug_print): New declaration. + + * xterm.c: + * systty.h: + * sound.c: Include unconditionally. + +2010-11-22 YAMAMOTO Mitsuharu + + * alloc.c (mark_maybe_object): Return early if given a Lisp + integer (Bug#6301). + +2010-11-21 Ken Brown + + * sheap.c (STATIC_HEAP_SIZE): Revert previous change. + +2010-11-21 Jan Djärv + + * nsterm.m (ns_right_command_modifier, ns_right_control_modifier): + Define (Bug#7458). + (NSRightCommandKeyMask, NSRightControlKeyMask): Define (Bug#7458). + (EV_MODIFIERS): Check for NSRightCommandKeyMask and + NSRightControlKeyMask also (Bug#7458). + (keyDown): Ditto (Bug#7458). + (syms_of_nsterm): Defvar ns-right-command-modifier and + ns-right-control-modifier (Bug#7458). + +2010-11-21 Dan Nicolaescu + + * sysdep.c (sys_subshell): Remove SET_EMACS_PRIORITY. + * emacs.c (emacs_priority, syms_of_emacs): Remove emacs_priority. + + * intervals.h (temp_set_point, temp_set_point_both): + * buffer.h (offset_intervals, copy_intervals): Remove INLINE. + +2010-11-20 Ken Brown + + * sheap.c (STATIC_HEAP_SIZE): Increase to 13MB. + +2010-11-20 Eli Zaretskii + + * term.c (produce_glyphless_glyph): Use \uNNNN, \UNNNNNN, or + \xNNNNNN for hex-code display of glyphless characters. + +2010-11-20 Jan Djärv + + * gtkutil.c (xg_make_tool_item): Take vert_only as argument. + Set important to ! vert_only. + (xg_show_toolbar_item): Don't show label horizontally if + tool item isn't important. + (update_frame_tool_bar): Get TOOL_BAR_ITEM_VERT_ONLY and pass it to + xg_make_tool_item, or update important on existing tool item. + + * keyboard.c (QCvert_only): New variable. + (parse_tool_bar_item): Check for QCvert_only. + (syms_of_keyboard): Initialize QCvert_only. + + * dispextern.h (tool_bar_item_idx): Add TOOL_BAR_ITEM_VERT_ONLY. + +2010-11-20 Eli Zaretskii + + * msdos.c (dos_rawgetc): Use gen_help_event, instead of doing the + same in-line. + +2010-11-20 Andreas Schwab + + * xfaces.c (lookup_face): Make static. + * dispnew.c (copy_row_except_pointers): Likewise. + * syntax.c (dec_bytepos): Likewise. + (inc_bytepos): Remove. + * dispextern.h (lookup_face): Remove declaration. + +2010-11-19 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Display cursor after all the + glyphs that come from an overlay. Don't overstep the last glyph + when skipping glyphs from an overlay. (Bug#6687) + +2010-11-18 Dan Nicolaescu + + * alloc.c (refill_memory_reserve): Move declaration ... + * lisp.h (refill_memory_reserve): ... here. + + * strftime.c (_strftime_copytm): Add declaration. + + * callproc.c (syms_of_callproc): Use intern_c_string. + + Move declarations from .c files to .h files. + * process.c (timers_run): + * minibuf.c (quit_char): + * lread.c (read_emacs_mule_char): + * keyboard.c (minibuf_level, message_enable_multibyte) + (pending_malloc_warning): + * insdel.c (Vselect_active_regions, Vsaved_region_selection) + (Qonly): Remove declarations. + * lisp.h (pending_malloc_warning, Vsaved_region_selection) + (Vselect_active_regions): + * keyboard.h (timers_run): Add declarations. + + * strftime.c (my_strftime_gmtime_r, my_strftime_localtime_r) + (tm_diff): Convert definitions to standard C. + (extra_args_spec_iso): Remove, unused. + +2010-11-18 Jan Djärv * xsettings.c (init_gconf): Check HAVE_G_TYPE_INIT. diff --cc src/editfns.c index f76beb5e678,910fd13aed4..4a9e2314a84 --- a/src/editfns.c +++ b/src/editfns.c @@@ -218,8 -222,9 +218,8 @@@ usage: (char-to-string CHAR) */ } DEFUN ("byte-to-string", Fbyte_to_string, Sbyte_to_string, 1, 1, 0, - doc: /* Convert arg BYTE to a string containing that byte. */) + doc: /* Convert arg BYTE to a unibyte string containing that byte. */) - (byte) - Lisp_Object byte; + (Lisp_Object byte) { unsigned char b; CHECK_NUMBER (byte); diff --cc src/gtkutil.c index 89b16a10fbc,7102823a814..b091df19905 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@@ -3095,10 -2975,19 +3112,20 @@@ xg_update_frame_menubar (FRAME_PTR f FALSE, FALSE, 0); gtk_box_reorder_child (GTK_BOX (x->vbox_widget), x->menubar_widget, 0); + g_signal_connect (x->menubar_widget, "map", G_CALLBACK (menubar_map_cb), f); gtk_widget_show_all (x->menubar_widget); gtk_widget_size_request (x->menubar_widget, &req); - FRAME_MENUBAR_HEIGHT (f) = req.height; - xg_height_or_width_changed (f); ++ + /* If menu bar doesn't know its height yet, cheat a little so the frame + doesn't jump so much when resized later in menubar_map_cb. */ + if (req.height == 0) + req.height = 23; + + if (FRAME_MENUBAR_HEIGHT (f) != req.height) + { + FRAME_MENUBAR_HEIGHT (f) = req.height; - xg_height_changed (f); ++ xg_height_or_width_changed (f); + } UNBLOCK_INPUT; return 1;