From: Paul Eggert Date: Thu, 26 Feb 2015 06:53:56 +0000 (-0800) Subject: Merge from origin/emacs-24 X-Git-Tag: emacs-25.0.90~2564^2~282 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d8e9122115b5ffcec342c841b81cb2d2b8217e4b;p=emacs.git Merge from origin/emacs-24 e726f20 Handle "#" operator properly inside macro. Fix coding bug. 618931b Handle dead frame in menu-bar-non-minibuffer-window-p. (Bug#19728) 017a03a Document MS-Windows file-name idiosyncrasies (Bug#19463) f3faf4f Fix description of Customize buffer in Emacs manual. 1c1d0b7 Fix a typo in the Emacs manual's Hungry Delete description. be7fb82 src/dispextern.h (FACE_FOR_CHAR): Fix the commentary. 33c4409 Spelling fixes 6c8231e python.el: Handle tabs in python-indent-dedent-line. 41c3b92 * lisp/progmodes/python.el: Respect user indentation after comment. 868df45 Avoid compiler warnings in decode_env_path. b28c979 Fix XEmacs version typo in comment and ChangeLog 989fb32 Improve solution of bug #19701 6310530 Fix refilling of list of language environments in User Manual c4c447d Restore XEmacs compatibility Conflicts: doc/emacs/ChangeLog lisp/ChangeLog src/ChangeLog test/ChangeLog --- d8e9122115b5ffcec342c841b81cb2d2b8217e4b diff --cc doc/emacs/ChangeLog index 1287733b129,7d8fcf4cb6d..13536406158 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@@ -1,4 -1,20 +1,20 @@@ -2015-01-31 Eli Zaretskii ++2015-02-26 Eli Zaretskii + + * msdog.texi (Windows Files): Document characters invalid in + Windows file names. (Bug#19463) + + * custom.texi (Customization Groups): Update the looks of the + Customize Group buffer. + + * programs.texi (Hungry Delete): Fix a typo: "C-d" instead of + "C-c C-d" in hungry-delete mode. + -2015-01-29 Eli Zaretskii ++2015-02-26 Eli Zaretskii + + * mule.texi (Language Environments): Work around refill bug in + makeinfo 4.x. (Bug#19697) + -2015-01-26 Eli Zaretskii +2015-01-28 Eli Zaretskii * cmdargs.texi (Action Arguments): Clarify into which buffer '--insert' inserts. (Bug#19694) diff --cc doc/emacs/msdos.texi index b5a66503ca2,00000000000..10e79236938 mode 100644,000000..100644 --- a/doc/emacs/msdos.texi +++ b/doc/emacs/msdos.texi @@@ -1,990 -1,0 +1,1025 @@@ +@c This is part of the Emacs manual. +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software +@c Foundation, Inc. +@c See file emacs.texi for copying conditions. +@node Microsoft Windows +@appendix Emacs and Microsoft Windows/MS-DOS +@cindex Microsoft Windows +@cindex MS-Windows, Emacs peculiarities + + This section describes peculiarities of using Emacs on Microsoft +Windows. Some of these peculiarities are also relevant to Microsoft's +older MS-DOS operating system. +However, Emacs features that are relevant @emph{only} to MS-DOS are +described in a separate +@iftex +manual (@pxref{MS-DOS,,, emacs-xtra, Specialized Emacs Features}). +@end iftex +@ifnottex +section (@pxref{MS-DOS}). +@end ifnottex + + + The behavior of Emacs on MS-Windows is reasonably similar to what is +documented in the rest of the manual, including support for long file +names, multiple frames, scroll bars, mouse menus, and subprocesses. +However, a few special considerations apply, and they are described +here. + +@menu +* Windows Startup:: How to start Emacs on Windows. +* Text and Binary:: Text files use CRLF to terminate lines. +* Windows Files:: File-name conventions on Windows. +* ls in Lisp:: Emulation of @code{ls} for Dired. +* Windows HOME:: Where Emacs looks for your @file{.emacs} and + where it starts up. +* Windows Keyboard:: Windows-specific keyboard features. +* Windows Mouse:: Windows-specific mouse features. +* Windows Processes:: Running subprocesses on Windows. +* Windows Printing:: How to specify the printer on MS-Windows. +* Windows Fonts:: Specifying fonts on MS-Windows. +* Windows Misc:: Miscellaneous Windows features. +@ifnottex +* MS-DOS:: Using Emacs on MS-DOS. +@end ifnottex +@end menu + +@node Windows Startup +@section How to Start Emacs on MS-Windows +@cindex starting Emacs on MS-Windows + + There are several ways of starting Emacs on MS-Windows: + +@enumerate +@item +@pindex runemacs.exe +@cindex desktop shortcut, MS-Windows +@cindex start directory, MS-Windows +@cindex directory where Emacs starts on MS-Windows +From the desktop shortcut icon: either double-click the left mouse +button on the icon, or click once, then press @key{RET}. The desktop +shortcut should specify as its ``Target'' (in the ``Properties'' of +the shortcut) the full absolute file name of @file{runemacs.exe}, +@emph{not} of @file{emacs.exe}. This is because @file{runemacs.exe} +hides the console window that would have been created if the target of +the shortcut were @file{emacs.exe} (which is a console program, as far +as Windows is concerned). If you use this method, Emacs starts in the +directory specified by the shortcut. To control where that is, +right-click on the shortcut, select ``Properties'', and in the +``Shortcut'' tab modify the ``Start in'' field to your liking. + +@item +From the Command Prompt window, by typing @kbd{emacs @key{RET}} at the +prompt. The Command Prompt window where you did that will not be +available for invoking other commands until Emacs exits. In this +case, Emacs will start in the current directory of the Windows shell. + +@item +From the Command Prompt window, by typing @kbd{runemacs @key{RET}} at +the prompt. The Command Prompt window where you did that will be +immediately available for invoking other commands. In this case, +Emacs will start in the current directory of the Windows shell. + +@item +@cindex invoking Emacs from Windows Explorer +@pindex emacsclient.exe +@pindex emacsclientw.exe +Via @file{emacsclient.exe} or @file{emacsclientw.exe}, which allow you +to invoke Emacs from other programs, and to reuse a running Emacs +process for serving editing jobs required by other programs. +@xref{Emacs Server}. The difference between @file{emacsclient.exe} +and @file{emacsclientw.exe} is that the former is a console program, +while the latter is a Windows GUI program. Both programs wait for +Emacs to signal that the editing job is finished, before they exit and +return control to the program that invoked them. Which one of them to +use in each case depends on the expectations of the program that needs +editing services. If that program is itself a console (text-mode) +program, you should use @file{emacsclient.exe}, so that any of its +messages and prompts appear in the same command window as those of the +invoking program. By contrast, if the invoking program is a GUI +program, you will be better off using @file{emacsclientw.exe}, because +@file{emacsclient.exe} will pop up a command window if it is invoked +from a GUI program. A notable situation where you would want +@file{emacsclientw.exe} is when you right-click on a file in the +Windows Explorer and select ``Open With'' from the pop-up menu. Use +the @samp{--alternate-editor=} or @samp{-a} options if Emacs might not +be running (or not running as a server) when @command{emacsclient} is +invoked---that will always give you an editor. When invoked via +@command{emacsclient}, Emacs will start in the current directory of +the program that invoked @command{emacsclient}. +@end enumerate + +@cindex emacsclient, on MS-Windows +Note that, due to limitations of MS-Windows, Emacs cannot have both +GUI and text-mode frames in the same session. It also cannot open +text-mode frames on more than a single @dfn{Command Prompt} window, +because each Windows program can have only one console at any given +time. For these reasons, if you invoke @command{emacsclient} with the +@option{-c} option, and the Emacs server runs in a text-mode session, +Emacs will always create a new text-mode frame in the same +@dfn{Command Prompt} window where it was started; a GUI frame will be +created only if the server runs in a GUI session. Similarly, if you +invoke @command{emacsclient} with the @option{-t} option, Emacs will +create a GUI frame if the server runs in a GUI session, or a text-mode +frame when the session runs in text mode in a @dfn{Command Prompt} +window. @xref{emacsclient Options}. + +@node Text and Binary +@section Text Files and Binary Files +@cindex text and binary files on MS-DOS/MS-Windows + + GNU Emacs uses newline characters to separate text lines. This is the +convention used on GNU, Unix, and other Posix-compliant systems. + +@cindex end-of-line conversion on MS-DOS/MS-Windows + By contrast, MS-DOS and MS-Windows normally use carriage-return linefeed, +a two-character sequence, to separate text lines. (Linefeed is the same +character as newline.) Therefore, convenient editing of typical files +with Emacs requires conversion of these end-of-line (EOL) sequences. +And that is what Emacs normally does: it converts carriage-return +linefeed into newline when reading files, and converts newline into +carriage-return linefeed when writing files. The same mechanism that +handles conversion of international character codes does this conversion +also (@pxref{Coding Systems}). + +@cindex cursor location, on MS-DOS +@cindex point location, on MS-DOS + One consequence of this special format-conversion of most files is +that character positions as reported by Emacs (@pxref{Position Info}) do +not agree with the file size information known to the operating system. + + In addition, if Emacs recognizes from a file's contents that it uses +newline rather than carriage-return linefeed as its line separator, it +does not perform EOL conversion when reading or writing that file. +Thus, you can read and edit files from GNU and Unix systems on MS-DOS +with no special effort, and they will retain their Unix-style +end-of-line convention after you edit them. + + The mode line indicates whether end-of-line translation was used for +the current buffer. If MS-DOS end-of-line translation is in use for the +buffer, the MS-Windows build of Emacs displays a backslash @samp{\} after +the coding system mnemonic near the beginning of the mode line +(@pxref{Mode Line}). If no EOL translation was performed, the string +@samp{(Unix)} is displayed instead of the backslash, to alert you that the +file's EOL format is not the usual carriage-return linefeed. + +@cindex DOS-to-Unix conversion of files + To visit a file and specify whether it uses DOS-style or Unix-style +end-of-line, specify a coding system (@pxref{Text Coding}). For +example, @kbd{C-x @key{RET} c unix @key{RET} C-x C-f foobar.txt} +visits the file @file{foobar.txt} without converting the EOLs; if some +line ends with a carriage-return linefeed pair, Emacs will display +@samp{^M} at the end of that line. Similarly, you can direct Emacs to +save a buffer in a specified EOL format with the @kbd{C-x @key{RET} f} +command. For example, to save a buffer with Unix EOL format, type +@kbd{C-x @key{RET} f unix @key{RET} C-x C-s}. If you visit a file +with DOS EOL conversion, then save it with Unix EOL format, that +effectively converts the file to Unix EOL style, like the +@code{dos2unix} program. + +@cindex untranslated file system +@findex add-untranslated-filesystem + When you use NFS, Samba, or some other similar method to access file +systems that reside on computers using GNU or Unix systems, Emacs +should not perform end-of-line translation on any files in these file +systems---not even when you create a new file. To request this, +designate these file systems as @dfn{untranslated} file systems by +calling the function @code{add-untranslated-filesystem}. It takes one +argument: the file system name, including a drive letter and +optionally a directory. For example, + +@example +(add-untranslated-filesystem "Z:") +@end example + +@noindent +designates drive Z as an untranslated file system, and + +@example +(add-untranslated-filesystem "Z:\\foo") +@end example + +@noindent +designates directory @file{\foo} on drive Z as an untranslated file +system. + + Most often you would use @code{add-untranslated-filesystem} in your +@file{.emacs} file, or in @file{site-start.el} so that all the users at +your site get the benefit of it. + +@findex remove-untranslated-filesystem + To countermand the effect of @code{add-untranslated-filesystem}, use +the function @code{remove-untranslated-filesystem}. This function takes +one argument, which should be a string just like the one that was used +previously with @code{add-untranslated-filesystem}. + + Designating a file system as untranslated does not affect character +set conversion, only end-of-line conversion. Essentially, it directs +Emacs to create new files with the Unix-style convention of using +newline at the end of a line. @xref{Coding Systems}. + +@node Windows Files +@section File Names on MS-Windows +@cindex file names on MS-Windows + + MS-Windows and MS-DOS normally use a backslash, @samp{\}, to +separate name units within a file name, instead of the slash used on +other systems. Emacs on MS-DOS/MS-Windows permits use of either slash or +backslash, and also knows about drive letters in file names. + +@cindex file-name completion, on MS-Windows + On MS-DOS/MS-Windows, file names are case-insensitive, so Emacs by +default ignores letter-case in file names during completion. + +@vindex w32-get-true-file-attributes + The variable @code{w32-get-true-file-attributes} controls whether +Emacs should issue additional system calls to determine more +accurately file attributes in primitives like @code{file-attributes} +and @code{directory-files-and-attributes}. These additional calls are +needed to report correct file ownership, link counts and file types +for special files such as pipes. Without these system calls, file +ownership will be attributed to the current user, link counts will be +always reported as 1, and special files will be reported as regular +files. + + If the value of this variable is @code{local} (the default), Emacs +will issue these additional system calls only for files on local fixed +drives. Any other non-@code{nil} value means do this even for +removable and remote volumes, where this could potentially slow down +Dired and other related features. The value of @code{nil} means never +issue those system calls. Non-@code{nil} values are more useful on +NTFS volumes, which support hard links and file security, than on FAT, - FAT32, and XFAT volumes. ++FAT32, and exFAT volumes. ++ ++@cindex file names, invalid characters on MS-Windows ++ Unlike Unix, MS-Windows file systems restrict the set of characters ++that can be used in a file name. The following characters are not ++allowed: ++ ++@itemize @bullet ++@item ++Shell redirection symbols @samp{<}, @samp{>}, and @samp{|}. ++ ++@item ++Colon @samp{:} (except after the drive letter). ++ ++@item ++Forward slash @samp{/} and backslash @samp{\} (except as directory ++separators). ++ ++@item ++Wildcard characters @samp{*} and @samp{?}. ++ ++@item ++Control characters whose codepoints are 1 through 31 decimal. In ++particular, newlines in file names are not allowed. ++ ++@item ++The null character, whose codepoint is zero (this limitation exists on ++Unix filesystems as well). ++@end itemize ++ ++@noindent ++In addition, referencing any file whose name matches a DOS character ++device, such as @file{NUL} or @file{LPT1} or @file{PRN} or @file{CON}, ++with or without any file-name extension, will always resolve to those ++character devices, in any directory. Therefore, only use such file ++names when you want to use the corresponding character device. + +@node ls in Lisp +@section Emulation of @code{ls} on MS-Windows +@cindex Dired, and MS-Windows/MS-DOS +@cindex @code{ls} emulation + + Dired normally uses the external program @code{ls} +to produce the directory listing displayed in Dired +buffers (@pxref{Dired}). However, MS-Windows and MS-DOS systems don't +come with such a program, although several ports of @sc{gnu} @code{ls} +are available. Therefore, Emacs on those systems @emph{emulates} +@code{ls} in Lisp, by using the @file{ls-lisp.el} package. While +@file{ls-lisp.el} provides a reasonably full emulation of @code{ls}, +there are some options and features peculiar to that emulation; +@iftex +for more details, see the documentation of the variables whose names +begin with @code{ls-lisp}. +@end iftex +@ifnottex +they are described in this section. + + The @code{ls} emulation supports many of the @code{ls} switches, but +it doesn't support all of them. Here's the list of the switches it +does support: @option{-A}, @option{-a}, @option{-B}, @option{-C}, +@option{-c}, @option{-G}, @option{-g}, @option{-h}, @option{-i}, @option{-n}, +@option{-R}, @option{-r}, @option{-S}, @option{-s}, @option{-t}, @option{-U}, +@option{-u}, and @option{-X}. The @option{-F} switch is partially +supported (it appends the character that classifies the file, but does +not prevent symlink following). + +@vindex ls-lisp-use-insert-directory-program + On MS-Windows and MS-DOS, @file{ls-lisp.el} is preloaded when Emacs +is built, so the Lisp emulation of @code{ls} is always used on those +platforms. If you have a ported @code{ls}, setting +@code{ls-lisp-use-insert-directory-program} to a non-@code{nil} value +will revert to using an external program named by the variable +@code{insert-directory-program}. + +@vindex ls-lisp-ignore-case + By default, @file{ls-lisp.el} uses a case-sensitive sort order for +the directory listing it produces; this is so the listing looks the +same as on other platforms. If you wish that the files be sorted in +case-insensitive order, set the variable @code{ls-lisp-ignore-case} to +a non-@code{nil} value. + +@vindex ls-lisp-dirs-first + By default, files and subdirectories are sorted together, to emulate +the behavior of @code{ls}. However, native MS-Windows/MS-DOS file +managers list the directories before the files; if you want that +behavior, customize the option @code{ls-lisp-dirs-first} to a +non-@code{nil} value. + +@vindex ls-lisp-verbosity + The variable @code{ls-lisp-verbosity} controls the file attributes +that @file{ls-lisp.el} displays. The value should be a list that +contains one or more of the symbols @code{links}, @code{uid}, and +@code{gid}. @code{links} means display the count of different file +names that are associated with (a.k.a.@: @dfn{links to}) the file's +data; this is only useful on NTFS volumes. @code{uid} means display +the numerical identifier of the user who owns the file. @code{gid} +means display the numerical identifier of the file owner's group. The +default value is @code{(links uid gid)} i.e., all the 3 optional +attributes are displayed. + +@vindex ls-lisp-emulation + The variable @code{ls-lisp-emulation} controls the flavor of the +@code{ls} emulation by setting the defaults for the 3 options +described above: @code{ls-lisp-ignore-case}, +@code{ls-lisp-dirs-first}, and @code{ls-lisp-verbosity}. The value of +this option can be one of the following symbols: + +@table @code +@item GNU +@itemx nil +Emulate @sc{gnu} systems; this is the default. This sets +@code{ls-lisp-ignore-case} and @code{ls-lisp-dirs-first} to +@code{nil}, and @code{ls-lisp-verbosity} to @code{(links uid gid)}. +@item UNIX +Emulate Unix systems. Like @code{GNU}, but sets +@code{ls-lisp-verbosity} to @code{(links uid)}. +@item MacOS +Emulate MacOS@. Sets @code{ls-lisp-ignore-case} to @code{t}, and +@code{ls-lisp-dirs-first} and @code{ls-lisp-verbosity} to @code{nil}. +@item MS-Windows +Emulate MS-Windows. Sets @code{ls-lisp-ignore-case} and +@code{ls-lisp-dirs-first} to @code{t}, and @code{ls-lisp-verbosity} to +@code{(links)} on Windows NT/2K/XP/2K3 and to @code{nil} on Windows 9X@. +Note that the default emulation is @emph{not} @code{MS-Windows}, even +on Windows, since many users of Emacs on those platforms prefer the +@sc{gnu} defaults. +@end table + +@noindent +Any other value of @code{ls-lisp-emulation} means the same as @code{GNU}. +Customizing this option calls the function @code{ls-lisp-set-options} to +update the 3 dependent options as needed. If you change the value of +this variable without using customize after @file{ls-lisp.el} is loaded +(note that it is preloaded on MS-Windows and MS-DOS), you can call that +function manually for the same result. + +@vindex ls-lisp-support-shell-wildcards + The variable @code{ls-lisp-support-shell-wildcards} controls how +file-name patterns are supported: if it is non-@code{nil} (the +default), they are treated as shell-style wildcards; otherwise they +are treated as Emacs regular expressions. + +@vindex ls-lisp-format-time-list + The variable @code{ls-lisp-format-time-list} defines how to format +the date and time of files. @emph{The value of this variable is +ignored}, unless Emacs cannot determine the current locale. (However, +if the value of @code{ls-lisp-use-localized-time-format} is +non-@code{nil}, Emacs obeys @code{ls-lisp-format-time-list} even if +the current locale is available; see below.) + +The value of @code{ls-lisp-format-time-list} is a list of 2 strings. +The first string is used if the file was modified within the current +year, while the second string is used for older files. In each of +these two strings you can use @samp{%}-sequences to substitute parts +of the time. For example: +@lisp +("%b %e %H:%M" "%b %e %Y") +@end lisp + +@noindent +Note that the strings substituted for these @samp{%}-sequences depend +on the current locale. @xref{Time Parsing,,, elisp, The Emacs Lisp +Reference Manual}, for more about format time specs. + +@vindex ls-lisp-use-localized-time-format + Normally, Emacs formats the file time stamps in either traditional +or ISO-style time format. However, if the value of the variable +@code{ls-lisp-use-localized-time-format} is non-@code{nil}, Emacs +formats file time stamps according to what +@code{ls-lisp-format-time-list} specifies. The @samp{%}-sequences in +@code{ls-lisp-format-time-list} produce locale-dependent month and day +names, which might cause misalignment of columns in Dired display. +@end ifnottex + +@node Windows HOME +@section HOME and Startup Directories on MS-Windows +@cindex @code{HOME} directory on MS-Windows + + The Windows equivalent of @code{HOME} is the @dfn{user-specific +application data directory}. The actual location depends on the +Windows version; typical values are @file{C:\Documents and +Settings\@var{username}\Application Data} on Windows 2000/XP/2K3, +@file{C:\Users\@var{username}\AppData\Roaming} on Windows +Vista/7/2008, and either @file{C:\WINDOWS\Application Data} or +@file{C:\WINDOWS\Profiles\@var{username}\Application Data} on Windows +9X/ME@. If this directory does not exist or cannot be accessed, Emacs +falls back to @file{C:\} as the default value of @code{HOME}. + + You can override this default value of @code{HOME} by explicitly +setting the environment variable @env{HOME} to point to any directory +on your system. @env{HOME} can be set either from the command shell +prompt or from @samp{Properties} dialog of @samp{My Computer}. +@code{HOME} can also be set in the system registry, +@pxref{MS-Windows Registry}. + + For compatibility with older versions of Emacs@footnote{ +Older versions of Emacs didn't check the application data directory. +}, if there is a file named @file{.emacs} in @file{C:\}, the root +directory of drive @file{C:}, and @env{HOME} is set neither in the +environment nor in the Registry, Emacs will treat @file{C:\} as the +default @code{HOME} location, and will not look in the application +data directory, even if it exists. Note that only @file{.emacs} is +looked for in @file{C:\}; the older name @file{_emacs} (see below) is +not. This use of @file{C:\.emacs} to define @code{HOME} is +deprecated. + + Whatever the final place is, Emacs sets the internal value of the +@env{HOME} environment variable to point to it, and it will use that +location for other files and directories it normally looks for or +creates in your home directory. + + You can always find out what Emacs thinks is your home directory's +location by typing @kbd{C-x d ~/ @key{RET}}. This should present the +list of files in the home directory, and show its full name on the +first line. Likewise, to visit your init file, type @kbd{C-x C-f +~/.emacs @key{RET}} (assuming the file's name is @file{.emacs}). + +@cindex init file @file{.emacs} on MS-Windows + The home directory is where your init file is stored. It can have +any name mentioned in @ref{Init File}. + +@cindex @file{_emacs} init file, MS-Windows + Because MS-DOS does not allow file names with leading dots, and +older Windows systems made it hard to create files with such names, +the Windows port of Emacs supports an init file name @file{_emacs}, if +such a file exists in the home directory and @file{.emacs} does not. +This name is considered obsolete. + +@node Windows Keyboard +@section Keyboard Usage on MS-Windows +@cindex keyboard, MS-Windows + + This section describes the Windows-specific features related to +keyboard input in Emacs. + +@cindex MS-Windows keyboard shortcuts + Many key combinations (known as ``keyboard shortcuts'') that have +conventional uses in MS-Windows programs conflict with traditional +Emacs key bindings. (These Emacs key bindings were established years +before Microsoft was founded.) Examples of conflicts include +@kbd{C-c}, @kbd{C-x}, @kbd{C-z}, @kbd{C-a}, and @kbd{W-@key{SPC}}. +You can redefine some of them with meanings more like the MS-Windows +meanings by enabling CUA Mode (@pxref{CUA Bindings}). + +@iftex +@inforef{Windows Keyboard, , emacs}, for information about additional +Windows-specific variables in this category. +@end iftex +@ifnottex +@vindex w32-alt-is-meta +@cindex @code{Alt} key (MS-Windows) + By default, the key labeled @key{Alt} is mapped as the @key{META} +key. If you wish it to produce the @code{Alt} modifier instead, set +the variable @code{w32-alt-is-meta} to a @code{nil} value. + +@findex w32-register-hot-key +@findex w32-unregister-hot-key + MS-Windows reserves certain key combinations, such as +@kbd{@key{Alt}-@key{TAB}}, for its own use. These key combinations are +intercepted by the system before Emacs can see them. You can use the +@code{w32-register-hot-key} function to allow a key sequence to be +seen by Emacs instead of being grabbed by Windows. This function +registers a key sequence as a @dfn{hot key}, overriding the special +meaning of that key sequence for Windows. (MS-Windows is told that +the key sequence is a hot key only when one of the Emacs windows has +focus, so that the special keys still have their usual meaning for +other Windows applications.) + + The argument to @code{w32-register-hot-key} must be a single key, +with or without modifiers, in vector form that would be acceptable to +@code{define-key}. The meta modifier is interpreted as the @key{Alt} +key if @code{w32-alt-is-meta} is @code{t} (the default), and the hyper +modifier is always interpreted as the Windows key (usually labeled +with @key{start} and the Windows logo). If the function succeeds in +registering the key sequence, it returns the hotkey ID, a number; +otherwise it returns @code{nil}. + +@kindex M-TAB@r{, (MS-Windows)} +@cindex @kbd{M-@key{TAB}} vs @kbd{@key{Alt}-@key{TAB}} (MS-Windows) +@cindex @kbd{@key{Alt}-@key{TAB}} vs @kbd{M-@key{TAB}} (MS-Windows) + For example, @code{(w32-register-hot-key [M-tab])} lets you use +@kbd{M-@key{TAB}} normally in Emacs; for instance, to complete the word or +symbol at point at top level, or to complete the current search string +against previously sought strings during incremental search. + + The function @code{w32-unregister-hot-key} reverses the effect of +@code{w32-register-hot-key} for its argument key sequence. + +@vindex w32-capslock-is-shiftlock + By default, the @key{CapsLock} key only affects normal character +keys (it converts lower-case characters to their upper-case +variants). However, if you set the variable +@code{w32-capslock-is-shiftlock} to a non-@code{nil} value, the +@key{CapsLock} key will affect non-character keys as well, as if you +pressed the @key{Shift} key while typing the non-character key. + +@vindex w32-enable-caps-lock + If the variable @code{w32-enable-caps-lock} is set to a @code{nil} +value, the @key{CapsLock} key produces the symbol @code{capslock} +instead of the shifted version of they keys. The default value is +@code{t}. + +@vindex w32-enable-num-lock +@cindex keypad keys (MS-Windows) + Similarly, if @code{w32-enable-num-lock} is @code{nil}, the +@key{NumLock} key will produce the symbol @code{kp-numlock}. The +default is @code{t}, which causes @key{NumLock} to work as expected: +toggle the meaning of the keys on the numeric keypad. +@end ifnottex + +@vindex w32-apps-modifier + The variable @code{w32-apps-modifier} controls the effect of the +@key{Apps} key (usually located between the right @key{Alt} and the +right @key{Ctrl} keys). Its value can be one of the symbols +@code{hyper}, @code{super}, @code{meta}, @code{alt}, @code{control}, +or @code{shift} for the respective modifier, or @code{nil} to appear +as the key @code{apps}. The default is @code{nil}. + +@vindex w32-lwindow-modifier +@vindex w32-rwindow-modifier +@vindex w32-scroll-lock-modifier + The variable @code{w32-lwindow-modifier} determines the effect of +the left Windows key (usually labeled with @key{start} and the Windows +logo). If its value is @code{nil} (the default), the key will produce +the symbol @code{lwindow}. Setting it to one of the symbols +@code{hyper}, @code{super}, @code{meta}, @code{alt}, @code{control}, +or @code{shift} will produce the respective modifier. A similar +variable @code{w32-rwindow-modifier} controls the effect of the right +Windows key, and @code{w32-scroll-lock-modifier} does the same for the +@key{ScrLock} key. If these variables are set to @code{nil}, the +right Windows key produces the symbol @code{rwindow} and @key{ScrLock} +produces the symbol @code{scroll}. + +@vindex w32-pass-alt-to-system +@cindex Windows system menu +@cindex @code{Alt} key invokes menu (Windows) + Emacs compiled as a native Windows application normally turns off +the Windows feature that tapping the @key{Alt} key invokes the Windows +menu. The reason is that the @key{Alt} serves as @key{META} in Emacs. +When using Emacs, users often press the @key{META} key temporarily and +then change their minds; if this has the effect of bringing up the +Windows menu, it alters the meaning of subsequent commands. Many +users find this frustrating. + + You can re-enable Windows's default handling of tapping the @key{Alt} +key by setting @code{w32-pass-alt-to-system} to a non-@code{nil} +value. + +@ifnottex +@vindex w32-pass-lwindow-to-system +@vindex w32-pass-rwindow-to-system + The variables @code{w32-pass-lwindow-to-system} and +@code{w32-pass-rwindow-to-system} determine whether the respective +keys are passed to Windows or swallowed by Emacs. If the value is +@code{nil}, the respective key is silently swallowed by Emacs, +otherwise it is passed to Windows. The default is @code{t} for both +of these variables. Passing each of these keys to Windows produces +its normal effect: for example, @kbd{@key{Lwindow}} opens the +@code{Start} menu, etc.@footnote{ +Some combinations of the ``Windows'' keys with other keys are caught +by Windows at a low level in a way that Emacs currently cannot prevent. +For example, @kbd{@key{Lwindow} r} always pops up the Windows +@samp{Run} dialog. Customizing the value of +@code{w32-phantom-key-code} might help in some cases, though.} + +@vindex w32-recognize-altgr +@kindex AltGr @r{(MS-Windows)} +@cindex AltGr key (MS-Windows) + The variable @code{w32-recognize-altgr} controls whether the +@key{AltGr} key (if it exists on your keyboard), or its equivalent, +the combination of the right @key{Alt} and left @key{Ctrl} keys +pressed together, is recognized as the @key{AltGr} key. The default +is @code{t}, which means these keys produce @code{AltGr}; setting it +to @code{nil} causes @key{AltGr} or the equivalent key combination to +be interpreted as the combination of @key{Ctrl} and @key{META} +modifiers. +@end ifnottex + +@node Windows Mouse +@section Mouse Usage on MS-Windows +@cindex mouse, and MS-Windows + + This section describes the Windows-specific variables related to +the mouse. + +@vindex w32-mouse-button-tolerance +@cindex simulation of middle mouse button + The variable @code{w32-mouse-button-tolerance} specifies the +time interval, in milliseconds, for faking middle mouse button press +on 2-button mice. If both mouse buttons are depressed within this +time interval, Emacs generates a middle mouse button click event +instead of a double click on one of the buttons. + +@vindex w32-pass-extra-mouse-buttons-to-system + If the variable @code{w32-pass-extra-mouse-buttons-to-system} is +non-@code{nil}, Emacs passes the fourth and fifth mouse buttons to +Windows. + +@vindex w32-swap-mouse-buttons + The variable @code{w32-swap-mouse-buttons} controls which of the 3 +mouse buttons generates the @kbd{mouse-2} events. When it is +@code{nil} (the default), the middle button generates @kbd{mouse-2} +and the right button generates @kbd{mouse-3} events. If this variable +is non-@code{nil}, the roles of these two buttons are reversed. + +@node Windows Processes +@section Subprocesses on Windows 9X/ME and Windows NT/2K/XP +@cindex subprocesses on MS-Windows + +@cindex DOS applications, running from Emacs + Emacs compiled as a native Windows application (as opposed to the DOS +version) includes full support for asynchronous subprocesses. +In the Windows version, synchronous and asynchronous subprocesses work +fine on both +Windows 9X/ME and Windows NT/2K/XP as long as you run only 32-bit Windows +applications. However, when you run a DOS application in a subprocess, +you may encounter problems or be unable to run the application at all; +and if you run two DOS applications at the same time in two +subprocesses, you may have to reboot your system. + +Since the standard command interpreter (and most command line utilities) +on Windows 9X are DOS applications, these problems are significant when +using that system. But there's nothing we can do about them; only +Microsoft can fix them. + +If you run just one DOS application subprocess, the subprocess should +work as expected as long as it is ``well-behaved'' and does not perform +direct screen access or other unusual actions. If you have a CPU +monitor application, your machine will appear to be 100% busy even when +the DOS application is idle, but this is only an artifact of the way CPU +monitors measure processor load. + +You must terminate the DOS application before you start any other DOS +application in a different subprocess. Emacs is unable to interrupt or +terminate a DOS subprocess. The only way you can terminate such a +subprocess is by giving it a command that tells its program to exit. + +If you attempt to run two DOS applications at the same time in separate +subprocesses, the second one that is started will be suspended until the +first one finishes, even if either or both of them are asynchronous. + +@cindex kill DOS application +If you can go to the first subprocess, and tell it to exit, the second +subprocess should continue normally. However, if the second subprocess +is synchronous, Emacs itself will be hung until the first subprocess +finishes. If it will not finish without user input, then you have no +choice but to reboot if you are running on Windows 9X@. If you are +running on Windows NT/2K/XP, you can use a process viewer application to kill +the appropriate instance of NTVDM instead (this will terminate both DOS +subprocesses). + +If you have to reboot Windows 9X in this situation, do not use the +@code{Shutdown} command on the @code{Start} menu; that usually hangs the +system. Instead, type @kbd{@key{Ctrl}-@key{Alt}-@key{DEL}} and then choose +@code{Shutdown}. That usually works, although it may take a few minutes +to do its job. + +@vindex w32-quote-process-args + The variable @code{w32-quote-process-args} controls how Emacs quotes +the process arguments. Non-@code{nil} means quote with the @code{"} +character. If the value is a character, Emacs uses that character to escape +any quote characters that appear; otherwise it chooses a suitable escape +character based on the type of the program. + +@ifnottex +@findex w32-shell-execute + The function @code{w32-shell-execute} can be useful for writing +customized commands that run MS-Windows applications registered to +handle a certain standard Windows operation for a specific type of +document or file. This function is a wrapper around the Windows +@code{ShellExecute} API@. See the MS-Windows API documentation for +more details. +@end ifnottex + +@node Windows Printing +@section Printing and MS-Windows + + Printing commands, such as @code{lpr-buffer} (@pxref{Printing}) and +@code{ps-print-buffer} (@pxref{PostScript}) work in MS-DOS and +MS-Windows by sending the output to one of the printer ports, if a +Posix-style @code{lpr} program is unavailable. The same Emacs +variables control printing on all systems, but in some cases they have +different default values on MS-DOS and MS-Windows. + + Emacs on MS Windows attempts to determine your default printer +automatically (using the function @code{default-printer-name}). +But in some rare cases this can fail, or you may wish to use a different +printer from within Emacs. The rest of this section explains how to +tell Emacs which printer to use. + +@vindex printer-name@r{, (MS-DOS/MS-Windows)} + If you want to use your local printer, then set the Lisp variable +@code{lpr-command} to @code{""} (its default value on Windows) and +@code{printer-name} to the name of the printer port---for example, +@code{"PRN"}, the usual local printer port, or @code{"LPT2"}, or +@code{"COM1"} for a serial printer. You can also set +@code{printer-name} to a file name, in which case ``printed'' output +is actually appended to that file. If you set @code{printer-name} to +@code{"NUL"}, printed output is silently discarded (sent to the system +null device). + + You can also use a printer shared by another machine by setting +@code{printer-name} to the UNC share name for that printer---for +example, @code{"//joes_pc/hp4si"}. (It doesn't matter whether you use +forward slashes or backslashes here.) To find out the names of shared +printers, run the command @samp{net view} from the command prompt to +obtain a list of servers, and @samp{net view @var{server-name}} to see +the names of printers (and directories) shared by that server. +Alternatively, click the @samp{Network Neighborhood} icon on your +desktop, and look for machines that share their printers via the +network. + +@cindex @samp{net use}, and printing on MS-Windows +@cindex networked printers (MS-Windows) + If the printer doesn't appear in the output of @samp{net view}, or +if setting @code{printer-name} to the UNC share name doesn't produce a +hardcopy on that printer, you can use the @samp{net use} command to +connect a local print port such as @code{"LPT2"} to the networked +printer. For example, typing @kbd{net use LPT2: \\joes_pc\hp4si}@footnote{ +Note that the @samp{net use} command requires the UNC share name to be +typed with the Windows-style backslashes, while the value of +@code{printer-name} can be set with either forward- or backslashes.} +causes Windows to @dfn{capture} the @code{LPT2} port and redirect the +printed material to the printer connected to the machine @code{joes_pc}. +After this command, setting @code{printer-name} to @code{"LPT2"} +should produce the hardcopy on the networked printer. + + With some varieties of Windows network software, you can instruct +Windows to capture a specific printer port such as @code{"LPT2"}, and +redirect it to a networked printer via the @w{@code{Control +Panel->Printers}} applet instead of @samp{net use}. + + If you set @code{printer-name} to a file name, it's best to use an +absolute file name. Emacs changes the working directory according to +the default directory of the current buffer, so if the file name in +@code{printer-name} is relative, you will end up with several such +files, each one in the directory of the buffer from which the printing +was done. + + If the value of @code{printer-name} is correct, but printing does +not produce the hardcopy on your printer, it is possible that your +printer does not support printing plain text (some cheap printers omit +this functionality). In that case, try the PostScript print commands, +described below. + +@findex print-buffer @r{(MS-DOS)} +@findex print-region @r{(MS-DOS)} +@vindex lpr-headers-switches @r{(MS-DOS)} + The commands @code{print-buffer} and @code{print-region} call the +@code{pr} program, or use special switches to the @code{lpr} program, to +produce headers on each printed page. MS-DOS and MS-Windows don't +normally have these programs, so by default, the variable +@code{lpr-headers-switches} is set so that the requests to print page +headers are silently ignored. Thus, @code{print-buffer} and +@code{print-region} produce the same output as @code{lpr-buffer} and +@code{lpr-region}, respectively. If you do have a suitable @code{pr} +program (for example, from GNU Coreutils), set +@code{lpr-headers-switches} to @code{nil}; Emacs will then call +@code{pr} to produce the page headers, and print the resulting output as +specified by @code{printer-name}. + +@vindex print-region-function @r{(MS-DOS)} +@cindex lpr usage under MS-DOS +@vindex lpr-command @r{(MS-DOS)} +@vindex lpr-switches @r{(MS-DOS)} + Finally, if you do have an @code{lpr} work-alike, you can set the +variable @code{lpr-command} to @code{"lpr"}. Then Emacs will use +@code{lpr} for printing, as on other systems. (If the name of the +program isn't @code{lpr}, set @code{lpr-command} to the appropriate value.) +The variable @code{lpr-switches} has its standard meaning +when @code{lpr-command} is not @code{""}. If the variable +@code{printer-name} has a string value, it is used as the value for the +@code{-P} option to @code{lpr}, as on Unix. + +@findex ps-print-buffer @r{(MS-DOS)} +@findex ps-spool-buffer @r{(MS-DOS)} +@vindex ps-printer-name @r{(MS-DOS)} +@vindex ps-lpr-command @r{(MS-DOS)} +@vindex ps-lpr-switches @r{(MS-DOS)} + A parallel set of variables, @code{ps-lpr-command}, +@code{ps-lpr-switches}, and @code{ps-printer-name} (@pxref{PostScript +Variables}), defines how PostScript files should be printed. These +variables are used in the same way as the corresponding variables +described above for non-PostScript printing. Thus, the value of +@code{ps-printer-name} is used as the name of the device (or file) to +which PostScript output is sent, just as @code{printer-name} is used +for non-PostScript printing. (There are two distinct sets of +variables in case you have two printers attached to two different +ports, and only one of them is a PostScript printer.) + +@cindex Ghostscript, use for PostScript printing + The default value of the variable @code{ps-lpr-command} is @code{""}, +which causes PostScript output to be sent to the printer port specified +by @code{ps-printer-name}; but @code{ps-lpr-command} can also be set to +the name of a program which will accept PostScript files. Thus, if you +have a non-PostScript printer, you can set this variable to the name of +a PostScript interpreter program (such as Ghostscript). Any switches +that need to be passed to the interpreter program are specified using +@code{ps-lpr-switches}. (If the value of @code{ps-printer-name} is a +string, it will be added to the list of switches as the value for the +@code{-P} option. This is probably only useful if you are using +@code{lpr}, so when using an interpreter typically you would set +@code{ps-printer-name} to something other than a string so it is +ignored.) + + For example, to use Ghostscript for printing on the system's default +printer, put this in your @file{.emacs} file: + +@example +(setq ps-printer-name t) +(setq ps-lpr-command "D:/gs6.01/bin/gswin32c.exe") +(setq ps-lpr-switches '("-q" "-dNOPAUSE" "-dBATCH" + "-sDEVICE=mswinpr2" + "-sPAPERSIZE=a4")) +@end example + +@noindent +(This assumes that Ghostscript is installed in the +@file{D:/gs6.01} directory.) + +@node Windows Fonts +@section Specifying Fonts on MS-Windows +@cindex font specification (MS Windows) + + Starting with Emacs 23, fonts are specified by their name, size +and optional properties. The format for specifying fonts comes from the +fontconfig library used in modern Free desktops: + +@example + [Family[-PointSize]][:Option1=Value1[:Option2=Value2[...]]] +@end example + + The old XLFD based format is also supported for backwards compatibility. + +@cindex font backend selection (MS-Windows) + Emacs 23 and later supports a number of font backends. Currently, +the @code{gdi} and @code{uniscribe} backends are supported on Windows. +The @code{gdi} font backend is available on all versions of Windows, +and supports all fonts that are natively supported by Windows. The +@code{uniscribe} font backend is available on Windows 2000 and later, +and supports TrueType and OpenType fonts. Some languages requiring +complex layout can only be properly supported by the Uniscribe +backend. By default, both backends are enabled if supported, with +@code{uniscribe} taking priority over @code{gdi}. To override that +and use the GDI backend even if Uniscribe is available, invoke Emacs +with the @kbd{-xrm Emacs.fontBackend:gdi} command-line argument, or +add a @code{Emacs.fontBackend} resource with the value @code{gdi} in +the Registry under either the +@samp{HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs} or the +@samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs} key (@pxref{Resources}). + +@cindex font properties (MS Windows) +@noindent +Optional properties common to all font backends on MS-Windows are: + +@table @code + +@vindex font-weight-table @r{(MS-Windows)} +@item weight +Specifies the weight of the font. Special values @code{light}, +@code{medium}, @code{demibold}, @code{bold}, and @code{black} can be specified +without @code{weight=} (e.g., @kbd{Courier New-12:bold}). Otherwise, +the weight should be a numeric value between 100 and 900, or one of the +named weights in @code{font-weight-table}. If unspecified, a regular font +is assumed. + +@vindex font-slant-table @r{(MS-Windows)} +@item slant +Specifies whether the font is italic. Special values +@code{roman}, @code{italic} and @code{oblique} can be specified +without @code{slant=} (e.g., @kbd{Courier New-12:italic}). +Otherwise, the slant should be a numeric value, or one of the named +slants in @code{font-slant-table}. On Windows, any slant above 150 is +treated as italics, and anything below as roman. + +@item family +Specifies the font family, but normally this will be specified +at the start of the font name. + +@item pixelsize +Specifies the font size in pixels. This can be used instead +of the point size specified after the family name. + +@item adstyle +Specifies additional style information for the font. +On MS-Windows, the values @code{mono}, @code{sans}, @code{serif}, +@code{script} and @code{decorative} are recognized. These are most useful +as a fallback with the font family left unspecified. + +@vindex w32-charset-info-alist +@item registry +Specifies the character set registry that the font is +expected to cover. Most TrueType and OpenType fonts will be Unicode fonts +that cover several national character sets, but you can narrow down the +selection of fonts to those that support a particular character set by +using a specific registry from @code{w32-charset-info-alist} here. + +@item spacing +Specifies how the font is spaced. The @code{p} spacing specifies +a proportional font, and @code{m} or @code{c} specify a monospaced font. + +@item foundry +Not used on Windows, but for informational purposes and to +prevent problems with code that expects it to be set, is set internally to +@code{raster} for bitmapped fonts, @code{outline} for scalable fonts, +or @code{unknown} if the type cannot be determined as one of those. +@end table + +@cindex font properties (MS Windows gdi backend) +Options specific to @code{GDI} fonts: + +@table @code + +@cindex font scripts (MS Windows) +@cindex font Unicode subranges (MS Windows) +@item script +Specifies a Unicode subrange the font should support. + +The following scripts are recognized on Windows: @code{latin}, @code{greek}, +@code{coptic}, @code{cyrillic}, @code{armenian}, @code{hebrew}, @code{arabic}, +@code{syriac}, @code{nko}, @code{thaana}, @code{devanagari}, @code{bengali}, +@code{gurmukhi}, @code{gujarati}, @code{oriya}, @code{tamil}, @code{telugu}, +@code{kannada}, @code{malayam}, @code{sinhala}, @code{thai}, @code{lao}, +@code{tibetan}, @code{myanmar}, @code{georgian}, @code{hangul}, +@code{ethiopic}, @code{cherokee}, @code{canadian-aboriginal}, @code{ogham}, +@code{runic}, @code{khmer}, @code{mongolian}, @code{symbol}, @code{braille}, +@code{han}, @code{ideographic-description}, @code{cjk-misc}, @code{kana}, +@code{bopomofo}, @code{kanbun}, @code{yi}, @code{byzantine-musical-symbol}, +@code{musical-symbol}, and @code{mathematical}. + +@cindex font antialiasing (MS Windows) +@item antialias +Specifies the antialiasing method. The value @code{none} means no +antialiasing, @code{standard} means use standard antialiasing, +@code{subpixel} means use subpixel antialiasing (known as Cleartype on +Windows), and @code{natural} means use subpixel antialiasing with +adjusted spacing between letters. If unspecified, the font will use +the system default antialiasing. +@end table + +@node Windows Misc +@section Miscellaneous Windows-specific features + + This section describes miscellaneous Windows-specific features. + +@vindex w32-use-visible-system-caret +@cindex screen reader software, MS-Windows + The variable @code{w32-use-visible-system-caret} is a flag that +determines whether to make the system caret visible. The default when +no screen reader software is in use is @code{nil}, which means Emacs +draws its own cursor to indicate the position of point. A +non-@code{nil} value means Emacs will indicate point location with the +system caret; this facilitates use of screen reader software, and is +the default when such software is detected when running Emacs. +When this variable is non-@code{nil}, other variables affecting the +cursor display have no effect. + +@iftex +@inforef{Windows Misc, , emacs}, for information about additional +Windows-specific variables in this category. +@end iftex + +@ifnottex +@vindex w32-grab-focus-on-raise +@cindex frame focus policy, MS-Windows + The variable @code{w32-grab-focus-on-raise}, if set to a +non-@code{nil} value causes a frame to grab focus when it is raised. +The default is @code{t}, which fits well with the Windows default +click-to-focus policy. +@end ifnottex + +@ifnottex +@include msdos-xtra.texi +@end ifnottex diff --cc lisp/ChangeLog index 33e04807e87,fd54c688640..8ccc2c35b1f --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,5357 -1,859 +1,5392 @@@ -2015-01-31 Alan Mackenzie ++2015-02-26 Alan Mackenzie + + Handle "#" operator properly inside macro. Fix coding bug. + + * progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): On + finding a "#" which looks like the start of a macro, check it + isn't already inside a macro. + + * progmodes/cc-engine.el (c-state-safe-place): Don't record a new + "safe" position into the list of them when this is beyond our + current position. + -2015-01-31 Martin Rudalics ++2015-02-26 Martin Rudalics + + * menu-bar.el (menu-bar-non-minibuffer-window-p): Return nil when + the menu frame is dead. (Bug#19728) + -2015-01-30 Fabián Ezequiel Gallina ++2015-02-26 Fabián Ezequiel Gallina + + python.el: Handle tabs in python-indent-dedent-line. + + * progmodes/python.el (python-indent-dedent-line): Fixes for + indentation with tabs. Thanks to (Bug#19730). + -2015-01-30 Fabián Ezequiel Gallina ++2015-02-26 Fabián Ezequiel Gallina + + * progmodes/python.el (python-indent-context): Respect user + indentation after comment. + -2015-01-29 Tassilo Horn ++2015-02-26 Tassilo Horn + + * textmodes/reftex-vars.el (featurep): Conditionalize value of + reftex-label-regexps in order to stay compatible with XEmacs 21.5 + which has no explicitly numbered groups in regexps (bug#19714). + -2015-01-28 Tassilo Horn +2015-02-26 Daiki Ueno - * textmodes/reftex.el (reftex-syntax-table-for-bib): Give ( and ) - punctuation syntax since to allow bibtex fields with values such - as {Test 1) and 2)} (bug#19205, bug#19707). - (reftex--prepare-syntax-tables): New function. - (reftex-mode): Use it. + * net/dbus.el (dbus-register-signal): Convert "N" of ":argN" to + integer before comparison. -2015-01-26 Fabián Ezequiel Gallina +2015-02-25 Nicolas Richard - python.el: New non-global state dependent indentation engine. - (Bug#18319, Bug#19595) + * progmodes/elisp-mode.el (elisp--eval-last-sexp): Document argument. - * progmodes/python.el (python-syntax-comment-or-string-p): Accept - PPSS as argument. - (python-syntax-closing-paren-p): New function. - (python-indent-current-level) - (python-indent-levels): Mark obsolete. - (python-indent-context): Return more context cases. - (python-indent--calculate-indentation) - (python-indent--calculate-levels): New functions. - (python-indent-calculate-levels): Use them. - (python-indent-calculate-indentation, python-indent-line): - (python-indent-line-function): Rewritten to use new API. - (python-indent-dedent-line): Simplify logic. - (python-indent-dedent-line-backspace): Use `unless`. - (python-indent-toggle-levels): Delete function. +2015-02-25 Oleh Krehel -2015-01-22 Wolfgang Jenkner + * emacs-lisp/check-declare.el (check-declare-warn): Use + compilation-style warnings. + (check-declare-files): Make sure that + `check-declare-warning-buffer' is in `compilation-mode'. - * calc/calc-units.el (math-units-in-expr-p) - (math-single-units-in-expr-p, math-find-compatible-unit-rec) - (math-extract-units): Handle the `neg' operator. (Bug#19582) - [Backport] +2015-02-25 Oleh Krehel -2015-01-21 Daniel Koning (tiny change) + * emacs-lisp/check-declare.el (check-declare-ext-errors): New + defcustom. + (check-declare): New defgroup. + (check-declare-verify): When `check-declare-ext-errors' is + non-nil, warn about an unfound function, instead of saying + "skipping external file". - * subr.el (posnp): Correct docstring of `posnp'. - (posn-col-row): Make it work with all mouse position objects. - * textmodes/artist.el (artist-mouse-draw-continously): Cancel - timers if an error occurs during continuous drawing. (Bug#6130) +2015-02-25 Tassilo Horn -2015-01-20 Eli Zaretskii + * textmodes/reftex-vars.el (reftex-include-file-commands): Call + reftex-set-dirty on changes. - * button.el (button-activate, push-button): Doc fix. (Bug#19628) +2015-02-25 Stefan Monnier -2015-01-16 Samer Masterson (tiny change) + * emacs-lisp/edebug.el (edebug--display): Save-excursion (bug#19611). + * emacs-lisp/debug.el (debugger-env-macro): Remove redundant + save-excursion. - * pcomplete.el (pcomplete-parse-arguments): Parse arguments - regardless of pcomplete-cycle-completions's value. (Bug#18950) +2015-02-24 Glenn Morris -2015-01-13 Michael Albinus + * mail/rmailsum.el (rmail-summary-previous-all) + (rmail-summary-previous-msg): Simplify. - * filenotify.el (file-notify-descriptors, file-notify-handle-event): - Adapt docstring. - (file-notify--descriptor): New defun. - (file-notify-callback, file-notify-add-watch, file-notify-rm-watch): - Adapt docstring. Handle multiple values for - `file-notify-descriptors' entries. (Bug#18880) +2015-02-25 Artur Malabarba - * net/tramp.el (tramp-handle-file-notify-rm-watch): Do not check - `file-notify-descriptors', the implementation has been changed. + * simple.el (region-active-p): Fix doc to say non-nil. -2015-01-13 Juri Linkov +2015-02-24 Samer Masterson - * comint.el (comint-history-isearch-search) - (comint-history-isearch-wrap): Use field-beginning instead of - comint-line-beginning-position. - (comint-send-input): Go to the end of the field instead of the end - of the line to accept whole multi-line input. - http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html - (comint-history-isearch-message): Use field-beginning - instead of comint-line-beginning-position - that's more fixes for - http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html - (comint-history-isearch-message): Fix args of isearch-message-prefix. + * eshell/em-hist.el (eshell-hist-parse-word-designator): + Return args joined with " ". + * eshell/em-pred.el (eshell-parse-modifiers): Correct docstring. + (eshell-hist-parse-modifier): Pass mod a list instead of a string + (bug#18960). - [Backport] +2015-02-24 Karl Fogel (tiny change) -2015-01-09 Eli Zaretskii + * comint.el (comint-mode-map): Fix obvious typo. - * net/net-utils.el (net-utils-run-program, net-utils-run-simple): - On MS-Windows, bind coding-system-for-read to the console output - codepage. (Bug#19458) +2015-02-24 Johan Claesson (tiny change) -2015-01-08 Eli Zaretskii + * filecache.el (file-cache-filter-regexps): + Add lock files. (Bug#19516) - * simple.el (line-move-visual): When converting X pixel coordinate - to temporary-goal-column, adjust the value for right-to-left - screen lines. This fixes vertical-motion, next/prev-line, etc. +2015-02-24 Glenn Morris -2015-01-06 Glenn Morris + * mail/rmailsum.el (rmail-summary-next-all) + (rmail-summary-previous-all, rmail-summary-next-msg): + Fix handling of optional argument. (Bug#19916) - * progmodes/sh-script.el (sh-mode): Doc fix. - (sh-basic-indent-line): Handle electric newline. (Bug#18756) + * progmodes/f90.el (f90-beginning-of-subprogram) + (f90-end-of-subprogram, f90-match-end): + Handle continued strings where the continuation does not start + with "&" and happens to match our regexp. (Bug#19809) -2014-12-14 Steve Purcell (tiny change) +2015-02-24 Bozhidar Batsov - * emacs-lisp/package.el (package-menu-mode): Use an extra column - for the "Version" column, to accomodate date-and-time-based versions. + * comint.el (comint-clear-buffer): New command. + (comint-mode-map): Bind `comint-clear-buffer' to 'C-c M-o'. -2015-01-04 Paul Eggert +2015-02-23 Pete Williamson (tiny change) - Fix dired quoting bug with "Hit`N`Hide". Fixes Bug#19498. - * files.el (shell-quote-wildcard-pattern): Also quote "`". + Use ${EXEEXT} more uniformly in makefiles + * Makefile.in (EMACS): Append ${EXEEXT}. -2015-01-04 Dmitry Gutov +2015-02-23 Sam Steingold - Unbreak `mouse-action' property in text buttons. - * button.el (push-button): Fix regression from 2012-12-06. + * files.el (recover-session): Handle `auto-save-list-file-prefix' + being a directory (empty non-directory part). -2015-01-01 Eli Zaretskii +2015-02-23 Magnus Henoch - * tool-bar.el (tool-bar-local-item) - (tool-bar-local-item-from-menu): Call force-mode-line-update to - make sure the tool-bar changes show on display. + * net/sasl.el (sasl-mechanism-alist): Refer to sasl-scram-rfc + instead of sasl-scram-sha-1, as the former is the name that can be + required. -2014-12-29 Michael Albinus + * net/sasl-scram-rfc.el (sasl-scram-sha-1-steps) + (sasl-scram-sha-1-client-final-message) + (sasl-scram-sha-1-authenticate-server): Move to end of file. - Sync with Tramp 2.2.11. +2015-02-23 Paul Eggert - * net/tramp-compat.el (top): Require cl-macs for Emacs 22. - Make an alias for `default-toplevel-value' if it doesn't exist. + Fix the desired binding for comment-line + * bindings.el (ctl-x-map): Use [?\C-\;] to get the desired binding. + Fixes: bug#19826 - * net/tramp-smb.el (tramp-smb-handle-copy-directory): - Use `tramp-compat-delete-directory'. +2015-02-23 Stefan Monnier - * net/trampver.el: Update release number. + * emacs-lisp/macroexp.el (macroexp-parse-body): Handle cl-declare + and :documentation. Change return value format accordingly. + * emacs-lisp/cl-generic.el (cl--generic-lambda): + * emacs-lisp/pcase.el (pcase-lambda): Adjust accordingly. + * emacs-lisp/cl-macs.el (cl--transform-lambda): Use macroexp-parse-body. -2014-12-29 Filipp Gunbin +2015-02-23 Dmitry Gutov - * autorevert.el (auto-revert-handler): Fix auto-revert-tail-mode - for remote files. (Bug#19449) + Introduce `xref-etags-mode'. + * progmodes/xref.el (xref-etags-mode--saved): New variable. + (xref-etags-mode): New minor mode. (Bug#19466) -2014-12-28 Eli Zaretskii +2015-02-22 Lars Magne Ingebrigtsen - * international/mule.el (define-coding-system): Fix typos in the - doc string. + * dom.el (dom-previous-sibling): New function. -2014-12-28 Kenichi Handa +2015-02-21 Paul Eggert - * international/mule.el (define-coding-system): Improve the doc - string. + * bindings.el (ctl-x-map): There is no 'C-;'. + For now, make do with 'M-;'; this allows 'make bootstrap' to work. + Perhaps some other binding should be chosen. + Fixes: bug#19826 -2014-12-27 Fabián Ezequiel Gallina +2015-02-21 Artur Malabarba - * progmodes/python.el (python-shell-buffer-substring): Handle - cornercase when region sent starts at point-min. + * bindings.el (ctl-x-map): Fix `comment-line' binding. (Bug#19826) -2014-12-27 Eli Zaretskii +2015-02-21 Michael Albinus - * language/misc-lang.el (composition-function-table): Add Syriac - characters and also ZWJ/ZWNJ. See - http://lists.gnu.org/archive/html/help-gnu-emacs/2014-12/msg00248.html - for the details. + * autorevert.el (auto-revert-notify-add-watch) + (auto-revert-notify-handler, auto-revert-buffers): Handle also + buffers without an associated file, like dired buffers. (Bug#16112) -2014-12-27 Fabián Ezequiel Gallina +2015-02-21 Dima Kogan - python.el: Fix message when sending region. + * autorevert.el (auto-revert-mode, auto-revert-tail-mode) + (global-auto-revert-mode): Remove (let (auto-revert-use-notify) ... ) + wrappers. Call (auto-revert-buffers) consequently in order to + install handlers. - * progmodes/python.el (python-shell-send-region): Rename argument - send-main from nomain. Fix message. - (python-shell-send-buffer): Rename argument send-main from arg. +2015-02-21 Wilson Snyder -2014-12-27 Fabián Ezequiel Gallina + Sync with upstream verilog-mode revision 0d6420b. + * progmodes/verilog-mode.el (verilog-mode-version): Update. + (vector-skip-list): Remove. + (verilog-auto-inst-port, verilog-auto-inst-port-list) + (verilog-auto-inst, verilog-auto-inst-param): + Use arguments rather than vector-skip. + (verilog-auto-inst-port): Fix AUTOINST interfaces to not show + modport if signal attachment is itself a modport. + Reported by Matthew Lovell. + +2015-02-21 Reto Zimmermann + + Sync with upstream vhdl mode v3.37.1. Add VHDL'08 support. + * progmodes/vhdl-mode.el (vhdl-version, vhdl-time-stamp) + (vhdl-doc-release-notes): Update. + (vhdl-standard): Add VHDL'08 option. + (vhdl-sensitivity-list-all): New option. + (vhdl-directive-keywords): Add psl. + (vhdl-offsets-alist-default, vhdl-mode-abbrev-table-init) + (vhdl-template-construct-alist-init, vhdl-create-mode-menu): + (vhdl-imenu-generic-expression): Add context, directive. + (vhdl-offsets-alist, vhdl-mode, vhdl-doc-keywords): Doc fixes. + (vhdl-template-map-init): Add vhdl-template-context. + (vhdl-mode-syntax-table): Support VHDL'08 block comments. + (vhdl-create-mode-menu): Add some entries. + (vhdl-08-keywords, vhdl-08-types, vhdl-08-attributes) + (vhdl-08-functions, vhdl-08-packages, vhdl-08-directives): + New constants. + (vhdl-directives): New variable. + (vhdl-words-init, vhdl-template-process) + (vhdl-template-replace-header-keywords): Support VHDL'08. + (vhdl-abbrev-list-init): Add vhdl-directives. + (vhdl-in-comment-p, vhdl-in-literal, vhdl-win-il) + (vhdl-forward-syntactic-ws, vhdl-get-syntactic-context) + (vhdl-lineup-comment): Handle block comments and directives. + (vhdl-beginning-of-directive, vhdl-template-context) + (vhdl-template-context-hook): New functions. + (vhdl-libunit-re, vhdl-defun-re, vhdl-begin-p) + (vhdl-corresponding-begin, vhdl-get-library-unit, vhdl-regress-line) + (vhdl-align-declarations, vhdl-beginning-of-block, vhdl-end-of-block) + (vhdl-font-lock-keywords-2, vhdl-get-end-of-unit) + (vhdl-scan-context-clause): Add context. - python.el: Cleanup temp files even with eval errors. +2015-02-20 Glenn Morris - * progmodes/python.el (python-shell-send-file): Make file-name - mandatory. Fix temp file removal in the majority of cases. + * calendar/solar.el (solar-sunrise-sunset-string): + Shorten message a little. + (sunrise-sunset): Use message rather than a window. (Bug#19859) -2014-12-27 Fabián Ezequiel Gallina + * progmodes/f90.el (f90-keywords-re, f90-procedures-re) + (f90-font-lock-keywords-2): Some F2008 additions. - python.el: Handle file encoding for shell. +2015-02-19 Dima Kogan - * progmodes/python.el (python-rx-constituents): Add coding-cookie. - (python-shell--save-temp-file): Write file with proper encoding. - (python-shell-buffer-substring): Add coding cookie for detected - encoding to generated content. Fix blank lines when removing - if-name-main block. - (python-shell-send-file): Handle file encoding. - (python-info-encoding-from-cookie) - (python-info-encoding): New functions. + * autorevert.el (auto-revert-buffers-counter) + (auto-revert-buffers-counter-lockedout): New variables. + (auto-revert-buffers): Increase `auto-revert-buffers-counter'. + (auto-revert-notify-handler): Apply `auto-revert-handler' if not + suppressed by lockout. (Bug#18958) -2014-12-24 Michael Albinus +2015-02-19 Stefan Monnier - * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): - Use `tramp-rsh-end-of-line', it ought to be more robust. + * emacs-lisp/eieio-opt.el (eieio-help-class): `eieio-class-parents' + returns classes, not class names (bug#19891). -2014-12-23 Stefan Monnier + * emacs-lisp/cl-macs.el (cl-struct-slot-value): Handle a nil type. - * progmodes/js.el (js-syntax-propertize): "return" can't be divided - (bug#19397). + * emacs-lisp/smie.el (smie-prec2->grammar): Fix corner case problem. -2014-12-23 Michael Albinus +2015-02-18 Kelly Dean - * net/tramp.el (tramp-read-passwd): Ignore errors from `auth-source-*'. + * register.el (jump-to-register): + * emacs-lisp/lisp.el (check-parens): + Push mark before goto-char so user doesn't lose his previous place. - * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use "\n" - as end-of-line delimeter for passwords, when running on MS Windows. +2015-02-18 Kelly Dean -2014-12-23 Stefan Monnier + * rect.el (rectangle-mark-mode): + Suppress superfluous "Mark set" message from push-mark. - * progmodes/sh-script.el (sh-set-shell): Don't change the global value - of indent-line-function (bug#19433). +2015-02-18 Kelly Dean -2014-12-23 Fabián Ezequiel Gallina + * help-mode.el (help-go-back, help-go-forward, help-follow): + * simple.el (yank-pop, pop-to-mark-command, exchange-point-and-mark): + * winner.el (winner-redo): + * windmove.el (windmove-do-window-select): + * register.el (jump-to-register, increment-register, insert-register) + (append-to-register, prepend-to-register): + * files.el (find-alternate-file, abort-if-file-too-large, write-file) + (set-visited-file-name): + * emacs-lisp/lisp.el (kill-backward-up-list): + Use user-error instead of error. (Bug#14480) - Fix line numbers on Python shell. - * progmodes/python.el (python-shell--save-temp-file): Do not - append coding cookie. - (python-shell-send-string): Generalize for - python-shell-send-region. - (python--use-fake-loc): Delete var. - (python-shell-buffer-substring): Cleanup fake-loc logic. - (python-shell-send-region): Remove fake-loc logic, simplify. +2015-02-18 Stefan Monnier -2014-12-22 Fabián Ezequiel Gallina + * emacs-lisp/checkdoc.el (checkdoc-show-diagnostics): Don't make bogus + assumptions about window ordering. - * progmodes/python.el (python-indent-post-self-insert-function): - Make colon to re-indent only for dedenters, handling - multiline-statements gracefully. +2015-02-16 Kelly Dean -2014-12-21 Michael Albinus + * files.el (insert-file-contents-literally): Fix docstring typo. - * net/tramp.el (tramp-handle-insert-file-contents): - Set `find-file-not-found-functions' in case of errors. (Bug#18623) +2015-02-16 Kelly Dean -2014-12-19 Michael Albinus + * emacs-lisp/easy-mmode.el (define-minor-mode): Process macro + arguments correctly. (Bug#19685) + (define-minor-mode): Clarify docstring. + Clarify mode switch messages for minor modes. (Bug#19690) - * net/tramp-sh.el (tramp-send-command-and-read): New optional - arg MARKER. - (tramp-get-remote-path): Use it. +2015-02-16 Kelly Dean -2014-12-18 Stefan Monnier + * emacs-lisp/package-x.el (package-upload-buffer-internal): + Create valid tar files. (Bug#19536) - * subr.el (redisplay-dont-pause): Mark as obsolete. +2015-02-16 Kelly Dean -2014-12-17 Michael Albinus + * desktop.el (desktop-read): Conditionally re-enable desktop autosave. + (Bug#19059) - * net/tramp.el (tramp-error-with-buffer): Call `message' properly. - (tramp-accept-process-output): Use nil as argument for - `accept-process-output', when there is a gateway prepended. +2015-02-16 Kelly Dean - * net/tramp-gw.el (tramp-gw-open-connection): Suppress traces in - wrong debug buffer. - (tramp-gw-open-connection): Set process coding system 'binary. - (tramp-gw-open-network-stream): Handle HTTP error 403. + * help-mode.el (help-do-xref): Prevent duplicated display of Info + buffer, and prevent interference with existing buffer. (Bug#13190) - * net/tramp-sh.el (tramp-compute-multi-hops): Suppress traces in - wrong debug buffer. - (tramp-maybe-open-connection): Set connection property "gateway". +2015-02-16 Fabián Ezequiel Gallina -2014-12-15 Stefan Monnier + python.el: Do not deactivate mark on shell fontification. (Bug#19871) - * subr.el (sit-for): Tweak docstring (bug#19381). + * progmodes/python.el (python-shell-font-lock-post-command-hook): + Do not deactivate mark on fontification. -2014-12-15 Dmitry Gutov +2015-02-16 Ivan Shmakov - * vc/vc-git.el (vc-git-after-dir-status-stage): Move `up-to-date' - stage to after `diff-index' (bug#19386). + * net/eww.el: Fix desktop support. (Bug#19226) + (eww-mode): Add autoload cookie. + (eww-restore-desktop): Use inhibit-read-only. -2014-12-14 João Távora + * net/eww.el (eww-suggest-uris): Add autoload cookie, so that + add-hook works correctly even if the file is not yet loaded. - * textmodes/tex-mode.el (tex-insert-quote): Consider and respect - `electric-pair-mode' (bug#19356). +2015-02-16 Stefan Monnier -2014-12-12 Michael Albinus + * emacs-lisp/eieio.el (defclass): Use make-instance rather than + eieio-constructor. + (set-slot-value): Mark as obsolete. + (eieio-object-class-name): Improve call to eieio-class-name. + (eieio-slot-descriptor-name, eieio-class-slots): New functions. + (object-slots): Use it. Declare obsolete. + (eieio-constructor): Merge it with `make-instance'. + (initialize-instance): Use `dolist'. + (eieio-override-prin1, eieio-edebug-prin1-to-string): + Use eieio--class-print-name. - * simple.el (password-word-equivalents): Add "passcode", used for - numeric secrets like PINs or RSA tokens. + * emacs-lisp/eieio-core.el (eieio--class-print-name): New function. + (eieio-class-name): Make it do what the docstring claims. + (eieio-defclass-internal): Simplify since `prots' isn't used any more. + (eieio--slot-name-index): Simplify accordingly. + (eieio-barf-if-slot-unbound): Pass the class object rather than its + name to `slot-unbound'. -2014-12-10 Michael Albinus + * emacs-lisp/eieio-base.el (make-instance): Add a method here rather + than on eieio-constructor. - * net/tramp-sh.el (tramp-get-remote-path): Use a login shell in - order to determine `tramp-own-remote-path'. +2015-02-16 Stefan Monnier -2014-12-09 Fabián Ezequiel Gallina + * emacs-lisp/cl-macs.el (cl-defstruct): Keep type=nil by default. + * emacs-lisp/cl-preloaded.el (cl-struct-define): Add sanity checks + about relationship between `type', `named', and `slots'. + * emacs-lisp/cl-generic.el (cl--generic-struct-tagcode): Adjust to new + value of `cl-struct-type' property. - * progmodes/python.el (python-shell-parse-command): - Quote `python-shell-interpreter`. (Bug#19289) +2015-02-15 Jérémy Compostella -2014-12-04 Stefan Monnier + * net/tramp-sh.el (tramp-remote-process-environment): Disable paging + with PAGER=cat. (Bug#19870) - * progmodes/sh-script.el (sh-smie-sh-rules): Go back to the beginning - of the whole pipe when indenting an opening keyword after a |. - Generalize this treatment to opening keywords like "while" (bug#18031). +2015-02-14 Artur Malabarba -2014-12-01 Stefan Monnier + * emacs-lisp/package.el (package-read-all-archive-contents): + Don't build the compatibility table. + (package-refresh-contents, package-initialize): Do build the + compatibility table. + (package--build-compatibility-table): New function. + (describe-package-1): Describe why a package is incompatible. - * simple.el (newline): Place the hook buffer-locally, - to make sure it's first. +2015-02-14 Stefan Monnier - * progmodes/prog-mode.el (prettify-symbols--compose-symbol): - Fix handling of symbols with different syntax at beginning/end or with - symbol rather than word syntax. + * emacs-lisp/cl-preloaded.el (cl-struct-define): Register as children + of the parent. + (cl--assertion-failed): New function. + (cl-assertion-failed): Move in from cl-lib.el. -2014-11-30 Eli Zaretskii + * emacs-lisp/cl-macs.el (cl-defstruct): Don't generate code to register + as children of its parents. + (cl--make-type-test, cl--compiler-macro-typep): Remove functions. + (cl-typep): Reimplement using define-inline. + (cl-assert): Use cl--assertion-failed. + (cl-struct-slot-value): Use define-inline. - * simple.el (line-move): If noninteractive, call line-move-1, not - forward-line, since the former is compatible with line-move-visual - both in terms of the column to which it moves and the return - value. (Bug#19211) + * emacs-lisp/cl-lib.el: Move autoloaded code to cl-preload. -2014-11-27 Stephen Berman - Stefan Monnier + * textmodes/flyspell.el (flyspell-word): Defvar (bug#19844). + (flyspell-generic-check-word-p): Mark as obsolete. - * outline.el (outline-move-subtree-down): Make sure we can move - forward to find the end of the subtree and the insertion point - (bug#19102). +2015-02-13 Artur Malabarba -2014-11-27 Leonard Randall + * emacs-lisp/package.el (package--compatibility-table): New var. + (package--add-to-compatibility-table): New function. + (package-read-all-archive-contents): Populate compatibility table. + (package--incompatible-p): Also look in dependencies. + (describe-package-1): Fix "incompat" handling. - * textmodes/reftex-parse.el (reftex-using-biblatex-p): Make search - for comment lines non-greedy and stopping at newlines to fix stack - overflows with large files. [Backport] +2015-02-13 Lars Ingebrigtsen -2014-11-27 Fabián Ezequiel Gallina + * net/rfc2104.el: Moved here from lisp/gnus. - * progmodes/python.el (python-shell-completion-setup-code): - Use __builtin__ module (or builtins in Python 3) and catch all errors - when importing readline and rlcompleter. +2015-02-13 Magnus Henoch -2014-11-26 Stephen Berman + * net/sasl-scram-rfc.el: New file. - * calendar/todo-mode.el: Handle calling revert-buffer (bug#19187). - (todo-revert-buffer): New function. - (todo-modes-set-1): Use it as the buffer-local value of - revert-buffer-function. + * net/sasl.el (sasl-mechanisms): Remove SCRAM-MD5. + Add SCRAM-SHA-1 first. + (sasl-mechanism-alist): Remove SCRAM-MD5 entry. Add SCRAM-SHA-1 + entry (bug#17636). -2014-11-26 Stephen Berman +2015-02-13 Lars Ingebrigtsen - * calendar/todo-mode.el (todo-mode): If called interactively, just - display a message saying to call todo-show to enter Todo mode - (Bug#19112). + * net/shr.el (shr-tag-li): Speed up rendering pages with lots of +
    . -2014-11-24 Dmitry Gutov +2015-02-12 Oleh Krehel - * vc/vc-hg.el (vc-hg-dir-status-files): Include ignored files. - (Bug#18579) + * progmodes/gdb-mi.el (gdb-display-io-nopopup): New defcustom. + (gdb-inferior-filter): Don't pop up the buried output buffer when + `gdb-display-io-nopopup' is non-nil. - * vc/vc-bzr.el (vc-bzr-after-dir-status): Don't skip ignored - files. (Bug#18579) +2015-02-12 Fabián Ezequiel Gallina -2014-11-23 Michael Albinus + python.el: Allow killing shell buffer if process is dead. (Bug#19823) - * textmodes/makeinfo.el (makeinfo-buffer): Make it work also for - remote `buffer-file-name'. + * progmodes/python.el (python-shell-font-lock-kill-buffer): + Don't require a running process. + (python-shell-font-lock-post-command-hook): Fontify only if the + shell process is running. -2014-11-23 Leo Liu +2015-02-11 Stefan Monnier - * calendar/diary-lib.el (calendar-mark-1): Fix thinko. + * hi-lock.el (hi-lock-unface-buffer): Don't call + font-lock-remove-keywords if not needed (bug#19796). -2014-11-22 Fabián Ezequiel Gallina +2015-02-11 Artur Malabarba - Set PYTHONUNBUFFERED on shell startup. + * emacs-lisp/package.el (package-install): Invert the second + argument, for better backwards compatibility. + (package-install-button-action, package-reinstall) + (package-menu-execute): Account for the change. - * progmodes/python.el (python-shell-unbuffered): New var. - (python-shell-calculate-process-environment): Use it. +2015-02-11 Nicolas Petton -2014-11-22 Michael Albinus + * emacs-lisp/seq.el (seq-reverse): Add a backward-compatible + version of seq-reverse that works on sequences in Emacs 24. + Bump seq.el version to 1.2. - * net/tramp.el (tramp-action-password): Clean password on subsequent - attempts even if there was no wrong password indication. (Bug#19047) +2015-02-11 Artur Malabarba - * net/tramp-sh.el (tramp-get-remote-locale): Return "LC_ALL=C" as - fallback. - (tramp-open-connection-setup-interactive-shell): No need to check - for nil as `tramp-get-remote-locale' return value. + * emacs-lisp/package.el (package--incompatible-p): New function. + Return non-nil if PKG has no chance of being installable. + (package--emacs-version-list): New variable. + (describe-package-1, package-desc-status) + (package-menu--print-info, package-menu--status-predicate): + Account for the "incompat" status. -2014-11-21 Eli Zaretskii +2015-02-11 Martin Rudalics - * vc/vc-git.el (vc-git-command, vc-git--call): - Bind coding-system-for-read and coding-system-for-write to - vc-git-commits-coding-system. - (vc-git-previous-revision): Use "~1" instead of "^", since the - latter is a special character for MS-Windows system shells. + * frame.el (toggle-frame-maximized, toggle-frame-fullscreen): + Rename frame parameter `maximized' to `fullscreen-restore'. + Restore fullwidth/-height after fullboth state. Update doc-strings. -2014-11-20 Michael Albinus +2015-02-11 Lars Ingebrigtsen - Improve XEmacs compatibility. + * net/shr.el (shr-insert): Make sure the space inserted has the + right font (for width). + (shr-fill-line): Preserve background colours when indenting/folding. + (shr-ensure-paragraph): Don't insert a new paragraph as the first + item in a
  • . - * net/tramp.el (tramp-autoload-file-name-handler): - Wrap `temporary-file-directory' by `symbol-value', it doesn't - exist in XEmacs. - (tramp-read-passwd): Don't use `with-timeout-suspend' and - `with-timeout-unsuspend' if they don't exist, like in XEmacs. - (tramp-time-less-p, tramp-time-subtract): Remove functions. - (tramp-handle-file-newer-than-file-p, tramp-time-diff): - * net/tramp-adb.el (tramp-adb-ls-output-time-less-p): - * net/tramp-cache.el (tramp-get-file-property): - * net/tramp-smb.el (tramp-smb-handle-insert-directory): - Use `time-less-p' and `time-subtract, respectively. +2015-02-10 Lars Ingebrigtsen - * net/tramp-adb.el (top): Do not require time-date.el. + * net/shr.el (shr-use-fonts): New variable. + (shr-fill-text): Rename from "fold". + (shr-pixel-column, shr-pixel-region, shr-string-pixel-width): + New functions. + (shr-insert): Just insert, don't fill the text. Filling is now + done afterwards per display unit. + (shr-fill-lines, shr-fill-line): New functions to fill text on a + per-unit base. + (shr-find-fill-point): Take a "beginning" parameter. + (shr-indent): Indent using the :width display parameter when using + fonts. + (shr-parse-style): Ignore "inherit" values, since we already do that. + (shr-tag-img): Remove the insertion states. + (shr-tag-blockquote): New-style filling. + (shr-tag-dd): Ditto. + (shr-tag-li): Ditto. + (shr-mark-fill): New function to mark lines that need filling. + (shr-tag-h1): Use a larger font. + (shr-tag-table-1): Get the natural and suggested widths in one + rendering. + (shr-tag-table): Create the "fixed" version of the table only once + so that we can cache data in the table. + (shr-insert-table): Get colspan calculations right by having + zero-width columns after colspan ones. + (shr-expand-alignments): New function to make :align-to specs work + right when rendered in one buffer and displayed in another one. + (shr-insert-table-ruler): Use :align-to to get the widths right. + (shr-make-table): Cache more. + (shr-make-table-1): Use the new data layout. + (shr-pixel-buffer-width): New function. + (shr-render-td): Add a caching layer. + (shr-dom-max-natural-width): New function. + (shr-tag-h1): Don't use variable-pitch fonts on fontless rendering. + (shr-tag-tt): New function. + (shr-tag-hr): Compute the right length when using fonts. + (shr-table-widths): Off-by-one error in width computation. + (shr-expand-newlines): Remove dead code. + (shr-insert-table): Extend background colors to the end of the column. + (shr-insert-table): Only copy the background, not underline and + the like. + (shr-face-background): New function. + +2015-02-10 Fabián Ezequiel Gallina + + python.el: Improved shell font lock respecting markers. (Bug#19650) - * net/tramp-compat.el (top): Require time-date.el for XEmacs. + * progmodes/python.el + (python-shell-font-lock-get-or-create-buffer): Use special buffer name. + (python-shell-font-lock-with-font-lock-buffer): Enable font lock. + (python-shell-font-lock-post-command-hook): Fontify by copying text + properties from fontified buffer to shell, keeping markers unchanged. + (python-shell-font-lock-turn-off): Fix typo. + (python-util-text-properties-replace-name): Delete function. - * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): - Check, whether `utf-8' is a valid coding system. +2015-02-09 Nicolas Petton -2014-11-19 Eli Zaretskii + * emacs-lisp/seq.el (seq-group-by): Improves seq-group-by to + return sequence elements in correct order. - * vc/vc.el (vc-retrieve-tag): Doc fix. +2015-02-09 Simen Heggestøyl (tiny change) -2014-11-17 Eli Zaretskii + * textmodes/css-mode.el (css-smie-rules): Fix paren indent (bug#19815). - * vc/vc-bzr.el (vc-bzr-print-log, vc-bzr-expanded-log-entry): - Don't assume --long is the default for "bzr log", always specify - it explicitly, in case the user defined an alias for 'log' that - uses some other format. +2015-02-09 Stefan Monnier -2014-11-16 Fabián Ezequiel Gallina + * emacs-lisp/cl-generic.el (cl--generic-lambda): Use macroexp-parse-body. - * progmodes/python.el (python-eldoc--get-doc-at-point): - Strip shell output before returning. (bug#18794) + * emacs-lisp/eieio-core.el (eieio-oset-default): Catch the unexpected + case where the default value would be re-interpreted as a form! -2014-11-16 Dmitry Gutov +2015-02-09 Christopher Genovese (tiny change) - Fix indentation before `!=' and after `+='. Originally reported - in https://github.com/mooz/js2-mode/issues/174. - * progmodes/js.el (js--indent-operator-re): Make assignments and - (in)equality operator a separate case. - (js--continued-expression-p): Escape the second `+' in the regexp. + * help-fns.el (help-fns--signature): Keep doc for keymap. -2014-11-16 Stefan Monnier +2015-02-09 Kelly Dean - * window.el (handle-select-window): Deactivate shift-region (bug#19003). + * desktop.el: Save mark-ring less verbosely. + (desktop-var-serdes-funs): New var. + (desktop-buffer-info, desktop-create-buffer): Use it. + (desktop-file-version): Update to 208. -2014-11-15 Andreas Schwab +2015-02-09 Leo Liu - * version.el (emacs-repository-get-version): Use git rev-parse - instead of git log. + * emacs-lisp/pcase.el (pcase-lambda): New Macro. (Bug#19814) -2014-11-15 Fabián Ezequiel Gallina + * emacs-lisp/lisp-mode.el (el-kws-re): Include `pcase-lambda'. - * progmodes/python.el (python-indent-calculate-levels): - Fix indentation behavior multiline dedenter statement. (Bug#18432) + * emacs-lisp/macroexp.el (macroexp-parse-body): New function. -2014-11-15 Fabián Ezequiel Gallina +2015-02-08 Paul Eggert - * progmodes/python.el (python-indent-region): - Use python-indent-line and skip special cases. (Bug#18843) + Port to platforms lacking test -a and -o + * Makefile.in (compile-clean): + * net/tramp-sh.el (tramp-find-executable): + Prefer '&&' and '||' to 'test -a' and 'test -o'. -2014-11-15 Michael Albinus +2015-02-08 Artur Malabarba - * vc/vc-hg.el (vc-hg-state): Disable pager. (Bug#18940) + * newcomment.el (comment-line): Fix missing paren. -2014-11-15 Peder O. Klingenberg +2015-02-08 Ulrich Müller - * mail/emacsbug.el (report-emacs-bug): Make a better guess at - envelope-from when reporting through sendmail (bug#19054). + * play/gamegrid.el: Update comment to reflect that the + 'update-game-score' helper program is now setgid by default. -2014-11-14 Ivan Andrus +2015-02-08 David Kastrup - * progmodes/python.el (python-ffap-module-path): - Use `derived-mode-p' instead of equality test on `major-mode'. + * subr.el (apply-partially): Use lexical binding here. -2014-11-13 Ulrich Müller +2015-02-08 Artur Malabarba - * version.el (emacs-repository-get-version): Call `git log' - command with proper format argument (bug#19049). + * newcomment.el (comment-line): New command. -2014-11-10 Glenn Morris + * bindings.el (ctl-x-map): Bind to `C-x C-;'. - * startup.el (command-line): Handle nil elements in load-path. +2015-02-08 Oleh Krehel -2014-11-08 Glenn Morris + * outline.el (outline-show-entry): Fix one invisible char for the + file's last outline. Fixes Bug#19493. - * emacs-lisp/bytecomp.el (byte-compile-report-error): - Allow the argument to be a string. Due to the vague doc, - it was already being used this way. +2015-02-08 Stefan Monnier -2014-11-07 Michael Albinus + * subr.el (indirect-function): Change advertised calling convention. - * net/tramp.el (tramp-check-cached-permissions): Include hop in - the constructed Tramp file name. (Bug#18943) +2015-02-08 Fabián Ezequiel Gallina -2014-11-07 Stefan Monnier + python.el: Fix completion-at-point. (Bug#19667) - * emulation/cua-base.el (cua--select-keymaps): Use region-active-p - (bug#18952). - (cua-set-mark, cua--pre-command-handler-1,cua--post-command-handler-1): - * emulation/cua-gmrk.el (cua-cancel-global-mark): Same. + * progmodes/python.el + (python-shell-completion-native-get-completions): Force process buffer. + (python-shell-completion-at-point): Handle case where call is not + in a shell buffer. -2014-11-07 Michael Albinus +2015-02-08 Fabián Ezequiel Gallina - * files.el (file-name-non-special): Wrap the call of - `insert-file-contents' by `unwind-protect', in order to set the - buffer's file name anyway. (Bug#18891) + python.el: Fix shell font-lock multiline input. (Bug#19744) -2014-11-07 Daiki Ueno + * progmodes/python.el + (python-shell-font-lock-post-command-hook): Handle multiline input. - * epg.el (epg--list-keys-1): Ignore fields after the 15th field - (bug#18979). Reported by Hideki Saito. +2015-02-08 Fabián Ezequiel Gallina -2014-10-18 Alan Mackenzie + python.el: Make shell font-lock respect markers. (Bug#19650) - Check that a "macro" found near point-min isn't a ## operator. - Fixes bug #18749. Backported from trunk, 2014-11-05. - * progmodes/cc-engine.el (c-macro-is-genuine-p): New function. - (c-beginning-of-macro): Use the above new function. + * progmodes/python.el (python-shell-font-lock-cleanup-buffer): + Use `erase-buffer`. + (python-shell-font-lock-comint-output-filter-function): + Handle newlines. + (python-shell-font-lock-post-command-hook): Respect markers on + text fontification. -2014-11-05 Alan Mackenzie +2015-02-07 Fabián Ezequiel Gallina - Fix wrong bound to c-font-lock-declarators. Fixes bug #18948. - * progmodes/cc-fonts.el (c-font-lock-declarations): - Pass "(point-max)" as bound to c-font-lock-declarators, not "limit", as - the buffer is sometimes narrowed to less than "limit" (e.g., in - the presence of macros). + python.el: Keep eldoc visible while typing args. (Bug#19637) -2014-11-05 Michael Albinus + * progmodes/python.el (python-eldoc--get-symbol-at-point): + New function based on Carlos Pita patch. + (python-eldoc--get-doc-at-point, python-eldoc-at-point): Use it. - * net/tramp.el (tramp-error-with-buffer): Show connection buffer - only when message appeared in minibuffer. (Bug#18891) +2015-02-07 Fabián Ezequiel Gallina - * net/tramp-adb.el (tramp-adb-handle-file-attributes): - * net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes): - * net/tramp-sh.el (tramp-sh-handle-file-attributes): Return nil in - case of errors. + Fix hideshow integration. (Bug#19761) -2014-11-04 Eli Zaretskii + * progmodes/python.el + (python-hideshow-forward-sexp-function): New function based on + Carlos Pita patch. + (python-mode): Make `hs-special-modes-alist` use it and initialize + the end regexp with the empty string to avoid skipping parens. - * jit-lock.el (jit-lock-stealth-fontify): Be tolerant to nil being - returned by load-average. +2015-02-07 Fabián Ezequiel Gallina -2014-11-04 Michael Albinus + * progmodes/python.el (python-check-custom-command): Do not use + defvar-local for compat with Emacs<24.3. - * net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Don't use - a local copy; setting `inhibit-file-name-handlers' proper might be - more performant. (Bug#18751) +2015-02-07 Martin Rudalics -2014-11-04 Glenn Morris + * frame.el (frame-notice-user-settings): + Update `frame-size-history'. + (make-frame): Update `frame-size-history'. + Call `frame-after-make-frame'. + * faces.el (face-set-after-frame-default): Remove call to + frame-can-run-window-configuration-change-hook. - * mail/emacsbug.el (report-emacs-bug): No longer include - recent-keys in the report. (Bug#18900) +2015-02-06 Dmitry Gutov -2014-11-03 Michael Albinus + * vc/vc-cvs.el (vc-cvs-dir-status-files): Don't pass DIR to + `vc-cvs-command' (bug#19732). - * net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Use a - local copy of FILENAME, when it is remote. (Bug#18751) +2015-02-06 Nicolas Petton -2014-11-02 Michael Albinus + * emacs-lisp/seq.el (seq-mapcat, seq-partition, seq-group-by): New functions. + * emacs-lisp/seq.el (seq-drop-while, seq-take-while, seq-count) + (seq--drop-list, seq--take-list, seq--take-while-list): Better docstring. - * net/tramp-adb.el (tramp-adb-handle-process-file): Do not raise - an error when the command fails; the return code must indicate. - (tramp-adb-send-command-and-check): Fix docstring. +2015-02-06 Artur Malabarba -2014-11-01 Michael Albinus + * doc-view.el (doc-view-kill-proc-and-buffer): Obsolete. Use + `image-kill-buffer' instead. - * net/tramp-cache.el (tramp-get-file-property) - (tramp-set-file-property): Check, that `tramp-cache-get-count-*' - and `tramp-cache-set-count-*' are bound. Otherwise, there might - be compiler warnings. +2015-02-06 Thomas Fitzsimmons - * net/tramp-sh.el (tramp-get-remote-uid, tramp-get-remote-gid): - Return -1 respective "UNKNOWN", if uid or gid cannot be determined. + * net/ldap.el (ldap-search-internal): Fix docstring. -2014-11-01 Eli Zaretskii +2015-02-06 Lars Ingebrigtsen - * progmodes/compile.el (compilation-mode): Turn off deferred - fontifications locally. (Bug#18856) + * subr.el (define-error): The error conditions may be constant + lists, so use `append' to concatenate them. -2014-11-01 Wolfgang Jenkner +2015-02-06 Wolfgang Jenkner - * net/tramp-sh.el (tramp-send-command): Fix the case where the - remote-echo connection property is non-nil (bug#18858). + * net/network-stream.el (network-stream-open-tls): Respect the + :end-of-capability setting. -2014-11-01 Michael Albinus +2015-02-05 Artur Malabarba - Backport Tramp changes from trunk. + * emacs-lisp/package.el (package--sort-by-dependence): + New function. Return PACKAGE-LIST sorted by dependencies. + (package-menu-execute): Use it to delete packages in order. + (package--sort-deps-in-alist): New function. + (package-menu-mark-install): Can mark dependencies. + (package--newest-p): New function. + (package-delete): Don't deselect when deleting an older version of + an upgraded package. - * net/tramp.el (tramp-methods): Tweak docstring. - (tramp-file-name-handler): Apply `cons' where appropriate. - (tramp-handle-file-accessible-directory-p): Check for - `file-readable-p' instead of `file-executable-p'. - (tramp-handle-shell-command): Use `display-buffer'. (Bug#18326) - (tramp-handle-unhandled-file-name-directory): Return "/". - (tramp-check-cached-permissions): - Use `tramp-compat-file-attributes'. - (tramp-call-process): Add new argument VEC. Adapt callees in all - tramp*.el files. + * emacs-lisp/package.el: Add missing (require 'subr-x) - * net/tramp-adb.el (tramp-adb-sh-fix-ls-output): Use `bolp'. - (tramp-adb-handle-write-region): Improve messages. - (tramp-adb-maybe-open-connection): Don't set - `tramp-current-*' variables. +2015-02-05 Stefan Monnier - * net/tramp-cache.el (tramp-flush-file-function): Simplify check. - Suppress debug messages. + * textmodes/css-mode.el (scss-smie--not-interpolation-p): Vars can be + hyphenated (bug#19263). - * net/tramp-ftp.el (top): Remove special handling for URL syntax. - (tramp-ftp-file-name-handler): + * textmodes/css-mode.el (css-fill-paragraph): Fix filling in presence + of variable interpolation (bug#19751). - * net/tramp-gvfs.el (tramp-gvfs-methods) : Add. - (tramp-gvfs-methods-mounttracker) - (tramp-gvfs-mountlocation-signature): Check `tramp-gvfs-enabled' - during initialization. (Bug#18774) - (tramp-gvfs-handle-delete-file): Flush file properties, not - directory properties. - (tramp-gvfs-handle-file-attributes): Use `string-to-number' when - reading "unix::mode". - (tramp-gvfs-handle-file-name-all-completions): - Use "-h" option for "gvfs-ls". - (tramp-gvfs-url-file-name): Apply `cons' where appropriate. - `user' and `localname' could be nil. - (tramp-gvfs-send-command): Simplify traces. +2015-02-05 Era Eriksson - * net/tramp-sh.el (vc-handled-backends, vc-bzr-program) - (vc-git-program, vc-hg-program): Declare. - (tramp-methods) : Remove. It has never worked satisfactorily. - (tramp-methods) : Add new method. - (tramp-methods) : Redirect stderr to "/dev/null". - (tramp-methods) : Improve - `tramp-login-args'. - (tramp-default-user-alist): Add "nc". - (top): Remove completion function for "sftp". Add completion - functions for "nc" and "psftp". - (tramp-sh-handle-set-visited-file-modtime): - (tramp-sh-handle-verify-visited-file-modtime): Use `point-at-eol'. - (tramp-do-copy-or-rename-file-out-of-band): - Use cached "remote-copy-args" value, if available. (Bug#18199) - Tweak docstring. Implement support for "nc" method. - (tramp-sh-handle-expand-file-name, tramp-local-coding-commands) - (tramp-remote-coding-commands, tramp-call-local-coding-command): - Tweak docstring. - (tramp-sh-handle-start-file-process): Expand `default-directory'. - (tramp-sh-handle-write-region): Tweak error message. - (tramp-sh-handle-vc-registered): Remove backends when the remote - binary does not exist. - (tramp-open-connection-setup-interactive-shell): - Prefer utf-8 coding. (Bug#17859) - (tramp-find-inline-encoding): Do not raise an error. - (tramp-make-copy-program-file-name): Tweak docstring. Handle also - the "nc" case. Quote result also locally. - (tramp-get-remote-id): Check also for "gid". - (tramp-get-remote-python): + * json.el (json-end-of-file): New error (bug#19768). + (json-pop, json-read): Use it. - * net/tramp-smb.el (tramp-smb-handle-copy-directory) - (tramp-smb-handle-set-file-acl): Use `start-process'. - (tramp-smb-handle-insert-directory): Use progress reporter. - (tramp-smb-handle-rename-file): Flush also file properties of - FILENAME. +2015-02-05 Kelly Dean - * net/trampver.el: Update release number. + * help-mode.el (help-xref-interned): Pass BUFFER and FRAME to + `describe-variable'. -2014-11-01 Reuben Thomas + * help-fns.el (describe-function-or-variable): New function. - * net/tramp.el (tramp-handle-file-symlink-p): - * net/tramp-ftp.el (tramp-ftp-file-name-handler): Remove a comment - about VMS, which we no longer support. + * help.el (help-map): Bind `describe-function-or-variable' to o. + (help-for-help-internal): Document o key. -2014-11-01 Stefan Monnier +2015-02-05 Stefan Monnier - * net/tramp-sh.el (tramp-sh-handle-vc-registered): Don't modify - the global vc-handled-backends (bug#18535). + * emacs-lisp/eieio-compat.el (eieio--defmethod): Use new + special (:documentation ...) feature. + * emacs-lisp/eieio-core.el (eieio-make-class-predicate) + (eieio-make-child-predicate): Same. + (eieio-copy-parents-into-subclass): Remove unused arg. + (eieio-defclass-internal): Adjust call accordingly and remove redundant + `pname' var. + (eieio--slot-name-index): Remove unused arg `obj' and adjust all + callers accordingly. -2014-11-01 Jérémy Compostella - Michael Albinus + * emacs-lisp/cconv.el (cconv--convert-function): + Add `docstring' argument. + (cconv-convert): Use it to handle the new (:documentation ...) form. + (cconv-analyze-form): Handle the new (:documentation ...) form. - * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): - Reduce the amount of set environment variable commands. + * emacs-lisp/bytecomp.el: + (byte-compile-initial-macro-environment): Use macroexp-progn. + (byte-compile-cl-warn): Don't silence use of cl-macroexpand-all. + (byte-compile-file-form-defvar-function): Rename from + byte-compile-file-form-define-abbrev-table. + (defvaralias, byte-compile-file-form-custom-declare-variable): Use it. + (byte-compile): Use byte-compile-top-level rather than + byte-compile-lambda so we can compile non-values. + (byte-compile-form): Add warnings for failed uses of lexical vars via + quoted symbols. + (byte-compile-unfold-bcf): Improve message for failed inlining. + (byte-compile-make-closure): Handle new format of internal-make-closure + for dynamically-generated docstrings. -2014-11-01 Paul Eggert + * delsel.el: Deprecate the `kill' option. Use lexical-binding. + (open-line): Delete like all other commands, instead of killing. + (delete-active-region): Don't define any return any value. - * net/tramp-sh.el (tramp-get-remote-touch): Omit unnecessary call to - current-time. + * progmodes/python.el: Try to preserve compatibility with Emacs-24. + (python-mode): Don't assume eldoc-documentation-function has a non-nil + default. -2014-11-01 Emilio C. Lopes +2015-02-04 Sam Steingold - * net/tramp-sh.el (tramp-get-remote-python): Also search for - executables named "python2" or "python3". - (tramp-get-remote-uid-with-python): Use parentheses around - arguments to `print' to make it compatible with Python 3. - (tramp-get-remote-gid-with-python): Ditto. (Bug#18118) + * progmodes/python.el (python-indent-calculate-indentation): + Avoid the error when computing top-level indentation. -2014-10-31 Stefan Monnier +2015-02-04 Stefan Monnier - * simple.el (newline): Add assertions to try and help catch bug#18913. + * emacs-lisp/cl-generic.el (cl--generic-member-method): Fix paren typo. - * emulation/cua-base.el (cua-delete-region): Use delete-active-region - (bug#18886). - (cua--last-deleted-region-pos, cua--last-deleted-region-text): Remove. + * textmodes/flyspell.el: Use lexical-binding and cl-lib. + (mail-mode-flyspell-verify): Fix last change. + (flyspell-external-point-words, flyspell-large-region): + Avoid add-to-list on local vars. -2014-10-31 Eli Zaretskii +2015-02-04 Tassilo Horn - * Makefile.in (repo-update): Fix a typo and slightly reword - commentary. + * emacs-lisp/package.el (package-installed-p): Fix typo causing + void-variable error. -2014-10-31 Eric S. Raymond +2015-02-04 Artur Malabarba - * Makefile.in: Change some production names so they're neutral - about the repository type. + * image-mode.el (image-kill-buffer): New command. + (image-mode-map): Bind it to k. -2014-10-30 Kim F. Storm + * emacs-lisp/package.el (package-delete): Remove package from + `package-selected-packages' even if it can't be deleted. + (package-installed-p): Accept package-desc objects. + (package-install): Can be used to mark dependencies as + selected. When given a package-desc object which is already + installed, the package is not downloaded again, but it is marked + as selected (if it wasn't already). + (package-reinstall): Accept package-desc objects. - Restore cua-delete-copy-to-register-0 and M-v command (bug#18886). - * delsel.el (delete-selection-save-to-register) - (delsel--replace-text-or-position): New vars. - (delete-active-region): Use them. - (delete-selection-repeat-replace-region): New command, moved from - cua-base.el. - * emulation/cua-base.el (cua--repeat-replace-text): Remove var. - (cua-repeat-replace-region): Move command to delsel.el. - (cua--init-keymaps): Update binding accordingly. - (cua-mode): Set delete-selection-save-to-register. +2015-02-03 Artur Malabarba -2014-10-30 Stefan Monnier + * emacs-lisp/package.el (package-delete): Document NOSAVE. + (package--get-deps): delete-dups when ONLY is nil. + (package-autoremove): Warn the user if `package-selected-packages' + is empty. - * progmodes/cc-defs.el (c--macroexpand-all): New function (bug#18845). - (c-lang-defconst): - * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use it. + (package--user-selected-p): New function. + (package-delete, package-install, package-install-from-buffer): + Use it + (package-selected-packages): Mention it. -2014-10-29 Eli Zaretskii + (package-initialize): Don't populate `package-selected-packages'. + (package-install-user-selected-packages, package-autoremove): + Special handling for empty `package-selected-packages'. + (package-install): Fix when PKG is a package-desc. - * progmodes/compile.el (compilation-start): - If compilation-scroll-output is non-nil, don't force window-start of - the compilation buffer to be at beginning of buffer. (Bug#18874) + (package-desc-status): Add "dependency" status to the Package + Menu. + (package-menu--status-predicate, package-menu--print-info) + (package-menu-mark-delete, package-menu--find-upgrades) + (package-menu--status-predicate, describe-package-1): Use it -2014-10-23 Tassilo Horn + (package--removable-packages): New function. + (package-autoremove): Use it. + (package-menu-execute): Offer to remove unneeded packages. - * doc-view.el (doc-view-open-text): View the document's plain text - in the current buffer instead of a new one. - (doc-view-toggle-display): Handle the case where the current - buffer contains the plain text contents of the document. - (doc-view-initiate-display): Don't switch to fallback mode if the - user wants to view the doc's plain text. [Backport] + (package--read-pkg-desc, package-tar-file-info): Fix reference to + tar-desc. -2014-10-23 Eli Zaretskii +2015-02-03 Thierry Volpiatto - * startup.el (fancy-about-text): Read the entire tutorial, not - just its first 256 bytes. (Bug#18760) + * emacs-lisp/package.el (package-reinstall): Don't change package's selected status. + (package-delete): New NOSAVE argument. -2014-10-23 Stefan Monnier +2015-02-03 Michael Albinus - * emacs-lisp/bytecomp.el: Require cl-extra (bug#18804). - * emacs-lisp/cl-extra.el: Add missing provide. + * net/tramp-sh.el (tramp-histfile-override): Fix docstring. + (tramp-open-shell, tramp-maybe-open-connection): Set also + HISTFILESIZE and HISTSIZE when needed. (Bug#19731) -2014-10-22 Stefan Monnier +2015-02-02 Artur Malabarba - * emacs-lisp/bytecomp.el (byte-compile-and-folded): Optimize case where - all args are copyable (bug#18767). - (=, <, >, <=, >=): Re-enable the optimization. + * emacs-lisp/package.el (package--find-non-dependencies): + New function. + (package-initialize): Use it to populate `package-selected-packages'. + (package-menu-execute): Clean unnecessary `and'. + (package--get-deps): Fix returning duplicates. + +2015-02-02 Michael Albinus + + * net/tramp-sh.el (tramp-histfile-override): Add another choice t. + Use it as default. + (tramp-open-shell, tramp-maybe-open-connection): Support it. + (Bug#19731) + +2015-02-02 Thierry Volpiatto + + * emacs-lisp/package.el (package-delete): Remove package from + package-selected-packages. + (package-autoremove): Remove unneeded variable. + +2015-02-01 Artur Malabarba + + * emacs-lisp/package.el (package-selected-packages): Fix :type + (package-install): Rename ARG to MARK-SELECTED. + (package--get-deps): Fix for indirect dependencies. + (package-used-elsewhere-p): Rename to + (package--used-elsewhere-p): New function. + (package-reinstall, package-user-selected-packages-install) + (package-autoremove): Use sharp-quote. + (package-user-selected-packages-install): Reindent and rename to + (package-install-user-selected-packages): New function. + +2015-02-01 Thierry Volpiatto + + * emacs-lisp/package.el: Don't allow deleting dependencies. + + (package-used-elsewhere-p): New function. + (package-delete): Use it, return now an error when trying to + delete a package used as dependency by another package. + + Add a reinstall package command. + (package-reinstall): New function. + + Add a package-autoremove command. + (package-selected-packages): New user var. + (package-install): Add an optional arg to notify interactive use. + Fix docstring. Save installed package to + packages-installed-directly. + (package-install-from-buffer): Same. + (package-user-selected-packages-install): Allow installing all + packages in packages-installed-directly at once. + (package--get-deps): New function. + (package-autoremove): New function. + (package-install-button-action): Call package-install with + interactive arg. + (package-menu-execute): Same but only for only for not installed + packages. + +2015-01-31 Stefan Monnier + + * emacs-lisp/eieio.el (defclass): Use new eieio-make-class-predicate + and eieio-make-child-predicate. + (eieio-class-parents): Use eieio--class-object. + (slot-boundp, find-class, eieio-override-prin1): Avoid class-p. + (slot-exists-p): Use find-class. + + * emacs-lisp/eieio-opt.el (eieio-help-class, eieio-help-constructor): + Use find-lisp-object-file-name, help-fns-short-filename and new calling + convention for eieio-class-def. + (eieio-build-class-list): Remove function, unused. + (eieio-method-def): Remove button type, unused. + (eieio-class-def): Inherit from help-function-def. + (eieio--defclass-regexp): New constant. + (find-function-regexp-alist): Use it. + (eieio--specializers-apply-to-class-p): Handle eieio--static as well. + (eieio-help-find-method-definition, eieio-help-find-class-definition): + Remove functions. -2014-10-20 Santiago Payà i Miralta + * emacs-lisp/eieio-core.el (eieio--check-type): Remove. + Use cl-check-type everywhere instead. + (eieio-class-object): Remove, use find-class instead when needed. + (class-p): Don't inline. + (eieio-object-p): Check more thoroughly, so we don't treat cl-structs, + such as eieio classes, as objects. Don't inline. + (object-p): Mark as obsolete. + (eieio-defclass-autoload, eieio-defclass-internal, eieio-oref) + (eieio--generic-tagcode): Avoid `class-p'. + (eieio-make-class-predicate, eieio-make-child-predicate): New functions. + (eieio-defclass-internal): Use current-load-list rather than + `class-location'. + + * emacs-lisp/cl-generic.el (cl--generic-search-method): Fix regexp. + +2015-01-30 Stefan Monnier + + * emacs-lisp/backquote.el (backquote-delay-process): Don't reuse `s' + since it may be "equivalent" in some sense, yet different (bug#19734). + +2015-01-30 Oleh Krehel + + * outline.el (outline-font-lock-face): Add docstring. + (outline-invisible-p): Improve docstring. + (outline-invent-heading): Add docstring. + (outline-promote): Improve docstring. + (outline-demote): Improve docstring. + (outline-head-from-level): Improve docstring. + (outline-end-of-heading): Add docstring. + (outline-next-visible-heading): Improve docstring. + (outline-previous-visible-heading): Improve docstring. + (outline-hide-region-body): Improve docstring. + (outline-flag-subtree): Add docstring. + (outline-end-of-subtree): Add docstring. + (outline-headers-as-kill): Improve docstring. + +2015-01-30 Oleh Krehel + + * outline.el (outline-hide-entry): Rename from `hide-entry'. + (hide-entry): Declare as obsolete. + (outline-show-entry): Rename from `show-entry'. + (show-entry): Declare as obsolete. + (outline-hide-body): Rename from `hide-body'. + (hide-body): Declare as obsolete. + (outline-hide-region-body): Rename from `hide-region-body'. + (hide-region-body): Declare as obsolete. + (outline-show-all): Rename from `show-all'. + (show-all): Declare as obsolete. + (outline-hide-subtree): Rename from `hide-subtree'. + (hide-subtree): Declare as obsolete. + (outline-hide-leaves): Rename from `hide-leaves'. + (hide-leaves): Declare as obsolete. + (outline-show-subtree): Rename from `show-subtree'. + (show-subtree): Declare as obsolete. + (outline-hide-sublevels): Rename from `hide-sublevels'. + (hide-sublevels): Declare as obsolete. + (outline-hide-other): Rename from `hide-other'. + (hide-other): Declare as obsolete. + (outline-show-children): Rename from `show-children'. + (show-children): Declare as obsolete. + (outline-show-branches): Rename from `show-branches'. + (show-branches): Declare as obsolete. + +2015-01-30 Oleh Krehel + + * outline.el (outline-mode): Clean up docstring. + (font-lock-warning-face): Remove obsolete declaration. + (outline-font-lock-face): Remove obsolete comment. + +2015-01-30 Oleh Krehel + + * lisp/custom.el (defface): Set `indent' to 1. + +2015-01-30 Oleh Krehel + + * emacs-lisp/easy-mmode.el (define-minor-mode): Set `indent' to 1. + +2015-01-30 Michal Nazarewicz + + * lisp/files.el (save-buffers-kill-emacs): If `confirm-kill-emacs' + is set, but user has just been asked whether they really want to + kill Emacs (for example with a ‘Modified buffers exist; exit + anyway?’ prompt), do not ask them for another confirmation. + +2015-01-29 Jay Belanger + + * lisp/calc/calc-units.el (calc-convert-exact-units): New function. + (calc-convert-units): Check for missing units. + (math-consistent-units-p): Strengthen the test for consistent units. + + * lisp/calc/calc-ext.el (calc-init-extensions): Autoload + `calc-convert-exact-units' and assign it a keybinding. + + * lisp/calc/calc-help (calc-u-prefix-help): Add help for the + "un" keybinding. + +2015-01-28 Stefan Monnier + + * emacs-lisp/cl.el (cl--function-convert): Simplify. - * vc/vc-hg.el (vc-hg-log-graph): New var. - (vc-hg-print-log): Use it. - (vc-hg-root-log-format): Include branch name and bookmarks; ignore - graph output (bug#17515). +2015-01-28 Tassilo Horn -2014-10-20 Juri Linkov + * textmodes/reftex.el (reftex-syntax-table-for-bib): Give ( and ) + punctuation syntax since to allow bibtex fields with values such + as {Test 1) and 2)} (bug#19205, bug#19707). + (reftex--prepare-syntax-tables): New function. + (reftex-mode): Use it. - * vc/diff-mode.el (diff-refine-changed): Rename from - `diff-refine-change' for consistency with `diff-changed'. - (diff-refine-change): Add obsolete face alias. (Bug#10181) +2015-01-28 Fabián Ezequiel Gallina - * vc/smerge-mode.el (smerge-refined-changed): Rename from - `smerge-refined-change'. - (smerge-refined-change): Add obsolete face alias. + python.el: New non-global state dependent indentation engine. + (Bug#18319, Bug#19595) + * progmodes/python.el (python-syntax-comment-or-string-p): + Accept PPSS as argument. + (python-syntax-closing-paren-p): New function. + (python-indent-current-level) + (python-indent-levels): Mark obsolete. + (python-indent-context): Return more context cases. + (python-indent--calculate-indentation) + (python-indent--calculate-levels): New functions. + (python-indent-calculate-levels): Use them. + (python-indent-calculate-indentation, python-indent-line): + (python-indent-line-function): Rewritten to use new API. + (python-indent-dedent-line): Simplify logic. + (python-indent-dedent-line-backspace): Use `unless`. + (python-indent-toggle-levels): Delete function. -2014-10-20 Stefan Monnier +2015-01-28 Daniel Koning (tiny change) - * subr.el (call-process-shell-command, process-file-shell-command): - Make the `args' obsolete (bug#18409). - (start-process-shell-command, start-file-process-shell-command): - Use `declare'. + * subr.el (posnp): Correct docstring of `posnp'. + (posn-col-row): Make it work with all mouse position objects. + * textmodes/artist.el (artist-mouse-draw-continously): + Cancel timers if an error occurs during continuous drawing. (Bug#6130) -2014-10-20 Juanma Barranquero +2015-01-28 Eli Zaretskii - * skeleton.el (skeleton-autowrap): Mark as obsolete. Doc fix. + * button.el (button-activate, push-button): Doc fix. (Bug#19628) -2014-10-20 Glenn Morris +2015-01-28 Michael Albinus - * dired.el (dired-read-regexp): Make obsolete. - (dired-mark-files-regexp, dired-mark-files-containing-regexp) - (dired-flag-files-regexp): - * dired-aux.el (dired-mark-read-regexp): - * dired-x.el (dired-mark-unmarked-files): Use read-regexp directly. + * filenotify.el (file-notify-descriptors, file-notify-handle-event): + Adapt docstring. + (file-notify--descriptor): New defun. + (file-notify-callback, file-notify-add-watch, file-notify-rm-watch): + Adapt docstring. Handle multiple values for + `file-notify-descriptors' entries. (Bug#18880) -2014-10-20 Stefan Monnier + * net/tramp.el (tramp-handle-file-notify-rm-watch): Do not check + `file-notify-descriptors', the implementation has been changed. - * progmodes/python.el (inferior-python-mode): Use add-hook. +2015-01-28 Eli Zaretskii - * Makefile.in (AUTOGEN_VCS): Remove emulation/tpu-edt.el. + * net/net-utils.el (net-utils-run-program, net-utils-run-simple): + On MS-Windows, bind coding-system-for-read to the console output + codepage. (Bug#19458) -2014-10-20 Glenn Morris +2015-01-28 Dmitry Gutov - * emulation/crisp.el, emulation/tpu-edt.el, emulation/tpu-extras.el: - * emulation/tpu-mapper.el, emulation/vi.el, emulation/vip.el: - * emulation/ws-mode.el: Move to obsolete/. [Backport] + Unbreak `mouse-action' property in text buttons. + * button.el (push-button): Fix regression from 2012-12-06. -2014-10-20 Glenn Morris +2015-01-28 Glenn Morris - * cus-start.el (history-length): Bump :version. [Backport] + * progmodes/sh-script.el (sh-mode): Doc fix. + (sh-basic-indent-line): Handle electric newline. (Bug#18756) -2014-10-20 Stefan Monnier +2015-01-28 Paul Eggert - * obsolete/cc-compat.el: Make obsolete (bug#18561). + Fix dired quoting bug with "Hit`N`Hide". Fixes Bug#19498. + * files.el (shell-quote-wildcard-pattern): Also quote "`". - * epg-config.el (epg-gpg-program): Don't use absolute names by default. +2015-01-28 Stefan Monnier + + Tighten up the tagcode used for eieio and cl-struct objects. + * loadup.el: Load cl-preloaded. + * emacs-lisp/eieio-core.el (eieio-defclass-internal): Set the function + slot of the tag symbol to :quick-object-witness-check. + (eieio-object-p): Use :quick-object-witness-check. + (eieio--generic-tagcode): Use cl--generic-struct-tag. + * emacs-lisp/cl-preloaded.el: New file. + * emacs-lisp/cl-macs.el (cl--bind-inits): Remove, unused. + (cl--transform-lambda, cl-destructuring-bind): Remove cl--bind-inits. + (cl--make-usage-args): Strip away &aux args. + (cl-case, cl-typecase, cl--parse-loop-clause): Use macroexp-let2. + (cl-the, cl-check-type): Use macroexp-let2 and cl-typep. + (cl-defstruct): Use `declare' and cl-struct-define. + * emacs-lisp/cl-generic.el (cl--generic-struct-tag): New function. + (cl--generic-struct-tagcode): Use it to tighten the tagcode. - * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg - case (bug#18767). +2015-01-27 Katsumi Yamaoka -2014-10-20 Glenn Morris + * emacs-lisp/cl.el (cl--function-convert): + Merge cache that cl--labels-convert adds (bug#19699). - * Version 24.4 released. +2015-01-27 Ivan Shmakov -2014-10-15 Alan Mackenzie + * tar-mode.el: Allow for adding new archive members. (Bug#19274) + (tar-new-regular-file-header, tar--pad-to, tar--put-at) + (tar-header-serialize): New functions. + (tar-current-position): Split from tar-current-descriptor. + (tar-current-descriptor): Use it. + (tar-new-entry): New command. + (tar-mode-map): Bind it. - * cus-edit.el (custom-command-apply): Specify the return value in - the doc string. - (Custom-reset-standard): Save custom-file (e.g. .emacs) only when - custom-command-apply has returned non-nil. +2015-01-27 Sam Steingold -2014-10-15 Stefan Monnier + * progmodes/python.el (python-check-custom-command): Buffer local + because it usually includes the buffer name. + (python-check-command): Set to epylint when pyflakes is not available. - * emacs-lisp/lisp.el (lisp--local-variables-1): Handle `quote'. - Backported (bug#18688). +2015-01-27 Artur Malabarba -2014-10-14 Eli Zaretskii + * isearch.el (isearch-process-search-char): Add docstring. + +2015-01-27 Oleh Krehel + + * emacs-lisp/derived.el (define-derived-mode): Declare indent 3. + +2015-01-27 Katsumi Yamaoka + + * emacs-lisp/cl.el (cl--function-convert): Run cl--labels-convert + for the case cl-flet or cl-labels form is wrapped with lexical-let + (bug#19613). + +2015-01-26 Stefan Monnier + + * emacs-lisp/cl-generic.el (cl--generic-method): New struct. + (cl--generic): The method-table is now a (list-of cl--generic-method). + (cl--generic-member-method): New function. + (cl-generic-define-method): Use it. + (cl--generic-build-combined-method, cl--generic-cache-miss): + Adapt to new method-table. + (cl--generic-no-next-method-function): Add `method' argument. + (cl-generic-call-method): Adapt to new method representation. + (cl--generic-cnm-sample, cl--generic-nnm-sample): Adjust. + (cl-find-method, cl-method-qualifiers): New functions. + (cl--generic-method-info): Adapt to new method representation. + Return a string for the qualifiers. + (cl--generic-describe): + * emacs-lisp/eieio-opt.el (eieio-help-class): Adjust accordingly. + (eieio-all-generic-functions, eieio-method-documentation): + Adjust to new method representation. + + * emacs-lisp/eieio-compat.el (eieio--defmethod): Use cl-find-method. + +2015-01-26 Stefan Monnier + + * emacs-lisp/cl-generic.el: Add a method-combination hook. + (cl-generic-method-combination-function): New var. + (cl--generic-lambda): Remove `with-cnm' arg. + (cl-defmethod): Change accordingly. + (cl-generic-define-method): Don't check qualifiers validity. + Preserve all qualifiers in `method-table'. + (cl-generic-call-method): New function. + (cl--generic-nest): Remove (morph into cl-generic-call-method). + (cl--generic-build-combined-method): Adjust to new format of method-table + and use cl-generic-method-combination-function. + (cl--generic-standard-method-combination): New function, extracted from + cl--generic-build-combined-method. + (cl--generic-cnm-sample): Adjust to new format of method-table. + + * emacs-lisp/eieio-compat.el (eieio--defmethod): Use () qualifiers + instead of :primary. + + * emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): + Remove obsolete function. + +2015-01-26 Lars Ingebrigtsen + + * net/shr.el (shr-make-table-1): Fix colspan typo. + (shr-make-table-1): Add comments. + (shr-make-table-1): Make colspan display more sensibly. + + * net/eww.el (eww-add-bookmark): Fix prompt and clean up the code + slightly. + +2015-01-25 Stefan Monnier + + * emacs-lisp/cl-generic.el (cl--generic-no-next-method-function): New fun. + (cl--generic-build-combined-method, cl--generic-nnm-sample): Use it + (bug#19672). + (cl--generic-typeof-types): Add support for `sequence'. + (cl-defmethod): Add non-keywords in the qualifiers. + +2015-01-25 Dmitry Gutov + + * emacs-lisp/find-func.el (find-function-regexp): Don't match + `defgroup' (regression from the previous change here). + +2015-01-23 Thomas Fitzsimmons + + * net/ldap.el (ldap-search-internal): Mention binddn in invalid + credentials error message. + +2015-01-23 Thomas Fitzsimmons + + * net/ldap.el (ldap-password-read): Validate password before + caching it. + (ldap-search-internal): Handle ldapsearch error conditions. + +2015-01-23 Thomas Fitzsimmons + + * net/ldap.el (ldap-password-read): Handle password-cache being nil. + +2015-01-23 Thomas Fitzsimmons + + * net/eudc.el (eudc-expand-inline): Always restore former server + and protocol. + +2015-01-23 Thomas Fitzsimmons + + * net/eudcb-ldap.el: Don't nag the user in case a default base is + provided by the LDAP system configuration file. + +2015-01-23 Thomas Fitzsimmons + + * net/eudc.el (eudc-format-query): Preserve the + eudc-inline-query-format ordering of attributes in the returned list. + * net/eudcb-ldap.el (eudc-ldap-format-query-as-rfc1558): + Append the LDAP wildcard character to the last attribute value. + +2015-01-23 Thomas Fitzsimmons + + * net/eudcb-ldap.el (eudc-ldap-cleanup-record-simple): + Downcase field names of LDAP results. + (eudc-ldap-cleanup-record-filtering-addresses): Likewise. + +2015-01-23 Thomas Fitzsimmons + + * net/ldap.el (ldap-ldapsearch-password-prompt): New defcustom. + (ldap-search-internal): Send password to ldapsearch through a pipe + instead of via the command line. + +2015-01-23 Thomas Fitzsimmons + + * net/ldap.el: Require password-cache. + (ldap-password-read): New function. + (ldap-search-internal): Call ldap-password-read when it is + configured to be called. + +2015-01-23 Thomas Fitzsimmons + + * net/eudc-vars.el (eudc-expansion-overwrites-query): + Change default to nil. + +2015-01-23 Thomas Fitzsimmons + + * net/eudc.el (eudc-expand-inline): Ignore text properties of + string-to-expand. + +2015-01-23 Thomas Fitzsimmons + + * net/eudc-vars.el (eudc-inline-expansion-format): Default to a + format that includes first name and surname. + +2015-01-23 Thomas Fitzsimmons + + * net/eudc-vars.el (eudc-inline-query-format): Change default to + query email and first name instead of surname. + +2015-01-23 Thomas Fitzsimmons + + * net/ldap.el (ldap-search-internal): Support new-style LDAP URIs. + +2015-01-23 Thomas Fitzsimmons + + * net/eudc-vars.el (eudc-server): Adjust docstring to mention + eudc-server-hotlist. + (eudc-server-hotlist): Move from eudc.el and make defcustom. + * net/eudc.el (eudc-server-hotlist): Move to eudc-vars.el. + (eudc-set-server): Allow setting protocol to nil. + (eudc-expand-inline): Support hotlist-only expansions when server + is not set. + +2015-01-23 Stefan Monnier + + * emacs-lisp/cl-generic.el (cl-no-primary-method): New fun and error. + (cl--generic-build-combined-method): Use it. + +2015-01-22 Paul Eggert + + Don't downcase system diagnostics' first letters + * emacs-lisp/bytecomp.el (byte-compile-file): + * ffap.el (find-file-at-point): + * files.el (insert-file-1): + * net/ange-ftp.el (ange-ftp-barf-if-not-directory) + (ange-ftp-copy-file-internal): + * progmodes/etags.el (visit-tags-table): + Keep diagnostics consistent with system's. + * ffap.el (ffap-machine-p): + Ignore case while comparing diagnostics. + +2015-01-22 Stefan Monnier + + * help.el (help-make-usage): Don't turn a "_" arg into an empty-string + arg (bug#19645). + * emacs-lisp/cl-generic.el (cl--generic-lambda): Don't confuse a string + body with a docstring. + +2015-01-22 Dmitry Gutov + + * progmodes/xref.el (xref-location-marker, xref-location-group): + Use `cl-defgeneric' and `cl-defmethod' instead of the EIEIO + counterparts. + + * progmodes/etags.el (xref-location-marker): Same. + + * progmodes/xref.el (xref--current): Rename from `xref--selected'. + (xref--inhibit-mark-current): Rename from + `xref--inhibit-mark-selected'. Update the usages. + (xref-quit): Reword the docstring. Kill buffers after quitting + windows instead of before. + (xref--insert-xrefs): Tweak help-echo. + (xref--read-identifier-history, xref--read-pattern-history): + New variables. + (xref--read-identifier, xref-find-apropos): Use them. + +2015-01-21 Ulrich Müller + + * play/gamegrid.el (gamegrid-add-score-with-update-game-score): + Allow the 'update-game-score' helper program to run suid or sgid. + +2015-01-21 Stefan Monnier + + * emacs-lisp/eieio.el: Use cl-defmethod. + (defclass): Generate cl-defmethod calls; use setf methods for :accessor. + (eieio-object-name-string): Declare as obsolete. + + * emacs-lisp/eieio-opt.el: Adapt to cl-generic. + (eieio--specializers-apply-to-class-p): New function. + (eieio-all-generic-functions): Use it. + (eieio-method-documentation): Use it as well as cl--generic-method-info. + Change format of return value. + (eieio-help-class): Adapt accordingly. + + * emacs-lisp/eieio-compat.el (eieio--defmethod): Avoid no-next-method + errors when there's a `before' but no `primary' (bug#19645). + (next-method-p): Return nil rather than signal an error. + (eieio-defgeneric): Remove bogus (fboundp 'method). + + * emacs-lisp/eieio-speedbar.el: + * emacs-lisp/eieio-datadebug.el: + * emacs-lisp/eieio-custom.el: + * emacs-lisp/eieio-base.el: Use cl-defmethod. + + * emacs-lisp/cl-generic.el (cl-defgeneric): Add support for `declare'. + (cl--generic-setf-rewrite): Setup the setf expander right away. + (cl-defmethod): Make sure the setf expander is setup before we expand + the body. + (cl-defmethod): Silence byte-compiler warnings. + (cl-generic-define-method): Shuffle code to change return value. + (cl--generic-method-info): New function, extracted from + cl--generic-describe. + (cl--generic-describe): Use it. + +2015-01-21 Dmitry Gutov + + * progmodes/xref.el (xref--xref-buffer-mode-map): Define before + the major mode. Remap `quit-window' to `xref-quit'. + (xref--xref-buffer-mode): Inherit from special-mode. + + xref: Keep track of temporary buffers (bug#19466). + * progmodes/xref.el (xref--temporary-buffers, xref--selected) + (xref--inhibit-mark-selected): New variables. + (xref--mark-selected): New function. + (xref--show-location): Maybe add the buffer to + `xref--temporary-buffers', add `xref--mark-selected' to + `buffer-list-update-hook' there. + (xref--window): Add docstring. + (xref-quit): Rename from `xref--quit'. Update both references. + Add KILL argument. When it's non-nil, kill the temporary buffers + that haven't been selected by the user. + (xref--show-xref-buffer): Change the second argument to alist, + extract the values for `xref--window' and + `xref--temporary-buffers' from it. Add `xref--mark-selected' to + `buffer-list-update-hook' to each buffer in the list. + (xref--show-xrefs): Move the logic of calling `xref-find-function' + here. Save the difference between buffer lists before and after + it's called as "temporary buffers", and `pass it to + `xref-show-xrefs-function'. + (xref--find-definitions, xref-find-references) + (xref-find-apropos): Update accordingly. + +2015-01-20 Artur Malabarba + + * emacs-lisp/package.el (package-dir-info): Fix `while' logic. + +2015-01-20 Stefan Monnier + + * emacs-lisp/eieio-generic.el: Remove. + (defgeneric, defmethod): Move to eieio-compat.el. Mark obsolete. + * emacs-lisp/eieio-compat.el: New file. + * emacs-lisp/eieio.el: Don't require eieio-generic any more. + * emacs-lisp/eieio-core.el (eieio--slot-originating-class-p): + Remove unused function. + (eieio-defclass): Move to eieio-compat.el. + * emacs-lisp/macroexp.el (macroexp-macroexpand): New function. + (macroexp--expand-all): Use it. + * emacs-lisp/bytecomp.el (byte-compile-recurse-toplevel): Here too. + +2015-01-20 Michal Nazarewicz + + * emacs-lisp/eldoc.el (eldoc-documentation-function): Describe how + major modes should use `add-function' to alter value of the variable. + * hexl.el (hexl-mode): + * ielm.el (inferior-emacs-lisp-mode): + * progmodes/cfengine.el (cfengine3-mode): + * progmodes/elisp-mode (emacs-lisp-mode): + * progmodes/octave.el (octave-mode): + * progmodes/python.el (python-mode): + * simple.el (read--expression): Set `eldoc-documentation-function' + using `add-function' so the default value is always used. + + * descr-text.el (describe-char-eldoc): New function returning + basic Unicode codepoint information (e.g. name) about character + at point. It is meant to be used as a default value of the + `eldoc-documentation-function' variable. + (describe-char-eldoc--format, describe-char-eldoc--truncate): + New helper functions for `describe-char-eldoc' function. + +2015-01-20 Michal Nazarewicz + + * textmodes/paragraphs.el (sentence-end-base): Include an + ellipsis (…) and interrobang (‽) characters as end of a sentence, + and a closing single quote (’) as an end of a quote. + +2015-01-20 Michal Nazarewicz + + * textmodes/tildify.el (tildify-double-space-undos): A new + variable specifying whether pressing space in `tildify-mode' after + a space has been replaced with hard space undos the substitution. + (tildify-space): Add code branch for handling `tildify-doule-space'. + + * textmodes/tildify.el (tildify-space): A new function + which can be used as a `post-self-insert-hook' to automatically + convert spaces into hard spaces. + (tildify-space-pattern): A new variable specifying pattern where + `tildify-space' should take effect. + (tildify-space-predicates): A new variable specifying list of + predicate functions that all must return non-nil for + `tildify-space' to take effect. + (tildify-space-region-predicate): A new functions meant to be + used as a predicate in `tildify-space-predicates' list. + (tildify-mode): A new minor mode enabling `tildify-space' as a + `post-self-insert-hook' + +2015-01-20 Daniel Colascione + + * vc/vc-dir.el (vc-dir): Default to repository root, not + default-directory. + +2015-01-20 Dmitry Gutov + + * progmodes/etags.el (xref-etags-location): New class. + (xref-make-etags-location): New function. + (etags--xref-find-definitions): Use it. + (xref-location-marker): New method implementation. + + * progmodes/xref.el: Mention that xref-location is an EIEIO class. + (xref--insert-xrefs): Expand help-echo string. + +2015-01-19 Dmitry Gutov + + * ido.el: Update Customization instructions. + +2015-01-19 Jonas Bernoulli + + Define Ido keymaps once (bug#17000). + * ido.el (ido-common-completion-map) + (ido-file-dir-completion-map) + (ido-file-completion-map, ido-buffer-completion-map): Set up key + bindings when each variable is defined. + (ido-completion-map): Move definition. + (ido-init-completion-maps): Noop. + (ido-common-initialization): Don't call it. + (ido-setup-completion-map): Improve doc-string, cleanup. + +2015-01-19 Ivan Shmakov + + * cus-dep.el (custom-make-dependencies): Ensure that + default-directory is interpreted as a directory (see bug#19140.) + +2015-01-19 Dmitry Gutov + + * progmodes/xref.el (xref--display-position): + Set `other-window-scroll-buffer'. + (xref-goto-xref): Use `user-error'. + +2015-01-19 Dmitry Gutov + + * progmodes/xref.el (xref--display-history): New variable. + (xref--window-configuration): Remove. + (xref--save-to-history): New function. + (xref--display-position): Use it. Add new argument. + (xref--restore-window-configuration): Remove. + (xref--show-location, xref-show-location-at-point): + Update accordingly. + (xref--xref-buffer-mode): Don't use `pre-command-hook'. + (xref--quit): New command. + (xref-goto-xref): Use it. + (xref--xref-buffer-mode-map): Bind `q' to it. + +2015-01-18 Dmitry Gutov + + * progmodes/xref.el (xref-goto-xref): Perform the jump even inside + indentation or at eol. + +2015-01-18 Stefan Monnier + + * emacs-lisp/eieio-core.el: Add `subclass' specializer for cl-generic. + (eieio--generic-subclass-tagcode, eieio--generic-subclass-tag-types): + New functions. + (cl-generic-tagcode-function, cl-generic-tag-types-function): Use them. + + * emacs-lisp/eieio.el (defclass): Add obsolescence warning for the + `newname' argument. + + * emacs-lisp/cl-generic.el (cl-generic-define-method): Correctly handle + introduction of a new dispatch argument. + (cl--generic-cache-miss): Handle dispatch on an argument which was not + considered as dispatchable for this method. + (cl-defmethod): Warn when adding a method to an obsolete generic function. + (cl--generic-lambda): Make sure it works if cl-lib is not yet loaded. + + * emacs-lisp/eieio-generic.el (eieio--defgeneric-init-form): Use autoloadp. + +2015-01-18 Artur Malabarba + + * emacs-lisp/package.el (package--append-to-alist): Rename from + `package--add-to-alist' + Updated docstring due to new name. + +2015-01-18 Leo Liu + + * emacs-lisp/cl-extra.el (cl-subseq): Use seq-subseq and fix + multiple evaluation. (Bug#19519) + + * emacs-lisp/seq.el (seq-subseq): Throw bad bounding indices + error. (Bug#19434) + +2015-01-18 Stefan Monnier + + * emacs-lisp/eieio-core.el: Add `subclass' specializer for cl-generic. + (eieio--generic-subclass-tagcode, eieio--generic-subclass-tag-types): + New functions. + (cl-generic-tagcode-function, cl-generic-tag-types-function): Use them. + + * emacs-lisp/cl-macs.el (cl-defstruct): Minor optimization when include + or print is nil. + (cl-struct-type-p): New function. + + * emacs-lisp/cl-generic.el: Add support for cl-next-method-p. + (cl-defmethod): Add edebug spec. + (cl--generic-build-combined-method): Fix call to + cl-no-applicable-method. + (cl--generic-nnm-sample, cl--generic-cnm-sample): New constant. + (cl--generic-isnot-nnm-p): New function. + (cl--generic-lambda): Use it to add support for cl-next-method-p. + (cl-no-next-method, cl-no-applicable-method): Simplify arg list. + (cl-next-method-p): New function. + +2015-01-17 Ulrich Müller + + * version.el (emacs-repository-get-version): Update docstring. + +2015-01-17 Ivan Shmakov + + * files.el (find-file-other-window, find-file-other-frame): + Use mapc instead of mapcar. (Bug#18175) + + * files.el (dir-locals-collect-variables): Use default-directory + in place of the file name while working on non-file buffers, just + like hack-dir-local-variables already does. (Bug#19140) + + * textmodes/enriched.el (enriched-encode): + Use inhibit-point-motion-hooks in addition to inhibit-read-only. + (Bug#18246) + + * desktop.el (desktop-read): Do not call desktop-clear when no + desktop file is found. (Bug#18371) + + * misearch.el (multi-isearch-unload-function): New function. + (misearch-unload-function): New alias. (Bug#19566) + +2015-01-17 Stefan Monnier + + * emacs-lisp/eieio-core.el (eieio--class-constructor): Rename from + class-constructor, and make it an alias for `identity'. + Update all callers. + + * emacs-lisp/eieio.el (eieio-constructor): Handle obsolete object name + argument here (bug#19620)... + (defclass): ...instead of in the constructor here. + +2015-01-16 Jorgen Schaefer + + * emacs-lisp/package.el (package-archive-priorities): + Specify correct type. + +2015-01-17 Ulrich Müller + + * version.el (emacs-bzr-version-dirstate, emacs-bzr-version-bzr): + Remove. + (emacs-repository-get-version): Discard the Bazaar case. + * vc/vc-bzr.el (vc-bzr-version-dirstate): Rename from + emacs-bzr-version-dirstate and move from version.el to here. + (vc-bzr-working-revision): Use it. + +2015-01-17 Stefan Monnier + + * emacs-lisp/eieio-generic.el (call-next-method): Don't bother checking + eieio--scoped-class any more. + + * emacs-lisp/eieio-core.el (eieio--scoped-class-stack): Remove var. + (eieio--scoped-class): Remove function. + (eieio--with-scoped-class): Remove macro. Replace uses with `progn'. + (eieio--slot-name-index): Don't check the :protection anymore. + (eieio-initializing-object): Remove var. + (eieio-set-defaults): Don't let-bind eieio-initializing-object. + +2015-01-17 Stefan Monnier + + Improve handling of doc-strings and describe-function for cl-generic. + + * help-mode.el (help-function-def): Add optional arg `type'. + + * help-fns.el (find-lisp-object-file-name): Accept any `type' as long + as it's a symbol. + (help-fns-short-filename): New function. + (describe-function-1): Use it. Use autoload-do-load. + + * emacs-lisp/find-func.el: Use lexical-binding. + (find-function-regexp): Don't rule out `defgeneric'. + (find-function-regexp-alist): Document new possibility of including + a function instead of a regexp. + (find-function-search-for-symbol): Implement that new possibility. + (find-function-library): Don't assume that `function' is a symbol. + (find-function-do-it): Remove unused var `orig-buf'. + + * emacs-lisp/eieio-generic.el (eieio--defalias): Move from eieio-core. + (eieio--defgeneric-init-form): Don't throw away a previous docstring. + (eieio--method-optimize-primary): Don't mess with the docstring. + (defgeneric): Keep the `args' in the docstring. + (defmethod): Don't use the method's docstring for the generic + function's docstring. + + * emacs-lisp/eieio-core.el (eieio--defalias): Move to eieio-generic.el. + (eieio-defclass-autoload): Don't record the superclasses any more. + (eieio-defclass-internal): Reuse the old class object if it was just an + autoload stub. + (eieio--class-precedence-list): Load the class if it's autoloaded. + + * emacs-lisp/cl-generic.el (cl-generic-ensure-function): It's OK to + override an autoload. + (cl-generic-current-method-specializers): Replace dyn-bind variable + with a lexically-scoped macro. + (cl--generic-lambda): Update accordingly. + (cl-generic-define-method): Record manually in the load-history with + type `cl-defmethod'. + (cl--generic-get-dispatcher): Minor optimization. + (cl--generic-search-method): New function. + (find-function-regexp-alist): Add entry for `cl-defmethod' type. + (cl--generic-search-method): Add hyperlinks for methods. Merge the + specializers and the function's arguments. + +2015-01-16 Artur Malabarba + + * emacs-lisp/package.el (package--read-pkg-desc): + New function. Read a `define-package' form in current buffer. + Return the pkg-desc, with desc-kind set to KIND. + (package-dir-info): New function. Find package information for a + directory. The return result is a `package-desc'. + (package-install-from-buffer): Install packages from dired buffer. + (package-install-file): Install packages from directory. + (package-desc-suffix) + (package-install-from-archive) + * emacs-lisp/package-x.el (package-upload-buffer-internal): + Ensure all remaining instances of `package-desc-kind' handle the 'dir + value. + +2015-01-16 Jorgen Schaefer + + * emacs-lisp/package.el: Provide repository priorities. + (package-archive-priorities): New variable. + (package--add-to-alist): New function. + (package--add-to-archive-contents): Use it. + (package-menu--find-upgrades): Use it as well. Small clean up to + make the use of the package name here explicit. + (package-archive-priority): New function. + (package-desc-priority-version): New function. + +2015-01-16 Daniel Colascione + + * cus-start.el (all): Make `ring-bell-function' customizable. + +2015-01-16 Dmitry Gutov + + * vc/vc-svn.el (vc-svn-dir-status-files): Pass t as + vc-svn-after-dir-status's second argument. (Bug#19429) + +2015-01-16 Samer Masterson + + * pcomplete.el (pcomplete-parse-arguments): Parse arguments + regardless of pcomplete-cycle-completions's value. (Bug#18950) + +2015-01-16 Lars Magne Ingebrigtsen + + * dom.el (dom-strings): New function. + + * files.el (directory-files-recursively): Don't use the word + "path" for a file name. + +2015-01-15 Wolfgang Jenkner + + * calc/calc-units.el (math-units-in-expr-p) + (math-single-units-in-expr-p, math-find-compatible-unit-rec) + (math-extract-units): Handle the `neg' operator. (Bug#19582) + +2015-01-15 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl--labels-magic): New constant. + (cl--labels-convert): Use it to ask the macro what is its replacement + in the #'f case. + + * emacs-lisp/cl-generic.el (cl--generic-build-combined-method): + Return the value of the primary rather than the after method. + + * emacs-lisp/eieio-core.el: Provide support for cl-generic. + (eieio--generic-tagcode): New function. + (cl-generic-tagcode-function): Use it. + (eieio--generic-tag-types): New function. + (cl-generic-tag-types-function): Use it. + (eieio-object-p): Tighten up the test. + + * emacs-lisp/cl-generic.el (cl-generic-define-method): Fix paren typo. + +2015-01-14 Stefan Monnier + + * emacs-lisp/cl-generic.el: New file. + + * emacs-lisp/cl-macs.el (cl-flet): Allow (FUN EXP) forms. + (cl-load-time-value, cl-labels): Use closures rather than + backquoted lambdas. + (cl-macrolet): Use `eval' to create the function value, and support CL + style arguments in for the defined macros. + +2015-01-14 Stefan Monnier + + * net/eww.el: Use lexical-binding. + (eww-links-at-point): Remove unused arg. + (eww-mode-map): Inherit from special-mode-map. + (eww-mode): Derive from special-mode. Don't use `setq' on a hook. + +2015-01-13 Alan Mackenzie + + Allow compilation during loading of CC Mode-derived modes (bug#19206). + * progmodes/cc-bytecomp.el (cc-bytecomp-compiling-or-loading): + New function which walks the stack to discover whether we're compiling + or loading. + (cc-bytecomp-is-compiling): Reformulate, and move towards beginning. + (cc-bytecomp-is-loading): New defsubst. + (cc-bytecomp-setup-environment, cc-bytecomp-restore-environment): + Use the above defsubsts. + (cc-require-when-compile, cc-bytecomp-defvar) + (cc-bytecomp-defun): Simplify conditionals. + * progmodes/cc-defs.el (cc-bytecomp-compiling-or-loading): + "Borrow" this function from cc-bytecomp.el. + (c-get-current-file): Reformulate using the above. + (c-lang-defconst): Prevent duplicate entries of file names in a + symbol's 'source property. + (c-lang-const): Use cc-bytecomp-is-compiling. + * progmodes/cc-langs.el (c-make-init-lang-vars-fun): + Use cc-bytecomp-is-compiling. + +2015-01-13 Stefan Monnier + + * emacs-lisp/eieio-core.el (eieio-defclass): Fix call to `defclass' + (bug#19552). + +2015-01-13 Dmitry Gutov + + * menu-bar.el (menu-bar-goto-menu): Before calling + `xref-marker-stack-empty-p', first check that `xref' is loaded. + (Bug#19554) + +2015-01-12 Martin Rudalics + + * progmodes/xref.el (xref-marker-stack-empty-p): Add autoload + cookie (Bug#19554). + + * frame.el (frame-notice-user-settings): Remove code dealing with + frame-initial-frame-tool-bar-height. Turn off `tool-bar-mode' + only if `window-system-frame-alist' or `default-frame-alist' ask + for it. + (make-frame): Update frame-adjust-size-history if needed. + +2015-01-12 Paul Eggert + + Have 'make' output better GEN names + * Makefile.in (PHONY_EXTRAS): New macro. + (.PHONY): Depend on it, and on $(lisp)/loaddefs.el, so that the + relevant files' time stamps are ignored. + (custom-deps, $(lisp)/cus-load.el, finder-data) + ($(lisp)/finder-inf.el): Use PHONY_EXTRAS. + (custom-deps, $(lisp)/cus-load.el, finder-data) + ($(lisp)/finder-inf.el, autoloads, $(lisp)/loaddefs.el) + ($(lisp)/subdirs.el, update-subdirs): + Output more-accurate destination names with GEN. + + Say "ELC foo.elc" instead of "GEN foo.elc" + * Makefile.in (AM_V_ELC, am__v_ELC_, am__v_ELC_0, am__v_ELC_1): + New macros. + ($(THEFILE)c, .el.elc): Use them. + +2015-01-11 Michael Albinus + + * files.el (directory-files-recursively): Do not include + superfluous remote file names. + +2015-01-11 Lars Magne Ingebrigtsen + + * net/eww.el (eww): Interpret anything that looks like a protocol + designator as a full URL. + +2015-01-10 Lars Magne Ingebrigtsen + + * net/shr.el (shr-urlify): Don't bother the user about + invalidly-encoded display strings. + +2015-01-10 Ivan Shmakov + + * net/shr.el (shr-urlify): Decode URLs before using them as titles + (bug#19555). + +2015-01-10 Lars Magne Ingebrigtsen + + * net/eww.el (eww): Always interpret URLs that start with https?: + as plain URLs, even if they have spaces in them (bug#19556). + (eww): Also interpret things like "en.wikipedia.org/wiki/Free + software" as an URL. + (eww): Don't interpret "org/foo" as an URL. + (eww): Clear the title when loading so that we don't display + misleading information. + +2015-01-10 Daniel Colascione + + * vc/vc-hooks.el (vc-prefix-map): Bind vc-delete-file to C-x v x, + by analogy with dired. + +2015-01-09 Daniel Colascione + + * progmodes/js.el (js--function-heading-1-re) + (js--function-prologue-beginning): Parse ES6 generator function + declarations. (That is, "function* name()"). + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (defclass): Move from eieio-defclass all the code + that creates functions, and most of the sanity checks. + Mark as obsolete the -child-p function. + * emacs-lisp/eieio-core.el (eieio--define-field-accessors): Remove. + (eieio--class, eieio--object): Use cl-defstruct. + (eieio--object-num-slots): Define manually. + (eieio-defclass-autoload): Use eieio--class-make. + (eieio-defclass-internal): Rename from eieio-defclass. Move all the + `(lambda...) definitions and most of the sanity checks to `defclass'. + Mark as obsolete the -list-p function, the variable and + the variables. Use pcase-dolist. + (eieio-defclass): New compatibility function. + * emacs-lisp/eieio-opt.el (eieio-build-class-alist) + (eieio-class-speedbar): Don't use eieio-default-superclass var. + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio-generic.el: New file. + * emacs-lisp/eieio-core.el: Move all generic function code to + eieio-generic.el. + (eieio--defmethod): Declare. + + * emacs-lisp/eieio.el: Require eieio-generic. Move all generic + function code to eieio-generic.el. + * emacs-lisp/eieio-opt.el (eieio-help-generic): Move to + eieio-generic.el. + * emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): Update call + to eieio--generic-call. + * emacs-lisp/eieio-base.el (eieio-instance-inheritor): Don't use + -child type. + +2015-01-08 Stefan Monnier + + * emacs-lisp/chart.el (chart-add-sequence, chart-bar-quickie): + Don't use as a variable. + + * emacs-lisp/eieio.el (same-class-p): Accept class object as well. + (call-next-method): Simplify. + (clone): Obey eieio-backward-compatibility. + + * emacs-lisp/eieio-opt.el (eieio-read-generic-p): Remove. + (eieio-read-generic): Use `generic-p' instead. + + * emacs-lisp/eieio-core.el (eieio-backward-compatibility): New var. + (eieio-defclass-autoload): Obey it. + (eieio--class-object): Improve error behavior. + (eieio-class-children-fast, same-class-fast-p): Remove. Inline at + every use site. + (eieio--defgeneric-form-primary-only): Rename from + eieio-defgeneric-form-primary-only; update all callers. + (eieio--defgeneric-form-primary-only-one): Rename from + eieio-defgeneric-form-primary-only-one; update all callers. + (eieio-defgeneric-reset-generic-form) + (eieio-defgeneric-reset-generic-form-primary-only) + (eieio-defgeneric-reset-generic-form-primary-only-one): Remove. + (eieio--method-optimize-primary): New function to replace them. + (eieio--defmethod, eieio-defmethod): Use it. + (eieio--perform-slot-validation): Rename from + eieio-perform-slot-validation; update all callers. + (eieio--validate-slot-value): Rename from eieio-validate-slot-value. + Change `class' to be a class object. Update all callers. + (eieio--validate-class-slot-value): Rename from + eieio-validate-class-slot-value. Change `class' to be a class object. + Update all callers. + (eieio-oset-default): Accept class object as well. + (eieio--generic-call-primary-only): Rename from + eieio-generic-call-primary-only. Update all callers. + + * emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value): + Improve error messages. + (eieio-persistent-slot-type-is-class-p): Handle `list-of' types, as + well as user-defined types. Emit errors for legacy types like + -child and -list, if not eieio-backward-compatibility. + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (eieio-class-parents): Accept class objects. + (eieio--class-slot-initarg): Rename from class-slot-initarg. + Change `class' arg to be a class object. Update all callers. + (call-next-method): Adjust to new return value of `eieio-generic-form'. + (eieio-default-superclass): Set var to the class object. + (eieio-edebug-prin1-to-string): Fix recursive call for lists. + Change print behavior to affect class objects rather than + class symbols. + + * emacs-lisp/eieio-core.el (eieio-class-object): New function. + (eieio-class-parents-fast): Remove macro. + (eieio--class-option-assoc): Rename from class-option-assoc. + Update all callers. + (eieio--class-option): Rename from class-option. Change `class' arg to + be a class object. Update all callers. + (eieio--class-method-invocation-order): Rename from + class-method-invocation-order. Change `class' arg to be a class + object. Update all callers. + (eieio-defclass-autoload, eieio-defclass): Set the `parent' field to + a list of class objects rather than names. + (eieio-defclass): Remove redundant quotes. Use `eieio-oref-default' + for accessors to class allocated slots. + (eieio--perform-slot-validation-for-default): Rename from + eieio-perform-slot-validation-for-default. Update all callers. + (eieio--add-new-slot): Rename from eieio-add-new-slot. + Update all callers. Use push. + (eieio-copy-parents-into-subclass): Adjust to new content of + `parent' field. Use dolist. + (eieio-oref): Remove support for providing a class rather than + an object. + (eieio-oref-default): Prefer class objects over class names. + (eieio--slot-originating-class-p): Rename from + eieio-slot-originating-class-p. Update all callers. Use `or'. + (eieio--slot-name-index): Turn check into assertion. + (eieio--class-slot-name-index): Rename from + eieio-class-slot-name-index. Change `class' arg to be a class object. + Update all callers. + (eieio-attribute-to-initarg): Move to eieio-test-persist.el. + (eieio--c3-candidate): Rename from eieio-c3-candidate. + Update all callers. + (eieio--c3-merge-lists): Rename from eieio-c3-merge-lists. + Update all callers. + (eieio--class-precedence-c3): Rename from eieio-class-precedence-c3. + Update all callers. + (eieio--class-precedence-dfs): Rename from eieio-class-precedence-dfs. + Update all callers. + (eieio--class-precedence-bfs): Rename from eieio-class-precedence-bfs. + Update all callers. Adjust to new `parent' content. + (eieio--class-precedence-list): Rename from -class-precedence-list. + Update all callers. + (eieio-generic-call): Use autoloadp and autoload-do-load. + Slight simplification. + (eieio-generic-call, eieio-generic-call-primary-only): Adjust to new + return value of `eieio-generic-form'. + (eieiomt-add): Index the hashtable with class objects rather than + class names. + (eieio-generic-form): Accept class objects as well. + + * emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object): + Adjust to new convention for eieio-persistent-validate/fix-slot-value. + (eieio-persistent-validate/fix-slot-value): + Change `class' arg to be a class object. Update all callers. + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (child-of-class-p): Make it accept class objects + additionally to class names. + + * emacs-lisp/eieio-core.el (eieio--with-scoped-class): Use let-binding. + (object): Remove first (constant) slot; rename second to `class-tag'. + (eieio--object-class-object, eieio--object-class-name): New funs + to replace eieio--object-class. + (eieio--class-object, eieio--class-p): New functions. + (same-class-fast-p): Make it a defsubst, change its implementation + to check the class objects rather than their names. + (eieio-object-p): Rewrite. + (eieio-defclass): Adjust the object initialization according to the new + object layout. + (eieio--scoped-class): Declare it returns a class object (not a class + name any more). Adjust calls accordingly (along with calls to + eieio--with-scoped-class). + (eieio--slot-name-index): Rename from eieio-slot-name-index and change + its class arg to be a class object. Adjust callers accordingly. + (eieio-slot-originating-class-p): Make its start-class arg a class + object. Adjust all callers. + (eieio--initarg-to-attribute): Rename from eieio-initarg-to-attribute. + Make its `class' arg a class object. Adjust all callers. + + * emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value): + Use eieio--slot-name-index rather than eieio-slot-name-index. + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (make-instance): Simplify by not adding an object + name argument. + (eieio-object-name): Use eieio-object-name-string. + (eieio--object-names): New const. + (eieio-object-name-string, eieio-object-set-name-string): Re-implement + using a hashtable rather than a built-in slot. + (eieio-constructor): Rename from `constructor'. Remove `newname' arg. + (clone): Don't mess with the object's "name". + + * emacs-lisp/eieio-custom.el (eieio-widget-test): Remove dummy arg. + (eieio-object-value-get): Use eieio-object-set-name-string. + + * emacs-lisp/eieio-core.el (eieio--defalias): Follow aliases. + (eieio--object): Remove `name' field. + (eieio-defclass): Adjust to new convention where constructors don't + take an "object name" any more. + (eieio--defgeneric-init-form, eieio--defmethod): Follow aliases. + (eieio-validate-slot-value, eieio-oset-default) + (eieio-slot-name-index): Don't hardcode eieio--object-num-slots. + (eieio-generic-call-primary-only): Simplify. + + * emacs-lisp/eieio-base.el (clone) : + Use call-next-method. + (eieio-constructor): Rename from `constructor'. + (eieio-persistent-convert-list-to-object): Drop objname. + (eieio-persistent-validate/fix-slot-value): Don't hardcode + eieio--object-num-slots. + (eieio-named): Use a normal slot. + (slot-missing) : Remove. + (eieio-object-name-string, eieio-object-set-name-string, clone) + : New methods. + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio-core.el (eieio--class-v): Rename from class-v. + (method-*): Add a "eieio--" prefix to those constants. + + * emacs-lisp/eieio.el: Move edebug specs to the corresponding macro. + + * emacs-lisp/eieio-speedbar.el: Use lexical-binding. + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (child-of-class-p): Fix case where `class' is + `eieio-default-superclass'. + + * emacs-lisp/eieio-datadebug.el: Use lexical-binding. + + * emacs-lisp/eieio-custom.el: Use lexical-binding. + (eieio-object-value-to-abstract): Simplify. + + * emacs-lisp/eieio-opt.el (eieio-build-class-list): Use cl-mapcan. + (eieio-build-class-alist): Use dolist. + (eieio-all-generic-functions): Adjust to use of hashtables. + + * emacs-lisp/eieio-core.el (class): Rename field symbol-obarray to + symbol-hashtable. It contains a hashtable instead of an obarray. + (generic-p): Use symbol property `eieio-method-hashtable' instead of + `eieio-method-obarray'. + (generic-primary-only-p, generic-primary-only-one-p): + Slight optimization. + (eieio-defclass-autoload-map): Use a hashtable instead of an obarray. + (eieio-defclass-autoload, eieio-defclass): Adjust/simplify accordingly. + (eieio-class-un-autoload): Use autoload-do-load. + (eieio-defclass): Use dolist, cl-pushnew, cl-callf. + Use new cl-deftype-satisfies. Adjust to use of hashtables. + Don't hardcode the value of eieio--object-num-slots. + (eieio-defgeneric-form-primary-only-one): Remove `doc-string' arg. + Use a closure rather than a backquoted lambda. + (eieio--defmethod): Adjust call accordingly. Set doc-string via the + function-documentation property. + (eieio-slot-originating-class-p, eieio-slot-name-index) + (eieiomt--optimizing-hashtable, eieiomt-install, eieiomt-add) + (eieio-generic-form): Adjust to use of hashtables. + (eieiomt--sym-optimize): Rename from eieiomt-sym-optimize; take + additional class argument. + (eieio-generic-call-methodname): Remove, unused. + + * emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p): + Prefer \' to $. + +2015-01-08 Eli Zaretskii + + * simple.el (line-move-visual): When converting X pixel coordinate + to temporary-goal-column, adjust the value for right-to-left + screen lines. This fixes vertical-motion, next/prev-line, etc. + +2015-01-08 Glenn Morris + + * files.el (file-tree-walk): Remove; of unknown authorship. (Bug#19325) + +2015-01-07 K. Handa + + * international/ccl.el (define-ccl-program): Improve the docstring. + +2015-01-06 Sam Steingold + + * shell.el (shell-display-buffer-actions): Remove, + use `display-buffer-alist' instead. + +2015-01-05 Dmitry Gutov + + * progmodes/xref.el (xref--insert-xrefs): Add `help-echo' property + to the references. + +2015-01-05 Stefan Monnier + + * minibuffer.el (completion-category-defaults): New var. + Set unicode-name to use substring completion. + (completion-category-defaults): Set it to nil. + +2015-01-04 Dmitry Gutov + + Add mouse interaction to xref. + * progmodes/xref.el (xref--button-map): New variable. + (xref--mouse-2): New command. + (xref--insert-xrefs): Add `mouse-face' and `keymap' properties to + the inserted references. + +2015-01-04 Paul Eggert + + Less 'make' chatter for lisp dir + * Makefile.in (THEFILE): Define to be 'no-such-file' by default, + to make it clearer that the caller must specify it. + (compile-onefile): Remove, replacing by ... + ($(THEFILE)c): ... new rule. This lets us use AM_V_GEN here. + ($(THEFILE)c, .el.elc, $(MH_E_DIR)/mh-loaddefs.el) + ($(TRAMP_DIR)/tramp-loaddefs.el, $(CAL_DIR)/cal-loaddefs.el) + ($(CAL_DIR)/diary-loaddefs.el, $(CAL_DIR)/hol-loaddefs.el): + Use AM_V_GEN to lessen 'make' chatter. + (.el.elc): Omit duplicate comment. + + Less 'make' chatter in batch mode + * emacs-lisp/autoload.el (autoload-generate-file-autoloads): + * emacs-lisp/bytecomp.el (byte-compile-file): + * files.el (save-buffer, basic-save-buffer): + * international/quail.el (quail-update-leim-list-file): + Don't output messages like "Generating ..." in batch mode. + +2015-01-04 Dmitry Gutov + + Unbreak `mouse-action' property in text buttons. + * button.el (push-button): Fix regression from 2012-12-06. + +2015-01-03 Dmitry Gutov + + * progmodes/xref.el (xref-marker-stack-empty-p): New function. + + * menu-bar.el (menu-bar-goto-menu): Use it. + +2015-01-03 Dmitry Gutov + + * progmodes/xref.el (xref--window-configuration): New variable. + (xref-show-location-at-point): New command. + (xref--restore-window-configuration): New function. + (xref-next-line, xref-prev-line): Delegate to + `xref-show-location-at-point'. + (xref--location-at-point): Don't signal the error. + (xref-goto-xref): Do that here instead. + (xref--xref-buffer-mode): Add `xref--restore-window-configuration' + to `pre-command-hook'. + (xref--xref-buffer-mode-map): Don't remap `next-line' and + `previous-line'. Additionally bind `xref-next-line' and + `xref-prev-line' to `n' and `p' respectively. + Bind `xref-show-location-at-point' to `C-o'. + +2015-01-01 Eli Zaretskii + + * tool-bar.el (tool-bar-local-item) + (tool-bar-local-item-from-menu): Call force-mode-line-update to + make sure the tool-bar changes show on display. + +2015-01-01 Michael Albinus + + Sync with Tramp 2.2.11. + + * net/tramp-compat.el (top): Require cl-macs for Emacs 22. + Make an alias for `default-toplevel-value' if it doesn't exist. + + * net/tramp-smb.el (tramp-smb-handle-copy-directory): + Use `tramp-compat-delete-directory'. + + * net/trampver.el: Update release number. + +2015-01-01 Filipp Gunbin + + * autorevert.el (auto-revert-handler): Fix auto-revert-tail-mode + for remote files. (Bug#19449) + +2015-01-01 Simen Heggestøyl (tiny change) + + * textmodes/css-mode.el (scss-mode): Fix typo (bug#19446). + +2014-12-31 Paul Eggert + + Less 'make' chatter in lisp directory + * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_) + (am__v_GEN_0, am__v_GEN_1): New macros, from ../src/Makefile.in. + (custom-deps, finder-data, autoloads, update-subdirs): Use them. + +2014-12-31 Filipp Gunbin + + * info.el (info-display-manual): Limit the completion alternatives + to currently visited manuals if prefix argument is non-nil. + +2014-12-30 Paul Eggert + + * Makefile.in (semantic): Simplify. + +2014-12-30 Juri Linkov + + * net/eww.el (eww-isearch-next-buffer): New function. + (eww-mode): Set multi-isearch-next-buffer-function to it. + +2014-12-30 Dmitry Gutov + + * progmodes/xref.el (xref-find-definitions): Mention "no + identifier at point" case in the docstring. + + * menu-bar.el (menu-bar-goto-uses-etags-p): New function. + (menu-bar-goto-menu): Use it to show or hide the `set-tags-name' + and `separator-tag-file' items. + +2014-12-29 Paul Eggert + + * obsolete/pc-select.el (pc-selection-mode): Use system-type. + This is instead of system-name, which is both wrong here and obsolete. + * desktop.el (desktop-save-frameset): + * dnd.el (dnd-get-local-file-uri): + * nxml/rng-uri.el (rng-uri-file-name-1): + Prefer (system-name) to system-name, and avoid naming + locals 'system-name'. + * startup.el (system-name): Now an obsolete variable. (Bug#19438) + +2014-12-29 Dmitry Gutov + + * menu-bar.el (menu-bar-next-tag-other-window) + (menu-bar-next-tag): Remove. + +2014-12-29 K. Handa + + * international/mule.el (make-translation-table-from-alist): + Accept nil or zero-length vector for FROM and TO. + +2014-12-29 Lars Ingebrigtsen + + * net/eww.el (eww-mode): Truncate overlong lines for prettier + display when resizing. + + * net/shr.el (shr-width): Default to using the window width when + rendering. + +2014-12-29 Dmitry Gutov + + Unbreak jumping to an alias's definition. + * emacs-lisp/find-func.el (find-function-library): Return a pair + (ORIG-FUNCTION . LIBRARY) instead of just its second element. + (find-function-noselect): Use it. + * progmodes/elisp-mode.el (elisp--xref-identifier-file): Rename to + `elisp--xref-identifier-location', incorporate logic from + `elisp--xref-find-definitions', use the changed + `find-function-library' return value. + +2014-12-29 Juri Linkov + + * comint.el (comint-history-isearch-message): Use field-beginning + instead of comint-line-beginning-position - that's more fixes for + http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html + (comint-history-isearch-message): Fix args of isearch-message-prefix. + +2014-12-29 Juri Linkov + + * vc/vc-dir.el (vc-dir-display-file): New command (bug#19450). + (vc-dir-mode-map): Bind it to "\C-o". + (vc-dir-menu-map): Add it to menu. + +2014-12-29 Dmitry Gutov + + * progmodes/etags.el (find-tag-other-window) + (find-tag-other-frame, find-tag-regexp, tags-loop-continue) + (tags-apropos): Declare obsolete. + + * menu-bar.el (menu-bar-goto-menu): Replace all but one etags item + with xref ones. + +2014-12-28 Eli Zaretskii + + * international/mule.el (define-coding-system): Fix typos in the + doc string. + +2014-12-28 Kenichi Handa + + * international/mule.el (define-coding-system): Improve the doc + string. + +2014-12-28 Ivan Shmakov + + * net/shr.el (shr-tag-table): Fix handling of tbody/header/footer + elements in tables (bug#19444). + + * net/eww.el (eww-handle-link): Fix typo in "up" rel handling + (bug#19445). + +2014-12-28 Juri Linkov + + * vc/compare-w.el: Require diff-mode for diff faces. + (compare-windows-removed, compare-windows-added): New faces + inheriting from diff faces. + (compare-windows): Define obsolete face alias. + (compare-windows-highlight): Replace face `compare-windows' with + new faces `compare-windows-added' and `compare-windows-removed' + (bug#19451). + (compare-windows-get-recent-window): Signal an error when + no other window is found (bug#19170). + +2014-12-27 Dmitry Gutov + + * progmodes/elisp-mode.el (elisp--xref-identifier-file): + Skip features that have no sources. + + * simple.el (execute-extended-command): + When `suggest-key-bindings' is nil, don't. + +2014-12-27 Fabián Ezequiel Gallina + + python.el: Native readline completion. + * progmodes/python.el (python-shell-completion-native-disabled-interpreters) + (python-shell-completion-native-enable) + (python-shell-completion-native-output-timeout): New defcustoms. + (python-shell-completion-native-interpreter-disabled-p) + (python-shell-completion-native-try) + (python-shell-completion-native-setup) + (python-shell-completion-native-turn-off) + (python-shell-completion-native-turn-on) + (python-shell-completion-native-turn-on-maybe) + (python-shell-completion-native-turn-on-maybe-with-msg) + (python-shell-completion-native-toggle): New functions. + (python-shell-completion-native-get-completions): New function. + (python-shell-completion-at-point): Use it. + +2014-12-27 Fabián Ezequiel Gallina + + python.el: Enhance shell user interaction and deprecate + python-shell-get-or-create-process. + * progmodes/python.el (python-shell-get-process-or-error): + New function. + (python-shell-with-shell-buffer): Use it. + (python-shell-send-string, python-shell-send-region) + (python-shell-send-buffer, python-shell-send-defun) + (python-shell-send-file, python-shell-switch-to-shell): Use it. + Add argument MSG to display user-friendly message when no process + is running. + (python-shell-switch-to-shell): Call pop-to-buffer with NORECORD. + (python-shell-make-comint): Rename argument SHOW from POP. + Use display-buffer instead of pop-to-buffer. + (run-python): Doc fix. Return process. + (python-shell-get-or-create-process): Make obsolete. + +2014-12-27 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-buffer-substring): + Handle cornercase when region sent starts at point-min. + +2014-12-27 Eli Zaretskii + + * language/misc-lang.el (composition-function-table): Add Syriac + characters and also ZWJ/ZWNJ. + See http://lists.gnu.org/archive/html/help-gnu-emacs/2014-12/msg00248.html + for the details. + +2014-12-27 Fabián Ezequiel Gallina + + python.el: Fix message when sending region. + * progmodes/python.el (python-shell-send-region): Rename argument + send-main from nomain. Fix message. + (python-shell-send-buffer): Rename argument send-main from arg. + + python.el: Cleanup temp files even with eval errors. + * progmodes/python.el (python-shell-send-file): Make file-name + mandatory. Fix temp file removal in the majority of cases. + + python.el: Handle file encoding for shell. + * progmodes/python.el (python-rx-constituents): Add coding-cookie. + (python-shell--save-temp-file): Write file with proper encoding. + (python-shell-buffer-substring): Add coding cookie for detected + encoding to generated content. Fix blank lines when removing + if-name-main block. + (python-shell-send-file): Handle file encoding. + (python-info-encoding-from-cookie) + (python-info-encoding): New functions. + +2014-12-27 Michael Albinus + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Use `tramp-rsh-end-of-line', it ought to be more robust. + +2014-12-27 Stefan Monnier + + * progmodes/js.el (js-syntax-propertize): "return" can't be divided + (bug#19397). + +2014-12-27 Michael Albinus + + * net/tramp.el (tramp-read-passwd): Ignore errors from `auth-source-*'. + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use "\n" + as end-of-line delimeter for passwords, when running on MS Windows. + +2014-12-27 Stefan Monnier + + * progmodes/sh-script.el (sh-set-shell): Don't change the global value + of indent-line-function (bug#19433). + +2014-12-27 Fabián Ezequiel Gallina + + Fix line numbers on Python shell. + * progmodes/python.el (python-shell--save-temp-file): Do not + append coding cookie. + (python-shell-send-string): Generalize for + python-shell-send-region. + (python--use-fake-loc): Delete var. + (python-shell-buffer-substring): Cleanup fake-loc logic. + (python-shell-send-region): Remove fake-loc logic, simplify. + +2014-12-27 Fabián Ezequiel Gallina + + * progmodes/python.el (python-indent-post-self-insert-function): + Make colon to re-indent only for dedenters, handling + multiline-statements gracefully. + +2014-12-27 Michael Albinus + + * net/tramp.el (tramp-handle-insert-file-contents): + Set `find-file-not-found-functions' in case of errors. (Bug#18623) + +2014-12-27 Michael Albinus + + * net/tramp-sh.el (tramp-send-command-and-read): New optional + arg MARKER. + (tramp-get-remote-path): Use it. + +2014-12-27 Stefan Monnier + + * subr.el (redisplay-dont-pause): Mark as obsolete. + +2014-12-27 Michael Albinus + + * net/tramp.el (tramp-error-with-buffer): Call `message' properly. + (tramp-accept-process-output): Use nil as argument for + `accept-process-output', when there is a gateway prepended. + + * net/tramp-gw.el (tramp-gw-open-connection): Suppress traces in + wrong debug buffer. + (tramp-gw-open-connection): Set process coding system 'binary. + (tramp-gw-open-network-stream): Handle HTTP error 403. + + * net/tramp-sh.el (tramp-compute-multi-hops): Suppress traces in + wrong debug buffer. + (tramp-maybe-open-connection): Set connection property "gateway". + +2014-12-27 Stefan Monnier + + * subr.el (sit-for): Tweak docstring (bug#19381). + +2014-12-27 Dmitry Gutov + + * vc/vc-git.el (vc-git-after-dir-status-stage): Move `up-to-date' + stage to after `diff-index' (bug#19386). + +2014-12-27 João Távora + + * textmodes/tex-mode.el (tex-insert-quote): Consider and respect + `electric-pair-mode' (bug#19356). + +2014-12-27 Dmitry Gutov + + elisp-xref-find: Don't create buffers eagerly. + + * progmodes/elisp-mode.el (elisp--identifier-location): Fold back + into `elisp--company-location'. + (elisp--identifier-completion-table): Rename to + `elisp--identifier-completion-table', and do not include just any + symbols with a property list. + (elisp-completion-at-point): Revert the 2014-12-25 change. + (elisp--xref-identifier-file): New function. + (elisp--xref-find-definitions): Use it. + + * emacs-lisp/find-func.el (find-function-library): New function, + extracted from `find-function-noselect'. + + * progmodes/xref.el (xref-elisp-location): New class. + (xref-make-elisp-location): New function. + (xref-location-marker): New implementation. + +2014-12-27 Juri Linkov + + * minibuffer.el (minibuffer-completion-help): + Use shrink-window-if-larger-than-buffer in window-height + when temp-buffer-resize-mode is nil. + + * window.el (with-displayed-buffer-window): Remove window-height + from the action alist in the temp-buffer-window-show call + when window-height is handled explicitly afterwards (bug#19355). + +2014-12-27 Juri Linkov + + Support subdirectories when saving places in dired. + * saveplace.el (toggle-save-place, save-place-to-alist) + (save-places-to-alist, save-place-dired-hook): + Use dired-current-directory instead of dired-directory (bug#19436). + (save-place-dired-hook): Add check for alist to make the new + format future-proof to allow other possible formats. + +2014-12-26 Fabián Ezequiel Gallina + + python.el: Generate clearer shell buffer names. + * progmodes/python.el (python-shell-get-process-name) + (python-shell-internal-get-process-name): Use `buffer-name`. + (python-shell-internal-get-or-create-process): Simplify. + +2014-12-26 Dmitry Gutov + + Add basic xref apropos implementation to elisp-mode. + + * progmodes/elisp-mode.el (elisp--xref-find-definitions): + Filter out nil results. + (elisp--xref-find-apropos): New function. + (elisp-xref-find): Use it. + + * progmodes/xref.el (xref--show-xrefs): Use `user-error'. + +2014-12-25 Filipp Gunbin + + * dired-aux.el (dired-maybe-insert-subdir): + Make dired-maybe-insert-subdir always skip trivial files. + +2014-12-25 Helmut Eller + Dmitry Gutov + + Consolidate cross-referencing commands. + + Move autoloaded bindings for `M-.', `M-,', `C-x 4 .' and + `C-x 5 .' from etags.el to xref.el. + + * progmodes/xref.el: New file. + + * progmodes/elisp-mode.el (elisp--identifier-types): New variable. + (elisp--identifier-location): New function, extracted from + `elisp--company-location'. + (elisp--company-location): Use it. + (elisp--identifier-completion-table): New variable. + (elisp-completion-at-point): Use it. + (emacs-lisp-mode): Set the local values of `xref-find-function' + and `xref-identifier-completion-table-function'. + (elisp-xref-find, elisp--xref-find-definitions) + (elisp--xref-identifier-completion-table): New functions. + + * progmodes/etags.el (find-tag-marker-ring): Mark obsolete in + favor of `xref--marker-ring'. + (tags-lazy-completion-table): Autoload. + (tags-reset-tags-tables): Use `xref-clear-marker-stack'. + (find-tag-noselect): Use `xref-push-marker-stack'. + (pop-tag-mark): Make an alias for `xref-pop-marker-stack'. + (etags--xref-limit): New constant. + (etags-xref-find, etags--xref-find-definitions): New functions. + +2014-12-25 Martin Rudalics + + * cus-start.el (resize-mini-windows): Make it customizable. + +2014-12-24 Stephen Leake + + * startup.el (fancy-about-text): Change buttons for etc/CONTRIBUTE + to (info "(emacs)Contributing"). (Bug#19299) + +2014-12-24 Martin Rudalics + + * window.el (mouse-autoselect-window-position-1): New variable. + (mouse-autoselect-window-cancel) + (mouse-autoselect-window-select, handle-select-window): + With delayed autoselection select window only if mouse moves after + selecting its frame. + +2014-12-24 Michael Albinus + + * eshell/esh-ext.el (eshell-find-interpreter): Expand relative + remote file names. (Bug#18782) + +2014-12-23 Sam Steingold + + * shell.el (shell-display-buffer-actions): New user option. + (shell): Pass it to `pop-to-buffer' instead of hard-coding + `pop-to-buffer-same-window'. + +2014-12-23 Stefan Monnier + + * progmodes/js.el (js--syntax-propertize-regexp-syntax-table): New var. + (js-syntax-propertize-regexp): Use it to recognize "slash in + a character class" (bug#19397). + +2014-12-22 Stefan Monnier + + * completion.el: Use post-self-insert-hook (bug#19400). + (completion-separator-self-insert-command) + (completion-separator-self-insert-autofilling): Remove. + (completion-separator-chars): New var. + (completion-c-mode-hook, completion-setup-fortran-mode): Use it instead + of changing the keymap. + (completion--post-self-insert): New function. + (dynamic-completion-mode): Use it instead of rebinding keys. + (cmpl--completion-string): Rename from completion-string. + (add-completion-to-head, delete-completion): Let-bind it explicitly. + +2014-12-22 Bozhidar Batsov + + * progmodes/ruby-mode.el (ruby--string-region): Simplify code + by leveraging `syntax-ppss'. + +2014-12-22 Artur Malabarba + + * let-alist.el (let-alist): Use `make-symbol' instead of `gensym'. + +2014-12-20 Michael Albinus + + * net/tramp-sh.el (tramp-histfile-override): Add :version. + +2014-12-20 Teodor Zlatanov + + * net/tramp-sh.el (tramp-histfile-override): Clarify docstring. + +2014-12-19 Artur Malabarba + + * let-alist.el (let-alist): Enable access to deeper alists by + using dots inside the dotted symbols. + +2014-12-19 Alan Mackenzie + + Make C++11 uniform init syntax work. + New keywords "final" and "override". + * progmodes/cc-engine.el (c-back-over-member-initializer-braces): + New function. + (c-guess-basic-syntax): Set `containing-sex' and `lim' using the + new function. + * progmodes/cc-fonts.el (c-font-lock-declarations): Check more + carefully for "are we at a declarator?" using + c-back-over-member-initializers. + * progmodes/cc-langs.el (c-type-modifier-kwds): Include "final" + and "override" in the C++ value. + +2014-12-19 Martin Rudalics + + * textmodes/ispell.el (ispell-command-loop): Don't use `next-window'. + +2014-12-21 Lars Ingebrigtsen + + * net/nsm.el (nsm-save-host): Don't save the host name twice + (bug#19269). + +2014-12-18 Sam Steingold + + Keyboard interface (C-f10) to `mouse-buffer-menu' (C-down-mouse-1). + * mouse.el (mouse-buffer-menu-map): Extract from `mouse-buffer-menu'. + (mouse-buffer-menu): Use `mouse-buffer-menu-map'. + * menu-bar.el (menu-bar-buffer-vector): Extract from + `menu-bar-update-buffers'. + (menu-bar-update-buffers): Use `menu-bar-buffer-vector'. + (buffer-menu-open): New user command, bound globally to C-f10, + provides a keyboard interface to `mouse-buffer-menu' (C-down-mouse-1). + (mouse-buffer-menu-keymap): Use `menu-bar-buffer-vector' to + convert the value returned by `mouse-buffer-menu-map' to a list + acceptable to `popup-menu' for `buffer-menu-open'. + +2014-12-18 Artur Malabarba + + * let-alist.el (let-alist): Evaluate the `alist' argument only once. + +2014-12-18 Sam Steingold + + * emacs-lisp/package.el: Avoid compilation warning by declaring + the `find-library-name' function. + (package-activate-1): Fix the `with-demoted-errors' calls: + the first argument must be a string literal. + +2014-12-18 Martin Rudalics + + Add code for "preserving" window sizes. + * dired.el (dired-pop-to-buffer): Call fit-window-to-buffer with + `preserve-size' t. + (dired-mark-pop-up): Preserve size of window showing marked files. + * electric.el (Electric-pop-up-window): + * help.el (resize-temp-buffer-window): Call fit-window-to-buffer + with `preserve-size' t. + * minibuffer.el (minibuffer-completion-help): + Use `resize-temp-buffer-window' instead of `fit-window-to-buffer' + (Bug#19355). Preserve size of completions window. + * register.el (register-preview): Preserve size of register + preview window. + * tmm.el (tmm-add-prompt): Call fit-window-to-buffer + with `preserve-size' t (Bug#1291). + * window.el (with-displayed-buffer-window): Add calls to + `window-preserve-size'. + (window-min-pixel-size, window--preservable-size) + (window-preserve-size, window-preserved-size) + (window--preserve-size, window--min-size-ignore-p): New functions. + (window-min-size, window-min-delta, window--resizable) + (window--resize-this-window, split-window-below) + (split-window-right): Amend doc-string. + (window--min-size-1, window-sizable, window--size-fixed-1) + (window-size-fixed-p, window--min-delta-1) + (frame-windows-min-size, window--max-delta-1, window-resize) + (window--resize-child-windows, window--resize-siblings) + (enlarge-window, shrink-window, split-window): Handle preserving + window sizes. + (adjust-window-trailing-edge): Handle preserving window + sizes. Signal user-error instead of an error when there's no + window above or below. + (window--state-put-2): Handle horizontal scroll bars. + (window--display-buffer): Call `preserve-size' if asked for. + (display-buffer): Mention `preserve-size' alist member in doc-string. + (fit-window-to-buffer): New argument PRESERVE-SIZE. + * textmodes/ispell.el (ispell-command-loop): Suppress horizontal + scroll bar on ispell's windows. Don't count window lines and + don't deal with dedicated windows. + (ispell-show-choices, ispell-help): Let `ispell-display-buffer' + do the window handling. + (ispell-adjusted-window-height, ispell-overlay-window): Remove. + (ispell-display-buffer): New function to reuse, create and fit + window to ispell's buffers. (Bug#3413) + +2014-12-18 Dmitry Gutov + + * emacs-lisp/package.el (package-activate): Do not re-activate or + reload the dependencies (bug#19390). + +2014-12-18 Stefan Monnier + + * progmodes/cc-cmds.el (c-subword-mode): Alias to subword-mode. + (c-update-modeline): + * progmodes/cc-langs.el (c-mode-menu): Use c-subword-mode. + * progmodes/cc-mode.el (subword-mode): Move autoload to cc-cmds.el. + (c-mode-base-map): Use c-subword-mode. + +2014-12-18 Eli Zaretskii + + * international/mule-diag.el (describe-font-internal): + Display additional info returned by font-info. + + * linum.el (linum--face-width): Rename from linum--face-height, + and use the new functionality of font-info. + (linum-update-window): Use linum--face-width and frame-char-width, + instead of approximating with height. + +2014-12-18 Dmitry Gutov + + * vc/vc-svn.el (vc-svn-dir-status-files): Revert the 2014-12-02 + change (bug#19387). Use `apply' on `vc-dir-command' (bug#19405). + + * emacs-lisp/package.el (package-activate-1): Add RELOAD argument + and a docstring. + (package-activate): Call itself on dependencies on PACKAGE with + the same FORCE argument. Pass FORCE as RELOAD into + `package-activate-1' (bug#19390). + +2014-12-17 Sam Steingold + + * emacs-lisp/package.el (package--list-loaded-files): + Handle `(nil ...)' elements in `load-history'. + +2014-12-17 Teodor Zlatanov + + * net/tramp-sh.el (tramp-histfile-override): New variable. + (tramp-open-shell, tramp-maybe-open-connection): Use it. + +2014-12-17 Dmitry Gutov + + * vc/vc.el: Improve `dir-status-files' description. + + * emacs-lisp/package.el (package--list-loaded-files): Don't call + file-truename on load-history elements (bug#19390). + +2014-12-16 Nicolas Petton + + * emacs-lisp/seq.el: New file. + +2014-12-16 Stefan Monnier + + * jit-lock.el (jit-lock-function): Don't defer if jit-lock-defer-time + is 0 and there is no input pending. + +2014-12-15 Juri Linkov + + * replace.el (query-replace-read-from): Use query-replace-compile-replacement + only on the return value (bug#19383). + +2014-12-15 Juri Linkov + + * isearch.el (isearch-lazy-highlight-search): Extend the bound of + the wrapped search by the length of the search string to be able + to lazy-highlight the whole search string at point (bug#19353). + +2014-12-15 Lars Magne Ingebrigtsen + + * net/shr.el (shr-fold-text): Don't bug out on zero-length text. + +2014-12-14 Alan Mackenzie + + * cus-start.el (all): Add fast-but-imprecise-scrolling. + +2014-12-14 Artur Malabarba + + * let-alist.el: Add lexical binding. + +2014-12-14 Steve Purcell (tiny change) + + * emacs-lisp/package.el (package-menu-mode): Use an extra column + for the "Version" column, to accomodate date-and-time-based versions. + +2014-12-14 Cameron Desautels + + * cus-edit.el (custom-unsaved-options): New function, extracted + from `customize-unsaved'. + (custom-unsaved): Use it. + (custom-prompt-customize-unsaved-options): New function. + (Bug#19328) + +2014-12-14 Dmitry Gutov + + * fringe.el (fringe-bitmap-p): Fix 2014-12-05 breakage. + +2014-12-14 Dmitry Gutov + + Move ASYNC argument to the `diff' VC command to the fifth + position, for better compatibility with existing third-party code, + and document it. + + * vc/vc.el (vc-diff-internal): Pass `async' argument to the + backend `diff' command in the last position. + + * vc/vc-svn.el (vc-svn-diff): + * vc/vc-src.el (vc-src-diff): + * vc/vc-sccs.el (vc-sccs-diff): + * vc/vc-rcs.el (vc-rcs-diff): + * vc/vc-mtn.el (vc-mtn-diff): + * vc/vc-hg.el (vc-hg-diff): + * vc/vc-git.el (vc-git-diff): + * vc/vc-dav.el (vc-dav-diff): + * vc/vc-cvs.el (vc-cvs-diff): + * vc/vc-bzr.el (vc-bzr-diff): + * obsolete/vc-arch.el (vc-arch-diff): Move ASYNC argument to the end. + +2014-12-14 Paul Eggert + + * emacs-lisp/cconv.el (cconv--analyze-use): + Rename from cconv--analyse-use. + (cconv--analyze-function): Rename from cconv--analyse-function. + (cconv-analyze-form): Rename from cconv-analyse-form. + +2014-12-13 Andreas Schwab + + * net/shr.el (shr-next-link): Don't error out at eob. + +2014-12-05 Nicolas Richard + + * isearch.el (isearch-open-necessary-overlays): Open overlay + ending at point (bug#19333). + +2014-12-13 Lars Magne Ingebrigtsen + + * net/shr.el (shr-fold-text): New function. + (shr-show-alt-text, shr-urlify, shr-tag-img): Use it to fold long + alt/title texts. + (shr-fold-text): Inhibit state from being altered. + + * files.el (directory-files-recursively): Really check whether + files are symlinks. + (directory-name-p): New function. + (directory-files-recursively): Use it. + +2014-12-13 Artur Malabarba + + * emacs-lisp/package.el (package--list-loaded-files): New function + to list files in a given directory which correspond to already + loaded files. + (package-activate-1): Reload files given by `package--list-loaded-files'. + Fix bug#10125, bug#18443, and bug#18448. + +2014-12-13 Eric S. Raymond + + * vc/vc-svn.el (vc-svn-diff): Fix bug #19312. + +2014-12-13 Michael Albinus + + * simple.el (password-word-equivalents): Add "passcode", used for + numeric secrets like PINs or RSA tokens. + +2014-12-13 Michael Albinus + + * net/tramp-sh.el (tramp-get-remote-path): Use a login shell in + order to determine `tramp-own-remote-path'. + +2014-12-13 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-parse-command): + Quote `python-shell-interpreter`. (Bug#19289) + +2014-12-12 Stefan Monnier + + * progmodes/python.el (python-indent-line): Use `noindent' in strings. + (python-indent-levels): Document extra value. + (python-indent-calculate-indentation): Return `noindent' in strings. + (python-indent-post-self-insert-function) + (python-indent-calculate-levels): Handle new value. + +2014-12-12 Lars Magne Ingebrigtsen + + * net/network-stream.el (network-stream-open-starttls): No need to + check for the availability of `gnutls-available-p'. + + * files.el (directory-files-recursively): Don't follow symlinks to + other directories. + +2014-12-12 Eric S. Raymond + + * vc/vc-dav.el, vc/vc-git.el, vc/vc-hg.el, vc/vc-src.el: + * vc/vc.el: latest-on-branch-p is no longer a public method. + + * vc/vc.el, vc/vc-hg.el, vc/vc-git.el, vc/vc-hooks.el: + * vc/vc-mtn.el, vc/vc-rcs.el, vc/vc-sccs.el, vc/vc-src.el: + Remove `rollback' method, to be replaced in the future by uncommit. + +2014-12-11 Michael Albinus + + * vc/vc-hg.el (vc-hg-state): Make FILE absolute. Handle the case + that there is empty output. + +2014-12-11 Stefan Monnier + + * emacs-lisp/eldoc.el (eldoc-documentation-function): Change default. + (eldoc-mode, eldoc-schedule-timer): Adjust to new default. + +2014-12-10 Artur Malabarba + + * let-alist.el: Add new package and macro. + +2014-12-10 Eric S. Raymond + + * vc/vc-dispatcher.el, vc/vc-hooks.el, vc/vc-rcs.el: + * vc/vc-sccs.el, vc/vc.el: Righteous featurectomy of vc-keep-workfiles, + it's a shoot-self-in-foot archaism. Workfiles are always kept. + +2014-12-10 Rasmus Pank Roulund + + * net/ange-ftp.el (ange-ftp-switches-ok): Disallow flags causing + trouble with ls over ftp. These flags result in ls returning no + output, causing Tramp-breakage. (bug#19192) + +2014-12-10 Andreas Schwab + + * files.el (file-tree-walk): Use file-name-as-directory unconditionally. + +2014-12-10 Lars Magne Ingebrigtsen + + * files.el (directory-files-recursively): + Use `file-name-all-completions' instead of `directory-files' for + greater speed. + + * net/shr.el (shr-tag-object): Don't bug out on text elements in + . + +2014-12-09 Bozhidar Batsov + + * progmodes/ruby-mode.el (auto-mode-alist): Add .rabl, Berksfile + and Puppetfile. + (ruby-toggle-string-quotes): New command that allows you to quickly + toggle between single-quoted and double-quoted string literals. + +2014-12-09 Eric S. Raymond + + * vc/vc-src.el (vc-src-do-comand): Prepend -- to file argument + list, avoids problems witt names containing hyphens. + +2014-12-09 Wilson Snyder + + Sync with upstream verilog-mode revision aa4b777. + * progmodes/verilog-mode.el (verilog-mode-version): Update. + (verilog-auto-end-comment-lines-re, verilog-end-block-ordered-re) + (verilog-set-auto-endcomments): Automatically comment property/ + endproperty blocks to match other similar blocks like sequence/ + endsequence, function/endfunction, etc. Reported by Alex Reed. + (verilog-set-auto-endcomments): Fix end comments for functions of + type void, etc. Detect the function- or task-name when + auto-commenting blocks that lack an explicit portlist. + Reported by Alex Reed. + (verilog-nameable-item-re): Fix nameable items that can have an + end-identifier to include endchecker, endgroup, endprogram, + endproperty, and endsequence. Reported by Alex Reed. + (verilog-preprocessor-re, verilog-beg-of-statement): + Fix indentation of property/endproperty around pre-processor + directives. Reported by Alex Reed. + (verilog-label-be): When auto-commenting a buffer, consider + auto-comments on all known keywords (not just a subset thereof). + Reported by Alex Reed. + (verilog-beg-of-statement): Fix labeling do-while blocks, bug842. + Reported by Alex Reed. + (verilog-beg-of-statement-1, verilog-at-constraint-p): + Fix hanging with many curly-bracket pairs, bug663. + (verilog-do-indent): Fix electric tab deleting form-feeds. + Note caused by indent-line-to deleting tabls pre 24.5. + (verilog-auto-output, verilog-auto-input, verilog-auto-inout) + (verilog-auto-inout-module, verilog-auto-inout-in): Doc fixes. + (verilog-read-always-signals, verilog-auto-sense-sigs) + (verilog-auto-reset): Fix AUTORESET with always_comb and always_latch, + bug844. Reported by Greg Hilton. + +2014-12-09 Alex Reed (tiny change) + + * progmodes/verilog-mode.el (verilog-no-indent-begin-re): + Fix `verilog-indent-begin-after-if' nil not honoring 'forever', + 'foreach', and 'do' keywords. + (verilog-endcomment-reason-re, verilog-beg-of-statement): + Fix labeling do-while blocks, bug842. + (verilog-backward-token): Fix indenting sensitivity lists with + named events, bug840. + +2014-12-09 Reto Zimmermann + + Sync with upstream vhdl mode v3.36.1. + * progmodes/vhdl-mode.el (vhdl-version, vhdl-time-stamp): Update. + (vhdl-compiler-alist): Anchor all error regexps. + (vhdl-compile-use-local-error-regexp): Change default to nil. + (vhdl-asort, vhdl-anot-head-p): Remove. + (vhdl-aput, vhdl-adelete, vhdl-aget): Simplify. + Remove optional argument of vhdl-aget and update all callers. + (vhdl-import-project): Also set `vhdl-compiler'. + +2014-12-09 Lars Magne Ingebrigtsen + + * files.el (find-files): New function. + + * net/shr.el (shr-dom-print): Don't print comments. + (shr-tag-svg): Give inline SVG images the right type. + + * net/eww.el (eww-update-header-line-format): Mark valid/invalid + certificates in the header line. + (eww-invalid-certificate, eww-valid-certificate): New faces. + +2014-12-09 Fabián Ezequiel Gallina + + * progmodes/python.el (inferior-python-mode): + Set `comint-prompt-read-only` to `t` only locally. + +2014-12-08 Lars Magne Ingebrigtsen + + * net/nsm.el (nsm-check-protocol): Test for RC4 on `high'. + (nsm-format-certificate): Include more data about the connection. + (nsm-query): Fill the text to that it looks nicer. + (nsm-check-protocol): Also warn if using SSL3 or older. + +2014-12-08 Stefan Monnier + + * progmodes/gud.el (gud-gdb-completions): Remove unused var `start'. + + * obsolete/gulp.el (gulp-create-m-p-alist): Remove unused var `mnt-tm'. + + * net/tramp.el (tramp-handle-make-symbolic-link): Mark unused arg. + + * info.el (Info-mode-map): Remove left-over binding. + + * emacs-lisp/avl-tree.el: Use lexical-binding and cl-lib. + (avl-tree--root): Remove redundant defsetf. + +2014-12-08 Lars Magne Ingebrigtsen + + * net/nsm.el (network-security-level): Remove the detailed + description, which was already outdated, and refer the users to + the manual. + (nsm-check-protocol): Check for weak Diffie-Hellman prime bits + (bug#19153). + +2014-12-06 Andrey Kotlarski + + * net/eww.el (eww-buffers-mode): New major mode. + (eww-list-buffers, eww-buffer-select, eww-buffer-show-next) + (eww-buffer-show-previous, eww-buffer-kill, eww-buffer-show): + New commands/functions (bug#19131). + +2014-12-08 Lars Magne Ingebrigtsen + + * net/gnutls.el (gnutls-negotiate): Ignore files found via + 'file-name-handler-alist' since the gnutls library can't use those + (bug#15866). + +2014-12-08 Dmitry Gutov + + * vc/vc-hg.el (vc-hg-dir-status-files): Only include ignores files + when FILES is non-nil (bug#19304). + +2014-12-08 Eric S. Raymond + + * vc/vc-arch.el: Move to obsolete directory so a test framework + won't trip over bit-rot in it. There has been no Arch snapshot + for nine years. + +2014-12-07 Lars Magne Ingebrigtsen + + * net/eww.el (eww-follow-link): Revert prefix behaviour to + previous behavior. + (eww-copy-page-url): Add doc string. + +2014-12-07 Ivan Shmakov + + * net/eww.el (eww): Move history recording here... + (eww-browse-url): ... from here (bug#19253). + + * net/eww.el (eww-browse-url): Use generate-new-buffer (was: + iterating over possible buffer names.) + +2014-12-07 Lars Magne Ingebrigtsen + + * net/eww.el (eww-reload): Take a prefix to work locally (bug#19086). + (eww-current-buffer): Compilation fix for bug#18550 patch. + +2014-12-07 Ivan Shmakov + + * net/eww.el (eww-list-histories): Restore the history in the + correct buffer (bug#18550). + +2014-12-07 Lars Magne Ingebrigtsen + + * net/eww.el (eww-bookmark-prepare): Display URLs in first by + displaying shortened titles first (bug#16398). + +2014-12-07 Tom Willemse (tiny change) + + * progmodes/python.el: Recognize docstrings. + (python-docstring-at-p, python-font-lock-syntactic-face-function): + New functions. + (python-mode): Use them. + +2014-12-06 Ulf Jasper + + * net/newst-treeview.el (newsticker--treeview-list-add-item) + (newsticker--treeview-propertize-tag): Bind tree menu to mouse-3. + (newsticker--treeview-create-groups-menu) + (newsticker--treeview-create-tree-menu): Remove. + (newsticker--treeview-tree-open-menu): New. + (newsticker-treeview-tree-click): Pass event to + `newsticker-treeview-tree-do-click'. + (newsticker-treeview-tree-do-click): Open treemenu on mouse-3. + +2014-12-05 Juri Linkov + + * comint.el (comint-history-isearch-search) + (comint-history-isearch-wrap): Use field-beginning instead of + comint-line-beginning-position. + (comint-send-input): Go to the end of the field instead of the end + of the line to accept whole multi-line input. + http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html + +2014-12-05 Juri Linkov + + * minibuffer.el (minibuffer-completion-help): + Compare selected-window with minibuffer-window to check whether + completions should be displayed near the minibuffer. (Bug#17809) + http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00311.html + +2014-12-05 Michael Albinus + + * vc/vc-mtn.el (vc-mtn-root): + * vc/vc-svn.el (vc-svn-registered): Make FILE absolute. + +2014-12-05 Stefan Monnier + + * progmodes/sh-script.el (sh-smie-sh-rules): Go back to the beginning + of the whole pipe when indenting an opening keyword after a |. + Generalize this treatment to opening keywords like "while" (bug#18031). + +2014-12-05 Stefan Monnier + + * simple.el (newline): Place the hook buffer-locally, + to make sure it's first. + + * progmodes/prog-mode.el (prettify-symbols--compose-symbol): + Fix handling of symbols with different syntax at beginning/end or with + symbol rather than word syntax. + +2014-12-05 Eli Zaretskii + + * simple.el (line-move): If noninteractive, call line-move-1, not + forward-line, since the former is compatible with line-move-visual + both in terms of the column to which it moves and the return + value. (Bug#19211) + +2014-12-05 Stefan Monnier + + * vc/ediff-init.el (ediff-odd-p): Remove. + (ediff-background-face): Use cl-oddp instead. + (ediff-buffer-live-p): Make it a defsubst. + + * tooltip.el (tooltip-region-active-p): Remove. + + * net/shr.el (shr-char-breakable-p, shr-char-kinsoku-bol-p) + (shr-char-kinsoku-eol-p, shr-char-nospace-p): Use define-inline. + + * fringe.el (fringe-bitmap-p): Make it a plain function. + + * emacs-lisp/eieio-core.el: Prefer inlinable functions over macros. + (class-p, generic-p, eieio-object-p, class-abstract-p): + Make them defsubst, so as to avoid corner case problems where + the arg might be evaluated in the condition-case, or it can't be passed + to higher-order functions like `cl-some'. + +2014-12-05 Nicolas Richard + + * wid-edit.el (widget-choose): Let numeric keypad work (bug#19268) + and remove old menu-related code. + +2014-12-05 Lars Magne Ingebrigtsen + + * net/eww.el (eww-display-pdf): Let mailcap determine how to + display PDF files (bug#19270). + +2014-12-05 Juri Linkov + + Compare with the most recent window by default. + * vc/compare-w.el (compare-windows-get-window-function): New defcustom. + (compare-windows-get-recent-window) + (compare-windows-get-next-window): New functions. + (compare-windows, compare-windows-sync-default-function): + Use `compare-windows-get-window-function' instead of `next-window'. + (compare-windows): Add diff/match messages with region boundaries. + (Bug#19170) + +2014-12-04 Stefan Monnier + + * subr.el (filter): Remove. Use `cl-remove-if-not' or `seq-filter'. + +2014-12-04 Lars Magne Ingebrigtsen + + * net/shr.el (shr--extract-best-source): Ignore non-text children. + +2014-12-04 Eli Zaretskii + + Implement copying of a buffer portion while preserving visual order. + * simple.el (bidi-directional-controls-chars) + (bidi-directional-non-controls-chars): New variables. + (squeeze-bidi-context-1, squeeze-bidi-context) + (line-substring-with-bidi-context) + (buffer-substring-with-bidi-context): New functions. + + * files.el (file-tree-walk): Doc fix. + +2014-12-04 Rupert Swarbrick (tiny change) + Rüdiger Sonderfeld + + * autoinsert.el (auto-insert-alist): Update C/C++ header and + program support to match more extensions. Replace non-alnum + characters when generating include guards (headers) and check for + more extensions when generating includes (programs) + (bug#19254). + +2014-12-03 Eric S. Raymond + + * files.el (file-tree-walk): Fix docstring. + +2014-12-03 Karl Fogel + + Fix bug whereby saving files hung in VC hook. + + Saving a buffer visiting a file under SVN control would hang if + the remote repository were unreachable, because the VC hooks tried + to run "svn status -u" on the file, where the "-u" tells svn to + get update information from the remote repository. + http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00174.html + + * vc/vc-svn.el (vc-svn-state): Remove optional `localp' + argument and always pass "-v" to "svn status", never "-u". + +2014-12-03 Stefan Monnier + + * emacs-lisp/inline.el: Fix up copyright header. + (inline-quote, inline-const-p, inline-const-val, inline-error): + Silence compiler warnings. + (inline-letevals): Fix edebug spec. + (inline--testconst-p): Consider lambda expressions as const-p. + (inline--getconst-val): Use inline--testconst-p. + + * minibuffer.el (completion-table-dynamic): Add arg `switch-buffer' + and change default to stay in the minibuffer when called from + the minibuffer (bug#19250). + (lazy-completion-table): Use this new argument to preserve the + old behavior. + + * progmodes/elisp-mode.el (elisp--local-variables): Don't burp on + incorrect lexical elements (bug#19250). + +2014-12-03 A. N. Other + + * files.el (file-tree-walk): Lisp translation of ANSI ftw(3). + +2014-12-02 Glenn Morris + + * whitespace.el (whitespace-big-indent-regexp): Add :version. + +2014-12-02 Eric S. Raymond + + * subr.el (filter): New macro. Because it's just silly for a Lisp + not to have this in 2014. And VC needs it. + + * vc.el: All backends: API simplification: Abolish dir-status. + It's replaced by dir-status-files. + + * vc.el: All backends: API simplification: Remove 4th + 'default-state' argument from vc-dir-status files and its backend + methods - no backend method ever set it. It was used only in the + fallback method to to set a default of 'up-to-date, though a + convoluted call chain obscured this. + + * vc-hooks.el: Bind vc-delete-file to Ctrl-x v delete. + + * vc.el (vc-expand-dirs): Now takes a second BACKEND argument, + improving behavior on directories using multiple file-oriented VCSes. + + * vc/vc.el: All backends: API simplification; clear-headers + is no longer a public method. It is now local to the one place + it's used, in the RCS steal-lock method. + +2014-12-01 Eric S. Raymond + + * vc/vc.el: In all backends: API simplification; could-register + is no longer a public method. (vc-cvs.el still has a private + implementation.) + + * vc/vc.el: In all backends: API cleanup; the backend diff method + takes an explicit async flag. This eliminates a particularly ugly + global. + + * vc-bzr.el: Restore vc-bzr-state-heuristic as a private method. + VC randomly/unpredictably fails without it; cause not yet established. + +2014-12-01 Stefan Monnier + + Merge some of the differences from the standalone CC-mode. + The main change is to only use the `category' text-property only when + available. For that many calls are changed to use c-get-char-property, + c-next-single-property-change, c-sc-scan-lists, + c-sc-parse-partial-sexp, c-unmark-<->-as-paren. + + * progmodes/cc-mode.el (c-just-done-before-change): New var. + (c-basic-common-init): Initialize it. + (c-common-init): Only use mode-require-final-newline when available. + (c-before-change): Check and set c-just-done-before-change. + (c-after-change): Re-set c-just-done-before-change. + (c-advise-fl-for-region): New macro. + (lazy-lock-defer-rest-after-change, lazy-lock-defer-line-after-change) + (font-lock-after-change-function, jit-lock-after-change): + Advise if needed. + + * progmodes/cc-langs.el (c-modified-constant): New lang var. + (c-known-type-key): Don't make a list just to throw it away. + + * progmodes/cc-engine.el (c-invalidate-state-cache, c-parse-state): + Handle the case where categories are not available. + (c-record-parse-state-state, c-replay-parse-state-state): + Handle marker values. + (c-before-change-check-<>-operators): Look for the `syntax-table' + property rather than for the corresponding `category'. + (c-looking-at-decl-block): Remove unused var + `c-disallow-comma-in-<>-arglists'. + (c-forward-<>-arglist-recur): Remove unused var + `orig-record-found-types'. + + * progmodes/cc-defs.el (c-version): Bump up to 5.33. + (c-use-category): New const. + (c-next-single-property-change): New macro. + (c-region-is-active-p): Prefer region-active-p when available. + (c-search-backward-char-property): Fix old min/max typo; probably + a copy/paste error. + (c-mark-<-as-paren, c-mark->-as-paren, c-unmark-<->-as-paren): + Turn them into macros that obey c-use-category. + (c-sc-scan-lists-no-category+1+1, c-sc-scan-lists-no-category+1-1) + (c-sc-scan-lists-no-category-1+1, c-sc-scan-lists-no-category-1-1) + (c-sc-scan-lists, c-sc-parse-partial-sexp) + (c-looking-at-non-alphnumspace): New macros. + (c-sc-parse-partial-sexp-no-category): New function. + (c-emacs-features): Add `category-properties' element. + + * progmodes/cc-cmds.el (c-forward-into-nomenclature) + (c-backward-into-nomenclature): Use cc-subword if subword-mode is + not available. + (c-beginning-of-defun, c-end-of-defun, c-mark-function) + (c-indent-line-or-region): Use c-region-is-active-p. + + * progmodes/cc-bytecomp.el (cc-bytecomp-unbound-variables) + (cc-bytecomp-original-functions, cc-bytecomp-original-properties) + (cc-bytecomp-loaded-files): Re-set each time the file is loaded. + (cc-bytecomp-obsolete-var, cc-bytecomp-ignore-obsolete) + (cc-bytecomp-obsolete-fun): Delete unused functions. + + * progmodes/cc-align.el (c-lineup-respect-col-0): New function. + +2014-12-01 Lars Magne Ingebrigtsen + + * net/shr.el (shr-dom-print): Fix up `shr-dom-print' after the + dom.el changes. + +2014-12-01 Stefan Monnier + + * vc/vc.el (vc-find-conflicted-file): Look for conflicted files in the + current "project" rather than just the current directory. + * vc/vc-git.el (vc-git-conflicted-files): Clarify in which directory + the file names make sense. + + * vc/smerge-mode.el (smerge-swap): New command. + + * vc/diff-mode.el (diff-kill-applied-hunks): New command. + +2014-12-01 Ulf Jasper + + * net/newst-treeview.el (newsticker--treeview-item-show): + Check window liveliness before measuring its width. + + * net/newst-backend.el (newsticker--get-news-by-url-callback): + Pass correct status to `newsticker--sentinel-work'. + (newsticker--sentinel-work): Use "newsticker--download-error" as + guid in order to prevent multiple "Could not download..." + messages. Fixes bug#19166. + +2014-12-01 Ivan Shmakov + + * net/eww.el (eww-render): Call `eww-after-render-hook' in the + correct buffer (bug#19225). + +2014-12-01 Lars Magne Ingebrigtsen + + * net/nsm.el (network-security-level): Change the default to `medium'. + + * net/eww.el (eww): Leave point in a place that doesn't cause + scrolling when displaying "Loading...". + +2014-12-01 Eric S. Raymond + + * vc/vc.el, vc/vc-cvs.el, vc/vc-rcs.el, vc/vc-svn.el: The 'merge' + backend method of RCS/CVS/SVN is now 'merge-file', to contrast with + 'merge-branch'. Prompting for merge revisions is pushed down to + the back ends; this fixes a layering violation that caused bad + behavior with SVN. + + * vc/vc.el, vc-hooks.el: All backends: API simplification; + vc-stay-local-p and repository-hostname are no longer public + methods. Only the CVS and SVN backends used these, and the SVN + support was conditioned out because svn status -v is too slow. + The CVS back end retains this machinery and the vc-stay-local + configuration variable now only affects it. + +2014-12-01 Stefan Monnier + + * emacs-lisp/inline.el: New file. + +2014-12-01 Eric S. Raymond + + * vc/vc.el, vc-hooks.el: All backends: API simplification; + vc-state-heuristic is no longer a public method, having been + removed where it is redundant, unnecessary, or known buggy. + This eliminated all backends except CVS. Eliminates bug#7850. + + * vc/vc-cvs.el, vc/vc-hooks.el, vc/vc-rcs.el, vc/vc-sccs.el: + Eliminate vc-mistrust-permissions. It was only relevant to the + RCS and SCCS back ends and defaulted to t. Code now always + mistrusts permissions - by actual measurement the effect on + performance is negligible. As a side effect bug#11490 is now + irrelevant. + + * vc/vc.el, vc-hooks.el: All backends: API simplification; + vc-workfile-unchanged-p is no longer a public method (but the RCS + and SCCS back ends retain it as a private method used in state + computation). This method was redundant with vc-state and usually + implemented as a trivial call to same. Fixes the failure mode + described in bug#694. + + * vc/vc.el: All backends: API simplification; init-revision is + gone, and vc-registered functions no longer take an + initial-revision argument. + +2014-11-29 Glenn Morris + + * vc/vc-src.el (vc-src, vc-src-diff-switches) + (vc-src-master-templates): Fix :version tags. + +2014-11-29 Paul Rankin (tiny change) + + * outline.el (outline-move-subtree-down): Refactor and improve code. + +2014-11-29 Stephen Berman + Stefan Monnier + + * outline.el (outline-move-subtree-down): Make sure we can move + forward to find the end of the subtree and the insertion point + (bug#19102). + +2014-11-29 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-completion-setup-code): + Use __builtin__ module (or builtins in Python 3) and catch all errors + when importing readline and rlcompleter. + +2014-11-29 Stephen Berman + + * calendar/todo-mode.el: Handle calling revert-buffer (bug#19187). + (todo-revert-buffer): New function. + (todo-modes-set-1): Use it as the buffer-local value of + revert-buffer-function. + +2014-11-29 Stephen Berman + + * calendar/todo-mode.el (todo-mode): If called interactively, just + display a message saying to call todo-show to enter Todo mode + (Bug#19112). + +2014-11-29 Dmitry Gutov + + * vc/vc-hg.el (vc-hg-dir-status-files): Include ignored files. + (Bug#18579) + + * vc/vc-bzr.el (vc-bzr-after-dir-status): Don't skip ignored + files. (Bug#18579) + +2014-11-29 Michael Albinus + + * textmodes/makeinfo.el (makeinfo-buffer): Make it work also for + remote `buffer-file-name'. + +2014-11-29 Leo Liu + + * calendar/diary-lib.el (calendar-mark-1): Fix thinko. + +2014-11-29 Fabián Ezequiel Gallina + + Set PYTHONUNBUFFERED on shell startup. + + * progmodes/python.el (python-shell-unbuffered): New var. + (python-shell-calculate-process-environment): Use it. + +2014-11-29 Michael Albinus + + * net/tramp.el (tramp-action-password): Clean password on subsequent + attempts even if there was no wrong password indication. (Bug#19047) + + * net/tramp-sh.el (tramp-get-remote-locale): Return "LC_ALL=C" as + fallback. + (tramp-open-connection-setup-interactive-shell): No need to check + for nil as `tramp-get-remote-locale' return value. + +2014-11-29 Eli Zaretskii + + * vc/vc-git.el (vc-git-command, vc-git--call): + Bind coding-system-for-read and coding-system-for-write to + vc-git-commits-coding-system. + (vc-git-previous-revision): Use "~1" instead of "^", since the + latter is a special character for MS-Windows system shells. + +2014-11-29 Michael Albinus + + Improve XEmacs compatibility. + + * net/tramp.el (tramp-autoload-file-name-handler): + Wrap `temporary-file-directory' by `symbol-value', it doesn't + exist in XEmacs. + (tramp-read-passwd): Don't use `with-timeout-suspend' and + `with-timeout-unsuspend' if they don't exist, like in XEmacs. + (tramp-time-less-p, tramp-time-subtract): Remove functions. + (tramp-handle-file-newer-than-file-p, tramp-time-diff): + * net/tramp-adb.el (tramp-adb-ls-output-time-less-p): + * net/tramp-cache.el (tramp-get-file-property): + * net/tramp-smb.el (tramp-smb-handle-insert-directory): + Use `time-less-p' and `time-subtract, respectively. + + * net/tramp-adb.el (top): Do not require time-date.el. + + * net/tramp-compat.el (top): Require time-date.el for XEmacs. + + * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): + Check, whether `utf-8' is a valid coding system. + +2014-11-29 Eli Zaretskii + + * vc/vc.el (vc-retrieve-tag): Doc fix. + +2014-11-28 Stefan Monnier + + * simple.el (execute-extended-command--shorter): Fix the "M-p" case + (bug#19152). + +2014-11-28 Martin Rudalics + + Fix two issues around help-window-select. (Bug#11039) (Bug#19012) + * help.el (help-window-old-frame): New variable. + (help-window-select): Default to nil (Bug#11039). + Rewrite doc-string. + (help-window-setup): When the help window appears on another + frame and `help-window-select' is non-nil, give that frame input + focus too (Bug#19012). + (with-help-window): Store selected frame in + help-window-old-frame. + +2014-11-28 Ulf Jasper + + * net/newst-treeview.el (newsticker--treeview-load): Take care of + nil value for `newsticker-groups-filename'. + +2014-11-28 Daiki Ueno + + * epa.el (epa-sign-file, epa-encrypt-file, epa-decrypt-region) + (epa-sign-region, epa-encrypt-region): + Use `epg-context-set-{passphrase,progress}-callback', instead of + `setf'. This partially reverts commit 9e48a95c (bug#19150). + Reported by José A. Romero L. + +2014-11-27 Lars Magne Ingebrigtsen + + * net/eww.el (eww-restore-history): + Bind `inhibit-modification-hooks' instead of `after-change-functions'. + +2014-11-27 Ulf Jasper + + * net/newst-backend.el (newsticker--parse-atom-1.0): + Handle embedded (x)html in summary node. + +2014-11-27 Sam Steingold + + * menu-bar.el (menu-bar-open): When everything else fails, + use (mouse-menu-bar-map). + +2014-11-27 Ulf Jasper + + * net/newst-treeview.el (newsticker-groups-filename): + Change default value to nil. Point out that variable is obsolete in doc + string. + (newsticker--treeview-load): Change wording of the questions the + user is asked when `newsticker-groups-filename' is found to be + used and we offer to read and remove the groups file. (Bug#19165) + +2014-11-27 Lars Magne Ingebrigtsen + + * net/eww.el (eww): Record the new URL immediately, so that if the + HTTP fetch fails, we have the right URL in the buffer. + (eww-process-text-input): Don't shorten the input field if + deleting at the last character (bug#19085). + (eww-restore-history): Inhibit change functions while restoring + the history. + (eww-process-text-input): Fix deletion at the start of the field, too. + (eww-mode): Revert mistanken removal of `buffer-disable-undo'. + (eww-process-text-input): Try to keep track of the size more reliably. + + * dom.el (dom-pp): New function. + +2014-11-27 Eli Zaretskii + + * vc/vc-bzr.el (vc-bzr-print-log, vc-bzr-expanded-log-entry): + Don't assume --long is the default for "bzr log", always specify + it explicitly, in case the user defined an alias for 'log' that + uses some other format. + +2014-11-27 Fabián Ezequiel Gallina + + * progmodes/python.el (python-eldoc--get-doc-at-point): + Strip shell output before returning. (bug#18794) + +2014-11-27 Dmitry Gutov + + Fix indentation before `!=' and after `+='. Originally reported + in https://github.com/mooz/js2-mode/issues/174. + * progmodes/js.el (js--indent-operator-re): Make assignments and + (in)equality operator a separate case. + (js--continued-expression-p): Escape the second `+' in the regexp. + +2014-11-27 Stefan Monnier + + * window.el (handle-select-window): Deactivate shift-region (bug#19003). + +2014-11-26 Lars Magne Ingebrigtsen + + * net/nsm.el (nsm-new-fingerprint-ok-p): Display the certificate + when querying about new certificates. + + * net/shr.el (shr-make-table-1): dom.el changes for table rendering. + + * dom.el (dom-by-tag): Use `equal' for comparisons so that tags + can be strings. + (dom-elements): Protect against non-text nodes. + (dom-non-text-children): New function. + + * net/eww.el (eww-tag-title): Use `dom-text'. + +2014-11-26 Sam Steingold + + * textmodes/sgml-mode.el (sgml-validate-command): Pass -utf8 to tidy. + +2014-11-26 Lars Magne Ingebrigtsen + + * net/eww.el (eww-highest-readability): More dom.el fixes. + +2014-11-26 Ulf Jasper + + * net/newst-backend.el (newsticker--parse-generic-items): + Take care of UIDs when adding elements to cache. + +2014-11-26 Alan Mackenzie + + Remove spurious reference to symbol category_properties. + * progmodes/cc-engine.el (c-state-pp-to-literal): Fix here. + +2014-11-26 Lars Magne Ingebrigtsen + + * net/eww.el: Use the new dom.el accessors throughout. + + * net/shr.el: Ditto. + + * dom.el: New file. + +2014-11-26 Glenn Morris + + * arc-mode.el (archive-visit-single-files): Add :version. + +2014-11-25 Lars Magne Ingebrigtsen + + * net/nsm.el (nsm-format-certificate): Don't bug out on missing + elements. + (nsm-warnings-ok-p): The new version of this function always + returned nil when everything was OK. + +2014-11-25 Teodor Zlatanov + + * net/gnutls.el (gnutls): Set :group to 'comm so it's near NSM. + + * net/nsm.el (nsm-check-tls-connection, nsm-save-host) + (nsm-warnings-ok-p): Use `gnutls-peer-status-warning-describe'. + +2014-11-20 Nicolas Richard + + * emacs-lisp/byte-run.el (function-put): Match argument names to + docstring. + +2014-11-24 Sam Steingold + + * vc/vc-hooks.el (vc-directory-exclusion-list): + Fix a trivial typo (bug#19171). + +2014-11-24 Stefan Monnier + + * vc/vc-hooks.el (vc-state-base-face): Don't override + mode-line-inactive. + +2014-11-24 Lars Magne Ingebrigtsen + + * net/eww.el (eww-set-character-encoding): Use `read-coding-system'. + (eww-process-text-input): Inhibit read only so that input fields + don't get shortened (bug#19085). + +2014-11-24 Leo Liu + + * emacs-lisp/macroexp.el (macroexp-let2*): New macro. + + * window.el (with-temp-buffer-window) + (with-current-buffer-window, with-displayed-buffer-window): + * emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin): + * emacs-lisp/cl-lib.el (substring): + * emacs-lisp/cl-extra.el (cl-getf): Use it. + +2014-11-24 Eli Zaretskii + + * isearch.el (isearch-update): Don't assume + pos-visible-in-window-p will return nil when point is hscrolled + out of view. (Bug#19157) + +2014-11-20 Andrey Kotlarski + + * net/eww.el (eww-browse-url): Optionally create new eww buffer. + (eww-follow-link): Follow in new buffer in case of prefix + argument, open externally with double prefix (bug#19130). + +2014-11-23 Lars Magne Ingebrigtsen + + * net/eww.el (eww-display-html): Decode the document-defined charset. + (eww): Pop to the *eww* buffer immediately after executing the + `M-x eww' command to avoid having buffers pop up later. + (eww-display-html): Don't pop the *eww* buffer. + (eww-display-raw): Ditto. + (eww-display-image): Ditto. + (eww-follow-link): Make going to #targets in the page work again. + +2014-11-23 Ivan Shmakov + + * net/eww.el (eww-suggest-uris): New variable. + (eww-suggested-uris): New function. + (eww): Default to URL under point. + (eww-links-at-point): New function. + +2014-11-20 Mark Oteiza (tiny change) + + * net/eww.el (eww-add-bookmark): Fix bookmark titles. + +2014-11-17 Mark Oteiza (tiny change) + + * net/eww.el (eww-mode-map): Bind backtab to shr-previous-link. + +2014-11-23 Kenjiro Nakayama + + * net/eww.el (eww-set-character-encoding): New command and keystroke. + (eww-display-raw): Use it (bug#16225). + +2014-11-23 Lars Magne Ingebrigtsen + + * net/nsm.el (network-security-level): Rename from + `nsm-security-level' and documented. + + * mail/smtpmail.el (smtpmail-via-smtp): Warn unless encrypted and + we're sending a password. + + * net/nsm.el: New file that implements a Network Security Manager. + + * net/network-stream.el (open-network-stream): Add a new + :warn-unless-encrypted parameter. + (network-stream-open-plain): Allow warning unless encrypted. + (network-stream-open-starttls): Call the Network Security Manager. + (network-stream-open-tls): Ditto. + +2014-11-23 Leo Liu + + * calendar/cal-china.el (calendar-chinese-from-absolute-for-diary) + (calendar-chinese-to-absolute-for-diary) + (calendar-chinese-mark-date-pattern, diary-chinese-anniversary): + Handle leap months in Chinese calendar. (Bug#18953) + +2014-11-22 Alan Mackenzie + + Fix error with `mark-defun' and "protected:" in C++ Mode. + Fixes: debbugs:19134. + + * progmodes/cc-cmds.el (c-where-wrt-brace-construct): Handle a + return code of (label) from c-beginning-of-decl-1. + +2014-11-22 Ulf Jasper + + * net/newst-backend.el (newsticker--sentinel-work): + Tell `libxml-parse-xml-region' to discard comments. Fixes bug#18787. + +2014-11-22 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-start-file-process) + (tramp-sh-handle-process-file): Propagate `process-environment'. + + * vc/vc-hg.el (vc-hg-state): No special handling for remote files; + Tramp propagates environment variables now. + +2014-11-22 Eric S. Raymond + + * vc/vc-filewise.el: New file to isolate code used only by the + file-oriented back ends (SCCS/RCS/CVS/SRC) which should not + live in vc.el and certainly not in vc-hooks.el. + + * vc/vc-hooks.el, vc-rcs.el, vc-sccs.el: vc-name -> vc-master-name. + This is preparatory to isolating all the 'master' functions + used only by the file-oriented back ends. With this done first, + the substantive diffs will be easier to read. + +2014-11-21 Rüdiger Sonderfeld + + * play/morse.el (nato-alphabet): Mark URL in docstring in a way + that is recognized by `help-mode'. + +2014-11-21 Stefan Monnier + + * desktop.el (desktop-create-buffer): Use activate-mark to set + `mark-active' (bug#19058). + +2014-11-21 Eric S. Raymond + + * vc/vc-src.el (vc-src-state): Fix bug that produced spurious + nil state. + +2014-11-21 Eli Zaretskii + + * vc/vc.el (vc-deduce-fileset): Support invocation from + *vc-change-log* buffer. (Bug#19084) + +2014-11-13 Matthew Leach + + * arc-mode.el (archive-visit-single-files): New. + (archive-mode): Visit file if archive contains a single file. + (Bug#1702) + +2014-11-21 Ulrich Müller + + * vc/vc.el: Fix a typo in the commentary. + +2014-11-20 Eric S. Raymond + + * vc/vc-src.el, vc/vc.el: Added support for SRC. Needs more + testing and a real log-view mode. + + * vc/vc-bzr.el, vc/vc-cvs.el, vc/vc-dav.el, vc/vc-git.el: + * vc/vc-hg.el, vc/vc-mtn.el, vc/vc-rcs.el, vc/vc-sccs.el: + * vc/vc-svn.el, vc/vc.el: Remove editable argument from the backend + checkout methods; where it matters (which is only in SCCS and RCS) + files are always checked out editable. This may actually have + been dynamically true already - it looks like the vc-next-action + code evolved past visiting the other case. Tested with RCS. + + * vc/vc-arch.el, vc/vc-bzr.el, vc/vc-cvs.el, vc/vc-dav.el: + * vc/vc-git.el, vc/vc-hg.el, vc/vc-mtn.el, vc/vc-rcs.el: + * vc/vc-sccs.el, vc/vc-svn.el, vc/vc.el: Remove never-used rev + argument from the backend checkin methods. Only the RCS, SCCS, + and CVS back ends tried to do anything with it, and that code was + never exercised. Chiseling away the cruft of decades... + +2014-11-19 Lars Magne Ingebrigtsen + + * net/eww.el (eww-render): Remove a no-op :title setting. + +2014-11-19 Ivan Shmakov + + * net/eww.el (eww-history-limit): New variable. + (eww-save-history): Use it (bug#19105). + (eww-reload): Reload the page in the right buffer. + +2014-11-19 Lars Magne Ingebrigtsen + + * net/eww.el (eww-desktop-misc-data): Use `cl-remove-duplicates'. + +2014-11-19 Ivan Shmakov + + * net/eww.el (eww-desktop-remove-duplicates) + (eww-restore-desktop, eww-restore-reload-prompt): New variables. + (eww-mode): Set up desktop mode (bug#18010). + (eww-desktop-data-save, eww-desktop-data-1) + (eww-desktop-history-duplicate, eww-desktop-misc-data) + (eww-restore-desktop): New functions. + +2014-11-19 Eli Zaretskii + + * vc/vc.el (vc-log-internal-common): Turn on log-view-mode in the + correct buffer. (Bug#19101) + +2014-11-19 Rüdiger Sonderfeld + + * vc/vc-git.el (vc-git-diff): Use "difftool -x diff" with + `diff-switches' if `vc-git-diff-switches' is nil. (Bug#19099) + +2014-11-19 Artur Malabarba + + * ido.el (ido-bury-buffer-at-head): New command. + (ido-buffer-completion-map): Bind it to C-S-b. + +2014-11-18 Juri Linkov + + * simple.el (next-line-or-history-element): Wrap next-line + in with-no-warnings. + (previous-line-or-history-element): Wrap previous-line + in with-no-warnings. + +2014-11-18 Juri Linkov + + * progmodes/grep.el (grep-compute-defaults): + Compute grep-highlight-matches before its use. + +2014-11-18 Juri Linkov + + * replace.el (query-replace-from-to-separator): Turn defvar into + defcustom. Wrap char-displayable-p in ignore-errors because an + attempt to autoload char-displayable-p fails during pre-loading. + Move (propertize "\0" ... 'separator t) out of customizable part + to query-replace-read-from. + (query-replace-read-from): Call custom-reevaluate-setting on + query-replace-from-to-separator to reevaluate the separator + depending on the return value of char-displayable-p. + http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00466.html + +2014-11-18 Juri Linkov + + * bindings.el (minibuffer-local-map): Rebind [down] from + next-history-element to next-line-or-history-element, and [up] + from previous-history-element to previous-line-or-history-element. + + * simple.el (next-line-or-history-element) + (previous-line-or-history-element): New commands. + http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00822.html + +2014-11-18 Leo Liu + + * emacs-lisp/nadvice.el (define-advice): New macro. + * emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): + Add define-advice. + (lisp-font-lock-keywords-1): Add define-advice. + +2014-11-18 Daiki Ueno + + * epg.el (epg-context): New slot EDIT-CALLBACK. + (epg--process-filter): Call EDIT-CALLBACK when editing a key. + (epg-reset): Reset EDIT-CALLBACK of the context. + (epg-start-edit-key): New function. + (epg-edit-key): New function. + +2014-11-18 Paul Eggert + + Port new time stamp handling to Emacs 23.2. + This fix is for Gnus. Reported by Katsumi Yamaoka. + * calendar/time-date.el (time-add, time-subtract, time-less-p): + Use eval-and-compile, not eval-when-compile. + +2014-11-18 Daiki Ueno + + * epg.el (epg-context-set-passphrase-callback) + (epg-context-set-progress-callback): Check if the CALLBACK + argument is a function, instead of a cons. + +2014-11-18 Daiki Ueno + + * epa-file.el (epa-file-insert-file-contents) + (epa-file-write-region): Remove redundant check of + epa-pinentry-mode. + * epa.el (epa-sign-file, epa-encrypt-file, epa-decrypt-region) + (epa-sign-region, epa-encrypt-region): Remove redundant check of + epa-pinentry-mode. + +2014-11-18 Daiki Ueno + + * epa-file.el (epa-file-insert-file-contents): Don't show + "*Error*" buffer if input file does not exist. + Reported by Herbert J. Skuhra. + +2014-11-18 Paul Pogonyshev + Rüdiger Sonderfeld + + * progmodes/cc-langs.el: Support some of the new keywords in C++11. + An alternative version of the patch from bug#13871. + (c-operators): Add "alignof". + (c-primitive-type-kwds): Add "char16_t", "char32_t". + (c-type-modifier-kwds): Add "constexpr", "noexcept". + (c-modifier-kwds): Add "thread_local". + (c-constant-kwds): Add "nullptr". + +2014-11-17 Michal Nazarewicz + + * textmodes/tildify.el (tildify-pattern, tildify-space-string): + New variables for specifying tildify pattern and representation of + a hard space -- a no-break space by default -- respectively. + Being buffer-local they are much easier to handle than + `tildify-string-alist' and `tildify-pattern-alist' respectively + that have been used so far. They also works better with derived + modes. + (tildify-foreach-region-function): New variable specifying + a function determining portions of buffer that should be + tildified. It allows major modes to create a filtering function + more elaborate than a set of regular expressions. Initialised to + `tildify--deprecated-ignore-evironments' by default to handle now + deprecated `tildify-ignored-environments-alist' variable. + (tildify--foreach-region): A new function that takes + `tildify-foreach-region-function' into account and calls callback + for regions of the buffer that should be tildified. + (tildify-foreach-ignore-environments): A new function which can be + partially applied and used as `tildify-foreach-region-function'. + (tildify-ignored-environments-alist, tildify-pattern) + (tildify-string-alist, tildify--pick-alist-entry): Mark as obsolete. + (tildify--find-env): Rename from `tildify-find-env' and mark as + obsolete. + (tildify--deprecated-ignore-evironments): New function, + immediately marked as obsolete, used to handle deprecated + `tildify-ignored-environments-alist'. + + * textmodes/tex-mode.el (tex-common-initialization): + Set `tildify-space-string' and `tildify-foreach-region-function' + variables in all variants of TeX mode since `tildify-string-alist' + and `tildify-ignored-environments-alist' are now empty by default. + + * nxml/nxml-mode.el (nxml-mode): Ditto in `nxml-mode'. + If encoding supports it use no-break space instead of character + entity; this changes previous default which used a numeric + reference. + + * textmodes/sgml-mode.el (sgml-mode): ditto in `sgml-mode'. + If encoding does not support no-break space, use numeric reference; + this changes previous default which used named entity (“ â€) + in HTML mode. + +2014-11-17 Ulf Jasper + + * calendar/icalendar.el (icalendar-export-alarms): + New customizable variable. (Bug#5433) + (icalendar-export-region): Export alarms as specified in + `icalendar-export-alarms'. + (icalendar--create-ical-alarm, icalendar--do-create-ical-alarm): + New functions for exporting alarms. + +2014-11-17 Lars Magne Ingebrigtsen + + * bindings.el (search-map): Move `eww-search-words' to `M-s M-w'. + +2014-11-17 Paul Eggert + + Port new time stamp handling to old Emacs and to XEmacs. + This is needed for Gnus, which copies time-date.el and which + runs on older Emacs implementations. + * calendar/time-date.el (with-decoded-time-value): + Handle 'nil' and floating-point arg more compatibly with new Emacs. + (encode-time-value, with-decoded-time-value): + Obsolete only if new Emacs. + (time-add, time-subtract, time-less-p): Define if not new Emacs. + + Improve time stamp handling, and be more consistent about it. + This implements a suggestion made in: + http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00587.html + Among other things, this means timer.el no longer needs to + autoload the time-date module. + * allout-widgets.el (allout-elapsed-time-seconds): Doc fix. + * arc-mode.el (archive-ar-summarize): + * calendar/time-date.el (seconds-to-time, days-to-time, time-since): + * emacs-lisp/timer.el (timer-relative-time, timer-event-handler) + (run-at-time, with-timeout-suspend, with-timeout-unsuspend): + * net/tramp.el (tramp-time-less-p, tramp-time-subtract): + * proced.el (proced-time-lessp): + * timezone.el (timezone-time-from-absolute): + * type-break.el (type-break-schedule, type-break-time-sum): + Simplify by using new functionality. + * calendar/cal-dst.el (calendar-next-time-zone-transition): + Do not return time values in obsolete and undocumented (HI . LO) + format; use (HI LO) instead. + * calendar/time-date.el (with-decoded-time-value): + Treat 'nil' as current time. This is mostly for XEmacs. + (encode-time-value, with-decoded-time-value): Obsolete. + (time-add, time-subtract, time-less-p): Use no-op autoloads, for + XEmacs. Define only if XEmacs, as they're now C builtins in Emacs. + * ldefs-boot.el: Update to match new time-date.el + * proced.el: Do not require time-date. + +2014-11-16 Lars Magne Ingebrigtsen + + * net/eww.el (eww-mode): Make the buffer read-only. + (eww-form-text): Inhibit read-only-ness in text input fields + (bug#16476). + +2014-11-16 Stefan Monnier + + * simple.el (execute-extended-command--shorter): Cut search here. + (execute-extended-command): Instead of here. + +2014-11-16 Fabián Ezequiel Gallina + + * progmodes/python.el (python-mode): Avoid use of set-local to + keep Emacs 24.x compatibility. + +2014-11-16 Lars Magne Ingebrigtsen + + * net/shr.el (shr): Move to the new defgroup `web'. + + * net/eww.el (eww): Ditto. + + * simple.el (execute-extended-command): Don't show the help + message if the binding isn't significantly shorter than the + M-x command the user typed (bug#19013). + +2014-11-16 Ulf Jasper + + * calendar/icalendar.el (icalendar--convert-tz-offset): + Return complete cons when offsets of standard time and daylight saving + time are equal. + (icalendar-export-region): Fix unbound variable warning. + +2014-11-16 Fabián Ezequiel Gallina + + * progmodes/python.el (run-python): Allow CMD to be optional and + default it to a safe command, even for Windows. (bug#18596) + +2014-11-16 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-calculate-command): + Rename from python-shell-parse-command. Cleanup. + (run-python, run-python-internal): Use it. + (python-shell-calculate-pythonpath): Rename from + python-new-pythonpath. + (python-shell-calculate-process-environment): Use it. + (python-shell-calculate-exec-path): Add comment. + +2014-11-16 Thierry Banel (tiny change) + + * calc/calc-arith.el (math-max-list, math-min-list): Fix bug + for date handling. + +2014-11-16 Andreas Schwab + + * version.el (emacs-repository-get-version): Use git rev-parse + instead of git log. + +2014-11-16 Fabián Ezequiel Gallina + + * progmodes/python.el (python-indent-calculate-levels): + Fix indentation behavior multiline dedenter statement. (Bug#18432) + +2014-11-16 Fabián Ezequiel Gallina + + * progmodes/python.el (python-indent-region): + Use python-indent-line and skip special cases. (Bug#18843) + +2014-11-16 Peder O. Klingenberg + + * mail/emacsbug.el (report-emacs-bug): Make a better guess at + envelope-from when reporting through sendmail (bug#19054). + +2014-11-16 Oscar Fuentes + + Add faces for the VC modeline state indicator. + * vc/vc-hooks.el: + (vc-state-faces, vc-state-base-face) + (vc-up-to-date-state, vc-needs-update-state) + (vc-locked-state, vc-locally-added-state) + (vc-conflict-state, vc-removed-state) + (vc-missing-state, vc-edited-state): + New faces. + (vc-default-mode-line-string): Use them + +2014-11-16 Stefan Monnier + + * emacs-lisp/backquote.el (backquote-process): Optimize away ",'". + +2014-11-15 Lars Magne Ingebrigtsen + + * net/eww.el (eww-search-words): Mention `eww-search-prefix'. + +2014-11-15 Fabián Ezequiel Gallina + + * progmodes/python.el (python-eldoc-setup-code): Enhance string + type checks, simplify printing. (Bug#18962) + +2014-11-14 Ivan Andrus + + * progmodes/python.el (python-shell-font-lock-kill-buffer): + (python-shell-font-lock-with-font-lock-buffer) + (python-shell-get-buffer, python-ffap-module-path): + Use `derived-mode-p' instead of equality test on `major-mode'. + +2014-11-14 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-virtualenv-root): Rename from + python-shell-virtualenv-path. + (python-shell-internal-get-process-name) + (python-shell-calculate-process-environment) + (python-shell-calculate-exec-path): Use it. + +2014-11-14 Eli Zaretskii + + * bindings.el (search-map): Fix last change: don't use 'kbd' in + bindings.el, since it is not yet loaded when bindings.el is + preloaded. + +2014-11-14 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-completion-get-completions): + Fix previous merge. + +2014-11-14 Lars Magne Ingebrigtsen + + * net/eww.el (eww-render): Don't set the title to the URL. + +2014-11-13 Ulrich Müller + + * version.el (emacs-repository-get-version): Call `git log' + command with proper format argument (bug#19049). + +2014-11-14 Lars Magne Ingebrigtsen + + * bindings.el (search-map): Bind M-s M-s to `eww-search-words'. + +2014-11-14 Kenjiro NAKAYAMA + + * net/eww.el (eww-search-words): New command (bug#16258). + +2014-11-13 Lars Magne Ingebrigtsen + + * net/shr.el (shr-inhibit-images): Add a doc string. + + * net/eww.el (eww-after-render-hook): New variable. + (eww-render): Use it. + + * net/shr.el (shr-descend): Don't descend further than + `max-specpdl-size' allows (bug#16587). + (shr-depth): New variable. + (shr-warning): New variable. + +2014-11-13 Ivan Shmakov + + * net/shr.el (shr-parse-base): Handle correctly. + (shr-expand-url): Expand absolute URLs correctly (bug#17958). + +2014-11-13 Lars Magne Ingebrigtsen + + * net/eww.el (eww): Add comment to clarify. + + * net/shr.el (shr-parse-image-data): Remove blocked bits from + external SVG images. + (shr-tag-object): Display images in forms (bug#16244). + (shr-tag-table): Also insert after the tables. + +2014-11-13 Michael Albinus + + * vc/vc-hg.el (vc-hg-state): Disable pager. (Bug#18940) + +2014-11-13 Lars Magne Ingebrigtsen + + * net/eww.el (eww-form-file): Fix version number. + +2014-11-10 Lars Magne Ingebrigtsen + + * net/eww.el (eww-form-file): :type isn't a valid `defface' keyword. + +2014-11-10 Kenjiro NAKAYAMA + + * net/eww.el(eww-form-file(defface)): New defface of file upload form. + (eww-submit-file): New key map of file upload. + (eww-form-file): New file upload button and file name context. + (eww-select-file): Select file and display selected file name. + (eww-tag-input): Handle input tag of file type. + (eww-update-field): Add point offset. + (eww-submit): Add submit with multipart/form-data. + +2014-11-10 Lars Magne Ingebrigtsen + + * net/eww.el (eww-render, eww-display-html, eww-setup-buffer): + Allow taking a buffer to render data in. This allows using several + eww buffers (bug#16211). + +2014-11-10 Charles Rendleman (tiny change) + + * net/eww.el (eww-download-callback): Save only the file contents, + not the headers. + +2014-11-10 Lars Magne Ingebrigtsen + + * net/eww.el (eww-data): New plist to store all the data relevant + to a single page, used throughout the file instead of the + variables `eww-current-url', `eww-current-dom', + `eww-current-source', and `eww-current-title'. + (eww-readable): Copy over pertinent data from the parent page. + (eww-save-history): Don't let the history grow infinitely. + + * net/eww.el: Remove `eww-next-url', `eww-previous-url', + `eww-up-url', `eww-home-url', `eww-start-url' and + `eww-contents-url' and put the data into the `eww-data' plist. + This allow restoring these values after going back in the history. + +2014-11-10 Sylvain Chouleur (tiny change) + + Allow VTIMEZONE where daylight and standard time zones are equal. + See: http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00494.html + * calendar/icalendar.el (icalendar--convert-tz-offset): + Support timezone without daylight saving time. + +2014-11-10 Glenn Morris + + * startup.el (command-line): Handle nil elements in load-path. + +2014-11-10 Stefan Monnier + + * help.el (view-lossage): Include the actual commands run. + +2014-11-10 Dmitry Gutov + + * vc/vc-dir.el (vc-dir-hide-state): Also hide `ignored' items when + no state is specified. (Bug#18964) + +2014-11-09 Eric Ludlam + + * emacs-lisp/eieio-custom.el (eieio-customize-object): + Set eieio-cog (current group) to g, which is an improved form of input + group. + +2014-11-09 Juri Linkov + + * isearch.el (isearch-message-prefix): Show "Multi-file" and + "Multi-buffer" instead of "Multi". (Bug#13592) + + * misearch.el (multi-isearch-file-list): + Autoload multi-isearch-buffer-list and multi-isearch-file-list. + (multi-isearch-end): Reset multi-isearch-buffer-list and + multi-isearch-file-list to nil. + +2014-11-09 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): + Don't call byte-compile-preprocess since the result will go through + cconv. + (byte-compile-output-docform): Handle uninterned `name' correctly. + * emacs-lisp/cl-macs.el (cl-define-compiler-macro): Use interned name + to circumvent byte-compiler bug. + + * emacs-lisp/macroexp.el (macroexp--expand-all): Fix typo. + (macroexp--compiler-macro): Remove left-over debug code. + + * emacs-lisp/cl-extra.el (cl-get): Silence compiler warning. + +2014-11-08 Juri Linkov + + * simple.el (shell-command): Use buffer-name when output-buffer is + a buffer. (Bug#18096) + +2014-11-08 Juri Linkov + + * minibuffer.el (minibuffer-completion-help): Compare this-command + with completion-at-point. (Bug#17809) + +2014-11-08 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-compile-report-error): + Allow the argument to be a string. Due to the vague doc, + it was already being used this way. + +2014-11-08 Michael Albinus + + * net/tramp.el (tramp-check-cached-permissions): Include hop in + the constructed Tramp file name. (Bug#18943) + +2014-11-08 Stefan Monnier + + * emulation/cua-base.el (cua--select-keymaps): Use region-active-p + (bug#18952). + (cua-set-mark, cua--post-command-handler-1): + * emulation/cua-gmrk.el (cua-cancel-global-mark): Same. + +2014-11-08 Michael Albinus + + * files.el (file-name-non-special): Wrap the call of + `insert-file-contents' by `unwind-protect', in order to set the + buffer's file name anyway. (Bug#18891) + +2014-11-08 Alan Mackenzie + + Fix wrong bound to c-font-lock-declarators. Fixes bug #18948. + * progmodes/cc-fonts.el (c-font-lock-declarations): + Pass "(point-max)" as bound to c-font-lock-declarators, not "limit", as + the buffer is sometimes narrowed to less than "limit" (e.g., in + the presence of macros). + +2014-11-08 Michael Albinus + + * net/tramp.el (tramp-error-with-buffer): Show connection buffer + only when message appeared in minibuffer. (Bug#18891) + + * net/tramp-adb.el (tramp-adb-handle-file-attributes): + * net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes): + * net/tramp-sh.el (tramp-sh-handle-file-attributes): Return nil in + case of errors. + +2014-11-08 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): + Don't compile before eval in `eval-and-compile'. + (byte-compile-arglist-warn): Add check for defining macros after their + first use. Check call use even if the function is fboundp. + +2014-11-08 Richard Stallman + + * mail/rmail.el (rmail-epa-decrypt): Detect armor with line prefixes. + Check more carefully for mime-part specified character set. + Check for mime-part Content Transfer Encoding. + Notify if no armor found. + +2014-11-08 Martin Rudalics + + * faces.el (face-set-after-frame-default): Enable running + `window-configuration-change-hook'. + +2014-11-07 Juri Linkov + + * replace.el: History for query replace pairs. + (query-replace-defaults): Promote to a list of cons cell. Doc fix. + (query-replace-from-to-separator): New variable. + (query-replace-read-from): Let-bind query-replace-from-to-history + to a list of FROM-TO strings created from query-replace-defaults + and separated by query-replace-from-to-separator. Use it as + the history while reading from the minibuffer. Split the returned + string by the separator to get FROM and TO parts, and add them + to the history variables. + (query-replace-read-to): Add FROM-TO pairs to query-replace-defaults. + (query-replace-regexp-eval): Let-bind query-replace-defaults to nil. + http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00253.html + + * isearch.el (isearch-text-char-description): Keep characters + intact and put formatted strings with the `display' property. + +2014-11-07 Martin Rudalics + + * cus-start.el (frame-resize-pixelwise): Fix group. + (frame-inhibit-implied-resize): Add entry. + +2014-11-07 Daiki Ueno + + * epa.el (epa-pinentry-mode): New user option. + (epa-sign-file, epa-encrypt-file, epa-decrypt-region) + (epa-sign-region, epa-encrypt-region): Respect epa-pinentry-mode. + * epa-file.el (epa-file-insert-file-contents) + (epa-file-write-region): Respect epa-pinentry-mode. + +2014-11-07 Daiki Ueno + + * epg.el (epg--list-keys-1): Ignore fields after the 15th field + (bug#18979). Reported by Hideki Saito. + +2014-11-06 Daiki Ueno + + * emacs-lisp/package.el (package--display-verify-error): New function. + (package--check-signature): Use it to display output sent to stderr. + +2014-11-06 Stefan Monnier + + * subr.el (pop): Don't call the getter twice (bug#18968). + + * emacs-lisp/macroexp.el (macroexp--expand-all): Optimize away trivial + uses of `funcall'. + +2014-11-06 Daiki Ueno + + * epa.el (epa-error-buffer): New variable. + (epa-display-error): New function. + (epa-decrypt-file, epa-verify-file, epa-verify-region) + (epa-delete-keys, epa-import-keys): Display output sent to stderr. + (epa-sign-file, epa-sign-region, epa-encrypt-region) + (epa-export-keys, epa-insert-keys): Display output sent to stderr. + Use setf instead of epg-context-set-*. + * epa-file.el (epa-file-insert-file-contents): + Use epa-display-error instead of epa-display-info. Mimic the behavior + of jka-compr when decryption program is not found. + (epa-file-write-region): Use epa-display-error instead of + epa-display-info. + +2014-11-05 Stefan Monnier + + * vc/vc.el (vc-region-history): New command. + (vc-print-log-internal): Use cl-some. + + * vc/vc-git.el (vc-git-region-history): New function. + (vc-git-region-history-mode-map) + (vc-git--log-view-long-font-lock-keywords) + (vc-git-region-history-font-lock-keywords): New vars. + (vc-git-region-history-font-lock): New function. + (vc-git-region-history-mode): New major mode. + +2014-11-05 Tassilo Horn + + * net/eww.el (subr-x): Require subr-x at compile-time because eww + uses string-trim. + +2014-11-05 Daiki Ueno + + * epg.el (epg-context): Add new slot ERROR-OUTPUT. + (epg-error-output): New buffer-local variable. + (epg--start): Initialize epg-error-output. + (epg--process-filter): Record output lines sent to stderr, in + epg-error-output. + (epg-wait-for-completion): Copy epg-error-output to ERROR-OUTPUT + slot of context. + * epa-file.el (epa-file-insert-file-contents): On error, display + output sent to stderr. + (epa-file-write-region): Likewise. + +2014-11-05 Eli Zaretskii + + * jit-lock.el (jit-lock-stealth-fontify): Be tolerant to nil being + returned by load-average. + +2014-11-05 Michael Albinus + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Don't use + a local copy; setting `inhibit-file-name-handlers' proper might be + more performant. (Bug#18751) + +2014-11-05 Glenn Morris + + * mail/emacsbug.el (report-emacs-bug): No longer include + recent-keys in the report. (Bug#18900) + +2014-11-04 Paul Eggert + + * mouse.el (mouse-drag-line): Fix misspelling of "right-fringe". + +2014-11-04 Teodor Zlatanov + + * net/eww.el (eww): Trim URL with `string-trim'. + Suggested by Vibhav Pant . + +2014-11-03 Lars Magne Ingebrigtsen + + * net/eww.el (eww-score-readability): Don't count comments positively. + + * net/shr.el (shr-retransform-dom): Typo fix. + + * net/eww.el (eww-score-readability): Parse SVC images correctly. + (eww-display-html): Don't leave point inside forms. + + * net/shr.el: Ditto. + +2014-11-03 Stefan Monnier + + * emacs-lisp/edebug.el (edebug-safe-prin1-to-string): Assume that + edebug-prin1-to-string already handles circularity. + + * emacs-lisp/byte-run.el (defun-declarations-alist): Fix compiler-macro + autoloading when specified as a lambda. + + * simple.el (execute-extended-command--last-typed): New var. + (read-extended-command): Set it. + Don't complete obsolete commands. + (execute-extended-command--shorter-1) + (execute-extended-command--shorter): New functions. + (execute-extended-command): Use them to suggest shorter names. + (indicate-copied-region, deactivate-mark): Use region-active-p. + +2014-11-03 Michael Albinus + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Use a + local copy of FILENAME, when it is remote. (Bug#18751) + + * net/tramp-adb.el (tramp-adb-handle-process-file): Do not raise + an error when the command fails; the return code must indicate. + (tramp-adb-send-command-and-check): Fix docstring. + +2014-11-03 Lars Magne Ingebrigtsen + + * net/shr.el (shr-retransform-dom): Don't ignore elements that + have no children like
    . + + * net/eww.el (eww-display-html): Clear `url-queue'. + (eww-display-pdf): New function. + (eww-render): Display PDFs with `doc-view'. + (url-queue): Require `url-queue' to avoid compilation warning. + (eww-colorize-region): Remove duplicate function. + (eww-tag-body): Use `shr-colorize-region'. + +2014-11-03 Yoni Rabkin + + * net/eww.el (eww-list-bookmarks): Autoload. + +2014-11-03 Lars Magne Ingebrigtsen + + * net/shr.el (shr-retransform-dom): Allow several text sub-nodes. + + * net/eww.el (eww-display-html): The charset is called `utf-8', + not `utf8'. + (eww-readable): Decode the saved text correctly. + (eww-readable): Save the history before displaying so that we can + go back to the non-readable version. + (eww-display-html): Don't try to decode the text if we've been + passed in a pre-parsed DOM. + (eww-tag-title): Remove newlines and extra whitespace from the + displayed title. + +2014-11-02 Lars Magne Ingebrigtsen + + * net/eww.el (eww-readable): New command and keystroke. + + * net/shr.el (shr-retransform-dom): New function. + + * net/eww.el (eww-display-html): Set `eww-current-source' in the + correct buffer. + (eww-view-source): Use it. + +2014-11-02 Ivan Shmakov + + * net/eww.el (eww): Recognize colon-delimited IPv6 addresses. + (Bug#18603). + +2014-11-02 Brian McKenna (tiny change) + + * net/eww.el (eww-submit): Encode empty form values as "". (Bug#17785). + +2014-11-02 Ivan Shmakov + + * net/eww.el (eww): Allow "file:/file/name" URLs. (Bug#18825). + +2014-11-02 Ivan Shmakov + + * net/eww.el (eww-mode-map): Remove mentions of `eww-quit'. + (Bug#18834). + +2014-11-02 Eric Abrahamsen + + * emacs-lisp/eieio.el (eieio-edebug-prin1-to-string): Adjust for + use as advice. + (edebug-setup-hook): Advise `edebug-prin1-to-string'. (Bug#18897) + +2014-11-02 Stefan Monnier + + * emacs-lisp/pp.el (pp-macroexpand-expression): Use macroexpand-1 + (bug#18821). + * progmodes/elisp-mode.el (emacs-lisp-macroexpand): Idem. + +2014-11-01 Michael R. Mauger + + * sql.el (sql-mode-oracle-font-lock-keywords): Correct regexp + syntax, add new keywords, and parse longer keywords first. + (sql-redirect-one): Protect against empty command. + (sql-mode, sql-interactive-mode): Set `custom-mode-group' property + to SQL. (Bug#14759) + +2014-11-01 Michael R. Mauger + + * sql.el (sql-interactive-mode, sql-stop): Correct fix for + Bug#16814 with let-bind of comint-input-ring variables around read + and save functions. + +2014-11-01 Michael Albinus + + * net/tramp-cache.el (tramp-get-file-property) + (tramp-set-file-property): Check that `tramp-cache-get-count-*' + and `tramp-cache-set-count-*' are bound. Otherwise, there might + be compiler warnings. + + * net/tramp-sh.el (tramp-get-remote-uid, tramp-get-remote-gid): + Return -1 respective "UNKNOWN", if uid or gid cannot be determined. + +2014-11-01 Eli Zaretskii + + * progmodes/compile.el (compilation-mode): Turn off deferred + fontifications locally. (Bug#18856) + +2014-11-01 Wolfgang Jenkner + + * net/tramp-sh.el (tramp-send-command): Fix the case where the + remote-echo connection property is non-nil (bug#18858). + +2014-11-01 Stefan Monnier + + * simple.el (newline): Add assertions to try and help catch bug#18913. + + * emulation/cua-base.el (cua-delete-region): Use delete-active-region + (bug#18886). + (cua--last-deleted-region-pos, cua--last-deleted-region-text): Remove. + +2014-11-01 Kim F. Storm + + Restore cua-delete-copy-to-register-0 and M-v command (bug#18886). + * delsel.el (delete-selection-save-to-register) + (delsel--replace-text-or-position): New vars. + (delete-active-region): Use them. + (delete-selection-repeat-replace-region): New command, moved from + cua-base.el. + * emulation/cua-base.el (cua--repeat-replace-text): Remove var. + (cua-repeat-replace-region): Move command to delsel.el. + (cua--init-keymaps): Update binding accordingly. + (cua-mode): Set delete-selection-save-to-register. + +2014-11-01 Alan Mackenzie + + Make blink-parens work with a closing template delimiter. + * progmodes/cc-cmds.el (c-electric-lt-gt): Cause a redisplay + before calling blink-paren-function, so as to apply syntax-table + properties to the ">". + +2014-11-01 Jan Djärv + + * select.el (gui-get-selection): Comment: data-type ignored on NS. + +2014-10-31 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexpand-1): New function (bug#18821). + (macroexp--expand-all): Unrelated tweaks. + + * emacs-lisp/gv.el (gv-get): Use macroexpand-1. + +2014-10-30 Glenn Morris + + * startup.el (command-line): Remove pointless attempt to avoid + statting the file-system (which expand-file-name doesn't do). + +2014-10-30 Daniel Colascione + + Add "enum class" support to C++ mode. + * progmodes/cc-langs.el (c-after-brace-list-decl-kwds) + (c-after-brace-list-key): New language consts/variables. + * progmodes/cc-engine.el (c-looking-at-decl-block): + Exclude spurious match of "enum struct" from decl-block recognition. + (c-backward-colon-prefixed-type): New function. + (c-backward-over-enum-header): Call above function to extend + recognition of enum structure. + +2014-10-30 Stefan Monnier + + * progmodes/cc-defs.el (c--macroexpand-all): New function (bug#18845). + (c-lang-defconst): + * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use it. + +2014-10-30 Eli Zaretskii + + * progmodes/compile.el (compilation-start): + If compilation-scroll-output is non-nil, don't force window-start of + the compilation buffer to be at beginning of buffer. (Bug#18874) + + * startup.el (fancy-about-text): Read the entire tutorial, not + just its first 256 bytes. (Bug#18760) + +2014-10-30 Stefan Monnier + + * emacs-lisp/bytecomp.el: Require cl-extra (bug#18804). + * emacs-lisp/cl-extra.el: Add missing provide. + + * emacs-lisp/bytecomp.el (byte-compile-and-folded): Optimize case where + all args are copyable (bug#18767). + (=, <, >, <=, >=): Re-enable the optimization. + +2014-10-29 Glenn Morris + + * net/rcirc.el (rcirc-fill-column): Unbump :version. Mark :risky. + + * version.el (emacs-bzr-version, emacs-bzr-get-version): + Revert 2014-10-26 change. + +2014-10-29 Paul Eggert + + Simplify use of current-time and friends. + * allout-widgets.el (allout-widgets-hook-error-handler): + * calendar/appt.el (appt-display-message): + * calendar/icalendar.el (icalendar--convert-float-to-ical): + * calendar/timeclock.el (timeclock-in, timeclock-when-to-leave) + (timeclock-last-period, timeclock-day-base): + * eshell/em-ls.el (eshell-ls-file): + * eshell/esh-util.el (eshell-parse-ange-ls): + * generic-x.el (named-database-print-serial): + * net/newst-backend.el (newsticker--get-news-by-url-callback) + (newsticker-get-news, newsticker--sentinel-work) + (newsticker--image-get, newsticker--image-sentinel): + * net/tramp-sh.el (tramp-get-remote-touch): + * progmodes/opascal.el (opascal-debug-log): + * textmodes/remember.el (remember-mail-date) + (remember-store-in-files): + * vc/vc-annotate.el (vc-annotate-display-autoscale) + (vc-default-annotate-current-time): + * vc/vc-bzr.el (vc-bzr-shelve-snapshot): + * vc/vc-cvs.el (vc-cvs-annotate-current-time): + * vc/vc-rcs.el (vc-rcs-annotate-current-time): + Omit unnecessary call to current-time. + * calendar/time-date.el (time-to-seconds) [!float-time]: + * vc/vc-annotate.el (vc-annotate-convert-time): + Use current time if arg is nil, to be compatible with float-time. + (time-date--day-in-year): New function, with most of the guts of + the old time-to-day-in-year. + (time-to-day-in-year): Use it. + (time-to-days): Use it, to avoid decoding the same time stamp twice. + * calendar/timeclock.el (timeclock-time-to-date): + Arg is now optional, like current-time-string. + (timeclock-update-mode-line): + Don't call current-time twice to get the current time stamp, + as this can lead to inconsistent results. + * completion.el (cmpl-hours-since-origin): + * ido.el (ido-time-stamp): + * vc/vc-annotate.el (vc-annotate-convert-time): + Simplify by using float-time. + * completion.el (save-completions-to-file): + Rename local var to avoid confusion. + * net/rcirc.el (rcirc-float-time): Simplify to an alias because + time-to-seconds now behaves like float-time with respect to nil arg. + * subr.el (progress-reporter-do-update): + Don't call float-time unless needed. + +2014-10-29 Leo Liu + + * net/rcirc.el (rcirc-fill-column): Use function. + (rcirc-markup-fill): Remove adjustment. + +2014-10-28 Christopher Schmidt + + * calc/calc.el (quick-calc): + * calc/calc-aent.el (calc-do-quick-calc): New argument INSERT. + +2014-10-28 Sam Steingold + + * net/rcirc.el (rcirc-fill-column): Allow any symbolic value for + the sake of `window-body-width' (in addition to `frame-width'). + +2014-10-26 Eric S. Raymond + + * version.el: Fix some fallback values to conform to the actual + release number. + +2014-10-25 Eric S. Raymond + + * Makefile.in: Change some production names so they're neutral + about the repository type. + +2014-10-25 Michael Albinus + + * net/tramp-gvfs.el (tramp-gvfs-methods-mounttracker) + (tramp-gvfs-mountlocation-signature): Check `tramp-gvfs-enabled' + during initialization. (Bug#18774) + +2014-10-25 Vincent Belaïche + + * ses.el (macroexp): Add require for this package, so that + function `ses--cell' gets macroexp-quote --- this change was + supposed to be in my previous commit, but left out by mistake. + (ses--cell): Do not make formula a macroexp-quote of value when + value, not formula, is *skip*. + +2014-10-24 Vincent Belaïche + + * ses.el (macroexp): Add require for this package, so that function + `ses--cell gets macroexp-quote. + (ses--cell): Makes formula a macroexp-quote of value when formula + is nil. The rationale of this changr is to allow in the future + shorter SES files, e.g. we could have only `(ses-cell A1 1.0)' + instead of `(ses-cell A1 1.0 1.0 nil REFLIST)'. In such a case + reference list REFLIST would be re-computed after load --- thus + trading off load time against file size. + + * emacs-lisp/package.el (package--alist-to-plist-args): + Use macroexp-quote instead of a lambda expression which has the same + content as macroexp-quote. + (macroexp): Add require for this package, so that function + `package--alist-to-plist-args' gets macroexp-quote. + + * emacs-lisp/macroexp.el (macroexp-quote): New defun. + +2014-10-24 Stefan Monnier + + * term/ns-win.el (ns-store-cut-buffer-internal) + (ns-copy-including-secondary): Use gui-set-selection (bug#18816). + +2014-10-24 Martin Rudalics + + * mouse.el (mouse-drag-line): Don't use mouse-pixel-position. + Calculate increment from last position instead of window edge. + Add right- and bottom-divider bindings to transient map. + +2014-10-23 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl-defstruct): Define an internal predicate + even if :predicate was nil, for the benefit of typep. + Record the name of the predicate for typep's use. + (cl--make-type-test): Use pcase. Obey new + cl-deftype-satisfies property. + + * epg.el: Use cl-defstruct. + (epg-make-data-from-file, epg-make-data-from-string, epg-data-file) + (epg-data-string): Define via cl-defstruct. + (epg--gv-nreverse): New macro. + (epg-context--make): New constructor (provided vi cl-defstruct). + (epg-make-context): Rewrite using it. + (epg-context-protocol, epg-context-program) + (epg-context-home-directory, epg-context-armor, epg-context-textmode) + (epg-context-include-certs, epg-context-cipher-algorithm) + (epg-context-digest-algorithm, epg-context-compress-algorithm) + (epg-context-passphrase-callback, epg-context-progress-callback) + (epg-context-signers, epg-context-sig-notations, epg-context-process) + (epg-context-output-file, epg-context-result, epg-context-operation) + (epg-context-pinentry-mode): Define using cl-defstruct. + (epg-context-set-protocol, epg-context-set-program) + (epg-context-set-include-certs, epg-context-set-cipher-algorithm) + (epg-context-set-digest-algorithm) + (epg-context-set-sig-notations, epg-context-set-process) + (epg-context-set-output-file, epg-context-set-result) + (epg-context-set-operation, epg-context-set-pinentry-mode) + (epg-context-set-compress-algorithm): Remove. Use setf instead. + (epg-context-set-armor, epg-context-set-textmode) + (epg-context-set-signers): Redefine using setf + and declare as obsolete. + (epg-context-set-passphrase-callback) + (epg-context-set-progress-callback): Use setf. + (epg-signature-notations): Rename from epg-sig-notations. + (epg-make-signature, epg-signature-status, epg-signature-key-id) + (epg-signature-validity, epg-signature-fingerprint) + (epg-signature-creation-time, epg-signature-expiration-time) + (epg-signature-pubkey-algorithm, epg-signature-digest-algorithm) + (epg-signature-class, epg-signature-version): Define vi cl-defstruct. + (epg-signature-set-status, epg-signature-set-key-id) + (epg-signature-set-validity, epg-signature-set-fingerprint) + (epg-signature-set-creation-time, epg-signature-set-expiration-time) + (epg-signature-set-pubkey-algorithm) + (epg-signature-set-digest-algorithm, epg-signature-set-class) + (epg-signature-set-version, epg-signature-set-notations): Remove. + Use setf instead. + (epg-make-new-signature, epg-new-signature-type) + (epg-new-signature-pubkey-algorithm) + (epg-new-signature-digest-algorithm, epg-new-signature-class) + (epg-new-signature-creation-time, epg-new-signature-fingerprint): + Define using cl-defstruct. + (epg-make-key, epg-key-owner-trust, epg-key-sub-key-list) + (epg-key-user-id-list): Define using cl-defstruct. + (epg-key-set-sub-key-list, epg-key-set-user-id-list): Remove. + Use setf instead. + (epg-make-sub-key, epg-sub-key-validity, epg-sub-key-capability) + (epg-sub-key-secret-p, epg-sub-key-algorithm, epg-sub-key-length) + (epg-sub-key-id, epg-sub-key-creation-time) + (epg-sub-key-expiration-time, epg-sub-key-fingerprint): Define using + cl-defstruct. + (epg-sub-key-set-fingerprint): Remove. Use setf instead. + (epg-make-user-id, epg-user-id-validity, epg-user-id-string) + (epg-user-id-signature-list): Define using cl-defstruct. + (epg-user-id-set-signature-list): Remove. Use setf instead. + (epg-make-key-signature, epg-key-signature-validity) + (epg-key-signature-pubkey-algorithm, epg-key-signature-key-id) + (epg-key-signature-creation-time, epg-key-signature-expiration-time) + (epg-key-signature-user-id, epg-key-signature-class) + (epg-key-signature-exportable-p): Define using cl-defstruct. + (epg-make-sig-notation, epg-sig-notation-name) + (epg-sig-notation-value, epg-sig-notation-human-readable) + (epg-sig-notation-critical): Define using cl-defstruct. + (epg-sig-notation-set-value): Remove. Use setf instead. + (epg-make-import-status, epg-import-status-fingerprint) + (epg-import-status-reason, epg-import-status-new) + (epg-import-status-user-id, epg-import-status-signature) + (epg-import-status-sub-key, epg-import-status-secret): Define using + cl-defstruct. + (epg-make-import-result, epg-import-result-considered) + (epg-import-result-no-user-id, epg-import-result-imported) + (epg-import-result-imported-rsa, epg-import-result-unchanged) + (epg-import-result-new-user-ids, epg-import-result-new-sub-keys) + (epg-import-result-new-signatures, epg-import-result-new-revocations) + (epg-import-result-secret-read, epg-import-result-secret-imported) + (epg-import-result-secret-unchanged, epg-import-result-not-imported) + (epg-import-result-imports): Define using cl-defstruct. + + * emacs-lisp/package.el: Require EPG during macroexpansion. + (package--check-signature, package-import-keyring): Use setf instead of + epg-context-set-home-directory. + +2014-10-23 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile--use-old-handlers): Change default. + +2014-10-23 Leo Liu + + * progmodes/cfengine.el (cfengine3-defun-full-re): New var. + (cfengine3-create-imenu-index): Use it and use ` ' for separation. + (cfengine3-current-defun): New function. + (cfengine3-mode): Set add-log-current-defun-function. + +2014-10-23 Stefan Monnier + + * select.el: Use lexical-binding. + (gui-set-selection): Provide an implementation for non-GUI frames + (bug#18791). + * term/x-win.el: Use lexical-binding. + (x-clipboard-yank): Fix up missed renamings. + * term/w32-win.el (libgif-version, libjpeg-version): Silence compiler. + (w32--set-selection): Fix up var names. + * term/pc-win.el: Use lexical-binding. + (w16-selection-exists-p): Silence compiler warning. + (w16-selection-owner-p): Fix up missed renamings. + + * emacs-lisp/bytecomp.el (byte-compile-form): Remove left-over debug. + + * frame.el (frame-notice-user-settings): Fix excessive quoting. + +2014-10-22 Tassilo Horn + + * doc-view.el (doc-view-open-text): View the document's plain text + in the current buffer instead of a new one. + (doc-view-toggle-display): Handle the case where the current + buffer contains the plain text contents of the document. + (doc-view-initiate-display): Don't switch to fallback mode if the + user wants to view the doc's plain text. + (doc-view-set-doc-type): Use assoc-string instead of + assoc-ignore-case. + +2014-10-21 Stefan Monnier + + * subr.el (read-key): Fix clicks on the mode-line. + (set-transient-map): Return exit function. + + * mouse.el (mouse-drag-line): Use set-transient-map (bug#18015). + (mouse--down-1-maybe-follows-link): Remove unused var `this-event'. + (mouse-yank-secondary): Use gui-get-selection. + (mouse--down-1-maybe-follows-link): Use read-key. + + * xt-mouse.el: Add `event-kind' property on the fly from + xterm-mouse-translate-1 rather than statically at the outset. + +2014-10-21 Daniel Colascione + + * vc/vc-dispatcher.el (vc-resynch-window): Tell view-mode not to + change window configuration when we turn it off. + +2014-10-21 Stefan Monnier + + Get rid of backend-dependent selection-handling functions for kill/yank + and make it generic instead by relying on the lower-level selection + management functions. + + * select.el (select-enable-clipboard): Rename from + gui-select-enable-clipboard. + (select-enable-primary): Move from x-win.el and rename from + x-select-enable-primary. + (gui-last-selected-text): Remove. + (gui--last-selected-text-clipboard, gui--last-selected-text-primary): + New vars. + (gui-select-text): Rewrite, based on x-win.el's old x-select-text. + (gui-select-text-alist, gui-selection-value-alist): Remove. + (x-select-request-type): Move from x-win.el. + (gui--selection-value-internal): New function, taken from x-win's + x-selection-value-internal. + (gui-selection-value): Rewrite, based on x-win.el's old x-selection-value. + (gui-set-selection-alist): Rename from gui-own-selection-alist and + extend it to handle a nil value as a "disown" request. + (gui-disown-selection-alist): Remove. + (xselect-convert-to-delete): Adjust accordingly. + (gui-set-selection): Simplify accordingly as well. Use dotimes. + + * term/x-win.el (x-last-selected-text-primary) + (x-select-enable-primary): Remove (moved to select.el). + (x-select-request-type): Move to select.el. + (x-selection-value-internal, x--selection-value): Remove functions. + (gui-selection-value, gui-select-text): Remove moethods. + (gui-set-selection): Merge own and disown methods. + + * term/w32-win.el (w32--select-text, w32--get-selection-value): + Delete function (move functionality into w32--set-selection and + w32--get-selection). + (gui-select-text, gui-selection-value): Don't define methods. + (w32--set-selection, w32--get-selection, w32--selection-owner-p): + New functions. + (gui-get-selection, gui-selection-owner-p, gui-selection-exists-p): + Use them. + (gui-selection-exists-p): Adjust to new name of C primitive. + + * term/pc-win.el (w16-get-selection-value): Add dummy argument and drop + test of gui-select-enable-clipboard, to make it usable as + a gui-get-selection method. + (gui-selection-exists-p): Adjust to new name of C primitive. + (gui-set-selection): Merge own and disown methods. + (gui-select-text, gui-selection-value): Delete methods. + (w16--select-text): Delete function. + + * term/ns-win.el (ns-get-pasteboard, ns-set-pasteboard) + (ns-selection-value): Remove functions. + (gui-select-text, gui-selection-value): Don't define method any more. + (gui-set-selection): Merge the old own and disown methods. + (gui-selection-exists-p, gui-get-selection): Adjust to new name of + underlying C primitive. + + * startup.el (command-line): Adjust now that `gui-method' expects nil + for ttys. + + * frame.el (gui-method): Use window-system rather than framep. + (gui-method-declare): The tty case is now nil rather than t. + (make-frame): Adjust accordingly. + +2014-10-21 Stefan Monnier + + * net/newst-reader.el (newsticker--image-read): Simplify. + (newsticker--icon-read): Use dolist and fix free var error. + + * imenu.el (imenu--menubar-keymap): New var. + (imenu-add-to-menubar): Set it to remember the keymap we used. + (imenu-update-menubar): Use it instead of asking lookup-key. + + * obsolete/cc-compat.el: Make obsolete (bug#18561). + + * epg-config.el (epg-gpg-program): Don't use absolute names by default. + + * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg + case (bug#18767). + +2014-10-21 Glenn Morris + + * Merge in all changes up to version 24.4 release. + +2014-10-20 Stefan Monnier + + * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg + case (bug#18767). + +2014-10-20 Glenn Morris + + * Merge in all changes up to 24.4 release. + +2014-10-20 Ulf Jasper + + * net/newst-backend.el + (newsticker--image-download-by-url-callback): Make this function + actually work: Check status properly, then save image. + +2014-10-20 Stefan Monnier + + * mouse.el (mouse--down-1-maybe-follows-link): Remove unused var + `this-event'. + (mouse-drag-line): Unless there's no actual mouse, use the event's + position info. + +2014-10-20 Stefan Monnier + + * textmodes/css-mode.el (scss-mode): New major-mode. + (css-mode-syntax-table): Use d style comment, to ease the scss case. + (css-ident-re): Allow things like @-moz-keyframes. + (scss--hash-re): New const. + (css--font-lock-keywords): New function, extracted from + css-font-lock-keywords. + +2014-10-19 Ulf Jasper + + * net/newst-backend.el: Require url-parse. + (newsticker--get-news-by-wget): Store feed name as process property. + (newsticker--sentinel): Read feed name from process property. + (newsticker--sentinel-work): Rename argument name to feed-name. + Rename variable imageurl to image-url. Pick icon url from Atom + 1.0 data. Launch download of feed icon. + (newsticker--get-icon-url-atom-1.0): New. + (newsticker--unxml) + (newsticker--unxml-node) + (newsticker--unxml-attribute): Documentation. + (newsticker--icons-dir): New. + (newsticker--image-get): New arguments FILENAME and DIRECTORY. + Use `url-retrieve' if `newsticker-retrieval-method' is 'intern. + (newsticker--image-download-by-wget): New. Use process properties + for storing informations. + (newsticker--image-sentinel): Read informations from process properties. + (newsticker--image-save) + (newsticker--image-remove) + (newsticker--image-download-by-url) + (newsticker--image-download-by-url-callback): New. + (newsticker-opml-export): Handle url list entries containing a + function instead of an url string. + + * net/newst-reader.el (newsticker-html-renderer): Whitespace. + (newsticker--print-extra-elements) + (newsticker--do-print-extra-element): + Documentation (newsticker--image-read): Optionally limit image height. + Use imagemagick if possible. + (newsticker--icon-read): New. + + * net/newst-treeview.el (newsticker--treeview-item-show): Limit height of feed logo. + (newsticker--treeview-tree-expand): Use feed icons in treeview. + (newsticker--tree-widget-icon-create): New. Set the tree widget icon. + (newsticker--tree-widget-leaf-icon): Use feed icon. + +2014-10-19 Stefan Monnier + + * emacs-lisp/eieio-opt.el (eieio-lambda-arglist): Remove. + Use help-function-arglist instead. + + * emacs-lisp/eieio-core.el (eieio-compiled-function-arglist): Remove. + (eieio--with-scoped-class): Use `declare'. + (eieio-defclass): Remove compatibility code. + (no-method-definition, no-next-method, inconsistent-class-hierarchy) + (invalid-slot-type, unbound-slot, invalid-slot-name): Use define-error. + +2014-10-18 Jan Djärv + + * cus-start.el (x-gtk-whole-detached-tool-bar): Remove. + + * term/x-win.el (x-gtk-stock-map): Add icon names suggested as + replacements to stock names before stock names in a list. + Cdr may be a list, each name is tried in turn until one is found. + +2014-10-18 Alan Mackenzie + + Check that a "macro" found near point-min isn't a ## operator. + Fixes bug #18749. + * progmodes/cc-engine.el (c-macro-is-genuine-p): New function. + (c-beginning-of-macro): Use the above new function. + +2014-10-18 Teodor Zlatanov + + * net/gnutls.el (gnutls-negotiate): Don't use cl-mapcan; pass + correct data to `gnutls-boot' (Bug#18664). + Reported by Toke Høiland-Jørgensen . + +2014-10-18 Michal Nazarewicz + + * whitespace.el (whitespace-style, whitespace-big-indent) + (whitespace-big-indent-regexp, whitespace-style-value-list) + (whitespace-toggle-option-alist, whitespace-interactive-char) + (whitespace-toggle-options) + (global-whitespace-toggle-options, whitespace-help-text) + (whitespace-style-face-p, whitespace-color-on): Add a 'big-indent + style to `whitespace-mode' to indicate that the line indentation + is too deep. By default, 32 SPACEs or four TABs are considered + too many but `whitespace-big-indent-regexp' can be configured. + +2014-10-17 Michal Nazarewicz + + * textmodes/tildify.el (tildify--pick-alist-entry): Rename from + tildify-mode-alist. + +2014-10-17 Stefan Monnier + + * emacs-lisp/eieio.el: Use lexical-binding drop non-GV fallback. + (defclass, defgeneric, defmethod): Add doc-string position. + (with-slots): Require cl-lib. + + * emacs-lisp/eieio-core.el: Use lexical-binding and cl-lib. + (list-of): New type. + (eieio--typep): Remove. + (eieio-perform-slot-validation): Use cl-typep instead. + + * emacs-lisp/eieio-base.el: Use lexical-binding and cl-lib. + + * emacs-lisp/cl-macs.el (cl--make-type-test): Avoid ((lambda ..) ..). + +2014-10-16 Alan Mackenzie + + Trigger showing when point is in the "periphery" of a line or just + inside a paren. + * paren.el (show-paren-style, show-paren-delay) + (show-paren-priority, show-paren-ring-bell-on-mismatch): + Remove superfluous :group specifications. + (show-paren-when-point-inside-paren) + (show-paren-when-point-in-periphery): New customizable variables. + (show-paren-highlight-openparen): Make into a defcustom. + (show-paren--unescaped-p, show-paren--categorize-paren) + (show-paren--locate-near-paren): New defuns. + (show-paren--default): Refaactor and trigger on more paren + positions. + (show-paren-function): Small consequential changes. + +2014-10-16 Tom Tromey + + * files.el (auto-mode-alist): Use javascript-mode for .jsm + (bug #18719). + +2014-10-16 Eli Zaretskii + + * international/characters.el (bracket-type): Force pre-loading of + uni-brackets.el. + +2014-10-16 Alan Mackenzie + + * cus-edit.el (custom-command-apply): Specify the return value in + the doc string. + (Custom-reset-standard): Save custom-file (e.g. .emacs) only when + custom-command-apply has returned non-nil. + +2014-10-15 Stefan Monnier + + * emacs-lisp/eldoc.el (global-eldoc-mode): Enable by default. + Remove incorrect handling of eldoc-print-after-edit. + (eldoc-message-commands, eldoc-last-data): Use defvar. + * loadup.el (emacs-lisp/eldoc): Load it. + + * progmodes/m4-mode.el (m4-syntax-propertize): New var. + (m4-mode): Use it. + (m4--quoted-p): New function. + (m4-font-lock-keywords): Don't handle #..\n comments any more. + (m4-mode-syntax-table): Use punctuation syntax (according to m4 manual) + for most special characters. + + * progmodes/compile.el (compilation--previous-directory): Simplify. + (compilation-next-error): Ensure the parse before we look at + compilation-message property. + +2014-10-15 Eli Zaretskii + + * simple.el (what-cursor-position): + * descr-text.el (describe-char): Update to support the new bidi + characters. * emacs-lisp/tabulated-list.el (tabulated-list-mode): Force bidi-paragraph-direction to 'left-to-right'. This fixes diff --cc src/ChangeLog index 37e6d20eb83,829eb25f4d9..f0ec092c068 --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,453 -1,17 +1,467 @@@ -2015-01-30 Eli Zaretskii ++2015-02-26 Eli Zaretskii + + * dispextern.h (FACE_FOR_CHAR): Fix the commentary. + -2015-01-29 Hans Wennborg (tiny change) ++2015-02-26 Hans Wennborg (tiny change) + + * emacs.c (decode_env_path): Add parentheses around ternary + operator to increase readability and pacify compiler warnings. + -2015-01-29 Eli Zaretskii ++2015-02-26 Eli Zaretskii + + * w32.c (sys_readdir): Map ERROR_NOT_READY (as in "device not + ready") to ENOENT. + +2015-02-26 Paul Eggert + + * xfns.c (x_real_pos_and_offsets): Fix pointer signedness. + +2015-02-25 Jan Djärv + + * xterm.h (struct x_output): Remove x_pixels_outer_diff, + y_pixels_outer_diff, FRAME_OUTER_TO_INNER_DIFF_X, + FRAME_OUTER_TO_INNER_DIFF_Y. Declare x_real_pos_and_offsets. + + * xmenu.c (create_and_show_popup_menu): Use XTranslateCoordinates + instead of OUTER_TO_INNER_DIFF macros. + + * xfns.c (x_real_pos_and_offsets): New function, basically the code + from x_real_positions. + (x_real_positions): Call x_real_pos_and_offsets. + (x_relative_mouse_position): Use XTranslateCoordinates instead of + OUTER_TO_INNER_DIFF macros. + (Fx_frame_geometry): Get offsets with x_real_pos_and_offsets, + border from window attributes. Adjust tool bar and menu widths. + + * w32fns.c (x_real_positions): Remove setting of x_pixels_diff, + y_pixels_diff. + + * frame.h (struct frame): Remove x_pixels_diff, y_pixels_diff. + +2015-02-25 Paul Eggert + + Backtrace after malloc arena is corrupted + Without this change, if the malloc arena is corrupted and then + 'backtrace' is called, the backtrace can crash because 'backtrace' + calls 'malloc'. For more, please see: + https://sourceware.org/ml/libc-alpha/2015-02/msg00678.html + * emacs.c (main): Initialize tables used by 'backtrace'. + * sysdep.c (emacs_backtrace): Document the newly used part of the API. + +2015-02-22 Jan Djärv + + * nsfns.m (Fx_frame_geometry): New function. + (syms_of_nsfns): Defsubr Sx_frame_geometry. + +2015-02-22 Paul Eggert + + Spelling fixes + * lisp.h (DEFINE_NON_NIL_Q_SYMBOL_MACROS): + Rename from DEFINE_NONNIL_Q_SYMBOL_MACROS. All uses changed. + +2015-02-21 Eli Zaretskii + + * w32term.c (queue_notifications): + * w32inevt.c (handle_file_notifications): + * w32font.c (w32_enumfont_pattern_entity): Prefer 'Qfoo' to + 'intern ("foo")'. + +2015-02-21 Paul Eggert + + Prefer 'Qfoo' to 'intern ("foo")' + * buffer.c (syms_of_buffer): + * bytecode.c (exec_byte_code): + * callint.c (Fcall_interactively): + * callproc.c (create_temp_file): + * charset.c (define_charset_internal): + * coding.c (syms_of_coding): + * editfns.c (syms_of_editfns): + * emacs.c (main): + * fns.c (syms_of_fns): + * frame.c (delete_frame, Fframe_parameters): + * keyboard.c (syms_of_keyboard): + * keymap.c (syms_of_keymap): + * minibuf.c (read_minibuf, syms_of_minibuf): + * nsfns.m (ns_cursor_type_to_lisp): + * textprop.c (syms_of_textprop): + * xdisp.c (Fformat_mode_line, syms_of_xdisp): + * xfns.c (x_create_tip_frame, Fx_select_font): + * xml.c (parse_region): + Prefer constants like 'Qfoo' to calls like 'intern ("foo")'. + * buffer.c (syms_of_buffer): OK to do (put 'erase-buffer 'disabled + t) here now ... + (keys_of_buffer): ... instead of here. + * ftfont.c (syms_of_ftfont): Move DEFSYM of Qmono from here ... + * xfns.c (syms_of_xfns): ... to here, since ftfont.c is more + optional than xfns.c. + +2015-02-20 Jan Djärv + + * emacs.c (terminate_due_to_signal): Move totally_unblock_input after + setting fatal_error_in_progress, so gobble_input and *read_socket are + not read if there are pending_signals. + +2015-02-20 Paul Eggert + + Simplify binary I/O configuration + * lread.c (Fload): Prefer FOPEN_TEXT and FOPEN_BINARY to #ifdef DOS_NT. + * sysstdio.h: Add copyright notice. Include . + (FOPEN_BINARY, FOPEN_TEXT): New macros. + * xfaces.c (Fx_load_color_file): Use FOPEN_TEXT, since POSIX + doesn't guarantee that "t" will work. + +2015-02-19 Eli Zaretskii + + * keyboard.c (read_char): Make sure this_single_command_key_start + is in sync with this_command_key_count, around the call to + input-method-function. (Bug#19774) + +2015-02-19 Fujii Hironori (tiny change) + + * w32fns.c (w32_wnd_proc) : Pass the + message to DefWindowProc, after positioning the IME window, to + trigger its display. (Bug#11732) + +2015-02-18 Eli Zaretskii + + * emacs.c (Fkill_emacs): Exit with specified exit code even if + stdin is at EOF. (Bug#19897) + +2015-02-18 Oscar Fuentes + + * keyboard.c (read_char): When there is an input method function, + do not restore the echo area if a prefix argument is being + introduced. (Bug#19875) + +2015-02-16 Kelly Dean + + * src/keyboard.c (timer_check_2): Fix incorrect comment. + +2015-02-14 Martin Rudalics + + * xterm.c (x_frame_normalize_before_maximize): Fix doc-string. + Suggested by Alan Mackenzie . + +2015-02-14 Eli Zaretskii + + * menu.c (Fx_popup_menu) [HAVE_X_WINDOWS]: Call + x_relative_mouse_position only for X frames. (Bug#19862) + +2015-02-13 Paul Eggert + + Better support for future plugins + * lisp.h (DEFINE_LISP_SYMBOL): New macro, replacing and simplifying + DEFINE_LISP_SYMBOL_BEGIN / DEFINE_LISP_SYMBOL_END. All uses changed. + (DEFINE_NONNIL_Q_SYMBOL_MACROS): New macro, defaulting to true. + +2015-02-11 Martin Rudalics + + * w32term.c (w32_read_socket): In SIZE_MAXIMIZED and + SIZE_RESTORED cases correctly handle `maximized' value for the + `fullscreen' parameter. Don't use 'maximized' frame parameter + any more. + (w32fullscreen_hook): Include menu bar height when calculating + new text height in FULLSCREEN_BOTH case. + * xterm.c (do_ewmh_fullscreen): Handle transition from + FULLSCREEN_BOTH to FULLSCREEN_MAXIMIZED when + x_frame_normalize_before_maximize is set. + +2015-02-10 Paul Eggert + + Use bool for boolean in xdisp.c + * dispextern.h (display_prop_intangible_p, resize_mini_window) + (pixel_to_glyph_coords, mark_window_display_accurate) + (compute_display_string_pos, handle_tool_bar_click) + (x_intersect_rectangles, clear_mouse_face, display_tty_menu_item): + * lisp.h (setup_echo_area_for_printing, message_with_string) + (pos_visible_p): Use bool for boolean. + * xdisp.c: Use bool, true, false intstead of int, 1, 0. + Remove unnecessary forward decls. + (trace_move) [DEBUG_TRACE_MOVE]: Now static. + (CHECK_IT, CHECK_WINDOW_END): + Now an inline function that is always defined. + (check_it) [0]: + (check_window_end) [oGLYPH_DEBUG && ENABLE_CHECKING]: + Remove; no longer needed. + (handle_stop): Prefer (X && !Y) to (X ? !Y : 0). + (get_overlay_strings): Omit unnecessary casts. + (forward_to_next_line_start): + (Ftool_bar_height): + Prefer !BOOL to (BOOL ? 0 : 1). + (next_element_function): New typedef. + (get_next_element): Use it. Now const. + (IT_POS_VALID_AFTER_MOVE_P): Prefer !X || Y==0 to (X ? Y==0 : 1). + (vmessage): Now ATTRIBUTE_FORMAT_PRINTF (1, 0), to pacify GCC 4.9.2 + (display_echo_area): Prefer BOOLEXPR to BOOLEXPR ? 1 : 0. + (tool_bar_item_info): Simplify. + (invisible_prop): Rename from invisible_p, since it doesn't + return bool. All callers changed. + (x_produce_glyphs): Simplify. + +2015-02-09 Paul Eggert + + Check for some overflows in vertical-motion + * indent.c (window_column_x): New function. + (Fvertical_motion): Use it to protect against integer overflow + when computing column. Prefer extract_float to doing things by hand. + Avoid unnecessary casts. + + * xfont.c: Minor style fixes + (xfont_list_pattern): Reindent to 80 cols and use Emacs-style comments. + Redo loop so that less indentation is needed. + +2015-02-09 Eli Zaretskii + + * indent.c (Fvertical_motion): Accept an additional argument + CUR-COL and use it as the starting screen coordinate. + * window.c (window_scroll_line_based, Fmove_to_window_line): All + callers of vertical-motion changed. + +2015-02-09 Dima Kogan + + * font.c (font_score): Remove unused variable assignment. + +2015-02-09 Dima Kogan + + * xfaces.c (realize_basic_faces): Don't set Qscalable_fonts_allowed to + t. + * font.c (font_score): Try to find a font without scaling first, + and only accept scalable fonts if we did not get a match (Bug#19117). + +2015-02-09 Stefan Monnier + + * keyboard.c (syms_of_keyboard): Use non-nil default value. + +2015-02-09 Paul Eggert + + Use C99's INFINITY and NAN macros + * lread.c: Include . + (string_to_number): Use INFINITY and NAN rather than rolling our own. + This avoids some runtime diagnostics when building with + gcc -fsanitize=undefined. + + Fix bidi_explicit_dir_char undefined behavior + * bidi.c (bidi_explicit_dir_char): Avoid subscript error when + argument is BIDI_EOB. This can happen in bidi_level_of_next_char. + + Better distinguish infinite from invalid times + * editfns.c (check_time_validity): New function. + (decode_time_components): Return int, not bool. + Return -1 (not 0) if the time is out of range. + All callers changed. + (lisp_time_struct, lisp_seconds_argument): Distinguish better + between time overflow and invalid time values. + +2015-02-08 Paul Eggert + + Minor tweaks to frame_size_history_add + * frame.c (frame_size_history_add): Don't assume length fits in 'int'. + Prefer XCAR and XCDR to Fcar and Fcdr when the arg is a cons. + (Fframe_after_make_frame): Simplify. + * gtkutil.c: Remove commented-out code. + * xfns.c (Fx_create_frame): Fix indenting. + +2015-02-08 Eli Zaretskii + + * frame.c (Fframe_parameter): Don't replace a non-nil value of + foreground-color or background-color parameters with a nil value. + (Bug#19802) + +2015-02-08 Stefan Monnier + + * data.c (Findirect_function): Like `symbol-function', don't signal an + error for void functions any more. + +2015-02-07 Martin Rudalics + + * frame.c (frame_size_history_add): New function. + (frame_inhibit_resize): Consider frame_inhibit_implied_resize + only after frame's after_make_frame slot is true. + Inhibit resizing fullwidth-/height frames in one direction only. + Update frame_size_history. + (adjust_frame_size): Call frame_size_history_add. + (make_frame): Initalize after_make_frame slot. + (Fmake_terminal_frame): Adjust adjust_frame_size call. + (Fcan_run_window_configuration_change_hook): Rename to + Fframe_after_make_frame. Set after_make_frame slot. + Return second argument. + (x_set_frame_parameters): Postpone handling fullscreen parameter + until after width and height parameters have been set. + Apply width and height changes only if can_x_set_window_size is true. + Update frame_size_history. + (Qadjust_frame_size_1, Qadjust_frame_size_2) + (Qadjust_frame_size_3, QEmacsFrameResize, Qframe_inhibit_resize) + (Qx_set_fullscreen, Qx_check_fullscreen, Qx_set_window_size_1) + (Qxg_frame_resized, Qxg_frame_set_char_size_1) + (Qxg_frame_set_char_size_2, Qxg_frame_set_char_size_3) + (Qxg_change_toolbar_position, Qx_net_wm_state) + (Qx_handle_net_wm_state, Qtb_size_cb, Qupdate_frame_tool_bar) + (Qfree_frame_tool_bar): New symbol for updating frame_size_history. + (Qtip_frame, Qterminal_frame): New symbols. + (Vframe_adjust_size_history): Rename to frame_size_history. + * frame.h (struct frame): + Rename can_run_window_configuration_change_hook slot to + after_make_frame. + (frame_size_history_add): Extern. + * gtkutil.c (xg_frame_resized): Call frame_size_history_add. + Don't set FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT here. + (xg_frame_set_char_size): Try to preserve the status of + fullwidth/-height frames. Call frame_size_history_add. + (tb_size_cb, update_frame_tool_bar, free_frame_tool_bar) + (xg_change_toolbar_position): Call frame_size_history_add. + * w32fns.c (x_change_tool_bar_height): Handle frame's fullscreen + status. + (Fx_create_frame): Process fullscreen parameter after frame has + been resized. + (x_create_tip_frame): Pass Qtip_frame to adjust_frame_size. + (Fx_frame_geometry): Don't pollute pure storage. + * w32term.c (w32_read_socket): For WM_WINDOWPOSCHANGED, + WM_ACTIVATE and WM_ACTIVATEAPP set frame's visibility before + calling w32fullscreen_hook. For WM_DISPLAYCHANGE call + w32fullscreen_hook immediately. + (x_fullscreen_adjust, x_check_fullscreen): Remove. + (w32fullscreen_hook): Call change_frame_size just as with a + "normal" frame resize operation. Call do_pending_window_change. + (x_set_window_size): Try to handle fullwidth and fullheight more + accurately. Don't rely on w32_enable_frame_resize_hack. + (w32_enable_frame_resize_hack): Remove variable. + * widget.c (EmacsFrameResize): Remove dead code. + Call frame_size_history_add + * window.c (run_window_configuration_change_hook): + Check f->after_make_frame instead of + f->can_run_window_configuration_change_hook. + * xfns.c (x_change_tool_bar_height): Handle frame's fullscreen status. + (Fx_create_frame): Process fullscreen parameter after frame has + been resized. + (Fx_frame_geometry): Don't pollute pure storage. + * xterm.c (x_net_wm_state, x_handle_net_wm_state): + Call frame_size_history_add. + (do_ewmh_fullscreen): Handle x_frame_normalize_before_maximize. + (x_check_fullscreen): Count in menubar when calling + XResizeWindow. Wait for ConfigureNotify event. + Call frame_size_history_add. + (x_set_window_size_1): Remove PIXELWISE argument. Try to handle + changing a fullheight frame's width or a fullwidth frame's + height. Call frame_size_history_add. + (x_set_window_size): Simplify xg_frame_set_char_size and + x_set_window_size_1 calls. + (x_frame_normalize_before_maximize): New variable. + +2015-02-07 Paul Eggert + + Remove no-longer-used cursor_in_echo_area code + * dispnew.c (set_window_cursor_after_update, update_frame_1): + Remove checks for negative cursor_in_echo_area, since this var is + a boolean, and has been a boolean for some time. Simplify. + * dispnew.c (init_display): + * xdisp.c (message3_nolog, vmessage): Use bool for boolean. + +2015-02-05 Stefan Monnier + + * eval.c (Ffunction): Handle the new (:documentation ...) form. + (syms_of_eval): Declare `:documentation'. + +2015-02-05 Martin Rudalics + + * xdisp.c (Fwindow_text_pixel_size): Remove optional BUFFER + argument added on 2015-02-01. + +2015-02-04 Paul Eggert + + Remove no-longer-used two_byte_p calculations + * dispextern.h (struct glyph_string): Remove member two_byte_p. + All uses removed. + * xdisp.c (get_glyph_face_and_encoding): Remove arg two_byte_p. + All callers changed. + +2015-02-03 Paul Eggert + + Omit unnecessary var if GTK or NS + * frame.c, frame.h (frame_default_tool_bar_height) [USE_GTK||HAVE_NS]: + Now a constant zero on these platforms. + +2015-02-01 Martin Rudalics + + * xdisp.c (Fwindow_text_pixel_size): Add optional argument BUFFER. + +2015-01-31 Eli Zaretskii + + * coding.c (raw_text_coding_system_p): New function. + + * keyboard.c (read_decoded_event_from_main_queue): Use it when the + keyboard coding-system is 'raw-text'. (Bug#19532) + + * coding.h (raw_text_coding_system_p): Add prototype. + +2015-01-31 Andreas Schwab + + * Makefile.in (gl-stamp): Generate globals.h through the use of + move-if-change. + (globals.h): Replace with empty command. + +2015-01-31 Eli Zaretskii + + * keyboard.c (kbd_buffer_store_event_hold): Ignore FOCUS_OUT_EVENT + and ICONIFY_EVENT for the purposes of breaking while-no-input + loops. (Bug#19547) + + * dired.c (read_dirent): Correct the "MSDOS hacks" hack: the + special code for errno = ENOENT or EACCES is needed for WINDOWSNT, + not for MSDOS. + +2015-01-31 Paul Eggert + + Simplify read_dirent's MSDOS hacks + * dired.c (read_dirent): Simplify by removing the need for the + DIR_ENTRY argument. All callers changed. This separates the + MS-DOS idiosyncrasies better from the rest of the code. + +2015-01-30 Eli Zaretskii + + * dired.c (read_dirent): Accept an additional argument + FIRST_ENTRY. If readdir fails with ENOENT or EACCES the first + time it is called, report the error as if it happened in + open_directory. + (directory_files_internal, file_name_completion): Adjust callers + or read_dirent. + +2015-01-30 Paul Eggert + + Refactor calls to opendir for simplicity + * dired.c (open_directory): Accept Lisp_Object, not char *, for + dirname. Signal an error if the open fails. All callers changed. + +2015-01-29 Paul Eggert + + Report readdir failures + Previously, on non-MS-Windows platforms the code treated most + readdir failures as EOF. This was incorrect, e.g., when readdir + fails with errno == EOVERFLOW. Signal an error instead. + * dired.c (read_dirent): + New function, which signals an error when readdir fails. + (directory_files_internal, file_name_completion): Use it. + +2015-01-29 Eli Zaretskii + + Use bool for boolean in w32menu.c, w32font.c, w32uniscribe.c. + * w32uniscribe.c (uniscribe_list, uniscribe_match): Use bool where + appropriate. + + * w32font.c (struct font_callback_data, w32font_list_internal) + (w32font_driver, w32font_match_internal): Use bool where appropriate. + + * w32menu.c (x_activate_menubar, set_frame_menubar) + (w32_dialog_show, initialize_frame_menubar, w32_menu_show) + (is_simple_dialog): Use bool where appropriate. + +2015-01-28 Paul Eggert + + Use bool, not int, to track face changes + * xfaces.c (face_change): Rename from face_change_count, and + change from int to bool. The var is now true (instead of nonzero) + if attributes have changed; this is simpler. All uses changed. + (Bug#19698) + 2015-01-28 Eli Zaretskii * dired.c (directory_files_internal, file_name_completion) diff --cc test/ChangeLog index 7ba14964c0a,f33cf84cf98..ff3042e8cbf --- a/test/ChangeLog +++ b/test/ChangeLog @@@ -1,82 -1,17 +1,95 @@@ -2015-01-30 Fabián Ezequiel Gallina ++2015-02-26 Fabián Ezequiel Gallina + + * automated/python-tests.el + (python-indent-dedent-line-backspace-2) + (python-indent-dedent-line-backspace-3): New tests. + -2015-01-30 Fabián Ezequiel Gallina ++2015-02-26 Fabián Ezequiel Gallina + + * automated/python-tests.el (python-indent-pep8-1) + (python-indent-pep8-2, python-indent-pep8-3) + (python-indent-after-comment-2): Fix tests. + (python-indent-after-comment-3): New test. + -2015-01-26 Fabián Ezequiel Gallina +2015-02-24 Glenn Morris + + * automated/f90.el (f90-test-bug-19809): New test. + +2015-02-22 Michael Albinus + + * automated/tramp-tests.el (tramp-test17-insert-directory): + Suppress localized settings in order to have a proper check for + the summary line. + +2015-02-16 Stefan Monnier + + * automated/eieio-test-methodinvoke.el (make-instance): Add methods + here rather than on eieio-constructor. + +2015-02-13 Magnus Henoch + + * automated/sasl-scram-rfc-tests.el: New file. + +2015-02-11 Nicolas Petton + + * automated/seq-tests.el (test-seq-reverse, test-seq-group-by): + Add a test for seq-reverse and update test for seq-group-by to + test vectors and strings, not only lists. + +2015-02-10 Glenn Morris + + * automated/package-test.el (package-test-signed): + More informative failure messages. + +2015-02-09 Nicolas Petton + + * automated/seq-tests.el (test-seq-group-by): Update test for + seq-group-by to check that sequence elements are returned in the + correct order. + +2015-02-07 Fabián Ezequiel Gallina + + * automated/python-tests.el (python-eldoc--get-symbol-at-point-1) + (python-eldoc--get-symbol-at-point-2) + (python-eldoc--get-symbol-at-point-3) + (python-eldoc--get-symbol-at-point-4): New tests. + + * automated/python-tests.el (python-tests-visible-string): + New function. + (python-parens-electric-indent-1) + (python-triple-quote-pairing): Fix indentation, move require calls. + (python-hideshow-hide-levels-1) + (python-hideshow-hide-levels-2): New tests. + +2015-02-07 Dmitry Gutov + + * automated/vc-tests.el (vc-test--working-revision): Fix + `vc-working-revision' checks to be compared against nil, which is + what is should return for unregistered files. + +2015-02-06 Nicolas Petton + + * automated/seq-tests.el: New tests for seq-mapcat, seq-partition + and seq-group-by. + +2015-02-05 Artur Malabarba + + * automated/package-test.el (package-test-get-deps): Fix typo. + (package-test-sort-by-dependence): New test + +2015-02-03 Artur Malabarba + + * automated/package-test.el (package-test-get-deps): New test. + +2015-01-31 Stefan Monnier + + * automated/eieio-tests.el (eieio-test-23-inheritance-check): Simplify. + +2015-01-30 Stefan Monnier + + * automated/core-elisp-tests.el (core-elisp-tests-3-backquote): New test. + +2015-01-28 Fabián Ezequiel Gallina * automated/python-tests.el (python-indent-pep8-1) (python-indent-pep8-2, python-indent-pep8-3)