From a020afb9892611eb57f6a0a31da26a4554a51f30 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Tue, 18 Jun 2013 13:17:50 +0200 Subject: [PATCH] lisp/ChangeLog, src/ChangeLog: Rotate changelogs. --- lisp/ChangeLog | 25229 +------------------------------------------ lisp/ChangeLog.16 | 25241 ++++++++++++++++++++++++++++++++++++++++++++ src/ChangeLog | 22925 +--------------------------------------- src/ChangeLog.12 | 22949 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 48198 insertions(+), 48146 deletions(-) create mode 100644 lisp/ChangeLog.16 create mode 100644 src/ChangeLog.12 diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a9a41554128..30a59aa8912 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -33,8 +33,8 @@ 2013-06-17 Dmitry Gutov - * emacs-lisp/package.el (package-load-descriptor): Remove - `with-syntax-table' call, `read' doesn't need it. + * emacs-lisp/package.el (package-load-descriptor): + Remove `with-syntax-table' call, `read' doesn't need it. http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00539.html 2013-06-17 Juanma Barranquero @@ -135,7 +135,7 @@ * term/xterm.el (xterm--query): Stop after first matching handler. (Bug#14615) -2013-06-14 Ivan Kanis +2013-06-14 Ivan Kanis Add support for dired in saveplace. * dired.el (dired-initial-position-hook): New variable. @@ -3573,9 +3573,9 @@ 2013-03-13 Michael Albinus - * net/tramp-sh.el (tramp-sh-handle-insert-directory): Check, - whether `default-file-name-coding-system' is bound. It isn't in - XEmacs. + * net/tramp-sh.el (tramp-sh-handle-insert-directory): + Check whether `default-file-name-coding-system' is bound. + It isn't in XEmacs. 2013-03-13 Stefan Monnier @@ -3614,25222 +3614,7 @@ Switch encodings of tutorials, thai-word to UTF-8 (Bug#13880). * language/thai-word.el: Switch to UTF-8. -2013-03-11 Stefan Monnier - - * recentf.el (recentf-save-file): Use locate-user-emacs-file (bug#13870). - -2013-03-11 Thierry Volpiatto - - * net/net-utils.el (net-utils-remove-ctrl-m-filter): - Use with-current-buffer and don't move point. - (net-utils-run-simple): Remove useless code. - (net-utils-remove-ctl-m): Remove unused custom. - -2013-03-11 Per Starbäck - - * international/characters.el (glyphless-set-char-table-range): New fun. - (update-glyphless-char-display): Use it (bug#13744). - -2013-03-11 Teodor Zlatanov - - * progmodes/cfengine.el: Update for CFEngine 3.4.2 and higher: - namespaces in the syntax, indent closer for hanging brace - correctly, allow single-quote delimited 'strings', and make - `cfengine3-mode' the default. - -2013-03-11 Jean-Philippe Gravel - - * progmodes/gdb-mi.el: Speed up initialization (bug#10580). - Use lexical-binding. Fix up docstring according to conventions. - (gdbmi-debug-mode): New var. - (gdbmi-start-with, gdbmi-same-start, gdbmi-is-number, gdbmi-bnf-init) - (gdbmi-bnf-output, gdbmi-bnf-skip-unrecognized, gdbmi-bnf-gdb-prompt) - (gdbmi-bnf-result-record, gdbmi-bnf-out-of-band-record) - (gdbmi-bnf-async-record, gdbmi-bnf-stream-record) - (gdbmi-bnf-console-stream-output, gdbmi-bnf-target-stream-output) - (gdbmi-bnf-log-stream-output, gdbmi-bnf-result-and-async-record-impl) - (gdbmi-bnf-incomplete-record-result): New functions. - (gdb-car<): Remove function. - (gdbmi-record-list): Remove variable. - (gdbmi-bnf-state, gdbmi-bnf-offset): New vars. - (gdbmi-bnf-result-state-configs): New const. - (gud-gdbmi-marker-filter): Rewrite. - (gdb-ignored-notification, gdb-thread-created, gdb-thread-exited) - (gdb-thread-selected, gdb-running, gdb-starting, gdb-stopped): - Add `token' argument. - (gdb-done, gdb-error): New functions. - (gdb-done-or-error): Add `is-complete' argument. Change arg order. - -2013-03-11 Stefan Monnier - - * term/xterm.el (xterm--report-background-handler): Don't burp - upon timeout. - (xterm--version-handler): Extract from terminal-init-xterm. - (xterm--query): Don't mishandle timeout. Remove debugging messages. - Allow multiple handlers. - (terminal-init-xterm): Handle OSX's Terminal.app's incorrect answer. - - * term/xterm.el: Don't discard input (bug#6758). Use lexical-binding. - (xterm--report-background-handler, xterm--query): New functions. - (terminal-init-xterm): Use them. - -2013-03-11 Michael R. Mauger - - * progmodes/sql.el Version 3.2 - Please note that my address changed to ; - the address remains active. - (sql-connection-alist): Updates documentation to fix bug#13715. - (sql-connect): Handle missing `sql-connection-alist' correctly. - (sql-mode-oracle-font-lock-keywords): Add missing keywords. - (sql-magic-go, sql-magic-semicolon): Mark with `delete-selection' - property. - (sql-default-value): New function. - (sql-get-login-ext, sql-get-login): Fixes bug where buffer-local - values were not used. - (sql-rename-buffer): Make sure alternate buffer name has no text - properties. - (sql-input-sender, sql-execute-feature): Fetch variable with - `buffer-local-value' rather than `with-current-buffer'. - (sql-*): Use #' function syntax consistently. - (sql-*): Use message/error/user-error consistently. - -2013-03-11 Stefan Monnier - - * xt-mouse.el (xterm-mouse-event-read): Remove. - (xterm-mouse--read-event-sequence-1000) - (xterm-mouse--read-event-sequence-1006): Use read-event instead. - -2013-03-10 Stefan Monnier - - * term/xterm.el (xterm-function-map): Support format used with - formatOtherKeys=1 (bug#13839). - - * emacs-lisp/byte-run.el (dont-compile): Declare obsolete. - (with-no-warnings): Use `declare'. - - * whitespace.el (whitespace-enable-predicate): New variable. - (whitespace-enable-predicate): Use it. - - * comint.el (comint-send-input, comint-snapshot-last-prompt) - (comint-output-filter, comint-update-fence): - Use with-silent-modifications. - -2013-03-10 Jambunathan K - - * replace.el (occur-read-regexp-defaults-function): New var. - (occur-read-regexp-defaults): New defun. - (occur-read-primary-args): Propagate above change (bug#13892). - -2013-03-09 Stefan Monnier - - * mouse.el (mouse-drag-track): Remove left-over debugging code. - -2013-03-09 Michael Albinus - - Major rewrite due to changed D-Bus interface of GVFS 1.14. - - * net/tramp-gvfs.el (top): Extend check for gvfs availability. - (tramp-gvfs-methods-mounttracker, tramp-gvfs-listmounts) - (tramp-gvfs-mountlocation, tramp-gvfs-mountlocation-signature): - New defconst. - (tramp-gvfs-file-name-handler-alist) [directory-files] - [directory-files-and-attributes, file-exists-p, file-modes]: - Use Tramp default handler. - [file-acl, file-selinux-context, process-file, set-file-acl]: - [set-file-modes, set-file-selinux-context, shell-command]: - [start-file-process]: Remove handler. - [verify-visited-file-modtime]: New handler. - (tramp-gvfs-dbus-string-to-byte-array) - (tramp-gvfs-dbus-byte-array-to-string): New defuns. Replace all - calls of `dbus-string-to-byte-array' and - `tramp-gvfs-dbus-byte-array-to-string'. - (tramp-gvfs-handle-copy-file) - (tramp-gvfs-handle-delete-directory) - (tramp-gvfs-handle-delete-file, tramp-gvfs-handle-file-attributes) - (tramp-gvfs-handle-file-directory-p) - (tramp-gvfs-handle-file-executable-p) - (tramp-gvfs-handle-file-name-all-completions) - (tramp-gvfs-handle-file-readable-p) - (tramp-gvfs-handle-file-writable-p) - (tramp-gvfs-handle-insert-directory) - (tramp-gvfs-handle-insert-file-contents) - (tramp-gvfs-handle-make-directory, tramp-gvfs-handle-rename-file) - (tramp-gvfs-handle-set-visited-file-modtime) - (tramp-gvfs-handle-write-region): Rewrite. - (tramp-gvfs-handle-file-acl) - (tramp-gvfs-handle-file-selinux-context) - (tramp-gvfs-handle-process-file, tramp-gvfs-handle-set-file-acl) - (tramp-gvfs-handle-set-file-modes) - (tramp-gvfs-handle-set-file-selinux-context) - (tramp-gvfs-handle-shell-command) - (tramp-gvfs-handle-start-file-process) - (tramp-gvfs-handle-verify-visited-file-modtime): Remove defuns. - (tramp-gvfs-url-file-name): Do not use `file-truename', we work - over the symlinks. Fix user handling. - (top, tramp-gvfs-handler-mounted-unmounted): Handle different names - of the D-Bus signals. - (tramp-gvfs-connection-mounted-p): Handle different names of the - D-Bus methods. - (tramp-gvfs-mount-spec-entry): New defun. - (tramp-gvfs-mount-spec): Use it. - (tramp-gvfs-maybe-open-connection): Check, that in case of "smb" - there is a share name. Handle different names of the D-Bus - signals and methods. Set connection properties needed for - `tramp-check-cached-permissions'. - (tramp-gvfs-send-command): Apply `tramp-gvfs-maybe-open-connection'. - Return t or nil. - - * net/tramp.el (tramp-backtrace): Move up. - (tramp-error): Dump a backtrace into the debug buffer when - `tramp-verbose > 9. - (tramp-file-mode-type-map, tramp-file-mode-from-int) - (tramp-file-mode-permissions, tramp-get-local-uid) - (tramp-get-local-gid, tramp-check-cached-permissions): Move from - tramp-sh.el. - - * net/tramp-sh.el (tramp-file-mode-type-map) - (tramp-check-cached-permissions, tramp-file-mode-from-int) - (tramp-file-mode-permissions, tramp-get-local-uid) - (tramp-get-local-gid): Move to tramp.el. - -2013-03-09 Stefan Monnier - - Separate mouse-1-click-follows-link from mouse-drag-region. - * mouse.el (mouse--down-1-maybe-follows-link): New function. - (key-translation-map): Use it to implement mouse-1-click-follows-link. - (mouse-drag-line, mouse-drag-track): - Remove mouse-1-click-follows-link code. - (mouse--remap-link-click-p): Remove. - -2013-03-08 Jambunathan K - - * hi-lock.el (hi-lock-read-regexp-defaults-function): New var. - (hi-lock-read-regexp-defaults): New defun. - (hi-lock-line-face-buffer, hi-lock-face-buffer) - (hi-lock-face-phrase-buffer): Propagate above change. - Update docstring (bug#13892). - - * subr.el (find-tag-default-as-regexp): New defun. - * replace.el (read-regexp): Propagate above change. - -2013-03-08 Jay Belanger - - * calc/calc-units.el (calc-convert-units): Fix the way that default - new units are stored. - -2013-03-07 Matthias Meulien - - * bookmark.el: Define a face to highlight bookmark names in - bookmark menu buffers, where the default is a bold face similarly - to buffer names in buffer menu buffers. - (bookmark-menu-bookmark): New face to highlight bookmark names. - (bookmark-insert-location): Remove duplicated text property to - conform to buffer list (see `list-buffers'). - (bookmark-bmenu-list, bookmark-bmenu-hide-filenames): Apply face - `bookmark-menu-bookmark' to bookmark names. - -2013-03-07 Matthias Meulien - Karl Fogel - - * bookmark.el: Display the bookmark list header similarly to the - buffer list header (see `list-buffers'), where the default is now - an immovable/immutable header line. - (bookmark-bmenu-use-header-line): New variable. - (bookmark-bmenu-inline-header-height): New name for - `bookmark-bmenu-header-height', to avoid confusion with the code - for the new immovable header. All references changed. - (bookmark-bmenu-set-header): New function. - (bookmark-bmenu-list, bookmark-bmenu-toggle-filenames): - Conditionalize header construction accordingly. - (bookmark-bmenu-ensure-position): Conditionalize the skipping of - the inline header height. - (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames): - Conditionalize the skipping of the inline header height. - -2013-03-07 Dmitry Gutov - - * progmodes/js.el (js--multi-line-declaration-indentation): - Merge from js2-mode (https://github.com/mooz/js2-mode/issues/89). - -2013-03-06 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-syntax-propertize-function): - Only propertize regexp when not inside a string (Bug#13885). - -2013-03-06 Alan Mackenzie - - Correct the position of point in some line-up functions. - * progmodes/cc-align.el (c-lineup-whitesmith-in-block) - (c-lineup-assignments, c-lineup-gcc-asm-reg ): Take position of - point at column 0 rather than at a random place in the line. - -2013-03-05 Michael Albinus - - * net/tramp-compat.el (tramp-compat-delete-directory): - Implement TRASH argument. - -2013-03-05 Dmitry Gutov - - Keep pre-existing highlighting in completion candidates (Bug#13250). - * minibuffer.el (completions-first-difference): State that the - face is "added" in the docstring. - (completions-common-part): Same. And don't inherit from default. - (completion-hilit-commonality): Prepend 'completions-common-part - and 'completion-first-difference faces to the 'face property, - instead of replacing the value(s). - (completion--insert-strings): Same with 'completions-annotations face. - (completion-hilit-commonality): Use 'face instead of - 'font-lock-face, because it gets priority if the completion - strings already have 'face set. - -2013-03-04 Alan Mackenzie - - Replace `last-command-event' by `last-command-char' in XEmacs. - * progmodes/cc-defs.el (c-last-command-char): New macro. - * progmodes/cc-align.el (c-semi&comma-inside-parenlist) - (c-semi&comma-no-newlines-before-nonblanks) - (c-semi&comma-no-newlines-for-oneline-inliners): Use the new macro - in place of `last-command-event'. - * progmodes/cc-cmds.el (c-electric-pound, c-electric-brace) - (c-electric-slash, c-electric-semi&comma, c-electric-lt-gt) - (c-electric-paren, c-electric-continued-statement): Use the new - macro in place of `last-command-event'. - -2013-03-04 Glenn Morris - - * files.el (inhibit-local-variables-regexps): - Add .diff and .patch. (Bug#13862) - -2013-03-03 Michael Albinus - - * net/tramp-adb.el (tramp-adb-maybe-open-connection): Cache, - whether the "su" command is available on the device. - -2013-03-01 Michael Albinus - - * net/tramp-adb.el (tramp-adb-prompt): Extend regexp. - (tramp-adb-handle-process-file): Remove superfluous setting. - (tramp-adb-command-exit-status): Handle case that COMMAND is nil. - (tramp-adb-barf-unless-okay): Use `tramp-adb-command-exit-status'. - (tramp-adb-maybe-open-connection): Apply "su" if user is defined. - -2013-03-01 Stefan Monnier - - * textmodes/ispell.el: Fix nitpicks and byte-compiler warnings. - (ispell-print-if-debug): Build `format' in. Avoid end-of-buffer. - (ispell-parse-hunspell-affix-file): Avoid beginning-of-buffer. - Use dict-key rather than dict-name for the error message. - -2013-03-01 Thierry Volpiatto - - * net/net-utils.el (net-utils-run-simple): Don't display-buffer - when reverting (bug#13831). - -2013-03-01 Agustín Martín Domingo - - * textmodes/ispell.el (ispell-find-hunspell-dictionaries): - Always expand affix-file before storing to protect against changed - `default-directory'. - (ispell-print-if-debug): Make sure message is printed at the end - of the debug buffer. - -2013-03-01 Michael Albinus - - * net/tramp.el (tramp-obsolete-methods): New defconst. - (tramp-warned-obsolete-methods): New defvar. - (tramp-find-method): Check for obsolete methods. Map them to a - replacement method if appropriate. - - * net/tramp-sh.el (tramp-methods) [scp1, scp2, ssh1, ssh2, plink1]: - Remove methods. - (top): Remove completion functions for "scp1", "scp2", "ssh1", - "ssh2" and "plink1". - -2013-02-28 Dale Sedivec - - * textmodes/sgml-mode.el (sgml-syntax-propertize-function): - Return valid syntax-table property value when converting - quotes within text from string syntax to punctuation syntax (bug#13844). - -2013-02-28 Juri Linkov - - * dired-aux.el (dired-diff): If file at point is a backup file, - use its original as the default value, and reverse the order - of arguments to the `diff' call. Doc fix. (Bug#13772) - -2013-02-28 Michael Albinus - - * net/tramp-adb.el (tramp-adb-sdk-dir): Remove. Replaced by ... - (tramp-adb-program): New defcustom. Remove function. Adapt calls. - -2013-02-28 Agustín Martín Domingo - - Initial support for hunspell dictionaries auto-detection (Bug#13639) - - * textmodes/ispell.el (ispell-find-hunspell-dictionaries): - Ask hunspell about available and default dictionaries. - (ispell-parse-hunspell-affix-file): Extract relevant info from - hunspell affix file. - (ispell-hunspell-fill-dictionary-entry): Fill non-initialized - `ispell-dictionary-alist' entry for given dictionary after info - provided by `ispell-parse-hunspell-affix-file'. - (ispell-hunspell-dict-paths-alist): New defvar to contain an alist - of parsed hunspell dicts and associated affix files. - (ispell-hunspell-dictionary-alist): New defvar to contain an alist - of parsed hunspell dicts and associated parameters. - (ispell-set-spellchecker-params): - Call `ispell-find-hunspell-dictionaries' if hunspell and not - previously done. - (ispell-start-process): - Call `ispell-hunspell-fill-dictionary-entry' for current - dictionary if it is not initialized. - -2013-02-28 Stefan Monnier - - * imenu.el: Comment nitpicks. - -2013-02-28 Sam Steingold - - * vc/diff-mode.el (diff-hunk-file-names): Handle filenames with spaces. - See . - -2013-02-28 Thierry Volpiatto - - * net/net-utils.el (net-utils--revert-function): New fun (bug#13831). - (net-utils-mode): Use it. - (net-utils--revert-cmd): New var. - (net-utils-run-simple): Set it, and remove bogus interactive spec. - (traceroute): Use net-utils-run-simple. - -2013-02-28 Glenn Morris - - * textmodes/paragraphs.el (mark-paragraph): Doc fix. - -2013-02-28 Stefan Monnier - - * doc-view.el: Preserve h&v scroll across C-c C-c C-c C-c. - (doc-view-fallback-mode): Remove overlays here. - (doc-view-toggle-display): Instead of here. Don't throw away - image-mode-winprops-alist. - (doc-view-goto-page): Don't mess with hscroll. - -2013-02-27 Thierry Volpiatto - - * font-lock.el (lisp-font-lock-keywords-2): Fix highlighting of - &optional (bug#13819). - -2013-02-27 Michael Albinus - - * net/tramp-adb.el (tramp-adb-parse-device-names) - (tramp-adb-maybe-open-connection): Add timeouts. (Bug#13299) - -2013-02-26 Michael Albinus - - * net/tramp-sh.el (tramp-sh-handle-insert-directory): - Add "2>/dev/null" to the ls command, in case "en_US.utf8" is not - defined. POSIX environments fall back to the "C" locale then and - emit a warning, which shall be suppressed. - -2013-02-26 Stefan Monnier - - * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Tweak logic. - (easy-mmode-set-keymap-parents): Use make-composed-keymap. - -2013-02-25 Stefan Monnier - - * emacs-lisp/bytecomp.el (byte-compile-file): Use let. - -2013-02-25 Juri Linkov - - * replace.el (read-regexp): Let-bind `default' to the first - element of `defaults' if it's a list, otherwise it should be - a string or nil. Let-bind `suggestions' to `defaults' if it's - a list, otherwise make a list with the string value. Doc fix. - (Bug#13805) - -2013-02-25 Eli Zaretskii - - * emacs-lisp/bytecomp.el (byte-recompile-directory): Reject files - that match "\`\.#", to avoid compiling lock files, even if they - are readable (as they are on MS-Windows). - -2013-02-25 Stefan Monnier - - * files.el (basic-save-buffer): Remove redundant directory-creation. - -2013-02-24 Jay Belanger - - * calc/calc-ext.el (math-to-radians-2, math-from-radians-2): - Add option to force `pi' to remain symbolic. - * calc/calcalg2.el (calcFunc-sin, calcFunc-cos, calcFunc-tan) - (calcFunc-cot, calcFunc-csc, calcFunc-sec, calcFunc-arcsin) - (calcFunc-arccos, calcFunc-arctan): Use symbolic `pi' in the - derivatives, when necessary. - -2013-02-23 Peter Kleiweg - - * progmodes/ps-mode.el (ps-mode-version): Bump to 1.1i. - (ps-mode-octal-region): Use string-make-unibyte. - -2013-02-23 Glenn Morris - - * emulation/viper-cmd.el (viper-submit-report): - * progmodes/ps-mode.el (ps-mode-maintainer-address): - * progmodes/vera-mode.el (vera-mode-help-address): - * textmodes/artist.el (artist-maintainer-address): - * textmodes/reftex.el (reftex-report-bug): - * vc/ediff-util.el (ediff-submit-report): - Add bug-gnu-emacs to bug report address. - - * progmodes/simula.el (simula-mode-menu, simula-mode-map): - Remove bug report entries. - (simula-mode-help-address, simula-submit-bug-report): Make obsolete. - - * emacs-lisp/bytecomp.el (byte-compile-level): New. - (byte-compile-file, byte-compile-from-buffer): - Use separate input/output buffers for each level of recursive - byte-compile-file calls. (Bug#13787) - -2013-02-23 Michael Albinus - - * net/tramp.el (tramp-methods): Fix docstring. - (tramp-ssh-controlmaster-options): Rename it from - `tramp-ssh-controlmaster-template'. Return a string. - (tramp-default-method): Adapt check for - `tramp-ssh-controlmaster-options'. - - * net/tramp-sh.el (tramp-methods): - Replace `tramp-ssh-controlmaster-template' by "%c". - (tramp-do-copy-or-rename-file-out-of-band) - (tramp-maybe-open-connection): Use it in format spec. Ensure, - that it is applied for the first hop only. - -2013-02-22 Juri Linkov - - * isearch.el (isearch-lazy-highlight-new-loop): - Set `isearch-lazy-highlight-start' and `isearch-lazy-highlight-end' - to `isearch-other-end' if it is not nil. (Bug#13402) - - * replace.el (replace-highlight): Let-bind `isearch-other-end' - to `match-beg'. - - * textmodes/ispell.el (ispell-highlight-spelling-error-overlay): - Let-bind `isearch-other-end' to `start', `isearch-forward' to t - and `isearch-error' to nil. - -2013-03-16 Fabián Ezequiel Gallina - - * progmodes/python.el (python-info-current-defun): - Enhance match-data cluttering prevention. - -2013-02-22 Michael Albinus - - * net/tramp.el (tramp-tramp-file-p): Fix docstring. - - * net/tramp-sh.el (tramp-sh-handle-insert-directory): - Handle multibyte file names. - -2013-02-22 Glenn Morris - - * textmodes/sgml-mode.el (sgml-xml-mode): Move before use. - (sgml-transformation-function): Give it a :set function. - (sgml-tag): Doc fix. - - * cmuscheme.el (scheme-buffer): - * progmodes/inf-lisp.el (inferior-lisp-buffer): - * progmodes/tcl.el (inferior-tcl-buffer): - * textmodes/tex-mode.el (tex-command): Doc fixes. - - * image-mode.el (image-mode): Add mouse bindings for mode-line-process. - - * htmlfontify.el (hfy-default-header): Encode title string. (Bug#7457) - -2013-02-21 Bastien Guerry - - * cmuscheme.el (scheme-buffer): Fix docstring. (Bug#13778) - -2013-02-21 Fabián Ezequiel Gallina - - * progmodes/python.el (python-info-current-defun): - Enhance match-data cluttering prevention. - -2013-02-21 Glenn Morris - - * net/tramp.el (tramp-get-debug-buffer): Ensure outline.el is not - loaded while outline-regexp is let bound. (Bug#9584) - -2013-02-21 Fabián Ezequiel Gallina - - * progmodes/python.el (python-info-current-defun): Fix failed - defun name retrieval because of unwanted match-data cluttering. - -2013-02-21 Michael Albinus - - * net/tramp.el (tramp-ssh-controlmaster-template): Make it a - defconst. Apply independent check for ControlPersist. - - * net/tramp-sh.el (tramp-sh-handle-set-file-times): Set $UTC only - temporarily, via "env". - -2013-02-21 Glenn Morris - - * info.el (Info-enable-edit): Remove. - (Info-edit): Disable it rather than using Info-enable. - (Info-edit-mode-hook, Info-edit-map, Info-edit-mode, Info-edit) - (Info-cease-edit): Make editing of Info files obsolete. - - * informat.el (Info-tagify): - Handle buffers not visiting files. (Bug#13763) - -2013-02-21 Juanma Barranquero - - * calc/calc-graph.el (calc-graph-show-dumb): Fix typo. - -2013-02-21 Glenn Morris - - * files.el (basic-save-buffer): Move check for existing parent - directory after hooks. (Bug#13773) - -2013-02-20 Stefan Monnier - - * simple.el (command-execute): Move from C. Add obsolete check. - (extended-command-history): Move from C. - -2013-02-20 Ulrich Müller - - * jka-cmpr-hook.el (jka-compr-compression-info-list) - (jka-compr-mode-alist-additions): Handle .txz suffix for - XZ-compressed tar archives (bug#13770). - -2013-02-20 Bastien Guerry - - * outline.el (outline-regexp, outline-heading-end-regexp): - Make variables, not options (bug#13731). - -2013-02-20 Glenn Morris - - * image.el (image-current-frame): Change from variable to function. - (image-show-frame): Rename from image-nth-frame. Update callers. - * image-mode.el (image-multi-frame): New variable. - (image-mode-map, image-mode, image-goto-frame): - Use image-multi-frame rather than image-current-frame. - (image-mode, image-goto-frame): Use image-current-frame as - function rather than as variable. - - * emacs-lisp/cl-lib.el (cl-floatp-safe): Make it an alias for floatp. - * emacs-lisp/cl-macs.el (cl--make-type-test) - (cl--compiler-macro-assoc): Use floatp rather than cl-floatp-safe. - -2013-02-19 Michael Albinus - - * net/tramp-cache.el (tramp-get-hash-table): New defun. - (tramp-get-file-property, tramp-set-file-property) - (tramp-get-connection-property, tramp-set-connection-property): Use it. - (tramp-flush-file-property, tramp-flush-directory-property): - Rename argument to KEY. - (tramp-flush-connection-property): Simplify a little bit. - (tramp-connection-property-p): New defun. - (top): Reapply saved values only if there isn't a corresponding - entry in `tramp-connection-properties'. - -2013-02-19 Fabián Ezequiel Gallina - - * progmodes/python.el (python-indent-context): - Fix python-info-line-ends-backslash-p call. - (python-info-line-ends-backslash-p) - (python-info-beginning-of-backslash): Respect line-number argument. - (python-info-current-line-comment-p): - Fix behavior when not at beginning-of-line. - (python-util-position): Remove function. - (python-util-goto-line): New function. - -2013-02-19 Michael Albinus - - * eshell/em-unix.el (eshell/su): Require tramp. - (eshell/sudo): Require tramp. Remove now unnecessary check. - - * net/tramp-sh.el (tramp-sh-handle-start-file-process): Let-bind - `tramp-current-connection' in order to avoid an error when several - commands are invoked in a short time in eshell and friends. - -2013-02-19 Stefan Monnier - - Cleanup some of EIEIO's namespace. - * emacs-lisp/eieio.el (eieio--define-field-accessors): New macro. - Use it to define all the class-* and object-* field accessors (renamed - to eieio--class-* and eieio--object-*). Update all uses. - (eieio--class-num-slots, eieio--object-num-slots): Rename from - class-num-slots and object-num-slots. - (eieio--check-type): New macro. - (eieio-defclass, eieio-oref, eieio-oref-default, same-class-p) - (object-of-class-p, child-of-class-p, object-slots, class-slot-initarg) - (eieio-oset, eieio-oset-default, object-assoc, object-assoc-list) - (object-assoc-list-safe): Use it. - (eieio-defclass): Tighten regexp. - (eieio--defmethod): Use `memq'. Signal an error for unknown method kind. - Remove unreachable code. - (object-class-fast): Declare obsolete. - (eieio-class-name, eieio-object-name, eieio-object-set-name-string) - (eieio-object-class, eieio-object-class-name, eieio-class-parents) - (eieio-class-children, eieio-class-precedence-list, eieio-class-parent): - Rename from class-name, object-name, object-set-name-string, - object-class, object-class-name, class-parents, class-children, - class-precedence-list, class-parent; with obsolete alias. - (class-of, class-direct-superclasses, class-direct-subclasses): - Declare obsolete. - (eieio-defmethod): Use `memq'; remove unreachable code. - * emacs-lisp/eieio-base.el (eieio-persistent-read): - * emacs-lisp/eieio-opt.el (eieio-class-button, eieio-describe-generic) - (eieio-browse-tree, eieio-browse): Use eieio--check-type. - -2013-02-18 Aidan Gauland - - * eshell/em-cmpl.el: Correct "context-related help" keybinding in - commentary. - -2013-02-18 Michael Heerdegen - - * emacs-lisp/eldoc.el (eldoc-highlight-function-argument): - Use font-lock-keyword-face for macros and special forms (bug#8345). - -2013-02-17 Didier Verna - - * net/network-stream.el (network-stream-open-starttls): - Check that response to the starttls-command is non-nil. (Bug#13706) - -2013-02-17 Stefan Monnier - - * font-lock.el (lisp-font-lock-keywords-1, lisp-font-lock-keywords-2): - Don't assume all identifier chars have syntax word. - * emacs-lisp/lisp-mode.el (lisp-mode-variables): - Remove bar-not-symbol. Adjust callers. - (lisp-mode-variables): Don't set a font-lock-syntax-table. - -2013-02-17 Leo Liu - - * net/rcirc.el (rcirc-keepalive): Fix invalid timer error. - -2013-02-17 Glenn Morris - - * menu-bar.el (menu-bar-tools-menu): Fix case of EDE entry. - - * image-mode.el (image-mode-map): Add image-dired menu entry. - - * image-dired.el (tumme): Make this alias obsolete. - -2013-02-16 Glenn Morris - - * image.el (image-animated-types): Remove. - (image-multi-frame-p): Rename from image-animated-p, and generalize. - (image-animated-p): Make obsolete alias. - (image-animate, image-nth-frame, image-animate-timeout): - Use image-multi-frame-p. - (image-animate-timeout): If no delay, use image-default-frame-delay. - * image-mode.el (image-mode, image-toggle-animation): - Use image-multi-frame-p. (Bug#763, bug#10739) - (image-mode): Adjust startup message for a multi-frame image. - - * image-mode.el (image-mode-map): Give it a menu. - -2013-02-16 Michael Albinus - - * net/tramp-cache.el (tramp-connection-properties): New customer - option. - (tramp-get-connection-property): Use it. - - * net/tramp-compat.el (top): Require 'trampver. - - * net/tramp-sh.el (tramp-remote-process-environment): - Set tramp-autoload cookie. - -2013-02-16 Kevin Ryde - - * info-look.el (info-lookup-select-mode): If major-mode has no - info-lookup-alist entry then search up derived-mode-parent (bug#8660). - -2013-02-16 Jambunathan K - - * replace.el (read-regexp): Tighten the regexp that matches tag. - When tag is retrieved with `find-tag-default', use regexp that - matches tag at point. Also update docstring (Bug#13687). - -2013-02-16 Eli Zaretskii - - * autorevert.el (auto-revert-notify-add-watch): With 'w32notify', - add watch for the file, not its parent directory, since w32notify - sets up the watch for the directory internally. (Bug#13725) - -2013-02-16 Glenn Morris - - * image.el (image-default-frame-delay): New variable. - (image-animated-p): Use image-default-frame-delay. - (image-minimum-frame-delay): New constant. - (image-animate-timeout): Use image-minimum-frame-delay. - - * image.el (image-nth-frame): New, split from image-animate-timeout. - (image-animate-timeout): Use image-nth-frame. - * image-mode.el (image-goto-frame, image-next-frame) - (image-previous-frame): New commands. - (image-mode-map): Add new frame commands. - -2013-02-16 Jonas Bernoulli - - * emacs-lisp/tabulated-list.el (tabulated-list-print-col): - If col-desc already has help-echo, use it. (Bug#13563) - -2013-02-16 Glenn Morris - - * image.el (image-current-frame): New variable. - (image-animate-timeout): Set image-current-frame. - * image-mode.el (image-mode): For animated images, - display a frame counter via mode-line-process. - - * font-lock.el (lisp-font-lock-keywords-1): Add defvar-local. - -2013-02-15 Stefan Monnier - - * simple.el (eval-expression): Let `exp' set the mark (bug#13724). - -2013-02-15 Alan Mackenzie - - * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): When a - global minor mode has been enabled, call the minor mode function - for a new buffer once only, after the major mode hook, whilst - allowing that hook explicitly to disable the minor mode. - (MODE-disable-in-buffer): New (generated) function. - (disable-MODE): New (generated) buffer local variable. - -2013-02-15 Jambunathan K - - * iswitchb.el (iswitchb-read-buffer): Bind `C-.' and `C-,' to - `iswitchb-next-match' and `iswitchb-prev-match' resply. - * ido.el (ido-init-completion-maps): Bind `C-.' and `C-,' to - `ido-next-match' and `ido-prev-match' resply. - * icomplete.el (icomplete-minibuffer-map): Unbind `C-s' and `C-r'. - Bind `C-.' and `C-,' to `icomplete-forward-completions' and - `icomplete-backward-completions' (Bug#13708). - -2013-02-15 Glenn Morris - - * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. - -2013-02-15 Stefan Monnier - - * net/goto-addr.el (goto-address-fontify): Add start and end args. - (goto-address-fontify-region): Use them instead of narrowing, so - syntax-ppss has access to the whole buffer. - -2013-02-15 Fabián Ezequiel Gallina - - * progmodes/python.el: Explain how to restore "cc-mode"-like - forward-sexp movement in header documentation (Bug#13642). - (python-nav--forward-sexp): Behave like emacs-lisp-mode in - comments and strings (GH bug 114). - -2013-02-15 Fabián Ezequiel Gallina - - * progmodes/python.el (python-info-current-defun): Fix current - defun detection (Bug#13618). - -2013-02-15 Chong Yidong - - * xml.el (xml-parse-string): Fix typo in handling of bad character - references. - -2013-02-15 Glenn Morris - - * play/fortune.el (fortune-compile): Simplify and fix previous change. - -2013-02-14 Michael Albinus - - * net/tramp.el (tramp-debug-message): - Add `tramp-condition-case-unless-debug'. - (tramp-debug-on-error): New defvar. - (tramp-condition-case-unless-debug): New defun. - (tramp-file-name-handler): Use it. - -2013-02-14 Juri Linkov - - * info.el (Info-isearch-filter): Treat non-nil values of - `search-invisible' including its default value `open' - like the value `t' to match hidden text. (Bug#13402) - -2013-02-14 Glenn Morris - - * help-fns.el (find-lisp-object-file-name): Give special treatment - to all ~/.foo.elc files, not just ~/.emacs. (Bug#9007) - -2013-02-14 David Biesack (tiny change) - - * net/quickurl.el (quickurl-save-urls): - Ensure quickurl-urls is not truncated on printing. (Bug#9276) - -2013-02-14 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-parse-partial): Don't increase - depth for unfinished percent literal. Not using it in the caller. - (ruby-move-to-block): Jump over multiline literals of all types, - ignoring code-looking contents inside them. - (ruby-add-log-current-method): Improve performance at the expense - of accuracy. `ruby-block-contains-point' is relatively slow, so - only use it for method and singleton class blocks. - -2013-02-13 Michael Albinus - - Use ControlMaster where applicable. (Bug#13677) - - * net/tramp.el (tramp-ssh-controlmaster-template): New defvar, - replacing `tramp-detect-ssh-controlmaster'. - (tramp-default-method): Use it. - - * net/tramp-sh.el (tramp-methods) [scp, scp1, scp2, scpx, sftp]: - [rsync, ssh, ssh1, ssh2, sshx]: Add ControlPath and ControlMaster - arguments. - [scpc, rsyncc]: Remove methods. - (top): Remove completion functions for "scpc", "rsyncc", "ssh1_old" - and "ssh2_old". - (tramp-do-copy-or-rename-file-out-of-band): Change trace level. - (tramp-maybe-open-connection): Reuse tmpfile for ControlPath. - -2013-02-13 Stefan Monnier - - * emacs-lisp/package.el (package--initialized): Move before first use. - -2013-02-13 Jambunathan K - - * icomplete.el (icomplete-hide-common-prefix): New user option. - (icomplete-first-match): New face. - (icomplete-completions): Correct handling of "complete but not - unique" (Bug#12638). - -2013-02-13 YE Qianchuan (tiny change) - - * descr-text.el (describe-char): Display the script (bug#13698). - -2013-02-13 Stefan Monnier - - * tmm.el: Use lexical-binding and current-active-maps. - (tmm-menubar): Use map-keymap and pcase. - (tmm--completion-table): New function. - (tmm-prompt): Use it to fix the menu order. - (tmm-get-keybind): Use current-active-maps. - -2013-02-12 Christopher Schmidt - - Add dired-hide-details-mode. (Bug#6799) - - * locate.el (locate-mode): Set parent mode property to dired-mode. - - * find-dired.el (find-dired): Call dired-insert-set-properties on - initial information line. Set process mark on end of buffer. - (find-dired-sentinel): - Call dired-insert-set-properties on summary. - - * dired.el (dired-hide-details-hide-symlink-targets) - (dired-hide-details-hide-information-lines): New options. - (dired-insert-directory): - Set properties after final treatment of output. - (dired-insert-set-properties): - Set dired-hide-details-* properties. - (dired-mode-map): Bind dired-hide-details-mode. - (dired-mode): Set buffer-invisibility-spec to a list. - (dired-next-line): Skip hidden lines. - (dired-previous-line): Use dired-next-line. - (dired-hide-details-mode): New minor mode. - (dired-hide-details-update-invisibility-spec): New function. - -2013-02-13 Glenn Morris - - * play/yow.el: Move to obsolete/. (Bug#9384) - -2013-02-13 Juri Linkov - - * vc/ediff-util.el (ediff-recenter): Use `select-frame-set-input-focus' - to select `ediff-control-frame' and set input focus correctly on Xfce. - (Bug#12218) - -2013-02-13 Juri Linkov - - * image-mode.el (image-mode-map): - * doc-view.el (doc-view-mode-map): - * vc/ediff-util.el (ediff-setup-keymap): - Make S-SPC scroll in the opposite sense to SPC. (Bug#2145) - -2013-02-13 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-move-to-block): Improve - performance. Instead of recalculating indentation fully for each - line, sum up indentation depth based only on visited lines. - (ruby-parse-partial): Increase the depth after "do" even when END - is right after it. - (ruby-parse-partial): When END is in the middle of a percent - literal, increase the depth if the delimiter chars belong to the - paren syntax class. - -2013-02-13 Kirill A. Korinskiy - - * play/fortune.el (fortune-compile): Also make the compiled file - if it does not exist at all, not just if it is old. (Bug#5338) - -2013-02-13 Glenn Morris - - * emacs-lisp/package.el (package-menu-execute): Doc fix. - -2013-02-13 Yves Baumes (tiny change) - - * lisp/emacs-lisp/package.el (package-menu-execute): - Add optional noquery argument. (Bug#13625) - -2013-02-13 Michael Albinus - - * net/ange-ftp.el (ange-ftp-make-directory): Don't raise an error, - if DIR exists and PARENTS is non-nil. - -2013-02-13 Juanma Barranquero - - * progmodes/js.el (js--multi-line-declaration-indentation): - Silence byte-compiler warning. - -2013-02-12 Michael Albinus - - * net/tramp-adb.el (tramp-adb-handle-start-file-process): Rewrite. - - * net/tramp-compat.el (top): Declare `remote-file-name-inhibit-cache' - only if it doesn't exist. - - * net/tramp-sh.el (tramp-sh-handle-start-file-process): - Set process marker. - -2013-02-12 Tassilo Horn - - * doc-view.el (doc-view-odf->pdf-converter-soffice): Use separate - UserInstallation when calling soffice to work around LibreOffice - bug 37531. - -2013-02-12 Glenn Morris - - * files.el (basic-save-buffer): - Offer to create a non-existing directory. (Bug#3016) - - * calc/calc-graph.el (calc-graph-show-dumb): - * calendar/calendar.el (calendar-mode-map): - * cus-edit.el (custom-mode-map): - * ehelp.el (electric-help-map): - * emulation/vip.el (vip-mode-map): - * epa.el (epa-key-list-mode-map): - * info.el (Info-mode-map): - * mail/rmail.el (rmail-mode-map): - * mail/rmailsum.el (rmail-summary-mode-map): - * man.el (Man-mode-map): - * net/newst-plainview.el (newsticker-mode-map): - * progmodes/cpp.el (cpp-edit-mode-map): - * progmodes/grep.el (grep-mode-map): - * progmodes/idlw-help.el (idlwave-help-mode-map): - * simple.el (special-mode-map): - * startup.el (splash-screen-keymap): - * view.el (view-mode-map): - Make S-SPC scroll in the opposite sense to SPC. (Bug#2145) - -2013-02-11 Elias Pipping - - * doc-view.el (doc-view-current-cache-dir): Beware % escapes - (bug#13679). - -2013-02-11 Stefan Monnier - - * cus-start.el (all): Remove inhibit-local-menu-bar-menus. - -2013-02-11 Glenn Morris - - * vc/diff.el (diff-use-labels): New variable. - (diff-no-select): Use --label rather than -L, and first - check that it is supported. (Bug#11067) - - * files.el (enable-dir-local-variables): New variable. - (hack-dir-local-variables): Respect enable-dir-local-variables. - * tutorial.el (help-with-tutorial): - Ignore directory-local variables. (Bug#11127) - - * vc/vc-svn.el (vc-svn-command): Move --non-interactive from here... - (vc-svn-global-switches): ... to here. (Bug#13513) - -2013-02-10 Christopher Schmidt - - * minibuf-eldef.el (minibuffer-default--in-prompt-regexps): - Handle "foo (bar, default: xxx): " prompts. - -2013-02-10 Chong Yidong - - * files.el (basic-save-buffer-1): Do not set - buffer-file-coding-system-explicit (Bug#4533). - - * mail/emacsbug.el (report-emacs-bug): Change binding of - report-emacs-bug-insert-to-mailer to C-c M-i (Bug#13510). - -2013-02-09 Jay Belanger - - * calc/calc.el (calc-allow-units-as-numbers): New variable. - * calc/calc-units.el (calc-convert-units): Use new variable. - -2013-02-09 Eli Zaretskii - - * subr.el (buffer-file-type, default-buffer-file-type): Remove. - - * net/ange-ftp.el (ange-ftp-insert-file-contents): Don't reference - buffer-file-type. - - * mail/feedmail.el (feedmail-force-binary-write): Doc fix. - (feedmail-run-the-queue, feedmail-dump-message-to-queue) - (feedmail-send-it-immediately): Don't bind buffer-file-type, bind - coding-system-for-write instead. - - * jka-compr.el (jka-compr-write-region): Don't bind - buffer-file-type. - - * emacs-lisp/bytecomp.el (byte-compile-file): Don't bind - buffer-file-type. - - * files.el (file-name-buffer-file-type-alist): Remove defvar. - (insert-file-contents-literally): Remove reference to - file-name-buffer-file-type-alist. - - * dos-w32.el (file-name-buffer-file-type-alist): Deprecate and - make-obsolete. - (find-buffer-file-type-match, find-buffer-file-type): Remove. - (find-buffer-file-type-coding-system): Remove references to - find-buffer-file-type-match, find-buffer-file-type, and - buffer-file-type. - Don't put find-buffer-file-type-coding-system into - file-coding-system-alist. - (find-file-binary, find-file-text): Bind coding-system-for-read - instead of file-name-buffer-file-type-alist. - -2013-02-09 Jambunathan K - - * doc-view.el: Use (and prefer) soffice as default ODF->PDF - converter (Bug#13622). - (doc-view-unoconv-program): Make obsolete alias. - (doc-view-odf->pdf-converter-program): New variable. - (doc-view-odf->pdf-converter-function): New variable. - (doc-view-mode-p): Use it. - (doc-view-odf->pdf-converter-unoconv): - Rename from `doc-view-odf->pdf-converter-unoconv'. - (doc-view-odf->pdf-converter-soffice): New function. - (doc-view-convert-current-doc): - Use `doc-view-odf->pdf-converter-function'. - -2013-02-09 Chong Yidong - - * minibuffer.el (minibuffer-inactive-mode-map): Bind mouse-1 to - view-echo-area-messages (Bug#13340). - - * help.el (view-echo-area-messages): Use display-buffer. - - * dired-x.el (dired-do-run-mail): Prompt for confirmation - (Bug#13561). - -2013-02-08 Stefan Monnier - - * emacs-lisp/byte-run.el (eval-when-compile, eval-and-compile): - Eval body right away, now that we do eager macroexpansion (bug#13605). - - * simple.el (end-of-buffer): Don't touch unrelated windows (bug#13466). - (fundamental-mode): Use run-mode-hooks. - - * eshell/esh-proc.el (eshell/kill): Fix last change. - * eshell/em-ls.el (eshell-ls-dir): Fix use of CL in last change. - -2013-02-08 Aidan Gauland - - * eshell/esh-proc.el (eshell/kill): Rewrite. - - * eshell/em-ls.el (show-almost-all): Declare. - (eshell-do-ls): Add support for -A argument. - -2013-02-08 Jambunathan K - - * icomplete.el (icomplete-forward-completions) - (icomplete-backward-completions): Handle corner case (bug#13602). - -2013-02-07 Michael Albinus - - * vc/vc-hooks.el (vc-find-file-hook): `buffer-file-truename' can - be nil. Handle this. (Bug#13636) - -2013-02-07 Richard Stallman - - * mail/rmail.el (rmail-variables): Specify `no-conversion' for - `save-buffer-coding-system'. - -2013-02-07 Alan Mackenzie - - Fix bug in state cache mechanism. Remove 'BOD "strategy". Refactor. - * progmodes/cc-engine.el (c-get-fallback-scan-pos): Remove. - (c-parse-state-get-strategy): Don't return 'BOD any more. - (c-append-lower-brace-pair-to-state-cache): - Extra parameter HERE instead of narrowing. - Widen to top of buffer before searching backwards for a brace pair. - (c-state-push-any-brace-pair): Add HERE parameter to function call. - (c-append-to-state-cache): Extra parameter HERE in place of narrowing. - Narrow to parameter HERE, in place of being called narrowed. - (c-remove-stale-state-cache): Extra parameter HERE in place of - narrowing. Check there's an open brace in the cache before - searching for its match. - (c-invalidate-state-cache-1): Add HERE parameter to function call. - (c-parse-state-1): Don't narrow here for 'forward strategy, - instead passing extra parameter HERE to several functions. - Remove 'BOD strategy. - -2013-02-06 Nicolas Richard (tiny change) - - * emacs-lisp/package.el (describe-package-1): Tell what archive is - used to install the package. - -2013-02-06 Glenn Morris - - * vc/vc-hooks.el (vc-find-file-hook): Don't ask about following links - if we can't get user input. (Bug#6567) - - * startup.el (command-line): If simple.el is missing, - test and warn about for some possible causes. - -2013-02-05 Jan Djärv - - * cus-start.el (all): Add ns-use-native-fullscreen. - -2013-02-05 Glenn Morris - - * profiler.el (profiler-report-mode-map): Add a restart menu entry. - - * play/gamegrid.el (gamegrid-add-score-with-update-game-score): - Fix directory creation in fallback case. - -2013-02-04 Thierry Volpiatto - - * vc/vc.el (vc-next-action): Fix inf-loop (bug#13610). - (vc-update-change-log): Use dolist. - -2013-02-04 Chong Yidong - - * thingatpt.el: Rewrite the URL detection routines, absorbing some - code from ffap.el. - (thing-at-point-beginning-of-url-regexp): New var. - (thing-at-point-uri-schemes): Update list of URI schemes. - (thing-at-point-url-regexp): Variable deleted. - (thing-at-point-markedup-url-regexp): Disallow newlines. - (thing-at-point-newsgroup-regexp) - (thing-at-point-newsgroup-heads) - (thing-at-point-default-mail-uri-scheme): New variables. - (thing-at-point-bounds-of-url-at-point): Rewrite. Use ffap's - method to find the possible bounds of the URI at point. - New optional argument to find ill-formed URIs. - (thing-at-point-url-at-point): Rewrite. New arguments for finding - ill-formed URIs. Use thing-at-point-bounds-of-url-at-point, and - the scheme-adding heuristics from ffap-url-at-point. - (thing-at-point--bounds-of-well-formed-url): New function. - Do parens matching to decide whether to include parens in the URI - (Bug#9153). - - * ffap.el: Require thingatpt. - (ffap-url-at-point): Delegate URI detection to thing-at-point. - All URI-valid characters are now recognized (Bug#5673). - (ffap-string-at-point): Use use-region-p. - (ffap-url-regexp): Extra character is handled by thing-at-point. - (ffap-string-at-point-mode-alist): Allow parentheses. - (ffap-newsgroup-regexp, ffap-newsgroup-heads, ffap-newsgroup-p): - Convert to aliases; code moved to thingatpt.el. - (ffap-gnus-hook): Use setq-local. - -2013-02-04 Glenn Morris - - * emacs-lisp/ert.el (ert--explain-format-atom): - Don't try to print non-characters as characters. (Bug#13543) - -2013-02-03 Michael Albinus - - * net/tramp.el (tramp-debug-message): Extend function exclude list. - (tramp-backtrace): New defun. - (tramp-handle-insert-file-contents): Use `visit' when inserting - the local copy. - - * net/tramp-sh.el (tramp-sh-handle-set-visited-file-modtime): - Use `remote-file-name-inhibit-cache'. - -2013-02-03 Stefan Monnier - - * progmodes/cperl-mode.el (cperl-mode): Avoid byte-compile warning - (bug#13614). - - * subr.el (internal--called-interactively-p--get-frame): Avoid filling - current-load-list (bug#13366). - -2013-02-02 Christopher Schmidt - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Identify g++ template instantiation trace. (Bug#12287) - (compilation-mode-hook, compilation-start-hook) - (compilation-window-height): Simplify docstrings. (Bug#13379) - -2013-02-02 Stefan Monnier - - * mouse.el (mouse-drag-track): Always deactivate the mark before - running the final event's command since that command is in charge of - activating the mark if needed (bug#13523). - -2013-02-02 Juri Linkov - - * replace.el (perform-replace): Move let-bindings of isearch-* - variables deeper to the loop that searches for the next match. - Add bindings for `isearch-nonincremental' and `isearch-adjusted'. - Use `isearch-search-fun-default' instead of `isearch-search-fun'. - (Bug#13579) - - * isearch.el (isearch-search-fun-default): Check for null - first element of isearch-cmds as a precaution when it's used - with inactive isearch. - -2013-02-02 Andrew W. Nosenko (tiny change) - - * net/tramp.el (tramp-check-for-regexp): Avoid "Args out of range" - error when buffer in question is narrowed so position 1 is out of - visible part. - -2013-02-02 Glenn Morris - - * textmodes/remember.el (remember-clipboard): Doc fix. - -2013-02-02 Stefan Monnier - - * progmodes/make-mode.el (makefile-fill-paragraph): Reset syntax-table - properties (bug#13179). - -2013-02-02 Juri Linkov - - * progmodes/grep.el (grep-regexp-alist): Use variable grep-match-face - instead of hard-coded default face `match'. (Bug#9438) - -2013-02-01 Christopher Schmidt - - * vc/vc-arch.el (vc-arch-registered): - * vc/vc-bzr.el (vc-bzr-registered): - * vc/vc-cvs.el (vc-cvs-registered): - * vc/vc-git.el (vc-git-registered): - * vc/vc-hg.el (vc-hg-registered): - * vc/vc-mtn.el (vc-mtn-registered): - * vc/vc-svn.el (vc-svn-registered): Suppress load messages. - (Bug#13139) - - * info.el (Info-next-reference, Info-prev-reference): Add numeric - prefix argument. (Bug#11656) - -2013-02-01 Stefan Monnier - - * help-fns.el (help-split-fundoc): Don't insert byte-compiled body. - -2013-02-01 Glenn Morris - - * vc/vc-hooks.el (vc-menu-map): Disable vc-rollback menu item - if the backend is known not to support it. - - * imenu.el (imenu-default-create-index-function): - Tweak infinite loop test to check for forward motion as well as none. - -2013-02-01 Alex Harsanyi - - * net/soap-client.el (soap-invoke): Encode the string for - `url-request-data' as UTF-8. - Fixes . - -2013-02-01 Glenn Morris - - * calc/calc-help.el (calc-view-news): Use view-emacs-news. - - * calc/README, calc/README.prev: Rename/merge to etc/CALC-NEWS. - -2013-01-31 Michael Albinus - - * net/tramp.el (tramp-tramp-file-p): Comment check for - `string-as-unibyte'. The function does not exist on XEmacs, and - likely we need another approach. - - * net/tramp-sh.el (tramp-compute-multi-hops): Check, whether - `tramp-gw-*' variables are bound. - -2013-01-31 Glenn Morris - - * files.el (basic-save-buffer-2): Choose coding system for - writing the file before backing it up, to reduce delay between - backing up and writing the new version. (Bug#13522) - -2013-01-31 Michal Nazarewicz - - * simple.el (cycle-spacing): New command. - (just-one-space): Use it. - -2013-01-31 Stefan Monnier - - * progmodes/opascal.el: Rename from delphi.el. Use lexical-binding. - (opascal-newline-always-indents): Remove custom. - (opascal-tab, opascal-newline): Remove commands. - (opascal-new-comment-line): Insert "\n" instead of calling newline. - (opascal-mode-map): Keep default bindings for RET and TAB and DEL. - (opascal-save-match-data): Remove, use save-match-data instead. - (opascal-save-state): Use with-silent-modifications. - - * progmodes/pascal.el (pascal-mode-syntax-table): Accept //..\n comments - (bug#13585). - -2013-01-30 Juri Linkov - - * frame.el (toggle-frame-maximized, toggle-frame-fullscreen): - Use fullboth as an alias for fullscreen. Suggested by Jan Djärv in - . - -2013-01-30 Stefan Monnier - - * progmodes/make-mode.el (makefile-backslash-region): Don't compute - column if we're just deleting the backslashes. - (makefile-fill-paragraph): Use eolp. - -2013-01-30 Michael Albinus - - * autorevert.el (auto-revert-use-notify): Fix docstring. - -2013-01-30 Leo Liu - - * imenu.el (imenu--truncate-items): Fix subalist checking (bug#13576). - -2013-01-30 Glenn Morris - - * mouse.el (mouse-drag-line): Avoid pushing same event onto - unread-command-events twice in some cases. This tries to implement - the 2012-07-26 changes in a different way. (Bug#13560) - -2013-01-30 Fabián Ezequiel Gallina - - * progmodes/python.el - (python-pdbtrack-comint-output-filter-function): Enhancements on - stacktrace detection. (thanks @gnovak) - -2013-01-30 Stefan Monnier - - * jit-lock.el (jit-lock-stealth-chunk-start): Don't widen (bug#13542). - (jit-lock-mode, jit-lock-functions, jit-lock-context-unfontify-pos): - Use defvar-local. - (jit-lock-register): Use setq-local. - -2013-01-30 Jay Belanger - - * calc-units.el (math-default-units-table): Remove initial value. - (calc-convert-units): Treat expressions where all the units cancel as - if they didn't have units. - -2013-01-30 Michael Albinus - - * net/tramp.el (tramp-process-connection-type): Fix docstring. - (tramp-completion-reread-directory-timeout): Fix type. - (tramp-connection-min-time-diff): New defcustom. - - * net/tramp-sh.el (tramp-maybe-open-connection): Use it. - -2013-01-30 Glenn Morris - - * imenu.el (imenu-default-create-index-function): - Put back a version of the infinite loop test removed 2013-01-23. - -2013-01-30 Fabián Ezequiel Gallina - - * progmodes/python.el (python-shell-parse-command): - Find python-shell-interpreter with modified environment. - -2013-01-30 Stefan Monnier - - * emacs-lisp/cl.el (cl-set-getf): Add compatibility alias. - -2013-01-29 Alan Mackenzie - - Amend to fontify /regexp/s in actions correctly. - * cc-awk.el (c-awk-harmless-char-re, c-awk-harmless-string*-re): - (c-awk-harmless-string*-here-re): Braces, parens and semicolons - are no longer included. - (c-awk-harmless-line-char-re, c-awk-harmless-line-string*-re): - What used to be these variables without "-line" in the name. - (c-awk-neutral-re): { is no longer neutral. Escaped newlines now are. - (c-awk-non-arith-op-bra-re): Now also matches {. - (c-awk-pre-exp-alphanum-kwd-re): New regexp to match "print", - "return", and "case". - (c-awk-kwd-regexp-sign-re): New, to match "print", etc., followed - by /. - (c-awk-syntax-tablify-/): Check special cases "print /re/", etc. - (c-awk-set-syntax-table-properties): Extend FSM to handle {,},(,),;. - -2013-01-29 Michael Albinus - - * autorevert.el (auto-revert-use-notify): - Use `custom-initialize-default' for initialization. (Bug#13583) - - * net/ange-ftp.el (ange-ftp-skip-msgs): Add another message. - - * net/tramp-sh.el (tramp-sh-handle-start-file-process): - Catch `suppress'. Otherwise, `tramp-run-real-handler' might be called - in `tramp-file-name-handler'. - (tramp-gw-tunnel-method, tramp-gw-socks-method): Declare for - compatibility. - (tramp-compute-multi-hops): Check, whether - `tramp-gw-tunnel-method' and `tramp-gw-socks-method' are non-nil. - -2013-01-28 Stefan Monnier - - * hi-lock.el (hi-lock-unface-buffer): Don't assume `face' is a symbol - (bug#13297). - -2013-01-27 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-font-lock-keywords): Remove some - checks made superfluous by the \_< operator. - * progmodes/ruby-mode.el (ruby-move-to-block): Work with (maybe - temporarily) broken indentation. - * progmodes/ruby-mode.el (ruby-font-lock-keywords): - Highlight nested constants, too. \_< broke that. - -2013-01-27 Nobuyoshi Nakada - - * progmodes/ruby-mode.el (ruby-font-lock-keywords): Use "\\_<" - instead of "\\b". - -2013-01-27 Michael Albinus - - * autorevert.el (auto-revert-handler): Notifications which result - from a saved file shall not be taken into account. (Bug#13557) - -2013-01-26 Andreas Schwab - - * emacs-lisp/lisp-mode.el (lisp-mode-variables): Add optional - parameter BAR-NOT-SYMBOL to control syntax of | for font-lock. - (lisp-mode): Pass t for it. (Bug#13556) - -2013-01-25 Alan Mackenzie - - AWK Mode: Fix indentation bug at top level. Bug #12274. - - * progmodes/cc-engine.el (c-guess-basic-syntax): Move CASE 5P to - just before CASE 5D. - -2013-01-25 Dmitry Antipov - - * net/socks.el (socks-nslookup-host): Use string-to-number. - -2013-01-25 Michael Albinus - - * autorevert.el (auto-revert-remote-files) - (auto-revert-notify-exclude-dir-regexp): New defcustoms. - (auto-revert-notify-enabled, auto-revert-use-notify) - (auto-revert-notify-watch-descriptor-hash-list) - (auto-revert-notify-modified-p, auto-revert-notify-event-p) - (auto-revert-notify-event-descriptor) - (auto-revert-notify-event-action) - (auto-revert-notify-event-file-name): Doc fix. - (global-auto-revert-mode): Reorder checks. - (auto-revert-notify-rm-watch): Respect changed values of - `auto-revert-notify-watch-descriptor-hash-list'. - (auto-revert-notify-add-watch): Check for - `auto-revert-notify-exclude-dir-regexp'. Adapt filters for - `inotify-add-watch'. Watch `default-directory' instead of - `buffer-file-name'. `auto-revert-notify-watch-descriptor-hash-list' - has a changed meaning now. (Bug#13540) - (auto-revert-notify-handler): Change implementation wrt events - returning from a directory. - (auto-revert-handler): Reorder implementation for checks of remote - files. - (auto-revert-buffers): Fix parentheses error. - -2013-01-25 Fabián Ezequiel Gallina - - * progmodes/python.el: Enhancements to header documentation about - skeletons. (Bug#5716) - - * imenu.el (imenu-default-create-index-function): Remove useless - infinite loop check. (Bug#13438) - -2013-01-25 Alan Mackenzie - - Fix a bug in the state cache mechanism. Refactor this a bit. - - * progmodes/cc-engine.el (c-parse-state-get-strategy): Remove the - `cache-pos' element from the return value. - (c-append-lower-brace-pair-to-state-cache): "Narrow" to end of - buffer to enable proper searching from beyond HERE. Amend the - test for detecting the sought brace pair. Amend the value written - to the "brace desert cache" when the brace isn't found. - (c-remove-stale-state-cache): Rename `good-pos' to `start-point', - and several other variables analogously. - (c-remove-stale-state-cache-backwards): Change `cache-pos' from a - parameter to a locally calculated variable. - (c-parse-state-1): Change the calling conventions to the two - defuns involving `cache-pos'. - -2013-01-25 Chong Yidong - - * xml.el (xml-entity-or-char-ref-re): Fix regexp. - -2013-01-24 Aaron Ecay (tiny change) - - * paren.el (show-paren-function): Make sure to set 'priority and - 'face only if the overlay does exist. - -2013-01-24 Michael Albinus - - * net/tramp.el (tramp-tramp-file-p): Check, whether NAME is unibyte. - - * net/tramp-sh.el (tramp-sh-handle-set-file-acl): Do not suppress - basic attributes. - (tramp-sh-handle-set-file-acl): Improve error checking. - -2013-01-24 Dmitry Antipov - - * doc-view.el (doc-view-display): Force mode line update until all - document is converted. Suggested by Stefan Monnier (Bug#13164). - -2013-01-23 Bastien Guerry - - * paren.el (show-paren-function): Make sure an overlay exists - before trying to delete it. Also use `pos' as a position only - when it is an integer. - -2013-01-23 Dmitry Antipov - - * play/gametree.el (gametree-break-line-here): Use point-marker. - -2013-01-22 Michael Albinus - - * net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers): - Mark descriptive parts with `display' property. - -2013-01-21 Agustín Martín Domingo - - * textmodes/ispell.el (ispell-hunspell-dictionary-equivs-alist): - New variable to map standard dict names to hunspell ones. - (ispell-set-spellchecker-params): Make sure specific dict names - are used for standard dicts with hunspell. - -2013-01-21 Tassilo Horn - - * textmodes/reftex-cite.el (reftex-format-citation): Add format - chars for note (%N) and url (%U). - * textmodes/reftex-vars.el (reftex-cite-format): Document them. - -2013-01-21 Juri Linkov - - * frame.el: Bind `f10' in `esc-map' to `toggle-frame-maximized' - in addition to existing separate binding `meta f10' in `global-map'. - (Bug#13484) - -2013-01-21 Michael Albinus - - Improve XEmacs compatibility. - - * net/tramp.el (tramp-replace-environment-variables): Make it a defun. - - * net/tramp-adb.el (top): Require `time-date'. - (tramp-adb-ls-output-time-less-p): Use `tramp-time-less-p'. - (tramp-adb-handle-copy-file, tramp-adb-handle-rename-file): - Use `tramp-file-name-handler'. - (tramp-adb-maybe-open-connection): - Use `tramp-compat-set-process-query-on-exit-flag'. - - * net/tramp-sh.el (tramp-sh-handle-file-acl): - Use `tramp-compat-funcall'. - - * net/tramp-smb.el (tramp-smb-handle-file-acl): Use `looking-at' and - `tramp-compat-funcall'. - -2013-01-21 Jürgen Hötzel - - * net/tramp-adb.el (tramp-adb-handle-start-file-process): Complete - reimplementation using "adb shell command ..." instead of running - remote shell interactively. - -2013-01-20 Glenn Morris - - * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): - Add native profiler menu entries. - - * profiler.el (profiler-running-p): New function. - (profiler-cpu-profile): Use profiler-running-p. - (profiler-report-mode-map): Add some more menu entries. - -2013-01-19 Glenn Morris - - * mail/unrmail.el (unrmail): Do not mangle the mbox From line; - fixes 2012-12-07 change. (Bug#13499) - -2013-01-19 Leo Liu - - * dired.el (dired-get-marked-files): Prune erroneous values due to - last change. (Bug#13152) - -2013-01-19 Glenn Morris - - * progmodes/etags.el (tags-table-check-computed-list): - Preserve point in tags buffer. (Bug#13412) - - * emacs-lisp/lisp-mode.el (lisp-indent-function): Doc fix. - -2013-01-19 Christian Wittern (tiny change) - Chong Yidong - - * image-mode.el (image-next-file, image-previous-file): - New commands (Bug#8453). - (image-mode-map): Bind them to n and p. - (image-mode--images-in-directory): New helper function. - -2013-01-19 Chong Yidong - - * image-mode.el (image-mode-fit-frame): Add a frame argument. - Suggested by Drew Adams (Bug#7730). Handle window decorations; - save and restore the old window configuration. - -2013-01-18 Leo Liu - - * progmodes/js.el: Tweak autoload cookie for alias. - -2013-01-17 Michael Albinus - - * autorevert.el (auto-revert-notify-watch-descriptor): Make it - buffer local, again. This was lost with the fix on 2013-01-12. - -2013-01-17 Jürgen Hötzel - - * eshell/esh-util.el (eshell-path-env): Make it buffer local, in - order to support several eshell buffers in parallel. - -2013-01-17 Michael Albinus - - * autorevert.el (auto-revert-use-notify): In the :set function, do - not modify `kill-buffer-hook'. - (auto-revert-notify-rm-watch): - Remove `auto-revert-notify-rm-watch' from `kill-buffer-hook'. - (auto-revert-notify-add-watch): Do not call - `auto-revert-notify-rm-watch', but add it to a buffer local - `kill-buffer-hook'. - -2013-01-16 Stefan Monnier - - * emacs-lisp/trace.el (trace--read-args): Use a closure and an honest - call to `eval' rather than a backquoted lambda. - -2013-01-15 Stefan Monnier - - * emacs-lisp/nadvice.el (advice--tweak): Make it possible for `tweak' - to return an explicit nil. - (advice--remove-function): Change accordingly. - - * emacs-lisp/advice.el (ad-preactivate-advice): Adjust the cleanup to - the use of nadvice.el. - - * progmodes/which-func.el (which-function): Silence imenu errors - (bug#13433). - -2013-01-15 Michael R. Mauger - - * progmodes/sql.el (sql-imenu-generic-expression): - (sql-mode-font-lock-object-name): Match schema qualified names. - (sql-connect): Use string keys. - (sql-product-interactive): Wait for interpreter prompt. - (sql-comint-oracle): Set process coding based on NLS_LANG. - -2013-01-15 Michael R. Mauger - - * progmodes/sql.el (sql-output-to-send): Remove, unused. - (sql-interactive-remove-continuation-prompt): - (sql-send-magic-terminator, sql-interactive-mode): Remove references. - -2013-01-14 Leo Liu - - * calendar/calendar.el (calendar-redraw): Sync window-point and point. - (Bug#13420) - -2013-01-14 Glenn Morris - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Fix interpretation of gnu line.col1-col2 format. (Bug#13335) - -2013-01-13 Fabián Ezequiel Gallina - - * progmodes/python.el (python-nav-end-of-statement): - Fix cornercase when handling multiline strings. - -2013-01-13 Richard Stallman - - * mail/sendmail.el (mail-position-on-field): Add doc string. - - * mail/rmailmm.el (rmail-insert-mime-forwarded-message): - Get current message boundaries and pass them to - message-forward-make-body-mime. Minor style changes. - -2013-01-13 Eli Zaretskii - - * cus-start.el (all): Avoid warnings about - scroll-bar-adjust-thumb-portion on platforms where it is not defined. - -2013-01-11 Jan Djärv - - * cus-start.el (all): Add scroll-bar-adjust-thumb-portion. - -2013-01-13 Stefan Monnier - - * jit-lock.el (jit-lock-debug-mode): New minor mode. - (jit-lock--debug-fontifying): New var. - (jit-lock--debug-fontify): New function. - * subr.el (condition-case-unless-debug): Don't prevent catching the - error, just let the debbugger run. - * emacs-lisp/timer.el (timer-event-handler): Don't prevent debugging - timer code and don't drop errors silently. - -2013-01-12 Michael Albinus - - * autorevert.el (auto-revert-notify-watch-descriptor): Give it - `permanent-local' property. - (auto-revert-notify-handler): Use `file-equal-p'. - -2013-01-12 Eli Zaretskii - - * autorevert.el (auto-revert-notify-handler): Fix filtering of - file notification by ACTION. For filtering by file name, compare - only the non-directory part of the file name. - -2013-01-12 Stefan Monnier - - * autorevert.el: Use cl-lib instead of cl. - - * vc/vc-bzr.el (vc-bzr--sanitize-header): New function (bug#13307). - (vc-bzr-checkin): Use it. - * vc/log-edit.el (log-edit-extract-headers): Don't presume FUNCTION - will preserve match-data. - -2013-01-11 Felix H. Dahlke - - * progmodes/js.el: Fix multiline declarations's indentation (bug#8576). - (js--declaration-keyword-re): New var. - (js--multi-line-declaration-indentation): New function. - (js--proper-indentation): Use it. - -2013-01-11 Aaron S. Hawley - - * calc/calc.el (calc-highlight-selections-with-faces) - (calc-dispatch): - * comint.el (comint-history-isearch-message): - * emacs-lisp/edebug.el (edebug-read, edebug-eval-defun): - * ffap.el (ffap-string-at-point-region, ffap-next) - (ffap-string-at-point, ffap-string-around) - (ffap-copy-string-as-kill, ffap-highlight-overlay) - (ffap-literally): - * font-lock.el (font-lock-keywords-alist) - (font-lock-removed-keywords-alist): - * help-mode.el (help-xref-symbol-regexp): - * info.el (Info-find-emacs-command-nodes): - * international/mule.el (add-to-coding-system-list): - * isearch.el (isearch-message-function, isearch-fail-pos): - * misearch.el (multi-isearch-next-buffer-function): - * newcomment.el (comment-box): - * printing.el (pr-txt-printer-alist, pr-ps-printer-alist) - (pr-setting-database): - * progmodes/cc-fonts.el (c-font-lock-keywords-3) - (c++-font-lock-keywords-3, objc-font-lock-keywords-3) - (java-font-lock-keywords-3, idl-font-lock-keywords-3) - (pike-font-lock-keywords-3): - * progmodes/compile.el (compile): - * progmodes/etags.el (tags-table-files) - (tags-table-files-function, tags-included-tables-function): - * progmodes/gdb-mi.el (gdb, gdb-setup-windows) - (gdb-restore-windows): - * ps-print.el (ps-even-or-odd-pages, ps-spool-buffer-with-faces) - (ps-n-up-filling-database): - * server.el (server-buffer, server-log): - * simple.el (newline, delete-backward-char, delete-forward-char) - (minibuffer-history-isearch-message, kill-line, track-eol) - (temporary-goal-column): - * textmodes/flyspell.el (flyspell-mark-duplications-flag) - (flyspell-default-deplacement-commands): - * textmodes/ispell.el (ispell-accept-output): - * textmodes/sgml-mode.el (html-tag-help): - * vc/compare-w.el (compare-ignore-whitespace) - (compare-ignore-case, compare-windows-dehighlight): - * vc/diff.el (diff): - * whitespace.el (whitespace-point) - (whitespace-font-lock-refontify, whitespace-bob-marker) - (whitespace-eob-marker): Fix ambiguous doc string cross-reference(s). - -2013-01-11 Michael Albinus - - * autorevert.el (top): Require 'cl in order to pacify byte compiler. - (auto-revert-notify-rm-watch): Ignore errors. - (auto-revert-notify-add-watch): Ignore errors. Use '(modify) for - inotify, and '(size last-write-time) for w32notify. - Set buffer-local `auto-revert-use-notify' to nil when adding a file - watch fails - this is a fallback to the file modification check. - (auto-revert-notify-event-p, auto-revert-notify-event-descriptor) - (auto-revert-notify-event-action) - (auto-revert-notify-event-file-name): New defuns. - (auto-revert-notify-handler): Use them. Implement first - plausibility checks. - (auto-revert-handler): Handle also `auto-revert-tail-mode'. - -2013-01-11 Julien Danjou - - * color.el (color-rgb-to-hsv): Fix conversion computing in case min and - max are almost equal. Also return the correct value for V which is - already between 0 and 1. - -2013-01-11 Dmitry Antipov - - * emacs-lisp/ert.el (ert-run-test): Use point-max-marker. - -2013-01-11 Eli Zaretskii - - * autorevert.el (auto-revert-notify-rm-watch) - (auto-revert-notify-add-watch): Fix typos in w32notify function - names. - -2013-01-10 Michael Albinus - - * autorevert.el (auto-revert-notify-enabled): Move up. - (auto-revert-use-notify): New defcustom. - (auto-revert-mode, global-auto-revert-mode) - (auto-revert-notify-add-watch, auto-revert-handler) - (auto-revert-buffers): Use `auto-revert-use-notify' instead of - `auto-revert-notify-enabled'. - -2013-01-10 Elias Pipping - - * files.el (auto-mode-alist): Use doc-view for djvu files (bug#13164). - * doc-view.el (doc-view-document->bitmap): - Use doc-view-single-page-converter-function instead of - single-page-converter arg; adjust callers. - -2013-01-10 Feng Li (tiny change) - - * progmodes/which-func.el (which-function): Understand Semantic's use - of overlays in imenu--index-alist. - -2013-01-10 Wolfgang Jenkner - - * man.el: Handle different "man -k" behaviors (bug#13160). Use utf-8. - (Man-man-k-use-anchor): New var. - (Man-parse-man-k): New function. - (Man-completion-table): Use it. - (man): Flush the completion cache between uses. - -2013-01-10 Michael Albinus - - * autorevert.el: Add file watch support. - (auto-revert-notify-enabled): New defconst. - (auto-revert-notify-watch-descriptor-hash-list) - (auto-revert-notify-watch-descriptor) - (auto-revert-notify-modified-p): New defvars. - (auto-revert-notify-rm-watch, auto-revert-notify-add-watch) - (auto-revert-notify-handler): New defuns. - (auto-revert-mode, global-auto-revert-mode): Remove file watches - when mode is disabled. - (auto-revert-handler): Check for `auto-revert-notify-modified-p'. - (auto-revert-buffers): Add file watches for active buffers. - -2013-01-10 Dmitry Antipov - - * cus-start.el (toplevel): Only allow float values for - scroll-up-aggressively and scroll-down-aggressively. - Allow any number for line-spacing. - -2013-01-10 Stefan Monnier - - * doc-view.el (doc-view-pdfdraw-program): Allow "pdfdraw" name. - (doc-view-pdf->png-converter-function): Use mupdf if available. - (doc-view-djvu->png-converter-function) - (doc-view-ps->png-converter-function): Remove. - (doc-view--image-file-pattern): Replace doc-view--image-file-extension. - (doc-view-goto-page, doc-view-convert-current-doc, doc-view-display) - (doc-view-already-converted-p): Adjust accordingly. - (doc-view-mode-p): Simplify. - (doc-view-enlarge): Use setq-local. - (doc-view-pdf->png-converter-ghostscript) - (doc-view-djvu->png-converter-ddjvu) - (doc-view-pdf->png-converter-mupdf): Rework to call - doc-view-start-process directly. - (doc-view-pdf/ps->png): Simplify accordingly. - (doc-view-pdf->png-1, doc-view-djvu->png-1): Remove. - (doc-view-document->bitmap): Rename from doc-view-document->png. - (doc-view-convert-current-doc): Merge pdf and djvu cases. - (doc-view-set-slice-from-bounding-box): Fix completion table. - (doc-view-mode): Use add-hook for after-revert-hook. - -2013-01-10 Glenn Morris - - * emacs-lisp/authors.el (authors-ignored-files) - (authors-valid-file-names, authors-renamed-files-alist): - Add some more entries. - -2013-01-10 Stefan Monnier - - * image-mode.el (image-mode-winprops): Don't throw away the fallback - `t' pseudo-window entry. - -2013-01-10 Alan Mackenzie - - Fix bugs in the c-parse-state mechanism. Reuse some markers - instead of continually generating new ones. - - * progmodes/cc-engine.el (c-state-old-cpp-beg-marker) - (c-state-old-cpp-end-marker): New variables. - (c-append-lower-brace-pair-to-state-cache): Start a backward - search for "}" definitively outside CPP constructs. - (c-remove-stale-state-cache): Inform the caller of a need to - search back for a brace pair in certain circumstances. - (c-state-maybe-marker): New macro. - (c-parse-state): Reuse markers when appropriate. - -2013-01-10 Glenn Morris - - * simple.el (execute-extended-command): Doc fix. - Bind prefix-arg around read-extended-command, for prompt. (Bug#13395) - -2013-01-10 Chong Yidong - - * faces.el (read-face-name): Doc fix. - -2013-01-10 Roland Winkler - - * emacs-lisp/crm.el: Allow any regexp for separators. - (crm-default-separator): All spaces around the default comma separator. - (crm--completion-command): New macro. - (crm-completion-help, crm-complete, crm-complete-word): Use it. - (crm-complete-and-exit): Handle non-single-char separators. - -2013-01-09 Elias Pipping - - * doc-view.el: Add support for DjVu (bug#13164). - (doc-view-djvu->png-converter-function): New config var. - (doc-view-single-page-converter-function, doc-view--image-type) - (doc-view--image-file-extension): New vars. - (doc-view-mode): Initialize them. - (doc-view-goto-page): Use them. - (doc-view-mode-p): Add support for ddjvu. - (doc-view-djvu->png-converter-ddjvu, doc-view-djvu->png-1) - (doc-view-set-up-single-converter): New funs. - (doc-view-pdf/ps->png): Extend for djvu. - (doc-view-document->png): Rename from doc-view-pdf->png. - (doc-view-convert-current-doc): Handle djvu. - (doc-view-insert-image, doc-view-display) - (doc-view-already-converted-p): Don't hardcode png. - (doc-view-set-doc-type): Recognize djvu docs. - -2013-01-09 Elias Pipping - - * doc-view.el: Add support for mupdf converter (bug#13164). - (doc-view-pdfdraw-program, doc-view-pdf->png-converter-function) - (doc-view-ps->png-converter-function): New config vars. - (doc-view-pdf->png-converter-ghostscript) - (doc-view-ps->png-converter-ghostscript) - (doc-view-pdf->png-converter-mupdf): New functions. - (doc-view-pdf/ps->png, doc-view-pdf->png-1): Use them. - -2013-01-09 Jürgen Hötzel - - * net/tramp.el (tramp-eshell-directory-change): Check remote-path - first in session cache: When `tramp-own-remote-path' is in - `tramp-remote-path', the remote path is only set in the session - cache. - -2013-01-09 Glenn Morris - - * emacs-lisp/trace.el (trace-function-foreground) - (trace-function-background): Doc fix. - -2013-01-09 Juri Linkov - - * international/mule-cmds.el (read-char-by-name): Move let-binding - of completion-ignore-case around completing-read to fix regression - exhibited by the test case `C-x 8 RET *acc TAB' and caused by - `string-match-p' using the nil value of `case-fold-search' and - `completion-ignore-case' in `completion-pcm--all-completions'. - (Bug#12615). - -2013-01-09 Glenn Morris - - * progmodes/compile.el (compilation-parse-errors): - Fix typo. (Bug#13369) - -2013-01-09 Vitalie Spinu (tiny change) - - * comint.el (comint-send-input): Check size of buffer before - waiting for process output, in case already accepted. (Bug#13290) - -2013-01-09 Paul Eggert - - Spelling fixes. - * net/tramp-adb.el (tramp-adb-get-toolbox): - Fix misspelling of 'unknown'. - -2013-01-08 Juri Linkov - - * textmodes/flyspell.el (flyspell-incorrect, flyspell-duplicate): - * progmodes/flymake.el (flymake-errline, flymake-warnline): - Use underline style wave on terminals that support it. (Bug#13000) - -2013-01-08 Stefan Monnier - - * emacs-lisp/pcase.el (pcase--split-equal): Also take advantage if - the predicate returns nil. - - * simple.el: Use lexical-binding. - (primitive-undo): Use pcase. - (minibuffer-history-isearch-push-state): Use a closure. - -2013-01-08 Aaron S. Hawley - - * simple.el (primitive-undo): Move from undo.c. - -2013-01-08 Stefan Monnier - - * vc/pcvs.el (cvs-cleanup-collection): Extend meaning of `rm-handled'. - (cvs-mode-remove-handled): Use it (bug#13380). - - * emacs-lisp/nadvice.el (advice--tweak): New function. - (advice--remove-function, advice--subst-main): Use it. - - * emacs-lisp/advice.el: Update commentary. - -2013-01-08 Michael Albinus - - * net/tramp-adb.el (tramp-adb-file-name-handler-alist): - Remove spurious entry. - -2013-01-08 Glenn Morris - - * net/tramp.el (tramp-default-host-alist): Add :version. - -2013-01-08 Juri Linkov - - * info.el (Info-read-node-name-2): Don't duplicate suffixes for - single completion. (Bug#12456) - (info--manual-names): Expand node completions into an explicit list - before appending it to another list. Filter out internal buffers - with the leading space in the buffer name. (Bug#10771) - -2013-01-08 Juri Linkov - - * info.el (Info-read-node-name-1): Allow empty node name in (FILENAME) - that defaults to the Top node. - (Info-goto-node, Info-read-node-name): Doc fix to mention that - the short format (FILENAME) goes to the Top node. - (Info-build-node-completions): Rename arg `file' to `filename'. - (Bug#13365) - -2013-01-07 Bastien Guerry - - * menu-bar.el (menu-bar-search-documentation-menu): - Use `apropos-user-option' and fix the help message. - -2013-01-07 Bastien Guerry - - * apropos.el (apropos-do-all): Update docstring. - (apropos-user-option-button): New face. - (apropos-user-option): Rename from `apropos-variable' and update - docstring. - (apropos-variable): Rewrite, now show all variables by default. - (apropos-print): Mention "User option" instead of "Variable" when - printing doc for user options. (Bug#13276) - -2013-01-07 Jürgen Hötzel - - * net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls): - Handle filename correctly, when parsing "source -> target" symlink - output. - (tramp-adb-handle-set-file-times): New defun. - -2013-01-07 Stefan Monnier - - * emacs-lisp/advice.el (ad-activate-advised-definition): Refresh the - advice list when the interactive-spec of ad-Advice-* changes. - -2013-01-07 Katsumi Yamaoka - - * wid-edit.el (widget-default-get): Work for inlined elements. - (Bug#12670) - -2013-01-07 Michael Albinus - - * net/tramp.el (tramp-default-host-alist): New defcustom. - (tramp-find-host): Use it. - (tramp-eshell-directory-change): Move from tramp-sh.el. Add to - `eshell-directory-change-hook'. - - * net/tramp-adb.el (top): Add adb specific entry in - `tramp-default-host-alist'. - (tramp-adb-file-name-host): Remove function. - (tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection): - Use `tramp-file-name-host' instead of `tramp-adb-file-name-host'. - - * net/tramp-sh.el: Move eshell integration code to tramp.el. - -2013-01-06 Jürgen Hötzel - - * net/tramp-adb.el (tramp-methods): Add `tramp-tmpdir' entry. - -2013-01-06 Michael Albinus - - * net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): The file size can - consist of more than one digit. - (tramp-adb-file-name-handler-alist): - Use `tramp-handle-file-exists-p' consistently. - (tramp-adb-file-name-handler): Don't tweak `tramp-default-host'. - (tramp-adb-handle-file-exists-p): Remove function. - (tramp-adb-file-name-host): New defun. - (tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection): - Use it. - (tramp-adb-maybe-open-connection): Set "remote-path" property. - -2013-01-06 Chong Yidong - - * vc/vc.el (vc-next-action): Detect buffer modifications - conflicting with locking VCS operation (Bug#11490). - - * vc/vc-hooks.el (vc-after-save): DTRT for locking VCSes. - -2013-01-05 Michael Albinus - - * net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls): - (tramp-adb-handle-directory-files-and-attributes): Fix typos. - -2013-01-05 Jürgen Hötzel - - * net/tramp-adb.el (tramp-adb-handle-file-attributes): More robust - parsing of ls output using regular expression (handle filenames - with spaces). Use virtual device number. - (tramp-do-parse-file-attributes-with-ls): New defun (Code - cleanup). - -2013-01-04 Daiki Ueno - - * epg.el: Silence byte-compiler warnings. - (epg--start): Use delete-char instead of delete-backward-char. - (epg-wait-for-completion): Pass FRAME arg to redraw-frame. - -2013-01-04 Daiki Ueno - - * epg.el (epg--start): Don't call "tty" program on W32 platforms. - Suggested by Eli Zaretskii . - -2013-01-04 Michael Albinus - - * net/tramp-sh.el (tramp-set-file-uid-gid): UID and GID must be - non-negative integers. Otherwise, the default values are used. - (tramp-convert-file-attributes): Convert uid and gid to integers. - -2013-01-04 Glenn Morris - - * term.el (term-handle-colors-array): Ensure face attributes - are fully specified, not nil. (Bug#13337) - - * term.el (term-default-fg-color, term-default-bg-color): - Fix custom type. - - * progmodes/etags.el (tags-compression-info-list): Doc fix. - (tag-find-file-of-tag-noselect): Check auto-compression-mode - rather than 'jka-compr being loaded. (Bug#13338) - -2013-01-04 Wesley Dawson (tiny change) - - * icomplete.el (icomplete-completions): - Honor icomplete-prospects-height once more following - 2012-11-29 changes. (Bug#13224) - -2013-01-04 Stefan Monnier - - * subr.el (internal--called-interactively-p--get-frame): Find aliases - of called-interactively-p as well (bug#13237). - - * view.el (view--enable, view--disable): Rename from view-mode-enable - and view-mode-disable and assume it's called from view-mode. - (view-mode-enable, view-mode-disable): Redefine as obsolete - compatibility layer above view-mode. - (view-mode-enter): Call `view-mode'. - - * files.el (after-find-file): Call `view-mode'. - - * doc-view.el (doc-view-scale-internally): New var. - (doc-view-enlarge, doc-view-insert-image): Obey it. - -2013-01-03 Daiki Ueno - - * epg.el (epg--start): Ignore errors when /dev/fd/0 does not - exist. (Bug#13344) - -2013-01-03 Glenn Morris - - * mail/rmail.el (rmail-set-header-1): Ignore case. - Handle multi-line headers. (Bug#13330) - - * progmodes/make-mode.el (makefile-fill-paragraph): Add doc. - Handle paragraph starting at beginning of buffer. - - * subr.el (eval-after-load): Don't purecopy the form, so that it - can be nconc'd later on; reverts 2009-11-11 change. (Bug#13331) - - * emacs-lisp/byte-run.el (defun): Place cl declarations - after any interactive spec. (Bug#13265) - -2013-01-02 Andreas Schwab - - * emacs-lisp/byte-run.el (defmacro): Use same argument parsing as - defun. Don't check for DECL if DOCSTRING isn't a string. - (defun): Likewise. - -2013-01-02 Glenn Morris - - * eshell/em-cmpl.el (eshell-pcomplete): - More thoroughly imitate pcomplete. (Bug#13293) - - * files.el (parse-colon-path): Doc fix. (Bug#12351) - Return nil for empty path elements. (Bug#13296) - -2013-01-02 Fabián Ezequiel Gallina - - * progmodes/python.el (python-nav-end-of-statement): Rewrite in - order to improve efficiency (Based on Daniel Colascione's - patch). (Bug#13182) - -2013-01-02 Glenn Morris - - * vc/log-edit.el (log-edit-header-contents-regexp): Add doc string. - -2013-01-02 Andreas Schwab - - * emacs-lisp/byte-run.el (defmacro): Don't lose final nil if - neither DOCSTRING nor DECL was given. (Bug#13316) - -2013-01-02 Michael Albinus - - * net/tramp-sh.el (tramp-sh-handle-set-file-acl): Add argument to - `error' call. - (tramp-do-copy-or-rename-file): Ignore errors when calling - `set-file-extended-attributes'. - - * net/tramp-smb.el (tramp-smb-file-name-handler-alist): - Add handler for `file-acl'. - (tramp-smb-handle-file-acl): New defun. - -2013-01-02 Jay Belanger - - * calc/README: Mention ISO 8601 week-numbering dates. - -2013-01-01 Martin Rudalics - - * view.el (view-mode-enable): New argument run-view-mode-hook. - Run view-mode-hook only when it's non-nil (Bug#13315). - (view-mode-enter): Call view-mode-enable with run-view-mode-hook - argument t. - -2012-12-31 Jürgen Hötzel - - * net/tramp-adb.el (tramp-adb-maybe-open-connection): Handle errors - (No device connected, invalid device name). (Bug #13299) - -2012-12-31 Martin Rudalics - - * window.el (window-resizable--p): Rename to window-resizable-p. - (window-resize-no-error): New function. - - * mail/rmail.el (rmail-maybe-display-summary): Restore behavior - broken in fix from 2012-12-28. - -2012-12-31 Stefan Monnier - - * subr.el (special-form-p): Don't signal errors on undef aliases. - -2012-12-31 Jay Belanger - - * calc/calc-forms.el (math-parse-date): Try using - `math-parse-iso-date' when it looks like it might be needed. - Allow times of 24:00. - (math-parse-date-validate, math-parse-iso-date-validate): Allow times - of 24:00. - -2012-12-30 Glenn Morris - - * net/mairix.el (rmail, rmail-summary-displayed, rmail-summary): - Remove unnecessary/buggy autoloads (missing interactive). (Bug#13294) - (rmail-summary-displayed, rmail-summary): Declare. - (mairix-rmail-display): Just require rmail. - -2012-12-30 Chong Yidong - - * emacs-lisp/package.el (package-untar-buffer): Improve integrity - check for the tarball contents. - -2012-12-30 Matt Fidler (tiny change) - - * emacs-lisp/package.el (package-untar-buffer): Handle problematic - tarfile content listings (Bug#13136). - -2012-12-30 Mark Lillibridge - - * mail/rmailmm.el (rmail-insert-mime-forwarded-message): - Insert the undecoded text of the message being forwarded. (Bug#9521) - -2012-12-30 Michael Albinus - - * net/tramp-sh.el (tramp-set-file-uid-gid): Convert UID and GID to - integers, if they are real numbers. (Bug#13282) - - * net/tramp-sh.el (tramp-sh-handle-set-file-selinux-context): - Return `t' on success. - - * net/tramp-smb.el (tramp-smb-file-name-handler-alist): - Add handler for `set-file-selinux-context'. - -2012-12-29 Michael Albinus - - * net/tramp-sh.el (tramp-sh-handle-file-acl): Suppress basic attributes. - (tramp-sh-handle-set-file-acl): Return `t' on success. - -2012-12-29 Eli Zaretskii - - * files.el (backup-buffer-copy, basic-save-buffer-2): - If set-file-extended-attributes fails, fall back on set-file-modes - instead of signaling an error. (Bug#13298) - (basic-save-buffer): Likewise. - -2012-12-29 Fabián Ezequiel Gallina - - * progmodes/python.el: Support other commands triggering - python-indent-line so indentation cycling continues to work. - (python-indent-trigger-commands): New defcustom. - (python-indent-line): Use it. - -2012-12-29 Fabián Ezequiel Gallina - - * progmodes/python.el (python-shell-send-region): Add blank lines - for non sent code so backtraces remain correct. - -2012-12-29 Fabián Ezequiel Gallina - - * progmodes/python.el: Remove cl dependency. - (python-syntax-count-quotes): Replace incf call. - (python-fill-string): Replace setf call. - -2012-12-29 Damien Cassou - - * info.el (info-other-window): New arg, for consistency with info. - -2012-12-28 Martin Rudalics - - * mail/rmail.el (rmail-maybe-display-summary): - Rewrite (Bug#13066). - -2012-12-28 Andreas Schwab - - * epg.el (epg--start): Modify process-environment locally. - -2012-12-28 Daiki Ueno - - * epg.el: Support pinentry-curses. - Suggested by Werner Koch in - . - (epg-agent-file, epg-agent-mtime): New variable. - (epg--start): Record the modified time of gpg-agent socket file, - to restore Emacs frame after pinentry-curses termination. - (epg-wait-for-completion): Restore Emacs frame here. - -2012-12-27 Juri Linkov - - * info.el (Info-file-completions): New variable. - (Info-read-node-name-1): Complete node names in the Info file - when a file name is given. Call `Info-build-node-completions' - with a file name. - (Info-build-node-completions): Add new arg `file'. When it is - non-nil, visit it in a temporary buffer and cache its completions in - `Info-current-file-completions'. Move most of the function body to - `Info-build-node-completions-1'. - (Info-build-node-completions-1): New function with the body from - `Info-build-node-completions'. (Bug#12456) - -2012-12-27 Juri Linkov - - * frame.el (frame-maximization-style): Remove user option. - (cycle-frame-maximized): Remove function. - (toggle-frame-maximized): Rewrite and bind to M-. - (toggle-frame-fullscreen): New command bound to instead of - `toggle-frame-maximized'. - http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00703.html - -2012-12-27 Michael Albinus - - * net/tramp.el (tramp-handle-file-accessible-directory-p): New defun. - - * net/tramp-adb.el (tramp-adb-file-name-handler-alist): - * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): - * net/tramp-sh.el (tramp-sh-file-name-handler-alist): Add handler - for `file-accessible-directory-p'. (Bug#13275) - -2012-12-27 Sam Steingold - - * progmodes/cperl-mode.el (cperl-calculate-indent): Do not stagger - continuations, see . - -2012-12-27 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-indent-beg-re): Only allow "class", - "module" and "def" to have indentation before them. - Regression from 2012-09-07T04:15:56Z!dgutov@yandex.ru (see the new test). - - * progmodes/ruby-mode.el: Bump the version to 1.2 (Bug#13200). - -2012-12-27 Alan Mackenzie - - Speed up fontification where there's large brace blocks. - * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Add a limit - to a call of c-beginning-of-decl-1. - -2012-12-27 Vitalie Spinu (tiny change) - - * comint.el (comint-adjust-window-point): New function. - (comint-postoutput-scroll-to-bottom): - Call comint-adjust-window-point (Bug#13248). - -2012-12-26 Dmitry Gutov - - * progmodes/ruby-mode.el (auto-mode-alist): `purecopy' the - Rakefile regexp. - (auto-mode-alist): Associate .gemspec files with ruby-mode - (https://bugs.ruby-lang.org/issues/5453). - -2012-12-26 Jürgen Hötzel - - * net/tramp-adb.el (tramp-adb-get-ls-command): New defun. - Suppress coloring, if possible (required for BusyBox based systems like - CyanogenMod). - (tramp-adb-handle-file-attributes) - (tramp-adb-handle-insert-directory) - (tramp-adb-handle-file-name-all-completions): Use it. - (tramp-adb-get-toolbox): New defun. Check for remote shell - implementation (BusyBox or Toolbox). - -2012-12-24 Constantin Kulikov (tiny change) - - * startup.el (initial-buffer-choice): Allow function as value - (Bug#13251). - (command-line-1): Handle case where initial-buffer-choice - specifies a function. - * server.el (server-execute): Handle case where - initial-buffer-choice specifies a function. - -2012-12-24 Lars Ingebrigtsen - - * mail/smtpmail.el (smtpmail-try-auth-method): Refactored out into - its own function. - (smtpmail-try-auth-methods): Forget the user name/password if the - login is unsuccessful (bug#12424). - -2012-12-22 Michael Albinus - - * notifications.el (notifications-notify): Protect body with - `with-demoted-errors'. - - * net/tramp-adb.el (tramp-adb-maybe-open-connection): - Check properties of remote device. Restart connection, if there is a - change. - -2012-12-21 Chong Yidong - - * sort.el (sort-subr): Doc fix (Bug#13056). - -2012-12-21 Bastien Guerry - - * progmodes/etags.el (tags-search): Fix typo. Bug #13232. - -2012-12-21 Michael Albinus - - * simple.el (process-file): Overwrite stderr file, if exists. - -2012-12-21 Daiki Ueno - - * epg.el (epg--start): Print GPG_AGENT_INFO in the debug buffer. - (epg-error): Set `error-message' property. - -2012-12-21 Chong Yidong - - * international/mule-cmds.el (read-char-by-name): Signal an error - if the user does not supply a valid character (Bug#13177). - - * simple.el (transpose-subr-1): Preserve marker positions by - changing the insertion sequence (Bug#13122). - -2012-12-21 Kelly Dean (tiny change) - - * simple.el (kill-region): Deactivate mark even for empty regions - (Bug#13169). - -2012-12-21 Chong Yidong - - * help-fns.el (describe-variable): Make sure we get the right - buffer name (Bug#13105). Suggested by Kelly Dean. - -2012-12-20 Michael R. Mauger - - * comint.el (comint-redirect-previous-input-string): New variable. - (comint-redirect-setup, comint-redirect-cleanup) - (comint-redirect-preoutput-filter): Use it. Fixes redirection bug. - (comint-redirect-preoutput-filter): Fix verbose message. - -2012-12-20 Michael Albinus - - * progmodes/grep.el (rgrep): Escape command line. Sometimes, it - is too long for Tramp. See discussion in - . - - * progmodes/compile.el (compilation-start): Remove line escape - template. - -2012-12-20 Dmitry Antipov - - * vc/ediff-ptch.el (ediff-map-patch-buffer): Use `point-min-marker'. - Adjust comment. - -2012-12-19 Jonas Bernoulli - - * emacs-lisp/lisp-mnt.el (lm-section-end): Always end before the - following non-comment text (bug#13207). - (lm-header-multiline): Continuation lines need to be indented more than - the first line. - (lm-homepage): New function. - (lm-with-file): Don't be confused if narrowing is in effect. - -2012-12-19 Stefan Monnier - - * vc/diff-mode.el (diff-post-command-hook): Don't ignore changes at the - very beginning of a hunk (e.g. killing the first line). - -2012-12-19 Michael Albinus - - * net/tramp-sh.el (tramp-sh-handle-file-acl): Delete empty lines - and text properties from returned ACL string. - (tramp-sh-handle-set-file-acl): Do not use additional parentheses - for "setfacl" command. - -2012-12-18 Michael Albinus - - * net/tramp.el (tramp-error-with-buffer): Give a hint to use - `tramp-cleanup-this-connection', when the process has died. - (Bug#13151) - -2012-12-17 Stefan Monnier - - * icomplete.el (icomplete-completions): Also use … to truncate prefix. - -2012-12-17 Kevin Ryde - - * files.el (auto-save-file-name-p): Use \` and \' (bug#13186). - -2012-12-17 Michael Albinus - - Add support for preserving ACL entries of files. - - * net/tramp.el (tramp-file-name-for-operation): Add `file-acl' and - `set-file-acl' handlers. - - * net/tramp-adb.el (tramp-adb-handle-copy-file): - Handle PRESERVE-EXTENDED-ATTRIBUTES. - - * net/tramp-compat.el (tramp-compat-copy-file): - Handle PRESERVE-EXTENDED-ATTRIBUTES. - - * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): - Add `file-acl' and `set-file-acl' handlers. - (tramp-gvfs-handle-copy-file): - Handle PRESERVE-EXTENDED-ATTRIBUTES. - (tramp-gvfs-handle-file-acl, tramp-gvfs-handle-set-file-acl): - New defuns. - - * net/tramp-sh.el (tramp-sh-file-name-handler-alist): - Add `file-acl' and `set-file-acl' handlers. - (tramp-remote-acl-p, tramp-sh-handle-file-acl) - (tramp-sh-handle-set-file-acl): New defuns. - (tramp-sh-handle-copy-file, tramp-do-copy-or-rename-file): - Handle PRESERVE-EXTENDED-ATTRIBUTES. - - * net/tramp-smb.el (tramp-smb-file-name-handler-alist): - Add `file-acl' and `set-file-acl' handlers. - (tramp-smb-handle-copy-file): Handle PRESERVE-EXTENDED-ATTRIBUTES. - -2012-12-17 Kelly Dean (tiny change) - - * help-macro.el (make-help-screen): Instead of switch-to-buffer - use pop-to-buffer with NORECORD argument t. As buffer name, use - *Metahelp* with a leading space (Bug#13190). - -2012-12-16 Romain Francoise - - * files.el (file-extended-attributes) - (set-file-extended-attributes): New functions. - (backup-buffer): Use them to handle both SELinux context and ACL - entries. - (backup-buffer-copy): Work with an alist of extended attributes, - rather than an SELinux context. - (basic-save-buffer-2): Ditto. - -2012-12-16 Timo Myyrä - - * battery.el (battery-bsd-apm): New function. - -2012-12-16 Jay Belanger - - * calc/calc.el (calc-standard-date-formats): Adjust one of the - standard date formats. - -2012-12-15 Juri Linkov - - * isearch.el (isearch-mode-map): Bind `C-x 8 RET' to - `isearch-insert-char-by-name'. - (with-isearch-suspended): New defmacro with body mostly from - `isearch-edit-string' except the part that sets - `isearch-new-string' and `isearch-new-message'. - (isearch-edit-string): Use new macro `with-isearch-suspended' with - body that sets `isearch-new-string' and `isearch-new-message'. - (isearch-insert-char-by-name): New command. - * international/mule-cmds.el (read-char-by-name): Let-bind - `enable-recursive-minibuffers' to t. - http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00234.html - -2012-12-15 Juri Linkov - - * isearch.el (isearch-delete-char, isearch-del-char): Doc fix. - (Bug#13175) - -2012-12-15 Christopher Schmidt - - * dired-x.el (dired-guess-shell-command): Put colon at the end of - the prompt. (Bug#13045) - -2012-12-14 Glenn Morris - - * emacs-lisp/macroexp.el (macroexp--warn-and-return): - Try to include filename in non-bytecomp warning. (Bug#13132) - -2012-12-14 Paul Eggert - - Fix permissions bugs with setgid directories etc. (Bug#13125) - * files.el (backup-buffer): Don't rely on 9th output of - file-attributes, as it's now a placeholder. Instead, use the new - optional arg of file-ownership-preserved-p. - (file-ownership-preserved-p): New optional arg GROUP. - Fix mishandling of setuid directories that would cause this - function to return t when it should have returned nil. - Document what happens if the file does not exist, and when - it's not known whether the ownership will be preserved. - * net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p): - Likewise. - (tramp-get-local-gid): Use group-gid for integer, as that's - faster and more reliable. - -2012-12-14 Julien Danjou - - * progmodes/sql.el (sql-mode-postgres-font-lock-keywords): - Update keywords list, data type and PL/pgSQL. - -2012-12-14 Dave Abrahams - - * vc/ediff-util.el (ediff-buffer-type): New function. - (ediff-clone-buffer-for-current-diff-comparison): Compute the buf-type - rather than taking it as as argument. - (ediff-inferior-compare-regions): Adjust calls accordingly (bug#11319). - -2012-12-14 Ryan Crum - - * json.el: Add pretty-print option (bug#12634). - (json-encoding-separator, json-encoding-default-indentation) - (json--encoding-current-indentation, json-encoding-pretty-print) - (json-encoding-lisp-style-closings): New vars. - (json--with-indentation): New macro. - (json-encode-hash-table, json-encode-alist, json-encode-plist) - (json-encode-array): Use it to obey json-encoding-pretty-print. - (json-pretty-print-buffer, json-pretty-print): New commands. - -2012-12-14 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-syntax-propertize-function): - Extract `ruby-syntax-propertize-expansions'. - (ruby-syntax-propertize-expansions): Only change syntax on - certain string delimiters, to punctuation. This way the common - functions like forward-word and thing-at-point still work. - (ruby-match-expression-expansion): Improve readability. - (ruby-block-contains-point): New function. - (ruby-add-log-current-method): Handle several edge cases. - -2012-12-13 Juanma Barranquero - - * emacs-lisp/edebug.el (edebug-unload-function): Make sure that - unload-feature finishes even when aborting an ongoing edebug session. - Also, do not worry about edebug-mode, unload-feature takes care of it. - -2012-12-13 Andreas Schwab - - * net/tls.el (tls-program): Update customize type. - -2012-12-13 Juanma Barranquero - - * emacs-lisp/edebug.el (edebug--require-cl-read): New function. - (edebug-setup-hook, cl-read-load-hooks): Use it. - (edebug-unload-function): New function. (Bug#13163) - -2012-12-13 Michael Albinus - - * net/tramp-adb.el (tramp-adb-file-name-p): Make it a defsubst. - Otherwise, there could be errors in autoloading. (Bug#13151) - -2012-12-13 Jürgen Hötzel - - * net/tramp-adb.el (tramp-adb-wait-for-output): Remove spurious " ^H" - sequences. - -2012-12-13 Alan Mackenzie - - Make CC Mode not hang when _some_ lines end in CRLF. Bug #11841. - * progmodes/cc-engine.el (c-backward-comments): Add code to work - around `forward-comment' not recognizing ^M as whitespace. - -2012-12-13 Fabián Ezequiel Gallina - - * progmodes/python.el (python-skeleton-class) - (python-skeleton-def): Do not add space after defun name. - -2012-12-13 Stefan Monnier - - * emacs-lisp/cl.el (letf): Make it an alias of cl-letf. - (cl--symbol-function): Remove (now that funbound is like nil). - -2012-12-12 Glenn Morris - - * button.el (button--area-button-p): Fix typo. - -2012-12-12 Sam Steingold - - * frame.el (frame-maximization-style): New user option. - (toggle-frame-maximized): Toggle frame maximization according to - `frame-maximization-style', bound to . - (cycle-frame-maximized): Cycle between all maximization styles and - non-maximized frame, bound to shift-. - -2012-12-12 David Cadé - - * mpc.el (mpc-format): Use truncate-string-to-width (bug#13143). - -2012-12-12 Jonas Bernoulli - - * lisp/emacs-lisp/eieio.el: Prettier object pretty-printing (bug#13115). - (eieio-override-prin1): Don't quote kewords and booleans. - (object-write) : Don't put closing parens - on new line, avoid needless empty lines, align values that are objects - with the slot keyword (instead of beginning on the same line). - (eieio-list-prin1): Align value with slot keyword; increase - eieio-print-depth before printing members of the list. - -2012-12-11 Stefan Monnier - - * mail/emacsbug.el (report-emacs-bug): Move the intangible text to - a display text-property. - (report-emacs-bug-hook): Don't bother deleting it any more. - - * hilit-chg.el (highlight-save-buffer-state): Delete. - Use with-silent-modifications instead. - (hilit-chg-set-face-on-change): Only fixup the text that's modified. - - * button.el: Handle buttons in display text-properties. - (button--area-button-p, button--area-button-string): - Use (STRING . STRING-POS) representation instead of just STRING. - -2012-12-11 Eli Zaretskii - - * makefile.w32-in (compile4-SH): Fix a typo that caused term - subdirectory be skipped. - -2012-12-11 Glenn Morris - - * net/rcirc.el (rcirc-urls, rcirc-condition-filter): Doc fixes. - - * progmodes/f90.el (f90-line-continued, f90-indent-region): - Treat preprocessor lines embedded in continuations like comments. - (f90-indent-line): Special-case preprocessor lines. (Bug#13138) - -2012-12-11 Jay Belanger - - * calc/calc.el (calc-standard-date-formats): Add more date - formats. - * calc/calc-forms.el (math-parse-iso-date): New function. - (math-parse-date): Use `math-parse-iso-date' when appropriate. - (math-parse-iso-date-validate): Add extra error checking. - (calc-date-notation): Add ability to access new date formats. - -2012-12-10 Stefan Monnier - - * hi-lock.el (hi-lock--regexps-at-point): Fix boundary case for - font-lock as well as when there's no text-property. - -2012-12-10 Jambunathan K - - * hi-lock.el: Refine the choice of default face. - (hi-lock-keyword->face): New function. Use it wherever we used - cadadadr instead. - (hi-lock--regexps-at-point): Ignore faces that can't come from hi-lock. - (hi-lock--last-face): Remove var. - (hi-lock--unused-faces): New var to replace it. - (hi-lock-read-face-name): Use/maintain it. - (hi-lock-unface-buffer): Maintain it. Fix error for the C-u case. - (hi-lock-set-pattern): Ignore new rule if it has the same regexp even - if it has another face. - -2012-12-10 Eli Zaretskii - - * subr.el (w32notify-handle-event): New function. - (inotify-handle-event): Doc fix. - -2012-12-10 Rüdiger Sonderfeld - - * subr.el (inotify-event-p, inotify-handle-event): New functions. - -2012-12-10 Dani Moncayo - - * simple.el (just-one-space): Doc fix. - -2012-12-10 Eli Zaretskii - - * textmodes/texinfo.el (texinfo-enable-quote-envs): Add "smallexample". - -2012-12-10 Le Wang - - * hilit-chg.el (hilit-chg-set-face-on-change): Don't burp in - narrowed buffer (bug#12361). - -2012-12-10 Juanma Barranquero - - * vc/vc-hooks.el (vc-state): Doc fix. - -2012-12-10 Glenn Morris - - * mail/rmail.el (rmail-maybe-display-summary): - Preserve buffer, in case select-window changes it. (Bug#13066) - -2012-12-10 Stefan Monnier - - * emacs-lisp/cl.el, emacs-lisp/cl-lib.el: Move cl-unload-function and - cl-load-hook where they belong. - -2012-12-10 Stefan Monnier - - * emacs-lisp/cl-lib.el (cl-declaim): Paren typo. - -2012-12-09 Eli Zaretskii - - Parallelize byte compilation on MS-Windows. - * makefile.w32-in (WINS_BASIC1, WINS_BASIC2, WINS_BASIC3) - (WINS_BASIC4): New variables, subdivide subdirectories into 4 parts. - (WINS_BASIC): Define as concatenation of the above. - (compile): Subdivide into 4 separate and independent jobs that can - be run in parallel. - (compile0-CMD, compile0-SH): New targets for compiling - COMPILE_FIRST files, which are prerequisites for the rest of the - byte-compilation. - (compile1-CMD, compile2-CMD, compile3-CMD, compile4-CMD): - New targets for parallel compilation with cmd.exe. - (compile1-SH, compile2-SH, compile3-SH, compile4-SH): Ditto for - compiling under a Unixy shell. - -2012-12-09 Chong Yidong - - * simple.el (set-mark-default-inactive): Delete this - accidentally-introduced option. - (set-mark-command, exchange-point-and-mark): Remove calls. - -2012-12-09 Glenn Morris - - * emacs-lisp/lisp-mode.el (eval-defun-1): Doc fix. - Respect a defcustom's :set function, if appropriate. (Bug#109) - (eval-defun): Doc fix. - -2012-12-08 Juri Linkov - - * info.el (Info-copy-current-node-name, Info-breadcrumbs) - (Info-fontify-node, Info-bookmark-make-record): Remove the - file extension from Info-current-file (Bug#13016). - -2012-12-07 Stefan Monnier - - * hi-lock.el (hi-lock-unface-buffer): If there's no matching regexp at - point, still provide some default. - (hi-lock--regexps-at-point): Don't enforce a "hi-lock-" prefix on face - names, since we don't use it right now. Actually return the list. - (hi-lock-file-patterns, hi-lock-interactive-patterns): Use defvar-local. - -2012-12-07 Chong Yidong - - * novice.el (disabled-command-function): Remove a spurious help - xref (Bug#13043). Suggested by Kelly Dean. - - * subr.el (text-clone-maintain): Fix clone overlay deletion when a - syntax is specified (Bug#13025). - - * info.el (Info-set-mode-line): Remove the file extension from - Info-current-file if there is one (Bug#13016). - -2012-12-07 Glenn Morris - - * mail/rmail.el (rmail-mime-decoded): New permanent local. - (rmail-show-message-1): Set rmail-mime-decoded when appropriate. - * mail/rmailedit.el (rmail-cease-edit): Respect rmail-mbox-format - and rmail-mime-decoded. (Bug#9841) - - * mail/unrmail.el (unrmail-mbox-format): New option. (Bug#6574) - (batch-unrmail, unrmail): Doc fixes. - (unrmail): Respect unrmail-mbox-format. - * mail/rmail.el (rmail-mbox-format): New option. - (rmail-show-message-1): Respect rmail-mbox-format. - -2012-12-07 Stefan Monnier - - * emacs-lisp/cl-macs.el (cl-tagbody): New macro. - -2012-12-06 Stefan Monnier - - Further cleanup of the "cl-" namespace. Fit CL in 80 columns. - * emacs-lisp/cl-macs.el (cl--pop2, cl--optimize-safety) - (cl--optimize-speed, cl--not-toplevel, cl--parse-loop-clause) - (cl--expand-do-loop, cl--proclaim-history, cl--declare-stack) - (cl--do-proclaim, cl--proclaims-deferred): Rename from the "cl-" prefix. - (cl-progv): Don't rely on dynamic scoping to find the body. - * emacs-lisp/cl-lib.el (cl--optimize-speed, cl--optimize-safety) - (cl--proclaims-deferred): Rename from the "cl-" prefix. - (cl-declaim): Use backquotes. - * emacs-lisp/cl-extra.el (cl-make-random-state, cl-random-state-p): - Use "cl--" prefix for the object's tag. - - * ses.el: Use advice-add/remove. - (ses--advice-copy-region-as-kill, ses--advice-yank): New functions. - (copy-region-as-kill, yank): Use advice-add. - (ses-unload-function): Use advice-remove. - -2012-12-06 Jonas Bernoulli - - * button.el: Make them work in header-lines (bug#12817). - (button-map): Add bindings for header-line and mode-line use. - (button-get, button-put, button-label): `button' may now be a string. - (button-activate): Don't make it a defsubst. - (button--area-button-p, button--area-button-string): New functions. - (make-text-button): Fix the return value when `beg' was a string. - (push-button): Handle the mode-line case. - -2012-12-06 Stefan Monnier - - * progmodes/sql.el: Use cl-lib and lexical-binding; various cleanup. - (sql-signum): Remove. Use `cl-signum' instead. - (sql-read-passwd): Remove; use read-passwd instread. - (sql-get-login-ext): Use read-string. - (sql-get-login): Use dolist and pcase. - (sql--completion-table): Rename from sql-try-completion. - Use complete-with-action. - (sql-mode): Don't change abbrev-all-caps globally. - (sql-connect): Don't rely on dynamic scoping for `new-name'. - (sql-postgres-completion-object): Initialize vars in their `let'. - (sql-comint-sybase, sql-comint-sqlite, sql-comint-mysql) - (sql-comint-solid, sql-comint-ms, sql-comint-postgres) - (sql-comint-interbase): Use a single append, without setq. - (sql-comint-linter): Same, and unwind-protect the LINTER_MBX var. - - * hi-lock.el: Rework the default face and the serialize regexp code. - (hi-lock--auto-select-face-defaults): Remove. - (hi-lock-string-serialize-serial): Remove. - (hi-lock--hashcons-hash): Rename from hi-lock-string-serialize-hash; - make weak. - (hi-lock--hashcons): Rename from hi-lock-string-serialize, return an - equal string. - (hi-lock-set-pattern): Adjust accordingly. - (hi-lock--regexps-at-point): Simplify accordingly. - (hi-lock--auto-select-face-defaults): Remove. - (hi-lock--last-face): New var to replace it. - (hi-lock-read-face-name): Rewrite (bug#11095). - (hi-lock-unface-buffer): Arrange for the face to be the next default. - -2012-12-06 Michael Albinus - - * net/tramp.el (tramp-replace-environment-variables): - Hide compiler warning. - (tramp-file-name-for-operation): Remove `executable-find', - `start-process', `call-process' and `call-process-region'. - - * net/tramp-compat.el (top): Don't require 'tramp-util and 'tramp-vc. - - * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): Ensure backward - compatibility. - - * net/tramp-sh.el (top): Remove `tramp-sh-handle-call-process-region'. - -2012-12-06 Chong Yidong - - * ffap.el (ffap-replace-file-component): Fix typo. - -2012-12-06 Stefan Monnier - - * progmodes/octave-mod.el (octave-mark-block): Move out of tokens and - fix open-paren-like token test (bug#12785). - -2012-12-06 Glenn Morris - - * mail/rmailsum.el (rmail-new-summary): Tweak for - rmail-maybe-display-summary changing buffer. (Bug#13066) - -2012-12-06 Juri Linkov - - * info.el (Info-fontify-node): Don't hide the last newline. - (Bug#12272) - -2012-12-06 Katsumi Yamaoka - - * mail/mailabbrev.el (mail-abbrev-expand-wrapper): Work in minibuffer - so as to enable message-read-from-minibuffer to expand mail aliases. - -2012-12-06 Stefan Monnier - - * minibuf-eldef.el (minibuf-eldef-update-minibuffer): Don't mess with - the `intangible' property. - Suggested by Christopher Schmidt - -2012-12-05 Deniz Dogan - - * net/rcirc.el (rcirc-urls): Update documentation. - (rcirc-condition-filter): New function. - (rcirc-browse-url, rcirc-markup-urls): Use only URLs before point - and exclude consecutive duplicate URLs (Bug#6082). - -2012-12-05 Michael Albinus - - * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): - Check return code of copy command. - - * net/tramp-adb.el (tramp-adb-sdk-dir, tramp-adb-prompt): - Use group `tramp'. Add version. - -2012-12-05 Chong Yidong - - * ffap.el (ffap-url-regexp): Don't require matching at front of - string (Bug#4952). - (ffap-url-p): If only a substring matches, return that. - (ffap-url-at-point): Use the return value of ffap-url-p. - (ffap-read-file-or-url, ffap-read-file-or-url-internal) - (find-file-at-point, dired-at-point, dired-at-point-prompter) - (ffap-guess-file-name-at-point): Likewise. - (ffap-replace-file-component): Fix typo. - - * info.el (info-display-manual): Add existing Info buffers, whose - files may not be in Info-directory-list, to the completion. - (info--manual-names): New helper function. - -2012-12-05 Glenn Morris - - * vc/vc-hg.el (vc-hg-resolve-when-done, vc-hg-find-file-hook): - New functions, for detecting and resolving conflicts. (Bug#10709) - -2012-12-04 Jambunathan K - - * hi-lock.el (hi-lock-auto-select-face): New user variable. - (hi-lock-auto-select-face-defaults): New buffer local variable. - (hi-lock-read-face-name): Honor `hi-lock-auto-select-face'. - (hi-lock-unface-buffer): Prompt user with useful defaults. - With prefix arg, unhighlight all hi-lock patterns in buffer. - -2012-12-04 Stefan Monnier - - * obsolete/terminal.el, obsolete/longlines.el: Add obsolecence info. - -2012-12-04 Michael Albinus - - * Makefile.in (TRAMP_SRC): - * makefile.w32-in (TRAMP_SRC): Add tramp-adb.el. - -2012-12-04 Juergen Hoetzel - - * net/tramp-adb.el: New package. - -2012-12-04 Chong Yidong - - * terminal.el: Move to obsolete/. - - * longlines.el: Move to obsolete/. - - * vc/ediff-diff.el (ediff-extract-diffs, ediff-extract-diffs3): - Remove code referring to longlines mode. - -2012-12-03 Juri Linkov - - * sort.el (delete-duplicate-lines): New command. (Bug#13032) - -2012-12-03 Agustín Martín Domingo - - * textmodes/ispell.el (ispell-init-process) - (ispell-start-process, ispell-internal-change-dictionary): - Make sure personal dictionary name is expanded after initial - `default-directory' value. Use expanded strings for - keep/restart checks and for value (Bug#13019). - -2012-12-03 Jay Belanger - - * calc/calc-forms.el (math-date-to-iso-dt): Fix weekday number. - -2012-12-03 Leo Liu - - * files.el (dir-locals-read-from-file): Check file non-empty - before reading. (Bug#13038) - -2012-12-03 Glenn Morris - - * jka-cmpr-hook.el (jka-compr-get-compression-info): - Remove any version extension before checking filename. (Bug#13006) - (jka-compr-compression-info-list): Belated :version bump. - -2012-12-03 Chong Yidong - - * simple.el (transient-mark-mode): Doc fix (Bug#11523). - - * buff-menu.el (Buffer-menu-delete-backwards, Buffer-menu-mode) - (buffer-menu): Doc fix (Bug#12294). - -2012-12-03 Roland Winkler - - * calendar/diary-lib.el (diary-header-line-format): Use keybinding - of diary-show-all-entries in the diary buffer (Bug#12994). - -2012-12-03 Michael Albinus - - * net/tramp-sh.el (tramp-perl-encode): Use "read STDIN" instead of - "". This is binary safe. - -2012-12-03 Jay Belanger - - * calc/calc-forms.el (math-absolute-from-iso-dt) - (math-date-to-iso-dt, math-parse-iso-date-validate) - (math-iso-dt-to-date): New functions. - (math-fd-iso-dt, math-fd-isoyear, math-fd-isoweek) - (math-fd-isoweekday): New variables. - (calc-date-notation, math-parse-standard-date, math-format-date) - (math-format-date-part): Add support for more formatting codes. - -2012-12-02 Dmitry Gutov - - * vc/vc.el (vc-delete-file, vc-rename-file): Default to the - current buffer's file name when called interactively (Bug#12488). - -2012-12-02 Juri Linkov - - * info.el (info-display-manual): Don't clobber an existing Info - buffer (Bug#10770). Add completion (Bug#10771). - -2012-12-01 Yuya Nishihara (tiny change) - - * vc/vc-hooks.el (vc-find-file-hook): Expand buffer-file-truename - before using it for comparison (Bug#5297). - -2012-12-01 Jari Aalto - - * textmodes/css-mode.el (css-current-defun-name): New function. - (css-mode): Use it. - - * textmodes/sgml-mode.el (html-current-defun-name): New function. - (html-mode): Use it. - -2012-12-01 Chong Yidong - - Modularize add-log-current-defun (Bug#2224). - Suggested by Jari Aalto. - - * vc/add-log.el (add-log-current-defun-function): Doc fix. - (add-log-current-defun): Move mode-specific code to other files. - (add-log-lisp-like-modes, add-log-c-like-modes) - (add-log-tex-like-modes): Variables deleted. - - * emacs-lisp/lisp-mode.el (lisp-current-defun-name): New. - (lisp-mode-variables): Use it. - - * progmodes/cc-mode.el (c-common-init): - * progmodes/cperl-mode.el (cperl-mode): Set a value for - add-log-current-defun-function. - - * progmodes/m4-mode.el (m4-current-defun-name): New function. - (m4-mode): Use it. - - * progmodes/perl-mode.el (perl-current-defun-name): New. - (perl-mode): Use it. - - * progmodes/scheme.el (scheme-mode-variables, dsssl-mode): - Use lisp-current-defun-name. - - * textmodes/tex-mode.el (tex-current-defun-name): New. - (tex-common-initialization): Use it. - - * textmodes/texinfo.el (texinfo-current-defun-name): New. - (texinfo-mode): Use it. - -2012-12-01 Chong Yidong - - * emacs-lisp/lisp-mode.el (lisp-mode-variables, lisp-mode): - * progmodes/autoconf.el (autoconf-mode): - * progmodes/js.el (js-mode): - * progmodes/make-mode.el (makefile-mode, makefile-makepp-mode) - (makefile-bsdmake-mode, makefile-imake-mode, makefile-browse): - * progmodes/perl-mode.el (perl-mode): - * progmodes/sh-script.el (sh-mode, sh-set-shell): - * textmodes/css-mode.el (css-mode): - * textmodes/sgml-mode.el (html-mode, sgml-mode) - (sgml-tags-invisible, sgml-guess-indent): - * textmodes/tex-mode.el (tex-common-initialization) - (latex-complete-bibtex-keys, tex-shell, tex-main-file) - (doctex-mode, plain-tex-mode, latex-mode): - * textmodes/texinfo.el (texinfo-mode): Use setq-local. - -2012-12-01 Kirk Kelsey - - * vc/vc-hg.el (vc-hg-next-revision): - Ensure use of default "tip" output format. (Bug#6968) - -2012-12-01 Kim F. Storm - - * startup.el (fancy-startup-tail): Add a clickable link - (Bug#2176). - -2012-12-01 Chong Yidong - - * startup.el (fancy-startup-tail): Improve the message about - auto-save files (Bug#2176). - - * files.el (recover-session): Improve the descriptive message, and - use substitute-command-keys. - -2012-12-01 Glenn Morris - - * ido.el (ido-file-internal): - Handle other-window, other-frame for dired. (Bug#13036) - -2012-11-30 Glenn Morris - - * icomplete.el (icomplete-separator): Fix :version. - -2012-11-30 Chong Yidong - - * shell.el (shell): For C-u M-x shell, use an inactive shell - buffer as the default (Bug#1975). - (shell-apply-ansi-color, shell-reapply-ansi-color): New functions. - (shell-mode): Use them to reapply ansi colorization if Shell mode - is re-enabled. - -2012-11-30 Yuriy Vostrikov (tiny change) - - * vc/vc-git.el (vc-git-command): Disable the pager (Bug#6137). - -2012-11-30 Samuel Bronson - - * progmodes/grep.el (grep-compute-defaults): Do not pass the -e - flag to xargs, for compatibility with BSD xargs (Bug#11703). - -2012-11-30 Toru TSUNEYOSHI - - * textmodes/fill.el (fill-region-as-paragraph): Handle overshoot - by move-to-column (Bug#3234). - -2012-11-30 Chong Yidong - - * longlines.el (longlines-wrap-line, longlines-encode-region): - Preserve text properties (Bug#1425). - -2012-11-30 OKAZAKI Tetsurou (tiny change) - - * vc/vc.el (vc-register): Allow registering a file which is - already registered with a different backend (Bug#10589). - -2012-11-29 Jambunathan K - Stefan Monnier - - * icomplete.el: Change separator; add ido-style commands. - (icomplete-show-key-bindings): Remove custom var. - (icomplete-get-keys): Remove function. - (icomplete-forward-completions, icomplete-backward-completions): - New commands. - (icomplete-minibuffer-map): New var. - (icomplete-minibuffer-setup): Use it. - (icomplete-exhibit): Don't delay if the list of completions is known. - (icomplete-separator): New custom. - (icomplete-completions): Use it. - * minibuffer.el (completion-all-sorted-completions): Delete duplicates. - (minibuffer-force-complete-and-exit): New command. - (minibuffer--complete-and-exit): New function extracted from - minibuffer-complete-and-exit. - (minibuffer-complete-and-exit): Use it. - - * progmodes/etags.el (visit-tags-table-buffer): Give a more precise - error message when the file doesn't exist (bug#12974). - -2012-11-29 Kelly Dean (tiny change) - - * simple.el (activate-mark): Run activate-mark-hook (bug#13027). - -2012-11-29 Glenn Morris - - * files.el (hack-dir-local-variables): Warn if try to set - coding via dir-locals, since it doesn't work. (Bug#7169) - - Add desktop support for restoring vc-dir buffers. (Bug#10606) - * vc/vc-dir.el (vc-dir-mode): Autoload it (for desktop restore). - Set buffer-local value of desktop-save-buffer. - (vc-dir-desktop-buffer-misc-data, vc-dir-restore-desktop-buffer): - New functions. - (desktop-buffer-mode-handlers): Add vc-dir-mode entry. - * desktop.el (desktop-save-buffer-p): Treat vc-dir like dired. - - * files.el (inhibit-local-variables-ignore-case): New. (Bug#10610) - (inhibit-local-variables-p): Use inhibit-local-variables-ignore-case. - Doc fix. - (inhibit-local-variables-regexps, inhibit-local-variables-suffixes): - Doc fixes. - -2012-11-28 Jay Belanger - - * calc/calc-forms.el (calc-date-notation): Fix regexp - used to find time codes. Fix symbol for seconds. - -2012-11-27 Glenn Morris - - * emacs-lisp/derived.el (derived-mode-make-docstring): - Don't mention "abbrev" or "syntax" if nil. (Bug#11277) - -2012-11-27 Stefan Monnier - - * textmodes/table.el (table-insert): Don't use `symbol-name' on - lexically scoped variables (bug#13005). - -2012-11-27 Glenn Morris - - * vc/vc-hooks.el (vc-mistrust-permissions): - Default to t, to avoid data-loss. (Bug#11490) - -2012-11-27 Fabián Ezequiel Gallina - - * progmodes/python.el (python-indent-guess-indent-offset): - If indentation is guessed make python-indent-offset buffer-local. - - Fix Imenu regression. - * progmodes/python.el (python-nav-beginning-of-defun): - Fix forward movement when statement(s) separates point from defun. - (python-imenu-prev-index-position): New function. - -2012-11-27 Eli Zaretskii - - * subr.el (buffer-file-type): Declare with defvar-local. Doc fix. - - * dos-w32.el (find-file-not-found-set-buffer-file-coding-system): - Don't set buffer-file-type. Return nil. (Bug#12989) - -2012-11-27 Glenn Morris - - * hippie-exp.el (hippie-expand-try-functions-list): - Re-autoload it. (Bug#12982) - -2012-11-27 Eli Zaretskii - - * descr-text.el (describe-char-padded-string): - Call internal-char-font only on GUI frames. (Bug#11964) - -2012-11-27 Andreas Schwab - - * buff-menu.el (Buffer-menu-buffer+size-width): Fix customize type - and obsoletion message. - -2012-11-27 Stefan Monnier - - * emacs-lisp/cl-macs.el (cl--transform-lambda): Add back `declare' in - the constructs to keep outside of the `cl-block' (bug#12977). - -2012-11-27 Chong Yidong - - * mouse.el (mouse-drag-line): Even if the line is not draggable, - keep reading until we get the up-event anyway, in order to process - the up-event for mouse-1-click-follows-link (Bug#12971). - -2012-11-26 Stefan Monnier - - * emacs-lisp/advice.el (ad-should-compile): Don't compile advice if the - base function is not yet defined (bug#12965). - (ad-activate-advised-definition): Use ad-compile-function. - (ad-activate): Use cond. - -2012-11-25 Leo Liu - - * textmodes/sgml-mode.el (sgml-tag): Fix indentation for closing tag. - (Bug#12979) - -2012-11-24 Vincent Belaïche - - * textmodes/reftex-parse.el (reftex-parse-from-file): Use variable - reftex-section-info-function in order to be compatible with - Texinfo integration. - - * textmodes/reftex.el (reftex-section-pre-regexp) - (reftex-section-post-regexp, reftex-section-info-function): - New variable. - (reftex-compile-variables): Use variables reftex-section-pre-regexp, - reftex-section-post-regexp, and reftex-section-info-function in order - to be compatible with Texinfo integration. - - * textmodes/reftex-toc.el (reftex-toc-promote-action): - use reftex-section-pre-regexp variable in order to be compatible with - Texinfo integration. - -2012-11-25 Chong Yidong - - * faces.el: Make face-spec-set more analogous to setq. - (face-spec-set): Change the third arg to specify whether this - function is being called via defface, customize, or a third party. - Set the appropriate symbol properties. Clear the override spec if - setting via Custom. Initialize face if necessary. (Bug#4988) - (face-spec-recalc): Allow theme faces to completely replace the - defface spec, in the same way as custom faces (Bug#8454). - - * cus-face.el (custom-declare-face): Move face initialization to - face-spec-set. - (custom-theme-set-faces): Don't initialize the face name here, as - that is now done in face-spec-set. - - * cus-edit.el (custom-face-set, custom-face-mark-to-save) - (custom-face-reset-saved, custom-face-mark-to-reset-standard): - Simplify by using the new arg to face-spec-set. - - * emacs-lisp/lisp-mode.el (eval-defun-1): When evaluating defface, - reset face-override-spec too, and use custom-declare-face. - -2012-11-24 Jan Djärv - - * term/ns-win.el (ns-initialize-window-system): Move creation of - fontsets here (Bug#11964). - -2012-11-24 Vincent Belaïche - - * ses.el (ses-rename-cell): Correct bug on mode-line update after - cell renaming. - -2012-11-24 Chong Yidong - - * woman.el (woman-default-faces, woman-monochrome-faces): Mark as - obsolete. - - * custom.el (custom-theme-set-variables): Use a topological sort - for ordering by custom dependencies (Bug#12952). - (custom--sort-vars, custom--sort-vars-1): New functions. - -2012-11-24 Stefan Monnier - - * emacs-lisp/bytecomp.el (byte-compile-file): Setup default value for - lexical-binding (bug#12938). - -2012-11-24 Wolfgang Jenkner - - * image-mode.el (image-transform-check-size): Use assertions only - for images of type imagemagick. - - Otherwise no error, image-transform-fit-to-{width,height} is - silently ignored, as before. Doc fix. - -2012-11-24 Chong Yidong - - * faces.el (color-defined-p): Doc fix (Bug#12853). - -2012-11-24 Juri Linkov - - * dired.el (dired-mark): Add optional arg `interactive'. - Check for `use-region-p' if `interactive' is non-nil. - (dired-unmark, dired-flag-file-deletion): Add optional arg - `interactive'. Call `dired-mark' with the arg `interactive'. - (Bug#10624) - - * wdired.el: Revert 2012-10-17 change partly and replace it with - Patch by Christopher Schmidt . - (wdired-finish-edit): Add marks for new file names to - `wdired-old-marks'. Restore marks using `dired-mark-remembered' - after `revert-buffer'. - (wdired-do-renames): Remove calls to `dired-remove-file', - `dired-add-file', `dired-add-entry'. (Bug#11795) - -2012-11-24 Alan Mackenzie - - * progmodes/cc-defs.el (c-version): Bump to 5.32.4. - - Fix bugs in the state cache. Enhance a debugging mechanism. - * progmodes/cc-engine.el (c-parse-state-get-strategy): Don't use - "brace at column zero" strategy for C++. - (c-append-lower-brace-pair-to-state-cache): Repair algorithm. - (c-parse-state-point): New variable. - (c-record-parse-state-state): Record old parse state with - `copy-tree'. Record previous value of point. - (c-debug-parse-state-double-cons): New debugging function. - (c-debug-parse-state): Call the above new function. - (c-toggle-parse-state-debug): Output a confirmatory message. - - * progmodes/cc-mode.el (c-before-change, c-after-change): - Call c-invalidate-state-cache from `c-before-change' instead of - `c-after-change'. - -2012-11-23 Chong Yidong - - * find-cmd.el (find-constituents): Add executable, ipath, - readable, samefile, writable, daystart, regextype (Bug#12856). - -2012-11-23 Stefan Monnier - - * emacs-lisp/ert.el, emacs-lisp/ert-x.el: Use cl-lib and lexical-binding. - -2012-11-22 Paul Eggert - - * calc/calc.el (calc-gregorian-switch): Move to after calc-refresh - definition. This fixes a bootstrap failure. - (calc-gregorian-switch): In menu, put dates before regions. - This is easier to follow, lines up better in the menu, and lets us - coalesce regions that switch at the same time. Give country - names, not "Vatican", as that's better for non-expert users. - Use names that are stable between the date of switch and now, e.g., - Bohemia and Moravia (which existed then and now) and not - Czechoslovakia (which didn't exist then and doesn't exist now). - What is now the U.S. mostly did not switch at the same time as - Britain, so omit the U.S. Correct spelling of "Britain". - Catholic Switzerland was too much of a mess, so omit it. - -2012-11-22 Jay Belanger - - * calc/calc.el (calc-gregorian-switch): Refresh the Calc buffer - after the variable is changed. - -2012-11-21 Daniel Colascione - - * progmodes/sql.el (sql-mode-font-lock-object-name): Support IF NOT EXISTS - in SQL declarations for font-lock. - (sql-imenu-generic-expression): Teach imenu about IF NOT EXISTS. - -2012-11-21 Glenn Morris - - * faces.el (face-underline-p, face-inverse-video-p, face-bold-p) - (face-italic-p): Add optional argument "inherit". - - * faces.el (set-face-inverse-video, set-face-bold, set-face-italic): - Remove -p suffix from names, for consistency with other set-face-*. - (set-face-inverse-video): Fix interactive spec. - * play/gamegrid.el (gamegrid-make-mono-tty-face): - * textmodes/table.el (table--update-cell-face): - Use set-face-inverse-video rather than now obsolete alias. - -2012-11-21 Eli Zaretskii - - * simple.el (line-move): Don't call line-move-partial if - scroll-conservatively is in effect. (Bug#12927) - -2012-11-21 Stefan Monnier - - * eshell/em-cmpl.el (eshell-pcomplete): Refine fix for bug#12838: - Fallback on completion-at-point rather than - pcomplete-expand-and-complete, and only if pcomplete actually failed. - (eshell-cmpl-initialize): Setup completion-at-point. - - * pcomplete.el (pcomplete--entries): Obey pcomplete-ignore-case. - - * emacs-lisp/ert.el (ert--expand-should-1): Adapt to cl-lib. - -2012-11-21 Michael Albinus - - * net/tramp-sh.el (tramp-do-copy-or-rename-file): If both files - are remote, check out-of-band property for both. - -2012-11-21 Stefan Monnier - - * window.el (switch-to-buffer): Re-add the warning that was lost in the - code rewrite. - -2012-11-21 Paul Eggert - - More minor time fixes. - * calendar/time-date.el: Commentary fix. - * net/tramp-sh.el (tramp-do-file-attributes-with-ls): Undo last change; - too much other code depends on (0 0) time stamps. - * net/tramp.el (tramp-time-less-p, tramp-time-subtract): - Add a couple of FIXME comments. - - Minor cleanup for times as lists of four integers. - * files.el (dir-locals-directory-cache): - * ps-bdf.el (bdf-file-mod-time, bdf-read-font-info): - Doc fixes. - * net/tramp-sh.el (tramp-do-file-attributes-with-ls): - * ps-bdf.el (bdf-file-newer-than-time): - Process four-integers time stamps, not two. Doc fixes. - -2012-11-20 Stefan Monnier - - * uniquify.el (uniquify-managed): Use defvar-local. - (rename-buffer, create-file-buffer): Advise with advice-add. - (uniquify-unload-function): Unadvise accordingly. - - * emacs-lisp/trace.el: Rewrite, use nadvice and lexical-binding. - (trace-buffer): Don't purecopy. - (trace-entry-message, trace-exit-message): Add `context' arg. - (trace--timer): New var. - (trace-make-advice): Adjust for use in nadvice. - Add `context' argument. Delay `display-buffer' via a timer. - (trace-function-internal): Use advice-add. - (trace--read-args): New function. - (trace-function-foreground, trace-function-background): Use it. - (trace-function): Rename to trace-function-foreground and redefine as - an alias to that new name. - (untrace-function, untrace-all): Adjust to the use of nadvice. - - * emacs-lisp/bytecomp.el (byte-compile): Fix handling of closures. - - * emacs-lisp/byte-run.el (defun-declarations-alist): Fix last change. - - * subr.el (called-interactively-p-functions): New var. - (internal--called-interactively-p--get-frame): New macro. - (called-interactively-p, interactive-p): Rewrite in Lisp. - * emacs-lisp/nadvice.el (advice--called-interactively-skip): New fun. - (called-interactively-p-functions): Use it. - * emacs-lisp/edebug.el (edebug--called-interactively-skip): New fun. - (called-interactively-p-functions): Use it. - * allout.el (allout-called-interactively-p): Don't assume - called-interactively-p is a subr. - -2012-11-20 Glenn Morris - - * profiler.el (profiler-report-mode-map): Add a menu. - No need to bind `q' because we derive from special-mode. - (profiler-report-find-entry): Handle calls from the menu-bar. - -2012-11-19 Stefan Monnier - - * emacs-lisp/byte-run.el (defun-declarations-alist): - Allow a compiler-macro to be a lambda expression. - - * progmodes/python.el: Use cl-lib. Move var declarations outside of - eval-when-compile. - (python-syntax-context): Add compiler-macro. - (python-font-lock-keywords): Simplify with De Morgan. - - * vc/diff-mode.el (diff-hunk): Don't make useless timers. - - * files.el (load-file): Require match in minibuffer selection, as was - the case in Emacs-20 before we changed the spec to allow .elc files - (bug#12935). - - * json.el: Don't require cl since we don't use it. - * color.el: Don't require cl. - (color-complement): `caddr' -> `nth 2'. - - * calendar/time-date.el (time-to-seconds): De-obsolete. - -2012-11-19 Jay Belanger - - * calc/calc-forms.el (math-leap-year-p): Fix formula for negative - year numbers. - (math-date-to-julian-dt): Adjust the initial approximation for the - year to deal with the new definition of the DATE. - -2012-11-19 Daniel Colascione - - * term/w32-win.el (cygwin-convert-path-from-windows): - Accomodate rename of cygwin_convert_path* to cygwin_convert_file_name*. - -2012-11-18 Chong Yidong - - * filecache.el (file-cache--read-list): New function. - (file-cache-add-directory-list, file-cache-add-file-list) - (file-cache-delete-file-list, file-cache-delete-directory-list): - Use it to read a list of files or directories (Bug#12846). - (file-cache-add-file, file-cache-add-directory) - (file-cache-delete-file-list, file-cache-delete-file-regexp) - (file-cache-delete-directory): Print an message. - -2012-11-18 Jay Belanger - - * calc/calc-forms.el (math-date-to-dt): Use integer date when - calling `math-date-to-julian-dt' and 'math-date-to-gregorian-dt'. - -2012-11-18 Glenn Morris - - * image.el (insert-image, insert-sliced-image): Doc fix. - -2012-11-18 Chong Yidong - - * emacs-lisp/syntax.el (syntax-propertize-function): Doc fix - (Bug#12810). - -2012-11-18 OKAZAKI Tetsurou (tiny change) - - * vc/vc-svn.el (vc-svn-merge-news): Properly parse the merge - response when the target file is in a subdirectory (Bug#12757). - -2012-11-18 Chong Yidong - - * filecache.el (file-cache-add-file-list): Doc fix (Bug#12694). - -2012-11-18 Glenn Morris - - * emacs-lisp/cl-lib.el (face-underline-p): - Use set-face-underline rather than the alias set-face-underline-p. - - * window.el (with-temp-buffer-window): Doc fix. - * subr.el (with-output-to-temp-buffer): - Add doc xref to with-temp-buffer-window. - -2012-11-18 Juanma Barranquero - - * woman.el (woman-non-underline-faces): Use `set-face-underline'. - * calc/calc.el (math-format-date-cache): Declare. - -2012-11-17 Paul Eggert - - Calc by default uses the Gregorian calendar for all dates (Bug#12633). - It also uses January 1, 1 AD as its day number 1. - * calc/calc-forms.el (math-julian-date-beginning) - (math-julian-date-beginning-int): Implement this. - -2012-11-17 Juanma Barranquero - - * descr-text.el (quail-find-key): - * dired.el (desktop-file-name): - * dirtrack.el (shell-prefixed-directory-name, shell-process-cd): - * generic-x.el (comint-mode, comint-exec): - * image-dired.el (widget-forward): - * info.el (speedbar-add-expansion-list, speedbar-center-buffer-smartly) - (speedbar-change-expand-button-char) - (speedbar-change-initial-expansion-list, speedbar-delete-subblock) - (speedbar-make-specialized-keymap, speedbar-make-tag-line): - * printing.el (easy-menu-add-item, easy-menu-remove-item) - (widget-field-action, widget-value-set): - * speedbar.el (imenu--make-index-alist): - * term.el (ring-empty-p, ring-ref, ring-insert-at-beginning) - (ring-length, ring-insert): - * vcursor.el (compare-windows-skip-whitespace): - * woman.el (dired-get-filename): - Declare functions. - - * term/w32-win.el (cygwin-convert-path-from-windows): Fix declaration. - -2012-11-17 Jay Belanger - - * calc/calc.el (calc-gregorian-switch): New variable. - - * calc/calc-forms.el (math-day-in-year, math-dt-before-p) - (math-absolute-from-gregorian-dt, math-absolute-from-julian-dt) - (math-date-to-julian-dt, math-date-to-gregorian-dt): New functions. - (math-leap-year-p): Add option to distinguish between Julian - and Gregorian calendars. - (math-day-number): Use `math-day-in-year' to do the computations. - (math-absolute-from-dt): Rename from `math-absolute-from-date'. - Use `math-absolute-from-gregorian' and `math-absolute-from-julian' - to do the computations. - (math-date-to-dt): Use `math-date-to-julian-dt' and - `math-date-to-gregorian-dt' to do the computations. - (calcFunc-weekday, math-format-date-part): Use the new version of - the DATE to determine the weekday. - (calcFunc-newmonth, calcFunc-newyear): Use `calc-gregorian-switch' - when necessary. - -2012-11-17 Eli Zaretskii - - * term/w32-win.el (w32-handle-dropped-file): Use 'file://' only on - Cygwin; otherwise use 'file:'. (Bug#12914) - (cygwin-convert-path-from-windows): Declare, to avoid - byte-compiler warnings. - -2012-11-17 Andreas Politz - - * ibuffer.el (ibuffer-mark-forward, ibuffer-unmark-forward) - (ibuffer-unmark-backward, ibuffer-mark-interactive): Support plain - prefix and negative numeric prefix args (Bug#12795). - -2012-11-17 Stephen Berman - - * play/gamegrid.el (gamegrid-add-score-with-update-game-score-1): - Don't signal an error with a score that is too low to add to the - list of top scores. (Bug#12779) - -2012-11-17 Chong Yidong - - * help-mode.el (help-xref-interned): End on point-min (Bug#12737). - - * filecache.el (file-cache-add-file): Handle relative file name in - the argument (Bug#12694). - -2012-11-16 Jürgen Hötzel (tiny change) - - * eshell/em-unix.el (eshell/mkdir): Handle "--parents" (bug#12897). - -2012-11-16 Stefan Monnier - - * emacs-lisp/advice.el (ad-make-advised-definition): Improve last fix. - - * emacs-lisp/cl-lib.el: Set more meaningful version number. - -2012-11-16 Martin Rudalics - - * window.el (enlarge-window, shrink-window): Don't mention return - value in doc-string (Bug#12896). - (window--display-buffer): Don't resize frames - it won't work - with all window managers and defeat pop-up-frame-alist. - (display-buffer-alist): In doc-string explain that CONDITION can - be a function and which arguments are passed to it (Bug#12854). - (display-buffer-assq-regexp): New argument ACTION. Handle lambda - expressions (Bug#12854). - (display-buffer): Pass ACTION argument to - display-buffer-assq-regexp. - -2012-11-16 Glenn Morris - - * window.el (fit-frame-to-buffer-bottom-margin) - (fit-frame-to-buffer, fit-window-to-buffer): Doc fixes. - - * faces.el (face-underline-p): Use face-attribute-specified-or. - -2012-11-16 Juanma Barranquero - - * emacs-lisp/cl-macs.el (cl-loop, cl-do, cl-do*): Doc fixes. - -2012-11-16 Stefan Monnier - - * emacs-lisp/cl-macs.el (cl-flet, cl-flet*): Fix docstring (bug#12895). - -2012-11-16 Glenn Morris - - * eshell/em-cmpl.el (eshell-pcomplete): New command. (Bug#12838) - (eshell-cmpl-initialize): Bind eshell-pcomplete to TAB, C-i. - - * faces.el (face-underline-p): Doc fix. Handle :underline being - things other than `t' (a string, a list). - (face-inverse-video-p): Doc fix. - (set-face-underline): Rename it back from set-face-underline-p. - Doc fix. Allow interactive input of values other than t. - (read-face-attribute): Apply formatting to :underline, - since like :box and :stipple it can take list values. - - * term.el (ansi-term): Don't let C-x escape-char binding - clobber the more standard C-c binding. (Bug#12842) - - * subr.el (set-temporary-overlay-map): Doc fix. - -2012-11-16 Martin Rudalics - - * window.el (record-window-buffer) - (display-buffer-record-window): When copying the markers to - window-point preserve window-point-insertion-type. (Bug#12588) - -2012-11-16 Glenn Morris - - * emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): - * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): - Use new names for hooks rather than obsolete aliases. - -2012-11-15 Daniel Colascione - - * term/w32-win.el (w32-handle-dropped-file): Use a "file://" - prefix instead of "file:" so that when FILE-NAME begins with "//", - as it does when the target file is on a network share, url-handler - isn't confused. - -2012-11-15 Stefan Monnier - - * emacs-lisp/advice.el (ad-definition-type): Make sure we don't use - a preactivated advice from an old advice.el; they're not compatible! - -2012-11-15 Katsumi Yamaoka - - * emacs-lisp/nadvice.el (advice--make-interactive-form): - Fix string-spec case. - - * emacs-lisp/advice.el (ad-make-advised-definition): Fix undefined case. - -2012-11-15 Stefan Monnier - - * emacs-lisp/nadvice.el: Add buffer-local support to add-function. - (advice--buffer-local-function-sample): New var. - (advice--set-buffer-local, advice--buffer-local): New functions. - (add-function, remove-function): Use them. - -2012-11-15 Drew Adams - - * imenu.el (imenu--split-submenus): Use imenu--subalist-p (bug#12717). - -2012-11-15 Stefan Monnier - - * emacs-lisp/cl-macs.el (cl--transform-lambda): Defend against - potential binding of print-gensym to t, and prettify (back)quotes in - case they appear in args's default values (bug#12884). - -2012-11-14 Stefan Monnier - - * emacs-lisp/nadvice.el: Add around advice for interactive specs. - (advice-eval-interactive-spec): New function. - (advice--make-interactive-form): Support around advice (bug#12844). - -2012-11-14 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-expr-beg): Make heredoc detection - more strict. Add docstring. - (ruby-expression-expansion-re): Extract from - `ruby-match-expression-expansion'. - (ruby-syntax-propertize-function): After everything else, search - for expansions in string literals, mark their insides as - whitespace syntax and save match data for font-lock. - (ruby-font-lock-keywords): Use the 2nd group from expression - expansion matches. - (ruby-match-expression-expansion): Use the match data saved to the - text property in ruby-syntax-propertize-function. - -2012-11-14 Stefan Monnier - - * emacs-lisp/gv.el (setf): Fix debug spec for multiple assignments - (bug#12879). - -2012-11-13 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-move-to-block): Looks for a block - start/end keyword a bit harder. Works with different values of N. - Add more comments. - (ruby-end-of-block): Update accordingly. - -2012-11-13 Stefan Monnier - - * woman.el (woman-file-name): Don't mess with unread-command-events - (bug#12861). - - * emacs-lisp/advice.el: Layer on top of nadvice.el. - Remove out of date self-require hack. - (ad-do-advised-functions): Use simple `dolist'. - (ad-advice-name, ad-advice-protected, ad-advice-enabled) - (ad-advice-definition): Redefine as functions. - (ad-advice-classes): Move before first use. - (ad-make-origname, ad-set-orig-definition, ad-clear-orig-definition) - (ad-make-mapped-call, ad-make-advised-docstring) - (ad-make-plain-docstring, ad--defalias-fset): Remove functions. - (ad-make-advicefunname, ad-clear-advicefunname-definition): New funs. - (ad-get-orig-definition): Rewrite. - (ad-make-advised-definition-docstring): Change base docstring. - (ad-real-orig-definition): Rewrite. - (ad-map-arglists): Change name of called function. - (ad--make-advised-docstring): Redirect `function' from ad-Advice-... - (ad-make-advised-definition): Simplify. - (ad-assemble-advised-definition): Tweak for new calling context. - (ad-activate-advised-definition): Setup ad-Advice-* i.s.o ad-Orig-*. - (ad--defalias-fset): Rename from ad-handle-definition. Make it set the - function and call ad-activate if needed. - (ad-activate, ad-deactivate): Don't call ad-handle-definition any more. - (ad-recover): Clear ad-Advice-* instead of ad-Orig-*. - (ad-compile-function): Compile ad-Advice-*. - (ad-activate-on-top-level, ad-with-auto-activation-disabled): Remove. - (ad-start-advice, ad-stop-advice): Remove. - -2012-11-13 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-add-log-current-method): Print the - period before class method names, not after. Remove handling of - one impossible case. Add comments. - -2012-11-13 Stefan Monnier - - * emacs-lisp/advice.el: Remove support for freezing. - (ad-make-freeze-docstring, ad-make-freeze-definition): Remove functions. - (ad-make-single-advice-docstring, ad-defadvice-flags, defadvice): - Remove support for `freeze'. - - * emacs-lisp/cl.el (dolist, dotimes, declare): Use advice-add to - override the default. - * emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Rewrite without using - cl--dotimes/dolist. - * subr.el (dolist, dotimes, declare): Redefine them normally, even when - `cl' is loaded. - - * emacs-lisp/nadvice.el (advice--normalize): New function, extracted - from add-advice. - (advice--strip-macro): New function. - (advice--defalias-fset): Use them to handle macros. - (advice-add): Use them. - (advice-member-p): Correctly handle macros. - -2012-11-13 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-font-lock-keywords): - Never font-lock the beginning of singleton class as heredoc. - -2012-11-13 Stefan Monnier - - * emacs-lisp/gv.el (gv-define-simple-setter): One more fix (bug#12871). - -2012-11-13 Wolfgang Jenkner - - * ansi-color.el (ansi-color-apply-sequence): Implement SGR codes - 39 and 49 (bug#12792). Also, treat unimplemented parameters as 0, - thereby restoring the behavior of revisions prior to 2012-08-15T03:33:55Z!monnier@iro.umontreal.ca. - -2012-11-13 Fabián Ezequiel Gallina - - Fix end-of-defun misbehavior. - * progmodes/python.el (python-nav-beginning-of-defun): Rename from - python-beginning-of-defun-function. Handle nested defuns - correctly. - (python-nav-end-of-defun): Rename from - python-end-of-defun-function. Ensure forward movement. - (python-info-current-defun): Reimplement to work as intended - with new fixed python-nav-{end,beginning}-of-defun. Stop scanning - parent defuns as soon as possible. - -2012-11-13 Glenn Morris - - * progmodes/flymake.el (flymake-error-bitmap) - (flymake-warning-bitmap, flymake-fringe-indicator-position): Doc fixes. - (flymake-error-bitmap, flymake-warning-bitmap): Fix :types. - -2012-11-13 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-move-to-block): When moving - backward, always stop at indentation. Reverts the change from - 2012-08-12T22:06:56Z!monnier@iro.umontreal.ca (Bug#12851). - -2012-11-13 Glenn Morris - - * ibuffer.el (ibuffer-mode-map, ibuffer-mode): - Add ibuffer-filter-by-derived-mode. - - * ibuffer.el (ibuffer-mode-map): Don't have two menu items with - the same name shadowing each other. - - * window.el (with-temp-buffer-window): Doc tweak. - - * emacs-lisp/debug.el (debugger-bury-or-kill): Doc tweak. - - * help.el (temp-buffer-max-height): - * window.el (fit-frame-to-buffer, fit-frame-to-buffer-bottom-margin): - * emacs-lisp/debug.el (debugger-bury-or-kill): Fix :version. - -2012-11-12 Stefan Monnier - - * emacs-lisp/nadvice.el: New package. - * subr.el (special-form-p): New function. - * emacs-lisp/elp.el: Use lexical-binding and advice-add. - (elp-all-instrumented-list): Remove var. - (elp-not-profilable): Remove elp-wrapper. - (elp-profilable-p): Use autoloadp and special-form-p. - (elp--advice-name): New const. - (elp-instrument-function): Use advice-add. - (elp--instrumented-p): New predicate. - (elp-restore-function): Use advice-remove. - (elp-restore-all, elp-reset-all): Use mapatoms. - (elp-set-master): Use elp--instrumented-p. - (elp--make-wrapper): Rename from elp-wrapper, return a function - suitable for advice-add. Use cl-inf. - (elp-results): Use mapatoms+elp--instrumented-p. - * emacs-lisp/debug.el: Use lexical-binding and advice-add. - (debug-function-list): Remove var. - (debug): Rename arg, and then let-bind it explicitly inside. - (debugger-setup-buffer): Rename arg. - (debugger-setup-buffer): Adjust counts to new debug-on-entry setup. - (debugger-frame-number): Adjust to new debug-on-entry setup. - (debug--implement-debug-on-entry): Rename from - implement-debug-on-entry, add argument. - (debugger-special-form-p): Remove, use special-form-p instead. - (debug-on-entry): Use advice-add. - (debug--function-list): New function. - (cancel-debug-on-entry): Use it, along with advice-remove. - (debug-arglist, debug-convert-byte-code, debug-on-entry-1): Remove. - (debugger-list-functions): Use debug--function-list instead of - debug-function-list. - * emacs-lisp/advice.el (ad-save-real-definition): Remove, unused. - (ad-special-form-p): Remove, use special-form-p instead. - (ad-set-advice-info): Use add-function and remove-function. - (ad--defalias-fset): Adjust accordingly. - -2012-11-10 Glenn Morris - - * mail/emacsbug.el (report-emacs-bug-tracker-url) - (report-emacs-bug-bug-alist, report-emacs-bug-choice-widget) - (report-emacs-bug-create-existing-bugs-buffer) - (report-emacs-bug-parse-query-results) - (report-emacs-bug-query-existing-bugs): Remove. (Bug#7449) - - * term.el (term-default-fg-color, term-default-bg-color): - Make obsolete, rather than just saying "deprecated" in the doc. - - * term.el (term): Rename from `term-face'. - (term-current-face, ansi-term-color-vector) - (term-default-fg-color, term-default-bg-color, term-ansi-reset): - Update all users. - -2012-11-10 Jan Djärv - - * server.el (server-create-window-system-frame): Handle Nextstep - specially (Bug#12780). - -2012-11-10 Glenn Morris - - * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): - Unautoload, and make obsolete. (Bug#7449) - -2012-11-10 Chong Yidong - - * vc/diff-mode.el (diff-delete-trailing-whitespace): Rewrite, and - rename from diff-remove-trailing-whitespace (Bug#12831). - -2012-11-10 Stefan Monnier - - * emacs-lisp/advice.el: Require `cl-lib' at run-time to fix - miscompilation of trace.el. - -2012-11-10 Glenn Morris - - * vc/diff-mode.el (diff-remove-trailing-whitespace): Doc fix. - -2012-11-10 Stefan Monnier - - * emacs-lisp/gv.el (gv-define-simple-setter): Fix last change - (bug#12812). - -2012-11-10 Chong Yidong - - * minibuf-eldef.el (minibuffer-eldef-shorten-default): Convert to - a defcustom with an appropriate :set function. - (minibuffer-default--in-prompt-regexps): New function. - -2012-11-10 Glenn Morris - - * emacs-lisp/cl.el (define-setf-expander, defsetf) - (define-modify-macro): Doc fixes. - - * emacs-lisp/gv.el (gv-letplace): Fix doc typo. - (gv-define-simple-setter): Update doc of `fix-return'. - -2012-11-10 Stefan Monnier - - * emacs-lisp/gv.el (gv-define-simple-setter): Don't evaluate `val' - twice when `fix-return' is set (bug#12813). - - * emacs-lisp/cl.el (defsetf): Pass the third arg to - gv-define-simple-setter (bug#12812). - - * woman.el (woman-decode-region): Disable adaptive-fill when rendering - (bug#12756). - -2012-11-10 Glenn Morris - - * emacs-lisp/gv.el (gv-define-setter): Fix doc typo. - - * emacs-lisp/cl-extra.el (cl-prettyexpand): - * emacs-lisp/cl-lib.el (cl-proclaim, cl-declaim): - * emacs-lisp/cl-macs.el (cl-destructuring-bind, cl-locally) - (cl-the, cl-compiler-macroexpand): Add basic doc strings. - - * emacs-lisp/cl-extra.el (cl-maplist, cl-mapcan): Doc fix. - -2012-11-10 Leo Liu - - * ido.el (ido-set-matches-1): Improve flex matching performance by - removing backtracking in the regexp (suggested by Stefan). (Bug#12796) - -2012-11-09 Stefan Monnier - - * emacs-lisp/advice.el (ad-set-advice-info): Set defalias-fset-function. - (ad--defalias-fset): New function. - (ad-safe-fset): Remove. - (ad-make-freeze-definition): Use cl-letf*. - -2012-11-09 Stefan Monnier - - * subr.el (dolist): Don't bind VAR in RESULT. - - * emacs-lisp/advice.el: Miscellaneous cleanup. Use lexical-binding. - (fset, documentation): Don't save real def since we don't advise. - (ad-do-advised-functions): Remove problematic `result-form'. - (ad-safe-fset): `ad-real-fset' => `fset'. - (ad-read-advised-function): Don't assume that ad-do-advised-functions - uses CL's dolist internally. - (ad-arglist): Remove unused arg `name'. - (ad-docstring, ad-make-advised-docstring): - `ad-real-documentation' => `documentation'. - (warning-suppress-types): Declare. - (ad-set-arguments): Simple CSE. - (ad-recover-normality): Sanity check. - - * emacs-lisp/bytecomp.el (byte-compile-out-toplevel): Don't turn - (funcall '(lambda ..) ..) into ((lambda ..) ..). - -2012-11-09 Vincent Belaïche - - * ses.el: Symbol to coordinate mapping is made by symbol property - `ses-cell'. This means that the same mapping is done for all SES - sheets. That is good enough for cells with standard A1 names, but - not for named cell. So a hash map is added for the latter. - (defconst ses-localvars): Add local variable ses--named-cell-hashmap - (ses-sym-rowcol): Use hashmap for named cell. - (ses-is-cell-sym-p): New defun. - (ses-decode-cell-symbol): New defun. - (ses-create-cell-variable): Add cell to hashmap when name is not - A1-like. - (ses-rename-cell): Check that cell new name is not already in - spreadsheet with the use of ses-is-cell-sym-p - (ses-rename-cell): Use hash map for named cells, but accept also - renaming back to A1-like. - -2012-11-09 Stefan Monnier - - * emacs-lisp/advice.el: Use new dynamic docstrings. - (ad-make-advised-definition-docstring, ad-advised-definition-p): - Use dynamic-docstring-function instead of ad-advice-info. - (ad--make-advised-docstring): New function extracted from - ad-make-advised-docstring. - (ad-make-advised-docstring): Use it. - * progmodes/sql.el (sql--make-help-docstring): New function, extracted - from sql-help. - (sql-help): Use it with dynamic-docstring-function. - - * env.el (env--substitute-vars-regexp): Don't use rx (for bootstrap). - -2012-11-08 Stefan Monnier - - * files.el (hack-one-local-variable--obsolete): New function. - (hack-one-local-variable): Use it for obsolete settings. - - * subr.el (locate-user-emacs-file): If both old and new name exist, use - the new name. - - * progmodes/js.el (js--filling-paragraph): New var. - (c-forward-sws, c-backward-sws, c-beginning-of-macro): Advise. - (js-c-fill-paragraph): Prefer advice to cl-letf so the rebinding is - less sneaky. - -2012-11-08 Julien Danjou - - * progmodes/ruby-mode.el (auto-mode-alist): Add Rakefile in - `auto-mode-alist' (Bug#12835). - -2012-11-08 Stefan Monnier - - * progmodes/perl-mode.el (perl-prettify-symbols): New defcustom. - (perl--prettify-symbols-alist): New const. - (perl--font-lock-compose-symbol, perl--font-lock-symbols-keywords): - New functions. - (perl-font-lock-keywords-2): Use them. - (perl-electric-noindent-p): New function. - (perl-mode): Use it to set up electric-indent-mode. - (perl-electric-terminator, perl-indent-command): Mark obsolete. - (perl-mode-map): Remove bindings for them. - (perl-imenu-generic-expression, perl-outline-level): - Match functions&packages in column>0. - - * env.el (env--substitute-vars-regexp): New const. - (substitute-env-vars): Use it. Add `only-defined' arg. - * net/tramp.el (tramp-replace-environment-variables): Use it. - - * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): - Byte-compile *before* eval in eval-and-compile. - (byte-compile-log-warning): Remove redundant inhibit-read-only. - (byte-compile-file-form-autoload): Don't hide actual definition. - (byte-compile-maybe-guarded): Accept `functionp' as well. - - * emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro. - -2012-11-07 Michael Albinus - - * notifications.el (notifications-get-server-information-method): - New defconst. - (notifications-get-capabilities): Fix docstring. - (notifications-get-server-information): New defun. - -2012-11-06 Agustín Martín Domingo - - * textmodes/ispell.el (ispell-region): Standard re-indent for better - readability. - - * textmodes/ispell.el: Experimental support for support debugging. - (ispell-create-debug-buffer): Create a `ispell-debug-buffer' debug - buffer for ispell. - (ispell-print-if-debug): New function to print stuff to - `ispell-debug-buffer' if debugging is enabled. - (ispell-region, ispell-process-line): Use `ispell-print-if-debug' to - show some debugging info. - (ispell-buffer-with-debug): New function that creates a debugging - buffer and calls `ispell-buffer' with debugging enabled. - - * textmodes/ispell.el (ispell-region): Do not prefix sent string by - comment in autoconf mode. (Bug#12768) - -2012-11-06 Dmitry Antipov - - * emacs-lisp/byte-opt.el (toplevel): Add compare-window-configurations, - frame-first-window, frame-root-window, frame-selected-window, - minibuffer-selected-window, minibuffer-window, - window-absolute-pixel-edges, window-at, window-body-height, - window-body-width, window-display-table, window-combination-limit, - window-frame, window-fringes, window-inside-absolute-pixel-edges, - window-inside-edges, window-inside-pixel-edges, window-left-child, - window-left-column, window-margins, window-next-buffers, - window-next-sibling, window-new-normal, window-new-total, - window-normal-size, window-parameter, window-parameters, window-parent, - window-pixel-edges, window-point, window-prev-buffers, - window-prev-sibling, window-redisplay-end-trigger, window-scroll-bars, - window-start, window-text-height, window-top-child, window-top-line, - window-total-height, window-total-width and window-use-time to the list - of functions without side-effects. - (toplevel): Add window-valid-p to the list of error-free functions - without side-effects. - -2012-11-05 Agustín Martín Domingo - - * textmodes/ispell.el (ispell-program-name): - Update spellchecker parameters when customized. - -2012-11-04 Glenn Morris - - * vc/vc-svn.el (vc-svn-state-heuristic): Avoid calling svn. (Bug#7850) - -2012-11-04 Chong Yidong - - * bookmark.el (bookmark-bmenu-switch-other-window): Avoid binding - same-window-* variables. - -2012-11-04 Juri Linkov - - * isearch.el (isearch-help-for-help, isearch-describe-bindings) - (isearch-describe-key, isearch-describe-mode): Use a display - action instead of binding same-window-* variables (Bug#10040). - -2012-11-03 Glenn Morris - - * emacs-lisp/cl-macs.el (cl-parse-loop-clause): - Rename handler properties back from cl-- to cl-. (Bug#12788) - - * emacs-lisp/cl-macs.el (cl-do-all-symbols): Add doc string. - -2012-11-03 Eli Zaretskii - - * term/pc-win.el: Don't load term/internal from here. - - * loadup.el: Load term/internal from here. - -2012-11-03 Fabián Ezequiel Gallina - - * progmodes/python.el (inferior-python-mode): Fix hang in - jit-lock (Bug#12645). - -2012-11-03 Martin Rudalics - - * window.el (switch-to-visible-buffer) - (switch-to-buffer-preserve-window-point): Fix doc-strings. - -2012-11-03 Glenn Morris - - * emacs-lisp/cl-lib.el (cl--random-time): - Rename from cl-random-time. (Bug#12773) - (cl--gensym-counter, cl--random-state): Update callers. - * emacs-lisp/cl-extra.el (cl-make-random-state): Update callers. - -2012-11-03 Chong Yidong - - * cus-start.el: Make cursor-type customizable (Bug#11633). - -2012-11-02 Glenn Morris - - * filecache.el: No need to load find-lisp when compiling. - (find-lisp-find-files): Autoload it. - (file-cache-add-directory-recursively): Don't require find-lisp. - - * image.el (image-type-from-file-name): Trivial simplification. - - * emacs-lisp/bytecomp.el (byte-compile-eval): - Decouple "noruntime" and "cl-functions" warnings. - -2012-11-01 Stephen Berman - - * play/gomoku.el (gomoku-display-statistics): Update mode line - only if in Gomoku buffer; don't capitalize "won" (Bug#12771). - -2012-10-31 Martin Rudalics - - * window.el (quit-restore-window): If the window has been - created on an existing frame and ended up as the sole window on - that frame, do not delete it (Bug#12764). - -2012-10-31 Stefan Monnier - - * progmodes/sh-script.el (sh--inside-noncommand-expression): - Rename from sh--inside-arithmetic-expression, handle more cases - (bug#11263). - - * progmodes/sh-script.el (sh--inside-arithmetic-expression): New func. - (sh-font-lock-open-heredoc): Use it (bug#12770). - -2012-10-30 Glenn Morris - - * emacs-lisp/cl-extra.el (cl-mapc): Add autoload cookie. Doc fix. - - * emacs-lisp/cl.el (letf): Doc fix. (Bug#12760) - -2012-10-29 Chong Yidong - - * isearch.el (isearch-other-meta-char): Ensure that a reprocessed - function key is stored in a keyboard macro (Bug#4894). - - * thingatpt.el (number-at-point): Apply a thing-at-point property. - -2012-10-29 Stefan Monnier - - * vc/diff-mode.el (diff-context->unified): Don't get confused by "hunk - header comments". - (diff-unified->context, diff-context->unified) - (diff-reverse-direction, diff-fixup-modifs): Use `use-region-p'. - - * emacs-lisp/cl.el (letf): Add missing indent rules (bug#12759). - - * files.el (find-alternate-file): Only ask one question (bug#12487). - -2012-10-29 Chong Yidong - - * vc/vc-hooks.el (vc-file-clearprops): Kill vc-parent-buffer. - Suggested by Dan Nicolaescu (Bug#6326). - - * info.el (Info-complete-menu-item): Avoid duplicates (Bug#12705). - - * startup.el (fancy-about-screen): Don't message (Bug#12680). - - * thingatpt.el (thing-at-point): Doc fix (Bug#12691). - - * imenu.el (imenu): Inhibit push-mark message (Bug#12726). - - * face-remap.el (face-remap-add-relative): Handle the case where a - face-remapping-alist entry is a cons cell (Bug#12762). - -2012-10-29 Kevin Ryde - - * woman.el (woman-parse-numeric-value): Handle picas correctly - (Bug#12639). - -2012-10-29 Glenn Morris - - * emacs-lisp/cl.el (defsetf): Doc fix. - -2012-10-29 Stefan Monnier - - * progmodes/sh-script.el (sh-font-lock-paren): Also put punctuation - syntax to the matching opener, if any (bug#12547). - (sh-smie-sh-forward-token, sh-smie-sh-backward-token): Recognize this - matching open as a "case-(". - (sh-smie-rc-grammar): Add a corresponding rule for it. - -2012-10-28 Daniel Hackney - - * emacs-lisp/package.el (package-generate-autoloads): Kill buffer - "PKGNAME-autoloads.el" in case we created it. - -2012-10-28 Stefan Monnier - - * minibuffer.el (completion--sifn-requote): Rewrite to handle things - like Tramp's "/foo:~bar//baz" -> "/scpc:foo:/baz" mapping (bug#11714). - (completion--twq-all): Disable too-strict assertions. - - * tmm.el (tmm-prompt): Use map-keymap (bug#12744). - -2012-10-27 Eli Zaretskii - - * profiler.el (profiler-report-make-entry-part): Fix help-echo - text to match the real keybindings. - -2012-10-27 Juri Linkov - - * wdired.el (wdired-keep-marker-rename): New defcustom. - (wdired-do-renames): Use it instead of `dired-keep-marker-rename'. - (Bug#11795) - - * dired.el (dired-keep-marker-rename): Add reference to - `wdired-keep-marker-rename' in the docstring. - Add default character value ?R to display initially in - Customization UI instead of ?@. - -2012-10-27 Martin Rudalics - - * window.el (display-buffer): In doc-string describe - window-height and window-width alist entries. - - * time.el (display-time-world): Restore fit-window-to-buffer - behavior. - -2012-10-27 Chong Yidong - - * subr.el (insert-buffer-substring-as-yank): Doc fix. - -2012-10-26 Jambunathan K - - * minibuffer.el (completion-category-overrides): New completion - category `bookmark' (bug#11131). - -2012-10-26 Stefan Monnier - - * emacs-lisp/advice.el (ad-assemble-advised-definition): - Silence bogus compiler warnings for ad-do-it. - - * bookmark.el (bookmark-completing-read): Set the completion category - to `bookmark' (bug#11131). - -2012-10-26 Bastien - Stefan Monnier - - * face-remap.el: Use lexical-binding. - (text-scale-adjust): Improve docstring. Use itself for the temporary - overlay-map bindings, so as to repeat the "Use..." message each time. - -2012-10-26 Stefan Monnier - - * emacs-lisp/macroexp.el (macroexp--expand-all): - Obey byte-compile-warning-enabled-p (bug#12486). - - * vc/diff-mode.el (diff-end-of-hunk): Also skip potential "no LF at eol". - (diff-refine-hunk): Similarly, handle the "no LF at eol" (bug#12584). - -2012-10-26 Martin Rudalics - - * mouse.el (mouse-drag-line): Move last form into preceding when - clause (Bug#12731). - - * help.el (resize-temp-buffer-window): Fix doc-string. - -2012-10-25 David Engster - - * emacs-lisp/eieio.el (eieio-update-lisp-imenu-expression): - Remove. This feature is already integrated in imenu. - - * emacs-lisp/eieio-opt.el: Remove require for `button' since it is - always loaded. Require `speedbar' unconditionally. - -2012-10-25 Stefan Monnier - - * dired.el (dired-get-marked-files): Allow ! on . and .. (bug#12725). - - * minibuffer.el (minibuffer-force-complete): Fix thinko. - - * net/ldap.el (ldap-search-internal): The official ldif format starts - with a "version: 1" header (bug#12724). - - * emacs-lisp/package.el (package-installed-p): Warn if not ready - (bug#12721). - -2012-10-25 Glenn Morris - - * emacs-lisp/cl-macs.el (cl-progv): Doc fix. - -2012-10-24 Stefan Monnier - - * minibuffer.el (minibuffer-force-complete): Use one more marker - for the temporary-overlay-map command (bug#12619). - -2012-10-24 Chong Yidong - - * time.el (display-time-world-mode): Derive from special-mode. - (display-time-world): Use display-buffer (Bug#12708). - (display-time-world-mode-map): Variable deleted. - (display-time-world-display): Wrap the final delete-char inside - inhibit-read-only. - -2012-10-24 Chong Yidong - - * dired.el (dired-mark, dired-unmark, dired-flag-file-deletion): - Doc fix. - - * emacs-lisp/easymenu.el (easy-menu-define): Doc fix (Bug#12628). - -2012-10-24 Stefan Monnier - - * minibuffer.el (completion--all-sorted-completions-location): New var. - (completion--cache-all-sorted-completions) - (completion--flush-all-sorted-completions): Use it. - (completion-in-region, completion-in-region--postch) - (completion-at-point, completion-help-at-point): Use markers in - completion-in-region--data (bug#12619). - -2012-10-23 Stefan Monnier - - * progmodes/compile.el (compilation-start): Try to handle common - quoting of `cd' argument (bug#12640). - - * vc/diff-mode.el (diff-hunk): `save-excursion' while refining - (bug#12671). - -2012-10-23 Glenn Morris - - * progmodes/gud.el (gud-menu-map): - Check gdb-active-process is bound. (Bug#12358) - -2012-10-23 Stefan Monnier - - * repeat.el (repeat): Set real-this-command (bug#12232). - - * htmlfontify.el (hfy-post-html-hook): - * filesets.el (filesets-cache-fill-content-hook): - * arc-mode.el (archive-extract-hook): - * progmodes/cc-mode.el (c-prepare-bug-report-hook): - * net/rcirc.el (rcirc-sentinel-functions) - (rcirc-receive-message-functions, rcirc-activity-functions) - (rcirc-print-functions): - * net/dbus.el (dbus-event-error-functions): - * emacs-lisp/eieio.el (eieio-pre-method-execution-functions): - * emacs-lisp/checkdoc.el (checkdoc-style-functions) - (checkdoc-comment-style-functions): Don't use "-hooks" suffix. - * term/sun.el (sun-raw-prefix-hooks): - * mail/sendmail.el (mail-yank-hooks): Use make-obsolete-variable. - -2012-10-23 Michael Albinus - - * net/tramp-smb.el (tramp-smb-maybe-open-connection): - Set `tramp-chunksize' to 1. This improves the performance. - (tramp-smb-wait-for-output): Add timeout to - `tramp-accept-process-output' calls. - -2012-10-23 Chong Yidong - - * faces.el (font-list-limit): Define as an obsolete variable. - - * startup.el (command-line): - * cus-start.el: Don't refer to font-list-limit. - - * newcomment.el (comment-normalize-vars): Doc fix (Bug#12583). - -2012-10-23 Stefan Monnier - - * subr.el (internal-temp-output-buffer-show): Rename from - temp-output-buffer-show, since previously compiled files expect this name. - -2012-10-23 Glenn Morris - - * image.el (image-type-from-file-name): If multiple types match, - return the first one that is supported. (Bug#9045) - -2012-10-22 Glenn Morris - - * image.el (imagemagick-enabled-types): Doc fix. - -2012-10-22 Takafumi Arakaki (tiny change) - - * progmodes/which-func.el (which-func-current): The hash-table may have - an explicit nil (bug#12338). - -2012-10-22 Stefan Monnier - - * electric.el (electric-pair-delete-selection-self-insert-function): - Rename to electric-pair-will-use-region, return a boolean. - (electric-pair-mode): Adjust accordingly. Don't require delsel. - - * delsel.el (delete-selection-helper): Use a function instead of a hook. - (delete-selection-pre-hook): Use use-region-p. - (delete-selection-self-insert-function): Remove. - (self-insert-command): Obey self-insert-uses-region-functions. - (self-insert-iso): Revert to previous setting, since we don't actually - know what that command does. - (delete-selection-self-insert-hooks): Remove. - -2012-10-22 Simon Law (tiny change) - - * delsel.el (delete-selection-helper): New function, extracted from - delete-selection-pre-hook. - (delete-selection-pre-hook): Use it. - (delete-selection-self-insert-function): New function. - (delete-selection-self-insert-hooks): New hook. - (self-insert-command, self-insert-iso): Use it. - * electric.el (electric-pair-syntax): New function, extracted from - electric-pair-post-self-insert-function. - (electric-pair-post-self-insert-function): Use it. - (electric-pair-delete-selection-self-insert-function): New function. - (electric-pair-mode): Require delsel and setup - delete-selection-self-insert-hooks (bug#11520). - -2012-10-20 Chong Yidong - - * vc/vc.el (vc-diff-internal): Set up Diff mode even if there are - no changes to show (Bug#12586). - - * eshell/esh-cmd.el (eshell-rewrite-for-command): Copy the body - list explicitly (Bug#12571). - -2012-10-20 Arne Jørgensen - - * progmodes/flymake.el (flymake-create-temp-inplace): - Use file-truename. - -2012-10-20 Eli Zaretskii - - * loadup.el: Update comment about uncompiled Lisp files. (Bug#12395) - -2012-10-20 Jay Belanger - - * calc/calc-units.el (math-extract-units): Properly extract powers - of units. - -2012-10-20 Daniel Colascione - - * frame.el (make-frame): Set x-display-name as we used to in order - to unbreak creating an X11 frame from an Emacs daemon started - without a display. - -2012-10-19 Stefan Monnier - - * minibuffer.el (minibuffer-force-complete): Make the next completion use - the same completion-field (bug#12221). - -2012-10-19 Martin Rudalics - - * emacs-lisp/debug.el (debug): Record height of debugger window - also when debugger will be back (Bug#8789). - -2012-10-18 Chong Yidong - - * progmodes/gdb-mi.el (gdb-display-buffer-other-frame-action): - Convert to defcustom. - (gdb-get-source-file): Don't bind pop-up-windows. - - * progmodes/gud.el (gud-display-line): Don't specially re-use - other frames for the gdb-mi case (Bug#12648). - -2012-10-18 Stefan Monnier - - * emacs-lisp/advice.el: Clean up commentary a bit. - (ad-do-advised-functions, ad-with-originals): Use `declare'. - (byte-code-function-p): Never redefine. - - * emacs-lisp/gv.el (cond): Same fix as before for `if'. - -2012-10-18 Glenn Morris - - * dired.el (dired-sort-toggle): Some ls implementations only allow - a single option string. (Bug#12666) - - * minibuffer.el (completion-cycle-threshold): Doc fix. - -2012-10-17 Kenichi Handa - - * international/mule.el (set-keyboard-coding-system): - Recover input meta mode when the new coding system doesn not use 8-bit. - Supply TERMINAL arg to set-input-meta-mode. - -2012-10-17 Michael Heerdegen - - * wdired.el (wdired-old-marks): New variable. - (wdired-change-to-wdired-mode): Locally set wdired-old-marks. - (wdired-do-renames): Move point with renamed file and don't lose - mark status (Bug#11795). - -2012-10-16 Juri Linkov - - * replace.el (query-replace-help): Mention multi-buffer replacement - keys in the Help message. (Bug#12655) - -2012-10-15 Chong Yidong - - * emacs-lisp/byte-run.el (defsubst): Doc fix. - -2012-10-14 Eli Zaretskii - - * window.el (display-buffer): Doc fix. - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Adjust the msft regexp to the output of Studio 2010, and move msft - before edg-1. See the discussion on emacs-devel, - http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00579.html, - for the details. - -2012-10-14 Stefan Monnier - - * emacs-lisp/eieio.el (eieio-oset-default, eieio-oset, oset-default) - (oset): Move uses of object-class-fast macro after its definition. - - * emacs-lisp/gv.el (if): Don't use closures in non-lexical-binding code. - -2012-10-13 Chong Yidong - - * textmodes/ispell.el (ispell-pdict-save): If flyspell-mode is - enabled, re-enable it (Bug#11963). - -2012-10-13 Martin Rudalics - - * emacs-lisp/debug.el (debug): When debugger-will-be-back is - non-nil, restore window configuration (Bug#12623). - -2012-10-12 Stefan Monnier - - * help-fns.el (describe-variable, describe-function-1): - * help-mode.el (help-make-xrefs): Remove error handler, made unneeded. - - * emacs-lisp/eieio.el (lisp-imenu-generic-expression): Fix typo. - -2012-10-12 Glenn Morris - - * mail/rmailsum.el (rmail-header-summary): - Fix 2010-11-26 test for multiline Subject: field. (Bug#12625) - -2012-10-12 Fabián Ezequiel Gallina - - * progmodes/python.el (python-mode-map): - Replace subtitute-key-definition with proper command remapping. - (python-nav--up-list): Fix behavior for blocks on the same level. - -2012-10-11 Stefan Monnier - - * help-fns.el (describe-function-1): Handle autoloads w/o docstrings. - - * emacs-lisp/bytecomp.el (byte-compile-eval): Adjust to long-ago - changes to the format of load-history. - - * international/mule-cmds.el (read-char-by-name): Move let-binding of - completion-ignore-case in case that var is buffer-local (bug#12615). - -2012-10-11 Kenichi Handa - - * international/eucjp-ms.el: Re-generated. - -2012-10-10 Kenichi Handa - - * select.el (xselect--encode-string): If a coding is specified for - selection, and that is compatible with COMPOUND_TEXT, use it. - -2012-10-10 Martin Rudalics - - * window.el (switch-to-buffer-preserve-window-point): New option. - (switch-to-buffer): - Obey `switch-to-buffer-preserve-window-point' (Bug#4041). - -2012-10-09 Stefan Monnier - - * newcomment.el (comment-start-skip, comment-end-skip, comment-end): - Don't document nil as a useful value (bug#12583). - -2012-10-09 Michael Albinus - - * net/tramp.el (tramp-debug-message): - Remove "tramp-with-progress-reporter" from regexp of ignored functions. - (with-tramp-progress-reporter): Rename from - `tramp-with-progress-reporter'. - (with-tramp-file-property, with-tramp-connection-property): - Move from tramp-cache.el, rename from `with-file-property' and - `with-connection-property', respectively. - - * net/tramp-cache.el: Remove `with-file-property' and - `with-connection-property'. - - * net/tramp.el: - * net/tramp-gvfs.el: - * net/tramp-sh.el: - * net/tramp-smb.el: Adapt callees. - - * net/trampver.el: Update release number. - -2012-10-09 Glenn Morris - - * w32-fns.el (set-message-beep): - * term/w32-win.el (set-message-beep): Update declarations. - -2012-10-09 Stefan Monnier - - * bindings.el (mode-line-toggle-read-only, mode-line-toggle-modified) - (mode-line-widen, mode-line-input-method-map) - (mode-line-coding-system-map, mode-line-remote) - (mode-line-unbury-buffer, mode-line-bury-buffer) - (mode-line-next-buffer, mode-line-previous-buffer): - Replace save-selected-window+select-window => with-selected-window. - - * progmodes/cc-bytecomp.el (cc-bytecomp-defmacro): Remove, unused. - * progmodes/cc-vars.el (bq-process): Remove, unused. - - * emacs-lisp/cl-macs.el (cl-defstruct): Obey the :read-only property. - -2012-10-09 Fabián Ezequiel Gallina - - Implemented `backward-up-list'-like navigation. - * progmodes/python.el (python-nav-up-list) - (python-nav-backward-up-list): New functions. - (python-mode-map): Define substitute key for backward-up-list to - python-nav-backward-up-list. - -2012-10-08 Fabián Ezequiel Gallina - - * progmodes/python.el (python-fill-paragraph): Rename from - python-fill-paragraph-function. Fixed fill-paragraph for - decorators (Bug#12605). - -2012-10-08 Fabián Ezequiel Gallina - - * progmodes/python.el (python-shell-output-filter): Handle extra - carriage return in OSX (Bug#12409). - -2012-10-08 Fabián Ezequiel Gallina - - Fix shell handling of unbalanced quotes and parens in output. - * progmodes/python.el (python-rx-constituents): Add string-delimiter. - (python-syntax-propertize-function): Use it. - (python-shell-output-syntax-table): New var. - (inferior-python-mode): Prevent unbalanced parens/quotes from - previous output mess with current input context. - -2012-10-08 Juanma Barranquero - - * generic-x.el (javascript-generic-mode, javascript-generic-mode-hook): - Make obsolete aliases of js-mode and js-mode-hook (from js.el). - -2012-10-08 Michael Albinus - - * ffap.el (ffap-replace-file-component): Support Tramp file name - syntax, not only ange-ftp's one. - -2012-10-08 Glenn Morris - - * cus-start.el (message-log-max): Set :version. - - * calendar/calendar.el (calendar-intermonth-header): Doc fix. - -2012-10-08 Martin Rudalics - - * emacs-lisp/edebug.el (edebug-pop-to-buffer): Don't try to split - the minibuffer window (Bug#10851). - -2012-10-08 Fabián Ezequiel Gallina - - Enhancements on forward-sexp movement. - * progmodes/python.el (python-nav-beginning-of-statement) - (python-nav-end-of-statement): Return point-marker. - (python-nav-forward-sexp): lisp-like forward-sexp behavior. - (python-info-current-symbol) - (python-info-statement-starts-block-p): Rename from - python-info-beginning-of-block-p. - (python-info-statement-ends-block-p): Rename from - python-info-end-of-block-p. - (python-info-beginning-of-statement-p) - (python-info-end-of-statement-p) - (python-info-beginning-of-block-p, python-info-end-of-block-p): - New functions. - -2012-10-08 Stefan Monnier - - * comint.el (comint-preinput-scroll-to-bottom): Preserve the - frame-selected-windows. - -2012-10-08 Daniel Colascione - - * battery.el (battery-status-function): Check for - w32-battery-status itself, not system-time windows-nt. - - * frame.el: Require cl-lib. - (display-format-alist): New variable mapping frame types to - functions that initialize them. - (window-system-for-display): New function: interprets - display-format-alist. - (make-frame-on-display): Remove existing display-selection logic - and just forward to make-frame, which will now DTRT. - (make-frame): Restructure to use window-system-for-display to - figure out how to create a frame on a given display. - (display-mouse-p): Look for frame-type w32, not a particular - system-type. - - * loadup.el: Load w32 lisp code when we have the w32 feature. - - * mouse.el (mouse-yank-primarY): Look for frame-type w32, not - system-type windows-nt. - - * server.el (server-create-window-system-frame): Look for window - type. - (server-proces-filter): Only force a window system when windows-nt - _and_ w32. Explain why. - - * simple.el (normal-erase-is-backspace-mode): Add w32 to the list - of window systems we configure for the mode. - - * startup.el (command-line): Mark window system is initialized - after we've done it. - - * common-win.el (x-select-text): Look for w32, not windows-nt. - - * ns-win.el: Require cl-lib. Add ourselves to - display-format-alist. - (ns-initialize-window-system): Assert we're not initialized twice. - - * w32-win.el: Enable lexical binding; require cl-lib; add - ourselves to display-format-alist. - (w32-handle-dropped-file): Convert incoming dropped files from - Windows paths to Cygwin ones before passing them on to the rest of - Emacs. - (w32-drag-n-drop): New paramter new-frame. Simplify logic. - (w32-initialize-window-system): Assert we're not initialized twice. - - * x-win.el: Require cl-lib; add ourselves to display-format-alist. - (x-initialize-window-system): Assert we're not initialized twice. - - * w32-common-fns.el: New File. - (w32-version, w32-using-nt, w32-get-clipboard-data) - (w32-set-clipboard-data, x-set-selection, x-get-selection) - (w32-charset-info-alist, x-last-selected, text) - (x-get-selection-value, x-selection-value): Move here. - - * w32-fns.el: Require w32-common-fns. - (w32-version, w32-using-nt, w32-get-clipboard-data) - (w32-set-clipboard-data, x-set-selection, x-get-selection) - (w32-charset-info-alist, x-last-selected, text) - (x-get-selection-value, x-selection-value): Move to - w32-common-fns. - - * w32-vars.el: - (w32-allow-system-shell, w32-system-shells): Define only in - non-cygwin case. - -2012-10-07 Stefan Monnier - - * subr.el (read-passwd-map): Don't use `defconst' (bug#12597). - (read-passwd): Remove a few more potential sources of leaks. - -2012-10-07 Fabián Ezequiel Gallina - - * progmodes/python.el (inferior-python-mode) - (python-shell-make-comint): Fix initialization of local - variables copied from parent buffer. - -2012-10-07 Jan Djärv - - * term/ns-win.el (ns-read-file-name): Update declaration to match - nsfns.m. - (ns-respond-to-change-font): Change fontsize separately so we are sure - it is set when font is acted upon. - -2012-10-07 Fabián Ezequiel Gallina - - Enhancements to indentation. - * progmodes/python.el (python-indent-context): Give priority to - inside-string context. Make comments indentation markers. - (python-indent-region): Do not mess with strings, unless it's the - enclosing set of quotes. - -2012-10-07 Stefan Monnier - - * window.el (internal--before-save-selected-window) - (internal--after-save-selected-window): New functions extracted from - save-selected-window. Make sure we return the `alist' we construct. - (save-selected-window): Use them. - - * textmodes/tex-mode.el (tex-recenter-output-buffer): - Use with-selected-window. - - * emacs-lisp/autoload.el (make-autoload): Add `cl-defmacro' to the - forms that define macros (bug#12593). - -2012-10-07 Kenichi Handa - - * international/mule-conf.el (compound-text-with-extensions): - Add :mime-charset property as x-ctext. - -2012-10-07 Stefan Merten - - * textmodes/rst.el (rst-new-adornment-down, rst-indent-field) - (rst-indent-literal-normal, rst-indent-literal-minimized) - (rst-indent-comment): Correct :version tag. - (rst-official-cvs-rev): Correct version string. - -2012-10-07 Glenn Morris - - * mail/rmailmm.el (rmail-mime-process-multipart): - Do not confuse a multipart message with an epilogue - with a "truncated" one; fixes 2011-06-27 change. (Bug#10101) - -2012-10-07 Fabián Ezequiel Gallina - - Fix shell output retrieval and comint-prompt-regexp init. - * progmodes/python.el (inferior-python-mode): - (python-shell-make-comint): Fix initialization of - comint-prompt-regexp from copied file local variables. - (python-shell-fetched-lines): Remove var. - (python-shell-output-filter-in-progress): Rename from - python-shell-fetch-lines-in-progress. - (python-shell-output-filter-buffer): Rename from - python-shell-fetch-lines-string. - (python-shell-fetch-lines-filter): Delete function. - (python-shell-output-filter): New function. - (python-shell-send-string-no-output): Use them. - -2012-10-07 Glenn Morris - - * hi-lock.el (hi-lock-process-phrase): - Try to make it less fragile. (Bug#7161) - - * hi-lock.el (hi-lock-face-phrase-buffer): Doc fix. - -2012-10-06 Glenn Morris - - * ehelp.el (electric-help-mode): Use help-mode rather than - non-existent mode `help'. - (electric-help-map): Use button-buffer-map. (Bug#10917) - - * textmodes/reftex-vars.el (reftex-create-bibtex-header) - (reftex-create-bibtex-footer): Fix custom types. - - * progmodes/sh-script.el (sh-indent-after-continuation): - Add explicit :group. - - * textmodes/rst.el (rst-preferred-decorations) - (rst-shift-basic-offset): Clarify obsolescence versions. - - * profiler.el (profiler): Add missing group :version tag. - * avoid.el (mouse-avoidance-banish-position): - * proced.el (proced-renice-command): - * calc/calc.el (calc-ensure-consistent-units): - * calendar/icalendar.el (icalendar-import-format-uid): - * net/tramp.el (tramp-save-ad-hoc-proxies): - * progmodes/bug-reference.el (bug-reference-bug-regexp): - * progmodes/flymake.el (flymake-error-bitmap) - (flymake-warning-bitmap, flymake-fringe-indicator-position): - * progmodes/sh-script.el (sh-indent-after-continuation): - * progmodes/verilog-mode.el (verilog-auto-template-warn-unused) - (verilog-before-save-font-hook, verilog-after-save-font-hook): - * progmodes/vhdl-mode.el (vhdl-makefile-default-targets) - (vhdl-array-index-record-field-in-sensitivity-list) - (vhdl-indent-comment-like-next-code-line): - * textmodes/reftex-vars.el (reftex-ref-style-alist) - (reftex-ref-macro-prompt, reftex-ref-style-default-list) - (reftex-cite-key-separator, reftex-create-bibtex-header) - (reftex-create-bibtex-footer): - * textmodes/rst.el (rst-new-adornment-down, rst-indent-field) - (rst-indent-literal-normal, rst-indent-literal-minimized) - (rst-indent-comment): Add missing custom :version tags. - - * calendar/timeclock.el (timeclock-modeline-display): - Add missing obsolete alias for renamed user option. - - * strokes.el (strokes-modeline-string): - * emulation/crisp.el (crisp-mode-modeline-string): - * eshell/esh-mode.el (eshell-status-in-modeline): - Aliases to defcustoms must come before the defcustom. - - * calendar/cal-tex.el (cal-tex-diary, cal-tex-cursor-week) - (cal-tex-cursor-week2, cal-tex-cursor-week-iso) - (cal-tex-cursor-week-monday): Doc fixes. - (cal-tex-cursor-week2-summary): Doc fix. - Rename from cal-tex-cursor-week-at-a-glance. - - * calendar/cal-menu.el (cal-menu-context-mouse-menu): - Tweak week descriptions. Add cal-tex-cursor-week2-summary. - - * calendar/calendar.el (calendar-mode-map): - Add cal-tex-cursor-week2-summary. - -2012-10-06 Stefan Monnier - - * emacs-lisp/cl-macs.el (cl-defstruct): Improve docstring. - - * subr.el (read-passwd-map): New var. - (read-passwd): Use `read-string' again. - * minibuffer.el (delete-minibuffer-contents): Make it interactive. - -2012-10-06 Jambunathan K - - * register.el (append-to-register, prepend-to-register): - Deactivate mark, as does `copy-to-register' (bug#12389). - -2012-10-06 Chong Yidong - - * files.el (auto-mode-alist): Add .by and .wy (Semantic grammars). - -2012-10-06 Ikumi Keita (tiny change) - - * international/characters.el: Fix simple mistake ((car chars) -> - elt), delete duplicated code. - -2012-10-06 Glenn Morris - - * subr.el (read-passwd): Allow C-u to erase entry. (Bug#12570) - -2012-10-06 Julian Scheid (tiny change) - - * color.el (color-hsl-to-rgb): Fix incorrect results for - small and large hue values. (Bug#12559) - -2012-10-05 Fabián Ezequiel Gallina - - Enhancements to docstring formatting when filling paragraphs. - * progmodes/python.el (python-fill-docstring-style): Rename from - python-fill-string-style. Added new style. - (python-fill-string): Use new style. Better checks for - docstrings. - -2012-10-05 Glenn Morris - - * net/newst-treeview.el (newsticker-group-move-feed): Doc fix. - - * color.el (color-name-to-rgb, color-rgb-to-hex) - (color-hue-to-rgb, color-hsl-to-rgb, color-rgb-to-hsv) - (color-rgb-to-hsl, color-srgb-to-xyz, color-saturate-hsl) - (color-desaturate-hsl, color-desaturate-name, color-lighten-hsl) - (color-lighten-name, color-darken-hsl, color-darken-name): Doc fixes. - - * emacs-lisp/timer.el (with-timeout): Add missing progn. (Bug#12577) - -2012-10-05 Juanma Barranquero - - * ido.el (ido-directory-too-big-p): Pass dir through file-truename - to get the correct size across symlinks. - - * ido.el (ido-buffer-disable-smart-matches): Fix typo in docstring. - -2012-10-04 Juri Linkov - - * replace.el (query-replace-interactive): Declare obsolete. - (query-replace-read-from): Add the last incremental search string - to the list of default values accessible via M-n. - (map-query-replace-regexp): Use `read-regexp'. - (query-replace, query-replace-regexp, query-replace-regexp-eval) - (map-query-replace-regexp, replace-string, replace-regexp): - Fix docstrings to replace mentions of `query-replace-interactive' - with alternatives. (Bug#12526) - -2012-10-04 Juri Linkov - - * dired.el (dired-shrink-to-fit): Declare obsolete. (Bug#1806) - (dired-pop-to-buffer): Declare obsolete. - (dired-mark-pop-up): Doc fix. - -2012-10-04 Fabián Ezequiel Gallina - - Allow user to set docstring style for fill-paragraph. - * progmodes/python.el - (python-fill-comment-function, python-fill-string-function) - (python-fill-decorator-function, python-fill-paren-function): - Remove :safe for defcustoms. - (python-fill-string-style): New defcustom - (python-fill-paragraph-function): Enhance context detection. - (python-fill-string): Honor python-fill-string-style settings. - -2012-10-04 Martin Rudalics - - * emacs-lisp/edebug.el (edebug-pop-to-buffer): Select window - after setting its buffer (Bug#10805). - -2012-10-03 Fabián Ezequiel Gallina - - Fix cornercase for string syntax. - * progmodes/python.el (python-syntax-propertize-function): - Simplify and enhance the regexp for unescaped quotes. Now it also - matches quotes in weird situations like the single quote in - "something\"'". - (python-syntax-stringify): Simplify num-quotes detecting code. - -2012-10-03 Glenn Morris - - * help-macro.el (three-step-help): - Revert 2012-09-29 change. (Bug#12567) - -2012-10-03 Martin Rudalics - - * menu-bar.el (kill-this-buffer): Don't do anything when - `menu-frame' is not alive or visible (Bug#8184). - - * emacs-lisp/debug.el (debug): When quitting the debugger window - restore current buffer (Bug#12502). - -2012-10-02 Chong Yidong - - * progmodes/hideif.el (hif-lookup, hif-defined): - Handle semantic-c-takeover-hideif. - -2012-10-02 Paul Eggert - - Change sampling interval units from ms to ns. - * profiler.el (profiler-sampling-interval): Change units - from ms to ns, multiplying the default by 1000000 so that - it remains 1 ms. - (profiler-report-cpu-line-format): Give enough room for - the maximum counters on 64-bit hosts. - (profiler-report-render-calltree-1): Call them "CPU samples", - not "Time (ms)", since they are not milliseconds now (and - never really were). - -2012-10-02 Sergio Durigan Junior (tiny change) - - * net/eudcb-bbdb.el (eudc-bbdb-format-record-as-result): - Fix querying BBDB for entries without a last name (Bug#11580). - -2012-10-02 Chong Yidong - - * emacs-lisp/eieio.el: Restore Version header. - -2012-10-02 Stefan Monnier - - * vc/diff-mode.el (diff--auto-refine-data): New var. - (diff-hunk): Use it to delay refinement. - (diff-mode): Remove overlays when we turn off font-lock. - - * textmodes/table.el: Use lexical-binding, dolist, define-minor-mode. - (table-initialize-table-fixed-width-mode) - (table-set-table-fixed-width-mode): Remove functions. - (table-command-list): Move initialization into declaration. - (table--tweak-menu-for-xemacs): Move defun outside mapcar. - (table-with-cache-buffer): Use `declare'. - (table-span-cell): Simplify via CSE. - (table-fixed-width-mode): Use define-minor-mode. - (table-call-interactively, table-funcall, table-apply): Remove. - (table-function): New function, to replace them. - - * bookmark.el (bookmark-search-pattern): Remove var. - (bookmark-read-search-input): Remove function. - (bookmark-bmenu-search): Reimplement using a minibuffer. - - * faces.el (modeline): Remove obsolete face name. - - * vc/add-log.el (add-log-buffer-file-name-function): Demote to defvar - and give a non-nil default value. - (add-change-log-entry): Simplify accordingly. - -2012-10-01 Dmitry Gutov - - * vc/vc-git.el (vc-git-log-edit-toggle-signoff): New function. - (vc-git-log-edit-toggle-amend): New function. - (vc-git-log-edit-toggle-signoff): New function. - (vc-git-log-edit-mode): New major mode. - (vc-git-log-edit-mode-map): Keymap for it. - (vc-git-checkin): Handle "Amend" and "Sign-Off" headers. - - * vc/log-edit.el (log-edit-font-lock-keywords): Allow hyphens in - header names. - (log-edit-toggle-header): New function. - (log-edit-extract-headers): Accept function values in HEADERS alist. - -2012-10-01 David Engster - - * emacs-lisp/eieio-opt.el (eieio-describe-class): Add filename - from symbol property and change message to be more consistent with - Emacs proper. - (eieio-describe-generic): Add filename for each implementation. - Fix indices for generic and normal methods. - (eieio-method-def, eieio-class-def): New buttons. - (eieio-help-find-method-definition) - (eieio-help-find-class-definition): New functions. - (eieio-help-mode-augmentation-maybee): Add buttons to filenames of - class, constructor and method definitions. - - * emacs-lisp/eieio.el (eieiomt-add, eieio-defclass): Save file - information in symbol property. - (scoped-class): Remove. - (eieio-slot-name-index, call-next-method): Check if it is bound. - -2012-10-01 Leo P. White - - * emacs-lisp/eieio-custom.el (eieio-custom-mode-map): New option. - (eieio-custom-mode): New major mode. - (eieio-customize-object): Use it. - -2012-10-01 Eric Ludlam - - * emacs-lisp/eieio-base.el (eieio-persistent-read): New input args - specifying the expected class, and whether subclassing is allowed. - (eieio-persistent-convert-list-to-object): - (eieio-persistent-validate/fix-slot-value) - (eieio-persistent-slot-type-is-class-p): New functions. - (eieio-named::slot-missing): Doc fix. - - * emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots): - Stop using unused publd variable. - - * emacs-lisp/eieio-speedbar.el (eieio-speedbar-handle-click): - (eieio-speedbar-description, eieio-speedbar-derive-line-path) - (eieio-speedbar-object-buttonname, eieio-speedbar-make-tag-line) - (eieio-speedbar-handle-click): Do not specify a class for the - method. Fixes method invocation order problems with EDE. - -2012-10-01 Stefan Monnier - - * emacs-lisp/bytecomp.el (byte-compiler-abbreviate-file): New function. - (byte-compile-warning-prefix, byte-compile-file): Use it (bug#12508). - -2012-10-01 Karl Fogel - - * bookmark.el (bookmark-version-control): Give tags in the - :type choices (Bug#12309), and improve doc string. - (bookmark-write-file): Bind `print-circle' to `t' to allow - circular custom bookmark types. (Bug#12503) - -2012-10-01 Paul Eggert - - Revert the FOLLOW-SYMLINKS change for file-attributes. - * files.el (remote-file-name-inhibit-cache, after-find-file): - * time.el (display-time-file-nonempty-p): Undo last change. - - * profiler.el (profiler-sampling-interval): Change default back to 1. - See Stefan Monnier in - . - -2012-10-01 Fabián Ezequiel Gallina - - Shell output catching a la gud-gdb. - * progmodes/python.el (python-shell-fetch-lines-in-progress) - (python-shell-fetch-lines-string, python-shell-fetched-lines): - New Vars. - (python-shell-fetch-lines-filter): New function. - (python-shell-send-string-no-output): Use them. - -2012-09-30 Tomohiro Matsuyama - - * profiler.el (profiler-sampling-interval): Rename from - profiler-sample-interval. - (profiler-sampling-interval): Default to 10. - (profiler-find-profile): New command (was profiler-find-log). - (profiler-find-profile-other-window): New command. - (profiler-find-profile-other-frame): New command. - (profiler-profile): Introduce API-level data structure. - -2012-09-30 Paul Eggert - - file-attributes has a new optional arg FOLLOW-SYMLINKS. - * files.el (remote-file-name-inhibit-cache): - * time.el (display-time-file-nonempty-p): Use it. - * files.el (after-find-file): Don't chase links before calling - file-exists-p, as file-exists-p already does the right thing. - -2012-09-30 Ralf Angeli - - Merge from standalone RefTeX repository. - - The following ChangeLog entries are shortened versions of the - original ones with file paths adapted. A not so strongly edited - version of the original ChangeLog can be found in the commit log. - - * textmodes/reftex-auc.el: Move `provide' call to bottom of file. - (reftex-arg-cite): Use `reftex-cite-key-separator'. - Correctly handle new value type returned by `reftex-citation'. - - * textmodes/reftex-cite.el (reftex-create-bibtex-file): Make sure - that entries with whitespace at various places are found. - Doc fix. Include entries that are cross-referenced from cited entries. - Include @String definitions in the resulting bib file. Add header - and footer defined in `reftex-create-bibtex-header' and - `reftex-create-bibtex-footer'. - (reftex-do-citation): Make it possible again to insert - non-existent entries. Save match data when asking for optional - arguments. Return all keys, not just the first one. - (reftex-all-used-citation-keys): Fix regexp to correctly extract - all citations in the same line. - (reftex-parse-bibtex-entry): Accept additional optional argument - `raw' and keep quotes or braces if it is non-nil. Match fields - containing hyphens besides word constituents. - (reftex-get-string-refs): New function. - (reftex-extract-bib-entries): Check if BibTeX file changed on disk - and ask if it should be reread in case it did. - (reftex-pop-to-bibtex-entry) - (reftex-extract-bib-entries-from-thebibliography): Match \bibitem - entries with spaces or tabs in front of arguments. - (reftex-pop-to-bibtex-entry, reftex-extract-bib-entries) - (reftex-parse-bibtex-entry, reftex-create-bibtex-file): - Match entries containing numbers and symbol constituents. - (reftex-do-citation, reftex-figure-out-cite-format): - Use `reftex-cite-key-separator'. - - * textmodes/reftex-dcr.el: Move provide statement to end of file. - (reftex-mouse-view-crossref): Explain why point is set. - - * textmodes/reftex-global.el: Whitespace changes. - - * textmodes/reftex-index.el: Move provide statement to end of - file. - (reftex-index-selection-or-word): Use `reftex-region-active-p'. - (reftex-index-visit-phrases-buffer): Set marker when visiting - buffer. This allows for returning from the phrases file to the - file one was just editing instead of the file where the last - phrases was added from. - (reftex-index-phrases-syntax-table): New variable. Give ?\" - punctuation syntax as it usually is not used as string quote in - TeX-related modes and may occur unmatched. The change also - prevents fontification of quoted content. - (reftex-index-phrases-mode): Use it. - - * textmodes/reftex-parse.el (reftex-parse-from-file): - Move backward one char if a `\' was matched after a section macro. - (reftex-parse-from-file): Use beginning of match instead of end as - bound. - - * textmodes/reftex-ref.el: Adapt creation of - `reftex--' functions to new structure of - `reftex-ref-style-alist'. - (reftex-reference): Use `reftex-ref-style-list' function. - Adapt to new structure of `reftex-ref-style-alist'. Prompt for a - reference macro if `reftex-ref-macro-prompt' is non-nil. - (reftex-reference): Pass refstyle to `reftex-format-special'. - Determine reference macro by looking at - `reftex-ref-style-default-list' and `reftex-ref-style-alist'. - Use only one special format function. - (reftex-varioref-vref, reftex-fancyref-fref) - (reftex-fancyref-Fref): Remove definitions. The functions are now - generated from `reftex-ref-style-alist'. - (reftex-format-vref, reftex-format-Fref, reftex-format-fref): - Remove. - (reftex-format-special): New function. - - * textmodes/reftex-sel.el - (reftex-select-cycle-ref-style-internal): Adapt to new structure - of `reftex-ref-style-alist'. Remove code for testing macro type. - (reftex-select-toggle-varioref) - (reftex-select-toggle-fancyref): Remove. - (reftex-select-cycle-ref-style-internal) - (reftex-select-cycle-ref-style-forward) - (reftex-select-cycle-ref-style-backward): New functions. - (reftex-select-label-map): Use `v' and `V' for general cycling - through reference styles. Add `p' for switching between number - and page reference types. - - * textmodes/reftex-toc.el (reftex-re-enlarge): - Call `enlarge-window' only if there is something to do because in Emacs - the horizontal version throws an error even if the parameter is 0. - - * textmodes/reftex-vars.el (reftex-label-alist): Doc fix. - (reftex-plug-into-AUCTeX): Doc fix. - (reftex-vref-is-default, reftex-fref-is-default): Adapt doc - string. Adapt to new name. - (reftex-ref-style-alist): Change structure so that it is not - possible to use multiple different package names within a style. - Remove the symbols for symbols for macro type distinction. - Add characters for macro selection. - (reftex-ref-macro-prompt, reftex-create-bibtex-header) - (reftex-create-bibtex-footer): New variables. - (reftex-format-ref-function): Mention third argument of special - format function. - (reftex-ref-style-alist, reftex-ref-style-default-list): - New variables. - (reftex-vref-is-default, reftex-fref-is-default): Adapt doc string - to new implementation. Mark as obsolete. Add compatibility code - for honoring the variable values in case they are set. - (reftex-cite-format-builtin, reftex-bibliography-commands): - Add support for ConTeXt. - (reftex-format-ref-function, reftex-format-cite-function): - Fix custom type. - (reftex-cite-key-separator): New variable. - - * textmodes/reftex.el (reftex-syntax-table-for-bib) - (reftex-mode): Do not derive `reftex-syntax-table-for-bib' from - `reftex-syntax-table' because parens have to retain their paren - syntax in order for parsing of BibTeX entries like @book(...) to - work. - (reftex-in-comment): Do not error out if `comment-start-skip' is - not set. Deal correctly with escaped comment characters. - (reftex-tie-multifile-symbols): Add doc string. - Initialize `reftex-ref-style-list'. - (reftex-untie-multifile-symbols): Add doc string. - (reftex-add-index-macros): Doc fix. - (reftex-ref-style-activate, reftex-ref-style-toggle) - (reftex-ref-style-list): New functions. - (reftex-mode-menu): Use them. Adapt to new structure of - `reftex-ref-style-alist'. - (reftex-select-with-char): Kill the RefTeX Select buffer when - done. - (reftex-remove-if): New function. - (reftex-erase-all-selection-and-index-buffers) - (reftex-mode-menu): Reference styles are now computed from - `reftex-ref-style-alist'. Fix typo. - (reftex-report-bug): New function. - (reftex-uniquify, reftex-uniquify-by-car): Replace O(n^2) - algorithms with O(n log n). Introduce optional argument SORT (not - yet used). - -2012-09-30 Fabián Ezequiel Gallina - - Enhancements for triple-quote string syntax. - * progmodes/python.el (python-syntax-propertize-function): - Match both quote cases in one regexp. - (python-syntax-stringify): Handle matches properly. - -2012-09-30 Juri Linkov - - * arc-mode.el (archive-summarize): Let-bind `buffer-file-truename' - to nil around the call to `insert' to prevent - directory time modification by lock_file. (Bug#2295) - * tar-mode.el (tar-summarize-buffer): Idem. - -2012-09-30 Juri Linkov - - * facemenu.el (list-colors-sort): Add option "Luminance". - (list-colors-sort-key): Implement it. - - * vc/diff-mode.el (diff-refine-removed): - * vc/ediff-init.el (ediff-fine-diff-A): - * vc/smerge-mode.el (smerge-refined-removed): - Change background color "#ffaaaa" to "#ffbbbb". (Bug#10181) - -2012-09-30 Jan Djärv - - * term/ns-win.el (x-file-dialog): New function. - -2012-09-30 Juanma Barranquero - - * ido.el (ido-max-directory-size): Default to nil; the current - default is small for POSIX systems, and impractical on Windows 7 - now that lstat returns directory sizes for NTFS. - -2012-09-30 Martin Rudalics - - In buffer display functions handle window-height/window-width - alist entries. Suggested by Juri Linkov as fix for Bug#1806. - * window.el (window--display-buffer): New argument ALIST. - Obey window-height and window-width alist entries. - (window--try-to-split-window): New argument ALIST. - Bind window-combination-limit to t when the window's size shall be - changed and window-combination-limit equals `window-size'. - (display-buffer-in-atom-window) - (display-buffer-in-major-side-window) - (display-buffer-in-side-window, display-buffer-same-window) - (display-buffer-reuse-window, display-buffer-pop-up-frame) - (display-buffer-pop-up-window, display-buffer-below-selected) - (display-buffer-at-bottom, display-buffer-in-previous-window) - (display-buffer-use-some-window): Adjust all callers of - window--display-buffer and window--try-to-split-window. - (fit-frame-to-buffer): New option. - (fit-window-to-buffer): Can resize frames if fit-frame-to-buffer - is non-nil. - (display-buffer-in-major-side-window): Evaluate window-height / - window-width alist entries. - - * help.el (temp-buffer-resize-frames) - (temp-buffer-resize-regexps): Remove options. - (temp-buffer-resize-mode): Adjust doc-string. - (resize-temp-buffer-window): Don't consult - temp-buffer-resize-regexps. Use fit-frame-to-buffer instead of - temp-buffer-resize-frames. - - * dired.el (dired-mark-pop-up): - Call display-buffer-below-selected with a fit-window-to-buffer alist - entry. - -2012-09-30 Chong Yidong - - * server.el (server-host): Document the security implications. - (server-auth-key): Doc fix. - - * startup.el (initial-buffer-choice): Doc fix. - - * minibuffer.el (minibuffer-local-filename-syntax): Doc fix. - - * simple.el (delete-trailing-whitespace): Avoid an unnecessary - restriction change. - - * bindings.el (goto-map): Bind M-g TAB to move-to-column. - - * help-fns.el (help-fns--obsolete): Fix last change. - -2012-09-30 Stefan Monnier - - * winner.el (winner-mode-map): Obey winner-dont-bind-my-keys here. - (minor-mode-map-alist): Remove redundant code. - - * vc/pcvs.el (cvs-cleanup-collection): Keep entries that are currently - visited in a buffer. - (cvs-insert-visited-file): New function. - (find-file-hook): Use it. - - * vc/pcvs-info.el (cvs-fileinfo-pp): Don't use non-existent faces. - - * vc/log-edit.el (log-edit-font-lock-keywords): Ignore case to - chose face. - (log-edit-empty-buffer-p): Don't require a space after a header. - - * vc/ediff-util.el (ediff-diff-at-point): Don't assume point-min==1. - - * tutorial.el (help-with-tutorial): Use minibuffer-with-setup-hook. - - * textmodes/text-mode.el (paragraph-indent-minor-mode): Make it - a proper minor-mode. - - * textmodes/tex-mode.el (tex-mode-map): Don't bind paren keys. - -2012-09-29 Glenn Morris - - * winner.el (winner-mode): Remove variable (let define-minor-mode - handle it). - (winner-dont-bind-my-keys, winner-boring-buffers, winner-mode-hook): - Doc fixes. - (winner-mode-leave-hook): Rename to winner-mode-off-hook. - (winner-mode): Use define-minor-mode. - - * vc/vc-sccs.el (vc-sccs-registered): Use the progn trick to get - the full definition in loaddefs, rather than duplicating it. - - * help-macro.el (three-step-help): No need to autoload defcustom. - - * progmodes/inf-lisp.el (inferior-lisp-filter-regexp) - (inferior-lisp-program, inferior-lisp-load-command) - (inferior-lisp-prompt, inferior-lisp-mode-hook): - No need to autoload defcustoms. - - * hippie-exp.el (hippie-expand-try-functions-list) - (hippie-expand-verbose, hippie-expand-dabbrev-skip-space) - (hippie-expand-dabbrev-as-symbol, hippie-expand-no-restriction) - (hippie-expand-max-buffers, hippie-expand-ignore-buffers) - (hippie-expand-only-buffers): No need to autoload defcustoms. - * progmodes/vhdl-mode.el (vhdl-line-expand): - Explicitly load hippie-exp, so it does not get autoloaded - while hippie-expand-try-functions-list is let-bound. - -2012-09-28 Glenn Morris - - * emacs-lisp/cl.el (flet): Fix case of obsolescence message. - - * emacs-lisp/bytecomp.el (byte-compile-cl-file-p): - Only "cl.el" counts as cl these days. - -2012-09-28 Juri Linkov - - Display archive errors in the echo area instead of inserting - to the file buffer. - - * arc-mode.el (archive-extract-by-stdout): Change arg STDERR-FILE - to STDERR-TEST that can be a regexp matching a successful output. - Create a temporary file and redirect stderr to it. Search for - STDERR-TEST in the stderr output and display it in the echo area - if no match is found. - (archive-extract-by-file): New function like - `archive-extract-by-stdout' but extracting archives to files - and looking for successful matches in stdout. Function body is - mostly copied from `archive-rar-extract'. - (archive-rar-extract): Use `archive-extract-by-file'. - (archive-7z-extract): Use `archive-extract-by-stdout'. (Bug#10347) - -2012-09-28 Leo Liu - - * pcomplete.el (pcomplete-show-completions): - Use minibuffer-message to make pcomplete usable in minibuffer. - - * ido.el (ido-set-matches-1): Fix 2012-09-11 change. - -2012-09-28 Stefan Monnier - - * type-break.el: Use lexical-binding. - (type-break-mode): Use define-minor-mode. - - * emacs-lisp/pcase.el (pcase--mark-used): New. - (pcase--u1): Use it (bug#12512). - - * custom.el (load-theme): Set buffer-file-name so the load is recorded - in load-history with the right file name. - -2012-09-28 Tassilo Horn - - * doc-view.el (doc-view-current-cache-doc-pdf): New function. - (doc-view-doc->txt, doc-view-convert-current-doc): Use it. - (doc-view-get-bounding-box): Make bounding box slicing work for - ODF and DVI documents. - -2012-09-28 Glenn Morris - - * type-break.el (type-break-mode, type-break-interval) - (type-break-good-rest-interval, type-break-keystroke-threshold): - No need to autoload. - (type-break-good-rest-interval, type-break-keystroke-threshold): - Add :set-after. - -2012-09-28 Chong Yidong - - * progmodes/verilog-mode.el (verilog-auto-inst-interfaced-ports): - Add :version tag. - -2012-09-27 Stefan Monnier - - * json.el (json-encode-char): Codes 127-160 aren't "ASCII printable". - -2012-09-27 Glenn Morris - - * faces.el (x-display-name): Declare (for without-x builds). - - * linum.el (linum-format): Don't autoload it. Improve :type. - - * progmodes/tcl.el: Don't require outline when compiling. - (outline-regexp, outline-level): Declare. - * textmodes/sgml-mode.el: Don't require outline when compiling. - (outline-regexp, outline-heading-end-regexp, outline-level): Declare. - - * term.el (term-ansi-reset): - Try setting term-ansi-face-already-done to nil. (Bug#11785) - - * vc/vc.el (vc-next-action): Only gripe about committing read-only - files for RCS and SCCS. (Bug#9781) - -2012-09-27 Chong Yidong - - * progmodes/verilog-mode.el (verilog-mode-release-emacs): Fix last - change; value should be t. - -2012-09-27 Stefan Monnier - - * image-mode.el: Use lexical-binding. - (image-mode-winprops): Use t to stand for the window of - a buffer that's not displayed. - * doc-view.el (doc-view-new-window-function): Handle the new - t in winprops. - (doc-view-enlarge): Make it a real nop if the size is not changed. - (doc-view-display): Handle the case where the buffer is not (yet?) - displayed in any window. - (doc-view-saved-settings): New var. - (doc-view-mode): Use it. - (doc-view-fallback-mode): Set it. - - * minibuf-eldef.el: Make it possible to replace (default ...) with [...]. - Set lexical-binding. - (minibuffer-eldef-shorten-default): New var. - (minibuffer-default-in-prompt-regexps): Use it for new default. - (minibuf-eldef-setup-minibuffer): Add replacement functionality. - -2012-09-26 Juanma Barranquero - - * international/uni-bidi.el: - * international/uni-category.el: - * international/uni-name.el: - * international/uni-numeric.el: Regenerate. - -2012-09-26 Tomohiro Matsuyama - Stefan Monnier - - * profiler.el: New file. - -2012-09-26 Stefan Monnier - - * emacs-lisp/testcover.el (testcover-after): Add gv-expander. - (testcover-reinstrument): Simplify with CSE. - -2012-09-26 Juanma Barranquero - - * window.el (temp-buffer-window-setup): Fix typo in docstring. - -2012-09-25 Wilson Snyder - - * verilog-mode.el (verilog-auto-ascii-enum, verilog-auto-inout) - (verilog-auto-input, verilog-auto-insert-lisp) - (verilog-auto-output, verilog-auto-output-every, verilog-auto-reg) - (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-undef) - (verilog-auto-unused, verilog-auto-wire) - (verilog-forward-or-insert-line): Fix AUTOs with no trailing - newline. Reported by Andrew Jones. - (verilog-auto-inst) Support expanding $clog2 in AUTOINST. - Reported by Brad Dobbie. - (verilog-batch-delete-trailing-whitespace): - Create verilog-batch-delete-trailing-whitespace. - Reported by Brad Dobbie. - (verilog-auto-inout-param): Support AUTOINOUTPARAM for copying - parameters from another module. Reported by Dan Katz. - (verilog-auto, verilog-auto-assign-modport) - (verilog-auto-inout-modport): Add AUTOASSIGNMODPORT and - AUTOINOUTMODPORT for UVM interface module shell generation. - Reported by Brad Dobbie. - (verilog-auto-inst-interfaced-ports): Make default nil, as more - standard behavior. - (verilog-auto): Fix AUTO parameters with parenthesis arguments. - Reported by Matt Martin. - -2012-09-25 Martin Rudalics - - * window.el (window--resize-child-windows): When resizing child - windows proportionally, process them in reverse order to - preserve the "when splitting a window the new one gets the odd - line" behavior. - (window--resize-root-window-vertically): When resizing the - minibuffer window try to affect only windows at the bottom of the - frame. (Bug#12419) - -2012-09-25 Chong Yidong - - * subr.el (declare): Doc fix. - - * help-fns.el (help-fns--obsolete): Handle macros properly. - -2012-09-25 Chong Yidong - - * bookmark.el (bookmark-jump-noselect): Use a declare form to mark - this function obsolete. - - * calendar/cal-x.el (calendar-two-frame-setup) - (calendar-only-one-frame-setup, calendar-one-frame-setup): - * calendar/calendar.el (american-calendar, european-calendar) - (calendar-for-loop): - * comint.el (comint-dynamic-simple-complete) - (comint-dynamic-complete-as-filename, comint-unquote-filename): - * desktop.el (desktop-load-default): - * dired-x.el (dired-omit-here-always) - (dired-hack-local-variables, dired-default-directory): - * emacs-lisp/derived.el (derived-mode-class): - * emacs-lisp/timer.el (timer-set-time-with-usecs): - * emacs-lock.el (toggle-emacs-lock): - * epa.el (epa-display-verify-result): - * epg.el (epg-sign-keys, epg-start-sign-keys) - (epg-passphrase-callback-function): - * eshell/esh-util.el (eshell-for): - * eshell/eshell.el (eshell-remove-from-window-buffer-names) - (eshell-add-to-window-buffer-names): - * files.el (locate-file-completion): - * imenu.el (imenu-example--create-c-index) - (imenu-example--create-lisp-index) - (imenu-example--lisp-extract-index-name) - (imenu-example--name-and-position): - * international/mule-cmds.el (princ-list): - * international/mule-diag.el (decode-codepage-char): - * international/mule-util.el (detect-coding-with-priority): - * iswitchb.el (iswitchb-read-buffer): - * mail/mailalias.el (mail-complete): - * mail/sendmail.el (mail-sent-via): - * mouse.el (mouse-popup-menubar-stuff, mouse-popup-menubar) - (mouse-major-mode-menu): - * password-cache.el (password-read-and-add): - * pcomplete.el (pcomplete-parse-comint-arguments): - * progmodes/sh-script.el (sh-maybe-here-document): - * replace.el (query-replace-regexp-eval): - * savehist.el (savehist-load): - * simple.el (choose-completion-delete-max-match): - * term.el (term-dynamic-simple-complete): - * vc/ediff-init.el (ediff-check-version): - * vc/ediff-wind.el (ediff-choose-window-setup-function-automatically): - * vc/vc.el (vc-diff-switches-list): - * view.el (view-return-to-alist-update): Likewise. - - * subr.el (eval-next-after-load, makehash, insert-string) - (assoc-ignore-representation, assoc-ignore-case): Use declare to - mark obsolete. - (mode-line-inverse-video): Variable deleted. - - * international/mule-util.el (string-to-sequence): Remove. - - * calendar/calendar.el (calendar-version): - * calendar/icalendar.el (icalendar-extract-ical-from-buffer) - (icalendar-convert-diary-to-ical): - * cus-edit.el (custom-mode): - * ansi-color.el (ansi-color-unfontify-region): - * international/latin1-disp.el (latin1-char-displayable-p): - * progmodes/cwarn.el (turn-on-cwarn-mode): - * progmodes/which-func.el (which-func-update-1): - Use define-obsolete-function-alias. - - * net/newst-backend.el (newsticker-cache-filename): - * net/newst-treeview.el (newsticker-groups-filename): - Fix incorrect obsolescence declaration. - - * allout.el (allout-passphrase-hint-string): Likewise. - (allout-init): Use a declare form to mark obsolete. - - * emacs-lisp/byte-run.el (make-obsolete): Doc fix; emphasize that - this applies to functions. - - * iswitchb.el (iswitchb-read-buffer): Move code of - iswitchb-define-mode-map here, and delete that obsolete function. - - * net/snmp-mode.el (snmp-font-lock-keywords-3): Don't use obsolete - font-lock-reference-face. - -2012-09-25 Glenn Morris - - * buff-menu.el (Buffer-menu-name-width, Buffer-menu-size-width): - Doc fixes. - - * eshell/em-term.el (eshell-term-name): - Default to term-term-name. (Bug#12485) - -2012-09-24 Fabián Ezequiel Gallina - - * progmodes/python.el (python-shell-send-buffer): Better handling - of "if __name__ == '__main__':" conditionals when sending the buffer. - -2012-09-24 Glenn Morris - - * eshell/esh-cmd.el (eshell-find-alias-function): - Tighten up file-name regexp. (Bug#12499) - -2012-09-24 Fabián Ezequiel Gallina - - Enhancements for triple-quote string syntax. - * progmodes/python.el (python-quote-syntax): Remove. - (python-syntax-propertize-function): New value. - (python-syntax-count-quotes, python-syntax-stringify): - New functions. - -2012-09-24 Chong Yidong - - * mail/supercite.el (sc-version): Remove obsolete function. - (sc-describe): Don't mark as obsolete, since it is bound. - (sc-submit-bug-report): Remove. - - * vc/log-edit.el (cvs-changelog-full-paragraphs) - (cvs-commit-buffer-require-final-newline): Remove. - (log-edit-require-final-newline) - (log-edit-changelog-full-paragraphs): Default to t. - - * vc/pcvs-defs.el (cvs-diff-buffer-name, cvs-diff-ignore-marks) - * vc/vc-hooks.el (vc-ignore-vc-files, vc-master-templates) - * vc/vc.el (vc-checkout-carefully): Likewise. - - * vc/emerge.el (emerge-mode): Make it an obsolete alias. - (emerge-version): Remove. - - * progmodes/compile.el (compile-internal): Remove. - (compilation-parse-errors-function): Fix typo. - - * international/mule.el (set-char-table-default): Remove. - (set-coding-priority, make-coding-system, generic-char-p) - (charset-list, charset-bytes, charset-id): Use declare to mark - functions as obsolete. - - * vc/pcvs-defs.el (cvs-buffer-name-alist) - (cvs-invert-ignore-marks): Remove references to obsolete vars. - * vc/vc-hooks.el (vc-default-registered): Don't use - vc-master-templates. - - * font-lock.el (font-lock-reference-face): - Use define-obsolete-variable-alias. - - * generic-x.el (rul-generic-mode): Use font-lock-constant-face. - * calendar/calendar.el (calendar-font-lock-keywords): - * calendar/diary-lib.el (diary-font-lock-keywords) - (diary-fancy-font-lock-keywords): - * textmodes/reftex-sel.el (reftex-insert-docstruct): - * textmodes/reftex-index.el (reftex-insert-index): - * textmodes/reftex-cite.el (reftex-format-bib-entry): - * progmodes/ruby-mode.el (ruby-font-lock-keywords): - * progmodes/ps-mode.el (ps-mode-font-lock-keywords-1): - * progmodes/prolog.el (prolog-font-lock-keywords): - * progmodes/idlwave.el (idlwave-idl-keywords): - * progmodes/ada-mode.el (ada-font-lock-keywords): - * net/snmp-mode.el (snmp-font-lock-keywords-3): Likewise. - -2012-09-24 Glenn Morris - - * mail/emacsbug.el (report-emacs-bug): Include `lsb_release -d'. - -2012-09-23 Fabián Ezequiel Gallina - - * progmodes/python.el (python-indent-line): More consistent cursor - movement behavior. - -2012-09-23 Stefan Merten - - * textmodes/rst.el: Fix compiler warning. - -2012-09-23 Roland Winkler - - * textmodes/bibtex.el (bibtex-autokey-transcriptions): - Transcribe also LaTeX hyphenation. - (bibtex-reformat): Bug fix. Do not quote twice the elements of - bibtex-reformat-previous-options. - -2012-09-23 Roland Winkler - - * proced.el (proced-renice-command): New variable. - (proced-marked-processes): New function. - (proced-with-processes-buffer): New macro. - (proced-send-signal): Use them. - (proced-renice): New command bound to r. - -2012-09-23 Roland Winkler - - * ibuf-ext.el (ibuffer-switch-to-saved-filter-groups): If list - ibuffer-saved-filter-groups has one element, shortcut the call of - completing-read. (Bug#12331) - -2012-09-23 Chong Yidong - - * bindings.el (mode-line-toggle-read-only): - * bs.el (bs-toggle-readonly): - * buff-menu.el (Buffer-menu-toggle-read-only): - * dired.el (dired-toggle-read-only): - * ibuffer.el (ibuffer-do-toggle-read-only): Use read-only-mode. - -2012-09-23 Chong Yidong - - * image.el (image-type-available-p): Adapt to init-image-library - argument changes. - -2012-09-22 Juri Linkov - - * dired.el (dired-mode-map): Add [remap read-only-mode] for - `dired-toggle-read-only'. (Bug#12462) - -2012-09-22 Martin Rudalics - - * subr.el (temp-output-buffer-show): New function. - (with-output-to-temp-buffer): Call temp-output-buffer-show - instead of internal-temp-output-buffer-show. - -2012-09-22 Chong Yidong - - * files.el (ctl-x-map): Bind C-x C-q to read-only-mode - (Bug#12462). - - * repeat.el (repeat): Doc fix (Bug#12348). - - * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix - (Bug#10909). - - * simple.el (shell-command-on-region): Doc fix. - (read-only-mode): Doc fix. - -2012-09-22 Eli Zaretskii - - * emacs-lisp/timer.el (run-with-idle-timer) - (timer-activate-when-idle): Warn against reinvoking an idle timer - from within its own timer action. (Bug#12447) - -2012-09-22 Martin Rudalics - - * cus-start.el (window-combination-limit): Add new optional - values. - * window.el (temp-buffer-window-show) - (window--try-to-split-window): Handle new values of - window-combination-limit (Bug#1806). - (split-window): Test window-combination-limit for t instead of - non-nil. - (display-buffer-at-bottom): New buffer display action function. - * help.el (temp-buffer-resize-regexps): New option. - (temp-buffer-resize-mode): Rewrite doc-string. - (resize-temp-buffer-window): Obey temp-buffer-resize-regexps. - Don't resize reused window. Suggested by Glenn Morris. - -2012-09-22 Stefan Merten - - * textmodes/rst.el: Revamp section title faces. - (rst-official-version) - (rst-package-emacs-version-alist): Sync with official version - V1.4.0. - (rst-faces-defaults, rst-set-level-default) - (rst-level-face-max, rst-level-face-base-color) - (rst-level-face-base-light, rst-level-face-format-light) - (rst-level-face-step-light, rst-define-level-faces): Obsolete. - (rst-adornment-faces-alist): Match new setup. - (rst-level-1, rst-level-2, rst-level-3, rst-level-4) - (rst-level-5, rst-level-6): New faces. - -2012-09-22 Chong Yidong - - * simple.el (undo): Handle indirect buffers (Bug#8207). - -2012-09-21 Leo Liu - - IDO: Disable match re-ordering for buffer switching. - * ido.el (ido-buffer-disable-smart-matches): New variable. - (ido-set-matches-1): Use it. (Bug#2042) - -2012-09-21 Jose Marino (tiny change) - - * progmodes/idlw-shell.el (idlwave-shell-complete-filename): - Fix 2011-05-17 change. (Bug#12418) - -2012-09-21 Leo Liu - - * subr.el (ignore-errors): Mention with-demoted-errors in doc-string. - -2012-09-21 Glenn Morris - - * emacs-lisp/shadow.el (load-path-shadows-font-lock-keywords): - Be more robust about locating simple.el. - -2012-09-21 Glenn Morris - - * mail/emacsbug.el (report-emacs-bug): Trap load-path-shadows errors. - -2012-09-21 Joel Bion (tiny change) - - * pcmpl-gnu.el (pcmpl-gnu-tarfile-regexp): Add tar.xz. (Bug#12382) - -2012-09-20 Juri Linkov - - * replace.el (query-replace-read-from): Use `read-regexp' instead - of `read-from-minibuffer' when `regexp-flag' is non-nil. - (occur-read-primary-args): Use `read-regexp' instead of - `read-string'. - (multi-occur-in-matching-buffers): Use `read-regexp' instead of - `read-from-minibuffer'. - * isearch.el (isearch-occur): Use `read-regexp' instead of - `read-string'. - * dired.el (dired-read-regexp): Use `read-regexp' instead of - `read-from-minibuffer'. - * progmodes/grep.el (grep-read-regexp): Use `read-regexp' instead - of `read-string'. (Bug#7567) - - * replace.el (read-regexp): Rename DEFAULT-VALUE arg to DEFAULTS - and allow accepting a list of strings prepended to a list of - standard default values. Doc fix. (Bug#12321) - - * replace.el (read-regexp): Add HISTORY arg. (Bug#7567) - - * replace.el (read-regexp): Don't add ": " when PROMPT already - ends with a colon and space. (Bug#12321) - -2012-09-20 Tassilo Horn - - * doc-view.el (doc-view-display): Better fix for the cl-assertion - error. - -2012-09-20 Stefan Merten - - * textmodes/rst.el: Integrate support for `imenu' and `which-function'. - Fixes feature request bug#11711. - (rst-mode): Create `imenu-create-index-function'. - (rst-get-stripped-line): Delete after refactoring. - (rst-section-tree, rst-section-tree-rec) - (rst-section-tree-point): Refactor and document properly. - (rst-imenu-find-adornments-for-position) - (rst-imenu-convert-cell, rst-imenu-create-index): - New function. - -2012-09-20 Stefan Monnier - - * emacs-lisp/macroexp.el (macroexp--obsolete-warning): New function. - (macroexp--expand-all): Use it. - (macroexp--funcall-and-return): Remove by folding it into its sole - caller (macroexp--warn-and-return). - * emacs-lisp/bytecomp.el (byte-compile-warn-obsolete): - Use macroexp--obsolete-warning. - - * calc/calc.el: Fix last change by removing the whole chunk, since it - was only needed back when Calc was not bundled. - -2012-09-20 Martin Rudalics - - * emacs-lisp/debug.el (debug): Restore assignment to - debugger-old-buffer removed on 2012-09-08. - -2012-09-20 Juri Linkov - - * dired-aux.el (dired-diff): Remove (require 'diff) since - `diff-latest-backup-file' is now autoloaded. - -2012-09-20 Chong Yidong - - * vc/diff.el (diff-latest-backup-file): Autoload. - -2012-09-20 Stefan Monnier - - * calc/calc.el: Remove redundant autoload shape check. - (sel-mode): Don't defvar. - (calc-get-stack-element): Add `sel-mode' arg instead. - (calc-top, calc-top-list): Pass it this additional argument. - * calc/calc-store.el (calc-store-map): - * calc/calc-map.el (calc-apply, calc-reduce, calc-map) - (calc-map-equation, calc-outer-product, calc-inner-product): - * calc/calc-aent.el (calc-alg-entry): Don't bind sel-mode. - - * emacs-lisp/macroexp.el (macroexp--expand-all): Fix last change. - -2012-09-19 Juri Linkov - - * dired-aux.el (dired-diff): Add (require 'diff) because - `diff-latest-backup-file' is not autoloaded. - (dired-do-chxxx, dired-do-chmod): Set `no-error-if-not-filep' arg - of `dired-get-filename' to t to not report error when there is - no default file on the current line. - -2012-09-19 Stefan Monnier - - * emacs-lisp/macroexp.el (macroexp--funcall-if-compiled): Rename from - macroexp--eval-if-compile. - (macroexp--funcall-and-return, macroexp--warn-and-return): New funs. - (macroexp--expand-all): Use them (bug#12371). - - * doc-view.el (doc-view-guess-paper-size) - (doc-view-scale-bounding-box): Fix unbound `caddr'. - -2012-09-19 Tassilo Horn - - New feature: set optimal slice from BoundingBox information. - * doc-view.el (doc-view-mode-map): Add keybinding. - (doc-view-menu): Add menu entry. - (doc-view-set-slice): Adapt docstring. - (doc-view-get-bounding-box, doc-view-guess-paper-size) - (doc-view-scale-bounding-box) - (doc-view-set-slice-from-bounding-box): New functions. - (doc-view-paper-sizes): New defvar. - -2012-09-19 Glenn Morris - - * emacs-lisp/macroexp.el (byte-compile-warn-obsolete) - (byte-compile-log-warning): Autoload. (Bug#12371) - - * calendar/calendar.el (calendar-american-month-header) - (calendar-european-month-header, calendar-iso-month-header) - (calendar-month-header): New options. - (calendar-set-date-style): Set calendar-month-header. Redraw calendar. - (calendar-generate-month): Use calendar-month-header. (Bug#9510) - -2012-09-19 Jan Djärv - - * startup.el (command-line-ns-option-alist): Add -g and --geometry. - -2012-09-18 Juri Linkov - - * dired-aux.el (dired-diff): Restore original functionality of - getting the default value, but keep new feature of using the - latest existing backup file (`diff-latest-backup-file'). - -2012-09-18 Juri Linkov - - * dired.el (dired-mark): If the region is active in Transient Mark - mode, mark all files in the active region. Doc fix. - (dired-unmark, dired-flag-file-deletion, dired-unmark-backward): - Doc fix. (Bug#10624) - -2012-09-18 Juri Linkov - - * dired-aux.el (dired-do-chxxx, dired-do-chmod): Default file - attributes for M-n are pulled from the file at point. - (dired-do-chgrp, dired-do-chown, dired-do-touch): Doc fix. - Suggested by Drew Adams. (Bug#10624) - -2012-09-18 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-brace-to-do-end): Don't add extra - whitespace after "end". - (ruby-do-end-to-brace): Collapse block to one line if it fits - within fill-column. - -2012-09-18 Martin Rudalics - - * emacs-lisp/debug.el (debugger-bury-or-kill): Fix customization - value. - (debug): Don't remove debugger window when debugger is expected - to be back. - -2012-09-18 Chong Yidong - - * custom.el (defface): Doc fix. - - * cus-edit.el (custom-unlispify-remove-prefixes): Add warning. - -2012-09-18 Martin Blais (tiny change) - - * progmodes/compile.el (compilation-start): Use compilation-always-kill - to initialize query-on-exit; then test that instead (bug#12288). - -2012-09-17 Stefan Merten - - * textmodes/rst.el: Add support for `testcover'. - (rst-defcustom-testcover, rst-testcover-add-compose) - (rst-testcover-add-1value): New functions. - (rst-portable-mark-active-p): Replace by `use-region-p'. - (rst-update-section, rst-classify-adornment) - (rst-find-title-line): Mark `1value' forms. - (rst-classify-adornment): Remove superfluous form. - (rst-update-section, rst-get-adornments-around) - (rst-adornment-complete-p, rst-get-next-adornment) - (rst-adjust, rst-promote-region) - (rst-display-adornments-hierarchy, rst-straighten-adornments) - (rst-find-pfx-in-region, rst-section-tree-rec) - (rst-section-tree-point, rst-toc-insert, rst-toc-insert-node) - (rst-toc-node, rst-toc, rst-forward-section) - (rst-iterate-leftmost-paragraphs) - (rst-iterate-leftmost-paragraphs-2, rst-enumerate-region) - (rst-bullet-list-region) - (rst-convert-bullets-to-enumeration, rst-font-lock-keywords) - (rst-compile-find-conf, rst-compile) - (rst-repeat-last-character): Fix style. - -2012-09-17 Chong Yidong - - * comint.el (comint--complete-file-name-data): Don't add a space - if the status is `sole'; that adds a gratuitous space in the - completion-cycling case (Bug#12092). - - * pcomplete.el (pcomplete-completions-at-point): Likewise. - -2012-09-17 Richard Stallman - - * mail/rmailmm.el (rmail-mime-toggle-raw): Do rmail-mime-insert - only in the mime-shown mode, not in raw mode. - (rmail-mime): Toggle off mime by displaying the message without - mime processing. (Bug#12305) - - * mail/rmail.el (rmail-retry-failure): - Turn off mime processing first. (Bug#12037) - - * epa-mail.el (epa-mail-encrypt): Fix bug when a name has no key. - -2012-09-17 Chong Yidong - - * shell.el (shell-file-name-chars, shell-file-name-quote-list) - (shell-dynamic-complete-functions): Convert to defcustom. - (shell-prompt-pattern, shell-completion-fignore): Doc fix. - - * bookmark.el (bookmark-bmenu-toggle-filenames): Doc fixes. - * comint.el (comint-prompt-read-only): - * custom.el (defcustom): - * hi-lock.el (hi-lock-mode): - * ibuffer.el (ibuffer-formats): - * ielm.el (ielm-prompt-read-only): - * novice.el (disable-command): - * saveplace.el (toggle-save-place): - * speedbar.el (speedbar-supported-extension-expressions): - * startup.el (auto-save-list-file-prefix, init-file-user) - (after-init-hook, inhibit-startup-echo-area-message): - * strokes.el (strokes-help): - * time-stamp.el (time-stamp): - * calendar/calendar.el (calendar, diary-file): - * calendar/diary-lib.el (diary-mail-entries, diary) - (diary-list-entries-hook): - * calendar/holidays.el (holidays, calendar-holidays): - * calendar/lunar.el (lunar-phases): - * calendar/solar.el (sunrise-sunset): - * emulation/edt.el (edt-load-keys): - * emulation/viper.el (viper-mode): - * eshell/em-alias.el (eshell-command-aliases-list): - * eshell/esh-util.el (eshell-convert-numeric-arguments): - * international/ogonek.el (ogonek-information): - * net/tramp-cmds.el (tramp-bug): - * net/quickurl.el (quickurl-reread-hook-postfix): - * play/decipher.el (decipher-font-lock-keywords): - * progmodes/cc-styles.el (c-set-style): - * progmodes/idlw-shell.el (idlwave-shell-prompt-pattern): - * progmodes/inf-lisp.el (inferior-lisp-prompt): - * progmodes/octave-mod.el (octave-mode): - * progmodes/sql.el (sql-mode, sql-interactive-mode, sql-password): - * progmodes/verilog-mode.el (verilog-read-defines): - * textmodes/two-column.el (2C-mode): Likewise. - -2012-09-16 Katsumi Yamaoka - - * mail/mailabbrev.el (mail-abbrev-expand-hook): Work for a mail aliasee - that holds many addresses. - -2012-09-16 Chong Yidong - - * align.el (align-areas): Call the indication function with - positions instead of markers for arguments (Bug#12343). - - * files.el (parse-colon-path): Use split-string (Bug#12351). - - * window.el (special-display-popup-frame): Doc fix (Bug#8853). - (display-buffer-function): Mark as obsolete. - - * progmodes/compile.el (compilation-parse-errors): Accept list - values similar to font-lock-keywords (Bug#12136). - Suggested by Oleksandr Manzyuk. - (compilation-error-regexp-alist): Doc fix. - -2012-09-15 Glenn Morris - - * version.el (emacs-bzr-version-bzr): New function. - (emacs-bzr-get-version): Add optional EXTERNAL argument. - - * vc/vc-bzr.el (vc-bzr-working-revision): For lightweight local - checkouts, check the parent dirstate matches the branch. - Add "--tree" to "bzr revno" arguments. Don't try to shorten the - empty string. - - * version.el (emacs-bzr-version): Doc fix. - (emacs-bzr-version-dirstate): New function. - (emacs-bzr-get-version): For lightweight checkouts, if the parent - is local try and check that it matches the branch. If not, just - use dirstate information. (Bug#12441) - -2012-09-14 Juri Linkov - - * dired-aux.el (dired-do-chmod): Use `eq' to detect empty input. - (Bug#12399) - -2012-09-14 Stefan Monnier - - * emacs-lisp/advice.el (ad-prognify): Remove, use macroexp-progn. - - * emacs-lisp/edebug.el: Miscellaneous cleanup. - Remove obsolete byte-compiler hack that tried to silence some warnings. - (edebug-submit-bug-report): Remove. - (edebug-get-buffer-window, edebug-sit-for, edebug-input-pending-p): - Remove aliases, use the un-prefixed name instead. - (edebug-pop-to-buffer): Consider other frames. - (edebug-original-read):: Make it more obvious that it's always defined. - (edebug--make-form-data-entry, edebug--form-data-name) - (edebug--form-data-begin, edebug--form-data-end): Rename from the - single-dashed name, and implement with cl-defstruct. - (edebug-set-form-data-entry): Use the standard accessors. - (edebug-make-top-form-data-entry): Use push. - (edebug-no-match): Drop useless `funcall'. - (mapcar, mapconcat, mapatoms, apply, funcall): Don't add debug specs - to functions. - (defsubst, dont-compile, eval-when-compile, eval-and-compile) - (delay-mode-hooks, with-temp-file, with-temp-message, ad-dolist) - (with-syntax-table, push, pop, 1value, noreturn, defadvice) - (easy-menu-define, with-custom-print): Remove redundant specs. - (edebug-outside-overriding-local-map) - (edebug-outside-overriding-terminal-local-map): Remove, unused. - (edebug--display): Bind unread-command-events directly to nil rather - than binding it to unread-command-events and later setting it to nil. - (edebug--display): Kill edebug-eval-buffer here... - (edebug--recursive-edit): ...rather than here. - Bind standard-output and standard-input. - (edebug-eval): Check cl-macroexpand-all is fboundp. - (edebug-temp-display-freq-count): Fix last change. - - * emacs-lisp/easymenu.el (easy-menu-define): Add `debug' spec. - * subr.el (noreturn, 1value): Add `debug' spec. - * emacs-lisp/advice.el: Require cl-lib. - (ad-copy-tree): Remove, use copy-tree instead. - (ad-dolist): Remove use dolist or cl-dolist instead. - (ad-do-return): Remove, use cl-return instead. - (defadvice): Add `debug' spec. - -2012-09-13 Juri Linkov - - * dired-aux.el (dired-do-chxxx): Use `eq' to detect empty input. - (Bug#12399) - -2012-09-13 Glenn Morris - - * calc/calc.el (math-compose-expr): - * calc/calc-ext.el (math-compose-expr): - * progmodes/cc-defs.el (cl-macroexpand-all): - * progmodes/cc-langs.el (delete-duplicates, mapcan) - (cl-macroexpand-all): Update declarations. - - * vc/vc.el: No need to require ediff. - (ediff-load-version-control): Declare. - (ediff-vc-internal): Fix declaration. - (vc-version-ediff): Require ediff. - -2012-09-13 Paul Eggert - - Use a more backwards-compatible timer format (Bug#12430). - * emacs-lisp/timer.el (timer): PSECS is now at the end, rather than - being right after USECS, as that better supports old code that - inadvisedly looked directly at the timer vector. - -2012-09-13 Kenichi Handa - - * language/chinese.el ("Chinese-GB", "Chinese-BIG5") - ("Chinese-CNS", "Chinese-EUC-TW"): Add chinese-gbk to - `coding-priority' property of these language environment. - -2012-09-13 Paul Eggert - - Fix glitches caused by addition of psec to timers (Bug#12430). - * image.el (image-animate-timer): - * time.el (display-time-world-timer): - Use timer--function and timer--args rather than raw access to - timer vector. - -2012-09-13 Glenn Morris - - * emacs-lisp/bytecomp.el (byte-compile-warning-prefix): - If not compiling a file, try using load-file-name. - -2012-09-13 Stefan Monnier - - * emacs-lisp/edebug.el (edebug-outside-unread-command-events): - Fix last change. - (edebug-update-eval-list): Use `push'. - - * emacs-lisp/edebug.el: Use lexical-binding. - Remove the "edebug-" prefix from non-dynamically-scoped variables. - Mark unused args with underscore. - (edebug-save-restriction, edebug-outside-excursion): Use `declare'. - (edebug-form-data): Use defvar-local. - (edebug-make-before-and-after-form, edebug-make-after-form): - Use backquote. - (edebug-args, edebug-value, edebug-after-index, edebug-arg-mode): - Not dynamically scoped any more. - (edebug--enter-trace): Add arguments `function' and `args'. - Rename from edebug-enter-trace. - (edebug-enter): Call it accordingly. Bind edebug-function explicitly. - (edebug--update-coverage): Add `after-index' and `value' args. - Rename from edebug-update-coverage. - (edebug-slow-after): Call it accordingly. - (edebug--recursive-edit): Add arg `arg-mode'. Rename from - edebug-recursive-edit. - (edebug--display): Call it accordingly. Add args `value', - `offset-index', and `arg-mode'. Rename from edebug-display. - (edebug-debugger, edebug): Call it accordingly. - (edebug-eval-display-list): Use dolist. - -2012-09-12 Juri Linkov - - * info.el (Info-search): Don't check for isearch-mode and - isearch-regexp before let-binding search-spaces-regexp to - Info-search-whitespace-regexp. - (Info-isearch-search): Let-bind Info-search-whitespace-regexp to - search-whitespace-regexp if isearch-lax-whitespace or - isearch-regexp-lax-whitespace is non-nil. - (Info-mode): Don't set local variable search-whitespace-regexp. - http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00811.html - -2012-09-12 Stefan Monnier - - * emacs-lisp/debug.el (debugger-outer-unread-command-char, debug) - (debugger-env-macro): Remove support for unread-command-char. - - * subr.el (set-temporary-overlay-map): Minimize slightly the impact of - the temporary map re-appearing on emulation-mode-map-alists. - - * emacs-lisp/edebug.el (def-edebug-form-spec): Remove, it's been broken - since 22.1. - - * ehelp.el (with-electric-help): Accept functions in - electric-help-form-to-execute. - (electric-help-execute-extended, electric-help-ctrl-x-prefix): Use it. - And replace unread-command-char -> unread-command-events. - -2012-09-12 Michael Albinus - - Sync with Tramp 2.2.6. - - * net/tramp.el (tramp-accept-process-output): Don't use - JUST-THIS-ONE in the XEmacs case. - - * net/trampver.el: Update release number. - -2012-09-12 Martin Rudalics - - * emacs-lisp/debug.el (debugger-previous-window-height): - New variable. - (debug): When debugger-jumping-flag is non-nil try to restore - height of debugger window. (Bug#8789) - -2012-09-12 Stefan Monnier - - * emacs-lisp/edebug.el (edebug-enter): Don't mess with - overriding-local-map and pre/post-command-hook here. - (edebug-recursive-edit): Do it here instead (bug#12345). - (edebug-outside-unread-command-char): Remove all uses of - unread-command-char. - - * emacs-lisp/debug.el (debug): Don't bind debug-on-error since - inhibit-debugger is bound instead. - -2012-09-11 Bastien Guerry - - * subr.el (set-temporary-overlay-map): Add a docstring. - (Bug#12346) - -2012-09-11 Bastien Guerry - - * minibuffer.el (completion-table-subvert): Fix docstring. - (Bug#12347) - -2012-09-11 Bastien Guerry - - * help-fns.el (describe-variable): Fix typo. (Bug#12346) - -2012-09-10 Michael R. Mauger - - * progmodes/sql.el: Version 3.1 - (sql-db2-escape-newlines): New variable. - (sql-escape-newlines-filter): Use it. - -2012-09-10 Juanma Barranquero - - * custom.el (custom-theme-load-confirm): Remove unneeded assignment. - -2012-09-10 Dan Nicolaescu - - * vc/diff-mode.el (diff-mode-menu): - Bind diff-remove-trailing-whitespace. - -2012-09-10 Stefan Monnier - - * emacs-lisp/lisp-mode.el (emacs-list-byte-code-comment-re): New var. - (emacs-lisp-byte-code-comment, emacs-lisp-byte-code-syntax-propertize) - (emacs-lisp-byte-code-mode): New functions. - (eval-sexp-add-defvars): Don't skip defvars in column >0. - (eval-defun-2): Remove bogus interactive spec. - (lisp-indent-line): Remove redundant whole-exp code, now done in - indent-according-to-mode. - (save-match-data): Remove redundant indent data. - - * emacs-lisp/benchmark.el (benchmark-run, benchmark-run-compiled): - Use `declare'. - -2012-09-09 Juri Linkov - - * replace.el (replace-regexp-lax-whitespace): New defcustom. - (replace-lax-whitespace, query-replace-regexp) - (query-replace-regexp-eval, replace-regexp): Doc fix. - (perform-replace, replace-highlight): Let-bind - isearch-lax-whitespace to replace-lax-whitespace and - isearch-regexp-lax-whitespace to replace-regexp-lax-whitespace. - - * isearch.el (isearch-query-replace): Let-bind - replace-lax-whitespace to isearch-lax-whitespace and - replace-regexp-lax-whitespace to - isearch-regexp-lax-whitespace. (Bug#10885) - -2012-09-09 Stefan Monnier - - * eshell/em-unix.el (eshell/sudo): Explicitly drop return value. - -2012-09-09 Alan Mackenzie - - * progmodes/cc-engine.el (c-state-cache-init): - Initialise c-state-semi-nonlit-pos-cache\(-limit\)? properly. - (c-record-parse-state-state): - Record c-state-semi-nonlit-pos-cache\(-limit\)?. - -2012-09-09 Andreas Schwab - - * register.el (register-separator): Rename from - separator-register. All uses changed. Doc fix. - (register): Fix version. - -2012-09-09 Chong Yidong - - * replace.el (query-replace-map): Bind four new symbols for - requesting window scrolling. - - * subr.el (y-or-n-p): Handle the window-scrolling bindings in - query-replace-map (Bug#8948). - - * custom.el (custom-theme-load-confirm): Use y-or-n-p. - - * emacs-lisp/map-ynp.el (map-y-or-n-p): Don't bind scrolling keys - since they are now in query-replace-map. - - * window.el (scroll-other-window-down): Make the arg optional. - -2012-09-09 Chong Yidong - - * files.el (hack-local-variables-confirm): Use quit-window to kill - the *Local Variables* buffer. - -2012-09-08 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-toggle-block): Guess the current block, - not just expect to be at its beginning. Adjust callees. - Succeed when do-end block has no space before the pipe character. - (ruby-brace-to-do-end): When the original block is one-liner, - convert to multiline. Reindent the result. - -2012-09-08 Jambunathan K - - * register.el (register): New group. - (separator-register): New user option. - (increment-register): Route it to `append-to-register', if - register contains text. Implication is that `C-x r +' can now be - used for appending to a text register (bug#12217). - (append-to-register, prepend-to-register): Add separator based on - `separator-register'. - -2012-09-08 Alan Mackenzie - - AWK Mode: make auto-newline work when there's "==" in the pattern. - * progmodes/cc-cmds.el (c-point-syntax): Handle virtual semicolons - correctly. - * progmodes/cc-engine.el (c-guess-basic-syntax CASE 5A.3): - Test more rigorously for "=" token. - -2012-09-08 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-match-expression-expansion): - Only fail when reached LIMIT. - -2012-09-08 Chong Yidong - - * dired.el (dired-mode-map): Don't bind M-=. - - * dired-aux.el (dired-diff): Use backup file as default. - -2012-09-08 Drew Adams - - * subr.el (add-to-history): Fix delete usage (Bug#12314). - -2012-09-08 Chong Yidong - - * subr.el (syntax-after, syntax-class): Doc fix. - -2012-09-08 Martin Rudalics - - * window.el (display-buffer-in-previous-window): New buffer - display action function. - - * emacs-lisp/debug.el (debugger-bury-or-kill): New option. - (debugger-previous-window): New variable. - (debug): Rewrite using display-buffer-in-previous-window, - quit-restore-window and debugger-bury-or-kill. (Bug#8789) - -2012-09-07 Stefan Monnier - - * emacs-lisp/byte-run.el (defun): Tweak message. Simplify code. - -2012-09-07 Matt McClure (tiny change) - - * progmodes/python.el (python-shell-send-string): - When default-directory is remote, create temp file on remote - filesystem. - (python-shell-send-file): When file is remote, pass local view of - file paths to remote Python interpreter. (Bug#12340) - -2012-09-07 Chong Yidong - - * window.el (switch-to-buffer): Doc fix (Bug#12181). - - * files.el (after-find-file): Don't fail on a read-only buffer if - require-final-newline is `visit' or `visit-save' (Bug#11156). - - * subr.el (read-char-choice): Allow quitting via ESC ESC. - - * userlock.el (ask-user-about-supersession-threat): - Use read-char-choice (Bug#12093). - -2012-09-07 Chong Yidong - - * subr.el (buffer-narrowed-p): New function. - - * ses.el (ses-widen): - * simple.el (count-words--buffer-message): - * net/browse-url.el (browse-url-of-buffer): Use it. - - * simple.el (count-words-region): Don't signal an error if there - is a non-nil prefix arg and the mark is not set. - - * help.el (describe-key-briefly): Allow the message to be seen - when invoked from the minibuffer (Bug#7014). - -2012-09-07 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-end-of-defun) - (ruby-beginning-of-defun): Simplify, allow indentation before - block beginning and end keywords. - (ruby-beginning-of-defun): Only consider 3 keywords defun beginners. - (ruby-end-of-defun): Expect that the point is at the beginning of - the defun. - -2012-09-06 Stefan Monnier - - * emacs-lisp/cl-macs.el (cl--do-arglist): Understand _ on &key args - (bug#12367). - (cl--make-usage-args): Strip _ from argument names. - -2012-09-06 Rüdiger Sonderfeld - - * progmodes/vhdl-mode.el (vhdl-speedbar-initialize): Don't use - obsolete alias speedbar-key-map. - (vhdl-doc-variable, vhdl-doc-mode): Use called-interactively-p. - (vhdl-index-menu-init): Don't use obsolete variable - font-lock-maximum-size. - -2012-09-06 Chong Yidong - - * frame.el (window-system-version): Mark as obsolete. - - * speedbar.el (speedbar-update-flag, speedbar-mode): Remove uses - of obsolete variable speedbar-key-map. - -2012-09-06 Juri Linkov - - * replace.el (replace-lax-whitespace): New defcustom. - (query-replace, query-replace-regexp, query-replace-regexp-eval) - (replace-string, replace-regexp): Mention it in docstrings. - (perform-replace, replace-highlight): Let-bind - isearch-lax-whitespace and isearch-regexp-lax-whitespace according - to the values of replace-lax-whitespace and regexp-flag. - Don't let-bind search-whitespace-regexp. (Bug#10885) - - * isearch.el (isearch-query-replace): Let-bind - replace-lax-whitespace instead of let-binding - replace-search-function and replace-re-search-function. - (isearch-lazy-highlight-search): Let-bind isearch-lax-whitespace - and isearch-regexp-lax-whitespace to lazy-highlight variables. - (isearch-toggle-symbol): Set isearch-regexp to nil - in isearch-word mode (like in isearch-toggle-word). - -2012-09-06 Juri Linkov - - * replace.el (replace-search-function) - (replace-re-search-function): Set default values to nil. - (perform-replace): Let-bind isearch-related variables based on - replace-related values, call `isearch-search-fun' and let-bind - the result to `search-function'. Remove code that sets - `search-function' and `search-string' separately for - `delimited-flag'. - (replace-highlight): Add new argument `delimited-flag' and - rename other arguments to the names used in `perform-replace'. - Let-bind `isearch-word' to the argument `delimited-flag'. - (Bug#10885, bug#10887) - -2012-09-07 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-indent-beg-re): Add pieces from - ruby-beginning-of-indent, simplify, allow all keywords to have - indentation before them. - (ruby-beginning-of-indent): Adjust for above. Search until the - found point is not inside a string or comment. - (ruby-font-lock-keywords): Allow symbols to start with "@" - character, give them higher priority than variables. - (ruby-syntax-propertize-function) - (ruby-font-lock-syntactic-keywords): Remove the "not comments" - matchers. Expression expansions are not comments when inside a - string, and there comment syntax status is irrelevant. - (ruby-match-expression-expansion): New function. Check that - expression expansion is inside a string, and it's not escaped. - (ruby-font-lock-keywords): Use it. - -2012-09-05 Martin Rudalics - - * help.el (temp-buffer-max-height): New default value. - (temp-buffer-resize-frames): New option. - (resize-temp-buffer-window): Optionally resize frame. - - * window.el (fit-frame-to-buffer-bottom-margin): New option. - (fit-frame-to-buffer): New function. - -2012-09-05 Glenn Morris - - * emulation/cua-rect.el (cua--init-rectangles): - * textmodes/picture.el (picture-mode-map): - * play/blackbox.el (blackbox-mode-map): Remap right-char and left-char - like forward-char and backward-char. (Bug#12317) - -2012-09-05 Leo Liu - - * progmodes/flymake.el (flymake-warning-re): New variable. - (flymake-parse-line): Use it. - -2012-09-05 Glenn Morris - - * calendar/holidays.el (holiday-christian-holidays): - Rename an entry. (Bug#12289) - -2012-09-05 Stefan Monnier - - * progmodes/sh-script.el (sh-font-lock-paren): Don't burp at BOB - (bug#12222). - -2012-09-04 Stefan Monnier - - * loadup.el: Load macroexp. Remove hack. - * emacs-lisp/macroexp.el (macroexp--eval-if-compile): New function. - (macroexp--expand-all): Use it to get better warnings. - (macroexp--backtrace, macroexp--trim-backtrace-frame) - (internal-macroexpand-for-load): New functions. - (macroexp--pending-eager-loads): New var. - (emacs-startup-hook): New hack to replace one in loadup.el. - * emacs-lisp/cl-macs.el (cl--compiler-macro-list*) - (cl--compiler-macro-cXXr): Move to top, before they can be used. - (cl-psetf): Simplify. - (cl-defstruct): Add indent rule. - -2012-09-04 Lars Ingebrigtsen - - * mail/smtpmail.el (smtpmail-send-it): Prefer the From: header - over `user-mail-address' for the SMTP MAIL FROM envelope. - (smtpmail-via-smtp): Ditto. - -2012-09-04 Dmitry Gutov - - * progmodes/ruby-mode.el: Clean up keybindings. - (ruby-mode-map): Don't bind ruby-electric-brace, - ruby-beginning-of-defun, ruby-end-of-defun, ruby-mark-defun, - backward-kill-word, reindent-then-newline-and-indent. - (ruby-mark-defun): Remove. - (ruby-electric-brace): Remove. Obsoleted by electric-indent-chars. - (ruby-mode): Set local beginning-of-defun-function and - end-of-defun-function values. - -2012-09-03 Martin Rudalics - - * window.el (temp-buffer-window-setup-hook) - (temp-buffer-window-show-hook): New hooks. - (temp-buffer-window-setup, temp-buffer-window-show) - (with-temp-buffer-window): New functions. - (fit-window-to-buffer): Remove unused optional argument OVERRIDE. - (special-display-popup-frame): Make sure the window used shows BUFFER. - - * help.el (temp-buffer-resize-mode): Fix doc-string. - (resize-temp-buffer-window): New optional argument WINDOW. - - * files.el (recover-file, save-buffers-kill-emacs): - * dired.el (dired-mark-pop-up): Use with-temp-buffer-window. - -2012-09-02 Michael Albinus - - * eshell/em-unix.el (eshell/sudo): When we have an ad-hoc - remote definition of `default-directory', ensure we can connect. - -2012-09-02 Juri Linkov - - Toggle whitespace matching mode with M-s SPC. - http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00008.html - - * isearch.el (search-whitespace-regexp): Doc fix. - Remove cons cell customization. - (isearch-mode-map): Bind "\M-s " to isearch-toggle-lax-whitespace. - (isearch-lax-whitespace, isearch-regexp-lax-whitespace): - New variables. - (isearch-forward, isearch-forward-regexp): Doc fix. - (isearch-toggle-lax-whitespace): New command. - (search-forward-lax-whitespace, search-backward-lax-whitespace) - (re-search-forward-lax-whitespace) - (re-search-backward-lax-whitespace): New functions. - (isearch-whitespace-regexp): Remove function. - (isearch-query-replace): Let-bind replace-search-function and - replace-re-search-function. - (isearch-occur): Let-bind search-spaces-regexp according to the - value of isearch-lax-whitespace and isearch-regexp-lax-whitespace. - (isearch-quote-char): Check isearch-regexp-lax-whitespace in the - condition for C-q SPC. - (isearch-search-fun-default): Use new functions mentioned above. - (isearch-search-forward, isearch-search-backward): Remove functions. - (isearch-search): Don't let-bind search-spaces-regexp. - (isearch-lazy-highlight-space-regexp): Remove variable. - (isearch-lazy-highlight-lax-whitespace) - (isearch-lazy-highlight-regexp-lax-whitespace): New variables. - (isearch-lazy-highlight-new-loop): Use them. - (isearch-lazy-highlight-search): Don't let-bind search-spaces-regexp. - -2012-09-02 Chong Yidong - - * dired.el (dired-mode-map): Menu string fixes (Bug#11616). - -2012-09-02 Glenn Morris - - * simple.el (undo): Tweak message in undo-only case. (Bug#12283) - -2012-09-01 Glenn Morris - - * term.el: Tidy up menu definitions. - (term-mode-map): Use easymenu for In/Out, Complete menus. - (term-pager-break-map): Initialize in the defvar. - (term-terminal-menu, term-signals-menu): Define with easymenu. - (term-terminal-menu): Also show it in line-mode. (Bug#11957) - (term-pager-menu): New, extracted from term-process-pager. - (term-mode, term-char-mode, term-process-pager): Use easymenu-add. - (term-update-mode-line): Propertize line/char and page items. - (term-process-pager): Move keymap initialization elsewhere. - -2012-09-01 Martin Rudalics - - * window.el (switch-to-prev-buffer): Handle additional values of - BURY-OR-KILL argument. Don't switch in minibuffer window. - (switch-to-next-buffer): Don't switch in minibuffer window. - (quit-restore-window): New function based on quit-window. - Handle additional values of former KILL argument. - (quit-window): Call quit-restore-window with appropriate - interpretation of KILL argument. - (display-buffer-below-selected): New buffer display action - function. - -2012-09-01 Stefan Monnier - - * minibuffer.el (completion-at-point-functions): Complete docstring - (bug#12254). - -2012-09-01 Paul Eggert - - Better seed support for (random). - * play/5x5.el, play/animate.el, play/cookie1.el, play/dissociate.el: - * play/doctor.el, play/dunnet.el, play/gomoku.el, play/landmark.el: - * play/mpuz.el, play/tetris.el, play/zone.el: - * calc/calc-comb.el (math-init-random-base): - * play/blackbox.el (bb-init-board): - * play/life.el (life): - * server.el (server-use-tcp): - * type-break.el (type-break): - Remove unnecessary call to (random t). - * net/sasl.el (sasl-unique-id-function): - Change (random t) to (random), now that the latter is more random. - * play/life.el (life-initialized): Remove no-longer-needed var. - -2012-08-31 Alp Aker - - * window.el (switch-to-prev-buffer, switch-to-next-buffer): - Consider frame's buffer predicate when choosing the buffer. - (Bug#12081) - -2012-08-30 Richard Stallman - - * simple.el (special-mode-map): Delete binding for `z'. - -2012-08-30 Andreas Schwab - - * progmodes/compile.el (compilation-always-kill): Doc fix. - -2012-08-30 Chong Yidong - - * window.el (display-buffer-reuse-frames): Make the obsolescence - message more informative. - -2012-08-30 Glenn Morris - - * paren.el (show-paren-delay): - Add a :set function. Doc fix. (Bug#12297) - -2012-08-29 Martin Blais (tiny change) - - * progmodes/compile.el (compilation-always-kill): New var. - (compilation-start): Use it. - -2012-08-29 Stefan Monnier - - * simple.el (read-only-mode): Move from files.el for bootstrapping. - * files.el (read-only-mode): Move to simple.el. - - * files.el (read-only-mode): New minor mode. - (toggle-read-only): Use it and mark obsolete. - (find-file--read-only): - * vc/vc.el (vc-next-action, vc-checkout): - * vc/vc-cvs.el (vc-cvs-checkout): - * obsolete/vc-mcvs.el (vc-mcvs-update): - * ffap.el (ffap--toggle-read-only): Update callers. - -2012-08-29 Michael Albinus - - * eshell/esh-ext.el (eshell-external-command): Do not examine - remote shell scripts. - See . - - * net/tramp-sh.el (tramp-remote-path): Add "/sbin" and - "/usr/local/sbin". - -2012-08-28 Stefan Monnier - - * emacs-lisp/cl-lib.el (buffer-string): Fix setter macro (bug#12293). - -2012-08-28 Leo Liu - - * progmodes/sh-script.el (sh-dynamic-complete-functions): Adapt to - completion-at-point. (Bug#12220) - - * skeleton.el (skeleton-untabify): Change to nil (bug#12223). - - * progmodes/sh-script.el (sh-indent-comment): Change to t (bug#12267). - -2012-08-28 Stefan Monnier - - * files.el (safe-local-eval-forms): Fix before-save-hook entry to - be buffer-local; add delete-trailing-whitespace (bug#12259). - -2012-08-28 Jeremy Moore (tiny change) - - * progmodes/hideif.el (hif-compress-define-list): - Fix typo. (Bug#11951) - -2012-08-28 Dan Nicolaescu - - * progmodes/hideshow.el (hs-block-end-regexp): Restore lost - buffer local setting. - - * net/rcirc.el (rcirc-split-message): Fix for buffer-local - rcirc-encode-coding-system. - -2012-08-28 Leo Liu - - * net/rcirc.el (rcirc-split-message): New function. - (rcirc-send-message): Use it. (Bug#12051) - -2012-08-28 Juri Linkov - - * info.el (Info-fontify-node): Hide empty lines at the end of - the node. (Bug#12272) - -2012-08-27 Drew Adams - - * dired.el (dired-pop-to-buffer): Make window start at beginning - of buffer (Bug#12281). - -2012-08-26 Chong Yidong - - * window.el (special-display-regexps, special-display-frame-alist) - (special-display-buffer-names, special-display-function) - (display-buffer-reuse-frames): Mark as obsolete. - - * progmodes/compile.el: Don't use display-buffer-reuse-frames. - - * help.el (help-print-return-message): Don't treat - display-buffer-reuse-frames specially. - -2012-08-26 Chong Yidong - - * progmodes/gdb-mi.el (gdb-display-buffer-other-frame-action): - New variable, replacing gdb-frame-parameters. - (gdb-frame-io-buffer, gdb-frame-breakpoints-buffer) - (gdb-frame-threads-buffer, gdb-frame-memory-buffer) - (gdb-frame-disassembly-buffer, gdb-frame-stack-buffer) - (gdb-frame-locals-buffer, gdb-frame-registers-buffer): Use it. - (def-gdb-frame-for-buffer): Macro deleted. It is easier to define - the functions directly with gdb-display-buffer-other-frame-action. - (gdb-display-breakpoints-buffer, gdb-display-threads-buffer) - (gdb-display-memory-buffer, gdb-display-disassembly-buffer) - (gdb-display-stack-buffer, gdb-display-locals-buffer) - (gdb-display-registers-buffer): Define directly. - (def-gdb-display-buffer): Macro deleted. - (gdb-display-buffer): Remove second and third args, callers don't - use them. Defer to the default display-buffer behavior, apart - from making windows dedicated. - (gdb-setup-windows): Don't call display-buffer unnecessarily. - - * progmodes/gud.el (gud-display-line): Just use display-buffer. - - * window.el (display-buffer-pop-up-frame): Handle a - pop-up-frame-parameters alist entry. - (display-buffer): Document it. - -2012-08-26 Chong Yidong - - * isearch.el (search-whitespace-regexp): Make string and nil - values apply to both ordinary and regexp search. Allow a cons - cell value to distinguish between the two. - (isearch-whitespace-regexp, isearch-search-forward) - (isearch-search-backward): New functions. - (isearch-occur, isearch-search-fun-default, isearch-search) - (isearch-lazy-highlight-new-loop): Use them. - (isearch-forward, isearch-forward-regexp): Doc fix. - -2012-08-26 Chong Yidong - - * faces.el (help-argument-name): Always inherit from italic - (Bug#12213). - -2012-08-25 Martin Rudalics - - * window.el (window--even-window-heights): Even heights when - WINDOW and the selected window form a vertical combination. - (display-buffer-use-some-window): Provide that window used gets - sized back by quit-window. (Bug#11880) and (Bug#12091) - -2012-08-24 Paul Eggert - - Fix file time stamp problem with bzr and CVS (Bug#12001). - * vc/vc-cvs.el (vc-cvs-parse-entry): Ignore subsecond information - in the file's time stamp, since the version control system loses - that information. - -2012-08-22 Juri Linkov - - * info.el (Info-fontify-node): Hide the suffix of the - Info file name in the header line. (Bug#12187) - -2012-08-22 Glenn Morris - - * calendar/cal-tex.el (cal-tex-weekly-common): - Restore leading blank page. - -2012-08-22 Le Wang - - * misc.el (forward-to-word, backward-to-word): Activate or extend - the region under `shift-select-mode'. (Bug#12231) - -2012-08-22 Bastien Guerry - - * progmodes/executable.el (executable-prefix): Set to "#!" instead - of "#! ". http://www.in-ulm.de/~mascheck/various/shebang/#details - gives details on why the space is never needed. - -2012-08-22 Martin Rudalics - - * window.el (walk-window-tree, window-with-parameter): - New optional argument MINIBUF to control whether these functions - should run on the minibuffer window. - (window-at-side-list): Don't operate on minibuffer window. - (window-in-direction): Simplify and rewrite doc-string. - (window--size-ignore): Rename to window--size-ignore-p. - Update callers. - (display-buffer-in-atom-window, window--major-non-side-window) - (window--major-side-window, display-buffer-in-major-side-window) - (delete-side-window, display-buffer-in-side-window): - New functions. - (window--side-check, window-deletable-p, delete-window) - (delete-other-windows, split-window): Handle side windows and - atomic windows appropriately. - (window--display-buffer): Call display-buffer-record-window also - when the window buffer did not change. - -2012-08-22 Christopher Schmidt - - * help-fns.el (help-fns--key-bindings): - Abbreviate non-symbol remap targets. (Bug#12174) - -2012-08-22 Martin Rudalics - - * dired.el (dired-mark-remembered): Don't clobber point. - (Bug#11795) - -2012-08-22 Glenn Morris - - * progmodes/bug-reference.el (bug-reference): New custom group. - (bug-reference-bug-regexp): Make it a defcustom. - -2012-08-22 Daiki Ueno - - * progmodes/js.el (js-indent-level, js-expr-indent-offset) - (js-paren-indent-offset, js-square-indent-offset) - (js-curly-indent-offset): Add :safe (Bug#12257). - -2012-08-22 Edward O'Connor - - * json.el (json-key-format): Add error properties. - (json-encode-key): New function. - (json-encode-hash-table, json-encode-alist, json-encode-plist): - Use json-encode-key. - -2012-08-22 Glenn Morris - - * calendar/cal-tex.el (cal-tex-longday): New function, replacing... - (cal-tex-leftday, cal-tex-rightday): Remove functions. - (cal-tex-weekly-common, cal-tex-cursor-filofax-2week): - Update for above change. - -2012-08-21 Andreas Schwab - - * cus-face.el (custom-face-attributes): Fix customize type for the - :underline attribute. (Bug#11805) - -2012-08-21 Martin Rudalics - - * window.el (window-point-1, set-window-point-1): Remove. - (window-in-direction, record-window-buffer) - (set-window-buffer-start-and-point, split-window-below) - (window--state-get-1, display-buffer-record-window): - Replace calls to window-point-1 and set-window-point-1 by calls to - window-point and set-window-point respectively. - -2012-08-21 Glenn Morris - - * calendar/cal-tex.el (cal-tex-weekly-common): New function. - (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week): - Use it. - - * calendar/cal-tex.el (cal-tex-rightday): Add optional funcname arg. - (cal-tex-shortday): New function. - (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week) - (cal-tex-cursor-filofax-daily): Use the above. - - * calendar/cal-tex.el (cal-tex-leftday, cal-tex-rightday): - New functions. - (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-2week) - (cal-tex-cursor-filofax-week): Use them. - - * calendar/cal-tex.el (cal-tex-lefthead, cal-tex-righthead): - New constants. - (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-2week) - (cal-tex-cursor-filofax-week, cal-tex-cursor-filofax-daily): Use them. - - * calendar/cal-tex.el (cal-tex-preamble): Generate new buffers. - (cal-tex-end-document): Don't rely on buffer name. - - * calendar/cal-tex.el (cal-tex-cursor-filofax-year): - Use cal-tex-vspace. - (cal-tex-vspace, cal-tex-hspace, cal-tex-em, cal-tex-bf) - (cal-tex-Huge-bf, cal-tex-large-bf): Use cal-tex-cmd. - (cal-tex-scriptsize, cal-tex-huge, cal-tex-Huge, cal-tex-large): - Use cal-tex-arg. - - * calendar/cal-tex.el (cal-tex-cursor-filofax-year) - (cal-tex-cursor-week, cal-tex-cursor-week2) - (cal-tex-cursor-week-iso, cal-tex-cursor-week-at-a-glance) - (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) - (cal-tex-cursor-filofax-daily, cal-tex-cursor-day) - (cal-tex-insert-preamble, cal-tex-b-document) - (cal-tex-e-document, cal-tex-b-center, cal-tex-e-center): - Improve cal-tex-cmd usage. - - * calendar/cal-tex.el (cal-tex-filofax-paper): New function. - (cal-tex-cursor-filofax-year, cal-tex-cursor-filofax-2week) - (cal-tex-cursor-filofax-week, cal-tex-cursor-filofax-daily): Use it. - (cal-tex-weekly-paper): New function. - (cal-tex-cursor-week, cal-tex-cursor-week2) - (cal-tex-cursor-week-iso, cal-tex-cursor-week-monday) - (cal-tex-cursor-day): Use it. - - * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance) - (cal-tex-cursor-filofax-week): Remove leading blank page. - - * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance): - Add autoload cookie. For now at least, don't use color, since - no other cal-tex function does. - - * calendar/cal-tex.el (cal-tex-cursor-week-iso) - (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) - (cal-tex-cursor-filofax-daily): Correct start date for diary entries. - -2012-08-21 Juri Linkov - - * info.el (Info-file-attributes): New variable. - (info-insert-file-contents): Add file attributes to - `Info-file-attributes'. Clear the caches `Info-index-nodes' and - `Info-toc-nodes' when previous modtime of the Info file is less - than new modtime. - (Info-toc-nodes, Info-index-nodes): Move definitions up to the top - of info.el. (Bug#12230) - -2012-08-20 Glenn Morris - - * calendar/diary-lib.el (diary-include-files, diary-sexp-entry): - * calendar/holidays.el (calendar-holiday-list): - Report errors with display-warning rather than beep'n'sleep. - -2012-08-20 Michael Albinus - - * net/tramp.el (tramp-accept-process-output): Accept only output - from PROC. Otherwise, process filters and sentinels might be - confused. (Bug#12145) - -2012-08-20 Chong Yidong - - * descr-text.el (describe-text-properties-1): Use overlays-in to - report on empty overlays (Bug#3322). - -2012-08-20 Glenn Morris - - * mail/rmailout.el (rmail-output-read-file-name): - Trap and report errors in rmail-output-file-alist elements. - - * font-lock.el (font-lock-add-keywords): Doc fix (quote face names - since most non-font-lock faces are not also variables). - -2012-08-20 Edward Reingold - - * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance): - New function. (Bug12160) - -2012-08-19 Glenn Morris - - * mail/rmailout.el (rmail-output-read-file-name): - Fix previous change (when the alist is nil or does not match). - -2012-08-19 Chong Yidong - - * xml.el (xml-escape-string): Don't refer to xml-entity-alist - (Bug#12228). - -2012-08-18 Chong Yidong - - * simple.el (yank-handled-properties): New defcustom. - (yank-excluded-properties): Add font-lock-face and category. - (yank): Doc fix. - - * subr.el (remove-yank-excluded-properties): - Obey yank-handled-properties. The special handling of font-lock-face - and category is now done this way, instead of being hard-coded. - (insert-for-yank-1): Remove font-lock-face handling. - (yank-handle-font-lock-face-property) - (yank-handle-category-property): New function. - -2012-08-17 Glenn Morris - - * mail/rmailout.el (rmail-output-read-file-name): - Check rmail-output-file-alist against the full message body - in the correct rmail buffer. (Bug#12214) - -2012-08-17 Michael Albinus - - * net/tramp-sh.el (tramp-sh-handle-start-file-process): - Eliminate superfluous prompt. (Bug#12203) - -2012-08-17 Chong Yidong - - * mouse.el (mouse-appearance-menu): If x-select-font returns a - font spec, set the font directly (Bug#3228). - -2012-08-17 Martin Rudalics - - * window.el (delete-window): Fix last fix. - -2012-08-16 Martin Rudalics - - * window.el (window-valid-p): Move to window.c. - (window-child, window-child-count, window-last-child) - (window-normalize-window, window-combined-p) - (window-combinations, window-atom-root, window-min-size) - (window-sizable, window-sizable-p, window-size-fixed-p) - (window-min-delta, window-max-delta, window--resizable) - (window--resizable-p, window-resizable, window-total-size) - (window-full-height-p, window-full-width-p, window-body-size) - (window-at-side-p, adjust-window-trailing-edge, maximize-window) - (minimize-window, window-deletable-p, delete-window) - (delete-other-windows, set-window-buffer-start-and-point) - (next-buffer, previous-buffer, split-window, balance-windows-2) - (set-window-text-height, window-buffer-height) - (fit-window-to-buffer, shrink-window-if-larger-than-buffer) - (truncated-partial-width-window-p): Minor code adjustments. - In doc-strings state whether the argument window has to denote a - live, valid or any window. - -2012-08-16 Phil Sainty (tiny change) - - * progmodes/subword.el (subword-forward-function) - (subword-backward-function, subword-forward-regexp) - (subword-backward-regexp): New variables. - (subword-forward, subword-forward-internal, subword-backward-internal): - Use new variables, eg so that different "word" definitions - can be easily used. (Bug#11411) - -2012-08-15 Stefan Monnier - - * vc/vc-mtn.el (vc-mtn-revision-completion-table): Handle completion - for composite selectors. - * vc/vc.el (vc-diff-build-argument-list-internal): Don't prevent - operation just because we can't find a previous revision. - -2012-08-15 Chong Yidong - - * frame.el (set-frame-font): Accept font objects. - -2012-08-15 Stefan Monnier - - * textmodes/tex-mode.el (tex-insert-quote): ~ is a space (bug#12137). - -2012-08-15 Wolfgang Jenkner - - * man.el (Man-overstrike-face, Man-underline-face) - (Man-reverse-face): Remove variables. - (Man-overstrike, Man-underline, Man-reverse): New faces. - (Man-fontify-manpage): Use them instead of the variables. - (Man-cleanup-manpage): Comment change. - (Man-ansi-color-map): New variable. - (Man-fontify-manpage): Use it. - Call ansi-color-apply-on-region to replace ad hoc code (bug#12147). - - Implement ANSI SGR parameters 22-27 (bug#12146). - * ansi-color.el (ansi-colors): Doc fix. - (ansi-color-context, ansi-color-context-region): Doc fix. - (ansi-color--find-face): New function. - (ansi-color-apply, ansi-color-apply-on-region): Use it. - Rename the local variable `face' to `codes' since it is now a list of - ansi codes. Doc fix. - (ansi-color-get-face): Remove. - (ansi-color-parse-sequence): New function, derived from - ansi-color-get-face. - (ansi-color-apply-sequence): Use it. Rewrite, and support ansi - codes 22-27. - -2012-08-14 Stefan Monnier - - * subr.el (read-passwd): Allow use from a minibuffer. - -2012-08-14 Eli Zaretskii - - * tooltip.el (tooltip-identifier-from-point): Don't treat tokens - inside comments and strings as identifiers. - - * progmodes/gud.el (gud-tooltip-print-command): Quote the - expression to evaluate. This allows to evaluate expressions with - embedded whitespace. - (gud-tooltip-tips): Add a blank before the newline in the - message-box text, for the benefit of message-box emulation on - MS-Windows. - - * progmodes/gdb-mi.el (gdb-tooltip-print): Don't ignore error - messages from GDB, pop them up in a tooltip to give feedback to - user. - (gdb-tooltip-print-1): Quote the expression to evaluate. - This allows to evaluate expressions with embedded whitespace. - (gdb-inferior-io--init-proc): Don't send "-inferior-tty" command - if the TTY name is nil or empty (which happens when communicating - with the inferior via pipes, e.g. on MS-Windows). - (gdb-internals): If GDB sends a "&\n" empty debugging message, - don't send that to the GUD buffer. - -2012-08-14 Glenn Morris - - * emacs-lisp/bytecomp.el (byte-compile-setq-default): - Optimize away setq-default with no args, as for setq. (Bug#12195) - -2012-08-14 Chong Yidong - - * minibuffer.el (read-file-name): Doc fix (Bug#10881). - - * emacs-lisp/regexp-opt.el (regexp-opt-charset): Doc fix - (Bug#12085). - -2012-08-14 Glenn Morris - - * emacs-lisp/bytecomp.el (byte-recompile-file): Doc fix. - -2012-08-14 Michael Albinus - - * net/tramp-sh.el (tramp-open-shell): Cache the shell name. - (tramp-find-shell, tramp-open-connection-setup-interactive-shell): - Use cached shell name. - -2012-08-14 Fabián Ezequiel Gallina - - * progmodes/python.el (python-shell-send-string): - (python-shell-send-setup-code): Do not use `format' with `message'. - -2012-08-14 Dmitry Gutov - - * progmodes/ruby-mode.el: Improve percent literals (bug#6286). - (ruby-percent-literal-beg-re): New constant. - (ruby-syntax-general-delimiters-goto-beg): Rename to - `ruby-syntax-enclosing-percent-literal', improve literal type check. - (ruby-syntax-propertize-general-delimiters): Rename to - `ruby-syntax-propertize-percent-literal', it's a shorter and more - popular term. Adjust comments everywhere. - (ruby-syntax-propertize-percent-literal): Only propertize when not - inside a simple string or comment. When the literal is unclosed, - leave the text after it unpropertized. - (ruby-syntax-methods-before-regexp): New constant. - (ruby-syntax-propertize-function): Use it to recognize regexps. - Don't look at the text after regexp, just use the whitelist. - -2012-08-14 Andreas Schwab - - * emacs-lisp/bytecomp.el (byte-recompile-file): When LOAD is - non-nil always load the compiled file if it exists. (Bug#12197) - -2012-08-14 Chong Yidong - - * hi-lock.el (hi-lock-mode): Do not unilaterally enable font lock. - (hi-lock-set-pattern): When deciding whether to use font lock or - overlays, look at font-lock-mode instead of font-lock-fontified - (Bug#12168). - (hi-lock-mode, hi-lock-line-face-buffer, hi-lock-unface-buffer) - (hi-lock-face-buffer, hi-lock-face-phrase-buffer): Doc fix. - -2012-08-14 Daiki Ueno - - * subr.el (internal--after-with-selected-window): Fix typo - (Bug#12193). - -2012-08-14 Fabián Ezequiel Gallina - - Use `completion-table-dynamic' for completion functions. - * progmodes/python.el - (python-shell-completion--do-completion-at-point) - (python-shell-completion--get-completions): - Remove functions. - (python-shell-completion-complete-at-point): New function. - (python-completion-complete-at-point): Use it. - -2012-08-13 Jambunathan K - - * vc/vc-dir.el (vc-dir-hide-state): New command (bug#12159). - (vc-dir-hide-up-to-date): Route it to `vc-dir-hide-state'. - -2012-08-13 Stefan Monnier - - * subr.el (function-get): Refine `autoload' arg so it can also - autoload functions for gv.el (bug#12191). - * emacs-lisp/edebug.el (get-edebug-spec): Adjust so it only - autoloads macros. - - * color.el (color-xyz-to-lab, color-lab-to-xyz, color-cie-de2000): - Prefer pcase-let over destructuring-bind. - * vc/diff-mode.el (diff-remove-trailing-whitespace): Same. - Also, remove whitespace as we go, rather than after accumulating the - various places. - - * subr.el (internal--before-with-selected-window) - (internal--after-with-selected-window): Fix typo seleted->selected. - (with-selected-window): Adjust callers. - Reported by Dmitry Gutov . - -2012-08-13 Bastien Guerry - - * window.el (special-display-popup-frame): Minor docstring - enhancement. (Bug#12172) - -2012-08-13 Andreas Schwab - - * tar-mode.el (tar-header-data-end): Only ignore size for files of - type 1-6. - (tar-header-block-summarize, tar-get-descriptor): Handle pax - extended headers. - - * files.el (hack-local-variables-filter): Remove useless eval. - -2012-08-13 Martin Rudalics - - * subr.el (with-selected-window): Fix last change. - -2012-08-12 Stefan Monnier - - * subr.el (internal--before-with-seleted-window) - (internal--after-with-seleted-window): New functions. - (with-selected-window): Use them, to replace dependency on - tty-top-frame. - -2012-08-12 Nobuyoshi Nakada - - * progmodes/ruby-mode.el (ruby-mode-map): Remove unnecessary - binding for `newline'. - (ruby-move-to-block): When moving backward, stop at block opening, - not indentation. - * progmodes/ruby-mode.el (ruby-brace-to-do-end) - (ruby-do-end-to-brace, ruby-toggle-block): New functions. - * progmodes/ruby-mode.el (ruby-mode-map): Add binding for - `ruby-toggle-block'. - -2012-08-12 Stefan Monnier - - * ibuffer.el (ibuffer-do-toggle-read-only): - * dired.el (dired-toggle-read-only): - * buff-menu.el (Buffer-menu-toggle-read-only): - * bindings.el (mode-line-toggle-read-only): - * bs.el (bs-toggle-readonly): Call toggle-read-only interactively. - -2012-08-12 Andreas Schwab - - * descr-text.el (describe-char): Put the overlays over the - "displayed as" character. - -2012-08-12 Jay Belanger - - * calc/calc-units.el (math-default-units-table): Give an - initial value. - (math-put-default-units): Add options to put composite units and - unit systems in the default units table. - (calc-convert-units): Send composite units to - `math-put-default-units' when appropriate. - -2012-08-11 Glenn Morris - - * emacs-lisp/copyright.el (copyright-update-directory): Logic fix. - - * tutorial.el (help-with-tutorial): - * emacs-lisp/copyright.el (copyright-update-directory): - * emacs-lisp/autoload.el (autoload-find-generated-file) - (autoload-find-file): Disable local eval: (for insurance). - - * files.el (hack-local-variables-filter): If an eval: form is not - known to be safe, and enable-local-variables is :safe, then ignore - the form totally, as is done for non-eval forms. (Bug#12155) - This is CVE-2012-3479. - -2012-08-10 Stefan Monnier - - * emacs-lisp/rx.el (rx-constituents): Don't define as constant. - (rx-form): Simplify. - -2012-08-09 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-expr-beg, ruby-parse-partial): - ?, _, and : are symbol constituents, ! is not (but kinda should be). - (ruby-syntax-propertize-heredoc): Use ruby-singleton-class-p. - (ruby-syntax-propertize-function): Adjust for changes in - `ruby-syntax-propertize-heredoc'. - -2012-08-09 Nobuyoshi Nakada - - * progmodes/ruby-mode.el (ruby-mode-map): Remove deprecated - binding (use `M-;' instead). - (ruby-singleton-class-p): New function. - (ruby-expr-beg, ruby-in-here-doc-p) Use it. - -2012-08-10 Stefan Monnier - - * emacs-lisp/cl-macs.el (cl-loop): Improve debug spec. - -2012-08-10 Chong Yidong - - * progmodes/python.el (python-shell-get-process-name): Don't mess - with same-window-buffer-names. - - * eshell/eshell.el (eshell-add-to-window-buffer-names) - (eshell-remove-from-window-buffer-names): Make obsolete. - (eshell-buffer-name, eshell-unload-hook): Don't use them. - (eshell): Just use pop-to-buffer-same-window instead. - -2012-08-10 Chong Yidong - - * bindings.el: Bind M-= back to count-words-region. - - * simple.el (count-words-region): Accept a prefix arg for acting - on the entire buffer. - (count-words--buffer-message): New helper function. - -2012-08-10 Stefan Monnier - - * term/x-win.el (x-menu-bar-open): Always pass last-nonmenu-event. - * subr.el (eventp): `nil' is not an event, and eventp is not hot. - (event-start, event-end): Use posn-at-point to return a more - informative posn. - (posnp): New function. - * mouse.el (popup-menu-normalize-position): Use it. - -2012-08-10 Masatake YAMATO - - * mouse.el (popup-menu-normalize-position): New function. - (popup-menu): Use `popup-menu-normalize-position' to normalize - the form for POSITION argument. - - * term/x-win.el (x-menu-bar-open): - Use the value returend from (posn-at-point) as position - passed to `popup-menu'. - -2012-08-09 Jay Belanger - - * calc/calccomp.el (math-compose-expr): Add extra argument - indicating that parentheses should be put around products in - denominators. Give multiplication precedence over division during - composition. - -2012-08-09 Chong Yidong - - * man.el (Man-switches, Man-sed-command, Man-awk-command) - (Man-mode-hook, Man-cooked-hook, Man-untabify-command-args) - (Man-untabify-command, manual-program): Convert to defcustom - (Bug#10429). - - * vc/add-log.el (change-log-mode): Bind comment-start to nil. - - * descr-text.el (describe-char): Don't insert extra newlines - (Bug#10127). - - * vc/log-view.el (log-view-diff): Use use-region-p (Bug#10133). - (log-view-diff-changeset, log-view-minor-wrap): Likewise. - - * align.el (align-region): Delete temporary markers (Bug#10047). - Plus some code cleanups. - -2012-08-09 Fabián Ezequiel Gallina - - * progmodes/python.el (python-pdbtrack-tracked-buffer) - (python-pdbtrack-buffers-to-kill, python-shell-internal-buffer) - (python-shell-internal-last-output): Use make-local-variable - instead of make-variable-buffer-local. - -2012-08-09 Fabián Ezequiel Gallina - - * progmodes/python.el: Enhancements to forward-sexp. - (python-nav-forward-sexp): Rename from - python-nav-forward-sexp-function. - (python-nav--forward-sexp, python-nav--backward-sexp): - New functions. - -2012-08-09 Jay Belanger - - * calc/calc-menu.el (calc-modes-menu): Add entries for matrix - modes and simplification modes. - -2012-08-09 Stefan Monnier - - * delsel.el (delete-selection-pre-hook): Don't propagate the - file-supersession signals (bug#12161). - -2012-08-08 Stefan Monnier - - * emacs-lisp/cl.el (cl-map-keymap-recursively, cl-map-intervals) - (cl-map-extents): Add compatibility aliases (bug#12135). - -2012-08-08 Michael Albinus - - * net/tramp-sh.el (tramp-find-file-exists-command): Protect the - tests by `ignore-error'. - (tramp-find-shell): Open also a new shell, when cache is already - set. Reported by Carsten Bormann . (Bug#12148) - -2012-08-08 Juri Linkov - - * bookmark.el: Add `defaults' property to the bookmark record. - (bookmark-current-buffer): Doc fix. - (bookmark-make-record): Add `defaults' property with default values - to the bookmark record. - (bookmark-minibuffer-read-name-map): Remove key binding "\C-u" - with `bookmark-insert-current-bookmark'. - (bookmark-set): Get `defaults' property from the bookmark record - and use it in `read-from-minibuffer'. - (bookmark-insert-current-bookmark): Remove function. - - * info.el (Info-bookmark-make-record): Add `defaults' property - with values of canonical Info node name, the current Info file - name and the current Info node name. (Bug#12107) - -2012-08-08 Juri Linkov - - * files.el (basic-save-buffer): Use `buffer-name' as the default - of `read-file-name' when buffer is not visiting a file (bug#12128). - -2012-08-08 Juri Linkov - - * info.el (Info-isearch-search): Doc fix. - (Info-search): Change search-failed message from "initial node" to - "end of node" (bug#12078). - (Info-isearch-search): Change `isearch-string-state' to - `isearch--state-string'. - -2012-08-08 Glenn Morris - - * language/persian.el: Remove file. - * language/misc-lang.el: Move unique part of persian.el here. - * loadup.el: Remove language/persian. - -2012-08-08 Óscar Fuentes - - * vc/diff-mode.el (diff-remove-trailing-whitespace): New function. - -2012-08-08 Fabián Ezequiel Gallina - - * progmodes/python.el: Fix defsubst warning. - (python-syntax-context) Rename from python-info-ppss-context. - (python-syntax-context-type): Rename from - python-info-ppss-context-type. - (python-syntax-comment-or-string-p): Rename from - python-info-ppss-comment-or-string-p. - -2012-08-08 Jay Belanger - - * calc/calc-misc.el (calc-record-why): Don't record a message twice. - -2012-08-07 Andreas Schwab - - * emacs-lisp/lisp-mode.el (eval-defun-1): Handle standard value of - a defcustom that is quoted with backquote. - - * calc/calc-prog.el (math-do-defmath): Use backquote forms. - Fix handling of interactive spec when the body uses return. - (math-do-arg-check, math-define-function-body): Use backquote forms. - * calc/calc-ext.el (math-defcache): Likewise. - * calc/calc-rewr.el (math-rwfail, math-rweval): Likewise. - * allout.el (allout-new-exposure): Likewise. - * calc/calcalg2.el (math-tracing-integral): Likewise. - * info.el (Info-last-menu-item): Likewise. - * emulation/vip.el (vip-loop): Likewise. - * textmodes/artist.el (artist-funcall): Likewise. - * menu-bar.el (menu-bar-make-mm-toggle, menu-bar-make-toggle): - Construct menu-item directly. - - * progmodes/autoconf.el (font-lock-syntactic-keywords): - Don't declare. - -2012-08-07 Chong Yidong - - * simple.el (deactivate-mark): Preserve text properties when - saving the primary selection (Bug#8384). - -2012-08-07 Kevin Ryde - - * woman.el (woman0-if): Quietly treat ".if v" as false (Bug#12109). - (woman-parse-numeric-value): On a bad .IP line, issue a warning - and continue processing (Bug#12110). - -2012-08-06 Stefan Monnier - - * progmodes/cperl-mode.el (cperl-mode): Yet another fix for - syntax-propertize-function (bug#10095). - -2012-08-06 Stefan Monnier - - * help-fns.el (help-fns--key-bindings, help-fns--signature) - (help-fns--parent-mode, help-fns--obsolete): New funs, extracted from - describe-function-1. - (describe-function-1): Use them. Move compiler macro after sig. - (help-fns--compiler-macro): Use function-get. Assume we're already in - standard-output. Adjust layout to new call order. - - * emacs-lisp/cl-macs.el (cl--sm-macroexpand): Fix handling of - re-binding a symbol that has a symbol-macro (bug#12119). - -2012-08-06 Mohsen BANAN - - * language/persian.el: New file. (Bug#11812) - * loadup.el: Add language/persian.el. - -2012-08-06 Chong Yidong - - * window.el (window--maybe-raise-frame): New function. - (window--display-buffer): Split off from here. - (display-buffer-reuse-window, display-buffer-pop-up-frame) - (display-buffer-pop-up-window, display-buffer-use-some-window): - Obey an inhibit-switch-frame action alist entry. - (display-buffer): Update doc. - - * replace.el (occur-after-change-function): Avoid losing focus by - using the inhibit-switch-frame display parameter (Bug#12139). - -2012-08-06 Fabián Ezequiel Gallina - - Make internal shell process buffer names start with space. - * progmodes/python.el (python-shell-make-comint): Add optional - argument INTERNAL. - (run-python-internal): Use it. - (python-shell-internal-get-or-create-process): Check for new - internal buffer names. - -2012-08-06 Glenn Morris - - * eshell/esh-ext.el (eshell/addpath): Use dolist and mapconcat. - Do less getting and setting of environment variables. - -2012-08-05 Chong Yidong - - * proced.el (proced): Add substitution string to docstring to - trigger autoloading of the proced library on C-h f (Bug#1768). - - * emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): - Don't show defvars which have no second argument (Bug#8638). - - * imenu.el (imenu-generic-expression): Move documentation here - from imenu--generic-function. - (imenu--generic-function): Refer to imenu-generic-expression. - -2012-08-05 Vegard Øye (tiny change) - - * emulation/viper-init.el (viper-deflocalvar): Add docstring and - indentation declaration. - (viper-loop): Add indentation declaration (Bug#7025). - -2012-08-05 Chong Yidong - - * help-fns.el (describe-variable): Add hyperlink for - directory-local variables files. Improve buffer-local and - permanent-local reporting; suggested by MON KEY (Bug#6644). - - * help-mode.el (help-dir-local-var-def): New button type. - - * files.el (kill-buffer-hook): Provide a defvar. - -2012-08-05 Glenn Morris - - * eshell/esh-ext.el (eshell/addpath): - Also update eshell-path-env. (Bug#12013) - -2012-08-05 Chong Yidong - - * wdired.el (wdired-mode, wdired-change-to-wdired-mode): Doc fixes. - - * fringe.el (fringe-styles): Add docstring. - (fringe--check-mode): New function. - (set-fringe-mode, set-fringe-style): Use it. - (fringe-mode, set-fringe-style): Doc fixes (Bug#6480). - - * files.el (set-auto-mode): Fix invalid setq call. - -2012-08-04 Stefan Monnier - - * isearch.el: Misc simplification; use defstruct. - (isearch-mode-map): Dense maps now work like sparse ones. - (isearch--state): New defstruct. - (isearch-string-state, isearch-message-state, isearch-point-state) - (isearch-success-state, isearch-forward-state) - (isearch-other-end-state, isearch-word-state, isearch-error-state) - (isearch-wrapped-state, isearch-barrier-state) - (isearch-case-fold-search-state, isearch-pop-fun-state): Remove, - replaced by defstruct's accessors. - (isearch--set-state): Rename from isearch-top-state and change - calling convention. - (isearch-push-state): Use new isearch--get-state. - (isearch-toggle-word): Disable regexp when enabling word. - (isearch-message-prefix): Remove unused arg _c-q-hack. - (isearch-message-suffix): Remove unused arg _ellipsis. - -2012-08-04 Andreas Schwab - - * simple.el (list-processes--refresh): For a server use :host or - :local as the address. - (list-processes): Doc fix. - -2012-08-04 Michal Nazarewicz - - * lisp/mpc.el: Support password in host argument. - (mpc--proc-connect): Parse and use new password element. - Set mpc-proc variable instead of returning process. - (mpc-proc): Adjust accordingly. - -2012-08-03 Eli Zaretskii - - * whitespace.el (whitespace-display-mappings): Use Unicode - codepoints, instead of emacs-mule codepoints. See - http://lists.gnu.org/archive/html/help-gnu-emacs/2012-07/msg00366.html - for the details. - - * files.el (file-truename): Don't skip symlink-chasing part on - windows-nt. Incorporate the resolution of 8+3 short aliases on - Windows into the loop that recursively chases symlinks. - Compare directory and its parent case-insensitively on MS-Windows and - MS-DOS. - -2012-08-03 Chong Yidong - - * menu-bar.el (menu-bar-tools-menu): Remove PCL-CVS. - - * sort.el (sort-regexp-fields): Doc fix. - -2012-08-03 Tassilo Horn - - * textmodes/reftex.el (reftex-compile-variables): Make keyvals - labels regex position point at the expected place. - -2012-08-03 MON KEY - - * net/imap.el (imap-interactive-login, imap-authenticate) - (imap-mailbox-lsub, imap-mailbox-list) - (imap-mailbox-status-asynch, imap-mailbox-acl-delete) - (imap-fetch, imap-message-flag-permanent-p, imap-envelope-from) - (imap-parse-response): Doc fix. - -2012-08-03 João Távora - - * textmodes/tex-mode.el (latex-forward-sexp): Terminate the loop - if sexp scanning does not move point (Bug#5734). - -2012-08-02 Tassilo Horn - - * textmodes/reftex-vars.el (reftex-default-label-alist-entries): - Add listings, minted, and ctable packages. - (reftex-label-alist-builtin): Move listings, minted, and ctable - entries before LaTeX. - (reftex-label-alist): Docfix. - -2012-08-02 Bastien Guerry - - * replace.el (occur): Fix docstring (bug#12122). - -2012-08-02 Glenn Morris - - * emacs-lisp/authors.el (authors-renamed-files-alist): Add ms-w32.h. - -2012-08-02 Paul Eggert - - Obsolete alias inactivate-current-input-method-function (Bug#10150). - * international/mule-cmds.el: Create - inactivate-current-input-method-function as an obsolete alias for - deactivate-current-input-method-function. See Katsumi Yamaoka in - . - -2012-08-01 Jay Belanger - - * calc/calc-mode.el (calc-set-simplify-mode): Use `cond' instead - of nested `if's. - -2012-08-01 Glenn Morris - - * progmodes/autoconf.el (autoconf-definition-regexp): - Add AH_TEMPLATE, adjust submatch numbering. - (autoconf-font-lock-keywords, autoconf-imenu-generic-expression) - (autoconf-current-defun-function): Update for above change. - (autoconf-current-defun-function): First skip to end of current word. - -2012-08-01 Rupert Swarbrick (tiny change) - - * calendar/cal-html.el (cal-html-insert-agenda-days): - Fix typo. (Bug#12018) - -2012-07-31 Fabián Ezequiel Gallina - - Shell processes: enhancements to startup and CEDET compatibility. - * progmodes/python.el (python-shell-send-setup-max-wait): Delete var. - (python-shell-make-comint): accept-process-output at startup. - (run-python-internal): Set inferior-python-mode-hook to nil. - (python-shell-internal-get-or-create-process): Call sit-for. - (python-preoutput-result): Add obsolete alias. - (python-shell-internal-send-string): Use it. - (python-shell-send-setup-code): Remove call to - accept-process-output. - -2012-07-31 Andreas Schwab - - * buff-menu.el (list-buffers-noselect): Use prefix-numeric-value. - (Bug#12108) - -2012-07-31 Jay Belanger - - * calc-mode.el (calc-basic-simplification-mode): Rename from - `calc-limited-simplification-mode'. - (calc-alg-simplification-mode): New function. - (calc-set-simplify-mode): Adjust message. - - * calc.el (calc-set-mode-line): Adjust mode line display for - basic simplification mode. - - * calc-help.el (calc-m-prefix-help): Update help message. - - * calc-ext.el (calc-init-extensions): Add bindings and autoloads - for `calc-basic-simplify-mode' and `calc-alg-simplify-mode'. - -2012-07-31 Bastien Guerry - - * man.el (man): Fix comment. (bug#12101) - -2012-07-31 Martin Rudalics - - * window.el (switch-to-prev-buffer, switch-to-next-buffer): - Don't return a non-nil value when no suitable buffer was found. - -2012-07-31 Fabián Ezequiel Gallina - - * progmodes/python.el (run-python-internal): Disable font lock for - internal shells. - -2012-07-30 Stefan Merten - - * textmodes/rst.el: Silence `checkdoc-ispell'. - (rst-cvs-header, rst-svn-rev, rst-svn-timestamp) - (rst-official-version, rst-official-cvs-rev) - (rst-package-emacs-version-alist): Update to upstream V1.3.1. - (rst-mode-map): New key binding. - -2012-07-30 Paul Eggert - - Update .PHONY listings in makefiles. - * Makefile.in (.PHONY): Add all, doit, custom-deps, finder-data, - autoloads, update-subdirs, updates, bzr-update, update-authors, - compile-onefile, compile-calc, backup-compiled-files, - compile-after-backup, compile-one-process, mh-autoloads, - bootstrap-clean, distclean, maintainer-clean. - -2012-07-29 Jay Belanger - - * calc/calc.el (calc-simplify-mode): Make 'alg the default value. - (calc-set-mode-line): Don't display "AlgSimp ". - - * calc/calc-mode.el (calc-alg-simplify-mode): Remove function. - (calc-lim-simplify-mode): New function. - (calc-set-simplify-mode): Default to 'alg. - (calc-default-simplify-mode): Make algebraic simplifications - the default. - - * calc/calc-ext.el (calc-init-extensions): Remove binding for - `calc-alg-simplify-mode'. Add binding for `calc-lim-simplify-mode'. - - * calc/calc-help.el (calc-m-prefix-help): Change messages to - indicate new simplification modes. - - * calc/README: Mention new default simplification mode. - - * calc/calc.el (math-normalize-error): New variable. - (math-normalize): Set `math-normalize-error' to t - when there's an error. - - * calc/calc-alg.el (math-simplify): Don't simplify when - `math-normalize' returns an error. - -2012-07-29 Eli Zaretskii - - * international/mule-cmds.el (set-locale-environment): Revert last - change, since display-graphic-p returns nil when this function is - called during startup. Instead... - - * term/w32console.el (terminal-init-w32console): ...setup the - keyboard and terminal encoding for TTY sessions here. (Bug#12082) - -2012-07-29 Juri Linkov - - * simple.el (goto-line): Don't display default line number in the - prompt because it should be displayed by `read-number' (bug#9952). - Add the current line number to the defaults of `goto-line' to - allow its easier modification by users with `M-n' (bug#9201). - - * subr.el (read-number): Support multiple default values like in - other minibuffer reading functions. Replace `read' with - `string-to-number' for consistency with `number-to-string'. - -2012-07-29 Paul Eggert - - deactive->inactive, inactivate->deactivate spelling fixes (Bug#10150) - * emulation/viper-init.el (viper-deactivate-input-method-action): - Rename from viper-inactivate-input-method-action. - (viper-deactivate-input-method): - Rename from viper-inactivate-input-method. - * follow.el (follow-inactive-menu): Rename from follow-deactive-menu. - * international/mule-cmds.el (deactivate-input-method): - Rename from inactivate-input-method. - Also run input-method-deactivate-hook. - (deactivate-current-input-method-function): - Rename from inactivate-current-input-method-function. - (input-method-deactivate-hook): New hook. - (input-method-inactivate-hook): Mark obsolete. - (inactivate-input-method): Mark obsolete. - - * international/quail.el (quail-activate): - Also run quail-deactivate-hook. - (quail-deactivate): Rename from quail-inactivate. - * international/robin.el (robin-activate): - Also run robin-deactivate-hook. - (robin-deactivate): Rename from robin-inactivate. - -2012-07-29 Chong Yidong - - * simple.el (indicate-copied-region): New function. - (kill-ring-save): Split off from here. - - * rect.el (copy-rectangle-as-kill): Call indicate-copied-region. - (kill-rectangle): Set deactivate-mark to t on read-only error. - - * register.el (copy-to-register, copy-rectangle-to-register): - Deactivate the mark, and use indicate-copied-region (Bug#10056). - (append-to-register, prepend-to-register): Call indicate-copied-region. - -2012-07-29 Juri Linkov - - * simple.el (async-shell-command-buffer): New defcustom. - (shell-command): Use it. (Bug#4719) - -2012-07-28 Eli Zaretskii - - * international/mule-cmds.el (set-locale-environment): In a - console session on MS-Windows, set up keyboard and terminal - encoding from the OEM codepage, not the ANSI codepage. - (Bug#12055) - -2012-07-28 Chong Yidong - - * progmodes/gdb-mi.el (gdb-place-breakpoints): Fix the call to - gdb-get-location. - -2012-07-28 Leo Liu - - * progmodes/cc-menus.el (cc-imenu-objc-function): Avoid leaving nil in - the alist (bug#12029). - -2012-07-28 Eli Zaretskii - - * makefile.w32-in (custom-deps, finder-data, updates, compile) - (compile-always, compile-first) - ($(lisp)/calendar/cal-loaddefs.el) - ($(lisp)/calendar/diary-loaddefs.el) - ($(lisp)/calendar/hol-loaddefs.el, $(lisp)/mh-e/mh-loaddefs.el) - ($(lisp)/net/tramp-loaddefs.el, bootstrap) - ($(lisp)/progmodes/cc-mode.elc): Depend on $(lisp)subdirs.el, - instead of on update-subdirs. - (bootstrap-clean): Delete $(lisp)/subdirs.el. - -2012-07-28 Chong Yidong - - * vc/vc.el (vc-root-diff, vc-print-root-log): Prompt for a - directory if vc-deduce-backend returns nil (Bug#7350). - - * simple.el (delete-trailing-lines): New option. - (delete-trailing-whitespace): Obey it (Bug#11879). - -2012-07-28 David Engster - - * xml.el (xml-node-name, xml-parse-file, xml-parse-region): - Explanation of new 'symbol-qnames feature in doc-strings. - (xml-maybe-do-ns): Return expanded names as plain symbols if - 'symbol-qnames was provided in XML-NS argument (Bug#11916). - (xml-parse-tag-1): Deal with new definition of PARSE-NS argument. - -2012-07-27 Fabián Ezequiel Gallina - - Consistent completion in inferior python with emacs -nw. - * progmodes/python.el (inferior-python-mode): Replace "" - binding in inferior-python-mode-map with "\t". - (python-shell-completion-complete-at-point) - (python-completion-complete-at-point): Remove interactive spec. - -2012-07-27 Jay Belanger - - * calc/calccomp.el (math-compose-expr): Undo previous change. - -2012-07-27 Fabián Ezequiel Gallina - - * progmodes/python.el (python-mode-map): Add keybinding for - run-python. - (python-shell-make-comint): Fix pop-to-buffer call. - (run-python): Autoload. New arg SHOW. - (python-shell-get-or-create-process): Do not pop python process - buffer. - -2012-07-27 Michael Albinus - - * notifications.el (notifications-on-action-signal) - (notifications-on-closed-signal): Use also the bus address for the map. - (notifications-notify, notifications-close-notification) - (notifications-get-capabilities): Add optional argument BUS. - -2012-07-27 Tassilo Horn - - * textmodes/reftex-vars.el (reftex-label-alist-builtin): - Add support for the lstlisting and minted environments, and for the - ctable macro. - * textmodes/reftex.el (reftex-compile-variables): Also recognize - labels written in keyvals syntax. - -2012-07-27 Jay Belanger - - * calc/calccomp.el (math-compose-expr): Use parentheses when - there is a product in the denominator of a fraction. - -2012-07-26 Eli Zaretskii - - * makefile.w32-in ($(lisp)/calendar/cal-loaddefs.el) - ($(lisp)/calendar/diary-loaddefs.el) - ($(lisp)/calendar/hol-loaddefs.el, $(lisp)/mh-e/mh-loaddefs.el) - ($(lisp)/net/tramp-loaddefs.el): Depend on update-subdirs. - Fixes failures in parallel bootstrap because subdirs.el is being - rewritten while the autoload files are built at the same time, - which needs to load subdirs.el. - -2012-07-26 Martin Rudalics - - * mouse.el (popup-menu): Fix doc-string and re-indent code. - (mouse-drag-line): Don't exit tracking when a switch-frame or - switch-window event occurs (Bug#12006). - -2012-07-26 Stefan Monnier - - * mouse.el (popup-menu): Fix last change. - -2012-07-26 Stefan Monnier - - Autoload from Lisp with more care. Follow aliases when looking for - function properties. - * subr.el (autoloadp): New function. - (symbol-file): Use it. - (function-get): New function. - * emacs-lisp/macroexp.el (macroexp--expand-all): Use function-get and - autoload-do-load. - * emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function) - (lisp-indent-function): - * emacs-lisp/gv.el (gv-get): - * emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec): - * emacs-lisp/byte-opt.el (byte-optimize-form): - * emacs-lisp/bytecomp.el (byte-compile-arglist-warn): - * emacs-lisp/autoload.el (make-autoload, autoload-print-form): - Use function-get. - * emacs-lisp/cl.el: Don't propagate function properties any more. - - * speedbar.el (speedbar-add-localized-speedbar-support): - * emacs-lisp/disass.el (disassemble-internal): - * desktop.el (desktop-load-file): - * help-fns.el (help-function-arglist, find-lisp-object-file-name) - (describe-function-1): - * emacs-lisp/find-func.el (find-function-noselect): - * emacs-lisp/elp.el (elp-instrument-function): - * emacs-lisp/advice.el (ad-has-proper-definition): - * apropos.el (apropos-safe-documentation, apropos-macrop): - * emacs-lisp/debug.el (debug-on-entry): - * emacs-lisp/cl-macs.el (cl-compiler-macroexpand): - * emacs-lisp/byte-opt.el (byte-compile-inline-expand): - * calc/calc.el (name): Use autoloadp & autoload-do-load. - -2012-07-25 Alp Aker - - * international/mule-cmds.el (ucs-insert): Mark it as an obsolete - function, not an obsolete variable (Bug#12046). - -2012-07-25 Andreas Schwab - - * faces.el (face-spec-reset-face): Fix last change. (Bug#12042) - -2012-07-25 Christopher Schmidt - - * emacs-lisp/pp.el (pp-display-expression): Select old selected - window only if it is still live (Bug#12034). - -2012-07-25 Martin Rudalics - - * subr.el (redirect-frame-focus): Add advertised calling - convention (Bug#12030). - -2012-07-25 Paul Eggert - - Prefer typical American spelling for "acknowledgment". - * vc/add-log.el (change-log-acknowledgment): Rename from - change-log-acknowledgement, with an alias for the old name. - -2012-07-25 Jay Belanger - - * calc-alg.el (math-simplify-divide): Don't cross multiply - in an equation when the lhs is a variable. - -2012-07-24 Julien Danjou - - * net/netrc.el (netrc-find-service-number, netrc-store-data): - Remove, unused. - -2012-07-23 Eli Zaretskii - - * startup.el (command-line): Don't display an empty user name in - the error message about non-existent home directory, when - init-file-user was set to an empty string. See - http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00835.html - for the details and context. - -2012-07-22 Vincent Belaïche - - * ses.el (ses-cell-formula-aset): New macro. - (ses-cell-references-aset): New macro. - (ses-cell-p): New function. - (ses-rename-cell): Do no longer rely on complex operations like - ses-cell-set-formula or ses-set-cell to change the cell and handle - the undo at the same time, but rather use lower level new macros - `ses-cell-formula-aset' and `ses-cell-references-aset' and handle - the undo directly. Refresh the mode line. - -2012-07-21 Leo Liu - - * progmodes/cc-cmds.el (c-defun-name): - Use match-string-no-properties instead for consistency. - -2012-07-20 Leo Liu - - * progmodes/cc-cmds.el (c-defun-name): Handle objc selectors properly. - (Bug#7879) - - * progmodes/cc-langs.el (c-symbol-start): Include char _ (bug#11986). - -2012-07-20 Stefan Monnier - - * userlock.el, emacs-lisp/map-ynp.el: Declare part of `emacs' package. - * progmodes/bug-reference.el, misearch.el: Provide themselves - (bug#11915). - - * progmodes/cperl-mode.el (cperl-unwind-to-safe): Don't inf-loop at end - of narrowed buffer (bug#11966). - -2012-07-20 Vincent Belaïche - - * ses.el (ses-rename-cell): Set new name also in reference list of - cells of which the renamed cell depends. - -2012-07-20 Masatake YAMATO - - * term/x-win.el (x-menu-bar-open): Use `frame-parameter' - to check whether menu-bar is shown or not. If not shown, - show the menu-bar as a popup menu instead of using tmm. - * mouse.el (popup-menu): Accept `point' as `position' argument. - -2012-07-20 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-parse-partial): No error when end - up inside string symbol literal (bug#11923). - -2012-07-20 Eli Zaretskii - - * startup.el (fancy-startup-text): Read the whole tutorial, not - just its first 256 bytes. Prevents gibberish in display of the - tutorial title. - -2012-07-20 Dmitry Antipov - - Drop idle buffer compaction due to an absence of the - proved efficiency. - * compact.el: Remove. - -2012-07-19 Sam Steingold - - * vc/vc-dispatcher.el (vc-compilation-mode): Add, based on - vc-bzr-pull & vc-bzr-merge-branch. - * vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch): Use it. - (vc-bzr-error-regexp-alist): Rename from vc-bzr-error-regex-alist - for consistency with compilation-error-regexp-alist. - * vc/vc-git.el (vc-git-error-regexp-alist): Add. - (vc-git-pull, vc-git-merge-branch): Call vc-compilation-mode. - * vc/vc-hg.el (vc-hg-error-regexp-alist): Add. - (vc-hg-pull, vc-hg-merge-branch): Call vc-compilation-mode. - -2012-07-19 Stefan Monnier - - * emacs-lisp/chart.el: Use lexical-binding. - (chart-emacs-storage): Don't hardcode the list of entries. - -2012-07-19 Dmitry Antipov - - Next round of tweaks caused by Fgarbage_collect changes. - * emacs-lisp/chart.el (chart-emacs-storage): Adjust again. - -2012-07-19 Dmitry Antipov - - Compact buffers when idle. - * compact.el: New file. - -2012-07-19 Stefan Monnier - - * subr.el (eventp): Presume that if it looks vaguely like an event, - it's an event (bug#10190). - -2012-07-19 Fabián Ezequiel Gallina - - Enhancements to ppss related code (thanks Stefan). - * progmodes/python.el (python-indent-context) - (python-indent-calculate-indentation, python-indent-dedent-line) - (python-indent-electric-colon, python-nav-forward-block) - (python-mode-abbrev-table) - (python-info-assignment-continuation-line-p): Simplify checks - for ppss context. - (python-info-continuation-line-p): Cleanup. - (python-info-ppss-context): Do not catch 'quote. - (python-info-ppss-context-type) - (python-info-ppss-comment-or-string-p): Simplify. - -2012-07-18 Fabián Ezequiel Gallina - - * progmodes/python.el: Enhancements to eldoc support. - (python-info-current-symbol): New function. - (python-eldoc-at-point): Use python-info-current-symbol. - (python-info-current-defun): Fix cornercase on first defun scan. - (python-eldoc--get-doc-at-point): Use python-info-current-symbol - and signal error when no inferior python process is available. - -2012-07-18 Dmitry Gutov - - * vc/vc-git.el (vc-git-state): Don't call `vc-git-registered', - assume it's always t. - (vc-git-registered): Remove caching, the function is only called - once. - (vc-git-branches): Use `vc-git--call' instead of `call-process'. - -2012-07-18 Chong Yidong - - * subr.el (last-input-char, last-command-char): Remove (Bug#9195). - - * simple.el (count-words): Report on narrowing (Bug#9959). - - * bindings.el: Bind M-= to count-words. - - * faces.el (face-spec-reset-face): Handle reverse video (Bug#4238). - -2012-07-18 Masatake YAMATO - - * progmodes/sh-script.el (sh-imenu-generic-expression): - Capture a function with `function' keyword and without parentheses - like "function FOO" (bug#11856). - -2012-07-18 Tassilo Horn - - * window.el (split-window-sensibly): Make WINDOW argument - optional. - -2012-07-18 Chong Yidong - - * subr.el (keyboard-translate): Doc fix (Bug#7261). - - * isearch.el (isearch-mode-map): Handle C-x 8 key translations, - and make C-x 8 RET exit isearch (Bug#11439). - - * international/iso-transl.el: Move isearch-mode-map key - definitions to isearch.el. - -2012-07-18 Stefan Monnier - - * emacs-lisp/eieio.el: Adapt further to gv.el (bug#11970). - (eieio-defclass): Use gv-define-setter when possible. - -2012-07-18 Dmitry Antipov - - Reflect recent changes in Fgarbage_collect. - * emacs-lisp/chart.el (chart-emacs-storage): Change to - reflect new format of data returned by Fgarbage_collect. - -2012-07-17 Fabián Ezequiel Gallina - - New utility functions + python-info-ppss-context fix (Bug#11910). - * progmodes/python.el (python-info-beginning-of-block-statement-p) - (python-info-ppss-comment-or-string-p): New functions. - (python-info-ppss-context): Small fix for string check. - -2012-07-17 Juri Linkov - - * dired-aux.el (dired-do-async-shell-command): Doc fix. - (dired-do-async-shell-command): Don't add `*' at the end of the - command (Bug#11815). - (dired-do-shell-command): Doc fix. - (dired-shell-stuff-it): Strip the trailing "&" and ";" if any. - Join the individual commands using either "&" or ";" as the - separator depending on the values of these trailing characters. - At the end re-add the trailing "&". (Bug#10598) - - * simple.el (async-shell-command): Sync the interactive spec with - `shell-command'. Doc fix. - (shell-command): Doc fix. - -2012-07-17 Juri Linkov - - * descr-text.el (describe-char): Fix format args. (Bug#10129) - -2012-07-17 Fabián Ezequiel Gallina - - Final renames and doc fixes for movement commands (bug#11899). - * progmodes/python.el (python-nav-beginning-of-statement): - Rename from python-nav-statement-start. - (python-nav-end-of-statement): Rename from - python-nav-statement-end. - (python-nav-beginning-of-block): Rename from - python-nav-block-start. - (python-nav-end-of-block): Rename from python-nav-block-end. - -2012-07-17 Fabián Ezequiel Gallina - - * progmodes/python.el (python-shell-send-string-no-output): - Allow accept-process-output to quit, keeping shell process ready for - future interactions (Bug#11868). - -2012-07-17 Stefan Monnier - - * emacs-lisp/cl-macs.el (cl-progv): Use a properly prefixed var name. - - * emacs-lisp/elint.el (elint-find-args-in-code): - Use help-function-arglist, so as to handle lexical byte-code. - - * progmodes/sh-script.el (sh-syntax-propertize-function): Fix last - change (bug#11826). - -2012-07-17 Stefan Monnier - - * progmodes/cc-engine.el (c-forward-sws, c-backward-sws): - Avoid spuriously marking the buffer as modified because of c-is-sws. - - * progmodes/sh-script.el (sh-syntax-propertize-function): Mark "${#VAR" - as not-a-comment (bug#11946). - - * emacs-lisp/macroexp.el (macroexp-let2): Use more informative names - for uninterned vars. - - * xt-mouse.el (xterm-mouse-translate-1, xterm-mouse-event-read): - Use read-event since we don't really want to read chars but bytes. - - * textmodes/tex-mode.el (tex-font-lock-keywords-1): Highlight not only - $$..$$ but also $..$ using regexps (bug#11953). - Use tex-verbatim for \url and \path. - (tex-font-lock-keywords): Define as defconst like the others. - (tex-common-initialization): Don't use font-lock-syntax-table any more. - -2012-07-16 René Kyllingstad (tiny change) - - * international/mule-cmds.el (ucs-insert): Make it an obsolete - alias for insert-char. - -2012-07-16 Fabián Ezequiel Gallina - - * progmodes/python.el: Simplified imenu implementation. - (python-nav-jump-to-defun): Remove command. - (python-mode-map): Use `imenu' instead. - (python-nav-list-defun-positions-cache) - (python-imenu-include-defun-type, python-imenu-make-tree) - (python-imenu-subtree-root-label, python-imenu-index-alist): - Remove vars. - (python-nav-list-defun-positions, python-nav-read-defun) - (python-imenu-tree-assoc, python-imenu-make-element-tree) - (python-imenu-make-tree, python-imenu-create-index): - Remove functions. - (python-mode): Update to interact with imenu by setting - `imenu-extract-index-name-function' only. - -2012-07-16 Fabián Ezequiel Gallina - - * progmodes/python.el: Enhancements to navigation commands. - (python-nav-backward-sentence) - (python-nav-forward-sentence): Remove. - (python-nav-backward-statement, python-nav-forward-statement) - (python-nav-statement-start, python-nav-statement-end) - (python-nav-backward-block, python-nav-forward-block) - (python-nav-block-start, python-nav-block-end) - (python-nav-forward-sexp-function) - (python-info-current-line-comment-p) - (python-info-current-line-empty-p): New functions. - (python-indent-context): Use `python-nav-statement-start'. - -2012-07-16 Michael Albinus - - * eshell/em-ls.el (eshell/ls): Use `apply'. - - * eshell/em-unix.el (eshell/su, eshell/sudo): Apply Tramp's ad-hoc - multi-hops, instead of Tramp internals. - - * vc/ediff.el (ediff-directories): Add trailing space to prompts. - - * vc/ediff-diff.el (ediff-same-file-contents): Handle the case, - when F1 and F2 are located on different hosts. - -2012-07-14 Chong Yidong - - * xt-mouse.el: Implement extended mouse coordinates (Bug#10642). - (xterm-mouse-translate): Move code into xterm-mouse-translate-1. - (xterm-mouse-translate-extended, xterm-mouse-translate-1) - (xterm-mouse--read-event-sequence-1000) - (xterm-mouse--read-event-sequence-1006): New functions. For old - mouse protocol, handle M-mouse-X events correctly. - (xterm-mouse-event): New arg specifying mouse protocol. - (turn-on-xterm-mouse-tracking-on-terminal) - (turn-off-xterm-mouse-tracking-on-terminal): Send DEC 1006 - sequence to toggle extended coordinates on newer XTerms. - This appears to be harmless on terminals which do not support this. - -2012-07-14 Leo Liu - - Add fringe bitmap indicators for flymake. (Bug#11253) - * progmodes/flymake.el (flymake-highlight-line): Use fringe bitmaps. - (flymake-make-overlay): New arg BITMAP. - (flymake-error-bitmap, flymake-warning-bitmap) - (flymake-fringe-indicator-position): New user variables. - - * fringe.el: New bitmap exclamation-mark. - -2012-07-14 Jan Djärv - - * progmodes/cc-cmds.el (c-defun-name): Recognize Objective-C methods - also (Bug#7879). - -2012-07-14 Chong Yidong - - * electric.el (electric-pair-post-self-insert-function): Fix pair - insertion in empty-region case (Bug#11520). - -2012-07-14 Chong Yidong - - * bindings.el: Consolidate ctl-x-r-map bindings. - Bind copy-rectangle-as-kill to C-x r w. - - * rect.el, register.el: Move bindings to bindings.el. - -2012-07-14 Reuben Thomas - - * rect.el (copy-rectangle-as-kill): New command (Bug#739). - -2012-07-13 Andreas Schwab - - * emacs-lisp/cl.el (labels): Remove spurious quote. (Bug#11938) - -2012-07-13 Juanma Barranquero - - * bindings.el (top): Use `mapc' instead of `mapcar'. - - * loadup.el (top): Remove bogus `if' choice (brought by 2008-06-21T01:38:39Z!monnier@iro.umontreal.ca). - -2012-07-13 Michael Albinus - - * progmodes/sql.el (sql-comint): Suppress the check for program on - remote hosts. Reported by Francis Devereux . - (Bug#11908) - -2012-07-13 Chong Yidong - - * bindings.el: Assign a non-nil permanent-local property to - per-buffer variables which lack a default value (Bug#11930). - - * help-fns.el (describe-variable): In the "automatically becomes - local" notice, take note of permanent-local variables. - -2012-07-13 Chong Yidong - - * files.el (toggle-read-only): Doc fix and code cleanup. New arg - to allow printing the message when called from Lisp. - - * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): - Remove toggle-read-only. - - * bs.el (bs-toggle-readonly): - * buff-menu.el (Buffer-menu-toggle-read-only): - Remove with-no-warnings around toggle-read-only. - - * ffap.el (ffap--toggle-read-only): Accept a list of buffers. - Remove with-no-warnings around toggle-read-only. - (ffap-read-only, ffap-read-only-other-window) - (ffap-read-only-other-frame): Callers changed. - - * help-mode.el: Don't require view package. - (help-mode-finish): Set buffer-read-only instead of calling - toggle-read-only. - - * bindings.el (mode-line-toggle-read-only): - * dired.el (dired-toggle-read-only): - * ibuffer.el (ibuffer-do-toggle-read-only): Call toggle-read-only - with non-nil second arg. - - * emacs-lisp/eieio-custom.el (eieio-customize-object): - * vc/ediff.el (ediff-set-read-only-in-buf-A): Set buffer-read-only - directly. - -2012-07-12 Eli Zaretskii - - * emacs-lisp/bytecomp.el (byte-recompile-directory): Use cl-incf, - not incf. - -2012-07-11 Stefan Monnier - - More CL cleanups and reduction of use of cl.el. - * woman.el, winner.el, vc/vc-rcs.el, vc/vc-hooks.el, vc/vc-hg.el: - * vc/vc-git.el, vc/vc-dir.el, vc/vc-bzr.el, vc/vc-annotate.el: - * textmodes/tex-mode.el, textmodes/sgml-mode.el, tar-mode.el: - * strokes.el, ses.el, server.el, progmodes/js.el, progmodes/gdb-mi.el: - * progmodes/flymake.el, progmodes/ebrowse.el, progmodes/compile.el: - * play/tetris.el, play/snake.el, play/pong.el, play/landmark.el: - * play/hanoi.el, play/decipher.el, play/5x5.el, nxml/nxml-mode.el: - * net/secrets.el, net/quickurl.el, midnight.el, mail/footnote.el: - * image-dired.el, ibuffer.el, ibuf-macs.el, ibuf-ext.el, hexl.el: - * eshell/eshell.el, eshell/esh-io.el, eshell/esh-ext.el: - * eshell/esh-cmd.el, eshell/em-ls.el, eshell/em-hist.el: - * eshell/em-cmpl.el, eshell/em-banner.el: - * calendar/parse-time.el: Use cl-lib. - * wid-browse.el, wdired.el, vc/vc.el, vc/vc-mtn.el, vc/vc-cvs.el: - * vc/vc-arch.el, tree-widget.el, textmodes/texinfo.el: - * textmodes/refill.el, textmodes/css-mode.el, term/tvi970.el: - * term/ns-win.el, term.el, shell.el, ps-samp.el: - * progmodes/perl-mode.el, progmodes/pascal.el, progmodes/gud.el: - * progmodes/glasses.el, progmodes/etags.el, progmodes/cwarn.el: - * play/gamegrid.el, play/bubbles.el, novice.el, notifications.el: - * net/zeroconf.el, net/xesam.el, net/snmp-mode.el, net/mairix.el: - * net/ldap.el, net/eudc.el, net/browse-url.el, man.el: - * mail/mailheader.el, mail/feedmail.el: Don't use CL. - * ibuf-ext.el (ibuffer-mark-old-buffers): Use float-time. - * eshell/esh-opt.el (eshell-eval-using-options): Quote code with - `lambda' rather than with `quote'. - (eshell-do-opt): Adjust accordingly. - (eshell-process-option): Simplify. - * eshell/esh-var.el: - * eshell/em-script.el: Require `esh-opt' for eshell-eval-using-options. - * emacs-lisp/pcase.el (pcase--dontcare-upats, pcase--let*) - (pcase--expand, pcase--u1): Rename pcase's internal `dontcare' pattern - to `pcase--dontcare'. - * emacs-lisp/cl.el (labels): Mark obsolete. - (cl--letf, letf): Move to cl-lib. - (cl--letf*, letf*): Remove. - * emacs-lisp/cl-lib.el (cl-nth-value): Use defalias. - * emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Add indent rule. - (cl-progv): Rewrite. - (cl--letf, cl-letf): Move from cl.el. - (cl-letf*): New macro. - * emacs-lisp/cl-extra.el (cl--progv-before, cl--progv-after): Remove. - -2012-07-11 Michael Albinus - - * net/ange-ftp.el (ange-ftp-cf1): Update the files cache. - -2012-07-11 Chong Yidong - - * vc/log-edit.el (log-edit-vc-backend): New variable. - (log-edit): Doc fix. - - * vc/vc-dispatcher.el (vc-log-edit): New args. Use PARAMS - argument of log-edit to set up all local variables. - (vc-start-logentry): New optional arg specifying VC backend. - - * vc/vc.el (vc-checkin): Use it. - (vc-deduce-fileset): Handle Log Edit buffers. - (vc-diff): Make first argument optional too. - - * vc/log-view.el (log-view-vc-fileset, log-view-vc-backend): Doc fix. - -2012-07-10 Michael Albinus - - * eshell/esh-ext.el (eshell-remote-command): Remove remote part of - command, just in case. The function is not needed anymore. - (eshell-external-command): Do not call `eshell-remote-command'. - -2012-07-10 Stefan Monnier - - Reduce use of (require 'cl). - * vc/smerge-mode.el, vc/pcvs.el, vc/pcvs-util.el, vc/pcvs-info.el: - * vc/diff-mode.el, vc/cvs-status.el, uniquify.el, scroll-bar.el: - * register.el, progmodes/sh-script.el, net/gnutls.el, net/dbus.el: - * msb.el, mpc.el, minibuffer.el, international/ucs-normalize.el: - * international/quail.el, info-xref.el, imenu.el, image-mode.el: - * font-lock.el, filesets.el, edmacro.el, doc-view.el, bookmark.el: - * battery.el, avoid.el, abbrev.el: Use cl-lib. - * vc/pcvs-parse.el, vc/pcvs-defs.el, vc/log-view.el, vc/log-edit.el: - * vc/diff.el, simple.el, pcomplete.el, lpr.el, comint.el, loadhist.el: - * jit-lock.el, international/iso-ascii.el, info.el, frame.el, bs.el: - * emulation/crisp.el, electric.el, dired.el, cus-dep.el, composite.el: - * calculator.el, autorevert.el, apropos.el: Don't require CL. - * emacs-lisp/bytecomp.el (byte-recompile-directory, display-call-tree) - (byte-compile-unfold-bcf, byte-compile-check-variable): - * emacs-lisp/byte-opt.el (byte-compile-trueconstp) - (byte-compile-nilconstp): - * emacs-lisp/autoload.el (make-autoload): Use pcase. - * face-remap.el (text-scale-adjust): Simplify pcase patterns. - - * emacs-lisp/gv.el (cond): Make it a valid place. - (if): Simplify slightly. - - * emacs-lisp/pcase.el (pcase): Accept self-quoting exps as "upatterns". - (pcase--self-quoting-p): New function. - (pcase--u1): Use it. - -2012-07-10 Glenn Morris - - * emacs-lisp/authors.el (authors-fixed-entries): - (authors-renamed-files-alist): Update for configure.in -> configure.ac. - -2012-07-09 Paul Eggert - - Rename configure.in to configure.ac (Bug#11603). - * emacs-lisp/authors.el (authors-canonical-file-name): - * progmodes/autoconf.el (autoconf-mode): - Prefer configure.ac to configure.in. - -2012-07-08 Chong Yidong - - * mouse.el (mouse-drag-line): Rewrite the track-mouse loop. - Implement the mouse-1-click-follows-link handling properly. - - * info.el (Info-link-keymap): Use follow-link mechanism for - header-line links (Bug#374). - - * simple.el (deactivate-mark): Do not set the primary selection - if another program has acquired it (Bug#11772). - -2012-07-07 Kevin Ryde - - * woman.el (woman-strings): Fix double-quote handling (Bug#1151). - (woman-decode-region): Replace escaped-escapes without destroying - bold or underline (Bug#11552). - (woman2-process-escapes): Handle nofill regions (Bug#11591). - -2012-07-07 Chong Yidong - - * simple.el (yank-pop-change-selection): Doc fix (Bug#11361). - (interprogram-cut-function, interprogram-paste-function): - Mention that we typically mean the clipboard. - -2012-07-06 Glenn Morris - - * kmacro.el (kmacro-call-macro): Restore repeat message. (Bug#11817) - - * files.el (toggle-read-only): Restrict message to interactive use. - -2012-07-06 Michael Albinus - - * net/tramp.el (tramp-restricted-shell-hosts-alist): New defcustom. - - * net/tramp-sh.el (tramp-maybe-open-connection): Handle it. - -2012-07-06 Glenn Morris - - * Makefile.in (compile-one-process): Rename from "recompile". - - * Makefile.in (bzr-update): "compile" is the same as "recompile - autoloads", but parallelizable, so use that instead. - -2012-07-06 Dmitry Gutov - - * window.el (quit-window): Always restore window height when - it's saved in quit-restore parameter (Bug#11810). - -2012-07-06 Glenn Morris - - * simple.el (kill-whole-line): Doc tweak. - -2012-07-06 Eli Zaretskii - - * files.el (file-relative-name): Compare file names - case-insensitively if on MS-Windows or MS-DOS, or if - read-file-name-completion-ignore-case is non-nil. Don't use - case-fold-search for this purpose. (Bug#11827) - -2012-07-17 Andreas Schwab - - * calendar/cal-dst.el (calendar-current-time-zone): - Return calendar-current-time-zone-cache if non-nil. - -2012-07-17 Masatake YAMATO -2012-07-06 Andreas Schwab - - * calendar/cal-dst.el (calendar-current-time-zone): - Return calendar-current-time-zone-cache if non-nil. - -2012-07-06 Glenn Morris - - * Makefile.in (cvs-update): Remove old alias. - -2012-07-05 Michael Albinus - - Sync with Tramp 2.2.6-pre. - - * net/tramp.el (tramp-drop-volume-letter): Provide an XEmacs - compatible declaration. - - * net/tramp-cmds.el (tramp-append-tramp-buffers): - Protect `list-load-path-shadows' call. - - * net/tramp-compat.el (top): Require packages, which aren't - autoloaded anymore for XEmacs. Protect call of - `tramp-file-name-handler' by `tramp-compat-funcall', pacifying the - compiler. Do not require tramp-util.el and tramp-vc.el anymore, - it hurts at least for SXEmacs. - (tramp-compat-temporary-file-directory): In XEmacs, there is no - standard-value for `temporary-file-directory'. - - * net/tramp-sh.el (tramp-do-directory-files-and-attributes-with-stat): - Redirect stderr to /dev/null. - (tramp-sh-handle-write-region): uid and gid can be floats. - Reported by Russell Sim . - (tramp-sh-handle-vc-registered): Hide errors. - (tramp-vc-file-name-handler): Use dummy results for `process-file' - and `start-file-process'. - (tramp-maybe-open-connection): Check also whether `non-essential' - is bound. - -2012-07-04 Chong Yidong - - * xml.el (xml--parse-buffer): Use xml-syntax-table. - (xml-parse-tag): Likewise, and avoid changing entity tables. - (xml-syntax-table): Define from scratch, making sure not to give - x2000 and other Unicode spaces whitespace syntax, since those are - not spaces in XML. - (xml-parse-fragment): Delete unused function. - (xml-name-start-char-re, xml-name-char-re, xml-name-re) - (xml-names-re, xml-nmtoken-re, xml-nmtokens-re, xml-char-ref-re) - (xml-entity-ref, xml-pe-reference-re) - (xml-reference-re, xml-att-value-re, xml-tokenized-type-re) - (xml-notation-type-re, xml-enumeration-re, xml-enumerated-type-re) - (xml-att-type-re, xml-default-decl-re, xml-att-def-re) - (xml-entity-value-re): Use syntax references in regexps where - possible; no need to define inside a let-binding. - (xml-parse-dtd): Use xml-pe-reference-re. - (xml-entity-or-char-ref-re): New defconst. - (xml-parse-string, xml-substitute-special): Use it. - -2012-07-04 Stefan Monnier - - * files.el (locate-dominating-file): Allow `name' to be a predicate. - (find-file--read-only): New function. - (find-file-read-only, find-file-read-only-other-window) - (find-file-read-only-other-frame): Use it. - (insert-file-contents-literally): Don't `fset'. - (get-free-disk-space): Use locate-dominating-file. - - * emacs-lisp/bytecomp.el (byte-compile): Don't signal an error if the - function is already compiled. - - * xml.el (xml-name-regexp): Remove, redundant. Use xml-name-re. - -2012-07-03 Michael Albinus - - * vc/ediff-diff.el (ediff-same-file-contents): Fix it for remote - files on the same host. - -2012-07-03 Andreas Schwab - - * help-fns.el (describe-function-1): Only call - help-fns--autoloaded-p when we have a file name. (Bug#11848) - -2012-07-03 Chong Yidong - - * xml.el: Protect parser against XML bombs. - (xml-entity-expansion-limit): New variable. - (xml-parse-string, xml-substitute-special): Use it. - (xml-parse-dtd): Avoid infloop if the DTD is not terminated. - -2012-07-03 Glenn Morris - - * progmodes/bug-reference.el (bug-reference-bug-regexp): - Allow linking to specific messages in debbugs reports (eg 123#5). - -2012-07-02 Chong Yidong - - * xml.el: Fix entity and character reference expansion, allowing - them to expand into markup as per XML spec. - (xml-default-ns): New variable. - (xml-entity-alist): Use XML spec definitions for lt and amp. - (xml-parse-region): Make first two arguments optional. - Discard text properties. - (xml-parse-tag-1): New function, spun off from xml-parse-tag. - All callers changed. - (xml-parse-tag): Call xml-parse-tag-1. For backward - compatibility, this function should not modify buffer contents. - (xml-parse-tag-1): Fix opening-tag regexp. - (xml-parse-string): Rewrite, handling entity and character - references properly. - (xml--entity-replacement-text): Signal an error if a parameter - entity is undefined. - -2012-07-02 Stefan Monnier - - * comint.el (comint-output-filter): Filter out repeated prompts. - - * net/ange-ftp.el (ange-ftp-expand-file-name): Use ange-ftp-ftp-name - and file-name-absolute-p. - (ange-ftp-file-exists-p): Use ange-ftp-file-exists-p for - internal calls. - -2012-07-02 Paul Eggert - - Spelling fixes. - * emacs-lisp/bytecomp.el (byte-compile--reify-function): - Rename from byte-compile--refiy-function. All uses changed. - -2012-07-01 Chong Yidong - - * xml.el (xml--parse-buffer): New function. Move most of - xml-parse-region here. - (xml-parse-region): Copy region into a temporary buffer, since - parameter entity substitution requires changing buffer contents. - Use xml--parse-buffer. - (xml-parse-file): Use xml--parse-buffer. - (xml-parse-dtd): Make parameter entity substitution work right. - Use proper regexps for ELEMENT declarations (Bug#7172). - -2012-06-30 Glenn Morris - - * comint.el (follow-comint-scroll-to-bottom): Fix declaration. - - * net/secrets.el, net/tramp-gvfs.el, net/xesam.el, net/zeroconf.el: - Remove outdated and unnecessary dbus declarations. - -2012-06-30 Eli Zaretskii - - * emacs-lisp/timer.el (timer-until): Subtract results of - float-time, instead of taking float-time of the result of - time-subtract, since float-time signals an error for negative time - arguments. - -2012-06-30 Chong Yidong - - * xml.el (xml-*-re): Convert defvars into defconsts, and - eval-and-compile them so eval-and-compile works on derivatives. - (xml--entity-replacement-text): Use eval-and-comple. - -2012-06-30 Michael Albinus - - * vc/vc-git.el (vc-git-registered): Use cache property - `git-registered'. - (vc-git-mode-line-string): Call `vc-working-revision' instead of - `vc-git-working-revision' in order to benefit from the cache. - (vc-git-root): Use cache property `git-root'. (Bug#11757) - -2012-06-30 Dmitry Gutov - - * vc/vc-hooks.el (vc-before-save): Clear cache if file has been - removed (likely outside Emacs). (Bug#11757) - -2012-06-30 Stefan Monnier - - * emacs-lisp/cl-lib.el: Require macroexp. - -2012-06-30 Chong Yidong - - * xml.el: Implement XML parameter entities. - (xml-parameter-entity-alist): New variable. - (xml-parse-region, xml-parse-fragment): Preserve previous values - of xml-entity-alist and xml-parameter-entity-alist, so that - repeated calls on different documents do not change them. - (xml-parse-tag): Fix doctype regexp. - (xml--entity-replacement-text): New function. - (xml-parse-dtd): Use it. Don't handle system entities; doing that - properly requires url retrieval which is unimplemented. - (xml-escape-string): Doc fix. - -2012-06-30 Stefan Monnier - - * emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2. - -2012-06-29 Dmitry Antipov - - * fringe.el (fringe-mode): Doc fix. - -2012-06-29 Michael Albinus - - * net/ange-ftp.el (ange-ftp-get-passwd): Throw if `non-essential' - is non-nil. - (ange-ftp-ignore-errors-if-non-essential): New defmacro. - (ange-ftp-file-name-all-completions): Use it. (Bug#11808) - -2012-06-29 Andreas Schwab - - * calendar/cal-dst.el (calendar-current-time-zone): - Return calendar-current-time-zone-cache if non-nil. - -2012-06-29 Masatake YAMATO - - * progmodes/which-func.el (which-func-format): - Add mouse-face. (Bug#11698) - -2012-06-29 Leo Liu - - * textmodes/enriched.el (enriched-next-annotation): Use eq (Bug#11528). - -2012-06-29 Stefan Monnier - - * minibuffer.el (minibuffer-confirm-exit-commands): - Add completion-at-point (bug#11725). - -2012-06-29 Glenn Morris - - * progmodes/f90.el (f90-font-lock-keywords-2): - Add some preprocessor elements. (Bug#10499) - -2012-06-29 Stefan Monnier - - * progmodes/cperl-mode.el (cperl-update-syntaxification): - Use syntax-propertize (bug#11739). - -2012-06-28 Juanma Barranquero - - * emacs-lisp/cl-lib.el (cl-pushnew): Don't capture X (bug#11811). - -2012-06-28 Julien Danjou - - * term.el (term-handle-colors-array): Use a set of new faces to - color the terminal. Also uses :inverse-video property. - (term-default-fg-color): Set to nil by default, deprecate in favor - of `term-face'. - (term-default-bg-color): Set to nil by default, deprecate in favor - of `term-face'. - (term-current-face): Use `term-face' by default. - (term-bold-attribute): Variable deleted. - -2012-06-28 Glenn Morris - - * simple.el (completion-list-mode-finish): - Don't use toggle-read-only. (Since completion-list-mode has - a special mode-class, it wasn't doing anything extra anyway.) - -2012-06-28 Stefan Monnier - - Make inlining of other-mode interpreted functions work (bug#11799). - * emacs-lisp/bytecomp.el (byte-compile--refiy-function): New fun. - (byte-compile): Use it to fix compilation of lexical-binding closures. - * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Compile the - function, if needed. - -2012-06-27 Stefan Monnier - - * help-mode.el (help-make-xrefs): Don't just withstand - cyclic-variable-indirection but any error in documentation-property. - - * loadup.el (purify-flag): Pre-grow the hash-table to reduce the - memory use. - * bindings.el (bindings--define-key): New function. - * vc/vc-hooks.el, replace.el, menu-bar.el, international/mule-cmds.el: - * emacs-lisp/lisp-mode.el, buff-menu.el, bookmark.el: - * bindings.el: Use it to purecopy define-key bindings. - - * textmodes/rst.el (rst-adornment-faces-alist): Avoid copy-list. - - * emacs-lisp/cl.el (flet): Mark obsolete. - * emacs-lisp/cl-macs.el (cl-flet*): New macro. - * vc/vc-rcs.el (vc-rcs-annotate-command, vc-rcs-parse): - * progmodes/js.el (js-c-fill-paragraph): - * progmodes/ebrowse.el (ebrowse-switch-member-buffer-to-sibling-class) - (ebrowse-switch-member-buffer-to-derived-class): - * play/5x5.el (5x5-solver): Use cl-flet. - - * emacs-lisp/cl.el: Use lexical-binding. Fix flet (bug#11780). - (cl--symbol-function): New macro. - (cl--letf, cl--letf*): Use it. - - * emacs-lisp/easy-mmode.el (easy-mmode-pretty-mode-name): - Strip "toggle-" if any. - -2012-06-27 Glenn Morris - - * info.el (Info-default-directory-list): Move here from paths.el. - * paths.el: Remove file, which is now empty. - * loadup.el: No longer load "paths". - - * custom.el (custom-initialize-delay): Doc fix. - - * eshell/em-alias.el, eshell/em-banner.el, eshell/em-basic.el: - * eshell/em-cmpl.el, eshell/em-dirs.el, eshell/em-glob.el: - * eshell/em-hist.el, eshell/em-ls.el, eshell/em-pred.el: - * eshell/em-prompt.el, eshell/em-rebind.el, eshell/em-script.el: - * eshell/em-smart.el, eshell/em-term.el, eshell/em-unix.el: - * eshell/em-xtra.el: Replace eshell-defgroup with "(progn (defgroup". - * eshell/eshell.el (eshell-defgroup): Remove alias. - -2012-06-27 Chong Yidong - - * help.el (help-enable-auto-load): New variable. - - * help-fns.el (help-fns--autoloaded-p): New function. - (describe-function-1): Refer to a function as "autoloaded" if it - was autoloaded at any time in the past. Perform autoloading if - help-enable-auto-load is non-nil. - -2012-06-26 Eli Zaretskii - - * makefile.w32-in (compile, compile-always): Depend on - update-subdirs, not on subdirs.el. Otherwise, several different - sub-targets of 'bootstrap' running in parallel could - simultaneously write to subdirs.el, producing a garbled file. - -2012-06-26 Sam Steingold - - * files.el (file-name-base): New convenience function. - * autoinsert.el, cus-dep.el, doc-view.el, image-dired.el: - * woman.el, eshell/esh-cmd.el, progmodes/ada-xref.el: - * progmodes/cc-defs.el, progmodes/cperl-mode.el: - * progmodes/flymake.el, progmodes/gud.el, progmodes/idlwave.el: - * textmodes/ispell.el, textmodes/reftex-ref.el: - * textmodes/tex-mode.el: Use it. - Did not touch cedet and org because they are maintained elsewhere. - -2012-06-26 Martin Rudalics - - * calendar/calendar.el (calendar-exit): Don't try to delete or - iconify last frame. See: - http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00372.html - -2012-06-25 Jim Diamond (tiny change) - - * server.el (server-process-filter): Remember dir in the - process's `server-client-directory' properties. - -2012-06-24 Chong Yidong - - * xml.el (xml-parse-tag): Correctly handle comment embedded in - non-tag text. - -2012-06-23 Juanma Barranquero - - * makefile.w32-in (COMPILE_FIRST): Synch with changes in 2012-06-22T21:24:54Z!monnier@iro.umontreal.ca. - -2012-06-23 Stefan Monnier - - * help-fns.el (describe-variable): Don't croak when doc is not found. - * vc/pcvs.el (cvs-retrieve-revision): Avoid toggle-read-only. - * menu-bar.el (menu-bar-line-wrapping-menu): Purecopy a tiny bit more. - * emacs-lisp/syntax.el (syntax-ppss): Simplify with new `if' place. - * emacs-lisp/smie.el (smie-next-sexp): CSE. - * emacs-lisp/macroexp.el (macroexp-let2): Fix edebug spec and avoid - ((lambda ..) ..). - * emacs-lisp/eieio.el (eieio-oref, slot-value): Use simpler defsetf. - -2012-06-23 Chong Yidong - - * info.el (Info-mouse-follow-link): Accept symbol values of - link-args. Select window; suggested by Gerhard Kahl (Bug#11672). - (Info-fontify-node): Use Info-link-keymap for all navigation - buttons, with link-args property to perform the desired action. - (Info-link-keymap): Doc fix. - (Info-next-link-keymap, Info-prev-link-keymap) - (Info-up-link-keymap): Delete now-unused keymaps. - -2012-06-23 Chong Yidong - - * mouse.el (mouse-drag-track): Deactivate the mark before popping. - - * progmodes/python.el (python-skeleton-define): Mark abbrevs as - system abbrevs. - - * ansi-color.el (ansi-color-apply-on-region): Doc fix. - -2012-06-23 Stefan Monnier - - * emacs-lisp/cl-macs.el (cl--make-usage-args): Handle improper lists - (bug#11719). - - * minibuffer.el (completion--twq-try): Try to fail more gracefully when - the requote function doesn't work properly (bug#11714). - -2012-06-23 Glenn Morris - - * pcmpl-rpm.el (pcmpl-rpm-packages): Give status messages. - -2012-06-22 Stefan Monnier - - Further GV/CL cleanups. - * emacs-lisp/gv.el (gv-get): Autoload functions to find their - gv-expander. - (gv--defun-declaration): New function. - (defun-declarations-alist): Use it. - (gv-define-modify-macro, gv-pushnew!, gv-inc!, gv-dec!): Remove. - (gv-place): Autoload. - * emacs-lisp/cl.el (cl--dotimes, cl--dolist): Remember subr.el's - original definition of dotimes and dolist. - * emacs-lisp/cl-macs.el (cl-expr-access-order): Remove unused. - (cl-dolist, cl-dotimes): Use `dolist' and `dotimes'. - * emacs-lisp/cl-lib.el: Move gv handlers from cl-macs to here. - (cl-fifth, cl-sixth, cl-seventh, cl-eighth) - (cl-ninth, cl-tenth): Move gv handler to the function's definition. - * emacs-lisp/cl-extra.el (cl-subseq, cl-get, cl-getf): Move gv handler - to the function's definition. - * Makefile.in (COMPILE_FIRST): Re-order to speed it up by about 50%. - * window.el: - * files.el: - * faces.el: - * env.el: Don't use CL. - -2012-06-22 Paul Eggert - - Support higher-resolution time stamps (Bug#9000). - - * calendar/time-date.el (with-decoded-time-value): New arg - PICO-SYMBOL in VARLIST. It's optional, for backward compatibility. - (encode-time-value): New optional arg PICO. New type 3. - (time-to-seconds) [!float-time]: Support the new picoseconds - component if it's used. - (seconds-to-time, time-subtract, time-add): - Support ps-resolution time stamps as well. - - * emacs-lisp/timer.el (timer): New component psecs. All uses changed. - (timerp): Timer vectors now have length 9, not 8. - (timer--time): Support new-style (4-part) time stamps. - (timer-next-integral-multiple-of-time): Time stamps now have - picosecond resolution, so take a bit more care about rounding. - (timer-relative-time, timer-inc-time): New optional arg psecs. - (timer-set-time-with-usecs): Set psecs to 0. - (timer--activate): Check psecs component, too. - - * proced.el (proced-time-lessp): Support ps-resolution stamps. - -2012-06-22 Stefan Monnier - - * icomplete.el (icomplete-minibuffer-setup, icomplete-completions): - Move the non-essential binding to the post/pre-command-hook where it is - more obviously correct. - - * subr.el (read-passwd): Don't use a history at all. - * savehist.el (savehist-save): Remove password saved accidentally - because of the above bug. - -2012-06-22 Bastien Guerry - - * files.el (toggle-read-only): Display a message telling whether - the buffer is read-only or not (bug#11726). - -2012-06-22 Stefan Monnier - - * emacs-lisp/gv.el: New file. - * subr.el (push, pop): Extend to generalized variables. - * loadup.el (macroexp): Unload if preloaded and uncompiled (bug#11657). - * emacs-lisp/cl-lib.el (cl-pop, cl-push, cl--set-nthcdr): Remove. - * emacs-lisp/cl-macs.el: Require gv. Use gv-define-setter, - gv-define-simple-setter, and gv-define-expander. - Remove setf-methods defined in gv. Rename cl-setf -> setf. - (cl-setf, cl-do-pop, cl-get-setf-method): Remove. - (cl-letf, cl-letf*, cl-define-modify-macro, cl-defsetf) - (cl-define-setf-expander, cl-struct-setf-expander): Move to cl.el. - (cl-remf, cl-shiftf, cl-rotatef, cl-callf, cl-callf2): Rewrite with - gv-letplace. - (cl-defstruct): Don't define setf-method any more. - * emacs-lisp/cl.el (flet): Don't autoload. - (cl--letf, letf, cl--letf*, letf*, cl--gv-adapt) - (define-setf-expander, defsetf, define-modify-macro) - (cl-struct-setf-expander): Move from cl-lib.el. - * emacs-lisp/syntax.el: - * emacs-lisp/ewoc.el: - * emacs-lisp/smie.el: - * emacs-lisp/cconv.el: - * emacs-lisp/timer.el: Rename cl-setf -> setf, cl-push -> push. - (timer--time): Use gv-define-simple-setter. - * emacs-lisp/macroexp.el (macroexp-let2): Rename from macroexp-let² - to avoid coding-system problems in subr.el. Adjust all users. - (macroexp--maxsize, macroexp-small-p): New functions. - * emacs-lisp/bytecomp.el (byte-compile-file): Don't use cl-letf. - * scroll-bar.el (scroll-bar-mode): - * simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode) - (normal-erase-is-backspace-mode): Don't use the `eq' place. - * winner.el (winner-configuration, winner-make-point-alist) - (winner-set-conf, winner-get-point, winner-set): Don't abuse letf. - * files.el (locate-file-completion-table): Avoid list*. - -2012-06-22 Chong Yidong - - * dired-aux.el (dired-do-create-files): Doc fix (Bug#11327). - (dired-create-files): Doc fix (Bug#11329). - (dired-do-copy): Doc fix (Bug#11334). - (dired-mark-read-string): Doc fix (Bug#11553). - - * dired.el (dired-recursive-copies, dired-recursive-deletes): - Doc fix (Bug#11326). - (dired-make-relative): Doc fix (Bug#11332). Remove unused arg. - (dired-dwim-target): Doc fix. - - * wdired.el (wdired-mode): Doc fix. - -2012-06-22 Glenn Morris - - * pcmpl-rpm.el (pcmpl-rpm-cache): New option. - (pcmpl-rpm-cache-stamp-file): New constant. - (pcmpl-rpm-cache-time, pcmpl-rpm-packages): New variables. - (pcmpl-rpm-packages): Optionally cache list of packages. - - * pcmpl-rpm.el (pcmpl-rpm): New group. - (pcmpl-rpm-query-options): New option. - (pcmpl-rpm-packages): No need to inline it. - Use pcmpl-rpm-query-options. - - * calendar/calendar.el (calendar-in-read-only-buffer): - Avoid some needless mode changes. - -2012-06-21 Chong Yidong - - * desktop.el (desktop-read): Don't prompt if daemon (Bug#11674). - (desktop-path): Remove . from the default value (Bug#10977). - (desktop-read): Use user-emacs-directory if desktop-path is nil. - -2012-06-20 Chong Yidong - - * term.el (term-send-raw-meta): Make C-M- keys work (Bug#8172). - -2012-06-20 David Röthlisberger (tiny change) - - * ido.el (ido-switch-buffer, ido-find-file): Fix up doc of C-j - (bug#11201). - -2012-06-20 Chong Yidong - - * term.el (term-window-width): Handle the case of a missing right - fringe (Bug#8837). - (term-check-size): Use window-text-height (Bug#5445). - (term-mode): Use define-derived-mode. Minor cleanups. - Set font-lock-defaults (Bug#7692). - (term-move-columns, term-insert-char, term-emulate-terminal) - (term-erase-in-line, term-insert-spaces): Use font-lock-face. - -2012-06-20 Michael Albinus - - * net/ange-ftp.el (ange-ftp-get-passwd): - Bind `enable-recursive-minibuffers'. - (ange-ftp-get-process): Throw if `non-essential' is non-nil. - -2012-06-19 David Röthlisberger (tiny change) - - * ido.el (ido-find-file): Mention C-d binding in docstring (bug#11244). - -2012-06-19 Glenn Morris - - * progmodes/python.el (python-mode): Derive from prog-mode. - -2012-06-19 Kevin Gallagher - - * emulation/edt.el (edt-default-menu-bar-update-buffers) - (edt-user-menu-bar-update-buffers): New functions. - (edt-default-emulation-setup, edt-user-emulation-setup): Use them. - -2012-06-19 Chong Yidong - - * subr.el (with-selected-window): Preserve the selected window's - terminal's top-frame (Bug#4702). - - * window.el (save-selected-window): Likewise. - -2012-06-18 Stefan Monnier - - * progmodes/python.el (python-rx-constituents): Move backquote. - (python-skeleton-define, python-define-auxiliary-skeleton): - Use `declare'. - -2012-06-18 Michael Albinus - - * minibuffer.el (read-file-name-default): Revert the patch from - 2012-06-17. - -2012-06-18 Stefan Monnier - - * emacs-lisp/pcase.el (pcase--expand): Warn for unused pattern. - (pcase--u1, pcase--q1): Don't use apply-partially. - -2012-06-18 Glenn Morris - - * progmodes/python.el (python-proc, python-buffer) - (python-send-receive, python-send-string): Fix obsolete versions. - -2012-06-18 Martin Rudalics - - * window.el (special-display-p): Completely remove stringp - check. Suggested by Andreas Schwab . - -2012-06-17 Michael Albinus - - * minibuffer.el (read-file-name-default): Bind `non-essential' to `t'. - - * net/tramp.el (tramp-file-name-handler): Catch 'non-essential. - - * net/ange-ftp.el (ange-ftp-gwp-start, ange-ftp-start-process): - * net/tramp-sh.el (tramp-maybe-open-connection): - Throw if `non-essential' is non-nil. - -2012-06-17 Martin Rudalics - - * window.el (special-display-p): Signal an error if BUFFER-NAME - is not a string (Bug#11713). - -2012-06-17 Paul Eggert - - * progmodes/python.el (python-info-beginning-of-backslash): - Rename from python-info-beginning-of-backlash, as a spelling fix. - -2012-06-17 Chong Yidong - - * term.el (term-emulate-terminal): If term-check-size is called, - move point to the process mark without resetting point (Bug#4635). - -2012-06-17 Glenn Morris - - * international/mule-cmds.el (mule-menu-keymap) - (set-language-environment, set-locale-environment): Doc tweaks. - -2012-06-16 Aurelien Aptel - - * cus-face.el (custom-face-attributes): Add wave-style underline - attribute. - * faces.el (set-face-attribute): Update docstring to describe - wave-style underline attribute. - -2012-06-16 Chong Yidong - - * term/xterm.el (terminal-init-xterm): Discard input before - querying background mode (Bug#10959). - -2012-06-16 Stefan Merten - - * textmodes/rst.el: Added and corrected some comments. - (rst-re-alist-def): Improve symbol syntax. - (rst-mode-syntax-table): Correct syntax entries. - (rst-cvs-header, rst-svn-rev, rst-svn-timestamp) - (rst-official-version, rst-official-cvs-rev): Update version - information. - -2012-06-15 Juanma Barranquero - - * makefile.w32-in (COMPILE_FIRST): Synch with makefile.in changes - in 2008-06-22T13:57:28Z!monnier@iro.umontreal.ca. - -2012-06-15 Fabián Ezequiel Gallina - - * progmodes/python.el: New python.el merge. - (python-guess-indent): Obsolete var. - (python-indent-guess-indent-offset): New defcustom. - (python-indent): Obsolete var. - (python-indent-offset): New defcustom. - (python-python-command, python-jython-command): Delete var. - (python-shell-interpreter): New defcustom. - (python-pdbtrack-do-tracking-p): Delete var. - (python-pdbtrack-activate): New defcustom. - (python-use-skeletons): Obsolete var. - (python-skeleton-autoinsert): New defcustom. - (inferior-python-filter-regexp, python-continuation-offset) - (python-honour-comment-indentation, python-indent-string-contents) - (python-jython-packages, python-mode-hook) - (python-pdbtrack-minor-mode-string, python-remove-cwd-from-path) - (python-shell-prompt-alist) - (python-source-modes): Delete defcustoms. - (python-check-buffer-name, python-eldoc-setup-code) - (python-eldoc-string-code, python-ffap-setup-code) - (python-ffap-string-code, python-fill-comment-function) - (python-fill-decorator-function, python-fill-paren-function) - (python-fill-string-function, python-imenu-include-defun-type) - (python-imenu-make-tree, python-imenu-subtree-root-label) - (python-pdbtrack-stacktrace-info-regexp, python-shell-buffer-name) - (python-shell-compilation-regexp-alist) - (python-shell-completion-module-string-code) - (python-shell-completion-pdb-string-code) - (python-shell-completion-setup-code) - (python-shell-completion-string-code) - (python-shell-enable-font-lock, python-shell-exec-path) - (python-shell-extra-pythonpaths) - (python-shell-internal-buffer-name, python-shell-interpreter-args) - (python-shell-process-environment) - (python-shell-prompt-block-regexp) - (python-shell-prompt-output-regexp) - (python-shell-prompt-pdb-regexp, python-shell-prompt-regexp) - (python-shell-send-setup-max-wait, python-shell-setup-codes) - (python-shell-virtualenv-path): New defcustoms. - (brm-menu, eldoc-documentation-function, inferior-python-mode-map) - (inferior-python-mode-syntax-table, python--prompt-regexp) - (python-buffer, python-command python-python-command) - (python-default-template, python-imports, python-indent-index) - (python-indent-list, python-indent-list-length) - (python-mode-running, python-pdbtrack-is-tracking-p) - (python-preoutput-continuation, python-preoutput-leftover) - (python-preoutput-result, python-preoutput-skip-next-prompt) - (python-prev-dir/file, python-recursing) - (python-saved-check-command, python-version-checked) - (python-which-func-length-limit) - (view-return-to-alist): Delete vars. - (python-check-custom-command, python-dotty-syntax-table) - (python-imenu-index-alist, python-indent-current-level) - (python-indent-dedenters, python-indent-levels) - (python-nav-beginning-of-defun-regexp) - (python-nav-list-defun-positions-cache) - (python-pdbtrack-buffers-to-kill, python-pdbtrack-tracked-buffer) - (python-shell-internal-buffer) - (python-skeleton-available): New vars. - (def-python-skeleton): Delete macro. - (python-skeleton-define): New macro. - (python-define-auxiliary-skeleton, python-rx): New macros. - (python-insert-class): Delete command. - (python-skeleton-class): New command. - (python-insert-def): Delete command. - (python-skeleton-def): New command. - (python-insert-for): Delete command. - (python-skeleton-for): New command. - (python-insert-if): Delete command. - (python-skeleton-if): New command. - (python-insert-try/except, python-insert-try/finally): Delete commands. - (python-skeleton-try): New command. - (python-insert-while): Delete command. - (python-skeleton-while): New command. - (python-backspace): Delete command. - (python-indent-dedent-line-backspace): New command. - (python-electric-colon): Delete command. - (python-indent-electric-colon): New command. - (python-guess-indent): Delete command. - (python-indent-guess-indent-offset): New command. - (python-shift-left): Delete command. - (python-indent-shift-left): New command. - (python-shift-right): Delete command. - (python-indent-shift-right): New command. - (python-find-function): Delete command. - (python-nav-jump-to-defun): New command. - (python-next-statement): Delete command. - (python-nav-forward-sentence): New command. - (python-previous-statement): Delete command. - (python-nav-backward-sentence): New command. - (python-fill-paragraph): Delete command. - (python-fill-paragraph-function): New command. - (python-send-buffer): Delete command. - (python-shell-send-buffer): New command. - (python-send-defun): Delete command. - (python-shell-send-defun): New command. - (python-send-region, python-send-region-and-go): Delete commands. - (python-shell-send-region) - (python-shell-switch-to-shell): New commands. - (python-send-string): Delete command. - (python-shell-send-string): New command. - (python-switch-to-python): Delete command. - (python-shell-switch-to-shell): New command. - (python-describe-symbol): Delete command. - (python-eldoc-at-point): New command. - (python--set-prompt-regexp, python-args-to-list) - (python-after-info-look, python-check-version) - (python-check-comint-prompt, python-find-imports) - (python-execute-file, turn-off-pdbtrack, turn-on-pdbtrack) - (python-unload-function, python-expand-template) - (python-maybe-jython, python-preoutput-filter) - (python-pdbtrack-get-source-buffer) - (python-pdbtrack-grub-for-buffer, python-pdbtrack-overlay-arrow) - (python-pdbtrack-toggle-stack-tracking) - (python-pdbtrack-track-stack-file, python-initial-text) - (python-first-word, python-comment-line-p, python-send-command) - (python-setup-brm, python-sentinel, python-set-proc) - (python-skip-out, python-input-filter, python-outdent-p) - (python-outline-level, python-backslash-continuation-line-p) - (python-end-of-block, python-end-of-statement, python-mark-block) - (python-beginning-of-block, python-beginning-of-statement) - (python-blank-line-p, python-beginning-of-string) - (python-open-block-statement-p): Delete functions. - (python-indent-line, python-indent-line-1): Delete functions. - (python-indent-line): New function. - (python-indentation-levels): Delete function. - (python-indent-calculate-levels): New function. - (python-proc): Delete function. - (python-shell-get-process): New function. - (python-send-receive): Delete function. - (python-shell-send-string-no-output): New function. - (python-module-path): Delete function. - (python-ffap-module-path): New function. - (python-completion-at-point) - (python-symbol-completions): Delete functions. - (python-completion-complete-at-point): New function. - (python-load-file): Delete function. - (python-shell-send-file): New function. - (python-calculate-indentation): Delete function. - (python-indent-calculate-indentation): New function. - (python-skip-comments/blanks): Delete function. - (python-util-forward-comment): New function. - (python-continuation-line-p): Delete function. - (python-info-continuation-line-p): New function. - (python-which-func, python-current-defun): Delete function. - (python-info-current-defun): New function. - (python-beginning-of-defun): Delete function. - (python-nav-beginning-of-defun): New function. - (python-close-block-statement-p) - (python-block-end-p): Delete function. - (python-info-closing-block): New function. - (python-comint-output-filter-function) - (python-eldoc--get-doc-at-point, python-end-of-defun-function) - (python-fill-comment, python-fill-decorator, python-fill-paren) - (python-fill-string, python-imenu-make-element-tree) - (python-imenu-make-tree, python-imenu-tree-assoc) - (python-indent-context, python-indent-dedent-line) - (python-indent-line-function) - (python-indent-post-self-insert-function) - (python-indent-toggle-levels) - (python-info-assignment-continuation-line-p) - (python-info-beginning-of-backlash) - (python-info-block-continuation-line-p) - (python-info-closing-block-message) - (python-info-line-ends-backslash-p) - (python-info-looking-at-beginning-of-defun) - (python-info-ppss-context, python-info-ppss-context-type) - (python-nav-list-defun-positions, python-nav-read-defun) - (python-nav-sentence-end, python-nav-sentence-start) - (python-pdbtrack-comint-output-filter-function) - (python-pdbtrack-set-tracked-buffer) - (python-shell-calculate-exec-path) - (python-shell-calculate-process-environment) - (python-shell-completion--do-completion-at-point) - (python-shell-completion--get-completions) - (python-shell-completion-complete-at-point) - (python-shell-completion-complete-or-indent) - (python-shell-get-or-create-process) - (python-shell-get-process-name) - (python-shell-internal-get-or-create-process) - (python-shell-internal-get-process-name) - (python-shell-internal-send-string, python-shell-make-comint) - (python-shell-parse-command, python-shell-send-setup-code) - (python-skeleton-add-menu-items) - (python-util-clone-local-variables, python-util-position) - (run-python-internal, python-indentation-levels) - (python-nav-beginning-of-defun) - (python-completion-complete-at-point): New functions. - (run-python): Change arguments. New API requirements. - -2012-06-15 Stefan Monnier - - * emacs-lisp/cl-lib.el (cl--defsubst-expand): Autoload inliner - (bug#11649). - - * emacs-lisp/macroexp.el (macroexp--compiler-macro): New function. - (macroexp--expand-all): Use it. - - * emacs-lisp/cl-macs.el (cl--transform-function-property): Remove. - (cl-define-setf-expander, cl-deftype, cl-define-compiler-macro): - Use `cl-function' instead. - -2012-06-14 Juanma Barranquero - - * makefile.w32-in (COMPILE_FIRST): Remove subr.el. - Suggested by Stefan Monnier while discussing bug#11657. - -2012-06-14 Sam Steingold - - * files.el (abort-if-file-too-large): Use `file-size-human-readable'. - -2012-06-14 Andreas Schwab - - * play/doctor.el (doctor-doc): Remove parameter and use - doctor-sent instead of sent. - (doctor-read-print): Use doctor-sent instead of sent. (Bug#11708) - -2012-06-13 Stefan Monnier - - * files.el: Require cl-lib. - (file-name-non-special): Replace case -> cl-case. - - * emacs-lisp/cl-macs.el (cl-defstruct): Don't add print-func. - - * emacs-lisp/edebug.el (edebug-read-function): Remove old incorrect - mapping from #' to function*. - -2012-06-13 Chong Yidong - - * mouse.el (mouse-drag-track): Do not set the mark if the user - releases the mouse without selecting anything (Bug#11588). - -2012-06-13 Stefan Monnier - - * textmodes/tex-mode.el (latex-indent): Recognize tex-verbatim at EOB - as well (bug#11646). - - * loadup.el: Count byte-code functions as well. - - * emacs-lisp/byte-opt.el (featurep): Move compiler-macro... - * emacs-lisp/bytecomp.el (featurep): ...here (bug#11692). - - * emacs-lisp/autoload.el (make-autoload): Accept nil doc-string-elt - (bug#11649). Add cl-defun and cl-defmacro. - -2012-06-13 Drew Adams - - * help-mode.el (help-bookmark-make-record, help-bookmark-jump): - Fix last change. - -2012-06-13 Michael Albinus - - * net/dbus.el (dbus-call-method): Use timeout for `read-event'. - Otherwise, it blocks in batch mode. - -2012-06-13 Juanma Barranquero - - * help-mode.el (bookmark-make-record-default): Declare. - -2012-06-13 Chong Yidong - - * emacs-lisp/package.el (list-packages): Compute a list of - packages that are newly-available since the last list-packages - invocation. - (package-menu--new-package-list): New var. - (package-menu--generate, package-menu--print-info) - (package-menu--status-predicate, package-menu-mark-install): - Handle new status label "new". - -2012-06-12 Stefan Monnier - - * emacs-lisp/cl-macs.el (cl-remf): Fix error in recent - conversion to backquotes. - -2012-06-12 Chong Yidong - - * emacs-lisp/edebug.el (edebug-inhibit-emacs-lisp-mode-bindings): - Rename from gud-inhibit-global-bindings. - - * emacs-lisp/eieio.el (eieio-pre-method-execution-hooks): Doc fix. - - * nxml/nxml-glyph.el (nxml-glyph-set-functions): Rename abnormal - hook from nxml-glyph-set-hook. - - * progmodes/cwarn.el (cwarn-mode): Remove redundant variable - declaration. - - * progmodes/pascal.el (pascal-toggle-completions): Doc fix. - - * textmodes/bibtex.el (bibtex-string-file-path, bibtex-file-path): - Convert to defcustom. - -2012-06-12 Drew Adams - - * help-mode.el (help-bookmark-make-record, help-bookmark-jump): - New functions. - (help-mode): Use them. - -2012-06-11 Glenn Morris - - * progmodes/fortran.el (fortran-font-lock-keywords-3): - Use preprocessor face for directives. - (fortran-directive-re): Doc fix. - -2012-06-11 Stefan Monnier - - * emacs-lisp/cl-macs.el (cl-parse-loop-clause): Fix error in recent - conversion to backquotes (bug#11652). - - Fix compiler-expansion of CL's cXXr functions (bug#11673). - * emacs-lisp/cl-lib.el (cl--defalias): New function. - (cl-values, cl-values-list, cl-copy-seq, cl-svref, cl-first) - (cl-second, cl-rest, cl-endp, cl-third, cl-fourth): Use it. - (cl-plusp, cl-minusp, cl-fifth, cl-sixth, cl-seventh, cl-eighth) - (cl-ninth, cl-tenth): Mark them as inlinable. - (cl-caaar, cl-caadr, cl-cadar, cl-caddr, cl-cdaar, cl-cdadr) - (cl-cddar, cl-cdddr, cl-caaaar, cl-caaadr, cl-caadar, cl-caaddr) - (cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr, cl-cdaaar, cl-cdaadr) - (cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr, cl-cdddar, cl-cddddr): - Add a compiler-macro declaration to use cl--compiler-macro-cXXr. - (cl-list*, cl-adjoin): Don't put an autoload manually. - * emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin) - (cl--compiler-macro-list*): Add autoload cookie. - (cl--compiler-macro-cXXr): New function. - - * help-fns.el (help-fns--compiler-macro): New function extracted from - describe-function-1; follow aliases and use `compiler-macro' property. - (describe-function-1): Use it. - -2012-06-11 Chong Yidong - - * startup.el (fancy-splash-head): Use splash.svg even if librsvg - is uninstalled, if imagemagick is installed. - -2012-06-11 Stefan Monnier - - * emacs-lisp/cl-lib.el: Use lexical-binding. - (cl-map-extents, cl-maclisp-member): Remove. - (cl--set-elt, cl--set-nthcdr, cl--set-buffer-substring) - (cl--set-substring, cl--block-wrapper, cl--block-throw) - (cl--compiling-file, cl--mapcar-many, cl--do-subst): Use "cl--" prefix. - * emacs-lisp/cl-extra.el: Use lexical-binding. - (cl--mapcar-many, cl--map-keymap-recursively, cl--map-intervals) - (cl--map-overlays, cl--set-frame-visible-p, cl--progv-save) - (cl--progv-before, cl--progv-after, cl--finite-do, cl--set-getf) - (cl--do-remf, cl--do-prettyprint): Use "cl--" prefix. - * emacs-lisp/cl-seq.el: Use lexical-binding. - (cl--parsing-keywords, cl--check-key, cl--check-test-nokey) - (cl--check-test, cl--check-match): Use "cl--" prefix and backquotes. - (cl--alist, cl--sublis-rec, cl--nsublis-rec, cl--tree-equal-rec): - * emacs-lisp/cl-macs.el (cl--lambda-list-keywords): Use "cl--" prefix. - * edmacro.el (edmacro-mismatch): Simplify to remove dependence on - CL's internals. - -2012-06-11 Michael Albinus - - Sync with Tramp 2.2.6-pre. - - * net/tramp-cache.el (tramp-dump-connection-properties): Let-bind - `print-length' and `print-level' to nil, in order to avoid - truncation. Reported by Christopher Schmidt - . - - * net/tramp-cmds.el (tramp-cleanup-connection): Delete also process. - - * net/tramp-compat.el (tramp-compat-condition-case-unless-debug): - New defmacro. - (tramp-compat-copy-directory): Add optional argument - COPY-CONTENTS. It is not handled yet. - - * net/tramp-ftp.el (tramp-disable-ange-ftp): Fix docstring. - (tramp-ftp-file-name-p): Simplify. - - * net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name): - * net/tramp-gw.el (tramp-gw-open-connection): Add hop to - connection vector. - - * net/tramp-sh.el (tramp-copy-size-limit): Fix docstring. - (tramp-methods): Do not use `tramp-password-end-of-line'. - (tramp-completion-function-alist-putty): Handle UNIX case. - (tramp-remote-path): Add "/opt/bin", "/opt/sbin" and "/opt/local/bin". - (tramp-do-file-attributes-with-stat) - (tramp-do-directory-files-and-attributes-with-stat) Return uid and - gid as real numbers. They could run out of integer range on cygwin. - (tramp-do-copy-or-rename-file-out-of-band): Better trace format. - (tramp-sh-handle-expand-file-name): Handle hops. - (tramp-open-connection-setup-interactive-shell): - Use `tramp-cleanup'. Move check for busyboxes ... - (tramp-find-shell): ... here. Simplify implementation. - Set "remote-shell" property also for alternative shells. - (tramp-remote-coding-commands): Check "test -c /dev/stdout". - If failing, a regular file would be written otherwise. - Reported by Dmitry Kurochkin . - (tramp-find-inline-encoding): Cache the coding commands in the - process cache. Apply test command on the remote side, if defined. - (tramp-find-inline-compress): Cache the compress commands in the - process cache. - (tramp-compute-multi-hops): Save `tramp-default-proxies-alist' - when requested. Handle hops. - (tramp-current-connection): New defvar. - (tramp-maybe-open-connection): Use `tramp-cleanup'. - Throw `suppress', if there was a failed connection shortly before. - Handle user interrupt. (Bug#10187) - (tramp-get-inline-compress, tramp-get-inline-coding): - Read connection properties from the process cache. - - * net/tramp-smb.el (tramp-smb-server-version) - (tramp-smb-wrong-passwd-regexp, tramp-smb-actions-with-tar): - New defconsts. - (tramp-smb-prompt): Extend for powershell prompt. - (tramp-smb-file-name-handler-alist): Add handlers for - `process-file', `shell-command' and `start-file-process'. - (tramp-smb-winexe-program, tramp-smb-winexe-shell-command) - (tramp-smb-winexe-shell-command-switch): New defcustoms. - (tramp-smb-file-name-p): Simplify. - (tramp-smb-action-with-tar, tramp-smb-handle-process-file) - (tramp-smb-kill-winexe-function, tramp-smb-call-winexe) - (tramp-smb-shell-quote-argument): New defuns. - (tramp-smb-handle-copy-directory): Add COPY-CONTENTS argument. - Implement using "tar". By this, time-stamps are preserved. - (tramp-smb-handle-copy-file): Handle also the case of directories. - (tramp-smb-do-file-attributes-with-stat) - (tramp-smb-get-file-entries, tramp-smb-get-cifs-capabilities): - Use `tramp-get-connection-buffer'). - (tramp-smb-handle-rename-file): Use "rename", when source and - target are on the same share. - (tramp-smb-maybe-open-connection): Handle wrong passwords. - Use `tramp-smb-server-version'. - (tramp-smb-wait-for-output): Remove prompt. - - * net/tramp.el (top): Require 'cl. - (tramp-methods, tramp-rsh-end-of-line): - Remove `tramp-password-end-of-line' from docstring. - (tramp-save-ad-hoc-proxies): New defcustom. - (tramp-completion-function-alist): Adapt docstring. - (tramp-default-password-end-of-line): Remove defcustom. - (tramp-shell-prompt-pattern): Allow "[]" style prompts. (Bug#11065) - (tramp-user-regexp, tramp-file-name-regexp-unified) - (tramp-file-name-regexp-url): Extend regexp by hop separator. - (tramp-postfix-hop-format, tramp-postfix-hop-regexp) - (tramp-remote-file-name-spec-regexp): New defconst. - (tramp-file-name-structure): Extend structure for hops. - (tramp-get-method-parameter): Move up. - (tramp-file-name-p, tramp-dissect-file-name) - (with-parsed-tramp-file-name): Handle hops. - (tramp-file-name-hop): New defun. - (tramp-make-tramp-file-name): New optional arg HOP. - (tramp-message-show-progress-reporter-message): New defvar. - (tramp-with-progress-reporter): Use it. We cannot use - `tramp-message-show-message' here, because this suppresses also - error buffers. - (tramp-error-with-buffer): Suppress buffer view, if - `tramp-message-show-message' is nil. - Use `tramp-get-connection-buffer'. - (tramp-cleanup): New defun. - (tramp-rfn-eshadow-update-overlay): Let-bind `non-essential' to `t'. - (tramp-file-name-handler): If `debug-on-error' is set, propagate - an error unchanged. - (tramp-completion-handle-file-name-all-completions): Handle hops. - Fix an error when called from ido. - (tramp-completion-dissect-file-name): Use better local variable - name. Add hop to the vector. - (tramp-handle-insert-file-contents): Use progress-reporter for the - whole scenario. - (tramp-action-password): Let-bind `enable-recursive-minibuffers' - to `t'. - (tramp-check-for-regexp): Simplify search. - (tramp-enter-password): Remove it. Move implementation ... - (tramp-action-password): ... here. - (tramp-mode-string-to-int, tramp-local-host-p) - (tramp-make-tramp-temp-file, tramp-read-passwd) - (tramp-clear-passwd, tramp-time-less-p, tramp-time-diff): - Set tramp-autoload cookie. - - * net/trampver.el: Update release number. - -2012-06-11 Thierry Volpiatto - Michael Albinus - - * net/tramp.el (tramp-set-completion-function): Fix docstring. - (tramp-parse-group, tramp-parse-file) - (tramp-parse-shostkeys-sknownhosts): New defuns. - (tramp-parse-rhosts, tramp-parse-rhosts-group, tramp-parse-shosts) - (tramp-parse-shosts-group, tramp-parse-sconfig) - (tramp-parse-sconfig-group, tramp-parse-shostkeys) - (tramp-parse-sknownhosts, tramp-parse-hosts) - (tramp-parse-hosts-group, tramp-parse-passwd, tramp-parse-netrc): - Use them. - (tramp-parse-passwd-group, tramp-parse-netrc-group) - (tramp-parse-putty-group): Don't narrow. - (tramp-parse-putty): Make a loop. - (tramp-file-name-handler): Catch the `suppress' signal. - -2012-06-11 Chong Yidong - - * image.el (imagemagick-register-types): Put the ImageMagick entry - at the end of image-type-file-name-regexps. - -2012-06-11 Johan Bockgård - - * emacs-lisp/pcase.el (pcase-UPAT, pcase-QPAT): New edebug specs. - (pcase, pcase-let*, pcase-dolist): Use them. - -2012-06-11 Stefan Monnier - - * emacs-lisp/pcase.el (pcase--let*): New function. - (pcase-let*): Use it. Use pcase--memoize to avoid repeated expansions. - (pcase--expand): Use macroexp-let². - -2012-06-10 Stefan Monnier - - * emacs-lisp/timer.el, emacs-lisp/syntax.el, emacs-lisp/smie.el: - * emacs-lisp/ewoc.el, emacs-lisp/cconv.el, emacs-lisp/bytecomp.el: - * emacs-lisp/byte-opt.el, emacs-lisp/autoload.el: Convert to cl-lib. - * emacs-lisp/easymenu.el, emacs-lisp/easy-mmode.el: - * emacs-lisp/derived.el: Use pcase instead of `cl'. - * emacs-lisp/cl-lib.el: Get rid of special cl-macs auto load. - -2012-06-10 Glenn Morris - - * mail/rmail.el (rmail-yank-current-message): Leave point at - correct position. (Bug#11660) - -2012-06-10 Chong Yidong - - * allout-widgets.el: Fix code header. - -2012-06-10 Chong Yidong - - * cus-edit.el (customize-changed-options-previous-release): - Bump to 24.1. - -2012-06-09 Andreas Schwab - - * Makefile.in (BIG_STACK_DEPTH): Enlarge to 2200. - -2012-06-09 Chong Yidong - - * ebuff-menu.el (electric-buffer-list): Preserve header line. - -2012-06-09 Martin Rudalics - - * window.el (special-display-popup-frame): Don't use - window--display-buffer (Bug#11651). - -2012-06-09 Eli Zaretskii - - Fix parallel builds: make sure loaddefs.el is not being written - while Lisp files are compiled. - (compile): Don't depend on 'mh-autoloads'. - (compile-CMD, compile-SH): Depend on 'autoloads'. - (bootstrap): Don't depend on 'autoloads' and 'mh-autoloads'. - - * makefile.w32-in (BIG_STACK_DEPTH): Enlarge to 2200. (Bug#11649) - -2012-06-09 Chong Yidong - - * face-remap.el (face-remap-add-relative, face-remap-set-base) - (buffer-face-set, buffer-face-toggle, buffer-face-mode-invoke): - Doc fixes (Bug#11225). - -2012-06-09 Stefan Monnier - - * emacs-lisp/macroexp.el (macroexp--expand-all): Only autoload - a function if there's a clear indication that it has a compiler-macro. - * emacs-lisp/byte-run.el (defun-declarations-alist, defmacro, defun) - (macro-declarations-alist): Add arglist to declaration functions. - (defun-declarations-alist): Add `obsolete' and `compiler-macro'. - * emacs-lisp/cl-seq.el (cl-member, cl-assoc): - * emacs-lisp/cl-lib.el (cl-list*, cl-adjoin): - * emacs-lisp/cl-extra.el (cl-get): Use the new `declare' statement. - Also add autoload to find the compiler macro. - * emacs-lisp/cl-macs.el (eql) [compiler-macro]: Remove. - (cl--compiler-macro-member, cl--compiler-macro-assoc) - (cl--compiler-macro-adjoin, cl--compiler-macro-list*) - (cl--compiler-macro-get): New functions, replacing calls to - cl-define-compiler-macro. - (cl-typep) [compiler-macro]: Use macroexp-let². - -2012-06-08 Nick Dokos (tiny change) - - * calendar/icalendar.el (icalendar--parse-vtimezone): Import TZID - string properly, fixes Bug#11473. - -2012-06-08 Chong Yidong - - * faces.el (set-face-attribute): Doc fix. - (modify-face): Don't use :bold and :italic. - (error, warning, success): Tweak definitions. - - * cus-edit.el (custom-modified, custom-invalid, custom-rogue) - (custom-modified, custom-set, custom-changed, custom-themed) - (custom-saved, custom-button, custom-button-mouse) - (custom-button-pressed, custom-state, custom-comment-tag) - (custom-variable-tag, custom-group-tag-1, custom-group-tag) - (custom-group-subtitle): Use new-style face specs. - (custom-invalid-face, custom-rogue-face, custom-modified-face) - (custom-set-face, custom-changed-face, custom-saved-face) - (custom-button-face, custom-button-pressed-face) - (custom-documentation-face, custom-state-face) - (custom-comment-face, custom-comment-tag-face) - (custom-variable-tag-face, custom-variable-button-face) - (custom-face-tag-face, custom-group-tag-face-1) - (custom-group-tag-face): Remove obsolete face alias. - - * epa.el (epa-validity-high, epa-validity-medium) - (epa-validity-low, epa-mark, epa-field-name, epa-string) - (epa-field-name, epa-field-body): - * font-lock.el (font-lock-comment-face, font-lock-string-face) - (font-lock-keyword-face, font-lock-builtin-face) - (font-lock-function-name-face, font-lock-variable-name-face) - (font-lock-type-face, font-lock-constant-face): - * ido.el (ido-first-match, ido-only-match, ido-subdir) - (ido-virtual, ido-indicator, ido-incomplete-regexp): - * speedbar.el (speedbar-button-face, speedbar-file-face) - (speedbar-directory-face, speedbar-tag-face) - (speedbar-selected-face, speedbar-highlight-face) - (speedbar-separator-face): - * whitespace.el (whitespace-newline, whitespace-space) - (whitespace-hspace, whitespace-tab, whitespace-trailing) - (whitespace-line, whitespace-space-before-tab) - (whitespace-space-after-tab, whitespace-indentation) - (whitespace-empty): - * emulation/cua-base.el (cua-global-mark): - * eshell/em-prompt.el (eshell-prompt): - * net/newst-plainview.el (newsticker-new-item-face) - (newsticker-old-item-face, newsticker-immortal-item-face) - (newsticker-obsolete-item-face, newsticker-date-face) - (newsticker-statistics-face, newsticker-default-face): - * net/newst-reader.el (newsticker-feed-face) - (newsticker-extra-face, newsticker-enclosure-face): - * net/newst-treeview.el (newsticker-treeview-face) - (newsticker-treeview-new-face, newsticker-treeview-old-face) - (newsticker-treeview-immortal-face) - (newsticker-treeview-obsolete-face) - (newsticker-treeview-selection-face): - * net/rcirc.el (rcirc-my-nick, rcirc-other-nick) - (rcirc-bright-nick, rcirc-server, rcirc-timestamp) - (rcirc-nick-in-message, rcirc-nick-in-message-full-line) - (rcirc-prompt, rcirc-track-keyword, rcirc-url, rcirc-keyword): - * nxml/nxml-outln.el (nxml-heading, nxml-outline-indicator) - (nxml-outline-active-indicator, nxml-outline-ellipsis): - * play/mpuz.el (mpuz-unsolved, mpuz-solved, mpuz-trivial) - (mpuz-text): - * progmodes/vera-mode.el (vera-font-lock-number) - (vera-font-lock-function, vera-font-lock-interface): - * textmodes/table.el (table-cell): Use new-style face specs, and - don't use the old :bold and :italic attributes. - - * progmodes/ebrowse.el (ebrowse-tree-mark, ebrowse-root-class) - (ebrowse-member-attribute, ebrowse-default, ebrowse-file-name) - (ebrowse-member-class, ebrowse-progress): Likewise. - (ebrowse-tree-mark-face, ebrowse-root-class-face) - (ebrowse-file-name-face, ebrowse-default-face) - (ebrowse-member-attribute-face, ebrowse-member-class-face) - (ebrowse-progress-face): Remove obsolete faces. - - * progmodes/flymake.el (flymake-errline, flymake-warnline): - Inherit from error and warning faces respectively. - - * textmodes/flyspell.el (flyspell-incorrect, flyspell-duplicate): - Likewise. - (flyspell-incorrect-face, flyspell-duplicate-face): - Remove obsolete aliases. - -2012-06-08 Michael Albinus - - * net/tramp-compat.el (tramp-compat-temporary-file-directory): - Avoid infloop. - -2012-06-08 Stefan Monnier - - * startup.el (argv, argi): Make lexically scoped. - * emacs-lisp/float-sup.el (pi): Use internal-make-var-non-special. - * emacs-lisp/cl-macs.el: Use lexical-binding. - Rename cl-bind-* to cl--bind-*. - * files.el: Don't require `cl' since it doesn't use it. - * emacs-lisp/pcase.el, emacs-lisp/macroexp.el: Add coding cookie. - -2012-06-08 Juanma Barranquero - - * textmodes/texinfmt.el: Fix bug#11640 (reverts part of 2008-07-31T05:33:56Z!dann@ics.uci.edu). - (texinfo-format-printindex): Use `texinfo-sort-region' in all platforms, - instead of calling external sort utility. - (texinfo-sort-region, texinfo-sort-startkeyfun): Restore functions. - -2012-06-08 Eli Zaretskii - - * descr-text.el (describe-char): Mention how to insert the - character, if the current input method doesn't support it. - See the discussion in this thread for the details: - http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00533.html. - -2012-06-08 Sam Steingold - - * bindings.el (global-map): Bind XF86Forward to next-buffer and - XF86Back to previous-buffer. - (minibuffer-local-map): Bind them to next-history-element and - previous-history-element respectively. - * help-mode.el (help-mode-map): Bind them to help-go-forward and - help-go-back respectively. - * info.el (Info-mode-map): Bind them to Info-history-forward and - Info-history-back respectively. - These are the keys next to Up on the ThinkPad keyboard. - -2012-06-08 Stefan Monnier - - Get rid of cl-lexical-let, keeping only lexical-let for compatibility. - * emacs-lisp/cl-macs.el: Provide itself. - (cl--labels-convert-cache): New var. - (cl--labels-convert): New function. - (cl-flet, cl-labels): New implementation with new semantics, relying on - lexical-binding. - * emacs-lisp/cl.el: Mark compatibility aliases as obsolete. - (cl-closure-vars, cl--function-convert-cache) - (cl--function-convert): Move from cl-macs.el. - (lexical-let, lexical-let*, flet, labels): Move from cl-macs.el and - rename by removing the "cl-" prefix. - * emacs-lisp/macroexp.el (macroexp-unprogn): New function. - -2012-06-07 Stefan Monnier - - * emacs-lisp/cl.el (cl-macroexpand, cl-macro-environment) - (cl-macroexpand-all, cl-not-hash-table, cl-builtin-gethash) - (cl-builtin-remhash, cl-builtin-clrhash, cl-builtin-maphash) - (cl-map-keymap, cl-copy-tree, cl-gethash, cl-puthash, cl-remhash) - (cl-clrhash, cl-maphash, cl-make-hash-table, cl-hash-table-p) - (cl-hash-table-count): Add old compatibility aliases. - - * emacs-lisp/cl-macs.el (cl-macro-environment): Remove var. - Use macroexpand-all-environment instead. - (cl--old-macroexpand): New var. - (cl--sm-macroexpand): New function. - (cl-symbol-macrolet): Use it during macro expansion. - (cl--function-convert-cache): New var. - (cl--function-convert): New function, extracted from - cl-macroexpand-all. - (cl-lexical-let): Use it. - - * emacs-lisp/cl-lib.el (cl-macro-environment): Remove decl. - (cl-macroexpand): Move to cl-macs.el and rename to cl--sm-macroexpand. - (cl-member): Remove old alias. - - * emacs-lisp/cl-extra.el (cl-map-keymap, cl-copy-tree) - (cl-not-hash-table, cl-builtin-gethash, cl-builtin-remhash) - (cl-builtin-clrhash, cl-builtin-maphash, cl-gethash, cl-puthash) - (cl-remhash, cl-clrhash, cl-maphash, cl-make-hash-table) - (cl-hash-table-p, cl-hash-table-count): Move to cl.el. - (cl-macroexpand-cmacs): Remove var. - (cl-macroexpand-all, cl-macroexpand-body): Remove funs. - Use macroexpand-all instead. - -2012-06-07 Stefan Monnier - - * emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*, macroexp-if) - (macroexp-let², macroexp--const-symbol-p, macroexp-const-p) - (macroexp-copyable-p): New functions and macros. - * emacs-lisp/edebug.el (edebug-unwrap): - * emacs-lisp/disass.el (disassemble-internal): Use macroexp-progn. - * emacs-lisp/pcase.el: Use macroexp-let*, macroexp-if, ... - (pcase--let*): Remove. - * emacs-lisp/bytecomp.el (byte-compile-const-symbol-p) - (byte-compile-constp): Remove. Use macroexp--const-symbol-p and - macroexp-const-p instead. - * emacs-lisp/byte-opt.el: Use macroexp-const-p and macroexp-progn. - - * emacs-lisp/cl-macs.el: Clean up the name space by using "cl--" - instead of "cl-" for internal definitions. Use macroexp-const-p. - (cl-old-bc-file-form): Remove var. - (cl-const-exprs-p): Remove fun. - (cl-labels, cl-macrolet): Use backquote. - (cl-lexical-let): Use cl-symbol-macrolet. Don't use cl-defun-expander. - (cl-defun-expander, cl-byte-compile-compiler-macro): Remove fun. - (cl-define-setf-expander): Rename from cl-define-setf-method. - * emacs-lisp/cl.el: Adjust alias for define-setf-method. - - * international/mule-cmds.el: Don't require CL. - (view-hello-file): Don't use `letf'. - -2012-06-07 Stefan Monnier - - * tmm.el (tmm-prompt): Use string-prefix-p. - (tmm-completion-delete-prompt): Don't affect current-buffer outside. - (tmm-add-prompt): Use minibuffer-completion-help. - (tmm-delete-map): Remove. - - * subr.el (kbd): Make it its own function. - -2012-06-07 Stefan Merten - - * textmodes/rst.el: Use `eval-when-compile' for requiring `cl.el'. - Silence compiler warnings. Fix versions. - (rst-position-if, rst-position, rst-some, rst-signum): New functions. - (rst-shift-region, rst-adornment-level, rst-compute-tabs) - (rst-indent-line, rst-shift-region, rst-forward-line): Use them. - (rst-package-emacs-version-alist): Correct Emacs version to - represent major merge with upstream. - (rst-transition, rst-adornment, rst-compile-toolsets): Fix versions. - -2012-06-06 Glenn Morris - - * mail/emacsbug.el (report-emacs-bug): Add relevant EMACS env-vars. - Only print environment variables if set. - -2012-06-06 Stefan Monnier - - * emacs-lisp/macroexp.el: Don't require CL since we don't use it. - (macroexp--cons): Rename from maybe-cons. - (macroexp--accumulate): Rename from macroexp-accumulate. - (macroexp--all-forms): Rename from macroexpand-all-forms. - (macroexp--all-clauses): Rename from macroexpand-all-clauses. - (macroexp--expand-all): Rename from macroexpand-all-1. - -2012-06-06 Sam Steingold - - * calendar/calendar.el (calendar-in-read-only-buffer): - Call `special-mode' to enable the standard read-only keybindings. - -2012-06-06 Stefan Monnier - - * emacs-lisp/macroexp.el (macroexpand-all-1): Don't spam the output - with "loading" messages (bug#11635). - -2012-06-06 Michael Albinus - - * files.el (enable-remote-dir-locals): New option. - (hack-dir-local-variables): Use it. (Bug#1933, Bug#6731) - - * net/tramp-compat.el (tramp-compat-temporary-file-directory): - Ensure, that the temp directory is local. - - * net/tramp-sh.el (tramp-sh-handle-write-region): Let-bind - `temporary-file-directory'. - - * progmodes/python.el (python-send-region): Ensure, that the - temporary file is created also in the remote case. - -2012-06-06 Glenn Morris - - * vc/vc-rcs.el (vc-rcs-rcs2log-program): New. - (vc-rcs-update-changelog): Use it. - - * emacs-lisp/authors.el (authors-fixed-entries): Remove vcdiff. - - * vc/vc-sccs.el (vc-sccs-write-revision): New function. - (vc-sccs-workfile-unchanged-p): Use vc-sccs-write-revision. - (vc-sccs-diff): Replace use of the external vcdiff script. - -2012-06-05 Glenn Morris - - * ledit.el: Move to obsolete/. - -2012-06-05 Sam Steingold - - * calendar/calendar.el (calendar-exit): Reinstate the 2012-03-28 - patch (Bug#11140). - -2012-06-05 Stefan Monnier - - * emacs-lisp/cust-print.el: Move to obsolete. - - * emacs-lisp/macroexp.el (macroexpand-all-1): Tolerate errors during - compiler-macro expansion. - - Add native compiler-macro support. - * emacs-lisp/macroexp.el (macroexpand-all-1): - Support compiler-macros directly. Properly follow aliases and apply - the compiler macros more thoroughly. - * emacs-lisp/cl.el: Don't copy compiler-macro properties any more since - macroexpand now properly follows aliases. - * emacs-lisp/cl-macs.el (toplevel, cl-define-compiler-macro) - (cl-compiler-macroexpand): Use new prop. - * emacs-lisp/byte-opt.el (featurep): Optimize earlier. - - * emacs-lisp/cl-lib.el (custom-print-functions): Add alias. - -2012-06-05 Martin Rudalics - - * window.el (get-lru-window, get-mru-window, get-largest-window): - New argument NOT-SELECTED to avoid picking the selected window. - (window--display-buffer-1, window--display-buffer-2): Replace by - new function window--display-buffer - (display-buffer-same-window, display-buffer-reuse-window) - (display-buffer-pop-up-frame, display-buffer-pop-up-window): - Use window--display-buffer. - (display-buffer-use-some-window): Remove temporary dedication - hack by calling get-lru-window and get-largest-window with - NOT-SELECTED argument non-nil. Call window--display-buffer. - -2012-06-05 Glenn Morris - - * vc/vc-sccs.el (vc-sccs-workfile-unchanged-p): - Replace external vcdiff script. - -2012-06-04 Stefan Monnier - - * emacs-lisp/cl-lib.el (cl-values, cl-values-list): Fix up last change. - -2012-06-04 Chong Yidong - - * image.el (imagemagick-types-inhibit): Revert last change. - Add INFO and M. - (imagemagick-enabled-types): Remove CIN and EPS*. - -2012-06-04 Stefan Monnier - - * emacs-lisp/cl-lib.el: Rename from cl.el. - * emacs-lisp/cl.el: New compatibility file. - * emacs-lisp/cl-lib.el, emacs-lisp/cl-seq.el, emacs-lisp/cl-macs.el: - * emacs-lisp/cl-extra.el: Rename all top-level functions and variables - to obey the "cl-" prefix. - * emacs-lisp/macroexp.el (macroexpand-all-1): Adjust to new name. - -2012-06-03 Glenn Morris - - * emacs-lisp/authors.el (authors-aliases): Addition. - - * cus-start.el (tool-bar-style, tool-bar-max-label-size): - Fix :version. - -2012-06-03 Stefan Merten - - * textmodes/rst.el: Add comments. - (rst-transition, rst-adornment): New faces. - (rst-adornment-faces-alist): Make default safe to reevaluate. - Fixes - http://sourceforge.net/tracker/?func=detail&atid=422030&aid=3479603&group_id=38414. - Improve customization tags. - (rst-define-level-faces): Clarify meaning. - -2012-06-03 Chong Yidong - - * progmodes/compile.el (compilation-mode-line-fail) - (compilation-mode-line-run, compilation-mode-line-exit): - New faces. - (compilation-start, compilation-handle-exit): Use them (Bug#11032). - -2012-06-03 Jack Duthen (tiny change) - - * progmodes/which-func.el (which-func-update-ediff-windows): - New function. Use it in ediff-select-hook (Bug#11478). - -2012-06-03 Chong Yidong - - * bindings.el: Remove explicit help text from format-mode-line. - It is now supplied by mode-line-default-help-echo. - (mode-line-front-space, mode-line-end-spaces) - (mode-line-misc-info): New variables. - (mode-line-modes, mode-line-position): Move the default value to - the variable definition. - (mode-line-default-help-echo): New defcustom. - (mode-line-mule-info-help-echo, mode-line-read-only-help-echo) - (mode-line-modified-help-echo): New functions. - (mode-line-mule-info, mode-line-modified): Use them. - (mode-line-eol-desc, propertized-buffer-identification): - Consistency fixes for help text. - (mode-line-coding-system-map): Allow using mouse-3 to invoke - set-buffer-file-coding-system (Bug#289). - (mode-line-mule-info-help-echo): Update help text. - -2012-06-02 Stefan Monnier - - * simple.el (execute-extended-command): Set real-this-command - (bug#11506). - -2012-06-02 Chong Yidong - - Remove incorrect uses of "modeline" in comments, docstrings, and - function/variable names (Bug#10329). - - * cus-edit.el (mode-line): - * dframe.el (dframe-mouse-hscroll): - * emacs-lisp/re-builder.el: - * emacs-lisp/easy-mmode.el (define-minor-mode): - * frame.el (set-frame-name): - * help.el (lookup-minor-mode-from-indicator): - * net/rcirc.el (rcirc-activity-string, rcirc-short-buffer-name): - * progmodes/cc-cmds.el (c-toggle-auto-newline) - (c-toggle-hungry-state): - * progmodes/antlr-mode.el (antlr-language-alist): - * progmodes/idlw-shell.el (idlwave-shell-electric-stop-line-face): - * progmodes/vhdl-mode.el (vhdl-mode): - * progmodes/which-func.el (which-func, which-func-cleanup-function): - * term/ns-win.el (ns-face-at-pos): - * term/sup-mouse.el (sup-mouse-report): - * textmodes/flyspell.el (flyspell-mode-line-string): - * textmodes/ispell.el (ispell-highlight-face): - * textmodes/reftex-global.el: - * vc/vc-arch.el (vc-arch-mode-line-string): - * vc/vc-cvs.el (vc-cvs-mode-line-string): - * vc/vc-git.el (vc-git-mode-line-string): - * vc/vc-hooks.el (vc-display-status) - (vc-default-mode-line-string): - * vc/vc-mtn.el (vc-mtn-mode-line-string): Doc fixes. - - * ansi-color.el (ansi-color-faces-vector): Change default faces. - - * dired.el (dired-sort-set-mode-line): Rename from - dired-sort-set-modeline. All callers changed. - - * eshell/esh-mode.el (eshell-status-in-mode-line): Rename from - eshell-status-in-modeline. - - * foldout.el (foldout-mode-line-string): Rename from - foldout-modeline-string. All callers changed. - (foldout-update-mode-line): Rename from foldout-update-modeline. - - * subr.el (redraw-modeline): Make into obsolete alias. - - * calendar/timeclock.el (timeclock-mode-line-display): Rename from - timeclock-modeline-display. Make old name an alias. - (timeclock-update-mode-line): Likewise. All callers changed. - (timeclock-mode-line-display): No need to check before using - add-hook. - (timeclock-relative, timeclock-day-over-hook) - (timeclock-use-elapsed, timeclock-mode-string) - (timeclock-mode-line-display): Doc fix, "modeline" -> "mode line". - - * emulation/crisp.el (crisp-mode-mode-line-string): Rename from - crisp-mode-modeline-string. - - * play/solitaire.el (solitaire-build-mode-line): Rename from - solitaire-build-modeline. All callers changed. - - * play/zone.el (zone-hiding-mode-line): Rename from - zone-hiding-modeline. All callers changed. - (zone): Remove unusued `modeline-hidden-level' property. - - * progmodes/xscheme.el (xscheme-mode-line-initialize): Rename from - xscheme-modeline-initialize. All callers changed. - - * strokes.el (strokes-lighter): Rename from - strokes-modeline-string. - - * textmodes/sgml-mode.el (html-face-tag-alist) - (html-tag-face-alist): Use mode-line face instead of obsolete - alias modeline. - -2012-06-02 Stefan Merten - - * textmodes/rst.el: Always require `cl'. - (rst-mode-map): Fix meaning of C-M-a / C-M-e. - -2012-06-02 Chong Yidong - - * image.el (imagemagick-enabled-types): Rename from - imagemagick-types-enable. Add many more types. - (imagemagick-types-inhibit): Change default to nil. - (imagemagick-filter-types): Caller changed. - -2012-06-01 Stefan Monnier - - * emacs-lisp/cl-macs.el: Use backquotes. - (cl-transform-function-property): Use eval-and-compile rather than - abusing `require'. - (defstruct): Use declare-function instead of with-no-warnings. - - * emacs-lisp/bytecomp.el: Fix last change (bug#11594). - (byte-compile-output-docform): Re-add the print-circle bindings. - (byte-compile-fix-header): Use #$ just because it's shorter. - (byte-compile-output-file-form): Remove defun/defmacro. - -2012-06-01 Martin Rudalics - - * simple.el (choose-completion): Remove now obsolete binding for - owindow. - -2012-06-01 Michael Albinus - - * net/tramp.el (tramp-check-for-regexp): Search from buffer end, - in order to avoid "Stack overflow in regexp matcher". - -2012-05-31 Glenn Morris - - * image.el: For clarity, call imagemagick-register-types at - top-level, rather than relying on a custom :initialize. - (imagemagick-types-enable): New option. (Bug#11557) - (imagemagick-filter-types): New function. (Bug#7406) - (imagemagick-register-types): Use imagemagick-filter-types. - If disabling support, remove elements altogether rather - than using an impossible regexp. - (imagemagick-types-inhibit): Give it the default init function. - -2012-05-31 Stefan Monnier - - * emacs-lisp/bytecomp.el (byte-compile-fix-header): - Handle arbitrary file name lengths (Bug#11585). - -2012-05-31 Martin Rudalics - - * desktop.el (desktop-read): Clear previous and next buffers for - all windows and bury *Messages* buffer (bug#11556). - -2012-05-31 Stefan Monnier - - Add `declare' for `defun'. Align `defmacro's with it. - * emacs-lisp/easy-mmode.el (define-minor-mode) - (define-globalized-minor-mode): Don't autoload the var definitions. - * emacs-lisp/byte-run.el: Use lexical-binding. - (defun-declarations-alist, macro-declarations-alist): New vars. - (defmacro, defun): Use them. - (make-obsolete, define-obsolete-function-alias) - (make-obsolete-variable, define-obsolete-variable-alias): - Use `declare'. - (macro-declaration-function): Mark obsolete. - * emacs-lisp/autoload.el: Use lexical-binding. - (make-autoload): Add `expansion' arg. Rely more on macro expansion. - -2012-05-30 Agustín Martín Domingo - - * textmodes/ispell.el (ispell-with-no-warnings): - Define as a macro. - (ispell-kill-ispell, ispell-change-dictionary): - Use `called-interactively-p' for Emacs instead of obsolete - `interactive-p'. - -2012-05-30 Stefan Monnier - - * emacs-lisp/byte-run.el (defmacro, defun): Move from C. - (macro-declaration-function): Move var from C code. - (macro-declaration-function): Define function with defalias. - * emacs-lisp/macroexp.el (macroexpand-all-1): - * emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): - * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle - defun/defmacro any more. - * emacs-lisp/bytecomp.el (byte-compile-arglist-signature): - Provide fallback for unknown arglist. - (byte-compile-arglist-warn): Change calling convention. - (byte-compile-output-file-form): Move print-vars binding. - (byte-compile-output-docform): Simplify accordingly. - (byte-compile-file-form-defun, byte-compile-file-form-defmacro) - (byte-compile-defmacro-declaration): Remove. - (byte-compile-file-form-defmumble): Generalize to defalias. - (byte-compile-output-as-comment): Return byte-positions. - Simplify callers accordingly. - (byte-compile-lambda): Use `assert'. - (byte-compile-defun, byte-compile-defmacro): Remove. - (byte-compile-file-form-defalias): - Use byte-compile-file-form-defmumble. - (byte-compile-defalias-warn): Remove. - -2012-05-29 Stefan Merten - - * textmodes/rst.el: Silence `checkdoc-ispell' errors where - possible. Fix authors. Improve comments. Improve loading of `cl'. - - (rst-mode-abbrev-table): Merge definition. - (rst-mode): Make sure `font-lock-defaults' is buffer local. - (rst-define-key, rst-deprecated-keys, rst-call-deprecated): Refactor. - -2012-05-29 Ulf Jasper - - * calendar/icalendar.el - (icalendar-export-region): Export UID properly. - -2012-05-29 Leo Liu - * calendar/icalendar.el (icalendar-import-format): - Add `icalendar-import-format-uid' (Bug#11525). - (icalendar-import-format-uid): New. - (icalendar--parse-summary-and-rest, icalendar--format-ical-event): - Export UID. - -2012-05-29 Stefan Monnier - - * emacs-lisp/pcase.el (pcase--expand): Accept different sets of vars in - different alternative patterns. - (pcase-codegen): Be more careful to preserve identity. - (pcase--u1): Don't forget to mark vars as used. - - * emacs-lisp/bytecomp.el (byte-compile-constp): Treat #'v as a constant. - (byte-compile-close-variables): Bind byte-compile--outbuffer here... - (byte-compile-from-buffer): ...rather than here. - - * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Don't re-preprocess - functions from byte-compile-function-environment. - -2012-05-29 Troels Nielsen - - * window.el (window-deletable-p): Avoid deleting the root window - of a frame with an active minibuffer. - -2012-05-29 Martin Rudalics - - * simple.el (choose-completion): Use quit-window (Bug#11567). - -2012-05-29 Chong Yidong - - * whitespace.el (whitespace-cleanup): Fix usage of - whitespace-empty-at-bob-regexp (Bug#11492). - -2012-05-29 Aaron S. Hawley - - * vc/vc.el (vc-revert, vc-rollback): Dont kill vc-diff buffer on - revert (Bug#11488). - -2012-05-29 Juri Linkov - - * isearch.el (isearch-mode-map): Bind `M-s _' to - `isearch-toggle-symbol'. Bind `M-s c' to - `isearch-toggle-case-fold'. - (search-map): Bind `M-s _' to `isearch-forward-symbol'. - (isearch-forward): Add `M-s _' to the docstring. - (isearch-forward-symbol, isearch-toggle-case-fold) - (isearch-symbol-regexp): New functions. (Bug#11381) - -2012-05-29 Juri Linkov - - * isearch.el (isearch-word): Add docstring. (Bug#11381) - (isearch-occur, isearch-search-and-update): If `isearch-word' is - a function, call it to get the regexp. - (isearch-message-prefix): If `isearch-word' holds a symbol, use its - property `isearch-message-prefix' instead of the string "word ". - (isearch-search-fun-default): For the case of `isearch-word', - return a lambda that calls re-search-forward/re-search-backward - with a regexp returned by `word-search-regexp' or by the function - in `isearch-word'. - -2012-05-29 Juri Linkov - - * isearch.el (isearch-search-fun-default): New function. - (isearch-search-fun): Move default part to the new function - `isearch-search-fun-default'. - (isearch-search-fun-function): Set the default value to - `isearch-search-fun-default'. (Bug#11381) - - * comint.el (comint-history-isearch-end): - Use `isearch-search-fun-default'. - (comint-history-isearch-search): Use `isearch-search-fun-default' - and remove spacial case for `isearch-word'. - (comint-history-isearch-wrap): Remove spacial case for - `isearch-word'. - - * hexl.el (hexl-isearch-search-function): - Use `isearch-search-fun-default'. - - * info.el (Info-isearch-search): Use `isearch-search-fun-default'. - Use `word-search-regexp' for `isearch-word'. - - * misearch.el (multi-isearch-search-fun): - Use `isearch-search-fun-default'. - - * simple.el (minibuffer-history-isearch-search): - Use `isearch-search-fun-default' and remove spacial case for - `isearch-word'. - (minibuffer-history-isearch-wrap): Remove spacial case for - `isearch-word'. - - * textmodes/reftex-global.el (reftex-isearch-wrap-function): - Remove spacial case for `isearch-word'. - (reftex-isearch-isearch-search): Use `isearch-search-fun-default'. - -2012-05-28 Agustín Martín Domingo - - Decrease XEmacs incompatibilities. - * textmodes/flyspell.el (flyspell-check-pre-word-p): - Use `string-match'. - (flyspell-delete-region-overlays): Use alternative definition for - XEmacs. - (flyspell-delete-all-overlays): Use `flyspell-delete-region-overlays'. - (flyspell-word): Use `process-kill-without-query' if XEmacs. - (flyspell-mode-on): Use `interactive-p' if XEmacs. - (flyspell-incorrect-face, flyspell-duplicate-face): Do not use - `define-obsolete-face-alias' under XEmacs, but old method. - - * textmodes/ispell.el (ispell-with-no-warnings): XEmacs alternative - `with-no-warnings' definition or Emacs alias. - (ispell-command-loop, ispell-message): Use `ispell-with-no-warnings'. - (ispell-word): Do not use `region-p' if XEmacs. - -2012-05-28 Agustín Martín Domingo - - * textmodes/ispell.el (ispell-find-aspell-dictionaries): - Check for `ispell-dictionary-base-alist' instead of full - `ispell-dictionary-alist'. - (ispell-init-process): Show spellchecker when starting new Ispell - process. - -2012-05-28 Stefan Monnier - - * progmodes/vhdl-mode.el: Sync with upstream 3.33.28. - http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html#release-notes-3.33 - -2012-05-27 Juanma Barranquero - - * version.el (motif-version-string, gtk-version-string) - (ns-version-string): Declare. - -2012-05-27 Juri Linkov - - * emacs-lisp/lisp-mode.el (eval-defun-2): Use `eval-sexp-add-defvars' - after the `eval-defun-1' specialcaseing - like in `edebug-eval-defun' (bug#10181). - - * emacs-lisp/edebug.el (edebug-eval-defun): Set `face-documentation' - like in `eval-defun-1'. - -2012-05-27 Eli Zaretskii - - * mail/sendmail.el (mail-yank-region): - Recognize rmail-yank-current-message in addition to insert-buffer. - Fixes mail-mode's "C-c C-r" that otherwise does nothing when invoked in - a *mail* buffer created through rmail-start-mail with sendmail as - mail-user-agent. - -2012-05-27 Chong Yidong - - * net/gnutls.el (gnutls-min-prime-bits): Improve docstring. - Default to 256 (Bug#11267). - - * help.el (describe-mode): Doc fix. - -2012-05-26 Glenn Morris - - * w32-fns.el (w32-init-info): Remove. - * paths.el (Info-default-directory-list): Add w32-init-info equivalent. - - * info.el (info-initialize): For self-contained NS builds, put the - included info/ directory at the front. (Bug#2791) - - * paths.el (Info-default-directory-list): Make it a defcustom, - mainly so that we can use custom-initialize-delay. - -2012-05-26 Stefan Monnier - - * subr.el (buffer-has-markers-at): Mark obsolete. - - * subr.el (lambda): Use declare. - - * emacs-lisp/lisp-mode.el (lambda): - * emacs-lisp/edebug.el (lambda): Move properties to its definition. - -2012-05-26 Aaron S. Hawley - - * thingatpt.el (forward-same-syntax): Handle no ARG case. (Bug#11560) - -2012-05-26 Glenn Morris - - * progmodes/cc-mode.el (auto-mode-alist): Fix typo. - -2012-05-25 Glenn Morris - - * paths.el: Remove no-byte-compile. - * loadup.el: No need to load paths.el uncompiled. - - * image.el (imagemagick-types-inhibit): Doc fix. - - * version.el: Remove no-byte-compile and associated formatting. - * loadup.el: No need to load version.el uncompiled. AFAICS, this - is ancient code from when there was an "inc-vers.el". - -2012-05-25 Stefan Monnier - - * progmodes/gdb-mi.el: Minor style changes. - (gdb-enable-debug, gdb-speedbar-auto-raise, gdb-many-windows): - Turn into minor modes. - (gdb--if-arrow): Rename from gdb-if-arrow, make it hygienic. - (gdb-mouse-until, gdb-mouse-jump): Adjust uses accordingly. - (gdb-shell): Remove unneeded let-binding. - (gdb-get-many-fields): Eliminate O(n²) behavior. - -2012-05-25 Eli Zaretskii - - * cus-start.el : Avoid warning on - platforms that don't link in fontset.c. - -2012-05-25 Juri Linkov - - Use the same diff color scheme as in modern VCSes (bug#10181). - - * vc/diff-mode.el (diff-header, diff-file-header): Remove "green" - to avoid confusion with `diff-added' that now uses green colors. - (diff-removed): Use shades of red. - (diff-added): Use shades of green. - (diff-changed): Leave just the yellow color. - (diff-use-changed-face): New variable. - (diff-font-lock-keywords): Use `diff-use-changed-face' to decide - how to highlight context diff changes. - (diff-refine-change): Use shades of yellow. - (diff-refine-removed): New face that uses shades of red. - (diff-refine-added): New face that uses shades of green. - (diff-refine-hunk): Use `diff-refine-change', `diff-refine-added', - `diff-refine-removed' in the call to `smerge-refine-subst' - depending on the value of `diff-use-changed-face'. - - * vc/smerge-mode.el (smerge-mine): Use shades of red. - (smerge-other): Use shades of green. - (smerge-base): Use shades of yellow. - (smerge-refined-change): Empty face. - (smerge-refined-removed): New face that uses shades of red. - (smerge-refined-added): New face that uses shades of green. - (smerge-refine-subst): Rename arg `props' to `props-c'. Add new - args `props-r' and `props-a', and use them. Doc fix. - (smerge-refine): Evaluate `smerge-use-changed-face' and depending - on its value use different faces `smerge-refined-change', - `smerge-refined-removed', `smerge-refined-added' in the call to - `smerge-refine-subst'. - - * vc/ediff-init.el (ediff-current-diff-A, ediff-fine-diff-A): - Add face condition `min-colors 88' with shades of red. - (ediff-current-diff-B, ediff-fine-diff-B): Add face condition - `min-colors 88' with shades of green. - (ediff-current-diff-C, ediff-fine-diff-C): Add face condition - `min-colors 88' with shades of yellow. - -2012-05-24 Glenn Morris - - * paths.el (prune-directory-list, remote-shell-program): Move to... - * files.el (prune-directory-list, remote-shell-program): ...here. - For the latter, delay initialization, prefer ssh, just search PATH. - - * paths.el (term-file-prefix): Move to faces.el (the only user). - * faces.el (term-file-prefix): Move here, make it a defcustom. - - * paths.el (news-directory, news-path, news-inews-program): - Move to gnus/nnspool.el. - - * paths.el (gnus-default-nntp-server): Remove (gnus.el defines it). - - * paths.el (rmail-file-name, rmail-spool-directory): Move from here... - * mail/rmail.el (rmail-file-name, rmail-spool-directory): ... to here. - Make the latter a defcustom, with a delayed initialization. - - * paths.el (gnus-nntp-service, gnus-local-organization): Remove. - These were deleted from Gnus itself late 2010. - -2012-05-22 Juanma Barranquero - - * progmodes/which-func.el (which-func-ff-hook): - Check against user-error, not error. - - * emacs-lisp/edebug.el (top): Do not load or set up loading of - cl-specs.el, which no longer exists. - -2012-05-22 Glenn Morris - - * info.el (info-emacs-bug): New command. - * menu-bar.el (menu-bar-help-menu): Add "How to Report a Bug" to Help. - * mail/emacsbug.el (report-emacs-bug): Replace with info-emacs-bug. - -2012-05-21 Glenn Morris - - * makefile.w32-in (update-subdirs-SH): - * Makefile.in (update-subdirs): Update for moved update-subdirs. - -2012-05-21 Stefan Monnier - - * hi-lock.el (hi-lock-face-defaults): Move obsolete before definition. - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Simplify Maven regexp, and make sure the file can't start with a space - (bug#11517). - -2012-05-21 Glenn Morris - - * Makefile.in (setwins, setwins_almost, setwins_for_subdirs): - Scrap superfluous subshells. - -2012-05-19 Stefan Monnier - - * emacs-lisp/bytecomp.el (byte-compile-root-dir): New var. - (byte-compile-warning-prefix, batch-byte-compile-file): Use it. - -2012-05-19 Jay Belanger - - * calc/calc.el (calc-ensure-consistent-units): New variable. - - * calc/calc-units.el (math-consistent-units-p) - (math-check-unit-consistency): New functions. - (calc-quick-units, calc-convert-units): - Use `math-check-unit-consistency' when `calc-ensure-consistent-units' - is non-nil. - (calc-extract-units): Fix typo. - -2012-05-18 Stefan Monnier - - * vc/vc-bzr.el (vc-bzr-state-heuristic): Save match-data around sha1. - - * textmodes/flyspell.el: Commenting style, plus code simplifications. - (flyspell-default-deplacement-commands): Don't spell check after - repeated window/frame switches (e.g. triggered by mouse-movement). - (flyspell-delay-commands, flyspell-deplacement-commands): Use mapc. - (flyspell-debug-signal-word-checked): Simplify and fit in 80 cols. - (flyspell-casechars-cache, flyspell-ispell-casechars-cache) - (flyspell-not-casechars-cache, flyspell-ispell-not-casechars-cache): - Remove unused vars. - (flyspell-get-casechars, flyspell-get-not-casechars): - Simplify; Don't bother removing a ] just to add it back. - * textmodes/ispell.el (ispell-program-name): Use executable-find. - -2012-05-18 Rüdiger Sonderfeld - - * calc/calc-lang.el (math-C-parse-bess, math-C-parse-fma): - New functions. - (math-function-table): Add support for more C functions. - -2012-05-18 Agustín Martín Domingo - - * textmodes/flyspell.el (flyspell-check-pre-word-p) - (flyspell-check-word-p, flyspell-debug-signal-word-checked): - Protect delay handling for otherchars against empty otherchars. - -2012-05-18 Stefan Monnier - - * emacs-lisp/lisp-mode.el (doc-string-elt): Move those properties to - their respective macro declarations. - * skeleton.el (define-skeleton): - * progmodes/compile.el (define-compilation-mode): - * ibuf-macs.el (define-ibuffer-sorter, define-ibuffer-op) - (define-ibuffer-filter): - * emacs-lisp/generic.el (define-generic-mode): - * emacs-lisp/easy-mmode.el (define-minor-mode) - (define-globalized-minor-mode): - * emacs-lisp/cl-macs.el (defun*, defmacro*, defstruct, deftype): - * emacs-lisp/byte-run.el (defsubst): - * custom.el (deftheme): Add doc-string metadata. - -2012-05-17 Stefan Monnier - - * emacs-lisp/cl-macs.el, emacs-lisp/cl.el: Move indent info. - -2012-05-17 Stefan Monnier - - * emacs-lisp/pcase.el (pcase--u1): Avoid ((lambda ...) ...). - - * emacs-lisp/cl.el: Add edebug specs from cl-specs.el. - * emacs-lisp/cl-macs.el: Idem. - * emacs-lisp/cl-specs.el: Remove. - -2012-05-17 Stefan Monnier - - Minor renaming of internal CL functions and variables. - * emacs-lisp/cl-seq.el (cl--adjoin): Rename from cl-adjoin. - (cl--position): Rename from cl-position. - (cl--delete-duplicates): Rename from cl-delete-duplicates. - * emacs-lisp/cl.el (cl--gensym-counter): Rename from *gensym-counter*. - (cl--random-state): Rename from *random-state*. - -2012-05-17 Stefan Monnier - - * emacs-lisp/cl-macs.el (cl-transform-lambda): Don't add spurious - parens around the arg list (bug#11499). - -2012-05-17 Juri Linkov - - * isearch.el (word-search-regexp, word-search-backward) - (word-search-forward, word-search-backward-lax) - (word-search-forward-lax): Move functions from search.c - (bug#10145, bug#11381). - -2012-05-16 Agustín Martín Domingo - - * textmodes/flyspell.el (flyspell-check-pre-word-p) - (flyspell-check-word-p, flyspell-debug-signal-word-checked): - Delay for otherchars as for normal word components. - -2012-05-16 Stefan Monnier - - * minibuffer.el (completion--sifn-requote): Fix last change. - (minibuffer-local-must-match-filename-map): - Move define-obsolete-variable-alias before its var. - -2012-05-15 Stefan Monnier - - * emacs-lisp/pcase.el (pcase-let*, pcase-let): Fix edebug spec. - - * minibuffer.el (completion--sifn-requote): Handle sifn's truncation - behavior. - (completion--string-equal-p): New function. - (completion--twq-all): Use it to get better assertion failure data. - - Only handle ".." and '..' quoting in shell-mode (bug#11466). - * shell.el (shell--unquote&requote-argument, shell--unquote-argument) - (shell--requote-argument): New functions. - (shell-completion-vars): Use them. - (shell--parse-pcomplete-arguments): Rename from - shell-parse-pcomplete-arguments. - * comint.el (comint-word): Obey comint-file-name-quote-list. Simplify. - (comint--unquote&requote-argument): Don't handle ".." and '..' quoting. - Obey comint-file-name-quote-list. - - * emacs-lisp/smie.el (smie-indent--bolp-1): New function. - (smie-indent-keyword): Use it. - -2012-05-14 Stefan Merten - - * textmodes/rst.el (rst-re-alist): Fix loading (bug#11462). - -2012-05-14 Stefan Monnier - - * net/rlogin.el (rlogin-mode-map): Fix last change. - -2012-05-14 Jason L. Wright (tiny change) - - * mail/smtpmail.el (smtpmail-send-command): Send the command and - the following \r\n using a single `process-send-string', since the - Lotus SMTP server refuses to accept any commands if they are sent - with two `process-send-string's (Bug#11444). - -2012-05-14 Stefan Monnier - - * shell.el (shell-parse-pcomplete-arguments): - Obey pcomplete-arg-quote-list inside double-quoted args (Bug#11348). - -2012-05-14 Wolfgang Jenkner - - * image-mode.el: Fit to width/height for rotated images (Bug#11431). - (image-transform-scale, image-transform-right-angle-fudge): New vars. - (image-transform-width, image-transform-fit-width): New functions. - (image-transform-properties): Use them. - (image-transform-check-size): New function. - (image-toggle-display-image): Use it (for testing). - (image-transform-set-rotation): Reduce angle mod 360. - Delete obsolete comment. - -2012-05-14 Wolfgang Jenkner - - * image-mode.el: Fix scaling (bug#11399). - (image-transform-resize): Doc fix. - (image-transform-properties): Default scale is 1 and height should - be an integer. - -2012-05-13 Johan Bockgård - - * emacs-lisp/smie.el (smie-next-sexp): Use accessor `op-forw' rather - than hard-coding `car', to fix misbehavior when moving forward. - -2012-05-13 Chong Yidong - - * emacs-lisp/tabulated-list.el (tabulated-list-format) - (tabulated-list-entries, tabulated-list-padding) - (tabulated-list-sort-key): Make permanent-local. - - * ebuff-menu.el: Adapt to Buffer Menu changes (Bug#11455). - (electric-buffer-list): Put electric buffer menu - command descriptions in this docstring, instead of the docstring - of electric-buffer-menu-mode. Code cleanups. - (electric-buffer-menu-mode): Use define-derived-mode. Rename from - Electric-buffer-menu-mode. - (electric-buffer-update-highlight): Minor code cleanup. - -2012-05-13 Michael Albinus - - * net/dbus.el (dbus-call-method): Restore events not from D-Bus. - (Bug#11447) - -2012-05-13 Stefan Monnier - - Move define-obsolete-variable-alias before the var's definition. - * vc/log-edit.el (vc-comment-ring, vc-comment-ring-index): - * tooltip.el (tooltip-hook): - * textmodes/reftex-toc.el (reftex-toc-map): - * textmodes/reftex-sel.el (reftex-select-label-map) - (reftex-select-bib-map): - * textmodes/reftex-index.el (reftex-index-map) - (reftex-index-phrases-map): - * speedbar.el (speedbar-syntax-table, speedbar-key-map): - * progmodes/meta-mode.el (meta-mode-map): - * novice.el (disabled-command-hook): - * loadhist.el (unload-hook-features-list): - * frame.el (blink-cursor): - * files.el (find-file-not-found-hooks, write-file-hooks) - (write-contents-hooks): - * emulation/tpu-edt.el (GOLD-map): - * emacs-lock.el (emacs-lock-from-exiting): - * emacs-lisp/generic.el (generic-font-lock-defaults): - * emacs-lisp/chart.el (chart-map): - * dos-fns.el (register-name-alist): - * dired-x.el (dired-omit-files-p): - * desktop.el (desktop-enable): - * cus-edit.el (custom-mode-hook): - * buff-menu.el (buffer-menu-mode-hook): - * bookmark.el (bookmark-read-annotation-text-func) - (bookmark-exit-hooks): - * allout.el (allout-mode-deactivate-hook) - (allout-exposure-change-hook, allout-structure-added-hook) - (allout-structure-deleted-hook, allout-structure-shifted-hook): - * dirtrack.el (dirtrack-toggle, dirtrackp, dirtrack-debug-toggle) - (dirtrack-debug): Move call to define-obsolete-variable-alias so it - comes before the corresponding variable's definition. - -2012-05-12 Chong Yidong - - * buff-menu.el (Buffer-menu-buffer+size-width): Doc fix (Bug#11454). - (Buffer-menu-mouse-select): Restore function (Bug#11459). - (Buffer-menu-mode-map): Bind it. - (Buffer-menu--pretty-name): Add a mouse-face property. - -2012-05-11 Stefan Monnier - - * progmodes/prolog.el: Use SMIE. Cleanup regexp setup. - (prolog-upper-case-string, prolog-lower-case-string) - (prolog-atom-char-regexp, prolog-atom-regexp): Initialize in defconst. - (prolog-use-smie, prolog-smie-grammar): New vars. - (prolog-smie-forward-token, prolog-smie-backward-token) - (prolog-smie-rules): New funs. - (prolog-comment-indent): Remove. - (prolog-mode-variables): Use default comment indentation instead. - Setup SMIE. - (prolog-build-case-strings, prolog-set-atom-regexps): Remove. - (prolog-mode): Don't call them any more. - (prolog-electric-colon, prolog-electric-dash) - (prolog-edit-menu-insert-move): Use indent-according-to-mode. - - * dabbrev.el (dabbrev-expand): Make "no expansion found" a user-error. - - * minibuffer.el (completion--twq-all): Again, allow case differences. - - * term.el: Move keymap initialization code to be more idiomatic. - (term-signals-menu, term-mode-map, term-raw-map, term-raw-escape-map) - (term-terminal-menu): Move initialization into declaration. - (term-escape-char): Let the user set it in her .emacs. - - * progmodes/sh-script.el: Use post-self-insert-hook&electric-pair-mode. - Provide SMIE-based indentation (not enabled by default yet). - (sh-mode-map): Don't bind electric keys. - Use electric-pair-mode instead of skeleton-pair. - (sh-assignment-regexp): Fit within 80 columns. - (sh-indent-supported): Specify actual shell name instead of boolean. - (sh--maybe-here-document): New fun, from sh-maybe-here-document. - (sh-maybe-here-document): Use it. Make obsolete. - (sh-electric-here-document-mode) New minor mode. - (sh-mode): Use it. Don't set sh-indent-supported-here here. - (sh-smie-sh-grammar, sh-smie--sh-operators, sh-smie--sh-operators-re) - (sh-smie--sh-operators-back-re, sh-indent-after-continuation) - (sh-smie-rc-grammar, sh-use-smie): New vars. - (sh-smie--keyword-p, sh-smie--newline-semi-p, sh-smie--sh-keyword-p) - (sh-smie-sh-forward-token, sh-smie--looking-back-at-continuation-p) - (sh-smie-sh-backward-token, sh-smie--continuation-start-indent) - (sh-smie-sh-rules, sh-smie-rc-rules, sh-smie--sh-keyword-in-p) - (sh-smie--rc-after-special-arg-p, sh-smie-rc-backward-token) - (sh-smie-sh-rules, sh-smie--rc-newline-semi-p): New functions. - (sh-set-shell): Use smie-setup if requested. - - * term.el (term-set-escape-char): Properly set term-escape-char. - See http://stackoverflow.com/questions/10524656. - -2012-05-10 Chong Yidong - - * ffap.el (ffap-url-unwrap-local): Make it work right (Bug#9131). - Use url-generic-parse-url, and handle host names and Windows - filenames properly. - (ffap-url-unwrap-remote): Use url-generic-parse-url. - (ffap-url-unwrap-remote): Accept list values, specifying a list of - URL schemes to work on. - (ffap--toggle-read-only): New function. - (ffap-read-only, ffap-read-only-other-window) - (ffap-read-only-other-frame): Use it. - (ffap-fixup-url): Don't check ffap-ftp-regexp, since it is not - necessary for ffap-url-unwrap-remote. - -2012-05-10 Dave Abrahams - - * cus-start.el (create-lockfiles): Add it. - -2012-05-09 Chong Yidong - - * net/browse-url.el (browse-url-url-encode-chars): Use upper-case. - (browse-url-encode-url): Encode spaces and quotes (Bug#6300). - -2012-05-09 Stefan Monnier - - * shell.el (shell-completion-vars): Fix last change (bug#11348). - -2012-05-09 Chong Yidong - - * ansi-color.el (ansi-color-process-output): Check for validity of - comint-last-output-start before using it. This avoids a bad - interaction with gdb-mi's input/output buffer. - -2012-05-09 Glenn Morris - - * files.el (dir-locals-read-from-file): - Mention dir-locals in any error message. - -2012-05-09 Chong Yidong - - * emacs-lisp/package.el (package-built-in-p): Handle the `emacs' - package (Bug#11410). - - * emacs-lisp/package.el (package-buffer-info): Avoid putting local - variables into description. - -2012-05-09 Stefan Monnier - - * shell.el (shell-completion-vars): Set pcomplete-arg-quote-list like - shell-delimiter-argument-list (bug#11348). - (shell-parse-pcomplete-arguments): Obey pcomplete-arg-quote-list. - -2012-05-09 Juanma Barranquero - - * textmodes/rst.el: Silence byte-compiler warnings. - (rst-re-alist, rst-reset-section-caches): Move around. - (rst-re): Use `characterp', not `char-valid-p'. - (font-lock-beg, font-lock-end): Declare. - - * progmodes/idlw-shell.el (specs): Remove reference to deleted - variable `idlwave-shell-activate-alt-keybindings' and simplify. - - * eshell/esh-cmd.el (eshell-debug-command): Fix typo in previous change. - -2012-05-08 Glenn Morris - - * files.el (auto-mode-alist): Treat ".make" like ".mk". - -2012-05-08 Stefan Monnier - - * vc/log-edit.el: Add GNU coding standards highlighting. - (log-edit-font-lock-gnu-style) - (log-edit-font-lock-gnu-keywords): New vars. - (log-edit-font-lock-keywords): New fun. - (log-edit-mode): Don't fold case in font-lock. - (log-edit-font-lock-keywords): Do not assume case-folding. - - * imenu.el: Misc cleanup. Make docstrings out of comments. - Use lexical-binding. - (imenu--index-alist, imenu--last-menubar-index-alist) - (imenu-menubar-modified-tick): Use defvar-local. - (imenu--split-menu): Remove unused var. - (imenu--cleanup-seen): Declare as global. - (imenu--cleanup): Use dolist. - - * subr.el (defvar-local): Add debug spec and doc-string position. - -2012-05-08 Glenn Morris - - * language/burmese.el, language/cham.el, language/czech.el: - * language/english.el, language/georgian.el, language/greek.el: - * language/japanese.el, language/khmer.el, language/korean.el: - * language/lao.el, language/misc-lang.el, language/romanian.el: - * language/sinhala.el, language/slovak.el, language/tai-viet.el: - * language/thai.el, language/utf-8-lang.el: - Remove no-byte-compile setting. - - * play/zone.el (zone-pgm-stress): Don't pollute kill-ring. (Bug#11388) - -2012-05-08 Aaron S. Hawley - - * progmodes/make-mode.el (makefile-browse): - Remove unnecessary interactive. (Bug#11324) - -2012-05-07 Glenn Morris - - * forms-d2.el, forms-pass.el: Move to ../etc/forms directory. - - * international/mule.el (find-auto-coding): Make "unibyte: t" obsolete. - -2012-05-07 Stefan Monnier - - * loadup.el: Preload newcomment.el. - * newcomment.el: Move autoload-only code to toplevel. - - * buff-menu.el (list-buffers--refresh): Mark `size' as right-align. - * emacs-lisp/tabulated-list.el (tabulated-list-init-header): - Handle new :right-align column property. - (tabulated-list-print-col): Idem, plus use `display' text-property to - try and preserve alignment for variable pitch fonts. - -2012-05-07 Chong Yidong - - * emacs-lisp/tabulated-list.el: Add no-header-line alternative. - (tabulated-list-use-header-line): New var. - (tabulated-list-init-header): Use it. - (tabulated-list-print-fake-header): New function. - (tabulated-list-print): Use it. - (tabulated-list-sort-button-map): Add non-header-line commands. - (tabulated-list-init-header): Add column name property to basic - labels as well. - (tabulated-list-col-sort): Handle non-header-line button case. - (tabulated-list--sort-by-column-name): Fix a corner case. - - * buff-menu.el (list-buffers--refresh): - Handle Buffer-menu-use-header-line. - -2012-05-06 Chong Yidong - - * buff-menu.el: Convert to Tabulated List mode. - (Buffer-menu-buffer+size-width): Make obsolete. - (Buffer-menu-name-width, Buffer-menu-size-width): New variables. - (Buffer-menu-mode-map): Inherit from tabulated-list-mode-map. - (Buffer-menu-mode): Derive from tabulated-list-mode. Move command - documentation into docstring of buffer-menu. - (Buffer-menu-toggle-files-only): Add an informative message. - (Buffer-menu-sort): Convert to alias for tabulated-list-sort. - (Buffer-menu-buffer, Buffer-menu-beginning, Buffer-menu-mark) - (Buffer-menu-unmark, Buffer-menu-backup-unmark) - (Buffer-menu-delete, Buffer-menu-save, Buffer-menu-not-modified) - (Buffer-menu-execute, Buffer-menu-select) - (Buffer-menu-marked-buffers, Buffer-menu-toggle-read-only) - (Buffer-menu-bury): Use Tabulated List machinery. - (Buffer-menu-mouse-select, Buffer-menu-sort-by-column) - (Buffer-menu-sort-button-map, Buffer-menu-make-sort-button): - Delete. - (list-buffers--refresh): New function. - (list-buffers-noselect): Use it. - (tabulated-list-entry-size->, Buffer-menu--pretty-name) - (Buffer-menu--pretty-file-name): New helper functions. - - * loadup.el: Preload tabulated-list. - - * emacs-lisp/tabulated-list.el (tabulated-list-sort): Rename from - tabulated-list-sort-column. - (tabulated-list-init-header): Add the initial aligning space even - if tabulated-list-padding is zero. - -2012-05-06 Christopher Schmidt - - * emacs-lisp/cl-macs.el (cl-expr-contains): Handle cons cells - whose cdr is not a cons cell correctly (bug#11038). - -2012-05-06 Chong Yidong - - * emacs-lisp/tabulated-list.el (tabulated-list-format): - Accept additional plist in column descriptors. - (tabulated-list-init-header): Obey it. - (tabulated-list-get-entry): New function. - (tabulated-list-put-tag): Use it. Use string-width instead of - length. - (tabulated-list--column-number): New function. - (tabulated-list-print): Use it. - (tabulated-list-print-col): New function. - Set `tabulated-list-column-name' property on each column's text. - (tabulated-list-print-entry): Use it. - (tabulated-list-delete-entry, tabulated-list-set-col): - New functions. - (tabulated-list-sort-column): New command (Bug#11337). - - * buff-menu.el (list-buffers): Move C-x C-b binding from - buff-menu.el to bindings.el. - - * ebuff-menu.el (Electric-buffer-menu-undefined): Use the - :advertised-binding feature. - -2012-05-06 Troels Nielsen (tiny change) - - * progmodes/compile.el (compilation-internal-error-properties): - Calculate start position correctly when end-col is set but - end-line is not (Bug#11382). - -2012-05-06 Wolfgang Jenkner - - * man.el (Man-unindent): Use text-property-default-nonsticky to - prevent untabify from inheriting face properties (Bug#11408). - -2012-05-05 Stefan Merten - - * textmodes/rst.el: Major merge with upstream development up to - Docutils SVN r7399 / rst.el V1.2.1. - - Clarify maintainership and authors. - - (rst-extract-version, rst-cvs-header, rst-cvs-rev) - (rst-cvs-timestamp, rst-svn-rev, rst-svn-timestamp) - (rst-official-version, rst-official-cvs-rev, rst-version) - (rst-package-emacs-version-alist): New functions and variables - for version information. - - (rst-bullets, rst-uri-schemes, rst-adornment-chars) - (rst-max-inline-length, rst-re-alist-def, rst-re-alist) - (rst-mode-syntax-table, rst-mode): New and corrected functions - and variables representing reStructuredText features. - - (rst-re): New function for reStructuredText regexes. Use in - many places. - - (rst-deprecated-keys, rst-call-deprecated, rst-define-key) - (rst-mode-map): Rebind keys. - - (rst-mode-lazy, rst-font-lock-keywords) - (rst-font-lock-extend-region) - (rst-font-lock-extend-region-internal) - (rst-font-lock-extend-region-extend) - (rst-font-lock-find-unindented-line-limit) - (rst-font-lock-find-unindented-line-match) - (rst-adornment-level, rst-font-lock-adornment-level) - (rst-font-lock-adornment-match) - (rst-font-lock-handle-adornment-pre-match-form) - (rst-font-lock-handle-adornment-matcher): Major revision of - font-locking. Integrate with other code. Use `jit-lock-mode'. - - (rst-preferred-adornments, rst-adjust-hook) - (rst-new-adornment-down, rst-preferred-bullets) - (rst-preferred-bullets, rst-indent, rst-indent-width) - (rst-indent-field, rst-indent-literal-normal) - (rst-indent-literal-minimized, rst-indent-comment): Change, - extend and improve customization. - - (rst-line-homogeneous-p, rst-line-homogeneous-nodent-p) - (rst-normalize-cursor-position, rst-get-decoration) - (rst-straighten-deco-spacing, rst-re-bullets, rst-re-items) - (rst-rstrip, rst-toc-insert-find-delete-contents) - (rst-shift-fill-region, rst-compute-bullet-tabs) - (rst-debug-print-tabs, rst-debug-mark-found) - (rst-shift-region-guts, rst-shift-region-right) - (rst-shift-region-left, rst-use-char-classes) - (rst-font-lock-keywords-function) - (rst-font-lock-indentation-point) - (rst-font-lock-find-unindented-line-begin) - (rst-font-lock-find-unindented-line-end) - (rst-font-lock-find-unindented-line) - (rst-font-lock-adornment-point, rst-font-lock-level) - (rst-adornment-level-alist): Remove functions and variables. - - (rst-compare-adornments, rst-get-adornment-match) - (rst-suggest-new-adornment, rst-get-adornments-around) - (rst-adornment-complete-p, rst-get-next-adornment) - (rst-adjust-adornment, rst-display-adornments-hierarchy) - (rst-straighten-adornments): Standardize function names to - use "adornment" instead of "decoration". Correct callers. - Similar standardizing in many places. - - (rst-update-section, rst-adjust, rst-promote-region) - (rst-enumerate-region, rst-bullet-list-region) - (rst-repeat-last-character): Correct use of `interactive'. - - (rst-classify-adornment, rst-find-all-adornments) - (rst-get-hierarchy, rst-adjust-adornment, rst-toc-update) - (rst-find-leftmost-column, rst-repeat-last-character): - Refactor functions. - - (rst-find-title-line, rst-reset-section-caches) - (rst-get-adornments-around, rst-adjust-adornment-work) - (rst-arabic-to-roman, rst-roman-to-arabic) - (rst-insert-list-pos, rst-insert-list-new-item) - (rst-insert-list-continue, rst-insert-list, rst-forward-line): - New functions. - - (rst-all-sections, rst-section-hierarchy) - (rst-arabic-to-roman, rst-initial-enums, rst-initial-items): - New variables. - - (rst-toc-return-wincfg, rst-toc-quit-window): Use window - configuration instead of only buffer. Change where necessary. - - (rst-line-tabs, rst-compute-tabs, rst-indent-line) - (rst-shift-region, rst-adaptive-fill): New functions for - indentation and filling. - - (rst-comment-line-break, rst-comment-indent) - (rst-comment-insert-comment, rst-comment-region) - (rst-uncomment-region): New functions for handling comments. - - (rst-compile): Quote shell arguments. - - (rst-compile-pdf-preview, rst-compile-slides-preview): - Delete temporary files after use. - -2012-05-05 Glenn Morris - - * calendar/cal-html.el: Optionally include holidays in the output. - Suggested by Ed Reingold . - (cal-html-holidays): New option. - (cal-html-css-default): Add holiday entry. - (holiday-in-range): Autoload it. - (cal-html-htmlify-entry): Add optional class argument. - (cal-html-htmlify-list): Add optional holidays argument. - (cal-html-insert-agenda-days): Include holidays in the output. - (cal-html-one-month): Maybe include holidays. - - * calendar/holidays.el (holiday-in-range): - Move here from cal-tex-list-holidays. - * calendar/cal-tex.el (cal-tex-list-holidays): - Make it an obsolete alias for holiday-in-range. Update all callers. - -2012-05-05 Chong Yidong - - * select.el (xselect--encode-string): Always use utf-8 for TEXT on - Nextstep. - -2012-05-05 Ransom Williams (tiny change) - - * files.el (file-auto-mode-skip): New var. - (set-auto-mode-1): Use it. - -2012-05-05 Stefan Monnier - - * repeat.el: Use lexical-binding. - (repeat-last-self-insert, repeat-num-input-keys-at-self-insert) - (repeat-undo-count): Remove. - (repeat): - * progmodes/octave-mod.el (octave-abbrev-start): - * progmodes/f90.el (f90-abbrev-start): - * face-remap.el (text-scale-adjust): - * kmacro.el (kmacro-call-macro): Use set-temporary-overlay-map. - - * emacs-lisp/pcase.el (pcase--let*): New function. - (pcase--expand, pcase-codegen, pcase--q1): Use it to reduce nesting - a bit more. - (pcase--split-pred): Be more clever about ruling out overlap between - a predicate and some constant pattern. - (pcase--q1): Use `null' instead of (eq foo nil). - - * subr.el (setq-local, defvar-local): New macros. - (kbd): Redefine as an alias. - (with-selected-window): Leave unrelated frames alone. - (set-temporary-overlay-map): New function. - -2012-05-04 Stefan Monnier - - * subr.el (user-error): New function. - * window.el (switch-to-buffer): - * vc/smerge-mode.el (smerge-resolve-function, smerge-resolve) - (smerge-match-conflict): - * simple.el (previous-matching-history-element) - (next-matching-history-element, goto-history-element, undo-more) - (undo-start): - * progmodes/etags.el (visit-tags-table-buffer, find-tag-tag) - (find-tag-noselect, find-tag-in-order, etags-goto-tag-location) - (next-file, tags-loop-scan, list-tags, complete-tag): - * progmodes/compile.el (compilation-loop): - * mouse.el (mouse-minibuffer-check): - * man.el (Man-bgproc-sentinel, Man-goto-page): - * info.el (Info-find-node-2, Info-extract-pointer, Info-history-back) - (Info-history-forward, Info-follow-reference, Info-menu) - (Info-extract-menu-item, Info-extract-menu-counting) - (Info-forward-node, Info-backward-node, Info-next-menu-item) - (Info-last-menu-item, Info-next-preorder, Info-last-preorder) - (Info-next-reference, Info-prev-reference, Info-index) - (Info-index-next, Info-follow-nearest-node) - (Info-copy-current-node-name): - * imenu.el (imenu--make-index-alist) - (imenu-default-create-index-function, imenu-add-to-menubar): - * files.el (basic-save-buffer, recover-file): - * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): - * emacs-lisp/checkdoc.el (checkdoc-continue, checkdoc-comments) - (checkdoc-message-text, checkdoc-defun): - * dabbrev.el (dabbrev-completion, dabbrev--abbrev-at-point): - * cus-edit.el (customize-changed-options, customize-rogue) - (customize-saved, custom-variable-set, custom-variable-mark-to-save) - (custom-variable-mark-to-reset-standard) - (custom-variable-reset-backup, custom-face-mark-to-reset-standard) - (custom-file): - * completion.el (check-completion-length): - * comint.el (comint-search-arg) - (comint-previous-matching-input-string-position) - (comint-previous-matching-input) - (comint-replace-by-expanded-history-before-point, comint-send-input) - (comint-copy-old-input, comint-backward-matching-input) - (comint-goto-process-mark, comint-set-process-mark): - * calendar/calendar.el (calendar-cursor-to-date): Use it. - * bindings.el (debug-ignored-errors): Remove regexps, add `user-error'. - -2012-05-04 Stefan Monnier - - * dabbrev.el (dabbrev--ignore-case-p): New function. - (dabbrev-completion, dabbrev-expand, dabbrev--substitute-expansion): - Use it. - - * files.el (automount-dir-prefix): Mark as obsolete. - -2012-05-04 Glenn Morris - - * patcomp.el, play/bruce.el: Move to obsolete/. - -2012-05-04 Paul Eggert - - Fix minor Y10k bugs. - * arc-mode.el (archive-unixdate): - * autoinsert.el (auto-insert-alist): - * calc/calc-forms.el (math-this-year): - * emacs-lisp/copyright.el (copyright-current-year) - (copyright-update-year, copyright): - * tar-mode.el (tar-clip-time-string): - * time.el (display-time-update): - Don't assume years have 4 digits. - -2012-05-04 Chong Yidong - - * dos-w32.el (file-name-buffer-file-type-alist) - (direct-print-region-use-command-dot-com): - * ffap.el (ffap-menu-regexp): - * find-file.el (ff-special-constructs): - * follow.el (follow-debug): - * forms.el (forms--debug): - * iswitchb.el (iswitchb-all-frames): - * ido.el (ido-all-frames): - * emacs-lisp/timer.el (timer-max-repeats): - * mail/feedmail.el (feedmail-mail-send-hook) - (feedmail-mail-send-hook-queued): - * mail/footnote.el (footnote-signature-separator): - * mail/mailabbrev.el (mail-alias-separator-string) - (mail-abbrev-mode-regexp): - * mail/rmail.el (rmail-speedbar-match-folder-regexp): - * progmodes/idlwave.el (idlwave-libinfo-file) - (idlwave-default-completion-case-is-down) - (idlwave-library-routines): Convert defvars to defcustoms. - - * mail/rmail.el (rmail-decode-mime-charset): - * progmodes/idlw-shell.el (idlwave-shell-print-expression-function) - (idlwave-shell-fix-inserted-breaks) - (idlwave-shell-activate-alt-keybindings) - (idlwave-shell-use-breakpoint-glyph): - * facemenu.el (facemenu-unlisted-faces): Delete obsolete vars. - -2012-05-03 Stefan Monnier - - * minibuffer.el (completion--twq-all): Beware completion-ignore-case. - -2012-05-03 Wilson Snyder - - * progmodes/verilog-mode.el (font-lock-keywords): - Fix mis-highligting auto. Reported by Craig Barner. - (verilog-auto, verilog-auto-undef): Add AUTOUNDEF to remove - defines from global name space. Reported by Dan Dever. - (verilog-auto-reset, verilog-auto-reset-widths) - (verilog-auto-tieoff): Support using unbased numbers for - AUTORESET and AUTOTIEOFF. - (verilog-submit-bug-report): Update variable list. - (verilog-read-auto-params): Fix AUTOINPUT regexps containing - parenthesis from not matching. Reported by Michael Rytting. - (verilog-auto-template-lint): Fix hash error when linting modules - with no used templates. - (verilog-warn, verilog-warn-error) - (verilog-warn-fatal): When non-interactive report multiple - warnings before exiting. Suggested by Brad Dobbie. - (verilog-auto-template-lint, verilog-auto-template-warn-unused) - (verilog-read-auto-template): Add `verilog-auto-template-warn-unused' - to report unused template errors. Reported by Brad Dobbie. - (verilog-read-decls): Fix AUTOWIRE etc on supply0, supply1 type - nets, bug438. Reported by Vns Blore. - (verilog-auto-inout-module, verilog-auto-reg) - (verilog-read-decls, verilog-read-sub-decls-sig) - (verilog-signals-edit-wire-reg, verilog-signals-with): - Fix passing of Verilog data types in ANSI input/output ports - such as "output logic" into the AUTOs. Special case "wire" and - "reg" for backwards compatibility presuming Verilog 2001. - (verilog-auto-ascii-enum): Add "auto enum" as alias. - (verilog-preprocess): Fix replication of preprocess output. - Reported by Brad Dobbie. - (verilog-auto-inst-interfaced-ports): - Create verilog-auto-inst-interfaced-ports, bug429. - Reported by Julian Gorfajn. - (verilog-after-save-font-hook) - (verilog-before-save-font-hook): New variable. - (verilog-modi-cache-results, verilog-save-font-mod-hooked) - (verilog-save-font-mods): Wrap disabling fontification, reported - by David Rogoff. - (verilog-do-indent, verilog-pretty-declarations-auto) - (verilog-sk-def-reg): Fix obeying `verilog-auto-lineup', bug305. - Reported by Pierre-David Pfister. - (verilog-set-auto-endcomments): Fix endtask auto comments outside - of class declarations, bug292. Reported by Kevin Heilman. - (verilog-read-decls): Fix 'parameter type' not appearing in - AUTOINSTPARAM, bug340. Reported by Jonathan Greenlaw. - (verilog-auto-logic): Fix when AUTOLOGIC present to properly do - AUTOINPUTs, bug411. Reported by Jonathan Greenlaw. - (verilog-read-auto-lisp): Avoid syntax-ppss warning on AUTOLISP. - Reported by David Kravitz. - -2012-05-03 Michael McNamara - - * progmodes/verilog-mode.el (verilog-pretty-expr): Don't line up - assignment with tests in ifs and for loops. - (verilog-extended-complete-re, verilog-complete-reg): Change so - that DPI inport functions don't look like fuction declarations. - (verilog-pretty-expr): Don't line up assignment - operations to the test and increment in if and for loops - (verilog-extended-complete-re, verilog-complete-reg): Change so - that DPI inport functions don't look like fuction declarations. - -2012-05-03 Kenichi Handa - - * mail/rmailmm.el (rmail-show-mime): Catch an error caused by text - decoding, and show a warning message without signaling an error - (Bug#11282). - -2012-05-03 Stefan Monnier - - * emacs-lisp/bytecomp.el - (byte-compile-file-form-custom-declare-variable): Compile all elements, - since cconv.el might have introduced :fun-body, internal-make-closure, - and friends for bytecomp to handle (bug#11391). - * custom.el (defcustom): Avoid ((λ ..) ..). - -2012-05-02 Stefan Monnier - - * subr.el (read-passwd): Better clean after ourselves (bug#11392). - -2012-05-02 Juanma Barranquero - - * notifications.el (dbus-debug): - * term/linux.el (gpm-mouse-enable): - * term/screen.el (xterm-register-default-colors): Declare. - -2012-05-02 Chong Yidong - - * cus-start.el (gc-cons-percentage, exec-suffixes) - (dos-display-scancodes, dos-hyper-key, dos-super-key) - (dos-keypad-mode, debug-on-signal, vertical-centering-font-regexp) - (make-cursor-line-fully-visible, void-text-area-pointer) - (font-list-limit): Add customization data. - - * allout.el (allout-exposure-change-functions) - (allout-structure-added-functions) - (allout-structure-deleted-functions) - (allout-structure-shifted-functions): Rename abnormal hooks from - *-hook, and convert to defcustoms. - (allout-after-copy-or-kill-hook, allout-post-undo-hook): - Convert to defcustoms. - (allout-mode-hook, allout-mode-deactivate-hook): Doc fix. - - * allout-widgets.el: Hook callers changed. - -2012-05-02 Eli Zaretskii - - * mail/rmail.el (rmail-yank-current-message): Use the encoding of - the yanked message in preference to the default value of - buffer-file-coding-system. - -2012-05-02 Martin Rudalics - - * window.el (display-buffer--action-function-custom-type): - Fix entry. - -2012-05-02 Alan Mackenzie - - * progmodes/cc-defs.el (c-version): Update to 5.32.3. - -2012-05-01 Glenn Morris - - * cus-start.el (suggest-key-bindings): Remove, now it is in Lisp. - - * eshell/esh-cmd.el (eshell-debug-command): Doc fix. Add :set. - - * cus-edit.el (custom-variable-documentation): Simplify with format. - -2012-05-01 Aaron S. Hawley - Stefan Monnier - - * simple.el (suggest-key-bindings, execute-extended-command): - Move from keyboard.c. - -2012-05-01 Chong Yidong - - * follow.el: Eliminate advice. - (set-process-filter, process-filter, sit-for): Advice deleted. - (follow-mode-off-hook): Obsolete hook removed. - (follow-avoid-tail-recenter-p, follow-process-filter-alist): - Vars deleted. - (follow-auto): Use a :set function. - (follow-mode): Rewritten. Don't advise process filters. - (follow-switch-to-current-buffer-all, follow-scroll-up) - (follow-scroll-down): Assume follow-mode is bound. - (follow-comint-scroll-to-bottom) - (follow-align-compilation-windows): New functions. - (follow--window-sorter): New function. - (follow-all-followers): Use it to explicitly sort windows by their - positions; don't make assumptions about next-window order. - (follow-windows-start-end, follow-delete-other-windows-and-split) - (follow-calc-win-start): Doc fix. - (follow-windows-aligned-p, follow-select-if-visible): Don't call - vertical-motion unnecessarily. - (follow-adjust-window): New function. - (follow-post-command-hook): Use it. - (follow-call-set-process-filter, follow-call-process-filter) - (follow-intercept-process-output, follow-tidy-process-filter-alist) - (follow-stop-intercept-process-output, follow-generic-filter): - Functions deleted. - (follow-scroll-bar-toolkit-scroll, follow-scroll-bar-drag) - (follow-scroll-bar-scroll-up, follow-scroll-bar-scroll-down): - New functions, replacing advice on scroll-bar-* commands. - (follow-mwheel-scroll): New function (Bug#4112). - - * comint.el (comint-adjust-point): New function. - (comint-postoutput-scroll-to-bottom): Use it. - Call follow-comint-scroll-to-bottom for Follow mode buffers. - -2012-05-01 Glenn Morris - - * term/AT386.el, term/apollo.el, term/bobcat.el, term/cygwin.el: - * term/iris-ansi.el, term/linux.el, term/lk201.el, term/news.el: - * term/screen.el, term/vt102.el, term/vt125.el, term/vt200.el: - * term/vt201.el, term/vt220.el, term/vt240.el, term/vt300.el: - * term/vt320.el, term/vt400.el, term/vt420.el, term/wyse50.el: - Remove no-byte-compile setting. - -2012-05-01 Stefan Monnier - - * minibuffer.el (completion-table-with-quoting): Fix compatibility - all-completions code to not return a number in the last cdr. - -2012-04-30 Leo Liu - - * ibuf-ext.el (ibuffer-diff-buffer-with-file-1): Avoid buffer - read-only error. - -2012-04-29 Chong Yidong - - * follow.el (follow-calc-win-end): Rewrite to handle partial - screen lines correctly (Bug#8390). - (follow-avoid-tail-recenter): Minor cleanup. - -2012-04-28 Stefan Monnier - - Avoid the obsolete `assoc' package. - * speedbar.el (speedbar-refresh): Avoid adelete. - (speedbar-file-lists): Simplify and avoid aput. - * man.el (Man--sections, Man--refpages): New vars, replacing - Man-sections-alist and Man-refpages-alist. - (Man-build-section-alist, Man-build-references-alist): - Use them; avoid aput. - (Man--last-section, Man--last-refpage): New vars. - (Man-follow-manual-reference): Use them. - Use the `default' arg of completing-read. - (Man-goto-section): Idem. Move prompt to the `interactive' spec. - -2012-04-27 Chong Yidong - - * vc/diff.el (diff-sentinel): Go to bob (Bug#10259). - - * startup.el (x-apply-session-resources): New function. - - * term/ns-win.el (ns-initialize-window-system): - * term/w32-win.el (w32-initialize-window-system): - * term/x-win.el (x-initialize-window-system): Use it to properly - set menu-bar-mode and other vars from X resources, even if the - initial frame is not a window-system frame (Bug#2299). - - * subr.el (read-key): Avoid running filter function when setting - up temporary tool bar entries (Bug#9922). - -2012-04-27 Andreas Schwab - - * vc/vc-git.el (vc-git-state): Fix regexp matching diff output. - (Bug#11344) - -2012-04-27 Chong Yidong - - * select.el (xselect--encode-string): New function, split from - xselect-convert-to-string. - (xselect-convert-to-string): Use it. - (xselect-convert-to-filename, xselect-convert-to-os) - (xselect-convert-to-host, xselect-convert-to-user): Ensure that - returned strings are properly encoded (Bug#11315). - -2012-04-27 Chong Yidong - - * simple.el (delete-active-region): Move to killing custom group. - -2012-04-27 Andreas Schwab - - * progmodes/which-func.el (which-func-current): Quote % - characters for mode-line processing. - -2012-04-27 Chong Yidong - - * xml.el (xml-parse-region, xml-parse-tag): Avoid errors due to - reaching eob (Bug#11286). - -2012-04-27 Eli Zaretskii - - * progmodes/gdb-mi.el (gdb-control-level): New variable. - (gdb): Make it buffer-local and init to zero. - (gdb-control-commands-regexp): New variable. - (gdb-send): Don't wrap in "-interpreter-exec console" if - gdb-control-level is positive. Increment gdb-control-level - whenever the command matches gdb-control-commands-regexp, and - decrement it each time the command is "end". (Bug#11279) - -2012-04-27 Martin Rudalics - - * window.el (adjust-window-trailing-edge, enlarge-window) - (shrink-window, window-resize): - * mouse.el (mouse-drag-line): Fix resizing of minibuffer - windows (Bug#11276). - -2012-04-27 Chong Yidong - - * progmodes/pascal.el (pascal--extra-indent): Rename from ind, to - fix "missing prefix" warning. All callers changed. - -2012-04-27 Stefan Monnier - - * emacs-lisp/assoc.el: Move to obsolete/. - -2012-04-26 Stefan Monnier - - * emacs-lisp/assoc.el (aget): Fix dynamic-scoping issue (bug#11352). - - * term/ns-win.el (ns-define-service): - * progmodes/pascal.el (pascal-goto-defun): - * progmodes/js.el (js--read-tab): - * progmodes/etags.el (tags-lazy-completion-table): - * emacs-lisp/syntax.el (syntax-propertize-via-font-lock): - * emacs-lisp/ewoc.el (ewoc--wrap): - * emacs-lisp/assoc.el (aput, adelete, amake): - * doc-view.el (doc-view-convert-current-doc): - * vc/diff.el (diff-no-select): Replace lexical-let by lexical-binding. - -2012-04-26 Chong Yidong - - * image.el (image-type-from-buffer): Only return supported image - type (Bug#9045). - - * vc/diff-mode.el (diff-beginning-of-hunk): Return a meaningful - value, for symmetry with diff-end-of-hunk. - (diff-split-hunk, diff-find-source-location) - (diff-ignore-whitespace-hunk, diff-refine-hunk): Use it. - (diff-bounds-of-hunk, diff-bounds-of-file): New functions. - (diff-restrict-view, diff-hunk-kill, diff-file-kill): Use them to - compute the relevant hunk or file properly (Bug#6005). - (diff-file-junk-re): Add bzr's "modified file" tag (Bug#6041). - -2012-04-26 Stefan Monnier - - * vc/vc-mtn.el: - * vc/vc-hg.el: - * vc/vc-git.el: - * vc/vc-dir.el: - * vc/vc-cvs.el: - * vc/vc-bzr.el: - * vc/vc-arch.el: - * vc/vc.el: Replace lexical-let by lexical-binding. - * minibuffer.el (lazy-completion-table): Avoid ((λ ...) ...). - * emacs-lisp/cl-macs.el (lexical-let): Fix use in lexical-binding. - * emacs-lisp/cconv.el (cconv-analyse-form): Warn use of ((λ ...) ...). - -2012-04-26 Chong Yidong - - * vc/diff-mode.el (diff-undo): New command (Bug#5302). - (diff-mode-shared-map): Bind it to / and [remap undo]. - - * vc/ediff-wind.el (ediff-setup-windows-default): New function. - (ediff-window-setup-function): Use it as the default, to set up - windows based on whether the current frame is graphical (Bug#2138). - (ediff-choose-window-setup-function-automatically): Make obsolete. - - * vc/ediff-init.el: Always define ediff-pixel-width/height. - -2012-04-25 Stefan Monnier - - * ffap.el: Remove old code for obsolete package. - (ffap-complete-as-file-p): Remove. - - Use completion-table-with-quoting for comint and pcomplete. - * comint.el (comint--unquote&requote-argument) - (comint--unquote-argument, comint--requote-argument): New functions. - (comint--unquote&expand-filename, comint-unquote-filename): Obsolete. - (comint-quote-filename): Use regexp-opt-charset. - (comint--common-suffix, comint--common-quoted-suffix) - (comint--table-subvert): Remove. - (comint-unquote-function, comint-requote-function): New vars. - (comint--complete-file-name-data): Use them with - completion-table-with-quoting. - * pcmpl-unix.el (pcomplete/scp): Use completion-table-subvert. - * pcomplete.el (pcomplete-arg-quote-list) - (pcomplete-quote-arg-hook, pcomplete-quote-argument): Obsolete. - (pcomplete-unquote-argument-function): Default to non-nil. - (pcomplete-unquote-argument): Simplify. - (pcomplete--common-quoted-suffix): Remove. - (pcomplete-requote-argument-function): New var. - (pcomplete--common-suffix): New function. - (pcomplete-completions-at-point): Use completion-table-with-quoting - and completion-table-subvert. - - * minibuffer.el: Use completion-table-with-quoting for read-file-name. - (minibuffer--double-dollars): Preserve properties. - (completion--sifn-requote): New function. - (completion--file-name-table): Rewrite using it and c-t-with-quoting. - - * minibuffer.el: Add support for completion of quoted/escaped data. - (completion-table-with-quoting, completion-table-subvert): New funs. - (completion--twq-try, completion--twq-all): New functions. - (completion--nth-completion): New function. - (completion-try-completion, completion-all-completions): Use it. - -2012-04-25 Leo Liu - - * progmodes/python.el (python-pdbtrack-get-source-buffer): - Use compilation-message if available to find real filename. - -2012-04-25 Chong Yidong - - * vc/diff-mode.el (diff-setup-whitespace): New function. - (diff-mode): Use it. - - * vc/diff.el (diff-sentinel): - * vc/vc.el (vc-diff-finish): Call diff-setup-whitespace to assign - Whitespace mode variables based on diff style (Bug#8612). - -2012-04-25 Leo Liu - - * progmodes/python.el (python-send-region): Add suffix .py to the - temp file. - - * files.el (auto-mode-alist): Use javascript-mode instead. - -2012-04-25 Alex Harsanyi - - Sync with soap-client repository. Support SOAP simpleType (Bug#10331). - - * net/soap-client.el (soap-resolve-references-for-sequence-type) - (soap-resolve-references-for-array-type): Hack to prevent self - references, see Bug#9. - (soap-parse-envelope): Report the contents of the 'detail' node - when receiving a fault reply. - (soap-parse-envelope): Report the contents of the entire 'detail' node. - - * net/soap-inspect.el (soap-sample-value-for-simple-type) - (soap-inspect-simple-type): New function. - - * net/soap-client.el (soap-simple-type): New struct. - (soap-default-xsd-types, soap-default-soapenc-types) - (soap-decode-basic-type, soap-encode-basic-type): - support unsignedInt and double basic types. - (soap-resolve-references-for-simple-type) - (soap-parse-simple-type, soap-encode-simple-type): New function. - (soap-parse-schema): Parse xsd:simpleType declarations. - - * net/soap-client.el (soap-default-xsd-types) - (soap-default-soapenc-types): Add integer, byte and anyURI types. - (soap-parse-complex-type-complex-content): Use `soap-wk2l' to find - the local name of "soapenc:Array". - (soap-decode-basic-type, soap-encode-basic-type): Support encoding - decoding integer, byte and anyURI xsd types. - -2012-04-25 Chong Yidong - - * cus-edit.el (custom-buffer-create-internal): Update header text. - -2012-04-25 Eli Zaretskii - - * progmodes/gdb-mi.el (gdb-init-1): Condition Windows-specific - settings on 'system-type', not on 'window-system'. On MS-Windows, - set interactive-mode on in GDB. - -2012-04-24 Stefan Monnier - - * progmodes/ruby-mode.el: Simplify last change, and cleanup code. - (ruby-syntax-propertize-regexp): Remove. - (ruby-syntax-propertize-function): Split regexp into chunks. - Match following code directly. - -2012-04-24 Dmitry Gutov - - * progmodes/ruby-mode.el: Handle Cucumber defs (bug#6286). - (ruby-syntax-propertize-regexp): New function. - (ruby-syntax-propertize-function): Use it to handle regexp not preceded - by a special keyword. - - * progmodes/ruby-mode.el: Handle general delimited literals (bug#6286). - (ruby-syntax-general-delimiters-goto-beg) - (ruby-syntax-propertize-general-delimiters): New functions. - (ruby-syntax-propertize-function): Use them to handle GDL. - (ruby-font-lock-keywords): Move old handling of GDL... - (ruby-font-lock-syntactic-keywords): .. to here. - (ruby-calculate-indent): Adjust indentation for GDL. - -2012-04-24 Michael Albinus - - * notifications.el (top): Remove unneeded declarations. - (notifications-specification-version): Change to "1.2". - (notifications-interface, notifications-notify-method) - (notifications-close-notification-method): Fix docstring. - (notifications-get-capabilities-method): New defconst. - (notifications-notify): Add :action-items, :resident and - :transient hints. Change "image_data" to "image-data" and - "image_path" to "image-path". - (notifications-get-capabilities): New defun. - -2012-04-24 Leo Liu - - * progmodes/python.el: Move hideshow setup to the end. - -2012-04-24 Martin Rudalics - - * window.el (handle-select-window): Clear echo area since this is - no more done by read_char (Bug#11304). - -2012-04-24 Stefan Monnier - - * ibuffer.el (ibuffer-mode-map): Bind `/ m' to filter-used-mode - and `/ M' to filter-derived-mode. - * ibuf-ext.el (ibuffer-list-buffer-modes): Simplify; avoid add-to-list. - (ibuffer-filter-by-mode, ibuffer-filter-by-used-mode) - (ibuffer-mark-by-mode): Use default rather than initial-input. - (ibuffer-filter-by-derived-mode): Autoload and require-match. - -2012-04-24 Ivan Andrus (tiny change) - - * ibuf-ext.el (ibuffer-list-buffer-modes): Add `include-parents' arg. - (ibuffer-filter-by-derived-mode): New filter. - * ibuffer.el (ibuffer-mode-map): Bind to `/ w'. - -2012-04-23 Andreas Politz - - * subr.el (accept-change-group): Fix arg usage (Bug#6095). - -2012-04-23 Chong Yidong - - * cus-edit.el (customize-apropos, customize-apropos-options): - Disable matching of non-option variables (Bug#11176). - (customize-option, customize-option-other-window) - (customize-changed-options): Doc fix. - (customize-apropos-options, customize-apropos-faces) - (customize-apropos-groups): Use apropos-read-pattern (Bug#11124). - - * apropos.el (apropos-read-pattern): Make prompt less cryptic. - Fix word list splitting (Bug#11132). - (apropos-symbol, apropos-keybinding, apropos-label) - (apropos-property, apropos-function-button) - (apropos-variable-button, apropos-misc-button): New faces. - (apropos-symbol-face, apropos-keybinding-face) - (apropos-label-face, apropos-property-face, apropos-match-face): - Variables removed (Bug#8396). - (apropos-library-button, apropos-format-plist, apropos-print) - (apropos-print-doc, apropos-describe-plist): Callers changed. - -2012-04-23 Michael Albinus - - * net/xesam.el (xesam-mode-map): Use let-bound map in - initialization. (Bug#11292) - -2012-04-23 Agustín Martín Domingo - - Preserve ispell session localwords when switching back to - original buffer. - - * textmodes/ispell.el (ispell-buffer-session-localwords): - New buffer-local variable to hold buffer session localwords. - (ispell-kill-ispell): Add option 'clear to delete session - localwords. - (ispell-command-loop, ispell-change-dictionary) - (ispell-buffer-local-words): Preserve session localwords when - needed. - - * textmodes/flyspell.el (flyspell-process-localwords) - (flyspell-do-correct): Preserve session localwords when needed. - -2012-04-23 Agustín Martín Domingo - - * textmodes/ispell.el (ispell-insert-word) Remove unneeded function - using obsolete `translation-table-for-input'. - (ispell-word, ispell-process-line, ispell-complete-word): - Use plain `insert' instead of removed `ispell-insert-word'. - -2012-04-22 Chong Yidong - - * cus-edit.el (custom-variable-menu) - (custom-variable-reset-saved, custom-face-menu) - (custom-face-reset-saved): If there is no saved value, make the - "reset-saved" operation bring back the default (Bug#9509). - (custom-face-state): Properly detect themed faces. - - * faces.el (face-spec-set): Stop supporting deprecated form of - third arg. - -2012-04-22 Michael Albinus - - Move functions from C to Lisp. Make non-blocking method calls - the default. Implement further D-Bus standard interfaces. - - * net/dbus.el (dbus-message-internal): Declare function. - Remove unneeded function declarations. - (defvar dbus-message-type-invalid, dbus-message-type-method-call) - (dbus-message-type-method-return, dbus-message-type-error) - (dbus-message-type-signal): Declare variables. Remove local - definitions. - (dbus-interface-dbus, dbus-interface-peer) - (dbus-interface-introspectable, dbus-interface-properties) - (dbus-path-emacs, dbus-interface-emacs, dbus-return-values-table): - Adapt docstring. - (dbus-interface-objectmanager): New defconst. - (dbus-call-method, dbus-call-method-asynchronously) - (dbus-send-signal, dbus-method-return-internal) - (dbus-method-error-internal, dbus-register-service) - (dbus-register-signal, dbus-register-method): New defuns, moved - from dbusbind.c - (dbus-call-method-handler, dbus-setenv) - (dbus-get-all-managed-objects, dbus-managed-objects-handler): - New defuns. - (dbus-call-method-non-blocking): Make it an obsolete function. - (dbus-unregister-object, dbus-unregister-service) - (dbus-handle-event, dbus-register-property) - (dbus-property-handler): Obey the new structure of - `bus-registered-objects'. - (dbus-introspect): Use `dbus-call-method'. Use a timeout. - (dbus-get-property, dbus-set-property, dbus-get-all-properties): - Use `dbus-call-method'. - -2012-04-22 Chong Yidong - - * cus-edit.el (custom-commands, custom-reset-menu) - (Custom-reset-standard): Tweak labels. - (custom-reset-button-menu): Change default to t. - (custom-buffer-create-internal): For the custom-reset-button-menu - case, put the revert button first. - (custom-group-subtitle): New face. - (custom-group-value-create): Align docstring to a specific column. - - * wid-edit.el (widget-documentation-link-add): Don't handle - indentation in this function. - (widget-documentation-string-indent-to): New function. - (widget-documentation-string-value-create): Use it. - - * autorevert.el (auto-revert): - * epg-config.el (epg): - * ibuffer.el (ibuffer): - * mpc.el (mpc): - * ses.el (ses): - * eshell/eshell.el (eshell): - * net/ange-ftp.el (ange-ftp): - * progmodes/ebnf2ps.el (postscript): - * progmodes/flymake.el (flymake): - * progmodes/prolog.el (prolog): - * progmodes/verilog-mode.el (verilog-mode): - * progmodes/which-func.el (which-func): - * term/xterm.el (xterm): - * textmodes/picture.el (picture): - * textmodes/tildify.el (tildify): - * vc/ediff.el (ediff): Tweak defgroups to improve presentation in - customization buffers. - -2012-04-22 Alan Mackenzie - - * progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): - Adding a ) can hide the resulting (..) from searches. Fix it. - Bound the backward search to the position of the existing (. - -2012-04-21 Juanma Barranquero - - * progmodes/verilog-mode.el (verilog-mode): Check whether - which-func-modes is t before adding verilog-mode. - Reported by Andy Moreton . - -2012-04-21 Leo Liu - - * net/rcirc.el (rcirc): Avoid error when process-contact returns t. - -2012-04-21 Michael Vehrs - - * woman.el: Add support for "T{ T}" tbl syntax, and fix the - filling of the last column of a table (Bug#5635). - (woman-find-next-control-line): New arg, specifying an additional - regexp component for the control line. - (woman2-roff-buffer): Use it. - (woman-break-table): New function. - (woman2-TS): Use it. - -2012-04-21 Chong Yidong - - * woman.el (woman-set-buffer-display-table, woman-decode-region) - (woman-horizontal-escapes, woman-negative-vertical-space) - (woman-tab-to-tab-stop, woman2-fc, woman2-TS) - (WoMan-warn-ignored): Use ?\s instead of ?\ . - -2012-04-20 Stefan Monnier - - * minibuffer.el (completion-file-name-table): Complete user names. - -2012-04-20 Leo Liu - - * font-lock.el (lisp-font-lock-keywords-2): Add pcase, pcase-let - and pcase-let*. - -2012-04-20 Chong Yidong - - * server.el (server-execute): Respect initial-buffer-choice if it - is a string and there are no files to open (Bug#2825). - (server-create-window-system-frame, server-create-tty-frame): - Don't switch buffers here. - (server-process-filter): Only try to open a window system frame if - compiled with graphical support (Bug#8314). - -2012-04-20 Dan Nicolaescu - - * battery.el (battery-echo-area-format): Display remaining time - for sysfs backend too (Bug#11269). - (battery-linux-sysfs): Fix conditional for the charge. - -2012-04-20 Chong Yidong - - * progmodes/gdb-mi.el (gdb): Revert previous change. - (gdb-inferior-io--init-proc): New function. - (gdb-init-1): Use it. - (gdb-inferior-io-sentinel): New sentinel for the gdb-inferior pty, - responsible for allocating a new pty and hooking it to gdb when - the old pty gets an EIO due to process exit. - (gdb-delchar-or-quit): New command. Bind it in gdb-mi buffers. - (gdb-tooltip-print): Don't use obsolete tooltip-use-echo-area. - (gdb-inferior-io--maybe-delete-pty): Move into gdb-reset. - -2012-04-20 Eli Zaretskii - - * window.el (window-min-size, window-sizable, window-min-delta) - (window-max-delta, window--resizable, window-resizable) - (window-total-size, window-full-height-p, window-full-width-p) - (window-in-direction, window--resize-mini-window, window-resize) - (window--resize-child-windows-normal) - (window--resize-child-windows, window--resize-siblings) - (window--resize-this-window, adjust-window-trailing-edge) - (enlarge-window, shrink-window): Doc fixes. - -2012-04-20 Chong Yidong - - * progmodes/gdb-mi.el (gdb-inferior-io--maybe-delete-pty): - New function to call delete-process on the gdb-inferior buffer's pty. - (gdb-reset): Use it, instead of relying on kill-buffer to kill the - pty process (Bug#11273). - (gdb-update): New arg to suppress talking to the gdb process. - (gdb-done-or-error): Use it. - (gdb-stopped-functions): Rename from gdb-stopped-hooks. - (gdb): Call gdb-inferior-io--maybe-delete-pty as a workaround for - sentinel not being called. - - * comint.el (make-comint-in-buffer, comint-exec): Doc fix. - - * progmodes/grep.el (grep, rgrep): Doc fix (Bug#11268). - -2012-04-20 Glenn Morris - - * net/network-stream.el (open-network-stream): Doc fix. - -2012-04-20 Chong Yidong - - * emacs-lisp/tabulated-list.el (tabulated-list-print): Fix typos. - -2012-04-20 Alan Mackenzie - - Ensure searching for keywords is case sensitive. - - * progmodes/cc-cmds.el (c-electric-brace, c-electric-lt-gt) - (c-electric-paren, c-beginning-of-defun, c-end-of-defun) - (c-defun-name, c-mark-function, c-cpp-define-name) - (c-comment-indent, c-scan-conditionals, c-indent-defun) - (c-context-line-break): Bind case-fold-search to nil. - - * progmodes/cc-mode.el (c-font-lock-fontify-region): - Bind case-fold-search to nil. - -2012-04-20 Chong Yidong - - * mail/sendmail.el (mail-bury): Call return action with the right - Rmail buffer (Bug#11242). - - * server.el (server-process-filter): Handle corner case where both - tty and nowait options are present (Bug#11102). - -2012-04-20 Eli Zaretskii - - * version.el (emacs-bzr-version, emacs-bzr-get-version): Doc fixes. - (top level): Put into the executable the ident-style '$Id:' tag on - windows-nt as well. - -2012-04-19 Stefan Monnier - - * electric.el (electric-indent-post-self-insert-function): Check that - electric-indent-mode is enabled in current buffer. - -2012-04-19 Juanma Barranquero - - * imenu.el (imenu-progress-message): Restore; it is "used" in - erc/erc-imenu.el and net/snmp-mode.el. - -2012-04-19 Juanma Barranquero - - * avoid.el (mouse-avoidance-mode): Mark unused arg. - (mouse-avoidance-nudge-mouse): Remove unused binding. - - * bs.el (bs-toggle-readonly): Call `toggle-read-only' interactively. - - * descr-text.el (describe-char): - * progmodes/python.el (python-describe-symbol): - Don't call `toggle-read-only', set `buffer-read-only'. - - * imenu.el (imenu-default-goto-function): Mark unused args. - (imenu-progress-message): Remove obsolete macro; all callers changed. - - * subr.el (keymap-canonicalize): Remove unused binding. - (read-passwd): Mark unused arg. - - * tutorial.el (tutorial--display-changes): Remove unused binding. - (tutorial--save-tutorial-to): Remove unused variable. - - * emacs-lisp/package.el (define-package, package-menu-mark-delete) - (package-menu-mark-install, package-menu-mark-unmark): Mark unused args. - (package-generate-autoloads, package-menu--generate) - (package-menu--find-upgrades): Remove unused bindings. - - * emulation/cua-rect.el (cua-restrict-regexp-rectangle) - (cua-restrict-prefix-rectangle): Doc fixes. Remove unused bindings. - (cua--mouse-ignore, cua--delete-rectangle, cua--extract-rectangle) - (cua--indent-rectangle, cua-open-rectangle, cua-close-rectangle) - (cua-blank-rectangle, cua-string-rectangle, cua-replace-in-rectangle) - (cua-incr-rectangle, cua-sequence-rectangle, cua--convert-rectangle-as) - (cua--rectangle-aux-replace, cua--left-fill-rectangle) - (cua-scroll-rectangle-up, cua-scroll-rectangle-down) - (cua-delete-char-rectangle): Mark unused args. - (cua-align-rectangle): Remove unused binding. - - * mail/rmail.el (compilation--message->loc) - (epa--find-coding-system-for-mime-charset): Declare. - - * net/dbus.el (dbus-register-service): Declare. - (dbus-name-owner-changed-handler): Remove unused binding. - - * nxml/nxml-mode.el (nxml-electric-slash, nxml-in-mixed-content-p) - (nxml-compute-indent-from-matching-start-tag): Remove unused variables. - (nxml-scan-backward-within): Mark unused arg. - (nxml-dynamic-markup-word): Remove unused binding. - - * mouse.el (mouse-menu-major-mode-map): - * emacs-lisp/authors.el (authors-scan-change-log) - (authors-add-to-author-list): - * emacs-lisp/avl-tree.el (avl-tree--enter-balance): - * emacs-lisp/smie.el (smie-auto-fill): - * mail/sendmail.el (mail-bury): - * mail/unrmail.el (unrmail): - * net/tls.el (open-tls-stream): - * textmodes/picture.el (picture-mouse-set-point): - Remove unused bindings. - -2012-04-19 Michael Albinus - - * net/tramp.el (tramp-action-password): Let-bind - `enable-recursive-minibuffers' to t. - -2012-04-18 Sam Steingold - - * progmodes/gud.el (gud-key-prefix): Use :type 'key-sequence - instead of 'string to accommodate values like [f11]. - Always use `vconcat' instead of `concat' on it, like in `gud-def'. - * progmodes/gdb-mi.el: Likewise. - -2012-04-18 Leo Liu - - * abbrev.el (edit-abbrevs): Move point to the abbrev table of - current buffer. - (prepare-abbrev-list-buffer): Enter edit-abbrevs-mode only if - LOCAL is nil. - -2012-04-18 Chong Yidong - - * simple.el (line-move): Use forward-line if in batch mode - (Bug#11053). - -2012-04-18 Christopher Schmidt - - * files.el (after-find-file): Do not try to add a final newline if - the buffer is read-only (Bug#11156). - -2012-04-17 Richard Stallman - - * mail/rmail.el (rmail-start-mail): - Pass (rmail-mail-return...) for the return-action. - Pass (rmail-yank-current-message...) for the yank-action. - (rmail-yank-current-message): New function. - (rmail-mail): Pass the Rmail buffer, not view buffer, for replybuffer. - (rmail-reply): Likewise. - (rmail-forward): Pass the Rmail buffer, not nil, for replybuffer. - - * mail/sendmail.el (mail-bury): Choose the first rmail-mode - buffer, not the last. Reject temp buffers. Use the rmail-mode - buffer, not newbuf. - -2012-04-17 Juanma Barranquero - - * server.el (server-ensure-safe-dir): Simplify. - -2012-04-17 Stefan Monnier - - * emacs-lisp/smie.el: Provide smarter auto-filling. - (smie-auto-fill): New function. - (smie-setup): Use it. - - * newcomment.el (comment-choose-indent): Obey comment-inline-offset. - -2012-04-17 Philipp Haselwarter (tiny change) - - * newcomment.el (comment-inline-offset): New custom var (bug#11090). - (comment-indent): Use it. - -2012-04-17 Vincent Belaïche - - * ses.el: The overall change is to add cell renaming, that is - setting fancy names for cell symbols other than name matching - "\\`[A-Z]+[0-9]+\\'" regexp . - (ses-localvars): Add ses--renamed-cell-symb-list. - (ses-create-cell-variable): New defun. - (ses-destroy-cell-variable-range): Respect ses--numrows, ses--numcols. - (ses-relocate-formula): Relocate formulas only for cells the - symbols of which are not renamed, i.e. symbols whose names do not - match regexp "\\`[A-Z]+[0-9]+\\'". - (ses-relocate-all): Relocate values only for cells the symbols of - which are not renamed. - (ses-load): Create cells variables as the (ses-cell ...) are read, - in order to check row col consistency with cell symbol name only - for cells that are not renamed. - (ses-replace-name-in-formula): New defun. - (ses-rename-cell): New defun. - -2012-04-17 Peter Oliver (tiny change) - - * progmodes/perl-mode.el (perl-indent-parens-as-block): - New option (bug#11118). - (perl-calculate-indent): Respect it. - -2012-04-17 Glenn Morris - - * dired-aux.el (dired-mark-read-string): Doc fix. - -2012-04-17 Dmitry Antipov - - * dired-aux.el (dired-mark-read-string): Offer optional completion. - (dired-do-chxxx): Complete chown, chgrp over users, groups. (Bug#7900) - -2012-04-17 Glenn Morris - - * mouse.el (mouse-drag-track): - * speedbar.el (speedbar-frame-mode): - Use auto-hscroll-mode rather than the alias automatic-hscrolling. - -2012-04-16 Leo Liu - - * progmodes/python.el: Trivial cleanup. - -2012-04-16 Glenn Morris - - * vc/vc.el (vc-string-prefix-p): - * vc/pcvs-util.el (cvs-string-prefix-p): - * textmodes/tex-mode.el (latex-string-prefix-p, tex-string-prefix-p): - * mpc.el (mpc-string-prefix-p): - Make all of these into obsolete aliases for string-prefix-p. - Update callers. - * vc/pcvs.el, vc/vc-dispatcher.el, vc/vc-dir.el: Update callers. - - * textmodes/two-column.el: Move custom options to the start. - (frame-width): Remove compat definition. - (2C-associate-buffer, 2C-dissociate): - Use with-current-buffer rather than save-excursion. - (2C-dissociate): Force a mode-line update. - (2C-autoscroll): Use ignore-errors. - - * emacs-lisp/eieio-opt.el (describe-class, describe-generic): - Autoload trivia. - - * emacs-lisp/cl-extra.el (*random-state*): - Remove unnecessary declaration. - - * calendar/cal-tex.el (cal-tex-end-document): Trivial clarification. - - * play/cookie1.el (cookie-snarf): - Give an explicit error if input file cannot be read. - - * play/yow.el (yow-file): Use expand-file-name rather than concat. - - * progmodes/perl-mode.el (c-macro-expand): - Remove unnecessary autoload (it is in loaddefs.el). - - * textmodes/picture.el (picture-desired-column) - (picture-update-desired-column): Convert comments to doc-strings. - (picture-substitute): Remove function. - (picture-mode-map): Initialize in the defvar. - - * woman.el: Remove eval-after-load for tar-mode. - * tar-mode.el (tar-mode-map): Add woman binding and menu entry. - (woman-tar-extract-file): Autoload it. - - * frame.el (automatic-hscrolling): Make this alias obsolete. - -2012-04-12 Agustín Martín Domingo - - * textmodes/ispell.el (ispell-set-spellchecker-params): Post-process - `ispell-dictionary-alist' to use [:alpha:] and utf-8 if possible. - (ispell-dictionary-base-alist): Revert to original XEmacs - friendly version for default. [:alpha:] will be added in - `ispell-set-spellchecker-params' if needed. - -2012-04-16 Chong Yidong - - * image.el (imagemagick--file-regexp): New variable. - (imagemagick-register-types): Use it. - (imagemagick-types-inhibit): Add :set function. Allow new value - of t to inhibit all types. - - * emacs-lisp/regexp-opt.el (regexp-opt-charset): Avoid cl macros, - so we can preload it. - - * loadup.el (fboundp): Preload regexp-opt, needed by - imagemagick-register-types. - -2012-04-15 Chong Yidong - - * frame.el (scrolling): Remove nearly unused customization group. - - * scroll-all.el (scroll-all-mode): Move to windows group. - -2012-04-15 Chong Yidong - - * bindings.el (goto-map): Bind goto-char to M-g c (Bug#11240). - -2012-04-15 Stefan Monnier - - Avoid the use of ((lambda ...) ...) in lexical-binding code. - * emacs-lisp/easy-mmode.el (define-minor-mode): Use funcall (bug#11241). - -2012-04-15 Glenn Morris - - * simple.el (process-file-side-effects): Doc fix. - -2012-04-15 Glenn Morris - - * international/mule-cmds.el (set-language-environment): Doc fix. - -2012-04-14 Juanma Barranquero - - * server.el (server-auth-key, server-generate-key): Doc fixes. - (server-get-auth-key): Doc fix. Use `string-match-p'. - (server-start): Reflow docstring. - -2012-04-14 Lars Ingebrigtsen - - * server.el (server-generate-key): `called-interactively-p' - requires a parameter. - -2012-04-14 Michal Nazarewicz - - * server.el (server-auth-key): New variable. - (server-generate-key, server-get-auth-key): New function. - (server-start): Use the new variable and functions to allow - setting a permanent server key (bug#9423). - -2012-04-14 Leo Liu - - * vc/diff-mode.el (diff-file-prev/next): Fix typo. - -2012-04-14 Paul Eggert - - Spelling fixes. - * hexl.el (hexl-rulerize): Rename from hexl-rulerise, since - Emacs uses American spelling. - -2012-04-14 Juanma Barranquero - - * emacs-lock.el (emacs-lock-locked-buffer-functions): New hook. - (emacs-lock--exit-locked-buffer): Return the locked buffer. Doc fix. - (emacs-lock--kill-emacs-hook, emacs-lock--kill-emacs-query-functions) - (emacs-lock--kill-buffer-query-functions): Run new hook. (Bug#11017) - -2012-04-14 Stefan Monnier - - * progmodes/which-func.el (which-func-modes): Change default. - -2012-04-14 Kim F. Storm - - * emulation/cua-base.el (cua-exchange-point-and-mark): Just call - exchange-point-and-mark if cua-enable-cua-keys is nil (Bug#11191). - -2012-04-14 Chong Yidong - - * custom.el (custom-theme-set-variables): Doc fix. - -2012-04-14 Glenn Morris - - * international/mule.el (set-auto-coding-for-load): Doc fix. - -2012-04-14 Alan Mackenzie - - * progmodes/cc-menus.el (cc-imenu-objc-generic-expression): Make - imenu work again for Objective C Mode. Correct the *-index values, - these having been disturbed by a previous change in 2011-08. - - * progmodes/cc-engine.el (c-before-change-check-<>-operators): - Correct two search limits. - -2012-04-14 Stefan Monnier - - * startup.el (command-line-1): Inhibit splash from daemon (bug#10996). - -2012-04-14 Andreas Schwab - - * international/characters.el: Fix sorting. - -2012-04-14 Eli Zaretskii - - * international/characters.el: Add more missing Latin case pairs. - -2012-04-14 Glenn Morris - - * files.el (dir-locals-set-class-variables): Doc fix. - -2012-04-14 Eli Zaretskii - - * international/characters.el: Add set-case-syntax-pair call for - LATIN CAPITAL LETTER Y WITH DIAERESIS RET and its lower-case - counterpart. (Bug#11209) - - * simple.el (shell-command-on-region): Doc fix. (Bug#11208) - -2012-04-14 Glenn Morris - - * calendar/holidays.el (calendar-check-holidays): Doc fix. - -2012-04-14 Eli Zaretskii - - * textmodes/ispell.el (ispell-dictionary-base-alist): - Add data for Hebrew. - -2012-04-14 Chong Yidong - - * net/rcirc.el (rcirc-cmd-quit): - Revert 2012-03-18 change (Bug#11192). - -2012-04-14 Glenn Morris - - * pcmpl-rpm.el (pcomplete/rpm): Handle -qf. - -2012-04-14 Eli Zaretskii - - * minibuffer.el (completion-in-region-mode-map): - Bind completion-help-at-point to M-? rather than ?. (Bug#11182) - -2012-04-13 Vivek Dasmohapatra - - * hexl.el (hexl-insert-char): Make display sizes other than 16 work. - -2012-04-13 Masatake YAMATO - - * minibuffer.el (minibuffer-local-filename-syntax): New variable - to allow `C-M-f' and `C-M-b' to move to the nearest path - separator (bug#9511). - -2012-04-13 Lars Ingebrigtsen - - * avoid.el: Require cl when compiling. And also move the - `provide' to the end. - -2012-04-13 Thierry Volpiatto - - * avoid.el (mouse-avoidance-banish-position): New variable. - (mouse-avoidance-banish-destination): Use it (bug#10165). - -2012-04-13 Leo Liu - - * progmodes/which-func.el (which-func-modes): Add objc-mode. - -2012-04-13 Ken Brown - - * net/browse-url.el (browse-url-file-url): Remove Cygwin hack; - this is no longer needed now that cygstart understands file:// URLs. - (browse-url-filename-alist): For the same reason, don't modify - file:// URLs on Cygwin. - -2012-04-13 Stefan Monnier - - * emulation/cua-base.el (cua--pre-command-handler-1): Don't activate - the region on shift if the binding is already shifted (bug#11221). - -2012-04-12 Glenn Morris - - * mail/mailpost.el: Move to obsolete/. - -2012-04-12 Drew Adams - - * imenu.el (imenu--generic-function): Ignore invisible definitions - (bug#10123). - -2012-04-12 Vivek Dasmohapatra - - * hexl.el (hexl-bits): New variable. - (hexl-options): Mention the variable in the doc string. - (hexl-rulerise, hexl-line-displen): New functions. - (hexl-mode): Mention the new variable. - (hexl-mode, hexl-current-address, hexl-current-address): - Use the displen. - (hexl-ascii-start-column): New function. - (hexl-address-to-marker, hexl-beginning-of-line, hexl-options) - (hexl-insert-char, hexl-mode-ruler): Use the displen (bug#4941). - -2012-04-12 Agustín Martín Domingo - - * textmodes/flyspell.el (flyspell-large-region): For hunspell, use - '("-i" ENCODING), in 2 separate command-line arguments, to specify - the encoding, as expected by hunspell. - -2012-04-12 Stefan Monnier - - * battery.el (battery--linux-sysfs-regexp): New const. - (battery-status-function): Use it. Remove yeeloong special case. - (battery-yeeloong-sysfs): Remove. - (battery-echo-area-format): Remove yeeloong special case. - -2012-04-11 Stefan Monnier - - * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil. - Reported by Noah Friedman. - - * subr.el (read-passwd): Use read-string. - -2012-04-11 Lars Magne Ingebrigtsen - - * vcursor.el (vcursor-move): Increase the priority of the overlay - (bug#9663). - -2012-04-11 Deniz Dogan - - * net/rcirc.el (rcirc-kill-channel-buffers): New variable. - (rcirc-kill-buffer-hook): Use it to kill channel buffers (bug#5128). - -2012-04-11 William Stevenson - - * textmodes/artist.el (artist-mode): Convert artist-mode to use - define-minor-mode (bug#10760). - -2012-04-11 Wolfgang Jenkner (tiny change) - - * progmodes/grep.el (rgrep): Tweak the find command line so - that directories matching `grep-find-ignored-files' won't be - pruned (bug#10351). - -2012-04-11 Chong Yidong - - * startup.el (command-line): Remove support for long-obsolete - variable font-lock-face-attributes. - -2012-04-11 Glenn Morris - - * vc/vc-bzr.el (vc-bzr-status): Avoid condition-case-unless-debug. - -2012-04-11 Stefan Monnier - - * window.el (window--state-get-1): Obey window-point-insertion-type. - -2012-04-11 Lennart Borgman - - * emacs-lisp/lisp.el (narrow-to-defun): `beginning-of-defun' goes - to previous function when point is on the first character of a - function. Take care of that in `narrow-to-defun' (bug#6157). - -2012-04-11 Glenn Morris - - * vc/vc-bzr.el (vc-bzr-status): Handle all errors, - not just file-errors. - - * vc/vc-bzr.el (vc-bzr-sha1-program, sha1-program): Remove. - (vc-bzr-sha1): Use internal sha1. - -2012-04-11 Stefan Monnier - - * progmodes/flymake.el (flymake-mode): Beware read-only dirs (bug#8954). - -2012-04-10 Sébastien Gross (tiny change) - - * progmodes/hideshow.el (hs-hide-all): Don't infloop on comments - that start in the middle of the line (bug#10496). - -2012-04-10 Dan Nicolaescu - - * battery.el (battery-linux-proc-acpi): Only one battery is - discharged at a time, but that seems to confuse battery.el when - computing `rate-type' for the battery not being discharged - (bug#10332). - -2012-04-10 Stefan Monnier - - * emacs-lisp/autoload.el (autoload-make-program): Remove, unused. - - * international/quail.el: Use dolist and simplify. - (quail-define-package, quail-update-keyboard-layout) - (quail-define-rules): Use dolist. - (quail-insert-kbd-layout, quail-get-translation): CSE. - - * tmm.el: Use dolist, remove left over hook. - (tmm-prompt, tmm-define-keys, tmm-shortcut, tmm-get-keybind): - Use dolist. - (calendar-load-hook): Don't mess with it. - - * vc/vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal): - Use derived-mode-p. Run the diff asynchronously. - -2012-04-10 Lars Magne Ingebrigtsen - - * obsolete/mouse-sel.el: Add an Obsolete-since header. - -2012-04-10 Juanma Barranquero - - * misc.el: Display absolute path of loaded DLLs (bug#10424). - (list-dynamic-libraries--loaded): New function. - (list-dynamic-libraries--refresh): Use it. - -2012-04-10 Nathan Weizenbaum - - * progmodes/python.el (python-fill-paragraph): - Make python-fill-region in a multiline string work when font-lock is - disabled (bug#7018). - -2012-04-10 Laimonas Vėbra (tiny change) - - * language/european.el (cp775): Add oem/legacy (en)coding on - DOS/MS Windows for the Baltic languages. There are still plenty - of texts written in this encoding/codepage (bug#6519). - -2012-04-10 Glenn Morris - - * cus-start.el (eol-mnemonic-unix, eol-mnemonic-dos, eol-mnemonic-mac): - Add :standard values, reducing "rogue" customs in emacs -Q a bit more. - -2012-04-10 Florian Adamsky (tiny change) - - * recentf.el (recentf-dialog-mode-map): Add two keybindings for - next-line "n" and previous-line "p" in order to make recentf more - consistent with ibuffer, dired or org-mode (bug#9387). - -2012-04-10 Lars Magne Ingebrigtsen - - * image.el (put-image): Return the overlay created instead of the - optional input string (bug#7834). Note that this may break code - that is (for some reason or other) depending on `put-image' - returning the string. - - * mouse-sel.el (mouse-sel-mode): Mark as obsolete (bug#6174). - - * simple.el (zap-to-char): Allow zapping using input methods - (bug#1580). - - * textmodes/fill.el (fill-region): Leave point and mark where they - were before filling (bug#5399). - -2012-04-09 Glenn Morris - - * version.el (emacs-bzr-get-version): - Handle lightweight checkouts of local branches. - -2012-04-09 Andreas Schwab - - * international/characters.el: Recover lost case pairs. (Bug#11209) - -2012-04-09 Chong Yidong - - * custom.el (custom-variable-p): Return nil for non-symbol - arguments instead of signaling an error. - (user-variable-p): Obsolete alias for custom-variable-p. - - * apropos.el (apropos-variable): - * files-x.el (read-file-local-variable): - * simple.el (set-variable): - * woman.el (woman-mini-help): - * emacs-lisp/byte-opt.el (side-effect-free-fns): Callers changed. - -2012-04-09 Glenn Morris - - * startup.el (normal-top-level): Don't look for leim-list.el - in places where it will not be found. (Bug#910) - - * international/mule-cmds.el (set-default-coding-systems): - * files.el (normal-mode): - Remove guarded calls to ucs-set-table-for-input. (Bug#9821) - This function was removed with ucs-tables.el in 2008. - -2012-04-08 Eli Zaretskii - - * textmodes/ispell.el (ispell-check-version): For hunspell, set - ispell-encoding8-command to "-i", without a trailing space. - (ispell-start-process): For hunspell, use '("-i" ENCODING), in 2 - separate command-line arguments, to specify the encoding, since - that's how hunspell expects it. - -2012-04-08 Glenn Morris - - * loadup.el: Load bindings before cus-start. - This reduces somewhat the number of "rogue" settings in emacs -Q. - -2012-04-07 Glenn Morris - - * version.el (emacs-bzr-get-version): New function. - (emacs-bzr-version): New variable. - * loadup.el (emacs-bzr-version): Set it. (Bug#8054) - * mail/emacsbug.el (report-emacs-bug): Include bzr version. - -2012-04-07 Eli Zaretskii - - * international/uni-bidi.el, international/uni-category.el: - * international/uni-combining.el, international/uni-decimal.el: - * international/uni-decomposition.el, international/uni-digit.el: - * international/uni-lowercase.el, international/uni-mirrored.el: - * international/uni-name.el, international/uni-numeric.el: - * international/uni-titlecase.el, international/uni-uppercase.el: - Update for Unicode 6.1. - -2012-04-07 Eli Zaretskii - - * term/w32-win.el (dynamic-library-alist): Add libxml2 DLLs. - -2012-04-05 Lars Magne Ingebrigtsen - - * window.el (shrink-window): Mention the `window-min-height' - variable in the doc string. - -2012-04-05 Bastien Guerry - - * color.el (color-lighten-name): Fix typo. - -2012-04-04 Stefan Monnier - - * server.el (server--on-display-p): New function. - (server--on-display-p): Use it. - -2012-04-04 Gábor Vida (tiny change) - - * ido.el (ido-wide-find-dirs-or-files): Use file-name-absolute-p - (bug#11145). - -2012-04-04 Stefan Monnier - - * comint.el (comint--common-quoted-suffix): Check string boundary - before comparing (bug#11158). - * pcomplete.el (pcomplete--common-quoted-suffix): Idem. - -2012-04-04 Chong Yidong - - * minibuffer.el (completion-extra-properties): Doc fix. - - * subr.el (delayed-warnings-hook): Doc fix. - -2012-04-04 Daiki Ueno - - * epa.el (epa--select-keys): Bind C-c C-c to finish the key - selection (Bug#11159). - (epa-insert-keys): Inform that the default public key will be - exported if no key is selected. - -2012-04-04 Richard Stallman - - * mail/emacsbug.el (report-emacs-bug): Bind inhibit-read-only. - -2012-04-03 Chong Yidong - - * mail/sendmail.el (mail-mode-map): Bind C-c C-i to - mail-insert-file, not its obsolete alias mail-attach-file. - -2012-04-03 Michael Albinus - - * notifications.el (notifications-notify): Fix docstring. - -2012-04-02 Glenn Morris - - * emacs-lisp/authors.el (authors-aliases): Another addition. - -2012-04-02 Michael Albinus - - * net/tramp-gvfs.el (tramp-gvfs-send-command): Apply - `tramp-compat-call-process' instead of `tramp-local-call-process'. - Reported by Magnus Henoch . - -2012-04-01 Chong Yidong - - * files.el (file-in-directory-p): Rename from file-subdir-of-p. - Handle root directory properly. - (copy-directory): Caller changed. - - * dired-aux.el (dired-copy-file-recursive, dired-create-files): - * net/tramp.el (tramp-file-name-for-operation): Callers changed. - -2012-03-31 Glenn Morris - - * term/xterm.el (xterm-extra-capabilities): Doc fix. - - * language/indian.el ("Devanagari"): Fix typo. (Bug#11103) - - * calendar/calendar.el (calendar-window-list) - (calendar-hide-window): Restore. (Bug#11140) - (calendar-exit): Use calendar-window-list, calendar-hide-window again. - - * emacs-lisp/edebug.el (edebug-unwrap-results): Doc fix. - -2012-03-30 Thierry Volpiatto - - * dired-aux.el (dired-copy-file-recursive, dired-create-files): - Check if file is a symlink (Bug#10489). - - * files.el (copy-directory): Likewise. - -2012-03-30 Chong Yidong - - * image.el (imagemagick-types-inhibit) - (imagemagick-register-types): Doc fix. - -2012-03-30 Agustín Martín Domingo - - * textmodes/ispell.el (ispell-get-extended-character-mode): - Disable extended-char-mode for hunspell. hunspell does not support it - and treats ~word as ordinary words in pipe mode. - -2012-03-30 Glenn Morris - - * tutorial.el (help-with-tutorial): Ensure local variables don't - happen to make the buffer read-only. (Bug#11127) - -2012-03-30 Stefan Monnier - - * progmodes/perl-mode.el (perl-indent-line): Use `noindent' in strings. - (perl-calculate-indent): Return `noindent' in strings. - -2012-03-28 Sam Steingold - - * calendar/calendar.el (calendar-exit): Use `quit-windows-on' - instead of the broken adhockery which does not prevent calendar - buffers from being displayed at random after exit. - (calendar-window-list, calendar-hide-window): Remove the broken - adhockery. - -2012-03-28 Glenn Morris - - * replace.el (query-replace-map): Doc fix. - -2012-03-28 Andreas Schwab - - * vc/vc-git.el (vc-git-state): Don't try to match all of the diff - contents. (Bug#11109) - -2012-03-27 Stefan Monnier - - * emacs-lisp/avl-tree.el (avl-tree--enter-balance): Fix paren typo - (bug#11077). - (avl-tree--check, avl-tree--check-node): New funs. - -2012-03-27 Martin Rudalics - - * window.el (switch-to-visible-buffer): New option. - (switch-to-prev-buffer, switch-to-next-buffer): - Observe switch-to-visible-buffer. Make sure that checking for a window - showing a buffer already is done on the same frame. - -2012-03-27 Glenn Morris - - * startup.el (mail-host-address): Doc fix. - -2012-03-26 Stefan Monnier - - * emacs-lisp/bytecomp.el (byte-compile-constants-vector): Allow more - than 197 variables. - -2012-03-26 Ami Fischman - - * vc/vc-git.el (vc-git-state): Avoid unnecessarily locking. - -2012-03-26 Glenn Morris - - * files.el (save-buffers-kill-emacs): Doc fix. - - * startup.el (normal-top-level, command-line, command-line-1): - Give them doc strings. - -2012-03-25 Eli Zaretskii - - * makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead - of same-dir.tst, to avoid stepping on other (parallel) Make job's toes. - -2012-03-25 Chong Yidong - - * custom.el (load-theme): Even if NO-ENABLE arg is t, reenable the - theme if it was previously enabled before (Bug#11031). - - * cus-theme.el (custom-theme-write-faces): Retrieve current face - spec with custom-face-get-current-spec if its :shown-value is not - determined yet (Bug#9337). - (customize-create-theme, custom-theme-revert): Doc fixes. - - * button.el (button-at): Minor addition to docstring. - -2012-03-24 Simon Leinen - - * vc/vc.el (vc-merge): Fix a prompt. - -2012-03-24 Chong Yidong - - * mwheel.el (mwheel-scroll): Call deactivate-mark at the right - point (Bug#9623). - - * button.el (button-at): Minor addition to docstring. - -2012-03-23 Stefan Monnier - - * newcomment.el (comment-choose-indent): No space after BOL. - -2012-03-22 Sam Steingold - - * window.el (switch-to-prev-buffer): Revert last patch because the - bug turned out to be an advertised feature (Elisp manual 28.14). - -2012-03-22 Glenn Morris - - * vc/vc-bzr.el (vc-bzr-status-switches): New option. (Bug#6724) - (vc-bzr-command): If running "status", pass vc-bzr-status-switches. - -2012-03-22 Lars Magne Ingebrigtsen - - * net/network-stream.el (network-stream-open-starttls): Make error - message under Windows be less misleading. - -2012-03-22 Liang Wang (tiny change) - - * progmodes/etags.el (etags-list-tags): Only use tags which goto-func - understands (bug#9942). - -2012-03-22 Chong Yidong - - * simple.el (end-of-visible-line): Handle return value of - next-single-property-change properly (Bug#9371). - -2012-03-22 Kenichi Handa - - * international/quail.el (quail-insert-kbd-layout): Fix previous - change. To avoid unwanted bidi reordering, use - bidi-string-mark-left-to-right instead of inserting LRO and PDF. - -2012-03-21 Dmitry Gutov - - * progmodes/ruby-mode.el: Don't confuse "end:" for "end" (bug#10786). - (ruby-block-end-re, ruby-delimiter, ruby-parse-partial) - (ruby-beginning-of-indent): Be more careful with the difference - between word-boundary and symbol boundary. - (ruby-mode-syntax-table): Make : a symbol constituent. - -2012-03-21 Andreas Politz - - * outline.el (outline-flag-region): Evaporate overlays (bug#10789). - -2012-03-21 Stefan Monnier - - * progmodes/etags.el (tags-completion-at-point-function): - Improve last fix. - - * files.el (move-file-to-trash): Files aren't regexps (bug#11055). - -2012-03-21 Sam Steingold - - * progmodes/etags.el (tags-completion-at-point-function): - Avoid the error when point is inside the pattern. - -2012-03-21 John Yates (tiny change) - - * progmodes/hideshow.el (hs-inside-comment-p): Fix hiding of first - line (Bug#10855). - -2012-03-21 Drew Adams - - * info.el (Info-menu): Handle string value of FORK arg (Bug#10858). - -2012-03-21 Anmol Khirbat (tiny change) - - * ido.el (ido-set-current-directory, ido-read-internal) - (ido-choose-completion-string, ido-completion-help): Handle nil - value of ido-completion-buffer (Bug#11008). - -2012-03-21 Sam Steingold - - * window.el (switch-to-prev-buffer): Do not switch to a visible - window previous buffer, just like with the frame previous buffers. - -2012-03-21 Chong Yidong - - * faces.el (make-face, make-empty-face, copy-face): - * face-remap.el (face-remap-add-relative, face-remap-set-base): - Doc fixes. - -2012-03-21 Stefan Monnier - - * wid-edit.el (widget-complete-field): Remove (bug#11051). - (widget-complete): Remove broken use of it. - -2012-03-20 Chong Yidong - - * emacs-lisp/tabulated-list.el (tabulated-list-print-entry): - Use string-width and truncate-string-width to handle arbitrary - characters. - -2012-03-20 Tassilo Horn - - * textmodes/artist.el (artist-menu-map): Bind Rectangle menu item - to draw rectangles, not squares. (Regression introduced by revno - 2011-03-02T03:48:01Z!cyd@stupidchicken.com) - -2012-03-18 Chong Yidong - - * faces.el (face-spec-reset-face): Don't call display-graphic-p if - it is not yet defined (for temacs). - -2012-03-18 Leo Liu - - * net/rcirc.el (rcirc-cmd-quit): Allow quitting all servers with - prefix. - -2012-03-17 Eli Zaretskii - - * textmodes/ispell.el (ispell-skip-tib, ispell-keep-choices-win) - (ispell-choices-win-default-height, ispell-silently-savep) - (ispell-dictionary-alist, ispell-encoding8-command) - (ispell-check-version, ispell-aspell-find-dictionary) - (ispell-valid-dictionary-list, ispell-words-keyword) - (ispell-get-word, ispell-internal-change-dictionary) - (ispell-region, ispell-skip-region-list) - (ispell-begin-skip-region-regexp, ispell-ignore-fcc) - (ispell-process-line, ispell-minor-mode, ispell-minor-check) - (ispell-message-text-end, ispell-message) - (ispell-buffer-local-parsing): Doc fix. - -2012-03-13 Jambunathan K - - * htmlfontify.el: Add support for code block fontification for ODT - export (Bug #9914). - (hfy-optimisations): Define new option - `body-text-only' - (hfy-fontify-buffer): Honor above setting. - (hfy-begin-span, hfy-end-span): New routines factored out form - `hfy-fontify-buffer'. - (hfy-begin-span-handler, hfy-end-span-handler): New variables - that permit insertion of custom tags. - (hfy-fontify-buffer): Use above handlers. - (hfy-face-to-css-default): Same as the earlier `hfy-face-to-css'. - (hfy-face-to-css): Re-defined to be a variable. - (hfy-compile-stylesheet): Modify. Allow stylesheet to be built - over multiple runs. This is made possible by having the caller let - bind a special variable `hfy-user-sheet-assoc'. - (htmlfontify-string): New defun. - (hfy-compile-face-map): Make sure that the last char in the - buffer is correctly fontified. - (hfy-face-resolve-face): Whitespace only change. - -2012-03-17 Eli Zaretskii - - * textmodes/ispell.el (ispell-get-decoded-string): Make the error - message more clear. - -2012-03-16 Leo Liu - - * emacs-lisp/copyright.el (copyright-year-ranges): Fix typo. - -2012-03-16 Alan Mackenzie - - Further optimize the handling of large macros. - - * progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use a - limit to a call of `c-literal-limits'. - (c-determine-+ve-limit): New function. - (c-at-macro-vsemi-p): Move `c-in-literal' to the bottom of an `and'. - (c-guess-basic-syntax): In macros, restrict a search limit to 2000. - In CASE 5B, restrict a search limit to 500. - (c-just-after-func-arglist-p): Obviouly wrong `or' -> `and'. - - * progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): - Restrict macro bounds to +-500 from after-change's BEG END. - -2012-03-16 Leo Liu - - * font-lock.el (lisp-font-lock-keywords-2): Add letrec. - -2012-03-16 Aaron S. Hawley - - * tar-mode.el (tar-mode): Fix saving by conditionally undoing - `special-mode' setting of `buffer-read-only'. (Bug#11010) - -2012-03-16 Glenn Morris - - * view.el (view-buffer, view-buffer-other-window) - (view-buffer-other-frame): Doc fixes re special mode-class. - - * subr.el (eval-after-load): If named feature is provided not from - a file, run after-load forms. (Bug#10946) - - * calendar/calendar.el (calendar-insert-at-column): - Handle non-unit-width characters a bit better. (Bug#10978) - -2012-03-15 Chong Yidong - - * emacs-lisp/ring.el (ring-extend): New function. - (ring-insert+extend): Extend the ring correctly (Bug#11019). - - * comint.el (comint-read-input-ring) - (comint-add-to-input-history): Grow comint-input-ring lazily. - -2012-03-15 Stefan Monnier - - * progmodes/perl-mode.el (perl-syntax-propertize-special-constructs): - Fix up parsing of multiline twoarg non-paired elements (bug#11014). - - * imenu.el: Fix multiple inheritance breakage (bug#9199). - (imenu-add-to-menubar): Don't add a redundant index. - (imenu-update-menubar): Handle a dynamically composed keymap. - -2012-03-13 Katsumi Yamaoka - - * mail/sendmail.el (mail-encode-header): - Bind rfc2047-encode-encoded-words to nil. - -2012-03-13 Glenn Morris - - * calendar/calendar.el (calendar-string-spread): - Handle non-unit-width characters a bit better. (Bug#10978) - -2012-03-13 Leo Liu - - * vc/vc-hg.el (vc-hg-working-revision): Rework to work with both - directory and file as argument (Bug#10822). - -2012-03-13 Kaushik Srenevasan (tiny change) - - * progmodes/gdb-mi.el (gdb-invalidate-disassembly): - For dynamically generated code, follow $PC. - (gdb-disassembly-handler-custom): Handle no function name case. - -2012-03-13 Tim Landscheidt (tiny change) - - * calendar/icalendar.el (icalendar-export-file, icalendar-import-file): - * emulation/ws-mode.el (ws-query-replace): - * sort.el (sort-regexp-fields): - Fix missing trailing whitespace in interactive prompts. (Bug#11002) - -2012-03-12 Stefan Monnier - - * dabbrev.el: Fix cycle completion order (bug#10963). - (dabbrev--last-obarray, dabbrev--last-completion-buffer): Remove. - (dabbrev-completion): Don't use an obarray; provide - a cycle-sort-function. - -2012-03-12 Leo Liu - - * simple.el (kill-new): Use equal-including-properties for comparison. - (kill-do-not-save-duplicates): Doc fix. - -2012-03-12 Stefan Monnier - - * dabbrev.el: Fix cycle completion (bug#10963). - Use lexical binding and wrap to 80 columns. - (dabbrev-completion): Delay computing the list of completions. - -2012-03-12 Kenichi Handa - - * international/quail.el (quail-insert-kbd-layout): Surround each - row by LRO and PDF instead of inserting many LRMs. Pad the left - and right of each non-spacing marks. Insert invisible space - between lower and upper characters to prevent composition. - -2012-03-12 Stefan Monnier - - * minibuffer.el (minibuffer-complete): Don't get confused when the - function is run twice via different commands (bug#10958). - (complete-with-action): Fix docstring. - -2012-03-12 Chong Yidong - - * nxml/nxml-mode.el (nxml-mode-map): Do not bind C-RET (Bug#6776). - (nxml-completion-at-point-function): New function. - (nxml-mode): Use it. - (nxml-bind-meta-tab-to-complete-flag): Default to t. - - * emacs-lisp/package.el (package-unpack, package-unpack-single): - Load generated autoloads file before byte compiling (Bug#10970). - (package--make-autoloads-and-compile): New helper fun. - -2012-03-12 Christopher Schmidt - - * ibuffer.el (ibuffer-redisplay): Remove another gratuitous error. - -2012-03-11 Michael Albinus - - * autorevert.el (auto-revert-handler): Ensure, that - file-readable-p is applied only for local files or in - auto-revert-tail-mode. - -2012-03-11 Andreas Schwab - - * server.el (server-eval-at): Handle non-tcp connections. - Decode result string. - - * server.el (server-msg-size): New constant. - (server-reply-print): New function. - (server-eval-and-print): Use it. - (server-eval-at): Use server-quote-arg and server-unquote-arg. - Handle -print-nonl. - -2012-03-11 Christopher Schmidt - - * ibuffer.el (ibuffer-redisplay): Remove gratuitous error - (Bug#10987). - -2012-03-11 Chong Yidong - - * simple.el (goto-line): Doc fix (Bug#9938). - - * subr.el (save-window-excursion): Doc fix (Bug#9979). - - * dabbrev.el (dabbrev--find-expansion): Update progress reporter - when finished (Bug#10963). - -2012-03-11 Martin Rudalics - - * window.el (split-window-below): Fix bug in case where - split-window-keep-point is nil (Bug#10971). - -2012-03-11 Juri Linkov - - * replace.el (replace-highlight): Set isearch-word to nil - unconditionally. (Bug#10887) - -2012-03-10 Eli Zaretskii - - * net/mairix.el (mairix-replace-invalid-chars): Rename from - mairix-replace-illegal-chars; all callers changed. Don't remove - ^, ~, and = characters: they are meaningful in mairix search specs. - (mairix-widget-create-query): Add usage information about mairix - search forms: negating words, searching for substrings, etc. - -2012-03-10 Jae-hyeon Park (tiny change) - - * international/fontset.el (font-encoding-alist): Add an entry for - ksx1001 (Bug#5667). - -2012-03-10 Richard Stallman - - * mail/sendmail.el (mail-encode-header): - Set rfc2047-encode-encoded-words. - - * mail/mail-utils.el (mail-quote-printable): Quote multibyte chars. - - * mail/rmail.el (rmail-buffers-swapped-p): Don't assume dead - view buffer means not swapped. - (rmail-view-buffer-kill-buffer-hook): Give buf name in error msg. - (rmail-write-region-annotate): Error if real text has disappeared. - - * epa-mail.el (epa-mail-encrypt): Bind inhibit-read-only. - -2012-03-10 Chong Yidong - - * emulation/cua-rect.el (cua--init-rectangles): - * emulation/cua-base.el (cua--init-keymaps): - Add delete-forward-char to remappings (Bug#9666). - -2012-03-10 Martin Rudalics - - * speedbar.el (speedbar-unhighlight-one-tag-line): - Avoid unhighlighting due to frame switching (Bug#10275). - -2012-03-10 Chong Yidong - - * minibuffer.el (completion-in-region, completion-help-at-point): - Give the completion field overlay a high priority (Bug#6830). - - * dired.el (dired-goto-file): Recognize absolute file name - listings (Bug#7126). - (dired-goto-file-1): New helper function. - (dired-toggle-read-only): Inhibit warnings. - -2012-03-09 Michael Albinus - - * net/dbus.el (dbus-property-handler): Return empty array if - there are no properties. - -2012-03-09 Leo Liu - - * savehist.el (savehist-printable): Stricter check for string - value (Bug#10937). - -2012-03-09 Eli Zaretskii - - * mail/smtpmail.el (smtpmail-send-it): - Bind coding-system-for-write to *-unix, so that FCC files are kept in - valid mbox format. - -2012-03-09 Glenn Morris - - * files.el (dir-locals-find-file): - Don't check result is regular, readable. - (dir-locals-read-from-file): Demote errors. - -2012-03-08 Eli Zaretskii - - * international/quail.el (quail-insert-kbd-layout): - Insert invisible LRM characters before each character in a keyboard - layout cell, to prevent their reordering by bidi display engine. - For details, see the discussion in - http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00085.html. - -2012-03-08 Alan Mackenzie - - * progmodes/cc-cmds.el (c-mark-function): Make it leave a mark at - the starting position; make it extend the marked region when - invoked repeatedly - all under appropriate circumstances. - Fixes bugs #5525, #10906. - -2012-03-08 Glenn Morris - - * files.el (locate-dominating-file, dir-locals-find-file): - Undo 2012-03-06 change. - -2012-03-07 Eli Zaretskii - - * international/quail.el (quail-help): - Force bidi-paragraph-direction be left-to-right. See discussion in - http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00062.html - for the reason. - -2012-03-07 Michael Albinus - - Avoid superfluous registering of signals. (Bug#10807) - - * notifications.el (notifications-on-action-object) - (notifications-on-close-object): New defvars. - (notifications-on-action-signal, notifications-on-closed-signal): - Unregister the signal if not needed any longer. - (notifications-notify): Register `notifications-action-signal' or - `notifications-closed-signal', if :on-action or :on-close has been - passed as argument. - -2012-03-07 Chong Yidong - - * cus-start.el: Avoid x-select-enable-clipboard-manager warning on - non-X platforms. - -2012-03-06 Glenn Morris - - * term/pc-win.el (x-selection-owner-p, x-own-selection-internal) - (x-disown-selection-internal, x-get-selection-internal): - Doc fix (add arglist signatures). (Bug#10783) - -2012-03-06 Kaushik Srenevasan (tiny change) - - * progmodes/gdb-mi.el (gdb-breakpoints-list-handler-custom): - Handle breakpoints with no "type". - -2012-03-06 Glenn Morris - - * files.el (locate-dominating-file): Add optional predicate argument. - (dir-locals-find-file): Make use of above change. - -2012-03-06 Thien-Thi Nguyen - - * info.el (Info-insert-dir): Also try "dir.gz". - -2012-03-06 Glenn Morris - - * files.el (dir-locals-find-file): - Ignore non-readable or non-regular files. (Bug#10928) - - * files.el (locate-dominating-file): Doc fix. - -2012-03-06 Adam Spiers (tiny change) - - * calendar/calendar.el (calendar-set-mode-line): - `getenv' returns a string. (Bug#10951) - -2012-03-05 Leo Liu - - * simple.el (backward-delete-char-untabify): Constrain point to - field (Bug#10939). - - * eshell/em-cmpl.el (eshell-cmpl-initialize): Fix shift-tab key. - -2012-03-05 Chong Yidong - - * simple.el (count-words): If called from Lisp, return the word - count, for symmetry with `count-lines'. Arglist changed. - (count-words--message): Args changed. Consolidate counting code - from count-words and count-words-region. - (count-words-region): Caller changed. - (count-lines-region): Make it an obsolete alias. - -2012-03-04 Tassilo Horn - - * saveplace.el (save-place-to-alist) - (save-place-ignore-files-regexp): Allow value nil to disable this - feature. - -2012-03-04 Chong Yidong - - * faces.el (face-spec-reset-face): For the default face, reset the - attributes to default values (Bug#10748). - -2012-03-04 Lars Magne Ingebrigtsen - - * mail/emacsbug.el (report-emacs-bug-hook): Fix up thinko in - previous patch: Check `message-send-mail-function', and not the - default function (bug#10897). - -2012-03-04 Michael Albinus - - * notifications.el (notifications-on-action-signal) - (notifications-on-closed-signal): Check for unique service name of - incoming event. Fix error in removing entry. - (top): Register for signals with wildcard service name. - (notifications-notify): Use daemon unique service name for map entries. - -2012-03-04 Chong Yidong - - * cus-start.el: Make x-select-enable-clipboard-manager customizable. - -2012-03-04 Glenn Morris - - * abbrev.el (copy-abbrev-table, abbrev-table-p) - (abbrev-minor-mode-table-alist, define-abbrev, abbrev-insert) - (expand-abbrev, define-abbrev-table): Doc fixes. - -2012-03-03 Lars Magne Ingebrigtsen - - * mail/emacsbug.el (report-emacs-bug-hook): Look at the value of - `message-default-send-mail-function' and not `send-mail-function' - when doing the prompting for `sendmail-query-once' before sending - in Message buffers (bug#10897). - - * net/tls.el (open-tls-stream): Don't set the dont-query-on-exit flag. - This is inconsistent with all the other stream functions, which leave - the setting up to the higher levels (if so wanted) (bug#10931). - -2012-03-02 Alan Mackenzie - - Depessimize the handling of very large macros. - - * progmodes/cc-engine.el (c-macro-cache, c-macro-cache-start-pos): - (c-macro-cache-syntactic): New variables to implement a one - element macro cache. - (c-invalidate-macro-cache): New function. - (c-beginning-of-macro, c-end-of-macro, c-syntactic-end-of-macro): - Adapt to use the new cache. - (c-state-safe-place): Use better the cache of safe positions. - (c-state-semi-nonlit-pos-cache) - (c-state-semi-nonlit-pos-cache-limit): - New variables for... - (c-state-semi-safe-place): New function. Here, in a macro is "safe". - (c-invalidate-state-cache-1): New stuff for c-state-semi-safe-place. - (c-in-literal, c-literal-limits, c-determine-limit-get-base): - Use c-state-semi-safe-place. - - * progmodes/cc-langs.el (c-get-state-before-change-functions): - Add c-invalidate-macro-cache to the C, C++, Obj entries. - -2012-03-02 Michael Albinus - - * jka-compr.el (jka-compr-call-process): - Apply `file-accessible-directory-p' only when the default directory is - not remote. - -2012-03-01 Michael Albinus - - * files.el (file-equal-p): Fix docstring. Avoid unnecessary - access of FILE2, if FILE1 does not exist. - - * net/tramp-sh.el (tramp-remote-process-environment): Add "PAGER=\"\"". - Reported by Robert Lupton the Good . - - * vc/vc-git.el (vc-git--call): Enable `inhibit-null-byte-detection'. - Add "PAGER=" to `process-environment'. - -2012-03-01 Michael R. Mauger - - * progmodes/sql.el: Bug fix - (sql-get-login-ext): Save login values in globals. - (sql-get-login): Use new version of `sql-get-login-ext'. - (sql-interactive-mode): Set global `sql-connection' to nil. - (sql-connect): Set global values for connection. - (sql-product-interactive): Save global values as buffer local. - -2012-02-29 Leo Liu - - * abbrev.el (define-abbrevs): Reset sys to nil. - -2012-02-28 Thierry Volpiatto - - * files.el (file-equal-p): Rename from `files-equal-p'. - Return nil when one or both files don't exist. - (file-subdir-of-p): Now only top directory must exists, - return nil if it doesn't. - (copy-directory): No need to test with `file-subdir-of-p' after - creating dir. - * net/tramp.el (tramp-file-name-for-operation): Rename `files-equal-p' - to `file-equal-p'. - -2012-02-28 Glenn Morris - - * shell.el (shell-mode): - * progmodes/vhdl-mode.el (wildcard-to-regexp, file-expand-wildcards): - * play/landmark.el (landmark-font-lock-face-O): - * play/handwrite.el (handwrite): - * play/gomoku.el (gomoku-O): - * net/browse-url.el (browse-url-browser-display): - * international/mule.el (define-charset): - * htmlfontify.el (hfy-etags-cmd, hfy-face-attr-for-class): - * filesets.el (filesets-find-file-delay): - * eshell/em-xtra.el (eshell-xtra): - * eshell/em-unix.el (eshell-grep): - * emulation/viper.el (viper-mode): - * emacs-lisp/regexp-opt.el (regexp-opt-group): - * emacs-lisp/easymenu.el (easy-menu-define): - * calendar/timeclock.el (timeclock-use-display-time): - * bs.el (bs-mode): - * bookmark.el (bookmark-save-flag): - Doc fix (standardize possessive apostrophe usage). - -2012-02-27 Chong Yidong - - * emulation/viper-cmd.el (viper-intercept-ESC-key): - Fix key-binding lookup for ESC key (Bug#9146). - - * font-lock.el (font-lock-specified-p): Rename from - font-lock-spec-present. Callers changed. - -2012-02-27 Daniel Hackney - - * emacs-lisp/package.el (package-compute-transaction): - Handle holding a package version to t in package-load-list. - -2012-02-26 Michael Albinus - - * net/tramp.el (tramp-inodes, tramp-devices): Initialize with 0. - (tramp-get-inode, tramp-get-device): Use cached values. - -2012-02-26 Alan Mackenzie - - Check there is a font-lock specification before doing initial - fontification. - - * font-core.el (font-lock-mode): Move the conditional from - :after-hook to font-lock-initial-fontify. - (font-lock-default-function): Move the check for a specification - to font-lock-spec-present. - - * font-lock.el (font-lock-initial-fontify): Call ... - (font-lock-spec-present): New function. - -2012-02-26 Jim Blandy - - * progmodes/gdb-mi.el (gdb-mi-quote): New function. - (gdb-send): Apply it to the operand of the '-interpreter-exec - console' command, so that we can pass arguments with (say) quotes - in them. Store exact string sent in gdb-debug-log (Bug#10765). - -2012-02-26 Chong Yidong - - * help-fns.el (describe-function-1): Clarify description of - remapping (Bug#10844). - - * files.el (files-equal-p): Doc fix. - (file-subdir-of-p): Doc fix. Convert loop macro to plain Lisp, - and quit the loop once a mismatch is found. - -2012-02-25 Juanma Barranquero - - * bs.el (bs--show-with-configuration): Don't throw an error - if the window cannot be split; otherwise, subsequent calls to - bs-show fail, restoring a stale window config. (Bug#10882) - -2012-02-25 Jan Djärv - - * term/ns-win.el (global-map): Bind ns-drag-file to - ns-find-file (Bug#5855, Bug#10050). - -2012-02-25 Andreas Schwab - - * calendar/parse-time.el (parse-time-string): Allow extractor to - return nil. - -2012-02-25 Michael Albinus - - * net/tramp.el (tramp-file-name-for-operation): - Add `files-equal-p' and `file-subdir-of-p'. - - * net/tramp-sh.el (tramp-sh-handle-copy-directory): - * net/tramp-smb.el (tramp-smb-handle-copy-directory): - Add COPY-CONTENTS argument. - -2012-02-25 Chong Yidong - - Add custom groups for VC backends, for consistency with vc-bzr. - - * vc/vc-arch.el (vc-arch): - * vc/vc-cvs.el (vc-cvs): - * vc/vc-git.el (vc-git): - * vc/vc-hg.el (vc-hg): - * vc/vc-mtn.el (vc-mtn): - * vc/vc-rcs.el (vc-rcs): - * vc/vc-sccs.el (vc-sccs): - * vc/vc-svn.el (vc-svn): New customization group (Bug#10871). - All relevant defcustoms reassigned. - -2012-02-25 Chong Yidong - - * newcomment.el (comment-styles): Add autoload (Bug#10868). - - * term/x-win.el (x-initialize-window-system): Reduce default for - x-selection-timeout to 5 seconds (Bug#8869). - -2012-02-24 Thierry Volpiatto - - * files.el (files-equal-p, file-subdir-of-p): New functions. - (copy-directory): Error when trying to copy a directory on itself. - Add missing copy-contents arg to tramp handler. - * dired-aux.el (dired-copy-file-recursive): Same. - (dired-create-files): Modify destination when source is equal to - dest when copying files. - Return also when dest is a subdir of source. (Bug#10489) - -2012-02-24 Michael Albinus - - * net/ange-ftp.el (ange-ftp-parse-netrc): Suppress comment lines. - (Bug#10874) - -2012-02-23 Alan Mackenzie - - * emacs-lisp/easy-mmode.el (define-minor-mode): Add extra - parameter "after-hook:" to allow the expansion to run code after - the execution of the mode hooks. - - * font-lock.el (font-lock-initial-fontify): New function extracted - from font-lock-mode-internal. - - * font-core.el (font-lock-mode): Call font-lock-initial-fontify in - :after-hook. - -2012-02-23 Stefan Monnier - - * minibuffer.el: Make sure cycling is reset upon edit with icomplete.el. - (completion--cache-all-sorted-completions): New function. - (completion-all-sorted-completions): Use it. - (completion--do-completion, minibuffer-force-complete): - Use it to re-instate the flush hook. - - * icomplete.el (icomplete-completions): Replace last fix with a better - one (bug#10850). - -2012-02-23 Dmitry Gutov - - * emacs-lisp/lisp.el (beginning-of-defun-raw): Don't call end-of-defun - when it might call us back infinitely (bug#10797). - -2012-02-23 Glenn Morris - - * minibuffer.el (completion-category-overrides): Doc fix. - -2012-02-23 Stefan Monnier - - * minibuffer.el (completion-table-with-context): Fix inf-loop. - Reported by Aaron S. Hawley . - -2012-02-23 Glenn Morris - - * emacs-lisp/authors.el (authors-aliases, authors-fixed-case) - (authors-obsolete-files-regexps, authors-ignored-files) - (authors-ambiguous-files, authors-renamed-files-alist): - Add more entries. - -2012-02-23 Juri Linkov - - * isearch.el (isearch-occur): Sync interactive spec with occur's - new feature in `occur-read-primary-args'. Doc fix. (Bug#10705) - - * replace.el (occur-menu-map): Add menu item for `occur-edit-mode'. - -2012-02-22 Juri Linkov - - * international/mule-cmds.el (read-char-by-name): Use \` and \'. - (ucs-insert): Doc fix. Check for hex digits in the string. - Don't display `nil' in the error message. (Bug#10857) - -2012-02-22 Alan Mackenzie - - * progmodes/cc-mode.el: Revert change #2012-02-06T22:08:41Z!larsi@gnus.org from 2012-02-06. - -2012-02-22 Glenn Morris - - * ffap.el (ffap-c-path): - * man.el (Man-header-file-path): Handle multiarch. (Bug#10702) - -2012-02-22 Chong Yidong - - * custom.el (load-theme): Doc fix. - -2012-02-22 Glenn Morris - - * dired-x.el (dired-guess-shell-alist-default): - Remove escape sequences from nroff output. (Bug#172) - -2012-02-21 Glenn Morris - - * vc/emerge.el (emerge-defvar-local): - Set `permanent-local' property rather than unused `preserved'. - - * textmodes/picture.el (picture-delete-char): New alias. - (picture-mode-map): Use it. (Bug#10860) - (picture-mode): Doc fix. - -2012-02-21 Juanma Barranquero - - * newcomment.el (uncomment-region-default): Remove unused binding. - -2012-02-21 Glenn Morris - - * textmodes/picture.el (picture-motion, picture-motion-reverse) - (picture-self-insert, picture-tab-chars): Doc fix. - (picture-mode-map): Fix C-a, C-e. - -2012-02-20 Glenn Morris - - * emacs-lisp/authors.el (authors-aliases): Add another entry. - -2012-02-20 Leo Liu - - * icomplete.el (icomplete-completions): Check FROM arg before - passing to substring (Bug#10850). - -2012-02-19 Chong Yidong - - * comint.el: Require ansi-color. - (comint-output-filter-functions): Add ansi-color-process-output. - - * ansi-color.el: Don't set comint-output-filter-functions; it is - now in the initial value defined in comint.el. - (ansi-color-apply-face-function): New variable. - (ansi-color-apply-on-region): Use it. - (ansi-color-apply-overlay-face): New function. - - * shell.el (shell): No need to require ansi-color. - (shell-mode): Use ansi-color-apply-face-function to highlight - color escapes using font-lock-face property (Bug#10835). - -2012-02-19 Chong Yidong - - * vc/ediff-init.el (ediff-strip-mode-line-format): Handle non-list - mode-line formats (Bug#10839). - -2012-02-18 Glenn Morris - - * mail/rmail.el (rmail-dont-reply-to-names): Mark as obsolete. - - * mail/undigest.el (unforward-rmail-message): Doc fix. - - * saveplace.el (save-place-ignore-files-regexp): Add :version. - -2012-02-18 Eli Zaretskii - - * international/characters.el (script-list): Sync with the latest - Unicode Character Database. - -2012-02-18 Andreas Schwab - - * international/titdic-cnv.el: Remove duplicate coding tag. - * language/cham.el: Likewise. - * language/tai-viet.el: Likewise. - -2012-02-18 Glenn Morris - - * calendar/cal-menu.el (cal-menu-diary-menu, cal-menu-goto-menu): - * calendar/calendar.el (diary-file, diary-bahai-entry-symbol) - (calendar-bahai-all-holidays-flag, calendar-other-dates): - * calendar/diary-lib.el (diary-abbreviated-year-flag): - * calendar/holidays.el (holiday-bahai-holidays) - (calendar-holidays, list-holidays): - Use utf-8 Bahá'í in doc-strings, menus, etc. - -2012-02-17 Tassilo Horn - - * saveplace.el (save-place-ignore-files-regexp): New variable - allowing for excluding files from saving their location of point. - The default value matches the temporary commit message editing - files from Git, SVN, Bazaar, and Mercurial. - (save-place-to-alist): Use it. - -2012-02-17 Lawrence Mitchell - Stefan Monnier - - * newcomment.el (uncomment-region-default): Don't leave extra space - when an arg is provided (bug#8150). - -2012-02-17 Teodor Zlatanov - - * net/gnutls.el (gnutls-trustfiles): Fix Cygwin bundle location. - -2012-02-17 Glenn Morris - - * net/socks.el: Require network-stream. (Bug#10599) - -2012-02-17 Kenichi Handa - - * international/charprop.el: - * international/uni-name.el: - * international/uni-old-name.el: - * international/uni-comment.el: Regenerate. - -2012-02-16 Glenn Morris - - * calendar/cal-hebrew.el (calendar-hebrew-list-yahrzeits): - Interactively in calendar buffer, give an error if not on a date. - -2012-02-15 Glenn Morris - - * shell.el (shell-delimiter-argument-list): - Revert 2011-02-17 change. (Bug#8027) - -2012-02-15 Chong Yidong - - * minibuffer.el (completion-at-point-functions): Doc fix. - - * custom.el (defcustom): Doc fix; note use of defvar. - -2012-02-15 Glenn Morris - - * mail/smtpmail.el (smtpmail-smtp-user, smtpmail-stream-type): - Doc fixes. - -2012-02-14 Glenn Morris - - * mail/smtpmail.el (smtpmail-query-smtp-server): Give it a doc. - -2012-02-14 Lars Ingebrigtsen - - * mail/smtpmail.el (smtpmail-query-smtp-server): Fix typo in the - way the ports list is computed. - (smtpmail-query-smtp-server): Prompt the user for a port number if - we can't connect to any of the standard ports (bug#10810). - -2012-02-14 Teodor Zlatanov - - * net/gnutls.el (gnutls-trustfiles): Add Cygwin location. - -2012-02-13 Glenn Morris - - * minibuffer.el (read-file-name): Doc fix. (Bug#10798) - -2012-02-13 Teodor Zlatanov - - * net/gnutls.el (gnutls-trustfiles): New variable. - (gnutls-negotiate): Use it. - -2012-02-13 Lars Ingebrigtsen - - * simple.el (mail-user-agent): Mention that `gnus-user-agent' only - does its stuff if Gnus is running. - -2012-02-13 Alan Mackenzie - - Fix a loop in c-set-fl-decl-start. - - * progmodes/cc-engine.el (c-set-fl-decl-start): Add a check that - c-backward-syntactic-ws actually moves backwards. - -2012-02-13 Leo Liu - - * net/rcirc.el (rcirc-markup-attributes): Move point to the - beginning so that all \C-o chars are removed. - -2012-02-12 Teodor Zlatanov - - * net/gnutls.el (gnutls-algorithm-priority): Add missing :group tag. - -2012-02-12 Alan Mackenzie - - Fix infinite loop with long macros. - * progmodes/cc-engine.el (c-state-safe-place): Handle macros properly. - -2012-02-12 Chong Yidong - - * window.el (display-buffer): Doc fix (Bug#10785). - -2012-02-12 Glenn Morris - - * term/pc-win.el (x-selection-owner-p, x-own-selection-internal) - (x-disown-selection-internal, x-get-selection-internal): - Sync docs with the xselect.c versions. - - * allout-widgets.el: Add missing license notice. - -2012-02-11 Glenn Morris - - * select.el (x-get-selection-internal, x-own-selection-internal) - (x-disown-selection-internal): - * x-dnd.el (x-get-selection-internal): Update declarations. - - * vc/log-view.el (vc-diff-internal): Remove unneeded declaration. - - * window.el (window-sides-slots): - * tool-bar.el (tool-bar-position): - * term/xterm.el (xterm-extra-capabilities): - * ses.el (ses-self-reference-early-detection): - * progmodes/verilog-mode.el (verilog-auto-declare-nettype) - (verilog-auto-wire-type) - (verilog-auto-delete-trailing-whitespace) - (verilog-auto-reset-blocking-in-non, verilog-auto-inst-sort) - (verilog-auto-tieoff-declaration): - * progmodes/sql.el (sql-login-hook, sql-ansi-statement-starters) - (sql-oracle-statement-starters, sql-oracle-scan-on): - * progmodes/prolog.el (prolog-align-comments-flag) - (prolog-indent-mline-comments-flag, prolog-object-end-to-0-flag) - (prolog-left-indent-regexp, prolog-paren-indent-p) - (prolog-paren-indent, prolog-parse-mode, prolog-keywords) - (prolog-types, prolog-mode-specificators) - (prolog-determinism-specificators, prolog-directives) - (prolog-electric-newline-flag, prolog-hungry-delete-key-flag) - (prolog-electric-dot-flag) - (prolog-electric-dot-full-predicate-template) - (prolog-electric-underscore-flag, prolog-electric-tab-flag) - (prolog-electric-if-then-else-flag, prolog-electric-colon-flag) - (prolog-electric-dash-flag, prolog-old-sicstus-keys-flag) - (prolog-program-switches, prolog-prompt-regexp) - (prolog-debug-on-string, prolog-debug-off-string) - (prolog-trace-on-string, prolog-trace-off-string) - (prolog-zip-on-string, prolog-zip-off-string) - (prolog-use-standard-consult-compile-method-flag) - (prolog-use-prolog-tokenizer-flag, prolog-imenu-flag) - (prolog-imenu-max-lines, prolog-info-predicate-index) - (prolog-underscore-wordchar-flag, prolog-use-sicstus-sd) - (prolog-char-quote-workaround): - * progmodes/cc-vars.el (c-defun-tactic): - * net/tramp.el (tramp-encoding-command-interactive) - (tramp-local-end-of-line): - * net/soap-client.el (soap-client): - * net/netrc.el (netrc-file): - * net/gnutls.el (gnutls): - * minibuffer.el (completion-category-overrides) - (completion-cycle-threshold) - (completion-pcm-complete-word-inserts-delimiters): - * man.el (Man-name-local-regexp): - * mail/feedmail.el (feedmail-display-full-frame): - * international/characters.el (glyphless-char-display-control): - * eshell/em-ls.el (eshell-ls-date-format): - * emacs-lisp/cl-indent.el (lisp-lambda-list-keyword-alignment) - (lisp-lambda-list-keyword-parameter-indentation) - (lisp-lambda-list-keyword-parameter-alignment): - * doc-view.el (doc-view-image-width, doc-view-unoconv-program): - * dired-x.el (dired-omit-verbose): - * cus-theme.el (custom-theme-allow-multiple-selections): - * calc/calc.el (calc-highlight-selections-with-faces) - (calc-lu-field-reference, calc-lu-power-reference) - (calc-note-threshold): - * battery.el (battery-mode-line-limit): - * arc-mode.el (archive-7z-extract, archive-7z-expunge) - (archive-7z-update): - * allout.el (allout-prefixed-keybindings) - (allout-unprefixed-keybindings) - (allout-inhibit-auto-fill-on-headline) - (allout-flattened-numbering-abbreviation): - * allout-widgets.el (allout-widgets-auto-activation) - (allout-widgets-icons-dark-subdir) - (allout-widgets-icons-light-subdir, allout-widgets-icon-types) - (allout-widgets-theme-dark-background) - (allout-widgets-theme-light-background) - (allout-widgets-item-image-properties-emacs) - (allout-widgets-item-image-properties-xemacs) - (allout-widgets-run-unit-tests-on-load) - (allout-widgets-time-decoration-activity) - (allout-widgets-hook-error-post-time) - (allout-widgets-track-decoration): - Add missing :version tags to new defcustoms and defgroups. - - * progmodes/sql.el (sql-ansi-statement-starters) - (sql-oracle-statement-starters): Add custom type. - - * progmodes/prolog.el: Remove leading '*' from defcustom docs. - (prolog-system-version): Give it a type. - -2012-02-11 Eli Zaretskii - - * term/pc-win.el (x-select-text, x-selection-owner-p) - (x-own-selection-internal, x-disown-selection-internal) - (x-get-selection-internal): Sync doc strings and argument lists - with xselect.c, common-win.el and x-win.el. (Bug#10783) - -2012-02-11 Leo Liu - - * progmodes/python.el (python-end-of-statement): Fix infinite - loop. (Bug#10788) - -2012-02-10 Glenn Morris - - * international/mule-cmds.el (unify-8859-on-encoding-mode) - (unify-8859-on-decoding-mode): Properly mark as obsolete. - -2012-02-10 Lars Ingebrigtsen - - * mail/emacsbug.el (report-emacs-bug-hook): Query the user first - about SMTP before checking the From header. - - * mail/sendmail.el (sendmail-query-user-about-smtp): Refactor out - into own function for reuse by emacsbug.el. - -2012-02-10 Leo Liu - - * subr.el (condition-case-unless-debug): Rename from - condition-case-no-debug. All callers changed. - (with-demoted-errors): Fix caller. - - * vc/diff-mode.el (diff-auto-refine-mode, diff-hunk): - * nxml/rng-valid.el (rng-do-some-validation): - * emacs-lisp/package.el (package-refresh-contents) - (package-menu-execute): - * desktop.el (desktop-create-buffer): - * font-lock.el (lisp-font-lock-keywords-2): Caller changed. - -2012-02-10 Glenn Morris - - * textmodes/bibtex.el: - Add missing :version tags for new/changed defcustoms. - - * files.el (remote-file-name-inhibit-cache): Doc fixes. - -2012-02-09 Lars Ingebrigtsen - - * mail/smtpmail.el (smtpmail-user-mail-address): New function. - (smtpmail-via-smtp): Use it, or fall back on the From address. - (smtpmail-send-it): Ditto. - -2012-02-09 Stefan Monnier - - * emacs-lisp/bytecomp.el (byte-compile-file-form-defvar): - Don't fallback on byte-compile-defvar. Optimize (defvar foo) away. - (byte-compile-tmp-var): New const. - (byte-compile-defvar): Use it to minimize .elc size. - Just use `defvar' rather than simulate it (bug#10761). - -2012-02-09 Glenn Morris - - * files.el (rename-uniquely): Doc fix. (Bug#3806) - - * progmodes/cc-guess.el (c-guess-offset-threshold, c-guess-region-max): - Add :version tags. - - * progmodes/compile.el (compilation-error-screen-columns) - (compilation-first-column, compilation-filter-start): Doc fixes. - - * vc/log-view.el (log-view-toggle-entry-display): - * vc/vc.el (vc-merge, vc-pull): Doc fixes. - - * mail/emacsbug.el (report-emacs-bug-can-use-osx-open) - (report-emacs-bug-can-use-xdg-email): - (report-emacs-bug-insert-to-mailer): Doc fixes. - (report-emacs-bug): Message fix. - - * net/browse-url.el (browse-url-can-use-xdg-open) - (browse-url-xdg-open): Doc fixes. - - * electric.el (electric-indent-mode, electric-pair-mode) - (electric-layout-rules, electric-layout-mode): Doc fixes. - (electric-pair-pairs, electric-pair-skip-self): Add :version tags. - -2012-02-08 Martin Rudalics - - * server.el (server-unselect-display): Don't inadvertently kill - the current buffer. (Bug#10729) - -2012-02-08 Glenn Morris - - * progmodes/sql.el (sql-port, sql-connection-alist, sql-list-all) - (sql-list-table): Doc fixes. - - * image-mode.el (image-transform-minor-mode-map, image-transform-mode): - Comment out (does nothing). - - * completion.el (dynamic-completion-mode): - * dirtrack.el (dirtrack-debug-mode): - * electric.el (electric-layout-mode): - * epa-mail.el (epa-mail-mode, epa-global-mail-mode): - * face-remap.el (text-scale-mode, buffer-face-mode): - * iimage.el (iimage-mode): - * image-mode.el (image-transform-mode): - * minibuffer.el (completion-in-region-mode): - * scroll-lock.el (scroll-lock-mode): - * simple.el (next-error-follow-minor-mode): - * tar-mode.el (tar-subfile-mode): - * tooltip.el (tooltip-mode): - * vcursor.el (vcursor-use-vcursor-map): - * wid-browse.el (widget-minor-mode): - * emulation/tpu-edt.el (tpu-edt-mode): - * emulation/tpu-extras.el (tpu-cursor-free-mode): - * international/iso-ascii.el (iso-ascii-mode): - * language/thai-util.el (thai-word-mode): - * mail/supercite.el (sc-minor-mode): - * net/goto-addr.el (goto-address-mode): - * net/rcirc.el (rcirc-multiline-minor-mode, rcirc-track-minor-mode): - * progmodes/cwarn.el (cwarn-mode): - * progmodes/flymake.el (flymake-mode): - * progmodes/glasses.el (glasses-mode): - * progmodes/hideshow.el (hs-minor-mode): - * progmodes/pascal.el (pascal-outline-mode): - * textmodes/enriched.el (enriched-mode): - * vc/smerge-mode.el (smerge-mode): - Doc fixes (minor mode argument). - -2012-02-07 Eli Zaretskii - - * ls-lisp.el (ls-lisp-sanitize): New function. - (ls-lisp-insert-directory): Use it to fix or remove any elements - in file-alist with missing attributes. (Bug#4673) - -2012-02-07 Alan Mackenzie - - Fix spurious recognition of c-in-knr-argdecl. - - * progmodes/cc-engine.el (c-in-knr-argdecl): Check for '=' in a - putative K&R region. - -2012-02-07 Alan Mackenzie - - * progmodes/cc-engine.el (c-forward-objc-directive): - Prevent looping in "#pragma mark @implementation". - -2012-02-07 Michael Albinus - - * notifications.el (notifications-on-closed-signal): Make `reason' - optional. (Bug#10744) - -2012-02-07 Glenn Morris - - * emacs-lisp/easy-mmode.el (define-minor-mode): - Doc fixes for the macro and the mode it defines. - - * image.el (imagemagick-types-inhibit): Doc fix. - - * cus-start.el (imagemagick-render-type): Add it. - -2012-02-06 Lars Ingebrigtsen - - * progmodes/cc-mode.el (c-standard-font-lock-fontify-region-function): - Set the default at load time, too, so that `font-lock-fontify-buffer' - can be called without setting up the entire mode first. This fixes - a bug in `mm-inline-text' with C MIME parts. - -2012-02-06 Chong Yidong - - * simple.el (list-processes--refresh): Delete exited processes - (Bug#8094). - - * comint.el (comint-next-prompt): next-single-char-property-change - and prev-single-char-property-change never return nil (Bug#8657). - - * custom.el (defcustom): Doc fix (Bug#9711). - -2012-02-05 Chong Yidong - - * cus-edit.el (custom-variable-reset-backup): Quote the value - before storing it in the customized-value property (Bug#6712). - (custom-display): Add a customization type tag. - (custom-buffer-create-internal): Improve tooltip message. - - * wid-edit.el (widget-field-value-get): New optional arg to - suppress trailing whitespace truncation. - (character): Use it (Bug#2689). - -2012-02-05 Andreas Schwab - - * progmodes/gud.el (gud-pv): Use pv instead of pv1. - * progmodes/gdb-mi.el (gud-pp): Use pp instead of pp1. - -2012-02-05 Chong Yidong - - * cus-edit.el (custom-variable-value-create): For mismatched - types, show the current value (Bug#7600). - - * custom.el (defcustom): Doc fix. - -2012-02-05 Glenn Morris - - * font-lock.el (lisp-font-lock-keywords-2): Add with-wrapper-hook. - -2012-02-05 Juanma Barranquero - - * emacs-lisp/pp.el (pp-to-string): Use `with-temp-buffer'. - (pp-buffer): Use `ignore-errors', `looking-at-p'. - (pp-last-sexp): Use `looking-at-p'. - -2012-02-04 Glenn Morris - - * files.el (revert-buffer): - Doc fix (mention revert-buffer-in-progress-p). - - * emacs-lisp/ert-x.el (ert-simulate-command): - Check deferred-action-list (which is obsolete) is bound. - - * subr.el (with-wrapper-hook): Doc fixes. - - * simple.el (filter-buffer-substring-functions) - (buffer-substring-filters, filter-buffer-substring): Doc fixes. - -2012-02-04 Lars Ljung (tiny change) - - * eshell/esh-ext.el (eshell-windows-shell-file): Match "cmdproxy" - anywhere in shell-file-name, not just at the beginning. (Bug#10523) - -2012-02-04 Leo Liu - - * emacs-lisp/smie.el: Fix dead link (Bug#10711). - -2012-02-04 Glenn Morris - - * image.el (image-extension-data): Add obsolete alias. - - * isearch.el (isearch-update): Doc fix. - - * facemenu.el (list-colors-display): Doc fix (minor rephrasing). - - * ido.el (ido-find-file): Doc fix (ido-toggle-vc not on any key). - -2012-02-03 Glenn Morris - - * image.el (image-animated-p): Doc fix. Use image-animated-types. - (image-animate-timeout): Doc fix. - - * image-mode.el (image-animate-loop, image-toggle-animation): Doc fixes. - -2012-02-02 Glenn Morris - - * server.el (server-auth-dir): Doc fix. - (server-eval-at): Doc fix. Give an explicit error if !server-use-tcp. - - * subr.el (run-mode-hooks): Doc fix. - -2012-02-02 Juri Linkov - - * image-mode.el (image-toggle-display-image): Remove tautological - `major-mode' from the `derived-mode-p' test. - -2012-02-02 Kenichi Handa - - * composite.el (compose-region): Cancel previous change. - -2012-02-02 Kenichi Handa - - * composite.el (compose-region, compose-string): Signal error for - a null string component (Bug#6988). - -2012-02-01 Chong Yidong - - * view.el (view-buffer-other-window, view-buffer-other-frame): - Handle special modes like view-buffer (Bug#10650). - (view-buffer): Simplify. - - * frame.el (set-frame-font): Tweak meaning of third argument. - - * dynamic-setting.el (font-setting-change-default-font): - Use set-frame-font (Bug#9982). - -2012-02-01 Glenn Morris - - * progmodes/compile.el (compilation-internal-error-properties): - Respect compilation-first-column in the "*compilation*" buffer. - - * emacs-lisp/easy-mmode.el (define-minor-mode): - Relax :variable's test for a named function. - -2012-01-31 Alan Mackenzie - - * progmodes/cc-engine.el (c-guess-basic-syntax): CASE 5B.1: Fix an - off by one error. - -2012-01-31 Chong Yidong - - * frame.el (set-frame-font): New arg ALL-FRAMES. - - * menu-bar.el (menu-set-font): Use set-frame-font. - - * faces.el (face-spec-reset-face): Don't apply unspecified - attribute values to the default face. - -2012-01-31 Juanma Barranquero - - * progmodes/cwarn.el (cwarn): Remove dead link. - (cwarn-configuration, cwarn-verbose, cwarn-mode-text, cwarn-load-hook): - Remove * from defcustom docstrings. - (turn-on-cwarn-mode): Make obsolete. - (c-at-toplevel-p): Remove compatibility code for Emacs 20.3 and older. - (turn-on-cwarn-mode-if-enabled): Call `cwarn-mode'. - -2012-01-31 Glenn Morris - - * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. - Fix :variable handling of mode a symbol not equal to modefun. - Allow named functions to be used as the cdr of :variable. - -2012-01-30 Glenn Morris - - * emacs-lisp/authors.el (authors-fixed-entries): - Remove reference to deleted file rnewspost.el. - -2012-01-29 Juanma Barranquero - - * window.el (window-with-parameter): Remove unused variable `windows'. - (window--side-check): Remove unused variable `code'. - (window--resize-siblings): Remove unused variable `first'. - (adjust-window-trailing-edge): Remove unused variable `failed'. - (window-deletable-p, window--delete): Remove unused variable `buffer'. - Use `let', not `let*'. - (balance-windows-2): Remove unused variable `found'. - (window--state-put-2): Remove unused variable `splits'. - (window-state-put): Remove unused variable `selected'. - (same-window-p): Use `string-match-p'. - (display-buffer-assq-regexp): Remove unused variable `value'. - (display-buffer-pop-up-frame, display-buffer-pop-up-window): - Mark argument ALIST as ignored. - (pop-to-buffer): Remove unused variable `old-window'. - -2012-01-29 Eli Zaretskii - - * jka-cmpr-hook.el (jka-compr-compression-info-list): Support .lz - and .lzma compressed files. - -2012-01-29 Chong Yidong - - * frame.el (window-system-default-frame-alist): Doc fix. - - * dynamic-setting.el (font-setting-change-default-font): Don't - change the default face if SET-FONT argument is non-nil (Bug#9982). - -2012-01-29 Samuel Bronson - - * custom.el (defcustom): Add doc link to Lisp manual (Bug#10635). - -2012-01-29 Syver Enstad (tiny change) - - * progmodes/gud.el (pdb): Give pdb full paths, to allow setting - breakpoints in files outside current directory (Bug#6098). - -2012-01-29 Chong Yidong - - * progmodes/python.el: Require ansi-color at top-level. - - * emacs-lisp/lisp-mode.el (emacs-lisp-mode-abbrev-table): - Define and use in Emacs Lisp mode (Bug#9360). - (lisp-mode-abbrev-table): Add doc. - (lisp-mode-variables): Don't set local-abbrev-table. - (lisp-interaction-mode): Use emacs-lisp-mode-abbrev-table. - -2012-01-28 Roland Winkler - - * textmodes/bibtex.el (bibtex-vec-incr): Fix docstring. - -2012-01-28 Roland Winkler - - * textmodes/bibtex.el (bibtex-entry-alist): New function. - (bibtex-set-dialect): Use it. Either set global values of - dialect-dependent variables or bind these variables buffer-locally - (Bug#10254). - (bibtex-mode): Call bibtex-set-dialect via - hack-local-variables-hook. - (bibtex-dialect): Update docstring. - Add safe-local-variable predicate. - (bibtex-entry-alist, bibtex-field-alist): Initialize via - bibtex-set-dialect. - (bibtex-mode-map): Define menu for each dialect. - (bibtex-entry): Fix docstring. - -2012-01-28 Chong Yidong - - * eshell/esh-arg.el (eshell-quote-argument): New function. - - * eshell/esh-ext.el (eshell-invoke-batch-file): - * eshell/em-unix.el (eshell/cat, eshell/du): Use it to quote the - first arg to eshell-parse-command (Bug#10523). - -2012-01-28 Drew Adams - - * net/ange-ftp.el (ange-ftp-canonize-filename): Check, that - `default-directory' is non-nil. - -2012-01-28 Eli Zaretskii - - * mail/emacsbug.el (report-emacs-bug): Fill the potentially long - line that displays system-configuration-options. (Bug#9924) - -2012-01-28 Drew Adams - - * descr-text.el (describe-char): Show information about POS, in - addition to information about the character at POS. Improve and - update the doc string. Change "code point" to "code point in - charset", to avoid confusion with the character's Unicode code - point shown above that. (Bug#10129) - -2012-01-28 Eli Zaretskii - - * descr-text.el (describe-char): Show the raw character, not only - its display form at POS. Suggested by Kenichi Handa . - See http://lists.gnu.org/archive/html/emacs-devel/2012-01/msg00760.html - for the reasons. - -2012-01-28 Phil Hagelberg - - * emacs-lisp/package.el (package-install): - Run package-refresh-contents if there is no archive yet (Bug#9798). - -2012-01-28 Chong Yidong - - * emacs-lisp/package.el (package-maybe-load-descriptor): - New function, split from package-maybe-load-descriptor. - (package-maybe-load-descriptor): Use it. - (package-download-transaction): Fully load required packages - inside the loop, so that `require' calls work (Bug#10593). - (package-install): No need to call package-initialize now. - -2012-01-28 Chong Yidong - - * simple.el (deactivate-mark): Doc fix (Bug#8614). - - * tooltip.el (tooltip-mode): Doc fix. - (tooltip-use-echo-area): Mark as obsolete (Bug#6595). - - * frame.el (set-cursor-color): Doc fix (Bug#352). - - * mail/rmail.el (rmail-start-mail): Add send-action again (Bug#10625). - (rmail-mail-return): Switch to NEWBUF only if it is non-nil. - - * cus-edit.el (custom-buffer-create-internal): Fix search button - action (Bug#10542). - (customize-unsaved, customize-saved): Doc fix (Bug#10541). - -2012-01-27 Eduard Wiebe - - * dired.el (dired-mark-files-regexp): - Include any subdirectory components. (Bug#10445) - -2012-01-27 Mike Lamb (tiny change) - - * pcmpl-unix.el (pcmpl-ssh-known-hosts): - Handle [host]:port syntax. (Bug#10533) - -2012-01-27 Alex Harsanyi - - * xml.el (xml-parse-tag): Fix parsing of comments (Bug#10405). - -2012-01-26 Glenn Morris - - * dired-x.el (dired-bind-jump): Use ctl-x-map and ctl-x-4-map. - * term.el (term-raw-escape-map): Use Control-X-prefix. - * vc/vc-hooks.el (vc-prefix-map): Use ctl-x-map. (Bug#10566) - -2012-01-25 Martin Rudalics - - * window.el (window-state-get, window--state-get-1): Don't deal - with fixed-sizeness of windows. Simplify code. - -2012-01-25 Jérémy Compostella - - * window.el (window--state-get-1, window--state-put-2): - Don't save and restore the mark. - -2012-01-25 Chong Yidong - - * custom.el (custom-variable-p): Doc fix. - -2012-01-25 Glenn Morris - - * dired.el (dired-goto-file): Handle some of the more common - characters that `ls -b' escapes. (Bug#10596) - - * progmodes/compile.el (compilation-next-error-function): - Respect compilation-first-column in the "*compilation*" buffer. - * progmodes/grep.el (grep-first-column): New variable. (Bug#10594) - - * vc/vc.el (vc-modify-change-comment): Scoping fix. (Bug#10513) - -2012-01-24 Glenn Morris - - * pcmpl-gnu.el (pcomplete/tar): Handle " - ". (Bug#10457) - -2012-01-24 Julien Danjou - - * color.el (color-rgb-to-hsl): Fix value computing. - (color-hue-to-rgb): New function. - (color-hsl-to-rgb): New function. - (color-clamp, color-saturate-hsl, color-saturate-name) - (color-desaturate-hsl, color-desaturate-name, color-lighten-hsl) - (color-lighten-name, color-darken-hsl, color-darken-name): New function. - -2012-01-24 Glenn Morris - - * vc/vc-rcs.el (vc-rcs-create-tag): - * vc/vc-sccs.el (vc-sccs-create-tag): - Fix argument spec to be what vc-create-tag expects. (Bug#10515) - -2012-01-23 Mike Lamb (tiny change) - - * eshell/esh-util.el (eshell-read-hosts-file): - Skip comment lines. (Bug#10549) - - * eshell/em-unix.el (pcomplete/ssh): Remove. (Bug#10548) - -2012-01-23 Juanma Barranquero - - * subr.el (display-delayed-warnings): Doc fix. - (collapse-delayed-warnings): New function to collapse identical - adjacent warnings. - (delayed-warnings-hook): Add it. - -2012-01-22 Michael Albinus - - * net/tramp.el (tramp-action-login): Set connection property "login-as". - - * net/tramp-sh.el (tramp-methods): Add user spec to "pscp" and "psftp". - (tramp-default-user-alist): Don't add "pscp". - (tramp-do-copy-or-rename-file-out-of-band): Use connection - property "login-as", if set. (Bug#10530) - -2012-01-21 Michael Albinus - - * net/tramp-sh.el (tramp-default-user-alist): Don't add "plink", - "plink1" and "psftp". (Bug#10530) - -2012-01-21 Kenichi Handa - - * international/mule-cmds.el (prefer-coding-system): Show a - warning message if the default value of file-name-coding-system - was not changed. - -2012-01-21 Jérémy Compostella - - * windmove.el (windmove-reference-loc): - Fix windmove-reference-loc miscalculation. - -2012-01-21 Jay Belanger - - * calc/calc-units.el (math-put-default-units): Don't use "1" as a - default unit. - -2012-01-21 Glenn Morris - - * international/mule.el (auto-coding-alist): Add .tbz. - - * files.el (local-enable-local-variables): Doc fix. - (inhibit-local-variables-regexps): Rename from - inhibit-first-line-modes-regexps. Keep old name as obsolete alias. - Doc fix. Add some extensions from auto-coding-alist. - (inhibit-local-variables-suffixes): - Rename from inhibit-first-line-modes-suffixes. Doc fix. - (inhibit-local-variables-p): - New function, extracted from set-auto-mode-1. - (set-auto-mode): Doc fix. Respect inhibit-local-variables-regexps. - (set-auto-mode-1): Doc fix. Use inhibit-local-variables-p. - (hack-local-variables): Doc fix. Make the mode-only case - respect enable-local-variables and friends. - Respect inhibit-local-variables-regexps for file-locals, but - not for directory-locals. - (set-visited-file-name): - Take account of inhibit-local-variables-regexps. - Whether it applies may change as the file name is changed. - * jka-cmpr-hook.el (jka-compr-install): - * jka-compr.el (jka-compr-uninstall): - Update for inhibit-first-line-modes-suffixes name change. - -2012-01-20 Martin Rudalics - - * help-macro.el (make-help-screen): Temporarily restore original - binding for minor-mode-map-alist (Bug#10454). - -2012-01-19 Julien Danjou - - * color.el (color-name-to-rgb): Use the white color to find the max - color component value and return correctly computed values. - (color-name-to-rgb): Add missing float conversion for max value. - -2012-01-19 Martin Rudalics - - * window.el (window--state-get-1, window-state-get): Do not use - special state value for window-persistent-parameters. - Rename argument IGNORE to WRITABLE. Rewrite doc-string. - (window--state-put-2): Reset all window parameters to nil before - assigning values of persistent parameters. - -2012-01-18 Alan Mackenzie - - Eliminate sluggishness and hangs in fontification of "semicolon - deserts". - - * progmodes/cc-engine.el (c-state-nonlit-pos-interval): - Change value 10000 -> 3000. - (c-state-safe-place): Reformulate so it doesn't stack up an - infinite number of wrong entries in c-state-nonlit-pos-cache. - (c-determine-limit-get-base, c-determine-limit): New functions to - determine backward search limits disregarding literals. - (c-find-decl-spots): Amend commenting. - (c-cheap-inside-bracelist-p): New function which detects "={". - - * progmodes/cc-fonts.el - (c-make-font-lock-BO-decl-search-function): Give a limit to a - backward search. - (c-font-lock-declarations): Fix an occurrence of point being - undefined. Check additionally for point being in a bracelist or - near a macro invocation without a semicolon so as to avoid a - fruitless time consuming search for a declarator. Give a more - precise search limit for declarators using the new - c-determine-limit. - -2012-01-18 Glenn Morris - - * files.el (auto-mode-alist, inhibit-first-line-modes-regexps) - (set-auto-mode): Doc fixes. - -2012-01-17 Glenn Morris - - * isearch.el (search-nonincremental-instead): Fix doc typo. - - * dired.el (dired-insert-directory): Handle newlines in directory name. - (dired-build-subdir-alist): Unescape newlines in directory name. - -2012-01-17 Michael Albinus - - * net/tramp.el (tramp-local-end-of-line): New defcustom. - (tramp-action-login, tramp-action-yesno, tramp-action-yn) - (tramp-action-terminal): Use it. (Bug#10530) - -2012-01-16 Stefan Monnier - - * minibuffer.el (completion--replace): Strip properties (bug#10062). - -2012-01-16 Martin Rudalics - - * window.el (window-state-ignored-parameters): Remove variable. - (window--state-get-1): Rename argument MARKERS to IGNORE. - Handle persistent window parameters. Make copy of clone-of - parameter only if requested. (Bug#10348) - (window--state-put-2): Install a window parameter only if it has - a non-nil value or an existing parameter shall be overwritten. - -2012-01-15 Michael Albinus - - * net/tramp-sh.el (tramp-remote-path): Set tramp-autoload cookie. - -2012-01-14 Eli Zaretskii - - * info.el (Info-toc-build): If the Info file has no "Up" pointer, - don't pass the (nil) value of `upnode' to string-match. - -2012-01-14 Chong Yidong - - * startup.el (command-line): Fix X resource class for cursorColor. - Fix values recognized by the cursorBlink resource. - -2012-01-14 Paul Eggert - - * epg.el (epg--make-temp-file): Avoid permission race condition - when running on old Emacs versions (bug#10403). - -2012-01-14 Glenn Morris - - * dired.el (dired-get-filename): Fix 'verbatim case of previous change. - -2012-01-13 Alan Mackenzie - - Fix filling for when filladapt mode is enabled. - - * progmodes/cc-cmds.el (c-fill-paragraph): In the invocation of - c-mask-paragraph, pass in `fill-paragraph' rather than - `fill-region-as-paragraph'. (This is a reversion of a previous - change.) - * progmodes/cc-mode.el (c-basic-common-init): - Make fill-paragraph-handle-comment buffer local and set it to nil. - -2012-01-13 Glenn Morris - - * dired.el (dired-switches-escape-p): New function. - (dired-insert-directory): Use dired-switches-escape-p. - (dired-get-filename): Undo "\ " quoting if needed. (Bug#10469) - - * find-dired.el (find-ls-option): Doc fix. (Bug#10262) - -2012-01-12 Glenn Morris - - * mail/sendmail.el (mail-mode): Update paragraph-separate for - changes in adaptive-fill-regexp. (Bug#10276) - -2012-01-11 Alan Mackenzie - - Fix Emacs bug #10463 - put `widen's around the critical spots. - - * progmodes/cc-engine.el (c-in-literal, c-literal-limits): Put a - widen around each invocation of c-state-pp-to-literal. Remove an - unused let variable. - -2012-01-11 Glenn Morris - - * dired-aux.el (dired-do-shell-command): Fix */? logic. (Bug#6561) - Doc fix. - -2012-01-10 Chong Yidong - - * net/network-stream.el (network-stream-open-starttls): - Avoid emitting a confusing error message when the server gives a bad - response to the capability command. - -2012-01-10 Glenn Morris - - * mail/unrmail.el (unrmail): Tweak previous change. - -2012-01-09 Chong Yidong - - * custom.el (custom-safe-themes): Use SHA-256 for hashing. - -2012-01-08 Alan Mackenzie - - Optimize font locking in long enum definitions. - - * progmodes/cc-fonts.el (c-font-lock-declarations): Add an extra - arm to a cond form to handle enums. - * progmodes/cc-langs.el (c-enums-contain-decls): New lang variable. - * progmodes/cc-mode.el (c-font-lock-fontify-region): Correct a typo. - -2012-01-07 Paul Eggert - - * files.el (move-file-to-trash): Preserve default file modes on error. - (Bug#10401) - -2012-01-07 Lars Magne Ingebrigtsen - - * faces.el (set-face-attribute): Clarify the meaning of the nil - frame (bug#10294). - - * subr.el (with-selected-frame): Mention that the selected frame - is restored (bug#9980). - - * ibuffer.el (ibuffer-mode): List the bindings in the corrent map - (bug#9759). - - * mail/smtpmail.el (password-cache-add): Remove unused declaration. - (password-read): Don't autoload unused function. - -2012-01-07 Juanma Barranquero - - * progmodes/which-func.el (which-func-mode): Turn into a - non-interactive function and mark as obsolete (bug#10428). - -2012-01-06 Chong Yidong - - * files.el (hack-dir-local-variables-non-file-buffer): Add doc. - (hack-one-local-variable-eval-safep): Allow 0 arg for minor mode - functions, along with 1 and -1. - -2012-01-06 Eli Zaretskii - - * time.el (display-time-load-average) - (display-time-default-load-average): Doc fixes. See the thread - starting at - http://lists.gnu.org/archive/html/help-gnu-emacs/2012-01/msg00059.html - for the details. - -2012-01-06 Glenn Morris - - * mail/unrmail.el (unrmail): Give an explicit error if the input file - has no messages. (Bug#10377) - - * info.el (Info-mode-map): Bind e to end-of-buffer, rather - than Info-edit. (Bug#10385) - - * time.el (display-time-load-average, display-time-next-load-average): - Doc fixes. - - * emacs-lisp/bytecomp.el (byte-compile-file): Do not propagate a file - local setting of buffer-read-only to the input buffer. (Bug#10419) - - * calendar/calendar.el (calendar-mode): - Locally set scroll-margin to 0. (Bug#10379) - -2012-01-06 Ulrich Mueller - - * play/doctor.el (doctor-death): Escape "," characters. (Bug#10370) - -2012-01-05 Glenn Morris - - * eshell/em-unix.el (diff-no-select): Autoload it. - (eshell/diff): Use diff-no-select. (Bug#10420) - -2012-01-05 Chong Yidong - - * shell.el (shell-dynamic-complete-functions): Revert last change. - (shell-command-completion-function): New function. - (shell-completion-vars): Use it to implement - shell-completion-execonly (Bug#10417). - - * custom.el (enable-theme): Don't set custom-safe-themes. - - * cus-theme.el (custom-theme-merge-theme): - Ignore custom-enabled-themes and custom-safe-themes. - -2012-01-05 Michael R. Mauger - - * progmodes/sql.el (sql-login-hook): Add hook to respond to the - first prompt in `sql-interacive-mode'. - (sql-mode-oracle-font-lock-keywords): Add CONNECT_BY_* builtin - keywords. - (sql-mode-mysql-font-lock-keywords): Add ELSEIF keyword. - (sql-product-interactive): Bug fix: Set `sql-buffer' in - context of original buffer. Invoke `sql-login-hook'. - -2012-01-04 Eli Zaretskii - - * mail/rmail.el (rmail-font-lock-keywords): Accept non-ASCII - letters in cite-prefix. - -2012-01-03 Lars Magne Ingebrigtsen - - * mail/smtpmail.el (smtpmail-stream-type): Mention the `ssl' value. - -2012-01-03 Chong Yidong - - * shell.el (shell-dynamic-complete-functions): - Put pcomplete-completions-at-point, so as to try - comint-filename-completion first (Bug#10417). - -2012-01-02 Richard Stallman - - * battery.el (battery-status-function): - Detect when to use battery-yeeloong-sysfs. - (battery-echo-area-format): Add string for Yeeloong. - (battery-linux-proc-apm, battery-linux-proc-acpi): Doc fixes. - (battery-yeeloong-sysfs): New function. - -2012-01-02 Chong Yidong - - * dirtrack.el (dirtrack-list): Eliminate unused third element. - (dirtrack): Merge code for handling relative filenames in prompt - from shell-dir-cookie-watcher. - (dirtrack-debug-message): New arg to avoid excess format calls. - - * shell.el (shell-dir-cookie-re): Variable deleted. - (shell-dir-cookie-watcher): Function deleted. - (shell-mode): Don't use shell-dir-cookie-re, since it is redundant - with dirtrack-mode. - -2012-01-01 Eli Zaretskii - - * term/w32-win.el (dynamic-library-alist) : - Load libgnutls-28.dll, from GnuTLS version 3.x, in preference to - libgnutls-26.dll. - -2011-12-31 Andreas Schwab - - * emacs-lisp/bytecomp.el (byte-compile-file): Fix indentation. - -2011-12-31 Eli Zaretskii - - * mail/rmail.el (rmail-show-message-1): Decode any RFC2047 encoded - headers of non-MIME messages, when rmail-enable-mime is non-nil. - -2011-12-29 Michael Albinus - - * net/tramp-sh.el (tramp-find-shell): Set "remote-shell" property - also for alternative shells. - (tramp-open-connection-setup-interactive-shell): Check, whether - the shell is a busybox. - (tramp-send-command): Don't suppress multiple prompts for - busyboxes, it hurts. - -2011-12-28 Chong Yidong - - * progmodes/gdb-mi.el (gdb-get-source-file-list) - (gdb-get-source-file): Move mode line update to - gdb-get-source-file (Bug#10087). - -2011-12-25 Chong Yidong - - * progmodes/gud.el (gud-gdb-fetch-lines-filter): Just use - gud-gdb-marker-filter without taking it as an argument. - (gud-gdb-run-command-fetch-lines): Caller changed. - (gud-gdb-completion-function): New variable. - (gud-gdb-completion-at-point): Use it. - (gud-gdb-completions-1): Split from gud-gdb-completions. - - * progmodes/gdb-mi.el (gdb-input): Accept command and handler - function as separate arguments. - (gdb-init-1, gdb-non-stop-handler, gdb-check-target-async) - (gdb-tooltip-print-1, gud-watch, gdb-speedbar-update) - (gdb-var-list-children, gdb-var-set-format, gdb-var-delete-1) - (gdb-var-delete-children, gdb-edit-value, gdb-var-update) - (gdb-stopped, def-gdb-auto-update-trigger) - (gdb-place-breakpoints, gdb-select-thread, gdb-select-frame) - (gdb-get-changed-registers, gdb-get-main-selected-frame): - Callers changed. - (gud-gdbmi-completions): New function. - (gdb): Use it for generating the completion table. - -2011-12-24 Alan Mackenzie - - Introduce a mechanism to widen the region used in context font - locking. Use this to protect declarations from losing their contexts. - - * progmodes/cc-langs.el (c-before-font-lock-functions): - Replace c-set-fl-decl-start with c-change-set-fl-decl-start (Renaming). - (c-before-context-fontification-functions): New defvar, a list of - functions to be run just before context (etc.) font locking. - - * progmodes/cc-mode.el (c-extend-font-lock-region-for-macros): - New, functionality extracted from - c-neutralize-syntax-in-and-mark-CPP. - (c-in-after-change-fontification): New variable. - (c-after-change): Set c-in-after-change-fontification. - (c-set-fl-decl-start): Rejig its interface, so it can be called - from both after-change and context fontifying. - (c-change-set-fl-decl-start, c-context-set-fl-decl-start): - New functions. - (c-standard-font-lock-fontify-region-function): New variable. - (c-font-lock-fontify-region): New function. - -2011-12-24 Juri Linkov - - * window.el (window--state-get-1): Set `FORCE' arg of `mark' to t. - (Bug#10348) - -2011-12-23 Michael Albinus - - * net/ange-ftp.el (ange-ftp-copy-file-internal): Check for - existence of source file. (Bug#10325) - -2011-12-23 Alan Mackenzie - - Fix unstable fontification inside templates. - - * progmodes/cc-langs.el (c-before-font-lock-functions): - Newly created from the singular version. The (c c++ objc) entry now - additionally has c-set-fl-decl-start. The other languages (apart - from AWK) have that as a single entry. - - * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): - The functionality for "local" declarations has been extracted to - c-set-fl-decl-start. - - * progmodes/cc-mode.el (c-common-init, c-after-change): - Changes due to pluralisation of c-before-font-lock-functions. - (c-set-fl-decl-start): New function, extracted from - c-font-lock-enclosing-decls and enhanced. - -2011-12-23 Juanma Barranquero - - * desktop.el (desktop-internal-v2s): Fix typos in docstring (bug#10353). - -2011-12-22 Juri Linkov - - * progmodes/grep.el (rgrep): Fix docstring. (Bug#10185) - -2011-12-22 Chong Yidong - - * vc/vc-hooks.el (vc-keep-workfiles): Doc fix. - -2011-12-21 Drew Adams - - * files.el (file-remote-p): Fix docstring. (Bug#10319) - -2011-12-21 Jérémy Compostella - - * battery.el (battery-linux-sysfs): Add missing parameters from acpi. - -2011-12-21 Teodor Zlatanov - - * progmodes/cfengine.el: Add Version. Improve CFEngine 3.x syntax - highlighting and support. Fix up comments for capitalization. - (cfengine-mode-debug): New var. - (cfengine3-mode): Change the modeline indicator to "CFE3". - (cfengine3-font-lock-keywords): Improve defun highlighting. - (cfengine2-actions): Rename from `cfengine-actions'. - (cfengine2-font-lock-keywords): Rename from - `cfengine-font-lock-keywords'. - (cfengine2-imenu-expression): Rename from - `cfengine-imenu-expression'. - (cfengine2-outline-level): Rename from `cfengine-outline-level'. - (cfengine2-beginning-of-defun): Rename from - `cfengine-beginning-of-defun'. - (cfengine2-end-of-defun): Rename from `cfengine-end-of-defun'. - (cfengine2-indent-line): Rename from `cfengine-indent-line'. - (cfengine2-mode): Rename from `cfengine-mode'. Change the - modeline indicator to "CFE2". - (cfengine-mode): Defalias to `cfengine-auto-mode'. - (cfengine-mode-abbrevs): Mark obsolete. - -2011-12-21 Chong Yidong - - * vc/vc-bzr.el (vc-bzr-rename-file): Don't pass ~ to Bzr in - filename argument. - -2011-12-20 Martin Rudalics - - * window.el (window-normalize-buffer-to-display): Remove. - (display-buffer): Handle buffer-or-name argument as in Emacs 23. - -2011-12-19 Chong Yidong - - * vc/vc-dir.el (vc-dir-parent-marked-p, vc-dir-children-marked-p): - Don't signal an error in a predicate function; return non-nil. - (vc-dir-mark-file): Move the error here. - (vc-dir-mark-unmark): If acting on the region, keep going if one - of the entries cannot be marked/unmarked. - (vc-dir-mark-all-files): If current entry is a directory, mark - only child files, as documented. - -2011-12-19 Vincent Belaïche - - * ses.el: Ooops... undo changes of 2011-12-11T14:49:48Z!vincentb1@users.sourceforge.net, as trunk - branch is feature frozen, and 2011-12-11T14:49:48Z!vincentb1@users.sourceforge.net was a feature - addition. - -2011-12-18 Jan Djärv - - * term/ns-win.el (ns-get-selection-internal) - (ns-store-selection-internal): Declare. - (ns-store-cut-buffer-internal, ns-get-cut-buffer-internal): - Declare as obsolete. - (ns-get-pasteboard, ns-paste-secondary): - Use ns-get-selection-internal. - (ns-set-pasteboard, ns-copy-including-secondary): - Use ns-store-selection-internal. - -2011-12-17 Chong Yidong - - * vc/vc.el (vc-next-action): Doc fix; remove CVS-isms. - (vc-deduce-fileset): Doc fix. - -2011-12-16 Andreas Schwab - - * calc/calc-misc.el (calc-help): Avoid wrapping help message. - -2011-12-13 Sam Steingold - - * man.el (Man-getpage-in-background): When running under a - window-system, ignore $MANWIDTH and $COLUMNS. - -2011-12-15 Kenichi Handa - - * language/ethio-util.el: Change coding tag to utf-8-emacs. - (setup-ethiopic-environment-internal): Comment out key-binding for - ethio-toggle-punctuation. - -2011-12-13 Alan Mackenzie - - Add the switch statement to AWK Mode. - - * progmodes/cc-awk.el (awk-font-lock-keywords): Add "switch", "case", - "default" to the keywords regexp. - - * progmodes/cc-langs.el (c-label-kwds): Let AWK take the same - expression as the rest. - (c-nonlabel-token-key): Allow string literals for AWK. - Refactor for the other modes. - - Large brace-block initialisation makes CC Mode slow: Fix. - Tidy up and accelerate c-in-literal, etc. by using the c-parse-state - routines. Limit backward searching in c-font-lock-enclosing.decl. - - * progmodes/cc-engine.el (c-state-pp-to-literal): Return the - pp-state and literal type in addition to the limits. - (c-state-safe-place): New defun, extracted from c-state-literal-at. - (c-state-literal-at): Use the above new defun. - (c-slow-in-literal, c-fast-in-literal): Remove. - (c-in-literal, c-literal-limits): Amend to use c-state-pp-to-literal. - - * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Check for - being in a literal. Add a limit for backward searching. - - * progmodes/cc-mode.el (awk-mode): Don't alias c-in-literal to - c-slow-in-literal. - -2011-12-13 Stefan Monnier - - * progmodes/pascal.el: Declare `ind' as dyn-bound (bug#10264). - -2011-12-13 Martin Rudalics - - * window.el (delete-other-windows): Use correct frame in call to - window-with-parameter. - -2011-12-12 Daniel Pfeiffer - - * progmodes/make-mode.el: Bring it up to date with makepp V2.0. - (makefile-make-font-lock-keywords): Extend meaning of `keywords'. - (makefile-gmake-statements, makefile-makepp-statements): - Use it and add new makepp keywords. - (makefile-makepp-font-lock-keywords): Add new patterns. - (makefile-match-function-end): Match new [...] and [[...]]. - -2011-12-11 Juanma Barranquero - - * ses.el (ses-call-printer-return, ses-cell-property-get) - (ses-sym-rowcol, ses-printer-validate, ses-formula-record) - (ses-create-cell-variable, ses-reset-header-string) - (ses-cell-set-formula, ses-repair-cell-reference-all) - (ses-self-reference-early-detection, ses-in-print-area, ses-set-curcell) - (ses-check-curcell, ses-call-printer, ses-adjust-print-width) - (ses-print-cell-new-width, ses-formula-references, ses-relocate-formula) - (ses-aset-with-undo, ses-load, ses-truncate-cell) - (ses-read-column-printer, ses-read-default-printer, ses-insert-row) - (ses-delete-row, ses-delete-column, ses-append-row-jump-first-column) - (ses-kill-override, ses-yank-pop, ses-yank-cells, ses-yank-tsf) - (ses-yank-resize, ses-export-tab, ses-mark-row, ses-mark-column) - (ses-renarrow-buffer, ses-insert-range, ses-insert-ses-range) - (ses-safe-printer, ses-safe-formula, ses-warn-unsafe, ses--clean-!) - (ses--clean-_, ses-range, ses-select, ses-center, ses-center-span) - (ses-dashfill, ses-unsafe): Fix typos and reflow docstrings. - -2011-12-11 Vincent Belaïche - - * ses.el: The overall change is to add cell renaming, that is - setting fancy names for cell symbols other than name matching - "\\`[A-Z]+[0-9]+\\'" regexp . - (ses-create-cell-variable): New defun. - (ses-relocate-formula): Relocate formulas only for cells the - symbols of which are not renamed, i.e. symbols whose names do not - match regexp "\\`[A-Z]+[0-9]+\\'". - (ses-relocate-all): Relocate values only for cells the symbols of - which are not renamed. - (ses-load): Create cells variables as the (ses-cell ...) are read, - in order to check row col consistency with cell symbol name only - for cells that are not renamed. - (ses-replace-name-in-formula): New defun. - (ses-rename-cell): New defun. - -2011-12-11 Chong Yidong - - * progmodes/gdb-mi.el (gdb): Set comint-prompt-regexp, required - for completion via gud-gdb-fetch-lines-filter (Bug#10274). - -2011-12-11 Eric Hanchrow - - * window.el (other-window): Fix docstring. - -2011-12-10 Eli Zaretskii - - * mail/rmailsum.el (rmail-header-summary): RFC2047 decode the - `from' or `to' address before taking its substring. - Fixes incorrect display in Rmail summary buffer whereby an RFC2047 - encoded name is chopped in the middle of the encoded string, and - thus displayed encoded. - -2011-12-10 Juanma Barranquero - - * makefile.w32-in (update-subdirs-CMD): Use a Local Variables section. - -2011-12-10 Eli Zaretskii - - * textmodes/texnfo-upd.el: Update commentary. Add a warning not - to use texinfo-update-node and commands that call it if the - Texinfo file uses @node lines without next/prev/up pointers. - Correct outdated description about texinfo-master-menu. - (texinfo-all-menus-update, texinfo-master-menu) - (texinfo-update-node, texinfo-every-node-update) - (texinfo-multiple-files-update): Doc fix. Warn against updating - all the @node lines. - (texinfo-master-menu): Only call texinfo-update-node if the prefix - argument is numeric. Explain better in the doc string what the - function really does. - (texinfo-insert-master-menu-list): Improve the error message - displayed if there's no menu in the Top node. - (Bug#2975) See also this thread: - http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00156.html. - -2011-12-09 Manuel Gómez (tiny change) - - * speedbar.el (speedbar-supported-extension-expressions): - Add .adb and .ads, commonly used for Ada source code (bug#10256). - -2011-12-09 Juanma Barranquero - - * printing.el (pr-mode-alist): - * simple.el (filter-buffer-substring-functions) - (completion-list-insert-choice-function): - * window.el (window-with-parameter, window-atom-root) - (window-sides-slots, window-size-fixed, window-min-delta) - (window-max-delta, window--resize-mini-window) - (window--resize-child-windows-normal, window-tree) - (delete-other-windows, quit-window, split-window) - (display-buffer-record-window, special-display-buffer-names) - (special-display-regexps, special-display-popup-frame) - (same-window-p, split-window-sensibly) - (display-buffer-overriding-action, display-buffer-alist) - (display-buffer-base-action, display-buffer, switch-to-buffer) - (switch-to-buffer-other-window, switch-to-buffer-other-frame) - (fit-window-to-buffer, recenter-positions) - (mouse-autoselect-window-state, mouse-autoselect-window-select): - * emacs-lisp/syntax.el (syntax-propertize-function): Fix typos - and remove unneeded backslashes in docstrings. - -2011-12-08 Stefan Monnier - - * emacs-lisp/lisp-mode.el (defmethod): Add doc-string-elt (bug#10244). - - * pcmpl-gnu.el: Don't fail when there is no Makefile nor -f arg. - (pcmpl-gnu-makefile-regexps): Accept "makefile" as well as files that - end in ".mk". - (pcmpl-gnu-make-rule-names): Check "makefile" and ignore errors - when reading the makefile (bug#10116). - -2011-12-06 Stefan Monnier - - * pcmpl-gnu.el (pcomplete/make): Also allow filename arguments - (bug#10116). - -2011-12-06 Glenn Morris - - * emacs-lisp/package.el (package-archives): Doc fix re riskiness. - -2011-12-06 Chong Yidong - - * progmodes/cc-fonts.el (c-annotation-face): Use defface. - -2011-12-06 Juanma Barranquero - - * textmodes/table.el (table-shorten-cell): Fix typo. - -2011-12-05 Christopher Genovese (tiny change) - - * emacs-lisp/assoc.el (aput): Fix return value (bug#10146) - -2011-12-05 Eli Zaretskii - - * descr-text.el (describe-char): Fix display of strong - right-to-left characters and directional embeddings and overrides. - - * simple.el (what-cursor-position): Fix display of codepoints of - strong right-to-left characters. - -2011-12-05 Chong Yidong - - * faces.el (read-color): Doc fix. - -2011-12-05 Glenn Morris - - * align.el (align--set-marker): Add doc-string. - Don't try to move something that is not a marker. (Bug#10216) - -2011-12-04 Glenn Morris - - * calendar/appt.el (appt-add): Rewrite the interactive-spec to avoid - overly zealous deletion of trailing whitespace. - -2011-12-04 Juanma Barranquero - - * server.el (server-delete-client): On Windows, do not try to delete - the only terminal. - (server-process-filter): On Windows, treat requests for a tty frame as - if they were for a GUI frame if the running server is in GUI mode. - -2011-12-03 Glenn Morris - - * textmodes/texinfmt.el (batch-texinfo-format): Doc fix. (Bug#10207) - -2011-12-03 Stefan Monnier - - * electric.el: Streamline electric-indent's hook. - (electric-indent-chars): Revert to simple list. - (electric-indent-functions): New var. - (electric-indent-post-self-insert-function): Use it. - - * progmodes/prolog.el (prolog-find-value-by-system): Avoid error when - there's no inferior buffer (bug#10196). - (prolog-consult-compile): Don't use toggle-read-only. - -2011-12-02 Michael Albinus - - * net/tramp-sh.el (tramp-maybe-open-connection): Handle user - interrupt. (Bug#10187) - -2011-12-02 Stefan Monnier - - * pcmpl-gnu.el (pcomplete/tar): large-file-warn-threshold can be nil - (bug#9160). - - * dired-aux.el (dired-query): Don't assume help-char is modifier-free - (bug#10191). - -2011-12-02 Juri Linkov - - * info.el (Info-search): Display "end of manual" when Isearch - reaches the end of single-file Info manual. (Bug#9918) - -2011-12-02 Eli Zaretskii - - * isearch.el (isearch-message-prefix): Run the input method part - of the prompt through bidi-string-mark-left-to-right. (Bug#10183) - -2011-12-02 Juri Linkov - - * isearch.el (isearch-occur): Use `word-search-regexp' for - `isearch-word'. - (isearch-search-and-update): Add condition for `isearch-word' and - call `word-search-regexp'. (Bug#10145) - -2011-12-01 Glenn Morris - - * eshell/em-hist.el (eshell-hist-initialize): - Handle eshell-history-size nil and HISTSIZE set or unset. - (eshell-history-file-name, eshell-history-size): Fix custom type. - -2011-12-01 Stefan Monnier - - * man.el (Man-completion-table): Fix the lambda case (bug#10168). - -2011-12-01 Michael McNamara - - * progmodes/verilog-mode.el (verilog-pretty-expr): - Rework verilog-pretty-expr to handle new assignment operators in system - verilog, such as += *= and the like. - (verilog-assignment-operator-re): Regular expression to find the - assigment operator in a verilog assignment. - (verilog-assignment-operation-re): Regular expression to find an - assignment statement for pretty-expr. - (verilog-in-attribute-p): Query returns true if point is in an - attribute context; used to skip these for expression line up from - pretty-expr. - (verilog-in-parameter-p): Query returns true if point is in an - parameter definition context; used to skip these for expression - line up from pretty-expr. - (verilog-in-parenthesis-p): Query returns true if point is in a - parenthetical expression, specifically ( ) but not [ ] or { }; - used by pretty-expr. - (verilog-just-one-space): If there is no space, don't add one. - (verilog-get-lineup-indent-2): Specifically skip just attribute - contexts for expression lineup, rather than skipping all - parenthetical expressions. - (verilog-calculate-indent): Fix comment, and fix indent. - (verilog-do-indent): Indent declarations in lists (suggested by - Joachim Lechner). - (verilog-mode-abbrev-table): Populate abbrev mode with the various - skeleton items. - (verilog-sk-ovm-class): Add skeleton for OVM classes (reported - by Alain Mellan). - -2011-12-01 Wilson Snyder - - * progmodes/verilog-mode.el (verilog-read-defines): Fix reading - parameters with embedded comments. Reported by Ray Stevens. - (verilog-calc-1, verilog-fork-wait-re, verilog-forward-sexp) - (verilog-wait-fork-re): Fix indentation of "wait fork", bug407. - Reported by Tim Holt. - (verilog-auto): Fix AUTOing a upper module then AUTOing module - instantiated by upper module causing wrong expansion until AUTOed a - second time. Reported by K C Buckenmaier. - (verilog-diff-auto): Fix showing .* as a difference when - `verilog-auto-star-save' off. Reported by Dan Dever. - (verilog-auto-reset, verilog-read-always-signals) - (verilog-auto-reset-blocking-in-non): Fix AUTORESET including - temporary signals in reset list if - verilog-auto-reset-blocking-in-non is nil, and match assignment - style to each signal's assignment type, bug381. - Reported by Thomas Esposito. - (verilog-sk-uvm-class, verilog-uvm-begin-re, verilog-uvm-end-re) - (verilog-uvm-statement-re): Support UVM indentation and - highlighting, with old OVM keywords only. - (verilog-auto-tieoff, verilog-auto-tieoff-declaration): - Support AUTOTIEOFF creating non-wire data types. - Suggested by Jonathan Greenlaw. - (verilog-auto-insert-lisp, verilog-delete-to-paren) - (verilog-forward-sexp-cmt, verilog-forward-sexp-ign-cmt) - (verilog-inject-sense, verilog-read-inst-pins) - (verilog-read-sub-decls, verilog-read-sub-decls-line): - Fix mismatching parenthesis inside commented out code when deleting - AUTOINST, bug383. Reported by Jonathan Greenlaw. - (verilog-auto-ascii-enum): Fix AUTOASCIIENUM one-hot with - non-numeric vector width. Reported by Alex Reed. - (verilog-auto-ascii-enum): Add "onehot" option to work around not - detecting signals with parameter widths. Reported by Alex Reed. - (verilog-auto-delete-trailing-whitespace): - With `verilog-auto-delete-trailing-whitespace' remove trailing - whitespace in auto expansion, bug371. Reported by Brad Dobbie. - (verilog-run-hooks, verilog-scan-cache-flush, verilog-syntax-ppss): - Fix verilog-scan-cache corruption when running user AUTO expansion - hooks that call indentation routines. - (verilog-simplify-range-expression): Fix typo ignoring lower case - identifiers. - (verilog-delete-auto): Fix delete-autos to also remove user created - automatics, as long as they start with AUTO. - (verilog-batch-diff-auto, verilog-diff-auto) - (verilog-diff-function): Add `verilog-diff-auto' and bind to - "C-c?" to report differences in AUTO expansion, ignoring spaces. - (verilog-backward-syntactic-ws-quick, verilog-beg-of-defun-quick) - (verilog-in-paren-quick, verilog-re-search-backward-quick) - (verilog-re-search-forward-quick, verilog-syntax-ppss): - Fix calling `syntax-ppss' when inside auto expansions as the ppss hook - is disabled and its cache will get corrupt, causing AUTOS not to - expand. Instead use only -quick functions. - (verilog-scan-region): Fix scanning over escaped quotes. - (verilog-inside-comment-or-string-p, verilog-inside-comment-p) - (verilog-re-search-backward-quick) - (verilog-re-search-forward-quick, verilog-scan): verilog-scan and - related functions now ignore strings, to fix misparsing of strings - with magic comments embedded in them. - (verilog-read-auto-template): - Fix 'verilog-auto-inst-template-numbers' with extra newline before (. - Reported by Brad Dobbie. - (verilog-read-auto-template): - Fix 'verilog-auto-inst-template-numbers' with comments. - Reported by Brad Dobbie. - (verilog-auto-inst, verilog-auto-inst-param) - (verilog-auto-inst-sort): Add 'verilog-auto-inst-sort' to reduce - merge conflicts with AUTOINST, bug358. Reported by Brad Dobbie. - (verilog-auto-inst-template-numbers): Add 'lhs' policy for - debugging templates without merge conflicts, bug357. - Reported by Brad Dobbie. - (verilog-read-auto-template): - Fix verilog-auto-inst-template-numbers with multiple templates. - Reported by Brad Dobbie. - (verilog-define-abbrev): Fix verilog-mode abbrevs to be system - abbrevs so user won't be asked to save. - (verilog-read-auto-lisp-present): Fix to start at beginning of - buffer in case called outside of verilog-auto. - (verilog-simplify-range-expression): Fix AUTOWIRE expanding "X-1+1" - to "X-2". Reported by Matthew Myers. - (verilog-auto, verilog-auto-inout-in): Add AUTOINOUTIN for creating - all inputs from module templates. Reported by Leith Johnson. - (verilog-module-inside-filename-p): Fix locating programs as with - modules. - (verilog-auto-inst-port): Fix vl-width expressions when using - verilog-auto-inst-param-value, bug331. Reported by Julian Gorfajn. - (verilog-decls-get-regs, verilog-decls-get-signals, - verilog-decls-get-vars, verilog-decls-get-wires, verilog-decls-new, - verilog-modi-cache-add-vars, verilog-modi-cache-add-wires, - verilog-read-decls): Combine reg and wire structures into one var - structure to represent SystemVerilog concepts. - (verilog-auto-ascii-enum, verilog-auto-logic, verilog-auto-reg) - (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-wire) - (verilog-auto-wire-type, verilog-insert-definition): - Add verilog-auto-wire-type and AUTOLOGIC to support using - SystemVerilog "logic" keyword instead of "wire"/"reg". - (verilog-auto-reg-input, verilog-decls-get-signals): Fix AUTOWIRE - to declares outputs that also have assignments (presumably in an - ifdef or generate if so there's not a driver conflict). - Reported by Matthew Myers. - (verilog-auto-declare-nettype, verilog-insert-definition): - Add verilog-auto-declare-nettype to fix declarations using - `default_nettype none. Reported by Julian Gorfajn. - (verilog-read-always-signals-recurse, verilog-read-decls) - (verilog-read-sub-decls-gate): Fix infinite loop with (*) and - malformed end statement, bug325. Reported by Joshua Wise and - Andrew Drake. - (verilog-auto-star-safe, verilog-delete-auto-star-implicit) - (verilog-inst-comment-re): Fix not deleting Interfaced comment - when expanding .* in interfaces, bug320. - Reported by Pierre-David Pfister. - (verilog-read-module-name): Fix import statements between module - name and open parenthesis, bug317. - Reported by Pierre-David Pfister. - (verilog-simplify-range-expression): Fix simplification of - multiplications inside AUTOWIRE connections, bug303. - (verilog-auto-inst-port): Support parameter expansion in - multidimensional arrays. - (verilog-read-decls): Fix AUTOREG etc looking for "endproperty" - after "assert property". Reported by Julian Gorfajn. - (verilog-simplify-range-expression): Fix "couldn't merge" errors - with multiplication, bug303. - (verilog-read-decls): Fix parsing of unsigned data types, bug302. - Reported by Jan Frode Lonnum. - -2011-11-30 Juanma Barranquero - - * htmlfontify.el (hfy-page-header, hfy-post-html-hooks) - (hfy-shell-file-name, hfy-shell): - * international/fontset.el (x-decompose-font-name): Fix typos. - -2011-11-29 Ken Brown - - * progmodes/gdb-mi.el: Fix bug#9853, bug#9858, and bug#9878. - (gdb-version): Remove defvar. - (gdb-supports-non-stop): New defvar, replacing `gdb-version'. - (gdb-gud-context-command, gdb-non-stop-handler) - (gdb-current-context-command, gdb-stopped): Use it. - (gdb-init-1): Enable pretty printing here. - (gdb-non-stop-handler): Don't enable pretty-printing here. - Check to see if the target supports non-stop mode; if not, turn off - non-stop mode. Use the following. - (gdb-check-target-async): New defun. - (gud-watch, gdb-stopped): Fix whitespace. - (gdb-get-source-file): Don't try to display the source file if - `gdb-main-file' is nil. - -2011-11-29 Stefan Monnier - - * align.el: Try to generate fewer markers (bug#10047). - (align--set-marker): New macro. - (align-region): Use it. - -2011-11-29 Stefan Monnier - - * isearch.el (isearch-yank-x-selection): Deactivate mark (bug#10022). - -2011-11-29 Chong Yidong - - * indent.el (indent-for-tab-command, indent-according-to-mode): - Doc fix. - (indent-region): Doc fix. Switch nested ifs to equivalent cond. - -2011-11-29 Michael Albinus - - * vc/diff-mode.el (diff-find-file-name): Make `read-file-name' - aware of remote file names. (Bug#10124) - -2011-11-29 Chong Yidong - - * frame.el (auto-raise-mode, auto-lower-mode): Doc fix. - -2011-11-28 Stefan Monnier - - * files.el (find-file): Don't use force-same-window (bug#10144). - * window.el (switch-to-buffer): Better match Emacs-23 behavior and only - use pop-to-buffer if the selected window can't be used. - (pop-to-buffer-same-window): Use display-buffer--same-window-action. - -2011-11-28 Eli Zaretskii - - * vc/diff-mode.el (diff-mode-map): Don't inherit 'z' => 'M-z' from - special-mode-map. - -2011-11-28 Chong Yidong - - * emacs-lisp/easy-mmode.el (define-minor-mode): Fix default doc. - -2011-11-27 Nick Roberts - - * progmodes/gdb-mi.el (gdb-init-1): Condition execution of - gdb-get-source-file-list on gdb-create-source-file-list. - -2011-11-26 Eli Zaretskii - - * whitespace.el (whitespace-newline): Use a different foreground - color for 16-color light-background displays. - -2011-11-24 Chong Yidong - - * window.el (display-buffer--special-action): Doc fix. - -2011-11-25 Juanma Barranquero - - * emacs-lisp/avl-tree.el (avl-tree--do-copy, avl-tree-create) - (avl-tree-compare-function, avl-tree-empty, avl-tree-enter) - (avl-tree-delete, avl-tree-member, avl-tree-member-p, avl-tree-map) - (avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar, avl-tree-copy) - (avl-tree-clear, avl-tree-stack, avl-tree-stack-pop) - (avl-tree-stack-first): - * emacs-lisp/cconv.el (cconv--analyse-use): - * net/gnutls.el (gnutls-negotiate): Fix typos. - -2011-11-24 Glenn Morris - - * lpr.el (lpr-windows-system, lpr-lp-system): - * mail/binhex.el (binhex-begin-line): - * progmodes/grep.el (grep-history, grep-find-history): - * textmodes/flyspell.el: - * vc/pcvs-defs.el (cvs-global-menu): - * vc/vc-bzr.el (vc-bzr-admin-checkout-format-file): - * vc/vc-mtn.el (vc-mtn-admin-dir, vc-mtn-admin-format): - * vc/vc-cvs.el (vc-cvs-registered): Give them basic doc-strings. - - * net/tls.el: Fix case of "GnuTLS". - - * paths.el (rmail-file-name): Format doc-string for make-docfile. - - * version.el (emacs-build-system): Give it a doc-string. - -2011-11-24 Juri Linkov - - * view.el (view-buffer): Revert 2011-07-19T15:01:49Z!larsi@gnus.org from 2011-07-19 (bug#8615). - -2011-11-24 Glenn Morris - - * mail/rmailmm.el (rmail-mime): When rmail-enable-mime is non-nil, - if called on a non-mime message just toggle the headers. (Bug#8006) - -2011-11-24 Juanma Barranquero - - * allout.el (allout-setup, allout-auto-save-temporarily-disabled) - (allout-lead-with-comment-string, allout-structure-deleted-hook) - (allout-mode, allout-chart-subtree, allout-hotspot-key-handler) - (allout-rebullet-heading, allout-open-sibtopic) - (allout-toggle-current-subtree-encryption) - (allout-toggle-subtree-encryption, allout-encrypt-string) - (allout-next-topic-pending-encryption, allout-adjust-file-variable) - (allout-distinctive-bullets-string, allout-auto-activation): - * window.el (window-normalize-buffer-to-display): - * progmodes/verilog-mode.el (verilog-batch-indent): - * textmodes/bibtex.el (bibtex-field-braces-opt) - (bibtex-field-strings-opt): - * vc/cvs-status.el (cvs-tree-merge): - Fix typos. - -2011-11-23 Michael Albinus - - * rfn-eshadow.el (rfn-eshadow-update-overlay): Let-bind - `non-essential' to t, in order to avoid remote connections. - -2011-11-23 Eli Zaretskii - - * emacs-lisp/autoload.el (autoload-generate-file-autoloads): - On MS-DOS and MS-Windows, compare with loaddefs.el - case-insensitively. - -2011-11-23 Mark Lillibridge (tiny change) - - * mail/unrmail.el (unrmail): Always add blank line. (Bug#7743) - -2011-11-23 Glenn Morris - - * paths.el (rmail-file-name): Reformat the doc-string so that it - is picked up. - - * mail/rmail.el (rmail-message-filter, rmail-auto-file): Doc fixes. - (rmail-auto-file): Ignore case in the "special" field names, - as mail-fetch-field does for all others. - - * mail/rmail.el (rmail-forward): - * mail/rmailkwd.el (rmail-set-label): - * mail/rmailout.el (rmail-output, rmail-output-as-seen) - (rmail-output-body-to-file): Give error if no message. (Bug#10082) - - * mail/rmail.el (rmail-current-message): Doc fix. - - * mail/rmail.el (rmail-message-filter): Mark as obsolete. (Bug#2624) - -2011-11-22 Stefan Monnier - - * server.el (server-eval-and-print): Allow C-g (bug#6585). - -2011-11-22 Glenn Morris - - * mail/rmailmm.el (test-rmail-mime-handler) - (test-rmail-mime-bulk-handler) - (test-rmail-mime-multipart-handler): Move tests to test/ directory. - -2011-11-21 Juri Linkov - - * calc/calc.el (calc-read-key-sequence): - Let-bind `input-method-function' to nil. (Bug#10018) - -2011-11-21 Lars Magne Ingebrigtsen - - * emacs-lisp/cl-indent.el (common-lisp-loop-part-indentation): - Tell the caller that the next line needs recomputation, even - though it doesn't start a sexp (bug#10094). - -2011-11-21 Stefan Monnier - - * emacs-lisp/autoload.el (autoload-generate-file-autoloads): Simplify. - -2011-11-20 Stefan Monnier - - * vc/pcvs-util.el (cvs-pop-to-buffer-same-frame): - Use force-same-window. - -2011-11-20 Juanma Barranquero - - * descr-text.el (describe-char-unicode-data): - * json.el (json-string-escape): - * mail/footnote.el (footnote-unicode-string, footnote-unicode-regexp) - (Footnote-unicode, Footnote-style-p): - * net/ntlm.el (ntlm-get-password-hashes): Fix typos. - -2011-11-20 Chong Yidong - - * window.el (replace-buffer-in-windows): Restore interactive spec. - -2011-11-20 Stefan Monnier - - * electric.el (electric-indent-mode): Fix last change (too optimistic). - - * emacs-lisp/bytecomp.el: Silence obsolete warnings more reliably. - (byte-compile-global-not-obsolete-vars): New var. - (byte-compile-check-variable, byte-compile-make-obsolete-variable): - Use it. - (byte-compile-warn-obsolete): Align text with the one in *Help*. - -2011-11-20 Juanma Barranquero - - * progmodes/cwarn.el (cwarn-is-enabled, cwarn-font-lock-keywords): - * progmodes/pascal.el (electric-pascal-equal): - * textmodes/reftex-dcr.el (reftex-view-crossref-from-bibtex): - * xml.el (xml-substitute-special): Fix typos. - -2011-11-20 Glenn Morris - - * mail/rmail.el (rmail-enable-mime-composing): Make it a defcustom. - (rmail-insert-mime-forwarded-message-function, rmail-mime-feature): - Doc fixes. - (rmail-decode-mime-charset): Mark as obsolete. - - * mail/rmailsum.el (rmail-message-regexp-p-1): - * mail/rmail.el (rmail-search-message, rmail-forward, rmail-resend): - Before using mime functions, check they are set. (Bug#10077) - -2011-11-19 Juri Linkov - - * info.el (Info-finder-find-node): Use `package--builtins' instead - of `package-alist'. Use node names formed by the pattern "Keyword " - and the keyword name. - -2011-11-19 Andreas Schwab - - * progmodes/sh-script.el (sh-assignment-regexp): Add entry for bash. - -2011-11-19 Juri Linkov - - * info.el (Info-hide-note-references): Add `:set' tag to `defcustom' - that calls `revert-buffer' on all Info buffers. (Bug#9915) - (Info-revert-find-node): Remove let-bindings `old-buffer-name', - `old-history', `old-history-forward'. Add let-binding - `window-selected'. Remove calls to `kill-buffer', - `switch-to-buffer' and `Info-mode'. Set `Info-current-file' to nil - before calling `Info-find-node', so `Info-find-node-2' will reread - the Info file. Restore window positions only when `window-selected' - is non-nil. - -2011-11-19 Juri Linkov - - * isearch.el (isearch-lazy-highlight-new-loop): - Remove condition `(not isearch-error)'. (Bug#9918) - - * misearch.el (multi-isearch-search-fun): Add condition - `(not bound)' to ignore lazy-highlighting search. - Add the search-failed message "end of multi" when the end of - multi-sequence is reached. Uncapitalize the search-failed - message "Repeat for next buffer". - - * info.el (Info-search): Add the search-failed message - "end of the manual" when the end of the manual is reached - in Isearch mode. - -2011-11-19 Juri Linkov - - * info.el (Info-find-node-2, Info-select-node, Info-history-find-node): - Use non-destructive `remove' instead of `delete' because - `Info-history-list' stored to `Info-isearch-initial-history-list' in - `Info-isearch-start' might need to be restored in `Info-isearch-end'. - -2011-11-19 Juri Linkov - - * isearch.el (isearch-edit-string): Let-bind `history-add-new-input' - to nil instead of binding `search-ring' and `regexp-search-ring'. - (Bug#9185) - -2011-11-19 Eli Zaretskii - - * simple.el (line-move): Force movement by logical lines for any - hscrolled window, not only when auto-hscroll-mode is on. - (line-move-visual): Update doc string to that effect. (Bug#10076) - -2011-11-19 Andreas Schwab - - * language/european.el (macintosh): Define as alias for mac-roman. - -2011-11-19 Eli Zaretskii - - * mail/rmailmm.el (rmail-mime-display-header) - (rmail-mime-display-tagline, rmail-mime-display-body): New defsubsts. - (rmail-mime-entity-segment, rmail-mime-toggle-raw) - (rmail-mime-toggle-hidden, rmail-mime-insert-text) - (rmail-mime-insert-bulk, rmail-mime-insert-multipart) - (rmail-mime-insert, rmail-mime-insert-tagline): Use them instead - of a raw aref. - (rmail-mime-entity-segment): To get past the tagline, move forward - 2 more lines, to account for the 2 empty lines that precede and - follow the line with the buttons. - (rmail-mime-update-tagline): Move one more line, to get past the - empty line that follows the buttons in the tagline. (Bug#9520) - -2011-11-19 Martin Rudalics - - * window.el (window-max-delta-1, window-min-delta-1) - (window-min-size-1, window-state-get-1, window-state-put-1) - (window-state-put-2): Use "window--" prefix. - -2011-11-18 Stefan Monnier - - * emacs-lisp/smie.el: Improve warnings and conflict detection. - (smie-warning-count): New var. - (smie-set-prec2tab): Use it. - (smie-bnf->prec2): Improve warnings. Add docstring. - (smie-bnf--closer-alist): Rename from smie-bnf-closer-alist. - (smie-bnf--set-class): New function. - (smie-bnf--classify): Rename from smie-bnf-classify. Rewrite to fix - corner case. - - * progmodes/compile.el: Obey compilation-first-column in dest buffer. - (compilation-error-properties, compilation-move-to-column): - Handle compilation-first-column while in the target buffer. - - * progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): - Don't hardcode point-min==1. - - * eshell/esh-cmd.el (eshell-do-eval): Handle `setq' (bug#9907). - (eshell-rewrite-for-command): Remove workaround. - (eshell-do-pipelines, eshell-do-pipelines-synchronously) - (eshell-do-eval, eshell-exec-lisp): Avoid gratuitous setq. - * eshell/esh-util.el (eshell-condition-case, eshell-for): Use declare. - - * files-x.el (modify-file-local-variable): Obey commenting conventions. - -2011-11-17 Glenn Morris - - * emacs-lisp/autoload.el (autoload-generate-file-autoloads): - Ignore buffer-local generated-autoload-file if it is the same - as the global value. (Bug#10049) - -2011-11-17 Juanma Barranquero - - * textmodes/reftex-toc.el (reftex-toc-return-marker, reftex-toc-help) - (reftex-toc, reftex-toc, reftex-toc-dframe-p, reftex-toc-next-heading) - (reftex-toc-previous-heading, reftex-toc-max-level) - (reftex-toc-goto-line-and-hide, reftex-toc-show-calling-point) - (reftex-toc-quit, reftex-toc-revert, reftex-toc-jump) - (reftex-toc-do-promote, reftex-toc-promote-prepare) - (reftex-toc-promote-action, reftex-toc-extract-section-number) - (reftex-toc-load-all-files-for-promotion, reftex-toc-rename-label) - (reftex-toc-rename-label, reftex-toc-visit-location) - (reftex-toc-visit-location, reftex-toggle-auto-toc-recenter) - (reftex-toggle-auto-toc-recenter, reftex-toggle-auto-toc-recenter) - (reftex-make-separate-toc-frame): Fix typos, and use TOC consistently, - leaving "*toc*" only for references to the buffer. - -2011-11-17 Martin Rudalics - - * window.el (window-resize, delete-window, split-window): - Replace window-splits by window-combination-resize. - * cus-start.el (window-splits): Replace by window-combination-resize. - -2011-11-17 Glenn Morris - - * progmodes/sh-script.el (sh-font-lock-keywords-var): - Make bash entry derive from sh entry, not shell entry. - -2011-11-16 Michael Albinus - - * net/tramp-sh.el (tramp-sh-handle-file-truename): Cache only the - local file name. - -2011-11-16 Juanma Barranquero - - * menu-bar.el (menu-bar-file-menu): - * printing.el (pr-ps-utility): - * calendar/icalendar.el (icalendar, icalendar--convert-tz-offset) - (icalendar--convert-to-ical, icalendar--convert-ordinary-to-ical) - (icalendar--convert-weekly-to-ical, icalendar--convert-yearly-to-ical) - (icalendar--convert-sexp-to-ical, icalendar--convert-block-to-ical) - (icalendar--convert-float-to-ical, icalendar--convert-date-to-ical) - (icalendar--convert-cyclic-to-ical) - (icalendar--convert-anniversary-to-ical, icalendar-import-buffer) - (icalendar--convert-ical-to-diary) - (icalendar--convert-recurring-to-diary) - (icalendar--convert-non-recurring-all-day-to-diary) - (icalendar-import-format-sample): - * progmodes/idlw-shell.el (idlwave-shell-mode): - * progmodes/vhdl-mode.el (vhdl-mode, vhdl-print-two-column) - (vhdl-print-customize-faces, vhdl-mode, vhdl-ps-print-settings) - (vhdl-ps-print-init): Fix typos. - -2011-11-16 Ken Manheimer - - * allout.el, allout-widgets.el (file metadata): Attribute copyright to - FSF and collapse date sequence, obscure author/maintainer email address - better, remove extra version line, track relocation of author's webpage. - - * progmodes/python.el (python-pdbtrack-input-prompt) - (python-pdbtrack-track-stack-file): Adjust to recognize ipdb as well as - regular python pdb prompts. Adjustments shamelessly taken exactly as - suggested in EmacsWiki page (tiny change): - http://www.emacswiki.org/PythonProgrammingInEmacs#toc14 - -2011-11-16 Juanma Barranquero - - * expand.el (expand-pos, expand-index, expand-point): - Remove redundant info from docstring. - (expand-add-abbrevs): Doc fix. - (expand-c-sample-expand-list, expand-sample-lisp-mode-expand-list) - (expand-sample-perl-mode-expand-list): Fix typos. - - * net/dbus.el (dbus-event-member-name): - * play/5x5.el (5x5-solve-rotate-left, 5x5-solver-output): - * term/pc-win.el (msdos-create-frame-with-faces): - * textmodes/texinfmt.el (texinfo-format-image): Fix typos. - -2011-11-16 Martin Rudalics - - * window.el (split-window, window-state-get-1) - (window-state-put-1, window-state-put-2): Rename occurrences of - window-nest to window-combination-limit. - * cus-start.el (window-nest): Rename to window-combination-limit. - -2011-11-16 Chong Yidong - - * progmodes/autoconf.el (autoconf-mode): Fix comment-start-skip - regexp (Bug#10033). - -2011-11-16 Stefan Monnier - - * tmm.el (tmm-prompt): Use minibuffer-with-setup-hook (bug#10053). - `completing-read' will remove *Completions* and will preserve - current-buffer for us. - (tmm-add-prompt): Users of *Completions* will always (re)set its - major mode. - (tmm-old-comp-map): Remove. - -2011-11-16 Glenn Morris - - * mail/rmailedit.el: Require rmailmm when compiling. - (rmail-old-mime-state): New declaration. - (rmail-edit-current-message): If editing a mime message, - edit the "raw" message from the mbox buffer. - (rmail-cease-edit): Handle mime messages. (Bug#9840) - -2011-11-15 Glenn Morris - - * mail/rmailmm.el (rmail-mime-toggle-raw): Remove entity arg, - which wasn't being used. Add optional arg to force given state. - (rmail-mime): Add optional arg to force given state. - -2011-11-15 Juanma Barranquero - - * allout.el (allout-encryption-plaintext-sanitization-regexps): - * frame.el (display-mm-dimensions-alist): - * outline.el (outline-mode-menu-bar-map, outline-move-subtree-up) - (outline-move-subtree-down): - * net/newst-treeview.el (newsticker--treeview-do-get-node-of-feed) - (newsticker--treeview-do-get-node): - * net/quickurl.el (quickurl-list-buffer-name): - * progmodes/dcl-mode.el (dcl-mode): - * progmodes/gdb-mi.el (gdb-mapcar*): - * progmodes/sql.el (sql-mode-oracle-font-lock-keywords): Fix typos. - -2011-11-15 Glenn Morris - - * mail/rmail.el (rmail-file-coding-system): It's only ever used - in a boolean sense, so just make it a boolean, and fix the doc. - (rmail-show-mime-function, rmail-mime-feature) - (rmail-require-mime-maybe): Doc fixes. - (rmail-show-message-1): Check rmail-show-mime-function is non-nil. - - * mail/rmailmm.el (rmail-show-mime): Doc fix. - -2011-11-15 Juanma Barranquero - - * epg.el (epg-start-decrypt, epg-start-verify, epg-start-sign) - (epg-start-encrypt, epg-start-export-keys, epg-start-import-keys) - (epg-start-receive-keys, epg-start-delete-keys, epg-start-sign-keys) - (epg-start-generate-key, epg-context-set-progress-callback): Fix typos. - -2011-11-15 Glenn Morris - - * mail/rmailmm.el (rmail-mime-entity, rmail-mime-entity-segment) - (rmail-mime-shown-mode, rmail-mime-hidden-mode, rmail-mime-raw-mode) - (rmail-mime-toggle-hidden, rmail-mime-insert-tagline) - (rmail-mime-insert-header, rmail-mime-handle, rmail-mime-parse) - (rmail-mime, rmail-show-mime): Doc fixes. - - * term/ns-win.el (mode-line-frame-identification): - Leave it alone. (Bug#10051) - - * simple.el (mark-whole-buffer): Doc fix. (Bug#10023) - - * mail/rmailout.el (rmail-output-to-rmail-buffer): - Handle empty buffers. (Bug#9978) - -2011-11-14 Juanma Barranquero - - * international/mule.el (define-charset): - * mail/rmailmm.el (rmail-mime-find-header-encoding): - * progmodes/prolog.el (prolog-mode-hook, prolog-inferior-mode-hook): - * progmodes/verilog-mode.el (verilog-backward-token): - * textmodes/ispell.el (lookup-words): - * textmodes/sgml-mode.el (sgml-guess-indent): Fix typos. - -2011-11-14 Glenn Morris - - * progmodes/executable.el - (executable-make-buffer-file-executable-if-script-p): - Handle file-modes returning nil. - - * mail/rmailsum.el (rmail-summary): Remove movement to beginning of - message - not necessary, and causes problems. (Bug#9831) - - * mail/rmailsum.el (rmail-new-summary): Preserve message number. - - * mail/rmail.el (rmail-no-mail-p): Remove mode-line N/M indicator. - - * mail/rmailsum.el (rmail-summary, rmail-new-summary) - (rmail-new-summary-1): Allow empty summaries. (Bug#9964) - (rmail-new-summary): Remember that rmail-summary-buffer is buffer-local. - -2011-11-12 Martin Rudalics - - * window.el (window-resize, delete-window): Use window-splits - variable instead of function. - (window-state-get-1, window-state-put-2, window-state-put): - Don't deal with windows' splits status. - -2011-11-12 Glenn Morris - - * apropos.el (apropos-do-all, apropos-library, apropos-value) - (apropos-documentation): Doc fixes. - -2011-11-11 Juanma Barranquero - - * progmodes/idlw-shell.el (idlwave-shell-make-new-bp-overlay): - * textmodes/sgml-mode.el (html-tag-help): Fix typos. - -2011-11-11 Stefan Monnier - - * electric.el (electric-indent-post-self-insert-function): Make it - possible for a char to only indent in some circumstances. - (electric-indent-mode): Simplify. - -2011-11-11 Martin Rudalics - - * window.el (windows-with-parameter): Remove unused function. - (windows-at-side): Rename to window-at-side-list. - (window-check, window-atom-check, window-atom-check-1) - (window-side-check, window-size-ignore, window-size-fixed-1) - (window-in-direction-2): Prefix with "window--". - (window-tree-1): Rename to window--subtree, fix doc-string. - -2011-11-11 Glenn Morris - - * subr.el (eval-after-load): If FILE is already loaded, - evaluate FORM before it gets wrapped in more stuff. (Bug#10009) - -2011-11-10 Glenn Morris - - * vc/vc-svn.el (vc-svn-create-repo, vc-svn-modify-change-comment): - Call svn via vc-svn-command rather than vc-do-command. - (vc-svn-command): Add --non-interactive. (Bug#9993) - (vc-svn-update, vc-svn-merge-news): No need for --non-interactive. - - * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): - Add toggle-read-only. (Bug#7292) - * files.el (toggle-read-only): Mention that it should only - be used interactively. (Bug#10006) - -2011-11-09 Stefan Monnier - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Adjust regexp for OCaml warnings. - - * electric.el (electric-pair-post-self-insert-function): Let user - turn it off buffer-locally (bug#9932). - - * progmodes/python.el (python-beginning-of-statement): - Rewrite (bug#2703). - - * progmodes/compile.el: Better handle TABs (bug#9749). - (compilation-internal-error-properties) - (compilation-next-error-function): Obey the target buffer's - compilation-error-screen-columns. - -2011-11-09 Juanma Barranquero - - * progmodes/meta-mode.el: Remove obsolete comments. - (meta-right-comment-regexp, meta-ignore-comment-regexp): - Fix typos in docstrings. - -2011-11-09 Martin Rudalics - - * window.el (window-size-fixed-p): Rewrite doc-string. - (window-resizable-p): Rename to window--resizable-p. Update callers. - (window--resizable): New function. Make all callers of - window-resizable call window--resizable instead. - (window-resizable): Rewrite in terms of window--resizable. - -2011-11-08 Glenn Morris - - * progmodes/delphi.el (delphi-mode-syntax-table): - Let define-derived-mode define a proper syntax table. (Bug#9994) - -2011-11-08 Stefan Monnier - - * window.el: Stay away from defsubst. - (window-list-no-nils): Remove. - (window-state-get-1, window-state-get): Use backquote instead. - -2011-11-08 Thierry Volpiatto - - * emacs-lisp/find-func.el (find-function-read): - Fix incorrect use of default argument in `completing-read'. - -2011-11-08 Martin Rudalics - - * window.el (display-buffer-function, special-display-function): - Mention display-buffer-record-window but do not mention - help-setup parameter in doc-strings. - (window-min-delta): Fix doc-string typo. - -2011-11-08 Chong Yidong - - * window.el (window-total-height, window-total-width): Doc fix. - (window-body-size): Move from C. - (window-body-height, window-body-width): Move to C. - -2011-11-08 Stefan Monnier - - * window.el: Make special-display like display-buffer-alist (bug#9532). - (display-buffer--special-action): New function, morphed - from display-buffer--special. - (display-buffer): Use it to handle special-display-buffers at higher - priority (just after display-buffer-alist). - (display-buffer-fallback-action, display-buffer--other-frame-action) - (pop-to-buffer-same-window): Remove display-buffer--special. - -2011-11-07 Glenn Morris - - * calendar/cal-menu.el (cal-menu-set-date-title): - Do nothing if not in a calendar. (Bug#9976) - -2011-11-07 Stefan Monnier - - * files.el (find-file): Always use selected-window. - -2011-11-07 Martin Rudalics - - * window.el (window-combinations): Make WINDOW argument - mandatory. Rewrite doc-string. - (walk-window-subtree, window-atom-check, window-min-delta) - (window-max-delta, window--resize-this-window) - (window--resize-root-window-vertically, window-tree) - (balance-windows, window-state-put): Rewrite doc-strings as to - not mention the term "subwindow". - (window--resize-subwindows-skip-p): Rename to - window--resize-child-windows-skip-p. - (window--resize-subwindows-normal): Rename to - window--resize-child-windows-normal. - (window--resize-subwindows): Rename to - window--resize-child-windows. - (window-or-subwindow-p): Rename to window--in-subtree-p. - -2011-11-07 Mark Lillibridge (tiny change) - - * mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text): - Ensure that mbox format messages end in two newlines (Bug#9974). - -2011-11-06 Chong Yidong - - * window.el (window-combination-p): Function deleted; its - side-effect is not used in any existing code. - (window-combinations, window-combined-p): Call window-*-child - directly. - -2011-11-05 Chong Yidong - - * window.el (window-valid-p): Rename from window-any-p. - (window-size-ignore, window-state-get): Callers changed. - (window-normalize-window): Rename from window-normalize-any-window. - New arg LIVE-ONLY, replacing window-normalize-live-window. - (window-normalize-live-window): Delete. - (window-combination-p, window-combined-p, window-combinations) - (walk-window-subtree, window-atom-root, window-min-size) - (window-sizable, window-sizable-p, window-size-fixed-p) - (window-min-delta, window-max-delta, window-resizable) - (window-resizable-p, window-full-height-p, window-full-width-p) - (window-current-scroll-bars, window-point-1, set-window-point-1) - (window-at-side-p, window-in-direction, window-resize) - (adjust-window-trailing-edge, maximize-window, minimize-window) - (window-deletable-p, delete-window, delete-other-windows) - (record-window-buffer, unrecord-window-buffer) - (switch-to-prev-buffer, switch-to-next-buffer, window--delete) - (quit-window, split-window, window-state-put) - (set-window-text-height, fit-window-to-buffer) - (shrink-window-if-larger-than-buffer): Callers changed. - -2011-11-04 Eli Zaretskii - - * mail/rmail.el (rmail-simplified-subject): Decode subject with - rfc2047-decode-string. - (rmail-mime-toggle-hidden): Declare to avoid byte-compilation - warnings. - - * window.el (window-body-height, window-body-width): Mention in - the doc string that the return values are in frame's canonical - units. (Bug#9949) - -2011-11-03 Alan Mackenzie - - * progmodes/cc-langs.el (c-nonlabel-token-2-key): New variable for - change in cc-engine.el. - -2011-11-02 Stefan Monnier - - * window.el (switch-to-buffer): Use `force-same-window' interactively. - -2011-11-02 Martin Rudalics - - * window.el (quit-window): Call unrecord-window-buffer after - showing another buffer in the window. (Bug#9937) - (bury-buffer): Call switch-to-prev-buffer with second argument `bury'. - -2011-11-02 Juanma Barranquero - - * vc/vc-bzr.el (vc-bzr-state, vc-bzr-after-dir-status): - Accept status with more than 9 shelves. (Bug#9935) - Reported by Colin D Bennett . - -2011-11-01 Martin Rudalics - - * help.el (with-help-window): Don't reference - temp-buffer-show-specifiers in doc-string. - -2011-10-31 Andreas Schwab - - * subr.el (keymap--menu-item-with-binding): Ignore item if not a - menu-item. - -2011-10-30 Vinicius Jose Latorre - - * whitespace.el: New version 13.2.2. - (whitespace-newline-mode): Disable properly. Reported by Sarah - . - -2011-10-30 Ulf Jasper - - * net/newst-treeview.el: Remove "Time-stamp". - (newsticker--group-manage-orphan-feeds): Do not call - newsticker--treeview-tree-update. - (newsticker-treeview-update, newsticker-treeview): - Call newsticker--treeview-tree-update if necessary. - -2011-10-30 Martin Rudalics - - * window.el (window-iso-combination-p, window-iso-combined-p) - (window-iso-combinations): Remove "iso-" infix. - Suggested by Chong Yidong. - (window-min-size-1, window-size-fixed-1, window-min-delta-1) - (window-max-delta-1, window-resize, window--resize-siblings) - (window--resize-this-window, adjust-window-trailing-edge) - (split-window, balance-windows-1) - (shrink-window-if-larger-than-buffer): - * calendar/calendar.el (calendar-generate-window): - * help.el (resize-temp-buffer-window): Adjust callers accordingly. - -2011-10-30 Stefan Monnier - - * eshell/esh-cmd.el (eshell-rewrite-for-command): Don't modify the list - in place (bug#9907). - (eshell-subcommand-arg-values, eshell-rewrite-named-command) - (eshell-rewrite-if-command, eshell-rewrite-for-command) - (eshell-structure-basic-command, eshell-rewrite-while-command) - (eshell-invokify-arg, eshell-parse-pipeline, eshell-parse-command) - (eshell-parse-subcommand-argument, eshell-parse-lisp-argument) - (eshell-trap-errors, eshell-do-pipelines, eshell-do-eval) - (eshell-do-pipelines-synchronously, eshell-eval-command): - Use backquotes and prefer setq to set. - (eshell-lookup-function, function-p-func, eshell-functionp): Remove. - (eshell-macrop): Use functionp. - (eshell-do-eval): Handle multiple expressions in `while' body. - -2011-10-30 Chong Yidong - - * emulation/viper-cmd.el (viper-exec-change): Use push-mark - instead of set-mark (Bug#9810). - -2011-10-30 Chong Yidong - - * window.el (split-window-below, split-window-right): Rename from - split-window-above-each-other and split-window-side-by-side - respectively. All callers changed. - (split-window-sensibly, split-window-sensibly): Use them. - (split-window-keep-point): Doc fix. - - * isearch.el: Add isearch-scroll property to split-window-below - and split-window-right. - - * follow.el (follow-mode): - * vc/pcvs-util.el (cvs-pop-to-buffer-same-frame): - * progmodes/ada-xref.el (ada-gdb-application): - * emulation/vip.el (vip-buffer-in-two-windows): - * image-dired.el (image-dired-dired-with-window-configuration): - * dired-x.el (dired-do-find-marked-files): - * dired.el (dired-pop-to-buffer): - * bs.el (bs--show-with-configuration): - * vc/emerge.el (emerge-setup-windows): - * textmodes/two-column.el (2C-two-columns): - * textmodes/reftex-toc.el (reftex-toc): - * progmodes/gdb-mi.el (gdb-setup-windows): - * progmodes/fortran.el (fortran-window-create): - * net/newst-treeview.el (newsticker--treeview-window-init): - * emulation/ws-mode.el (wordstar-C-o-map, wordstar-mode): - * emulation/tpu-edt.el (tpu-gold-map): - * emulation/crisp.el (crisp-mode-map): - * calendar/calendar.el (calendar-basic-setup): Callers changed. - -2011-10-29 Chong Yidong - - * subr.el (y-or-n-p): Add code for batch mode (Bug#9818). - - * mouse.el (mouse-yank-primary): Push the mark (Bug#9894). - - * textmodes/flyspell.el (flyspell-word): Fix char offset for - forged Ispell output (Bug#7904). - - * emacs-lisp/package.el (package-refresh-contents): Add autoload. - -2011-10-28 Stefan Monnier - - * doc-view.el: Avoid ugly errors about not finding nil. - (doc-view-ghostscript-program, doc-view-dvipdfm-program) - (doc-view-dvipdf-program, doc-view-unoconv-program) - (doc-view-ps2pdf-program, doc-view-pdftotext-program): - Avoid nil or absolute file name as default value. - (doc-view-pdf->txt, doc-view-ps->pdf): Use executable-find here. - -2011-10-28 Alan Mackenzie - - * progmodes/cc-defs.el (c-version): -> 5.32.2. - -2011-10-28 Alan Mackenzie - - Amend the handling of c-beginning/end-of-defun in nested declaration - scopes. - - * progmodes/cc-vars.el (c-defun-tactic): Move here from - cc-langs.el. Change it to a defcustom. - - * progmodes/cc-langs.el (c-defun-tactic): Move this variable to - cc-vars.el. - - * progmodes/cc-engine.el (c-beginning-of-statement-1): - Prevent "class foo : bar" being spuriously recognized as a label. - - * progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): - Add parameter `inclusive' (to include enclosing braces in the region). - (c-widen-to-enclosing-decl-scope): New function. - (c-while-widening-to-decl-block): New macro. - (c-beginning-of-defun, c-end-of-defun): Change algorithm to keep going - outward for defun boundaries, and correspondingly change symbol - `respect-enclosure' to `go-outward'. - (c-declaration-limits): Change algorithm to report only the "innermost" - defun's boundaries. - -2011-10-28 Deniz Dogan - - * net/rcirc.el (rcirc-mode): Use hard newlines. - -2011-10-28 Alan Mackenzie - - Amend to indent and fontify macros "which include their own semicolon" - correctly, using the "virtual semicolon" mechanism. - - * progmodes/cc-defs.el: Update "virtual semicolon" comments. - - * progmodes/cc-engine.el (c-crosses-statement-barrier-p): - Recode to scan one line at a time rather than having \n and \r - explicitly in c-stmt-delim-chars (for some modes, e.g. AWK). - (c-forward-label): Amend for virtual semicolons. - (c-at-macro-vsemi-p, c-macro-vsemi-status-unknown-p): New functions. - - * progmodes/cc-fonts.el (c-font-lock-declarations): Take account - of the new C macros. - - * progmodes/cc-langs.el (c-at-vsemi-p-fn): - (c-vsemi-status-unknown-p-fn): Move to earlier in the file. - (c-opt-cpp-symbol, c-line-comment-start-regexp): New language vars. - (c-opt-cpp-macro-define): Make into a full language variable. - (c-stmt-delim-chars, c-stmt-delim-chars-with-comma): Special value for - AWK Mode (including \n, \r) removed, no longer needed. - - * progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): - Invoke c-make-macro-with-semi-re. - - * progmodes/cc-vars.el (c-macro-with-semi-re): - (c-macro-names-with-semicolon): New variables. - (c-make-macro-with-semi-re): New function. - -2011-10-28 Stefan Monnier - - * vc/log-edit.el: Fill empty field rather than adding new one. - (log-edit-add-field): New function. - (log-edit-insert-changelog): Use it. - -2011-10-28 Mark Lillibridge (tiny change) - - * mail/rmail.el (rmail-mode-map): Add M-C-f as in rmailsum (bug#9802). - -2011-10-28 Stefan Monnier - - * progmodes/gdb-mi.el: Warn the user when -i=mi is missing. - (gdb--check-interpreter): New function. - (gdb): Use it. - -2011-10-27 Glenn Morris - - * emacs-lisp/cl-extra.el (most-positive-float, most-negative-float) - (least-positive-float, least-negative-float) - (least-positive-normalized-float, least-negative-normalized-float) - (float-epsilon, float-negative-epsilon): - Remove unnecessary declarations. - - * emacs-lisp/cl-extra.el (cl-float-limits): Add doc string. - * emacs-lisp/cl.el (most-positive-float, most-negative-float) - (least-positive-float, least-negative-float) - (least-positive-normalized-float, least-negative-normalized-float) - (float-epsilon, float-negative-epsilon): Add doc-strings, - based on those in cl.texi. - - * files.el (set-visited-file-name): If the major-mode changed, - reload the local variables. (Bug#9796) - -2011-10-27 Chong Yidong - - * subr.el (change-major-mode-after-body-hook): New hook. - (run-mode-hooks): Run it. - - * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): - Use change-major-mode-before-body-hook. - - * simple.el (fundamental-mode): - * emacs-lisp/derived.el (define-derived-mode): Revert 2010-04-28 - change introducing fundamental-mode-hook. - -2011-10-26 Juanma Barranquero - - * term/w32-win.el (w32-default-color-map): Declare obsolete (Bug#9785). - -2011-10-26 Michael Albinus - - * ido.el (ido-file-name-all-completions-1): Do not require - tramp.el explicitly. (Bug#7583) - -2011-10-26 Stefan Monnier - - * progmodes/octave-mod.el: - * progmodes/octave-inf.el: Update maintainer. - -2011-10-26 Chong Yidong - - * subr.el (with-wrapper-hook): Rewrite doc. - -2011-10-25 Michael Albinus - - * net/tramp-sh.el (tramp-sh-handle-file-directory-p): Return t for - filenames "/method:foo:". (Bug#9793) - -2011-10-25 Stefan Monnier - - * comint.el (comint-get-old-input-default): Fix use-prompt-regexp case - (bug#9865). - -2011-10-24 Glenn Morris - - * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. (Bug#9819) - -2011-10-24 Michael Albinus - - * notifications.el: Add the requirement of a running D-Bus session - bus to the Commentary. - -2011-10-24 Juri Linkov - - * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to - `search-whitespace-regexp' only when `isearch-regexp' is non-nil. - (Bug#9364) - -2011-10-24 Juri Linkov - - * info.el (Info-following-node-name-re): Add newline to the list - of allowed characters for leading space. (Bug#9824) - -2011-10-24 Stefan Monnier - - * progmodes/octave-inf.el (inferior-octave-mode-map): - Fix C-c C-h binding. - * progmodes/octave-mod.el (octave-help): Remove. - -2011-10-23 Michael Albinus - - Sync with Tramp 2.2.3. - - * net/tramp-cache.el (top): Pacify byte-compiler using - `init-file-user' and `site-run-file'. - - * net/trampver.el: Update release number. - -2011-10-23 Chong Yidong - - * files.el (toggle-read-only): Remove obsolete comment about - version control. - - * vc/vc-hooks.el (vc-toggle-read-only): Make it an obsolete alias - for toggle-read-only. Note that this hasn't called vc-next-action - since 2008-05-02, though it wasn't documented at the time. - - * vc/ediff-init.el (ediff-toggle-read-only-function): - Use toggle-read-only. - -2011-10-22 Alan Mackenzie - - Fix bug #9560, sporadic wrong indentation; improve instrumentation - of c-parse-state. - - * progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): - correct faulty logical expression. - (c-parse-state-state, c-record-parse-state-state): - (c-replay-parse-state-state): New defvar/defuns. - (c-debug-parse-state): Use new functions. - -2011-10-22 Martin Rudalics - - * mouse.el (mouse-drag-line): Fix minibuffer resizing broken by - last fix. Use window-in-direction correctly. - -2011-10-21 Chong Yidong - - * progmodes/idlwave.el (idlwave-mode): - * progmodes/vera-mode.el (vera-mode): No need to set - require-final-newline; that's done in prog-mode. - Suggested by Stefan Monnier. - -2011-10-21 Martin Rudalics - - * mouse.el (mouse-drag-window-above) - (mouse-drag-move-window-bottom, mouse-drag-move-window-top) - (mouse-drag-mode-line-1, mouse-drag-header-line) - (mouse-drag-vertical-line-rightward-window): Remove. - (mouse-drag-line): New function. - (mouse-drag-mode-line, mouse-drag-header-line) - (mouse-drag-vertical-line): Call mouse-drag-line. - * window.el (window-at-side-p, windows-at-side): New functions. - -2011-10-21 Ulrich Mueller - - * tar-mode.el (tar-grind-file-mode): - Fix handling of setuid/setgid, handle sticky bit. (Bug#9817) - -2011-10-21 Chong Yidong - - * progmodes/idlwave.el (idlwave-mode): - * progmodes/vera-mode.el (vera-mode): - Use mode-require-final-newline. - -2011-10-20 Glenn Morris - - * vc/vc.el (vc-next-action): Handle removed directories. (Bug#9781) - -2011-10-20 Christoph Scholtes - - * emulation/cua-base.el (cua-set-mark): Fix case of string. - -2011-10-20 Chong Yidong - - * emulation/cua-base.el (cua-mode): - * mail/footnote.el (footnote-mode): - * mail/mailabbrev.el (mail-abbrevs-mode): - * net/xesam.el (xesam-minor-mode): - * progmodes/bug-reference.el (bug-reference-mode): - * progmodes/cap-words.el (capitalized-words-mode): - * progmodes/compile.el (compilation-minor-mode) - (compilation-shell-minor-mode): - * progmodes/gud.el (gud-tooltip-mode): - * progmodes/hideif.el (hide-ifdef-mode): - * progmodes/idlw-shell.el (idlwave-shell-electric-debug-mode): - * progmodes/subword.el (subword-mode): - * progmodes/vhdl-mode.el (vhdl-electric-mode, vhdl-stutter-mode): - * progmodes/which-func.el (which-function-mode): - * term/tvi970.el (tvi970-set-keypad-mode): - * term/vt100.el (vt100-wide-mode): - * textmodes/flyspell.el (flyspell-mode): - * textmodes/ispell.el (ispell-minor-mode): - * textmodes/nroff-mode.el (nroff-electric-mode): - * textmodes/paragraphs.el (use-hard-newlines): - * textmodes/refill.el (refill-mode): - * textmodes/reftex.el (reftex-mode): - * textmodes/rst.el (rst-minor-mode): - * textmodes/sgml-mode.el (html-autoview-mode) - (sgml-electric-tag-pair-mode): - * textmodes/tex-mode.el (latex-electric-env-pair-mode): - * vc/diff-mode.el (diff-auto-refine-mode, diff-minor-mode): - * emulation/crisp.el (crisp-mode): - * emacs-lisp/eldoc.el (eldoc-mode): - * emacs-lisp/checkdoc.el (checkdoc-minor-mode): Doc fixes for new - minor mode behavior. - -2011-10-19 Juri Linkov - - * descr-text.el (describe-char): Add #x2010 and #x2011 to - the list of hard-coded chars with escape-glyph face. - -2011-10-19 Stefan Monnier - - * vc/log-edit.el (log-edit-empty-buffer-p): Ignore empty headers. - -2011-10-19 Michael Albinus - - * net/tramp.el (tramp-connectable-p): Make a stronger check on a - running process. - -2011-10-19 Glenn Morris - - * vc/vc-bzr.el (vc-bzr-after-dir-status): - Ignore ignored files. (Bug#9726) - -2011-10-19 Chong Yidong - - Doc fix for minor modes, stating that an omitted argument enables - the mode unconditionally when called from Lisp. - - * abbrev.el (abbrev-mode): - * allout.el (allout-mode): - * autoinsert.el (auto-insert-mode): - * autoarg.el (autoarg-mode, autoarg-kp-mode): - * autorevert.el (auto-revert-mode, auto-revert-tail-mode) - (global-auto-revert-mode): - * battery.el (display-battery-mode): - * composite.el (global-auto-composition-mode) - (auto-composition-mode): - * delsel.el (delete-selection-mode): - * desktop.el (desktop-save-mode): - * dired-x.el (dired-omit-mode): - * dirtrack.el (dirtrack-mode): - * doc-view.el (doc-view-minor-mode): - * double.el (double-mode): - * electric.el (electric-indent-mode, electric-pair-mode): - * emacs-lock.el (emacs-lock-mode): - * epa-hook.el (auto-encryption-mode): - * follow.el (follow-mode): - * font-core.el (font-lock-mode): - * frame.el (auto-raise-mode, auto-lower-mode, blink-cursor-mode): - * help.el (temp-buffer-resize-mode): - * hilit-chg.el (highlight-changes-mode) - (highlight-changes-visible-mode): - * hi-lock.el (hi-lock-mode): - * hl-line.el (hl-line-mode, global-hl-line-mode): - * icomplete.el (icomplete-mode): - * ido.el (ido-everywhere): - * image-file.el (auto-image-file-mode): - * image-mode.el (image-minor-mode): - * iswitchb.el (iswitchb-mode): - * jka-cmpr-hook.el (auto-compression-mode): - * linum.el (linum-mode): - * longlines.el (longlines-mode): - * master.el (master-mode): - * mb-depth.el (minibuffer-depth-indicate-mode): - * menu-bar.el (menu-bar-mode): - * minibuf-eldef.el (minibuffer-electric-default-mode): - * mouse-sel.el (mouse-sel-mode): - * msb.el (msb-mode): - * mwheel.el (mouse-wheel-mode): - * outline.el (outline-minor-mode): - * paren.el (show-paren-mode): - * recentf.el (recentf-mode): - * reveal.el (reveal-mode, global-reveal-mode): - * rfn-eshadow.el (file-name-shadow-mode): - * ruler-mode.el (ruler-mode): - * savehist.el (savehist-mode): - * scroll-all.el (scroll-all-mode): - * scroll-bar.el (scroll-bar-mode): - * server.el (server-mode): - * shell.el (shell-dirtrack-mode): - * simple.el (auto-fill-mode, transient-mark-mode) - (visual-line-mode, overwrite-mode, binary-overwrite-mode) - (line-number-mode, column-number-mode, size-indication-mode) - (auto-save-mode, normal-erase-is-backspace-mode, visible-mode): - * strokes.el (strokes-mode): - * time.el (display-time-mode): - * t-mouse.el (gpm-mouse-mode): - * tool-bar.el (tool-bar-mode): - * tooltip.el (tooltip-mode): - * type-break.el (type-break-mode-line-message-mode) - (type-break-query-mode): - * view.el (view-mode): - * whitespace.el (whitespace-mode, whitespace-newline-mode) - (global-whitespace-mode, global-whitespace-newline-mode): - * xt-mouse.el (xterm-mouse-mode): Doc fix. - - * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): - Fix autogenerated docstring. - -2011-10-19 Juri Linkov - - * net/browse-url.el (browse-url-can-use-xdg-open): Support LXDE - by checking environment variables "DESKTOP_SESSION" and - "XDG_CURRENT_DESKTOP". (Bug#9779) - -2011-10-19 Juri Linkov - - * net/browse-url.el (browse-url-browser-function): Add "Chromium". - (browse-url-chromium-program, browse-url-chromium-arguments): - New defcustoms. - (browse-url-default-browser): Check for `browse-url-chromium' and - call `browse-url-chromium-program'. - (browse-url-chromium): New command. (Bug#9779) - -2011-10-18 Juanma Barranquero - - * facemenu.el (list-colors-duplicates): On Windows, detect more - duplicates by assuming that only colors matching "^System" are - special "system colors". (Bug#9722) - -2011-10-18 Stefan Monnier - - * vc/log-edit.el (log-edit): Add "Author:" header to encourage people - to distinguish the author from the committer. - -2011-10-18 Michael Albinus - - * net/tramp.el (tramp-file-name-handler): Load Tramp packages silently. - -2011-10-18 Jirka Kosek (tiny change) - - * international/mule.el (sgml-html-meta-auto-coding-function): - Add support for detecting encoding in HTML5 specified only as - . Implementation just makes http-equiv and - content-type parts from HTML4 encoding string optional. (Bug#9716) - -2011-10-18 Glenn Morris - - * vc/vc.el (vc-initial-comment): Mark as obsolete. (Bug#9745) - -2011-10-18 Chong Yidong - - * faces.el (cursor): Doc fix. - -2011-10-17 Chong Yidong - - * font-lock.el (font-lock-maximum-size): Mark as obsolete. - -2011-10-17 Ryan Barrett (tiny change) - - * dirtrack.el (dirtrack): Support shell buffers with path - prefixes, e.g. tramp-based remote shells. (Bug#9647) - -2011-10-17 Teodor Zlatanov - - * json.el: Bump version to 1.3 and note change in History. - (json-alist-p, json-plist-p): Rewrite to avoid recursion. - -2011-10-17 Stefan Monnier - - * comint.el (comint-insert-input, comint-send-input) - (comint-get-old-input-default, comint-backward-matching-input) - (comint-next-prompt): Use nil instead of `input' for field property of - past user input (bug#114). - - * minibuffer.el (completion--replace): Inherit surrounding properties - (bug#114). - (minibuffer-complete-and-exit): Use it. - - * comint.el (comint--table-subvert): Quote the all-completions output - (bug#9160). - -2011-10-17 Martin Rudalics - - * ido.el (ido-default-buffer-method): Remove redundant :type entry. - - * menu-bar.el (menu-bar-file-menu): Add entry for making new - window on right of selected. (Bug#9350) Reword other window - entries and separate them from frame entries. - -2011-10-15 Glenn Morris - - * emacs-lisp/ert.el (ert--explain-equal-rec, ert-select-tests): - Doc fixes. - -2011-10-15 Chong Yidong - - * net/network-stream.el (network-stream-open-starttls): - Improve detection of failure due to lack of TLS support. - - * mail/sendmail.el (sendmail-query-once): Tweak prompt message, - putting the input text in front and in bold. - -2011-10-14 Stefan Monnier - - * pcmpl-unix.el (pcomplete/ssh): SSH does allow ganging. - - * mpc.el (mpc-songs-jump-to): Don't burp if the user clicks in an - empty buffer. - - * mouse.el (mouse-drag-mode-line-1): Modify the end-event we pushed on - unread-command-events rather than pushing yet-another event. - -2011-10-14 Eli Zaretskii - - * mail/sendmail.el (sendmail-query-once): Improve the wording of - the explanation of the possible choices. Make the options passed - to completing-read shorter. - -2011-10-13 Agustín Martín Domingo - - * textmodes/flyspell.el (flyspell-large-region): Make sure - extended character mode is used if defined (Bug#1339). - -2011-10-13 Eli Zaretskii - - * simple.el (what-cursor-position): Fix the display of the - character info for LRE, LRO, RLE, and RLO characters by appending - an invisible PDF. - -2011-10-13 Stefan Monnier - - * emacs-lisp/timer.el (with-timeout): Make sure we cancel the timer - even in case of error; add debug spec; simplify data flow. - (with-timeout-handler): Remove. - -2011-10-12 Michael Albinus - - Fix Bug#6019, Bug#9315. - - * files.el (set-auto-mode): Call `file-name-sans-versions' for the - complete `buffer-file-name', the local file name part could look - remotely (for example on VMS). - - * net/ange-ftp.el (ange-ftp-run-real-handler): Make it an alias of - `tramp-run-real-handler'. - (ange-ftp-fix-name-for-vms): Handle the case, where `name' is - already quoted by '"'. - - * net/tramp.el (tramp-rfn-eshadow-update-overlay): Ignore errors. - Let `file-name-handler-alist' be nil, the local file name part - could look remotely (for example on VMS). - -2011-10-12 Stefan Monnier - - * textmodes/flyspell.el (flyspell-word): Move with-local-quit - from here... - (flyspell-post-command-hook): ...to here. - -2011-10-11 Stefan Monnier - - * mail/sendmail.el (send-mail-function): Don't use sendmail-query-once - if not needed. - (sendmail-query-once): Remove OS dependencies. Make it a 3-way choice - using completion. Protect against "slow" callers. - Remove the "message hack". - -2011-10-11 Juri Linkov - - * isearch.el (isearch-lazy-highlight-word): New variable. - (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search): - Use it. (Bug#9727) - -2011-10-11 Glenn Morris - - * progmodes/f90.el (f90-next-statement): Ignore preprocessor lines, - like f90-previous-statement does. - -2011-10-11 Thierry Volpiatto - - * eshell/eshell.el (eshell-command): History should be saved - only in interactive use, to avoid error. - -2011-10-11 Stefan Monnier - - * minibuffer.el (completion-file-name-table): Fix last change, - i.e. ignore normal errors but not the other ones. - -2011-10-10 Martin Rudalics - - * window.el (special-display-buffer-names) - (special-display-regexps): Remove some remnants of earlier - changes from doc-strings. - (quit-windows-on): New function. - - * vc/vc.el (vc-revert, vc-rollback): - * vc/vc-dispatcher.el (vc-finish-logentry): Call quit-windows-on - instead of deleting windows. (Bug#4557) (Bug#5310) (Bug#5556) - (Bug#6183) (Bug#7074) (Bug#7447) - -2011-10-09 Martin Rudalics - - * window.el (frame-auto-hide-function): Add version tag. - (Bug#9699) - -2011-10-09 Michael Albinus - - * net/tramp.el (tramp-file-name-handler): Add 'debug to the error - condition. - -2011-10-09 Leo Liu - - * mail/smtpmail.el (smtpmail-send-data): Add a missing space. - (Bug#9701) - -2011-10-08 Glenn Morris - - * progmodes/f90.el (f90-calculate-indent): Give preprocessor lines - before the first code statement zero indent. (Bug#9690) - -2011-10-08 Chong Yidong - - * simple.el (count-words-region): Always count in the region. - Report the number of lines and characters too. - (count-words): New command, which counts in the buffer if the - region is inactive, as count-words-region used to. - (count-words--message): New function. Handle plurals. - (count-lines-region): Make it an alias for count-words-region. - - * bindings.el (esc-map): Replace count-lines-region with - count-words-region. - -2011-10-08 Martin Rudalics - - * window.el (window--delete): Delete dedicated frame - unconditionally when argument KILL is non-nil. (Bug#9699) - (switch-to-buffer): Fix doc-string typo. - -2011-10-08 Thierry Volpiatto - - * eshell/eshell.el (eshell-command): Avoid using hooks. - -2011-10-07 Chong Yidong - - * bindings.el ([M-left], [M-right]): Bind to left-word and - right-word respectively. - -2011-10-07 Glenn Morris - - * cus-start.el (debug-on-quit): Fix custom type. - -2011-10-06 Lars Magne Ingebrigtsen - - * subr.el (define-key-after): Clarify that the function is not - useful for non-menu keymaps. - - * progmodes/gdb-mi.el (gdb): Fix typo in doc string. - -2011-10-06 Thierry Volpiatto - - * eshell/eshell.el (eshell-command): Enable `eshell-mode' only - in current minibuffer (Fix bug with recursive minibuffers). - -2011-10-06 Chong Yidong - - * progmodes/gdb-mi.el (gdb): Doc fix. - -2011-10-05 Martin Rudalics - - * window.el (frame-auto-hide-function): New option replacing - frame-auto-delete. Suggested by Stefan Monnier. - (window--delete): Call frame-auto-hide-function instead of - investigating frame-auto-delete. - (window-point-1, set-window-point-1): New functions. - (window-in-direction, record-window-buffer, window-state-get-1) - (display-buffer-record-window): Use window-point-1 instead of - window-point. - (set-window-buffer-start-and-point): Use set-window-point-1. - -2011-10-05 Stefan Monnier - - * emacs-lisp/edebug.el: Heed checkdoc recommendations. - -2011-10-05 Glenn Morris - - * progmodes/perl-mode.el (perl-electric-terminator): Doc fix. - (perl-calculate-indent): Suppress scan errors. (Bug#2205) - -2011-10-05 Leo Liu - - * subr.el (read-char-choice): Fix argument to buffer-live-p which - works with buffer object. - -2011-10-05 Stefan Monnier - - * mpc.el (mpc-tool-bar-map): Add labels. - -2011-10-04 Glenn Morris - - * calendar/holidays.el (calendar-check-holidays): Doc fix. - -2011-10-04 Martin Rudalics - - * window.el (window--delete): New function. - (frame-auto-delete): Resuscitate option. - (bury-buffer, replace-buffer-in-windows) - (quit-window): Rewrite using window--delete. - (display-buffer-pop-up-frame, display-buffer-pop-up-window): - Pass display-buffer-mark-dedicated to window--display-buffer-2 - (Bug#9639). - -2011-10-03 Stefan Monnier - - * pcmpl-unix.el (pcomplete/scp): Don't assume pcomplete-all-entries - returns a list (bug#9554). Add remote file name completion. - * comint.el (comint--table-subvert): Curry and get quote&unquote - functions as arguments. - (comint--complete-file-name-data): Adjust call accordingly. - * pcomplete.el (pcomplete--table-subvert): Remove. - (pcomplete-completions-at-point): Use comint--table-subvert instead. - - * minibuffer.el (completion-table-case-fold): Use currying. - (completion--styles-type, completion--cycling-threshold-type): - New constants. - (completion-styles, completion-category-overrides) - (completion-cycle-threshold): Use them. - * pcomplete.el (pcomplete-completions-at-point): Adjust call to - completion-table-case-fold. - -2011-10-03 Stephen Berman - - * minibuffer.el (completion-category-overrides): Fix type of styles - and add more user friendly tags (bug#9660). - -2011-10-03 Stefan Monnier - - * international/mule-cmds.el: Fix abuses of apply-partially (bug#9661). - (mule-input-method-string): New widget. - (default-input-method, language-info-custom-alist): Use it. - -2011-10-02 Stefan Monnier - - * pcomplete.el: Require comint. - (pcomplete--common-suffix): Remove. - (pcomplete--common-quoted-suffix): Use comint--common-suffix instead. - (pcomplete--table-subvert): Sync with comint--table-subvert. - (pcomplete--entries): Use comint-completion-file-name-table. - * comint.el (comint-unquote-filename): Simplify. - (comint-completion-file-name-table): New function (bug#9616). - (comint--complete-file-name-data): Use it. - - * pcmpl-gnu.el (pcmpl-gnu-with-file-buffer): New macro (bug#9643). - (pcmpl-gnu-tar-buffer): Remove. - (pcmpl-gnu-with-file-buffer): Use it to avoid leaving the tar's buffer - around. Make sure pcomplete-suffix-list is only changed temporarily. - Don't look inside the tar's file if it's too large. - -2011-10-01 Chong Yidong - - * cus-edit.el (custom-mode-map): - * epa.el (epa-key-list-mode-map): - * man.el (Man-mode-map): - * startup.el (splash-screen-keymap): - * simple.el (special-mode-map): Use scroll-up-command and - scroll-down-command. - - * progmodes/idlw-help.el (idlwave-help-mode-map): - * progmodes/ebrowse.el (ebrowse-electric-position-mode-map): - * net/newst-plainview.el (newsticker-mode-map): - * emulation/ws-mode.el (wordstar-mode-map): - * emulation/vi.el (vi-com-map): - * calc/calc-graph.el (calc-graph-show-dumb): - * term/sun.el (terminal-init-sun): - * term/ns-win.el (global-map): - * progmodes/grep.el (grep-mode-map): - * progmodes/ebrowse.el (ebrowse-electric-list-mode-map): - * mail/rmail.el (rmail-mode-map): - * progmodes/cpp.el (cpp-edit-mode-map): Likewise. - - * custom.el (custom-safe-themes, load-theme): Treat value of t for - custom-safe-themes as special. - -2011-10-01 Julien Danjou - - * notifications.el (notifications-notify): Fix docstring. - -2011-10-01 Per Starbäck - - * pcmpl-gnu.el (pcomplete/tar): Fix tar-header-name call. (Bug#9643) - -2011-09-30 Martin Rudalics - - * startup.el (command-line-1): Fix last fix by inserting - initial-scratch-message into *scratch* before displaying it. - (Bug#9605) and (Bug#9636) - -2011-09-29 Eli Zaretskii - - * simple.el (line-move): If auto-hscroll-mode is disabled and the - window is hscrolled, move by logical lines. (Bug#9607) - (line-move-visual): Update the doc string to the above effect. - -2011-09-29 Martin Rudalics - - * window.el (display-buffer-record-window): When WINDOW is the - selected window use `point' instead of `window-point'. (Bug#9626) - - * startup.el (command-line-1): Use insert-before-markers when - inserting initial-scratch-message. (Bug#9605) - - * help.el (help-window): Remove variable. - -2011-09-29 Glenn Morris - - * pcmpl-cvs.el (pcomplete/cvs): Add "status" handler. - -2011-09-29 Juanma Barranquero - - * descr-text.el (describe-char-categories): Accept category - descriptions more than one line long. - -2011-09-28 Stefan Monnier - - * simple.el (delete-trailing-whitespace): Fix last change. - - * progmodes/perl-mode.el (perl-syntax-propertize-function): - Don't confuse "y => 3" as the beginning of a `y' operation. - - * emacs-lisp/debug.el (debug-convert-byte-code): Don't assume the - object has more than 4 slots (bug#9613). - -2011-09-28 Juanma Barranquero - - * subr.el (with-output-to-temp-buffer): - * net/quickurl.el (quickurl, quickurl-browse-url): - Fix typos in docstrings. - -2011-09-27 Eli Zaretskii - - * minibuffer.el (completion-styles) - (completion-category-overrides): Cross reference each other in doc - strings. - -2011-09-27 Glenn Morris - - * pcmpl-cvs.el (pcmpl-cvs-entries): Update for Emacs 22.1 changes - to split-string. (Bug#9606) - -2011-09-27 Lars Magne Ingebrigtsen - - * mail/smtpmail.el (smtpmail-via-smtp): Fix STARTTLS detection - (bug#9615). - -2011-09-27 Chong Yidong - - * emacs-lisp/package.el (list-packages): Fix echo area message. - -2011-09-27 Leo Liu - - * ido.el (ido-read-internal): Accept cons cell HIST arg. - -2011-09-25 Michael Albinus - - * net/dbus.el (dbus-unregister-object): Don't release services for - registered signals. (Bug#9581) - -2011-09-25 Teodor Zlatanov - - * progmodes/cfengine.el (cfengine-auto-mode): Add convenience - function that picks between cfengine 2 and 3 support - automatically. Update docs accordingly. - -2011-09-22 Kenichi Handa - - * language/ind-util.el (indian-tml-base-table): Add TAMIL DIGIT - ZERO. - (indian-itrans-v5-table-for-tamil): New variable. - (indian-tml-itrans-v5-hash): Use the above variable (Bug#9336). - -2011-09-22 Ken Manheimer - - * allout.el (allout-this-command-hid-stuff): Buffer-local variable - that's true if the current command involved collapsing of text. - It's reset to false at the beginning of the next command. - (allout-post-command-business): Move the cursor to the beginning - of entry if the cursor is hidden and collapsing activity just - happened. - -2011-09-24 Chong Yidong - - * mouse.el (mouse-drag-track): Set scroll-margin to 0 while - tracking (Bug#9541). - -2011-09-24 Ulf Jasper - - * net/newst-reader.el (newsticker-html-renderer) - (newsticker-show-news): Automatically load html rendering package - if newsticker-html-renderer is set. Fixes "Warning: defvar ignored - because w3m-fill-column is let-bound" and the error "Symbol's value - as variable is void: w3m-fill-column". - -2011-09-24 Michael Albinus - - * net/dbus.el (dbus-unregister-object): Remove match rule of signals. - Release services only if they are defined. (Bug#9581) - -2011-09-23 Richard Stallman - - * textmodes/paragraphs.el (forward-sentence): For backwards case, - distinguish start of paragraph from start of its text. - - * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): Autoload. - - * mail/rmail.el (rmail-view-buffer-kill-buffer-hook): New function. - (rmail-generate-viewer-buffer): Put that hook on view buffer. - (rmail-mode-kill-buffer-hook): Override that hook, to kill view buffer. - -2011-09-23 Andreas Schwab - - * international/mule-diag.el (mule-diag): Insert a newline after - each fontset description. - -2011-09-23 Stefan Monnier - - * simple.el (delete-trailing-whitespace): - Document last change; simplify. - -2011-09-23 Peter J. Weisberg - - * simple.el (delete-trailing-whitespace): Also delete - extra newlines at the end of the buffer. - - * textmodes/picture.el: Make motion commands obey shift-select-mode. - (picture-newline): Use forward-line so as to ignore fields. - -2011-09-23 Stefan Monnier - - * subr.el (with-wrapper-hook): Fix edebug spec. - -2011-09-23 Lars Magne Ingebrigtsen - - * simple.el (kill-line): Note effect of `show-trailing-whitespace' - (bug#4538). - -2011-09-23 Michael Albinus - - * net/tramp-sh.el (tramp-sh-handle-file-name-all-completions): - Fix nasty bug using wrong cached values. - -2011-09-23 Alan Mackenzie - - * progmodes/cc-defs.el (c-version): Increase to 5.31.9. - -2011-09-23 Chong Yidong - - * window.el (pop-to-buffer): Ensure right window is selected if we - chose another frame. - -2011-09-22 Eli Zaretskii - - * simple.el (what-cursor-position): Use get-char-property-change - and next-single-char-property-change, to be able to show display - properties that come from overlays as well as text properties. - -2011-09-22 Chong Yidong - - * window.el (pop-to-buffer-same-window): New (reinstated) fun. - - * cmuscheme.el (run-scheme, switch-to-scheme): - * cus-edit.el (customize-group, custom-buffer-create) - (customize-browse): - * info.el (info): - * shell.el (shell): - * mail/sendmail.el (mail): - * progmodes/inf-lisp.el (inferior-lisp): Use it (Bug#9532). - -2011-09-22 Richard Stallman - - * textmodes/paragraphs.el (forward-sentence): When setting PAR-BEG, - move back only to line beg, don't move back over blank lines. - -2011-09-22 Michael Albinus - - * files.el (copy-directory): Set directory attributes only in case - they could be retrieved from the source directory. (Bug#9565) - -2011-09-22 Dima Kogan (tiny change) - - * progmodes/hideshow.el (hs-looking-at-block-start-p) - (hs-find-block-beginning, hs-hide-level-recursive): - Ignore strings as well as comments. (Bug#9502) - -2011-09-22 Andrew Schein (tiny change) - - * progmodes/sql.el (sql-comint-postgres): - Convert port number to a string. (Bug#9566) - -2011-09-22 Martin Rudalics - - * window.el (quit-window): Undedicate window when switching to - previous buffer. Reported by Thierry Volpiatto - . - (special-display-popup-frame): When popping up a new frame reset - its previous buffers to nil. Simplify code. - -2011-09-21 Michael Albinus - - * net/tramp.el (tramp-handle-shell-command): Set process sentinel - and process filter, as done also in `shell-command'. - -2011-09-21 Martin Rudalics - - * window.el (set-window-buffer-start-and-point): - Call set-window-start with NOFORCE argument t. - Suggested by Thierry Volpiatto . - (quit-window): Reword doc-string. Handle new format of - quit-restore parameter. Don't delete window if it has a - previous buffer we can show instead of the present one. - (display-buffer-record-window): Rewrite using a new format for - the quit-restore window parameter - (special-display-popup-frame, display-buffer-same-window) - (display-buffer-reuse-window, display-buffer-pop-up-frame) - (display-buffer-pop-up-window, display-buffer-use-some-window): - Adapt symbol passed to display-buffer-record-window. - * help.el (help-window-setup): Handle new format of quit-restore - parameter. - -2011-09-21 Stefan Monnier - - * faces.el (face-list): Fix docstring (bug#9564). - - * window.el (display-buffer--action-function-custom-type): - Don't include internal functions in the Custom interface. - -2011-09-20 Juri Linkov - - * info.el (Info-history-skip-intermediate-nodes): New defcustom. - (Info-forward-node, Info-backward-node, Info-next-preorder) - (Info-last-preorder): Use it. (Bug#9528) - -2011-09-20 Juri Linkov - - * info.el (Info-last-preorder): Visit last menu item only when - `Info-scroll-prefer-subnodes' is non-nil (third test-case of bug#9528). - -2011-09-20 Julien Danjou - - * password-cache.el (password-cache-remove): Remove entries even if the - value is nil, so that password with a nil value (negative caching) is - possible to invalidate. - -2011-09-20 Lawrence Mitchell - - * progmodes/f90.el (f90-break-line): If breaking inside comment delete - all whitespace around breakpoint. (Bug#9553) - (f90-find-breakpoint): Only break at whitespace inside a comment. - -2011-09-20 Stefan Monnier - - * minibuffer.el (completion-file-name-table): Keep track of errors. - (completion-table-with-predicate): Handle the case where pred1 is nil. - * pcomplete.el (pcomplete-completions-at-point): Simplify. - -2011-09-19 Stefan Monnier - - * emacs-lisp/debug.el (debugger-args): Give it a docstring. - (debugger-return-value): Signal an error if the debugging context does - not await any return value. - - * ps-mule.el (ps-mule-plot-string): Don't inf-loop (bug#5108). - * image-mode.el (image-toggle-display-text) - (image-toggle-display-image): Stay away from evil `intangible'. - -2011-09-19 Leo Liu - - * replace.el (occur-revert-arguments): Make it permanent-local. - (occur-mode): Don't call font-lock-defontify. - -2011-09-19 Chong Yidong - - * net/ldap.el (ldap-search-internal): Don't push empty search - result (Bug#9508). - -2011-09-19 Stefan Monnier - - * whitespace.el (whitespace-newline-mode): Disable it right (bug#9550). - -2011-09-19 Michael Albinus - - * net/tramp-sh.el (tramp-inline-compress-commands): Add "xz". - Suggested by Liam Stitt . - -2011-09-18 Juri Linkov - - * buff-menu.el (Buffer-menu-mode-map): - * dired.el (dired-mode-map): - * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map) - (lisp-interaction-mode-map): - * emacs-lisp/package.el (package-menu-mode-map): - * epa.el (epa-key-list-mode-map): - * menu-bar.el (menu-bar-showhide-tool-bar-menu) - (menu-bar-options-menu): - * outline.el (outline-mode-menu-bar-map): - * vc/vc-bzr.el (vc-bzr-shelve-menu-map, vc-bzr-extra-menu-map): - * vc/vc-dir.el (vc-dir-menu-map): - * vc/vc-git.el (vc-git-stash-menu-map, vc-git-extra-menu-map): - Capitalize non-function content words in menu item strings. - - * dired.el (dired-mode-map): Add menu item for - `image-dired-dired-toggle-marked-thumbs'. - -2011-09-18 Juri Linkov - - * isearch.el (isearch-edit-string): Bind `isearch-new-case-fold' - to `isearch-case-fold-search' and restore its original value - after the `isearch-mode' call. - -2011-09-18 Juri Linkov - - * progmodes/grep.el (grep-process-setup): Don't check code for 1 - because `zgrep' returns 1 for successful matches (bug#9226). - -2011-09-18 Juri Linkov - - * info.el (Info-extract-menu-node-name): Check the second match - for empty string (second test-case of bug#9528). - (Info-last-preorder): Let-bind `Info-history' to nil to not add - intermediate nodes to the history (first test-case of bug#9528). - -2011-09-18 Juri Linkov - - * info.el (Info-mode-syntax-table): New variable. - (Info-mode): Set `:syntax-table' to `Info-mode-syntax-table' (bug#3312). - -2011-09-18 Juri Linkov - - * info.el (Info-file-supports-index-cookies): - Increment line-beginning-position's arg from 3 to 4 because makeinfo - outputs one more line for long file names (bug#4142). - -2011-09-18 Chong Yidong - - * newcomment.el (comment-normalize-vars): If prompting for - comment-start, set comment-start-skip too (Bug#8424). - -2011-09-18 Johan Bockgård - - * icomplete.el: Fix previous fix of Bug#5849. - (icomplete-mode): Don't set completion-show-inline-help. - (icomplete-minibuffer-setup): Set completion-show-inline-help - locally during icompletion. - -2011-09-18 Chong Yidong - - * woman.el (woman2-process-escapes): Don't delete unrecognized - escapes (Bug#7843). - - * files.el (inhibit-first-line-modes-regexps): Add image files. - (hack-local-variables-prop-line): Return nil for malformed - prop-lines (Bug#9044). - -2011-09-18 Michael Albinus - - * net/tramp.el (top): Don't require 'shell. - (tramp-methods): Fix docstring. - (tramp-get-remote-tmpdir): New defun, moved from tramp-sh.el. - Return complete remote file name. Handle "smb" case. - Use `tramp-tmpdir', if defined for the respective method. - (tramp-make-tramp-temp-file): Adapt call of `tramp-get-remote-tmpdir'. - - * net/tramp-compat.el (top): Require 'shell. - - * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) - (tramp-maybe-open-connection): Use `tramp-file-name-real-host' for - `tramp-current-host'. - (tramp-get-remote-tmpdir): Remove. - - * net/tramp-smb.el (tramp-methods): Add `tramp-remote-shell' and - `tramp-tmpdir' entries. - (tramp-smb-errors): Add "NT_STATUS_IMAGE_ALREADY_LOADED". - (tramp-smb-handle-file-attributes): Ignore errors. - (tramp-smb-wait-for-output): Check also for process end. - -2011-09-18 Lars Magne Ingebrigtsen - - * mail/smtpmail.el (smtpmail-via-smtp): Ignore errors that arise - when sending QUIT (bug#9312). - -2011-09-17 Chong Yidong - - * replace.el (occur-mode-map): Rebind occur-edit-mode to "e" (Bug#8463). - (occur-edit-mode-map): Bind C-c C-c to occur-cease-edit and C-o to - occur-mode-display-occurrence. - (occur-edit-mode): Add usage message. - (occur-cease-edit): New command. - (occur-after-change-function): Use text properties to find the - position of the prefix text. - (occur-engine): Set stickiness of prefix text properties. - -2011-09-17 Glenn Morris - - * progmodes/etags.el (complete-tag): - Fix call to completion-in-region. (Bug#9526) - -2011-09-17 Juri Linkov - - * textmodes/ispell.el (ispell-word): Add to the error message - the word, ispell program name and current dictionary (bug#9121). - (ispell-tex-arg-end): Capitalize "error" in the error message. - -2011-09-17 Andreas Schwab - - * emacs-lisp/bytecomp.el (byte-compile-lapcode): Fix overflow - check. (Bug#4251) - -2011-09-17 Juri Linkov - - * window.el (window-safe-min-height, window-safe-min-width): - Fix typos (followup to bug#9522). - -2011-09-17 Sven Joachim - - * window.el (window-min-width, window-state-put): Fix typos (bug#9522). - -2011-09-16 Eli Zaretskii - - * simple.el (line-move): If goal-column is set, move by logical - lines, not by display lines. (Bug#971) - (next-line, previous-line, goal-column, line-move-visual): Doc fix - to reflect the above change. - -2011-09-16 Stefan Monnier - - * image.el (imagemagick-register-types): Use regexp-opt. - -2011-09-15 Chong Yidong - - * window.el (display-buffer-base-action): Rename from - display-buffer-default-action. Make default value empty. - (display-buffer-overriding-action): Convert to defvar. - (display-buffer-fallback-action): New var. - -2011-09-15 Chong Yidong - - * emacs-lisp/package.el (package-alist): Fix risky-local-variable - declaration. - (package--add-to-archive-contents): If there is a duplicate entry - with an older version, remove it. - (package-menu-mark-delete, package-menu-mark-install) - (package-menu-mark-unmark): Make unused args optional. - (package-menu-mark-obsolete-for-deletion): - Use package-menu-get-status instead of a regexp search. - (package-menu-get-status): Use tabulated-list-entry. - (package-menu-mark-upgrades): New command. - (package-menu-mode-map): Bind it to U. Add it to menu bar. - (package-menu-execute): Do installation before deletion. - (package-menu-refresh, package-menu-execute): Use derived-mode-p - instead of checking major-mode. - (package-menu--find-upgrades): New function. - -2011-09-14 Lars Magne Ingebrigtsen - - * mail/smtpmail.el (smtpmail-send-command): Don't include AUTH - passwords in the log buffer. - (smtpmail-process-filter): Update the process marker so that the - "broken by peer" status message is inserted in the right place. - -2011-09-14 Stefan Monnier - - * textmodes/bibtex.el (bibtex-complete-string-cleanup) - (bibtex-complete-crossref-cleanup): Adjust to accommodate needs of - bibtex-completion-at-point-function. - (bibtex-completion-at-point-function): Use them. - - * newcomment.el (comment-add, comment-valid-prefix-p): Docfix. - - * mpc.el (mpc-constraints-tag-lookup): New function. - (mpc-constraints-restore): Use it to make jumping to "album=Foo" apply - also to browser "album|playlist". - -2011-09-14 Juri Linkov - - * isearch.el (isearch-fail-pos): Add new arg `msg'. Doc fix. - (isearch-edit-string): Use length of `isearch-string' when - `isearch-fail-pos' returns nil. - (isearch-message): Remove duplicate code and call - `isearch-fail-pos' with arg `t'. - -2011-09-14 Chong Yidong - - * replace.el (occur-mode-goto-occurrence): Don't force using other - window (Bug#9499). - - * dired-aux.el (dired-do-chmod): Don't provide initial input. - -2011-09-14 Martin Rudalics - - * window.el (display-buffer-window): Remove. - (display-buffer-record-window): Use help-setup window parameter - instead of variable display-buffer-window. - (display-buffer-function, special-display-buffer-names) - (special-display-function): Mention help-setup parameter instead - of display-buffer-window in doc-string. - * help.el (help-window-setup): New argument help-window. - Use help-window-setup parameter instead of display-buffer-window. - Reword some messages. - (with-help-window): Pass window used for displaying the buffer - to help-window-setup. Don't set display-buffer-window. - -2011-09-13 Glenn Morris - - * emacs-lisp/debug.el (debugger-make-xrefs): - Preserve point. (Bug#9462) - -2011-09-13 Chong Yidong - - * window.el (window-deletable-p): Use next-frame. - -2011-09-13 Martin Rudalics - - * window.el (window-auto-delete): Remove. - (window-deletable-p): Remove argument FORCE. Don't deal with - dedication and previous buffers. - (switch-to-prev-buffer): Don't delete window. - (delete-windows-on): Delete a window's frame if and only if the - window is dedicated. - (replace-buffer-in-windows): Delete buffer's window or frame if - and only if window is dedicated. - (quit-window): Handle quit-restore as before last change. - (bury-buffer): Delete window only if window-deletable-p returns t. - -2011-09-13 Chong Yidong - - * window.el (window-deletable-p): Never delete the last frame on a - given terminal. - -2011-09-13 Glenn Morris - - * help.el (describe-key-briefly): Copy previous standard-output change. - -2011-09-13 PJ Weisberg - - * help.el (where-is): Respect non-standard standard-output. (Bug#9030) - -2011-09-13 Glenn Morris - - * emacs-lisp/lisp-mode.el (lisp-indent-function): - * progmodes/scheme.el (scheme-indent-function): Doc fixes. - -2011-09-12 Chong Yidong - - * dired-aux.el (dired-mark-read-string): Don't return default - value on empty input (Bug#9361). - (dired-do-chxxx): Treat empty input for "touch" as no -t option. - Omit initial minibuffer contents. - (dired-do-chmod): Signal an error on empty input. - (dired-mark-read-string): Don't return default on empty input. - - * files.el (file-modes-symbolic-to-number): Doc fix. - -2011-09-12 Stefan Monnier - - * international/mule-cmds.el (ucs-completions): Remove. - (read-char-by-name): Use complete-with-action instead; add metadata. - -2011-09-11 Chong Yidong - - * window.el (display-buffer--action-function-custom-type) - (display-buffer--action-custom-type): New vars. - (display-buffer-alist, display-buffer-default-action) - (display-buffer-overriding-action): Add defcustom types. - - * frame.el (delete-other-frames): Doc fix (Bug#276). - -2011-09-11 Lars Magne Ingebrigtsen - - * play/doctor.el (make-doctor-variables): Define `doctor-sent'. - -2011-09-11 Chong Yidong - - Change modes that used same-window-* vars to use switch-to-buffer. - - * progmodes/gdb-mi.el (gdb-restore-windows, gdb-setup-windows): - Use switch-to-buffer. - - * cus-edit.el (customize-group, custom-buffer-create) - (customize-browse, custom-buffer-create-other-window): - Use switch-to-buffer or switch-to-buffer-other-window. - - * info.el (info, Info-find-node, Info-revert-find-node, Info-next) - (Info-prev, Info-up, Info-speedbar-goto-node) - (info-display-manual): Use switch-to-buffer. - (Info-speedbar-goto-node): Use switch-to-buffer-other-frame. - - * mail/sendmail.el (mail): Use switch-to-buffer. - (mail-recover): Use switch-to-buffer-other-window. - - * cmuscheme.el (run-scheme, switch-to-scheme): - * ielm.el (ielm): - * shell.el (shell): - * net/rlogin.el (rlogin): - * net/telnet.el (telnet, rsh): - * progmodes/inf-lisp.el (inferior-lisp): Use switch-to-buffer. - -2011-09-11 Andreas Schwab - - * dired.el (dired-sort-toggle-or-edit): Revert last changes. - -2011-09-11 Lars Magne Ingebrigtsen - - * dired.el (dired-sort-toggle-or-edit): -o doesn't exist on *BSD, - so don't mention it (bug#9301). - (dired-sort-toggle-or-edit): Clarify string further. - - * faces.el (face-spec-set-match-display): Make `(type graphic)' - match `x', `w32' and `ns', like the manual says (bug#9029). - - * subr.el (eval-after-load): Doc string clarification (bug#9125). - (process-kill-buffer-query-function): Mention the buffer name in - the query. - - * image-mode.el (image-next-line): The line parameter is mandatory - (bug#9258). - - * dired.el (dired-sort-toggle-or-edit): Mention -o and -g, too, - which can be useful (bug#9301). - - * textmodes/flyspell.el: Remove obsolete comment (bug#9368). - - * subr.el (match-string): Mention that the current buffer should - be the same as the search was done in (bug#9282). - - * facemenu.el: Disable the remove-* commands if the mark isn't - active (bug#9162). - -2011-09-10 Chong Yidong - - * buff-menu.el (Buffer-menu-switch-other-window): Use second arg - of display-buffer. - (Buffer-menu-2-window): Use switch-to-buffer-other-window. - - * replace.el (occur-mode-goto-occurrence) - (occur-mode-display-occurrence) Use second arg of pop-to-buffer - and display-buffer. - - * mail/reporter.el (reporter-submit-bug-report): Use second arg of - display-buffer. - - * mail/sendmail.el (sendmail-user-agent-compose): Don't bind the - special-display and same-window variables. - (mail-other-window): Use switch-to-buffer-other-window. - (mail-other-frame): USe switch-to-buffer-other-frame. - - * progmodes/gdb-mi.el (gdb-frame-gdb-buffer): - Use display-buffer-other-frame. - (gdb-display-gdb-buffer): Use pop-to-buffer. - - * progmodes/gud.el (gud-goto-info): Use info-other-window. - - * progmodes/python.el: Don't set same-window-buffer-names. - - * textmodes/bibtex.el (bibtex-search-entry): Use switch-to-buffer. - - * window.el (display-buffer-alist): Add *Python*. - -2011-09-10 Chong Yidong - - * window.el (display-buffer-alist): Add entry for buffers - previously handled same-window-*. - (display-buffer-alist, display-buffer-default-action) - (display-buffer-overriding-action): Mark as risky. - (display-buffer-alist): Document action function changes. - (display-buffer--same-window-action) - (display-buffer--other-frame-action): New variables. - (switch-to-buffer, display-buffer-other-frame): Use them. - (display-buffer): Rename reuse-frame entry to reusable-frames. - (display-buffer-reuse-selected-window): Function deleted. - (display-buffer-reuse-window): Handle reusable-frames alist entry. - If it's omitted, check pop-up-frames/display-buffer-reuse-frames. - (display-buffer-special): New function. - (display-buffer--maybe-pop-up-frame-or-window): Rename from - display-buffer-reuse-or-pop-window. Split off special-display - part into display-buffer-special. - (display-buffer-use-some-window): Don't perform any special - pop-up-frames handling. - (pop-to-buffer): Use window-normalize-buffer-to-switch-to. - (display-buffer--maybe-same-window): Rename from - display-buffer-maybe-same-window. - - * info.el: Don't set same-window-regexps. - (info-setup): New function. - (info-other-window, info): Call it. - - * cus-edit.el: Don't set same-window-regexps. - (customize-group): New argument. - (customize-group-other-window): Use it. - (customize-face, customize-face-other-window): Likewise. - (custom-buffer-create-other-window): Use pop-to-buffer directly. - - * net/rlogin.el: - * net/telnet.el: - * progmodes/gud.el: Don't set same-window-regexps. - - * cmuscheme.el: - * ielm.el: - * shell.el: - * mail/sendmail.el: - * progmodes/inf-lisp.el: Don't set same-window-buffer-names. - -2011-09-10 Juri Linkov - - * isearch.el (isearch-edit-string): Remove obsolete mention of - `C-w' (`isearch-yank-word-or-char') from docstring. - (isearch-query-replace): Fix typo in docstring (bug#9466). - -2011-09-10 Juri Linkov - - * paren.el (show-paren-function): Don't show escaped parens. - Let-bind `unescaped' to `t' when paren is not escaped. (Bug#9461) - -2011-09-10 Eli Zaretskii - - * mail/sendmail.el (mml-to-mime, mml-attach-file) - (mm-default-file-encoding): Remove autoload forms, they are - replaced with autoload cookies in mml.el and mm-encode.el. - (mail-add-attachment): New command. - (mail-mode-map): Add a menu-bar item for mail-add-attachment. - (mail-mode): Mention mail-insert-file and mail-add-attachment in - the doc string. - (mml-to-mime, mml-attach-file, mm-default-file-encoding): Declare. - -2011-09-10 Reuben Thomas - - * simple.el (count-words-region): Use buffer if there's no region - (bug#9429). - -2011-09-09 Juri Linkov - - * wdired.el (wdired-change-to-wdired-mode): Set buffer-local - `isearch-filter-predicate' to `wdired-isearch-filter-read-only'. - (wdired-isearch-filter-read-only): New function. (Bug#6362) - -2011-09-09 Alan Mackenzie - - * progmodes/cc-mode.el (awk-mode): Prevent `define-derived-mode' - spuriously generating `awk-mode-syntax-table'. (Bug #9448). - -2011-09-09 Eli Zaretskii - - Fix for Savannah bug#9392. - * simple.el (mail-encode-mml): New defvar. - - * mail/rmail.el (mail-encode-mml): Add a defvar. - (rmail-enable-mime-composing): Default to t. - (rmail-forward): Use MIME method of forwarding only if both - rmail-enable-mime-composing and rmail-enable-mime are non-nil. - Set mail-encode-mml non-nil if the MIME method was used. - - * mail/sendmail.el (mml-to-mime): Add autoload form. - (mail-encode-mml): Add a defvar. - (mail-mode): Make mail-encode-mml buffer-local and initialize it - to nil. - (mail-send): If mail-encode-mml is non-nil, run the outgoing - message through mml-to-mime, and reset mail-encode-mml to nil. - -2011-09-09 Glenn Morris - - * woman.el (woman-if-body): When processing an .el block, - do not delete the next .el block as well. (Bug#9447) - (woman-special-characters): Add oq, cq, and hy characters. - -2011-09-08 Martin Rudalics - - * window.el (window-deletable-p): Make sure window is live before - invoking window-prev-buffers. - -2011-09-08 Leo Liu - - * net/rcirc.el (rcirc-cmd-invite): New rcirc command. (Bug#9453) - -2011-09-08 Juri Linkov - - * progmodes/compile.el (compilation-environment): Make it - a defcustom (bug#8340). - -2011-09-08 Martin Rudalics - - * window.el (frame-auto-delete): Rename to window-auto-delete. - Make it control auto-deletion of windows and/or frames. - (window-deletable-p): New argument FORCE. Rewrite conditions - for deleting window/frame. (Bug#9419) - (switch-to-prev-buffer, replace-buffer-in-windows, quit-window): - Rewrite handling of case when window/frame can be deleted. - (delete-windows-on): Call window-deletable-p with new FORCE - argument t. (Bug#9456) - -2011-09-07 Chong Yidong - - * help-mode.el (help-mode): Restore autoload. - -2011-09-07 Juri Linkov - - * progmodes/compile.el (compilation-start): Let-bind `thisenv' to - `compilation-environment'. Set buffer-local - `compilation-environment' to `thisenv' later after (funcall mode). - (Bug#8340) - - * vc/vc-git.el (vc-git-grep): Remove --no-color. (Bug#9408) - (vc-git-grep): Prepend "PAGER=" to `compilation-environment' - instead of replacing its value. (Bug#8340) - -2011-09-07 Juri Linkov - - * progmodes/grep.el (grep-regexp-alist): Calculate column positions - based on text properties put by `grep-filter' instead of matching - escape sequences. - (grep-mode): Set buffer-local `compilation-error-screen-columns' - to the value of `grep-error-screen-columns' (bug#9438). - -2011-09-07 Juri Linkov - - * simple.el (next-error-highlight, next-error-highlight-no-select): - Doc fix (bug#9432). - -2011-09-07 OKAZAKI Tetsurou (tiny change) - - * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): - Check for null c-opt-block-decls-with-vars-key. (Bug#9443) - -2011-09-07 Leo Liu - - * net/rcirc.el (rcirc-mode): Conditionally initialize - rcirc-input-ring. - -2011-09-07 Stefan Monnier - - * emacs-lisp/find-func.el (find-function-C-source): Only set - find-function-C-source-directory after checking that we found a source - file there (bug#9440). - -2011-09-06 Alan Mackenzie - - * isearch.el (isearch-other-meta-char): Wherever a key list is - unread, "unread" the prefix arg, too. This fixes bug #8901. - -2011-09-05 Oleksandr Gavenko (tiny change) - - * progmodes/grep.el (rgrep): Add "-type d" (bug#9414). - -2011-09-05 Juri Linkov - - * progmodes/grep.el (grep-process-setup): Fix comments (bug#8084). - -2011-09-05 Juri Linkov - - * progmodes/grep.el (grep-filter): Avoid incomplete processing by - keeping point where processing of grep matches begins, and - continue to delete remaining escape sequences from the same point. - (grep-filter): Make leading zero optional in "0?1;31m" because - git-grep emits "\033[1;31m" escape sequences unlike expected - "\033[01;31m" as GNU Grep does (bug#9408). - (grep-process-setup): Replace obsolete "ml=" with newer "sl=". - -2011-09-05 Juri Linkov - - * subr.el (y-or-n-p): Capitalize "yes". - -2011-09-04 Michael Albinus - - * net/tramp.el (top): Require 'shell. Use `tramp-unload-hook' but - `tramp-cache-unload-hook' where appropriate. - (tramp-methods): Rename `tramp-remote-sh' to - `tramp-remote-shell'. Add `tramp-remote-shell-args'. - (tramp-handle-shell-command): New defun, moved from tramp-sh.el. - - * net/tramp-sh.el (top): Don't require 'shell. - (tramp-methods): Add `tramp-remote-shell' and - `tramp-remote-shell-args' entries. - (tramp-sh-file-name-handler-alist): Use `tramp-handle-shell-command'. - (tramp-sh-handle-shell-command): Remove. - (tramp-find-shell, tramp-open-connection-setup-interactive-shell): - Use `tramp-remote-shell'. - -2011-09-03 Chong Yidong - - * mail/sendmail.el (sendmail-query-once-function): Delete. - (sendmail-query-once): Save directly to send-mail-function. - Update message-send-mail-function too. - - * mail/smtpmail.el (smtpmail-try-auth-methods): Clarify prompt. - -2011-09-03 Christoph Scholtes - - * progmodes/python.el (python-mode-map): Use correct function to - start python interpreter from menu-bar (as reported by Geert - Kloosterman). - (inferior-python-mode-map): Fix typo. - (python-shell-map): Remove. - -2011-09-03 Deniz Dogan - - * net/rcirc.el (rcirc-print): Simplify code for - rcirc-scroll-show-maximum-output. There is no need to walk - through all windows to find the right one. - -2011-09-03 Christoph Scholtes - - * help.el (help-return-method): Doc fix. - -2011-09-03 Martin Rudalics - - * window.el (window-deletable-p): Don't return a non-nil value - when there's a buffer that was shown in the window before. - (Bug#9419) - (display-buffer-pop-up-frame, display-buffer-pop-up-window): - Set window's previous buffers to nil. - -2011-09-03 Eli Zaretskii - - * mail/rmailmm.el (rmail-mime-insert-tagline): Insert an extra - newline before and after the tag line, so it doesn't interfere - with determining the paragraph direction of bidirectional text. - -2011-09-03 Leo Liu - - * files.el (find-file-not-true-dirname-list): Remove. (Bug#9422) - -2011-09-02 Chong Yidong - - * window.el (pop-to-buffer-1, pop-to-buffer-same-window): Delete. - (pop-to-buffer): Change interactive spec. Pass second argument - directly to display-buffer. - (display-buffer): Fix interactive spec. Use functionp to - distinguish between a function and a list of functions. - - * abbrev.el (edit-abbrevs): - * arc-mode.el (archive-extract): - * autoinsert.el (auto-insert): - * bookmark.el (bookmark-bmenu-list): - * files.el (find-file): - * view.el (view-buffer): - * progmodes/compile.el (compilation-goto-locus): - * textmodes/bibtex.el (bibtex-initialize): Use switch-to-buffer. - -2011-09-02 Chong Yidong - - * window.el (display-buffer-alist): Doc fix. - (display-buffer): Add docstring. Don't treat - display-buffer-default specially. - (display-buffer-reuse-selected-window) - (display-buffer-same-window, display-buffer-maybe-same-window) - (display-buffer-reuse-window, display-buffer-pop-up-frame) - (display-buffer-pop-up-window) - (display-buffer-reuse-or-pop-window) - (display-buffer-use-some-window): New functions. - (display-buffer-default-action): Use them. - (display-buffer-default): Delete. - (pop-to-buffer-1): Fix choice of actions. - -2011-09-02 Stefan Monnier - - * minibuffer.el (completion--insert-strings): Don't get confused by - completion entries that end with an LF char. - -2011-09-01 Eli Zaretskii - - * window.el (frame-auto-delete, window-deletable-p): Doc fix. - -2011-09-01 Chong Yidong - - * window.el (display-buffer): Restore interactive spec. - (display-buffer-same-window, display-buffer-other-window): - New functions. - (pop-to-buffer-1): New function. Use the above. - (pop-to-buffer, pop-to-buffer-same-window): Use it. - (pop-to-buffer-other-window, pop-to-buffer-other-frame): Delete. - - * view.el (view-buffer-other-window, view-buffer-other-frame): - Just use pop-to-buffer. - -2011-09-01 Thierry Volpiatto - - * vc/vc-rcs.el (vc-rcs-responsible-p): Handle directories. (Bug#9391) - -2011-09-01 Wilfred Hughes (tiny change) - - * vc/vc-git.el (vc-git-grep): Use --no-color. (Bug#9408) - -2011-08-31 Richard Stallman - - * mail/rmail.el (rmail-epa-decrypt): Rewrite to take account - of the separation of rmail-view-buffer from rmail-buffer. - If you say no to "replace original", the decrypt is in the - view buffer. If you say yes, the decrypt goes into the - rmail buffer also. - -2011-08-31 Martin Rudalics - - * window.el (display-buffer-window): Rewrite doc-string. - (display-buffer-record-window): New function. - (display-buffer-macro-specifiers) - (display-buffer-even-window-sizes, display-buffer-set-height) - (display-buffer-set-width, display-buffer-in-window) - (display-buffer-reuse-window, display-buffer-split-specifiers) - (display-buffer-side-specifiers, display-buffer-split-window-1) - (display-buffer-split-window, display-buffer-split-atom-window) - (display-buffer-pop-up-window, display-buffer-pop-up-frame) - (display-buffer-pop-up-side-window, display-buffer-in-side-window) - (display-buffer-other-window-means-other-frame) - (display-buffer-normalize-special) - (display-buffer-normalize-default) - (display-buffer-normalize-argument) - (display-buffer-normalize-alist-1, display-buffer-normalize-alist) - (display-buffer-normalize-specifiers, display-buffer-frame) - (display-buffer-same-window, display-buffer-same-frame) - (display-buffer-other-window) - (display-buffer-same-frame-other-window) - (display-buffer-other-frame, pop-to-buffer-same-window) - (pop-to-buffer-same-frame, pop-to-buffer-other-window) - (pop-to-buffer-same-frame-other-window, pop-to-buffer-other-frame) - (switch-to-buffer-same-frame) - (switch-to-buffer-other-window-same-frame) - (display-buffer-alist-of-strings-p, display-buffer-alist-add) - (display-buffer-alist-set-1, display-buffer-alist-set-2) - (display-buffer-alist-set): Remove. - (display-buffer-function, special-display-buffer-names) - (special-display-regexps, special-display-function): - In doc-string refer to display-buffer-window and quit-restore - parameter. - (pop-up-frame-alist, pop-up-frame-function, special-display-p) - (special-display-frame-alist, special-display-popup-frame) - (same-window-buffer-names, same-window-regexps, same-window-p) - (pop-up-frames, display-buffer-reuse-frames, pop-up-windows) - (split-window-preferred-function, split-height-threshold) - (split-width-threshold, window-splittable-p) - (split-window-sensibly, window--try-to-split-window) - (window--frame-usable-p, even-window-heights) - (window--even-window-heights, window--display-buffer-1) - (window--display-buffer-2, display-buffer-other-frame): - Restore old Emacs 23 code, order and doc-strings where applicable. - (display-buffer-default, display-buffer-assq-regexp): New functions. - (display-buffer-alist): Rewrite doc-string. - (display-buffer-default-action) - (display-buffer-overriding-action): New variables. - (display-buffer, switch-to-buffer): Rewrite. - (pop-to-buffer): Restore Emacs 23 behavior but use - window-normalize-buffer-to-display. - (switch-to-buffer-other-window, switch-to-buffer-other-frame): - Restore Emacs 23 behavior but use - window-normalize-buffer-to-switch-to. - (pop-to-buffer-same-window): Rewrite. - (pop-to-buffer-other-window, pop-to-buffer-other-frame): - Rewrite using Emacs 23 options. - -2011-08-31 Michael Albinus - - * net/tramp.el (tramp-root-regexp): Remove. - (tramp-completion-file-name-regexp-unified) - (tramp-completion-file-name-regexp-separate) - (tramp-completion-file-name-regexp-url): Don't use leading volume - letter on w32 systems. (Bug#5303, Bug#9311) - (tramp-drop-volume-letter): Simplify definition. - Suggested by Stefan Monnier . - -2011-08-30 Stefan Monnier - - * subr.el (event-modifiers): Fix "missing modifier" part of docstring - (bug#9356). - -2011-08-30 Reuben Thomas (tiny change) - - * vc/pcvs-defs.el (cvs-find-file-and-jump): Docstring typo (bug#9369). - -2011-08-29 Juri Linkov - - * isearch.el (isearch-done): Don't display message "Mark saved" - when arg `edit' is non-nil to prevent its flicker in the echo area. - -2011-08-28 Chong Yidong - - * emacs-lisp/package.el (package-menu-mark-delete): Allow marking - obsolete packages for deletion. - -2011-08-28 Christoph Scholtes - - * help-mode.el (help-mode-map): Add special-mode-map to parent. - (help-mode): Derive help-mode from special-mode. Don't invoke - view-mode from help-mode. - (help-xref-override-view-map): Remove. - (help-make-xrefs): Remove minor-mode-overriding-map-alist since - view-mode is not used anymore. - -2011-08-28 Chong Yidong - - * server.el (server-port): Doc fix. - - * cus-theme.el (custom-theme-choose-mode): Inherit from - special-mode (Bug#9124). - (custom-theme-choose-mode-map): Add special-mode to parent. - -2011-08-28 Alan Mackenzie - - * progmodes/cc-fonts.el - (c-make-font-lock-BO-decl-search-function): New function. - (c-basic-matchers-after - "Fontify the clauses after various - keywords"): Extract the three keyword lists for the 3 erroneous - constructs from the list of four, and use the new function above - in place of an old one. - -2011-08-28 Deniz Dogan - - * net/rcirc.el (rcirc-insert-prev-input) - (rcirc-insert-next-input): Remove unused argument. - -2011-08-28 Stefan Monnier - - * shell.el (shell-parse-pcomplete-arguments): Unquote args (bug#9160). - -2011-08-27 Alan Mackenzie - - * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Make it - handle function pointer parameters properly. - -2011-08-27 Martin Rudalics - - * window.el (display-buffer-reuse-window): Fix case where - selected window was reused with non-nil OTHER-WINDOW argument. - (Bug#9381) - -2011-08-27 Deniz Dogan - - * net/rcirc.el (rcirc-check-auth-status): Adding support for - oftc's NickServ messages. - -2011-08-27 Glenn Morris - - * saveplace.el (save-place-limit): Make it finite. (Bug#9352) - -2011-08-26 Chong Yidong - - * emacs-lisp/package.el (package-install): Call package-initialize - if called interactively. - -2011-08-26 Leo Liu - - * emacs-lisp/cl-macs.el (defstruct): Fix format. (Bug#9357) - -2011-08-25 Juri Linkov - - * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to - `search-whitespace-regexp' (bug#9364). - -2011-08-25 Juri Linkov - - * isearch.el (isearch-edit-string): Let-bind `search-ring' and - `regexp-search-ring' to their global values to protect from - updating by `read-from-minibuffer' (bug#9185). - -2011-08-25 Juri Linkov - - * textmodes/ispell.el (ispell-command-loop): Add newline - at the end of the "Use option `i'..." line. - -2011-08-25 Juri Linkov - - * battery.el (display-battery-mode): If `battery-status-function' - or `battery-mode-line-format' is nil, display the message and set - `display-battery-mode' to nil (bug#9363). - -2011-08-25 Eli Zaretskii - - * buff-menu.el (Buffer-menu-buffer+size): Remove calls to - bidi-string-mark-left-to-right; they are unnecessary now. - -2011-08-25 Deniz Dogan - - * net/quickurl.el: Documentation typo fixes. - -2011-08-25 Chong Yidong - - * window.el (bury-buffer, quit-window): Use bury-buffer-internal. - -2011-08-25 Glenn Morris - - * emacs-lisp/derived.el (define-derived-mode): Doc fix. - - * mail/smtpmail.el (smtpmail-smtp-user): Add version: tag. - (smtpmail-via-smtp): Handle nil response from smtp. - -2011-08-24 Juri Linkov - - * proced.el (proced-marked): Inherit from `error' instead of - `font-lock-warning-face'. - - * ibuffer.el (ibuffer-marked-face): Change default face from - `font-lock-warning-face' to `warning'. - (ibuffer-deletion-face): Change default face from - `font-lock-type-face' to `error'. - - * battery.el (battery-update): Use the face `error' instead of - `font-lock-warning-face' (bug#6117). - -2011-08-24 Juri Linkov - - * faces.el (success): Change face color from "Green3" to - "ForestGreen" on light background (bug#9353). - -2011-08-24 Chong Yidong - - * window.el (quit-window): Rename from quit-restore-window. - Use same arglist as old quit-window. - (frame-auto-delete): Doc fix. - - * view.el (view-mode-exit): Use quit-window. - -2011-08-24 Juri Linkov - - * isearch.el (isearch-ring-adjust1): Start visiting previous - search strings from the index 0 (-1 + 1) instead of 1 (0 + 1). - (isearch-repeat, isearch-edit-string): Call `isearch-ring-adjust1' - for empty search string (when the last search string is reused - automatically) to adjust the isearch ring to the last element and - prepare the correct index for further M-p commands (bug#9185). - -2011-08-24 Kenichi Handa - - * international/ucs-normalize.el: If decomposition property of - CHAR is the default one (i.e. a list of CHAR itself), treat it as - nil. - (nfd, nfkd): Likewise. - -2011-08-24 Stefan Monnier - - * mpc.el (mpc--proc-filter): Don't signal mpc-proc-error since signals - from process filters aren't reliably transmitted to the surrounding - accept-process-output. - (mpc-proc-check): New function. - (mpc-proc-sync): Use it (bug#8293) - -2011-08-23 Stefan Monnier - - * emacs-lisp/eieio.el (eieio-defmethod, eieio-defgeneric): - Add compatibility functions (bug#9313). - -2011-08-23 Eli Zaretskii - - * cus-start.el (all): Add entry for bidi-paragraph-direction. - - * international/uni-bidi.el: Regenerate. - -2011-08-23 Kenichi Handa - - * international/charprop.el: - * international/uni-bidi.el: - * international/uni-category.el: - * international/uni-combining.el: - * international/uni-comment.el: - * international/uni-decimal.el: - * international/uni-decomposition.el: - * international/uni-digit.el: - * international/uni-lowercase.el: - * international/uni-mirrored.el: - * international/uni-name.el: - * international/uni-numeric.el: - * international/uni-old-name.el: - * international/uni-titlecase.el: - * international/uni-uppercase.el: Regenerate. - -2011-08-23 Martin Rudalics - - * help.el (help-window-setup): Fix message displayed when other - window is reused. (Bug#9341) - -2011-08-23 Stefan Monnier - - * shell.el (shell-completion-vars): Set pcomplete-arg-quote-list. - * pcomplete.el (pcomplete-quote-argument): Fix thinko (bug#9161). - - * pcomplete.el (pcomplete-parse-comint-arguments): Fix inf-loop. - Mark obsolete. - * shell.el (shell-parse-pcomplete-arguments): New function. - (shell-completion-vars): Use it instead (bug#9160). - -2011-08-22 Stefan Monnier - - * progmodes/sh-script.el (sh-maybe-here-document): Disable magic in - strings and comments (bug#9333). - - * emacs-lisp/debug.el (debug-arglist): New function. - (debug-convert-byte-code): Use it. Handle lexical byte-codes. - (debug-on-entry-1): Handle interpreted closures (bug#9120). - -2011-08-22 Juri Linkov - - * progmodes/compile.el (compilation-mode-font-lock-keywords): - Revert regexp that highlights output switches to its old - pre-2010-10-28 value and remove one `?' from it (bug#9319). - - * progmodes/grep.el (grep-process-setup): Use `buffer-modified-p' - to check for empty output (bug#9226). - -2011-08-22 Chong Yidong - - * progmodes/scheme.el (scheme-mode-syntax-table): Don't use - symbol-constituent as the default, as that stops font-lock from - working properly (Bug#8843). - -2011-08-21 Lars Magne Ingebrigtsen - - * mail/smtpmail.el (smtpmail-via-smtp): Only bind - `coding-system-for-*' around the process open call to avoid - auth-source side effects. - (smtpmail-try-auth-methods): Expand the secret password. - (smtpmail-query-smtp-server): Allow `quit'-ing out in case the - probe hangs. - -2011-08-21 Chong Yidong - - * term.el (term-mouse-paste): Yank primary selection (Bug#6845). - - * emacs-lisp/find-func.el (find-function-noselect): New arg - lisp-only. - - * emacs-lisp/edebug.el (edebug-instrument-function): Use it to - signal an error for built-in functions (Bug#6664). - -2011-08-21 Lars Magne Ingebrigtsen - - * mail/smtpmail.el (smtpmail-smtp-user): New variable. - (smtpmail-try-auth-methods): Use it. - -2011-08-21 Chong Yidong - - * font-lock.el (font-lock-fontify-region) - (font-lock-unfontify-region, font-lock-default-fontify-buffer) - (font-lock-default-unfontify-buffer) - (font-lock-default-fontify-region) - (font-lock-default-unfontify-region): Add docstrings (Bug#8624). - - * progmodes/compile.el (compilation-error-properties): - Fix confusion between file struct and message struct (Bug#9319). - (compilation-error-regexp-alist-alist): Fix 2011-05-09 change to - `ant' regexp. - - * net/browse-url.el (browse-url-firefox): Don't call - browse-url-firefox-sentinel unless using -remote (Bug#9328). - -2011-08-20 Glenn Morris - - * tutorial.el (help-with-tutorial): Avoid an error on short screens. - - * tutorial.el (tutorial--default-keys): Update some default bindings. - - * files.el (hack-local-variables): Fully ignore case for "mode:". - -2011-08-20 Alan Mackenzie - - Resolve invalid use of a regexp in regexp-opt. - - * progmodes/cc-fonts.el (c-complex-decl-matchers): Add in special - detection for a java annotation. - - * progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add in special - detection for a java annotation. - - * progmodes/cc-langs.el (c-prefix-spec-kwds-re): Remove the special - handling for java. - (c-modifier-kwds): Remove the regexp "@[A-za-z0-9]+". - -2011-08-20 Chong Yidong - - * startup.el (normal-top-level-add-subdirs-to-load-path): Doc fix - (Bug#9274). - -2011-08-20 Alan Mackenzie - - Fontify CPP expressions correctly when starting in the middle of - such a construct. Mainly for when jit-lock etc. starts a chunk - here. - - * progmodes/cc-fonts.el (c-font-lock-context): New buffer local - variable. - (c-make-font-lock-search-form): New function, extracted from - c-make-font-lock-search-function. - (c-make-font-lock-search-function): Use the above function. - (c-make-font-lock-context-search-function): New function. - (c-cpp-matchers): Enhance the preprocessor expression case with - the above function - (c-font-lock-complex-decl-prepare): Test for being in a CPP form - which takes an expression. - - * progmodes/cc-langs.el (c-cpp-expr-intro-re): New lang-variable. - -2011-08-20 Martin Rudalics - - * window.el (display-buffer-reuse-window) - (display-buffer-pop-up-window): Don't reuse or split a side - window. - -2011-08-19 Glenn Morris - - * files.el (hack-local-variables-prop-line, hack-local-variables): - Downcase "Mode:". (Bug#9331) - -2011-08-18 Chong Yidong - - * international/characters.el: Add L and R categories. - - * subr.el (bidi-string-mark-left-to-right): Rename from - string-mark-left-to-right. Use category search. - - * buff-menu.el (Buffer-menu-buffer+size): Callers changed. - -2011-08-18 Juri Linkov - - * faces.el (error, warning, success): New faces with definitions - copied from old default values of `font-lock-warning-face', - `compilation-warning', `compilation-info' (bug#6117). - - * font-lock.el (font-lock-warning-face): Inherit from `error'. - - * progmodes/compile.el (compilation-error): Inherit from `error'. - (compilation-warning): Inherit from `warning'. - (compilation-info): Inherit from `success'. - - * dired.el (dired-marked): Inherit from `warning'. - (dired-flagged): Inherit from `error'. - -2011-08-17 Lars Magne Ingebrigtsen - - * mail/smtpmail.el (auth-source): Require to avoid problems with - binding variables (bug#9298). Also clean up some unused - autoloads. - - * net/network-stream.el (network-stream-open-starttls): - Support using starttls.el without using gnutls-cli. - -2011-08-17 Juri Linkov - - * progmodes/grep.el (rgrep): Handle the case when - `grep-find-command' is a cons cell (bug#9278). - -2011-08-17 Martin Rudalics - - * window.el (display-buffer-pop-up-frame): Run frame creation - function with BUFFER current (as special-display-popup-frame - does). Reported by Drew Adams. - -2011-08-17 Daiki Ueno - - * epa-mail.el: Simplify GnuPG group expansion using - epg-expand-group. - (epa-mail-group-alist, epa-mail-group-modtime) - (epa-mail-gnupg-conf-file, epa-mail-parse-groups) - (epa-mail-sync-groups, epa-mail-expand-recipient-1) - (epa-mail-expand-recipients-2, epa-mail-expand-recipients): - Remove. - -2011-08-16 Feng Li (tiny change) - - * calc/calc-ext.el (math-defintegral-2): Remove nested backquote. - -2011-08-16 Alan Mackenzie - - * progmodes/cc-engine.el (c-state-cache-non-literal-place): - Correct, to avoid the inside of macros. - -2011-08-16 Richard Stallman - - * epa-mail.el: Handle GnuPG group definitions. - (epa-mail-group-alist, epa-mail-group-modtime) - (epa-mail-gnupg-conf-file): New variables. - (epa-mail-parse-groups, epa-mail-sync-groups) - (epa-mail-expand-recipient-1, epa-mail-expand-recipients-2) - (epa-mail-expand-recipients): New functions. - (epa-mail-encrypt): Call epa-mail-expand-recipients. - - * mail/rmail.el (rmail-epa-decrypt): New command. - - * epa.el (epa-decrypt-region): New arg MAKE-BUFFER-FUNCTION. - Don't bind buffer-read-only, just inhibit-read-only. - (epa--find-coding-system-for-mime-charset): Fix the non-xemacs case. - (epa-decrypt-armor-in-region): Make error message clearer. - -2011-08-15 Stefan Monnier - - * minibuffer.el (completion-pcm--merge-completions): Don't merge "a1b" - and "a2b" to "ab" for `prefix'. - -2011-08-14 Chong Yidong - - * ibuf-ext.el (ibuffer-filter-disable): New arg for deleting - filter groups. - (ibuffer-included-in-filter-p-1): Use it. Suggested by Rafaël - Fourquet (Bug#8804). - -2011-08-12 Juanma Barranquero - - * startup.el (argi): Declare as global variable (bug#9275). - -2011-08-12 Chong Yidong - - * subr.el (string-mark-left-to-right): Search the entire string - for RTL script, not just the terminating character. Doc fix. - -2011-08-12 Stefan Monnier - - * progmodes/js.el (js-syntax-propertize, js-syntax-propertize-regexp): - New function. - (js--regexp-literal, js-syntax-propertize-function): Remove. - (js-mode): Use js-syntax-propertize to handle multilines (bug#9183). - (js-mode-map): Don't rebind electric keys. - (js-insert-and-indent): Remove. - (js-mode): Setup electric-layout and electric-indent instead. - - * epa-file.el (epa-file-select-keys): Revert to nil default (bug#9280). - -2011-08-12 Daiki Ueno - - * epa.el (epa-progress-callback-function): Fix the logic of - displaying progress. - * epa-file.el (epa-file-insert-file-contents): Make progress - display more user-friendly. - (epa-file-write-region): Ditto. - -2011-08-10 Chong Yidong - - * subr.el (string-mark-left-to-right): New function. - - * buff-menu.el (Buffer-menu-buffer+size): Remove LRM argument. - Use string-mark-left-to-right. - (list-buffers-noselect): Caller changed. - - * emacs-lisp/tabulated-list.el (tabulated-list-print-entry): - Use string-mark-left-to-right. - (tabulated-list-print): Recenter after moving point. - -2011-08-10 Juri Linkov - - * progmodes/grep.el (rgrep): Don't bind `process-connection-type'. - This finishes incomplete reversion of 2011-06-30T01:09:13Z!larsi@gnus.org - intended by 2011-07-06T15:49:19Z!larsi@gnus.org. - -2011-08-09 Chong Yidong - - * hi-lock.el (hi-lock-unface-buffer): Fix interactive spec - (Bug#7554). - -2011-08-09 Andreas Schwab - - * xt-mouse.el (xterm-mouse-event-read): Try to recover the raw - character. (Bug#6594) - -2011-08-08 Chong Yidong - - * image-dired.el: Don't use find-file for temporary work (Bug#7895). - (image-dired--with-db-file): New macro. - (image-dired-write-tags, image-dired-remove-tag) - (image-dired-create-gallery-lists, image-dired-write-comments) - (image-dired-get-comment, image-dired-mark-tagged-files) - (image-dired-list-tags, image-dired-gallery-generate): Use it. - (image-dired-gallery-generate): Use insert-file-contents. - - * time.el (display-time-world-list, display-time-world-display): - * time-stamp.el (time-stamp-string): - * vc/add-log.el (add-change-log-entry): Use setenv instead of - set-time-zone-rule (Bug#7337). - -2011-08-08 Daiki Ueno - - * epg.el (epg--status-KEYEXPIRED, epg--status-KEYREVOKED): Fix typo. - (epg-error-to-string, epg-errors-to-string): New function. - (epg-wait-for-completion): Reverse errors list. - (epg--check-error-for-decrypt, epg-sign-file, epg-sign-string) - (epg-encrypt-file, epg-encrypt-string, epg-export-keys-to-file) - (epg--import-keys-1, epg-receive-keys, epg-delete-keys) - (epg-sign-keys, epg-generate-key-from-file) - (epg-generate-key-from-string): Format errors by using - epg-errors-to-string (bug#9255). - (epg--status-INV_SGNR, epg--status-NO_SGNR): New status handler. - -2011-08-07 Juri Linkov - - * faces.el (list-faces-display): Remove extra angle bracket - from `help-mode-map'. - - * info.el (Info-history-toc-nodes): Doc fix. - - * longlines.el (longlines-mode): Doc fix. - -2011-08-05 Stefan Monnier - - * progmodes/js.el (js--regexp-literal): Accept regexps at the beginning - of statements and in a few more cases (bug#9183). - - * emacs-lisp/cl-macs.el (cl--make-usage-var, cl--make-usage-args): - New functions. - (cl-transform-lambda): Use them (bug#9239). - -2011-08-05 Martin Rudalics - - * window.el (display-buffer-same-window) - (display-buffer-same-frame, display-buffer-other-window) - (pop-to-buffer-same-window, pop-to-buffer-same-frame) - (pop-to-buffer-other-window) - (pop-to-buffer-same-frame-other-window) - (pop-to-buffer-other-frame): Make them defuns. - (switch-to-buffer): Don't set LABEL argument of pop-to-buffer. - -2011-08-03 Stefan Monnier - - * subr.el (make-composed-keymap): Move from C. Change calling - convention, and improve docstring to bring attention to a subtle point. - * minibuffer.el (completing-read-default): Adjust accordingly. - -2011-08-03 Michael Albinus - - * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell) - (tramp-open-shell): Use `tramp-shell-quote-argument'. - - * net/trampver.el: Update release number. - -2011-08-03 Stefan Monnier - - * progmodes/sh-script.el (sh-font-lock-paren): Don't mistake "main" for - "in" (bug#9190). - -2011-08-02 Lars Magne Ingebrigtsen - - * mail/sendmail.el (sendmail-query-once): Restore the current - buffer after querying (bug#9074). - - * dired.el (dired-flagged): Use different faces for marked and - flagged files (bug#6117). - - * emacs-lisp/cl-macs.el (dolist): Mention that there's a nil block - (bug#4433). - - * ido.el (ido-mode): Switch off the message if called - non-interactively. - - * mail/smtpmail.el (smtpmail-query-smtp-server): Try port 25 - before 587, since it appears that that's more likely to work for - more people. - - * cus-edit.el (custom-file): When running under emacs -q, always - refuse to save the customizations, even if the .emacs file doesn't - exist. - - * info.el: Remove the `Info-beginning-of-buffer' function - (bug#8325). - - * net/network-stream.el (network-stream-open-starttls): - Use `starttls-available-p' to see whether starttls.el can be used. - -2011-08-01 Martin Rudalics - - * window.el (display-buffer-in-window): Don't set dedicated status - of window here (Bug#9215). - (display-buffer-pop-up-window, display-buffer-pop-up-frame) - (display-buffer-pop-up-side-window) - (display-buffer-in-side-window): Set dedicated status of window here. - -2011-08-01 Stefan Monnier - - * emacs-lisp/package.el (package-generate-autoloads): Load autoloads - before binding generated-autoload-file. - -2011-08-01 Deniz Dogan - - * net/rcirc.el (rcirc-handler-333): Clarify docstring. - -2011-07-30 Michael Albinus - - Sync with Tramp 2.2.2. - - * net/trampver.el: Update release number. - -2011-07-30 Juri Linkov - - * dired-aux.el (dired-touch-initial): Remove function. - (dired-do-chxxx): For op-symbol `touch', set `initial' to the - current time, and `default' to the last modification time of the - current marked file (bug#6887). - -2011-07-28 Jose E. Marchesi - - * simple.el (goto-line): Use string-to-number to provide a - numeric argument to read-number (bug#9163). - -2011-07-27 Michael Albinus - - * net/tramp-sh.el (tramp-maybe-send-script): Don't let-bind the - connection process, it could be nil. - -2011-07-27 Leo Liu - - Simplify url handling in rcirc-mode. - - * net/rcirc.el (rcirc-browse-url-map, rcirc-browse-url-at-point) - (rcirc-browse-url-at-mouse): Remove. - * net/rcirc.el (rcirc-markup-urls): Use `make-button'. - -2011-07-26 Alan Mackenzie - - Fontify bitfield declarations properly. - - * progmodes/cc-langs.el (c-has-bitfields): New lang variable. - (c-symbol-chars): Now exported as a lang variable. - (c-not-primitive-type-keywords): New lang variable. - - * progmodes/cc-fonts.el (c-font-lock-declarations): Jump over the - QT keyword "more" to prevent "more slots: ...." being spuriously - parsed as a bitfield declaration. - - * progmodes/cc-engine.el (c-beginning-of-statement-1): - Refactor and enhance to handle bitfield declarations. - (c-punctuation-in): New function. - (c-forward-decl-or-cast-1): Enhance CASE 3 to handle bitfield - declarations properly. - -2011-07-26 Ulf Jasper - - * calendar/icalendar.el (icalendar--all-events): Take care of - multiple vcalendars in a single file. - (icalendar--convert-float-to-ical): Checkdoc fixes. - -2011-07-25 Deniz Dogan - - * image.el (insert-image): Clarifying docstring. - -2011-07-24 Michael Albinus - - * net/tramp-sh.el (tramp-barf-unless-okay): Return the value of - `tramp-send-command-and-check' if there is no error. - (tramp-send-command-and-read): Suppress *all* errors if NOERROR. - -2011-07-22 Alan Mackenzie - - Prevent cc-langs.elc being loaded at run time. - - * progmodes/cc-mode.el: Remove two autoload forms which loaded - cc-langs. - - * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Don't emit - "(require 'cc-langs)". Quote a form so it will evaluate at - (cc-mode's) compilation time. - -2011-07-22 Michael Albinus - - * net/tramp.el (tramp-file-name-handler): Avoid recursive - loading. (Bug#9114) - -2011-07-21 Martin Rudalics - - * window.el (display-buffer-pop-up-window) - (display-buffer-pop-up-side-window) - (display-buffer-in-side-window): Call display-buffer-set-height - and display-buffer-set-width after setting the new window's - buffer so `fit-window-to-buffer' and friends work on the right buffer. - -2011-07-20 Sam Steingold - - * progmodes/etags.el (etags-file-of-tag, etags-tags-table-files) - (etags-tags-included-tables): Call `convert-standard-filename' on - the file names contained in TAGS so that windows Emacs can handle - TAGS files created by cygwin ctags. - -2011-07-20 Lars Magne Ingebrigtsen - - * proced.el (proced-update): Revert yesterday's bug#1779 patch, - which apparently didn't work. - -2011-07-19 Roland Winkler - - * proced.el (proced-send-signal): For *Marked Processes* buffer - put point at beginning of buffer. - -2011-07-19 Stephen Berman - - * proced.el (proced-format): Make header lines align with the text - (bug#1779). - -2011-07-19 Lars Magne Ingebrigtsen - - * view.el (view-buffer): Allow running in `special' modes if we're - visiting a file (bug#8615). - -2011-07-19 Martin Rudalics - - * window.el (display-buffer-alist-of-strings-p) - (display-buffer-alist-set-1, display-buffer-alist-set-2): - New functions. - (display-buffer-alist-set): Rewrite to handle Emacs 23 options - more accurately. - -2011-07-18 Alan Mackenzie - - Fontify declarators properly when, e.g., a jit-lock chunk begins - inside a declaration. - - * progmodes/cc-langs.el (c-symbol-chars): Correct a typo. - - * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): - New function. - (c-complex-decl-matchers): Insert reference to - c-font-lock-enclosing-decls. - - * progmodes/cc-engine.el (c-backward-single-comment): - (c-backward-comments): Bind open-paren-in-column-0-is-defun-start - to nil around calls to (forward-comment -1). - -2011-07-17 Lars Magne Ingebrigtsen - - * image.el (put-image): Doc typo fix. - - * progmodes/etags.el (tags-search): Doc typo fix. - - * mail/smtpmail.el (smtpmail-via-smtp): Query the user for - password if we get errors 550 to 554. - -2011-07-16 Lars Magne Ingebrigtsen - - * net/gnutls.el (gnutls-log-level): Remove. - - * textmodes/fill.el (adaptive-fill-regexp): Include EN DASH as an - indentation character (bug#6380). - - * files.el (buffer-offer-save): Made permanently local (bug#6241). - - * doc-view.el (doc-view-make-safe-dir): Rewrite the error message - to clarify what the problem is (bug#4291). - - * simple.el (current-kill): Clarify what - `interprogram-paste-function' does (bug#7500). - (auto-fill-mode): Document `auto-fill-function' in relation to - `auto-fill-mode' (bug#2470). - -2011-07-16 Lawrence Mitchell - - * emacs-lisp/cl-macs.el (defstruct): Ignore argument to setf - method if slot is read-only (bug#9035). - -2011-07-16 Martin Rudalics - - * frame.el (select-frame-set-input-focus): New argument NORECORD. - * window.el (pop-to-buffer): Select window used even if it was - selected before, see discussion of (Bug#8615), (Bug#6954). - Pass argument NORECORD on to select-frame-set-input-focus. - -2011-07-15 Glenn Morris - - * subr.el (read-char-choice): Allow quitting. (Bug#9001) - Respect help-form. - -2011-07-09 Lawrence Mitchell - - * net/gnutls.el (gnutls-min-prime-bits): New variable. - (gnutls-negotiate): Use it. - -2011-07-15 Lars Magne Ingebrigtsen - - * net/gnutls.el (gnutls-negotiate): - Upcase `gnutls-algorithm-priority'. - -2011-07-15 Glenn Morris - - * jka-compr.el (jka-compr-verbose): Move from here... - * jka-cmpr-hook.el (jka-compr-verbose): ... to here. (Bug#9090) - Add missing :version tag. - * info.el: No need to require jka-compr when compiling. - -2011-07-15 Lars Magne Ingebrigtsen - - * net/gnutls.el (gnutls-algorithm-priority): New variable. - (gnutls-negotiate): Use it. - - * emacs-lisp/cl-macs.el (declare): Link to the "Declarations" node. - - * info.el (Info-beginning-of-buffer): New command. - (Info-mode-map): Use it instead of `beginning-of-buffer' to allow - announcing `b' as the key (bug#8325). - (Info-mode-menu): Use `Info-beginning-of-buffer' for consistency. - - * emacs-lisp/cl-macs.el (declare): Doc string fix-up. - - * international/mule-cmds.el - (describe-specified-language-support): Make the error message - clearer (bug#8905). - - * emacs-lisp/cl-macs.el (declare): Add a doc string (bug#8690). - - * isearch.el (isearch-barrier): Add a doc string, since it's - mentioned in a function doc string (bug#8678). - -2011-07-15 Martin Rudalics - - * window.el (switch-to-buffer): Call pop-to-buffer with normalized - buffer argument (Bug#9083) and self-identifying label argument. - -2011-07-15 Glenn Morris - - * emacs-lisp/debug.el (debug): Doc fix. (Bug#8273) - -2011-07-14 Lars Magne Ingebrigtsen - - * man.el (Man-fontify-manpage): Fix message when formatting the - man page (bug#7929). - -2011-07-14 Eli Zaretskii - - * buff-menu.el (Buffer-menu-buffer+size): Accept an additional - argument LRM; if non-nil, append an invisible LRM character to the - buffer name. - (list-buffers-noselect): Call Buffer-menu-buffer+size with the - last argument non-nil, when formatting buffer names. - (Buffer-menu-mode, list-buffers-noselect): Force left-to-right - paragraph direction. - -2011-07-14 Lars Magne Ingebrigtsen - - * man.el (Man-bgproc-sentinel): Skip any arguments and only output - the man page name (bug#7929). - - * image.el (put-image): Mention the `put-image' overlay property - (bug#7834). - - * scroll-bar.el (set-scroll-bar-mode): Mention that - `scroll-bar-mode' lists the values (bug#7772). - - * image-mode.el (image-mode-fit-frame): Mention that it's a toggle - command (bug#7729). - - * rect.el (apply-on-rectangle): Return the point after the last - operation. - (string-rectangle): Go to the point after the last operation - (bug#7522). - - * printing.el (pr-toggle-region): Clarify the documentation - slightly (bug#7493). - - * time.el (display-time-update): - Allow `display-time-mail-function' to return nil (bug#7158). - Fix suggested by Detlev Zundel. - - * vc/diff.el (diff): Clarify the order the file names are read - (bug#7111). - - * mouse.el (mouse-set-region): Link to `mouse-drag-copy-region' in - the doc string (bug#7015). - - * font-lock.el (font-lock-maximum-decoration): Mention what - numeric levels mean (bug#6935). - - * startup.el (initial-buffer-choice): Don't mention the `none' - selection, which is against policy. - -2011-07-14 Martin Rudalics - - * window.el (display-buffer-normalize-special): - Replace `dedicated' by `dedicate' to dedicate window (Bug#9072). - -2011-07-14 Eli Zaretskii - - * subr.el (version<, version<=, version=): Mention "-CVS" and - "-12345" alpha version numbers. - -2011-07-14 Chong Yidong - - * bindings.el: Add advertised binding for set-mark-command - (Bug#5772). - -2011-07-14 Chong Yidong - - * bindings.el (mode-line-other-buffer): - * bookmark.el (bookmark-bmenu-2-window): - * bs.el (bs-cycle-next, bs-cycle-previous): - * net/tramp-cmds.el (tramp-append-tramp-buffers): Revert to using - switch-to-buffer. - - * net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window): - Delete. - -2011-07-14 Juanma Barranquero - - * follow.el (follow-debug-message, follow-redisplay): - * jka-cmpr-hook.el (with-auto-compression-mode): - Fix typos in docstrings. - -2011-07-13 Lars Magne Ingebrigtsen - - * subr.el (with-silent-modifications): Clarify somewhat what the - macro inhibits (bug#6525). - - * simple.el (eval-expression): Note what it does if called - interactively (bug#6495). - -2011-07-13 Chong Yidong - - * window.el (switch-to-buffer): New arg FORCE-SAME-WINDOW. - Use pop-to-buffer buffer-or-name if it is nil. - - * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): - Remove switch-to-buffer. - -2011-07-13 Lars Magne Ingebrigtsen - - * files.el (make-directory): Clarify that an error will be raised - if there's an error (bug#6397). - - * startup.el (initial-buffer-choice): Add `none' as a choice - (bug#6234). - - * subr.el (add-hook): Clarify section about buffer-local hooks - (bug#6218). - - * dired.el (dired-flagged): Clarify doc string (bug#6117). - -2011-07-13 Juanma Barranquero - - * tabify.el (untabify): Preserve the current column so that point - doesn't move (bug#6032). - -2011-07-13 Lars Magne Ingebrigtsen - - * progmodes/cperl-mode.el (cperl-syntaxify-by-font-lock): - Rewrite to avoid awkward possessive "s" (bug#5986). - -2011-07-13 Glenn Morris - - * dired.el (dired-use-ls-dired): Doc fix. (Bug#9039). - (dired-insert-directory): Give a message the first time - if ls is found not to support --dired. - -2011-07-13 Lars Magne Ingebrigtsen - - * simple.el (toggle-truncate-lines): Clarify what is toggled - (bug#5580). Text by Drew Adams. - -2011-07-13 Chong Yidong - - * simple.el (blink-matching-open): Make the error message from the - last change less verbose. - -2011-07-13 Dan Nicolaescu - - * font-lock.el (font-lock-comment-face): Use the high contrast - "yellow" color for font-lock-comment-face on low color terminals - using a dark background color (bug#4221). - -2011-07-13 Lars Magne Ingebrigtsen - - * dired.el (dired-insert-set-properties): Make the doc string - reflect what it does now (bug#5325). - - * simple.el (blink-matching-open): Say that we were unable to find - the match within the limit, if we're limited (bug#5122). - - * international/mule-cmds.el (prefer-coding-system): Add an - example (bug#4869). - - * progmodes/etags.el (tags-search): Document `file-list-form' - (bug#4731). - -2011-07-13 Lawrence Mitchell - - * net/browse-url.el (browse-url-default-browser) - (browse-url-browser-function): Make the default browser choice a - bit more logical (bug#4300). Also clean up the doc string. - -2011-07-13 Juanma Barranquero - - * bindings.el (completion-ignored-extensions): Add OpenMCL/Clozure - binary endings (bug#4440). - -2011-07-13 Lars Magne Ingebrigtsen - - * info.el (info-insert-file-contents): Inhibit jka-compr messages, - which can be pretty annoying (bug#8971). - - * jka-compr.el (jka-compr-verbose): New variable, and use - throughout (bug#8971). - - * info.el (Info-find-file): Fall back on the installation - directory if we can't find the info node anywhere else. - -2011-07-13 Sergei Organov (tiny change) - - * vc/vc.el (vc-revert-file): - Don't set file time-stamp in the past. (Bug#5181) - -2011-07-12 Lars Magne Ingebrigtsen - - * files.el (after-find-file): Give a better error message when - trying to find a symlink that points to a file that doesn't exist - (bug#4398). - - * progmodes/cc-vars.el: Remove (probably) misleading comment - (bug#4396). - -2011-07-12 Johan Bockgård - - * mouse-sel.el (mouse-sel-primary-overlay): Use the `region' face. - -2011-07-12 Chong Yidong - - * mouse-sel.el: Hack restoring functionality, while keeping - compatibility with 2010-07-03 changes to mouse selection. - (mouse-sel-primary-overlay): New var. - (mouse-sel-selection-alist): Use it. - (mouse-sel-mode): Doc fix; remove points that are default features - of mouse.el. - -2011-07-12 Johan Bockgård - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Fix previous fix (bug#2490). - -2011-07-12 Roland Winkler - - * textmodes/bibtex.el (bibtex-initialize): - Use pop-to-buffer-same-window. - (bibtex-search-entries): Fix interactive call. - -2011-07-12 Lars Magne Ingebrigtsen - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Fontise bytecomp Error lines more correctly (bug#2490). - Fix suggested by Johan Bockgård. - - * subr.el (remove-duplicates): Remove; `delete-dups' is sufficient. - - * dired-x.el (dired-guess-default): Use `delete-dups'. - -2011-07-12 Chong Yidong - - * dired.el (dired-mark-prompt): - * dired-aux.el (dired-read-shell-command): Doc fix. - -2011-07-11 Lars Magne Ingebrigtsen - - * mail/sendmail.el (sendmail-query-once): - Use `customize-save-variable' unconditionally, now that it works under - emacs -Q. - - * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto. - - * cus-edit.el (custom-file): Take an optional no-error variable. - (customize-save-variable): Set the variable, and give a warning if - running under "emacs -q". - -2011-07-11 Juanma Barranquero - - * loadhist.el (unload-feature-special-hooks): - Add `auto-coding-functions', `fill-nobreak-predicate' and - `find-directory-functions' (bug#5327). - -2011-07-11 Lars Magne Ingebrigtsen - - * vc/ediff.el (ediff-patch-file): Clarify doc string (bug#3138). - - * cus-edit.el (custom-guess-name-alist): -alist variables should - use the `alist' type (bug#3120). Suggested by Drew Adams. - - * printing.el: Add documentation to all the `pr-toggle-' commands. - -2011-07-11 Leo Liu - - * files.el (toggle-read-only): Only do the `C-x C-q' warning on VC - backends where it makes sense (bug#2623). - -2011-07-11 Lars Magne Ingebrigtsen - - * dired-x.el (dired-guess-default): Remove duplicate shell command - entries (bug#2028). - (dired-guess-default): Fix grammar in doc string (bug#2028). - (dired-guess-shell-alist-user): Clarify the example a bit (bug#2030). - - * subr.el (remove-duplicates): New conveniency function. - -2011-07-10 Lars Magne Ingebrigtsen - - * tool-bar.el (tool-bar-mode): Clarify positive/negative arguments - (bug#1526). - -2011-07-10 Martin Rudalics - - * window.el (display-buffer-normalize-default): Don't invert - meaning of even-window-heights. Reported by Eli Zaretskii - . - -2011-07-10 Bob Rogers - - * vc/vc.el (vc-diff-internal): Fix race condition (Bug#1256). - -2011-07-10 Chong Yidong - - * window.el (display-buffer): Fix arguments to - display-buffer-reuse-window in last change. - - * faces.el (link): Use a less saturated blue on light backgrounds. - - * startup.el (fancy-startup-text, fancy-about-text) - (fancy-startup-tail): Use font-lock faces, for background safety. - -2011-07-09 Bob Nnamtrop (tiny change) - - * emulation/viper-cmd.el (viper-change-state-to-vi): - Limit triggering of abbrev expansion (Bug#9038). - -2011-07-09 Martin Rudalics - - * window.el (display-buffer-default-specifiers): Remove. - (display-buffer-macro-specifiers): Remove default specifiers. - (display-buffer-alist): Default to nil. - (display-buffer-reuse-window): New optional argument other-window. - (display-buffer-pop-up-window): Allow splitting internal - windows. Check whether a live window was created. - (display-buffer-other-window-means-other-frame) - (display-buffer-normalize-arguments): Rename to - display-buffer-normalize-argument and rewrite. Set the - other-window specifier. - (display-buffer-normalize-special): New function. - (display-buffer-normalize-options): Rename to - display-buffer-normalize-default and rewrite. - (display-buffer-normalize-options-inhibit): Remove. - (display-buffer-normalize-specifiers): Rewrite. - (display-buffer): Process other-window specifier and call - display-buffer-reuse-window with it. Emulate Emacs 23 behavior - more faithfully. - (pop-up-windows, even-window-heights): Restore Emacs 23 default values. - (display-buffer-alist-set): Don't handle 'unset default values. - (display-buffer-in-window, display-buffer-alist-set): - Replace symbol "dedicated" by "dedicate". Reported by Tassilo Horn - . - -2011-07-09 Leo Liu - - * register.el (insert-register): Restore accidental change on - 2011-06-26. (Bug#9028) - -2011-07-09 Glenn Morris - - * subr.el (remq): Handle the empty list. (Bug#9024) - -2011-07-08 Andreas Schwab - - * mail/sendmail.el (send-mail-function): No longer delay custom - initialization. - * custom.el (custom-initialize-delay): Doc fix. - -2011-07-08 Stefan Monnier - - * abbrev.el (expand-abbrev): Try to preserve point (bug#5805). - -2011-07-08 Michael Albinus - - * net/tramp-sh.el (tramp-sh-handle-start-file-process): Use a - human-friendly prompt. - -2011-07-08 Stefan Monnier - - * vc/vc-bzr.el (vc-bzr-revision-keywords): Remove svn, it's only - provided by a particular plugin. - -2011-07-08 Lars Magne Ingebrigtsen - - * mail/sendmail.el (sendmail-query-once): If we aren't allowed to - save customizations (with "emacs -Q"), just set the variable - instead of erroring out. - - * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto. - -2011-07-08 Juri Linkov - - * arc-mode.el (archive-zip-expunge, archive-zip-update) - (archive-zip-update-case): Use 7z if found by `executable-find'. - The order of searching the available programs is the same as in - `archive-zip-extract' (bug#8968). - -2011-07-07 Chong Yidong - - * menu-bar.el (menu-bar-line-wrapping-menu): Revert last change. - (menu-bar-options-menu): Tweak descriptions. - -2011-07-07 Lars Magne Ingebrigtsen - - * menu-bar.el (menu-bar-line-wrapping-menu): Make all the Options - menu items into verb phrases (bug#1421). Also refill to fit under - 80 columns. - -2011-07-07 Chong Yidong - - * info.el (info, Info-read-node-name-2, Info-read-node-name-1) - (Info-read-node-name): Doc fix (Bug#1084). - - * thingatpt.el (forward-thing, bounds-of-thing-at-point) - (thing-at-point, beginning-of-thing, end-of-thing, in-string-p) - (end-of-sexp, beginning-of-sexp) - (thing-at-point-bounds-of-list-at-point, forward-whitespace) - (forward-symbol, forward-same-syntax, word-at-point) - (sentence-at-point): Doc fix (Bug#1144). - -2011-07-07 Lars Magne Ingebrigtsen - - * info.el (Info-mode-map): Remove S-TAB binding, since [backtab] - should cover it (bug#1281). - - * cus-edit.el (custom-show): Mark as obsolete. - - * net/network-stream.el (network-stream-open-starttls): If GnuTLS - negotiation fails, then possibly try again with a non-encrypted - connection (bug#9017). - - * mail/smtpmail.el (smtpmail-stream-type): Note that `plain' can - be used. - -2011-07-07 Richard Stallman - - * mail/rmail.el (rmail-next-error-move): Use `compilation-message' - property, and handle its changed format. - Look for the correct line number. - Use file's line contents (but not past first =) to find - correct line in message. - -2011-07-07 Kenichi Handa - - * international/characters.el (build-unicode-category-table): - Delete it. - (unicode-category-table): Set it by unicode-property-table-internal. - - * international/mule-cmds.el (char-code-property-alist): Move to - to src/chartab.c. - (get-char-code-property): Call unicode-property-table-internal to - load a file. Call get-unicode-property-internal where necessary. - (put-char-code-property): Call unicode-property-table-internal to - load a file. Call put-unicode-property-internal where necessary. - put-unicode-property-internal where necessary. - (char-code-property-description): - Call unicode-property-table-internal to load a file. - - * international/charprop.el: - * international/uni-bidi.el: - * international/uni-category.el: - * international/uni-combining.el: - * international/uni-comment.el: - * international/uni-decimal.el: - * international/uni-decomposition.el: - * international/uni-digit.el: - * international/uni-lowercase.el: - * international/uni-mirrored.el: - * international/uni-name.el: - * international/uni-numeric.el: - * international/uni-old-name.el: - * international/uni-titlecase.el: - * international/uni-uppercase.el: Regenerate. - - * loadup.el: Load international/charprop.el before - international/characters. - -2011-07-07 Chong Yidong - - * window.el (next-buffer, previous-buffer): Signal an error if - called from a minibuffer window. - - * bindings.el: Revert 2011-07-04 change. - -2011-07-06 Richard Stallman - - * mail/rmailmm.el (rmail-mime-process): Use markers for buf positions. - (rmail-mime-insert-bulk, rmail-mime-insert-text): - Treat markers like ints. - (rmail-mime-entity): Doc fix. - -2011-07-06 Lars Magne Ingebrigtsen - - * mail/smtpmail.el (smtpmail-default-smtp-server): Made into a - defcustom again for backwards compatibility. - - * simple.el (shell-command-on-region): Fill. - - * dired-aux.el (dired-kill-line): Add a doc string. - - * dabbrev.el (dabbrev-abbrev-char-regexp): Note that nil defaults - to "\\sw\\|\\s_" (bug#358). - - * dired.el (dired-mode): Clarify "unmark or unflag" (bug#8770). - (dired-unmark-backward): Ditto. - (dired-flag-backup-files): Ditto. - - * dired-x.el (dired-mark-sexp): Ditto. - -2011-07-06 Richard Stallman - - * mail/rmailmm.el: Give entity a new slot, TRUNCATED. - (rmail-mime-entity): New arg TRUNCATED. - (rmail-mime-entity-truncated, rmail-mime-entity-set-truncated): - New functions. - (rmail-mime-save): Warn if entity is truncated. - (rmail-mime-toggle-hidden): Likewise, for showing. - (rmail-mime-process-multipart): Record when an entity is truncated. - - * mail/rmailmm.el (rmail-search-mime-message): Don't get confused - if ENTITY is a string. - -2011-07-06 Lars Magne Ingebrigtsen - - * emacs-lisp/lisp-mode.el (eval-defun-1): Update the documentation - of faces when `M-C-x'-ing their definitions (bug#8378). - Also clean up the code slightly. - - * progmodes/grep.el (rgrep): Don't bind `process-connection-type', - because that makes the colors go away. - - * mail/sendmail.el (send-mail-function): Change the default to - `sendmail-query-once'. - (sendmail-query-once): Add an autoload cookie. - - * net/network-stream.el (network-stream-open-starttls): Try using - a plain connection even if the server offered STARTTLS, and we - kinda wanted to use it, if Emacs doesn't have any STARTTLS - capability. This should make smtpmail.el work in slightly more - configurations. - -2011-07-06 Michael Albinus - - * net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window): - New defun. - * net/tramp-cmds.el (tramp-append-tramp-buffers): Use it. - -2011-07-06 Michael R. Mauger - - * progmodes/sql.el: Version 3.0 - (sql-product-alist): Add product :completion-object, - :completion-column, and :statement attributes. - (sql-mode-menu, sql-interactive-mode-map): Fix List entries. - (sql-mode-syntax-table): Mark all punctuation. - (sql-font-lock-keywords-builder): Temporarily remove fallback on - ansi keywords. - (sql-regexp-abbrev, sql-regexp-abbrev-list): New functions. - (sql-mode-oracle-font-lock-keywords): Improve. - (sql-oracle-show-reserved-words): New function for development. - (sql-product-font-lock): Simplify for source code buffers. - (sql-product-syntax-table, sql-product-font-lock-syntax-alist): - New functions. - (sql-highlight-product): Set product specific syntax table. - (sql-mode-map): Add statement movement functions. - (sql-ansi-statement-starters, sql-oracle-statement-starters): - New variable. - (sql-statement-regexp, sql-beginning-of-statement) - (sql-end-of-statement, sql-signum): New functions. - (sql-buffer-live-p, sql=find-sqli-buffer): Add CONNECTION parameter. - (sql-show-sqli-buffer): Bug fix. - (sql-interactive-mode): Store connection data as buffer local. - (sql-connect): Add NEW-NAME parameter. Redesign interaction - with sql-interactive-mode. - (sql-save-connection): Save buffer local settings. - (sql-connection-menu-filter): Change menu entry name. - (sql-product-interactive): Bug fix. - (sql-preoutput-hold): New variable. - (sql-interactive-remove-continuation-prompt): Bug fixes. - (sql-debug-redirect): New variable. - (sql-str-literal): New function. - (sql-redirect, sql-redirect-one, sql-redirect-value, sql-execute): - Redesign. - (sql-oracle-save-settings, sql-oracle-restore-settings) - (sql-oracle-list-all, sql-oracle-list-table): New functions. - (sql-completion-object, sql-completion-column) - (sql-completion-sqlbuf): New variables. - (sql-build-completions-1, sql-build-completions) - (sql-try-completion): New functions. - (sql-read-table-name): Use them. - (sql-contains-names): New buffer local variable. - (sql-list-all, sql-list-table): Use it. - (sql-oracle-completion-types): New variable. - (sql-oracle-completion-object, sql-sqlite-completion-object) - (sql-postgres-completion-object): New functions. - -2011-07-06 Glenn Morris - - * window.el (pop-to-buffer): Doc fix. - -2011-07-06 Markus Heiser (tiny change) - - * progmodes/gud.el (gud-pdb-marker-regexp): Accept \r char (Bug#5653). - -2011-07-06 Chong Yidong - - * window.el (special-display-popup-frame): Doc fix (Bug#8853). - - * info.el (Info-directory-toc-nodes): Minor doc fix (Bug#8833). - -2011-07-05 Chong Yidong - - * button.el (button): Inherit from link face. Suggested by Dan - Nicolaescu. - -2011-07-05 Stefan Monnier - - * progmodes/gdb-mi.el: Fit in 80 columns. - (gdb-setup-windows, gdb-restore-windows): Avoid other-window and - switch-to-buffer. - - * progmodes/which-func.el (which-func-ff-hook): Don't output a message - if imenu is simply not configured (bug#8941). - -2011-07-05 Ken Manheimer - - * allout.el (allout-post-undo-hook): New allout outline-change - event hook to signal undo activity. - (allout-post-command-business): Run allout-post-undo-hook if an - undo just occurred. - (allout-after-copy-or-kill-hook, allout-mode): Minor docstring changes. - * allout-widgets.el (allout-widgets-after-undo-function): - Ensure the integrity of the current item's decoration after it has been - in the vicinity of an undo. - (allout-widgets-mode): Include allout-widgets-after-undo-function - on the new allout-post-undo-hook. - -2011-07-05 Stefan Monnier - - * emacs-lisp/lisp-mode.el (lisp-interaction-mode-abbrev-table): - Let define-derived-mode define it. - * emacs-lisp/derived.el (define-derived-mode): Try to avoid creating - cycles of abbrev-table inheritance (bug#8998). - -2011-07-05 Roland Winkler - - * textmodes/bibtex.el: Add support for biblatex. - (bibtex-BibTeX-entry-alist, bibtex-biblatex-entry-alist) - (bibtex-BibTeX-field-alist, bibtex-biblatex-field-alist) - (bibtex-dialect-list, bibtex-dialect, bibtex-no-opt-remove-re) - (bibtex-entry-alist, bibtex-field-alist): New variables. - (bibtex-entry-field-alist): Obsolete alias for - bibtex-BibTeX-entry-alist. - (bibtex-entry-alist, bibtex-field-alist): New widgets. - (bibtex-set-dialect): New command. - (bibtex-entry-type, bibtex-entry-head) - (bibtex-entry-maybe-empty-head, bibtex-any-valid-entry-type): - Bind via bibtex-set-dialect. - (bibtex-Article, bibtex-Book, bibtex-Booklet, bibtex-InBook) - (bibtex-InCollection, bibtex-InProceedings, bibtex-Manual) - (bibtex-MastersThesis, bibtex-Misc, bibtex-PhdThesis) - (bibtex-Proceedings, bibtex-TechReport, bibtex-Unpublished): - Define via bibtex-set-dialect. - (bibtex-name-in-field, bibtex-remove-OPT-or-ALT): - Obey bibtex-no-opt-remove-re. - (bibtex-vec-push, bibtex-vec-incr): New functions. - (bibtex-format-entry, bibtex-field-list) - (bibtex-print-help-message, bibtex-validate) - (bibtex-search-entries): Use new format of bibtex-entry-alist. - -2011-07-05 Stefan Monnier - - * progmodes/compile.el (compilation-goto-locus): - * net/tramp-cmds.el (tramp-append-tramp-buffers): - * bs.el (bs-cycle-next, bs-cycle-previous): - * bookmark.el (bookmark-bmenu-list, bookmark-bmenu-2-window): - * bindings.el (mode-line-other-buffer): - * autoinsert.el (auto-insert): - * arc-mode.el (archive-extract): - * abbrev.el (edit-abbrevs): Fix some uses of switch-to-buffer. - -2011-07-05 Juanma Barranquero - - * emacs-lock.el (emacs-lock-mode): Fix typo in variable name. - Fix check of `emacs-lock-unlockable-modes'. - Coerce true values of `emacs-lock--try-unlocking' to t. - -2011-07-05 Juanma Barranquero - - * obsolete/old-emacs-lock.el: Rename from emacs-lock.el. - * emacs-lock.el: New file. - -2011-07-05 Julien Danjou - - * textmodes/rst.el (rst-define-level-faces): Use `facep' rather - than `boundp' to check if face is set. - -2011-07-05 Juanma Barranquero - - * register.el (registerv-make): - * window.el (window-min-height): Fix typos in docstrings. - -2011-07-05 Jan Djärv - - * dynamic-setting.el (dynamic-setting-handle-config-changed-event): - Update doc string. - -2011-07-04 Juanma Barranquero - - * server.el (server-execute): Catch quit and call - `server-return-error' to pass the error back to emacsclient and - close the connection (bug#8942). - -2011-07-04 Ken Manheimer - - * allout.el (allout-encrypt-unencrypted-on-saves): Do not provide - insecure exception for current topic. Also note that auto-saves - are handled differently. - - (allout-auto-save-temporarily-disabled, allout-just-did-undo): - State variables for tracking auto-save inhibition situation. - - (allout-write-contents-hook-handler): Rename from - 'allout-write-file-hook-handler', and describe how it depends on - write-contents-functions sensitivity to non-nil value to prevent - file write. - - (allout-auto-save-hook-handler): Remove. auto-save does not check - this in individual buffers, only in the starting buffer, so this - is not the right way for us to inhibit auto-save in a buffer - according to its condition. - - (allout-mode): Use new allout-write-contents-hook-handler, and - only with write-contents-functions. Remove auto-save provisions - - they're implemented elsewhere. - - (allout-before-change-handler): If undo is in progress, note that - for attention of allout-post-command-business. - - (allout-post-command-business): If the command we're following was - an undo, check for change in the status of encrypted items and - adjust auto-save inhibitions accordingly. - - (allout-toggle-subtree-encryption): Adjust auto-save inhibition - according to whether there are or aren't any plain-text topics - pending encryption. - - (allout-inhibit-auto-save-info-for-decryption): - Adjust buffer-saved-size and some allout state to inhibit auto-saves - if there are plain-text topics pending encryption. - - (allout-maybe-resume-auto-save-info-after-encryption): Adjust - buffer-saved-size and some allout state to not inhibit auto-saves - if there are no longer any plain-text topics pending encryption. - - (allout-next-topic-pending-encryption, allout-encrypt-decrypted): - No longer provide for exemption of the current topic. - -2011-07-04 Juri Linkov - - Add 7z operations to delete and save changed members (bug#8968). - * arc-mode.el (archive-7z-expunge, archive-7z-update): - New defcustoms. - (archive-7z-write-file-member): New function. - (archive-7z-summarize): Fix the number of dashes in the - listing output. - -2011-07-04 Stefan Monnier - - * pcmpl-linux.el (pcomplete-pare-list): Re-add, from pcomplete.el - (bug#8958). - -2011-07-04 Chong Yidong - - * bindings.el: Ignore next-buffer and previous-buffer in - minibuffer-local-map. - - * font-lock.el (font-lock-builtin-face): Change light background - color to dark slate blue (Bug#6693). - -2011-07-04 Wang Diancheng (tiny change) - - * progmodes/gdb-mi.el (gdb): Use completion-at-point. - -2011-07-04 Stefan Monnier - - * files.el (find-file): Use pop-to-buffer-same-window (bug#8911). - * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): - Add switch-to-buffer. - -2011-07-04 Lars Magne Ingebrigtsen - - * isearch.el (isearch-search-fun-function): Clarify further the - meaning of the function returned. - -2011-07-04 Michael Albinus - - * net/tramp-cmds.el (tramp-cleanup-this-connection): New command. - - * net/tramp-sh.el (tramp-color-escape-sequence-regexp): New defconst. - (tramp-sh-handle-insert-directory, tramp-convert-file-attributes): - Use it. - (tramp-remote-path): Add "/bin" and "/usr/bin". On busyboxes, - `tramp-default-remote-path' does not exist. - (tramp-send-command-and-read): New optional argument NOERROR. - (tramp-open-connection-setup-interactive-shell) - (tramp-get-remote-path, tramp-get-remote-stat): Use it. - (tramp-get-remote-readlink): Do not mask with `ignore-errors'. - (tramp-process-sentinel): Flush also process' connection property. - (tramp-sh-handle-start-file-process): Do not set process - sentinel. It is done now ... - (tramp-maybe-open-connection): ... here. (Bug#8929) - -2011-07-04 MON KEY - - * play/animate.el (animate-string): Doc fixes and allow changing - the buffer name (bug#5417). - -2011-07-04 Lars Magne Ingebrigtsen - - * play/animate.el (animation-buffer-name): Rename from *animate*. - -2011-07-04 Paul Eggert - - * emacs-lisp/timer.el: Use time-date fns rather than rolling our own. - This is simpler and helps future-proof the code. - (timer-until): Use time-subtract and float-time. - (timer--time-less-p): Use time-less-p. - -2011-07-04 Juanma Barranquero - - * type-break.el (timep): Use the value of `float-time' to avoid a - byte-compiler warning. - - * server.el (server-eval-and-print): Return any result, even nil. - -2011-07-03 Paul Eggert - - * type-break.el: Accept time formats that the builtins accept. - (timep, type-break-time-difference): Accept any format that - float-time accepts, rather than insisting on (HIGH LOW USECS) format. - This is simpler and helps future-proof the code. - (type-break-time-difference): Round rather than ignoring - subseconds components. - -2011-07-03 Lars Magne Ingebrigtsen - - * info.el (Info-apropos-matches): Make non-interactive, since it - doesn't seem to do anything useful as a command (bug#8829). - -2011-07-03 Chong Yidong - - * frame.el (frame-background-mode, frame-set-background-mode): - Move from faces.el. - (frame-default-terminal-background): New function. - - * custom.el (custom-push-theme): Don't record faces in `changed' - theme; this doesn't work correctly for per-frame face settings. - (disable-theme): Use face-set-after-frame-default to reset faces. - (custom--frame-color-default): New function. - -2011-07-03 Lars Magne Ingebrigtsen - - * dired.el (dired-flagging-regexp): Remove unused variable - (bug#8769). - -2011-03-29 Kevin Ryde - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - `perl-Test2' extend to match possible "fail #N" rep count - (bug#8377). - -2011-07-03 Lars Magne Ingebrigtsen - - * mail/feedmail.el (feedmail-buffer-to-smtpmail): - `smtpmail-via-smtp' now returns the error instead of nil. - - * isearch.el (isearch-search-fun-function): Clarify the doc string - (bug#8101). - -2011-07-03 Richard Kim (tiny change) - - * textmodes/texnfo-upd.el (texinfo-insert-menu): Don't insert - unnecessary spaces (bug#8987). - -2011-07-03 Lars Magne Ingebrigtsen - - * net/network-stream.el (open-network-stream): Use the - :end-of-capability command thoughout. - -2011-07-03 Wolfgang Jenkner (tiny change) - - * net/network-stream.el (open-network-stream): Add the - :end-of-capability command parameter, used by pop3.el. - -2011-07-03 Lars Magne Ingebrigtsen - - * dired.el (dired-map-over-marks): Refill the doc string (bug#6814). - - * fringe.el (fringe-query-style): Remove redundant text " (type ? - for list)" (bug#6475). - - * files.el (file-expand-wildcards): Ignore non-readable - sub-directories while trying to find matches instead of signaling - an error (bug#6297). - - * man.el (Man-reference-regexp): Allow matching possible - word-wrapped references (bug#6289). - - * vc/vc.el (vc-modify-change-comment): Change *VC-log* to *vc-log* - for consistency with the other vc buffers (bug#6197). - (vc-checkin): Ditto. - - * vc/vc-arch.el: Fix comments to match the *VC-log* name change. - - * longlines.el (longlines-mode): Document what ARG does (bug#6150). - -2011-07-02 Lars Magne Ingebrigtsen - - * custom.el (defcustom): Clarify that :set is only used in the - Customize user interface (bug#6089). - - * progmodes/flymake.el (flymake-mode): If the buffer isn't - associated with a file, refuse to run instead of erroring out - (bug#6084). - - * textmodes/fill.el (fill-region): Remove the "Ordinarily" from - the doc string, since it appears that using `fill-column' always - controls the width (bug#7845). - - * simple.el (shell-command-on-region): Say where the error output - went if `shell-command-default-error-buffer' is set (bug#6857). - -2011-07-02 Ken Manheimer - - * allout.el (allout-yank-processing): Adjust cursor position for - backwards-deleted space. - - (allout-rebullet-heading): Register changes with - allout-exposure-changed-hook, so the modified topic is properly - decorated. - -2011-07-02 Lars Magne Ingebrigtsen - - * minibuffer.el (completion-in-region): Document PREDICATE - (bug#7136). - - * info-look.el (info-lookup-add-help): Clarify that ARGS is a list - of keyword/argument pairs (bug#6904). - - * replace.el (multi-occur): - Mention `multi-occur-in-matching-buffers' in the doc string (bug#7566). - -2011-07-02 Drew Adams - - * dired.el (dired-mark-if): Make the message about whether it's - marking or unmarking clearer (bug#8523). - -2011-07-02 Lars Magne Ingebrigtsen - - * disp-table.el (display-table-print-array): New function. - (describe-display-table): Use it to print the vectors more pretty - (Bug#8859). - -2011-07-02 Martin Rudalics - - * window.el (window-state-get-1): Don't assign clone numbers. - Add clone-of item to list of window parameters. - (window-state-put-2): Don't process clone numbers. - (display-buffer-alist): Fix doc-string. - -2011-07-02 Stefan Monnier - - * subr.el (remq): Don't allocate if it's not needed. - (keymap--menu-item-binding, keymap--menu-item-with-binding) - (keymap--merge-bindings): New functions. - (keymap-canonicalize): Use them to refine the canonicalization. - * minibuffer.el (minibuffer-local-completion-map) - (minibuffer-local-must-match-map): Move initialization from C. - (minibuffer-local-filename-completion-map): Move initialization from C; - don't inherit from anything here. - (minibuffer-local-filename-must-match-map): Make obsolete. - (completing-read-default): Use make-composed-keymap to combine - minibuffer-local-filename-completion-map with either - minibuffer-local-must-match-map or - minibuffer-local-filename-completion-map. - -2011-07-01 Glenn Morris - - * type-break.el (type-break-time-sum): Use dolist. - - * textmodes/flyspell.el (flyspell-word-search-backward): - Replace CL function. - -2011-07-01 Stefan Monnier - - * mouse.el (mouse--strip-first-event): New function. - (function-key-map): Use it to map fringe clicks to normal clicks - by default. - - * vc/vc-bzr.el (vc-bzr-revision-keywords): Update. - (vc-bzr-revision-completion-table): Add support for annotate and date. - - * emacs-lisp/derived.el (define-derived-mode): Make abbrev-table - inherit from parent. - -2011-07-01 Lars Magne Ingebrigtsen - - * dired-aux.el (dired-diff): Doc fixup (bug#8816). - (dired-show-file-type): Doc fixup (bug#8818). - - * dired.el (dired-mode): Fix up the doc string as suggested by - Drew Adams (bug#8817). - - * progmodes/flymake.el (flymake-find-file-hook): Add an `autoload' - cookie, since the manual says that it should be possible to add - this function to `find-file-hook' (bug#8709). - -2011-07-01 Teodor Zlatanov - - * progmodes/cfengine.el: Moved all cfengine3.el functionality - here. Noted Ted Zlatanov as the maintainer. - (cfengine-common-settings, cfengine-common-syntax): New functions - to set up common things between `cfengine-mode' and - `cfengine3-mode'. - (cfengine3-mode): New mode. - (cfengine3-defuns cfengine3-defuns-regex - (cfengine3-class-selector-regex cfengine3-category-regex) - (cfengine3-vartypes cfengine3-font-lock-keywords) - (cfengine3-beginning-of-defun, cfengine3-end-of-defun) - (cfengine3-indent-line): Add from cfengine3.el. - -2011-07-01 Michael Albinus - - * net/tramp.el (tramp-encoding-command-interactive): New defcustom. - - * net/tramp-sh.el (tramp-maybe-open-connection): Use it. - -2011-07-01 Martin Rudalics - - * window.el (same-window-buffer-names, same-window-regexps) - (same-window-p, special-display-frame-alist) - (special-display-popup-frame, special-display-function) - (special-display-buffer-names, special-display-regexps) - (special-display-p, pop-up-frame-alist, pop-up-frame-function) - (pop-up-frames, display-buffer-reuse-frames, pop-up-windows) - (split-window-preferred-function, split-height-threshold) - (split-width-threshold, even-window-heights) - (display-buffer-mark-dedicated, window-splittable-p) - (split-window-sensibly, window-safely-shrinkable-p): - Un-obsolete. - (display-buffer): Don't spread args with function specifier - because special-display-popup-frame won't like it. - -2011-07-01 Paul Eggert - - Time-stamp simplifications and fixes. - These improve accuracy slightly, and future-proof the code - against some potential changes to current-time format. - - * woman.el (woman-decode-buffer, WoMan-log-end): Log fractional secs - by using time-since and float-time. - - * vc/ediff-util.el (ediff-calc-command-time): Use time-since - and float-time. Say "NNN.NNN seconds" rather than "NNN seconds - + NNN microseconds". - - * type-break.el (type-break-time-sum): Rewrite using time-add. - - * play/hanoi.el (hanoi-current-time-float): Remove. - All uses replaced by float-time. - - * nxml/rng-maint.el (rng-time-function): Rewrite using time-subtract. - This yields a more-accurate answer. - (rng-time-to-float): Remove; no longer needed. - - * emacs-lisp/timer.el (timer-relative-time): Use time-add. - - * calendar/timeclock.el (timeclock-seconds-to-time): - Defalias to seconds-to-time, since they're the same thing. - - * emacs-lisp/elp.el (elp-elapsed-time): - * emacs-lisp/benchmark.el (benchmark-elapse): - * allout-widgets.el (allout-elapsed-time-seconds): Use float-time. - -2011-07-01 Stefan Monnier - - * window.el (bury-buffer): Don't iconify the only frame. - (switch-to-buffer): Revert to Emacs<23 behavior, i.e. do not fallback - to pop-to-buffer. Use pop-to-buffer-same-frame if you don't like that. - -2011-07-01 Chong Yidong - - * eshell/em-smart.el (eshell-smart-display-navigate-list): - Add mouse-yank-primary. - -2011-07-01 Teodor Zlatanov - - * progmodes/cfengine3.el: New file to support CFEngine 3.x. - -2011-07-01 Stefan Monnier - - * emacs-lisp/find-func.el (find-library--load-name): New fun. - (find-library-name): Use it to find relative load names when provided - absolute file name (bug#8803). - -2011-06-30 Lars Magne Ingebrigtsen - - * textmodes/flyspell.el (flyspell-word): Consider words that - differ only in case as potential doublons (bug#5687). - - * net/soap-client.el (soap-invoke, soap-wsdl-resolve-references): - Remove two rather uninteresting debugging-like messages to make - debbugs.el more silent. - - * comint.el (comint-password-prompt-regexp): Accept "Response" as - a password-like phrase. - -2011-06-30 Masatake YAMATO - - * progmodes/cc-guess.el: New file. - - * progmodes/cc-langs.el (c-mode-menu): Add "Style..." submenu. - - * progmodes/cc-styles.el (cc-choose-style-for-mode): New function - derived from `c-basic-common-init'. - - * progmodes/cc-mode.el (top-level): Require cc-guess. - (c-basic-common-init): Use `cc-choose-style-for-mode'. - -2011-06-30 Lawrence Mitchell - - * progmodes/js.el (js-mode): Don't stomp on global settings (bug#8933). - -2011-06-30 Alan Mackenzie - - * progmodes/cc-engine.el (c-guess-continued-construct): - Correct the handling of template-args-cont, particularly for when font - lock is disabled. Name this case as "CASE G". - -2011-06-30 Ken Manheimer - - * allout.el (allout-yank-processing): Fix injection of extra space - between bullet and non-whitespace character in first topic when - pasting, ensuring that the actual spacing in the pasted topic - following the bullet char is preserved. This extra space was - causing pasted encrypted topics to get a decrypted status even - when the content was actually still encrypted. Now the decryption - status from before the paste is preserved. - - (allout-flag-region): Set all allout overlays so they evaporate - when reduced to zero length (evanescent), to prevent overlay - leakage. - -2011-06-30 Glenn Morris - - * w32-fns.el (w32-charset-info-alist): Declare. - - * find-dired.el (find-grep-options): Simplify. - - * term/ns-win.el (ns-set-resource): Declare. - - * ses.el (row, col): Declare dynamic variables honestly. - - * textmodes/reftex-parse.el (index-tags): Declare. - -2011-06-30 Chong Yidong - - * cus-edit.el (customize-push-and-save): New function. - - * files.el (hack-local-variables-confirm): Use it. - - * custom.el (load-theme): New arg NO-CONFIRM. - Use customize-push-and-save (Bug#8720). - (custom-enabled-themes): Doc fix. - - * cus-theme.el (customize-create-theme) - (custom-theme-merge-theme): Callers to load-theme changed. - -2011-06-30 Lars Magne Ingebrigtsen - - * thingatpt.el (thing-at-point-short-url-regexp): Require that - short URLs have at least one dot in them (bug #7614). - - * progmodes/grep.el (rgrep): Bind `process-connection-type' to - nil, because using a pty is apparently too slow (bug #895). - -2011-06-29 Lars Magne Ingebrigtsen - - * mail/sendmail.el (sendmail-query-once): New function. - (sendmail-query-once-function): New variable. - -2011-06-29 Glenn Morris - - * files.el (auto-mode-alist): Add .f03, .f08 for f90-mode. - - * ses.el (top-level): Require cl when compiling. - (ses-set-localvars): Fix error statement. - Call it at compile time to silence a storm of warnings. - -2011-06-29 Martin Rudalics - - * window.el (normalize-live-buffer): Rename to - window-normalize-buffer. - (normalize-live-frame): Rename to window-normalize-frame. - (normalize-any-window): Rename to window-normalize-any-window. - (normalize-live-window): Rename to window-normalize-live-window. - (make-window-atom): Rename to window-make-atom. - (window-resize-reset): Rename to window--resize-reset. - (window-resize-reset-1): Rename to window--resize-reset-1. - (resize-mini-window): Rename to window--resize-mini-window. - (resize-subwindows-skip-p): Rename to - window--resize-subwindows-skip-p. - (resize-subwindows-normal): Rename to - window--resize-subwindows-normal. - (resize-subwindows): Rename to window--resize-subwindows. - (resize-other-windows): Rename to window--resize-siblings. - (resize-this-window): Rename to window--resize-this-window. - (resize-root-window): Rename to window--resize-root-window. - (resize-root-window-vertically): Rename to - window--resize-root-window-vertically. - (normalize-buffer-to-display): Rename to - window-normalize-buffer-to-display. - (normalize-buffer-to-switch-to): Rename to - window-normalize-buffer-to-switch-to. - Correspondingly update all callers of the functions listed - above. - (display-buffer-alist, display-buffer-normalize-arguments) - (display-buffer-normalize-options, display-buffer) - (display-buffer-alist-set): Use "function" instead of - "fun-with-args". - -2011-06-28 Chong Yidong - - * mail/emacsbug.el (report-emacs-bug): Handle non-gnu bug - addresses more clearly. Add hyperlinks for bug-gnu-emacs and - debbugs.gnu.org. Mention acknowledgment email. - -2011-06-28 Lars Magne Ingebrigtsen - - * mail/smtpmail.el (smtpmail-send-it): Leave off changing the - buffer multibyteness, since it shouldn't matter. - -2011-06-28 Martin Rudalics - - * window.el (display-buffer-in-side-window): Handle dedicated - windows as in display-buffer-reuse-window. - (display-buffer-normalize-alist): Use value of override - specifier. - (display-buffer-normalize-specifiers): Use value of - other-window-means-other-frame specifier. - (display-buffer-alist): Rewrite some texts in widgets. - (display-buffer): Spread arguments when calling function - specified by fun-with-args. - -2011-06-28 Deniz Dogan - - * emacs-lisp/lisp-mode.el (emacs-lisp-mode-syntax-table): - Unnest `let'. - - * textmodes/css-mode.el (css-font-lock-keywords): Fix grouped - selectors (Bug#5732). - (css-proprietary-nmstart-re): Use `regexp-opt'. - -2011-06-27 Jari Aalto - - * eshell/em-ls.el: Display `ls -l' dates in ISO format (Bug#8440). - (eshell-ls-date-format): New defcustom. - (eshell-ls-file): Use it. - -2011-06-27 Stefan Monnier - - * help-fns.el (describe-variable): Fix message for terminal-local vars. - -2011-06-27 Katsumi Yamaoka - - * net/ange-ftp.el: Allow loading .gz files (Bug#6923). - (ange-ftp-make-tmp-name): New arg. - (ange-ftp-file-local-copy): Use it. - -2011-06-27 Jambunathan K - - * tar-mode.el (tar-untar-buffer): Set coding-system-for-write to - no-conversion (Bug#8870). - -2011-06-27 Martin Rudalics - - * window.el (window-right, window-left, window-child) - (window-child-count, window-last-child) - (window-iso-combination-p, walk-window-tree-1) - (window-atom-check-1, window-tree-1, delete-window) - (window-state-get-1, display-buffer-even-window-sizes): Adapt to - new naming conventions - window-vchild, window-hchild, - window-next and window-prev are now called window-top-child, - window-left-child, window-next-sibling and window-prev-sibling - respectively. - (resize-window-reset): Rename to window-resize-reset. - (resize-window-reset-1): Rename to window-resize-reset-1. - (resize-window): Rename to window-resize. - (window-min-height, window-min-width) - (resize-mini-window, resize-this-window, resize-root-window) - (resize-root-window-vertically, adjust-window-trailing-edge) - (enlarge-window, shrink-window, maximize-window) - (minimize-window, delete-window, quit-restore-window) - (split-window, balance-windows, balance-windows-area-adjust) - (balance-windows-area, window-state-put-2) - (display-buffer-even-window-sizes, display-buffer-set-height) - (display-buffer-set-width, set-window-text-height) - (fit-window-to-buffer): Rename all "resize-window" prefixed - calls to use the "window-resize" prefix convention. - (display-buffer-alist): Fix symbol for label specifier. - (display-buffer-reuse-window): Set reuse-dedicated to cdr of - corresponding specifier. - Reported by Juanma Barranquero . - -2011-06-27 Vincent Belaïche - - * ses.el (ses-destroy-cell-variable-range): Fix heading comment - convention. - (ses-call-printer): Does not pass an empty string to formatter when the - cell is empty to keep from barking printer Calc math-format-value. - -2011-06-27 Richard Stallman - - * battery.el (battery-mode-line-limit): New variable. - (battery-update): Handle it. - - * mail/rmailmm.el (rmail-mime-process-multipart): - Handle truncated messages. - -2011-06-27 Glenn Morris - - * progmodes/flymake.el (flymake-err-line-patterns): - Allow for column numbers in the ant/javac pattern. (Bug#8866) - -2011-06-27 Vincent Belaïche - - * ses.el (ses-relocate-range): Keep rest of arguments for ses-range. - (ses--clean-!, ses--clean-_): New functions. - (ses-range): Add configurability of readout order, and conversion - to Calc vector. - - * ses.el (ses-repair-cell-reference-all): New function. - (ses-cell-symbol): Set macro as safe, so that it can be used in - formulas. - - * ses.el: Update cycle detection algorithm. - (ses-localvars): Add ses--Dijkstra-attempt-nb and - ses--Dijkstra-weight-bound, and initial values thereof when applicable. - (ses-set-localvars): New function. - (ses-make-cell): Add property-list as a cell element. - (ses-cell-property-get-fun, ses-cell-property-get) - (ses-cell-property-delq-fun, ses-cell-property-set-fun) - (ses-cell-property-pop-fun, ses-cell-property-get-handle-fun): - New functions. - (ses-cell-property-set, ses-cell-property-pop) - (ses-cell-property-get-handle): New macro. - (ses-cell-property-handle-car, ses-cell-property-handle-setcar): - New aliases, used for code readability. - (ses-calculate-cell, ses-update-cells): Use Dijkstra algorithm for - cycle detection. - (ses-self-reference-early-detection): New defcustom. - (ses-formula-references): Robustify against self-referring cells. - (ses-mode): Use ses-set-localvars. - (ses-command-hook): Add call to ses-initialize-Dijkstra-attempt - before lauching the update processing. - (ses-initialize-Dijkstra-attempt): New function. - (ses-recalculate-cell): Update for cycle detection based on - Dijkstra algorithm. - - * ses.el: Fix commenting and indenting convention. - -2011-06-27 Stefan Monnier - - * bs.el (bs-cycle-next): Complete last change. - -2011-06-27 Drew Adams - - * faces.el (list-faces-display): Add help-mode-map to output (bug#8939). - -2011-06-27 Lars Magne Ingebrigtsen - - * net/network-stream.el (network-stream-open-starttls): - Don't re-get capabilities unless we've reestablished connection. - (network-stream-open-starttls): Fix stupid typo with gnutls-clii. - - * mail/smtpmail.el (smtpmail-via-smtp): Bind coding-system-for-* - to binary to possibly avoid line encoding issues on Windows (among - other things). - -2011-06-26 Lars Magne Ingebrigtsen - - * net/network-stream.el (open-network-stream): Return an :error - saying what the problem was, if possible. - - * mail/smtpmail.el (smtpmail-via-smtp): Report the error from the - server. - - * net/network-stream.el (network-stream-open-starttls): If we - wanted to use STARTTLS, and the server offered it, but we weren't - able to because we had no STARTTLS support, then close the connection. - (open-network-stream): Return an :error element, if present. - -2011-06-26 Chong Yidong - - * hl-line.el (hl-line-sticky-flag): Doc fix. - (global-hl-line-sticky-flag): New option (Bug#8323). - (global-hl-line-highlight): Obey it. - - * vc/vc.el (vc-revert-show-diff): Default to t. - -2011-06-26 Ken Manheimer - - * allout-widgets.el (allout-widgets-post-command-business): - Stop decorating intermediate isearch matches. They're not being - undecorated when an isearch is continued past, and isearch - automatically collapses them. This leads to "widget leaks", where - decorated items accumulate in collapsed areas. Lines with lots of - hidden widgets can slow down cursor travel, substantially. - Too much complicated machinery would be needed to ensure undecoration, - so we're doing without this nicety. - - (allout-widgets-tally-string): Don't try to do a hash-table-count - of allout-widgets-tally when it's nil. This eliminates spurious "Error - during redisplay: (wrong-type-argument hash-table-p nil)" warnings in - *Messages* when allout-widgets-maintain-tally is t. - -2011-06-26 Martin Rudalics - - * window.el (display-buffer-normalize-argument): Rename to - display-buffer-normalize-arguments. Handle special meaning of - LABEL argument. Respect special-display-function when popping up - a new frame. Fix code searching for a window showing the buffer - on another frame. - (display-buffer-normalize-specifiers): - Call display-buffer-normalize-arguments. - (display-buffer-in-window): Don't undedicate the window if its - buffer remains the same. - Reported by Drew Adams . - (display-buffer-alist): Add choice for same-window macro - specfier. - (display-buffer): Mention special meaning of LABEL argument in - doc-string. Fix quoting. Don't pop up a new frame even as - fallback. - -2011-06-26 Juanma Barranquero - - * bs.el (bs-cycle-next): Pass current buffer to `bury-buffer' to - avoid deleting the current window in some cases (bug#8911). - -2011-06-26 Andreas Schwab - - * emacs-lisp/smie.el (smie-bnf->prec2): Fix last change. - (Bug#8934) - -2011-06-26 Lars Magne Ingebrigtsen - - * net/network-stream.el (network-stream-open-starttls): - Use built-in TLS support if `gnutls-available-p' is true. - (network-stream-open-tls): Ditto. - -2011-06-26 Leo Liu - - * register.el (registerv): New struct. - (registerv-make): New function. - (jump-to-register, describe-register-1, insert-register): - Support the jump-func, print-func and insert-func slot of a registerv - struct. (Bug#8415) - -2011-06-26 Chong Yidong - - * vc/vc.el (vc-revert-show-diff): New defcustom. - (vc-diff-internal): New arg specifying diff buffer. - (vc-revert): Obey vc-revert-show-diff. If we show a diff, don't - reuse an existing *vc-diff* buffer (Bug#8927). - - * progmodes/cperl-mode.el (cperl-mode): Derive from prog-mode. - -2011-06-26 Glenn Morris - - * progmodes/f90.el (f90-critical-indent): New option. - (f90-font-lock-keywords-2, f90-blocks-re, f90-end-block-re) - (f90-start-block-re, f90-mode-abbrev-table): Add block, critical. - (f90-mode): Doc fix. - (f90-looking-at-critical, f90-looking-at-end-critical): New funcs. - (f90-no-block-limit, f90-calculate-indent, f90-end-of-block) - (f90-beginning-of-block, f90-next-block, f90-indent-region) - (f90-match-end): Handle block, critical. - -2011-06-25 Glenn Morris - - * calendar/diary-lib.el (diary-included-files): Doc fix. - (diary-include-files): New function, extracted from - diary-include-other-diary-files and diary-mark-included-diary-files. - (diary-include-other-diary-files, diary-mark-included-diary-files): - Just call diary-include-files. - (diary-mark-entries): Reset diary-included-files on first call. - - * calendar/diary-lib.el (diary-mark-entries) - (diary-mark-included-diary-files): - Visit included diary-files in temp buffers. - - * progmodes/f90.el (f90-keywords-re, f90-font-lock-keywords-1) - (f90-blocks-re, f90-program-block-re, f90-end-block-re) - (f90-start-block-re, f90-imenu-generic-expression) - (f90-looking-at-program-block-start, f90-no-block-limit): - Add support for submodules. - - * progmodes/f90.el (f90-keywords-re, f90-keywords-level-3-re) - (f90-procedures-re, f90-constants-re): Add some F2008 stuff. - -2011-06-25 Eli Zaretskii - - * net/ange-ftp.el (ange-ftp-insert-file-contents): Let-bind - buffer-file-type before setting its value, to avoid disastrous - global effects on decoding files for DOS/Windows systems. (Bug#8780) - -2011-06-25 Juanma Barranquero - - * allout.el (allout-unload-function): Pass -1 to `allout-mode'. - - * ses.el (ses-unload-function): - * emacs-lisp/re-builder.el (re-builder-unload-function): Simplify. - - * proced.el (proced-unload-function): - * progmodes/cperl-mode.el (cperl-mode-unload-function): Remove. - -2011-06-25 Andreas Rottmann - - * server.el (server-create-window-system-frame): Add parameters arg. - (server-process-filter): Doc fix. Handle frame-parameters. - -2011-06-25 Juanma Barranquero - - Fix bug#8730, bug#8781. - - * loadhist.el (unload--set-major-mode): New function. - (unload-feature): Use it. - - * progmodes/python.el (python-after-info-look): Add autoload cookie. - (python-unload-function): New function. - -2011-06-25 Stefan Monnier - - * mail/rmail.el (rmail-show-message-1): Use restore-buffer-modified-p. - -2011-06-25 Giuseppe Scrivano - - * net/browse-url.el (browse-url-firefox-program): Add icecat to - the candidates list. - -2011-06-24 Juanma Barranquero - - * progmodes/verilog-mode.el (verilog-mode): Fix test for bound variable. - -2011-06-23 Richard Stallman - - * mail/rmail.el: Going to grep hit in Rmail buffer finds the message. - (rmail-variables): Set next-error-move-function. - (rmail-what-message): Take argument POS. - (rmail-next-error-move): New function. - -2011-06-23 Stefan Monnier - - * emacs-lisp/smie.el (smie-bnf->prec2): Give more understandable error - messages for adjacent non-terminals. - -2011-06-23 Richard Stallman - - * mail/rmail.el (rmail-retry-ignored-headers): Add message-id. - (rmail-show-message-1): Preserve buffer modified flag. - (rmail-start-mail): Don't specify use of rmail-mail-return; - that's done by mail-bury now. - (rmail-mail-return): Handle arg NEWBUF. - -2011-06-23 Michael Albinus - - * net/tramp-sh.el (tramp-method-out-of-band-p): Check, whether - SIZE is a number. - -2011-06-23 Martin Rudalics - - * window.el (get-lru-window, get-mru-window) - (get-largest-window): Never return a minibuffer window. - (display-buffer-pop-up-window): Fix a bug that could lead to - reusing the minibuffer window. - (display-buffer): Pass original specifier argument to - display-buffer-function instead of the normalized one. - Reported by Thierry Volpiatto . - -2011-06-22 Leo Liu - - * minibuffer.el (completing-read-function) - (completing-read-default): Move from minibuf.c. - -2011-06-22 Richard Stallman - - * mail/sendmail.el (mail-bury): If Rmail is in use, return nicely - to Rmail even if not started by a special Rmail command. - - * mail/rmailmm.el (rmail-insert-mime-forwarded-message): - Copy the buffer currently showing just one message. - -2011-06-22 Roland Winkler - - * textmodes/bibtex.el (bibtex-entry-update): Use mapc. - (bibtex-clean-entry): First delete the old key so that a - customized algorithm for generating the new key does not get - confused by the old key. - (bibtex-url): Obey regexp of first step. - (bibtex-search-entries): Do not use add-to-list with local - list-var. - -2011-06-22 Lars Magne Ingebrigtsen - - * mail/smtpmail.el (smtpmail-try-auth-methods): If the user has - stored a user name, then query for the password first, instead of - waiting for SMTP to give an error message and the trying again. - -2011-06-22 Lawrence Mitchell - - * net/browse-url.el (browse-url-xdg-open): Use 0, rather than nil - BUFFER in call-process. - -2011-06-22 Lars Magne Ingebrigtsen - - * mail/smtpmail.el (smtpmail-via-smtp): Make sure we don't send - QUIT twice. - (smtpmail-try-auth-methods): Require user name and password from - auth-source. - -2011-06-22 Martin Rudalics - - * window.el (display-buffer-default-specifiers) - (display-buffer-alist): Remove entries for pop-up-frame-alist. - Suggested by Katsumi Yamaoka . - (split-window): Normalize SIDE argument (Bug#8916). - - * frame.el (pop-up-frame-alist, pop-up-frame-function) - (special-display-frame-alist, special-display-popup-frame): - Remove duplicate declarations. These are now in window.el. - -2011-06-21 Lars Magne Ingebrigtsen - - * mail/smtpmail.el (smtpmail-via-smtp): - Set :use-starttls-if-possible so that we always use STARTTLS if the - server supports it. SMTP servers that support STARTTLS commonly - require it. - - * net/network-stream.el (network-stream-open-starttls): Support - upgrading to STARTTLS always, even if we don't have built-in support. - (open-network-stream): Add the :always-query-capabilities keyword. - - * mail/smtpmail.el: Rewritten to do opportunistic STARTTLS - upgrades with `open-network-stream', and rely solely on - auth-source for all credentials. Big changes throughout the file, - but in particular: - (smtpmail-auth-credentials): Remove. - (smtpmail-starttls-credentials): Remove. - (smtpmail-via-smtp): Check for servers saying they want AUTH after - MAIL FROM, too. - - * net/network-stream.el (network-stream-open-starttls): - Provide support for client certificates both for external and built-in - STARTTLS. - (auth-source): Require. - (open-network-stream): Document the :client-certificate keyword. - (network-stream-certificate): Change cert-cert to cert and - cert-key to key. - -2011-06-21 Michael Albinus - - * net/tramp-cache.el (top): Don't load the persistency file when - "emacs -Q" has been called. - -2011-06-21 Tim Harper - - * term/ns-win.el (ns-initialize-window-system): - Set application-specific `ApplePressAndHoldEnabled' system - resource to NO as it is not yet supported by the NS port. - -2011-06-21 Juanma Barranquero - - * misc.el (list-dynamic-libraries--refresh): Compute header here... - (list-dynamic-libraries): ...not here. - -2011-06-21 Leo Liu - - * subr.el (sha1): Implement sha1 using secure-hash. - -2011-06-21 Martin Rudalics - - * window.el (display-buffer-alist): In default value do not - enforce searching a window on any but the selected frame. - Reported by Katsumi Yamaoka . - (display-buffer-select-window): Remove function. - (display-buffer-in-window): When a window on another frame gets - reused, do not select it any more but just raise its frame if - necessary (Bug#8851) and (Bug#8856). - (display-buffer-normalize-options): Handle pop-up-frames related - options more faithfully. - (pop-to-buffer): Don't rely on `display-buffer' selecting the - window if it is on another frame. - (display-buffer-alist, display-buffer-default-specifiers): - Don't make new frame unsplittable by default. - (display-buffer-normalize-argument): Fix doc-string typo and use - 'same-frame-other-window instead of 'other-window when associating - with display-buffer-macro-specifiers. - -2011-06-21 Vincent Belaïche - - * play/5x5.el (5x5-solve-rotate-left, 5x5-solve-rotate-right): - New functions. - (5x5-mode-map, 5x5-mode-menu): Bind them. - (5x5-draw-grid): Tweak the solver's rendering. - -2011-06-21 Stefan Monnier - - * progmodes/compile.el (compilation-error-regexp-alist-alist): Rename - `caml' to `python-tracebacks-and-caml'; allow leading tabs (bug#8585). - -2011-06-21 Drew Adams - - * menu-bar.el: Use function variable instead of switch-to-buffer. - (menu-bar-select-buffer-function): New variable. - (menu-bar-update-buffers): Use it (bug#8876). - -2011-06-21 Stefan Monnier - - * emacs-lisp/bytecomp.el (add-to-list): Add handler to check the - variable's status. - -2011-06-20 Jan Djärv - - * x-dnd.el (x-dnd-version-from-flags) - (x-dnd-more-than-3-from-flags): New functions that handle long-as-cons - and long as number (Bug#8899). - (x-dnd-handle-xdnd): Call functions above (Bug#8899). - -2011-06-20 Stefan Monnier - - * minibuffer.el (completion-metadata): Add `metadata' to the alist. - (completion-try-completion, completion-all-completions): Compute the - metadata argument if it's missing; make it optional (bug#8795). - - * wid-edit.el: Use lex-bind and move towards completion-at-point. - (widget-complete): Use new :completion-function property. - (widget-completions-at-point): New function. - (default): Use :completion-function instead of :complete. - (widget-default-completions): Rename from widget-default-complete; - Rewrite. - (widget-string-complete, widget-file-complete, widget-color-complete): - Remove functions. - (file, symbol, function, variable, coding-system, color): - * international/mule-cmds.el (default-input-method, charset) - (language-info-custom-alist): - * cus-edit.el (face): Use new property :completions. - - * progmodes/pascal.el (pascal-completions-at-point): New function. - (pascal-mode): Use it. - (pascal-mode-map): Use completion-at-point. - (pascal-toggle-completions): Make obsolete. - (pascal-complete-word, pascal-show-completions): - * progmodes/octave-mod.el (octave-complete-symbol): - Redefine as obsolete alias. - * progmodes/octave-inf.el (inferior-octave-completion-at-point): - Signal absence of completion info for old Octave, - (inferior-octave-complete): Redefine as obsolete alias. - * progmodes/meta-mode.el: Use lexical-binding and completion-at-point. - (meta-completions-at-point): Rename from meta-complete-symbol and - adapt it for use on completion-at-point-functions. - (meta-common-mode): Use it. - (meta-looking-at-backward, meta-match-buffer): Remove. - (meta-complete-symbol): Redefine as obsolete alias. - (meta-common-mode-map): Use completion-at-point. - * progmodes/make-mode.el: Use lexical-binding and completion-at-point. - (makefile-mode-map): Use completion-at-point. - (makefile-completions-at-point): Rename from makefile-complete and - adapt it for use on completion-at-point-functions. - (makefile-mode): Use it. - (makefile-complete): Redefine as obsolete alias. - -2011-06-20 Deniz Dogan - - * net/rcirc.el: Delete trailing whitespaces once and for all. - -2011-06-20 Daniel Colascione - - * emacs-lisp/syntax.el (syntax-ppss): Further improve docstring. - -2011-06-19 Chong Yidong - - * files.el (auto-mode-alist): Entry for m2-mode (Bug#8852). - - * info.el (Info-apropos-toc-nodes): Minor doc fix (Bug#8833). - -2011-06-19 Martin Rudalics - - * window.el (display-buffer-other-window-means-other-frame): - Call display-buffer-normalize-alist. - (display-buffer-normalize-specifiers-1): Rename to - display-buffer-normalize-argument. New argument other-frame. - Rewrite. - (display-buffer-normalize-specifiers-2): Rename to - display-buffer-normalize-options. - (display-buffer-normalize-alist-1): New function. - (display-buffer-normalize-specifiers-3): Rename to - display-buffer-normalize-alist. - Call display-buffer-normalize-alist-1. - (display-buffer-normalize-options-inhibit): New variable. - (display-buffer-normalize-specifiers): Rewrite calling - display-buffer-normalize-alist, - display-buffer-normalize-argument, and - display-buffer-normalize-options. Don't call the latter if - display-buffer-normalize-options-inhibit is non-nil. - (frame-auto-delete): New option. - (window-deletable-p): Use frame-auto-delete. - (window-list-no-nils, window-state-ignored-parameters) - (window-state-get-1, window-state-get, window-state-put-list) - (window-state-put-1, window-state-put-2, window-state-put): - New functions. - (display-buffer-normalize-options): Move special-display-p group - after pop-up-frame group (Bug#8851) and (Bug#8856). - -2011-06-18 Chong Yidong - - * emacs-lisp/rx.el (rx-constituents): Add support for numbered - groups (Bug#8776). - (rx-submatch-n): New function. - (rx): Document it. - - * dired-x.el (dired-mark-unmarked-files): Fix interactive spec - (Bug#8768). - - * replace.el (occur-mode-map): Set occur-edit-mode binding to "e". - - * textmodes/fill.el (default-justification): Add :safe (Bug#8879). - - * cus-face.el (custom-declare-face): Call custom-theme-recalc face - anytime existing face settings are present (Bug#8889). - - * progmodes/delphi.el (delphi-mode-syntax-table): Use defvar. - (delphi-mode): Use define-derived-mode to inherit from prog-mode. - Remove unused argument. - -2011-06-18 Martin Rudalics - - * window.el (display-buffer-default-specifiers): - Remove pop-up-frame. Add pop-up-window-min-height, - pop-up-window-min-width, and another reuse-window specifier - (Bug#8882). Reported by Dan Nicolaescu . - (display-buffer-normalize-specifiers-2): - Handle split-height-threshold and split-width-threshold also when - pop-up-windows is unset. Add a reuse-window specifier for the - case popping up a new window fails. - (special-display-popup-frame): Remove double quoting. - (display-buffer-normalize-specifiers-1): Fix thinko. - -2011-06-17 Stefan Monnier - - * shell.el (shell-completion-vars): Set pcomplete-termination-string - according to comint-completion-addsuffix. - - * pcomplete.el: Convert to lexical binding and fix bug#8819. - (pcomplete-suffix-list): Mark as obsolete. - (pcomplete-completions-at-point): Capture pcomplete-norm-func and - pcomplete-seen in the closure. - (pcomplete-comint-setup): Setup completion-at-point as well. - (pcomplete--entries): New function. - (pcomplete--env-regexp): New var. - (pcomplete-entries): Rewrite to work with partial-completion and - without relying on pcomplete-suffix-list. - (pcomplete-pare-list): Remove, unused. - -2011-06-17 Martin Rudalics - - * window.el (display-buffer-alist): Set pop-up-window-min-height - and pop-up-window-min-width in default value. Reported by - Thierry Volpiatto . New specifier - other-window-means-other-frame. - (display-buffer-macro-specifiers): Comment out entry for - other-window specifier. - (display-buffer-other-window-means-other-frame): New function. - (display-buffer-normalize-specifiers-1): New arguments - buffer-name and label. Treat other-window case specially. - (display-buffer-normalize-specifiers-2): Treat other-window case - specially. - (display-buffer-normalize-specifiers-3): New function. - (display-buffer-normalize-specifiers): - Call display-buffer-normalize-specifiers-3. - -2011-06-17 Martin Rudalics - - * window.el (same-window-p): Fix two typos introduced when - adding with-no-warnings. - (display-buffer-normalize-specifiers-1): Don't check - pop-up-frames for 'unset initialization. - (display-buffer-normalize-specifiers-2): Major rewrite using - special-display-p and same-window-p (Bug#8851) and (Bug#8856). - (pop-up-frames, display-buffer-reuse-frames) - (display-buffer-mark-dedicated): Don't initialize to 'unset. - Suggested by David Engster . - (even-window-heights): Initialize to 'unset. - (display-buffer-alist-set): Handle new 'unset initializations. - (display-buffer-macro-specifiers): Don't pop up a new frame in the - other window case. - -2011-06-16 Martin Rudalics - - * window.el (display-buffer-normalize-specifiers-1): - Respect current value of pop-up-frames for most reasonable values of - second argument of display-buffer (Bug#8865). - (switch-to-buffer-same-frame, switch-to-buffer-other-window) - (switch-to-buffer-other-window-same-frame) - (switch-to-buffer-other-frame): Fix doc-strings. Reported by Drew - Adams (Bug#8875). - (display-buffer): Don't check noninteractive when calling - display-buffer-pop-up-frame. - (display-buffer-pop-up-frame): Never pop up a frame in - noninteractive mode (Bug#8857). - (enlarge-window, shrink-window): Don't report an error when the - window can't be resized as requested (Bug#8862). - -2011-06-15 Stefan Monnier - - * pcmpl-rpm.el (pcomplete/rpm): Minor simplification. - - * emacs-lisp/debug.el (debug): Don't leave the buffer in Debugger. - - * abbrev.el (define-abbrev-table): Don't add a table multiple times. - -2011-06-15 Alan Mackenzie - - * progmodes/cc-fonts.el (c-font-lock-declarations): 1: Whilst checking - for declarators, disable knr checking to speed up for normal files. - 2: Refactor, replacing a sequence of nested if forms by a cond form. - -2011-06-15 Lars Magne Ingebrigtsen - - * net/network-stream.el (open-network-stream): Add the keyword - :always-query-capabilities for the case where you want to force a - `plain' network connection, but the protocol still requires the - capabilitiy command (i.e., SMTP and EHLO). - - * subr.el (process-live-p): Rename from `process-alive-p' for - consistency with other `-live-p' functions. - -2011-06-15 Stefan Monnier - - * window.el (same-window-buffer-names, same-window-regexps) - (special-display-frame-alist, special-display-popup-frame) - (special-display-function, special-display-buffer-names) - (special-display-regexps, pop-up-frame-alist) - (pop-up-frame-function, pop-up-frames, display-buffer-reuse-frames) - (pop-up-windows, split-window-preferred-function) - (split-height-threshold, split-width-threshold, even-window-heights) - (display-buffer-mark-dedicated): Don't encourage the use of - display-buffer-alist from Elisp code. - -2011-06-15 Dan Nicolaescu - - * progmodes/python.el (python-mode): Derive from prog-mode. - * progmodes/ps-mode.el (ps-mode): - * progmodes/mixal-mode.el (mixal-mode): - * progmodes/cfengine.el (cfengine-mode): - * progmodes/ld-script.el (ld-script-mode): Likewise. - -2011-06-15 Martin Rudalics - - * window.el (display-buffer-alist): Trim default value to avoid - popping up a new frame (Bug#8857) or reusing an arbitrary window - on another frame. - (display-buffer): Do not fall back on popping up a new frame in - batch mode (Bug#8857). - -2011-06-14 Chong Yidong - - * cus-theme.el (describe-theme-1): Use custom-theme-p. - (custom-theme-summary): New function. - (customize-themes): Use it. - -2011-06-13 Glenn Morris - - * cus-dep.el (custom-make-dependencies): Use up command-line-args-left. - -2011-06-13 Martin Rudalics - - * help.el (help-window): Remove variable. - (help-window-point-marker, temp-buffer-max-height) - (temp-buffer-resize-mode, help-window-select): Rewrite doc-strings. - (help-print-return-message): Don't set help-window. - (resize-temp-buffer-window): Rewrite cod eand doc-string. - (help-window-setup-finish): Remove. - (help-window-display-message, help-window-setup) - (with-help-window): Major rewrite based on new - display-buffer-window variable. - - * help-mode.el (help-mode-finish): Remove help-window related - code. - - * view.el (view-exits-all-viewing-windows): Remove reference to - view-return-to-alist in doc-string. - (view-return-to-alist): Make obsolete. - (view-buffer): Call pop-to-buffer-same-window and remove - undo-window code. - (view-buffer-other-window): Call pop-to-buffer-other-window and - simplify code. Ignore second argument. - (view-buffer-other-frame): Call pop-to-buffer-other-frame and - simplify code. Ignore second argument. - (view-return-to-alist-update): Make obsolete. - (view-mode-enter): Rename second argument to QUIT-RESTORE. - Rewrite using quit-restore window parameters. - (view-mode-exit): Rename second argument to EXIT-ONLY. - Rewrite using quit-restore-window. - (View-exit, View-exit-and-edit, View-leave, View-quit) - (View-quit-all, View-kill-and-leave): Call view-mode-exit with - appropriate arguments. - (view-end-message): Use quit-restore window parameter. - - * window.el (display-buffer-function): Rewrite doc-string. - (display-buffer-window, display-buffer-alist): New variables. - (display-buffer-split-specifiers) - (display-buffer-side-specifiers) - (display-buffer-macro-specifiers): New constants. - (display-buffer-even-window-sizes, display-buffer-set-height) - (display-buffer-set-width, display-buffer-select-window) - (display-buffer-in-window, display-buffer-reuse-window) - (display-buffer-split-window-1, display-buffer-split-window) - (display-buffer-split-atom-window, display-buffer-pop-up-window) - (display-buffer-pop-up-frame, display-buffer-pop-up-side-window) - (display-buffer-in-side-window, normalize-buffer-to-display) - (display-buffer-normalize-specifiers-1) - (display-buffer-normalize-specifiers-2) - (display-buffer-normalize-specifiers, display-buffer-frame): - New functions. - (display-buffer): Major rewrite. - (display-buffer-other-window, display-buffer-other-frame) - (pop-to-buffer, switch-to-buffer-other-window) - (switch-to-buffer-other-frame): Rewrite. - (display-buffer-same-window, display-buffer-same-frame) - (display-buffer-same-frame-other-window) - (pop-to-buffer-same-window, pop-to-buffer-same-frame) - (pop-to-buffer-other-window) - (pop-to-buffer-same-frame-other-window) - (pop-to-buffer-other-frame, switch-to-buffer-same-frame) - (switch-to-buffer-other-window-same-frame): New functions. - (same-window-p, special-display-p): Rewrite disabling warnings. - Make obsolete. - (pop-up-frames, display-buffer-reuse-frames, pop-up-windows) - (display-buffer-mark-dedicated): Initialize to symbol 'unset. - Make obsolete - (same-window-buffer-names, same-window-regexps) - (special-display-frame-alist, special-display-popup-frame) - (special-display-function, special-display-buffer-names) - (special-display-regexps, pop-up-frame-alist) - (pop-up-frame-function, split-window-preferred-function) - (split-height-threshold, split-width-threshold) - (even-window-heights): Make obsolete. - -2011-06-12 Glenn Morris - - * term/xterm.el (terminal-init-xterm): `version' may be nil. (Bug#8838) - Misc simplifications. - -2011-06-12 Martin Rudalics - - * window.el (window-safely-shrinkable-p): Restore function which - was inadvertently removed in change from 2011-06-11. Declare as - obsolete. - - * calendar/calendar.el (calendar-generate-window): - Use window-iso-combined-p instead of combination of one-window-p and - window-safely-shrinkable-p. - -2011-06-12 Glenn Morris - - * progmodes/fortran.el (fortran-mode-syntax-table): - * progmodes/f90.el (f90-mode-syntax-table): - Set % to punctuation. (Bug#8820) - (f90-find-tag-default): Remove, no longer needed. - -2011-06-12 Daniel Colascione - - * emacs-lisp/syntax.el (syntax-ppss): Clarify which items are invalid. - -2011-06-11 Chong Yidong - - * image.el (image-animated-p): Return animation delay in seconds. - Avoid bit manipulation in Lisp; use `delay' entry in the metadata. - (image-animate-timeout): Remove DELAY argument. Don't assume - every subimage has the same delay; get it from image-animated-p. - (image-animate): Caller changed. - -2011-06-11 Michael Albinus - - * net/tramp.el (tramp-debug-message): Add `tramp-with-progress-reporter' - to ignored backtrace functions. - -2011-06-11 Glenn Morris - - * calendar/appt.el (appt-disp-window-function): Doc fix. - (appt-check): Handle overlapping appointments. (Bug#8337) - -2011-06-11 Martin Rudalics - - * window.el (window-tree-1, window-tree): New functions, moving - the latter to window.el. - (bw-get-tree, bw-get-tree-1, bw-find-tree-sub) - (bw-find-tree-sub-1, bw-l, bw-t, bw-r, bw-b, bw-dir, bw-eqdir) - (bw-refresh-edges): Remove. - (balance-windows-1, balance-windows-2): New functions. - (balance-windows): Rewrite in terms of window tree functions, - balance-windows-1 and balance-windows-2. - (bw-adjust-window): Remove. - (balance-windows-area-adjust): New function with functionality of - bw-adjust-window but using resize-window. - (set-window-text-height): Rewrite doc-string. - Use normalize-live-window and resize-window. - (enlarge-window-horizontally, shrink-window-horizontally): - Rename argument to DELTA. - (window-buffer-height): New function. - (fit-window-to-buffer, shrink-window-if-larger-than-buffer): - Rewrite using new window resize routines. - (kill-buffer-and-window, mouse-autoselect-window-select): - Use ignore-errors instead of condition-case. - (quit-window): Call delete-frame instead of delete-windows-on - for the only buffer on frame. - -2011-06-10 Martin Rudalics - - * loadup.el (top-level): Load window before files for the sake - of replace-buffer-in-windows. - - * files.el (read-buffer-to-switch) - (switch-to-buffer-other-window) - (switch-to-buffer-other-frame, display-buffer-other-frame): - Move to window.el. - - * simple.el (get-next-valid-buffer, last-buffer, next-buffer) - (previous-buffer): Move to window.el. - - * bindings.el (unbury-buffer): Move to window.el. - - * window.el (delete-other-windows-vertically): Move after - definition of delete-other-windows. - (other-window, delete-windows-on, replace-buffer-in-windows): - Move here from window.c. - (record-window-buffer, unrecord-window-buffer) - (set-window-buffer-start-and-point, switch-to-prev-buffer) - (switch-to-next-buffer): New functions. - (get-next-valid-buffer, last-buffer, next-buffer): Move here - from simple.el. Call switch-to-next-buffer. - (previous-buffer): Move here from simple.el. - Call switch-to-prev-buffer. - (bury-buffer): Move here from buffer.c. Switch to previous - buffer when window cannot be deleted. - (unbury-buffer): Move here from bindings.el. - (ctl-x-map): Move binding for other-window from window.c to - here. - (read-buffer-to-switch, switch-to-buffer-other-window) - (switch-to-buffer-other-frame): Move here from files.el. - (normalize-buffer-to-switch-to): New functions. - (switch-to-buffer): Move here from buffer.c. - Use read-buffer-to-switch and normalize-buffer-to-switch-to. - -2011-06-10 Martin Rudalics - - * window.el (window-min-height, window-min-width): Move here - from window.c. Add defcustoms and rewrite doc-strings. - (resize-mini-window, resize-window): New functions. - (adjust-window-trailing-edge, enlarge-window, shrink-window): - Move here from window.c. - (maximize-window, minimize-window): New functions. - (delete-window, delete-other-windows, split-window): Move here - from window.c. - (window-split-min-size): New function. - (split-window-keep-point): Mention split-window-above-each-other - instead of split-window-vertically. - (split-window-above-each-other, split-window-vertically): - Rename split-window-vertically to split-window-above-each-other - and provide defalias for old definition. - (split-window-side-by-side, split-window-horizontally): - Rename split-window-horizontally to split-window-side-by-side - and provide defalias for the old definition. - (ctl-x-map): Move bindings for delete-window, - delete-other-windows and enlarge-window here from window.c. - Replace bindings for split-window-vertically and - split-window-horizontally by bindings for - split-window-above-each-other and split-window-side-by-side. - - * cus-start.el (all): Remove entries for window-min-height and - window-min-width. Add entries for window-splits and - window-nest. - -2011-06-09 Glenn Morris - - * calendar/appt.el (appt-mode-line): New function. - (appt-check, appt-disp-window): Use it. - - * files.el (hack-one-local-variable-eval-safep): - Allow minor-modes with explicit +/-1 arguments. - -2011-06-09 Teodor Zlatanov - - * term/xterm.el (xterm): Add defgroup. - (xterm-extra-capabilities): Add defcustom to supply known xterm - capabilities, skip querying them, or query them (default). - (terminal-init-xterm): Use it. - (terminal-init-xterm-modify-other-keys): New function to set up - modifyOtherKeys support to simplify `terminal-init-xterm'. - -2011-06-09 Martin Rudalics - - * window.el (resize-window-reset, resize-window-reset-1) - (resize-subwindows-skip-p, resize-subwindows-normal) - (resize-subwindows, resize-other-windows, resize-this-window) - (resize-root-window, resize-root-window-vertically) - (window-deletable-p, window-or-subwindow-p) - (frame-root-window-p): New functions. - -2011-06-09 Glenn Morris - - * net/ange-ftp.el (ange-ftp-switches-ok): New function. - (ange-ftp-get-files): Use it. - -2011-06-09 Alexander Klimov (tiny change) - - * mail/sendmail.el (mail-recover-1, mail-recover): - * files.el (recover-file, recover-session): - Handle dired-listing-switches not being just a single short option. - -2011-06-09 Glenn Morris - - * calendar/appt.el (appt-display-message, appt-disp-window): - Handle lists of appointments. - -2011-06-08 Martin Rudalics - - * window.el (one-window-p): Move down in code. - Rewrite doc-string. - (window-current-scroll-bars): Rewrite doc-string. - Normalize live window argument. - (walk-windows, get-window-with-predicate, count-windows): - Rewrite doc-string. Use window-list-1. - (window-in-direction-2, window-in-direction, get-mru-window): - New functions. - -2011-06-08 Reuben Thomas - - * progmodes/flymake.el (flymake-compilation-prevents-syntax-check): - Doc fix (Bug#8713). - -2011-06-08 Chong Yidong - - * repeat.el (repeat-on-final-keystroke): Fix type (Bug#8696). - -2011-06-08 Juanma Barranquero - - * loadhist.el (unload-feature-special-hooks): - Add `comint-output-filter-functions'. - -2011-06-08 Ivan Kanis - - * calendar/appt.el (appt-check): Move some initializations into the let. - -2011-06-08 Martin Rudalics - - * window.el (window-height): Defalias to window-total-height. - (window-width): Defalias to window-body-width. - -2011-06-07 Chong Yidong - - * image-mode.el (image-toggle-animation): New command. - (image-mode-map): Bind it to RET. - (image-mode): Update message. - (image-toggle-display-image): Avoid a spurious cache flush. - (image-transform-rotation): Doc fix. - (image-transform-properties): Return quickly in the normal case. - (image-animate-loop): Rename from image-animate-max-time. - - * image.el (image-animate-max-time): Move to image-mode.el. - (create-animated-image): Remove unnecessary function. - (image-animate): Rename from image-animate-start. New arg. - (image-animate-stop): Remove; just use image-animate-timer. - (image-animate-timer): Use car-safe. - (image-animate-timeout): Rename argument. - -2011-06-07 Martin Rudalics - - * window.el (get-lru-window, get-largest-window): Move here from - window.c. Rename first argument to ALL-FRAMES. - Rephrase doc-strings. - (get-buffer-window-list): Rewrite using window-list-1. - Rephrase doc-string. - (window-safe-min-height, window-safe-min-width): New constants. - (window-size-ignore, window-min-size, window-min-size-1) - (window-sizable, window-sizable-p, window-size-fixed-1) - (window-size-fixed-p, window-min-delta-1, window-min-delta) - (window-max-delta-1, window-max-delta, window-resizable) - (window-resizable-p, window-total-height, window-total-width) - (window-body-width): New functions. - (window-full-height-p, window-full-width-p): Rewrite using - window-total-size. - (window-body-height): Rewrite using window-body-size. - -2011-06-06 Martin Rudalics - - * window.el (window-right, window-left, window-child) - (window-child-count, window-last-child, window-any-p) - (normalize-live-buffer, normalize-live-frame) - (normalize-any-window, normalize-live-window) - (window-iso-combination-p, window-iso-combined-p) - (window-iso-combinations) - (walk-window-tree-1, walk-window-tree, walk-window-subtree) - (windows-with-parameter, window-with-parameter) - (window-atom-root, make-window-atom, window-atom-check-1) - (window-atom-check, window-side-check, window-check): - New functions. - (ignore-window-parameters, window-sides, window-sides-vertical) - (window-sides-slots): New variables. - (window-size-fixed): Move down in code. Minor doc-string fix. - -2011-06-05 Andreas Schwab - - * comint.el (comint-dynamic-complete-as-filename) - (comint-dynamic-complete-filename): Correctly call - completion-in-region. - -2011-06-05 Deniz Dogan - - * net/rcirc.el (rcirc-prompt-for-encryption): Fix bug introduced - in last change. - -2011-06-05 Deniz Dogan - - * net/rcirc.el (rcirc-prompt-for-encryption): New function. - (rcirc): Use it to prompt for encryption. - -2011-06-05 Roland Winkler - - * textmodes/bibtex.el (bibtex-search-buffer): New variable. - (bibtex-search-entries): New command bound to C-c C-a. - (bibtex-display-entries): New function. - -2011-06-05 Roland Winkler - - * textmodes/bibtex.el (bibtex-generate-url-list): Fix docstring. - (bibtex-insert-kill): After yanking insert newline if necessary. - (bibtex-initialize): Call bibtex-string-files-init only once. - (bibtex-mode): Do not call easy-menu-add. - (bibtex-validate-globally): Use save-excursion in bibtex buffers. - (bibtex-yank): Set arg properly if nil. - -2011-06-05 Roland Winkler - - * textmodes/bibtex.el (bibtex-search-entry-globally): - New variable. - (bibtex-search-entry): Use it. - -2011-06-05 Roland Winkler - - * textmodes/bibtex.el (bibtex-entry-format): New option - sort-fields. - (bibtex-format-entry, bibtex-reformat): Honor this option. - (bibtex-parse-entry): Return fields in proper order. - -2011-06-05 Juanma Barranquero - - * doc-view.el (doc-view-remove-if): Move computation of result out - of `dolist' to silence misleading lexical-binding warning. - -2011-06-04 Chong Yidong - - * emacs-lisp/timer.el (timer-activate): Remove unused arg. - (timer-activate, timer-activate-when-idle): Doc fix (Bug#8793). - -2011-06-04 Michael Albinus - - * net/tramp-sh.el (tramp-find-shell): Apply workaround also for - "SunOS 5.10". - -2011-06-04 Michael Albinus - - * net/tramp.el (tramp-set-completion-function, tramp-parse-rhosts) - (tramp-parse-shosts, tramp-parse-sconfig, tramp-parse-shostkeys) - (tramp-parse-hosts, tramp-parse-passwd, tramp-parse-netrc) - (tramp-parse-putty): - * net/tramp-sh.el (tramp-completion-function-alist-rsh) - (tramp-completion-function-alist-ssh) - (tramp-completion-function-alist-telnet) - (tramp-completion-function-alist-su) - (tramp-completion-function-alist-putty): Set `tramp-autoload' - cookie. - - * net/tramp-ftp.el: - * net/tramp-sh.el: - * net/tramp-smb.el: Set `tramp-autoload' cookie, and eval after - load "tramp.el" `tramp-set-completion-function'. - -2011-06-04 Stefan Monnier - - * shell.el: Require and use pcomplete. - (shell-dynamic-complete-functions): Add pcomplete-completions-at-point. - (shell-completion-vars): Set pcomplete-default-completion-function. - -2011-06-04 Deniz Dogan - - * iswitchb.el (iswitchb-window-buffer-p): Use `member' instead of - `memq' (Bug#8799). - -2011-06-02 Stefan Monnier - - * subr.el (make-progress-reporter): Add "..." by default (bug#8785). - -2011-06-02 Juanma Barranquero - - * bs.el (bs--mark-unmark, bs--nth-wrapper): - * mpc.el (mpc-select-extend, mpc-songpointer-context): - * vc/log-view.el (log-view-beginning-of-defun): - * vc/smerge-mode.el (smerge-apply-resolution-patch) - (smerge-refine-forward, smerge-refine-chopup-region): - Silence warning for unused `dotimes' counter variables. - -2011-06-02 Stefan Monnier - - * net/tramp.el (tramp-with-progress-reporter): Rename from - with-progress-reporter. Use `declare'. - * net/tramp-smb.el: - * net/tramp-sh.el: - * net/tramp-gvfs.el: Update all uses. - -2011-06-02 Jay Belanger - - * calc/calc.el (calc-kill-stack-buffer): Make sure that the trail - buffer isn't killed before making it current. - -2011-06-01 Stefan Monnier - - Silence various byte-compiler warnings. - * emacs-lisp/byte-run.el (make-obsolete-variable): New argument - `access-type' and new obsolescence format. - * emacs-lisp/bytecomp.el (byte-compile-warn-obsolete): Adjust to - new format. - (byte-compile-check-variable): New `access-type' argument. - Only warn if the access-type is obsolete. - (byte-compile-dynamic-variable-bind, byte-compile-variable-ref) - (byte-compile-variable-set): Adjust callers. - * help-fns.el (describe-variable): Adjust to new obsolescence format. - * mail/sendmail.el (mail-mailer-swallows-blank-line): Only mark - setting it as obsolete. - * simple.el (minibuffer-completing-symbol): - * font-lock.el (font-lock-beginning-of-syntax-function): Only mark read - access as obsolete. - * minibuffer.el (minibuffer-completing-file-name): Don't make it - obsolete yet. - * international/quail.el (quail-mouse-choose-completion): Remove unused - code referring to obsolete var. - (quail-choose-completion-string): Remove. - * server.el (server-clients-with, server-kill-buffer-query-function) - (server-kill-emacs-query-function): Silence "unused `proc'" warnings. - * proced.el (proced-send-signal): - * emacs-lisp/lisp.el (lisp-complete-symbol): - Replace completion-annotate-function with completion-extra-properties. - -2011-06-01 Stefan Monnier - - * simple.el (goto-line): Use read-number. - (overriding-map-is-bound): Remove. - (saved-overriding-map): Change default. - (save&set-overriding-map): Rename from ensure-overriding-map-is-bound; - Take the map as argument. - (universal-argument, negative-argument, digit-argument): Use it. - (restore-overriding-map): Adjust. - (do-auto-fill): Use fill-forward-paragraph. - (keyboard-quit): Don't signal an error when debug-on-quit is non-nil. - - * minibuffer.el (minibuffer-inactive-mode-map): New var. - (minibuffer-inactive-mode): New major mode. - * mouse.el (mouse-drag-region): Remove the "mouse-1 pops up - the *Messages* buffer" hack. - (mouse-popup-menubar): Don't burp if the event is a normal key. - - Miscellaneous tweaks. - * emacs-lisp/cl-macs.el (dolist, dotimes): Use the same strategy for - lexical scoping as in subr.el's dolist and dotimes. - * emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): - Silence compiler warning. - * thingatpt.el (forward-whitespace): Trivial coding style fix. - * subr.el (with-output-to-temp-buffer): Provide an edebug spec. - * international/ccl.el (ccl-compile): Trivial simplification. - * help-fns.el (help-do-arg-highlight): Silence compiler warning. - * emacs-lisp/testcover.el (testcover-end): Remove spurious - `printflag' argument. - * emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable): - Purecopy the whole obsolescence data. - -2011-06-01 Leo Liu - - * net/rcirc.el (rcirc-decode-coding-system): Revert last change; - improve doc-string as suggested by Marco Pessotto - . - (rcirc-print): Fix last change. - -2011-05-31 Stefan Monnier - - * minibuffer.el (complete-with-action): Return nil for the metadata and - boundaries of non-functional tables. - (completion-table-dynamic): Return nil for the metadata. - (completion-table-with-terminator): Add default case, using - complete-with-action. - (completion--metadata): New function. - (completion-all-sorted-completions, minibuffer-completion-help): Use it - to try and avoid pathological performance problems. - (completion--embedded-envvar-table): Return `category' metadata. - -2011-05-31 Lars Magne Ingebrigtsen - - * subr.el (process-alive-p): New tiny convenience function. - -2011-05-31 Stefan Monnier - - * emacs-lisp/debug.el (debug): Save&restore not just the buffer's - content but also its previous major mode. - -2011-05-31 Helmut Eller - - * emacs-lisp/debug.el (debug): Restore the previous content of the - *Backtrace* buffer when we exit with C-M-c. - -2011-05-31 Stefan Monnier - - * minibuffer.el: Add metadata method to completion tables. - (completion-category-overrides): New defcustom. - (completion-metadata, completion--field-metadata) - (completion-metadata-get, completion--styles) - (completion--cycle-threshold): New functions. - (completion-try-completion, completion-all-completions): - Add `metadata' argument to choose completion-styles. - (completion--do-completion): Use metadata to choose cycling. - (completion-all-sorted-completions): Use metadata for sorting. - Remove :completion-cycle-penalty which is not needed any more. - (completion--try-word-completion): Add `metadata' argument. - (minibuffer-completion-help): Check metadata for annotation function - and sorting. - (completion-file-name-table): Return `category' metadata. - (minibuffer-completing-file-name): Make obsolete. - * simple.el (minibuffer-completing-symbol): Make obsolete. - * icomplete.el (icomplete-completions): Pass new `metadata' param to - completion-try-completion. - -2011-05-30 Stefan Monnier - - * mail/smtpmail.el (smtpmail-send-data): Add progress reporter. - -2011-05-30 Leo Liu - - * net/rcirc.el (rcirc-debug-buffer): Use visible buffer name. - (rcirc-print): Decode all incoming messages (bug#8744). - (rcirc-decode-coding-system): Allow value nil for automatic coding - system detection. - -2011-06-01 Glenn Morris - - * mail/emacsbug.el (report-emacs-bug-hook): Mailclient ignores From. - -2011-05-29 Chong Yidong - - * image.el (image-animate-max-time): Allow nil and t values. - Default to nil. - (create-animated-image): Doc fix. - (image-animate-start): Remove second arg; just use - image-animate-max-time. - (image-animate-timeout): Doc fix. Args changed. - - * image-mode.el (image-toggle-display-image): Ensure that the - image spec passed to the animate timer is the same object as in - the buffer's display property (Bug#6981). - (image-transform-properties): Doc fix. - - * image.el (image-animate-max-time): Default to nil. - -2011-05-29 Martin Rudalics - - * menu-bar.el (kill-this-buffer-enabled-p): Avoid looping over - entire buffer list (Bug#8184). - -2011-05-29 Chong Yidong - - * image.el (imagemagick-types-inhibit) - (imagemagick-register-types): Doc fix. - -2011-05-29 Deniz Dogan - - * net/rcirc.el (rcirc): Use the user's stored encryption method by - default. - -2011-05-29 Chong Yidong - - * select.el: Don't perform clipboard-manager saving in hooks; - leave the hooks empty. - -2011-05-28 Leo Liu - - * replace.el (occur-menu-map, occur-edit-mode-map): New vars. - (occur-mode-map): Bind occur-edit-mode. Use occur-menu-map. - (occur-edit-mode): New major mode (Bug#8463). - (occur-after-change-function): New function. - (occur-engine): Give Occur tags a read-only property. - -2011-05-28 Kevin Ryde - - * subr.el (def-edebug-spec): Doc fix (Bug#8430). - -2011-05-28 Chong Yidong - - * bindings.el (help-echo): Make the initial non-indicator dash - empty on graphical terminals (Bug#7295). - - * files.el (auto-mode-alist): Move config rule after the - in-stripping one (Bug#8547). - - * newcomment.el (comment-end-skip): Doc fix (Bug#8659). - - * startup.el (normal-splash-screen): Remove gratuitous mode-line - setting (Bug#8740). - -2011-05-28 Alp Aker (tiny change) - - * buff-menu.el (Buffer-menu-revert-function, Buffer-menu-sort) - (Buffer-menu-buffer+size): Use Buffer-menu-buffer-column - (Bug#8539). - -2011-05-28 Chong Yidong - - * emacs-lisp/re-builder.el (re-builder): Improve doc (Bug#8286). - -2011-05-28 Dima Kogan (tiny change) - - * progmodes/hideshow.el (hs-looking-at-block-start-p): New fun. - (hs-hide-block-at-point, hs-find-block-beginning) - (hs-already-hidden-p, hs-hide-block, hs-show-block): Use it - (Bug#8279). - -2011-05-28 Glenn Morris - - * startup.el (fancy-about-screen): Use standard mode line. (Bug#8740) - -2011-05-28 Chong Yidong - - * help-fns.el (describe-function-1): If the function is a derived - major mode, print the parent mode. - - * progmodes/cc-mode.el (c-mode, c++-mode, objc-mode, java-mode) - (idl-mode, pike-mode, awk-mode): Inherit from prog-mode. - -2011-05-28 Stefan Monnier - - * minibuffer.el (completion--capf-wrapper): Check applicability before - returning non-nil for non-exclusive completion data. - * progmodes/etags.el (tags-completion-at-point-function): - * info-look.el (info-lookup-completions-at-point): Mark as - non-exclusive. - (info-complete): Adjust accordingly. - - * info-look.el: Convert to lexical-binding and completion-at-point. - (info-lookup-completions-at-point): New function. - (info-complete): Use it and completion-in-region. - -2011-05-28 Drew Adams - - * isearch.el: Let M-e start with point at the first mismatched char. - (isearch-fail-pos): New function. - (isearch-edit-string): Use it. - -2011-05-28 Dmitry Kurochkin (tiny change) - - * isearch.el (isearch-range-invisible): Use invisible-p (bug#8721). - -2011-05-27 Toby Cubitt - - * emacs-lisp/avl-tree.el: New avl-tree-stack datatype. Add new - traversal functions for avl-trees. - (avl-tree--stack): New struct. - (avl-tree-stack-p, avl-tree--stack-repopulate): New funs. - (avl-tree-enter): Add optional `updatefun' arg. - (avl-tree--do-enter): Add optional `updatefun' arg. - Change return value. - (avl-tree-delete): Add optional `test' and `nilflag' args. - (avl-tree--do-delete): Add `test' and `nilflag' args. - Change return value. - (avl-tree-member): Add optional `nilflag' - (avl-tree-member-p): New function. - (avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar): New functions. - (avl-tree-stack, avl-tree-stack-pop, avl-tree-stack-first) - (avl-tree-stack-empty-p): New functions. - - * emacs-lisp/avl-tree.el (avl-tree--del-balance): Rename from - avl-tree--del-balance1 and make it work both ways. - (avl-tree--del-balance2): Remove. - (avl-tree--enter-balance): Rename from avl-tree--enter-balance1 and - make it work both ways. - (avl-tree--enter-balance2): Remove. - (avl-tree--switch-dir, avl-tree--dir-to-sign, avl-tree--sign-to-dir): - New macros. - (avl-tree--mapc, avl-tree-map): Add direction argument. - -2011-05-27 David Michael (tiny change) - - * files.el (interpreter-mode-alist): Add rbash (bug#8745). - -2011-05-27 Chong Yidong - - * select.el: Support clipboard managers with built-in function - x-clipboard-manager-save, via delete-frame-functions and - kill-emacs-hook. - (xselect-convert-to-targets): Add MULTIPLE target to list. - (xselect-convert-to-save-targets): New function. - -2011-05-27 Kenichi Handa - - * mail/sendmail.el (mail-encode-header): Avoid double encoding by - let-binding rfc2047-encode-encoded-words to nil. - -2011-05-27 Glenn Morris - - * mail/emacsbug.el: Don't require url-util. - - * shell.el (shell-directory-tracker): Case matters. (Bug#8735) - - * files.el (set-auto-mode): - Also respect mode: entries at the end of the file. (Bug#8586) - -2011-05-26 Glenn Morris - - * files.el (hack-local-variables-prop-line, hack-local-variables): - Downcase mode names, as seems to be traditional. - (hack-local-variables, hack-local-variables-apply): Doc fixes. - - * mail/emacsbug.el (report-emacs-bug): Mention checking From address. - (report-emacs-bug-hook): Try to validate the From address. (Bug#8038) - -2011-05-25 Julien Danjou - - * textmodes/rst.el (rst-define-level-faces): Do not define face - symbol if it is already defined. - -2011-05-24 Vincent Belaïche - - * play/5x5.el (5x5-new-game, 5x5-randomize): - Reset 5x5-solver-output to nil when a new grid is cast. - (5x5-log-init, 5x5-log): Use defsubst instead of defmacro to shunt - these debugging traces, as defmacro breaks the compiled code. - -2011-05-24 Dmitry Kurochkin (tiny change) - - * isearch.el (isearch-range-invisible): Use invisible-p (bug#8721). - -2011-05-24 Leo Liu - - * vc/vc-bzr.el (vc-bzr-sha1-program): Rename from sha1-program. - (vc-bzr-sha1): Adapt. - - * sha1.el: Remove. Function `sha1' is now builtin. - - * bindings.el: Provide sha1 feature. - -2011-05-24 Kenichi Handa - - * mail/sendmail.el: Require `rfc2047'. - (mail-insert-from-field): Do not perform RFC2047 encoding. - (mail-encode-header): New function. - (sendmail-send-it): Set buffer-file-coding-system of the work - buffer to the return value of select-message-coding-system. - Call mail-encode-header. - - * mail/smtpmail.el (smtpmail-send-it): Call mail-encode-header. - -2011-05-24 Sean Neakums (tiny change) - - * mail/supercite.el (sc-default-cite-frame): - Handle sc-nested-citation-p when sc-cite-blank-lines-p is non-nil. - -2011-05-24 Glenn Morris - - * progmodes/python.el (brm-menu): Declare. - - * emulation/viper.el (viper-set-hooks): Declare. - - * play/5x5.el (5x5-log-init, 5x5-log): Evaluate when compiling. - (5x5-log-init, 5x5-log, 5x5-solver): Doc fixes. - (math-map-vec, math-sub, math-mul, math-make-intv, math-reduce-vec) - (math-format-number, math-pow, calcFunc-arrange, calcFunc-cvec) - (calcFunc-diag, calcFunc-trn, calcFunc-inv, calcFunc-mrow) - (calcFunc-mcol, calcFunc-vconcat, calcFunc-index): Declare. - -2011-05-24 Stefan Monnier - - Add an :exit-function for completion-at-point. - - * minibuffer.el (completion--done): New fun. - (completion--do-completion): Use it. New arg `expect-exact'. - (minibuffer-complete, minibuffer-complete-word): Don't output message, - since completion--do-completion does it for us now. - (minibuffer-force-complete): Use completion--done and - completion--replace. Handle sole-completion case with more care. - (minibuffer-complete-and-exit): Use new `expect-exact' arg. - (completion-extra-properties): New var. - (completion-annotate-function): Make obsolete. - (minibuffer-completion-help): Adjust accordingly. - Use completion-list-insert-choice-function. - (completion-at-point, completion-help-at-point): - Bind completion-extra-properties. - (completion-pcm-word-delimiters): Add | (for uniquify, for example). - * simple.el (completion-list-insert-choice-function): New var. - (completion-setup-function): Preserve it. - (choose-completion): Pay attention to it, shuffle the code a bit. - (choose-completion-string): New arg `insert-function'. - - * textmodes/bibtex.el: Convert to lexical binding. - (bibtex-mode-map): Use completion-at-point. - (bibtex-mode): Use define-derived-mode&completion-at-point-functions. - (bibtex-completion-at-point-function): New fun, from bibtex-complete. - (bibtex-complete): Define as obsolete alias. - (bibtex-complete-internal): Remove. - (bibtex-format-entry): Remove unused sub-group in regexp. - * shell.el (shell--command-completion-data) - (shell-environment-variable-completion): - * pcomplete.el (pcomplete-completions-at-point): - * comint.el (comint--complete-file-name-data): Use :exit-function - instead of completion-table-with-terminator so it also works for - choose-completion. - -2011-05-23 Stefan Monnier - - * .el: Don't quote lambda expressions with `quote'. - - * vc/smerge-mode.el (smerge-refine-subst): Don't deactivate the mark - (bug#8710). - - * emacs-lisp/lisp.el (up-list): Fix forward movement (bug#8708). - -2011-05-23 Ken Manheimer - - * allout.el (allout-inhibit-auto-fill-on-headline): Create new - customization variable and implement: If non-nil, auto-fill will - be inhibited while on topic's header line. - -2011-05-23 Vincent Belaïche - - * play/5x5.el: I/ Add an arithmetic solver to suggest positions to - click on. II/ Make 5x5 multisession. III/ Ensure that random grids - always have a solution in grid size = 5 cases. - (5x5-mode-map): Add keybinding to function `5x5-solve-suggest'. - (5x5-solver-output, 5x5-log-buffer): New vars. - (5x5-grid, 5x5-x-pos, 5x5-y-pos, 5x5-moves, 5x5-cracking): - Make these variables buffer local to achieve 5x5 multi-session-ness. - (5x5): Set 5x5-grid-size only if SIZE is non-negative. - (5x5-grid-to-vec, 5x5-vec-to-grid, 5x5-log-init, 5x5-log, 5x5-solver) - (5x5-solve-suggest): New funs. - (5x5-randomize): Use 5x5-make-move instead of 5x5-flip-cell to - randomize a grid so that we ensure that there is always a solution. - (5x5-make-random-grid): Allow other movement than flipping. - -2011-05-23 Kevin Ryde - - * emacs-lisp/advice.el (ad-read-advised-function): - Use `function-called-at-point' as the default, if it has - advice and passes PREDICATE. - -2011-05-23 Stefan Monnier - - * emacs-lisp/bytecomp.el (byte-compile-function-form): Only call - byte-compile-lambda if it's actually a lambda. - - * emacs-lisp/eieio.el (eieio-defgeneric-form-primary-only-one): - Fix function quoting. Use backquote better. - -2011-05-22 Yuanle Song - - * nxml/rng-xsd.el (rng-xsd-check-pattern): Use case-sensitive - matching (Bug#8516). - -2011-05-22 Jari Aalto - - * vc/vc-dir.el (vc-default-dir-printer): Give edited tag a - different face (Bug#8178). - -2011-05-22 Chong Yidong - - * vc/diff-mode.el (diff-changed): Don't use terminal specs for - defface (Bug#8144). - -2011-05-22 Stefan Monnier - - * emacs-lisp/macroexp.el (macroexpand-all-1): Convert ' to #' for - funcall as well (bug#8712). Warn when performing those conversions. - * emacs-lisp/bytecomp.el (byte-compile-form): Fix error report. - - * progmodes/grep.el (grep-mode): Fix it for good (bug#8684)! - -2011-05-22 Glenn Morris - - * files.el (hack-local-variables-prop-line): Small simplifications. - (hack-local-variables, hack-local-variables-prop-line): - If MODE-ONLY, return the mode, rather than just `t'. - -2011-05-21 Stefan Monnier - - * progmodes/grep.el (grep-mode): Fix last change (bug#8684). - -2011-05-21 Glenn Morris - - * files.el (hack-local-variables-prop-line, hack-local-variables): - If only interested in the mode, don't bother doing the other stuff. - - * image-mode.el (image-after-revert-hook): - Redraw all frames on which the image is visible. (Bug#8567) - - * dired-aux.el (dired-touch-initial): Just use current-time. (Bug#6887) - - * wid-edit.el (widget-checklist-match-inline): - Fix 2011-04-19 change. (Bug#8649) - -2011-05-20 Stefan Monnier - - * emacs-lisp/checkdoc.el (checkdoc-sentencespace-region-engine): - Also allow singlespace after single-letter capitals followed by a dot. - - * nxml/nxml-mode.el (nxml-electric-slash): Reindent when completion is - enabled. Suggested by James Ahlborn (bug#8704). - -2011-05-20 Nix - - * files.el (basic-save-buffer-2): - Fix handling of break-hardlink-on-save with non-existent files. - -2011-05-19 Deniz Dogan - - * net/rcirc.el (rcirc-mode): Initialize rcirc-urls to nil. - (rcirc-markup-urls): Check if rcirc-url-regexp is nil. - -2011-05-19 Glenn Morris - - * progmodes/f90.el (f90-type-def-re): - Handle "type, bind(c)". (Bug#8691) - - * emacs-lisp/autoload.el (batch-update-autoloads): - Set autoload-excludes by parsing loadup.el rather than Makefiles. - -2011-05-18 Michael Albinus - - * net/tramp.el (tramp-process-actions): Set "first-password-request" - property for the correct connection in case of multihops. - -2011-05-18 Glenn Morris - - * emacs-lisp/authors.el (authors-fixed-entries): Remove fakemail.c. - * mail/sendmail.el (sendmail-program): Fall back to just "sendmail". - - Rationalize calendar handling of day and month abbrev-arrays. - * calendar/calendar.el (calendar-customized-p): New function. - (calendar-abbrev-construct, calendar-make-alist): Change what it does. - (calendar-day-name-array, calendar-month-name-array): Doc fix. - Add :set function. - (calendar-abbrev-length, calendar-day-abbrev-array) - (calendar-month-abbrev-array): Make defcustoms, with appropriate :set. - (calendar-day-abbrev-array, calendar-month-abbrev-array): - Elements may no longer be nil. - (calendar-day-name, calendar-month-name): - Update for changed nature of abbrev arrays. - * calendar/diary-lib.el (diary-name-pattern): - Update for changed nature of abbrev arrays. - (diary-mark-entries-1): Update calendar-make-alist calls. - (diary-font-lock-date-forms): Doc fix for changed abbrev arrays. - * calendar/cal-html.el (cal-html-day-abbrev-array): - Simply inherit from calendar-day-abbrev-array. - -2011-05-17 Stefan Monnier - - * progmodes/grep.el (grep-mode): Disable default - compilation-directory-matcher setting (bug#8684). - -2011-05-17 Michael Albinus - - * net/tramp.el (tramp-handle-insert-file-contents): Use "dd" - instead of "head" and "tail". There were problems with SunOS 5.9, - and it performs better. - -2011-05-17 Glenn Morris - - * mail/mail-utils.el (mail-dont-reply-to): Silence compiler. - - * progmodes/idlw-shell.el (idlwave-shell-complete-filename): - Replace obsolete function. - - * shell.el (pcomplete-parse-arguments-function): Declare. - - * calendar/appt.el (appt-message-warning-time, appt-display-mode-line) - (appt-display-diary, appt-display-interval, appt-prev-comp-time) - (appt-check): Doc fixes. - (appt-disp-window-function, appt-delete-window-function): - Remove needless special case in custom :type. - (appt-display-count): Default to 0, not nil. - (appt-check): Reset appt-display-count to 0, not nil. - -2011-05-17 Juanma Barranquero - - * progmodes/python.el (python-font-lock-keywords): - Add the Python 3.X keyword "nonlocal" (bug#8639). - -2011-05-16 Stefan Monnier - - * emacs-lisp/eieio.el (defmethod): Fix quoting of code (bug#8677). - -2011-05-16 Kevin Ryde - - * info-look.el (makefile-automake-mode): New setups, looking in - automake manual, then makefile-mode. - (makefile-mode): Remove automake manual, have it just in - makefile-automake-mode since there's various things different or - not relevant to plain make. - (makefile-mode): Remove "other-modes" non-existent automake-mode, - believe a hypothetical automake-mode would go to makefile-mode, - not the other way around. - -2011-05-15 Chong Yidong - - * vc/diff-mode.el (diff-fixup-modifs): Locate correct position for - hunk-end tags (Bug#8672). - - * vc/vc-annotate.el (vc-annotate-mode-map): Bind = to - vc-annotate-show-diff-revision-at-line (Bug#8671). - -2011-05-14 Glenn Morris - - * vc/add-log.el (add-change-log-entry): Don't start adding a new entry - in the middle of an existing one with multiple authors. (Bug#8645) - (change-log-font-lock-keywords): Also handle multiple author lines - with leading tabs. (Bug#8644) - - * calendar/appt.el (appt-check): Rename some local variables. - Some simplification/reordering. - - * mail/feedmail.el (feedmail-confirm-outgoing-timeout) - (feedmail-sendmail-f-doesnt-sell-me-out) - (feedmail-queue-slug-suspect-regexp, feedmail-debug) - (feedmail-debug-sit-for, feedmail-queue-express-hook) - (feedmail-queue-runner-message-sender): Set :version. - (bbdb-search, bbdb-records, smtp-via-smtp, smtp-server) - (bbdb-dwim-net-address, vm-mail): Declare. - (feedmail-binmail-gnulinuxish-template): - Rename from feedmail-binmail-linuxish-template. - (feedmail-buffer-to-smtp, feedmail-vm-mail-mode): - Use insert-buffer-substring. - -2011-05-14 Bill Carpenter - - * mail/feedmail.el (feedmail-patch-level): Increase. - (feedmail-debug): New custom group. - (feedmail-confirm-outgoing-timeout) - (feedmail-sendmail-f-doesnt-sell-me-out) - (feedmail-queue-slug-suspect-regexp, feedmail-debug) - (feedmail-debug-sit-for, feedmail-queue-express-hook): New options. - (feedmail-sender-line, feedmail-from-line) - (feedmail-fiddle-headers-upwardly, feedmail-enable-spray) - (feedmail-spray-this-address) - (feedmail-spray-address-fiddle-plex-list) - (feedmail-queue-use-send-time-for-date) - (feedmail-queue-use-send-time-for-message-id) - (feedmail-last-chance-hook, feedmail-queue-runner-mode-setter) - (feedmail-buffer-eating-function): - Doc fixes. - (feedmail-spray-via-bbdb, feedmail-buffer-to-smtp) - (feedmail-vm-mail-mode, feedmail-message-action-scroll-up) - (feedmail-message-action-scroll-down): New functions. - (feedmail-queue-directory, feedmail-queue-draft-directory): - Use expand-file-name. - (feedmail-prompt-before-queue-standard-alist): Add scroll entries. - Remove C-v help entry. - (feedmail-queue-buffer-file-name): New variable. - (feedmail-mail-send-hook-splitter, feedmail-buffer-to-binmail) - (feedmail-buffer-to-smtpmail, feedmail-queue-express-to-draft) - (feedmail-message-action-send-strong, feedmail-message-action-edit) - (feedmail-message-action-draft, feedmail-message-action-draft-strong) - (feedmail-message-action-queue, feedmail-message-action-queue-strong) - (feedmail-message-action-toggle-spray) - (feedmail-run-the-queue-no-prompts) - (feedmail-run-the-queue-global-prompt, feedmail-queue-reminder) - (feedmail-look-at-queue-directory, feedmail-queue-subject-slug-maker) - (feedmail-create-queue-filename, feedmail-rfc822-time-zone): - (feedmail-fiddle-header, feedmail-give-it-to-buffer-eater) - (feedmail-envelope-deducer, feedmail-fiddle-from) - (feedmail-fiddle-sender, feedmail-default-date-generator) - (feedmail-fiddle-date, feedmail-fiddle-message-id) - (feedmail-fiddle-spray-address) - (feedmail-fiddle-list-of-spray-fiddle-plexes) - (feedmail-fiddle-list-of-fiddle-plexes) - (feedmail-fill-to-cc-function, feedmail-fill-this-one) - (feedmail-one-last-look, feedmail-fqm-p): Add debug calls. - (feedmail-queue-runner-message-sender, feedmail-binmail-template): - Change default. Doc fix. - (feedmail-queue-runner-cleaner-upper): Use feedmail-say-chatter. - (feedmail-binmail-linuxish-template): New constant. - (feedmail-buffer-to-sendmail): Doc fix. Add debug call. - Respect feedmail-sendmail-f-doesnt-sell-me-out. - (feedmail-send-it): Add debug call. - Use feedmail-queue-buffer-file-name, and - feedmail-send-it-immediately-wrapper. - (feedmail-message-action-send): Add debug call. - Use feedmail-send-it-immediately-wrapper. - (feedmail-queue-express-to-queue): Add debug call. - Run feedmail-queue-express-hook. - (feedmail-message-action-help): Add debug call. Use feedmail-p-h-b-n. - (feedmail-message-action-help-blat): - Rename from feedmail-queue-send-edit-prompt-help-first. - (feedmail-run-the-queue): Add debug call. Set buffer-file-type. - Check line-endings. Handle errors better. - (feedmail-queue-reminder-brief, feedmail-queue-reminder-medium): - Doc fix. Add debug call. - (feedmail-queue-send-edit-prompt): Doc fix. Add debug call. - Use feedmail-queue-send-edit-prompt-inner. - (feedmail-queue-runner-prompt, feedmail-scroll-buffer): New functions. - (feedmail-queue-send-edit-prompt-inner): New function, extracted - from feedmail-queue-send-edit-prompt. - (feedmail-queue-send-edit-prompt-help) - (feedmail-queue-send-edit-prompt-help-later): Remove functions. - (feedmail-tidy-up-slug): Add debug call. - Respect feedmail-queue-slug-suspect-regexp. - (feedmail-queue-subject-slug-maker): Use buffer-substring-no-properties. - (feedmail-dump-message-to-queue): Add debug call. - Expand queue-directory. - (feedmail-dump-message-to-queue): Change message slightly. - Use feedmail-say-chatter. - (feedmail-rfc822-date): Add debug call. Bind system-time-locale. - (feedmail-send-it-immediately-wrapper): New function. - (feedmail-send-it-immediately): Add debug calls. Use let not let*. - Insert empty string rather than newline. Handle full-frame case. - Use catch/throw. Use feedmail-say-chatter. - (feedmail-fiddle-from): Try mail-host-address. - (feedmail-default-message-id-generator): Doc fix. - Bind system-time-locale. Handle missing end. - (feedmail-fiddle-x-mailer): Add debug call. - Handle feedmail-x-mailer-line being nil. - (feedmail-accume-n-nuke-header, feedmail-deduce-address-list): - Add debug call. Use buffer-substring-no-properties. - (feedmail-say-debug, feedmail-say-chatter): New functions. - (feedmail-find-eoh): Give an explicit error. - -2011-05-13 Ulf Jasper - - * net/newst-treeview.el (newsticker-treeview-face): Change default - family from helvetica to sans. - (newsticker-treeview-tool-bar-map): Move tool-bar icons to - etc/images/newsticker. - - * net/newst-reader.el (newsticker-feed-face): Change default - family from helvetica to sans. - - * net/newst-plainview.el (newsticker-new-item-face) - (newsticker-old-item-face, newsticker-immortal-item-face) - (newsticker-obsolete-item-face, newsticker-date-face) - (newsticker-statistics-face): Change default family from - helvetica to sans. - (newsticker--plainview-tool-bar-map): Move tool-bar icons to - etc/images/newsticker. - - * net/newst-backend.el (newsticker--do-run-auto-mark-filter) - (newsticker--process-auto-mark-filter-match): Tell user about - auto-marking. - -2011-05-13 Didier Verna - - Common Lisp indentation improvements on defmethod and lambda-lists. - * emacs-lisp/cl-indent.el: Advertise the changes and remove obsolete - TODO entries. - (lisp-lambda-list-keyword-parameter-indentation) - (lisp-lambda-list-keyword-parameter-alignment) - (lisp-lambda-list-keyword-alignment): New customizable user options. - (lisp-indent-defun-method): Improve docstring. - (extended-loop-p): Fix comment. - (lisp-indent-lambda-list-keywords-regexp): New variable. - (lisp-indent-lambda-list): New function. - (lisp-indent-259): Use it. - (lisp-indent-defmethod): Support for more than one - method qualifier and properly indent methods lambda-lists. - (defgeneric): Provide a missing common-lisp-indent-function property. - -2011-05-13 Stefan Monnier - - * thingatpt.el (bounds-of-thing-at-point): Return nil rather than - bounds for the empty string (bug#8667). - -2011-05-13 Glenn Morris - - * mail/feedmail.el (feedmail-buffer-to-sendmail): Require sendmail. - - * mail/sendmail.el (sendmail-program): Try executable-find first. - (sendmail-send-it): `sendmail-program' cannot be unbound. - - * calendar/appt.el (appt-make-list): Simplify. - (appt-time-msg-list): Doc fix. - (appt-check): Change mode-line message at the time of the appointment. - -2011-05-12 Andreas Schwab - - * progmodes/ld-script.el (ld-script-keywords) - (ld-script-builtins): Update keywords list. - -2011-05-12 Stefan Monnier - - * progmodes/grep.el (grep-filter): Don't trip on partial lines. - - * shell.el (shell-completion-vars): New function. - (shell-mode): - * simple.el (read-shell-command): Use it. - (blink-matching-open): No need for " [...]" in minibuffer-message. - -2011-05-12 Glenn Morris - - * calendar/appt.el (appt-now-displayed): Remove pointless variable. - (appt-check): Simplify. - -2011-05-12 Eli Zaretskii - - * vc/smerge-mode.el (smerge-resolve): Use null-device rather than a - literal "/dev/null". - -2011-05-12 Stefan Monnier - - * emacs-lisp/lisp.el (lisp-complete-symbol, lisp-completion-at-point): - Fix typo. - -2011-05-12 Ralph Schleicher - - * progmodes/which-func.el (which-function): - Use add-log-current-defun instead of add-log-current-defun-function, - which might not be defined (Bug#8260). - -2011-05-12 Glenn Morris - - * emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble): - Let byte-compile-initial-macro-environment always take precedence. - -2011-05-12 Stefan Monnier - - * net/rcirc.el: Add support for SSL/TLS connections. - (rcirc-server-alist): New field `encryption'. - (rcirc): Check `encryption' settings. - (rcirc-connect): New arg `encryption'. Use open-network-stream. - Merge make-local-variable into `set'. - (rcirc--connection-open-p): New function. - (rcirc-send-string, rcirc-clean-up-buffer): Use it to handle case where - the process is not a network process (e.g. running gnutls-cli). - (set-rcirc-decode-coding-system, set-rcirc-encode-coding-system): - Make rcirc-(en|de)code-coding-system local here. - (rcirc-mode): Merge make-local-variable into `set'. - (rcirc-parent-buffer): Make permanent buffer-local. - (rcirc-multiline-minor-mode): Don't do it here. - (rcirc-switch-to-server-buffer): Don't switch to a random buffer if - there's no server buffer. - -2011-05-11 Glenn Morris - - * newcomment.el (comment-kill): Prefix "unused" local. - - * term/w32console.el (get-screen-color): Declare. - - * emacs-lisp/bytecomp.el (byte-compile-arglist-warn): - Handle symbol elements of byte-compile-initial-macro-environment. - -2011-05-10 Leo Liu - - * bookmark.el (bookmark-bmenu-mode-map): - Bind bookmark-bmenu-search to `/'. - - * mail/footnote.el: Convert to utf-8 encoding. - (footnote-unicode-string, footnote-unicode-regexp): New variable. - (Footnote-unicode): New function. - (footnote-style-alist): Add unicode style to the list. - (footnote-style): Doc fix. - -2011-05-10 Jim Meyering - - Fix doubled-word typos. - * international/quail.el (quail-insert-kbd-layout): and and -> and. - * kermit.el: and and -> and. - * net/ldap.el (ldap-search-internal): to to -> to. - * progmodes/vhdl-mode.el (vhdl-offsets-alist): Likewise. - * progmodes/js.el (js-mode): and and -> and. - * textmodes/artist.el (artist-move-to-xy): at at -> at. - (artist-draw-region-trim-line-endings): if if -> if. - And Safetyc -> Safety. - * textmodes/reftex-dcr.el (reftex-view-crossref): at at -> at a. - -2011-05-10 Glenn Morris - Stefan Monnier - - * files.el (hack-one-local-variable-eval-safep): - Consider "eval: (foo-mode)" to be safe. (Bug#8613) - -2011-05-10 Glenn Morris - - * calendar/diary-lib.el (diary-list-entries-hook) - (diary-mark-entries-hook, diary-nongregorian-listing-hook) - (diary-nongregorian-marking-hook, diary-list-entries) - (diary-include-other-diary-files, diary-mark-entries) - (diary-mark-included-diary-files): Doc fixes. - -2011-05-09 Juanma Barranquero - - * misc.el: Require tabulated-list.el during compilation. - -2011-05-09 Chong Yidong - - * progmodes/compile.el (compilation-start): - Run compilation-filter-hook for the async case too. - (compilation-filter-hook): Doc fix. - -2011-05-09 Deniz Dogan - - * wdired.el: Remove outdated installation comment. Fix usage - comment. - -2011-05-09 Juanma Barranquero - - * misc.el: Implement new command `list-dynamic-libraries'. - (list-dynamic-libraries--loaded-only-p): New variable. - (list-dynamic-libraries--refresh): New function. - (list-dynamic-libraries): New command. - -2011-05-09 Chong Yidong - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Fix the ant regexp to handle end-line and end-column info from jikes. - Re-introduce maven regexp. Give the ruby-Test::Unit regexp a - higher priority to avoid clobbering by gnu. - -2011-05-08 Chong Yidong - - * cus-face.el (custom-declare-face): Call custom-theme-recalc-face - if the face has existing theme settings (Bug#8454). - -2011-05-08 Ralph Schleicher - - * progmodes/perl-mode.el (perl-imenu-generic-expression): - Only match variables declared via `my' or `our' (Bug#8261). - - * net/browse-url.el (browse-url-of-dired-file): Allow browsing of - special file names `.' and `..' (Bug#8259). - -2011-05-08 Chong Yidong - - * progmodes/grep.el (grep-mode-font-lock-keywords): - Remove buffer-changing entries. - (grep-filter): New function. - (grep-mode): Add it to compilation-filter-hook. - - * progmodes/compile.el (compilation-filter-hook) - (compilation-filter-start): New defvars. - (compilation-filter): Call compilation-filter-hook prior to - updating the process mark. - -2011-05-08 Stefan Monnier - - * emacs-lisp/eieio.el (defmethod): Fix typo in last change. - -2011-05-07 Eli Zaretskii - - * mail/sendmail.el (send-mail-function): On MS-Windows, default to - mailclient-send-it even if window-system is nil. (Bug#8595) - - * term/w32console.el (terminal-init-w32console): - Call get-screen-color and use its output to set the frame - background-mode. (Bug#8597) - -2011-05-07 Stefan Monnier - - Make bytecomp.el understand that defmethod defines funs (bug#8631). - * emacs-lisp/eieio.el (eieio--defalias, eieio--defgeneric-init-form): - New functions. - (defgeneric, eieio--defmethod): Use them. - (eieio-defgeneric): Remove. - (defmethod): Call defgeneric in a way visible to the byte-compiler. - -2011-05-07 Glenn Morris - - * calendar/timeclock.el (timeclock-log-data): Remove unused local. - Use let rather than let*. - (timeclock-find-discrep): Remove unused local. - - * calendar/diary-lib.el (diary-comment-start): Doc fix. - - * calendar/appt.el (appt-time-msg-list): Doc fix. - -2011-05-06 Noah Friedman - - * apropos.el (apropos-print-doc): Only use - emacs-lisp-docstring-fill-column when it is bound to an integer, - per that variable's documentation. - -2011-05-06 Stefan Monnier - - * lpr.el (print-region-1): Echo lpr-program's output, so error messages - and warnings are not silently discarded (e.g. use -d instead of -P). - -2011-05-06 Glenn Morris - - * calendar/appt.el (appt-message-warning-time): Doc fix. - (appt-warning-time-regexp): New option. - (appt-make-list): Respect appt-message-warning-time. - - * calendar/diary-lib.el (diary-comment-start, diary-comment-end): - New options. - (diary-add-to-list): Strip comments from the displayed string. - (diary-mode): Set comment-start and comment-end. - - * vc/diff-mode.el (smerge-refine-subst): Declare. - (diff-refine-hunk): Don't require smerge-mode when compiling. - -2011-05-06 Juanma Barranquero - - * simple.el (list-processes): Return nil as the docstring says. - -2011-05-05 Michael Albinus - - * net/ange-ftp.el (ange-ftp-binary-file-name-regexp): Set default - to "". - (ange-ftp-write-region, ange-ftp-insert-file-contents) - (ange-ftp-copy-file-internal): Use only `ange-ftp-binary-file' for - determining of binary transfer. (Bug#7383) - -2011-05-05 Michael Albinus - - * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): - Fix port computation bug. (Bug#8618) - -2011-05-05 Glenn Morris - - * allout-widgets.el (allout-widgets-mode-inhibit): Declare before use. - - * simple.el (shell-dynamic-complete-functions) - (comint-dynamic-complete-functions): Declare. - - * net/network-stream.el (gnutls-negotiate): - * simple.el (tabulated-list-print): Fix declarations. - - * progmodes/gud.el (syntax-symbol, syntax-point): - Remove unnecessary and incorrect declarations. - - * emacs-lisp/check-declare.el (check-declare-scan): - Handle byte-compile-initial-macro-environment in bytecomp.el. - -2011-05-05 Stefan Monnier - - Fix earlier half-done eieio-defmethod change (bug#8338). - * emacs-lisp/eieio.el (eieio--defmethod): Rename from eieio-defmethod. - Streamline and change calling convention. - (defmethod): Adjust accordingly and simplify. - (eieio-defclass): Fix broken calls to eieio-defmethod and redirect to - new eieio--defmethod. - (slot-boundp): Minor CSE simplification. - -2011-05-05 Milan Zamazal - - * progmodes/glasses.el (glasses-separate-capital-groups): New option. - (glasses-make-readable): Use glasses-separate-capital-groups. - -2011-05-05 Juanma Barranquero - - * emacs-lisp/warnings.el (warning-level-aliases): Reflow docstring. - (warning-series): Doc fix. - (display-warning): Don't try to create the buffer if we just found it. - -2011-05-04 Chong Yidong - - * emacs-lisp/autoload.el (generated-autoload-file): Set to nil. - (autoload-find-generated-file): New function. - (generate-file-autoloads): Bind generated-autoload-file to - buffer-file-name. - (update-file-autoloads, update-directory-autoloads): - Use autoload-find-generated-file. If called interactively, prompt for - output file (Bug#7989). - (batch-update-autoloads): Doc fix. - -2011-05-04 Juanma Barranquero - - * term/w32-win.el (dynamic-library-alist): Add `gnutls'. - -2011-05-04 Glenn Morris - - * calendar/diary-lib.el (diary-fancy-date-pattern): Turn it into a - function, so it follows changes in calendar-date-style. - (diary-fancy-date-matcher): New function. - (diary-fancy-font-lock-keywords): Use diary-fancy-date-matcher. - (diary-fancy-font-lock-fontify-region-function): - Use diary-fancy-date-pattern as a function. - - * calendar/diary-lib.el (diary-fancy-date-pattern): Do not use - non-numbers for `year' etc pseudo-variables. (Bug#8583) - -2011-05-04 Teodor Zlatanov - - * net/gnutls.el (gnutls-negotiate): Use CL-style keyword arguments - instead of positional arguments. Allow :keylist and :crlfiles - arguments. - (open-gnutls-stream): Call it. - - * net/network-stream.el (network-stream-open-starttls): Adjust to - call `gnutls-negotiate' with :process and :hostname arguments. - -2011-05-04 Stefan Monnier - - * minibuffer.el (completion--message): New function. - (completion--do-completion, minibuffer-complete) - (minibuffer-force-complete, minibuffer-complete-word): Use it. - (completion--do-completion): Don't ignore completion-auto-help when in - icomplete-mode. - - * whitespace.el (whitespace-trailing-regexp): Don't rely on the - internal encoding (e.g. tibetan zero is not whitespace). - (global-whitespace-mode): Prefer save-current-buffer. - (whitespace-trailing-regexp): Remove useless save-match-data. - (whitespace-empty-at-bob-regexp): Minor simplification. - -2011-05-03 Chong Yidong - - * emacs-lisp/autoload.el (generated-autoload-file): Doc fix (Bug#7989). - -2011-05-03 Agustín Martín Domingo - - * textmodes/ispell.el (ispell-add-per-file-word-list): - Use `concat' to create string for insertion. - -2011-05-03 Stefan Monnier - - * textmodes/bibtex.el (bibtex-fill-field-bounds, bibtex-fill-entry): - Avoid open-line which runs post-self-insert-hook. - (bibtex-fill-entry): Remove unused `end' var. - -2011-05-03 Dirk Ullrich (tiny change) - - * textmodes/ispell.el (ispell-add-per-file-word-list): - Protect against `nil' value of `comment-start' (Bug#8579). - -2011-05-03 Leo Liu - - * isearch.el (isearch-yank-pop): New command. - (isearch-mode-map): Bind it to `M-y'. - (isearch-forward): Mention it. - -2011-05-03 Stefan Monnier - - * simple.el (minibuffer-complete-shell-command): Remove. - (minibuffer-local-shell-command-map): Use completion-at-point. - (read-shell-command): Setup completion vars here instead. - (read-expression-map): Bind TAB to symbol completion. - - * textmodes/ispell.el (lookup-words): Use with-temp-buffer; signal - error directly rather via storing it into `results'. - -2011-05-02 Leo Liu - - * vc/diff.el: Fix description. - -2011-05-02 Lars Magne Ingebrigtsen - - * server.el (server-eval-at): New function. - -2011-05-01 Lars Magne Ingebrigtsen - - * net/network-stream.el (open-network-stream): Take a :nowait - parameter and pass it on to `make-network-process'. - (network-stream-open-plain): Ditto. - -2011-04-30 Andreas Schwab - - * faces.el (face-spec-set-match-display): Don't match toolkit - options on terminal frames. - -2011-04-29 Stefan Monnier - - * progmodes/pascal.el: Use lexical binding. - (pascal-mode-map): Remove author preferences. - - * pcomplete.el (pcomplete-std-complete): Don't abuse - completion-at-point. - -2011-04-28 Juanma Barranquero - - * calc/calccomp.el (math-comp-to-string-flat-term): Simplify by - removing code that has been dead since 1991 or so. - - * startup.el (command-line): When warning about "_emacs", use a - delayed warning to allow the user to filter it out. - -2011-04-28 Deniz Dogan - - * net/rcirc.el (rcirc-handler-353): Fix bug for channels which the - user has not joined. - -2011-04-28 Stefan Monnier - - * pcomplete.el (pcomplete-completions-at-point): Return nil if there - aren't any completions at point. - -2011-04-28 Juanma Barranquero - - * subr.el (display-delayed-warnings): New function. - (delayed-warnings-hook): New variable. - -2011-04-28 Stefan Monnier - - * minibuffer.el (completion-at-point, completion-help-at-point): - Don't presume that a given completion-at-point-function will always - use the same calling convention. - - * pcomplete.el (pcomplete-completions-at-point): - Obey pcomplete-ignore-case. Don't call pcomplete-norm-func unless - pcomplete-seen is non-nil. - (pcomplete-comint-setup): Also recognize the new comint/shell - completion functions. - (pcomplete-do-complete): Don't call pcomplete-norm-func unless - pcomplete-seen is non-nil. - -2011-04-27 Niels Giesen - - * calendar/icalendar.el (diary-lib): Add require statement. - (icalendar--create-uid): Read out a uid from a text-property on - the first character in the entry. This allows for code to add its - own uid to the entry. - (icalendar--convert-float-to-ical): Add export of - `diary-float'-entries save for those with the optional DAY - argument. - -2011-04-27 Daniel Colascione - - * subr.el (shell-quote-argument): Use alternate escaping strategy - when we spot a variable reference in a string. - -2011-04-26 Daniel Colascione - - * cus-start.el (all): Define customization for debug-on-event. - -2011-04-26 Daniel Colascione - - * subr.el (shell-quote-argument): Escape correctly under Windows. - -2011-04-25 Stefan Monnier - - * emulation/cua-base.el (cua-selection-mode): Make it toggle again. - -2011-04-25 Michael Albinus - - * net/tramp.el (tramp-process-actions): Add POS argument. - Delete region between POS and (pos). - - * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): - Use `nil' position in `tramp-process-actions' call. - (tramp-maybe-open-connection): Call `tramp-process-actions' with pos. - - * net/tramp-smb.el (tramp-smb-maybe-open-connection): Use `nil' - position in `tramp-process-actions' call. - - * net/trampver.el: Update release number. - -2011-04-25 Stefan Monnier - - * custom.el (defcustom): Obey lexical-binding. - - Fix octave-inf completion problems reported by Alexander Klimov. - * progmodes/octave-inf.el (inferior-octave-mode-syntax-table): - Inherit from octave-mode-syntax-table. - (inferior-octave-mode): Set info-lookup-mode. - (inferior-octave-completion-at-point): New function. - (inferior-octave-complete): Use it and completion-in-region. - (inferior-octave-dynamic-complete-functions): Use it as well, and use - comint-filename-completion. - * progmodes/octave-mod.el (octave-mode-syntax-table): Use _ syntax for - symbol elements which shouldn't be word elements. - (octave-font-lock-keywords, octave-beginning-of-defun) - (octave-function-header-regexp): Adjust regexps accordingly. - (octave-mode-map): Also use info-lookup-symbol for C-c C-h. - -2011-04-25 Juanma Barranquero - - * net/gnutls.el (gnutls-errorp): Declare before first use. - -2011-04-24 Teodor Zlatanov - - * net/gnutls.el (gnutls-negotiate): Add hostname, verify-flags, - verify-error, and verify-hostname-error parameters. Check whether - default trustfile exists before going to use it. Add missing - argument to gnutls-message-maybe call. Return value. - Reported by Claudio Bley . - (open-gnutls-stream): Add usage example. - - * net/network-stream.el (network-stream-open-starttls): Give host - parameter to `gnutls-negotiate'. - (gnutls-negotiate): Adjust `gnutls-negotiate' declaration. - * subr.el (shell-quote-argument): Escape correctly under Windows. - -2011-04-24 Daniel Colascione - - * progmodes/cc-engine.el (c-forward-decl-or-cast-1): - Use correct match group (bug#8438). - -2011-04-24 Chong Yidong - - * emacs-lisp/package.el (package-built-in-p): Fix typo. - (package-menu--generate): New arg specifying packages to show. - (package-menu-refresh, package-menu-execute, list-packages): - Callers changed. - (package-show-package-list): New function, replacing deleted - package--list-packages (renamed because it is non-internal). - - * finder.el (finder-list-matches): Use package-show-package-list - instead of deleted package--list-packages. - - * vc/vc-annotate.el (vc-annotate-goto-line): New command. - Based on a previous implementation by Juanma Barranquero (Bug#8366). - (vc-annotate-mode-map): Bind it to RET. - -2011-04-24 Uday S Reddy (tiny change) - - * progmodes/etags.el (next-file): Don't use set-buffer to change - buffers (Bug#8478). - -2011-04-24 Chong Yidong - - * files.el (auto-mode-alist): Use js-mode for .json (Bug#8529). - - * apropos.el (apropos-label-face): Avoid variable-pitch face. - (apropos-accumulator): Doc fix. - (apropos-function, apropos-macro, apropos-command) - (apropos-variable, apropos-face, apropos-group, apropos-widget) - (apropos-plist): Add face property. - (apropos-symbols-internal): Fix indentation. - (apropos-print): Simplify help, and recognize apropos-multi-type. - (apropos-print-doc): Use button-type-get to extract the button's - face property. Fill docstring (Bug#8352). - -2011-04-23 Juanma Barranquero - - * buff-menu.el (Buffer-menu--buffers): Fix typo in docstring (bug#8535). - - * play/mpuz.el (mpuz-silent): Doc fix. - (mpuz-mode-map): Use mapc. - (mpuz-put-number-on-board): Rename parameter L to COLUMNS. - (mpuz-letter-to-digit, mpuz-check-all-solved, mpuz-create-buffer): - Fix typos in docstrings. - - * play/doctor.el (doc$, doctor-$, doctor-read-print, doctor-read-token) - (doctor-nounp, doctor-pronounp): Fix typos in docstrings. - - * mouse-drag.el (mouse-drag-throw): Fix typo in docstring. - -2011-04-23 Chong Yidong - - * minibuffer.el (completion--do-completion): Avoid the "Next char - not unique" prompt if icomplete-mode is enabled (Bug#5849). - - * mouse.el (mouse-drag-mode-line-1): Make sure that if we push - mouse-2 into unread-command-events, it is interpreted correctly. - - * image-mode.el (image-type, image-mode-map, image-minor-mode-map) - (image-toggle-display): Doc fix. - -2011-04-23 Stephen Berman - - * textmodes/page.el (what-page): Use line-number-at-pos to - calculate line number (Bug#6825). - -2011-04-22 Juanma Barranquero - - * eshell/esh-mode.el (find-tag-interactive): Declare function. - (eshell-find-tag): Remove `with-no-warnings', unneeded now. - Pass argument NO-DEFAULT to `find-tag-interactive'. - -2011-04-22 Juanma Barranquero - - Lexical-binding cleanup. - - * progmodes/ada-mode.el (ada-after-change-function, ada-loose-case-word) - (ada-no-auto-case, ada-capitalize-word, ada-untab, ada-narrow-to-defun): - * progmodes/ada-prj.el (ada-prj-initialize-values) - (ada-prj-display-page, ada-prj-field-modified, ada-prj-display-help) - (ada-prj-show-value): - * progmodes/ada-xref.el (ada-find-any-references, ada-gdb-application): - * progmodes/antlr-mode.el (antlr-with-displaying-help-buffer) - (antlr-invalidate-context-cache, antlr-options-menu-filter) - (antlr-language-option-extra, antlr-c++-mode-extra, antlr-run-tool): - * progmodes/bug-reference.el (bug-reference-push-button): - * progmodes/fortran.el (fortran-line-length): - * progmodes/glasses.el (glasses-change): - * progmodes/octave-mod.el (octave-fill-paragraph): - * progmodes/python.el (python-mode, python-pdbtrack-track-stack-file) - (python-pdbtrack-grub-for-buffer, python-sentinel): - * progmodes/sql.el (sql-save-connection): - * progmodes/tcl.el (tcl-indent-command, tcl-popup-menu): - * progmodes/xscheme.el (xscheme-enter-debugger-mode): - Mark unused parameters. - - * progmodes/compile.el (compilation--flush-directory-cache) - (compilation--flush-parse, compile-internal): Mark unused parameters. - (compilation-buffer-name): Rename parameter MODE-NAME to NAME-OF-MODE. - (compilation-next-error-function): Remove unused variable `timestamp'. - - * progmodes/cpp.el (cpp-parse-close): Remove unused variable `begin'. - (cpp-signal-read-only, cpp-grow-overlay): Mark unused parameters. - - * progmodes/dcl-mode.el (dcl-end-of-command): - Remove unused variable `start'. - (dcl-calc-command-indent-multiple, dcl-calc-cont-indent-relative) - (dcl-option-value-basic, dcl-option-value-offset) - (dcl-option-value-margin-offset, dcl-option-value-comment-line): - Mark unused parameters. - (dcl-save-local-variable): Remove unused variable `val'. - (mode): Declare. - - * progmodes/delphi.el (delphi-save-state, delphi-after-change): - Mark unused parameters. - (delphi-ignore-changes): Move before first use. - (delphi-charset-token-at): Remove unused variable `start'. - (delphi-else-start): Remove unused variable `if-count'. - (delphi-comment-block-start, delphi-comment-block-end): - Remove unused variable `kind'. - (delphi-indent-line): Remove unused variable `new-point'. - - * progmodes/ebrowse.el (ebrowse-files-list) - (ebrowse-list-of-matching-members, ebrowse-tags-list-members-in-file): - Mark unused parameters. Don't quote `lambda'. - (ebrowse-sort-tree-list, ebrowse-same-tree-member-buffer-list): - Don't quote `lambda'. - (ebrowse-revert-tree-buffer-from-file, ebrowse-tags-choose-class) - (ebrowse-goto-visible-member/all-member-lists): Mark unused parameters. - (ebrowse-create-tree-buffer): Rename parameter OBARRAY to CLASSES. - (ebrowse-toggle-mark-at-point): Remove unused variable `pnt'. - Use `ignore-errors'. - (ebrowse-frozen-tree-buffer-name, ebrowse-find-source-file) - (ebrowse-view/find-file-and-search-pattern) - (ebrowse-view/find-member-declaration/definition): - Rename parameter TAGS-FILE-NAME to TAGS-FILE. - (ebrowse-find-class-declaration, ebrowse-view-class-declaration): - Rename parameter PREFIX-ARG to PREFIX. - (ebrowse-tags-read-name): Remove unused variables `start' and - `member-info'. - (ebrowse-display-member-buffer): Rename variable `tags-file-name' - to `tags-file'. - - * progmodes/etags.el (local-find-tag-hook): Declare. - (tag-partial-file-name-match-p, tag-any-match-p, list-tags): - Mark unused parameters. - - * progmodes/executable.el (compilation-error-regexp-alist): Declare. - (executable-interpret): Mark unused parameter. - - * progmodes/flymake.el (flymake-process-sentinel) - (flymake-after-change-function) - (flymake-create-temp-with-folder-structure) - (flymake-get-include-dirs-dot): Mark unused parameters. - (flymake-safe-delete-directory): Remove unused variable `err'. - - * progmodes/gdb-mi.el (speedbar-change-initial-expansion-list) - (speedbar-timer-fn, speedbar-line-text) - (speedbar-change-expand-button-char, speedbar-delete-subblock) - (speedbar-center-buffer-smartly): Declare functions. - (gdb-find-watch-expression): Remove unused variable `array'. - (gdb-edit-value, gdb-gdb, gdb-ignored-notification, gdb-thread-created) - (gdb-starting): Mark unused parameters. - (gud-gdbmi-marker-filter): Remove unused variable `output-record'. - (gdb-table-string): Remove unused variable `res'. - (gdb-place-breakpoints): Remove unused variables `flag' and `bptno'. - (gdb-disassembly-handler-custom): Remove unused variable `pos'. - (gdb-display-buffer): Remove unused variable `cur-size'. - - * progmodes/gud.el (gud-def): Use `defalias' instead of `defun' to - allow lexical-binding compilation. - (gud-expansion-speedbar-buttons, gud-gdb-goto-stackframe) - (gud-dbx-massage-args, gud-xdb-massage-args, gud-perldb-massage-args) - (gud-jdb-massage-args, gud-jdb-find-source, gud-find-class): - Mark unused parameters. - (gud-gdb-marker-filter): Remove unused variable `match'. - (gud-find-class): Bind `syntax-symbol' and `syntax-point' to suitable - lambda expressions and funcall them, instead of using `fset'. - - * progmodes/hideif.el (hif-parse-if-exp): Rename parameter - HIF-TOKEN-LIST to TOKEN-LIST and let-bind `hif-token-list'. - - * progmodes/hideshow.el (hs-hide-block-at-point): Remove unused - variable `header-beg'; use `let'. - - * progmodes/icon.el (indent-icon-exp): Remove unused variables - `restart', `last-sexp' and `at-do'. - - * progmodes/js.el (js--debug): Mark unused parameter. - (js--parse-state-at-point): Remove unused variable `bound'; use `let'. - (js--splice-into-items): Remove unused variable `item'. - (js--read-symbol, js--read-tab): Pass 1/-1 to `ido-mode', not t/nil. - - * progmodes/make-mode.el (makefile-make-font-lock-keywords): - Rename parameter FONT-LOCK-KEYWORDS to FL-KEYWORDS. - (makefile-complete): Remove unused variable `try'. - (makefile-fill-paragraph, makefile-match-function-end): - Mark unused parameters. - - * progmodes/octave-inf.el (inferior-octave-complete): - Remove unused variable `proc'. - (inferior-octave-output-digest): Mark unused parameter. - - * progmodes/perl-mode.el (perl-calculate-indent): - Remove unused variable `err'. - - * progmodes/prolog.el (prolog-mode-keybindings-inferior) - (prolog-indent-line): Mark unused parameters. - (prolog-indent-line): Remove unused variable `beg'. - - * progmodes/ps-mode.el (reporter-prompt-for-summary-p) - (reporter-dont-compact-list): Declare. - - * progmodes/sh-script.el (sh-font-lock-quoted-subshell): - Remove unused variable `char'. - (sh-debug): Mark unused parameter. - (sh-get-indent-info): Remove unused variable `start'. - (sh-calculate-indent): Remove unused variable `var'. - - * progmodes/simula.el (simula-popup-menu): Mark unused parameter. - (simula-electric-keyword): Remove unused variable `null'. - (simula-search-backward, simula-search-forward): Remove unused - variables `begin' and `end'. - - * progmodes/vera-mode.el (vera-guess-basic-syntax): - Remove unused variable `pos'. - (vera-electric-tab, vera-comment-uncomment-region): - Mark unused parameters. - (vera-electric-tab): Rename parameter PREFIX-ARG to PREFIX. - -2011-04-22 Chong Yidong - - * emacs-lisp/package.el (package--builtins, package-alist) - (package-load-descriptor, package-built-in-p, package-activate) - (define-package, package-installed-p) - (package-compute-transaction, package-buffer-info) - (package--push): Doc fix. Distinguish more clearly between - version strings and version lists. - -2011-04-21 Juanma Barranquero - - Lexical-binding cleanup. - - * play/5x5.el (5x5-make-random-solution, 5x5-make-mutate-current) - (5x5-make-mutate-best): - * play/fortune.el (fortune-in-buffer): - * play/gomoku.el (gomoku-init-display): - * play/solitaire.el (solitaire, solitaire-do-check): - * play/tetris.el (tetris-default-update-speed-function): - Mark unused parameters. - - * play/bubbles.el (bubbles-mode): Set `show-trailing-whitespace'. - (bubbles--shift): Remove unused variable `char-org'. - (bubbles--set-faces): Remove unused variable `fg-col'. Simplify. - (bubbles--show-images): Remove unused variable `char'. - - * play/decipher.el (decipher-keypress, decipher-alphabet-keypress) - (decipher-get-undo, decipher-set-map, decipher-complete-alphabet) - (decipher-resync, decipher-loop-with-breaks, decipher--analyze) - (decipher-analyze-buffer): Use ?\s. - (decipher-make-checkpoint): Remove unused variable `mapping'. - - * play/doctor.el (doctor-doc): Rename parameter DOCTOR-SENT to SENT. - - * play/gamegrid.el (gamegrid-add-score-with-update-game-score): - Remove unused variable `result'; use `let'. - - * play/gametree.el (gametree-current-layout, gametree-apply-layout): - Rename parameter TOP-LEVEL to FROM-TOP-LEVEL; use `ignore-errors'. - (gametree-children-shown-p, gametree-compute-reduced-score): - Use `ignore-errors'. - - * play/handwrite.el (ps-lpr-switches): Declare. - (handwrite): Remove unused variables `pmin' and `lastp'. - - * play/hanoi.el (hanoi-move-ring): Remove unused variable `total-steps'. - - * play/landmark.el (landmark-init-display) - (landmark-update-naught-weights): Mark unused parameters. - (landmark-y): Remove unused variable `noise'. Simplify. - (landmark-human-plays): Remove unused variable `score'. - - * play/mpuz.el (mpuz-try-letter): Remove unused variable `message'. - (mpuz-try-proposal): Remove unused variable `game'. - - * play/zone.el (life-patterns): Declare. - -2011-04-20 Juanma Barranquero - - * vc/vc.el (ediff-vc-internal): Declare function. - -2011-04-20 Stefan Monnier - - * shell.el: Use lexical-binding and std completion UI. - (shell-filter-ctrl-a-ctrl-b): Work as a preoutput filter. - (shell-mode): Put shell-filter-ctrl-a-ctrl-b on - comint-preoutput-filter-functions rather than on - comint-output-filter-functions. - (shell-command-completion, shell--command-completion-data) - (shell-filename-completion, shell-environment-variable-completion) - (shell-c-a-p-replace-by-expanded-directory): New functions. - (shell-dynamic-complete-functions, shell-dynamic-complete-command) - (shell-dynamic-complete-filename, shell-replace-by-expanded-directory) - (shell-dynamic-complete-environment-variable): Use them. - (shell-dynamic-complete-as-environment-variable) - (shell-dynamic-complete-as-command): Remove. - (shell-match-partial-variable): Match past point. - * comint.el: Clean up use of completion-at-point-functions. - (comint-completion-at-point): New function. - (comint-mode): Use it completion-at-point-functions. - (comint-dynamic-complete): Make it obsolete. - (comint-replace-by-expanded-history-before-point): Add dry-run arg. - (comint-c-a-p-replace-by-expanded-history): New function. - (comint-dynamic-complete-functions) - (comint-replace-by-expanded-history): Use it. - * minibuffer.el (completion-table-with-terminator): Allow dynamic - termination strings. Try harder to avoid second try-completion. - (completion-in-region-mode-map): Disable bindings that don't work yet. - - * comint.el: Use lexical-binding. Require CL. - (comint-dynamic-complete-functions): Use comint-filename-completion. - (comint-completion-addsuffix): Tweak custom type. - (comint-filename-completion, comint--common-suffix) - (comint--common-quoted-suffix, comint--table-subvert) - (comint--complete-file-name-data): New functions. - (comint-dynamic-complete-as-filename, comint-dynamic-complete-filename) - (comint-dynamic-list-filename-completions): Use them. - (comint-dynamic-simple-complete): Make obsolete. - - * minibuffer.el (completion-in-region-mode): - Keep completion-in-region-mode--predicate global. - (completion-in-region--postch): - Assume completion-in-region-mode--predicate is not null. - - * progmodes/flymake.el (flymake-start-syntax-check-process): - Obey `dir'. Simplify. - - * vc/vc.el (vc-version-ediff): Call ediff-vc-internal directly, since - we're in VC after all. - -2011-04-20 Christoph Scholtes - - * vc/vc.el (vc-diff-build-argument-list-internal) - (vc-version-ediff, vc-ediff): New commands. - (vc-version-diff): Use vc-diff-build-argument-list-internal. - -2011-04-20 Stefan Monnier - - * emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Remove dead code, - add sanity check. - - * obsolete/erc-hecomplete.el: Make obsolete. - * obsolete/: Standardize obsolescence info in the header. - -2011-04-20 Glenn Morris - - * calendar/solar.el (solar-horizontal-coordinates): - Use the longitude argument rather than `calendar-longitude'. - (solar-date-next-longitude): Remove unused locals. - -2011-04-20 Vinicius Jose Latorre - - * whitespace.el: New version 13.2.1. - -2011-04-20 felix (tiny change) - - * whitespace.el (global-whitespace-mode): Keep highlight when - switching between major modes on a file. - -2011-04-19 Stefan Monnier - - * progmodes/octave-mod.el (octave-in-comment-p, octave-in-string-p) - (octave-not-in-string-or-comment-p): Use syntax-ppss so it works with - multi-line comments as well. - -2011-04-19 Juanma Barranquero - - Lexical-binding cleanup. - - * arc-mode.el (archive-mode-revert): - * cmuscheme.el (scheme-interactively-start-process): - * custom.el (custom-initialize-delay): - * dnd.el (dnd-open-local-file, dnd-open-remote-url): - * dos-w32.el (direct-print-region-helper, direct-print-region-function): - * emacs-lock.el (emacs-lock-clear-sentinel): - * ezimage.el (defezimage): - * follow.el (follow-avoid-tail-recenter): - * fringe.el (set-fringe-mode-1): - * generic-x.el (bat-generic-mode-compile): - * help-mode.el (help-info-variable, help-do-xref) - (help-mode-revert-buffer): - * help.el (view-emacs-todo): - * iswitchb.el (iswitchb-completion-help): - * jka-compr.el (jka-compr-make-temp-name, jka-compr-load): - * kmacro.el (kmacro-cycle-ring-next, kmacro-cycle-ring-previous) - (kmacro-delete-ring-head, kmacro-bind-to-key, kmacro-view-macro): - * locate.el (locate-update): - * longlines.el (longlines-encode-region) - (longlines-after-change-function): - * outline.el (outline-isearch-open-invisible): - * ps-def.el (declare-function, charset-dimension, char-width) - (encode-char): - * ps-mule.el (ps-mule-plot-string): - * recentf.el (recentf-make-menu-items, recentf-cancel-dialog) - (recentf-edit-list-select, recentf-edit-list-validate) - (recentf-open-files-action): - * rect.el (delete-whitespace-rectangle-line) - (rectangle-number-line-callback): - * register.el (window-configuration-to-register) - (frame-configuration-to-register): - * scroll-bar.el (scroll-bar-mode, toggle-horizontal-scroll-bar): - * select.el (xselect-convert-to-string, xselect-convert-to-length) - (xselect-convert-to-targets, xselect-convert-to-delete) - (xselect-convert-to-filename, xselect-convert-to-charpos) - (xselect-convert-to-lineno, xselect-convert-to-colno) - (xselect-convert-to-os, xselect-convert-to-host) - (xselect-convert-to-user, xselect-convert-to-class) - (xselect-convert-to-name, xselect-convert-to-integer) - (xselect-convert-to-atom, xselect-convert-to-identity): - * subr.el (declare, ignore, process-kill-without-query) - (text-clone-maintain): - * terminal.el (te-get-char, te-tic-sentinel): - * tool-bar.el (tool-bar-make-keymap): - * tooltip.el (tooltip-timeout, tooltip-hide, tooltip-help-tips): - * type-break.el (type-break-mode, type-break-noninteractive-query): - * view.el (View-back-to-mark): - * wid-browse.el (widget-browse-action, widget-browse-widget) - (widget-browse-widgets, widget-browse-sexp): - * widget.el (define-widget-keywords): - * xt-mouse.el (xterm-mouse-translate, turn-off-xterm-mouse-tracking): - Mark unused parameters. - - * align.el (align-adjust-col-for-rule): Mark unused parameter. - (align-areas): Remove unused variable `look'. - (align-region): Remove unused variables `real-end' and `pos-list'. - - * apropos.el (apropos-score-doc): Remove unused variable `i'. - - * bindings.el (mode-line-modified, mode-line-remote): - Mark unused parameters. - (mode-line-mule-info): Mark unused parameter; don't quote `lambda'. - - * buff-menu.el (Buffer-menu-revert-function): Mark unused parameters. - (Buffer-menu-mode): Mark unused parameter; don't quote `lambda'. - - * comint.el (comint-history-isearch-pop-state) - (comint-postoutput-scroll-to-bottom, comint-truncate-buffer) - (comint-strip-ctrl-m, comint-read-noecho): Mark unused parameters. - (comint-substitute-in-file-name): Doc fix. - - * completion.el (cmpl-statistics-block): Mark unused parameter. - (add-completions-from-tags-table, add-completions-from-lisp-buffer) - (save-completions-to-file, load-completions-from-file): - Remove unused local variable `e'. - - * composite.el (compose-chars): Remove unused variable `len'. - (lgstring-insert-glyph): Remove unused variable `g'. - (compose-glyph-string): Remove unused variables `ascent', - `descent', `lbearing' and `rbearing'. - (compose-glyph-string-relative): Remove unused variables - `lbearing', `rbearing' and `wadjust'. - (compose-gstring-for-graphic): Remove unused variables `header', - `wadjust', `xoff' and `yoff'. Use `let', not `let*'. - (compose-gstring-for-terminal): Remove unused variables `header' - and `nchars'. Use `let', not `let*'. - - * cus-edit.el (Custom-set, Custom-save, custom-reset) - (Custom-reset-current, Custom-reset-saved, Custom-reset-standard) - (Custom-buffer-done, custom-buffer-create-internal) - (custom-browse-visibility-action, custom-browse-group-tag-action) - (custom-browse-variable-tag-action, custom-browse-face-tag-action) - (widget-magic-mouse-down-action, custom-toggle-parent) - (custom-add-parent-links, custom-toggle-hide-variable) - (custom-face-edit-value-visibility-action, custom-face-edit-fix-value) - (custom-toggle-hide-face, face, hook, custom-group-link-action) - (custom-face-menu-create, custom-variable-menu-create, get) - (custom-group-menu-create, Custom-no-edit): Mark unused parameters. - (custom-reset-standard-save-and-update): Remove unused variable `value'. - (customize-apropos): Remove unused variable `tests'. - (custom-group-value-create): Remove unused variable `hidden-p'. - (sort-fold-case): Declare. - - * cus-theme.el (custom-reset-standard-faces-list) - (custom-reset-standard-variables-list): Declare. - (customize-create-theme, custom-theme-revert, custom-theme-write) - (custom-theme-choose-mode, customize-themes, custom-theme-save): - Mark unused parameters. - - * dabbrev.el (dabbrev-completion): Remove unused variable `init'. - - * delim-col.el (delimit-columns-max): Move defvar before first use. - - * descr-text.el (describe-char-categories): Don't quote `lambda'. - (describe-char): Don't quote `lambda'. Mark unused parameter. - - * desktop.el (desktop-save-buffer-p): Mark unused parameter. - (auto-insert): Declare. - (desktop-restore-file-buffer): Rename desktop-* parameters; - mark unused ones. - (desktop-create-buffer): Rename desktop-* parameters and bind them. - (desktop-buffer): Rename desktop-* parameters. - - * dframe.el (x-sensitive-text-pointer-shape, x-pointer-shape): Declare. - (dframe-reposition-frame-xemacs, dframe-help-echo) - (dframe-hack-buffer-menu, dframe-set-timer, dframe-set-timer-internal): - Mark unused parameters. - - * dired-aux.el (backup-extract-version-start, overwrite-query) - (overwrite-backup-query, rename-regexp-query) - (rename-non-directory-query): Declare. - (dired-shell-stuff-it, dired-do-create-files): Mark unused parameters. - (dired-add-entry): Remove unused variable `orig-file-name'. - (dired-copy-file-recursive): Remove unused variable `dirfailed'. - Use parameter PRESERVE-TIME instead of accessing dynamic variable - `dired-copy-preserve-time' directly. - (dired-do-create-files-regexp): Remove unused variable `fn-count'. - (dired-insert-subdir-newpos): Rename unused variable `pos'. - - * dired-x.el (dired-omit-size-limit): Move defcustom before first use. - (dired-virtual-revert, dired-make-relative-symlink): - Mark unused parameters. - (manual-program): Declare. - (dired-x-hands-off-my-keys): Rename parameters of lambda expression. - (inode, s, mode, nlink, uid, gid, size, time, name, sym): Declare them, - wrapped in `with-no-warnings' to avoid replacing one warning by another. - - * dirtrack.el (dirtrack): Remove unused variable `multi-line'. - - * dos-fns.el (dos-8+3-filename): Remove unused variable `i'. - - * echistory.el (electric-history-in-progress, Helper-return-blurb): - Declare. - - * edmacro.el (edmacro-finish-edit): Remove unused variable `kmacro'. - - * electric.el (Electric-command-loop): Rename parameter - INHIBIT-QUIT to INHIBIT-QUITTING and bind `inhibit-quit'. - - * expand.el (expand-in-literal): Remove unused variable `here'. - - * facemenu.el (facemenu-add-new-color): - Remove unused variable `docstring'. - - * faces.el (face-id, make-face-bold, make-face-unbold, make-face-italic) - (make-face-unitalic, make-face-bold-italic): Mark unused parameters. - (face-attr-construct): Mark unused parameter. Doc fix. - (read-color): Remove unused variable `hex-string'. - - * files.el (parse-colon-path): Rename argument CD-PATH to SEARCH-PATH. - (locate-dominating-file): Remove unused vars `prev-file' and `user'. - (remote-file-name-inhibit-cache, revert-buffer): Clean up docstrings. - (display-buffer-other-frame): Remove unused variable `old-window'. - (kill-buffer-hook): Declare. - (insert-file-contents-literally, set-auto-mode, risky-local-variable-p): - Mark unused parameters. - (after-find-file): Pass 1 to `auto-save-mode', not t. - - * files-x.el (auto-insert): Declare. - (modify-file-local-variable-prop-line): Remove unused variable `val'. - - * find-lisp.el (find-lisp-find-dired-internal): Remove unused - variable `buf'. Mark unused parameter. - (find-lisp-insert-directory): Mark unused parameter. - - * format.el (format-decode-run-method): Mark unused parameter; doc fix. - (format-encode-region): Remove unused variables `cur-buf' and `result'. - (format-common-tail): Remove, unused. - (format-deannotate-region): Remove unused variable `loc'. - (format-annotate-region): Remove unused variable `p'. - (format-annotate-single-property-change): Remove unused variables - `default' and `tail'. - - * forms.el (read-file-filter): Declare. - (forms--iif-hook, forms--revert-buffer): Mark unused parameters. - - * frame.el (frame-creation-function-alist): Mark unused parameter. - (frame-geom-spec-cons): Pass FRAME to `frame-geom-value-cons'. - - * hilit-chg.el (hilit-chg-cust-fix-changes-face-list, hilit-chg-clear): - Remove unused parameters. - (hilit-chg-set-face-on-change): Remove unused variable `beg-decr'. - (highlight-compare-with-file): Remove unused variable `buf-b-read-only'. - - * htmlfontify.el (hfy-default-footer, hfy-decor, hfy-invisible) - (hfy-parse-tags-buffer, hfy-prepare-index-i, hfy-prepare-index) - (hfy-prepare-tag-map): Mark unused parameters. - (htmlfontify-buffer): Use `called-interactively-p'. - - * ibuf-ext.el (ibuffer-do-kill-lines, ibuffer-jump-to-buffer) - (ibuffer-copy-filename-as-kill, ibuffer-mark-on-buffer) - (ibuffer-do-occur): Mark unused parameters. - (ibuffer-forward-next-marked): Remove unused variable `curmark'. - (ibuffer-diff-buffer-with-file-1): Remove unused variable `proc'. - - * ibuffer.el: Don't quote `lambda'. - (ibuffer-count-marked-lines, ibuffer-count-deletion-lines) - (ibuffer-unmark-all, ibuffer-toggle-marks, ibuffer-redisplay-engine): - Mark unused parameters. - - * ido.el (ido-mode, ido-wide-find-dir-or-delete-dir) - (ido-completing-read): Mark unused parameters. - (ido-copy-current-word): Mark unused parameters; - remove unused variable `name'. - (ido-sort-merged-list): Remove unused parameter `dirs'. - - * ielm.el (ielm-input-sender): Mark unused parameter. - (ielm-string, ielm-form, ielm-pos, ielm-result, ielm-error-type) - (ielm-output, ielm-wbuf, ielm-pmark): Declare. - (ielm-eval-input): Rename argument IELM-STRING to INPUT-STRING to keep - `ielm-string' as a dynamic variable accessible from the IELM prompt. - Bind `ielm-string' to INPUT-STRING. Remove unused variable `err'. - - * image-dired.el (image-dired-display-thumbs): Remove unused - variables `curr-file' and `count'. - (image-dired-remove-tag): Remove unused variable `start'. - (image-dired-tag-files, image-dired-create-thumbs): Remove unused - variable `curr-file' - (image-dired-rotate-original): Remove unused variable `temp-file'. - (image-dired-mouse-select-thumbnail, image-dired-mouse-toggle-mark): - Remove unused variable `file'. - (image-dired-gallery-generate): Remove unused variable `curr'. - (image-dired-dired-edit-comment-and-tags): Mark unused parameters. - - * indent.el (tab-to-tab-stop): Remove unused variable `opoint'. - - * info-xref.el (info-xref-goto-node-p): Remove unused variable `err'. - - * informat.el (texinfo-command-start, texinfo-command-end): Declare. - - * isearch.el (minibuffer-history-symbol): Declare. - (isearch-edit-string): Remove unused variable `err'. - (isearch-message-prefix, isearch-message-suffix): - Mark unused parameters. - - * ls-lisp.el (ls-lisp-insert-directory): Remove unused variable `fil'. - - * macros.el (insert-kbd-macro): Remove unused variable `mods'. - - * makesum.el (double-column): Remove unused variable `cnt'. - - * misearch.el (multi-isearch-pop-state): Mark unused parameter. - (ido-ignore-item-temp-list): Declare. - - * mouse-drag.el (mouse-drag-throw): Remove unused variables - `mouse-delta', `window-last-row', `mouse-col-delta', `window-last-col', - `adjusted-mouse-col-delta' and `adjusted-mouse-delta'. - (mouse-drag-drag): Remove unused variables `mouse-delta' and - `mouse-col-delta'. - - * mouse-sel.el (mouse-extend-internal): - Remove unused variable `orig-window-frame'. - - * pcomplete.el (pcomplete-args, pcomplete-begins, pcomplete-last) - (pcomplete-index, pcomplete-stub, pcomplete-seen, pcomplete-norm-func): - Move declarations before first use. - (pcomplete-opt): Mark unused parameters; doc fix. - - * proced.el (proced-revert): Mark unused parameter. - (proced-send-signal): Remove unused variable `err'. - - * ps-print.el (ps-print-preprint-region, ps-print-preprint): - Rename parameter PREFIX-ARG to ARG. - (ps-basic-plot-string, ps-basic-plot-whitespace): - Mark unused parameters. - - * replace.el (replace-count): Define. - (occur-revert-function): Mark unused parameters. - (ido-ignore-item-temp-list, isearch-error, isearch-forward) - (isearch-case-fold-search, isearch-string): Declare. - (occur-engine): Rename parameter CASE-FOLD-SEARCH to CASE-FOLD and - bind `case-fold-search'. Remove unused variables `beg' and `end', - and simplify. - (replace-eval-replacement): Rename parameter REPLACE-COUNT to - COUNT and bind `replace-count'. - (replace-loop-through-replacements): Rename parameter REPLACE-COUNT - to COUNT. - - * savehist.el (print-readably, print-string-length): Declare. - - * shadowfile.el (shadow-expand-cluster-in-file-name): - Remove unused variable `cluster'. - (shadow-copy-file): Remove unused variable `i'. - (shadow-noquery, shadow-clusters, shadow-site-cluster) - (shadow-parse-fullname, shadow-parse-name, shadow-define-cluster) - (shadow-define-literal-group, shadow-define-regexp-group) - (shadow-make-group, shadow-shadows-of): Clean up docstrings. - - * shell.el (shell-filter-ctrl-a-ctrl-b): Mark unused parameter. - (shell): Use `called-interactively-p'. - (shell-directory-tracker): Remove unused variable `chdir-failure'. - - * simple.el (compilation-context-lines, comint-file-name-quote-list) - (comint-file-name-chars, comint-delimiter-argument-list): Declare. - (delete-backward-char): Remove unused variable `ocol'. - (minibuffer-avoid-prompt, minibuffer-history-isearch-pop-state) - (line-move-1, event-apply-alt-modifier, event-apply-super-modifier) - (event-apply-hyper-modifier, event-apply-shift-modifier) - (event-apply-control-modifier, event-apply-meta-modifier): - Mark unused parameters. - (undo-make-selective-list): Remove duplicate variable `undo-elt'. - (normal-erase-is-backspace-mode): Remove unused variable `old-state'. - - * speedbar.el (speedbar-ignored-directory-expressions) - (speedbar-supported-extension-expressions, speedbar-directory-buttons) - (speedbar-find-file, speedbar-dir-follow) - (speedbar-directory-buttons-follow, speedbar-tag-find) - (speedbar-buffer-buttons, speedbar-buffer-buttons-temp) - (speedbar-buffers-line-directory, speedbar-buffer-click): - Mark unused parameters. - (speedbar-tag-file): Remove unused variable `mode'. - (speedbar-buffers-tail-notes): Remove unused variable `mod'; simplify. - - * strokes.el (strokes-decode-buffer): Remove unused variable `ext'. - - * talk.el (talk): Remove unused variable `display'. - - * tar-mode.el (tar-subfile-save-buffer): Remove unused variable `name'. - (tar-write-region-annotate): Mark unused parameter. - - * time.el (now, time, load, mail, 24-hours, hour, 12-hours, am-pm) - (minutes, seconds, time-zone, day, year, monthname, month, dayname): - Declare them, wrapped in `with-no-warnings' to avoid replacing one - warning by another. - - * time-stamp.el (time-stamp-string-preprocess): - Remove unused variable `require-padding'. - - * tree-widget.el (widget-glyph-enable): Declare. - (tree-widget-action): Mark unused parameter. - - * w32-fns.el (x-get-selection): Mark unused parameter. - (autoload-make-program, generated-autoload-file): Declare. - - * wdired.el (wdired-revert): Mark unused parameters. - (wdired-xcase-word): Remove unused variable `err'. - - * whitespace.el (whitespace-buffer-changed): Mark unused parameters. - (whitespace-help-scroll): Remove unused variable `data-help'. - - * wid-edit.el (widget-mouse-help, widget-overlay-inactive) - (widget-image-insert, widget-after-change, default) - (widget-default-format-handler, widget-default-notify) - (widget-default-prompt-value, widget-info-link-action) - (widget-url-link-action, widget-function-link-action) - (widget-variable-link-action, widget-file-link-action) - (widget-emacs-library-link-action, widget-emacs-commentary-link-action) - (widget-field-prompt-internal, widget-field-action, widget-field-match) - (widget-choice-mouse-down-action, toggle, widget-radio-button-notify) - (widget-insert-button-action, widget-delete-button-action, visibility) - (widget-documentation-link-action, widget-documentation-string-action) - (widget-const-prompt-value, widget-regexp-match, symbol) - (widget-coding-system-prompt-value) - (widget-key-sequence-value-to-external, sexp) - (widget-sexp-value-to-internal, character, vector, cons) - (widget-choice-prompt-value, widget-boolean-prompt-value) - (widget-color--choose-action): Mark unused parameters. - (widget-item-match-inline, widget-choice-match-inline) - (widget-checklist-match, widget-checklist-match-inline) - (widget-group-match): Rename parameter VALUES to VALS. - (widget-field-value-set): Remove unused variable `size'. - (widget-color-action): Remove unused variables `value' and `start'. - - * windmove.el (windmove-wrap-loc-for-movement): Remove unused - variable `dir'. Doc fix. - (windmove-find-other-window): Don't pass it. - - * window.el (count-windows): Mark unused parameter. - (bw-adjust-window): Remove unused variable `err'. - - * woman.el (woman-file-name): Remove unused variable `default'. - (woman-expand-directory-path): Rename parameters WOMAN-MANPATH and - WOMAN-PATH to PATH-DIRS and PATH-REGEXPS, respectively. - (global-font-lock-mode): Declare. - (woman-decode-region): Mark unused parameter. - (woman-get-tab-stop): Rename parameter TAB-STOP-LIST to TAB-STOPS. - - * x-dnd.el (x-dnd-default-test-function, x-dnd-handle-old-kde) - (x-dnd-handle-xdnd, x-dnd-handle-motif): Mark unused parameters. - (x-dnd-handle-moz-url): Remove unused variable `title'. - (x-dnd-handle-xdnd): Remove unused variables `x', `y' and `ret-action'. - - * xml.el (xml-parse-tag, xml-parse-attlist): - Remove unused variable `pos'. - -2011-04-19 Glenn Morris - - * calendar/cal-tex.el (cal-tex-list-holidays, cal-tex-cursor-month) - (cal-tex-cursor-week, cal-tex-cursor-week2, cal-tex-cursor-week-iso) - (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) - (cal-tex-cursor-filofax-daily, cal-tex-mini-calendar) - * calendar/cal-html.el (cal-html-insert-minical): - * calendar/diary-lib.el (diary-list-entries-1, diary-list-entries) - (calendar-mark-date-pattern): - Prefix "unused" locals. - - * calendar/cal-dst.el (dst-adjust-time): Remove never-implemented - optional argument `style'. - - * calendar/appt.el (appt-make-list): - * calendar/cal-china.el (calendar-chinese-date-string): - * calendar/cal-hebrew.el (calendar-hebrew-list-yahrzeits) - (diary-hebrew-yahrzeit): - * calendar/cal-tex.el (cal-tex-last-blank-p, cal-tex-cursor-week2): - * calendar/calendar.el (calendar-generate-window): - * calendar/time-date.el (time-to-days): - Remove unused local variables. - -2011-04-18 Chong Yidong - - * emacs-lisp/tabulated-list.el (tabulated-list-mode): Use a custom - glyphless-char-display table. - (tabulated-list-glyphless-char-display): New var. - -2011-04-18 Sam Steingold - - * vc/add-log.el (change-log-font-lock-keywords): Add "Thanks to" - to acknowledgments. - -2011-04-17 Glenn Morris - - * calendar/diary-lib.el (diary-sexp-entry): - * calendar/holidays.el (holiday-sexp): - Set debug-on-error rather than the removed stack-trace-on-error. - -2011-04-16 Glenn Morris - - * progmodes/f90.el: Use lexical-binding. - (f90-get-correct-indent): Remove unnecessary local variable `cont'. - -2011-04-15 Stefan Monnier - - * mail/sendmail.el (mail-mode-map): Use completion-at-point. - (mail-mode): Setup mailalias completion here instead. - * mail/mailalias.el: Use lexical-binding. - (pattern, mailalias-done): Declare dynamic. - (mail-completion-at-point-function): New function, from mail-complete. - (mail-complete): Use it. - (mail-completion-expand): New function. - (mail-get-names): Use it. - (mail-directory, mail-directory-process, mail-directory-stream): - Don't use `pattern' for lexically bound arg. - - * emacs-lisp/lisp-mode.el (eval-defun-2): Use eval-sexp-add-defvars. - - * htmlfontify.el (hfy-etags-cmd): Remove inoperant eval-and-compile. - (hfy-e2x-etags-cmd, hfy-etags-cmd-alist-default) - (hfy-etags-cmd-alist): Don't eval-and-compile any more. - - * emacs-lisp/bytecomp.el (byte-temp-output-buffer-show) - (byte-save-window-excursion, byte-temp-output-buffer-setup) - (byte-interactive-p): Define them again, for use when inlining - old code. - -2011-04-15 Juanma Barranquero - - * loadup.el: Use `string-to-number', not `string-to-int'. - -2011-04-15 Stefan Monnier - - * progmodes/gud.el (gud-gdb): Use completion-at-point instead of - gud-gdb-complete-command. - (gud-gdb-completions): New function, from gud-gdb-complete-command. - (gud-gdb-completion-at-point): New function. - (gud-gdb-completions): Remove. - -2011-04-14 Michael Albinus - - * net/tramp-sh.el (tramp-sh-handle-file-attributes): Handle the case - when the scripts fail. Use `tramp-do-file-attributes-with-ls' then. - (tramp-do-copy-or-rename-file-out-of-band): Do not check any longer - whether `executable-find' is bound. - - * net/tramp-smb.el (tramp-smb-handle-copy-file): Fix docstring. - -2011-04-14 Stefan Monnier - - * minibuffer.el (completion-in-region-mode-predicate) - (completion-in-region-mode--predicate): New vars. - (completion-in-region, completion-in-region--postch) - (completion-in-region-mode): Use them. - (completion--capf-wrapper): Also return the hook function. - (completion-at-point, completion-help-at-point): - Adjust and provide a predicate. - - Preserve arg names for advice of subr and lexical functions (bug#8457). - * help-fns.el (help-function-arglist): Consolidate the subr and - new-byte-code cases. Add argument `preserve-names' to extract names - from the docstring when needed. - * emacs-lisp/advice.el (ad-define-subr-args, ad-undefine-subr-args) - (ad-subr-args-defined-p, ad-get-subr-args, ad-subr-arglist): Remove. - (ad-arglist): Use help-function-arglist's new arg. - (ad-definition-type): Use cond. - -2011-04-13 Juanma Barranquero - - * autorevert.el (auto-revert-handler): - Bind `remote-file-name-inhibit-cache', not `tramp-cache-inhibit-cache', - which was removed in 2010-10-02T13:21:43Z!michael.albinus@gmx.de. - Don't quote lambda. - - * image-mode.el (image-transform-set-scale): - Fix change in 2011-04-09T20:28:01Z!cyd@stupidchicken.com. - -2011-04-12 Lars Magne Ingebrigtsen - - * net/network-stream.el (network-stream-open-starttls): Only do - opportunistic STARTTLS upgrades if we have built-in GnuTLS support. - Upgrades via gnutls-cli are too slow to be done opportunistically. - -2011-04-12 Juanma Barranquero - - * dframe.el (dframe-current-frame): Remove spurious quote. - -2011-04-12 Glenn Morris - - * calendar/cal-tex.el (cal-tex-end-document): - Try to automatically use latin1 input if needed. - - * calendar/cal-hebrew.el (diary-hebrew-rosh-hodesh): - Don't try to cons a mark onto an empty element. - -2011-04-11 Leo Liu - - * ido.el (ido-buffer-internal): Allow method 'kill for virtual - buffers. - (ido-kill-buffer-at-head): Support killing virtual buffers. - -2011-04-10 Chong Yidong - - * minibuffer.el (completion-show-inline-help): New var. - (completion--do-completion, minibuffer-complete) - (minibuffer-force-complete, minibuffer-complete-word): - Inhibit minibuffer messages if completion-show-inline-help is nil. - - * icomplete.el (icomplete-mode): Bind completion-show-inline-help - to avoid interference from inline help (Bug#5849). - -2011-04-10 Leo Liu - - * emacs-lisp/tabulated-list.el (tabulated-list-print-entry): - Fix typo. - -2011-04-09 Chong Yidong - - * image-mode.el (image-toggle-display-image): Signal an error if - not in Image mode. - (image-transform-mode, image-transform-resize) - (image-transform-set-rotation): Doc fix. - (image-transform-set-resize): Delete. - (image-transform-set-scale, image-transform-fit-to-height) - (image-transform-fit-to-width): Handle image-toggle-display-image - and image-transform-resize directly. - -2011-04-08 Sho Nakatani - - * doc-view.el (doc-view-fit-width-to-window) - (doc-view-fit-height-to-window, doc-view-fit-page-to-window): - New functions for fitting the shown image to the Emacs window size. - (doc-view-mode-map): Add bindings for the new functions. - -2011-04-08 Juanma Barranquero - - * vc/vc-annotate.el (vc-annotate-show-log-revision-at-line): - Fix typo in docstring. - -2011-04-08 Eli Zaretskii - - * files.el (file-size-human-readable): Produce one digit after - decimal, like "ls -lh" does. - - * ls-lisp.el (ls-lisp-format-file-size): Allow for 7 characters in - the file size representation. - - * simple.el (list-processes): If async subprocesses are not - available, error out with a clear error message. - -2011-04-08 Chong Yidong - - * help.el (help-form-show): New function, to be called from C. - Put help-form output in a buffer named differently than *Help*. - -2011-04-08 Eli Zaretskii - - * files.el (file-size-human-readable): New function. - - * ls-lisp.el (ls-lisp-format-file-size): Use it, instead of - computing the representation inline. Don't require `cl'. - -2011-04-08 Glenn Morris - - * man.el (Man-page-header-regexp): Solaris < 2.6 no longer supported. - - * net/browse-url.el (browse-url-firefox): - Test system-type, not system-configuration. - - * vc/log-edit.el (log-edit-empty-buffer-p): New function. - (log-edit-insert-cvs-template, log-edit-insert-cvs-rcstemplate): - Use log-edit-empty-buffer-p. (Bug#7598) - - * net/rlogin.el (rlogin-process-connection-type): Simplify. - (rlogin-mode-map): Initialize in the defvar. - (rlogin): Use ignore-errors. - - * replace.el (occur-mode-map): Some fixes for menu items. - -2011-04-07 Aaron S. Hawley - - * play/morse.el (denato-region): Handle varying case. (Bug#8386) - -2011-04-06 Chong Yidong - - * emacs-lisp/cconv.el (cconv--analyse-use): Ignore "ignored" when - issuing unused warnings. - - * emacs-lisp/tabulated-list.el (tabulated-list-print): Use lambda - macro directly. - - * simple.el: Lisp reimplement of list-processes. Based on an - earlier reimplementation by Leo Liu, but using tabulated-list.el. - (process-menu-mode): New major mode. - (list-processes--refresh, list-processes): - (process-menu-visit-buffer): New functions. - - * files.el (save-buffers-kill-emacs): Don't assume any return - value of list-processes, which is undocumented anyway. - -2011-04-06 Chong Yidong - - * emacs-lisp/tabulated-list.el: New file. - - * emacs-lisp/package.el: Use Tabulated List mode. - (package-menu-mode-map): Inherit from tabulated-list-mode-map. - (package-menu-mode): Derive from tabulated-list-mode. Set up the - table format using Tabulated List mode variables. - (package--push): New macro, replacing package-list-maybe-add. - (package-menu--generate): Use package--push. Renamed from - package--generate-package-list. - (package-menu-refresh, list-packages): Use it. - (package-menu--print-info): Rename from package-print-package. - Return insertion data instead of inserting it directly. - (package-menu-describe-package, package-menu-execute): - Use tabulated-list-get-id. - (package-menu-mark-delete, package-menu-mark-install) - (package-menu-mark-unmark, package-menu-backup-unmark) - (package-menu-mark-obsolete-for-deletion): - Use tabulated-list-put-tag. - (package--list-packages, package-menu-revert) - (package-menu-get-package, package-menu-get-version) - (package-menu-sort-by-column): Functions deleted. - (package-menu-package-list, package-menu-sort-key): Vars deleted. - (package-menu--status-predicate, package-menu--version-predicate) - (package-menu--name-predicate) - (package-menu--description-predicate): Handle arguments in the - Tabulated List format. - (package-list-packages-no-fetch): Call list-packages. - -2011-04-06 Juanma Barranquero - - * files.el (after-find-file-from-revert-buffer): Remove variable. - (after-find-file): Don't bind it. - (revert-buffer-in-progress-p): New variable. - (revert-buffer): Bind it. - Pass nil for `after-find-file-from-revert-buffer'. - - * saveplace.el (save-place-find-file-hook): Use new variable - `rever-buffer-in-progress-p', not `after-find-file-from-revert-buffer'. - -2011-04-06 Glenn Morris - - * Makefile.in (AUTOGEN_VCS): New variable. - (autoloads): Use $AUTOGEN_VCS. - - * calendar/cal-move.el (calendar-scroll-toolkit-scroll): New function. - * calendar/calendar.el (calendar-mode-map): - Check for toolkit scroll bars. (Bug#8305) - -2011-04-05 Chong Yidong - - * minibuffer.el (completion-in-region--postch) - (completion-in-region-mode): Remove unnecessary messages. - -2011-04-05 Juanma Barranquero - - * font-lock.el (font-lock-refresh-defaults): - Don't bind `hi-lock--inhibit-font-lock-hook', removed in - 2010-10-09T04:09:19Z!cyd@stupidchicken.com and 2010-10-11T23:57:49Z!lekktu@gmail.com (2010-10-12). - - * info.el (Info-directory-list, Info-read-node-name-2) - (Info-split-parameter-string): Doc fixes. - (Info-virtual-nodes): Reflow docstring. - (Info-find-file, Info-directory-toc-nodes, Info-history-toc-nodes) - (Info-apropos-toc-nodes, info-finder, Info-get-token) - (Info-find-emacs-command-nodes, Info-speedbar-key-map): - Fix typos in docstrings. - (Info-revert-buffer-function, Info-search, Info-isearch-pop-state) - (Info-speedbar-hierarchy-buttons, Info-speedbar-goto-node) - (Info-speedbar-buttons, Info-desktop-buffer-misc-data) - (Info-restore-desktop-buffer): Mark unused parameters. - (Info-directory-find-file, Info-directory-find-node) - (Info-history-find-file, Info-history-find-node, Info-toc-find-node) - (Info-virtual-index-find-node, Info-apropos-find-file) - (Info-apropos-find-node, Info-finder-find-file, Info-finder-find-node): - Mark unused parameters; fix typos in docstrings. - (Info-virtual-index): Remove unused local variable `nodename'. - -2011-04-05 Deniz Dogan - - * net/rcirc.el: Update my e-mail address. - (rcirc-mode-map): Remove M-o binding. - -2011-04-05 Chong Yidong - - * startup.el (command-line): Save the cursor's theme-face - directly, instead of using face-override-spec. - - * custom.el (load-theme): Minor optimization in assigning faces. - -2011-04-04 Juanma Barranquero - - * help-fns.el (describe-variable): Complete all variables having - documentation, including keywords. - http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00112.html - -2011-04-04 Juanma Barranquero - - Convert to lexical-binding. - - * bs.el (bs-refresh, bs-sort-buffer-interns-are-last) - (bs--get-marked-string, bs--get-modified-string) - (bs--get-readonly-string, bs--get-size-string, bs--get-name) - (bs--get-mode-name, bs--get-file-name): Mark unused arguments. - (bs--configuration-name-for-prefix-arg): Rename argument PREFIX-ARG. - - * ehelp.el (electric-help-execute-extended) - (electric-help-ctrl-x-prefix): - * hexl.el (hexl-revert-buffer-function): - * linum.el (linum-after-change, linum-after-scroll): - * emacs-lisp/re-builder.el (reb-auto-update): Mark unused arguments. - - * help-fns.el (help-describe-category-set): Remove unused ERR variable. - -2011-04-04 Daiki Ueno - - * epa-dired.el: - * epa-mail.el: - * epa-hook.el: - * epa-file.el: - * epa.el: - * epg.el: Use lexical binding. - -2011-04-03 Chong Yidong - - * dired-aux.el (dired-create-files): Add docstring (Bug#7970). - - * textmodes/flyspell.el (flyspell-word): Recognize default - dictionary case for flyspell-mark-duplications-exceptions. - Use regexp matching for languages. - (flyspell-mark-duplications-exceptions): Add "that" and "had" for - default dictionary (Bug#7926). - -2011-04-02 Chong Yidong - - * emacs-lisp/package.el (package--with-work-buffer): - Recognize https URLs. - - * net/network-stream.el: Move from gnus/proto-stream.el. - Change prefix to network-stream throughout. - (open-protocol-stream): Merge into open-network-stream, leaving - open-protocol-stream as an alias. Handle nil BUFFER args. - - * subr.el (open-network-stream): Move to net/network-stream.el. - -2011-04-02 Glenn Morris - - * find-dired.el (find-exec-terminator): New option. - (find-ls-option): Test for -ls support. - (find-ls-subdir-switches): Test for -b in find-ls-option. - (find-dired, find-grep-dired): Doc fixes. - (find-dired): Use find-exec-terminator. - - * find-dired.el (find-ls-option, find-ls-subdir-switches) - (find-grep-options): Do not autoload these defcustoms, remove purecopy. - (find-name-arg): Remove purecopy. - - * progmodes/grep.el (grep-find-use-xargs): Doc fix. - (grep-compute-defaults): Check for `-exec COMMAND +' support. - Set grep-find-use-xargs, grep-find-command, and grep-find-template - accordingly. Don't add the null-device if not needed. - - * files.el (save-some-buffers): Doc fix. - -2011-04-02 Eli Zaretskii - - * makefile.w32-in (EMACS): Default to ../src/$(BLD)/emacs.exe. - -2011-04-01 Juanma Barranquero - - * progmodes/idlwave.el (idlwave-one-key-select, idlwave-list-abbrevs): - Use `dolist' rather than `mapcar'. - -2011-04-01 Stefan Monnier - - Add lexical binding. - - * subr.el (apply-partially): Use new closures rather than CL. - (--dolist-tail--, --dotimes-limit--): Don't declare dynamic. - (dolist, dotimes): Use slightly different expansion for lexical code. - (functionp): Move to C. - (letrec): New macro. - (with-wrapper-hook): Use it and apply-partially instead of CL. - (eval-after-load): Preserve lexical-binding. - (save-window-excursion, with-output-to-temp-buffer): Turn them - into macros. - - * simple.el (with-wrapper-hook, apply-partially): Move to subr.el. - - * help-fns.el (help-split-fundoc): Return nil if there's nothing else - than the arglist. - (help-add-fundoc-usage): Don't add `Not documented'. - (help-function-arglist): Handle closures, subroutines, and new - byte-code-functions. - (help-make-usage): Remove leading underscores. - (describe-function-1): Handle closures. - (describe-variable): Use special-variable-p for completion. - - * files.el (lexical-binding): Declare safe. - - * emacs-lisp/pcase.el: Don't use destructuring-bind. - (pcase--memoize): Rename from pcase-memoize. Change weakness. - (pcase): Add `let' pattern. - Change memoization so it actually works. - (pcase-mutually-exclusive-predicates): Add byte-code-function-p. - (pcase--u1) : Fix possible shadowing problem. - : New case. - - * emacs-lisp/macroexp.el: Use lexical binding. - (macroexpand-all-1): Check obsolete macros. Expand compiler-macros. - Don't convert ' to #' without checking that it's indeed quoting - a lambda. - - * emacs-lisp/lisp-mode.el (eval-last-sexp-1): - Use eval-sexp-add-defvars. - (eval-sexp-add-defvars): New fun. - - * emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound. - - * emacs-lisp/eieio.el (byte-compile-file-form-defmethod): - Don't autoload. - (eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather - than the internal `byte-compile-lambda'. - (defmethod): Don't hide code under quotes. - (eieio-defmethod): New `code' argument. - - * emacs-lisp/eieio-comp.el: Remove. - - * emacs-lisp/edebug.el (edebug-eval-defun) - (edebug-eval-top-level-form): Use eval-sexp-add-defvars. - (edebug-toggle): Avoid `eval'. - - * emacs-lisp/disass.el (disassemble-internal): Handle new - `closure' objects. - (disassemble-1): Handle new byte codes. - - * emacs-lisp/cl.el (pushnew): Silence warning. - - * emacs-lisp/cl-macs.el (cl-byte-compile-block) - (cl-byte-compile-throw): Remove. - (cl-block-wrapper, cl-block-throw): Use compiler-macros instead. - - * emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL - closures. - - * emacs-lisp/cconv.el: New file. - - * emacs-lisp/bytecomp.el: Use lexical binding instead of - a "bytecomp-" prefix. Macroexpand everything as a separate phase. - (byte-compile-initial-macro-environment): - Handle declare-function here. - (byte-compile--lexical-environment): New var. - (byte-stack-ref, byte-stack-set, byte-discardN) - (byte-discardN-preserve-tos): New lap codes. - (byte-interactive-p): Don't use any more. - (byte-compile-push-bytecodes, byte-compile-push-bytecode-const2): - New macros. - (byte-compile-lapcode): Use them and handle new lap codes. - (byte-compile-obsolete): Remove. - (byte-compile-arglist-signature): Handle new byte-code arg"lists". - (byte-compile-arglist-warn): Check late def of inlinable funs. - (byte-compile-cl-warn): Don't silence warnings for compiler-macros - since they should have been expanded by now. - (byte-compile--outbuffer): Rename from bytecomp-outbuffer. - (byte-compile-from-buffer): Remove unused second arg. - (byte-compile-preprocess): New function. - (byte-compile-toplevel-file-form): New function to distinguish - file-form calls from outside from file-form calls from hunk-handlers. - (byte-compile-file-form): Simplify. - (byte-compile-file-form-defsubst): Remove. - (byte-compile-file-form-defmumble): Simplify now that - byte-compile-lambda always returns a byte-code-function. - (byte-compile): Preprocess. - (byte-compile-byte-code-maker, byte-compile-byte-code-unmake): - Remove, not used any more. - (byte-compile-arglist-vars, byte-compile-make-lambda-lexenv) - (byte-compile-make-args-desc): New funs. - (byte-compile-lambda): Handle lexical functions. Always return - a byte-code-function. - (byte-compile-reserved-constants): New var, to make up room for - closed-over variables. - (byte-compile-constants-vector): Obey it. - (byte-compile-top-level): New args `lexenv' and `reserved-csts'. - (byte-compile-macroexpand-declare-function): New function. - (byte-compile-form): Call byte-compile-unfold-bcf to inline immediate - byte-code-functions. - (byte-compile-form): Check obsolescence here. - (byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions. - (byte-compile-variable-ref): Remove. - (byte-compile-dynamic-variable-op): New fun. - (byte-compile-dynamic-variable-bind, byte-compile-variable-ref) - (byte-compile-variable-set): New funs. - (byte-compile-discard): Add 2 args. - (byte-compile-stack-ref, byte-compile-stack-set) - (byte-compile-make-closure, byte-compile-get-closed-var): New funs. - (byte-compile-funarg, byte-compile-funarg-2): Remove, handled in - macroexpand-all instead. - (byte-compile-quote-form): Remove. - (byte-compile-push-binding-init, byte-compile-not-lexical-var-p) - (byte-compile-bind, byte-compile-unbind): New funs. - (byte-compile-let): Handle let* and lexical binding. - (byte-compile-let*): Remove. - (byte-compile-catch, byte-compile-unwind-protect) - (byte-compile-track-mouse, byte-compile-condition-case): - Handle a new :fun-body form, used for lexical scoping. - (byte-compile-save-window-excursion) - (byte-compile-with-output-to-temp-buffer): Remove. - (byte-compile-defun): Simplify. - (byte-compile-stack-adjustment): New fun. - (byte-compile-out): Use it. - (byte-compile-refresh-preloaded): Don't reload byte-compiler files. - - * emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile' - handler any more. - - * emacs-lisp/byte-opt.el: Use lexical binding. - (byte-inline-lapcode): Remove (to bytecomp). - (byte-compile-inline-expand): Pay attention to inlining to/from - lexically bound code. - (byte-compile-unfold-lambda): Don't handle byte-code-functions - any more. - (byte-optimize-form-code-walker): Don't handle save-window-excursion - any more and don't call compiler-macros. - (byte-compile-splice-in-already-compiled-code): Remove. - (byte-code): Don't inline any more. - (disassemble-offset): Receive `bytes' as argument rather than via - dynamic scoping. - (byte-compile-tag-number): Declare before first use. - (byte-decompile-bytecode-1): Handle new byte-codes, don't change - `return' even if make-spliceable. - (byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove - obsolete interactive-p. - (byte-optimize-lapcode): Optimize new lap-codes. - Don't trip up on new form of `byte-constant' lap code. - - * emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros. - - * emacs-lisp/advice.el (ad-arglist): Use help-function-arglist. - - * custom.el (custom-initialize-default, custom-declare-variable): - Use `defvar'. - - * Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS): - New variables. - (compile-onefile, .el.elc, compile-calc, recompile): Use them. - (COMPILE_FIRST): Add macroexp and cconv. - * makefile.w32-in: Mirror changes in Makefile.in. - - * vc/cvs-status.el: - * vc/diff-mode.el: - * vc/log-edit.el: - * vc/log-view.el: - * vc/smerge-mode.el: - * textmodes/bibtex-style.el: - * textmodes/css-mode.el: - * startup.el: - * uniquify.el: - * minibuffer.el: - * newcomment.el: - * reveal.el: - * server.el: - * mpc.el: - * emacs-lisp/smie.el: - * doc-view.el: - * dired.el: - * abbrev.el: Use lexical binding. - -2011-04-01 Eli Zaretskii - - * info.el (info-display-manual): New function. - -2011-03-31 Stefan Monnier - - * loadup.el: Load minibuffer after loaddefs, to use define-minor-mode. - -2011-03-31 Tassilo Horn - - * net/rcirc.el (rcirc-handler-001): Only authenticate, if there's - an entry for that server in rcirc-authinfo. (Bug#8385) - -2011-03-31 Glenn Morris - - * progmodes/f90.el (f90-find-tag-default): Handle multiple `%'. - - * generic-x.el (etc-fstab-generic-mode): Add ext4, sysfs keywords. - -2011-03-30 Christoph Scholtes - - * progmodes/python.el (python-default-interpreter) - (python-python-command-args, python-jython-command-args) - (python-which-shell, python-which-args, python-which-bufname) - (python-file-queue, python-comint-output-filter-function) - (python-toggle-shells, python-shell): Remove obsolete defcustoms, - variables and functions. - -2011-03-30 Stefan Monnier - - * minibuffer.el (completion-table-dynamic): Optimize `boundaries'. - (completion-in-region-mode): New minor mode. - (completion-in-region): Use it. - (completion-in-region--data, completion-in-region-mode-map): New vars. - (completion-in-region--postch): New function. - (completion--capf-misbehave-funs, completion--capf-safe-funs): - New vars. - (completion--capf-wrapper): New function. - (completion-at-point): Use it to track well-behavedness of - hook functions. - (completion-help-at-point): New command. - -2011-03-30 Jason Merrill (tiny change) - - * vc/add-log.el (add-change-log-entry): Don't use whitespace - syntax class to search for whitespace on a single line - (Message-ID: <4D938140.4030905@redhat.com>). - -2011-03-30 Leo Liu - - * abbrev.el (abbrev-edit-save-to-file, abbrev-edit-save-buffer): - New commands. - (edit-abbrevs-map): Bind them here. - (write-abbrev-file): New optinal arg VERBOSE. (Bug#5937) - -2011-03-29 Ken Manheimer - - * allout.el (allout-hide-by-annotation, allout-flag-region): - Reduce possibility of overlay leakage by making them volatile. - - * allout-widgets.el (allout-widgets-tally): Define as nil so the - hash is not shared between buffers. Mode initialization is - responsible for giving it a useful starting value. - (allout-item-span): Reduce possibility of overlay leakage by - making them volatile. - (allout-widgets-count-buttons-in-region): Add diagnostic function - for tracking down button overlay leaks. - -2011-03-29 Leo Liu - - * ido.el (ido-read-internal): Use the default history var - minibuffer-history if no HISTORY is specified. - -2011-03-28 Brian T. Sniffen (tiny change) - - * net/imap.el (imap-shell-open, imap-process-connection-type): - Use imap-process-connection-type for 'shell' streams as well as - Kerberos, SSL, other subprocesses. - -2011-03-28 Leo Liu - - * abbrev.el (abbrev-table-empty-p): New function. - (prepare-abbrev-list-buffer): Place empty abbrev tables after - nonempty ones. (Bug#5937) - -2011-03-27 Jan Djärv - - * cus-start.el (all): Add boolean ns-auto-hide-menu-bar. - -2011-03-27 Leo Liu - - * ansi-color.el (ansi-color-names-vector): Allow cons cell value - for foreground and background colors. - (ansi-color-make-color-map): Adapt. - -2011-03-25 Leo Liu - - * midnight.el (midnight-time-float): Remove. Note it calculates - the microsecond component incorrectly and seconds-to-time does the - same job. - Remove redundant (require 'timer). - - * ido.el (ido-read-internal): Simplify with read-from-minibuffer. - (ido-completions): Remove unused arguments. (Bug#8329) - -2011-03-24 Stefan Monnier - - * minibuffer.el (completion--flush-all-sorted-completions): - Remove itself from hook. - (completion-at-point): Let the functions perform the completion - immediately and return nil or t. - * comint.el (comint-dynamic-complete-functions): Now identical to - completion-at-point-functions. - (comint-dynamic-list-input-ring): Remove unused var `index'. - (comint--match-partial-filename, comint--unquote&expand-filename): - New funs, split from comint-match-partial-filename. - (comint-dynamic-complete): Use completion-at-point. - (comint-dynamic-complete-filename): Use comint--match-partial-filename. - -2011-03-24 Drew Adams - - * thingatpt.el: Support `defun'. - -2011-03-23 Leo Liu - - * abbrevlist.el: Move to obsolete/abbrevlist.el. - - * help-mode.el (help-mode-finish): Tweak regexp. - -2011-03-23 Glenn Morris - - * eshell/esh-opt.el (eshell-eval-using-options): - Do not bind unused local variable `eshell-option-stub'. - - * progmodes/gdb-mi.el (gdb): Fix typo in previous change. - -2011-03-22 Juanma Barranquero - - * emacs-lisp/derived.el (define-derived-mode): Wrap declaration of - keymap variable in `with-no-warnings' to avoid a warning when the - keymap has been already `defconst'ed. - -2011-03-22 Leo Liu - - * abbrev.el (write-abbrev-file): Use utf-8 for writing if it can - encode all chars in abbrevs; otherwise use emacs-mule or - utf-8-emacs. (Bug#8308) - -2011-03-22 Juanma Barranquero - - * simple.el (backward-delete-char-untabify): - Avoid warning about using `delete-backward-char'. - - * image.el (image-type-file-name-regexps): Make it variable. - `imagemagick-register-types' modifies it, and the user may want - to add new extensions for known image types. - (imagemagick-register-types): Throw error if not using ImageMagick. - -2011-03-22 Leo Liu - - * net/rcirc.el (rcirc-completion-at-point): Return nil if point is - located before rcirc-prompt-end-marker. - (rcirc-complete): Error if point is not after rcirc prompt. - Handle the case when table is nil. - (rcirc-user-authenticated): Define to fix compiler warning. - -2011-03-22 Chong Yidong - - * custom.el (custom--inhibit-theme-enable): Make it affect only - custom-theme-set-variables and custom-theme-set-faces. - (provide-theme): Ignore custom--inhibit-theme-enable. - (load-theme): Enable the theme explicitly if NO-ENABLE is non-nil. - (custom-enabling-themes): Delete variable. - (enable-theme): Accept only loaded themes as arguments. - Ignore the special custom-enabled-themes variable. - (custom-enabled-themes): Forbid themes from setting this. - Eliminate use of custom-enabling-themes. - (custom-push-theme): Quote "changed" custom var entry. - -2011-03-21 Leo Liu - - * ido.el (ido-read-internal): Add ido-selected to history instead - of user input. - -2011-03-21 Stefan Monnier - - * subr.el (deferred-action-list, deferred-action-function): - Mark obsolete. - -2011-03-21 Leo Liu - - * vc/log-view.el: Remove (require 'wid-edit), not needed after the - change on 2011-02-13 (bug#8309). - - * minibuffer.el (read-file-name-function): Change default value. - (read-file-name--defaults): Rename from read-file-name-defaults. - (read-file-name-default): Rename from read-file-name. - (read-file-name): Call read-file-name-function. - -2011-03-21 Glenn Morris - - * eshell/esh-opt.el (eshell-eval-using-options, eshell-process-args): - Doc fixes. - -2011-03-21 Chong Yidong - - * cus-theme.el: Add missing provide statement. - (customize-create-theme): Extract theme value correctly. - (custom-theme-visit-theme): Autoload. - (customize-create-theme): Prompt before inserting default faces. - -2011-03-20 Jay Belanger - - * calc/calc-menu.el (calc-units-menu): Add entries for logarithmic - units and musical notes. - -2011-03-20 Leo Liu - - * ido.el (ido-read-internal): Use completing-read-default. - (ido-completing-read): Fix compatibility with completing-read. - -2011-03-20 Christian Ohler - - * emacs-lisp/ert.el (ert-run-tests-batch): Remove unused variable. - (ert-delete-all-tests): Use `called-interactively-p' rather than - `interactive-p'. - (ert--make-xrefs-region): Respect END. - -2011-03-19 Chong Yidong - - * dired-aux.el (dired-create-directory): Signal an error if the - directory already exists (Bug#8246). - - * facemenu.el (list-colors-display): Call list-faces-display - inside with-help-window. - (list-colors-print): Use display property to align the final - column, instead of checking window-width. - -2011-03-19 Eli Zaretskii - - * vc/emerge.el (emerge-metachars): Separate value for ms-dos and - windows-nt systems. - (emerge-protect-metachars): Quote correctly for ms-dos and - windows-nt systems. - -2011-03-19 Ralph Schleicher - - * info.el (info-initialize): Replace all uses of `:' with - path-separator for compatibility with non-Unix systems. - Cache quoting of path-separator. (Bug#8258) - -2011-03-19 Juanma Barranquero - - * avoid.el (mouse-avoidance-mode, mouse-avoidance-nudge-dist) - (mouse-avoidance-threshold, mouse-avoidance-banish-destination) - (mouse-avoidance-mode): Fix typos in docstrings. - -2011-03-19 Chong Yidong - - * startup.el (package-subdirectory-regexp): Move from package.el. - Omit \\` and \\', and let callers add them. - - * emacs-lisp/package.el (package-strip-version) - (package-load-all-descriptors): Add \\` and \\' to - package-subdirectory-regexp before using it. - (package-untar-buffer): New arg DIR; ensure that file untars only - into this expected directory. Remove superfluous delete-region. - (package-unpack): Caller changed. - (package-tar-file-info): Use package-subdirectory-regexp. - -2011-03-18 Stefan Monnier - - * vc/diff-mode.el (diff-mode-map): Shadow problematic bindings from - diff-mode-shared-map (bug#8284). - (diff-mode-shared-map): Re-introduce some bindings that were problematic. - -2011-03-17 Lars Magne Ingebrigtsen - - * calendar/time-date.el (format-seconds): Use assoc instead of - assoc-string, since assoc-string doesn't exist in XEmacs. - -2011-03-17 Juanma Barranquero - - * custom.el (custom-known-themes): Reflow docstring. - (custom-theme-load-path): Fix typo in docstring. - (load-theme): Fix typo in error message. - (custom-available-themes, custom-variable-theme-value): - Use `let', not `let*'. - -2011-03-17 Jay Belanger - - * calc/README: Mention inclusion of musical notes. - - * calc/calc-units.el (calc-lu-quant): Rename from - `calc-logunits-quantity'. - (calcFunc-lupquant): Rename from `calcFunc-powerquant'. - (calcFunc-lufquant): Rename from `calcFunc-fieldquant'. - (calc-db): Rename from `calc-dblevel'. - (calcFunc-dbpower): Rename from `calcFunc-dbpowerlevel'. - (calcFunc-dbfield): Rename from `calcFunc-dbfieldlevel'. - (calc-np): Rename from `calc-nplevel'. - (calcFunc-nppower): Rename from `calcFunc-nppowerlevel'. - (calcFunc-npfield): Rename from `calcFunc-npfieldlevel'. - (calc-lu-plus): Rename from `calc-logunits-add'. - (calcFunc-lupadd): Rename from `calcFunc-lupoweradd'. - (calcFunc-lufadd): Rename from `calcFunc-lufieldadd'. - (calc-lu-minus): Rename from `calc-logunits-sub'. - (calcFunc-lupsub): Rename from `calcFunc-lupowersub'. - (calcFunc-lufsub): Rename from `calcFunc-lufieldsub'. - (calc-lu-times): Rename from `calc-logunits-mul'. - (calcFunc-lupmul): Rename from `calcFunc-lupowermul'. - (calcFunc-lufmul): Rename from `calcFunc-lufieldmul'. - (calc-lu-divide): Rename from `calc-logunits-div'. - (calcFunc-lupdiv): Rename from `calcFunc-lupowerdiv'. - (calcFunc-lufdiv): Rename from `calcFunc-lufielddiv'. - - * calc/calc-ext.el (calc-init-extensions): Update the names of the - functions being autoloaded. - - * calc/calc.el (calc-lu-power-reference): Rename from - `calc-logunits-power-reference'. - (calc-lu-field-reference): Rename from - `calc-logunits-field-reference'. - - * calc/calc-help.el (calc-l-prefix-help): - Mention musical note functions. - -2011-03-17 Stefan Monnier - - * minibuffer.el (completion-all-sorted-completions): - Use :completion-cycle-penalty text property if present. - -2011-03-16 Ken Manheimer - - * allout.el (allout-yank-processing): Adjust for new rebulleting - regime so bullet being yanked is used without prompting the user - for a choice. - -2011-03-16 Juanma Barranquero - - * startup.el (command-line): Warn the user that _emacs is deprecated. - -2011-03-16 Juanma Barranquero - - * progmodes/delphi.el (delphi-search-path, delphi-indent-level) - (delphi-verbose, delphi-comment-face, delphi-string-face) - (delphi-keyword-face, delphi-ignore-changes, delphi-indent-line) - (delphi-mode-abbrev-table, delphi-debug-buffer, delphi-tab) - (delphi-find-unit, delphi-find-current-xdef, delphi-fill-comment) - (delphi-new-comment-line, delphi-font-lock-defaults) - (delphi-debug-mode-map, delphi-mode-syntax-table, delphi-mode): - Fix typos in docstrings. - -2011-03-15 Ken Manheimer - - * allout.el (allout-make-topic-prefix, allout-rebullet-heading): - Invert the roles of character and string values for INSTEAD, so a - string is used for the more common case of a defaulting prompt. - -2011-03-15 Stefan Monnier - - * progmodes/ruby-mode.el (ruby-backward-sexp): - * progmodes/ebrowse.el (ebrowse-draw-file-member-info): - * play/gamegrid.el (gamegrid-make-face): - * play/bubbles.el (bubbles--grid-width, bubbles--grid-height) - (bubbles--colors, bubbles--shift-mode, bubbles--initialize-images): - * notifications.el (notifications-notify): - * net/xesam.el (xesam-search-engines): - * net/quickurl.el (quickurl-list-insert): - * vc/vc-hg.el (vc-hg-dir-printer): Fix use of case. - -2011-03-15 Chong Yidong - - * startup.el (command-line): Update package subdirectory regexp. - -2011-03-15 Stefan Monnier - - * allout.el (allout-abbreviate-flattened-numbering) - (allout-mode-deactivate-hook): Fix up obsolescence "date". - - * subr.el (read-char-choice): Only show the cursor after the prompt, - not after the answer. - -2011-03-15 Kevin Ryde - - * help-fns.el (variable-at-point): Skip leading quotes, if any - (bug#8253). - -2011-03-15 Stefan Monnier - - * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the - warning message. - -2011-03-14 Michael Albinus - - * shell.el (shell): When called interactively, offer to change the - shell file name on remote hosts. - -2011-03-13 Teodor Zlatanov - - * net/ldap.el (ldap-search-internal): Add `auth-source-search' - integration for LDAP parameters. The host, base, user or binddn, - and secret tokens can be specified in a netrc file, for instance. - This is optional because an `auth-source' parameter must be - specified in the search attributes. - -2011-03-13 Juanma Barranquero - - * help.el (describe-mode): Link to the mode's definition (bug#8185). - -2011-03-12 Stefan Monnier - - * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization - into declaration. Remove redundant and harmful binding. - -2011-03-12 Eli Zaretskii - - * files.el (file-ownership-preserved-p): Pass `integer' as an - explicit 2nd argument to `file-attributes'. If the file's owner - is the Administrators group on Windows, and the current user is - Administrator, consider that a match. - - * server.el (server-ensure-safe-dir): Consider server directory - safe on MS-Windows if its owner is the Administrators group while - the current Emacs user is Administrator. Use `=' to compare - numerical UIDs, since they could be integers or floats. - -2011-03-12 Juanma Barranquero - - * vc/vc-bzr.el (vc-bzr-state): Handle bzr 2.3.0 (follow-up to bug#8170). - -2011-03-12 Michael Albinus - - Sync with Tramp 2.2.1. - - * net/tramp-sh.el (tramp-methods): Exchange "%k" marker with options. - - * net/trampver.el: Update release number. - -2011-03-12 Stefan Monnier - - * progmodes/compile.el (compilation--previous-directory): Fix up - various nil/dead-marker mismatches (bug#8014). - (compilation-directory-properties, compilation-error-properties): - Don't call it at a position past the one we're about to change. - - * emacs-lisp/bytecomp.el (byte-compile-make-obsolete-variable): - Disable obsolescence warnings in the file that declares it. - -2011-03-11 Ken Manheimer - - * allout-widgets.el (allout-widgets-tally): - Initialize allout-widgets-tally as a hash table rather than nil to - prevent mode-line redisplay warnings. Also, clarify the module - description and fix a comment typo. - -2011-03-11 Juanma Barranquero - - * help-fns.el (describe-variable): Don't complete keywords. - Suggested by Teodor Zlatanov . - -2011-03-10 Chong Yidong - - * emacs-lisp/package.el (package-version-join): Impose a standard - string representation for pre/alpha/beta version lists. - (package-unpack-single): Standardize the directory name by passing - it through package-version-join. - (package-strip-rcs-id): Accept any version string that does not - signal an error in version-to-list. - -2011-03-10 Michael Albinus - - * simple.el (delete-trailing-whitespace): Return nil for the - benefit of `write-file-functions'. - -2011-03-10 Glenn Morris - - * vc/vc-hg.el (vc-hg-pull, vc-hg-merge-branch): Use vc-hg-program. - - * vc/vc-git.el (vc-git-program): New option. - (vc-git-branches, vc-git-pull, vc-git-merge-branch, vc-git-command) - (vc-git--call): Use it. - - * eshell/esh-util.el (eshell-condition-case): Doc fix. - - * cus-edit.el (Custom-newline): If no button at point, look - for a subgroup button at start-of-line. (Bug#2298) - - * mail/rmail.el (rmail-msgend, rmail-msgbeg): Doc fixes. - -2011-03-10 Julien Danjou - - * avoid.el (mouse-avoidance-ignore-p): Do not move the cursor if - `cursor-type' is nil. - -2011-03-09 Jay Belanger - - * calc/calc.el (calc-mode-map): Don't bind "C-_" to `calc-missing-key'. - -2011-03-09 Ken Manheimer - - * allout.el: Change so yank of distinctive-bullet items - preserves the existing header prefix, rebulleting it if necessary, - rather than replacing it. This is necessary for proper operation - of cooperative addons like allout-widgets. - (allout-make-topic-prefix, allout-rebullet-heading): - Change SOLICIT arg to INSTEAD, and interpret additionally a string - value as alternate bullet to be used, instead of prompting the user - for a bullet character. - -2011-03-09 Michael Albinus - - * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): - Do not use `tramp-file-name-port', because this returns also - `tramp-default-port'. - -2011-03-09 Deniz Dogan - - * net/rcirc.el (rcirc-handler-001): Remove useless - with-rcirc-process-buffer. - (rcirc-check-auth-status): Swap arguments to string-match. - -2011-03-09 Glenn Morris - - * shell.el (shell-mode): - Set comint-input-ring-size from HISTSIZE. (Bug#7889) - - * progmodes/gdb-mi.el (gdb): Improve 2010-12-08 change. - Check for GDBHISTFILE, HISTSIZE, etc. (Bug#7889) - -2011-03-08 Chong Yidong - - * emacs-lisp/package.el (package-refresh-contents) - (package-menu-execute): Use condition-case-no-debug. - -2011-03-08 Michael Albinus - - * simple.el (shell-command-to-string): Use `process-file'. - - * emacs-lisp/package.el (package-tar-file-info): Handle also - remote files. - - * emacs-lisp/package-x.el (package-upload-buffer-internal): - Use `equal' for upload base check. - -2011-03-08 Arni Magnusson (tiny change) - - * textmodes/texinfo.el (texinfo-environments): - Add deftypecv, deftypeivar, deftypemethod, deftypeop, html. (Bug#2783) - -2011-03-08 Glenn Morris - - * cus-start.el (cursor-in-non-selected-windows): - Fix :set quoting oddness. (Bug#8192) - - * font-lock.el (lisp-font-lock-keywords-1): Don't highlight `)' - in some setf expressions. (Bug#2159) - -2011-03-08 Chong Yidong - - * custom.el (custom-available-themes): Return themes in - alphabetical order. - -See ChangeLog.15 for earlier changes. +See ChangeLog.16 for earlier changes. ;; Local Variables: ;; coding: utf-8 diff --git a/lisp/ChangeLog.16 b/lisp/ChangeLog.16 new file mode 100644 index 00000000000..e4917441f98 --- /dev/null +++ b/lisp/ChangeLog.16 @@ -0,0 +1,25241 @@ +2013-03-11 Glenn Morris + + * Version 24.3 released. + +2013-03-11 Stefan Monnier + + * recentf.el (recentf-save-file): Use locate-user-emacs-file (bug#13870). + +2013-03-11 Thierry Volpiatto + + * net/net-utils.el (net-utils-remove-ctrl-m-filter): + Use with-current-buffer and don't move point. + (net-utils-run-simple): Remove useless code. + (net-utils-remove-ctl-m): Remove unused custom. + +2013-03-11 Per Starbäck + + * international/characters.el (glyphless-set-char-table-range): New fun. + (update-glyphless-char-display): Use it (bug#13744). + +2013-03-11 Teodor Zlatanov + + * progmodes/cfengine.el: Update for CFEngine 3.4.2 and higher: + namespaces in the syntax, indent closer for hanging brace + correctly, allow single-quote delimited 'strings', and make + `cfengine3-mode' the default. + +2013-03-11 Jean-Philippe Gravel + + * progmodes/gdb-mi.el: Speed up initialization (bug#10580). + Use lexical-binding. Fix up docstring according to conventions. + (gdbmi-debug-mode): New var. + (gdbmi-start-with, gdbmi-same-start, gdbmi-is-number, gdbmi-bnf-init) + (gdbmi-bnf-output, gdbmi-bnf-skip-unrecognized, gdbmi-bnf-gdb-prompt) + (gdbmi-bnf-result-record, gdbmi-bnf-out-of-band-record) + (gdbmi-bnf-async-record, gdbmi-bnf-stream-record) + (gdbmi-bnf-console-stream-output, gdbmi-bnf-target-stream-output) + (gdbmi-bnf-log-stream-output, gdbmi-bnf-result-and-async-record-impl) + (gdbmi-bnf-incomplete-record-result): New functions. + (gdb-car<): Remove function. + (gdbmi-record-list): Remove variable. + (gdbmi-bnf-state, gdbmi-bnf-offset): New vars. + (gdbmi-bnf-result-state-configs): New const. + (gud-gdbmi-marker-filter): Rewrite. + (gdb-ignored-notification, gdb-thread-created, gdb-thread-exited) + (gdb-thread-selected, gdb-running, gdb-starting, gdb-stopped): + Add `token' argument. + (gdb-done, gdb-error): New functions. + (gdb-done-or-error): Add `is-complete' argument. Change arg order. + +2013-03-11 Stefan Monnier + + * term/xterm.el (xterm--report-background-handler): Don't burp + upon timeout. + (xterm--version-handler): Extract from terminal-init-xterm. + (xterm--query): Don't mishandle timeout. Remove debugging messages. + Allow multiple handlers. + (terminal-init-xterm): Handle OSX's Terminal.app's incorrect answer. + + * term/xterm.el: Don't discard input (bug#6758). Use lexical-binding. + (xterm--report-background-handler, xterm--query): New functions. + (terminal-init-xterm): Use them. + +2013-03-11 Michael R. Mauger + + * progmodes/sql.el Version 3.2 + Please note that my address changed to ; + the address remains active. + (sql-connection-alist): Updates documentation to fix bug#13715. + (sql-connect): Handle missing `sql-connection-alist' correctly. + (sql-mode-oracle-font-lock-keywords): Add missing keywords. + (sql-magic-go, sql-magic-semicolon): Mark with `delete-selection' + property. + (sql-default-value): New function. + (sql-get-login-ext, sql-get-login): Fixes bug where buffer-local + values were not used. + (sql-rename-buffer): Make sure alternate buffer name has no text + properties. + (sql-input-sender, sql-execute-feature): Fetch variable with + `buffer-local-value' rather than `with-current-buffer'. + (sql-*): Use #' function syntax consistently. + (sql-*): Use message/error/user-error consistently. + +2013-03-11 Stefan Monnier + + * xt-mouse.el (xterm-mouse-event-read): Remove. + (xterm-mouse--read-event-sequence-1000) + (xterm-mouse--read-event-sequence-1006): Use read-event instead. + +2013-03-10 Stefan Monnier + + * term/xterm.el (xterm-function-map): Support format used with + formatOtherKeys=1 (bug#13839). + + * emacs-lisp/byte-run.el (dont-compile): Declare obsolete. + (with-no-warnings): Use `declare'. + + * whitespace.el (whitespace-enable-predicate): New variable. + (whitespace-enable-predicate): Use it. + + * comint.el (comint-send-input, comint-snapshot-last-prompt) + (comint-output-filter, comint-update-fence): + Use with-silent-modifications. + +2013-03-10 Jambunathan K + + * replace.el (occur-read-regexp-defaults-function): New var. + (occur-read-regexp-defaults): New defun. + (occur-read-primary-args): Propagate above change (bug#13892). + +2013-03-09 Stefan Monnier + + * mouse.el (mouse-drag-track): Remove left-over debugging code. + +2013-03-09 Michael Albinus + + Major rewrite due to changed D-Bus interface of GVFS 1.14. + + * net/tramp-gvfs.el (top): Extend check for gvfs availability. + (tramp-gvfs-methods-mounttracker, tramp-gvfs-listmounts) + (tramp-gvfs-mountlocation, tramp-gvfs-mountlocation-signature): + New defconst. + (tramp-gvfs-file-name-handler-alist) [directory-files] + [directory-files-and-attributes, file-exists-p, file-modes]: + Use Tramp default handler. + [file-acl, file-selinux-context, process-file, set-file-acl]: + [set-file-modes, set-file-selinux-context, shell-command]: + [start-file-process]: Remove handler. + [verify-visited-file-modtime]: New handler. + (tramp-gvfs-dbus-string-to-byte-array) + (tramp-gvfs-dbus-byte-array-to-string): New defuns. Replace all + calls of `dbus-string-to-byte-array' and + `tramp-gvfs-dbus-byte-array-to-string'. + (tramp-gvfs-handle-copy-file) + (tramp-gvfs-handle-delete-directory) + (tramp-gvfs-handle-delete-file, tramp-gvfs-handle-file-attributes) + (tramp-gvfs-handle-file-directory-p) + (tramp-gvfs-handle-file-executable-p) + (tramp-gvfs-handle-file-name-all-completions) + (tramp-gvfs-handle-file-readable-p) + (tramp-gvfs-handle-file-writable-p) + (tramp-gvfs-handle-insert-directory) + (tramp-gvfs-handle-insert-file-contents) + (tramp-gvfs-handle-make-directory, tramp-gvfs-handle-rename-file) + (tramp-gvfs-handle-set-visited-file-modtime) + (tramp-gvfs-handle-write-region): Rewrite. + (tramp-gvfs-handle-file-acl) + (tramp-gvfs-handle-file-selinux-context) + (tramp-gvfs-handle-process-file, tramp-gvfs-handle-set-file-acl) + (tramp-gvfs-handle-set-file-modes) + (tramp-gvfs-handle-set-file-selinux-context) + (tramp-gvfs-handle-shell-command) + (tramp-gvfs-handle-start-file-process) + (tramp-gvfs-handle-verify-visited-file-modtime): Remove defuns. + (tramp-gvfs-url-file-name): Do not use `file-truename', we work + over the symlinks. Fix user handling. + (top, tramp-gvfs-handler-mounted-unmounted): Handle different names + of the D-Bus signals. + (tramp-gvfs-connection-mounted-p): Handle different names of the + D-Bus methods. + (tramp-gvfs-mount-spec-entry): New defun. + (tramp-gvfs-mount-spec): Use it. + (tramp-gvfs-maybe-open-connection): Check, that in case of "smb" + there is a share name. Handle different names of the D-Bus + signals and methods. Set connection properties needed for + `tramp-check-cached-permissions'. + (tramp-gvfs-send-command): Apply `tramp-gvfs-maybe-open-connection'. + Return t or nil. + + * net/tramp.el (tramp-backtrace): Move up. + (tramp-error): Dump a backtrace into the debug buffer when + `tramp-verbose > 9. + (tramp-file-mode-type-map, tramp-file-mode-from-int) + (tramp-file-mode-permissions, tramp-get-local-uid) + (tramp-get-local-gid, tramp-check-cached-permissions): Move from + tramp-sh.el. + + * net/tramp-sh.el (tramp-file-mode-type-map) + (tramp-check-cached-permissions, tramp-file-mode-from-int) + (tramp-file-mode-permissions, tramp-get-local-uid) + (tramp-get-local-gid): Move to tramp.el. + +2013-03-09 Stefan Monnier + + Separate mouse-1-click-follows-link from mouse-drag-region. + * mouse.el (mouse--down-1-maybe-follows-link): New function. + (key-translation-map): Use it to implement mouse-1-click-follows-link. + (mouse-drag-line, mouse-drag-track): + Remove mouse-1-click-follows-link code. + (mouse--remap-link-click-p): Remove. + +2013-03-08 Jambunathan K + + * hi-lock.el (hi-lock-read-regexp-defaults-function): New var. + (hi-lock-read-regexp-defaults): New defun. + (hi-lock-line-face-buffer, hi-lock-face-buffer) + (hi-lock-face-phrase-buffer): Propagate above change. + Update docstring (bug#13892). + + * subr.el (find-tag-default-as-regexp): New defun. + * replace.el (read-regexp): Propagate above change. + +2013-03-08 Jay Belanger + + * calc/calc-units.el (calc-convert-units): Fix the way that default + new units are stored. + +2013-03-07 Matthias Meulien + + * bookmark.el: Define a face to highlight bookmark names in + bookmark menu buffers, where the default is a bold face similarly + to buffer names in buffer menu buffers. + (bookmark-menu-bookmark): New face to highlight bookmark names. + (bookmark-insert-location): Remove duplicated text property to + conform to buffer list (see `list-buffers'). + (bookmark-bmenu-list, bookmark-bmenu-hide-filenames): Apply face + `bookmark-menu-bookmark' to bookmark names. + +2013-03-07 Matthias Meulien + Karl Fogel + + * bookmark.el: Display the bookmark list header similarly to the + buffer list header (see `list-buffers'), where the default is now + an immovable/immutable header line. + (bookmark-bmenu-use-header-line): New variable. + (bookmark-bmenu-inline-header-height): New name for + `bookmark-bmenu-header-height', to avoid confusion with the code + for the new immovable header. All references changed. + (bookmark-bmenu-set-header): New function. + (bookmark-bmenu-list, bookmark-bmenu-toggle-filenames): + Conditionalize header construction accordingly. + (bookmark-bmenu-ensure-position): Conditionalize the skipping of + the inline header height. + (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames): + Conditionalize the skipping of the inline header height. + +2013-03-07 Dmitry Gutov + + * progmodes/js.el (js--multi-line-declaration-indentation): + Merge from js2-mode (https://github.com/mooz/js2-mode/issues/89). + +2013-03-06 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-syntax-propertize-function): + Only propertize regexp when not inside a string (Bug#13885). + +2013-03-06 Alan Mackenzie + + Correct the position of point in some line-up functions. + * progmodes/cc-align.el (c-lineup-whitesmith-in-block) + (c-lineup-assignments, c-lineup-gcc-asm-reg ): Take position of + point at column 0 rather than at a random place in the line. + +2013-03-05 Michael Albinus + + * net/tramp-compat.el (tramp-compat-delete-directory): + Implement TRASH argument. + +2013-03-05 Dmitry Gutov + + Keep pre-existing highlighting in completion candidates (Bug#13250). + * minibuffer.el (completions-first-difference): State that the + face is "added" in the docstring. + (completions-common-part): Same. And don't inherit from default. + (completion-hilit-commonality): Prepend 'completions-common-part + and 'completion-first-difference faces to the 'face property, + instead of replacing the value(s). + (completion--insert-strings): Same with 'completions-annotations face. + (completion-hilit-commonality): Use 'face instead of + 'font-lock-face, because it gets priority if the completion + strings already have 'face set. + +2013-03-04 Alan Mackenzie + + Replace `last-command-event' by `last-command-char' in XEmacs. + * progmodes/cc-defs.el (c-last-command-char): New macro. + * progmodes/cc-align.el (c-semi&comma-inside-parenlist) + (c-semi&comma-no-newlines-before-nonblanks) + (c-semi&comma-no-newlines-for-oneline-inliners): Use the new macro + in place of `last-command-event'. + * progmodes/cc-cmds.el (c-electric-pound, c-electric-brace) + (c-electric-slash, c-electric-semi&comma, c-electric-lt-gt) + (c-electric-paren, c-electric-continued-statement): Use the new + macro in place of `last-command-event'. + +2013-03-04 Glenn Morris + + * files.el (inhibit-local-variables-regexps): + Add .diff and .patch. (Bug#13862) + +2013-03-03 Michael Albinus + + * net/tramp-adb.el (tramp-adb-maybe-open-connection): + Cache, whether the "su" command is available on the device. + +2013-03-01 Michael Albinus + + * net/tramp-adb.el (tramp-adb-prompt): Extend regexp. + (tramp-adb-handle-process-file): Remove superfluous setting. + (tramp-adb-command-exit-status): Handle case that COMMAND is nil. + (tramp-adb-barf-unless-okay): Use `tramp-adb-command-exit-status'. + (tramp-adb-maybe-open-connection): Apply "su" if user is defined. + +2013-03-01 Stefan Monnier + + * textmodes/ispell.el: Fix nitpicks and byte-compiler warnings. + (ispell-print-if-debug): Build `format' in. Avoid end-of-buffer. + (ispell-parse-hunspell-affix-file): Avoid beginning-of-buffer. + Use dict-key rather than dict-name for the error message. + +2013-03-01 Thierry Volpiatto + + * net/net-utils.el (net-utils-run-simple): Don't display-buffer + when reverting (bug#13831). + +2013-03-01 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-find-hunspell-dictionaries): + Always expand affix-file before storing to protect against changed + `default-directory'. + (ispell-print-if-debug): Make sure message is printed at the end + of the debug buffer. + +2013-03-01 Michael Albinus + + * net/tramp.el (tramp-obsolete-methods): New defconst. + (tramp-warned-obsolete-methods): New defvar. + (tramp-find-method): Check for obsolete methods. Map them to a + replacement method if appropriate. + + * net/tramp-sh.el (tramp-methods) [scp1, scp2, ssh1, ssh2, plink1]: + Remove methods. + (top): Remove completion functions for "scp1", "scp2", "ssh1", + "ssh2" and "plink1". + +2013-02-28 Dale Sedivec + + * textmodes/sgml-mode.el (sgml-syntax-propertize-function): + Return valid syntax-table property value when converting + quotes within text from string syntax to punctuation syntax (bug#13844). + +2013-02-28 Juri Linkov + + * dired-aux.el (dired-diff): If file at point is a backup file, + use its original as the default value, and reverse the order + of arguments to the `diff' call. Doc fix. (Bug#13772) + +2013-02-28 Michael Albinus + + * net/tramp-adb.el (tramp-adb-sdk-dir): Remove. Replaced by ... + (tramp-adb-program): New defcustom. Remove function. Adapt calls. + +2013-02-28 Agustín Martín Domingo + + Initial support for hunspell dictionaries auto-detection (Bug#13639) + + * textmodes/ispell.el (ispell-find-hunspell-dictionaries): + Ask hunspell about available and default dictionaries. + (ispell-parse-hunspell-affix-file): Extract relevant info from + hunspell affix file. + (ispell-hunspell-fill-dictionary-entry): Fill non-initialized + `ispell-dictionary-alist' entry for given dictionary after info + provided by `ispell-parse-hunspell-affix-file'. + (ispell-hunspell-dict-paths-alist): New defvar to contain an alist + of parsed hunspell dicts and associated affix files. + (ispell-hunspell-dictionary-alist): New defvar to contain an alist + of parsed hunspell dicts and associated parameters. + (ispell-set-spellchecker-params): + Call `ispell-find-hunspell-dictionaries' if hunspell and not + previously done. + (ispell-start-process): + Call `ispell-hunspell-fill-dictionary-entry' for current + dictionary if it is not initialized. + +2013-02-28 Stefan Monnier + + * imenu.el: Comment nitpicks. + +2013-02-28 Sam Steingold + + * vc/diff-mode.el (diff-hunk-file-names): Handle filenames with spaces. + See . + +2013-02-28 Thierry Volpiatto + + * net/net-utils.el (net-utils--revert-function): New fun (bug#13831). + (net-utils-mode): Use it. + (net-utils--revert-cmd): New var. + (net-utils-run-simple): Set it, and remove bogus interactive spec. + (traceroute): Use net-utils-run-simple. + +2013-02-28 Glenn Morris + + * textmodes/paragraphs.el (mark-paragraph): Doc fix. + +2013-02-28 Stefan Monnier + + * doc-view.el: Preserve h&v scroll across C-c C-c C-c C-c. + (doc-view-fallback-mode): Remove overlays here. + (doc-view-toggle-display): Instead of here. Don't throw away + image-mode-winprops-alist. + (doc-view-goto-page): Don't mess with hscroll. + +2013-02-27 Thierry Volpiatto + + * font-lock.el (lisp-font-lock-keywords-2): Fix highlighting of + &optional (bug#13819). + +2013-02-27 Michael Albinus + + * net/tramp-adb.el (tramp-adb-parse-device-names) + (tramp-adb-maybe-open-connection): Add timeouts. (Bug#13299) + +2013-02-26 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-insert-directory): + Add "2>/dev/null" to the ls command, in case "en_US.utf8" is not + defined. POSIX environments fall back to the "C" locale then and + emit a warning, which shall be suppressed. + +2013-02-26 Stefan Monnier + + * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Tweak logic. + (easy-mmode-set-keymap-parents): Use make-composed-keymap. + +2013-02-25 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-file): Use let. + +2013-02-25 Juri Linkov + + * replace.el (read-regexp): Let-bind `default' to the first + element of `defaults' if it's a list, otherwise it should be + a string or nil. Let-bind `suggestions' to `defaults' if it's + a list, otherwise make a list with the string value. Doc fix. + (Bug#13805) + +2013-02-25 Eli Zaretskii + + * emacs-lisp/bytecomp.el (byte-recompile-directory): Reject files + that match "\`\.#", to avoid compiling lock files, even if they + are readable (as they are on MS-Windows). + +2013-02-25 Stefan Monnier + + * files.el (basic-save-buffer): Remove redundant directory-creation. + +2013-02-24 Jay Belanger + + * calc/calc-ext.el (math-to-radians-2, math-from-radians-2): + Add option to force `pi' to remain symbolic. + * calc/calcalg2.el (calcFunc-sin, calcFunc-cos, calcFunc-tan) + (calcFunc-cot, calcFunc-csc, calcFunc-sec, calcFunc-arcsin) + (calcFunc-arccos, calcFunc-arctan): Use symbolic `pi' in the + derivatives, when necessary. + +2013-02-23 Peter Kleiweg + + * progmodes/ps-mode.el (ps-mode-version): Bump to 1.1i. + (ps-mode-octal-region): Use string-make-unibyte. + +2013-02-23 Glenn Morris + + * emulation/viper-cmd.el (viper-submit-report): + * progmodes/ps-mode.el (ps-mode-maintainer-address): + * progmodes/vera-mode.el (vera-mode-help-address): + * textmodes/artist.el (artist-maintainer-address): + * textmodes/reftex.el (reftex-report-bug): + * vc/ediff-util.el (ediff-submit-report): + Add bug-gnu-emacs to bug report address. + + * progmodes/simula.el (simula-mode-menu, simula-mode-map): + Remove bug report entries. + (simula-mode-help-address, simula-submit-bug-report): Make obsolete. + + * emacs-lisp/bytecomp.el (byte-compile-level): New. + (byte-compile-file, byte-compile-from-buffer): + Use separate input/output buffers for each level of recursive + byte-compile-file calls. (Bug#13787) + +2013-02-23 Michael Albinus + + * net/tramp.el (tramp-methods): Fix docstring. + (tramp-ssh-controlmaster-options): Rename it from + `tramp-ssh-controlmaster-template'. Return a string. + (tramp-default-method): Adapt check for + `tramp-ssh-controlmaster-options'. + + * net/tramp-sh.el (tramp-methods): + Replace `tramp-ssh-controlmaster-template' by "%c". + (tramp-do-copy-or-rename-file-out-of-band) + (tramp-maybe-open-connection): Use it in format spec. Ensure, + that it is applied for the first hop only. + +2013-02-22 Juri Linkov + + * isearch.el (isearch-lazy-highlight-new-loop): + Set `isearch-lazy-highlight-start' and `isearch-lazy-highlight-end' + to `isearch-other-end' if it is not nil. (Bug#13402) + + * replace.el (replace-highlight): Let-bind `isearch-other-end' + to `match-beg'. + + * textmodes/ispell.el (ispell-highlight-spelling-error-overlay): + Let-bind `isearch-other-end' to `start', `isearch-forward' to t + and `isearch-error' to nil. + +2013-03-16 Fabián Ezequiel Gallina + + * progmodes/python.el (python-info-current-defun): + Enhance match-data cluttering prevention. + +2013-02-22 Michael Albinus + + * net/tramp.el (tramp-tramp-file-p): Fix docstring. + + * net/tramp-sh.el (tramp-sh-handle-insert-directory): + Handle multibyte file names. + +2013-02-22 Glenn Morris + + * textmodes/sgml-mode.el (sgml-xml-mode): Move before use. + (sgml-transformation-function): Give it a :set function. + (sgml-tag): Doc fix. + + * cmuscheme.el (scheme-buffer): + * progmodes/inf-lisp.el (inferior-lisp-buffer): + * progmodes/tcl.el (inferior-tcl-buffer): + * textmodes/tex-mode.el (tex-command): Doc fixes. + + * image-mode.el (image-mode): Add mouse bindings for mode-line-process. + + * htmlfontify.el (hfy-default-header): Encode title string. (Bug#7457) + +2013-02-21 Bastien Guerry + + * cmuscheme.el (scheme-buffer): Fix docstring. (Bug#13778) + +2013-02-21 Fabián Ezequiel Gallina + + * progmodes/python.el (python-info-current-defun): + Enhance match-data cluttering prevention. + +2013-02-21 Glenn Morris + + * net/tramp.el (tramp-get-debug-buffer): Ensure outline.el is not + loaded while outline-regexp is let bound. (Bug#9584) + +2013-02-21 Fabián Ezequiel Gallina + + * progmodes/python.el (python-info-current-defun): Fix failed + defun name retrieval because of unwanted match-data cluttering. + +2013-02-21 Michael Albinus + + * net/tramp.el (tramp-ssh-controlmaster-template): Make it a + defconst. Apply independent check for ControlPersist. + + * net/tramp-sh.el (tramp-sh-handle-set-file-times): Set $UTC only + temporarily, via "env". + +2013-02-21 Glenn Morris + + * info.el (Info-enable-edit): Remove. + (Info-edit): Disable it rather than using Info-enable. + (Info-edit-mode-hook, Info-edit-map, Info-edit-mode, Info-edit) + (Info-cease-edit): Make editing of Info files obsolete. + + * informat.el (Info-tagify): + Handle buffers not visiting files. (Bug#13763) + +2013-02-21 Juanma Barranquero + + * calc/calc-graph.el (calc-graph-show-dumb): Fix typo. + +2013-02-21 Glenn Morris + + * files.el (basic-save-buffer): Move check for existing parent + directory after hooks. (Bug#13773) + +2013-02-20 Stefan Monnier + + * simple.el (command-execute): Move from C. Add obsolete check. + (extended-command-history): Move from C. + +2013-02-20 Ulrich Müller + + * jka-cmpr-hook.el (jka-compr-compression-info-list) + (jka-compr-mode-alist-additions): Handle .txz suffix for + XZ-compressed tar archives (bug#13770). + +2013-02-20 Bastien Guerry + + * outline.el (outline-regexp, outline-heading-end-regexp): + Make variables, not options (bug#13731). + +2013-02-20 Glenn Morris + + * image.el (image-current-frame): Change from variable to function. + (image-show-frame): Rename from image-nth-frame. Update callers. + * image-mode.el (image-multi-frame): New variable. + (image-mode-map, image-mode, image-goto-frame): + Use image-multi-frame rather than image-current-frame. + (image-mode, image-goto-frame): Use image-current-frame as + function rather than as variable. + + * emacs-lisp/cl-lib.el (cl-floatp-safe): Make it an alias for floatp. + * emacs-lisp/cl-macs.el (cl--make-type-test) + (cl--compiler-macro-assoc): Use floatp rather than cl-floatp-safe. + +2013-02-19 Michael Albinus + + * net/tramp-cache.el (tramp-get-hash-table): New defun. + (tramp-get-file-property, tramp-set-file-property) + (tramp-get-connection-property, tramp-set-connection-property): Use it. + (tramp-flush-file-property, tramp-flush-directory-property): + Rename argument to KEY. + (tramp-flush-connection-property): Simplify a little bit. + (tramp-connection-property-p): New defun. + (top): Reapply saved values only if there isn't a corresponding + entry in `tramp-connection-properties'. + +2013-02-19 Fabián Ezequiel Gallina + + * progmodes/python.el (python-indent-context): + Fix python-info-line-ends-backslash-p call. + (python-info-line-ends-backslash-p) + (python-info-beginning-of-backslash): Respect line-number argument. + (python-info-current-line-comment-p): + Fix behavior when not at beginning-of-line. + (python-util-position): Remove function. + (python-util-goto-line): New function. + +2013-02-19 Michael Albinus + + * eshell/em-unix.el (eshell/su): Require tramp. + (eshell/sudo): Require tramp. Remove now unnecessary check. + + * net/tramp-sh.el (tramp-sh-handle-start-file-process): Let-bind + `tramp-current-connection' in order to avoid an error when several + commands are invoked in a short time in eshell and friends. + +2013-02-19 Stefan Monnier + + Cleanup some of EIEIO's namespace. + * emacs-lisp/eieio.el (eieio--define-field-accessors): New macro. + Use it to define all the class-* and object-* field accessors (renamed + to eieio--class-* and eieio--object-*). Update all uses. + (eieio--class-num-slots, eieio--object-num-slots): Rename from + class-num-slots and object-num-slots. + (eieio--check-type): New macro. + (eieio-defclass, eieio-oref, eieio-oref-default, same-class-p) + (object-of-class-p, child-of-class-p, object-slots, class-slot-initarg) + (eieio-oset, eieio-oset-default, object-assoc, object-assoc-list) + (object-assoc-list-safe): Use it. + (eieio-defclass): Tighten regexp. + (eieio--defmethod): Use `memq'. Signal an error for unknown method kind. + Remove unreachable code. + (object-class-fast): Declare obsolete. + (eieio-class-name, eieio-object-name, eieio-object-set-name-string) + (eieio-object-class, eieio-object-class-name, eieio-class-parents) + (eieio-class-children, eieio-class-precedence-list, eieio-class-parent): + Rename from class-name, object-name, object-set-name-string, + object-class, object-class-name, class-parents, class-children, + class-precedence-list, class-parent; with obsolete alias. + (class-of, class-direct-superclasses, class-direct-subclasses): + Declare obsolete. + (eieio-defmethod): Use `memq'; remove unreachable code. + * emacs-lisp/eieio-base.el (eieio-persistent-read): + * emacs-lisp/eieio-opt.el (eieio-class-button, eieio-describe-generic) + (eieio-browse-tree, eieio-browse): Use eieio--check-type. + +2013-02-18 Aidan Gauland + + * eshell/em-cmpl.el: Correct "context-related help" keybinding in + commentary. + +2013-02-18 Michael Heerdegen + + * emacs-lisp/eldoc.el (eldoc-highlight-function-argument): + Use font-lock-keyword-face for macros and special forms (bug#8345). + +2013-02-17 Didier Verna + + * net/network-stream.el (network-stream-open-starttls): + Check that response to the starttls-command is non-nil. (Bug#13706) + +2013-02-17 Stefan Monnier + + * font-lock.el (lisp-font-lock-keywords-1, lisp-font-lock-keywords-2): + Don't assume all identifier chars have syntax word. + * emacs-lisp/lisp-mode.el (lisp-mode-variables): + Remove bar-not-symbol. Adjust callers. + (lisp-mode-variables): Don't set a font-lock-syntax-table. + +2013-02-17 Leo Liu + + * net/rcirc.el (rcirc-keepalive): Fix invalid timer error. + +2013-02-17 Glenn Morris + + * menu-bar.el (menu-bar-tools-menu): Fix case of EDE entry. + + * image-mode.el (image-mode-map): Add image-dired menu entry. + + * image-dired.el (tumme): Make this alias obsolete. + +2013-02-16 Glenn Morris + + * image.el (image-animated-types): Remove. + (image-multi-frame-p): Rename from image-animated-p, and generalize. + (image-animated-p): Make obsolete alias. + (image-animate, image-nth-frame, image-animate-timeout): + Use image-multi-frame-p. + (image-animate-timeout): If no delay, use image-default-frame-delay. + * image-mode.el (image-mode, image-toggle-animation): + Use image-multi-frame-p. (Bug#763, bug#10739) + (image-mode): Adjust startup message for a multi-frame image. + + * image-mode.el (image-mode-map): Give it a menu. + +2013-02-16 Michael Albinus + + * net/tramp-cache.el (tramp-connection-properties): New customer + option. + (tramp-get-connection-property): Use it. + + * net/tramp-compat.el (top): Require 'trampver. + + * net/tramp-sh.el (tramp-remote-process-environment): + Set tramp-autoload cookie. + +2013-02-16 Kevin Ryde + + * info-look.el (info-lookup-select-mode): If major-mode has no + info-lookup-alist entry then search up derived-mode-parent (bug#8660). + +2013-02-16 Jambunathan K + + * replace.el (read-regexp): Tighten the regexp that matches tag. + When tag is retrieved with `find-tag-default', use regexp that + matches tag at point. Also update docstring (Bug#13687). + +2013-02-16 Eli Zaretskii + + * autorevert.el (auto-revert-notify-add-watch): With 'w32notify', + add watch for the file, not its parent directory, since w32notify + sets up the watch for the directory internally. (Bug#13725) + +2013-02-16 Glenn Morris + + * image.el (image-default-frame-delay): New variable. + (image-animated-p): Use image-default-frame-delay. + (image-minimum-frame-delay): New constant. + (image-animate-timeout): Use image-minimum-frame-delay. + + * image.el (image-nth-frame): New, split from image-animate-timeout. + (image-animate-timeout): Use image-nth-frame. + * image-mode.el (image-goto-frame, image-next-frame) + (image-previous-frame): New commands. + (image-mode-map): Add new frame commands. + +2013-02-16 Jonas Bernoulli + + * emacs-lisp/tabulated-list.el (tabulated-list-print-col): + If col-desc already has help-echo, use it. (Bug#13563) + +2013-02-16 Glenn Morris + + * image.el (image-current-frame): New variable. + (image-animate-timeout): Set image-current-frame. + * image-mode.el (image-mode): For animated images, + display a frame counter via mode-line-process. + + * font-lock.el (lisp-font-lock-keywords-1): Add defvar-local. + +2013-02-15 Stefan Monnier + + * simple.el (eval-expression): Let `exp' set the mark (bug#13724). + +2013-02-15 Alan Mackenzie + + * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): When a + global minor mode has been enabled, call the minor mode function + for a new buffer once only, after the major mode hook, whilst + allowing that hook explicitly to disable the minor mode. + (MODE-disable-in-buffer): New (generated) function. + (disable-MODE): New (generated) buffer local variable. + +2013-02-15 Jambunathan K + + * iswitchb.el (iswitchb-read-buffer): Bind `C-.' and `C-,' to + `iswitchb-next-match' and `iswitchb-prev-match' resply. + * ido.el (ido-init-completion-maps): Bind `C-.' and `C-,' to + `ido-next-match' and `ido-prev-match' resply. + * icomplete.el (icomplete-minibuffer-map): Unbind `C-s' and `C-r'. + Bind `C-.' and `C-,' to `icomplete-forward-completions' and + `icomplete-backward-completions' (Bug#13708). + +2013-02-15 Glenn Morris + + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. + +2013-02-15 Stefan Monnier + + * net/goto-addr.el (goto-address-fontify): Add start and end args. + (goto-address-fontify-region): Use them instead of narrowing, so + syntax-ppss has access to the whole buffer. + +2013-02-15 Fabián Ezequiel Gallina + + * progmodes/python.el: Explain how to restore "cc-mode"-like + forward-sexp movement in header documentation (Bug#13642). + (python-nav--forward-sexp): Behave like emacs-lisp-mode in + comments and strings (GH bug 114). + +2013-02-15 Fabián Ezequiel Gallina + + * progmodes/python.el (python-info-current-defun): Fix current + defun detection (Bug#13618). + +2013-02-15 Chong Yidong + + * xml.el (xml-parse-string): Fix typo in handling of bad character + references. + +2013-02-15 Glenn Morris + + * play/fortune.el (fortune-compile): Simplify and fix previous change. + +2013-02-14 Michael Albinus + + * net/tramp.el (tramp-debug-message): + Add `tramp-condition-case-unless-debug'. + (tramp-debug-on-error): New defvar. + (tramp-condition-case-unless-debug): New defun. + (tramp-file-name-handler): Use it. + +2013-02-14 Juri Linkov + + * info.el (Info-isearch-filter): Treat non-nil values of + `search-invisible' including its default value `open' + like the value `t' to match hidden text. (Bug#13402) + +2013-02-14 Glenn Morris + + * help-fns.el (find-lisp-object-file-name): Give special treatment + to all ~/.foo.elc files, not just ~/.emacs. (Bug#9007) + +2013-02-14 David Biesack (tiny change) + + * net/quickurl.el (quickurl-save-urls): + Ensure quickurl-urls is not truncated on printing. (Bug#9276) + +2013-02-14 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-parse-partial): Don't increase + depth for unfinished percent literal. Not using it in the caller. + (ruby-move-to-block): Jump over multiline literals of all types, + ignoring code-looking contents inside them. + (ruby-add-log-current-method): Improve performance at the expense + of accuracy. `ruby-block-contains-point' is relatively slow, so + only use it for method and singleton class blocks. + +2013-02-13 Michael Albinus + + Use ControlMaster where applicable. (Bug#13677) + + * net/tramp.el (tramp-ssh-controlmaster-template): New defvar, + replacing `tramp-detect-ssh-controlmaster'. + (tramp-default-method): Use it. + + * net/tramp-sh.el (tramp-methods) [scp, scp1, scp2, scpx, sftp]: + [rsync, ssh, ssh1, ssh2, sshx]: Add ControlPath and ControlMaster + arguments. + [scpc, rsyncc]: Remove methods. + (top): Remove completion functions for "scpc", "rsyncc", "ssh1_old" + and "ssh2_old". + (tramp-do-copy-or-rename-file-out-of-band): Change trace level. + (tramp-maybe-open-connection): Reuse tmpfile for ControlPath. + +2013-02-13 Stefan Monnier + + * emacs-lisp/package.el (package--initialized): Move before first use. + +2013-02-13 Jambunathan K + + * icomplete.el (icomplete-hide-common-prefix): New user option. + (icomplete-first-match): New face. + (icomplete-completions): Correct handling of "complete but not + unique" (Bug#12638). + +2013-02-13 YE Qianchuan (tiny change) + + * descr-text.el (describe-char): Display the script (bug#13698). + +2013-02-13 Stefan Monnier + + * tmm.el: Use lexical-binding and current-active-maps. + (tmm-menubar): Use map-keymap and pcase. + (tmm--completion-table): New function. + (tmm-prompt): Use it to fix the menu order. + (tmm-get-keybind): Use current-active-maps. + +2013-02-12 Christopher Schmidt + + Add dired-hide-details-mode. (Bug#6799) + + * locate.el (locate-mode): Set parent mode property to dired-mode. + + * find-dired.el (find-dired): Call dired-insert-set-properties on + initial information line. Set process mark on end of buffer. + (find-dired-sentinel): + Call dired-insert-set-properties on summary. + + * dired.el (dired-hide-details-hide-symlink-targets) + (dired-hide-details-hide-information-lines): New options. + (dired-insert-directory): + Set properties after final treatment of output. + (dired-insert-set-properties): + Set dired-hide-details-* properties. + (dired-mode-map): Bind dired-hide-details-mode. + (dired-mode): Set buffer-invisibility-spec to a list. + (dired-next-line): Skip hidden lines. + (dired-previous-line): Use dired-next-line. + (dired-hide-details-mode): New minor mode. + (dired-hide-details-update-invisibility-spec): New function. + +2013-02-13 Glenn Morris + + * play/yow.el: Move to obsolete/. (Bug#9384) + +2013-02-13 Juri Linkov + + * vc/ediff-util.el (ediff-recenter): Use `select-frame-set-input-focus' + to select `ediff-control-frame' and set input focus correctly on Xfce. + (Bug#12218) + +2013-02-13 Juri Linkov + + * image-mode.el (image-mode-map): + * doc-view.el (doc-view-mode-map): + * vc/ediff-util.el (ediff-setup-keymap): + Make S-SPC scroll in the opposite sense to SPC. (Bug#2145) + +2013-02-13 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-move-to-block): Improve performance. + Instead of recalculating indentation fully for each line, sum up + indentation depth based only on visited lines. + (ruby-parse-partial): Increase the depth after "do" even when END + is right after it. + (ruby-parse-partial): When END is in the middle of a percent + literal, increase the depth if the delimiter chars belong to the + paren syntax class. + +2013-02-13 Kirill A. Korinskiy + + * play/fortune.el (fortune-compile): Also make the compiled file + if it does not exist at all, not just if it is old. (Bug#5338) + +2013-02-13 Glenn Morris + + * emacs-lisp/package.el (package-menu-execute): Doc fix. + +2013-02-13 Yves Baumes (tiny change) + + * lisp/emacs-lisp/package.el (package-menu-execute): + Add optional noquery argument. (Bug#13625) + +2013-02-13 Michael Albinus + + * net/ange-ftp.el (ange-ftp-make-directory): Don't raise an error, + if DIR exists and PARENTS is non-nil. + +2013-02-13 Juanma Barranquero + + * progmodes/js.el (js--multi-line-declaration-indentation): + Silence byte-compiler warning. + +2013-02-12 Michael Albinus + + * net/tramp-adb.el (tramp-adb-handle-start-file-process): Rewrite. + + * net/tramp-compat.el (top): Declare `remote-file-name-inhibit-cache' + only if it doesn't exist. + + * net/tramp-sh.el (tramp-sh-handle-start-file-process): + Set process marker. + +2013-02-12 Tassilo Horn + + * doc-view.el (doc-view-odf->pdf-converter-soffice): Use separate + UserInstallation when calling soffice to work around LibreOffice + bug 37531. + +2013-02-12 Glenn Morris + + * files.el (basic-save-buffer): + Offer to create a non-existing directory. (Bug#3016) + + * calc/calc-graph.el (calc-graph-show-dumb): + * calendar/calendar.el (calendar-mode-map): + * cus-edit.el (custom-mode-map): + * ehelp.el (electric-help-map): + * emulation/vip.el (vip-mode-map): + * epa.el (epa-key-list-mode-map): + * info.el (Info-mode-map): + * mail/rmail.el (rmail-mode-map): + * mail/rmailsum.el (rmail-summary-mode-map): + * man.el (Man-mode-map): + * net/newst-plainview.el (newsticker-mode-map): + * progmodes/cpp.el (cpp-edit-mode-map): + * progmodes/grep.el (grep-mode-map): + * progmodes/idlw-help.el (idlwave-help-mode-map): + * simple.el (special-mode-map): + * startup.el (splash-screen-keymap): + * view.el (view-mode-map): + Make S-SPC scroll in the opposite sense to SPC. (Bug#2145) + +2013-02-11 Elias Pipping + + * doc-view.el (doc-view-current-cache-dir): Beware % escapes + (bug#13679). + +2013-02-11 Stefan Monnier + + * cus-start.el (all): Remove inhibit-local-menu-bar-menus. + +2013-02-11 Glenn Morris + + * vc/diff.el (diff-use-labels): New variable. + (diff-no-select): Use --label rather than -L, and first + check that it is supported. (Bug#11067) + + * files.el (enable-dir-local-variables): New variable. + (hack-dir-local-variables): Respect enable-dir-local-variables. + * tutorial.el (help-with-tutorial): + Ignore directory-local variables. (Bug#11127) + + * vc/vc-svn.el (vc-svn-command): Move --non-interactive from here... + (vc-svn-global-switches): ... to here. (Bug#13513) + +2013-02-10 Christopher Schmidt + + * minibuf-eldef.el (minibuffer-default--in-prompt-regexps): + Handle "foo (bar, default: xxx): " prompts. + +2013-02-10 Chong Yidong + + * files.el (basic-save-buffer-1): Do not set + buffer-file-coding-system-explicit (Bug#4533). + + * mail/emacsbug.el (report-emacs-bug): Change binding of + report-emacs-bug-insert-to-mailer to C-c M-i (Bug#13510). + +2013-02-09 Jay Belanger + + * calc/calc.el (calc-allow-units-as-numbers): New variable. + * calc/calc-units.el (calc-convert-units): Use new variable. + +2013-02-09 Eli Zaretskii + + * subr.el (buffer-file-type, default-buffer-file-type): Remove. + + * net/ange-ftp.el (ange-ftp-insert-file-contents): Don't reference + buffer-file-type. + + * mail/feedmail.el (feedmail-force-binary-write): Doc fix. + (feedmail-run-the-queue, feedmail-dump-message-to-queue) + (feedmail-send-it-immediately): Don't bind buffer-file-type, bind + coding-system-for-write instead. + + * jka-compr.el (jka-compr-write-region): Don't bind + buffer-file-type. + + * emacs-lisp/bytecomp.el (byte-compile-file): Don't bind + buffer-file-type. + + * files.el (file-name-buffer-file-type-alist): Remove defvar. + (insert-file-contents-literally): Remove reference to + file-name-buffer-file-type-alist. + + * dos-w32.el (file-name-buffer-file-type-alist): Deprecate and + make-obsolete. + (find-buffer-file-type-match, find-buffer-file-type): Remove. + (find-buffer-file-type-coding-system): Remove references to + find-buffer-file-type-match, find-buffer-file-type, and + buffer-file-type. + Don't put find-buffer-file-type-coding-system into + file-coding-system-alist. + (find-file-binary, find-file-text): Bind coding-system-for-read + instead of file-name-buffer-file-type-alist. + +2013-02-09 Jambunathan K + + * doc-view.el: Use (and prefer) soffice as default ODF->PDF + converter (Bug#13622). + (doc-view-unoconv-program): Make obsolete alias. + (doc-view-odf->pdf-converter-program): New variable. + (doc-view-odf->pdf-converter-function): New variable. + (doc-view-mode-p): Use it. + (doc-view-odf->pdf-converter-unoconv): + Rename from `doc-view-odf->pdf-converter-unoconv'. + (doc-view-odf->pdf-converter-soffice): New function. + (doc-view-convert-current-doc): + Use `doc-view-odf->pdf-converter-function'. + +2013-02-09 Chong Yidong + + * minibuffer.el (minibuffer-inactive-mode-map): Bind mouse-1 to + view-echo-area-messages (Bug#13340). + + * help.el (view-echo-area-messages): Use display-buffer. + + * dired-x.el (dired-do-run-mail): Prompt for confirmation + (Bug#13561). + +2013-02-08 Stefan Monnier + + * emacs-lisp/byte-run.el (eval-when-compile, eval-and-compile): + Eval body right away, now that we do eager macroexpansion (bug#13605). + + * simple.el (end-of-buffer): Don't touch unrelated windows (bug#13466). + (fundamental-mode): Use run-mode-hooks. + + * eshell/esh-proc.el (eshell/kill): Fix last change. + * eshell/em-ls.el (eshell-ls-dir): Fix use of CL in last change. + +2013-02-08 Aidan Gauland + + * eshell/esh-proc.el (eshell/kill): Rewrite. + + * eshell/em-ls.el (show-almost-all): Declare. + (eshell-do-ls): Add support for -A argument. + +2013-02-08 Jambunathan K + + * icomplete.el (icomplete-forward-completions) + (icomplete-backward-completions): Handle corner case (bug#13602). + +2013-02-07 Michael Albinus + + * vc/vc-hooks.el (vc-find-file-hook): `buffer-file-truename' can + be nil. Handle this. (Bug#13636) + +2013-02-07 Richard Stallman + + * mail/rmail.el (rmail-variables): Specify `no-conversion' for + `save-buffer-coding-system'. + +2013-02-07 Alan Mackenzie + + Fix bug in state cache mechanism. Remove 'BOD "strategy". Refactor. + * progmodes/cc-engine.el (c-get-fallback-scan-pos): Remove. + (c-parse-state-get-strategy): Don't return 'BOD any more. + (c-append-lower-brace-pair-to-state-cache): + Extra parameter HERE instead of narrowing. + Widen to top of buffer before searching backwards for a brace pair. + (c-state-push-any-brace-pair): Add HERE parameter to function call. + (c-append-to-state-cache): Extra parameter HERE in place of narrowing. + Narrow to parameter HERE, in place of being called narrowed. + (c-remove-stale-state-cache): Extra parameter HERE in place of + narrowing. Check there's an open brace in the cache before + searching for its match. + (c-invalidate-state-cache-1): Add HERE parameter to function call. + (c-parse-state-1): Don't narrow here for 'forward strategy, + instead passing extra parameter HERE to several functions. + Remove 'BOD strategy. + +2013-02-06 Nicolas Richard (tiny change) + + * emacs-lisp/package.el (describe-package-1): Tell what archive is + used to install the package. + +2013-02-06 Glenn Morris + + * vc/vc-hooks.el (vc-find-file-hook): Don't ask about following links + if we can't get user input. (Bug#6567) + + * startup.el (command-line): If simple.el is missing, + test and warn about for some possible causes. + +2013-02-05 Jan Djärv + + * cus-start.el (all): Add ns-use-native-fullscreen. + +2013-02-05 Glenn Morris + + * profiler.el (profiler-report-mode-map): Add a restart menu entry. + + * play/gamegrid.el (gamegrid-add-score-with-update-game-score): + Fix directory creation in fallback case. + +2013-02-04 Thierry Volpiatto + + * vc/vc.el (vc-next-action): Fix inf-loop (bug#13610). + (vc-update-change-log): Use dolist. + +2013-02-04 Chong Yidong + + * thingatpt.el: Rewrite the URL detection routines, absorbing some + code from ffap.el. + (thing-at-point-beginning-of-url-regexp): New var. + (thing-at-point-uri-schemes): Update list of URI schemes. + (thing-at-point-url-regexp): Variable deleted. + (thing-at-point-markedup-url-regexp): Disallow newlines. + (thing-at-point-newsgroup-regexp) + (thing-at-point-newsgroup-heads) + (thing-at-point-default-mail-uri-scheme): New variables. + (thing-at-point-bounds-of-url-at-point): Rewrite. Use ffap's + method to find the possible bounds of the URI at point. + New optional argument to find ill-formed URIs. + (thing-at-point-url-at-point): Rewrite. New arguments for finding + ill-formed URIs. Use thing-at-point-bounds-of-url-at-point, and + the scheme-adding heuristics from ffap-url-at-point. + (thing-at-point--bounds-of-well-formed-url): New function. + Do parens matching to decide whether to include parens in the URI + (Bug#9153). + + * ffap.el: Require thingatpt. + (ffap-url-at-point): Delegate URI detection to thing-at-point. + All URI-valid characters are now recognized (Bug#5673). + (ffap-string-at-point): Use use-region-p. + (ffap-url-regexp): Extra character is handled by thing-at-point. + (ffap-string-at-point-mode-alist): Allow parentheses. + (ffap-newsgroup-regexp, ffap-newsgroup-heads, ffap-newsgroup-p): + Convert to aliases; code moved to thingatpt.el. + (ffap-gnus-hook): Use setq-local. + +2013-02-04 Glenn Morris + + * emacs-lisp/ert.el (ert--explain-format-atom): + Don't try to print non-characters as characters. (Bug#13543) + +2013-02-03 Michael Albinus + + * net/tramp.el (tramp-debug-message): Extend function exclude list. + (tramp-backtrace): New defun. + (tramp-handle-insert-file-contents): Use `visit' when inserting + the local copy. + + * net/tramp-sh.el (tramp-sh-handle-set-visited-file-modtime): + Use `remote-file-name-inhibit-cache'. + +2013-02-03 Stefan Monnier + + * progmodes/cperl-mode.el (cperl-mode): Avoid byte-compile warning + (bug#13614). + + * subr.el (internal--called-interactively-p--get-frame): Avoid filling + current-load-list (bug#13366). + +2013-02-02 Christopher Schmidt + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Identify g++ template instantiation trace. (Bug#12287) + (compilation-mode-hook, compilation-start-hook) + (compilation-window-height): Simplify docstrings. (Bug#13379) + +2013-02-02 Stefan Monnier + + * mouse.el (mouse-drag-track): Always deactivate the mark before + running the final event's command since that command is in charge of + activating the mark if needed (bug#13523). + +2013-02-02 Juri Linkov + + * replace.el (perform-replace): Move let-bindings of isearch-* + variables deeper to the loop that searches for the next match. + Add bindings for `isearch-nonincremental' and `isearch-adjusted'. + Use `isearch-search-fun-default' instead of `isearch-search-fun'. + (Bug#13579) + + * isearch.el (isearch-search-fun-default): Check for null + first element of isearch-cmds as a precaution when it's used + with inactive isearch. + +2013-02-02 Andrew W. Nosenko (tiny change) + + * net/tramp.el (tramp-check-for-regexp): Avoid "Args out of range" + error when buffer in question is narrowed so position 1 is out of + visible part. + +2013-02-02 Glenn Morris + + * textmodes/remember.el (remember-clipboard): Doc fix. + +2013-02-02 Stefan Monnier + + * progmodes/make-mode.el (makefile-fill-paragraph): Reset syntax-table + properties (bug#13179). + +2013-02-02 Juri Linkov + + * progmodes/grep.el (grep-regexp-alist): Use variable grep-match-face + instead of hard-coded default face `match'. (Bug#9438) + +2013-02-01 Christopher Schmidt + + * vc/vc-arch.el (vc-arch-registered): + * vc/vc-bzr.el (vc-bzr-registered): + * vc/vc-cvs.el (vc-cvs-registered): + * vc/vc-git.el (vc-git-registered): + * vc/vc-hg.el (vc-hg-registered): + * vc/vc-mtn.el (vc-mtn-registered): + * vc/vc-svn.el (vc-svn-registered): Suppress load messages. + (Bug#13139) + + * info.el (Info-next-reference, Info-prev-reference): Add numeric + prefix argument. (Bug#11656) + +2013-02-01 Stefan Monnier + + * help-fns.el (help-split-fundoc): Don't insert byte-compiled body. + +2013-02-01 Glenn Morris + + * vc/vc-hooks.el (vc-menu-map): Disable vc-rollback menu item + if the backend is known not to support it. + + * imenu.el (imenu-default-create-index-function): + Tweak infinite loop test to check for forward motion as well as none. + +2013-02-01 Alex Harsanyi + + * net/soap-client.el (soap-invoke): Encode the string for + `url-request-data' as UTF-8. + Fixes . + +2013-02-01 Glenn Morris + + * calc/calc-help.el (calc-view-news): Use view-emacs-news. + + * calc/README, calc/README.prev: Rename/merge to etc/CALC-NEWS. + +2013-01-31 Michael Albinus + + * net/tramp.el (tramp-tramp-file-p): Comment check for + `string-as-unibyte'. The function does not exist on XEmacs, and + likely we need another approach. + + * net/tramp-sh.el (tramp-compute-multi-hops): Check, whether + `tramp-gw-*' variables are bound. + +2013-01-31 Glenn Morris + + * files.el (basic-save-buffer-2): Choose coding system for + writing the file before backing it up, to reduce delay between + backing up and writing the new version. (Bug#13522) + +2013-01-31 Michal Nazarewicz + + * simple.el (cycle-spacing): New command. + (just-one-space): Use it. + +2013-01-31 Stefan Monnier + + * progmodes/opascal.el: Rename from delphi.el. Use lexical-binding. + (opascal-newline-always-indents): Remove custom. + (opascal-tab, opascal-newline): Remove commands. + (opascal-new-comment-line): Insert "\n" instead of calling newline. + (opascal-mode-map): Keep default bindings for RET and TAB and DEL. + (opascal-save-match-data): Remove, use save-match-data instead. + (opascal-save-state): Use with-silent-modifications. + + * progmodes/pascal.el (pascal-mode-syntax-table): Accept //..\n comments + (bug#13585). + +2013-01-30 Juri Linkov + + * frame.el (toggle-frame-maximized, toggle-frame-fullscreen): + Use fullboth as an alias for fullscreen. Suggested by Jan Djärv in + . + +2013-01-30 Stefan Monnier + + * progmodes/make-mode.el (makefile-backslash-region): Don't compute + column if we're just deleting the backslashes. + (makefile-fill-paragraph): Use eolp. + +2013-01-30 Michael Albinus + + * autorevert.el (auto-revert-use-notify): Fix docstring. + +2013-01-30 Leo Liu + + * imenu.el (imenu--truncate-items): Fix subalist checking (bug#13576). + +2013-01-30 Glenn Morris + + * mouse.el (mouse-drag-line): Avoid pushing same event onto + unread-command-events twice in some cases. This tries to implement + the 2012-07-26 changes in a different way. (Bug#13560) + +2013-01-30 Fabián Ezequiel Gallina + + * progmodes/python.el + (python-pdbtrack-comint-output-filter-function): Enhancements on + stacktrace detection. (thanks @gnovak) + +2013-01-30 Stefan Monnier + + * jit-lock.el (jit-lock-stealth-chunk-start): Don't widen (bug#13542). + (jit-lock-mode, jit-lock-functions, jit-lock-context-unfontify-pos): + Use defvar-local. + (jit-lock-register): Use setq-local. + +2013-01-30 Jay Belanger + + * calc-units.el (math-default-units-table): Remove initial value. + (calc-convert-units): Treat expressions where all the units cancel as + if they didn't have units. + +2013-01-30 Michael Albinus + + * net/tramp.el (tramp-process-connection-type): Fix docstring. + (tramp-completion-reread-directory-timeout): Fix type. + (tramp-connection-min-time-diff): New defcustom. + + * net/tramp-sh.el (tramp-maybe-open-connection): Use it. + +2013-01-30 Glenn Morris + + * imenu.el (imenu-default-create-index-function): + Put back a version of the infinite loop test removed 2013-01-23. + +2013-01-30 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-parse-command): + Find python-shell-interpreter with modified environment. + +2013-01-30 Stefan Monnier + + * emacs-lisp/cl.el (cl-set-getf): Add compatibility alias. + +2013-01-29 Alan Mackenzie + + Amend to fontify /regexp/s in actions correctly. + * cc-awk.el (c-awk-harmless-char-re, c-awk-harmless-string*-re): + (c-awk-harmless-string*-here-re): Braces, parens and semicolons + are no longer included. + (c-awk-harmless-line-char-re, c-awk-harmless-line-string*-re): + What used to be these variables without "-line" in the name. + (c-awk-neutral-re): { is no longer neutral. Escaped newlines now are. + (c-awk-non-arith-op-bra-re): Now also matches {. + (c-awk-pre-exp-alphanum-kwd-re): New regexp to match "print", + "return", and "case". + (c-awk-kwd-regexp-sign-re): New, to match "print", etc., followed + by /. + (c-awk-syntax-tablify-/): Check special cases "print /re/", etc. + (c-awk-set-syntax-table-properties): Extend FSM to handle {,},(,),;. + +2013-01-29 Michael Albinus + + * autorevert.el (auto-revert-use-notify): + Use `custom-initialize-default' for initialization. (Bug#13583) + + * net/ange-ftp.el (ange-ftp-skip-msgs): Add another message. + + * net/tramp-sh.el (tramp-sh-handle-start-file-process): + Catch `suppress'. Otherwise, `tramp-run-real-handler' might be called + in `tramp-file-name-handler'. + (tramp-gw-tunnel-method, tramp-gw-socks-method): Declare for + compatibility. + (tramp-compute-multi-hops): Check, whether + `tramp-gw-tunnel-method' and `tramp-gw-socks-method' are non-nil. + +2013-01-28 Stefan Monnier + + * hi-lock.el (hi-lock-unface-buffer): Don't assume `face' is a symbol + (bug#13297). + +2013-01-27 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-font-lock-keywords): Remove some + checks made superfluous by the \_< operator. + * progmodes/ruby-mode.el (ruby-move-to-block): Work with (maybe + temporarily) broken indentation. + * progmodes/ruby-mode.el (ruby-font-lock-keywords): + Highlight nested constants, too. \_< broke that. + +2013-01-27 Nobuyoshi Nakada + + * progmodes/ruby-mode.el (ruby-font-lock-keywords): Use "\\_<" + instead of "\\b". + +2013-01-27 Michael Albinus + + * autorevert.el (auto-revert-handler): Notifications which result + from a saved file shall not be taken into account. (Bug#13557) + +2013-01-26 Andreas Schwab + + * emacs-lisp/lisp-mode.el (lisp-mode-variables): Add optional + parameter BAR-NOT-SYMBOL to control syntax of | for font-lock. + (lisp-mode): Pass t for it. (Bug#13556) + +2013-01-25 Alan Mackenzie + + AWK Mode: Fix indentation bug at top level. Bug #12274. + + * progmodes/cc-engine.el (c-guess-basic-syntax): Move CASE 5P to + just before CASE 5D. + +2013-01-25 Dmitry Antipov + + * net/socks.el (socks-nslookup-host): Use string-to-number. + +2013-01-25 Michael Albinus + + * autorevert.el (auto-revert-remote-files) + (auto-revert-notify-exclude-dir-regexp): New defcustoms. + (auto-revert-notify-enabled, auto-revert-use-notify) + (auto-revert-notify-watch-descriptor-hash-list) + (auto-revert-notify-modified-p, auto-revert-notify-event-p) + (auto-revert-notify-event-descriptor) + (auto-revert-notify-event-action) + (auto-revert-notify-event-file-name): Doc fix. + (global-auto-revert-mode): Reorder checks. + (auto-revert-notify-rm-watch): Respect changed values of + `auto-revert-notify-watch-descriptor-hash-list'. + (auto-revert-notify-add-watch): Check for + `auto-revert-notify-exclude-dir-regexp'. Adapt filters for + `inotify-add-watch'. Watch `default-directory' instead of + `buffer-file-name'. `auto-revert-notify-watch-descriptor-hash-list' + has a changed meaning now. (Bug#13540) + (auto-revert-notify-handler): Change implementation wrt events + returning from a directory. + (auto-revert-handler): Reorder implementation for checks of remote + files. + (auto-revert-buffers): Fix parentheses error. + +2013-01-25 Fabián Ezequiel Gallina + + * progmodes/python.el: Enhancements to header documentation about + skeletons. (Bug#5716) + + * imenu.el (imenu-default-create-index-function): Remove useless + infinite loop check. (Bug#13438) + +2013-01-25 Alan Mackenzie + + Fix a bug in the state cache mechanism. Refactor this a bit. + + * progmodes/cc-engine.el (c-parse-state-get-strategy): Remove the + `cache-pos' element from the return value. + (c-append-lower-brace-pair-to-state-cache): "Narrow" to end of + buffer to enable proper searching from beyond HERE. Amend the + test for detecting the sought brace pair. Amend the value written + to the "brace desert cache" when the brace isn't found. + (c-remove-stale-state-cache): Rename `good-pos' to `start-point', + and several other variables analogously. + (c-remove-stale-state-cache-backwards): Change `cache-pos' from a + parameter to a locally calculated variable. + (c-parse-state-1): Change the calling conventions to the two + defuns involving `cache-pos'. + +2013-01-25 Chong Yidong + + * xml.el (xml-entity-or-char-ref-re): Fix regexp. + +2013-01-24 Aaron Ecay (tiny change) + + * paren.el (show-paren-function): Make sure to set 'priority and + 'face only if the overlay does exist. + +2013-01-24 Michael Albinus + + * net/tramp.el (tramp-tramp-file-p): Check, whether NAME is unibyte. + + * net/tramp-sh.el (tramp-sh-handle-set-file-acl): Do not suppress + basic attributes. + (tramp-sh-handle-set-file-acl): Improve error checking. + +2013-01-24 Dmitry Antipov + + * doc-view.el (doc-view-display): Force mode line update until all + document is converted. Suggested by Stefan Monnier (Bug#13164). + +2013-01-23 Bastien Guerry + + * paren.el (show-paren-function): Make sure an overlay exists + before trying to delete it. Also use `pos' as a position only + when it is an integer. + +2013-01-23 Dmitry Antipov + + * play/gametree.el (gametree-break-line-here): Use point-marker. + +2013-01-22 Michael Albinus + + * net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers): + Mark descriptive parts with `display' property. + +2013-01-21 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-hunspell-dictionary-equivs-alist): + New variable to map standard dict names to hunspell ones. + (ispell-set-spellchecker-params): Make sure specific dict names + are used for standard dicts with hunspell. + +2013-01-21 Tassilo Horn + + * textmodes/reftex-cite.el (reftex-format-citation): Add format + chars for note (%N) and url (%U). + * textmodes/reftex-vars.el (reftex-cite-format): Document them. + +2013-01-21 Juri Linkov + + * frame.el: Bind `f10' in `esc-map' to `toggle-frame-maximized' + in addition to existing separate binding `meta f10' in `global-map'. + (Bug#13484) + +2013-01-21 Michael Albinus + + Improve XEmacs compatibility. + + * net/tramp.el (tramp-replace-environment-variables): Make it a defun. + + * net/tramp-adb.el (top): Require `time-date'. + (tramp-adb-ls-output-time-less-p): Use `tramp-time-less-p'. + (tramp-adb-handle-copy-file, tramp-adb-handle-rename-file): + Use `tramp-file-name-handler'. + (tramp-adb-maybe-open-connection): + Use `tramp-compat-set-process-query-on-exit-flag'. + + * net/tramp-sh.el (tramp-sh-handle-file-acl): + Use `tramp-compat-funcall'. + + * net/tramp-smb.el (tramp-smb-handle-file-acl): Use `looking-at' and + `tramp-compat-funcall'. + +2013-01-21 Jürgen Hötzel + + * net/tramp-adb.el (tramp-adb-handle-start-file-process): Complete + reimplementation using "adb shell command ..." instead of running + remote shell interactively. + +2013-01-20 Glenn Morris + + * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): + Add native profiler menu entries. + + * profiler.el (profiler-running-p): New function. + (profiler-cpu-profile): Use profiler-running-p. + (profiler-report-mode-map): Add some more menu entries. + +2013-01-19 Glenn Morris + + * mail/unrmail.el (unrmail): Do not mangle the mbox From line; + fixes 2012-12-07 change. (Bug#13499) + +2013-01-19 Leo Liu + + * dired.el (dired-get-marked-files): Prune erroneous values due to + last change. (Bug#13152) + +2013-01-19 Glenn Morris + + * progmodes/etags.el (tags-table-check-computed-list): + Preserve point in tags buffer. (Bug#13412) + + * emacs-lisp/lisp-mode.el (lisp-indent-function): Doc fix. + +2013-01-19 Christian Wittern (tiny change) + Chong Yidong + + * image-mode.el (image-next-file, image-previous-file): + New commands (Bug#8453). + (image-mode-map): Bind them to n and p. + (image-mode--images-in-directory): New helper function. + +2013-01-19 Chong Yidong + + * image-mode.el (image-mode-fit-frame): Add a frame argument. + Suggested by Drew Adams (Bug#7730). Handle window decorations; + save and restore the old window configuration. + +2013-01-18 Leo Liu + + * progmodes/js.el: Tweak autoload cookie for alias. + +2013-01-17 Michael Albinus + + * autorevert.el (auto-revert-notify-watch-descriptor): Make it + buffer local, again. This was lost with the fix on 2013-01-12. + +2013-01-17 Jürgen Hötzel + + * eshell/esh-util.el (eshell-path-env): Make it buffer local, in + order to support several eshell buffers in parallel. + +2013-01-17 Michael Albinus + + * autorevert.el (auto-revert-use-notify): In the :set function, do + not modify `kill-buffer-hook'. + (auto-revert-notify-rm-watch): + Remove `auto-revert-notify-rm-watch' from `kill-buffer-hook'. + (auto-revert-notify-add-watch): Do not call + `auto-revert-notify-rm-watch', but add it to a buffer local + `kill-buffer-hook'. + +2013-01-16 Stefan Monnier + + * emacs-lisp/trace.el (trace--read-args): Use a closure and an honest + call to `eval' rather than a backquoted lambda. + +2013-01-15 Stefan Monnier + + * emacs-lisp/nadvice.el (advice--tweak): Make it possible for `tweak' + to return an explicit nil. + (advice--remove-function): Change accordingly. + + * emacs-lisp/advice.el (ad-preactivate-advice): Adjust the cleanup to + the use of nadvice.el. + + * progmodes/which-func.el (which-function): Silence imenu errors + (bug#13433). + +2013-01-15 Michael R. Mauger + + * progmodes/sql.el (sql-imenu-generic-expression): + (sql-mode-font-lock-object-name): Match schema qualified names. + (sql-connect): Use string keys. + (sql-product-interactive): Wait for interpreter prompt. + (sql-comint-oracle): Set process coding based on NLS_LANG. + +2013-01-15 Michael R. Mauger + + * progmodes/sql.el (sql-output-to-send): Remove, unused. + (sql-interactive-remove-continuation-prompt): + (sql-send-magic-terminator, sql-interactive-mode): Remove references. + +2013-01-14 Leo Liu + + * calendar/calendar.el (calendar-redraw): Sync window-point and point. + (Bug#13420) + +2013-01-14 Glenn Morris + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Fix interpretation of gnu line.col1-col2 format. (Bug#13335) + +2013-01-13 Fabián Ezequiel Gallina + + * progmodes/python.el (python-nav-end-of-statement): + Fix cornercase when handling multiline strings. + +2013-01-13 Richard Stallman + + * mail/sendmail.el (mail-position-on-field): Add doc string. + + * mail/rmailmm.el (rmail-insert-mime-forwarded-message): + Get current message boundaries and pass them to + message-forward-make-body-mime. Minor style changes. + +2013-01-13 Eli Zaretskii + + * cus-start.el (all): Avoid warnings about + scroll-bar-adjust-thumb-portion on platforms where it is not defined. + +2013-01-11 Jan Djärv + + * cus-start.el (all): Add scroll-bar-adjust-thumb-portion. + +2013-01-13 Stefan Monnier + + * jit-lock.el (jit-lock-debug-mode): New minor mode. + (jit-lock--debug-fontifying): New var. + (jit-lock--debug-fontify): New function. + * subr.el (condition-case-unless-debug): Don't prevent catching the + error, just let the debbugger run. + * emacs-lisp/timer.el (timer-event-handler): Don't prevent debugging + timer code and don't drop errors silently. + +2013-01-12 Michael Albinus + + * autorevert.el (auto-revert-notify-watch-descriptor): Give it + `permanent-local' property. + (auto-revert-notify-handler): Use `file-equal-p'. + +2013-01-12 Eli Zaretskii + + * autorevert.el (auto-revert-notify-handler): Fix filtering of + file notification by ACTION. For filtering by file name, compare + only the non-directory part of the file name. + +2013-01-12 Stefan Monnier + + * autorevert.el: Use cl-lib instead of cl. + + * vc/vc-bzr.el (vc-bzr--sanitize-header): New function (bug#13307). + (vc-bzr-checkin): Use it. + * vc/log-edit.el (log-edit-extract-headers): Don't presume FUNCTION + will preserve match-data. + +2013-01-11 Felix H. Dahlke + + * progmodes/js.el: Fix multiline declarations's indentation (bug#8576). + (js--declaration-keyword-re): New var. + (js--multi-line-declaration-indentation): New function. + (js--proper-indentation): Use it. + +2013-01-11 Aaron S. Hawley + + * calc/calc.el (calc-highlight-selections-with-faces) + (calc-dispatch): + * comint.el (comint-history-isearch-message): + * emacs-lisp/edebug.el (edebug-read, edebug-eval-defun): + * ffap.el (ffap-string-at-point-region, ffap-next) + (ffap-string-at-point, ffap-string-around) + (ffap-copy-string-as-kill, ffap-highlight-overlay) + (ffap-literally): + * font-lock.el (font-lock-keywords-alist) + (font-lock-removed-keywords-alist): + * help-mode.el (help-xref-symbol-regexp): + * info.el (Info-find-emacs-command-nodes): + * international/mule.el (add-to-coding-system-list): + * isearch.el (isearch-message-function, isearch-fail-pos): + * misearch.el (multi-isearch-next-buffer-function): + * newcomment.el (comment-box): + * printing.el (pr-txt-printer-alist, pr-ps-printer-alist) + (pr-setting-database): + * progmodes/cc-fonts.el (c-font-lock-keywords-3) + (c++-font-lock-keywords-3, objc-font-lock-keywords-3) + (java-font-lock-keywords-3, idl-font-lock-keywords-3) + (pike-font-lock-keywords-3): + * progmodes/compile.el (compile): + * progmodes/etags.el (tags-table-files) + (tags-table-files-function, tags-included-tables-function): + * progmodes/gdb-mi.el (gdb, gdb-setup-windows) + (gdb-restore-windows): + * ps-print.el (ps-even-or-odd-pages, ps-spool-buffer-with-faces) + (ps-n-up-filling-database): + * server.el (server-buffer, server-log): + * simple.el (newline, delete-backward-char, delete-forward-char) + (minibuffer-history-isearch-message, kill-line, track-eol) + (temporary-goal-column): + * textmodes/flyspell.el (flyspell-mark-duplications-flag) + (flyspell-default-deplacement-commands): + * textmodes/ispell.el (ispell-accept-output): + * textmodes/sgml-mode.el (html-tag-help): + * vc/compare-w.el (compare-ignore-whitespace) + (compare-ignore-case, compare-windows-dehighlight): + * vc/diff.el (diff): + * whitespace.el (whitespace-point) + (whitespace-font-lock-refontify, whitespace-bob-marker) + (whitespace-eob-marker): Fix ambiguous doc string cross-reference(s). + +2013-01-11 Michael Albinus + + * autorevert.el (top): Require 'cl in order to pacify byte compiler. + (auto-revert-notify-rm-watch): Ignore errors. + (auto-revert-notify-add-watch): Ignore errors. Use '(modify) for + inotify, and '(size last-write-time) for w32notify. + Set buffer-local `auto-revert-use-notify' to nil when adding a file + watch fails - this is a fallback to the file modification check. + (auto-revert-notify-event-p, auto-revert-notify-event-descriptor) + (auto-revert-notify-event-action) + (auto-revert-notify-event-file-name): New defuns. + (auto-revert-notify-handler): Use them. Implement first + plausibility checks. + (auto-revert-handler): Handle also `auto-revert-tail-mode'. + +2013-01-11 Julien Danjou + + * color.el (color-rgb-to-hsv): Fix conversion computing in case min and + max are almost equal. Also return the correct value for V which is + already between 0 and 1. + +2013-01-11 Dmitry Antipov + + * emacs-lisp/ert.el (ert-run-test): Use point-max-marker. + +2013-01-11 Eli Zaretskii + + * autorevert.el (auto-revert-notify-rm-watch) + (auto-revert-notify-add-watch): Fix typos in w32notify function + names. + +2013-01-10 Michael Albinus + + * autorevert.el (auto-revert-notify-enabled): Move up. + (auto-revert-use-notify): New defcustom. + (auto-revert-mode, global-auto-revert-mode) + (auto-revert-notify-add-watch, auto-revert-handler) + (auto-revert-buffers): Use `auto-revert-use-notify' instead of + `auto-revert-notify-enabled'. + +2013-01-10 Elias Pipping + + * files.el (auto-mode-alist): Use doc-view for djvu files (bug#13164). + * doc-view.el (doc-view-document->bitmap): + Use doc-view-single-page-converter-function instead of + single-page-converter arg; adjust callers. + +2013-01-10 Feng Li (tiny change) + + * progmodes/which-func.el (which-function): Understand Semantic's use + of overlays in imenu--index-alist. + +2013-01-10 Wolfgang Jenkner + + * man.el: Handle different "man -k" behaviors (bug#13160). Use utf-8. + (Man-man-k-use-anchor): New var. + (Man-parse-man-k): New function. + (Man-completion-table): Use it. + (man): Flush the completion cache between uses. + +2013-01-10 Michael Albinus + + * autorevert.el: Add file watch support. + (auto-revert-notify-enabled): New defconst. + (auto-revert-notify-watch-descriptor-hash-list) + (auto-revert-notify-watch-descriptor) + (auto-revert-notify-modified-p): New defvars. + (auto-revert-notify-rm-watch, auto-revert-notify-add-watch) + (auto-revert-notify-handler): New defuns. + (auto-revert-mode, global-auto-revert-mode): Remove file watches + when mode is disabled. + (auto-revert-handler): Check for `auto-revert-notify-modified-p'. + (auto-revert-buffers): Add file watches for active buffers. + +2013-01-10 Dmitry Antipov + + * cus-start.el (toplevel): Only allow float values for + scroll-up-aggressively and scroll-down-aggressively. + Allow any number for line-spacing. + +2013-01-10 Stefan Monnier + + * doc-view.el (doc-view-pdfdraw-program): Allow "pdfdraw" name. + (doc-view-pdf->png-converter-function): Use mupdf if available. + (doc-view-djvu->png-converter-function) + (doc-view-ps->png-converter-function): Remove. + (doc-view--image-file-pattern): Replace doc-view--image-file-extension. + (doc-view-goto-page, doc-view-convert-current-doc, doc-view-display) + (doc-view-already-converted-p): Adjust accordingly. + (doc-view-mode-p): Simplify. + (doc-view-enlarge): Use setq-local. + (doc-view-pdf->png-converter-ghostscript) + (doc-view-djvu->png-converter-ddjvu) + (doc-view-pdf->png-converter-mupdf): Rework to call + doc-view-start-process directly. + (doc-view-pdf/ps->png): Simplify accordingly. + (doc-view-pdf->png-1, doc-view-djvu->png-1): Remove. + (doc-view-document->bitmap): Rename from doc-view-document->png. + (doc-view-convert-current-doc): Merge pdf and djvu cases. + (doc-view-set-slice-from-bounding-box): Fix completion table. + (doc-view-mode): Use add-hook for after-revert-hook. + +2013-01-10 Glenn Morris + + * emacs-lisp/authors.el (authors-ignored-files) + (authors-valid-file-names, authors-renamed-files-alist): + Add some more entries. + +2013-01-10 Stefan Monnier + + * image-mode.el (image-mode-winprops): Don't throw away the fallback + `t' pseudo-window entry. + +2013-01-10 Alan Mackenzie + + Fix bugs in the c-parse-state mechanism. Reuse some markers + instead of continually generating new ones. + + * progmodes/cc-engine.el (c-state-old-cpp-beg-marker) + (c-state-old-cpp-end-marker): New variables. + (c-append-lower-brace-pair-to-state-cache): Start a backward + search for "}" definitively outside CPP constructs. + (c-remove-stale-state-cache): Inform the caller of a need to + search back for a brace pair in certain circumstances. + (c-state-maybe-marker): New macro. + (c-parse-state): Reuse markers when appropriate. + +2013-01-10 Glenn Morris + + * simple.el (execute-extended-command): Doc fix. + Bind prefix-arg around read-extended-command, for prompt. (Bug#13395) + +2013-01-10 Chong Yidong + + * faces.el (read-face-name): Doc fix. + +2013-01-10 Roland Winkler + + * emacs-lisp/crm.el: Allow any regexp for separators. + (crm-default-separator): All spaces around the default comma separator. + (crm--completion-command): New macro. + (crm-completion-help, crm-complete, crm-complete-word): Use it. + (crm-complete-and-exit): Handle non-single-char separators. + +2013-01-09 Elias Pipping + + * doc-view.el: Add support for DjVu (bug#13164). + (doc-view-djvu->png-converter-function): New config var. + (doc-view-single-page-converter-function, doc-view--image-type) + (doc-view--image-file-extension): New vars. + (doc-view-mode): Initialize them. + (doc-view-goto-page): Use them. + (doc-view-mode-p): Add support for ddjvu. + (doc-view-djvu->png-converter-ddjvu, doc-view-djvu->png-1) + (doc-view-set-up-single-converter): New funs. + (doc-view-pdf/ps->png): Extend for djvu. + (doc-view-document->png): Rename from doc-view-pdf->png. + (doc-view-convert-current-doc): Handle djvu. + (doc-view-insert-image, doc-view-display) + (doc-view-already-converted-p): Don't hardcode png. + (doc-view-set-doc-type): Recognize djvu docs. + +2013-01-09 Elias Pipping + + * doc-view.el: Add support for mupdf converter (bug#13164). + (doc-view-pdfdraw-program, doc-view-pdf->png-converter-function) + (doc-view-ps->png-converter-function): New config vars. + (doc-view-pdf->png-converter-ghostscript) + (doc-view-ps->png-converter-ghostscript) + (doc-view-pdf->png-converter-mupdf): New functions. + (doc-view-pdf/ps->png, doc-view-pdf->png-1): Use them. + +2013-01-09 Jürgen Hötzel + + * net/tramp.el (tramp-eshell-directory-change): Check remote-path + first in session cache: When `tramp-own-remote-path' is in + `tramp-remote-path', the remote path is only set in the session + cache. + +2013-01-09 Glenn Morris + + * emacs-lisp/trace.el (trace-function-foreground) + (trace-function-background): Doc fix. + +2013-01-09 Juri Linkov + + * international/mule-cmds.el (read-char-by-name): Move let-binding + of completion-ignore-case around completing-read to fix regression + exhibited by the test case `C-x 8 RET *acc TAB' and caused by + `string-match-p' using the nil value of `case-fold-search' and + `completion-ignore-case' in `completion-pcm--all-completions'. + (Bug#12615). + +2013-01-09 Glenn Morris + + * progmodes/compile.el (compilation-parse-errors): + Fix typo. (Bug#13369) + +2013-01-09 Vitalie Spinu (tiny change) + + * comint.el (comint-send-input): Check size of buffer before + waiting for process output, in case already accepted. (Bug#13290) + +2013-01-09 Paul Eggert + + Spelling fixes. + * net/tramp-adb.el (tramp-adb-get-toolbox): + Fix misspelling of 'unknown'. + +2013-01-08 Juri Linkov + + * textmodes/flyspell.el (flyspell-incorrect, flyspell-duplicate): + * progmodes/flymake.el (flymake-errline, flymake-warnline): + Use underline style wave on terminals that support it. (Bug#13000) + +2013-01-08 Stefan Monnier + + * emacs-lisp/pcase.el (pcase--split-equal): Also take advantage if + the predicate returns nil. + + * simple.el: Use lexical-binding. + (primitive-undo): Use pcase. + (minibuffer-history-isearch-push-state): Use a closure. + +2013-01-08 Aaron S. Hawley + + * simple.el (primitive-undo): Move from undo.c. + +2013-01-08 Stefan Monnier + + * vc/pcvs.el (cvs-cleanup-collection): Extend meaning of `rm-handled'. + (cvs-mode-remove-handled): Use it (bug#13380). + + * emacs-lisp/nadvice.el (advice--tweak): New function. + (advice--remove-function, advice--subst-main): Use it. + + * emacs-lisp/advice.el: Update commentary. + +2013-01-08 Michael Albinus + + * net/tramp-adb.el (tramp-adb-file-name-handler-alist): + Remove spurious entry. + +2013-01-08 Glenn Morris + + * net/tramp.el (tramp-default-host-alist): Add :version. + +2013-01-08 Juri Linkov + + * info.el (Info-read-node-name-2): Don't duplicate suffixes for + single completion. (Bug#12456) + (info--manual-names): Expand node completions into an explicit list + before appending it to another list. Filter out internal buffers + with the leading space in the buffer name. (Bug#10771) + +2013-01-08 Juri Linkov + + * info.el (Info-read-node-name-1): Allow empty node name in (FILENAME) + that defaults to the Top node. + (Info-goto-node, Info-read-node-name): Doc fix to mention that + the short format (FILENAME) goes to the Top node. + (Info-build-node-completions): Rename arg `file' to `filename'. + (Bug#13365) + +2013-01-07 Bastien Guerry + + * menu-bar.el (menu-bar-search-documentation-menu): + Use `apropos-user-option' and fix the help message. + +2013-01-07 Bastien Guerry + + * apropos.el (apropos-do-all): Update docstring. + (apropos-user-option-button): New face. + (apropos-user-option): Rename from `apropos-variable' and update + docstring. + (apropos-variable): Rewrite, now show all variables by default. + (apropos-print): Mention "User option" instead of "Variable" when + printing doc for user options. (Bug#13276) + +2013-01-07 Jürgen Hötzel + + * net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls): + Handle filename correctly, when parsing "source -> target" symlink + output. + (tramp-adb-handle-set-file-times): New defun. + +2013-01-07 Stefan Monnier + + * emacs-lisp/advice.el (ad-activate-advised-definition): Refresh the + advice list when the interactive-spec of ad-Advice-* changes. + +2013-01-07 Katsumi Yamaoka + + * wid-edit.el (widget-default-get): Work for inlined elements. + (Bug#12670) + +2013-01-07 Michael Albinus + + * net/tramp.el (tramp-default-host-alist): New defcustom. + (tramp-find-host): Use it. + (tramp-eshell-directory-change): Move from tramp-sh.el. Add to + `eshell-directory-change-hook'. + + * net/tramp-adb.el (top): Add adb specific entry in + `tramp-default-host-alist'. + (tramp-adb-file-name-host): Remove function. + (tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection): + Use `tramp-file-name-host' instead of `tramp-adb-file-name-host'. + + * net/tramp-sh.el: Move eshell integration code to tramp.el. + +2013-01-06 Jürgen Hötzel + + * net/tramp-adb.el (tramp-methods): Add `tramp-tmpdir' entry. + +2013-01-06 Michael Albinus + + * net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): The file size can + consist of more than one digit. + (tramp-adb-file-name-handler-alist): + Use `tramp-handle-file-exists-p' consistently. + (tramp-adb-file-name-handler): Don't tweak `tramp-default-host'. + (tramp-adb-handle-file-exists-p): Remove function. + (tramp-adb-file-name-host): New defun. + (tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection): + Use it. + (tramp-adb-maybe-open-connection): Set "remote-path" property. + +2013-01-06 Chong Yidong + + * vc/vc.el (vc-next-action): Detect buffer modifications + conflicting with locking VCS operation (Bug#11490). + + * vc/vc-hooks.el (vc-after-save): DTRT for locking VCSes. + +2013-01-05 Michael Albinus + + * net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls): + (tramp-adb-handle-directory-files-and-attributes): Fix typos. + +2013-01-05 Jürgen Hötzel + + * net/tramp-adb.el (tramp-adb-handle-file-attributes): More robust + parsing of ls output using regular expression (handle filenames + with spaces). Use virtual device number. + (tramp-do-parse-file-attributes-with-ls): New defun (Code + cleanup). + +2013-01-04 Daiki Ueno + + * epg.el: Silence byte-compiler warnings. + (epg--start): Use delete-char instead of delete-backward-char. + (epg-wait-for-completion): Pass FRAME arg to redraw-frame. + +2013-01-04 Daiki Ueno + + * epg.el (epg--start): Don't call "tty" program on W32 platforms. + Suggested by Eli Zaretskii . + +2013-01-04 Michael Albinus + + * net/tramp-sh.el (tramp-set-file-uid-gid): UID and GID must be + non-negative integers. Otherwise, the default values are used. + (tramp-convert-file-attributes): Convert uid and gid to integers. + +2013-01-04 Glenn Morris + + * term.el (term-handle-colors-array): Ensure face attributes + are fully specified, not nil. (Bug#13337) + + * term.el (term-default-fg-color, term-default-bg-color): + Fix custom type. + + * progmodes/etags.el (tags-compression-info-list): Doc fix. + (tag-find-file-of-tag-noselect): Check auto-compression-mode + rather than 'jka-compr being loaded. (Bug#13338) + +2013-01-04 Wesley Dawson (tiny change) + + * icomplete.el (icomplete-completions): + Honor icomplete-prospects-height once more following + 2012-11-29 changes. (Bug#13224) + +2013-01-04 Stefan Monnier + + * subr.el (internal--called-interactively-p--get-frame): Find aliases + of called-interactively-p as well (bug#13237). + + * view.el (view--enable, view--disable): Rename from view-mode-enable + and view-mode-disable and assume it's called from view-mode. + (view-mode-enable, view-mode-disable): Redefine as obsolete + compatibility layer above view-mode. + (view-mode-enter): Call `view-mode'. + + * files.el (after-find-file): Call `view-mode'. + + * doc-view.el (doc-view-scale-internally): New var. + (doc-view-enlarge, doc-view-insert-image): Obey it. + +2013-01-03 Daiki Ueno + + * epg.el (epg--start): Ignore errors when /dev/fd/0 does not + exist. (Bug#13344) + +2013-01-03 Glenn Morris + + * mail/rmail.el (rmail-set-header-1): Ignore case. + Handle multi-line headers. (Bug#13330) + + * progmodes/make-mode.el (makefile-fill-paragraph): Add doc. + Handle paragraph starting at beginning of buffer. + + * subr.el (eval-after-load): Don't purecopy the form, so that it + can be nconc'd later on; reverts 2009-11-11 change. (Bug#13331) + + * emacs-lisp/byte-run.el (defun): Place cl declarations + after any interactive spec. (Bug#13265) + +2013-01-02 Andreas Schwab + + * emacs-lisp/byte-run.el (defmacro): Use same argument parsing as + defun. Don't check for DECL if DOCSTRING isn't a string. + (defun): Likewise. + +2013-01-02 Glenn Morris + + * eshell/em-cmpl.el (eshell-pcomplete): + More thoroughly imitate pcomplete. (Bug#13293) + + * files.el (parse-colon-path): Doc fix. (Bug#12351) + Return nil for empty path elements. (Bug#13296) + +2013-01-02 Fabián Ezequiel Gallina + + * progmodes/python.el (python-nav-end-of-statement): Rewrite in + order to improve efficiency (Based on Daniel Colascione's + patch). (Bug#13182) + +2013-01-02 Glenn Morris + + * vc/log-edit.el (log-edit-header-contents-regexp): Add doc string. + +2013-01-02 Andreas Schwab + + * emacs-lisp/byte-run.el (defmacro): Don't lose final nil if + neither DOCSTRING nor DECL was given. (Bug#13316) + +2013-01-02 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-set-file-acl): Add argument to + `error' call. + (tramp-do-copy-or-rename-file): Ignore errors when calling + `set-file-extended-attributes'. + + * net/tramp-smb.el (tramp-smb-file-name-handler-alist): + Add handler for `file-acl'. + (tramp-smb-handle-file-acl): New defun. + +2013-01-02 Jay Belanger + + * calc/README: Mention ISO 8601 week-numbering dates. + +2013-01-01 Martin Rudalics + + * view.el (view-mode-enable): New argument run-view-mode-hook. + Run view-mode-hook only when it's non-nil (Bug#13315). + (view-mode-enter): Call view-mode-enable with run-view-mode-hook + argument t. + +2012-12-31 Jürgen Hötzel + + * net/tramp-adb.el (tramp-adb-maybe-open-connection): Handle errors + (No device connected, invalid device name). (Bug #13299) + +2012-12-31 Martin Rudalics + + * window.el (window-resizable--p): Rename to window-resizable-p. + (window-resize-no-error): New function. + + * mail/rmail.el (rmail-maybe-display-summary): Restore behavior + broken in fix from 2012-12-28. + +2012-12-31 Stefan Monnier + + * subr.el (special-form-p): Don't signal errors on undef aliases. + +2012-12-31 Jay Belanger + + * calc/calc-forms.el (math-parse-date): Try using + `math-parse-iso-date' when it looks like it might be needed. + Allow times of 24:00. + (math-parse-date-validate, math-parse-iso-date-validate): Allow times + of 24:00. + +2012-12-30 Glenn Morris + + * net/mairix.el (rmail, rmail-summary-displayed, rmail-summary): + Remove unnecessary/buggy autoloads (missing interactive). (Bug#13294) + (rmail-summary-displayed, rmail-summary): Declare. + (mairix-rmail-display): Just require rmail. + +2012-12-30 Chong Yidong + + * emacs-lisp/package.el (package-untar-buffer): Improve integrity + check for the tarball contents. + +2012-12-30 Matt Fidler (tiny change) + + * emacs-lisp/package.el (package-untar-buffer): Handle problematic + tarfile content listings (Bug#13136). + +2012-12-30 Mark Lillibridge + + * mail/rmailmm.el (rmail-insert-mime-forwarded-message): + Insert the undecoded text of the message being forwarded. (Bug#9521) + +2012-12-30 Michael Albinus + + * net/tramp-sh.el (tramp-set-file-uid-gid): Convert UID and GID to + integers, if they are real numbers. (Bug#13282) + + * net/tramp-sh.el (tramp-sh-handle-set-file-selinux-context): + Return `t' on success. + + * net/tramp-smb.el (tramp-smb-file-name-handler-alist): + Add handler for `set-file-selinux-context'. + +2012-12-29 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-file-acl): Suppress basic attributes. + (tramp-sh-handle-set-file-acl): Return `t' on success. + +2012-12-29 Eli Zaretskii + + * files.el (backup-buffer-copy, basic-save-buffer-2): + If set-file-extended-attributes fails, fall back on set-file-modes + instead of signaling an error. (Bug#13298) + (basic-save-buffer): Likewise. + +2012-12-29 Fabián Ezequiel Gallina + + * progmodes/python.el: Support other commands triggering + python-indent-line so indentation cycling continues to work. + (python-indent-trigger-commands): New defcustom. + (python-indent-line): Use it. + +2012-12-29 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-send-region): Add blank lines + for non sent code so backtraces remain correct. + +2012-12-29 Fabián Ezequiel Gallina + + * progmodes/python.el: Remove cl dependency. + (python-syntax-count-quotes): Replace incf call. + (python-fill-string): Replace setf call. + +2012-12-29 Damien Cassou + + * info.el (info-other-window): New arg, for consistency with info. + +2012-12-28 Martin Rudalics + + * mail/rmail.el (rmail-maybe-display-summary): + Rewrite (Bug#13066). + +2012-12-28 Andreas Schwab + + * epg.el (epg--start): Modify process-environment locally. + +2012-12-28 Daiki Ueno + + * epg.el: Support pinentry-curses. + Suggested by Werner Koch in + . + (epg-agent-file, epg-agent-mtime): New variable. + (epg--start): Record the modified time of gpg-agent socket file, + to restore Emacs frame after pinentry-curses termination. + (epg-wait-for-completion): Restore Emacs frame here. + +2012-12-27 Juri Linkov + + * info.el (Info-file-completions): New variable. + (Info-read-node-name-1): Complete node names in the Info file + when a file name is given. Call `Info-build-node-completions' + with a file name. + (Info-build-node-completions): Add new arg `file'. When it is + non-nil, visit it in a temporary buffer and cache its completions in + `Info-current-file-completions'. Move most of the function body to + `Info-build-node-completions-1'. + (Info-build-node-completions-1): New function with the body from + `Info-build-node-completions'. (Bug#12456) + +2012-12-27 Juri Linkov + + * frame.el (frame-maximization-style): Remove user option. + (cycle-frame-maximized): Remove function. + (toggle-frame-maximized): Rewrite and bind to M-. + (toggle-frame-fullscreen): New command bound to instead of + `toggle-frame-maximized'. + http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00703.html + +2012-12-27 Michael Albinus + + * net/tramp.el (tramp-handle-file-accessible-directory-p): New defun. + + * net/tramp-adb.el (tramp-adb-file-name-handler-alist): + * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + * net/tramp-sh.el (tramp-sh-file-name-handler-alist): Add handler + for `file-accessible-directory-p'. (Bug#13275) + +2012-12-27 Sam Steingold + + * progmodes/cperl-mode.el (cperl-calculate-indent): Do not stagger + continuations, see . + +2012-12-27 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-indent-beg-re): Only allow "class", + "module" and "def" to have indentation before them. + Regression from 2012-09-07T04:15:56Z!dgutov@yandex.ru (see the new test). + + * progmodes/ruby-mode.el: Bump the version to 1.2 (Bug#13200). + +2012-12-27 Alan Mackenzie + + Speed up fontification where there's large brace blocks. + * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Add a limit + to a call of c-beginning-of-decl-1. + +2012-12-27 Vitalie Spinu (tiny change) + + * comint.el (comint-adjust-window-point): New function. + (comint-postoutput-scroll-to-bottom): + Call comint-adjust-window-point (Bug#13248). + +2012-12-26 Dmitry Gutov + + * progmodes/ruby-mode.el (auto-mode-alist): `purecopy' the + Rakefile regexp. + (auto-mode-alist): Associate .gemspec files with ruby-mode + (https://bugs.ruby-lang.org/issues/5453). + +2012-12-26 Jürgen Hötzel + + * net/tramp-adb.el (tramp-adb-get-ls-command): New defun. + Suppress coloring, if possible (required for BusyBox based systems like + CyanogenMod). + (tramp-adb-handle-file-attributes) + (tramp-adb-handle-insert-directory) + (tramp-adb-handle-file-name-all-completions): Use it. + (tramp-adb-get-toolbox): New defun. Check for remote shell + implementation (BusyBox or Toolbox). + +2012-12-24 Constantin Kulikov (tiny change) + + * startup.el (initial-buffer-choice): Allow function as value + (Bug#13251). + (command-line-1): Handle case where initial-buffer-choice + specifies a function. + * server.el (server-execute): Handle case where + initial-buffer-choice specifies a function. + +2012-12-24 Lars Ingebrigtsen + + * mail/smtpmail.el (smtpmail-try-auth-method): Refactored out into + its own function. + (smtpmail-try-auth-methods): Forget the user name/password if the + login is unsuccessful (bug#12424). + +2012-12-22 Michael Albinus + + * notifications.el (notifications-notify): Protect body with + `with-demoted-errors'. + + * net/tramp-adb.el (tramp-adb-maybe-open-connection): + Check properties of remote device. Restart connection, if there is a + change. + +2012-12-21 Chong Yidong + + * sort.el (sort-subr): Doc fix (Bug#13056). + +2012-12-21 Bastien Guerry + + * progmodes/etags.el (tags-search): Fix typo. Bug #13232. + +2012-12-21 Michael Albinus + + * simple.el (process-file): Overwrite stderr file, if exists. + +2012-12-21 Daiki Ueno + + * epg.el (epg--start): Print GPG_AGENT_INFO in the debug buffer. + (epg-error): Set `error-message' property. + +2012-12-21 Chong Yidong + + * international/mule-cmds.el (read-char-by-name): Signal an error + if the user does not supply a valid character (Bug#13177). + + * simple.el (transpose-subr-1): Preserve marker positions by + changing the insertion sequence (Bug#13122). + +2012-12-21 Kelly Dean (tiny change) + + * simple.el (kill-region): Deactivate mark even for empty regions + (Bug#13169). + +2012-12-21 Chong Yidong + + * help-fns.el (describe-variable): Make sure we get the right + buffer name (Bug#13105). Suggested by Kelly Dean. + +2012-12-20 Michael R. Mauger + + * comint.el (comint-redirect-previous-input-string): New variable. + (comint-redirect-setup, comint-redirect-cleanup) + (comint-redirect-preoutput-filter): Use it. Fixes redirection bug. + (comint-redirect-preoutput-filter): Fix verbose message. + +2012-12-20 Michael Albinus + + * progmodes/grep.el (rgrep): Escape command line. Sometimes, it + is too long for Tramp. See discussion in + . + + * progmodes/compile.el (compilation-start): Remove line escape + template. + +2012-12-20 Dmitry Antipov + + * vc/ediff-ptch.el (ediff-map-patch-buffer): Use `point-min-marker'. + Adjust comment. + +2012-12-19 Jonas Bernoulli + + * emacs-lisp/lisp-mnt.el (lm-section-end): Always end before the + following non-comment text (bug#13207). + (lm-header-multiline): Continuation lines need to be indented more than + the first line. + (lm-homepage): New function. + (lm-with-file): Don't be confused if narrowing is in effect. + +2012-12-19 Stefan Monnier + + * vc/diff-mode.el (diff-post-command-hook): Don't ignore changes at the + very beginning of a hunk (e.g. killing the first line). + +2012-12-19 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-file-acl): Delete empty lines + and text properties from returned ACL string. + (tramp-sh-handle-set-file-acl): Do not use additional parentheses + for "setfacl" command. + +2012-12-18 Michael Albinus + + * net/tramp.el (tramp-error-with-buffer): Give a hint to use + `tramp-cleanup-this-connection', when the process has died. + (Bug#13151) + +2012-12-17 Stefan Monnier + + * icomplete.el (icomplete-completions): Also use … to truncate prefix. + +2012-12-17 Kevin Ryde + + * files.el (auto-save-file-name-p): Use \` and \' (bug#13186). + +2012-12-17 Michael Albinus + + Add support for preserving ACL entries of files. + + * net/tramp.el (tramp-file-name-for-operation): Add `file-acl' and + `set-file-acl' handlers. + + * net/tramp-adb.el (tramp-adb-handle-copy-file): + Handle PRESERVE-EXTENDED-ATTRIBUTES. + + * net/tramp-compat.el (tramp-compat-copy-file): + Handle PRESERVE-EXTENDED-ATTRIBUTES. + + * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + Add `file-acl' and `set-file-acl' handlers. + (tramp-gvfs-handle-copy-file): + Handle PRESERVE-EXTENDED-ATTRIBUTES. + (tramp-gvfs-handle-file-acl, tramp-gvfs-handle-set-file-acl): + New defuns. + + * net/tramp-sh.el (tramp-sh-file-name-handler-alist): + Add `file-acl' and `set-file-acl' handlers. + (tramp-remote-acl-p, tramp-sh-handle-file-acl) + (tramp-sh-handle-set-file-acl): New defuns. + (tramp-sh-handle-copy-file, tramp-do-copy-or-rename-file): + Handle PRESERVE-EXTENDED-ATTRIBUTES. + + * net/tramp-smb.el (tramp-smb-file-name-handler-alist): + Add `file-acl' and `set-file-acl' handlers. + (tramp-smb-handle-copy-file): Handle PRESERVE-EXTENDED-ATTRIBUTES. + +2012-12-17 Kelly Dean (tiny change) + + * help-macro.el (make-help-screen): Instead of switch-to-buffer + use pop-to-buffer with NORECORD argument t. As buffer name, use + *Metahelp* with a leading space (Bug#13190). + +2012-12-16 Romain Francoise + + * files.el (file-extended-attributes) + (set-file-extended-attributes): New functions. + (backup-buffer): Use them to handle both SELinux context and ACL + entries. + (backup-buffer-copy): Work with an alist of extended attributes, + rather than an SELinux context. + (basic-save-buffer-2): Ditto. + +2012-12-16 Timo Myyrä + + * battery.el (battery-bsd-apm): New function. + +2012-12-16 Jay Belanger + + * calc/calc.el (calc-standard-date-formats): Adjust one of the + standard date formats. + +2012-12-15 Juri Linkov + + * isearch.el (isearch-mode-map): Bind `C-x 8 RET' to + `isearch-insert-char-by-name'. + (with-isearch-suspended): New defmacro with body mostly from + `isearch-edit-string' except the part that sets + `isearch-new-string' and `isearch-new-message'. + (isearch-edit-string): Use new macro `with-isearch-suspended' with + body that sets `isearch-new-string' and `isearch-new-message'. + (isearch-insert-char-by-name): New command. + * international/mule-cmds.el (read-char-by-name): Let-bind + `enable-recursive-minibuffers' to t. + http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00234.html + +2012-12-15 Juri Linkov + + * isearch.el (isearch-delete-char, isearch-del-char): Doc fix. + (Bug#13175) + +2012-12-15 Christopher Schmidt + + * dired-x.el (dired-guess-shell-command): Put colon at the end of + the prompt. (Bug#13045) + +2012-12-14 Glenn Morris + + * emacs-lisp/macroexp.el (macroexp--warn-and-return): + Try to include filename in non-bytecomp warning. (Bug#13132) + +2012-12-14 Paul Eggert + + Fix permissions bugs with setgid directories etc. (Bug#13125) + * files.el (backup-buffer): Don't rely on 9th output of + file-attributes, as it's now a placeholder. Instead, use the new + optional arg of file-ownership-preserved-p. + (file-ownership-preserved-p): New optional arg GROUP. + Fix mishandling of setuid directories that would cause this + function to return t when it should have returned nil. + Document what happens if the file does not exist, and when + it's not known whether the ownership will be preserved. + * net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p): + Likewise. + (tramp-get-local-gid): Use group-gid for integer, as that's + faster and more reliable. + +2012-12-14 Julien Danjou + + * progmodes/sql.el (sql-mode-postgres-font-lock-keywords): + Update keywords list, data type and PL/pgSQL. + +2012-12-14 Dave Abrahams + + * vc/ediff-util.el (ediff-buffer-type): New function. + (ediff-clone-buffer-for-current-diff-comparison): Compute the buf-type + rather than taking it as as argument. + (ediff-inferior-compare-regions): Adjust calls accordingly (bug#11319). + +2012-12-14 Ryan Crum + + * json.el: Add pretty-print option (bug#12634). + (json-encoding-separator, json-encoding-default-indentation) + (json--encoding-current-indentation, json-encoding-pretty-print) + (json-encoding-lisp-style-closings): New vars. + (json--with-indentation): New macro. + (json-encode-hash-table, json-encode-alist, json-encode-plist) + (json-encode-array): Use it to obey json-encoding-pretty-print. + (json-pretty-print-buffer, json-pretty-print): New commands. + +2012-12-14 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-syntax-propertize-function): + Extract `ruby-syntax-propertize-expansions'. + (ruby-syntax-propertize-expansions): Only change syntax on + certain string delimiters, to punctuation. This way the common + functions like forward-word and thing-at-point still work. + (ruby-match-expression-expansion): Improve readability. + (ruby-block-contains-point): New function. + (ruby-add-log-current-method): Handle several edge cases. + +2012-12-13 Juanma Barranquero + + * emacs-lisp/edebug.el (edebug-unload-function): Make sure that + unload-feature finishes even when aborting an ongoing edebug session. + Also, do not worry about edebug-mode, unload-feature takes care of it. + +2012-12-13 Andreas Schwab + + * net/tls.el (tls-program): Update customize type. + +2012-12-13 Juanma Barranquero + + * emacs-lisp/edebug.el (edebug--require-cl-read): New function. + (edebug-setup-hook, cl-read-load-hooks): Use it. + (edebug-unload-function): New function. (Bug#13163) + +2012-12-13 Michael Albinus + + * net/tramp-adb.el (tramp-adb-file-name-p): Make it a defsubst. + Otherwise, there could be errors in autoloading. (Bug#13151) + +2012-12-13 Jürgen Hötzel + + * net/tramp-adb.el (tramp-adb-wait-for-output): Remove spurious " ^H" + sequences. + +2012-12-13 Alan Mackenzie + + Make CC Mode not hang when _some_ lines end in CRLF. Bug #11841. + * progmodes/cc-engine.el (c-backward-comments): Add code to work + around `forward-comment' not recognizing ^M as whitespace. + +2012-12-13 Fabián Ezequiel Gallina + + * progmodes/python.el (python-skeleton-class) + (python-skeleton-def): Do not add space after defun name. + +2012-12-13 Stefan Monnier + + * emacs-lisp/cl.el (letf): Make it an alias of cl-letf. + (cl--symbol-function): Remove (now that funbound is like nil). + +2012-12-12 Glenn Morris + + * button.el (button--area-button-p): Fix typo. + +2012-12-12 Sam Steingold + + * frame.el (frame-maximization-style): New user option. + (toggle-frame-maximized): Toggle frame maximization according to + `frame-maximization-style', bound to . + (cycle-frame-maximized): Cycle between all maximization styles and + non-maximized frame, bound to shift-. + +2012-12-12 David Cadé + + * mpc.el (mpc-format): Use truncate-string-to-width (bug#13143). + +2012-12-12 Jonas Bernoulli + + * lisp/emacs-lisp/eieio.el: Prettier object pretty-printing (bug#13115). + (eieio-override-prin1): Don't quote kewords and booleans. + (object-write) : Don't put closing parens + on new line, avoid needless empty lines, align values that are objects + with the slot keyword (instead of beginning on the same line). + (eieio-list-prin1): Align value with slot keyword; increase + eieio-print-depth before printing members of the list. + +2012-12-11 Stefan Monnier + + * mail/emacsbug.el (report-emacs-bug): Move the intangible text to + a display text-property. + (report-emacs-bug-hook): Don't bother deleting it any more. + + * hilit-chg.el (highlight-save-buffer-state): Delete. + Use with-silent-modifications instead. + (hilit-chg-set-face-on-change): Only fixup the text that's modified. + + * button.el: Handle buttons in display text-properties. + (button--area-button-p, button--area-button-string): + Use (STRING . STRING-POS) representation instead of just STRING. + +2012-12-11 Eli Zaretskii + + * makefile.w32-in (compile4-SH): Fix a typo that caused term + subdirectory be skipped. + +2012-12-11 Glenn Morris + + * net/rcirc.el (rcirc-urls, rcirc-condition-filter): Doc fixes. + + * progmodes/f90.el (f90-line-continued, f90-indent-region): + Treat preprocessor lines embedded in continuations like comments. + (f90-indent-line): Special-case preprocessor lines. (Bug#13138) + +2012-12-11 Jay Belanger + + * calc/calc.el (calc-standard-date-formats): Add more date + formats. + * calc/calc-forms.el (math-parse-iso-date): New function. + (math-parse-date): Use `math-parse-iso-date' when appropriate. + (math-parse-iso-date-validate): Add extra error checking. + (calc-date-notation): Add ability to access new date formats. + +2012-12-10 Stefan Monnier + + * hi-lock.el (hi-lock--regexps-at-point): Fix boundary case for + font-lock as well as when there's no text-property. + +2012-12-10 Jambunathan K + + * hi-lock.el: Refine the choice of default face. + (hi-lock-keyword->face): New function. Use it wherever we used + cadadadr instead. + (hi-lock--regexps-at-point): Ignore faces that can't come from hi-lock. + (hi-lock--last-face): Remove var. + (hi-lock--unused-faces): New var to replace it. + (hi-lock-read-face-name): Use/maintain it. + (hi-lock-unface-buffer): Maintain it. Fix error for the C-u case. + (hi-lock-set-pattern): Ignore new rule if it has the same regexp even + if it has another face. + +2012-12-10 Eli Zaretskii + + * subr.el (w32notify-handle-event): New function. + (inotify-handle-event): Doc fix. + +2012-12-10 Rüdiger Sonderfeld + + * subr.el (inotify-event-p, inotify-handle-event): New functions. + +2012-12-10 Dani Moncayo + + * simple.el (just-one-space): Doc fix. + +2012-12-10 Eli Zaretskii + + * textmodes/texinfo.el (texinfo-enable-quote-envs): Add "smallexample". + +2012-12-10 Le Wang + + * hilit-chg.el (hilit-chg-set-face-on-change): Don't burp in + narrowed buffer (bug#12361). + +2012-12-10 Juanma Barranquero + + * vc/vc-hooks.el (vc-state): Doc fix. + +2012-12-10 Glenn Morris + + * mail/rmail.el (rmail-maybe-display-summary): + Preserve buffer, in case select-window changes it. (Bug#13066) + +2012-12-10 Stefan Monnier + + * emacs-lisp/cl.el, emacs-lisp/cl-lib.el: Move cl-unload-function and + cl-load-hook where they belong. + +2012-12-10 Stefan Monnier + + * emacs-lisp/cl-lib.el (cl-declaim): Paren typo. + +2012-12-09 Eli Zaretskii + + Parallelize byte compilation on MS-Windows. + * makefile.w32-in (WINS_BASIC1, WINS_BASIC2, WINS_BASIC3) + (WINS_BASIC4): New variables, subdivide subdirectories into 4 parts. + (WINS_BASIC): Define as concatenation of the above. + (compile): Subdivide into 4 separate and independent jobs that can + be run in parallel. + (compile0-CMD, compile0-SH): New targets for compiling + COMPILE_FIRST files, which are prerequisites for the rest of the + byte-compilation. + (compile1-CMD, compile2-CMD, compile3-CMD, compile4-CMD): + New targets for parallel compilation with cmd.exe. + (compile1-SH, compile2-SH, compile3-SH, compile4-SH): Ditto for + compiling under a Unixy shell. + +2012-12-09 Chong Yidong + + * simple.el (set-mark-default-inactive): Delete this + accidentally-introduced option. + (set-mark-command, exchange-point-and-mark): Remove calls. + +2012-12-09 Glenn Morris + + * emacs-lisp/lisp-mode.el (eval-defun-1): Doc fix. + Respect a defcustom's :set function, if appropriate. (Bug#109) + (eval-defun): Doc fix. + +2012-12-08 Juri Linkov + + * info.el (Info-copy-current-node-name, Info-breadcrumbs) + (Info-fontify-node, Info-bookmark-make-record): Remove the + file extension from Info-current-file (Bug#13016). + +2012-12-07 Stefan Monnier + + * hi-lock.el (hi-lock-unface-buffer): If there's no matching regexp at + point, still provide some default. + (hi-lock--regexps-at-point): Don't enforce a "hi-lock-" prefix on face + names, since we don't use it right now. Actually return the list. + (hi-lock-file-patterns, hi-lock-interactive-patterns): Use defvar-local. + +2012-12-07 Chong Yidong + + * novice.el (disabled-command-function): Remove a spurious help + xref (Bug#13043). Suggested by Kelly Dean. + + * subr.el (text-clone-maintain): Fix clone overlay deletion when a + syntax is specified (Bug#13025). + + * info.el (Info-set-mode-line): Remove the file extension from + Info-current-file if there is one (Bug#13016). + +2012-12-07 Glenn Morris + + * mail/rmail.el (rmail-mime-decoded): New permanent local. + (rmail-show-message-1): Set rmail-mime-decoded when appropriate. + * mail/rmailedit.el (rmail-cease-edit): Respect rmail-mbox-format + and rmail-mime-decoded. (Bug#9841) + + * mail/unrmail.el (unrmail-mbox-format): New option. (Bug#6574) + (batch-unrmail, unrmail): Doc fixes. + (unrmail): Respect unrmail-mbox-format. + * mail/rmail.el (rmail-mbox-format): New option. + (rmail-show-message-1): Respect rmail-mbox-format. + +2012-12-07 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl-tagbody): New macro. + +2012-12-06 Stefan Monnier + + Further cleanup of the "cl-" namespace. Fit CL in 80 columns. + * emacs-lisp/cl-macs.el (cl--pop2, cl--optimize-safety) + (cl--optimize-speed, cl--not-toplevel, cl--parse-loop-clause) + (cl--expand-do-loop, cl--proclaim-history, cl--declare-stack) + (cl--do-proclaim, cl--proclaims-deferred): Rename from the "cl-" prefix. + (cl-progv): Don't rely on dynamic scoping to find the body. + * emacs-lisp/cl-lib.el (cl--optimize-speed, cl--optimize-safety) + (cl--proclaims-deferred): Rename from the "cl-" prefix. + (cl-declaim): Use backquotes. + * emacs-lisp/cl-extra.el (cl-make-random-state, cl-random-state-p): + Use "cl--" prefix for the object's tag. + + * ses.el: Use advice-add/remove. + (ses--advice-copy-region-as-kill, ses--advice-yank): New functions. + (copy-region-as-kill, yank): Use advice-add. + (ses-unload-function): Use advice-remove. + +2012-12-06 Jonas Bernoulli + + * button.el: Make them work in header-lines (bug#12817). + (button-map): Add bindings for header-line and mode-line use. + (button-get, button-put, button-label): `button' may now be a string. + (button-activate): Don't make it a defsubst. + (button--area-button-p, button--area-button-string): New functions. + (make-text-button): Fix the return value when `beg' was a string. + (push-button): Handle the mode-line case. + +2012-12-06 Stefan Monnier + + * progmodes/sql.el: Use cl-lib and lexical-binding; various cleanup. + (sql-signum): Remove. Use `cl-signum' instead. + (sql-read-passwd): Remove; use read-passwd instread. + (sql-get-login-ext): Use read-string. + (sql-get-login): Use dolist and pcase. + (sql--completion-table): Rename from sql-try-completion. + Use complete-with-action. + (sql-mode): Don't change abbrev-all-caps globally. + (sql-connect): Don't rely on dynamic scoping for `new-name'. + (sql-postgres-completion-object): Initialize vars in their `let'. + (sql-comint-sybase, sql-comint-sqlite, sql-comint-mysql) + (sql-comint-solid, sql-comint-ms, sql-comint-postgres) + (sql-comint-interbase): Use a single append, without setq. + (sql-comint-linter): Same, and unwind-protect the LINTER_MBX var. + + * hi-lock.el: Rework the default face and the serialize regexp code. + (hi-lock--auto-select-face-defaults): Remove. + (hi-lock-string-serialize-serial): Remove. + (hi-lock--hashcons-hash): Rename from hi-lock-string-serialize-hash; + make weak. + (hi-lock--hashcons): Rename from hi-lock-string-serialize, return an + equal string. + (hi-lock-set-pattern): Adjust accordingly. + (hi-lock--regexps-at-point): Simplify accordingly. + (hi-lock--auto-select-face-defaults): Remove. + (hi-lock--last-face): New var to replace it. + (hi-lock-read-face-name): Rewrite (bug#11095). + (hi-lock-unface-buffer): Arrange for the face to be the next default. + +2012-12-06 Michael Albinus + + * net/tramp.el (tramp-replace-environment-variables): + Hide compiler warning. + (tramp-file-name-for-operation): Remove `executable-find', + `start-process', `call-process' and `call-process-region'. + + * net/tramp-compat.el (top): Don't require 'tramp-util and 'tramp-vc. + + * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): Ensure backward + compatibility. + + * net/tramp-sh.el (top): Remove `tramp-sh-handle-call-process-region'. + +2012-12-06 Chong Yidong + + * ffap.el (ffap-replace-file-component): Fix typo. + +2012-12-06 Stefan Monnier + + * progmodes/octave-mod.el (octave-mark-block): Move out of tokens and + fix open-paren-like token test (bug#12785). + +2012-12-06 Glenn Morris + + * mail/rmailsum.el (rmail-new-summary): Tweak for + rmail-maybe-display-summary changing buffer. (Bug#13066) + +2012-12-06 Juri Linkov + + * info.el (Info-fontify-node): Don't hide the last newline. + (Bug#12272) + +2012-12-06 Katsumi Yamaoka + + * mail/mailabbrev.el (mail-abbrev-expand-wrapper): Work in minibuffer + so as to enable message-read-from-minibuffer to expand mail aliases. + +2012-12-06 Stefan Monnier + + * minibuf-eldef.el (minibuf-eldef-update-minibuffer): Don't mess with + the `intangible' property. + Suggested by Christopher Schmidt + +2012-12-05 Deniz Dogan + + * net/rcirc.el (rcirc-urls): Update documentation. + (rcirc-condition-filter): New function. + (rcirc-browse-url, rcirc-markup-urls): Use only URLs before point + and exclude consecutive duplicate URLs (Bug#6082). + +2012-12-05 Michael Albinus + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Check return code of copy command. + + * net/tramp-adb.el (tramp-adb-sdk-dir, tramp-adb-prompt): + Use group `tramp'. Add version. + +2012-12-05 Chong Yidong + + * ffap.el (ffap-url-regexp): Don't require matching at front of + string (Bug#4952). + (ffap-url-p): If only a substring matches, return that. + (ffap-url-at-point): Use the return value of ffap-url-p. + (ffap-read-file-or-url, ffap-read-file-or-url-internal) + (find-file-at-point, dired-at-point, dired-at-point-prompter) + (ffap-guess-file-name-at-point): Likewise. + (ffap-replace-file-component): Fix typo. + + * info.el (info-display-manual): Add existing Info buffers, whose + files may not be in Info-directory-list, to the completion. + (info--manual-names): New helper function. + +2012-12-05 Glenn Morris + + * vc/vc-hg.el (vc-hg-resolve-when-done, vc-hg-find-file-hook): + New functions, for detecting and resolving conflicts. (Bug#10709) + +2012-12-04 Jambunathan K + + * hi-lock.el (hi-lock-auto-select-face): New user variable. + (hi-lock-auto-select-face-defaults): New buffer local variable. + (hi-lock-read-face-name): Honor `hi-lock-auto-select-face'. + (hi-lock-unface-buffer): Prompt user with useful defaults. + With prefix arg, unhighlight all hi-lock patterns in buffer. + +2012-12-04 Stefan Monnier + + * obsolete/terminal.el, obsolete/longlines.el: Add obsolecence info. + +2012-12-04 Michael Albinus + + * Makefile.in (TRAMP_SRC): + * makefile.w32-in (TRAMP_SRC): Add tramp-adb.el. + +2012-12-04 Juergen Hoetzel + + * net/tramp-adb.el: New package. + +2012-12-04 Chong Yidong + + * terminal.el: Move to obsolete/. + + * longlines.el: Move to obsolete/. + + * vc/ediff-diff.el (ediff-extract-diffs, ediff-extract-diffs3): + Remove code referring to longlines mode. + +2012-12-03 Juri Linkov + + * sort.el (delete-duplicate-lines): New command. (Bug#13032) + +2012-12-03 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-init-process) + (ispell-start-process, ispell-internal-change-dictionary): + Make sure personal dictionary name is expanded after initial + `default-directory' value. Use expanded strings for + keep/restart checks and for value (Bug#13019). + +2012-12-03 Jay Belanger + + * calc/calc-forms.el (math-date-to-iso-dt): Fix weekday number. + +2012-12-03 Leo Liu + + * files.el (dir-locals-read-from-file): Check file non-empty + before reading. (Bug#13038) + +2012-12-03 Glenn Morris + + * jka-cmpr-hook.el (jka-compr-get-compression-info): + Remove any version extension before checking filename. (Bug#13006) + (jka-compr-compression-info-list): Belated :version bump. + +2012-12-03 Chong Yidong + + * simple.el (transient-mark-mode): Doc fix (Bug#11523). + + * buff-menu.el (Buffer-menu-delete-backwards, Buffer-menu-mode) + (buffer-menu): Doc fix (Bug#12294). + +2012-12-03 Roland Winkler + + * calendar/diary-lib.el (diary-header-line-format): Use keybinding + of diary-show-all-entries in the diary buffer (Bug#12994). + +2012-12-03 Michael Albinus + + * net/tramp-sh.el (tramp-perl-encode): Use "read STDIN" instead of + "". This is binary safe. + +2012-12-03 Jay Belanger + + * calc/calc-forms.el (math-absolute-from-iso-dt) + (math-date-to-iso-dt, math-parse-iso-date-validate) + (math-iso-dt-to-date): New functions. + (math-fd-iso-dt, math-fd-isoyear, math-fd-isoweek) + (math-fd-isoweekday): New variables. + (calc-date-notation, math-parse-standard-date, math-format-date) + (math-format-date-part): Add support for more formatting codes. + +2012-12-02 Dmitry Gutov + + * vc/vc.el (vc-delete-file, vc-rename-file): Default to the + current buffer's file name when called interactively (Bug#12488). + +2012-12-02 Juri Linkov + + * info.el (info-display-manual): Don't clobber an existing Info + buffer (Bug#10770). Add completion (Bug#10771). + +2012-12-01 Yuya Nishihara (tiny change) + + * vc/vc-hooks.el (vc-find-file-hook): Expand buffer-file-truename + before using it for comparison (Bug#5297). + +2012-12-01 Jari Aalto + + * textmodes/css-mode.el (css-current-defun-name): New function. + (css-mode): Use it. + + * textmodes/sgml-mode.el (html-current-defun-name): New function. + (html-mode): Use it. + +2012-12-01 Chong Yidong + + Modularize add-log-current-defun (Bug#2224). + Suggested by Jari Aalto. + + * vc/add-log.el (add-log-current-defun-function): Doc fix. + (add-log-current-defun): Move mode-specific code to other files. + (add-log-lisp-like-modes, add-log-c-like-modes) + (add-log-tex-like-modes): Variables deleted. + + * emacs-lisp/lisp-mode.el (lisp-current-defun-name): New. + (lisp-mode-variables): Use it. + + * progmodes/cc-mode.el (c-common-init): + * progmodes/cperl-mode.el (cperl-mode): Set a value for + add-log-current-defun-function. + + * progmodes/m4-mode.el (m4-current-defun-name): New function. + (m4-mode): Use it. + + * progmodes/perl-mode.el (perl-current-defun-name): New. + (perl-mode): Use it. + + * progmodes/scheme.el (scheme-mode-variables, dsssl-mode): + Use lisp-current-defun-name. + + * textmodes/tex-mode.el (tex-current-defun-name): New. + (tex-common-initialization): Use it. + + * textmodes/texinfo.el (texinfo-current-defun-name): New. + (texinfo-mode): Use it. + +2012-12-01 Chong Yidong + + * emacs-lisp/lisp-mode.el (lisp-mode-variables, lisp-mode): + * progmodes/autoconf.el (autoconf-mode): + * progmodes/js.el (js-mode): + * progmodes/make-mode.el (makefile-mode, makefile-makepp-mode) + (makefile-bsdmake-mode, makefile-imake-mode, makefile-browse): + * progmodes/perl-mode.el (perl-mode): + * progmodes/sh-script.el (sh-mode, sh-set-shell): + * textmodes/css-mode.el (css-mode): + * textmodes/sgml-mode.el (html-mode, sgml-mode) + (sgml-tags-invisible, sgml-guess-indent): + * textmodes/tex-mode.el (tex-common-initialization) + (latex-complete-bibtex-keys, tex-shell, tex-main-file) + (doctex-mode, plain-tex-mode, latex-mode): + * textmodes/texinfo.el (texinfo-mode): Use setq-local. + +2012-12-01 Kirk Kelsey + + * vc/vc-hg.el (vc-hg-next-revision): + Ensure use of default "tip" output format. (Bug#6968) + +2012-12-01 Kim F. Storm + + * startup.el (fancy-startup-tail): Add a clickable link + (Bug#2176). + +2012-12-01 Chong Yidong + + * startup.el (fancy-startup-tail): Improve the message about + auto-save files (Bug#2176). + + * files.el (recover-session): Improve the descriptive message, and + use substitute-command-keys. + +2012-12-01 Glenn Morris + + * ido.el (ido-file-internal): + Handle other-window, other-frame for dired. (Bug#13036) + +2012-11-30 Glenn Morris + + * icomplete.el (icomplete-separator): Fix :version. + +2012-11-30 Chong Yidong + + * shell.el (shell): For C-u M-x shell, use an inactive shell + buffer as the default (Bug#1975). + (shell-apply-ansi-color, shell-reapply-ansi-color): New functions. + (shell-mode): Use them to reapply ansi colorization if Shell mode + is re-enabled. + +2012-11-30 Yuriy Vostrikov (tiny change) + + * vc/vc-git.el (vc-git-command): Disable the pager (Bug#6137). + +2012-11-30 Samuel Bronson + + * progmodes/grep.el (grep-compute-defaults): Do not pass the -e + flag to xargs, for compatibility with BSD xargs (Bug#11703). + +2012-11-30 Toru TSUNEYOSHI + + * textmodes/fill.el (fill-region-as-paragraph): Handle overshoot + by move-to-column (Bug#3234). + +2012-11-30 Chong Yidong + + * longlines.el (longlines-wrap-line, longlines-encode-region): + Preserve text properties (Bug#1425). + +2012-11-30 OKAZAKI Tetsurou (tiny change) + + * vc/vc.el (vc-register): Allow registering a file which is + already registered with a different backend (Bug#10589). + +2012-11-29 Jambunathan K + Stefan Monnier + + * icomplete.el: Change separator; add ido-style commands. + (icomplete-show-key-bindings): Remove custom var. + (icomplete-get-keys): Remove function. + (icomplete-forward-completions, icomplete-backward-completions): + New commands. + (icomplete-minibuffer-map): New var. + (icomplete-minibuffer-setup): Use it. + (icomplete-exhibit): Don't delay if the list of completions is known. + (icomplete-separator): New custom. + (icomplete-completions): Use it. + * minibuffer.el (completion-all-sorted-completions): Delete duplicates. + (minibuffer-force-complete-and-exit): New command. + (minibuffer--complete-and-exit): New function extracted from + minibuffer-complete-and-exit. + (minibuffer-complete-and-exit): Use it. + + * progmodes/etags.el (visit-tags-table-buffer): Give a more precise + error message when the file doesn't exist (bug#12974). + +2012-11-29 Kelly Dean (tiny change) + + * simple.el (activate-mark): Run activate-mark-hook (bug#13027). + +2012-11-29 Glenn Morris + + * files.el (hack-dir-local-variables): Warn if try to set + coding via dir-locals, since it doesn't work. (Bug#7169) + + Add desktop support for restoring vc-dir buffers. (Bug#10606) + * vc/vc-dir.el (vc-dir-mode): Autoload it (for desktop restore). + Set buffer-local value of desktop-save-buffer. + (vc-dir-desktop-buffer-misc-data, vc-dir-restore-desktop-buffer): + New functions. + (desktop-buffer-mode-handlers): Add vc-dir-mode entry. + * desktop.el (desktop-save-buffer-p): Treat vc-dir like dired. + + * files.el (inhibit-local-variables-ignore-case): New. (Bug#10610) + (inhibit-local-variables-p): Use inhibit-local-variables-ignore-case. + Doc fix. + (inhibit-local-variables-regexps, inhibit-local-variables-suffixes): + Doc fixes. + +2012-11-28 Jay Belanger + + * calc/calc-forms.el (calc-date-notation): Fix regexp + used to find time codes. Fix symbol for seconds. + +2012-11-27 Glenn Morris + + * emacs-lisp/derived.el (derived-mode-make-docstring): + Don't mention "abbrev" or "syntax" if nil. (Bug#11277) + +2012-11-27 Stefan Monnier + + * textmodes/table.el (table-insert): Don't use `symbol-name' on + lexically scoped variables (bug#13005). + +2012-11-27 Glenn Morris + + * vc/vc-hooks.el (vc-mistrust-permissions): + Default to t, to avoid data-loss. (Bug#11490) + +2012-11-27 Fabián Ezequiel Gallina + + * progmodes/python.el (python-indent-guess-indent-offset): + If indentation is guessed make python-indent-offset buffer-local. + + Fix Imenu regression. + * progmodes/python.el (python-nav-beginning-of-defun): + Fix forward movement when statement(s) separates point from defun. + (python-imenu-prev-index-position): New function. + +2012-11-27 Eli Zaretskii + + * subr.el (buffer-file-type): Declare with defvar-local. Doc fix. + + * dos-w32.el (find-file-not-found-set-buffer-file-coding-system): + Don't set buffer-file-type. Return nil. (Bug#12989) + +2012-11-27 Glenn Morris + + * hippie-exp.el (hippie-expand-try-functions-list): + Re-autoload it. (Bug#12982) + +2012-11-27 Eli Zaretskii + + * descr-text.el (describe-char-padded-string): + Call internal-char-font only on GUI frames. (Bug#11964) + +2012-11-27 Andreas Schwab + + * buff-menu.el (Buffer-menu-buffer+size-width): Fix customize type + and obsoletion message. + +2012-11-27 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl--transform-lambda): Add back `declare' in + the constructs to keep outside of the `cl-block' (bug#12977). + +2012-11-27 Chong Yidong + + * mouse.el (mouse-drag-line): Even if the line is not draggable, + keep reading until we get the up-event anyway, in order to process + the up-event for mouse-1-click-follows-link (Bug#12971). + +2012-11-26 Stefan Monnier + + * emacs-lisp/advice.el (ad-should-compile): Don't compile advice if the + base function is not yet defined (bug#12965). + (ad-activate-advised-definition): Use ad-compile-function. + (ad-activate): Use cond. + +2012-11-25 Leo Liu + + * textmodes/sgml-mode.el (sgml-tag): Fix indentation for closing tag. + (Bug#12979) + +2012-11-24 Vincent Belaïche + + * textmodes/reftex-parse.el (reftex-parse-from-file): Use variable + reftex-section-info-function in order to be compatible with + Texinfo integration. + + * textmodes/reftex.el (reftex-section-pre-regexp) + (reftex-section-post-regexp, reftex-section-info-function): + New variable. + (reftex-compile-variables): Use variables reftex-section-pre-regexp, + reftex-section-post-regexp, and reftex-section-info-function in order + to be compatible with Texinfo integration. + + * textmodes/reftex-toc.el (reftex-toc-promote-action): + use reftex-section-pre-regexp variable in order to be compatible with + Texinfo integration. + +2012-11-25 Chong Yidong + + * faces.el: Make face-spec-set more analogous to setq. + (face-spec-set): Change the third arg to specify whether this + function is being called via defface, customize, or a third party. + Set the appropriate symbol properties. Clear the override spec if + setting via Custom. Initialize face if necessary. (Bug#4988) + (face-spec-recalc): Allow theme faces to completely replace the + defface spec, in the same way as custom faces (Bug#8454). + + * cus-face.el (custom-declare-face): Move face initialization to + face-spec-set. + (custom-theme-set-faces): Don't initialize the face name here, as + that is now done in face-spec-set. + + * cus-edit.el (custom-face-set, custom-face-mark-to-save) + (custom-face-reset-saved, custom-face-mark-to-reset-standard): + Simplify by using the new arg to face-spec-set. + + * emacs-lisp/lisp-mode.el (eval-defun-1): When evaluating defface, + reset face-override-spec too, and use custom-declare-face. + +2012-11-24 Jan Djärv + + * term/ns-win.el (ns-initialize-window-system): Move creation of + fontsets here (Bug#11964). + +2012-11-24 Vincent Belaïche + + * ses.el (ses-rename-cell): Correct bug on mode-line update after + cell renaming. + +2012-11-24 Chong Yidong + + * woman.el (woman-default-faces, woman-monochrome-faces): Mark as + obsolete. + + * custom.el (custom-theme-set-variables): Use a topological sort + for ordering by custom dependencies (Bug#12952). + (custom--sort-vars, custom--sort-vars-1): New functions. + +2012-11-24 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-file): Setup default value for + lexical-binding (bug#12938). + +2012-11-24 Wolfgang Jenkner + + * image-mode.el (image-transform-check-size): Use assertions only + for images of type imagemagick. + + Otherwise no error, image-transform-fit-to-{width,height} is + silently ignored, as before. Doc fix. + +2012-11-24 Chong Yidong + + * faces.el (color-defined-p): Doc fix (Bug#12853). + +2012-11-24 Juri Linkov + + * dired.el (dired-mark): Add optional arg `interactive'. + Check for `use-region-p' if `interactive' is non-nil. + (dired-unmark, dired-flag-file-deletion): Add optional arg + `interactive'. Call `dired-mark' with the arg `interactive'. + (Bug#10624) + + * wdired.el: Revert 2012-10-17 change partly and replace it with + Patch by Christopher Schmidt . + (wdired-finish-edit): Add marks for new file names to + `wdired-old-marks'. Restore marks using `dired-mark-remembered' + after `revert-buffer'. + (wdired-do-renames): Remove calls to `dired-remove-file', + `dired-add-file', `dired-add-entry'. (Bug#11795) + +2012-11-24 Alan Mackenzie + + * progmodes/cc-defs.el (c-version): Bump to 5.32.4. + + Fix bugs in the state cache. Enhance a debugging mechanism. + * progmodes/cc-engine.el (c-parse-state-get-strategy): Don't use + "brace at column zero" strategy for C++. + (c-append-lower-brace-pair-to-state-cache): Repair algorithm. + (c-parse-state-point): New variable. + (c-record-parse-state-state): Record old parse state with + `copy-tree'. Record previous value of point. + (c-debug-parse-state-double-cons): New debugging function. + (c-debug-parse-state): Call the above new function. + (c-toggle-parse-state-debug): Output a confirmatory message. + + * progmodes/cc-mode.el (c-before-change, c-after-change): + Call c-invalidate-state-cache from `c-before-change' instead of + `c-after-change'. + +2012-11-23 Chong Yidong + + * find-cmd.el (find-constituents): Add executable, ipath, + readable, samefile, writable, daystart, regextype (Bug#12856). + +2012-11-23 Stefan Monnier + + * emacs-lisp/ert.el, emacs-lisp/ert-x.el: Use cl-lib and lexical-binding. + +2012-11-22 Paul Eggert + + * calc/calc.el (calc-gregorian-switch): Move to after calc-refresh + definition. This fixes a bootstrap failure. + (calc-gregorian-switch): In menu, put dates before regions. + This is easier to follow, lines up better in the menu, and lets us + coalesce regions that switch at the same time. Give country + names, not "Vatican", as that's better for non-expert users. + Use names that are stable between the date of switch and now, e.g., + Bohemia and Moravia (which existed then and now) and not + Czechoslovakia (which didn't exist then and doesn't exist now). + What is now the U.S. mostly did not switch at the same time as + Britain, so omit the U.S. Correct spelling of "Britain". + Catholic Switzerland was too much of a mess, so omit it. + +2012-11-22 Jay Belanger + + * calc/calc.el (calc-gregorian-switch): Refresh the Calc buffer + after the variable is changed. + +2012-11-21 Daniel Colascione + + * progmodes/sql.el (sql-mode-font-lock-object-name): Support IF NOT EXISTS + in SQL declarations for font-lock. + (sql-imenu-generic-expression): Teach imenu about IF NOT EXISTS. + +2012-11-21 Glenn Morris + + * faces.el (face-underline-p, face-inverse-video-p, face-bold-p) + (face-italic-p): Add optional argument "inherit". + + * faces.el (set-face-inverse-video, set-face-bold, set-face-italic): + Remove -p suffix from names, for consistency with other set-face-*. + (set-face-inverse-video): Fix interactive spec. + * play/gamegrid.el (gamegrid-make-mono-tty-face): + * textmodes/table.el (table--update-cell-face): + Use set-face-inverse-video rather than now obsolete alias. + +2012-11-21 Eli Zaretskii + + * simple.el (line-move): Don't call line-move-partial if + scroll-conservatively is in effect. (Bug#12927) + +2012-11-21 Stefan Monnier + + * eshell/em-cmpl.el (eshell-pcomplete): Refine fix for bug#12838: + Fallback on completion-at-point rather than + pcomplete-expand-and-complete, and only if pcomplete actually failed. + (eshell-cmpl-initialize): Setup completion-at-point. + + * pcomplete.el (pcomplete--entries): Obey pcomplete-ignore-case. + + * emacs-lisp/ert.el (ert--expand-should-1): Adapt to cl-lib. + +2012-11-21 Michael Albinus + + * net/tramp-sh.el (tramp-do-copy-or-rename-file): If both files + are remote, check out-of-band property for both. + +2012-11-21 Stefan Monnier + + * window.el (switch-to-buffer): Re-add the warning that was lost in the + code rewrite. + +2012-11-21 Paul Eggert + + More minor time fixes. + * calendar/time-date.el: Commentary fix. + * net/tramp-sh.el (tramp-do-file-attributes-with-ls): Undo last change; + too much other code depends on (0 0) time stamps. + * net/tramp.el (tramp-time-less-p, tramp-time-subtract): + Add a couple of FIXME comments. + + Minor cleanup for times as lists of four integers. + * files.el (dir-locals-directory-cache): + * ps-bdf.el (bdf-file-mod-time, bdf-read-font-info): + Doc fixes. + * net/tramp-sh.el (tramp-do-file-attributes-with-ls): + * ps-bdf.el (bdf-file-newer-than-time): + Process four-integers time stamps, not two. Doc fixes. + +2012-11-20 Stefan Monnier + + * uniquify.el (uniquify-managed): Use defvar-local. + (rename-buffer, create-file-buffer): Advise with advice-add. + (uniquify-unload-function): Unadvise accordingly. + + * emacs-lisp/trace.el: Rewrite, use nadvice and lexical-binding. + (trace-buffer): Don't purecopy. + (trace-entry-message, trace-exit-message): Add `context' arg. + (trace--timer): New var. + (trace-make-advice): Adjust for use in nadvice. + Add `context' argument. Delay `display-buffer' via a timer. + (trace-function-internal): Use advice-add. + (trace--read-args): New function. + (trace-function-foreground, trace-function-background): Use it. + (trace-function): Rename to trace-function-foreground and redefine as + an alias to that new name. + (untrace-function, untrace-all): Adjust to the use of nadvice. + + * emacs-lisp/bytecomp.el (byte-compile): Fix handling of closures. + + * emacs-lisp/byte-run.el (defun-declarations-alist): Fix last change. + + * subr.el (called-interactively-p-functions): New var. + (internal--called-interactively-p--get-frame): New macro. + (called-interactively-p, interactive-p): Rewrite in Lisp. + * emacs-lisp/nadvice.el (advice--called-interactively-skip): New fun. + (called-interactively-p-functions): Use it. + * emacs-lisp/edebug.el (edebug--called-interactively-skip): New fun. + (called-interactively-p-functions): Use it. + * allout.el (allout-called-interactively-p): Don't assume + called-interactively-p is a subr. + +2012-11-20 Glenn Morris + + * profiler.el (profiler-report-mode-map): Add a menu. + No need to bind `q' because we derive from special-mode. + (profiler-report-find-entry): Handle calls from the menu-bar. + +2012-11-19 Stefan Monnier + + * emacs-lisp/byte-run.el (defun-declarations-alist): + Allow a compiler-macro to be a lambda expression. + + * progmodes/python.el: Use cl-lib. Move var declarations outside of + eval-when-compile. + (python-syntax-context): Add compiler-macro. + (python-font-lock-keywords): Simplify with De Morgan. + + * vc/diff-mode.el (diff-hunk): Don't make useless timers. + + * files.el (load-file): Require match in minibuffer selection, as was + the case in Emacs-20 before we changed the spec to allow .elc files + (bug#12935). + + * json.el: Don't require cl since we don't use it. + * color.el: Don't require cl. + (color-complement): `caddr' -> `nth 2'. + + * calendar/time-date.el (time-to-seconds): De-obsolete. + +2012-11-19 Jay Belanger + + * calc/calc-forms.el (math-leap-year-p): Fix formula for negative + year numbers. + (math-date-to-julian-dt): Adjust the initial approximation for the + year to deal with the new definition of the DATE. + +2012-11-19 Daniel Colascione + + * term/w32-win.el (cygwin-convert-path-from-windows): + Accomodate rename of cygwin_convert_path* to cygwin_convert_file_name*. + +2012-11-18 Chong Yidong + + * filecache.el (file-cache--read-list): New function. + (file-cache-add-directory-list, file-cache-add-file-list) + (file-cache-delete-file-list, file-cache-delete-directory-list): + Use it to read a list of files or directories (Bug#12846). + (file-cache-add-file, file-cache-add-directory) + (file-cache-delete-file-list, file-cache-delete-file-regexp) + (file-cache-delete-directory): Print an message. + +2012-11-18 Jay Belanger + + * calc/calc-forms.el (math-date-to-dt): Use integer date when + calling `math-date-to-julian-dt' and 'math-date-to-gregorian-dt'. + +2012-11-18 Glenn Morris + + * image.el (insert-image, insert-sliced-image): Doc fix. + +2012-11-18 Chong Yidong + + * emacs-lisp/syntax.el (syntax-propertize-function): Doc fix + (Bug#12810). + +2012-11-18 OKAZAKI Tetsurou (tiny change) + + * vc/vc-svn.el (vc-svn-merge-news): Properly parse the merge + response when the target file is in a subdirectory (Bug#12757). + +2012-11-18 Chong Yidong + + * filecache.el (file-cache-add-file-list): Doc fix (Bug#12694). + +2012-11-18 Glenn Morris + + * emacs-lisp/cl-lib.el (face-underline-p): + Use set-face-underline rather than the alias set-face-underline-p. + + * window.el (with-temp-buffer-window): Doc fix. + * subr.el (with-output-to-temp-buffer): + Add doc xref to with-temp-buffer-window. + +2012-11-18 Juanma Barranquero + + * woman.el (woman-non-underline-faces): Use `set-face-underline'. + * calc/calc.el (math-format-date-cache): Declare. + +2012-11-17 Paul Eggert + + Calc by default uses the Gregorian calendar for all dates (Bug#12633). + It also uses January 1, 1 AD as its day number 1. + * calc/calc-forms.el (math-julian-date-beginning) + (math-julian-date-beginning-int): Implement this. + +2012-11-17 Juanma Barranquero + + * descr-text.el (quail-find-key): + * dired.el (desktop-file-name): + * dirtrack.el (shell-prefixed-directory-name, shell-process-cd): + * generic-x.el (comint-mode, comint-exec): + * image-dired.el (widget-forward): + * info.el (speedbar-add-expansion-list, speedbar-center-buffer-smartly) + (speedbar-change-expand-button-char) + (speedbar-change-initial-expansion-list, speedbar-delete-subblock) + (speedbar-make-specialized-keymap, speedbar-make-tag-line): + * printing.el (easy-menu-add-item, easy-menu-remove-item) + (widget-field-action, widget-value-set): + * speedbar.el (imenu--make-index-alist): + * term.el (ring-empty-p, ring-ref, ring-insert-at-beginning) + (ring-length, ring-insert): + * vcursor.el (compare-windows-skip-whitespace): + * woman.el (dired-get-filename): + Declare functions. + + * term/w32-win.el (cygwin-convert-path-from-windows): Fix declaration. + +2012-11-17 Jay Belanger + + * calc/calc.el (calc-gregorian-switch): New variable. + + * calc/calc-forms.el (math-day-in-year, math-dt-before-p) + (math-absolute-from-gregorian-dt, math-absolute-from-julian-dt) + (math-date-to-julian-dt, math-date-to-gregorian-dt): New functions. + (math-leap-year-p): Add option to distinguish between Julian + and Gregorian calendars. + (math-day-number): Use `math-day-in-year' to do the computations. + (math-absolute-from-dt): Rename from `math-absolute-from-date'. + Use `math-absolute-from-gregorian' and `math-absolute-from-julian' + to do the computations. + (math-date-to-dt): Use `math-date-to-julian-dt' and + `math-date-to-gregorian-dt' to do the computations. + (calcFunc-weekday, math-format-date-part): Use the new version of + the DATE to determine the weekday. + (calcFunc-newmonth, calcFunc-newyear): Use `calc-gregorian-switch' + when necessary. + +2012-11-17 Eli Zaretskii + + * term/w32-win.el (w32-handle-dropped-file): Use 'file://' only on + Cygwin; otherwise use 'file:'. (Bug#12914) + (cygwin-convert-path-from-windows): Declare, to avoid + byte-compiler warnings. + +2012-11-17 Andreas Politz + + * ibuffer.el (ibuffer-mark-forward, ibuffer-unmark-forward) + (ibuffer-unmark-backward, ibuffer-mark-interactive): Support plain + prefix and negative numeric prefix args (Bug#12795). + +2012-11-17 Stephen Berman + + * play/gamegrid.el (gamegrid-add-score-with-update-game-score-1): + Don't signal an error with a score that is too low to add to the + list of top scores. (Bug#12779) + +2012-11-17 Chong Yidong + + * help-mode.el (help-xref-interned): End on point-min (Bug#12737). + + * filecache.el (file-cache-add-file): Handle relative file name in + the argument (Bug#12694). + +2012-11-16 Jürgen Hötzel (tiny change) + + * eshell/em-unix.el (eshell/mkdir): Handle "--parents" (bug#12897). + +2012-11-16 Stefan Monnier + + * emacs-lisp/advice.el (ad-make-advised-definition): Improve last fix. + + * emacs-lisp/cl-lib.el: Set more meaningful version number. + +2012-11-16 Martin Rudalics + + * window.el (enlarge-window, shrink-window): Don't mention return + value in doc-string (Bug#12896). + (window--display-buffer): Don't resize frames - it won't work + with all window managers and defeat pop-up-frame-alist. + (display-buffer-alist): In doc-string explain that CONDITION can + be a function and which arguments are passed to it (Bug#12854). + (display-buffer-assq-regexp): New argument ACTION. Handle lambda + expressions (Bug#12854). + (display-buffer): Pass ACTION argument to + display-buffer-assq-regexp. + +2012-11-16 Glenn Morris + + * window.el (fit-frame-to-buffer-bottom-margin) + (fit-frame-to-buffer, fit-window-to-buffer): Doc fixes. + + * faces.el (face-underline-p): Use face-attribute-specified-or. + +2012-11-16 Juanma Barranquero + + * emacs-lisp/cl-macs.el (cl-loop, cl-do, cl-do*): Doc fixes. + +2012-11-16 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl-flet, cl-flet*): Fix docstring (bug#12895). + +2012-11-16 Glenn Morris + + * eshell/em-cmpl.el (eshell-pcomplete): New command. (Bug#12838) + (eshell-cmpl-initialize): Bind eshell-pcomplete to TAB, C-i. + + * faces.el (face-underline-p): Doc fix. Handle :underline being + things other than `t' (a string, a list). + (face-inverse-video-p): Doc fix. + (set-face-underline): Rename it back from set-face-underline-p. + Doc fix. Allow interactive input of values other than t. + (read-face-attribute): Apply formatting to :underline, + since like :box and :stipple it can take list values. + + * term.el (ansi-term): Don't let C-x escape-char binding + clobber the more standard C-c binding. (Bug#12842) + + * subr.el (set-temporary-overlay-map): Doc fix. + +2012-11-16 Martin Rudalics + + * window.el (record-window-buffer) + (display-buffer-record-window): When copying the markers to + window-point preserve window-point-insertion-type. (Bug#12588) + +2012-11-16 Glenn Morris + + * emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): + * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): + Use new names for hooks rather than obsolete aliases. + +2012-11-15 Daniel Colascione + + * term/w32-win.el (w32-handle-dropped-file): Use a "file://" + prefix instead of "file:" so that when FILE-NAME begins with "//", + as it does when the target file is on a network share, url-handler + isn't confused. + +2012-11-15 Stefan Monnier + + * emacs-lisp/advice.el (ad-definition-type): Make sure we don't use + a preactivated advice from an old advice.el; they're not compatible! + +2012-11-15 Katsumi Yamaoka + + * emacs-lisp/nadvice.el (advice--make-interactive-form): + Fix string-spec case. + + * emacs-lisp/advice.el (ad-make-advised-definition): Fix undefined case. + +2012-11-15 Stefan Monnier + + * emacs-lisp/nadvice.el: Add buffer-local support to add-function. + (advice--buffer-local-function-sample): New var. + (advice--set-buffer-local, advice--buffer-local): New functions. + (add-function, remove-function): Use them. + +2012-11-15 Drew Adams + + * imenu.el (imenu--split-submenus): Use imenu--subalist-p (bug#12717). + +2012-11-15 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl--transform-lambda): Defend against + potential binding of print-gensym to t, and prettify (back)quotes in + case they appear in args's default values (bug#12884). + +2012-11-14 Stefan Monnier + + * emacs-lisp/nadvice.el: Add around advice for interactive specs. + (advice-eval-interactive-spec): New function. + (advice--make-interactive-form): Support around advice (bug#12844). + +2012-11-14 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-expr-beg): Make heredoc detection + more strict. Add docstring. + (ruby-expression-expansion-re): Extract from + `ruby-match-expression-expansion'. + (ruby-syntax-propertize-function): After everything else, search + for expansions in string literals, mark their insides as + whitespace syntax and save match data for font-lock. + (ruby-font-lock-keywords): Use the 2nd group from expression + expansion matches. + (ruby-match-expression-expansion): Use the match data saved to the + text property in ruby-syntax-propertize-function. + +2012-11-14 Stefan Monnier + + * emacs-lisp/gv.el (setf): Fix debug spec for multiple assignments + (bug#12879). + +2012-11-13 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-move-to-block): Looks for a block + start/end keyword a bit harder. Works with different values of N. + Add more comments. + (ruby-end-of-block): Update accordingly. + +2012-11-13 Stefan Monnier + + * woman.el (woman-file-name): Don't mess with unread-command-events + (bug#12861). + + * emacs-lisp/advice.el: Layer on top of nadvice.el. + Remove out of date self-require hack. + (ad-do-advised-functions): Use simple `dolist'. + (ad-advice-name, ad-advice-protected, ad-advice-enabled) + (ad-advice-definition): Redefine as functions. + (ad-advice-classes): Move before first use. + (ad-make-origname, ad-set-orig-definition, ad-clear-orig-definition) + (ad-make-mapped-call, ad-make-advised-docstring) + (ad-make-plain-docstring, ad--defalias-fset): Remove functions. + (ad-make-advicefunname, ad-clear-advicefunname-definition): New funs. + (ad-get-orig-definition): Rewrite. + (ad-make-advised-definition-docstring): Change base docstring. + (ad-real-orig-definition): Rewrite. + (ad-map-arglists): Change name of called function. + (ad--make-advised-docstring): Redirect `function' from ad-Advice-... + (ad-make-advised-definition): Simplify. + (ad-assemble-advised-definition): Tweak for new calling context. + (ad-activate-advised-definition): Setup ad-Advice-* i.s.o ad-Orig-*. + (ad--defalias-fset): Rename from ad-handle-definition. Make it set the + function and call ad-activate if needed. + (ad-activate, ad-deactivate): Don't call ad-handle-definition any more. + (ad-recover): Clear ad-Advice-* instead of ad-Orig-*. + (ad-compile-function): Compile ad-Advice-*. + (ad-activate-on-top-level, ad-with-auto-activation-disabled): Remove. + (ad-start-advice, ad-stop-advice): Remove. + +2012-11-13 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-add-log-current-method): Print the + period before class method names, not after. Remove handling of + one impossible case. Add comments. + +2012-11-13 Stefan Monnier + + * emacs-lisp/advice.el: Remove support for freezing. + (ad-make-freeze-docstring, ad-make-freeze-definition): Remove functions. + (ad-make-single-advice-docstring, ad-defadvice-flags, defadvice): + Remove support for `freeze'. + + * emacs-lisp/cl.el (dolist, dotimes, declare): Use advice-add to + override the default. + * emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Rewrite without using + cl--dotimes/dolist. + * subr.el (dolist, dotimes, declare): Redefine them normally, even when + `cl' is loaded. + + * emacs-lisp/nadvice.el (advice--normalize): New function, extracted + from add-advice. + (advice--strip-macro): New function. + (advice--defalias-fset): Use them to handle macros. + (advice-add): Use them. + (advice-member-p): Correctly handle macros. + +2012-11-13 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-font-lock-keywords): + Never font-lock the beginning of singleton class as heredoc. + +2012-11-13 Stefan Monnier + + * emacs-lisp/gv.el (gv-define-simple-setter): One more fix (bug#12871). + +2012-11-13 Wolfgang Jenkner + + * ansi-color.el (ansi-color-apply-sequence): Implement SGR codes + 39 and 49 (bug#12792). Also, treat unimplemented parameters as 0, + thereby restoring the behavior of revisions prior to 2012-08-15T03:33:55Z!monnier@iro.umontreal.ca. + +2012-11-13 Fabián Ezequiel Gallina + + Fix end-of-defun misbehavior. + * progmodes/python.el (python-nav-beginning-of-defun): Rename from + python-beginning-of-defun-function. Handle nested defuns + correctly. + (python-nav-end-of-defun): Rename from + python-end-of-defun-function. Ensure forward movement. + (python-info-current-defun): Reimplement to work as intended + with new fixed python-nav-{end,beginning}-of-defun. Stop scanning + parent defuns as soon as possible. + +2012-11-13 Glenn Morris + + * progmodes/flymake.el (flymake-error-bitmap) + (flymake-warning-bitmap, flymake-fringe-indicator-position): Doc fixes. + (flymake-error-bitmap, flymake-warning-bitmap): Fix :types. + +2012-11-13 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-move-to-block): When moving + backward, always stop at indentation. Reverts the change from + 2012-08-12T22:06:56Z!monnier@iro.umontreal.ca (Bug#12851). + +2012-11-13 Glenn Morris + + * ibuffer.el (ibuffer-mode-map, ibuffer-mode): + Add ibuffer-filter-by-derived-mode. + + * ibuffer.el (ibuffer-mode-map): Don't have two menu items with + the same name shadowing each other. + + * window.el (with-temp-buffer-window): Doc tweak. + + * emacs-lisp/debug.el (debugger-bury-or-kill): Doc tweak. + + * help.el (temp-buffer-max-height): + * window.el (fit-frame-to-buffer, fit-frame-to-buffer-bottom-margin): + * emacs-lisp/debug.el (debugger-bury-or-kill): Fix :version. + +2012-11-12 Stefan Monnier + + * emacs-lisp/nadvice.el: New package. + * subr.el (special-form-p): New function. + * emacs-lisp/elp.el: Use lexical-binding and advice-add. + (elp-all-instrumented-list): Remove var. + (elp-not-profilable): Remove elp-wrapper. + (elp-profilable-p): Use autoloadp and special-form-p. + (elp--advice-name): New const. + (elp-instrument-function): Use advice-add. + (elp--instrumented-p): New predicate. + (elp-restore-function): Use advice-remove. + (elp-restore-all, elp-reset-all): Use mapatoms. + (elp-set-master): Use elp--instrumented-p. + (elp--make-wrapper): Rename from elp-wrapper, return a function + suitable for advice-add. Use cl-inf. + (elp-results): Use mapatoms+elp--instrumented-p. + * emacs-lisp/debug.el: Use lexical-binding and advice-add. + (debug-function-list): Remove var. + (debug): Rename arg, and then let-bind it explicitly inside. + (debugger-setup-buffer): Rename arg. + (debugger-setup-buffer): Adjust counts to new debug-on-entry setup. + (debugger-frame-number): Adjust to new debug-on-entry setup. + (debug--implement-debug-on-entry): Rename from + implement-debug-on-entry, add argument. + (debugger-special-form-p): Remove, use special-form-p instead. + (debug-on-entry): Use advice-add. + (debug--function-list): New function. + (cancel-debug-on-entry): Use it, along with advice-remove. + (debug-arglist, debug-convert-byte-code, debug-on-entry-1): Remove. + (debugger-list-functions): Use debug--function-list instead of + debug-function-list. + * emacs-lisp/advice.el (ad-save-real-definition): Remove, unused. + (ad-special-form-p): Remove, use special-form-p instead. + (ad-set-advice-info): Use add-function and remove-function. + (ad--defalias-fset): Adjust accordingly. + +2012-11-10 Glenn Morris + + * mail/emacsbug.el (report-emacs-bug-tracker-url) + (report-emacs-bug-bug-alist, report-emacs-bug-choice-widget) + (report-emacs-bug-create-existing-bugs-buffer) + (report-emacs-bug-parse-query-results) + (report-emacs-bug-query-existing-bugs): Remove. (Bug#7449) + + * term.el (term-default-fg-color, term-default-bg-color): + Make obsolete, rather than just saying "deprecated" in the doc. + + * term.el (term): Rename from `term-face'. + (term-current-face, ansi-term-color-vector) + (term-default-fg-color, term-default-bg-color, term-ansi-reset): + Update all users. + +2012-11-10 Jan Djärv + + * server.el (server-create-window-system-frame): Handle Nextstep + specially (Bug#12780). + +2012-11-10 Glenn Morris + + * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): + Unautoload, and make obsolete. (Bug#7449) + +2012-11-10 Chong Yidong + + * vc/diff-mode.el (diff-delete-trailing-whitespace): Rewrite, and + rename from diff-remove-trailing-whitespace (Bug#12831). + +2012-11-10 Stefan Monnier + + * emacs-lisp/advice.el: Require `cl-lib' at run-time to fix + miscompilation of trace.el. + +2012-11-10 Glenn Morris + + * vc/diff-mode.el (diff-remove-trailing-whitespace): Doc fix. + +2012-11-10 Stefan Monnier + + * emacs-lisp/gv.el (gv-define-simple-setter): Fix last change + (bug#12812). + +2012-11-10 Chong Yidong + + * minibuf-eldef.el (minibuffer-eldef-shorten-default): Convert to + a defcustom with an appropriate :set function. + (minibuffer-default--in-prompt-regexps): New function. + +2012-11-10 Glenn Morris + + * emacs-lisp/cl.el (define-setf-expander, defsetf) + (define-modify-macro): Doc fixes. + + * emacs-lisp/gv.el (gv-letplace): Fix doc typo. + (gv-define-simple-setter): Update doc of `fix-return'. + +2012-11-10 Stefan Monnier + + * emacs-lisp/gv.el (gv-define-simple-setter): Don't evaluate `val' + twice when `fix-return' is set (bug#12813). + + * emacs-lisp/cl.el (defsetf): Pass the third arg to + gv-define-simple-setter (bug#12812). + + * woman.el (woman-decode-region): Disable adaptive-fill when rendering + (bug#12756). + +2012-11-10 Glenn Morris + + * emacs-lisp/gv.el (gv-define-setter): Fix doc typo. + + * emacs-lisp/cl-extra.el (cl-prettyexpand): + * emacs-lisp/cl-lib.el (cl-proclaim, cl-declaim): + * emacs-lisp/cl-macs.el (cl-destructuring-bind, cl-locally) + (cl-the, cl-compiler-macroexpand): Add basic doc strings. + + * emacs-lisp/cl-extra.el (cl-maplist, cl-mapcan): Doc fix. + +2012-11-10 Leo Liu + + * ido.el (ido-set-matches-1): Improve flex matching performance by + removing backtracking in the regexp (suggested by Stefan). (Bug#12796) + +2012-11-09 Stefan Monnier + + * emacs-lisp/advice.el (ad-set-advice-info): Set defalias-fset-function. + (ad--defalias-fset): New function. + (ad-safe-fset): Remove. + (ad-make-freeze-definition): Use cl-letf*. + +2012-11-09 Stefan Monnier + + * subr.el (dolist): Don't bind VAR in RESULT. + + * emacs-lisp/advice.el: Miscellaneous cleanup. Use lexical-binding. + (fset, documentation): Don't save real def since we don't advise. + (ad-do-advised-functions): Remove problematic `result-form'. + (ad-safe-fset): `ad-real-fset' => `fset'. + (ad-read-advised-function): Don't assume that ad-do-advised-functions + uses CL's dolist internally. + (ad-arglist): Remove unused arg `name'. + (ad-docstring, ad-make-advised-docstring): + `ad-real-documentation' => `documentation'. + (warning-suppress-types): Declare. + (ad-set-arguments): Simple CSE. + (ad-recover-normality): Sanity check. + + * emacs-lisp/bytecomp.el (byte-compile-out-toplevel): Don't turn + (funcall '(lambda ..) ..) into ((lambda ..) ..). + +2012-11-09 Vincent Belaïche + + * ses.el: Symbol to coordinate mapping is made by symbol property + `ses-cell'. This means that the same mapping is done for all SES + sheets. That is good enough for cells with standard A1 names, but + not for named cell. So a hash map is added for the latter. + (defconst ses-localvars): Add local variable ses--named-cell-hashmap + (ses-sym-rowcol): Use hashmap for named cell. + (ses-is-cell-sym-p): New defun. + (ses-decode-cell-symbol): New defun. + (ses-create-cell-variable): Add cell to hashmap when name is not + A1-like. + (ses-rename-cell): Check that cell new name is not already in + spreadsheet with the use of ses-is-cell-sym-p + (ses-rename-cell): Use hash map for named cells, but accept also + renaming back to A1-like. + +2012-11-09 Stefan Monnier + + * emacs-lisp/advice.el: Use new dynamic docstrings. + (ad-make-advised-definition-docstring, ad-advised-definition-p): + Use dynamic-docstring-function instead of ad-advice-info. + (ad--make-advised-docstring): New function extracted from + ad-make-advised-docstring. + (ad-make-advised-docstring): Use it. + * progmodes/sql.el (sql--make-help-docstring): New function, extracted + from sql-help. + (sql-help): Use it with dynamic-docstring-function. + + * env.el (env--substitute-vars-regexp): Don't use rx (for bootstrap). + +2012-11-08 Stefan Monnier + + * files.el (hack-one-local-variable--obsolete): New function. + (hack-one-local-variable): Use it for obsolete settings. + + * subr.el (locate-user-emacs-file): If both old and new name exist, use + the new name. + + * progmodes/js.el (js--filling-paragraph): New var. + (c-forward-sws, c-backward-sws, c-beginning-of-macro): Advise. + (js-c-fill-paragraph): Prefer advice to cl-letf so the rebinding is + less sneaky. + +2012-11-08 Julien Danjou + + * progmodes/ruby-mode.el (auto-mode-alist): Add Rakefile in + `auto-mode-alist' (Bug#12835). + +2012-11-08 Stefan Monnier + + * progmodes/perl-mode.el (perl-prettify-symbols): New defcustom. + (perl--prettify-symbols-alist): New const. + (perl--font-lock-compose-symbol, perl--font-lock-symbols-keywords): + New functions. + (perl-font-lock-keywords-2): Use them. + (perl-electric-noindent-p): New function. + (perl-mode): Use it to set up electric-indent-mode. + (perl-electric-terminator, perl-indent-command): Mark obsolete. + (perl-mode-map): Remove bindings for them. + (perl-imenu-generic-expression, perl-outline-level): + Match functions&packages in column>0. + + * env.el (env--substitute-vars-regexp): New const. + (substitute-env-vars): Use it. Add `only-defined' arg. + * net/tramp.el (tramp-replace-environment-variables): Use it. + + * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): + Byte-compile *before* eval in eval-and-compile. + (byte-compile-log-warning): Remove redundant inhibit-read-only. + (byte-compile-file-form-autoload): Don't hide actual definition. + (byte-compile-maybe-guarded): Accept `functionp' as well. + + * emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro. + +2012-11-07 Michael Albinus + + * notifications.el (notifications-get-server-information-method): + New defconst. + (notifications-get-capabilities): Fix docstring. + (notifications-get-server-information): New defun. + +2012-11-06 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-region): Standard re-indent for better + readability. + + * textmodes/ispell.el: Experimental support for support debugging. + (ispell-create-debug-buffer): Create a `ispell-debug-buffer' debug + buffer for ispell. + (ispell-print-if-debug): New function to print stuff to + `ispell-debug-buffer' if debugging is enabled. + (ispell-region, ispell-process-line): Use `ispell-print-if-debug' to + show some debugging info. + (ispell-buffer-with-debug): New function that creates a debugging + buffer and calls `ispell-buffer' with debugging enabled. + + * textmodes/ispell.el (ispell-region): Do not prefix sent string by + comment in autoconf mode. (Bug#12768) + +2012-11-06 Dmitry Antipov + + * emacs-lisp/byte-opt.el (toplevel): Add compare-window-configurations, + frame-first-window, frame-root-window, frame-selected-window, + minibuffer-selected-window, minibuffer-window, + window-absolute-pixel-edges, window-at, window-body-height, + window-body-width, window-display-table, window-combination-limit, + window-frame, window-fringes, window-inside-absolute-pixel-edges, + window-inside-edges, window-inside-pixel-edges, window-left-child, + window-left-column, window-margins, window-next-buffers, + window-next-sibling, window-new-normal, window-new-total, + window-normal-size, window-parameter, window-parameters, window-parent, + window-pixel-edges, window-point, window-prev-buffers, + window-prev-sibling, window-redisplay-end-trigger, window-scroll-bars, + window-start, window-text-height, window-top-child, window-top-line, + window-total-height, window-total-width and window-use-time to the list + of functions without side-effects. + (toplevel): Add window-valid-p to the list of error-free functions + without side-effects. + +2012-11-05 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-program-name): + Update spellchecker parameters when customized. + +2012-11-04 Glenn Morris + + * vc/vc-svn.el (vc-svn-state-heuristic): Avoid calling svn. (Bug#7850) + +2012-11-04 Chong Yidong + + * bookmark.el (bookmark-bmenu-switch-other-window): Avoid binding + same-window-* variables. + +2012-11-04 Juri Linkov + + * isearch.el (isearch-help-for-help, isearch-describe-bindings) + (isearch-describe-key, isearch-describe-mode): Use a display + action instead of binding same-window-* variables (Bug#10040). + +2012-11-03 Glenn Morris + + * emacs-lisp/cl-macs.el (cl-parse-loop-clause): + Rename handler properties back from cl-- to cl-. (Bug#12788) + + * emacs-lisp/cl-macs.el (cl-do-all-symbols): Add doc string. + +2012-11-03 Eli Zaretskii + + * term/pc-win.el: Don't load term/internal from here. + + * loadup.el: Load term/internal from here. + +2012-11-03 Fabián Ezequiel Gallina + + * progmodes/python.el (inferior-python-mode): Fix hang in + jit-lock (Bug#12645). + +2012-11-03 Martin Rudalics + + * window.el (switch-to-visible-buffer) + (switch-to-buffer-preserve-window-point): Fix doc-strings. + +2012-11-03 Glenn Morris + + * emacs-lisp/cl-lib.el (cl--random-time): + Rename from cl-random-time. (Bug#12773) + (cl--gensym-counter, cl--random-state): Update callers. + * emacs-lisp/cl-extra.el (cl-make-random-state): Update callers. + +2012-11-03 Chong Yidong + + * cus-start.el: Make cursor-type customizable (Bug#11633). + +2012-11-02 Glenn Morris + + * filecache.el: No need to load find-lisp when compiling. + (find-lisp-find-files): Autoload it. + (file-cache-add-directory-recursively): Don't require find-lisp. + + * image.el (image-type-from-file-name): Trivial simplification. + + * emacs-lisp/bytecomp.el (byte-compile-eval): + Decouple "noruntime" and "cl-functions" warnings. + +2012-11-01 Stephen Berman + + * play/gomoku.el (gomoku-display-statistics): Update mode line + only if in Gomoku buffer; don't capitalize "won" (Bug#12771). + +2012-10-31 Martin Rudalics + + * window.el (quit-restore-window): If the window has been + created on an existing frame and ended up as the sole window on + that frame, do not delete it (Bug#12764). + +2012-10-31 Stefan Monnier + + * progmodes/sh-script.el (sh--inside-noncommand-expression): + Rename from sh--inside-arithmetic-expression, handle more cases + (bug#11263). + + * progmodes/sh-script.el (sh--inside-arithmetic-expression): New func. + (sh-font-lock-open-heredoc): Use it (bug#12770). + +2012-10-30 Glenn Morris + + * emacs-lisp/cl-extra.el (cl-mapc): Add autoload cookie. Doc fix. + + * emacs-lisp/cl.el (letf): Doc fix. (Bug#12760) + +2012-10-29 Chong Yidong + + * isearch.el (isearch-other-meta-char): Ensure that a reprocessed + function key is stored in a keyboard macro (Bug#4894). + + * thingatpt.el (number-at-point): Apply a thing-at-point property. + +2012-10-29 Stefan Monnier + + * vc/diff-mode.el (diff-context->unified): Don't get confused by "hunk + header comments". + (diff-unified->context, diff-context->unified) + (diff-reverse-direction, diff-fixup-modifs): Use `use-region-p'. + + * emacs-lisp/cl.el (letf): Add missing indent rules (bug#12759). + + * files.el (find-alternate-file): Only ask one question (bug#12487). + +2012-10-29 Chong Yidong + + * vc/vc-hooks.el (vc-file-clearprops): Kill vc-parent-buffer. + Suggested by Dan Nicolaescu (Bug#6326). + + * info.el (Info-complete-menu-item): Avoid duplicates (Bug#12705). + + * startup.el (fancy-about-screen): Don't message (Bug#12680). + + * thingatpt.el (thing-at-point): Doc fix (Bug#12691). + + * imenu.el (imenu): Inhibit push-mark message (Bug#12726). + + * face-remap.el (face-remap-add-relative): Handle the case where a + face-remapping-alist entry is a cons cell (Bug#12762). + +2012-10-29 Kevin Ryde + + * woman.el (woman-parse-numeric-value): Handle picas correctly + (Bug#12639). + +2012-10-29 Glenn Morris + + * emacs-lisp/cl.el (defsetf): Doc fix. + +2012-10-29 Stefan Monnier + + * progmodes/sh-script.el (sh-font-lock-paren): Also put punctuation + syntax to the matching opener, if any (bug#12547). + (sh-smie-sh-forward-token, sh-smie-sh-backward-token): Recognize this + matching open as a "case-(". + (sh-smie-rc-grammar): Add a corresponding rule for it. + +2012-10-28 Daniel Hackney + + * emacs-lisp/package.el (package-generate-autoloads): Kill buffer + "PKGNAME-autoloads.el" in case we created it. + +2012-10-28 Stefan Monnier + + * minibuffer.el (completion--sifn-requote): Rewrite to handle things + like Tramp's "/foo:~bar//baz" -> "/scpc:foo:/baz" mapping (bug#11714). + (completion--twq-all): Disable too-strict assertions. + + * tmm.el (tmm-prompt): Use map-keymap (bug#12744). + +2012-10-27 Eli Zaretskii + + * profiler.el (profiler-report-make-entry-part): Fix help-echo + text to match the real keybindings. + +2012-10-27 Juri Linkov + + * wdired.el (wdired-keep-marker-rename): New defcustom. + (wdired-do-renames): Use it instead of `dired-keep-marker-rename'. + (Bug#11795) + + * dired.el (dired-keep-marker-rename): Add reference to + `wdired-keep-marker-rename' in the docstring. + Add default character value ?R to display initially in + Customization UI instead of ?@. + +2012-10-27 Martin Rudalics + + * window.el (display-buffer): In doc-string describe + window-height and window-width alist entries. + + * time.el (display-time-world): Restore fit-window-to-buffer + behavior. + +2012-10-27 Chong Yidong + + * subr.el (insert-buffer-substring-as-yank): Doc fix. + +2012-10-26 Jambunathan K + + * minibuffer.el (completion-category-overrides): New completion + category `bookmark' (bug#11131). + +2012-10-26 Stefan Monnier + + * emacs-lisp/advice.el (ad-assemble-advised-definition): + Silence bogus compiler warnings for ad-do-it. + + * bookmark.el (bookmark-completing-read): Set the completion category + to `bookmark' (bug#11131). + +2012-10-26 Bastien + Stefan Monnier + + * face-remap.el: Use lexical-binding. + (text-scale-adjust): Improve docstring. Use itself for the temporary + overlay-map bindings, so as to repeat the "Use..." message each time. + +2012-10-26 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexp--expand-all): + Obey byte-compile-warning-enabled-p (bug#12486). + + * vc/diff-mode.el (diff-end-of-hunk): Also skip potential "no LF at eol". + (diff-refine-hunk): Similarly, handle the "no LF at eol" (bug#12584). + +2012-10-26 Martin Rudalics + + * mouse.el (mouse-drag-line): Move last form into preceding when + clause (Bug#12731). + + * help.el (resize-temp-buffer-window): Fix doc-string. + +2012-10-25 David Engster + + * emacs-lisp/eieio.el (eieio-update-lisp-imenu-expression): + Remove. This feature is already integrated in imenu. + + * emacs-lisp/eieio-opt.el: Remove require for `button' since it is + always loaded. Require `speedbar' unconditionally. + +2012-10-25 Stefan Monnier + + * dired.el (dired-get-marked-files): Allow ! on . and .. (bug#12725). + + * minibuffer.el (minibuffer-force-complete): Fix thinko. + + * net/ldap.el (ldap-search-internal): The official ldif format starts + with a "version: 1" header (bug#12724). + + * emacs-lisp/package.el (package-installed-p): Warn if not ready + (bug#12721). + +2012-10-25 Glenn Morris + + * emacs-lisp/cl-macs.el (cl-progv): Doc fix. + +2012-10-24 Stefan Monnier + + * minibuffer.el (minibuffer-force-complete): Use one more marker + for the temporary-overlay-map command (bug#12619). + +2012-10-24 Chong Yidong + + * time.el (display-time-world-mode): Derive from special-mode. + (display-time-world): Use display-buffer (Bug#12708). + (display-time-world-mode-map): Variable deleted. + (display-time-world-display): Wrap the final delete-char inside + inhibit-read-only. + +2012-10-24 Chong Yidong + + * dired.el (dired-mark, dired-unmark, dired-flag-file-deletion): + Doc fix. + + * emacs-lisp/easymenu.el (easy-menu-define): Doc fix (Bug#12628). + +2012-10-24 Stefan Monnier + + * minibuffer.el (completion--all-sorted-completions-location): New var. + (completion--cache-all-sorted-completions) + (completion--flush-all-sorted-completions): Use it. + (completion-in-region, completion-in-region--postch) + (completion-at-point, completion-help-at-point): Use markers in + completion-in-region--data (bug#12619). + +2012-10-23 Stefan Monnier + + * progmodes/compile.el (compilation-start): Try to handle common + quoting of `cd' argument (bug#12640). + + * vc/diff-mode.el (diff-hunk): `save-excursion' while refining + (bug#12671). + +2012-10-23 Glenn Morris + + * progmodes/gud.el (gud-menu-map): + Check gdb-active-process is bound. (Bug#12358) + +2012-10-23 Stefan Monnier + + * repeat.el (repeat): Set real-this-command (bug#12232). + + * htmlfontify.el (hfy-post-html-hook): + * filesets.el (filesets-cache-fill-content-hook): + * arc-mode.el (archive-extract-hook): + * progmodes/cc-mode.el (c-prepare-bug-report-hook): + * net/rcirc.el (rcirc-sentinel-functions) + (rcirc-receive-message-functions, rcirc-activity-functions) + (rcirc-print-functions): + * net/dbus.el (dbus-event-error-functions): + * emacs-lisp/eieio.el (eieio-pre-method-execution-functions): + * emacs-lisp/checkdoc.el (checkdoc-style-functions) + (checkdoc-comment-style-functions): Don't use "-hooks" suffix. + * term/sun.el (sun-raw-prefix-hooks): + * mail/sendmail.el (mail-yank-hooks): Use make-obsolete-variable. + +2012-10-23 Michael Albinus + + * net/tramp-smb.el (tramp-smb-maybe-open-connection): + Set `tramp-chunksize' to 1. This improves the performance. + (tramp-smb-wait-for-output): Add timeout to + `tramp-accept-process-output' calls. + +2012-10-23 Chong Yidong + + * faces.el (font-list-limit): Define as an obsolete variable. + + * startup.el (command-line): + * cus-start.el: Don't refer to font-list-limit. + + * newcomment.el (comment-normalize-vars): Doc fix (Bug#12583). + +2012-10-23 Stefan Monnier + + * subr.el (internal-temp-output-buffer-show): Rename from + temp-output-buffer-show, since previously compiled files expect this name. + +2012-10-23 Glenn Morris + + * image.el (image-type-from-file-name): If multiple types match, + return the first one that is supported. (Bug#9045) + +2012-10-22 Glenn Morris + + * image.el (imagemagick-enabled-types): Doc fix. + +2012-10-22 Takafumi Arakaki (tiny change) + + * progmodes/which-func.el (which-func-current): The hash-table may have + an explicit nil (bug#12338). + +2012-10-22 Stefan Monnier + + * electric.el (electric-pair-delete-selection-self-insert-function): + Rename to electric-pair-will-use-region, return a boolean. + (electric-pair-mode): Adjust accordingly. Don't require delsel. + + * delsel.el (delete-selection-helper): Use a function instead of a hook. + (delete-selection-pre-hook): Use use-region-p. + (delete-selection-self-insert-function): Remove. + (self-insert-command): Obey self-insert-uses-region-functions. + (self-insert-iso): Revert to previous setting, since we don't actually + know what that command does. + (delete-selection-self-insert-hooks): Remove. + +2012-10-22 Simon Law (tiny change) + + * delsel.el (delete-selection-helper): New function, extracted from + delete-selection-pre-hook. + (delete-selection-pre-hook): Use it. + (delete-selection-self-insert-function): New function. + (delete-selection-self-insert-hooks): New hook. + (self-insert-command, self-insert-iso): Use it. + * electric.el (electric-pair-syntax): New function, extracted from + electric-pair-post-self-insert-function. + (electric-pair-post-self-insert-function): Use it. + (electric-pair-delete-selection-self-insert-function): New function. + (electric-pair-mode): Require delsel and setup + delete-selection-self-insert-hooks (bug#11520). + +2012-10-20 Chong Yidong + + * vc/vc.el (vc-diff-internal): Set up Diff mode even if there are + no changes to show (Bug#12586). + + * eshell/esh-cmd.el (eshell-rewrite-for-command): Copy the body + list explicitly (Bug#12571). + +2012-10-20 Arne Jørgensen + + * progmodes/flymake.el (flymake-create-temp-inplace): + Use file-truename. + +2012-10-20 Eli Zaretskii + + * loadup.el: Update comment about uncompiled Lisp files. (Bug#12395) + +2012-10-20 Jay Belanger + + * calc/calc-units.el (math-extract-units): Properly extract powers + of units. + +2012-10-20 Daniel Colascione + + * frame.el (make-frame): Set x-display-name as we used to in order + to unbreak creating an X11 frame from an Emacs daemon started + without a display. + +2012-10-19 Stefan Monnier + + * minibuffer.el (minibuffer-force-complete): Make the next completion use + the same completion-field (bug#12221). + +2012-10-19 Martin Rudalics + + * emacs-lisp/debug.el (debug): Record height of debugger window + also when debugger will be back (Bug#8789). + +2012-10-18 Chong Yidong + + * progmodes/gdb-mi.el (gdb-display-buffer-other-frame-action): + Convert to defcustom. + (gdb-get-source-file): Don't bind pop-up-windows. + + * progmodes/gud.el (gud-display-line): Don't specially re-use + other frames for the gdb-mi case (Bug#12648). + +2012-10-18 Stefan Monnier + + * emacs-lisp/advice.el: Clean up commentary a bit. + (ad-do-advised-functions, ad-with-originals): Use `declare'. + (byte-code-function-p): Never redefine. + + * emacs-lisp/gv.el (cond): Same fix as before for `if'. + +2012-10-18 Glenn Morris + + * dired.el (dired-sort-toggle): Some ls implementations only allow + a single option string. (Bug#12666) + + * minibuffer.el (completion-cycle-threshold): Doc fix. + +2012-10-17 Kenichi Handa + + * international/mule.el (set-keyboard-coding-system): + Recover input meta mode when the new coding system doesn not use 8-bit. + Supply TERMINAL arg to set-input-meta-mode. + +2012-10-17 Michael Heerdegen + + * wdired.el (wdired-old-marks): New variable. + (wdired-change-to-wdired-mode): Locally set wdired-old-marks. + (wdired-do-renames): Move point with renamed file and don't lose + mark status (Bug#11795). + +2012-10-16 Juri Linkov + + * replace.el (query-replace-help): Mention multi-buffer replacement + keys in the Help message. (Bug#12655) + +2012-10-15 Chong Yidong + + * emacs-lisp/byte-run.el (defsubst): Doc fix. + +2012-10-14 Eli Zaretskii + + * window.el (display-buffer): Doc fix. + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Adjust the msft regexp to the output of Studio 2010, and move msft + before edg-1. See the discussion on emacs-devel, + http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00579.html, + for the details. + +2012-10-14 Stefan Monnier + + * emacs-lisp/eieio.el (eieio-oset-default, eieio-oset, oset-default) + (oset): Move uses of object-class-fast macro after its definition. + + * emacs-lisp/gv.el (if): Don't use closures in non-lexical-binding code. + +2012-10-13 Chong Yidong + + * textmodes/ispell.el (ispell-pdict-save): If flyspell-mode is + enabled, re-enable it (Bug#11963). + +2012-10-13 Martin Rudalics + + * emacs-lisp/debug.el (debug): When debugger-will-be-back is + non-nil, restore window configuration (Bug#12623). + +2012-10-12 Stefan Monnier + + * help-fns.el (describe-variable, describe-function-1): + * help-mode.el (help-make-xrefs): Remove error handler, made unneeded. + + * emacs-lisp/eieio.el (lisp-imenu-generic-expression): Fix typo. + +2012-10-12 Glenn Morris + + * mail/rmailsum.el (rmail-header-summary): + Fix 2010-11-26 test for multiline Subject: field. (Bug#12625) + +2012-10-12 Fabián Ezequiel Gallina + + * progmodes/python.el (python-mode-map): + Replace subtitute-key-definition with proper command remapping. + (python-nav--up-list): Fix behavior for blocks on the same level. + +2012-10-11 Stefan Monnier + + * help-fns.el (describe-function-1): Handle autoloads w/o docstrings. + + * emacs-lisp/bytecomp.el (byte-compile-eval): Adjust to long-ago + changes to the format of load-history. + + * international/mule-cmds.el (read-char-by-name): Move let-binding of + completion-ignore-case in case that var is buffer-local (bug#12615). + +2012-10-11 Kenichi Handa + + * international/eucjp-ms.el: Re-generated. + +2012-10-10 Kenichi Handa + + * select.el (xselect--encode-string): If a coding is specified for + selection, and that is compatible with COMPOUND_TEXT, use it. + +2012-10-10 Martin Rudalics + + * window.el (switch-to-buffer-preserve-window-point): New option. + (switch-to-buffer): + Obey `switch-to-buffer-preserve-window-point' (Bug#4041). + +2012-10-09 Stefan Monnier + + * newcomment.el (comment-start-skip, comment-end-skip, comment-end): + Don't document nil as a useful value (bug#12583). + +2012-10-09 Michael Albinus + + * net/tramp.el (tramp-debug-message): + Remove "tramp-with-progress-reporter" from regexp of ignored functions. + (with-tramp-progress-reporter): Rename from + `tramp-with-progress-reporter'. + (with-tramp-file-property, with-tramp-connection-property): + Move from tramp-cache.el, rename from `with-file-property' and + `with-connection-property', respectively. + + * net/tramp-cache.el: Remove `with-file-property' and + `with-connection-property'. + + * net/tramp.el: + * net/tramp-gvfs.el: + * net/tramp-sh.el: + * net/tramp-smb.el: Adapt callees. + + * net/trampver.el: Update release number. + +2012-10-09 Glenn Morris + + * w32-fns.el (set-message-beep): + * term/w32-win.el (set-message-beep): Update declarations. + +2012-10-09 Stefan Monnier + + * bindings.el (mode-line-toggle-read-only, mode-line-toggle-modified) + (mode-line-widen, mode-line-input-method-map) + (mode-line-coding-system-map, mode-line-remote) + (mode-line-unbury-buffer, mode-line-bury-buffer) + (mode-line-next-buffer, mode-line-previous-buffer): + Replace save-selected-window+select-window => with-selected-window. + + * progmodes/cc-bytecomp.el (cc-bytecomp-defmacro): Remove, unused. + * progmodes/cc-vars.el (bq-process): Remove, unused. + + * emacs-lisp/cl-macs.el (cl-defstruct): Obey the :read-only property. + +2012-10-09 Fabián Ezequiel Gallina + + Implemented `backward-up-list'-like navigation. + * progmodes/python.el (python-nav-up-list) + (python-nav-backward-up-list): New functions. + (python-mode-map): Define substitute key for backward-up-list to + python-nav-backward-up-list. + +2012-10-08 Fabián Ezequiel Gallina + + * progmodes/python.el (python-fill-paragraph): Rename from + python-fill-paragraph-function. Fixed fill-paragraph for + decorators (Bug#12605). + +2012-10-08 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-output-filter): Handle extra + carriage return in OSX (Bug#12409). + +2012-10-08 Fabián Ezequiel Gallina + + Fix shell handling of unbalanced quotes and parens in output. + * progmodes/python.el (python-rx-constituents): Add string-delimiter. + (python-syntax-propertize-function): Use it. + (python-shell-output-syntax-table): New var. + (inferior-python-mode): Prevent unbalanced parens/quotes from + previous output mess with current input context. + +2012-10-08 Juanma Barranquero + + * generic-x.el (javascript-generic-mode, javascript-generic-mode-hook): + Make obsolete aliases of js-mode and js-mode-hook (from js.el). + +2012-10-08 Michael Albinus + + * ffap.el (ffap-replace-file-component): Support Tramp file name + syntax, not only ange-ftp's one. + +2012-10-08 Glenn Morris + + * cus-start.el (message-log-max): Set :version. + + * calendar/calendar.el (calendar-intermonth-header): Doc fix. + +2012-10-08 Martin Rudalics + + * emacs-lisp/edebug.el (edebug-pop-to-buffer): Don't try to split + the minibuffer window (Bug#10851). + +2012-10-08 Fabián Ezequiel Gallina + + Enhancements on forward-sexp movement. + * progmodes/python.el (python-nav-beginning-of-statement) + (python-nav-end-of-statement): Return point-marker. + (python-nav-forward-sexp): lisp-like forward-sexp behavior. + (python-info-current-symbol) + (python-info-statement-starts-block-p): Rename from + python-info-beginning-of-block-p. + (python-info-statement-ends-block-p): Rename from + python-info-end-of-block-p. + (python-info-beginning-of-statement-p) + (python-info-end-of-statement-p) + (python-info-beginning-of-block-p, python-info-end-of-block-p): + New functions. + +2012-10-08 Stefan Monnier + + * comint.el (comint-preinput-scroll-to-bottom): Preserve the + frame-selected-windows. + +2012-10-08 Daniel Colascione + + * battery.el (battery-status-function): Check for + w32-battery-status itself, not system-time windows-nt. + + * frame.el: Require cl-lib. + (display-format-alist): New variable mapping frame types to + functions that initialize them. + (window-system-for-display): New function: interprets + display-format-alist. + (make-frame-on-display): Remove existing display-selection logic + and just forward to make-frame, which will now DTRT. + (make-frame): Restructure to use window-system-for-display to + figure out how to create a frame on a given display. + (display-mouse-p): Look for frame-type w32, not a particular + system-type. + + * loadup.el: Load w32 lisp code when we have the w32 feature. + + * mouse.el (mouse-yank-primarY): Look for frame-type w32, not + system-type windows-nt. + + * server.el (server-create-window-system-frame): Look for window + type. + (server-proces-filter): Only force a window system when windows-nt + _and_ w32. Explain why. + + * simple.el (normal-erase-is-backspace-mode): Add w32 to the list + of window systems we configure for the mode. + + * startup.el (command-line): Mark window system is initialized + after we've done it. + + * common-win.el (x-select-text): Look for w32, not windows-nt. + + * ns-win.el: Require cl-lib. Add ourselves to + display-format-alist. + (ns-initialize-window-system): Assert we're not initialized twice. + + * w32-win.el: Enable lexical binding; require cl-lib; add + ourselves to display-format-alist. + (w32-handle-dropped-file): Convert incoming dropped files from + Windows paths to Cygwin ones before passing them on to the rest of + Emacs. + (w32-drag-n-drop): New paramter new-frame. Simplify logic. + (w32-initialize-window-system): Assert we're not initialized twice. + + * x-win.el: Require cl-lib; add ourselves to display-format-alist. + (x-initialize-window-system): Assert we're not initialized twice. + + * w32-common-fns.el: New File. + (w32-version, w32-using-nt, w32-get-clipboard-data) + (w32-set-clipboard-data, x-set-selection, x-get-selection) + (w32-charset-info-alist, x-last-selected, text) + (x-get-selection-value, x-selection-value): Move here. + + * w32-fns.el: Require w32-common-fns. + (w32-version, w32-using-nt, w32-get-clipboard-data) + (w32-set-clipboard-data, x-set-selection, x-get-selection) + (w32-charset-info-alist, x-last-selected, text) + (x-get-selection-value, x-selection-value): Move to + w32-common-fns. + + * w32-vars.el: + (w32-allow-system-shell, w32-system-shells): Define only in + non-cygwin case. + +2012-10-07 Stefan Monnier + + * subr.el (read-passwd-map): Don't use `defconst' (bug#12597). + (read-passwd): Remove a few more potential sources of leaks. + +2012-10-07 Fabián Ezequiel Gallina + + * progmodes/python.el (inferior-python-mode) + (python-shell-make-comint): Fix initialization of local + variables copied from parent buffer. + +2012-10-07 Jan Djärv + + * term/ns-win.el (ns-read-file-name): Update declaration to match + nsfns.m. + (ns-respond-to-change-font): Change fontsize separately so we are sure + it is set when font is acted upon. + +2012-10-07 Fabián Ezequiel Gallina + + Enhancements to indentation. + * progmodes/python.el (python-indent-context): Give priority to + inside-string context. Make comments indentation markers. + (python-indent-region): Do not mess with strings, unless it's the + enclosing set of quotes. + +2012-10-07 Stefan Monnier + + * window.el (internal--before-save-selected-window) + (internal--after-save-selected-window): New functions extracted from + save-selected-window. Make sure we return the `alist' we construct. + (save-selected-window): Use them. + + * textmodes/tex-mode.el (tex-recenter-output-buffer): + Use with-selected-window. + + * emacs-lisp/autoload.el (make-autoload): Add `cl-defmacro' to the + forms that define macros (bug#12593). + +2012-10-07 Kenichi Handa + + * international/mule-conf.el (compound-text-with-extensions): + Add :mime-charset property as x-ctext. + +2012-10-07 Stefan Merten + + * textmodes/rst.el (rst-new-adornment-down, rst-indent-field) + (rst-indent-literal-normal, rst-indent-literal-minimized) + (rst-indent-comment): Correct :version tag. + (rst-official-cvs-rev): Correct version string. + +2012-10-07 Glenn Morris + + * mail/rmailmm.el (rmail-mime-process-multipart): + Do not confuse a multipart message with an epilogue + with a "truncated" one; fixes 2011-06-27 change. (Bug#10101) + +2012-10-07 Fabián Ezequiel Gallina + + Fix shell output retrieval and comint-prompt-regexp init. + * progmodes/python.el (inferior-python-mode): + (python-shell-make-comint): Fix initialization of + comint-prompt-regexp from copied file local variables. + (python-shell-fetched-lines): Remove var. + (python-shell-output-filter-in-progress): Rename from + python-shell-fetch-lines-in-progress. + (python-shell-output-filter-buffer): Rename from + python-shell-fetch-lines-string. + (python-shell-fetch-lines-filter): Delete function. + (python-shell-output-filter): New function. + (python-shell-send-string-no-output): Use them. + +2012-10-07 Glenn Morris + + * hi-lock.el (hi-lock-process-phrase): + Try to make it less fragile. (Bug#7161) + + * hi-lock.el (hi-lock-face-phrase-buffer): Doc fix. + +2012-10-06 Glenn Morris + + * ehelp.el (electric-help-mode): Use help-mode rather than + non-existent mode `help'. + (electric-help-map): Use button-buffer-map. (Bug#10917) + + * textmodes/reftex-vars.el (reftex-create-bibtex-header) + (reftex-create-bibtex-footer): Fix custom types. + + * progmodes/sh-script.el (sh-indent-after-continuation): + Add explicit :group. + + * textmodes/rst.el (rst-preferred-decorations) + (rst-shift-basic-offset): Clarify obsolescence versions. + + * profiler.el (profiler): Add missing group :version tag. + * avoid.el (mouse-avoidance-banish-position): + * proced.el (proced-renice-command): + * calc/calc.el (calc-ensure-consistent-units): + * calendar/icalendar.el (icalendar-import-format-uid): + * net/tramp.el (tramp-save-ad-hoc-proxies): + * progmodes/bug-reference.el (bug-reference-bug-regexp): + * progmodes/flymake.el (flymake-error-bitmap) + (flymake-warning-bitmap, flymake-fringe-indicator-position): + * progmodes/sh-script.el (sh-indent-after-continuation): + * progmodes/verilog-mode.el (verilog-auto-template-warn-unused) + (verilog-before-save-font-hook, verilog-after-save-font-hook): + * progmodes/vhdl-mode.el (vhdl-makefile-default-targets) + (vhdl-array-index-record-field-in-sensitivity-list) + (vhdl-indent-comment-like-next-code-line): + * textmodes/reftex-vars.el (reftex-ref-style-alist) + (reftex-ref-macro-prompt, reftex-ref-style-default-list) + (reftex-cite-key-separator, reftex-create-bibtex-header) + (reftex-create-bibtex-footer): + * textmodes/rst.el (rst-new-adornment-down, rst-indent-field) + (rst-indent-literal-normal, rst-indent-literal-minimized) + (rst-indent-comment): Add missing custom :version tags. + + * calendar/timeclock.el (timeclock-modeline-display): + Add missing obsolete alias for renamed user option. + + * strokes.el (strokes-modeline-string): + * emulation/crisp.el (crisp-mode-modeline-string): + * eshell/esh-mode.el (eshell-status-in-modeline): + Aliases to defcustoms must come before the defcustom. + + * calendar/cal-tex.el (cal-tex-diary, cal-tex-cursor-week) + (cal-tex-cursor-week2, cal-tex-cursor-week-iso) + (cal-tex-cursor-week-monday): Doc fixes. + (cal-tex-cursor-week2-summary): Doc fix. + Rename from cal-tex-cursor-week-at-a-glance. + + * calendar/cal-menu.el (cal-menu-context-mouse-menu): + Tweak week descriptions. Add cal-tex-cursor-week2-summary. + + * calendar/calendar.el (calendar-mode-map): + Add cal-tex-cursor-week2-summary. + +2012-10-06 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl-defstruct): Improve docstring. + + * subr.el (read-passwd-map): New var. + (read-passwd): Use `read-string' again. + * minibuffer.el (delete-minibuffer-contents): Make it interactive. + +2012-10-06 Jambunathan K + + * register.el (append-to-register, prepend-to-register): + Deactivate mark, as does `copy-to-register' (bug#12389). + +2012-10-06 Chong Yidong + + * files.el (auto-mode-alist): Add .by and .wy (Semantic grammars). + +2012-10-06 Ikumi Keita (tiny change) + + * international/characters.el: Fix simple mistake ((car chars) -> + elt), delete duplicated code. + +2012-10-06 Glenn Morris + + * subr.el (read-passwd): Allow C-u to erase entry. (Bug#12570) + +2012-10-06 Julian Scheid (tiny change) + + * color.el (color-hsl-to-rgb): Fix incorrect results for + small and large hue values. (Bug#12559) + +2012-10-05 Fabián Ezequiel Gallina + + Enhancements to docstring formatting when filling paragraphs. + * progmodes/python.el (python-fill-docstring-style): Rename from + python-fill-string-style. Added new style. + (python-fill-string): Use new style. Better checks for + docstrings. + +2012-10-05 Glenn Morris + + * net/newst-treeview.el (newsticker-group-move-feed): Doc fix. + + * color.el (color-name-to-rgb, color-rgb-to-hex) + (color-hue-to-rgb, color-hsl-to-rgb, color-rgb-to-hsv) + (color-rgb-to-hsl, color-srgb-to-xyz, color-saturate-hsl) + (color-desaturate-hsl, color-desaturate-name, color-lighten-hsl) + (color-lighten-name, color-darken-hsl, color-darken-name): Doc fixes. + + * emacs-lisp/timer.el (with-timeout): Add missing progn. (Bug#12577) + +2012-10-05 Juanma Barranquero + + * ido.el (ido-directory-too-big-p): Pass dir through file-truename + to get the correct size across symlinks. + + * ido.el (ido-buffer-disable-smart-matches): Fix typo in docstring. + +2012-10-04 Juri Linkov + + * replace.el (query-replace-interactive): Declare obsolete. + (query-replace-read-from): Add the last incremental search string + to the list of default values accessible via M-n. + (map-query-replace-regexp): Use `read-regexp'. + (query-replace, query-replace-regexp, query-replace-regexp-eval) + (map-query-replace-regexp, replace-string, replace-regexp): + Fix docstrings to replace mentions of `query-replace-interactive' + with alternatives. (Bug#12526) + +2012-10-04 Juri Linkov + + * dired.el (dired-shrink-to-fit): Declare obsolete. (Bug#1806) + (dired-pop-to-buffer): Declare obsolete. + (dired-mark-pop-up): Doc fix. + +2012-10-04 Fabián Ezequiel Gallina + + Allow user to set docstring style for fill-paragraph. + * progmodes/python.el + (python-fill-comment-function, python-fill-string-function) + (python-fill-decorator-function, python-fill-paren-function): + Remove :safe for defcustoms. + (python-fill-string-style): New defcustom + (python-fill-paragraph-function): Enhance context detection. + (python-fill-string): Honor python-fill-string-style settings. + +2012-10-04 Martin Rudalics + + * emacs-lisp/edebug.el (edebug-pop-to-buffer): Select window + after setting its buffer (Bug#10805). + +2012-10-03 Fabián Ezequiel Gallina + + Fix cornercase for string syntax. + * progmodes/python.el (python-syntax-propertize-function): + Simplify and enhance the regexp for unescaped quotes. Now it also + matches quotes in weird situations like the single quote in + "something\"'". + (python-syntax-stringify): Simplify num-quotes detecting code. + +2012-10-03 Glenn Morris + + * help-macro.el (three-step-help): + Revert 2012-09-29 change. (Bug#12567) + +2012-10-03 Martin Rudalics + + * menu-bar.el (kill-this-buffer): Don't do anything when + `menu-frame' is not alive or visible (Bug#8184). + + * emacs-lisp/debug.el (debug): When quitting the debugger window + restore current buffer (Bug#12502). + +2012-10-02 Chong Yidong + + * progmodes/hideif.el (hif-lookup, hif-defined): + Handle semantic-c-takeover-hideif. + +2012-10-02 Paul Eggert + + Change sampling interval units from ms to ns. + * profiler.el (profiler-sampling-interval): Change units + from ms to ns, multiplying the default by 1000000 so that + it remains 1 ms. + (profiler-report-cpu-line-format): Give enough room for + the maximum counters on 64-bit hosts. + (profiler-report-render-calltree-1): Call them "CPU samples", + not "Time (ms)", since they are not milliseconds now (and + never really were). + +2012-10-02 Sergio Durigan Junior (tiny change) + + * net/eudcb-bbdb.el (eudc-bbdb-format-record-as-result): + Fix querying BBDB for entries without a last name (Bug#11580). + +2012-10-02 Chong Yidong + + * emacs-lisp/eieio.el: Restore Version header. + +2012-10-02 Stefan Monnier + + * vc/diff-mode.el (diff--auto-refine-data): New var. + (diff-hunk): Use it to delay refinement. + (diff-mode): Remove overlays when we turn off font-lock. + + * textmodes/table.el: Use lexical-binding, dolist, define-minor-mode. + (table-initialize-table-fixed-width-mode) + (table-set-table-fixed-width-mode): Remove functions. + (table-command-list): Move initialization into declaration. + (table--tweak-menu-for-xemacs): Move defun outside mapcar. + (table-with-cache-buffer): Use `declare'. + (table-span-cell): Simplify via CSE. + (table-fixed-width-mode): Use define-minor-mode. + (table-call-interactively, table-funcall, table-apply): Remove. + (table-function): New function, to replace them. + + * bookmark.el (bookmark-search-pattern): Remove var. + (bookmark-read-search-input): Remove function. + (bookmark-bmenu-search): Reimplement using a minibuffer. + + * faces.el (modeline): Remove obsolete face name. + + * vc/add-log.el (add-log-buffer-file-name-function): Demote to defvar + and give a non-nil default value. + (add-change-log-entry): Simplify accordingly. + +2012-10-01 Dmitry Gutov + + * vc/vc-git.el (vc-git-log-edit-toggle-signoff): New function. + (vc-git-log-edit-toggle-amend): New function. + (vc-git-log-edit-toggle-signoff): New function. + (vc-git-log-edit-mode): New major mode. + (vc-git-log-edit-mode-map): Keymap for it. + (vc-git-checkin): Handle "Amend" and "Sign-Off" headers. + + * vc/log-edit.el (log-edit-font-lock-keywords): Allow hyphens in + header names. + (log-edit-toggle-header): New function. + (log-edit-extract-headers): Accept function values in HEADERS alist. + +2012-10-01 David Engster + + * emacs-lisp/eieio-opt.el (eieio-describe-class): Add filename + from symbol property and change message to be more consistent with + Emacs proper. + (eieio-describe-generic): Add filename for each implementation. + Fix indices for generic and normal methods. + (eieio-method-def, eieio-class-def): New buttons. + (eieio-help-find-method-definition) + (eieio-help-find-class-definition): New functions. + (eieio-help-mode-augmentation-maybee): Add buttons to filenames of + class, constructor and method definitions. + + * emacs-lisp/eieio.el (eieiomt-add, eieio-defclass): Save file + information in symbol property. + (scoped-class): Remove. + (eieio-slot-name-index, call-next-method): Check if it is bound. + +2012-10-01 Leo P. White + + * emacs-lisp/eieio-custom.el (eieio-custom-mode-map): New option. + (eieio-custom-mode): New major mode. + (eieio-customize-object): Use it. + +2012-10-01 Eric Ludlam + + * emacs-lisp/eieio-base.el (eieio-persistent-read): New input args + specifying the expected class, and whether subclassing is allowed. + (eieio-persistent-convert-list-to-object): + (eieio-persistent-validate/fix-slot-value) + (eieio-persistent-slot-type-is-class-p): New functions. + (eieio-named::slot-missing): Doc fix. + + * emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots): + Stop using unused publd variable. + + * emacs-lisp/eieio-speedbar.el (eieio-speedbar-handle-click): + (eieio-speedbar-description, eieio-speedbar-derive-line-path) + (eieio-speedbar-object-buttonname, eieio-speedbar-make-tag-line) + (eieio-speedbar-handle-click): Do not specify a class for the + method. Fixes method invocation order problems with EDE. + +2012-10-01 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compiler-abbreviate-file): New function. + (byte-compile-warning-prefix, byte-compile-file): Use it (bug#12508). + +2012-10-01 Karl Fogel + + * bookmark.el (bookmark-version-control): Give tags in the + :type choices (Bug#12309), and improve doc string. + (bookmark-write-file): Bind `print-circle' to `t' to allow + circular custom bookmark types. (Bug#12503) + +2012-10-01 Paul Eggert + + Revert the FOLLOW-SYMLINKS change for file-attributes. + * files.el (remote-file-name-inhibit-cache, after-find-file): + * time.el (display-time-file-nonempty-p): Undo last change. + + * profiler.el (profiler-sampling-interval): Change default back to 1. + See Stefan Monnier in + . + +2012-10-01 Fabián Ezequiel Gallina + + Shell output catching a la gud-gdb. + * progmodes/python.el (python-shell-fetch-lines-in-progress) + (python-shell-fetch-lines-string, python-shell-fetched-lines): + New Vars. + (python-shell-fetch-lines-filter): New function. + (python-shell-send-string-no-output): Use them. + +2012-09-30 Tomohiro Matsuyama + + * profiler.el (profiler-sampling-interval): Rename from + profiler-sample-interval. + (profiler-sampling-interval): Default to 10. + (profiler-find-profile): New command (was profiler-find-log). + (profiler-find-profile-other-window): New command. + (profiler-find-profile-other-frame): New command. + (profiler-profile): Introduce API-level data structure. + +2012-09-30 Paul Eggert + + file-attributes has a new optional arg FOLLOW-SYMLINKS. + * files.el (remote-file-name-inhibit-cache): + * time.el (display-time-file-nonempty-p): Use it. + * files.el (after-find-file): Don't chase links before calling + file-exists-p, as file-exists-p already does the right thing. + +2012-09-30 Ralf Angeli + + Merge from standalone RefTeX repository. + + The following ChangeLog entries are shortened versions of the + original ones with file paths adapted. A not so strongly edited + version of the original ChangeLog can be found in the commit log. + + * textmodes/reftex-auc.el: Move `provide' call to bottom of file. + (reftex-arg-cite): Use `reftex-cite-key-separator'. + Correctly handle new value type returned by `reftex-citation'. + + * textmodes/reftex-cite.el (reftex-create-bibtex-file): Make sure + that entries with whitespace at various places are found. + Doc fix. Include entries that are cross-referenced from cited entries. + Include @String definitions in the resulting bib file. Add header + and footer defined in `reftex-create-bibtex-header' and + `reftex-create-bibtex-footer'. + (reftex-do-citation): Make it possible again to insert + non-existent entries. Save match data when asking for optional + arguments. Return all keys, not just the first one. + (reftex-all-used-citation-keys): Fix regexp to correctly extract + all citations in the same line. + (reftex-parse-bibtex-entry): Accept additional optional argument + `raw' and keep quotes or braces if it is non-nil. Match fields + containing hyphens besides word constituents. + (reftex-get-string-refs): New function. + (reftex-extract-bib-entries): Check if BibTeX file changed on disk + and ask if it should be reread in case it did. + (reftex-pop-to-bibtex-entry) + (reftex-extract-bib-entries-from-thebibliography): Match \bibitem + entries with spaces or tabs in front of arguments. + (reftex-pop-to-bibtex-entry, reftex-extract-bib-entries) + (reftex-parse-bibtex-entry, reftex-create-bibtex-file): + Match entries containing numbers and symbol constituents. + (reftex-do-citation, reftex-figure-out-cite-format): + Use `reftex-cite-key-separator'. + + * textmodes/reftex-dcr.el: Move provide statement to end of file. + (reftex-mouse-view-crossref): Explain why point is set. + + * textmodes/reftex-global.el: Whitespace changes. + + * textmodes/reftex-index.el: Move provide statement to end of + file. + (reftex-index-selection-or-word): Use `reftex-region-active-p'. + (reftex-index-visit-phrases-buffer): Set marker when visiting + buffer. This allows for returning from the phrases file to the + file one was just editing instead of the file where the last + phrases was added from. + (reftex-index-phrases-syntax-table): New variable. Give ?\" + punctuation syntax as it usually is not used as string quote in + TeX-related modes and may occur unmatched. The change also + prevents fontification of quoted content. + (reftex-index-phrases-mode): Use it. + + * textmodes/reftex-parse.el (reftex-parse-from-file): + Move backward one char if a `\' was matched after a section macro. + (reftex-parse-from-file): Use beginning of match instead of end as + bound. + + * textmodes/reftex-ref.el: Adapt creation of + `reftex--' functions to new structure of + `reftex-ref-style-alist'. + (reftex-reference): Use `reftex-ref-style-list' function. + Adapt to new structure of `reftex-ref-style-alist'. Prompt for a + reference macro if `reftex-ref-macro-prompt' is non-nil. + (reftex-reference): Pass refstyle to `reftex-format-special'. + Determine reference macro by looking at + `reftex-ref-style-default-list' and `reftex-ref-style-alist'. + Use only one special format function. + (reftex-varioref-vref, reftex-fancyref-fref) + (reftex-fancyref-Fref): Remove definitions. The functions are now + generated from `reftex-ref-style-alist'. + (reftex-format-vref, reftex-format-Fref, reftex-format-fref): + Remove. + (reftex-format-special): New function. + + * textmodes/reftex-sel.el + (reftex-select-cycle-ref-style-internal): Adapt to new structure + of `reftex-ref-style-alist'. Remove code for testing macro type. + (reftex-select-toggle-varioref) + (reftex-select-toggle-fancyref): Remove. + (reftex-select-cycle-ref-style-internal) + (reftex-select-cycle-ref-style-forward) + (reftex-select-cycle-ref-style-backward): New functions. + (reftex-select-label-map): Use `v' and `V' for general cycling + through reference styles. Add `p' for switching between number + and page reference types. + + * textmodes/reftex-toc.el (reftex-re-enlarge): + Call `enlarge-window' only if there is something to do because in Emacs + the horizontal version throws an error even if the parameter is 0. + + * textmodes/reftex-vars.el (reftex-label-alist): Doc fix. + (reftex-plug-into-AUCTeX): Doc fix. + (reftex-vref-is-default, reftex-fref-is-default): Adapt doc + string. Adapt to new name. + (reftex-ref-style-alist): Change structure so that it is not + possible to use multiple different package names within a style. + Remove the symbols for symbols for macro type distinction. + Add characters for macro selection. + (reftex-ref-macro-prompt, reftex-create-bibtex-header) + (reftex-create-bibtex-footer): New variables. + (reftex-format-ref-function): Mention third argument of special + format function. + (reftex-ref-style-alist, reftex-ref-style-default-list): + New variables. + (reftex-vref-is-default, reftex-fref-is-default): Adapt doc string + to new implementation. Mark as obsolete. Add compatibility code + for honoring the variable values in case they are set. + (reftex-cite-format-builtin, reftex-bibliography-commands): + Add support for ConTeXt. + (reftex-format-ref-function, reftex-format-cite-function): + Fix custom type. + (reftex-cite-key-separator): New variable. + + * textmodes/reftex.el (reftex-syntax-table-for-bib) + (reftex-mode): Do not derive `reftex-syntax-table-for-bib' from + `reftex-syntax-table' because parens have to retain their paren + syntax in order for parsing of BibTeX entries like @book(...) to + work. + (reftex-in-comment): Do not error out if `comment-start-skip' is + not set. Deal correctly with escaped comment characters. + (reftex-tie-multifile-symbols): Add doc string. + Initialize `reftex-ref-style-list'. + (reftex-untie-multifile-symbols): Add doc string. + (reftex-add-index-macros): Doc fix. + (reftex-ref-style-activate, reftex-ref-style-toggle) + (reftex-ref-style-list): New functions. + (reftex-mode-menu): Use them. Adapt to new structure of + `reftex-ref-style-alist'. + (reftex-select-with-char): Kill the RefTeX Select buffer when + done. + (reftex-remove-if): New function. + (reftex-erase-all-selection-and-index-buffers) + (reftex-mode-menu): Reference styles are now computed from + `reftex-ref-style-alist'. Fix typo. + (reftex-report-bug): New function. + (reftex-uniquify, reftex-uniquify-by-car): Replace O(n^2) + algorithms with O(n log n). Introduce optional argument SORT (not + yet used). + +2012-09-30 Fabián Ezequiel Gallina + + Enhancements for triple-quote string syntax. + * progmodes/python.el (python-syntax-propertize-function): + Match both quote cases in one regexp. + (python-syntax-stringify): Handle matches properly. + +2012-09-30 Juri Linkov + + * arc-mode.el (archive-summarize): Let-bind `buffer-file-truename' + to nil around the call to `insert' to prevent + directory time modification by lock_file. (Bug#2295) + * tar-mode.el (tar-summarize-buffer): Idem. + +2012-09-30 Juri Linkov + + * facemenu.el (list-colors-sort): Add option "Luminance". + (list-colors-sort-key): Implement it. + + * vc/diff-mode.el (diff-refine-removed): + * vc/ediff-init.el (ediff-fine-diff-A): + * vc/smerge-mode.el (smerge-refined-removed): + Change background color "#ffaaaa" to "#ffbbbb". (Bug#10181) + +2012-09-30 Jan Djärv + + * term/ns-win.el (x-file-dialog): New function. + +2012-09-30 Juanma Barranquero + + * ido.el (ido-max-directory-size): Default to nil; the current + default is small for POSIX systems, and impractical on Windows 7 + now that lstat returns directory sizes for NTFS. + +2012-09-30 Martin Rudalics + + In buffer display functions handle window-height/window-width + alist entries. Suggested by Juri Linkov as fix for Bug#1806. + * window.el (window--display-buffer): New argument ALIST. + Obey window-height and window-width alist entries. + (window--try-to-split-window): New argument ALIST. + Bind window-combination-limit to t when the window's size shall be + changed and window-combination-limit equals `window-size'. + (display-buffer-in-atom-window) + (display-buffer-in-major-side-window) + (display-buffer-in-side-window, display-buffer-same-window) + (display-buffer-reuse-window, display-buffer-pop-up-frame) + (display-buffer-pop-up-window, display-buffer-below-selected) + (display-buffer-at-bottom, display-buffer-in-previous-window) + (display-buffer-use-some-window): Adjust all callers of + window--display-buffer and window--try-to-split-window. + (fit-frame-to-buffer): New option. + (fit-window-to-buffer): Can resize frames if fit-frame-to-buffer + is non-nil. + (display-buffer-in-major-side-window): Evaluate window-height / + window-width alist entries. + + * help.el (temp-buffer-resize-frames) + (temp-buffer-resize-regexps): Remove options. + (temp-buffer-resize-mode): Adjust doc-string. + (resize-temp-buffer-window): Don't consult + temp-buffer-resize-regexps. Use fit-frame-to-buffer instead of + temp-buffer-resize-frames. + + * dired.el (dired-mark-pop-up): + Call display-buffer-below-selected with a fit-window-to-buffer alist + entry. + +2012-09-30 Chong Yidong + + * server.el (server-host): Document the security implications. + (server-auth-key): Doc fix. + + * startup.el (initial-buffer-choice): Doc fix. + + * minibuffer.el (minibuffer-local-filename-syntax): Doc fix. + + * simple.el (delete-trailing-whitespace): Avoid an unnecessary + restriction change. + + * bindings.el (goto-map): Bind M-g TAB to move-to-column. + + * help-fns.el (help-fns--obsolete): Fix last change. + +2012-09-30 Stefan Monnier + + * winner.el (winner-mode-map): Obey winner-dont-bind-my-keys here. + (minor-mode-map-alist): Remove redundant code. + + * vc/pcvs.el (cvs-cleanup-collection): Keep entries that are currently + visited in a buffer. + (cvs-insert-visited-file): New function. + (find-file-hook): Use it. + + * vc/pcvs-info.el (cvs-fileinfo-pp): Don't use non-existent faces. + + * vc/log-edit.el (log-edit-font-lock-keywords): Ignore case to + chose face. + (log-edit-empty-buffer-p): Don't require a space after a header. + + * vc/ediff-util.el (ediff-diff-at-point): Don't assume point-min==1. + + * tutorial.el (help-with-tutorial): Use minibuffer-with-setup-hook. + + * textmodes/text-mode.el (paragraph-indent-minor-mode): Make it + a proper minor-mode. + + * textmodes/tex-mode.el (tex-mode-map): Don't bind paren keys. + +2012-09-29 Glenn Morris + + * winner.el (winner-mode): Remove variable (let define-minor-mode + handle it). + (winner-dont-bind-my-keys, winner-boring-buffers, winner-mode-hook): + Doc fixes. + (winner-mode-leave-hook): Rename to winner-mode-off-hook. + (winner-mode): Use define-minor-mode. + + * vc/vc-sccs.el (vc-sccs-registered): Use the progn trick to get + the full definition in loaddefs, rather than duplicating it. + + * help-macro.el (three-step-help): No need to autoload defcustom. + + * progmodes/inf-lisp.el (inferior-lisp-filter-regexp) + (inferior-lisp-program, inferior-lisp-load-command) + (inferior-lisp-prompt, inferior-lisp-mode-hook): + No need to autoload defcustoms. + + * hippie-exp.el (hippie-expand-try-functions-list) + (hippie-expand-verbose, hippie-expand-dabbrev-skip-space) + (hippie-expand-dabbrev-as-symbol, hippie-expand-no-restriction) + (hippie-expand-max-buffers, hippie-expand-ignore-buffers) + (hippie-expand-only-buffers): No need to autoload defcustoms. + * progmodes/vhdl-mode.el (vhdl-line-expand): + Explicitly load hippie-exp, so it does not get autoloaded + while hippie-expand-try-functions-list is let-bound. + +2012-09-28 Glenn Morris + + * emacs-lisp/cl.el (flet): Fix case of obsolescence message. + + * emacs-lisp/bytecomp.el (byte-compile-cl-file-p): + Only "cl.el" counts as cl these days. + +2012-09-28 Juri Linkov + + Display archive errors in the echo area instead of inserting + to the file buffer. + + * arc-mode.el (archive-extract-by-stdout): Change arg STDERR-FILE + to STDERR-TEST that can be a regexp matching a successful output. + Create a temporary file and redirect stderr to it. Search for + STDERR-TEST in the stderr output and display it in the echo area + if no match is found. + (archive-extract-by-file): New function like + `archive-extract-by-stdout' but extracting archives to files + and looking for successful matches in stdout. Function body is + mostly copied from `archive-rar-extract'. + (archive-rar-extract): Use `archive-extract-by-file'. + (archive-7z-extract): Use `archive-extract-by-stdout'. (Bug#10347) + +2012-09-28 Leo Liu + + * pcomplete.el (pcomplete-show-completions): + Use minibuffer-message to make pcomplete usable in minibuffer. + + * ido.el (ido-set-matches-1): Fix 2012-09-11 change. + +2012-09-28 Stefan Monnier + + * type-break.el: Use lexical-binding. + (type-break-mode): Use define-minor-mode. + + * emacs-lisp/pcase.el (pcase--mark-used): New. + (pcase--u1): Use it (bug#12512). + + * custom.el (load-theme): Set buffer-file-name so the load is recorded + in load-history with the right file name. + +2012-09-28 Tassilo Horn + + * doc-view.el (doc-view-current-cache-doc-pdf): New function. + (doc-view-doc->txt, doc-view-convert-current-doc): Use it. + (doc-view-get-bounding-box): Make bounding box slicing work for + ODF and DVI documents. + +2012-09-28 Glenn Morris + + * type-break.el (type-break-mode, type-break-interval) + (type-break-good-rest-interval, type-break-keystroke-threshold): + No need to autoload. + (type-break-good-rest-interval, type-break-keystroke-threshold): + Add :set-after. + +2012-09-28 Chong Yidong + + * progmodes/verilog-mode.el (verilog-auto-inst-interfaced-ports): + Add :version tag. + +2012-09-27 Stefan Monnier + + * json.el (json-encode-char): Codes 127-160 aren't "ASCII printable". + +2012-09-27 Glenn Morris + + * faces.el (x-display-name): Declare (for without-x builds). + + * linum.el (linum-format): Don't autoload it. Improve :type. + + * progmodes/tcl.el: Don't require outline when compiling. + (outline-regexp, outline-level): Declare. + * textmodes/sgml-mode.el: Don't require outline when compiling. + (outline-regexp, outline-heading-end-regexp, outline-level): Declare. + + * term.el (term-ansi-reset): + Try setting term-ansi-face-already-done to nil. (Bug#11785) + + * vc/vc.el (vc-next-action): Only gripe about committing read-only + files for RCS and SCCS. (Bug#9781) + +2012-09-27 Chong Yidong + + * progmodes/verilog-mode.el (verilog-mode-release-emacs): Fix last + change; value should be t. + +2012-09-27 Stefan Monnier + + * image-mode.el: Use lexical-binding. + (image-mode-winprops): Use t to stand for the window of + a buffer that's not displayed. + * doc-view.el (doc-view-new-window-function): Handle the new + t in winprops. + (doc-view-enlarge): Make it a real nop if the size is not changed. + (doc-view-display): Handle the case where the buffer is not (yet?) + displayed in any window. + (doc-view-saved-settings): New var. + (doc-view-mode): Use it. + (doc-view-fallback-mode): Set it. + + * minibuf-eldef.el: Make it possible to replace (default ...) with [...]. + Set lexical-binding. + (minibuffer-eldef-shorten-default): New var. + (minibuffer-default-in-prompt-regexps): Use it for new default. + (minibuf-eldef-setup-minibuffer): Add replacement functionality. + +2012-09-26 Juanma Barranquero + + * international/uni-bidi.el: + * international/uni-category.el: + * international/uni-name.el: + * international/uni-numeric.el: Regenerate. + +2012-09-26 Tomohiro Matsuyama + Stefan Monnier + + * profiler.el: New file. + +2012-09-26 Stefan Monnier + + * emacs-lisp/testcover.el (testcover-after): Add gv-expander. + (testcover-reinstrument): Simplify with CSE. + +2012-09-26 Juanma Barranquero + + * window.el (temp-buffer-window-setup): Fix typo in docstring. + +2012-09-25 Wilson Snyder + + * verilog-mode.el (verilog-auto-ascii-enum, verilog-auto-inout) + (verilog-auto-input, verilog-auto-insert-lisp) + (verilog-auto-output, verilog-auto-output-every, verilog-auto-reg) + (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-undef) + (verilog-auto-unused, verilog-auto-wire) + (verilog-forward-or-insert-line): Fix AUTOs with no trailing + newline. Reported by Andrew Jones. + (verilog-auto-inst) Support expanding $clog2 in AUTOINST. + Reported by Brad Dobbie. + (verilog-batch-delete-trailing-whitespace): + Create verilog-batch-delete-trailing-whitespace. + Reported by Brad Dobbie. + (verilog-auto-inout-param): Support AUTOINOUTPARAM for copying + parameters from another module. Reported by Dan Katz. + (verilog-auto, verilog-auto-assign-modport) + (verilog-auto-inout-modport): Add AUTOASSIGNMODPORT and + AUTOINOUTMODPORT for UVM interface module shell generation. + Reported by Brad Dobbie. + (verilog-auto-inst-interfaced-ports): Make default nil, as more + standard behavior. + (verilog-auto): Fix AUTO parameters with parenthesis arguments. + Reported by Matt Martin. + +2012-09-25 Martin Rudalics + + * window.el (window--resize-child-windows): When resizing child + windows proportionally, process them in reverse order to + preserve the "when splitting a window the new one gets the odd + line" behavior. + (window--resize-root-window-vertically): When resizing the + minibuffer window try to affect only windows at the bottom of the + frame. (Bug#12419) + +2012-09-25 Chong Yidong + + * subr.el (declare): Doc fix. + + * help-fns.el (help-fns--obsolete): Handle macros properly. + +2012-09-25 Chong Yidong + + * bookmark.el (bookmark-jump-noselect): Use a declare form to mark + this function obsolete. + + * calendar/cal-x.el (calendar-two-frame-setup) + (calendar-only-one-frame-setup, calendar-one-frame-setup): + * calendar/calendar.el (american-calendar, european-calendar) + (calendar-for-loop): + * comint.el (comint-dynamic-simple-complete) + (comint-dynamic-complete-as-filename, comint-unquote-filename): + * desktop.el (desktop-load-default): + * dired-x.el (dired-omit-here-always) + (dired-hack-local-variables, dired-default-directory): + * emacs-lisp/derived.el (derived-mode-class): + * emacs-lisp/timer.el (timer-set-time-with-usecs): + * emacs-lock.el (toggle-emacs-lock): + * epa.el (epa-display-verify-result): + * epg.el (epg-sign-keys, epg-start-sign-keys) + (epg-passphrase-callback-function): + * eshell/esh-util.el (eshell-for): + * eshell/eshell.el (eshell-remove-from-window-buffer-names) + (eshell-add-to-window-buffer-names): + * files.el (locate-file-completion): + * imenu.el (imenu-example--create-c-index) + (imenu-example--create-lisp-index) + (imenu-example--lisp-extract-index-name) + (imenu-example--name-and-position): + * international/mule-cmds.el (princ-list): + * international/mule-diag.el (decode-codepage-char): + * international/mule-util.el (detect-coding-with-priority): + * iswitchb.el (iswitchb-read-buffer): + * mail/mailalias.el (mail-complete): + * mail/sendmail.el (mail-sent-via): + * mouse.el (mouse-popup-menubar-stuff, mouse-popup-menubar) + (mouse-major-mode-menu): + * password-cache.el (password-read-and-add): + * pcomplete.el (pcomplete-parse-comint-arguments): + * progmodes/sh-script.el (sh-maybe-here-document): + * replace.el (query-replace-regexp-eval): + * savehist.el (savehist-load): + * simple.el (choose-completion-delete-max-match): + * term.el (term-dynamic-simple-complete): + * vc/ediff-init.el (ediff-check-version): + * vc/ediff-wind.el (ediff-choose-window-setup-function-automatically): + * vc/vc.el (vc-diff-switches-list): + * view.el (view-return-to-alist-update): Likewise. + + * subr.el (eval-next-after-load, makehash, insert-string) + (assoc-ignore-representation, assoc-ignore-case): Use declare to + mark obsolete. + (mode-line-inverse-video): Variable deleted. + + * international/mule-util.el (string-to-sequence): Remove. + + * calendar/calendar.el (calendar-version): + * calendar/icalendar.el (icalendar-extract-ical-from-buffer) + (icalendar-convert-diary-to-ical): + * cus-edit.el (custom-mode): + * ansi-color.el (ansi-color-unfontify-region): + * international/latin1-disp.el (latin1-char-displayable-p): + * progmodes/cwarn.el (turn-on-cwarn-mode): + * progmodes/which-func.el (which-func-update-1): + Use define-obsolete-function-alias. + + * net/newst-backend.el (newsticker-cache-filename): + * net/newst-treeview.el (newsticker-groups-filename): + Fix incorrect obsolescence declaration. + + * allout.el (allout-passphrase-hint-string): Likewise. + (allout-init): Use a declare form to mark obsolete. + + * emacs-lisp/byte-run.el (make-obsolete): Doc fix; emphasize that + this applies to functions. + + * iswitchb.el (iswitchb-read-buffer): Move code of + iswitchb-define-mode-map here, and delete that obsolete function. + + * net/snmp-mode.el (snmp-font-lock-keywords-3): Don't use obsolete + font-lock-reference-face. + +2012-09-25 Glenn Morris + + * buff-menu.el (Buffer-menu-name-width, Buffer-menu-size-width): + Doc fixes. + + * eshell/em-term.el (eshell-term-name): + Default to term-term-name. (Bug#12485) + +2012-09-24 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-send-buffer): Better handling + of "if __name__ == '__main__':" conditionals when sending the buffer. + +2012-09-24 Glenn Morris + + * eshell/esh-cmd.el (eshell-find-alias-function): + Tighten up file-name regexp. (Bug#12499) + +2012-09-24 Fabián Ezequiel Gallina + + Enhancements for triple-quote string syntax. + * progmodes/python.el (python-quote-syntax): Remove. + (python-syntax-propertize-function): New value. + (python-syntax-count-quotes, python-syntax-stringify): + New functions. + +2012-09-24 Chong Yidong + + * mail/supercite.el (sc-version): Remove obsolete function. + (sc-describe): Don't mark as obsolete, since it is bound. + (sc-submit-bug-report): Remove. + + * vc/log-edit.el (cvs-changelog-full-paragraphs) + (cvs-commit-buffer-require-final-newline): Remove. + (log-edit-require-final-newline) + (log-edit-changelog-full-paragraphs): Default to t. + + * vc/pcvs-defs.el (cvs-diff-buffer-name, cvs-diff-ignore-marks) + * vc/vc-hooks.el (vc-ignore-vc-files, vc-master-templates) + * vc/vc.el (vc-checkout-carefully): Likewise. + + * vc/emerge.el (emerge-mode): Make it an obsolete alias. + (emerge-version): Remove. + + * progmodes/compile.el (compile-internal): Remove. + (compilation-parse-errors-function): Fix typo. + + * international/mule.el (set-char-table-default): Remove. + (set-coding-priority, make-coding-system, generic-char-p) + (charset-list, charset-bytes, charset-id): Use declare to mark + functions as obsolete. + + * vc/pcvs-defs.el (cvs-buffer-name-alist) + (cvs-invert-ignore-marks): Remove references to obsolete vars. + * vc/vc-hooks.el (vc-default-registered): Don't use + vc-master-templates. + + * font-lock.el (font-lock-reference-face): + Use define-obsolete-variable-alias. + + * generic-x.el (rul-generic-mode): Use font-lock-constant-face. + * calendar/calendar.el (calendar-font-lock-keywords): + * calendar/diary-lib.el (diary-font-lock-keywords) + (diary-fancy-font-lock-keywords): + * textmodes/reftex-sel.el (reftex-insert-docstruct): + * textmodes/reftex-index.el (reftex-insert-index): + * textmodes/reftex-cite.el (reftex-format-bib-entry): + * progmodes/ruby-mode.el (ruby-font-lock-keywords): + * progmodes/ps-mode.el (ps-mode-font-lock-keywords-1): + * progmodes/prolog.el (prolog-font-lock-keywords): + * progmodes/idlwave.el (idlwave-idl-keywords): + * progmodes/ada-mode.el (ada-font-lock-keywords): + * net/snmp-mode.el (snmp-font-lock-keywords-3): Likewise. + +2012-09-24 Glenn Morris + + * mail/emacsbug.el (report-emacs-bug): Include `lsb_release -d'. + +2012-09-23 Fabián Ezequiel Gallina + + * progmodes/python.el (python-indent-line): More consistent cursor + movement behavior. + +2012-09-23 Stefan Merten + + * textmodes/rst.el: Fix compiler warning. + +2012-09-23 Roland Winkler + + * textmodes/bibtex.el (bibtex-autokey-transcriptions): + Transcribe also LaTeX hyphenation. + (bibtex-reformat): Bug fix. Do not quote twice the elements of + bibtex-reformat-previous-options. + +2012-09-23 Roland Winkler + + * proced.el (proced-renice-command): New variable. + (proced-marked-processes): New function. + (proced-with-processes-buffer): New macro. + (proced-send-signal): Use them. + (proced-renice): New command bound to r. + +2012-09-23 Roland Winkler + + * ibuf-ext.el (ibuffer-switch-to-saved-filter-groups): If list + ibuffer-saved-filter-groups has one element, shortcut the call of + completing-read. (Bug#12331) + +2012-09-23 Chong Yidong + + * bindings.el (mode-line-toggle-read-only): + * bs.el (bs-toggle-readonly): + * buff-menu.el (Buffer-menu-toggle-read-only): + * dired.el (dired-toggle-read-only): + * ibuffer.el (ibuffer-do-toggle-read-only): Use read-only-mode. + +2012-09-23 Chong Yidong + + * image.el (image-type-available-p): Adapt to init-image-library + argument changes. + +2012-09-22 Juri Linkov + + * dired.el (dired-mode-map): Add [remap read-only-mode] for + `dired-toggle-read-only'. (Bug#12462) + +2012-09-22 Martin Rudalics + + * subr.el (temp-output-buffer-show): New function. + (with-output-to-temp-buffer): Call temp-output-buffer-show + instead of internal-temp-output-buffer-show. + +2012-09-22 Chong Yidong + + * files.el (ctl-x-map): Bind C-x C-q to read-only-mode + (Bug#12462). + + * repeat.el (repeat): Doc fix (Bug#12348). + + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix + (Bug#10909). + + * simple.el (shell-command-on-region): Doc fix. + (read-only-mode): Doc fix. + +2012-09-22 Eli Zaretskii + + * emacs-lisp/timer.el (run-with-idle-timer) + (timer-activate-when-idle): Warn against reinvoking an idle timer + from within its own timer action. (Bug#12447) + +2012-09-22 Martin Rudalics + + * cus-start.el (window-combination-limit): Add new optional + values. + * window.el (temp-buffer-window-show) + (window--try-to-split-window): Handle new values of + window-combination-limit (Bug#1806). + (split-window): Test window-combination-limit for t instead of + non-nil. + (display-buffer-at-bottom): New buffer display action function. + * help.el (temp-buffer-resize-regexps): New option. + (temp-buffer-resize-mode): Rewrite doc-string. + (resize-temp-buffer-window): Obey temp-buffer-resize-regexps. + Don't resize reused window. Suggested by Glenn Morris. + +2012-09-22 Stefan Merten + + * textmodes/rst.el: Revamp section title faces. + (rst-official-version) + (rst-package-emacs-version-alist): Sync with official version + V1.4.0. + (rst-faces-defaults, rst-set-level-default) + (rst-level-face-max, rst-level-face-base-color) + (rst-level-face-base-light, rst-level-face-format-light) + (rst-level-face-step-light, rst-define-level-faces): Obsolete. + (rst-adornment-faces-alist): Match new setup. + (rst-level-1, rst-level-2, rst-level-3, rst-level-4) + (rst-level-5, rst-level-6): New faces. + +2012-09-22 Chong Yidong + + * simple.el (undo): Handle indirect buffers (Bug#8207). + +2012-09-21 Leo Liu + + IDO: Disable match re-ordering for buffer switching. + * ido.el (ido-buffer-disable-smart-matches): New variable. + (ido-set-matches-1): Use it. (Bug#2042) + +2012-09-21 Jose Marino (tiny change) + + * progmodes/idlw-shell.el (idlwave-shell-complete-filename): + Fix 2011-05-17 change. (Bug#12418) + +2012-09-21 Leo Liu + + * subr.el (ignore-errors): Mention with-demoted-errors in doc-string. + +2012-09-21 Glenn Morris + + * emacs-lisp/shadow.el (load-path-shadows-font-lock-keywords): + Be more robust about locating simple.el. + +2012-09-21 Glenn Morris + + * mail/emacsbug.el (report-emacs-bug): Trap load-path-shadows errors. + +2012-09-21 Joel Bion (tiny change) + + * pcmpl-gnu.el (pcmpl-gnu-tarfile-regexp): Add tar.xz. (Bug#12382) + +2012-09-20 Juri Linkov + + * replace.el (query-replace-read-from): Use `read-regexp' instead + of `read-from-minibuffer' when `regexp-flag' is non-nil. + (occur-read-primary-args): Use `read-regexp' instead of + `read-string'. + (multi-occur-in-matching-buffers): Use `read-regexp' instead of + `read-from-minibuffer'. + * isearch.el (isearch-occur): Use `read-regexp' instead of + `read-string'. + * dired.el (dired-read-regexp): Use `read-regexp' instead of + `read-from-minibuffer'. + * progmodes/grep.el (grep-read-regexp): Use `read-regexp' instead + of `read-string'. (Bug#7567) + + * replace.el (read-regexp): Rename DEFAULT-VALUE arg to DEFAULTS + and allow accepting a list of strings prepended to a list of + standard default values. Doc fix. (Bug#12321) + + * replace.el (read-regexp): Add HISTORY arg. (Bug#7567) + + * replace.el (read-regexp): Don't add ": " when PROMPT already + ends with a colon and space. (Bug#12321) + +2012-09-20 Tassilo Horn + + * doc-view.el (doc-view-display): Better fix for the cl-assertion + error. + +2012-09-20 Stefan Merten + + * textmodes/rst.el: Integrate support for `imenu' and `which-function'. + Fixes feature request bug#11711. + (rst-mode): Create `imenu-create-index-function'. + (rst-get-stripped-line): Delete after refactoring. + (rst-section-tree, rst-section-tree-rec) + (rst-section-tree-point): Refactor and document properly. + (rst-imenu-find-adornments-for-position) + (rst-imenu-convert-cell, rst-imenu-create-index): + New function. + +2012-09-20 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexp--obsolete-warning): New function. + (macroexp--expand-all): Use it. + (macroexp--funcall-and-return): Remove by folding it into its sole + caller (macroexp--warn-and-return). + * emacs-lisp/bytecomp.el (byte-compile-warn-obsolete): + Use macroexp--obsolete-warning. + + * calc/calc.el: Fix last change by removing the whole chunk, since it + was only needed back when Calc was not bundled. + +2012-09-20 Martin Rudalics + + * emacs-lisp/debug.el (debug): Restore assignment to + debugger-old-buffer removed on 2012-09-08. + +2012-09-20 Juri Linkov + + * dired-aux.el (dired-diff): Remove (require 'diff) since + `diff-latest-backup-file' is now autoloaded. + +2012-09-20 Chong Yidong + + * vc/diff.el (diff-latest-backup-file): Autoload. + +2012-09-20 Stefan Monnier + + * calc/calc.el: Remove redundant autoload shape check. + (sel-mode): Don't defvar. + (calc-get-stack-element): Add `sel-mode' arg instead. + (calc-top, calc-top-list): Pass it this additional argument. + * calc/calc-store.el (calc-store-map): + * calc/calc-map.el (calc-apply, calc-reduce, calc-map) + (calc-map-equation, calc-outer-product, calc-inner-product): + * calc/calc-aent.el (calc-alg-entry): Don't bind sel-mode. + + * emacs-lisp/macroexp.el (macroexp--expand-all): Fix last change. + +2012-09-19 Juri Linkov + + * dired-aux.el (dired-diff): Add (require 'diff) because + `diff-latest-backup-file' is not autoloaded. + (dired-do-chxxx, dired-do-chmod): Set `no-error-if-not-filep' arg + of `dired-get-filename' to t to not report error when there is + no default file on the current line. + +2012-09-19 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexp--funcall-if-compiled): Rename from + macroexp--eval-if-compile. + (macroexp--funcall-and-return, macroexp--warn-and-return): New funs. + (macroexp--expand-all): Use them (bug#12371). + + * doc-view.el (doc-view-guess-paper-size) + (doc-view-scale-bounding-box): Fix unbound `caddr'. + +2012-09-19 Tassilo Horn + + New feature: set optimal slice from BoundingBox information. + * doc-view.el (doc-view-mode-map): Add keybinding. + (doc-view-menu): Add menu entry. + (doc-view-set-slice): Adapt docstring. + (doc-view-get-bounding-box, doc-view-guess-paper-size) + (doc-view-scale-bounding-box) + (doc-view-set-slice-from-bounding-box): New functions. + (doc-view-paper-sizes): New defvar. + +2012-09-19 Glenn Morris + + * emacs-lisp/macroexp.el (byte-compile-warn-obsolete) + (byte-compile-log-warning): Autoload. (Bug#12371) + + * calendar/calendar.el (calendar-american-month-header) + (calendar-european-month-header, calendar-iso-month-header) + (calendar-month-header): New options. + (calendar-set-date-style): Set calendar-month-header. Redraw calendar. + (calendar-generate-month): Use calendar-month-header. (Bug#9510) + +2012-09-19 Jan Djärv + + * startup.el (command-line-ns-option-alist): Add -g and --geometry. + +2012-09-18 Juri Linkov + + * dired-aux.el (dired-diff): Restore original functionality of + getting the default value, but keep new feature of using the + latest existing backup file (`diff-latest-backup-file'). + +2012-09-18 Juri Linkov + + * dired.el (dired-mark): If the region is active in Transient Mark + mode, mark all files in the active region. Doc fix. + (dired-unmark, dired-flag-file-deletion, dired-unmark-backward): + Doc fix. (Bug#10624) + +2012-09-18 Juri Linkov + + * dired-aux.el (dired-do-chxxx, dired-do-chmod): Default file + attributes for M-n are pulled from the file at point. + (dired-do-chgrp, dired-do-chown, dired-do-touch): Doc fix. + Suggested by Drew Adams. (Bug#10624) + +2012-09-18 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-brace-to-do-end): Don't add extra + whitespace after "end". + (ruby-do-end-to-brace): Collapse block to one line if it fits + within fill-column. + +2012-09-18 Martin Rudalics + + * emacs-lisp/debug.el (debugger-bury-or-kill): Fix customization + value. + (debug): Don't remove debugger window when debugger is expected + to be back. + +2012-09-18 Chong Yidong + + * custom.el (defface): Doc fix. + + * cus-edit.el (custom-unlispify-remove-prefixes): Add warning. + +2012-09-18 Martin Blais (tiny change) + + * progmodes/compile.el (compilation-start): Use compilation-always-kill + to initialize query-on-exit; then test that instead (bug#12288). + +2012-09-17 Stefan Merten + + * textmodes/rst.el: Add support for `testcover'. + (rst-defcustom-testcover, rst-testcover-add-compose) + (rst-testcover-add-1value): New functions. + (rst-portable-mark-active-p): Replace by `use-region-p'. + (rst-update-section, rst-classify-adornment) + (rst-find-title-line): Mark `1value' forms. + (rst-classify-adornment): Remove superfluous form. + (rst-update-section, rst-get-adornments-around) + (rst-adornment-complete-p, rst-get-next-adornment) + (rst-adjust, rst-promote-region) + (rst-display-adornments-hierarchy, rst-straighten-adornments) + (rst-find-pfx-in-region, rst-section-tree-rec) + (rst-section-tree-point, rst-toc-insert, rst-toc-insert-node) + (rst-toc-node, rst-toc, rst-forward-section) + (rst-iterate-leftmost-paragraphs) + (rst-iterate-leftmost-paragraphs-2, rst-enumerate-region) + (rst-bullet-list-region) + (rst-convert-bullets-to-enumeration, rst-font-lock-keywords) + (rst-compile-find-conf, rst-compile) + (rst-repeat-last-character): Fix style. + +2012-09-17 Chong Yidong + + * comint.el (comint--complete-file-name-data): Don't add a space + if the status is `sole'; that adds a gratuitous space in the + completion-cycling case (Bug#12092). + + * pcomplete.el (pcomplete-completions-at-point): Likewise. + +2012-09-17 Richard Stallman + + * mail/rmailmm.el (rmail-mime-toggle-raw): Do rmail-mime-insert + only in the mime-shown mode, not in raw mode. + (rmail-mime): Toggle off mime by displaying the message without + mime processing. (Bug#12305) + + * mail/rmail.el (rmail-retry-failure): + Turn off mime processing first. (Bug#12037) + + * epa-mail.el (epa-mail-encrypt): Fix bug when a name has no key. + +2012-09-17 Chong Yidong + + * shell.el (shell-file-name-chars, shell-file-name-quote-list) + (shell-dynamic-complete-functions): Convert to defcustom. + (shell-prompt-pattern, shell-completion-fignore): Doc fix. + + * bookmark.el (bookmark-bmenu-toggle-filenames): Doc fixes. + * comint.el (comint-prompt-read-only): + * custom.el (defcustom): + * hi-lock.el (hi-lock-mode): + * ibuffer.el (ibuffer-formats): + * ielm.el (ielm-prompt-read-only): + * novice.el (disable-command): + * saveplace.el (toggle-save-place): + * speedbar.el (speedbar-supported-extension-expressions): + * startup.el (auto-save-list-file-prefix, init-file-user) + (after-init-hook, inhibit-startup-echo-area-message): + * strokes.el (strokes-help): + * time-stamp.el (time-stamp): + * calendar/calendar.el (calendar, diary-file): + * calendar/diary-lib.el (diary-mail-entries, diary) + (diary-list-entries-hook): + * calendar/holidays.el (holidays, calendar-holidays): + * calendar/lunar.el (lunar-phases): + * calendar/solar.el (sunrise-sunset): + * emulation/edt.el (edt-load-keys): + * emulation/viper.el (viper-mode): + * eshell/em-alias.el (eshell-command-aliases-list): + * eshell/esh-util.el (eshell-convert-numeric-arguments): + * international/ogonek.el (ogonek-information): + * net/tramp-cmds.el (tramp-bug): + * net/quickurl.el (quickurl-reread-hook-postfix): + * play/decipher.el (decipher-font-lock-keywords): + * progmodes/cc-styles.el (c-set-style): + * progmodes/idlw-shell.el (idlwave-shell-prompt-pattern): + * progmodes/inf-lisp.el (inferior-lisp-prompt): + * progmodes/octave-mod.el (octave-mode): + * progmodes/sql.el (sql-mode, sql-interactive-mode, sql-password): + * progmodes/verilog-mode.el (verilog-read-defines): + * textmodes/two-column.el (2C-mode): Likewise. + +2012-09-16 Katsumi Yamaoka + + * mail/mailabbrev.el (mail-abbrev-expand-hook): Work for a mail aliasee + that holds many addresses. + +2012-09-16 Chong Yidong + + * align.el (align-areas): Call the indication function with + positions instead of markers for arguments (Bug#12343). + + * files.el (parse-colon-path): Use split-string (Bug#12351). + + * window.el (special-display-popup-frame): Doc fix (Bug#8853). + (display-buffer-function): Mark as obsolete. + + * progmodes/compile.el (compilation-parse-errors): Accept list + values similar to font-lock-keywords (Bug#12136). + Suggested by Oleksandr Manzyuk. + (compilation-error-regexp-alist): Doc fix. + +2012-09-15 Glenn Morris + + * version.el (emacs-bzr-version-bzr): New function. + (emacs-bzr-get-version): Add optional EXTERNAL argument. + + * vc/vc-bzr.el (vc-bzr-working-revision): For lightweight local + checkouts, check the parent dirstate matches the branch. + Add "--tree" to "bzr revno" arguments. Don't try to shorten the + empty string. + + * version.el (emacs-bzr-version): Doc fix. + (emacs-bzr-version-dirstate): New function. + (emacs-bzr-get-version): For lightweight checkouts, if the parent + is local try and check that it matches the branch. If not, just + use dirstate information. (Bug#12441) + +2012-09-14 Juri Linkov + + * dired-aux.el (dired-do-chmod): Use `eq' to detect empty input. + (Bug#12399) + +2012-09-14 Stefan Monnier + + * emacs-lisp/advice.el (ad-prognify): Remove, use macroexp-progn. + + * emacs-lisp/edebug.el: Miscellaneous cleanup. + Remove obsolete byte-compiler hack that tried to silence some warnings. + (edebug-submit-bug-report): Remove. + (edebug-get-buffer-window, edebug-sit-for, edebug-input-pending-p): + Remove aliases, use the un-prefixed name instead. + (edebug-pop-to-buffer): Consider other frames. + (edebug-original-read):: Make it more obvious that it's always defined. + (edebug--make-form-data-entry, edebug--form-data-name) + (edebug--form-data-begin, edebug--form-data-end): Rename from the + single-dashed name, and implement with cl-defstruct. + (edebug-set-form-data-entry): Use the standard accessors. + (edebug-make-top-form-data-entry): Use push. + (edebug-no-match): Drop useless `funcall'. + (mapcar, mapconcat, mapatoms, apply, funcall): Don't add debug specs + to functions. + (defsubst, dont-compile, eval-when-compile, eval-and-compile) + (delay-mode-hooks, with-temp-file, with-temp-message, ad-dolist) + (with-syntax-table, push, pop, 1value, noreturn, defadvice) + (easy-menu-define, with-custom-print): Remove redundant specs. + (edebug-outside-overriding-local-map) + (edebug-outside-overriding-terminal-local-map): Remove, unused. + (edebug--display): Bind unread-command-events directly to nil rather + than binding it to unread-command-events and later setting it to nil. + (edebug--display): Kill edebug-eval-buffer here... + (edebug--recursive-edit): ...rather than here. + Bind standard-output and standard-input. + (edebug-eval): Check cl-macroexpand-all is fboundp. + (edebug-temp-display-freq-count): Fix last change. + + * emacs-lisp/easymenu.el (easy-menu-define): Add `debug' spec. + * subr.el (noreturn, 1value): Add `debug' spec. + * emacs-lisp/advice.el: Require cl-lib. + (ad-copy-tree): Remove, use copy-tree instead. + (ad-dolist): Remove use dolist or cl-dolist instead. + (ad-do-return): Remove, use cl-return instead. + (defadvice): Add `debug' spec. + +2012-09-13 Juri Linkov + + * dired-aux.el (dired-do-chxxx): Use `eq' to detect empty input. + (Bug#12399) + +2012-09-13 Glenn Morris + + * calc/calc.el (math-compose-expr): + * calc/calc-ext.el (math-compose-expr): + * progmodes/cc-defs.el (cl-macroexpand-all): + * progmodes/cc-langs.el (delete-duplicates, mapcan) + (cl-macroexpand-all): Update declarations. + + * vc/vc.el: No need to require ediff. + (ediff-load-version-control): Declare. + (ediff-vc-internal): Fix declaration. + (vc-version-ediff): Require ediff. + +2012-09-13 Paul Eggert + + Use a more backwards-compatible timer format (Bug#12430). + * emacs-lisp/timer.el (timer): PSECS is now at the end, rather than + being right after USECS, as that better supports old code that + inadvisedly looked directly at the timer vector. + +2012-09-13 Kenichi Handa + + * language/chinese.el ("Chinese-GB", "Chinese-BIG5") + ("Chinese-CNS", "Chinese-EUC-TW"): Add chinese-gbk to + `coding-priority' property of these language environment. + +2012-09-13 Paul Eggert + + Fix glitches caused by addition of psec to timers (Bug#12430). + * image.el (image-animate-timer): + * time.el (display-time-world-timer): + Use timer--function and timer--args rather than raw access to + timer vector. + +2012-09-13 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-compile-warning-prefix): + If not compiling a file, try using load-file-name. + +2012-09-13 Stefan Monnier + + * emacs-lisp/edebug.el (edebug-outside-unread-command-events): + Fix last change. + (edebug-update-eval-list): Use `push'. + + * emacs-lisp/edebug.el: Use lexical-binding. + Remove the "edebug-" prefix from non-dynamically-scoped variables. + Mark unused args with underscore. + (edebug-save-restriction, edebug-outside-excursion): Use `declare'. + (edebug-form-data): Use defvar-local. + (edebug-make-before-and-after-form, edebug-make-after-form): + Use backquote. + (edebug-args, edebug-value, edebug-after-index, edebug-arg-mode): + Not dynamically scoped any more. + (edebug--enter-trace): Add arguments `function' and `args'. + Rename from edebug-enter-trace. + (edebug-enter): Call it accordingly. Bind edebug-function explicitly. + (edebug--update-coverage): Add `after-index' and `value' args. + Rename from edebug-update-coverage. + (edebug-slow-after): Call it accordingly. + (edebug--recursive-edit): Add arg `arg-mode'. Rename from + edebug-recursive-edit. + (edebug--display): Call it accordingly. Add args `value', + `offset-index', and `arg-mode'. Rename from edebug-display. + (edebug-debugger, edebug): Call it accordingly. + (edebug-eval-display-list): Use dolist. + +2012-09-12 Juri Linkov + + * info.el (Info-search): Don't check for isearch-mode and + isearch-regexp before let-binding search-spaces-regexp to + Info-search-whitespace-regexp. + (Info-isearch-search): Let-bind Info-search-whitespace-regexp to + search-whitespace-regexp if isearch-lax-whitespace or + isearch-regexp-lax-whitespace is non-nil. + (Info-mode): Don't set local variable search-whitespace-regexp. + http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00811.html + +2012-09-12 Stefan Monnier + + * emacs-lisp/debug.el (debugger-outer-unread-command-char, debug) + (debugger-env-macro): Remove support for unread-command-char. + + * subr.el (set-temporary-overlay-map): Minimize slightly the impact of + the temporary map re-appearing on emulation-mode-map-alists. + + * emacs-lisp/edebug.el (def-edebug-form-spec): Remove, it's been broken + since 22.1. + + * ehelp.el (with-electric-help): Accept functions in + electric-help-form-to-execute. + (electric-help-execute-extended, electric-help-ctrl-x-prefix): Use it. + And replace unread-command-char -> unread-command-events. + +2012-09-12 Michael Albinus + + Sync with Tramp 2.2.6. + + * net/tramp.el (tramp-accept-process-output): Don't use + JUST-THIS-ONE in the XEmacs case. + + * net/trampver.el: Update release number. + +2012-09-12 Martin Rudalics + + * emacs-lisp/debug.el (debugger-previous-window-height): + New variable. + (debug): When debugger-jumping-flag is non-nil try to restore + height of debugger window. (Bug#8789) + +2012-09-12 Stefan Monnier + + * emacs-lisp/edebug.el (edebug-enter): Don't mess with + overriding-local-map and pre/post-command-hook here. + (edebug-recursive-edit): Do it here instead (bug#12345). + (edebug-outside-unread-command-char): Remove all uses of + unread-command-char. + + * emacs-lisp/debug.el (debug): Don't bind debug-on-error since + inhibit-debugger is bound instead. + +2012-09-11 Bastien Guerry + + * subr.el (set-temporary-overlay-map): Add a docstring. + (Bug#12346) + +2012-09-11 Bastien Guerry + + * minibuffer.el (completion-table-subvert): Fix docstring. + (Bug#12347) + +2012-09-11 Bastien Guerry + + * help-fns.el (describe-variable): Fix typo. (Bug#12346) + +2012-09-10 Michael R. Mauger + + * progmodes/sql.el: Version 3.1 + (sql-db2-escape-newlines): New variable. + (sql-escape-newlines-filter): Use it. + +2012-09-10 Juanma Barranquero + + * custom.el (custom-theme-load-confirm): Remove unneeded assignment. + +2012-09-10 Dan Nicolaescu + + * vc/diff-mode.el (diff-mode-menu): + Bind diff-remove-trailing-whitespace. + +2012-09-10 Stefan Monnier + + * emacs-lisp/lisp-mode.el (emacs-list-byte-code-comment-re): New var. + (emacs-lisp-byte-code-comment, emacs-lisp-byte-code-syntax-propertize) + (emacs-lisp-byte-code-mode): New functions. + (eval-sexp-add-defvars): Don't skip defvars in column >0. + (eval-defun-2): Remove bogus interactive spec. + (lisp-indent-line): Remove redundant whole-exp code, now done in + indent-according-to-mode. + (save-match-data): Remove redundant indent data. + + * emacs-lisp/benchmark.el (benchmark-run, benchmark-run-compiled): + Use `declare'. + +2012-09-09 Juri Linkov + + * replace.el (replace-regexp-lax-whitespace): New defcustom. + (replace-lax-whitespace, query-replace-regexp) + (query-replace-regexp-eval, replace-regexp): Doc fix. + (perform-replace, replace-highlight): Let-bind + isearch-lax-whitespace to replace-lax-whitespace and + isearch-regexp-lax-whitespace to replace-regexp-lax-whitespace. + + * isearch.el (isearch-query-replace): Let-bind + replace-lax-whitespace to isearch-lax-whitespace and + replace-regexp-lax-whitespace to + isearch-regexp-lax-whitespace. (Bug#10885) + +2012-09-09 Stefan Monnier + + * eshell/em-unix.el (eshell/sudo): Explicitly drop return value. + +2012-09-09 Alan Mackenzie + + * progmodes/cc-engine.el (c-state-cache-init): + Initialise c-state-semi-nonlit-pos-cache\(-limit\)? properly. + (c-record-parse-state-state): + Record c-state-semi-nonlit-pos-cache\(-limit\)?. + +2012-09-09 Andreas Schwab + + * register.el (register-separator): Rename from + separator-register. All uses changed. Doc fix. + (register): Fix version. + +2012-09-09 Chong Yidong + + * replace.el (query-replace-map): Bind four new symbols for + requesting window scrolling. + + * subr.el (y-or-n-p): Handle the window-scrolling bindings in + query-replace-map (Bug#8948). + + * custom.el (custom-theme-load-confirm): Use y-or-n-p. + + * emacs-lisp/map-ynp.el (map-y-or-n-p): Don't bind scrolling keys + since they are now in query-replace-map. + + * window.el (scroll-other-window-down): Make the arg optional. + +2012-09-09 Chong Yidong + + * files.el (hack-local-variables-confirm): Use quit-window to kill + the *Local Variables* buffer. + +2012-09-08 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-toggle-block): Guess the current block, + not just expect to be at its beginning. Adjust callees. + Succeed when do-end block has no space before the pipe character. + (ruby-brace-to-do-end): When the original block is one-liner, + convert to multiline. Reindent the result. + +2012-09-08 Jambunathan K + + * register.el (register): New group. + (separator-register): New user option. + (increment-register): Route it to `append-to-register', if + register contains text. Implication is that `C-x r +' can now be + used for appending to a text register (bug#12217). + (append-to-register, prepend-to-register): Add separator based on + `separator-register'. + +2012-09-08 Alan Mackenzie + + AWK Mode: make auto-newline work when there's "==" in the pattern. + * progmodes/cc-cmds.el (c-point-syntax): Handle virtual semicolons + correctly. + * progmodes/cc-engine.el (c-guess-basic-syntax CASE 5A.3): + Test more rigorously for "=" token. + +2012-09-08 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-match-expression-expansion): + Only fail when reached LIMIT. + +2012-09-08 Chong Yidong + + * dired.el (dired-mode-map): Don't bind M-=. + + * dired-aux.el (dired-diff): Use backup file as default. + +2012-09-08 Drew Adams + + * subr.el (add-to-history): Fix delete usage (Bug#12314). + +2012-09-08 Chong Yidong + + * subr.el (syntax-after, syntax-class): Doc fix. + +2012-09-08 Martin Rudalics + + * window.el (display-buffer-in-previous-window): New buffer + display action function. + + * emacs-lisp/debug.el (debugger-bury-or-kill): New option. + (debugger-previous-window): New variable. + (debug): Rewrite using display-buffer-in-previous-window, + quit-restore-window and debugger-bury-or-kill. (Bug#8789) + +2012-09-07 Stefan Monnier + + * emacs-lisp/byte-run.el (defun): Tweak message. Simplify code. + +2012-09-07 Matt McClure (tiny change) + + * progmodes/python.el (python-shell-send-string): + When default-directory is remote, create temp file on remote + filesystem. + (python-shell-send-file): When file is remote, pass local view of + file paths to remote Python interpreter. (Bug#12340) + +2012-09-07 Chong Yidong + + * window.el (switch-to-buffer): Doc fix (Bug#12181). + + * files.el (after-find-file): Don't fail on a read-only buffer if + require-final-newline is `visit' or `visit-save' (Bug#11156). + + * subr.el (read-char-choice): Allow quitting via ESC ESC. + + * userlock.el (ask-user-about-supersession-threat): + Use read-char-choice (Bug#12093). + +2012-09-07 Chong Yidong + + * subr.el (buffer-narrowed-p): New function. + + * ses.el (ses-widen): + * simple.el (count-words--buffer-message): + * net/browse-url.el (browse-url-of-buffer): Use it. + + * simple.el (count-words-region): Don't signal an error if there + is a non-nil prefix arg and the mark is not set. + + * help.el (describe-key-briefly): Allow the message to be seen + when invoked from the minibuffer (Bug#7014). + +2012-09-07 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-end-of-defun) + (ruby-beginning-of-defun): Simplify, allow indentation before + block beginning and end keywords. + (ruby-beginning-of-defun): Only consider 3 keywords defun beginners. + (ruby-end-of-defun): Expect that the point is at the beginning of + the defun. + +2012-09-06 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl--do-arglist): Understand _ on &key args + (bug#12367). + (cl--make-usage-args): Strip _ from argument names. + +2012-09-06 Rüdiger Sonderfeld + + * progmodes/vhdl-mode.el (vhdl-speedbar-initialize): Don't use + obsolete alias speedbar-key-map. + (vhdl-doc-variable, vhdl-doc-mode): Use called-interactively-p. + (vhdl-index-menu-init): Don't use obsolete variable + font-lock-maximum-size. + +2012-09-06 Chong Yidong + + * frame.el (window-system-version): Mark as obsolete. + + * speedbar.el (speedbar-update-flag, speedbar-mode): Remove uses + of obsolete variable speedbar-key-map. + +2012-09-06 Juri Linkov + + * replace.el (replace-lax-whitespace): New defcustom. + (query-replace, query-replace-regexp, query-replace-regexp-eval) + (replace-string, replace-regexp): Mention it in docstrings. + (perform-replace, replace-highlight): Let-bind + isearch-lax-whitespace and isearch-regexp-lax-whitespace according + to the values of replace-lax-whitespace and regexp-flag. + Don't let-bind search-whitespace-regexp. (Bug#10885) + + * isearch.el (isearch-query-replace): Let-bind + replace-lax-whitespace instead of let-binding + replace-search-function and replace-re-search-function. + (isearch-lazy-highlight-search): Let-bind isearch-lax-whitespace + and isearch-regexp-lax-whitespace to lazy-highlight variables. + (isearch-toggle-symbol): Set isearch-regexp to nil + in isearch-word mode (like in isearch-toggle-word). + +2012-09-06 Juri Linkov + + * replace.el (replace-search-function) + (replace-re-search-function): Set default values to nil. + (perform-replace): Let-bind isearch-related variables based on + replace-related values, call `isearch-search-fun' and let-bind + the result to `search-function'. Remove code that sets + `search-function' and `search-string' separately for + `delimited-flag'. + (replace-highlight): Add new argument `delimited-flag' and + rename other arguments to the names used in `perform-replace'. + Let-bind `isearch-word' to the argument `delimited-flag'. + (Bug#10885, bug#10887) + +2012-09-07 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-indent-beg-re): Add pieces from + ruby-beginning-of-indent, simplify, allow all keywords to have + indentation before them. + (ruby-beginning-of-indent): Adjust for above. Search until the + found point is not inside a string or comment. + (ruby-font-lock-keywords): Allow symbols to start with "@" + character, give them higher priority than variables. + (ruby-syntax-propertize-function) + (ruby-font-lock-syntactic-keywords): Remove the "not comments" + matchers. Expression expansions are not comments when inside a + string, and there comment syntax status is irrelevant. + (ruby-match-expression-expansion): New function. Check that + expression expansion is inside a string, and it's not escaped. + (ruby-font-lock-keywords): Use it. + +2012-09-05 Martin Rudalics + + * help.el (temp-buffer-max-height): New default value. + (temp-buffer-resize-frames): New option. + (resize-temp-buffer-window): Optionally resize frame. + + * window.el (fit-frame-to-buffer-bottom-margin): New option. + (fit-frame-to-buffer): New function. + +2012-09-05 Glenn Morris + + * emulation/cua-rect.el (cua--init-rectangles): + * textmodes/picture.el (picture-mode-map): + * play/blackbox.el (blackbox-mode-map): Remap right-char and left-char + like forward-char and backward-char. (Bug#12317) + +2012-09-05 Leo Liu + + * progmodes/flymake.el (flymake-warning-re): New variable. + (flymake-parse-line): Use it. + +2012-09-05 Glenn Morris + + * calendar/holidays.el (holiday-christian-holidays): + Rename an entry. (Bug#12289) + +2012-09-05 Stefan Monnier + + * progmodes/sh-script.el (sh-font-lock-paren): Don't burp at BOB + (bug#12222). + +2012-09-04 Stefan Monnier + + * loadup.el: Load macroexp. Remove hack. + * emacs-lisp/macroexp.el (macroexp--eval-if-compile): New function. + (macroexp--expand-all): Use it to get better warnings. + (macroexp--backtrace, macroexp--trim-backtrace-frame) + (internal-macroexpand-for-load): New functions. + (macroexp--pending-eager-loads): New var. + (emacs-startup-hook): New hack to replace one in loadup.el. + * emacs-lisp/cl-macs.el (cl--compiler-macro-list*) + (cl--compiler-macro-cXXr): Move to top, before they can be used. + (cl-psetf): Simplify. + (cl-defstruct): Add indent rule. + +2012-09-04 Lars Ingebrigtsen + + * mail/smtpmail.el (smtpmail-send-it): Prefer the From: header + over `user-mail-address' for the SMTP MAIL FROM envelope. + (smtpmail-via-smtp): Ditto. + +2012-09-04 Dmitry Gutov + + * progmodes/ruby-mode.el: Clean up keybindings. + (ruby-mode-map): Don't bind ruby-electric-brace, + ruby-beginning-of-defun, ruby-end-of-defun, ruby-mark-defun, + backward-kill-word, reindent-then-newline-and-indent. + (ruby-mark-defun): Remove. + (ruby-electric-brace): Remove. Obsoleted by electric-indent-chars. + (ruby-mode): Set local beginning-of-defun-function and + end-of-defun-function values. + +2012-09-03 Martin Rudalics + + * window.el (temp-buffer-window-setup-hook) + (temp-buffer-window-show-hook): New hooks. + (temp-buffer-window-setup, temp-buffer-window-show) + (with-temp-buffer-window): New functions. + (fit-window-to-buffer): Remove unused optional argument OVERRIDE. + (special-display-popup-frame): Make sure the window used shows BUFFER. + + * help.el (temp-buffer-resize-mode): Fix doc-string. + (resize-temp-buffer-window): New optional argument WINDOW. + + * files.el (recover-file, save-buffers-kill-emacs): + * dired.el (dired-mark-pop-up): Use with-temp-buffer-window. + +2012-09-02 Michael Albinus + + * eshell/em-unix.el (eshell/sudo): When we have an ad-hoc + remote definition of `default-directory', ensure we can connect. + +2012-09-02 Juri Linkov + + Toggle whitespace matching mode with M-s SPC. + http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00008.html + + * isearch.el (search-whitespace-regexp): Doc fix. + Remove cons cell customization. + (isearch-mode-map): Bind "\M-s " to isearch-toggle-lax-whitespace. + (isearch-lax-whitespace, isearch-regexp-lax-whitespace): + New variables. + (isearch-forward, isearch-forward-regexp): Doc fix. + (isearch-toggle-lax-whitespace): New command. + (search-forward-lax-whitespace, search-backward-lax-whitespace) + (re-search-forward-lax-whitespace) + (re-search-backward-lax-whitespace): New functions. + (isearch-whitespace-regexp): Remove function. + (isearch-query-replace): Let-bind replace-search-function and + replace-re-search-function. + (isearch-occur): Let-bind search-spaces-regexp according to the + value of isearch-lax-whitespace and isearch-regexp-lax-whitespace. + (isearch-quote-char): Check isearch-regexp-lax-whitespace in the + condition for C-q SPC. + (isearch-search-fun-default): Use new functions mentioned above. + (isearch-search-forward, isearch-search-backward): Remove functions. + (isearch-search): Don't let-bind search-spaces-regexp. + (isearch-lazy-highlight-space-regexp): Remove variable. + (isearch-lazy-highlight-lax-whitespace) + (isearch-lazy-highlight-regexp-lax-whitespace): New variables. + (isearch-lazy-highlight-new-loop): Use them. + (isearch-lazy-highlight-search): Don't let-bind search-spaces-regexp. + +2012-09-02 Chong Yidong + + * dired.el (dired-mode-map): Menu string fixes (Bug#11616). + +2012-09-02 Glenn Morris + + * simple.el (undo): Tweak message in undo-only case. (Bug#12283) + +2012-09-01 Glenn Morris + + * term.el: Tidy up menu definitions. + (term-mode-map): Use easymenu for In/Out, Complete menus. + (term-pager-break-map): Initialize in the defvar. + (term-terminal-menu, term-signals-menu): Define with easymenu. + (term-terminal-menu): Also show it in line-mode. (Bug#11957) + (term-pager-menu): New, extracted from term-process-pager. + (term-mode, term-char-mode, term-process-pager): Use easymenu-add. + (term-update-mode-line): Propertize line/char and page items. + (term-process-pager): Move keymap initialization elsewhere. + +2012-09-01 Martin Rudalics + + * window.el (switch-to-prev-buffer): Handle additional values of + BURY-OR-KILL argument. Don't switch in minibuffer window. + (switch-to-next-buffer): Don't switch in minibuffer window. + (quit-restore-window): New function based on quit-window. + Handle additional values of former KILL argument. + (quit-window): Call quit-restore-window with appropriate + interpretation of KILL argument. + (display-buffer-below-selected): New buffer display action + function. + +2012-09-01 Stefan Monnier + + * minibuffer.el (completion-at-point-functions): Complete docstring + (bug#12254). + +2012-09-01 Paul Eggert + + Better seed support for (random). + * play/5x5.el, play/animate.el, play/cookie1.el, play/dissociate.el: + * play/doctor.el, play/dunnet.el, play/gomoku.el, play/landmark.el: + * play/mpuz.el, play/tetris.el, play/zone.el: + * calc/calc-comb.el (math-init-random-base): + * play/blackbox.el (bb-init-board): + * play/life.el (life): + * server.el (server-use-tcp): + * type-break.el (type-break): + Remove unnecessary call to (random t). + * net/sasl.el (sasl-unique-id-function): + Change (random t) to (random), now that the latter is more random. + * play/life.el (life-initialized): Remove no-longer-needed var. + +2012-08-31 Alp Aker + + * window.el (switch-to-prev-buffer, switch-to-next-buffer): + Consider frame's buffer predicate when choosing the buffer. + (Bug#12081) + +2012-08-30 Richard Stallman + + * simple.el (special-mode-map): Delete binding for `z'. + +2012-08-30 Andreas Schwab + + * progmodes/compile.el (compilation-always-kill): Doc fix. + +2012-08-30 Chong Yidong + + * window.el (display-buffer-reuse-frames): Make the obsolescence + message more informative. + +2012-08-30 Glenn Morris + + * paren.el (show-paren-delay): + Add a :set function. Doc fix. (Bug#12297) + +2012-08-29 Martin Blais (tiny change) + + * progmodes/compile.el (compilation-always-kill): New var. + (compilation-start): Use it. + +2012-08-29 Stefan Monnier + + * simple.el (read-only-mode): Move from files.el for bootstrapping. + * files.el (read-only-mode): Move to simple.el. + + * files.el (read-only-mode): New minor mode. + (toggle-read-only): Use it and mark obsolete. + (find-file--read-only): + * vc/vc.el (vc-next-action, vc-checkout): + * vc/vc-cvs.el (vc-cvs-checkout): + * obsolete/vc-mcvs.el (vc-mcvs-update): + * ffap.el (ffap--toggle-read-only): Update callers. + +2012-08-29 Michael Albinus + + * eshell/esh-ext.el (eshell-external-command): Do not examine + remote shell scripts. + See . + + * net/tramp-sh.el (tramp-remote-path): Add "/sbin" and + "/usr/local/sbin". + +2012-08-28 Stefan Monnier + + * emacs-lisp/cl-lib.el (buffer-string): Fix setter macro (bug#12293). + +2012-08-28 Leo Liu + + * progmodes/sh-script.el (sh-dynamic-complete-functions): Adapt to + completion-at-point. (Bug#12220) + + * skeleton.el (skeleton-untabify): Change to nil (bug#12223). + + * progmodes/sh-script.el (sh-indent-comment): Change to t (bug#12267). + +2012-08-28 Stefan Monnier + + * files.el (safe-local-eval-forms): Fix before-save-hook entry to + be buffer-local; add delete-trailing-whitespace (bug#12259). + +2012-08-28 Jeremy Moore (tiny change) + + * progmodes/hideif.el (hif-compress-define-list): + Fix typo. (Bug#11951) + +2012-08-28 Dan Nicolaescu + + * progmodes/hideshow.el (hs-block-end-regexp): Restore lost + buffer local setting. + + * net/rcirc.el (rcirc-split-message): Fix for buffer-local + rcirc-encode-coding-system. + +2012-08-28 Leo Liu + + * net/rcirc.el (rcirc-split-message): New function. + (rcirc-send-message): Use it. (Bug#12051) + +2012-08-28 Juri Linkov + + * info.el (Info-fontify-node): Hide empty lines at the end of + the node. (Bug#12272) + +2012-08-27 Drew Adams + + * dired.el (dired-pop-to-buffer): Make window start at beginning + of buffer (Bug#12281). + +2012-08-26 Chong Yidong + + * window.el (special-display-regexps, special-display-frame-alist) + (special-display-buffer-names, special-display-function) + (display-buffer-reuse-frames): Mark as obsolete. + + * progmodes/compile.el: Don't use display-buffer-reuse-frames. + + * help.el (help-print-return-message): Don't treat + display-buffer-reuse-frames specially. + +2012-08-26 Chong Yidong + + * progmodes/gdb-mi.el (gdb-display-buffer-other-frame-action): + New variable, replacing gdb-frame-parameters. + (gdb-frame-io-buffer, gdb-frame-breakpoints-buffer) + (gdb-frame-threads-buffer, gdb-frame-memory-buffer) + (gdb-frame-disassembly-buffer, gdb-frame-stack-buffer) + (gdb-frame-locals-buffer, gdb-frame-registers-buffer): Use it. + (def-gdb-frame-for-buffer): Macro deleted. It is easier to define + the functions directly with gdb-display-buffer-other-frame-action. + (gdb-display-breakpoints-buffer, gdb-display-threads-buffer) + (gdb-display-memory-buffer, gdb-display-disassembly-buffer) + (gdb-display-stack-buffer, gdb-display-locals-buffer) + (gdb-display-registers-buffer): Define directly. + (def-gdb-display-buffer): Macro deleted. + (gdb-display-buffer): Remove second and third args, callers don't + use them. Defer to the default display-buffer behavior, apart + from making windows dedicated. + (gdb-setup-windows): Don't call display-buffer unnecessarily. + + * progmodes/gud.el (gud-display-line): Just use display-buffer. + + * window.el (display-buffer-pop-up-frame): Handle a + pop-up-frame-parameters alist entry. + (display-buffer): Document it. + +2012-08-26 Chong Yidong + + * isearch.el (search-whitespace-regexp): Make string and nil + values apply to both ordinary and regexp search. Allow a cons + cell value to distinguish between the two. + (isearch-whitespace-regexp, isearch-search-forward) + (isearch-search-backward): New functions. + (isearch-occur, isearch-search-fun-default, isearch-search) + (isearch-lazy-highlight-new-loop): Use them. + (isearch-forward, isearch-forward-regexp): Doc fix. + +2012-08-26 Chong Yidong + + * faces.el (help-argument-name): Always inherit from italic + (Bug#12213). + +2012-08-25 Martin Rudalics + + * window.el (window--even-window-heights): Even heights when + WINDOW and the selected window form a vertical combination. + (display-buffer-use-some-window): Provide that window used gets + sized back by quit-window. (Bug#11880) and (Bug#12091) + +2012-08-24 Paul Eggert + + Fix file time stamp problem with bzr and CVS (Bug#12001). + * vc/vc-cvs.el (vc-cvs-parse-entry): Ignore subsecond information + in the file's time stamp, since the version control system loses + that information. + +2012-08-22 Juri Linkov + + * info.el (Info-fontify-node): Hide the suffix of the + Info file name in the header line. (Bug#12187) + +2012-08-22 Glenn Morris + + * calendar/cal-tex.el (cal-tex-weekly-common): + Restore leading blank page. + +2012-08-22 Le Wang + + * misc.el (forward-to-word, backward-to-word): Activate or extend + the region under `shift-select-mode'. (Bug#12231) + +2012-08-22 Bastien Guerry + + * progmodes/executable.el (executable-prefix): Set to "#!" instead + of "#! ". http://www.in-ulm.de/~mascheck/various/shebang/#details + gives details on why the space is never needed. + +2012-08-22 Martin Rudalics + + * window.el (walk-window-tree, window-with-parameter): + New optional argument MINIBUF to control whether these functions + should run on the minibuffer window. + (window-at-side-list): Don't operate on minibuffer window. + (window-in-direction): Simplify and rewrite doc-string. + (window--size-ignore): Rename to window--size-ignore-p. + Update callers. + (display-buffer-in-atom-window, window--major-non-side-window) + (window--major-side-window, display-buffer-in-major-side-window) + (delete-side-window, display-buffer-in-side-window): + New functions. + (window--side-check, window-deletable-p, delete-window) + (delete-other-windows, split-window): Handle side windows and + atomic windows appropriately. + (window--display-buffer): Call display-buffer-record-window also + when the window buffer did not change. + +2012-08-22 Christopher Schmidt + + * help-fns.el (help-fns--key-bindings): + Abbreviate non-symbol remap targets. (Bug#12174) + +2012-08-22 Martin Rudalics + + * dired.el (dired-mark-remembered): Don't clobber point. + (Bug#11795) + +2012-08-22 Glenn Morris + + * progmodes/bug-reference.el (bug-reference): New custom group. + (bug-reference-bug-regexp): Make it a defcustom. + +2012-08-22 Daiki Ueno + + * progmodes/js.el (js-indent-level, js-expr-indent-offset) + (js-paren-indent-offset, js-square-indent-offset) + (js-curly-indent-offset): Add :safe (Bug#12257). + +2012-08-22 Edward O'Connor + + * json.el (json-key-format): Add error properties. + (json-encode-key): New function. + (json-encode-hash-table, json-encode-alist, json-encode-plist): + Use json-encode-key. + +2012-08-22 Glenn Morris + + * calendar/cal-tex.el (cal-tex-longday): New function, replacing... + (cal-tex-leftday, cal-tex-rightday): Remove functions. + (cal-tex-weekly-common, cal-tex-cursor-filofax-2week): + Update for above change. + +2012-08-21 Andreas Schwab + + * cus-face.el (custom-face-attributes): Fix customize type for the + :underline attribute. (Bug#11805) + +2012-08-21 Martin Rudalics + + * window.el (window-point-1, set-window-point-1): Remove. + (window-in-direction, record-window-buffer) + (set-window-buffer-start-and-point, split-window-below) + (window--state-get-1, display-buffer-record-window): + Replace calls to window-point-1 and set-window-point-1 by calls to + window-point and set-window-point respectively. + +2012-08-21 Glenn Morris + + * calendar/cal-tex.el (cal-tex-weekly-common): New function. + (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week): + Use it. + + * calendar/cal-tex.el (cal-tex-rightday): Add optional funcname arg. + (cal-tex-shortday): New function. + (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week) + (cal-tex-cursor-filofax-daily): Use the above. + + * calendar/cal-tex.el (cal-tex-leftday, cal-tex-rightday): + New functions. + (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-2week) + (cal-tex-cursor-filofax-week): Use them. + + * calendar/cal-tex.el (cal-tex-lefthead, cal-tex-righthead): + New constants. + (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-2week) + (cal-tex-cursor-filofax-week, cal-tex-cursor-filofax-daily): Use them. + + * calendar/cal-tex.el (cal-tex-preamble): Generate new buffers. + (cal-tex-end-document): Don't rely on buffer name. + + * calendar/cal-tex.el (cal-tex-cursor-filofax-year): + Use cal-tex-vspace. + (cal-tex-vspace, cal-tex-hspace, cal-tex-em, cal-tex-bf) + (cal-tex-Huge-bf, cal-tex-large-bf): Use cal-tex-cmd. + (cal-tex-scriptsize, cal-tex-huge, cal-tex-Huge, cal-tex-large): + Use cal-tex-arg. + + * calendar/cal-tex.el (cal-tex-cursor-filofax-year) + (cal-tex-cursor-week, cal-tex-cursor-week2) + (cal-tex-cursor-week-iso, cal-tex-cursor-week-at-a-glance) + (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) + (cal-tex-cursor-filofax-daily, cal-tex-cursor-day) + (cal-tex-insert-preamble, cal-tex-b-document) + (cal-tex-e-document, cal-tex-b-center, cal-tex-e-center): + Improve cal-tex-cmd usage. + + * calendar/cal-tex.el (cal-tex-filofax-paper): New function. + (cal-tex-cursor-filofax-year, cal-tex-cursor-filofax-2week) + (cal-tex-cursor-filofax-week, cal-tex-cursor-filofax-daily): Use it. + (cal-tex-weekly-paper): New function. + (cal-tex-cursor-week, cal-tex-cursor-week2) + (cal-tex-cursor-week-iso, cal-tex-cursor-week-monday) + (cal-tex-cursor-day): Use it. + + * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance) + (cal-tex-cursor-filofax-week): Remove leading blank page. + + * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance): + Add autoload cookie. For now at least, don't use color, since + no other cal-tex function does. + + * calendar/cal-tex.el (cal-tex-cursor-week-iso) + (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) + (cal-tex-cursor-filofax-daily): Correct start date for diary entries. + +2012-08-21 Juri Linkov + + * info.el (Info-file-attributes): New variable. + (info-insert-file-contents): Add file attributes to + `Info-file-attributes'. Clear the caches `Info-index-nodes' and + `Info-toc-nodes' when previous modtime of the Info file is less + than new modtime. + (Info-toc-nodes, Info-index-nodes): Move definitions up to the top + of info.el. (Bug#12230) + +2012-08-20 Glenn Morris + + * calendar/diary-lib.el (diary-include-files, diary-sexp-entry): + * calendar/holidays.el (calendar-holiday-list): + Report errors with display-warning rather than beep'n'sleep. + +2012-08-20 Michael Albinus + + * net/tramp.el (tramp-accept-process-output): Accept only output + from PROC. Otherwise, process filters and sentinels might be + confused. (Bug#12145) + +2012-08-20 Chong Yidong + + * descr-text.el (describe-text-properties-1): Use overlays-in to + report on empty overlays (Bug#3322). + +2012-08-20 Glenn Morris + + * mail/rmailout.el (rmail-output-read-file-name): + Trap and report errors in rmail-output-file-alist elements. + + * font-lock.el (font-lock-add-keywords): Doc fix (quote face names + since most non-font-lock faces are not also variables). + +2012-08-20 Edward Reingold + + * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance): + New function. (Bug12160) + +2012-08-19 Glenn Morris + + * mail/rmailout.el (rmail-output-read-file-name): + Fix previous change (when the alist is nil or does not match). + +2012-08-19 Chong Yidong + + * xml.el (xml-escape-string): Don't refer to xml-entity-alist + (Bug#12228). + +2012-08-18 Chong Yidong + + * simple.el (yank-handled-properties): New defcustom. + (yank-excluded-properties): Add font-lock-face and category. + (yank): Doc fix. + + * subr.el (remove-yank-excluded-properties): + Obey yank-handled-properties. The special handling of font-lock-face + and category is now done this way, instead of being hard-coded. + (insert-for-yank-1): Remove font-lock-face handling. + (yank-handle-font-lock-face-property) + (yank-handle-category-property): New function. + +2012-08-17 Glenn Morris + + * mail/rmailout.el (rmail-output-read-file-name): + Check rmail-output-file-alist against the full message body + in the correct rmail buffer. (Bug#12214) + +2012-08-17 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-start-file-process): + Eliminate superfluous prompt. (Bug#12203) + +2012-08-17 Chong Yidong + + * mouse.el (mouse-appearance-menu): If x-select-font returns a + font spec, set the font directly (Bug#3228). + +2012-08-17 Martin Rudalics + + * window.el (delete-window): Fix last fix. + +2012-08-16 Martin Rudalics + + * window.el (window-valid-p): Move to window.c. + (window-child, window-child-count, window-last-child) + (window-normalize-window, window-combined-p) + (window-combinations, window-atom-root, window-min-size) + (window-sizable, window-sizable-p, window-size-fixed-p) + (window-min-delta, window-max-delta, window--resizable) + (window--resizable-p, window-resizable, window-total-size) + (window-full-height-p, window-full-width-p, window-body-size) + (window-at-side-p, adjust-window-trailing-edge, maximize-window) + (minimize-window, window-deletable-p, delete-window) + (delete-other-windows, set-window-buffer-start-and-point) + (next-buffer, previous-buffer, split-window, balance-windows-2) + (set-window-text-height, window-buffer-height) + (fit-window-to-buffer, shrink-window-if-larger-than-buffer) + (truncated-partial-width-window-p): Minor code adjustments. + In doc-strings state whether the argument window has to denote a + live, valid or any window. + +2012-08-16 Phil Sainty (tiny change) + + * progmodes/subword.el (subword-forward-function) + (subword-backward-function, subword-forward-regexp) + (subword-backward-regexp): New variables. + (subword-forward, subword-forward-internal, subword-backward-internal): + Use new variables, eg so that different "word" definitions + can be easily used. (Bug#11411) + +2012-08-15 Stefan Monnier + + * vc/vc-mtn.el (vc-mtn-revision-completion-table): Handle completion + for composite selectors. + * vc/vc.el (vc-diff-build-argument-list-internal): Don't prevent + operation just because we can't find a previous revision. + +2012-08-15 Chong Yidong + + * frame.el (set-frame-font): Accept font objects. + +2012-08-15 Stefan Monnier + + * textmodes/tex-mode.el (tex-insert-quote): ~ is a space (bug#12137). + +2012-08-15 Wolfgang Jenkner + + * man.el (Man-overstrike-face, Man-underline-face) + (Man-reverse-face): Remove variables. + (Man-overstrike, Man-underline, Man-reverse): New faces. + (Man-fontify-manpage): Use them instead of the variables. + (Man-cleanup-manpage): Comment change. + (Man-ansi-color-map): New variable. + (Man-fontify-manpage): Use it. + Call ansi-color-apply-on-region to replace ad hoc code (bug#12147). + + Implement ANSI SGR parameters 22-27 (bug#12146). + * ansi-color.el (ansi-colors): Doc fix. + (ansi-color-context, ansi-color-context-region): Doc fix. + (ansi-color--find-face): New function. + (ansi-color-apply, ansi-color-apply-on-region): Use it. + Rename the local variable `face' to `codes' since it is now a list of + ansi codes. Doc fix. + (ansi-color-get-face): Remove. + (ansi-color-parse-sequence): New function, derived from + ansi-color-get-face. + (ansi-color-apply-sequence): Use it. Rewrite, and support ansi + codes 22-27. + +2012-08-14 Stefan Monnier + + * subr.el (read-passwd): Allow use from a minibuffer. + +2012-08-14 Eli Zaretskii + + * tooltip.el (tooltip-identifier-from-point): Don't treat tokens + inside comments and strings as identifiers. + + * progmodes/gud.el (gud-tooltip-print-command): Quote the + expression to evaluate. This allows to evaluate expressions with + embedded whitespace. + (gud-tooltip-tips): Add a blank before the newline in the + message-box text, for the benefit of message-box emulation on + MS-Windows. + + * progmodes/gdb-mi.el (gdb-tooltip-print): Don't ignore error + messages from GDB, pop them up in a tooltip to give feedback to + user. + (gdb-tooltip-print-1): Quote the expression to evaluate. + This allows to evaluate expressions with embedded whitespace. + (gdb-inferior-io--init-proc): Don't send "-inferior-tty" command + if the TTY name is nil or empty (which happens when communicating + with the inferior via pipes, e.g. on MS-Windows). + (gdb-internals): If GDB sends a "&\n" empty debugging message, + don't send that to the GUD buffer. + +2012-08-14 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-compile-setq-default): + Optimize away setq-default with no args, as for setq. (Bug#12195) + +2012-08-14 Chong Yidong + + * minibuffer.el (read-file-name): Doc fix (Bug#10881). + + * emacs-lisp/regexp-opt.el (regexp-opt-charset): Doc fix + (Bug#12085). + +2012-08-14 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-recompile-file): Doc fix. + +2012-08-14 Michael Albinus + + * net/tramp-sh.el (tramp-open-shell): Cache the shell name. + (tramp-find-shell, tramp-open-connection-setup-interactive-shell): + Use cached shell name. + +2012-08-14 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-send-string): + (python-shell-send-setup-code): Do not use `format' with `message'. + +2012-08-14 Dmitry Gutov + + * progmodes/ruby-mode.el: Improve percent literals (bug#6286). + (ruby-percent-literal-beg-re): New constant. + (ruby-syntax-general-delimiters-goto-beg): Rename to + `ruby-syntax-enclosing-percent-literal', improve literal type check. + (ruby-syntax-propertize-general-delimiters): Rename to + `ruby-syntax-propertize-percent-literal', it's a shorter and more + popular term. Adjust comments everywhere. + (ruby-syntax-propertize-percent-literal): Only propertize when not + inside a simple string or comment. When the literal is unclosed, + leave the text after it unpropertized. + (ruby-syntax-methods-before-regexp): New constant. + (ruby-syntax-propertize-function): Use it to recognize regexps. + Don't look at the text after regexp, just use the whitelist. + +2012-08-14 Andreas Schwab + + * emacs-lisp/bytecomp.el (byte-recompile-file): When LOAD is + non-nil always load the compiled file if it exists. (Bug#12197) + +2012-08-14 Chong Yidong + + * hi-lock.el (hi-lock-mode): Do not unilaterally enable font lock. + (hi-lock-set-pattern): When deciding whether to use font lock or + overlays, look at font-lock-mode instead of font-lock-fontified + (Bug#12168). + (hi-lock-mode, hi-lock-line-face-buffer, hi-lock-unface-buffer) + (hi-lock-face-buffer, hi-lock-face-phrase-buffer): Doc fix. + +2012-08-14 Daiki Ueno + + * subr.el (internal--after-with-selected-window): Fix typo + (Bug#12193). + +2012-08-14 Fabián Ezequiel Gallina + + Use `completion-table-dynamic' for completion functions. + * progmodes/python.el + (python-shell-completion--do-completion-at-point) + (python-shell-completion--get-completions): + Remove functions. + (python-shell-completion-complete-at-point): New function. + (python-completion-complete-at-point): Use it. + +2012-08-13 Jambunathan K + + * vc/vc-dir.el (vc-dir-hide-state): New command (bug#12159). + (vc-dir-hide-up-to-date): Route it to `vc-dir-hide-state'. + +2012-08-13 Stefan Monnier + + * subr.el (function-get): Refine `autoload' arg so it can also + autoload functions for gv.el (bug#12191). + * emacs-lisp/edebug.el (get-edebug-spec): Adjust so it only + autoloads macros. + + * color.el (color-xyz-to-lab, color-lab-to-xyz, color-cie-de2000): + Prefer pcase-let over destructuring-bind. + * vc/diff-mode.el (diff-remove-trailing-whitespace): Same. + Also, remove whitespace as we go, rather than after accumulating the + various places. + + * subr.el (internal--before-with-selected-window) + (internal--after-with-selected-window): Fix typo seleted->selected. + (with-selected-window): Adjust callers. + Reported by Dmitry Gutov . + +2012-08-13 Bastien Guerry + + * window.el (special-display-popup-frame): Minor docstring + enhancement. (Bug#12172) + +2012-08-13 Andreas Schwab + + * tar-mode.el (tar-header-data-end): Only ignore size for files of + type 1-6. + (tar-header-block-summarize, tar-get-descriptor): Handle pax + extended headers. + + * files.el (hack-local-variables-filter): Remove useless eval. + +2012-08-13 Martin Rudalics + + * subr.el (with-selected-window): Fix last change. + +2012-08-12 Stefan Monnier + + * subr.el (internal--before-with-seleted-window) + (internal--after-with-seleted-window): New functions. + (with-selected-window): Use them, to replace dependency on + tty-top-frame. + +2012-08-12 Nobuyoshi Nakada + + * progmodes/ruby-mode.el (ruby-mode-map): Remove unnecessary + binding for `newline'. + (ruby-move-to-block): When moving backward, stop at block opening, + not indentation. + * progmodes/ruby-mode.el (ruby-brace-to-do-end) + (ruby-do-end-to-brace, ruby-toggle-block): New functions. + * progmodes/ruby-mode.el (ruby-mode-map): Add binding for + `ruby-toggle-block'. + +2012-08-12 Stefan Monnier + + * ibuffer.el (ibuffer-do-toggle-read-only): + * dired.el (dired-toggle-read-only): + * buff-menu.el (Buffer-menu-toggle-read-only): + * bindings.el (mode-line-toggle-read-only): + * bs.el (bs-toggle-readonly): Call toggle-read-only interactively. + +2012-08-12 Andreas Schwab + + * descr-text.el (describe-char): Put the overlays over the + "displayed as" character. + +2012-08-12 Jay Belanger + + * calc/calc-units.el (math-default-units-table): Give an + initial value. + (math-put-default-units): Add options to put composite units and + unit systems in the default units table. + (calc-convert-units): Send composite units to + `math-put-default-units' when appropriate. + +2012-08-11 Glenn Morris + + * emacs-lisp/copyright.el (copyright-update-directory): Logic fix. + + * tutorial.el (help-with-tutorial): + * emacs-lisp/copyright.el (copyright-update-directory): + * emacs-lisp/autoload.el (autoload-find-generated-file) + (autoload-find-file): Disable local eval: (for insurance). + + * files.el (hack-local-variables-filter): If an eval: form is not + known to be safe, and enable-local-variables is :safe, then ignore + the form totally, as is done for non-eval forms. (Bug#12155) + This is CVE-2012-3479. + +2012-08-10 Stefan Monnier + + * emacs-lisp/rx.el (rx-constituents): Don't define as constant. + (rx-form): Simplify. + +2012-08-09 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-expr-beg, ruby-parse-partial): + ?, _, and : are symbol constituents, ! is not (but kinda should be). + (ruby-syntax-propertize-heredoc): Use ruby-singleton-class-p. + (ruby-syntax-propertize-function): Adjust for changes in + `ruby-syntax-propertize-heredoc'. + +2012-08-09 Nobuyoshi Nakada + + * progmodes/ruby-mode.el (ruby-mode-map): Remove deprecated + binding (use `M-;' instead). + (ruby-singleton-class-p): New function. + (ruby-expr-beg, ruby-in-here-doc-p) Use it. + +2012-08-10 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl-loop): Improve debug spec. + +2012-08-10 Chong Yidong + + * progmodes/python.el (python-shell-get-process-name): Don't mess + with same-window-buffer-names. + + * eshell/eshell.el (eshell-add-to-window-buffer-names) + (eshell-remove-from-window-buffer-names): Make obsolete. + (eshell-buffer-name, eshell-unload-hook): Don't use them. + (eshell): Just use pop-to-buffer-same-window instead. + +2012-08-10 Chong Yidong + + * bindings.el: Bind M-= back to count-words-region. + + * simple.el (count-words-region): Accept a prefix arg for acting + on the entire buffer. + (count-words--buffer-message): New helper function. + +2012-08-10 Stefan Monnier + + * term/x-win.el (x-menu-bar-open): Always pass last-nonmenu-event. + * subr.el (eventp): `nil' is not an event, and eventp is not hot. + (event-start, event-end): Use posn-at-point to return a more + informative posn. + (posnp): New function. + * mouse.el (popup-menu-normalize-position): Use it. + +2012-08-10 Masatake YAMATO + + * mouse.el (popup-menu-normalize-position): New function. + (popup-menu): Use `popup-menu-normalize-position' to normalize + the form for POSITION argument. + + * term/x-win.el (x-menu-bar-open): + Use the value returend from (posn-at-point) as position + passed to `popup-menu'. + +2012-08-09 Jay Belanger + + * calc/calccomp.el (math-compose-expr): Add extra argument + indicating that parentheses should be put around products in + denominators. Give multiplication precedence over division during + composition. + +2012-08-09 Chong Yidong + + * man.el (Man-switches, Man-sed-command, Man-awk-command) + (Man-mode-hook, Man-cooked-hook, Man-untabify-command-args) + (Man-untabify-command, manual-program): Convert to defcustom + (Bug#10429). + + * vc/add-log.el (change-log-mode): Bind comment-start to nil. + + * descr-text.el (describe-char): Don't insert extra newlines + (Bug#10127). + + * vc/log-view.el (log-view-diff): Use use-region-p (Bug#10133). + (log-view-diff-changeset, log-view-minor-wrap): Likewise. + + * align.el (align-region): Delete temporary markers (Bug#10047). + Plus some code cleanups. + +2012-08-09 Fabián Ezequiel Gallina + + * progmodes/python.el (python-pdbtrack-tracked-buffer) + (python-pdbtrack-buffers-to-kill, python-shell-internal-buffer) + (python-shell-internal-last-output): Use make-local-variable + instead of make-variable-buffer-local. + +2012-08-09 Fabián Ezequiel Gallina + + * progmodes/python.el: Enhancements to forward-sexp. + (python-nav-forward-sexp): Rename from + python-nav-forward-sexp-function. + (python-nav--forward-sexp, python-nav--backward-sexp): + New functions. + +2012-08-09 Jay Belanger + + * calc/calc-menu.el (calc-modes-menu): Add entries for matrix + modes and simplification modes. + +2012-08-09 Stefan Monnier + + * delsel.el (delete-selection-pre-hook): Don't propagate the + file-supersession signals (bug#12161). + +2012-08-08 Stefan Monnier + + * emacs-lisp/cl.el (cl-map-keymap-recursively, cl-map-intervals) + (cl-map-extents): Add compatibility aliases (bug#12135). + +2012-08-08 Michael Albinus + + * net/tramp-sh.el (tramp-find-file-exists-command): Protect the + tests by `ignore-error'. + (tramp-find-shell): Open also a new shell, when cache is already + set. Reported by Carsten Bormann . (Bug#12148) + +2012-08-08 Juri Linkov + + * bookmark.el: Add `defaults' property to the bookmark record. + (bookmark-current-buffer): Doc fix. + (bookmark-make-record): Add `defaults' property with default values + to the bookmark record. + (bookmark-minibuffer-read-name-map): Remove key binding "\C-u" + with `bookmark-insert-current-bookmark'. + (bookmark-set): Get `defaults' property from the bookmark record + and use it in `read-from-minibuffer'. + (bookmark-insert-current-bookmark): Remove function. + + * info.el (Info-bookmark-make-record): Add `defaults' property + with values of canonical Info node name, the current Info file + name and the current Info node name. (Bug#12107) + +2012-08-08 Juri Linkov + + * files.el (basic-save-buffer): Use `buffer-name' as the default + of `read-file-name' when buffer is not visiting a file (bug#12128). + +2012-08-08 Juri Linkov + + * info.el (Info-isearch-search): Doc fix. + (Info-search): Change search-failed message from "initial node" to + "end of node" (bug#12078). + (Info-isearch-search): Change `isearch-string-state' to + `isearch--state-string'. + +2012-08-08 Glenn Morris + + * language/persian.el: Remove file. + * language/misc-lang.el: Move unique part of persian.el here. + * loadup.el: Remove language/persian. + +2012-08-08 Óscar Fuentes + + * vc/diff-mode.el (diff-remove-trailing-whitespace): New function. + +2012-08-08 Fabián Ezequiel Gallina + + * progmodes/python.el: Fix defsubst warning. + (python-syntax-context) Rename from python-info-ppss-context. + (python-syntax-context-type): Rename from + python-info-ppss-context-type. + (python-syntax-comment-or-string-p): Rename from + python-info-ppss-comment-or-string-p. + +2012-08-08 Jay Belanger + + * calc/calc-misc.el (calc-record-why): Don't record a message twice. + +2012-08-07 Andreas Schwab + + * emacs-lisp/lisp-mode.el (eval-defun-1): Handle standard value of + a defcustom that is quoted with backquote. + + * calc/calc-prog.el (math-do-defmath): Use backquote forms. + Fix handling of interactive spec when the body uses return. + (math-do-arg-check, math-define-function-body): Use backquote forms. + * calc/calc-ext.el (math-defcache): Likewise. + * calc/calc-rewr.el (math-rwfail, math-rweval): Likewise. + * allout.el (allout-new-exposure): Likewise. + * calc/calcalg2.el (math-tracing-integral): Likewise. + * info.el (Info-last-menu-item): Likewise. + * emulation/vip.el (vip-loop): Likewise. + * textmodes/artist.el (artist-funcall): Likewise. + * menu-bar.el (menu-bar-make-mm-toggle, menu-bar-make-toggle): + Construct menu-item directly. + + * progmodes/autoconf.el (font-lock-syntactic-keywords): + Don't declare. + +2012-08-07 Chong Yidong + + * simple.el (deactivate-mark): Preserve text properties when + saving the primary selection (Bug#8384). + +2012-08-07 Kevin Ryde + + * woman.el (woman0-if): Quietly treat ".if v" as false (Bug#12109). + (woman-parse-numeric-value): On a bad .IP line, issue a warning + and continue processing (Bug#12110). + +2012-08-06 Stefan Monnier + + * progmodes/cperl-mode.el (cperl-mode): Yet another fix for + syntax-propertize-function (bug#10095). + +2012-08-06 Stefan Monnier + + * help-fns.el (help-fns--key-bindings, help-fns--signature) + (help-fns--parent-mode, help-fns--obsolete): New funs, extracted from + describe-function-1. + (describe-function-1): Use them. Move compiler macro after sig. + (help-fns--compiler-macro): Use function-get. Assume we're already in + standard-output. Adjust layout to new call order. + + * emacs-lisp/cl-macs.el (cl--sm-macroexpand): Fix handling of + re-binding a symbol that has a symbol-macro (bug#12119). + +2012-08-06 Mohsen BANAN + + * language/persian.el: New file. (Bug#11812) + * loadup.el: Add language/persian.el. + +2012-08-06 Chong Yidong + + * window.el (window--maybe-raise-frame): New function. + (window--display-buffer): Split off from here. + (display-buffer-reuse-window, display-buffer-pop-up-frame) + (display-buffer-pop-up-window, display-buffer-use-some-window): + Obey an inhibit-switch-frame action alist entry. + (display-buffer): Update doc. + + * replace.el (occur-after-change-function): Avoid losing focus by + using the inhibit-switch-frame display parameter (Bug#12139). + +2012-08-06 Fabián Ezequiel Gallina + + Make internal shell process buffer names start with space. + * progmodes/python.el (python-shell-make-comint): Add optional + argument INTERNAL. + (run-python-internal): Use it. + (python-shell-internal-get-or-create-process): Check for new + internal buffer names. + +2012-08-06 Glenn Morris + + * eshell/esh-ext.el (eshell/addpath): Use dolist and mapconcat. + Do less getting and setting of environment variables. + +2012-08-05 Chong Yidong + + * proced.el (proced): Add substitution string to docstring to + trigger autoloading of the proced library on C-h f (Bug#1768). + + * emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): + Don't show defvars which have no second argument (Bug#8638). + + * imenu.el (imenu-generic-expression): Move documentation here + from imenu--generic-function. + (imenu--generic-function): Refer to imenu-generic-expression. + +2012-08-05 Vegard Øye (tiny change) + + * emulation/viper-init.el (viper-deflocalvar): Add docstring and + indentation declaration. + (viper-loop): Add indentation declaration (Bug#7025). + +2012-08-05 Chong Yidong + + * help-fns.el (describe-variable): Add hyperlink for + directory-local variables files. Improve buffer-local and + permanent-local reporting; suggested by MON KEY (Bug#6644). + + * help-mode.el (help-dir-local-var-def): New button type. + + * files.el (kill-buffer-hook): Provide a defvar. + +2012-08-05 Glenn Morris + + * eshell/esh-ext.el (eshell/addpath): + Also update eshell-path-env. (Bug#12013) + +2012-08-05 Chong Yidong + + * wdired.el (wdired-mode, wdired-change-to-wdired-mode): Doc fixes. + + * fringe.el (fringe-styles): Add docstring. + (fringe--check-mode): New function. + (set-fringe-mode, set-fringe-style): Use it. + (fringe-mode, set-fringe-style): Doc fixes (Bug#6480). + + * files.el (set-auto-mode): Fix invalid setq call. + +2012-08-04 Stefan Monnier + + * isearch.el: Misc simplification; use defstruct. + (isearch-mode-map): Dense maps now work like sparse ones. + (isearch--state): New defstruct. + (isearch-string-state, isearch-message-state, isearch-point-state) + (isearch-success-state, isearch-forward-state) + (isearch-other-end-state, isearch-word-state, isearch-error-state) + (isearch-wrapped-state, isearch-barrier-state) + (isearch-case-fold-search-state, isearch-pop-fun-state): + Remove, replaced by defstruct's accessors. + (isearch--set-state): Rename from isearch-top-state and change + calling convention. + (isearch-push-state): Use new isearch--get-state. + (isearch-toggle-word): Disable regexp when enabling word. + (isearch-message-prefix): Remove unused arg _c-q-hack. + (isearch-message-suffix): Remove unused arg _ellipsis. + +2012-08-04 Andreas Schwab + + * simple.el (list-processes--refresh): For a server use :host or + :local as the address. + (list-processes): Doc fix. + +2012-08-04 Michal Nazarewicz + + * lisp/mpc.el: Support password in host argument. + (mpc--proc-connect): Parse and use new password element. + Set mpc-proc variable instead of returning process. + (mpc-proc): Adjust accordingly. + +2012-08-03 Eli Zaretskii + + * whitespace.el (whitespace-display-mappings): Use Unicode + codepoints, instead of emacs-mule codepoints. See + http://lists.gnu.org/archive/html/help-gnu-emacs/2012-07/msg00366.html + for the details. + + * files.el (file-truename): Don't skip symlink-chasing part on + windows-nt. Incorporate the resolution of 8+3 short aliases on + Windows into the loop that recursively chases symlinks. + Compare directory and its parent case-insensitively on MS-Windows and + MS-DOS. + +2012-08-03 Chong Yidong + + * menu-bar.el (menu-bar-tools-menu): Remove PCL-CVS. + + * sort.el (sort-regexp-fields): Doc fix. + +2012-08-03 Tassilo Horn + + * textmodes/reftex.el (reftex-compile-variables): Make keyvals + labels regex position point at the expected place. + +2012-08-03 MON KEY + + * net/imap.el (imap-interactive-login, imap-authenticate) + (imap-mailbox-lsub, imap-mailbox-list) + (imap-mailbox-status-asynch, imap-mailbox-acl-delete) + (imap-fetch, imap-message-flag-permanent-p, imap-envelope-from) + (imap-parse-response): Doc fix. + +2012-08-03 João Távora + + * textmodes/tex-mode.el (latex-forward-sexp): Terminate the loop + if sexp scanning does not move point (Bug#5734). + +2012-08-02 Tassilo Horn + + * textmodes/reftex-vars.el (reftex-default-label-alist-entries): + Add listings, minted, and ctable packages. + (reftex-label-alist-builtin): Move listings, minted, and ctable + entries before LaTeX. + (reftex-label-alist): Docfix. + +2012-08-02 Bastien Guerry + + * replace.el (occur): Fix docstring (bug#12122). + +2012-08-02 Glenn Morris + + * emacs-lisp/authors.el (authors-renamed-files-alist): Add ms-w32.h. + +2012-08-02 Paul Eggert + + Obsolete alias inactivate-current-input-method-function (Bug#10150). + * international/mule-cmds.el: Create + inactivate-current-input-method-function as an obsolete alias for + deactivate-current-input-method-function. See Katsumi Yamaoka in + . + +2012-08-01 Jay Belanger + + * calc/calc-mode.el (calc-set-simplify-mode): Use `cond' instead + of nested `if's. + +2012-08-01 Glenn Morris + + * progmodes/autoconf.el (autoconf-definition-regexp): + Add AH_TEMPLATE, adjust submatch numbering. + (autoconf-font-lock-keywords, autoconf-imenu-generic-expression) + (autoconf-current-defun-function): Update for above change. + (autoconf-current-defun-function): First skip to end of current word. + +2012-08-01 Rupert Swarbrick (tiny change) + + * calendar/cal-html.el (cal-html-insert-agenda-days): + Fix typo. (Bug#12018) + +2012-07-31 Fabián Ezequiel Gallina + + Shell processes: enhancements to startup and CEDET compatibility. + * progmodes/python.el (python-shell-send-setup-max-wait): Delete var. + (python-shell-make-comint): accept-process-output at startup. + (run-python-internal): Set inferior-python-mode-hook to nil. + (python-shell-internal-get-or-create-process): Call sit-for. + (python-preoutput-result): Add obsolete alias. + (python-shell-internal-send-string): Use it. + (python-shell-send-setup-code): Remove call to + accept-process-output. + +2012-07-31 Andreas Schwab + + * buff-menu.el (list-buffers-noselect): Use prefix-numeric-value. + (Bug#12108) + +2012-07-31 Jay Belanger + + * calc-mode.el (calc-basic-simplification-mode): Rename from + `calc-limited-simplification-mode'. + (calc-alg-simplification-mode): New function. + (calc-set-simplify-mode): Adjust message. + + * calc.el (calc-set-mode-line): Adjust mode line display for + basic simplification mode. + + * calc-help.el (calc-m-prefix-help): Update help message. + + * calc-ext.el (calc-init-extensions): Add bindings and autoloads + for `calc-basic-simplify-mode' and `calc-alg-simplify-mode'. + +2012-07-31 Bastien Guerry + + * man.el (man): Fix comment. (bug#12101) + +2012-07-31 Martin Rudalics + + * window.el (switch-to-prev-buffer, switch-to-next-buffer): + Don't return a non-nil value when no suitable buffer was found. + +2012-07-31 Fabián Ezequiel Gallina + + * progmodes/python.el (run-python-internal): Disable font lock for + internal shells. + +2012-07-30 Stefan Merten + + * textmodes/rst.el: Silence `checkdoc-ispell'. + (rst-cvs-header, rst-svn-rev, rst-svn-timestamp) + (rst-official-version, rst-official-cvs-rev) + (rst-package-emacs-version-alist): Update to upstream V1.3.1. + (rst-mode-map): New key binding. + +2012-07-30 Paul Eggert + + Update .PHONY listings in makefiles. + * Makefile.in (.PHONY): Add all, doit, custom-deps, finder-data, + autoloads, update-subdirs, updates, bzr-update, update-authors, + compile-onefile, compile-calc, backup-compiled-files, + compile-after-backup, compile-one-process, mh-autoloads, + bootstrap-clean, distclean, maintainer-clean. + +2012-07-29 Jay Belanger + + * calc/calc.el (calc-simplify-mode): Make 'alg the default value. + (calc-set-mode-line): Don't display "AlgSimp ". + + * calc/calc-mode.el (calc-alg-simplify-mode): Remove function. + (calc-lim-simplify-mode): New function. + (calc-set-simplify-mode): Default to 'alg. + (calc-default-simplify-mode): Make algebraic simplifications + the default. + + * calc/calc-ext.el (calc-init-extensions): Remove binding for + `calc-alg-simplify-mode'. Add binding for `calc-lim-simplify-mode'. + + * calc/calc-help.el (calc-m-prefix-help): Change messages to + indicate new simplification modes. + + * calc/README: Mention new default simplification mode. + + * calc/calc.el (math-normalize-error): New variable. + (math-normalize): Set `math-normalize-error' to t + when there's an error. + + * calc/calc-alg.el (math-simplify): Don't simplify when + `math-normalize' returns an error. + +2012-07-29 Eli Zaretskii + + * international/mule-cmds.el (set-locale-environment): Revert last + change, since display-graphic-p returns nil when this function is + called during startup. Instead... + + * term/w32console.el (terminal-init-w32console): ...setup the + keyboard and terminal encoding for TTY sessions here. (Bug#12082) + +2012-07-29 Juri Linkov + + * simple.el (goto-line): Don't display default line number in the + prompt because it should be displayed by `read-number' (bug#9952). + Add the current line number to the defaults of `goto-line' to + allow its easier modification by users with `M-n' (bug#9201). + + * subr.el (read-number): Support multiple default values like in + other minibuffer reading functions. Replace `read' with + `string-to-number' for consistency with `number-to-string'. + +2012-07-29 Paul Eggert + + deactive->inactive, inactivate->deactivate spelling fixes (Bug#10150) + * emulation/viper-init.el (viper-deactivate-input-method-action): + Rename from viper-inactivate-input-method-action. + (viper-deactivate-input-method): + Rename from viper-inactivate-input-method. + * follow.el (follow-inactive-menu): Rename from follow-deactive-menu. + * international/mule-cmds.el (deactivate-input-method): + Rename from inactivate-input-method. + Also run input-method-deactivate-hook. + (deactivate-current-input-method-function): + Rename from inactivate-current-input-method-function. + (input-method-deactivate-hook): New hook. + (input-method-inactivate-hook): Mark obsolete. + (inactivate-input-method): Mark obsolete. + + * international/quail.el (quail-activate): + Also run quail-deactivate-hook. + (quail-deactivate): Rename from quail-inactivate. + * international/robin.el (robin-activate): + Also run robin-deactivate-hook. + (robin-deactivate): Rename from robin-inactivate. + +2012-07-29 Chong Yidong + + * simple.el (indicate-copied-region): New function. + (kill-ring-save): Split off from here. + + * rect.el (copy-rectangle-as-kill): Call indicate-copied-region. + (kill-rectangle): Set deactivate-mark to t on read-only error. + + * register.el (copy-to-register, copy-rectangle-to-register): + Deactivate the mark, and use indicate-copied-region (Bug#10056). + (append-to-register, prepend-to-register): Call indicate-copied-region. + +2012-07-29 Juri Linkov + + * simple.el (async-shell-command-buffer): New defcustom. + (shell-command): Use it. (Bug#4719) + +2012-07-28 Eli Zaretskii + + * international/mule-cmds.el (set-locale-environment): In a + console session on MS-Windows, set up keyboard and terminal + encoding from the OEM codepage, not the ANSI codepage. + (Bug#12055) + +2012-07-28 Chong Yidong + + * progmodes/gdb-mi.el (gdb-place-breakpoints): Fix the call to + gdb-get-location. + +2012-07-28 Leo Liu + + * progmodes/cc-menus.el (cc-imenu-objc-function): Avoid leaving nil in + the alist (bug#12029). + +2012-07-28 Eli Zaretskii + + * makefile.w32-in (custom-deps, finder-data, updates, compile) + (compile-always, compile-first) + ($(lisp)/calendar/cal-loaddefs.el) + ($(lisp)/calendar/diary-loaddefs.el) + ($(lisp)/calendar/hol-loaddefs.el, $(lisp)/mh-e/mh-loaddefs.el) + ($(lisp)/net/tramp-loaddefs.el, bootstrap) + ($(lisp)/progmodes/cc-mode.elc): Depend on $(lisp)subdirs.el, + instead of on update-subdirs. + (bootstrap-clean): Delete $(lisp)/subdirs.el. + +2012-07-28 Chong Yidong + + * vc/vc.el (vc-root-diff, vc-print-root-log): Prompt for a + directory if vc-deduce-backend returns nil (Bug#7350). + + * simple.el (delete-trailing-lines): New option. + (delete-trailing-whitespace): Obey it (Bug#11879). + +2012-07-28 David Engster + + * xml.el (xml-node-name, xml-parse-file, xml-parse-region): + Explanation of new 'symbol-qnames feature in doc-strings. + (xml-maybe-do-ns): Return expanded names as plain symbols if + 'symbol-qnames was provided in XML-NS argument (Bug#11916). + (xml-parse-tag-1): Deal with new definition of PARSE-NS argument. + +2012-07-27 Fabián Ezequiel Gallina + + Consistent completion in inferior python with emacs -nw. + * progmodes/python.el (inferior-python-mode): Replace "" + binding in inferior-python-mode-map with "\t". + (python-shell-completion-complete-at-point) + (python-completion-complete-at-point): Remove interactive spec. + +2012-07-27 Jay Belanger + + * calc/calccomp.el (math-compose-expr): Undo previous change. + +2012-07-27 Fabián Ezequiel Gallina + + * progmodes/python.el (python-mode-map): Add keybinding for + run-python. + (python-shell-make-comint): Fix pop-to-buffer call. + (run-python): Autoload. New arg SHOW. + (python-shell-get-or-create-process): Do not pop python process + buffer. + +2012-07-27 Michael Albinus + + * notifications.el (notifications-on-action-signal) + (notifications-on-closed-signal): Use also the bus address for the map. + (notifications-notify, notifications-close-notification) + (notifications-get-capabilities): Add optional argument BUS. + +2012-07-27 Tassilo Horn + + * textmodes/reftex-vars.el (reftex-label-alist-builtin): + Add support for the lstlisting and minted environments, and for the + ctable macro. + * textmodes/reftex.el (reftex-compile-variables): Also recognize + labels written in keyvals syntax. + +2012-07-27 Jay Belanger + + * calc/calccomp.el (math-compose-expr): Use parentheses when + there is a product in the denominator of a fraction. + +2012-07-26 Eli Zaretskii + + * makefile.w32-in ($(lisp)/calendar/cal-loaddefs.el) + ($(lisp)/calendar/diary-loaddefs.el) + ($(lisp)/calendar/hol-loaddefs.el, $(lisp)/mh-e/mh-loaddefs.el) + ($(lisp)/net/tramp-loaddefs.el): Depend on update-subdirs. + Fixes failures in parallel bootstrap because subdirs.el is being + rewritten while the autoload files are built at the same time, + which needs to load subdirs.el. + +2012-07-26 Martin Rudalics + + * mouse.el (popup-menu): Fix doc-string and re-indent code. + (mouse-drag-line): Don't exit tracking when a switch-frame or + switch-window event occurs (Bug#12006). + +2012-07-26 Stefan Monnier + + * mouse.el (popup-menu): Fix last change. + +2012-07-26 Stefan Monnier + + Autoload from Lisp with more care. Follow aliases when looking for + function properties. + * subr.el (autoloadp): New function. + (symbol-file): Use it. + (function-get): New function. + * emacs-lisp/macroexp.el (macroexp--expand-all): Use function-get and + autoload-do-load. + * emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function) + (lisp-indent-function): + * emacs-lisp/gv.el (gv-get): + * emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec): + * emacs-lisp/byte-opt.el (byte-optimize-form): + * emacs-lisp/bytecomp.el (byte-compile-arglist-warn): + * emacs-lisp/autoload.el (make-autoload, autoload-print-form): + Use function-get. + * emacs-lisp/cl.el: Don't propagate function properties any more. + + * speedbar.el (speedbar-add-localized-speedbar-support): + * emacs-lisp/disass.el (disassemble-internal): + * desktop.el (desktop-load-file): + * help-fns.el (help-function-arglist, find-lisp-object-file-name) + (describe-function-1): + * emacs-lisp/find-func.el (find-function-noselect): + * emacs-lisp/elp.el (elp-instrument-function): + * emacs-lisp/advice.el (ad-has-proper-definition): + * apropos.el (apropos-safe-documentation, apropos-macrop): + * emacs-lisp/debug.el (debug-on-entry): + * emacs-lisp/cl-macs.el (cl-compiler-macroexpand): + * emacs-lisp/byte-opt.el (byte-compile-inline-expand): + * calc/calc.el (name): Use autoloadp & autoload-do-load. + +2012-07-25 Alp Aker + + * international/mule-cmds.el (ucs-insert): Mark it as an obsolete + function, not an obsolete variable (Bug#12046). + +2012-07-25 Andreas Schwab + + * faces.el (face-spec-reset-face): Fix last change. (Bug#12042) + +2012-07-25 Christopher Schmidt + + * emacs-lisp/pp.el (pp-display-expression): Select old selected + window only if it is still live (Bug#12034). + +2012-07-25 Martin Rudalics + + * subr.el (redirect-frame-focus): Add advertised calling + convention (Bug#12030). + +2012-07-25 Paul Eggert + + Prefer typical American spelling for "acknowledgment". + * vc/add-log.el (change-log-acknowledgment): Rename from + change-log-acknowledgement, with an alias for the old name. + +2012-07-25 Jay Belanger + + * calc-alg.el (math-simplify-divide): Don't cross multiply + in an equation when the lhs is a variable. + +2012-07-24 Julien Danjou + + * net/netrc.el (netrc-find-service-number, netrc-store-data): + Remove, unused. + +2012-07-23 Eli Zaretskii + + * startup.el (command-line): Don't display an empty user name in + the error message about non-existent home directory, when + init-file-user was set to an empty string. See + http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00835.html + for the details and context. + +2012-07-22 Vincent Belaïche + + * ses.el (ses-cell-formula-aset): New macro. + (ses-cell-references-aset): New macro. + (ses-cell-p): New function. + (ses-rename-cell): Do no longer rely on complex operations like + ses-cell-set-formula or ses-set-cell to change the cell and handle + the undo at the same time, but rather use lower level new macros + `ses-cell-formula-aset' and `ses-cell-references-aset' and handle + the undo directly. Refresh the mode line. + +2012-07-21 Leo Liu + + * progmodes/cc-cmds.el (c-defun-name): + Use match-string-no-properties instead for consistency. + +2012-07-20 Leo Liu + + * progmodes/cc-cmds.el (c-defun-name): Handle objc selectors properly. + (Bug#7879) + + * progmodes/cc-langs.el (c-symbol-start): Include char _ (bug#11986). + +2012-07-20 Stefan Monnier + + * userlock.el, emacs-lisp/map-ynp.el: Declare part of `emacs' package. + * progmodes/bug-reference.el, misearch.el: Provide themselves + (bug#11915). + + * progmodes/cperl-mode.el (cperl-unwind-to-safe): Don't inf-loop at end + of narrowed buffer (bug#11966). + +2012-07-20 Vincent Belaïche + + * ses.el (ses-rename-cell): Set new name also in reference list of + cells of which the renamed cell depends. + +2012-07-20 Masatake YAMATO + + * term/x-win.el (x-menu-bar-open): Use `frame-parameter' + to check whether menu-bar is shown or not. If not shown, + show the menu-bar as a popup menu instead of using tmm. + * mouse.el (popup-menu): Accept `point' as `position' argument. + +2012-07-20 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-parse-partial): No error when end + up inside string symbol literal (bug#11923). + +2012-07-20 Eli Zaretskii + + * startup.el (fancy-startup-text): Read the whole tutorial, not + just its first 256 bytes. Prevents gibberish in display of the + tutorial title. + +2012-07-20 Dmitry Antipov + + Drop idle buffer compaction due to an absence of the + proved efficiency. + * compact.el: Remove. + +2012-07-19 Sam Steingold + + * vc/vc-dispatcher.el (vc-compilation-mode): Add, based on + vc-bzr-pull & vc-bzr-merge-branch. + * vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch): Use it. + (vc-bzr-error-regexp-alist): Rename from vc-bzr-error-regex-alist + for consistency with compilation-error-regexp-alist. + * vc/vc-git.el (vc-git-error-regexp-alist): Add. + (vc-git-pull, vc-git-merge-branch): Call vc-compilation-mode. + * vc/vc-hg.el (vc-hg-error-regexp-alist): Add. + (vc-hg-pull, vc-hg-merge-branch): Call vc-compilation-mode. + +2012-07-19 Stefan Monnier + + * emacs-lisp/chart.el: Use lexical-binding. + (chart-emacs-storage): Don't hardcode the list of entries. + +2012-07-19 Dmitry Antipov + + Next round of tweaks caused by Fgarbage_collect changes. + * emacs-lisp/chart.el (chart-emacs-storage): Adjust again. + +2012-07-19 Dmitry Antipov + + Compact buffers when idle. + * compact.el: New file. + +2012-07-19 Stefan Monnier + + * subr.el (eventp): Presume that if it looks vaguely like an event, + it's an event (bug#10190). + +2012-07-19 Fabián Ezequiel Gallina + + Enhancements to ppss related code (thanks Stefan). + * progmodes/python.el (python-indent-context) + (python-indent-calculate-indentation, python-indent-dedent-line) + (python-indent-electric-colon, python-nav-forward-block) + (python-mode-abbrev-table) + (python-info-assignment-continuation-line-p): Simplify checks + for ppss context. + (python-info-continuation-line-p): Cleanup. + (python-info-ppss-context): Do not catch 'quote. + (python-info-ppss-context-type) + (python-info-ppss-comment-or-string-p): Simplify. + +2012-07-18 Fabián Ezequiel Gallina + + * progmodes/python.el: Enhancements to eldoc support. + (python-info-current-symbol): New function. + (python-eldoc-at-point): Use python-info-current-symbol. + (python-info-current-defun): Fix cornercase on first defun scan. + (python-eldoc--get-doc-at-point): Use python-info-current-symbol + and signal error when no inferior python process is available. + +2012-07-18 Dmitry Gutov + + * vc/vc-git.el (vc-git-state): Don't call `vc-git-registered', + assume it's always t. + (vc-git-registered): Remove caching, the function is only called + once. + (vc-git-branches): Use `vc-git--call' instead of `call-process'. + +2012-07-18 Chong Yidong + + * subr.el (last-input-char, last-command-char): Remove (Bug#9195). + + * simple.el (count-words): Report on narrowing (Bug#9959). + + * bindings.el: Bind M-= to count-words. + + * faces.el (face-spec-reset-face): Handle reverse video (Bug#4238). + +2012-07-18 Masatake YAMATO + + * progmodes/sh-script.el (sh-imenu-generic-expression): + Capture a function with `function' keyword and without parentheses + like "function FOO" (bug#11856). + +2012-07-18 Tassilo Horn + + * window.el (split-window-sensibly): Make WINDOW argument + optional. + +2012-07-18 Chong Yidong + + * subr.el (keyboard-translate): Doc fix (Bug#7261). + + * isearch.el (isearch-mode-map): Handle C-x 8 key translations, + and make C-x 8 RET exit isearch (Bug#11439). + + * international/iso-transl.el: Move isearch-mode-map key + definitions to isearch.el. + +2012-07-18 Stefan Monnier + + * emacs-lisp/eieio.el: Adapt further to gv.el (bug#11970). + (eieio-defclass): Use gv-define-setter when possible. + +2012-07-18 Dmitry Antipov + + Reflect recent changes in Fgarbage_collect. + * emacs-lisp/chart.el (chart-emacs-storage): Change to + reflect new format of data returned by Fgarbage_collect. + +2012-07-17 Fabián Ezequiel Gallina + + New utility functions + python-info-ppss-context fix (Bug#11910). + * progmodes/python.el (python-info-beginning-of-block-statement-p) + (python-info-ppss-comment-or-string-p): New functions. + (python-info-ppss-context): Small fix for string check. + +2012-07-17 Juri Linkov + + * dired-aux.el (dired-do-async-shell-command): Doc fix. + (dired-do-async-shell-command): Don't add `*' at the end of the + command (Bug#11815). + (dired-do-shell-command): Doc fix. + (dired-shell-stuff-it): Strip the trailing "&" and ";" if any. + Join the individual commands using either "&" or ";" as the + separator depending on the values of these trailing characters. + At the end re-add the trailing "&". (Bug#10598) + + * simple.el (async-shell-command): Sync the interactive spec with + `shell-command'. Doc fix. + (shell-command): Doc fix. + +2012-07-17 Juri Linkov + + * descr-text.el (describe-char): Fix format args. (Bug#10129) + +2012-07-17 Fabián Ezequiel Gallina + + Final renames and doc fixes for movement commands (bug#11899). + * progmodes/python.el (python-nav-beginning-of-statement): + Rename from python-nav-statement-start. + (python-nav-end-of-statement): Rename from + python-nav-statement-end. + (python-nav-beginning-of-block): Rename from + python-nav-block-start. + (python-nav-end-of-block): Rename from python-nav-block-end. + +2012-07-17 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-send-string-no-output): + Allow accept-process-output to quit, keeping shell process ready for + future interactions (Bug#11868). + +2012-07-17 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl-progv): Use a properly prefixed var name. + + * emacs-lisp/elint.el (elint-find-args-in-code): + Use help-function-arglist, so as to handle lexical byte-code. + + * progmodes/sh-script.el (sh-syntax-propertize-function): Fix last + change (bug#11826). + +2012-07-17 Stefan Monnier + + * progmodes/cc-engine.el (c-forward-sws, c-backward-sws): + Avoid spuriously marking the buffer as modified because of c-is-sws. + + * progmodes/sh-script.el (sh-syntax-propertize-function): Mark "${#VAR" + as not-a-comment (bug#11946). + + * emacs-lisp/macroexp.el (macroexp-let2): Use more informative names + for uninterned vars. + + * xt-mouse.el (xterm-mouse-translate-1, xterm-mouse-event-read): + Use read-event since we don't really want to read chars but bytes. + + * textmodes/tex-mode.el (tex-font-lock-keywords-1): Highlight not only + $$..$$ but also $..$ using regexps (bug#11953). + Use tex-verbatim for \url and \path. + (tex-font-lock-keywords): Define as defconst like the others. + (tex-common-initialization): Don't use font-lock-syntax-table any more. + +2012-07-16 René Kyllingstad (tiny change) + + * international/mule-cmds.el (ucs-insert): Make it an obsolete + alias for insert-char. + +2012-07-16 Fabián Ezequiel Gallina + + * progmodes/python.el: Simplified imenu implementation. + (python-nav-jump-to-defun): Remove command. + (python-mode-map): Use `imenu' instead. + (python-nav-list-defun-positions-cache) + (python-imenu-include-defun-type, python-imenu-make-tree) + (python-imenu-subtree-root-label, python-imenu-index-alist): + Remove vars. + (python-nav-list-defun-positions, python-nav-read-defun) + (python-imenu-tree-assoc, python-imenu-make-element-tree) + (python-imenu-make-tree, python-imenu-create-index): + Remove functions. + (python-mode): Update to interact with imenu by setting + `imenu-extract-index-name-function' only. + +2012-07-16 Fabián Ezequiel Gallina + + * progmodes/python.el: Enhancements to navigation commands. + (python-nav-backward-sentence) + (python-nav-forward-sentence): Remove. + (python-nav-backward-statement, python-nav-forward-statement) + (python-nav-statement-start, python-nav-statement-end) + (python-nav-backward-block, python-nav-forward-block) + (python-nav-block-start, python-nav-block-end) + (python-nav-forward-sexp-function) + (python-info-current-line-comment-p) + (python-info-current-line-empty-p): New functions. + (python-indent-context): Use `python-nav-statement-start'. + +2012-07-16 Michael Albinus + + * eshell/em-ls.el (eshell/ls): Use `apply'. + + * eshell/em-unix.el (eshell/su, eshell/sudo): Apply Tramp's ad-hoc + multi-hops, instead of Tramp internals. + + * vc/ediff.el (ediff-directories): Add trailing space to prompts. + + * vc/ediff-diff.el (ediff-same-file-contents): Handle the case, + when F1 and F2 are located on different hosts. + +2012-07-14 Chong Yidong + + * xt-mouse.el: Implement extended mouse coordinates (Bug#10642). + (xterm-mouse-translate): Move code into xterm-mouse-translate-1. + (xterm-mouse-translate-extended, xterm-mouse-translate-1) + (xterm-mouse--read-event-sequence-1000) + (xterm-mouse--read-event-sequence-1006): New functions. For old + mouse protocol, handle M-mouse-X events correctly. + (xterm-mouse-event): New arg specifying mouse protocol. + (turn-on-xterm-mouse-tracking-on-terminal) + (turn-off-xterm-mouse-tracking-on-terminal): Send DEC 1006 + sequence to toggle extended coordinates on newer XTerms. + This appears to be harmless on terminals which do not support this. + +2012-07-14 Leo Liu + + Add fringe bitmap indicators for flymake. (Bug#11253) + * progmodes/flymake.el (flymake-highlight-line): Use fringe bitmaps. + (flymake-make-overlay): New arg BITMAP. + (flymake-error-bitmap, flymake-warning-bitmap) + (flymake-fringe-indicator-position): New user variables. + + * fringe.el: New bitmap exclamation-mark. + +2012-07-14 Jan Djärv + + * progmodes/cc-cmds.el (c-defun-name): Recognize Objective-C methods + also (Bug#7879). + +2012-07-14 Chong Yidong + + * electric.el (electric-pair-post-self-insert-function): Fix pair + insertion in empty-region case (Bug#11520). + +2012-07-14 Chong Yidong + + * bindings.el: Consolidate ctl-x-r-map bindings. + Bind copy-rectangle-as-kill to C-x r w. + + * rect.el, register.el: Move bindings to bindings.el. + +2012-07-14 Reuben Thomas + + * rect.el (copy-rectangle-as-kill): New command (Bug#739). + +2012-07-13 Andreas Schwab + + * emacs-lisp/cl.el (labels): Remove spurious quote. (Bug#11938) + +2012-07-13 Juanma Barranquero + + * bindings.el (top): Use `mapc' instead of `mapcar'. + + * loadup.el (top): Remove bogus `if' choice (brought by 2008-06-21T01:38:39Z!monnier@iro.umontreal.ca). + +2012-07-13 Michael Albinus + + * progmodes/sql.el (sql-comint): Suppress the check for program on + remote hosts. Reported by Francis Devereux . + (Bug#11908) + +2012-07-13 Chong Yidong + + * bindings.el: Assign a non-nil permanent-local property to + per-buffer variables which lack a default value (Bug#11930). + + * help-fns.el (describe-variable): In the "automatically becomes + local" notice, take note of permanent-local variables. + +2012-07-13 Chong Yidong + + * files.el (toggle-read-only): Doc fix and code cleanup. New arg + to allow printing the message when called from Lisp. + + * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): + Remove toggle-read-only. + + * bs.el (bs-toggle-readonly): + * buff-menu.el (Buffer-menu-toggle-read-only): + Remove with-no-warnings around toggle-read-only. + + * ffap.el (ffap--toggle-read-only): Accept a list of buffers. + Remove with-no-warnings around toggle-read-only. + (ffap-read-only, ffap-read-only-other-window) + (ffap-read-only-other-frame): Callers changed. + + * help-mode.el: Don't require view package. + (help-mode-finish): Set buffer-read-only instead of calling + toggle-read-only. + + * bindings.el (mode-line-toggle-read-only): + * dired.el (dired-toggle-read-only): + * ibuffer.el (ibuffer-do-toggle-read-only): Call toggle-read-only + with non-nil second arg. + + * emacs-lisp/eieio-custom.el (eieio-customize-object): + * vc/ediff.el (ediff-set-read-only-in-buf-A): Set buffer-read-only + directly. + +2012-07-12 Eli Zaretskii + + * emacs-lisp/bytecomp.el (byte-recompile-directory): Use cl-incf, + not incf. + +2012-07-11 Stefan Monnier + + More CL cleanups and reduction of use of cl.el. + * woman.el, winner.el, vc/vc-rcs.el, vc/vc-hooks.el, vc/vc-hg.el: + * vc/vc-git.el, vc/vc-dir.el, vc/vc-bzr.el, vc/vc-annotate.el: + * textmodes/tex-mode.el, textmodes/sgml-mode.el, tar-mode.el: + * strokes.el, ses.el, server.el, progmodes/js.el, progmodes/gdb-mi.el: + * progmodes/flymake.el, progmodes/ebrowse.el, progmodes/compile.el: + * play/tetris.el, play/snake.el, play/pong.el, play/landmark.el: + * play/hanoi.el, play/decipher.el, play/5x5.el, nxml/nxml-mode.el: + * net/secrets.el, net/quickurl.el, midnight.el, mail/footnote.el: + * image-dired.el, ibuffer.el, ibuf-macs.el, ibuf-ext.el, hexl.el: + * eshell/eshell.el, eshell/esh-io.el, eshell/esh-ext.el: + * eshell/esh-cmd.el, eshell/em-ls.el, eshell/em-hist.el: + * eshell/em-cmpl.el, eshell/em-banner.el: + * calendar/parse-time.el: Use cl-lib. + * wid-browse.el, wdired.el, vc/vc.el, vc/vc-mtn.el, vc/vc-cvs.el: + * vc/vc-arch.el, tree-widget.el, textmodes/texinfo.el: + * textmodes/refill.el, textmodes/css-mode.el, term/tvi970.el: + * term/ns-win.el, term.el, shell.el, ps-samp.el: + * progmodes/perl-mode.el, progmodes/pascal.el, progmodes/gud.el: + * progmodes/glasses.el, progmodes/etags.el, progmodes/cwarn.el: + * play/gamegrid.el, play/bubbles.el, novice.el, notifications.el: + * net/zeroconf.el, net/xesam.el, net/snmp-mode.el, net/mairix.el: + * net/ldap.el, net/eudc.el, net/browse-url.el, man.el: + * mail/mailheader.el, mail/feedmail.el: Don't use CL. + * ibuf-ext.el (ibuffer-mark-old-buffers): Use float-time. + * eshell/esh-opt.el (eshell-eval-using-options): Quote code with + `lambda' rather than with `quote'. + (eshell-do-opt): Adjust accordingly. + (eshell-process-option): Simplify. + * eshell/esh-var.el: + * eshell/em-script.el: Require `esh-opt' for eshell-eval-using-options. + * emacs-lisp/pcase.el (pcase--dontcare-upats, pcase--let*) + (pcase--expand, pcase--u1): Rename pcase's internal `dontcare' pattern + to `pcase--dontcare'. + * emacs-lisp/cl.el (labels): Mark obsolete. + (cl--letf, letf): Move to cl-lib. + (cl--letf*, letf*): Remove. + * emacs-lisp/cl-lib.el (cl-nth-value): Use defalias. + * emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Add indent rule. + (cl-progv): Rewrite. + (cl--letf, cl-letf): Move from cl.el. + (cl-letf*): New macro. + * emacs-lisp/cl-extra.el (cl--progv-before, cl--progv-after): Remove. + +2012-07-11 Michael Albinus + + * net/ange-ftp.el (ange-ftp-cf1): Update the files cache. + +2012-07-11 Chong Yidong + + * vc/log-edit.el (log-edit-vc-backend): New variable. + (log-edit): Doc fix. + + * vc/vc-dispatcher.el (vc-log-edit): New args. Use PARAMS + argument of log-edit to set up all local variables. + (vc-start-logentry): New optional arg specifying VC backend. + + * vc/vc.el (vc-checkin): Use it. + (vc-deduce-fileset): Handle Log Edit buffers. + (vc-diff): Make first argument optional too. + + * vc/log-view.el (log-view-vc-fileset, log-view-vc-backend): Doc fix. + +2012-07-10 Michael Albinus + + * eshell/esh-ext.el (eshell-remote-command): Remove remote part of + command, just in case. The function is not needed anymore. + (eshell-external-command): Do not call `eshell-remote-command'. + +2012-07-10 Stefan Monnier + + Reduce use of (require 'cl). + * vc/smerge-mode.el, vc/pcvs.el, vc/pcvs-util.el, vc/pcvs-info.el: + * vc/diff-mode.el, vc/cvs-status.el, uniquify.el, scroll-bar.el: + * register.el, progmodes/sh-script.el, net/gnutls.el, net/dbus.el: + * msb.el, mpc.el, minibuffer.el, international/ucs-normalize.el: + * international/quail.el, info-xref.el, imenu.el, image-mode.el: + * font-lock.el, filesets.el, edmacro.el, doc-view.el, bookmark.el: + * battery.el, avoid.el, abbrev.el: Use cl-lib. + * vc/pcvs-parse.el, vc/pcvs-defs.el, vc/log-view.el, vc/log-edit.el: + * vc/diff.el, simple.el, pcomplete.el, lpr.el, comint.el, loadhist.el: + * jit-lock.el, international/iso-ascii.el, info.el, frame.el, bs.el: + * emulation/crisp.el, electric.el, dired.el, cus-dep.el, composite.el: + * calculator.el, autorevert.el, apropos.el: Don't require CL. + * emacs-lisp/bytecomp.el (byte-recompile-directory, display-call-tree) + (byte-compile-unfold-bcf, byte-compile-check-variable): + * emacs-lisp/byte-opt.el (byte-compile-trueconstp) + (byte-compile-nilconstp): + * emacs-lisp/autoload.el (make-autoload): Use pcase. + * face-remap.el (text-scale-adjust): Simplify pcase patterns. + + * emacs-lisp/gv.el (cond): Make it a valid place. + (if): Simplify slightly. + + * emacs-lisp/pcase.el (pcase): Accept self-quoting exps as "upatterns". + (pcase--self-quoting-p): New function. + (pcase--u1): Use it. + +2012-07-10 Glenn Morris + + * emacs-lisp/authors.el (authors-fixed-entries): + (authors-renamed-files-alist): Update for configure.in -> configure.ac. + +2012-07-09 Paul Eggert + + Rename configure.in to configure.ac (Bug#11603). + * emacs-lisp/authors.el (authors-canonical-file-name): + * progmodes/autoconf.el (autoconf-mode): + Prefer configure.ac to configure.in. + +2012-07-08 Chong Yidong + + * mouse.el (mouse-drag-line): Rewrite the track-mouse loop. + Implement the mouse-1-click-follows-link handling properly. + + * info.el (Info-link-keymap): Use follow-link mechanism for + header-line links (Bug#374). + + * simple.el (deactivate-mark): Do not set the primary selection + if another program has acquired it (Bug#11772). + +2012-07-07 Kevin Ryde + + * woman.el (woman-strings): Fix double-quote handling (Bug#1151). + (woman-decode-region): Replace escaped-escapes without destroying + bold or underline (Bug#11552). + (woman2-process-escapes): Handle nofill regions (Bug#11591). + +2012-07-07 Chong Yidong + + * simple.el (yank-pop-change-selection): Doc fix (Bug#11361). + (interprogram-cut-function, interprogram-paste-function): + Mention that we typically mean the clipboard. + +2012-07-06 Glenn Morris + + * kmacro.el (kmacro-call-macro): Restore repeat message. (Bug#11817) + + * files.el (toggle-read-only): Restrict message to interactive use. + +2012-07-06 Michael Albinus + + * net/tramp.el (tramp-restricted-shell-hosts-alist): New defcustom. + + * net/tramp-sh.el (tramp-maybe-open-connection): Handle it. + +2012-07-06 Glenn Morris + + * Makefile.in (compile-one-process): Rename from "recompile". + + * Makefile.in (bzr-update): "compile" is the same as "recompile + autoloads", but parallelizable, so use that instead. + +2012-07-06 Dmitry Gutov + + * window.el (quit-window): Always restore window height when + it's saved in quit-restore parameter (Bug#11810). + +2012-07-06 Glenn Morris + + * simple.el (kill-whole-line): Doc tweak. + +2012-07-06 Eli Zaretskii + + * files.el (file-relative-name): Compare file names + case-insensitively if on MS-Windows or MS-DOS, or if + read-file-name-completion-ignore-case is non-nil. Don't use + case-fold-search for this purpose. (Bug#11827) + +2012-07-17 Andreas Schwab + + * calendar/cal-dst.el (calendar-current-time-zone): + Return calendar-current-time-zone-cache if non-nil. + +2012-07-17 Masatake YAMATO +2012-07-06 Andreas Schwab + + * calendar/cal-dst.el (calendar-current-time-zone): + Return calendar-current-time-zone-cache if non-nil. + +2012-07-06 Glenn Morris + + * Makefile.in (cvs-update): Remove old alias. + +2012-07-05 Michael Albinus + + Sync with Tramp 2.2.6-pre. + + * net/tramp.el (tramp-drop-volume-letter): Provide an XEmacs + compatible declaration. + + * net/tramp-cmds.el (tramp-append-tramp-buffers): + Protect `list-load-path-shadows' call. + + * net/tramp-compat.el (top): Require packages, which aren't + autoloaded anymore for XEmacs. Protect call of + `tramp-file-name-handler' by `tramp-compat-funcall', pacifying the + compiler. Do not require tramp-util.el and tramp-vc.el anymore, + it hurts at least for SXEmacs. + (tramp-compat-temporary-file-directory): In XEmacs, there is no + standard-value for `temporary-file-directory'. + + * net/tramp-sh.el (tramp-do-directory-files-and-attributes-with-stat): + Redirect stderr to /dev/null. + (tramp-sh-handle-write-region): uid and gid can be floats. + Reported by Russell Sim . + (tramp-sh-handle-vc-registered): Hide errors. + (tramp-vc-file-name-handler): Use dummy results for `process-file' + and `start-file-process'. + (tramp-maybe-open-connection): Check also whether `non-essential' + is bound. + +2012-07-04 Chong Yidong + + * xml.el (xml--parse-buffer): Use xml-syntax-table. + (xml-parse-tag): Likewise, and avoid changing entity tables. + (xml-syntax-table): Define from scratch, making sure not to give + x2000 and other Unicode spaces whitespace syntax, since those are + not spaces in XML. + (xml-parse-fragment): Delete unused function. + (xml-name-start-char-re, xml-name-char-re, xml-name-re) + (xml-names-re, xml-nmtoken-re, xml-nmtokens-re, xml-char-ref-re) + (xml-entity-ref, xml-pe-reference-re) + (xml-reference-re, xml-att-value-re, xml-tokenized-type-re) + (xml-notation-type-re, xml-enumeration-re, xml-enumerated-type-re) + (xml-att-type-re, xml-default-decl-re, xml-att-def-re) + (xml-entity-value-re): Use syntax references in regexps where + possible; no need to define inside a let-binding. + (xml-parse-dtd): Use xml-pe-reference-re. + (xml-entity-or-char-ref-re): New defconst. + (xml-parse-string, xml-substitute-special): Use it. + +2012-07-04 Stefan Monnier + + * files.el (locate-dominating-file): Allow `name' to be a predicate. + (find-file--read-only): New function. + (find-file-read-only, find-file-read-only-other-window) + (find-file-read-only-other-frame): Use it. + (insert-file-contents-literally): Don't `fset'. + (get-free-disk-space): Use locate-dominating-file. + + * emacs-lisp/bytecomp.el (byte-compile): Don't signal an error if the + function is already compiled. + + * xml.el (xml-name-regexp): Remove, redundant. Use xml-name-re. + +2012-07-03 Michael Albinus + + * vc/ediff-diff.el (ediff-same-file-contents): Fix it for remote + files on the same host. + +2012-07-03 Andreas Schwab + + * help-fns.el (describe-function-1): Only call + help-fns--autoloaded-p when we have a file name. (Bug#11848) + +2012-07-03 Chong Yidong + + * xml.el: Protect parser against XML bombs. + (xml-entity-expansion-limit): New variable. + (xml-parse-string, xml-substitute-special): Use it. + (xml-parse-dtd): Avoid infloop if the DTD is not terminated. + +2012-07-03 Glenn Morris + + * progmodes/bug-reference.el (bug-reference-bug-regexp): + Allow linking to specific messages in debbugs reports (eg 123#5). + +2012-07-02 Chong Yidong + + * xml.el: Fix entity and character reference expansion, allowing + them to expand into markup as per XML spec. + (xml-default-ns): New variable. + (xml-entity-alist): Use XML spec definitions for lt and amp. + (xml-parse-region): Make first two arguments optional. + Discard text properties. + (xml-parse-tag-1): New function, spun off from xml-parse-tag. + All callers changed. + (xml-parse-tag): Call xml-parse-tag-1. For backward + compatibility, this function should not modify buffer contents. + (xml-parse-tag-1): Fix opening-tag regexp. + (xml-parse-string): Rewrite, handling entity and character + references properly. + (xml--entity-replacement-text): Signal an error if a parameter + entity is undefined. + +2012-07-02 Stefan Monnier + + * comint.el (comint-output-filter): Filter out repeated prompts. + + * net/ange-ftp.el (ange-ftp-expand-file-name): Use ange-ftp-ftp-name + and file-name-absolute-p. + (ange-ftp-file-exists-p): Use ange-ftp-file-exists-p for + internal calls. + +2012-07-02 Paul Eggert + + Spelling fixes. + * emacs-lisp/bytecomp.el (byte-compile--reify-function): + Rename from byte-compile--refiy-function. All uses changed. + +2012-07-01 Chong Yidong + + * xml.el (xml--parse-buffer): New function. Move most of + xml-parse-region here. + (xml-parse-region): Copy region into a temporary buffer, since + parameter entity substitution requires changing buffer contents. + Use xml--parse-buffer. + (xml-parse-file): Use xml--parse-buffer. + (xml-parse-dtd): Make parameter entity substitution work right. + Use proper regexps for ELEMENT declarations (Bug#7172). + +2012-06-30 Glenn Morris + + * comint.el (follow-comint-scroll-to-bottom): Fix declaration. + + * net/secrets.el, net/tramp-gvfs.el, net/xesam.el, net/zeroconf.el: + Remove outdated and unnecessary dbus declarations. + +2012-06-30 Eli Zaretskii + + * emacs-lisp/timer.el (timer-until): Subtract results of + float-time, instead of taking float-time of the result of + time-subtract, since float-time signals an error for negative time + arguments. + +2012-06-30 Chong Yidong + + * xml.el (xml-*-re): Convert defvars into defconsts, and + eval-and-compile them so eval-and-compile works on derivatives. + (xml--entity-replacement-text): Use eval-and-comple. + +2012-06-30 Michael Albinus + + * vc/vc-git.el (vc-git-registered): Use cache property + `git-registered'. + (vc-git-mode-line-string): Call `vc-working-revision' instead of + `vc-git-working-revision' in order to benefit from the cache. + (vc-git-root): Use cache property `git-root'. (Bug#11757) + +2012-06-30 Dmitry Gutov + + * vc/vc-hooks.el (vc-before-save): Clear cache if file has been + removed (likely outside Emacs). (Bug#11757) + +2012-06-30 Stefan Monnier + + * emacs-lisp/cl-lib.el: Require macroexp. + +2012-06-30 Chong Yidong + + * xml.el: Implement XML parameter entities. + (xml-parameter-entity-alist): New variable. + (xml-parse-region, xml-parse-fragment): Preserve previous values + of xml-entity-alist and xml-parameter-entity-alist, so that + repeated calls on different documents do not change them. + (xml-parse-tag): Fix doctype regexp. + (xml--entity-replacement-text): New function. + (xml-parse-dtd): Use it. Don't handle system entities; doing that + properly requires url retrieval which is unimplemented. + (xml-escape-string): Doc fix. + +2012-06-30 Stefan Monnier + + * emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2. + +2012-06-29 Dmitry Antipov + + * fringe.el (fringe-mode): Doc fix. + +2012-06-29 Michael Albinus + + * net/ange-ftp.el (ange-ftp-get-passwd): Throw if `non-essential' + is non-nil. + (ange-ftp-ignore-errors-if-non-essential): New defmacro. + (ange-ftp-file-name-all-completions): Use it. (Bug#11808) + +2012-06-29 Andreas Schwab + + * calendar/cal-dst.el (calendar-current-time-zone): + Return calendar-current-time-zone-cache if non-nil. + +2012-06-29 Masatake YAMATO + + * progmodes/which-func.el (which-func-format): + Add mouse-face. (Bug#11698) + +2012-06-29 Leo Liu + + * textmodes/enriched.el (enriched-next-annotation): Use eq (Bug#11528). + +2012-06-29 Stefan Monnier + + * minibuffer.el (minibuffer-confirm-exit-commands): + Add completion-at-point (bug#11725). + +2012-06-29 Glenn Morris + + * progmodes/f90.el (f90-font-lock-keywords-2): + Add some preprocessor elements. (Bug#10499) + +2012-06-29 Stefan Monnier + + * progmodes/cperl-mode.el (cperl-update-syntaxification): + Use syntax-propertize (bug#11739). + +2012-06-28 Juanma Barranquero + + * emacs-lisp/cl-lib.el (cl-pushnew): Don't capture X (bug#11811). + +2012-06-28 Julien Danjou + + * term.el (term-handle-colors-array): Use a set of new faces to + color the terminal. Also uses :inverse-video property. + (term-default-fg-color): Set to nil by default, deprecate in favor + of `term-face'. + (term-default-bg-color): Set to nil by default, deprecate in favor + of `term-face'. + (term-current-face): Use `term-face' by default. + (term-bold-attribute): Variable deleted. + +2012-06-28 Glenn Morris + + * simple.el (completion-list-mode-finish): + Don't use toggle-read-only. (Since completion-list-mode has + a special mode-class, it wasn't doing anything extra anyway.) + +2012-06-28 Stefan Monnier + + Make inlining of other-mode interpreted functions work (bug#11799). + * emacs-lisp/bytecomp.el (byte-compile--refiy-function): New fun. + (byte-compile): Use it to fix compilation of lexical-binding closures. + * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Compile the + function, if needed. + +2012-06-27 Stefan Monnier + + * help-mode.el (help-make-xrefs): Don't just withstand + cyclic-variable-indirection but any error in documentation-property. + + * loadup.el (purify-flag): Pre-grow the hash-table to reduce the + memory use. + * bindings.el (bindings--define-key): New function. + * vc/vc-hooks.el, replace.el, menu-bar.el, international/mule-cmds.el: + * emacs-lisp/lisp-mode.el, buff-menu.el, bookmark.el: + * bindings.el: Use it to purecopy define-key bindings. + + * textmodes/rst.el (rst-adornment-faces-alist): Avoid copy-list. + + * emacs-lisp/cl.el (flet): Mark obsolete. + * emacs-lisp/cl-macs.el (cl-flet*): New macro. + * vc/vc-rcs.el (vc-rcs-annotate-command, vc-rcs-parse): + * progmodes/js.el (js-c-fill-paragraph): + * progmodes/ebrowse.el (ebrowse-switch-member-buffer-to-sibling-class) + (ebrowse-switch-member-buffer-to-derived-class): + * play/5x5.el (5x5-solver): Use cl-flet. + + * emacs-lisp/cl.el: Use lexical-binding. Fix flet (bug#11780). + (cl--symbol-function): New macro. + (cl--letf, cl--letf*): Use it. + + * emacs-lisp/easy-mmode.el (easy-mmode-pretty-mode-name): + Strip "toggle-" if any. + +2012-06-27 Glenn Morris + + * info.el (Info-default-directory-list): Move here from paths.el. + * paths.el: Remove file, which is now empty. + * loadup.el: No longer load "paths". + + * custom.el (custom-initialize-delay): Doc fix. + + * eshell/em-alias.el, eshell/em-banner.el, eshell/em-basic.el: + * eshell/em-cmpl.el, eshell/em-dirs.el, eshell/em-glob.el: + * eshell/em-hist.el, eshell/em-ls.el, eshell/em-pred.el: + * eshell/em-prompt.el, eshell/em-rebind.el, eshell/em-script.el: + * eshell/em-smart.el, eshell/em-term.el, eshell/em-unix.el: + * eshell/em-xtra.el: Replace eshell-defgroup with "(progn (defgroup". + * eshell/eshell.el (eshell-defgroup): Remove alias. + +2012-06-27 Chong Yidong + + * help.el (help-enable-auto-load): New variable. + + * help-fns.el (help-fns--autoloaded-p): New function. + (describe-function-1): Refer to a function as "autoloaded" if it + was autoloaded at any time in the past. Perform autoloading if + help-enable-auto-load is non-nil. + +2012-06-26 Eli Zaretskii + + * makefile.w32-in (compile, compile-always): Depend on + update-subdirs, not on subdirs.el. Otherwise, several different + sub-targets of 'bootstrap' running in parallel could + simultaneously write to subdirs.el, producing a garbled file. + +2012-06-26 Sam Steingold + + * files.el (file-name-base): New convenience function. + * autoinsert.el, cus-dep.el, doc-view.el, image-dired.el: + * woman.el, eshell/esh-cmd.el, progmodes/ada-xref.el: + * progmodes/cc-defs.el, progmodes/cperl-mode.el: + * progmodes/flymake.el, progmodes/gud.el, progmodes/idlwave.el: + * textmodes/ispell.el, textmodes/reftex-ref.el: + * textmodes/tex-mode.el: Use it. + Did not touch cedet and org because they are maintained elsewhere. + +2012-06-26 Martin Rudalics + + * calendar/calendar.el (calendar-exit): Don't try to delete or + iconify last frame. See: + http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00372.html + +2012-06-25 Jim Diamond (tiny change) + + * server.el (server-process-filter): Remember dir in the + process's `server-client-directory' properties. + +2012-06-24 Chong Yidong + + * xml.el (xml-parse-tag): Correctly handle comment embedded in + non-tag text. + +2012-06-23 Juanma Barranquero + + * makefile.w32-in (COMPILE_FIRST): Synch with changes in 2012-06-22T21:24:54Z!monnier@iro.umontreal.ca. + +2012-06-23 Stefan Monnier + + * help-fns.el (describe-variable): Don't croak when doc is not found. + * vc/pcvs.el (cvs-retrieve-revision): Avoid toggle-read-only. + * menu-bar.el (menu-bar-line-wrapping-menu): Purecopy a tiny bit more. + * emacs-lisp/syntax.el (syntax-ppss): Simplify with new `if' place. + * emacs-lisp/smie.el (smie-next-sexp): CSE. + * emacs-lisp/macroexp.el (macroexp-let2): Fix edebug spec and avoid + ((lambda ..) ..). + * emacs-lisp/eieio.el (eieio-oref, slot-value): Use simpler defsetf. + +2012-06-23 Chong Yidong + + * info.el (Info-mouse-follow-link): Accept symbol values of + link-args. Select window; suggested by Gerhard Kahl (Bug#11672). + (Info-fontify-node): Use Info-link-keymap for all navigation + buttons, with link-args property to perform the desired action. + (Info-link-keymap): Doc fix. + (Info-next-link-keymap, Info-prev-link-keymap) + (Info-up-link-keymap): Delete now-unused keymaps. + +2012-06-23 Chong Yidong + + * mouse.el (mouse-drag-track): Deactivate the mark before popping. + + * progmodes/python.el (python-skeleton-define): Mark abbrevs as + system abbrevs. + + * ansi-color.el (ansi-color-apply-on-region): Doc fix. + +2012-06-23 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl--make-usage-args): Handle improper lists + (bug#11719). + + * minibuffer.el (completion--twq-try): Try to fail more gracefully when + the requote function doesn't work properly (bug#11714). + +2012-06-23 Glenn Morris + + * pcmpl-rpm.el (pcmpl-rpm-packages): Give status messages. + +2012-06-22 Stefan Monnier + + Further GV/CL cleanups. + * emacs-lisp/gv.el (gv-get): Autoload functions to find their + gv-expander. + (gv--defun-declaration): New function. + (defun-declarations-alist): Use it. + (gv-define-modify-macro, gv-pushnew!, gv-inc!, gv-dec!): Remove. + (gv-place): Autoload. + * emacs-lisp/cl.el (cl--dotimes, cl--dolist): Remember subr.el's + original definition of dotimes and dolist. + * emacs-lisp/cl-macs.el (cl-expr-access-order): Remove unused. + (cl-dolist, cl-dotimes): Use `dolist' and `dotimes'. + * emacs-lisp/cl-lib.el: Move gv handlers from cl-macs to here. + (cl-fifth, cl-sixth, cl-seventh, cl-eighth) + (cl-ninth, cl-tenth): Move gv handler to the function's definition. + * emacs-lisp/cl-extra.el (cl-subseq, cl-get, cl-getf): Move gv handler + to the function's definition. + * Makefile.in (COMPILE_FIRST): Re-order to speed it up by about 50%. + * window.el: + * files.el: + * faces.el: + * env.el: Don't use CL. + +2012-06-22 Paul Eggert + + Support higher-resolution time stamps (Bug#9000). + + * calendar/time-date.el (with-decoded-time-value): New arg + PICO-SYMBOL in VARLIST. It's optional, for backward compatibility. + (encode-time-value): New optional arg PICO. New type 3. + (time-to-seconds) [!float-time]: Support the new picoseconds + component if it's used. + (seconds-to-time, time-subtract, time-add): + Support ps-resolution time stamps as well. + + * emacs-lisp/timer.el (timer): New component psecs. All uses changed. + (timerp): Timer vectors now have length 9, not 8. + (timer--time): Support new-style (4-part) time stamps. + (timer-next-integral-multiple-of-time): Time stamps now have + picosecond resolution, so take a bit more care about rounding. + (timer-relative-time, timer-inc-time): New optional arg psecs. + (timer-set-time-with-usecs): Set psecs to 0. + (timer--activate): Check psecs component, too. + + * proced.el (proced-time-lessp): Support ps-resolution stamps. + +2012-06-22 Stefan Monnier + + * icomplete.el (icomplete-minibuffer-setup, icomplete-completions): + Move the non-essential binding to the post/pre-command-hook where it is + more obviously correct. + + * subr.el (read-passwd): Don't use a history at all. + * savehist.el (savehist-save): Remove password saved accidentally + because of the above bug. + +2012-06-22 Bastien Guerry + + * files.el (toggle-read-only): Display a message telling whether + the buffer is read-only or not (bug#11726). + +2012-06-22 Stefan Monnier + + * emacs-lisp/gv.el: New file. + * subr.el (push, pop): Extend to generalized variables. + * loadup.el (macroexp): Unload if preloaded and uncompiled (bug#11657). + * emacs-lisp/cl-lib.el (cl-pop, cl-push, cl--set-nthcdr): Remove. + * emacs-lisp/cl-macs.el: Require gv. Use gv-define-setter, + gv-define-simple-setter, and gv-define-expander. + Remove setf-methods defined in gv. Rename cl-setf -> setf. + (cl-setf, cl-do-pop, cl-get-setf-method): Remove. + (cl-letf, cl-letf*, cl-define-modify-macro, cl-defsetf) + (cl-define-setf-expander, cl-struct-setf-expander): Move to cl.el. + (cl-remf, cl-shiftf, cl-rotatef, cl-callf, cl-callf2): Rewrite with + gv-letplace. + (cl-defstruct): Don't define setf-method any more. + * emacs-lisp/cl.el (flet): Don't autoload. + (cl--letf, letf, cl--letf*, letf*, cl--gv-adapt) + (define-setf-expander, defsetf, define-modify-macro) + (cl-struct-setf-expander): Move from cl-lib.el. + * emacs-lisp/syntax.el: + * emacs-lisp/ewoc.el: + * emacs-lisp/smie.el: + * emacs-lisp/cconv.el: + * emacs-lisp/timer.el: Rename cl-setf -> setf, cl-push -> push. + (timer--time): Use gv-define-simple-setter. + * emacs-lisp/macroexp.el (macroexp-let2): Rename from macroexp-let² + to avoid coding-system problems in subr.el. Adjust all users. + (macroexp--maxsize, macroexp-small-p): New functions. + * emacs-lisp/bytecomp.el (byte-compile-file): Don't use cl-letf. + * scroll-bar.el (scroll-bar-mode): + * simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode) + (normal-erase-is-backspace-mode): Don't use the `eq' place. + * winner.el (winner-configuration, winner-make-point-alist) + (winner-set-conf, winner-get-point, winner-set): Don't abuse letf. + * files.el (locate-file-completion-table): Avoid list*. + +2012-06-22 Chong Yidong + + * dired-aux.el (dired-do-create-files): Doc fix (Bug#11327). + (dired-create-files): Doc fix (Bug#11329). + (dired-do-copy): Doc fix (Bug#11334). + (dired-mark-read-string): Doc fix (Bug#11553). + + * dired.el (dired-recursive-copies, dired-recursive-deletes): + Doc fix (Bug#11326). + (dired-make-relative): Doc fix (Bug#11332). Remove unused arg. + (dired-dwim-target): Doc fix. + + * wdired.el (wdired-mode): Doc fix. + +2012-06-22 Glenn Morris + + * pcmpl-rpm.el (pcmpl-rpm-cache): New option. + (pcmpl-rpm-cache-stamp-file): New constant. + (pcmpl-rpm-cache-time, pcmpl-rpm-packages): New variables. + (pcmpl-rpm-packages): Optionally cache list of packages. + + * pcmpl-rpm.el (pcmpl-rpm): New group. + (pcmpl-rpm-query-options): New option. + (pcmpl-rpm-packages): No need to inline it. + Use pcmpl-rpm-query-options. + + * calendar/calendar.el (calendar-in-read-only-buffer): + Avoid some needless mode changes. + +2012-06-21 Chong Yidong + + * desktop.el (desktop-read): Don't prompt if daemon (Bug#11674). + (desktop-path): Remove . from the default value (Bug#10977). + (desktop-read): Use user-emacs-directory if desktop-path is nil. + +2012-06-20 Chong Yidong + + * term.el (term-send-raw-meta): Make C-M- keys work (Bug#8172). + +2012-06-20 David Röthlisberger (tiny change) + + * ido.el (ido-switch-buffer, ido-find-file): Fix up doc of C-j + (bug#11201). + +2012-06-20 Chong Yidong + + * term.el (term-window-width): Handle the case of a missing right + fringe (Bug#8837). + (term-check-size): Use window-text-height (Bug#5445). + (term-mode): Use define-derived-mode. Minor cleanups. + Set font-lock-defaults (Bug#7692). + (term-move-columns, term-insert-char, term-emulate-terminal) + (term-erase-in-line, term-insert-spaces): Use font-lock-face. + +2012-06-20 Michael Albinus + + * net/ange-ftp.el (ange-ftp-get-passwd): + Bind `enable-recursive-minibuffers'. + (ange-ftp-get-process): Throw if `non-essential' is non-nil. + +2012-06-19 David Röthlisberger (tiny change) + + * ido.el (ido-find-file): Mention C-d binding in docstring (bug#11244). + +2012-06-19 Glenn Morris + + * progmodes/python.el (python-mode): Derive from prog-mode. + +2012-06-19 Kevin Gallagher + + * emulation/edt.el (edt-default-menu-bar-update-buffers) + (edt-user-menu-bar-update-buffers): New functions. + (edt-default-emulation-setup, edt-user-emulation-setup): Use them. + +2012-06-19 Chong Yidong + + * subr.el (with-selected-window): Preserve the selected window's + terminal's top-frame (Bug#4702). + + * window.el (save-selected-window): Likewise. + +2012-06-18 Stefan Monnier + + * progmodes/python.el (python-rx-constituents): Move backquote. + (python-skeleton-define, python-define-auxiliary-skeleton): + Use `declare'. + +2012-06-18 Michael Albinus + + * minibuffer.el (read-file-name-default): Revert the patch from + 2012-06-17. + +2012-06-18 Stefan Monnier + + * emacs-lisp/pcase.el (pcase--expand): Warn for unused pattern. + (pcase--u1, pcase--q1): Don't use apply-partially. + +2012-06-18 Glenn Morris + + * progmodes/python.el (python-proc, python-buffer) + (python-send-receive, python-send-string): Fix obsolete versions. + +2012-06-18 Martin Rudalics + + * window.el (special-display-p): Completely remove stringp + check. Suggested by Andreas Schwab . + +2012-06-17 Michael Albinus + + * minibuffer.el (read-file-name-default): Bind `non-essential' to `t'. + + * net/tramp.el (tramp-file-name-handler): Catch 'non-essential. + + * net/ange-ftp.el (ange-ftp-gwp-start, ange-ftp-start-process): + * net/tramp-sh.el (tramp-maybe-open-connection): + Throw if `non-essential' is non-nil. + +2012-06-17 Martin Rudalics + + * window.el (special-display-p): Signal an error if BUFFER-NAME + is not a string (Bug#11713). + +2012-06-17 Paul Eggert + + * progmodes/python.el (python-info-beginning-of-backslash): + Rename from python-info-beginning-of-backlash, as a spelling fix. + +2012-06-17 Chong Yidong + + * term.el (term-emulate-terminal): If term-check-size is called, + move point to the process mark without resetting point (Bug#4635). + +2012-06-17 Glenn Morris + + * international/mule-cmds.el (mule-menu-keymap) + (set-language-environment, set-locale-environment): Doc tweaks. + +2012-06-16 Aurelien Aptel + + * cus-face.el (custom-face-attributes): Add wave-style underline + attribute. + * faces.el (set-face-attribute): Update docstring to describe + wave-style underline attribute. + +2012-06-16 Chong Yidong + + * term/xterm.el (terminal-init-xterm): Discard input before + querying background mode (Bug#10959). + +2012-06-16 Stefan Merten + + * textmodes/rst.el: Added and corrected some comments. + (rst-re-alist-def): Improve symbol syntax. + (rst-mode-syntax-table): Correct syntax entries. + (rst-cvs-header, rst-svn-rev, rst-svn-timestamp) + (rst-official-version, rst-official-cvs-rev): Update version + information. + +2012-06-15 Juanma Barranquero + + * makefile.w32-in (COMPILE_FIRST): Synch with makefile.in changes + in 2008-06-22T13:57:28Z!monnier@iro.umontreal.ca. + +2012-06-15 Fabián Ezequiel Gallina + + * progmodes/python.el: New python.el merge. + (python-guess-indent): Obsolete var. + (python-indent-guess-indent-offset): New defcustom. + (python-indent): Obsolete var. + (python-indent-offset): New defcustom. + (python-python-command, python-jython-command): Delete var. + (python-shell-interpreter): New defcustom. + (python-pdbtrack-do-tracking-p): Delete var. + (python-pdbtrack-activate): New defcustom. + (python-use-skeletons): Obsolete var. + (python-skeleton-autoinsert): New defcustom. + (inferior-python-filter-regexp, python-continuation-offset) + (python-honour-comment-indentation, python-indent-string-contents) + (python-jython-packages, python-mode-hook) + (python-pdbtrack-minor-mode-string, python-remove-cwd-from-path) + (python-shell-prompt-alist) + (python-source-modes): Delete defcustoms. + (python-check-buffer-name, python-eldoc-setup-code) + (python-eldoc-string-code, python-ffap-setup-code) + (python-ffap-string-code, python-fill-comment-function) + (python-fill-decorator-function, python-fill-paren-function) + (python-fill-string-function, python-imenu-include-defun-type) + (python-imenu-make-tree, python-imenu-subtree-root-label) + (python-pdbtrack-stacktrace-info-regexp, python-shell-buffer-name) + (python-shell-compilation-regexp-alist) + (python-shell-completion-module-string-code) + (python-shell-completion-pdb-string-code) + (python-shell-completion-setup-code) + (python-shell-completion-string-code) + (python-shell-enable-font-lock, python-shell-exec-path) + (python-shell-extra-pythonpaths) + (python-shell-internal-buffer-name, python-shell-interpreter-args) + (python-shell-process-environment) + (python-shell-prompt-block-regexp) + (python-shell-prompt-output-regexp) + (python-shell-prompt-pdb-regexp, python-shell-prompt-regexp) + (python-shell-send-setup-max-wait, python-shell-setup-codes) + (python-shell-virtualenv-path): New defcustoms. + (brm-menu, eldoc-documentation-function, inferior-python-mode-map) + (inferior-python-mode-syntax-table, python--prompt-regexp) + (python-buffer, python-command python-python-command) + (python-default-template, python-imports, python-indent-index) + (python-indent-list, python-indent-list-length) + (python-mode-running, python-pdbtrack-is-tracking-p) + (python-preoutput-continuation, python-preoutput-leftover) + (python-preoutput-result, python-preoutput-skip-next-prompt) + (python-prev-dir/file, python-recursing) + (python-saved-check-command, python-version-checked) + (python-which-func-length-limit) + (view-return-to-alist): Delete vars. + (python-check-custom-command, python-dotty-syntax-table) + (python-imenu-index-alist, python-indent-current-level) + (python-indent-dedenters, python-indent-levels) + (python-nav-beginning-of-defun-regexp) + (python-nav-list-defun-positions-cache) + (python-pdbtrack-buffers-to-kill, python-pdbtrack-tracked-buffer) + (python-shell-internal-buffer) + (python-skeleton-available): New vars. + (def-python-skeleton): Delete macro. + (python-skeleton-define): New macro. + (python-define-auxiliary-skeleton, python-rx): New macros. + (python-insert-class): Delete command. + (python-skeleton-class): New command. + (python-insert-def): Delete command. + (python-skeleton-def): New command. + (python-insert-for): Delete command. + (python-skeleton-for): New command. + (python-insert-if): Delete command. + (python-skeleton-if): New command. + (python-insert-try/except, python-insert-try/finally): Delete commands. + (python-skeleton-try): New command. + (python-insert-while): Delete command. + (python-skeleton-while): New command. + (python-backspace): Delete command. + (python-indent-dedent-line-backspace): New command. + (python-electric-colon): Delete command. + (python-indent-electric-colon): New command. + (python-guess-indent): Delete command. + (python-indent-guess-indent-offset): New command. + (python-shift-left): Delete command. + (python-indent-shift-left): New command. + (python-shift-right): Delete command. + (python-indent-shift-right): New command. + (python-find-function): Delete command. + (python-nav-jump-to-defun): New command. + (python-next-statement): Delete command. + (python-nav-forward-sentence): New command. + (python-previous-statement): Delete command. + (python-nav-backward-sentence): New command. + (python-fill-paragraph): Delete command. + (python-fill-paragraph-function): New command. + (python-send-buffer): Delete command. + (python-shell-send-buffer): New command. + (python-send-defun): Delete command. + (python-shell-send-defun): New command. + (python-send-region, python-send-region-and-go): Delete commands. + (python-shell-send-region) + (python-shell-switch-to-shell): New commands. + (python-send-string): Delete command. + (python-shell-send-string): New command. + (python-switch-to-python): Delete command. + (python-shell-switch-to-shell): New command. + (python-describe-symbol): Delete command. + (python-eldoc-at-point): New command. + (python--set-prompt-regexp, python-args-to-list) + (python-after-info-look, python-check-version) + (python-check-comint-prompt, python-find-imports) + (python-execute-file, turn-off-pdbtrack, turn-on-pdbtrack) + (python-unload-function, python-expand-template) + (python-maybe-jython, python-preoutput-filter) + (python-pdbtrack-get-source-buffer) + (python-pdbtrack-grub-for-buffer, python-pdbtrack-overlay-arrow) + (python-pdbtrack-toggle-stack-tracking) + (python-pdbtrack-track-stack-file, python-initial-text) + (python-first-word, python-comment-line-p, python-send-command) + (python-setup-brm, python-sentinel, python-set-proc) + (python-skip-out, python-input-filter, python-outdent-p) + (python-outline-level, python-backslash-continuation-line-p) + (python-end-of-block, python-end-of-statement, python-mark-block) + (python-beginning-of-block, python-beginning-of-statement) + (python-blank-line-p, python-beginning-of-string) + (python-open-block-statement-p): Delete functions. + (python-indent-line, python-indent-line-1): Delete functions. + (python-indent-line): New function. + (python-indentation-levels): Delete function. + (python-indent-calculate-levels): New function. + (python-proc): Delete function. + (python-shell-get-process): New function. + (python-send-receive): Delete function. + (python-shell-send-string-no-output): New function. + (python-module-path): Delete function. + (python-ffap-module-path): New function. + (python-completion-at-point) + (python-symbol-completions): Delete functions. + (python-completion-complete-at-point): New function. + (python-load-file): Delete function. + (python-shell-send-file): New function. + (python-calculate-indentation): Delete function. + (python-indent-calculate-indentation): New function. + (python-skip-comments/blanks): Delete function. + (python-util-forward-comment): New function. + (python-continuation-line-p): Delete function. + (python-info-continuation-line-p): New function. + (python-which-func, python-current-defun): Delete function. + (python-info-current-defun): New function. + (python-beginning-of-defun): Delete function. + (python-nav-beginning-of-defun): New function. + (python-close-block-statement-p) + (python-block-end-p): Delete function. + (python-info-closing-block): New function. + (python-comint-output-filter-function) + (python-eldoc--get-doc-at-point, python-end-of-defun-function) + (python-fill-comment, python-fill-decorator, python-fill-paren) + (python-fill-string, python-imenu-make-element-tree) + (python-imenu-make-tree, python-imenu-tree-assoc) + (python-indent-context, python-indent-dedent-line) + (python-indent-line-function) + (python-indent-post-self-insert-function) + (python-indent-toggle-levels) + (python-info-assignment-continuation-line-p) + (python-info-beginning-of-backlash) + (python-info-block-continuation-line-p) + (python-info-closing-block-message) + (python-info-line-ends-backslash-p) + (python-info-looking-at-beginning-of-defun) + (python-info-ppss-context, python-info-ppss-context-type) + (python-nav-list-defun-positions, python-nav-read-defun) + (python-nav-sentence-end, python-nav-sentence-start) + (python-pdbtrack-comint-output-filter-function) + (python-pdbtrack-set-tracked-buffer) + (python-shell-calculate-exec-path) + (python-shell-calculate-process-environment) + (python-shell-completion--do-completion-at-point) + (python-shell-completion--get-completions) + (python-shell-completion-complete-at-point) + (python-shell-completion-complete-or-indent) + (python-shell-get-or-create-process) + (python-shell-get-process-name) + (python-shell-internal-get-or-create-process) + (python-shell-internal-get-process-name) + (python-shell-internal-send-string, python-shell-make-comint) + (python-shell-parse-command, python-shell-send-setup-code) + (python-skeleton-add-menu-items) + (python-util-clone-local-variables, python-util-position) + (run-python-internal, python-indentation-levels) + (python-nav-beginning-of-defun) + (python-completion-complete-at-point): New functions. + (run-python): Change arguments. New API requirements. + +2012-06-15 Stefan Monnier + + * emacs-lisp/cl-lib.el (cl--defsubst-expand): Autoload inliner + (bug#11649). + + * emacs-lisp/macroexp.el (macroexp--compiler-macro): New function. + (macroexp--expand-all): Use it. + + * emacs-lisp/cl-macs.el (cl--transform-function-property): Remove. + (cl-define-setf-expander, cl-deftype, cl-define-compiler-macro): + Use `cl-function' instead. + +2012-06-14 Juanma Barranquero + + * makefile.w32-in (COMPILE_FIRST): Remove subr.el. + Suggested by Stefan Monnier while discussing bug#11657. + +2012-06-14 Sam Steingold + + * files.el (abort-if-file-too-large): Use `file-size-human-readable'. + +2012-06-14 Andreas Schwab + + * play/doctor.el (doctor-doc): Remove parameter and use + doctor-sent instead of sent. + (doctor-read-print): Use doctor-sent instead of sent. (Bug#11708) + +2012-06-13 Stefan Monnier + + * files.el: Require cl-lib. + (file-name-non-special): Replace case -> cl-case. + + * emacs-lisp/cl-macs.el (cl-defstruct): Don't add print-func. + + * emacs-lisp/edebug.el (edebug-read-function): Remove old incorrect + mapping from #' to function*. + +2012-06-13 Chong Yidong + + * mouse.el (mouse-drag-track): Do not set the mark if the user + releases the mouse without selecting anything (Bug#11588). + +2012-06-13 Stefan Monnier + + * textmodes/tex-mode.el (latex-indent): Recognize tex-verbatim at EOB + as well (bug#11646). + + * loadup.el: Count byte-code functions as well. + + * emacs-lisp/byte-opt.el (featurep): Move compiler-macro... + * emacs-lisp/bytecomp.el (featurep): ...here (bug#11692). + + * emacs-lisp/autoload.el (make-autoload): Accept nil doc-string-elt + (bug#11649). Add cl-defun and cl-defmacro. + +2012-06-13 Drew Adams + + * help-mode.el (help-bookmark-make-record, help-bookmark-jump): + Fix last change. + +2012-06-13 Michael Albinus + + * net/dbus.el (dbus-call-method): Use timeout for `read-event'. + Otherwise, it blocks in batch mode. + +2012-06-13 Juanma Barranquero + + * help-mode.el (bookmark-make-record-default): Declare. + +2012-06-13 Chong Yidong + + * emacs-lisp/package.el (list-packages): Compute a list of + packages that are newly-available since the last list-packages + invocation. + (package-menu--new-package-list): New var. + (package-menu--generate, package-menu--print-info) + (package-menu--status-predicate, package-menu-mark-install): + Handle new status label "new". + +2012-06-12 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl-remf): Fix error in recent + conversion to backquotes. + +2012-06-12 Chong Yidong + + * emacs-lisp/edebug.el (edebug-inhibit-emacs-lisp-mode-bindings): + Rename from gud-inhibit-global-bindings. + + * emacs-lisp/eieio.el (eieio-pre-method-execution-hooks): Doc fix. + + * nxml/nxml-glyph.el (nxml-glyph-set-functions): Rename abnormal + hook from nxml-glyph-set-hook. + + * progmodes/cwarn.el (cwarn-mode): Remove redundant variable + declaration. + + * progmodes/pascal.el (pascal-toggle-completions): Doc fix. + + * textmodes/bibtex.el (bibtex-string-file-path, bibtex-file-path): + Convert to defcustom. + +2012-06-12 Drew Adams + + * help-mode.el (help-bookmark-make-record, help-bookmark-jump): + New functions. + (help-mode): Use them. + +2012-06-11 Glenn Morris + + * progmodes/fortran.el (fortran-font-lock-keywords-3): + Use preprocessor face for directives. + (fortran-directive-re): Doc fix. + +2012-06-11 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl-parse-loop-clause): Fix error in recent + conversion to backquotes (bug#11652). + + Fix compiler-expansion of CL's cXXr functions (bug#11673). + * emacs-lisp/cl-lib.el (cl--defalias): New function. + (cl-values, cl-values-list, cl-copy-seq, cl-svref, cl-first) + (cl-second, cl-rest, cl-endp, cl-third, cl-fourth): Use it. + (cl-plusp, cl-minusp, cl-fifth, cl-sixth, cl-seventh, cl-eighth) + (cl-ninth, cl-tenth): Mark them as inlinable. + (cl-caaar, cl-caadr, cl-cadar, cl-caddr, cl-cdaar, cl-cdadr) + (cl-cddar, cl-cdddr, cl-caaaar, cl-caaadr, cl-caadar, cl-caaddr) + (cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr, cl-cdaaar, cl-cdaadr) + (cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr, cl-cdddar, cl-cddddr): + Add a compiler-macro declaration to use cl--compiler-macro-cXXr. + (cl-list*, cl-adjoin): Don't put an autoload manually. + * emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin) + (cl--compiler-macro-list*): Add autoload cookie. + (cl--compiler-macro-cXXr): New function. + + * help-fns.el (help-fns--compiler-macro): New function extracted from + describe-function-1; follow aliases and use `compiler-macro' property. + (describe-function-1): Use it. + +2012-06-11 Chong Yidong + + * startup.el (fancy-splash-head): Use splash.svg even if librsvg + is uninstalled, if imagemagick is installed. + +2012-06-11 Stefan Monnier + + * emacs-lisp/cl-lib.el: Use lexical-binding. + (cl-map-extents, cl-maclisp-member): Remove. + (cl--set-elt, cl--set-nthcdr, cl--set-buffer-substring) + (cl--set-substring, cl--block-wrapper, cl--block-throw) + (cl--compiling-file, cl--mapcar-many, cl--do-subst): Use "cl--" prefix. + * emacs-lisp/cl-extra.el: Use lexical-binding. + (cl--mapcar-many, cl--map-keymap-recursively, cl--map-intervals) + (cl--map-overlays, cl--set-frame-visible-p, cl--progv-save) + (cl--progv-before, cl--progv-after, cl--finite-do, cl--set-getf) + (cl--do-remf, cl--do-prettyprint): Use "cl--" prefix. + * emacs-lisp/cl-seq.el: Use lexical-binding. + (cl--parsing-keywords, cl--check-key, cl--check-test-nokey) + (cl--check-test, cl--check-match): Use "cl--" prefix and backquotes. + (cl--alist, cl--sublis-rec, cl--nsublis-rec, cl--tree-equal-rec): + * emacs-lisp/cl-macs.el (cl--lambda-list-keywords): Use "cl--" prefix. + * edmacro.el (edmacro-mismatch): Simplify to remove dependence on + CL's internals. + +2012-06-11 Michael Albinus + + Sync with Tramp 2.2.6-pre. + + * net/tramp-cache.el (tramp-dump-connection-properties): Let-bind + `print-length' and `print-level' to nil, in order to avoid + truncation. Reported by Christopher Schmidt + . + + * net/tramp-cmds.el (tramp-cleanup-connection): Delete also process. + + * net/tramp-compat.el (tramp-compat-condition-case-unless-debug): + New defmacro. + (tramp-compat-copy-directory): Add optional argument + COPY-CONTENTS. It is not handled yet. + + * net/tramp-ftp.el (tramp-disable-ange-ftp): Fix docstring. + (tramp-ftp-file-name-p): Simplify. + + * net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name): + * net/tramp-gw.el (tramp-gw-open-connection): Add hop to + connection vector. + + * net/tramp-sh.el (tramp-copy-size-limit): Fix docstring. + (tramp-methods): Do not use `tramp-password-end-of-line'. + (tramp-completion-function-alist-putty): Handle UNIX case. + (tramp-remote-path): Add "/opt/bin", "/opt/sbin" and "/opt/local/bin". + (tramp-do-file-attributes-with-stat) + (tramp-do-directory-files-and-attributes-with-stat) Return uid and + gid as real numbers. They could run out of integer range on cygwin. + (tramp-do-copy-or-rename-file-out-of-band): Better trace format. + (tramp-sh-handle-expand-file-name): Handle hops. + (tramp-open-connection-setup-interactive-shell): + Use `tramp-cleanup'. Move check for busyboxes ... + (tramp-find-shell): ... here. Simplify implementation. + Set "remote-shell" property also for alternative shells. + (tramp-remote-coding-commands): Check "test -c /dev/stdout". + If failing, a regular file would be written otherwise. + Reported by Dmitry Kurochkin . + (tramp-find-inline-encoding): Cache the coding commands in the + process cache. Apply test command on the remote side, if defined. + (tramp-find-inline-compress): Cache the compress commands in the + process cache. + (tramp-compute-multi-hops): Save `tramp-default-proxies-alist' + when requested. Handle hops. + (tramp-current-connection): New defvar. + (tramp-maybe-open-connection): Use `tramp-cleanup'. + Throw `suppress', if there was a failed connection shortly before. + Handle user interrupt. (Bug#10187) + (tramp-get-inline-compress, tramp-get-inline-coding): + Read connection properties from the process cache. + + * net/tramp-smb.el (tramp-smb-server-version) + (tramp-smb-wrong-passwd-regexp, tramp-smb-actions-with-tar): + New defconsts. + (tramp-smb-prompt): Extend for powershell prompt. + (tramp-smb-file-name-handler-alist): Add handlers for + `process-file', `shell-command' and `start-file-process'. + (tramp-smb-winexe-program, tramp-smb-winexe-shell-command) + (tramp-smb-winexe-shell-command-switch): New defcustoms. + (tramp-smb-file-name-p): Simplify. + (tramp-smb-action-with-tar, tramp-smb-handle-process-file) + (tramp-smb-kill-winexe-function, tramp-smb-call-winexe) + (tramp-smb-shell-quote-argument): New defuns. + (tramp-smb-handle-copy-directory): Add COPY-CONTENTS argument. + Implement using "tar". By this, time-stamps are preserved. + (tramp-smb-handle-copy-file): Handle also the case of directories. + (tramp-smb-do-file-attributes-with-stat) + (tramp-smb-get-file-entries, tramp-smb-get-cifs-capabilities): + Use `tramp-get-connection-buffer'). + (tramp-smb-handle-rename-file): Use "rename", when source and + target are on the same share. + (tramp-smb-maybe-open-connection): Handle wrong passwords. + Use `tramp-smb-server-version'. + (tramp-smb-wait-for-output): Remove prompt. + + * net/tramp.el (top): Require 'cl. + (tramp-methods, tramp-rsh-end-of-line): + Remove `tramp-password-end-of-line' from docstring. + (tramp-save-ad-hoc-proxies): New defcustom. + (tramp-completion-function-alist): Adapt docstring. + (tramp-default-password-end-of-line): Remove defcustom. + (tramp-shell-prompt-pattern): Allow "[]" style prompts. (Bug#11065) + (tramp-user-regexp, tramp-file-name-regexp-unified) + (tramp-file-name-regexp-url): Extend regexp by hop separator. + (tramp-postfix-hop-format, tramp-postfix-hop-regexp) + (tramp-remote-file-name-spec-regexp): New defconst. + (tramp-file-name-structure): Extend structure for hops. + (tramp-get-method-parameter): Move up. + (tramp-file-name-p, tramp-dissect-file-name) + (with-parsed-tramp-file-name): Handle hops. + (tramp-file-name-hop): New defun. + (tramp-make-tramp-file-name): New optional arg HOP. + (tramp-message-show-progress-reporter-message): New defvar. + (tramp-with-progress-reporter): Use it. We cannot use + `tramp-message-show-message' here, because this suppresses also + error buffers. + (tramp-error-with-buffer): Suppress buffer view, if + `tramp-message-show-message' is nil. + Use `tramp-get-connection-buffer'. + (tramp-cleanup): New defun. + (tramp-rfn-eshadow-update-overlay): Let-bind `non-essential' to `t'. + (tramp-file-name-handler): If `debug-on-error' is set, propagate + an error unchanged. + (tramp-completion-handle-file-name-all-completions): Handle hops. + Fix an error when called from ido. + (tramp-completion-dissect-file-name): Use better local variable + name. Add hop to the vector. + (tramp-handle-insert-file-contents): Use progress-reporter for the + whole scenario. + (tramp-action-password): Let-bind `enable-recursive-minibuffers' + to `t'. + (tramp-check-for-regexp): Simplify search. + (tramp-enter-password): Remove it. Move implementation ... + (tramp-action-password): ... here. + (tramp-mode-string-to-int, tramp-local-host-p) + (tramp-make-tramp-temp-file, tramp-read-passwd) + (tramp-clear-passwd, tramp-time-less-p, tramp-time-diff): + Set tramp-autoload cookie. + + * net/trampver.el: Update release number. + +2012-06-11 Thierry Volpiatto + Michael Albinus + + * net/tramp.el (tramp-set-completion-function): Fix docstring. + (tramp-parse-group, tramp-parse-file) + (tramp-parse-shostkeys-sknownhosts): New defuns. + (tramp-parse-rhosts, tramp-parse-rhosts-group, tramp-parse-shosts) + (tramp-parse-shosts-group, tramp-parse-sconfig) + (tramp-parse-sconfig-group, tramp-parse-shostkeys) + (tramp-parse-sknownhosts, tramp-parse-hosts) + (tramp-parse-hosts-group, tramp-parse-passwd, tramp-parse-netrc): + Use them. + (tramp-parse-passwd-group, tramp-parse-netrc-group) + (tramp-parse-putty-group): Don't narrow. + (tramp-parse-putty): Make a loop. + (tramp-file-name-handler): Catch the `suppress' signal. + +2012-06-11 Chong Yidong + + * image.el (imagemagick-register-types): Put the ImageMagick entry + at the end of image-type-file-name-regexps. + +2012-06-11 Johan Bockgård + + * emacs-lisp/pcase.el (pcase-UPAT, pcase-QPAT): New edebug specs. + (pcase, pcase-let*, pcase-dolist): Use them. + +2012-06-11 Stefan Monnier + + * emacs-lisp/pcase.el (pcase--let*): New function. + (pcase-let*): Use it. Use pcase--memoize to avoid repeated expansions. + (pcase--expand): Use macroexp-let². + +2012-06-10 Stefan Monnier + + * emacs-lisp/timer.el, emacs-lisp/syntax.el, emacs-lisp/smie.el: + * emacs-lisp/ewoc.el, emacs-lisp/cconv.el, emacs-lisp/bytecomp.el: + * emacs-lisp/byte-opt.el, emacs-lisp/autoload.el: Convert to cl-lib. + * emacs-lisp/easymenu.el, emacs-lisp/easy-mmode.el: + * emacs-lisp/derived.el: Use pcase instead of `cl'. + * emacs-lisp/cl-lib.el: Get rid of special cl-macs auto load. + +2012-06-10 Glenn Morris + + * mail/rmail.el (rmail-yank-current-message): Leave point at + correct position. (Bug#11660) + +2012-06-10 Chong Yidong + + * allout-widgets.el: Fix code header. + +2012-06-10 Chong Yidong + + * cus-edit.el (customize-changed-options-previous-release): + Bump to 24.1. + +2012-06-09 Andreas Schwab + + * Makefile.in (BIG_STACK_DEPTH): Enlarge to 2200. + +2012-06-09 Chong Yidong + + * ebuff-menu.el (electric-buffer-list): Preserve header line. + +2012-06-09 Martin Rudalics + + * window.el (special-display-popup-frame): Don't use + window--display-buffer (Bug#11651). + +2012-06-09 Eli Zaretskii + + Fix parallel builds: make sure loaddefs.el is not being written + while Lisp files are compiled. + (compile): Don't depend on 'mh-autoloads'. + (compile-CMD, compile-SH): Depend on 'autoloads'. + (bootstrap): Don't depend on 'autoloads' and 'mh-autoloads'. + + * makefile.w32-in (BIG_STACK_DEPTH): Enlarge to 2200. (Bug#11649) + +2012-06-09 Chong Yidong + + * face-remap.el (face-remap-add-relative, face-remap-set-base) + (buffer-face-set, buffer-face-toggle, buffer-face-mode-invoke): + Doc fixes (Bug#11225). + +2012-06-09 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexp--expand-all): Only autoload + a function if there's a clear indication that it has a compiler-macro. + * emacs-lisp/byte-run.el (defun-declarations-alist, defmacro, defun) + (macro-declarations-alist): Add arglist to declaration functions. + (defun-declarations-alist): Add `obsolete' and `compiler-macro'. + * emacs-lisp/cl-seq.el (cl-member, cl-assoc): + * emacs-lisp/cl-lib.el (cl-list*, cl-adjoin): + * emacs-lisp/cl-extra.el (cl-get): Use the new `declare' statement. + Also add autoload to find the compiler macro. + * emacs-lisp/cl-macs.el (eql) [compiler-macro]: Remove. + (cl--compiler-macro-member, cl--compiler-macro-assoc) + (cl--compiler-macro-adjoin, cl--compiler-macro-list*) + (cl--compiler-macro-get): New functions, replacing calls to + cl-define-compiler-macro. + (cl-typep) [compiler-macro]: Use macroexp-let². + +2012-06-08 Nick Dokos (tiny change) + + * calendar/icalendar.el (icalendar--parse-vtimezone): Import TZID + string properly, fixes Bug#11473. + +2012-06-08 Chong Yidong + + * faces.el (set-face-attribute): Doc fix. + (modify-face): Don't use :bold and :italic. + (error, warning, success): Tweak definitions. + + * cus-edit.el (custom-modified, custom-invalid, custom-rogue) + (custom-modified, custom-set, custom-changed, custom-themed) + (custom-saved, custom-button, custom-button-mouse) + (custom-button-pressed, custom-state, custom-comment-tag) + (custom-variable-tag, custom-group-tag-1, custom-group-tag) + (custom-group-subtitle): Use new-style face specs. + (custom-invalid-face, custom-rogue-face, custom-modified-face) + (custom-set-face, custom-changed-face, custom-saved-face) + (custom-button-face, custom-button-pressed-face) + (custom-documentation-face, custom-state-face) + (custom-comment-face, custom-comment-tag-face) + (custom-variable-tag-face, custom-variable-button-face) + (custom-face-tag-face, custom-group-tag-face-1) + (custom-group-tag-face): Remove obsolete face alias. + + * epa.el (epa-validity-high, epa-validity-medium) + (epa-validity-low, epa-mark, epa-field-name, epa-string) + (epa-field-name, epa-field-body): + * font-lock.el (font-lock-comment-face, font-lock-string-face) + (font-lock-keyword-face, font-lock-builtin-face) + (font-lock-function-name-face, font-lock-variable-name-face) + (font-lock-type-face, font-lock-constant-face): + * ido.el (ido-first-match, ido-only-match, ido-subdir) + (ido-virtual, ido-indicator, ido-incomplete-regexp): + * speedbar.el (speedbar-button-face, speedbar-file-face) + (speedbar-directory-face, speedbar-tag-face) + (speedbar-selected-face, speedbar-highlight-face) + (speedbar-separator-face): + * whitespace.el (whitespace-newline, whitespace-space) + (whitespace-hspace, whitespace-tab, whitespace-trailing) + (whitespace-line, whitespace-space-before-tab) + (whitespace-space-after-tab, whitespace-indentation) + (whitespace-empty): + * emulation/cua-base.el (cua-global-mark): + * eshell/em-prompt.el (eshell-prompt): + * net/newst-plainview.el (newsticker-new-item-face) + (newsticker-old-item-face, newsticker-immortal-item-face) + (newsticker-obsolete-item-face, newsticker-date-face) + (newsticker-statistics-face, newsticker-default-face): + * net/newst-reader.el (newsticker-feed-face) + (newsticker-extra-face, newsticker-enclosure-face): + * net/newst-treeview.el (newsticker-treeview-face) + (newsticker-treeview-new-face, newsticker-treeview-old-face) + (newsticker-treeview-immortal-face) + (newsticker-treeview-obsolete-face) + (newsticker-treeview-selection-face): + * net/rcirc.el (rcirc-my-nick, rcirc-other-nick) + (rcirc-bright-nick, rcirc-server, rcirc-timestamp) + (rcirc-nick-in-message, rcirc-nick-in-message-full-line) + (rcirc-prompt, rcirc-track-keyword, rcirc-url, rcirc-keyword): + * nxml/nxml-outln.el (nxml-heading, nxml-outline-indicator) + (nxml-outline-active-indicator, nxml-outline-ellipsis): + * play/mpuz.el (mpuz-unsolved, mpuz-solved, mpuz-trivial) + (mpuz-text): + * progmodes/vera-mode.el (vera-font-lock-number) + (vera-font-lock-function, vera-font-lock-interface): + * textmodes/table.el (table-cell): Use new-style face specs, and + don't use the old :bold and :italic attributes. + + * progmodes/ebrowse.el (ebrowse-tree-mark, ebrowse-root-class) + (ebrowse-member-attribute, ebrowse-default, ebrowse-file-name) + (ebrowse-member-class, ebrowse-progress): Likewise. + (ebrowse-tree-mark-face, ebrowse-root-class-face) + (ebrowse-file-name-face, ebrowse-default-face) + (ebrowse-member-attribute-face, ebrowse-member-class-face) + (ebrowse-progress-face): Remove obsolete faces. + + * progmodes/flymake.el (flymake-errline, flymake-warnline): + Inherit from error and warning faces respectively. + + * textmodes/flyspell.el (flyspell-incorrect, flyspell-duplicate): + Likewise. + (flyspell-incorrect-face, flyspell-duplicate-face): + Remove obsolete aliases. + +2012-06-08 Michael Albinus + + * net/tramp-compat.el (tramp-compat-temporary-file-directory): + Avoid infloop. + +2012-06-08 Stefan Monnier + + * startup.el (argv, argi): Make lexically scoped. + * emacs-lisp/float-sup.el (pi): Use internal-make-var-non-special. + * emacs-lisp/cl-macs.el: Use lexical-binding. + Rename cl-bind-* to cl--bind-*. + * files.el: Don't require `cl' since it doesn't use it. + * emacs-lisp/pcase.el, emacs-lisp/macroexp.el: Add coding cookie. + +2012-06-08 Juanma Barranquero + + * textmodes/texinfmt.el: Fix bug#11640 (reverts part of 2008-07-31T05:33:56Z!dann@ics.uci.edu). + (texinfo-format-printindex): Use `texinfo-sort-region' in all platforms, + instead of calling external sort utility. + (texinfo-sort-region, texinfo-sort-startkeyfun): Restore functions. + +2012-06-08 Eli Zaretskii + + * descr-text.el (describe-char): Mention how to insert the + character, if the current input method doesn't support it. + See the discussion in this thread for the details: + http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00533.html. + +2012-06-08 Sam Steingold + + * bindings.el (global-map): Bind XF86Forward to next-buffer and + XF86Back to previous-buffer. + (minibuffer-local-map): Bind them to next-history-element and + previous-history-element respectively. + * help-mode.el (help-mode-map): Bind them to help-go-forward and + help-go-back respectively. + * info.el (Info-mode-map): Bind them to Info-history-forward and + Info-history-back respectively. + These are the keys next to Up on the ThinkPad keyboard. + +2012-06-08 Stefan Monnier + + Get rid of cl-lexical-let, keeping only lexical-let for compatibility. + * emacs-lisp/cl-macs.el: Provide itself. + (cl--labels-convert-cache): New var. + (cl--labels-convert): New function. + (cl-flet, cl-labels): New implementation with new semantics, relying on + lexical-binding. + * emacs-lisp/cl.el: Mark compatibility aliases as obsolete. + (cl-closure-vars, cl--function-convert-cache) + (cl--function-convert): Move from cl-macs.el. + (lexical-let, lexical-let*, flet, labels): Move from cl-macs.el and + rename by removing the "cl-" prefix. + * emacs-lisp/macroexp.el (macroexp-unprogn): New function. + +2012-06-07 Stefan Monnier + + * emacs-lisp/cl.el (cl-macroexpand, cl-macro-environment) + (cl-macroexpand-all, cl-not-hash-table, cl-builtin-gethash) + (cl-builtin-remhash, cl-builtin-clrhash, cl-builtin-maphash) + (cl-map-keymap, cl-copy-tree, cl-gethash, cl-puthash, cl-remhash) + (cl-clrhash, cl-maphash, cl-make-hash-table, cl-hash-table-p) + (cl-hash-table-count): Add old compatibility aliases. + + * emacs-lisp/cl-macs.el (cl-macro-environment): Remove var. + Use macroexpand-all-environment instead. + (cl--old-macroexpand): New var. + (cl--sm-macroexpand): New function. + (cl-symbol-macrolet): Use it during macro expansion. + (cl--function-convert-cache): New var. + (cl--function-convert): New function, extracted from + cl-macroexpand-all. + (cl-lexical-let): Use it. + + * emacs-lisp/cl-lib.el (cl-macro-environment): Remove decl. + (cl-macroexpand): Move to cl-macs.el and rename to cl--sm-macroexpand. + (cl-member): Remove old alias. + + * emacs-lisp/cl-extra.el (cl-map-keymap, cl-copy-tree) + (cl-not-hash-table, cl-builtin-gethash, cl-builtin-remhash) + (cl-builtin-clrhash, cl-builtin-maphash, cl-gethash, cl-puthash) + (cl-remhash, cl-clrhash, cl-maphash, cl-make-hash-table) + (cl-hash-table-p, cl-hash-table-count): Move to cl.el. + (cl-macroexpand-cmacs): Remove var. + (cl-macroexpand-all, cl-macroexpand-body): Remove funs. + Use macroexpand-all instead. + +2012-06-07 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*, macroexp-if) + (macroexp-let², macroexp--const-symbol-p, macroexp-const-p) + (macroexp-copyable-p): New functions and macros. + * emacs-lisp/edebug.el (edebug-unwrap): + * emacs-lisp/disass.el (disassemble-internal): Use macroexp-progn. + * emacs-lisp/pcase.el: Use macroexp-let*, macroexp-if, ... + (pcase--let*): Remove. + * emacs-lisp/bytecomp.el (byte-compile-const-symbol-p) + (byte-compile-constp): Remove. Use macroexp--const-symbol-p and + macroexp-const-p instead. + * emacs-lisp/byte-opt.el: Use macroexp-const-p and macroexp-progn. + + * emacs-lisp/cl-macs.el: Clean up the name space by using "cl--" + instead of "cl-" for internal definitions. Use macroexp-const-p. + (cl-old-bc-file-form): Remove var. + (cl-const-exprs-p): Remove fun. + (cl-labels, cl-macrolet): Use backquote. + (cl-lexical-let): Use cl-symbol-macrolet. Don't use cl-defun-expander. + (cl-defun-expander, cl-byte-compile-compiler-macro): Remove fun. + (cl-define-setf-expander): Rename from cl-define-setf-method. + * emacs-lisp/cl.el: Adjust alias for define-setf-method. + + * international/mule-cmds.el: Don't require CL. + (view-hello-file): Don't use `letf'. + +2012-06-07 Stefan Monnier + + * tmm.el (tmm-prompt): Use string-prefix-p. + (tmm-completion-delete-prompt): Don't affect current-buffer outside. + (tmm-add-prompt): Use minibuffer-completion-help. + (tmm-delete-map): Remove. + + * subr.el (kbd): Make it its own function. + +2012-06-07 Stefan Merten + + * textmodes/rst.el: Use `eval-when-compile' for requiring `cl.el'. + Silence compiler warnings. Fix versions. + (rst-position-if, rst-position, rst-some, rst-signum): New functions. + (rst-shift-region, rst-adornment-level, rst-compute-tabs) + (rst-indent-line, rst-shift-region, rst-forward-line): Use them. + (rst-package-emacs-version-alist): Correct Emacs version to + represent major merge with upstream. + (rst-transition, rst-adornment, rst-compile-toolsets): Fix versions. + +2012-06-06 Glenn Morris + + * mail/emacsbug.el (report-emacs-bug): Add relevant EMACS env-vars. + Only print environment variables if set. + +2012-06-06 Stefan Monnier + + * emacs-lisp/macroexp.el: Don't require CL since we don't use it. + (macroexp--cons): Rename from maybe-cons. + (macroexp--accumulate): Rename from macroexp-accumulate. + (macroexp--all-forms): Rename from macroexpand-all-forms. + (macroexp--all-clauses): Rename from macroexpand-all-clauses. + (macroexp--expand-all): Rename from macroexpand-all-1. + +2012-06-06 Sam Steingold + + * calendar/calendar.el (calendar-in-read-only-buffer): + Call `special-mode' to enable the standard read-only keybindings. + +2012-06-06 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexpand-all-1): Don't spam the output + with "loading" messages (bug#11635). + +2012-06-06 Michael Albinus + + * files.el (enable-remote-dir-locals): New option. + (hack-dir-local-variables): Use it. (Bug#1933, Bug#6731) + + * net/tramp-compat.el (tramp-compat-temporary-file-directory): + Ensure, that the temp directory is local. + + * net/tramp-sh.el (tramp-sh-handle-write-region): Let-bind + `temporary-file-directory'. + + * progmodes/python.el (python-send-region): Ensure, that the + temporary file is created also in the remote case. + +2012-06-06 Glenn Morris + + * vc/vc-rcs.el (vc-rcs-rcs2log-program): New. + (vc-rcs-update-changelog): Use it. + + * emacs-lisp/authors.el (authors-fixed-entries): Remove vcdiff. + + * vc/vc-sccs.el (vc-sccs-write-revision): New function. + (vc-sccs-workfile-unchanged-p): Use vc-sccs-write-revision. + (vc-sccs-diff): Replace use of the external vcdiff script. + +2012-06-05 Glenn Morris + + * ledit.el: Move to obsolete/. + +2012-06-05 Sam Steingold + + * calendar/calendar.el (calendar-exit): Reinstate the 2012-03-28 + patch (Bug#11140). + +2012-06-05 Stefan Monnier + + * emacs-lisp/cust-print.el: Move to obsolete. + + * emacs-lisp/macroexp.el (macroexpand-all-1): Tolerate errors during + compiler-macro expansion. + + Add native compiler-macro support. + * emacs-lisp/macroexp.el (macroexpand-all-1): + Support compiler-macros directly. Properly follow aliases and apply + the compiler macros more thoroughly. + * emacs-lisp/cl.el: Don't copy compiler-macro properties any more since + macroexpand now properly follows aliases. + * emacs-lisp/cl-macs.el (toplevel, cl-define-compiler-macro) + (cl-compiler-macroexpand): Use new prop. + * emacs-lisp/byte-opt.el (featurep): Optimize earlier. + + * emacs-lisp/cl-lib.el (custom-print-functions): Add alias. + +2012-06-05 Martin Rudalics + + * window.el (get-lru-window, get-mru-window, get-largest-window): + New argument NOT-SELECTED to avoid picking the selected window. + (window--display-buffer-1, window--display-buffer-2): Replace by + new function window--display-buffer + (display-buffer-same-window, display-buffer-reuse-window) + (display-buffer-pop-up-frame, display-buffer-pop-up-window): + Use window--display-buffer. + (display-buffer-use-some-window): Remove temporary dedication + hack by calling get-lru-window and get-largest-window with + NOT-SELECTED argument non-nil. Call window--display-buffer. + +2012-06-05 Glenn Morris + + * vc/vc-sccs.el (vc-sccs-workfile-unchanged-p): + Replace external vcdiff script. + +2012-06-04 Stefan Monnier + + * emacs-lisp/cl-lib.el (cl-values, cl-values-list): Fix up last change. + +2012-06-04 Chong Yidong + + * image.el (imagemagick-types-inhibit): Revert last change. + Add INFO and M. + (imagemagick-enabled-types): Remove CIN and EPS*. + +2012-06-04 Stefan Monnier + + * emacs-lisp/cl-lib.el: Rename from cl.el. + * emacs-lisp/cl.el: New compatibility file. + * emacs-lisp/cl-lib.el, emacs-lisp/cl-seq.el, emacs-lisp/cl-macs.el: + * emacs-lisp/cl-extra.el: Rename all top-level functions and variables + to obey the "cl-" prefix. + * emacs-lisp/macroexp.el (macroexpand-all-1): Adjust to new name. + +2012-06-03 Glenn Morris + + * emacs-lisp/authors.el (authors-aliases): Addition. + + * cus-start.el (tool-bar-style, tool-bar-max-label-size): + Fix :version. + +2012-06-03 Stefan Merten + + * textmodes/rst.el: Add comments. + (rst-transition, rst-adornment): New faces. + (rst-adornment-faces-alist): Make default safe to reevaluate. + Fixes + http://sourceforge.net/tracker/?func=detail&atid=422030&aid=3479603&group_id=38414. + Improve customization tags. + (rst-define-level-faces): Clarify meaning. + +2012-06-03 Chong Yidong + + * progmodes/compile.el (compilation-mode-line-fail) + (compilation-mode-line-run, compilation-mode-line-exit): + New faces. + (compilation-start, compilation-handle-exit): Use them (Bug#11032). + +2012-06-03 Jack Duthen (tiny change) + + * progmodes/which-func.el (which-func-update-ediff-windows): + New function. Use it in ediff-select-hook (Bug#11478). + +2012-06-03 Chong Yidong + + * bindings.el: Remove explicit help text from format-mode-line. + It is now supplied by mode-line-default-help-echo. + (mode-line-front-space, mode-line-end-spaces) + (mode-line-misc-info): New variables. + (mode-line-modes, mode-line-position): Move the default value to + the variable definition. + (mode-line-default-help-echo): New defcustom. + (mode-line-mule-info-help-echo, mode-line-read-only-help-echo) + (mode-line-modified-help-echo): New functions. + (mode-line-mule-info, mode-line-modified): Use them. + (mode-line-eol-desc, propertized-buffer-identification): + Consistency fixes for help text. + (mode-line-coding-system-map): Allow using mouse-3 to invoke + set-buffer-file-coding-system (Bug#289). + (mode-line-mule-info-help-echo): Update help text. + +2012-06-02 Stefan Monnier + + * simple.el (execute-extended-command): Set real-this-command + (bug#11506). + +2012-06-02 Chong Yidong + + Remove incorrect uses of "modeline" in comments, docstrings, and + function/variable names (Bug#10329). + + * cus-edit.el (mode-line): + * dframe.el (dframe-mouse-hscroll): + * emacs-lisp/re-builder.el: + * emacs-lisp/easy-mmode.el (define-minor-mode): + * frame.el (set-frame-name): + * help.el (lookup-minor-mode-from-indicator): + * net/rcirc.el (rcirc-activity-string, rcirc-short-buffer-name): + * progmodes/cc-cmds.el (c-toggle-auto-newline) + (c-toggle-hungry-state): + * progmodes/antlr-mode.el (antlr-language-alist): + * progmodes/idlw-shell.el (idlwave-shell-electric-stop-line-face): + * progmodes/vhdl-mode.el (vhdl-mode): + * progmodes/which-func.el (which-func, which-func-cleanup-function): + * term/ns-win.el (ns-face-at-pos): + * term/sup-mouse.el (sup-mouse-report): + * textmodes/flyspell.el (flyspell-mode-line-string): + * textmodes/ispell.el (ispell-highlight-face): + * textmodes/reftex-global.el: + * vc/vc-arch.el (vc-arch-mode-line-string): + * vc/vc-cvs.el (vc-cvs-mode-line-string): + * vc/vc-git.el (vc-git-mode-line-string): + * vc/vc-hooks.el (vc-display-status) + (vc-default-mode-line-string): + * vc/vc-mtn.el (vc-mtn-mode-line-string): Doc fixes. + + * ansi-color.el (ansi-color-faces-vector): Change default faces. + + * dired.el (dired-sort-set-mode-line): Rename from + dired-sort-set-modeline. All callers changed. + + * eshell/esh-mode.el (eshell-status-in-mode-line): Rename from + eshell-status-in-modeline. + + * foldout.el (foldout-mode-line-string): Rename from + foldout-modeline-string. All callers changed. + (foldout-update-mode-line): Rename from foldout-update-modeline. + + * subr.el (redraw-modeline): Make into obsolete alias. + + * calendar/timeclock.el (timeclock-mode-line-display): Rename from + timeclock-modeline-display. Make old name an alias. + (timeclock-update-mode-line): Likewise. All callers changed. + (timeclock-mode-line-display): No need to check before using + add-hook. + (timeclock-relative, timeclock-day-over-hook) + (timeclock-use-elapsed, timeclock-mode-string) + (timeclock-mode-line-display): Doc fix, "modeline" -> "mode line". + + * emulation/crisp.el (crisp-mode-mode-line-string): Rename from + crisp-mode-modeline-string. + + * play/solitaire.el (solitaire-build-mode-line): Rename from + solitaire-build-modeline. All callers changed. + + * play/zone.el (zone-hiding-mode-line): Rename from + zone-hiding-modeline. All callers changed. + (zone): Remove unusued `modeline-hidden-level' property. + + * progmodes/xscheme.el (xscheme-mode-line-initialize): Rename from + xscheme-modeline-initialize. All callers changed. + + * strokes.el (strokes-lighter): Rename from + strokes-modeline-string. + + * textmodes/sgml-mode.el (html-face-tag-alist) + (html-tag-face-alist): Use mode-line face instead of obsolete + alias modeline. + +2012-06-02 Stefan Merten + + * textmodes/rst.el: Always require `cl'. + (rst-mode-map): Fix meaning of C-M-a / C-M-e. + +2012-06-02 Chong Yidong + + * image.el (imagemagick-enabled-types): Rename from + imagemagick-types-enable. Add many more types. + (imagemagick-types-inhibit): Change default to nil. + (imagemagick-filter-types): Caller changed. + +2012-06-01 Stefan Monnier + + * emacs-lisp/cl-macs.el: Use backquotes. + (cl-transform-function-property): Use eval-and-compile rather than + abusing `require'. + (defstruct): Use declare-function instead of with-no-warnings. + + * emacs-lisp/bytecomp.el: Fix last change (bug#11594). + (byte-compile-output-docform): Re-add the print-circle bindings. + (byte-compile-fix-header): Use #$ just because it's shorter. + (byte-compile-output-file-form): Remove defun/defmacro. + +2012-06-01 Martin Rudalics + + * simple.el (choose-completion): Remove now obsolete binding for + owindow. + +2012-06-01 Michael Albinus + + * net/tramp.el (tramp-check-for-regexp): Search from buffer end, + in order to avoid "Stack overflow in regexp matcher". + +2012-05-31 Glenn Morris + + * image.el: For clarity, call imagemagick-register-types at + top-level, rather than relying on a custom :initialize. + (imagemagick-types-enable): New option. (Bug#11557) + (imagemagick-filter-types): New function. (Bug#7406) + (imagemagick-register-types): Use imagemagick-filter-types. + If disabling support, remove elements altogether rather + than using an impossible regexp. + (imagemagick-types-inhibit): Give it the default init function. + +2012-05-31 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-fix-header): + Handle arbitrary file name lengths (Bug#11585). + +2012-05-31 Martin Rudalics + + * desktop.el (desktop-read): Clear previous and next buffers for + all windows and bury *Messages* buffer (bug#11556). + +2012-05-31 Stefan Monnier + + Add `declare' for `defun'. Align `defmacro's with it. + * emacs-lisp/easy-mmode.el (define-minor-mode) + (define-globalized-minor-mode): Don't autoload the var definitions. + * emacs-lisp/byte-run.el: Use lexical-binding. + (defun-declarations-alist, macro-declarations-alist): New vars. + (defmacro, defun): Use them. + (make-obsolete, define-obsolete-function-alias) + (make-obsolete-variable, define-obsolete-variable-alias): + Use `declare'. + (macro-declaration-function): Mark obsolete. + * emacs-lisp/autoload.el: Use lexical-binding. + (make-autoload): Add `expansion' arg. Rely more on macro expansion. + +2012-05-30 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-with-no-warnings): + Define as a macro. + (ispell-kill-ispell, ispell-change-dictionary): + Use `called-interactively-p' for Emacs instead of obsolete + `interactive-p'. + +2012-05-30 Stefan Monnier + + * emacs-lisp/byte-run.el (defmacro, defun): Move from C. + (macro-declaration-function): Move var from C code. + (macro-declaration-function): Define function with defalias. + * emacs-lisp/macroexp.el (macroexpand-all-1): + * emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): + * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle + defun/defmacro any more. + * emacs-lisp/bytecomp.el (byte-compile-arglist-signature): + Provide fallback for unknown arglist. + (byte-compile-arglist-warn): Change calling convention. + (byte-compile-output-file-form): Move print-vars binding. + (byte-compile-output-docform): Simplify accordingly. + (byte-compile-file-form-defun, byte-compile-file-form-defmacro) + (byte-compile-defmacro-declaration): Remove. + (byte-compile-file-form-defmumble): Generalize to defalias. + (byte-compile-output-as-comment): Return byte-positions. + Simplify callers accordingly. + (byte-compile-lambda): Use `assert'. + (byte-compile-defun, byte-compile-defmacro): Remove. + (byte-compile-file-form-defalias): + Use byte-compile-file-form-defmumble. + (byte-compile-defalias-warn): Remove. + +2012-05-29 Stefan Merten + + * textmodes/rst.el: Silence `checkdoc-ispell' errors where + possible. Fix authors. Improve comments. Improve loading of `cl'. + + (rst-mode-abbrev-table): Merge definition. + (rst-mode): Make sure `font-lock-defaults' is buffer local. + (rst-define-key, rst-deprecated-keys, rst-call-deprecated): Refactor. + +2012-05-29 Ulf Jasper + + * calendar/icalendar.el + (icalendar-export-region): Export UID properly. + +2012-05-29 Leo Liu + * calendar/icalendar.el (icalendar-import-format): + Add `icalendar-import-format-uid' (Bug#11525). + (icalendar-import-format-uid): New. + (icalendar--parse-summary-and-rest, icalendar--format-ical-event): + Export UID. + +2012-05-29 Stefan Monnier + + * emacs-lisp/pcase.el (pcase--expand): Accept different sets of vars in + different alternative patterns. + (pcase-codegen): Be more careful to preserve identity. + (pcase--u1): Don't forget to mark vars as used. + + * emacs-lisp/bytecomp.el (byte-compile-constp): Treat #'v as a constant. + (byte-compile-close-variables): Bind byte-compile--outbuffer here... + (byte-compile-from-buffer): ...rather than here. + + * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Don't re-preprocess + functions from byte-compile-function-environment. + +2012-05-29 Troels Nielsen + + * window.el (window-deletable-p): Avoid deleting the root window + of a frame with an active minibuffer. + +2012-05-29 Martin Rudalics + + * simple.el (choose-completion): Use quit-window (Bug#11567). + +2012-05-29 Chong Yidong + + * whitespace.el (whitespace-cleanup): Fix usage of + whitespace-empty-at-bob-regexp (Bug#11492). + +2012-05-29 Aaron S. Hawley + + * vc/vc.el (vc-revert, vc-rollback): Dont kill vc-diff buffer on + revert (Bug#11488). + +2012-05-29 Juri Linkov + + * isearch.el (isearch-mode-map): Bind `M-s _' to + `isearch-toggle-symbol'. Bind `M-s c' to + `isearch-toggle-case-fold'. + (search-map): Bind `M-s _' to `isearch-forward-symbol'. + (isearch-forward): Add `M-s _' to the docstring. + (isearch-forward-symbol, isearch-toggle-case-fold) + (isearch-symbol-regexp): New functions. (Bug#11381) + +2012-05-29 Juri Linkov + + * isearch.el (isearch-word): Add docstring. (Bug#11381) + (isearch-occur, isearch-search-and-update): If `isearch-word' is + a function, call it to get the regexp. + (isearch-message-prefix): If `isearch-word' holds a symbol, use its + property `isearch-message-prefix' instead of the string "word ". + (isearch-search-fun-default): For the case of `isearch-word', + return a lambda that calls re-search-forward/re-search-backward + with a regexp returned by `word-search-regexp' or by the function + in `isearch-word'. + +2012-05-29 Juri Linkov + + * isearch.el (isearch-search-fun-default): New function. + (isearch-search-fun): Move default part to the new function + `isearch-search-fun-default'. + (isearch-search-fun-function): Set the default value to + `isearch-search-fun-default'. (Bug#11381) + + * comint.el (comint-history-isearch-end): + Use `isearch-search-fun-default'. + (comint-history-isearch-search): Use `isearch-search-fun-default' + and remove spacial case for `isearch-word'. + (comint-history-isearch-wrap): Remove spacial case for + `isearch-word'. + + * hexl.el (hexl-isearch-search-function): + Use `isearch-search-fun-default'. + + * info.el (Info-isearch-search): Use `isearch-search-fun-default'. + Use `word-search-regexp' for `isearch-word'. + + * misearch.el (multi-isearch-search-fun): + Use `isearch-search-fun-default'. + + * simple.el (minibuffer-history-isearch-search): + Use `isearch-search-fun-default' and remove spacial case for + `isearch-word'. + (minibuffer-history-isearch-wrap): Remove spacial case for + `isearch-word'. + + * textmodes/reftex-global.el (reftex-isearch-wrap-function): + Remove spacial case for `isearch-word'. + (reftex-isearch-isearch-search): Use `isearch-search-fun-default'. + +2012-05-28 Agustín Martín Domingo + + Decrease XEmacs incompatibilities. + * textmodes/flyspell.el (flyspell-check-pre-word-p): + Use `string-match'. + (flyspell-delete-region-overlays): Use alternative definition for + XEmacs. + (flyspell-delete-all-overlays): Use `flyspell-delete-region-overlays'. + (flyspell-word): Use `process-kill-without-query' if XEmacs. + (flyspell-mode-on): Use `interactive-p' if XEmacs. + (flyspell-incorrect-face, flyspell-duplicate-face): Do not use + `define-obsolete-face-alias' under XEmacs, but old method. + + * textmodes/ispell.el (ispell-with-no-warnings): XEmacs alternative + `with-no-warnings' definition or Emacs alias. + (ispell-command-loop, ispell-message): Use `ispell-with-no-warnings'. + (ispell-word): Do not use `region-p' if XEmacs. + +2012-05-28 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-find-aspell-dictionaries): + Check for `ispell-dictionary-base-alist' instead of full + `ispell-dictionary-alist'. + (ispell-init-process): Show spellchecker when starting new Ispell + process. + +2012-05-28 Stefan Monnier + + * progmodes/vhdl-mode.el: Sync with upstream 3.33.28. + http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html#release-notes-3.33 + +2012-05-27 Juanma Barranquero + + * version.el (motif-version-string, gtk-version-string) + (ns-version-string): Declare. + +2012-05-27 Juri Linkov + + * emacs-lisp/lisp-mode.el (eval-defun-2): Use `eval-sexp-add-defvars' + after the `eval-defun-1' specialcaseing + like in `edebug-eval-defun' (bug#10181). + + * emacs-lisp/edebug.el (edebug-eval-defun): Set `face-documentation' + like in `eval-defun-1'. + +2012-05-27 Eli Zaretskii + + * mail/sendmail.el (mail-yank-region): + Recognize rmail-yank-current-message in addition to insert-buffer. + Fixes mail-mode's "C-c C-r" that otherwise does nothing when invoked in + a *mail* buffer created through rmail-start-mail with sendmail as + mail-user-agent. + +2012-05-27 Chong Yidong + + * net/gnutls.el (gnutls-min-prime-bits): Improve docstring. + Default to 256 (Bug#11267). + + * help.el (describe-mode): Doc fix. + +2012-05-26 Glenn Morris + + * w32-fns.el (w32-init-info): Remove. + * paths.el (Info-default-directory-list): Add w32-init-info equivalent. + + * info.el (info-initialize): For self-contained NS builds, put the + included info/ directory at the front. (Bug#2791) + + * paths.el (Info-default-directory-list): Make it a defcustom, + mainly so that we can use custom-initialize-delay. + +2012-05-26 Stefan Monnier + + * subr.el (buffer-has-markers-at): Mark obsolete. + + * subr.el (lambda): Use declare. + + * emacs-lisp/lisp-mode.el (lambda): + * emacs-lisp/edebug.el (lambda): Move properties to its definition. + +2012-05-26 Aaron S. Hawley + + * thingatpt.el (forward-same-syntax): Handle no ARG case. (Bug#11560) + +2012-05-26 Glenn Morris + + * progmodes/cc-mode.el (auto-mode-alist): Fix typo. + +2012-05-25 Glenn Morris + + * paths.el: Remove no-byte-compile. + * loadup.el: No need to load paths.el uncompiled. + + * image.el (imagemagick-types-inhibit): Doc fix. + + * version.el: Remove no-byte-compile and associated formatting. + * loadup.el: No need to load version.el uncompiled. AFAICS, this + is ancient code from when there was an "inc-vers.el". + +2012-05-25 Stefan Monnier + + * progmodes/gdb-mi.el: Minor style changes. + (gdb-enable-debug, gdb-speedbar-auto-raise, gdb-many-windows): + Turn into minor modes. + (gdb--if-arrow): Rename from gdb-if-arrow, make it hygienic. + (gdb-mouse-until, gdb-mouse-jump): Adjust uses accordingly. + (gdb-shell): Remove unneeded let-binding. + (gdb-get-many-fields): Eliminate O(n²) behavior. + +2012-05-25 Eli Zaretskii + + * cus-start.el : Avoid warning on + platforms that don't link in fontset.c. + +2012-05-25 Juri Linkov + + Use the same diff color scheme as in modern VCSes (bug#10181). + + * vc/diff-mode.el (diff-header, diff-file-header): Remove "green" + to avoid confusion with `diff-added' that now uses green colors. + (diff-removed): Use shades of red. + (diff-added): Use shades of green. + (diff-changed): Leave just the yellow color. + (diff-use-changed-face): New variable. + (diff-font-lock-keywords): Use `diff-use-changed-face' to decide + how to highlight context diff changes. + (diff-refine-change): Use shades of yellow. + (diff-refine-removed): New face that uses shades of red. + (diff-refine-added): New face that uses shades of green. + (diff-refine-hunk): Use `diff-refine-change', `diff-refine-added', + `diff-refine-removed' in the call to `smerge-refine-subst' + depending on the value of `diff-use-changed-face'. + + * vc/smerge-mode.el (smerge-mine): Use shades of red. + (smerge-other): Use shades of green. + (smerge-base): Use shades of yellow. + (smerge-refined-change): Empty face. + (smerge-refined-removed): New face that uses shades of red. + (smerge-refined-added): New face that uses shades of green. + (smerge-refine-subst): Rename arg `props' to `props-c'. Add new + args `props-r' and `props-a', and use them. Doc fix. + (smerge-refine): Evaluate `smerge-use-changed-face' and depending + on its value use different faces `smerge-refined-change', + `smerge-refined-removed', `smerge-refined-added' in the call to + `smerge-refine-subst'. + + * vc/ediff-init.el (ediff-current-diff-A, ediff-fine-diff-A): + Add face condition `min-colors 88' with shades of red. + (ediff-current-diff-B, ediff-fine-diff-B): Add face condition + `min-colors 88' with shades of green. + (ediff-current-diff-C, ediff-fine-diff-C): Add face condition + `min-colors 88' with shades of yellow. + +2012-05-24 Glenn Morris + + * paths.el (prune-directory-list, remote-shell-program): Move to... + * files.el (prune-directory-list, remote-shell-program): ...here. + For the latter, delay initialization, prefer ssh, just search PATH. + + * paths.el (term-file-prefix): Move to faces.el (the only user). + * faces.el (term-file-prefix): Move here, make it a defcustom. + + * paths.el (news-directory, news-path, news-inews-program): + Move to gnus/nnspool.el. + + * paths.el (gnus-default-nntp-server): Remove (gnus.el defines it). + + * paths.el (rmail-file-name, rmail-spool-directory): Move from here... + * mail/rmail.el (rmail-file-name, rmail-spool-directory): ... to here. + Make the latter a defcustom, with a delayed initialization. + + * paths.el (gnus-nntp-service, gnus-local-organization): Remove. + These were deleted from Gnus itself late 2010. + +2012-05-22 Juanma Barranquero + + * progmodes/which-func.el (which-func-ff-hook): + Check against user-error, not error. + + * emacs-lisp/edebug.el (top): Do not load or set up loading of + cl-specs.el, which no longer exists. + +2012-05-22 Glenn Morris + + * info.el (info-emacs-bug): New command. + * menu-bar.el (menu-bar-help-menu): Add "How to Report a Bug" to Help. + * mail/emacsbug.el (report-emacs-bug): Replace with info-emacs-bug. + +2012-05-21 Glenn Morris + + * makefile.w32-in (update-subdirs-SH): + * Makefile.in (update-subdirs): Update for moved update-subdirs. + +2012-05-21 Stefan Monnier + + * hi-lock.el (hi-lock-face-defaults): Move obsolete before definition. + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Simplify Maven regexp, and make sure the file can't start with a space + (bug#11517). + +2012-05-21 Glenn Morris + + * Makefile.in (setwins, setwins_almost, setwins_for_subdirs): + Scrap superfluous subshells. + +2012-05-19 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-root-dir): New var. + (byte-compile-warning-prefix, batch-byte-compile-file): Use it. + +2012-05-19 Jay Belanger + + * calc/calc.el (calc-ensure-consistent-units): New variable. + + * calc/calc-units.el (math-consistent-units-p) + (math-check-unit-consistency): New functions. + (calc-quick-units, calc-convert-units): + Use `math-check-unit-consistency' when `calc-ensure-consistent-units' + is non-nil. + (calc-extract-units): Fix typo. + +2012-05-18 Stefan Monnier + + * vc/vc-bzr.el (vc-bzr-state-heuristic): Save match-data around sha1. + + * textmodes/flyspell.el: Commenting style, plus code simplifications. + (flyspell-default-deplacement-commands): Don't spell check after + repeated window/frame switches (e.g. triggered by mouse-movement). + (flyspell-delay-commands, flyspell-deplacement-commands): Use mapc. + (flyspell-debug-signal-word-checked): Simplify and fit in 80 cols. + (flyspell-casechars-cache, flyspell-ispell-casechars-cache) + (flyspell-not-casechars-cache, flyspell-ispell-not-casechars-cache): + Remove unused vars. + (flyspell-get-casechars, flyspell-get-not-casechars): + Simplify; Don't bother removing a ] just to add it back. + * textmodes/ispell.el (ispell-program-name): Use executable-find. + +2012-05-18 Rüdiger Sonderfeld + + * calc/calc-lang.el (math-C-parse-bess, math-C-parse-fma): + New functions. + (math-function-table): Add support for more C functions. + +2012-05-18 Agustín Martín Domingo + + * textmodes/flyspell.el (flyspell-check-pre-word-p) + (flyspell-check-word-p, flyspell-debug-signal-word-checked): + Protect delay handling for otherchars against empty otherchars. + +2012-05-18 Stefan Monnier + + * emacs-lisp/lisp-mode.el (doc-string-elt): Move those properties to + their respective macro declarations. + * skeleton.el (define-skeleton): + * progmodes/compile.el (define-compilation-mode): + * ibuf-macs.el (define-ibuffer-sorter, define-ibuffer-op) + (define-ibuffer-filter): + * emacs-lisp/generic.el (define-generic-mode): + * emacs-lisp/easy-mmode.el (define-minor-mode) + (define-globalized-minor-mode): + * emacs-lisp/cl-macs.el (defun*, defmacro*, defstruct, deftype): + * emacs-lisp/byte-run.el (defsubst): + * custom.el (deftheme): Add doc-string metadata. + +2012-05-17 Stefan Monnier + + * emacs-lisp/cl-macs.el, emacs-lisp/cl.el: Move indent info. + +2012-05-17 Stefan Monnier + + * emacs-lisp/pcase.el (pcase--u1): Avoid ((lambda ...) ...). + + * emacs-lisp/cl.el: Add edebug specs from cl-specs.el. + * emacs-lisp/cl-macs.el: Idem. + * emacs-lisp/cl-specs.el: Remove. + +2012-05-17 Stefan Monnier + + Minor renaming of internal CL functions and variables. + * emacs-lisp/cl-seq.el (cl--adjoin): Rename from cl-adjoin. + (cl--position): Rename from cl-position. + (cl--delete-duplicates): Rename from cl-delete-duplicates. + * emacs-lisp/cl.el (cl--gensym-counter): Rename from *gensym-counter*. + (cl--random-state): Rename from *random-state*. + +2012-05-17 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl-transform-lambda): Don't add spurious + parens around the arg list (bug#11499). + +2012-05-17 Juri Linkov + + * isearch.el (word-search-regexp, word-search-backward) + (word-search-forward, word-search-backward-lax) + (word-search-forward-lax): Move functions from search.c + (bug#10145, bug#11381). + +2012-05-16 Agustín Martín Domingo + + * textmodes/flyspell.el (flyspell-check-pre-word-p) + (flyspell-check-word-p, flyspell-debug-signal-word-checked): + Delay for otherchars as for normal word components. + +2012-05-16 Stefan Monnier + + * minibuffer.el (completion--sifn-requote): Fix last change. + (minibuffer-local-must-match-filename-map): + Move define-obsolete-variable-alias before its var. + +2012-05-15 Stefan Monnier + + * emacs-lisp/pcase.el (pcase-let*, pcase-let): Fix edebug spec. + + * minibuffer.el (completion--sifn-requote): Handle sifn's truncation + behavior. + (completion--string-equal-p): New function. + (completion--twq-all): Use it to get better assertion failure data. + + Only handle ".." and '..' quoting in shell-mode (bug#11466). + * shell.el (shell--unquote&requote-argument, shell--unquote-argument) + (shell--requote-argument): New functions. + (shell-completion-vars): Use them. + (shell--parse-pcomplete-arguments): Rename from + shell-parse-pcomplete-arguments. + * comint.el (comint-word): Obey comint-file-name-quote-list. Simplify. + (comint--unquote&requote-argument): Don't handle ".." and '..' quoting. + Obey comint-file-name-quote-list. + + * emacs-lisp/smie.el (smie-indent--bolp-1): New function. + (smie-indent-keyword): Use it. + +2012-05-14 Stefan Merten + + * textmodes/rst.el (rst-re-alist): Fix loading (bug#11462). + +2012-05-14 Stefan Monnier + + * net/rlogin.el (rlogin-mode-map): Fix last change. + +2012-05-14 Jason L. Wright (tiny change) + + * mail/smtpmail.el (smtpmail-send-command): Send the command and + the following \r\n using a single `process-send-string', since the + Lotus SMTP server refuses to accept any commands if they are sent + with two `process-send-string's (Bug#11444). + +2012-05-14 Stefan Monnier + + * shell.el (shell-parse-pcomplete-arguments): + Obey pcomplete-arg-quote-list inside double-quoted args (Bug#11348). + +2012-05-14 Wolfgang Jenkner + + * image-mode.el: Fit to width/height for rotated images (Bug#11431). + (image-transform-scale, image-transform-right-angle-fudge): New vars. + (image-transform-width, image-transform-fit-width): New functions. + (image-transform-properties): Use them. + (image-transform-check-size): New function. + (image-toggle-display-image): Use it (for testing). + (image-transform-set-rotation): Reduce angle mod 360. + Delete obsolete comment. + +2012-05-14 Wolfgang Jenkner + + * image-mode.el: Fix scaling (bug#11399). + (image-transform-resize): Doc fix. + (image-transform-properties): Default scale is 1 and height should + be an integer. + +2012-05-13 Johan Bockgård + + * emacs-lisp/smie.el (smie-next-sexp): Use accessor `op-forw' rather + than hard-coding `car', to fix misbehavior when moving forward. + +2012-05-13 Chong Yidong + + * emacs-lisp/tabulated-list.el (tabulated-list-format) + (tabulated-list-entries, tabulated-list-padding) + (tabulated-list-sort-key): Make permanent-local. + + * ebuff-menu.el: Adapt to Buffer Menu changes (Bug#11455). + (electric-buffer-list): Put electric buffer menu + command descriptions in this docstring, instead of the docstring + of electric-buffer-menu-mode. Code cleanups. + (electric-buffer-menu-mode): Use define-derived-mode. Rename from + Electric-buffer-menu-mode. + (electric-buffer-update-highlight): Minor code cleanup. + +2012-05-13 Michael Albinus + + * net/dbus.el (dbus-call-method): Restore events not from D-Bus. + (Bug#11447) + +2012-05-13 Stefan Monnier + + Move define-obsolete-variable-alias before the var's definition. + * vc/log-edit.el (vc-comment-ring, vc-comment-ring-index): + * tooltip.el (tooltip-hook): + * textmodes/reftex-toc.el (reftex-toc-map): + * textmodes/reftex-sel.el (reftex-select-label-map) + (reftex-select-bib-map): + * textmodes/reftex-index.el (reftex-index-map) + (reftex-index-phrases-map): + * speedbar.el (speedbar-syntax-table, speedbar-key-map): + * progmodes/meta-mode.el (meta-mode-map): + * novice.el (disabled-command-hook): + * loadhist.el (unload-hook-features-list): + * frame.el (blink-cursor): + * files.el (find-file-not-found-hooks, write-file-hooks) + (write-contents-hooks): + * emulation/tpu-edt.el (GOLD-map): + * emacs-lock.el (emacs-lock-from-exiting): + * emacs-lisp/generic.el (generic-font-lock-defaults): + * emacs-lisp/chart.el (chart-map): + * dos-fns.el (register-name-alist): + * dired-x.el (dired-omit-files-p): + * desktop.el (desktop-enable): + * cus-edit.el (custom-mode-hook): + * buff-menu.el (buffer-menu-mode-hook): + * bookmark.el (bookmark-read-annotation-text-func) + (bookmark-exit-hooks): + * allout.el (allout-mode-deactivate-hook) + (allout-exposure-change-hook, allout-structure-added-hook) + (allout-structure-deleted-hook, allout-structure-shifted-hook): + * dirtrack.el (dirtrack-toggle, dirtrackp, dirtrack-debug-toggle) + (dirtrack-debug): Move call to define-obsolete-variable-alias so it + comes before the corresponding variable's definition. + +2012-05-12 Chong Yidong + + * buff-menu.el (Buffer-menu-buffer+size-width): Doc fix (Bug#11454). + (Buffer-menu-mouse-select): Restore function (Bug#11459). + (Buffer-menu-mode-map): Bind it. + (Buffer-menu--pretty-name): Add a mouse-face property. + +2012-05-11 Stefan Monnier + + * progmodes/prolog.el: Use SMIE. Cleanup regexp setup. + (prolog-upper-case-string, prolog-lower-case-string) + (prolog-atom-char-regexp, prolog-atom-regexp): Initialize in defconst. + (prolog-use-smie, prolog-smie-grammar): New vars. + (prolog-smie-forward-token, prolog-smie-backward-token) + (prolog-smie-rules): New funs. + (prolog-comment-indent): Remove. + (prolog-mode-variables): Use default comment indentation instead. + Setup SMIE. + (prolog-build-case-strings, prolog-set-atom-regexps): Remove. + (prolog-mode): Don't call them any more. + (prolog-electric-colon, prolog-electric-dash) + (prolog-edit-menu-insert-move): Use indent-according-to-mode. + + * dabbrev.el (dabbrev-expand): Make "no expansion found" a user-error. + + * minibuffer.el (completion--twq-all): Again, allow case differences. + + * term.el: Move keymap initialization code to be more idiomatic. + (term-signals-menu, term-mode-map, term-raw-map, term-raw-escape-map) + (term-terminal-menu): Move initialization into declaration. + (term-escape-char): Let the user set it in her .emacs. + + * progmodes/sh-script.el: Use post-self-insert-hook&electric-pair-mode. + Provide SMIE-based indentation (not enabled by default yet). + (sh-mode-map): Don't bind electric keys. + Use electric-pair-mode instead of skeleton-pair. + (sh-assignment-regexp): Fit within 80 columns. + (sh-indent-supported): Specify actual shell name instead of boolean. + (sh--maybe-here-document): New fun, from sh-maybe-here-document. + (sh-maybe-here-document): Use it. Make obsolete. + (sh-electric-here-document-mode) New minor mode. + (sh-mode): Use it. Don't set sh-indent-supported-here here. + (sh-smie-sh-grammar, sh-smie--sh-operators, sh-smie--sh-operators-re) + (sh-smie--sh-operators-back-re, sh-indent-after-continuation) + (sh-smie-rc-grammar, sh-use-smie): New vars. + (sh-smie--keyword-p, sh-smie--newline-semi-p, sh-smie--sh-keyword-p) + (sh-smie-sh-forward-token, sh-smie--looking-back-at-continuation-p) + (sh-smie-sh-backward-token, sh-smie--continuation-start-indent) + (sh-smie-sh-rules, sh-smie-rc-rules, sh-smie--sh-keyword-in-p) + (sh-smie--rc-after-special-arg-p, sh-smie-rc-backward-token) + (sh-smie-sh-rules, sh-smie--rc-newline-semi-p): New functions. + (sh-set-shell): Use smie-setup if requested. + + * term.el (term-set-escape-char): Properly set term-escape-char. + See http://stackoverflow.com/questions/10524656. + +2012-05-10 Chong Yidong + + * ffap.el (ffap-url-unwrap-local): Make it work right (Bug#9131). + Use url-generic-parse-url, and handle host names and Windows + filenames properly. + (ffap-url-unwrap-remote): Use url-generic-parse-url. + (ffap-url-unwrap-remote): Accept list values, specifying a list of + URL schemes to work on. + (ffap--toggle-read-only): New function. + (ffap-read-only, ffap-read-only-other-window) + (ffap-read-only-other-frame): Use it. + (ffap-fixup-url): Don't check ffap-ftp-regexp, since it is not + necessary for ffap-url-unwrap-remote. + +2012-05-10 Dave Abrahams + + * cus-start.el (create-lockfiles): Add it. + +2012-05-09 Chong Yidong + + * net/browse-url.el (browse-url-url-encode-chars): Use upper-case. + (browse-url-encode-url): Encode spaces and quotes (Bug#6300). + +2012-05-09 Stefan Monnier + + * shell.el (shell-completion-vars): Fix last change (bug#11348). + +2012-05-09 Chong Yidong + + * ansi-color.el (ansi-color-process-output): Check for validity of + comint-last-output-start before using it. This avoids a bad + interaction with gdb-mi's input/output buffer. + +2012-05-09 Glenn Morris + + * files.el (dir-locals-read-from-file): + Mention dir-locals in any error message. + +2012-05-09 Chong Yidong + + * emacs-lisp/package.el (package-built-in-p): Handle the `emacs' + package (Bug#11410). + + * emacs-lisp/package.el (package-buffer-info): Avoid putting local + variables into description. + +2012-05-09 Stefan Monnier + + * shell.el (shell-completion-vars): Set pcomplete-arg-quote-list like + shell-delimiter-argument-list (bug#11348). + (shell-parse-pcomplete-arguments): Obey pcomplete-arg-quote-list. + +2012-05-09 Juanma Barranquero + + * textmodes/rst.el: Silence byte-compiler warnings. + (rst-re-alist, rst-reset-section-caches): Move around. + (rst-re): Use `characterp', not `char-valid-p'. + (font-lock-beg, font-lock-end): Declare. + + * progmodes/idlw-shell.el (specs): Remove reference to deleted + variable `idlwave-shell-activate-alt-keybindings' and simplify. + + * eshell/esh-cmd.el (eshell-debug-command): Fix typo in previous change. + +2012-05-08 Glenn Morris + + * files.el (auto-mode-alist): Treat ".make" like ".mk". + +2012-05-08 Stefan Monnier + + * vc/log-edit.el: Add GNU coding standards highlighting. + (log-edit-font-lock-gnu-style) + (log-edit-font-lock-gnu-keywords): New vars. + (log-edit-font-lock-keywords): New fun. + (log-edit-mode): Don't fold case in font-lock. + (log-edit-font-lock-keywords): Do not assume case-folding. + + * imenu.el: Misc cleanup. Make docstrings out of comments. + Use lexical-binding. + (imenu--index-alist, imenu--last-menubar-index-alist) + (imenu-menubar-modified-tick): Use defvar-local. + (imenu--split-menu): Remove unused var. + (imenu--cleanup-seen): Declare as global. + (imenu--cleanup): Use dolist. + + * subr.el (defvar-local): Add debug spec and doc-string position. + +2012-05-08 Glenn Morris + + * language/burmese.el, language/cham.el, language/czech.el: + * language/english.el, language/georgian.el, language/greek.el: + * language/japanese.el, language/khmer.el, language/korean.el: + * language/lao.el, language/misc-lang.el, language/romanian.el: + * language/sinhala.el, language/slovak.el, language/tai-viet.el: + * language/thai.el, language/utf-8-lang.el: + Remove no-byte-compile setting. + + * play/zone.el (zone-pgm-stress): Don't pollute kill-ring. (Bug#11388) + +2012-05-08 Aaron S. Hawley + + * progmodes/make-mode.el (makefile-browse): + Remove unnecessary interactive. (Bug#11324) + +2012-05-07 Glenn Morris + + * forms-d2.el, forms-pass.el: Move to ../etc/forms directory. + + * international/mule.el (find-auto-coding): Make "unibyte: t" obsolete. + +2012-05-07 Stefan Monnier + + * loadup.el: Preload newcomment.el. + * newcomment.el: Move autoload-only code to toplevel. + + * buff-menu.el (list-buffers--refresh): Mark `size' as right-align. + * emacs-lisp/tabulated-list.el (tabulated-list-init-header): + Handle new :right-align column property. + (tabulated-list-print-col): Idem, plus use `display' text-property to + try and preserve alignment for variable pitch fonts. + +2012-05-07 Chong Yidong + + * emacs-lisp/tabulated-list.el: Add no-header-line alternative. + (tabulated-list-use-header-line): New var. + (tabulated-list-init-header): Use it. + (tabulated-list-print-fake-header): New function. + (tabulated-list-print): Use it. + (tabulated-list-sort-button-map): Add non-header-line commands. + (tabulated-list-init-header): Add column name property to basic + labels as well. + (tabulated-list-col-sort): Handle non-header-line button case. + (tabulated-list--sort-by-column-name): Fix a corner case. + + * buff-menu.el (list-buffers--refresh): + Handle Buffer-menu-use-header-line. + +2012-05-06 Chong Yidong + + * buff-menu.el: Convert to Tabulated List mode. + (Buffer-menu-buffer+size-width): Make obsolete. + (Buffer-menu-name-width, Buffer-menu-size-width): New variables. + (Buffer-menu-mode-map): Inherit from tabulated-list-mode-map. + (Buffer-menu-mode): Derive from tabulated-list-mode. Move command + documentation into docstring of buffer-menu. + (Buffer-menu-toggle-files-only): Add an informative message. + (Buffer-menu-sort): Convert to alias for tabulated-list-sort. + (Buffer-menu-buffer, Buffer-menu-beginning, Buffer-menu-mark) + (Buffer-menu-unmark, Buffer-menu-backup-unmark) + (Buffer-menu-delete, Buffer-menu-save, Buffer-menu-not-modified) + (Buffer-menu-execute, Buffer-menu-select) + (Buffer-menu-marked-buffers, Buffer-menu-toggle-read-only) + (Buffer-menu-bury): Use Tabulated List machinery. + (Buffer-menu-mouse-select, Buffer-menu-sort-by-column) + (Buffer-menu-sort-button-map, Buffer-menu-make-sort-button): + Delete. + (list-buffers--refresh): New function. + (list-buffers-noselect): Use it. + (tabulated-list-entry-size->, Buffer-menu--pretty-name) + (Buffer-menu--pretty-file-name): New helper functions. + + * loadup.el: Preload tabulated-list. + + * emacs-lisp/tabulated-list.el (tabulated-list-sort): Rename from + tabulated-list-sort-column. + (tabulated-list-init-header): Add the initial aligning space even + if tabulated-list-padding is zero. + +2012-05-06 Christopher Schmidt + + * emacs-lisp/cl-macs.el (cl-expr-contains): Handle cons cells + whose cdr is not a cons cell correctly (bug#11038). + +2012-05-06 Chong Yidong + + * emacs-lisp/tabulated-list.el (tabulated-list-format): + Accept additional plist in column descriptors. + (tabulated-list-init-header): Obey it. + (tabulated-list-get-entry): New function. + (tabulated-list-put-tag): Use it. Use string-width instead of + length. + (tabulated-list--column-number): New function. + (tabulated-list-print): Use it. + (tabulated-list-print-col): New function. + Set `tabulated-list-column-name' property on each column's text. + (tabulated-list-print-entry): Use it. + (tabulated-list-delete-entry, tabulated-list-set-col): + New functions. + (tabulated-list-sort-column): New command (Bug#11337). + + * buff-menu.el (list-buffers): Move C-x C-b binding from + buff-menu.el to bindings.el. + + * ebuff-menu.el (Electric-buffer-menu-undefined): Use the + :advertised-binding feature. + +2012-05-06 Troels Nielsen (tiny change) + + * progmodes/compile.el (compilation-internal-error-properties): + Calculate start position correctly when end-col is set but + end-line is not (Bug#11382). + +2012-05-06 Wolfgang Jenkner + + * man.el (Man-unindent): Use text-property-default-nonsticky to + prevent untabify from inheriting face properties (Bug#11408). + +2012-05-05 Stefan Merten + + * textmodes/rst.el: Major merge with upstream development up to + Docutils SVN r7399 / rst.el V1.2.1. + + Clarify maintainership and authors. + + (rst-extract-version, rst-cvs-header, rst-cvs-rev) + (rst-cvs-timestamp, rst-svn-rev, rst-svn-timestamp) + (rst-official-version, rst-official-cvs-rev, rst-version) + (rst-package-emacs-version-alist): New functions and variables + for version information. + + (rst-bullets, rst-uri-schemes, rst-adornment-chars) + (rst-max-inline-length, rst-re-alist-def, rst-re-alist) + (rst-mode-syntax-table, rst-mode): New and corrected functions + and variables representing reStructuredText features. + + (rst-re): New function for reStructuredText regexes. Use in + many places. + + (rst-deprecated-keys, rst-call-deprecated, rst-define-key) + (rst-mode-map): Rebind keys. + + (rst-mode-lazy, rst-font-lock-keywords) + (rst-font-lock-extend-region) + (rst-font-lock-extend-region-internal) + (rst-font-lock-extend-region-extend) + (rst-font-lock-find-unindented-line-limit) + (rst-font-lock-find-unindented-line-match) + (rst-adornment-level, rst-font-lock-adornment-level) + (rst-font-lock-adornment-match) + (rst-font-lock-handle-adornment-pre-match-form) + (rst-font-lock-handle-adornment-matcher): Major revision of + font-locking. Integrate with other code. Use `jit-lock-mode'. + + (rst-preferred-adornments, rst-adjust-hook) + (rst-new-adornment-down, rst-preferred-bullets) + (rst-preferred-bullets, rst-indent, rst-indent-width) + (rst-indent-field, rst-indent-literal-normal) + (rst-indent-literal-minimized, rst-indent-comment): + Change, extend and improve customization. + + (rst-line-homogeneous-p, rst-line-homogeneous-nodent-p) + (rst-normalize-cursor-position, rst-get-decoration) + (rst-straighten-deco-spacing, rst-re-bullets, rst-re-items) + (rst-rstrip, rst-toc-insert-find-delete-contents) + (rst-shift-fill-region, rst-compute-bullet-tabs) + (rst-debug-print-tabs, rst-debug-mark-found) + (rst-shift-region-guts, rst-shift-region-right) + (rst-shift-region-left, rst-use-char-classes) + (rst-font-lock-keywords-function) + (rst-font-lock-indentation-point) + (rst-font-lock-find-unindented-line-begin) + (rst-font-lock-find-unindented-line-end) + (rst-font-lock-find-unindented-line) + (rst-font-lock-adornment-point, rst-font-lock-level) + (rst-adornment-level-alist): Remove functions and variables. + + (rst-compare-adornments, rst-get-adornment-match) + (rst-suggest-new-adornment, rst-get-adornments-around) + (rst-adornment-complete-p, rst-get-next-adornment) + (rst-adjust-adornment, rst-display-adornments-hierarchy) + (rst-straighten-adornments): Standardize function names to + use "adornment" instead of "decoration". Correct callers. + Similar standardizing in many places. + + (rst-update-section, rst-adjust, rst-promote-region) + (rst-enumerate-region, rst-bullet-list-region) + (rst-repeat-last-character): Correct use of `interactive'. + + (rst-classify-adornment, rst-find-all-adornments) + (rst-get-hierarchy, rst-adjust-adornment, rst-toc-update) + (rst-find-leftmost-column, rst-repeat-last-character): + Refactor functions. + + (rst-find-title-line, rst-reset-section-caches) + (rst-get-adornments-around, rst-adjust-adornment-work) + (rst-arabic-to-roman, rst-roman-to-arabic) + (rst-insert-list-pos, rst-insert-list-new-item) + (rst-insert-list-continue, rst-insert-list, rst-forward-line): + New functions. + + (rst-all-sections, rst-section-hierarchy) + (rst-arabic-to-roman, rst-initial-enums, rst-initial-items): + New variables. + + (rst-toc-return-wincfg, rst-toc-quit-window): Use window + configuration instead of only buffer. Change where necessary. + + (rst-line-tabs, rst-compute-tabs, rst-indent-line) + (rst-shift-region, rst-adaptive-fill): New functions for + indentation and filling. + + (rst-comment-line-break, rst-comment-indent) + (rst-comment-insert-comment, rst-comment-region) + (rst-uncomment-region): New functions for handling comments. + + (rst-compile): Quote shell arguments. + + (rst-compile-pdf-preview, rst-compile-slides-preview): + Delete temporary files after use. + +2012-05-05 Glenn Morris + + * calendar/cal-html.el: Optionally include holidays in the output. + Suggested by Ed Reingold . + (cal-html-holidays): New option. + (cal-html-css-default): Add holiday entry. + (holiday-in-range): Autoload it. + (cal-html-htmlify-entry): Add optional class argument. + (cal-html-htmlify-list): Add optional holidays argument. + (cal-html-insert-agenda-days): Include holidays in the output. + (cal-html-one-month): Maybe include holidays. + + * calendar/holidays.el (holiday-in-range): + Move here from cal-tex-list-holidays. + * calendar/cal-tex.el (cal-tex-list-holidays): + Make it an obsolete alias for holiday-in-range. Update all callers. + +2012-05-05 Chong Yidong + + * select.el (xselect--encode-string): Always use utf-8 for TEXT on + Nextstep. + +2012-05-05 Ransom Williams (tiny change) + + * files.el (file-auto-mode-skip): New var. + (set-auto-mode-1): Use it. + +2012-05-05 Stefan Monnier + + * repeat.el: Use lexical-binding. + (repeat-last-self-insert, repeat-num-input-keys-at-self-insert) + (repeat-undo-count): Remove. + (repeat): + * progmodes/octave-mod.el (octave-abbrev-start): + * progmodes/f90.el (f90-abbrev-start): + * face-remap.el (text-scale-adjust): + * kmacro.el (kmacro-call-macro): Use set-temporary-overlay-map. + + * emacs-lisp/pcase.el (pcase--let*): New function. + (pcase--expand, pcase-codegen, pcase--q1): Use it to reduce nesting + a bit more. + (pcase--split-pred): Be more clever about ruling out overlap between + a predicate and some constant pattern. + (pcase--q1): Use `null' instead of (eq foo nil). + + * subr.el (setq-local, defvar-local): New macros. + (kbd): Redefine as an alias. + (with-selected-window): Leave unrelated frames alone. + (set-temporary-overlay-map): New function. + +2012-05-04 Stefan Monnier + + * subr.el (user-error): New function. + * window.el (switch-to-buffer): + * vc/smerge-mode.el (smerge-resolve-function, smerge-resolve) + (smerge-match-conflict): + * simple.el (previous-matching-history-element) + (next-matching-history-element, goto-history-element, undo-more) + (undo-start): + * progmodes/etags.el (visit-tags-table-buffer, find-tag-tag) + (find-tag-noselect, find-tag-in-order, etags-goto-tag-location) + (next-file, tags-loop-scan, list-tags, complete-tag): + * progmodes/compile.el (compilation-loop): + * mouse.el (mouse-minibuffer-check): + * man.el (Man-bgproc-sentinel, Man-goto-page): + * info.el (Info-find-node-2, Info-extract-pointer, Info-history-back) + (Info-history-forward, Info-follow-reference, Info-menu) + (Info-extract-menu-item, Info-extract-menu-counting) + (Info-forward-node, Info-backward-node, Info-next-menu-item) + (Info-last-menu-item, Info-next-preorder, Info-last-preorder) + (Info-next-reference, Info-prev-reference, Info-index) + (Info-index-next, Info-follow-nearest-node) + (Info-copy-current-node-name): + * imenu.el (imenu--make-index-alist) + (imenu-default-create-index-function, imenu-add-to-menubar): + * files.el (basic-save-buffer, recover-file): + * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): + * emacs-lisp/checkdoc.el (checkdoc-continue, checkdoc-comments) + (checkdoc-message-text, checkdoc-defun): + * dabbrev.el (dabbrev-completion, dabbrev--abbrev-at-point): + * cus-edit.el (customize-changed-options, customize-rogue) + (customize-saved, custom-variable-set, custom-variable-mark-to-save) + (custom-variable-mark-to-reset-standard) + (custom-variable-reset-backup, custom-face-mark-to-reset-standard) + (custom-file): + * completion.el (check-completion-length): + * comint.el (comint-search-arg) + (comint-previous-matching-input-string-position) + (comint-previous-matching-input) + (comint-replace-by-expanded-history-before-point, comint-send-input) + (comint-copy-old-input, comint-backward-matching-input) + (comint-goto-process-mark, comint-set-process-mark): + * calendar/calendar.el (calendar-cursor-to-date): Use it. + * bindings.el (debug-ignored-errors): Remove regexps, add `user-error'. + +2012-05-04 Stefan Monnier + + * dabbrev.el (dabbrev--ignore-case-p): New function. + (dabbrev-completion, dabbrev-expand, dabbrev--substitute-expansion): + Use it. + + * files.el (automount-dir-prefix): Mark as obsolete. + +2012-05-04 Glenn Morris + + * patcomp.el, play/bruce.el: Move to obsolete/. + +2012-05-04 Paul Eggert + + Fix minor Y10k bugs. + * arc-mode.el (archive-unixdate): + * autoinsert.el (auto-insert-alist): + * calc/calc-forms.el (math-this-year): + * emacs-lisp/copyright.el (copyright-current-year) + (copyright-update-year, copyright): + * tar-mode.el (tar-clip-time-string): + * time.el (display-time-update): + Don't assume years have 4 digits. + +2012-05-04 Chong Yidong + + * dos-w32.el (file-name-buffer-file-type-alist) + (direct-print-region-use-command-dot-com): + * ffap.el (ffap-menu-regexp): + * find-file.el (ff-special-constructs): + * follow.el (follow-debug): + * forms.el (forms--debug): + * iswitchb.el (iswitchb-all-frames): + * ido.el (ido-all-frames): + * emacs-lisp/timer.el (timer-max-repeats): + * mail/feedmail.el (feedmail-mail-send-hook) + (feedmail-mail-send-hook-queued): + * mail/footnote.el (footnote-signature-separator): + * mail/mailabbrev.el (mail-alias-separator-string) + (mail-abbrev-mode-regexp): + * mail/rmail.el (rmail-speedbar-match-folder-regexp): + * progmodes/idlwave.el (idlwave-libinfo-file) + (idlwave-default-completion-case-is-down) + (idlwave-library-routines): Convert defvars to defcustoms. + + * mail/rmail.el (rmail-decode-mime-charset): + * progmodes/idlw-shell.el (idlwave-shell-print-expression-function) + (idlwave-shell-fix-inserted-breaks) + (idlwave-shell-activate-alt-keybindings) + (idlwave-shell-use-breakpoint-glyph): + * facemenu.el (facemenu-unlisted-faces): Delete obsolete vars. + +2012-05-03 Stefan Monnier + + * minibuffer.el (completion--twq-all): Beware completion-ignore-case. + +2012-05-03 Wilson Snyder + + * progmodes/verilog-mode.el (font-lock-keywords): + Fix mis-highligting auto. Reported by Craig Barner. + (verilog-auto, verilog-auto-undef): Add AUTOUNDEF to remove + defines from global name space. Reported by Dan Dever. + (verilog-auto-reset, verilog-auto-reset-widths) + (verilog-auto-tieoff): Support using unbased numbers for + AUTORESET and AUTOTIEOFF. + (verilog-submit-bug-report): Update variable list. + (verilog-read-auto-params): Fix AUTOINPUT regexps containing + parenthesis from not matching. Reported by Michael Rytting. + (verilog-auto-template-lint): Fix hash error when linting modules + with no used templates. + (verilog-warn, verilog-warn-error) + (verilog-warn-fatal): When non-interactive report multiple + warnings before exiting. Suggested by Brad Dobbie. + (verilog-auto-template-lint, verilog-auto-template-warn-unused) + (verilog-read-auto-template): Add `verilog-auto-template-warn-unused' + to report unused template errors. Reported by Brad Dobbie. + (verilog-read-decls): Fix AUTOWIRE etc on supply0, supply1 type + nets, bug438. Reported by Vns Blore. + (verilog-auto-inout-module, verilog-auto-reg) + (verilog-read-decls, verilog-read-sub-decls-sig) + (verilog-signals-edit-wire-reg, verilog-signals-with): + Fix passing of Verilog data types in ANSI input/output ports + such as "output logic" into the AUTOs. Special case "wire" and + "reg" for backwards compatibility presuming Verilog 2001. + (verilog-auto-ascii-enum): Add "auto enum" as alias. + (verilog-preprocess): Fix replication of preprocess output. + Reported by Brad Dobbie. + (verilog-auto-inst-interfaced-ports): + Create verilog-auto-inst-interfaced-ports, bug429. + Reported by Julian Gorfajn. + (verilog-after-save-font-hook) + (verilog-before-save-font-hook): New variable. + (verilog-modi-cache-results, verilog-save-font-mod-hooked) + (verilog-save-font-mods): Wrap disabling fontification, reported + by David Rogoff. + (verilog-do-indent, verilog-pretty-declarations-auto) + (verilog-sk-def-reg): Fix obeying `verilog-auto-lineup', bug305. + Reported by Pierre-David Pfister. + (verilog-set-auto-endcomments): Fix endtask auto comments outside + of class declarations, bug292. Reported by Kevin Heilman. + (verilog-read-decls): Fix 'parameter type' not appearing in + AUTOINSTPARAM, bug340. Reported by Jonathan Greenlaw. + (verilog-auto-logic): Fix when AUTOLOGIC present to properly do + AUTOINPUTs, bug411. Reported by Jonathan Greenlaw. + (verilog-read-auto-lisp): Avoid syntax-ppss warning on AUTOLISP. + Reported by David Kravitz. + +2012-05-03 Michael McNamara + + * progmodes/verilog-mode.el (verilog-pretty-expr): Don't line up + assignment with tests in ifs and for loops. + (verilog-extended-complete-re, verilog-complete-reg): Change so + that DPI inport functions don't look like fuction declarations. + (verilog-pretty-expr): Don't line up assignment + operations to the test and increment in if and for loops + (verilog-extended-complete-re, verilog-complete-reg): Change so + that DPI inport functions don't look like fuction declarations. + +2012-05-03 Kenichi Handa + + * mail/rmailmm.el (rmail-show-mime): Catch an error caused by text + decoding, and show a warning message without signaling an error + (Bug#11282). + +2012-05-03 Stefan Monnier + + * emacs-lisp/bytecomp.el + (byte-compile-file-form-custom-declare-variable): Compile all elements, + since cconv.el might have introduced :fun-body, internal-make-closure, + and friends for bytecomp to handle (bug#11391). + * custom.el (defcustom): Avoid ((λ ..) ..). + +2012-05-02 Stefan Monnier + + * subr.el (read-passwd): Better clean after ourselves (bug#11392). + +2012-05-02 Juanma Barranquero + + * notifications.el (dbus-debug): + * term/linux.el (gpm-mouse-enable): + * term/screen.el (xterm-register-default-colors): Declare. + +2012-05-02 Chong Yidong + + * cus-start.el (gc-cons-percentage, exec-suffixes) + (dos-display-scancodes, dos-hyper-key, dos-super-key) + (dos-keypad-mode, debug-on-signal, vertical-centering-font-regexp) + (make-cursor-line-fully-visible, void-text-area-pointer) + (font-list-limit): Add customization data. + + * allout.el (allout-exposure-change-functions) + (allout-structure-added-functions) + (allout-structure-deleted-functions) + (allout-structure-shifted-functions): Rename abnormal hooks from + *-hook, and convert to defcustoms. + (allout-after-copy-or-kill-hook, allout-post-undo-hook): + Convert to defcustoms. + (allout-mode-hook, allout-mode-deactivate-hook): Doc fix. + + * allout-widgets.el: Hook callers changed. + +2012-05-02 Eli Zaretskii + + * mail/rmail.el (rmail-yank-current-message): Use the encoding of + the yanked message in preference to the default value of + buffer-file-coding-system. + +2012-05-02 Martin Rudalics + + * window.el (display-buffer--action-function-custom-type): + Fix entry. + +2012-05-02 Alan Mackenzie + + * progmodes/cc-defs.el (c-version): Update to 5.32.3. + +2012-05-01 Glenn Morris + + * cus-start.el (suggest-key-bindings): Remove, now it is in Lisp. + + * eshell/esh-cmd.el (eshell-debug-command): Doc fix. Add :set. + + * cus-edit.el (custom-variable-documentation): Simplify with format. + +2012-05-01 Aaron S. Hawley + Stefan Monnier + + * simple.el (suggest-key-bindings, execute-extended-command): + Move from keyboard.c. + +2012-05-01 Chong Yidong + + * follow.el: Eliminate advice. + (set-process-filter, process-filter, sit-for): Advice deleted. + (follow-mode-off-hook): Obsolete hook removed. + (follow-avoid-tail-recenter-p, follow-process-filter-alist): + Vars deleted. + (follow-auto): Use a :set function. + (follow-mode): Rewritten. Don't advise process filters. + (follow-switch-to-current-buffer-all, follow-scroll-up) + (follow-scroll-down): Assume follow-mode is bound. + (follow-comint-scroll-to-bottom) + (follow-align-compilation-windows): New functions. + (follow--window-sorter): New function. + (follow-all-followers): Use it to explicitly sort windows by their + positions; don't make assumptions about next-window order. + (follow-windows-start-end, follow-delete-other-windows-and-split) + (follow-calc-win-start): Doc fix. + (follow-windows-aligned-p, follow-select-if-visible): Don't call + vertical-motion unnecessarily. + (follow-adjust-window): New function. + (follow-post-command-hook): Use it. + (follow-call-set-process-filter, follow-call-process-filter) + (follow-intercept-process-output, follow-tidy-process-filter-alist) + (follow-stop-intercept-process-output, follow-generic-filter): + Functions deleted. + (follow-scroll-bar-toolkit-scroll, follow-scroll-bar-drag) + (follow-scroll-bar-scroll-up, follow-scroll-bar-scroll-down): + New functions, replacing advice on scroll-bar-* commands. + (follow-mwheel-scroll): New function (Bug#4112). + + * comint.el (comint-adjust-point): New function. + (comint-postoutput-scroll-to-bottom): Use it. + Call follow-comint-scroll-to-bottom for Follow mode buffers. + +2012-05-01 Glenn Morris + + * term/AT386.el, term/apollo.el, term/bobcat.el, term/cygwin.el: + * term/iris-ansi.el, term/linux.el, term/lk201.el, term/news.el: + * term/screen.el, term/vt102.el, term/vt125.el, term/vt200.el: + * term/vt201.el, term/vt220.el, term/vt240.el, term/vt300.el: + * term/vt320.el, term/vt400.el, term/vt420.el, term/wyse50.el: + Remove no-byte-compile setting. + +2012-05-01 Stefan Monnier + + * minibuffer.el (completion-table-with-quoting): Fix compatibility + all-completions code to not return a number in the last cdr. + +2012-04-30 Leo Liu + + * ibuf-ext.el (ibuffer-diff-buffer-with-file-1): Avoid buffer + read-only error. + +2012-04-29 Chong Yidong + + * follow.el (follow-calc-win-end): Rewrite to handle partial + screen lines correctly (Bug#8390). + (follow-avoid-tail-recenter): Minor cleanup. + +2012-04-28 Stefan Monnier + + Avoid the obsolete `assoc' package. + * speedbar.el (speedbar-refresh): Avoid adelete. + (speedbar-file-lists): Simplify and avoid aput. + * man.el (Man--sections, Man--refpages): New vars, replacing + Man-sections-alist and Man-refpages-alist. + (Man-build-section-alist, Man-build-references-alist): + Use them; avoid aput. + (Man--last-section, Man--last-refpage): New vars. + (Man-follow-manual-reference): Use them. + Use the `default' arg of completing-read. + (Man-goto-section): Idem. Move prompt to the `interactive' spec. + +2012-04-27 Chong Yidong + + * vc/diff.el (diff-sentinel): Go to bob (Bug#10259). + + * startup.el (x-apply-session-resources): New function. + + * term/ns-win.el (ns-initialize-window-system): + * term/w32-win.el (w32-initialize-window-system): + * term/x-win.el (x-initialize-window-system): Use it to properly + set menu-bar-mode and other vars from X resources, even if the + initial frame is not a window-system frame (Bug#2299). + + * subr.el (read-key): Avoid running filter function when setting + up temporary tool bar entries (Bug#9922). + +2012-04-27 Andreas Schwab + + * vc/vc-git.el (vc-git-state): Fix regexp matching diff output. + (Bug#11344) + +2012-04-27 Chong Yidong + + * select.el (xselect--encode-string): New function, split from + xselect-convert-to-string. + (xselect-convert-to-string): Use it. + (xselect-convert-to-filename, xselect-convert-to-os) + (xselect-convert-to-host, xselect-convert-to-user): Ensure that + returned strings are properly encoded (Bug#11315). + +2012-04-27 Chong Yidong + + * simple.el (delete-active-region): Move to killing custom group. + +2012-04-27 Andreas Schwab + + * progmodes/which-func.el (which-func-current): Quote % + characters for mode-line processing. + +2012-04-27 Chong Yidong + + * xml.el (xml-parse-region, xml-parse-tag): Avoid errors due to + reaching eob (Bug#11286). + +2012-04-27 Eli Zaretskii + + * progmodes/gdb-mi.el (gdb-control-level): New variable. + (gdb): Make it buffer-local and init to zero. + (gdb-control-commands-regexp): New variable. + (gdb-send): Don't wrap in "-interpreter-exec console" if + gdb-control-level is positive. Increment gdb-control-level + whenever the command matches gdb-control-commands-regexp, and + decrement it each time the command is "end". (Bug#11279) + +2012-04-27 Martin Rudalics + + * window.el (adjust-window-trailing-edge, enlarge-window) + (shrink-window, window-resize): + * mouse.el (mouse-drag-line): Fix resizing of minibuffer + windows (Bug#11276). + +2012-04-27 Chong Yidong + + * progmodes/pascal.el (pascal--extra-indent): Rename from ind, to + fix "missing prefix" warning. All callers changed. + +2012-04-27 Stefan Monnier + + * emacs-lisp/assoc.el: Move to obsolete/. + +2012-04-26 Stefan Monnier + + * emacs-lisp/assoc.el (aget): Fix dynamic-scoping issue (bug#11352). + + * term/ns-win.el (ns-define-service): + * progmodes/pascal.el (pascal-goto-defun): + * progmodes/js.el (js--read-tab): + * progmodes/etags.el (tags-lazy-completion-table): + * emacs-lisp/syntax.el (syntax-propertize-via-font-lock): + * emacs-lisp/ewoc.el (ewoc--wrap): + * emacs-lisp/assoc.el (aput, adelete, amake): + * doc-view.el (doc-view-convert-current-doc): + * vc/diff.el (diff-no-select): Replace lexical-let by lexical-binding. + +2012-04-26 Chong Yidong + + * image.el (image-type-from-buffer): Only return supported image + type (Bug#9045). + + * vc/diff-mode.el (diff-beginning-of-hunk): Return a meaningful + value, for symmetry with diff-end-of-hunk. + (diff-split-hunk, diff-find-source-location) + (diff-ignore-whitespace-hunk, diff-refine-hunk): Use it. + (diff-bounds-of-hunk, diff-bounds-of-file): New functions. + (diff-restrict-view, diff-hunk-kill, diff-file-kill): Use them to + compute the relevant hunk or file properly (Bug#6005). + (diff-file-junk-re): Add bzr's "modified file" tag (Bug#6041). + +2012-04-26 Stefan Monnier + + * vc/vc-mtn.el: + * vc/vc-hg.el: + * vc/vc-git.el: + * vc/vc-dir.el: + * vc/vc-cvs.el: + * vc/vc-bzr.el: + * vc/vc-arch.el: + * vc/vc.el: Replace lexical-let by lexical-binding. + * minibuffer.el (lazy-completion-table): Avoid ((λ ...) ...). + * emacs-lisp/cl-macs.el (lexical-let): Fix use in lexical-binding. + * emacs-lisp/cconv.el (cconv-analyse-form): Warn use of ((λ ...) ...). + +2012-04-26 Chong Yidong + + * vc/diff-mode.el (diff-undo): New command (Bug#5302). + (diff-mode-shared-map): Bind it to / and [remap undo]. + + * vc/ediff-wind.el (ediff-setup-windows-default): New function. + (ediff-window-setup-function): Use it as the default, to set up + windows based on whether the current frame is graphical (Bug#2138). + (ediff-choose-window-setup-function-automatically): Make obsolete. + + * vc/ediff-init.el: Always define ediff-pixel-width/height. + +2012-04-25 Stefan Monnier + + * ffap.el: Remove old code for obsolete package. + (ffap-complete-as-file-p): Remove. + + Use completion-table-with-quoting for comint and pcomplete. + * comint.el (comint--unquote&requote-argument) + (comint--unquote-argument, comint--requote-argument): New functions. + (comint--unquote&expand-filename, comint-unquote-filename): Obsolete. + (comint-quote-filename): Use regexp-opt-charset. + (comint--common-suffix, comint--common-quoted-suffix) + (comint--table-subvert): Remove. + (comint-unquote-function, comint-requote-function): New vars. + (comint--complete-file-name-data): Use them with + completion-table-with-quoting. + * pcmpl-unix.el (pcomplete/scp): Use completion-table-subvert. + * pcomplete.el (pcomplete-arg-quote-list) + (pcomplete-quote-arg-hook, pcomplete-quote-argument): Obsolete. + (pcomplete-unquote-argument-function): Default to non-nil. + (pcomplete-unquote-argument): Simplify. + (pcomplete--common-quoted-suffix): Remove. + (pcomplete-requote-argument-function): New var. + (pcomplete--common-suffix): New function. + (pcomplete-completions-at-point): Use completion-table-with-quoting + and completion-table-subvert. + + * minibuffer.el: Use completion-table-with-quoting for read-file-name. + (minibuffer--double-dollars): Preserve properties. + (completion--sifn-requote): New function. + (completion--file-name-table): Rewrite using it and c-t-with-quoting. + + * minibuffer.el: Add support for completion of quoted/escaped data. + (completion-table-with-quoting, completion-table-subvert): New funs. + (completion--twq-try, completion--twq-all): New functions. + (completion--nth-completion): New function. + (completion-try-completion, completion-all-completions): Use it. + +2012-04-25 Leo Liu + + * progmodes/python.el (python-pdbtrack-get-source-buffer): + Use compilation-message if available to find real filename. + +2012-04-25 Chong Yidong + + * vc/diff-mode.el (diff-setup-whitespace): New function. + (diff-mode): Use it. + + * vc/diff.el (diff-sentinel): + * vc/vc.el (vc-diff-finish): Call diff-setup-whitespace to assign + Whitespace mode variables based on diff style (Bug#8612). + +2012-04-25 Leo Liu + + * progmodes/python.el (python-send-region): Add suffix .py to the + temp file. + + * files.el (auto-mode-alist): Use javascript-mode instead. + +2012-04-25 Alex Harsanyi + + Sync with soap-client repository. Support SOAP simpleType (Bug#10331). + + * net/soap-client.el (soap-resolve-references-for-sequence-type) + (soap-resolve-references-for-array-type): Hack to prevent self + references, see Bug#9. + (soap-parse-envelope): Report the contents of the 'detail' node + when receiving a fault reply. + (soap-parse-envelope): Report the contents of the entire 'detail' node. + + * net/soap-inspect.el (soap-sample-value-for-simple-type) + (soap-inspect-simple-type): New function. + + * net/soap-client.el (soap-simple-type): New struct. + (soap-default-xsd-types, soap-default-soapenc-types) + (soap-decode-basic-type, soap-encode-basic-type): + support unsignedInt and double basic types. + (soap-resolve-references-for-simple-type) + (soap-parse-simple-type, soap-encode-simple-type): New function. + (soap-parse-schema): Parse xsd:simpleType declarations. + + * net/soap-client.el (soap-default-xsd-types) + (soap-default-soapenc-types): Add integer, byte and anyURI types. + (soap-parse-complex-type-complex-content): Use `soap-wk2l' to find + the local name of "soapenc:Array". + (soap-decode-basic-type, soap-encode-basic-type): Support encoding + decoding integer, byte and anyURI xsd types. + +2012-04-25 Chong Yidong + + * cus-edit.el (custom-buffer-create-internal): Update header text. + +2012-04-25 Eli Zaretskii + + * progmodes/gdb-mi.el (gdb-init-1): Condition Windows-specific + settings on 'system-type', not on 'window-system'. On MS-Windows, + set interactive-mode on in GDB. + +2012-04-24 Stefan Monnier + + * progmodes/ruby-mode.el: Simplify last change, and cleanup code. + (ruby-syntax-propertize-regexp): Remove. + (ruby-syntax-propertize-function): Split regexp into chunks. + Match following code directly. + +2012-04-24 Dmitry Gutov + + * progmodes/ruby-mode.el: Handle Cucumber defs (bug#6286). + (ruby-syntax-propertize-regexp): New function. + (ruby-syntax-propertize-function): Use it to handle regexp not preceded + by a special keyword. + + * progmodes/ruby-mode.el: Handle general delimited literals (bug#6286). + (ruby-syntax-general-delimiters-goto-beg) + (ruby-syntax-propertize-general-delimiters): New functions. + (ruby-syntax-propertize-function): Use them to handle GDL. + (ruby-font-lock-keywords): Move old handling of GDL... + (ruby-font-lock-syntactic-keywords): .. to here. + (ruby-calculate-indent): Adjust indentation for GDL. + +2012-04-24 Michael Albinus + + * notifications.el (top): Remove unneeded declarations. + (notifications-specification-version): Change to "1.2". + (notifications-interface, notifications-notify-method) + (notifications-close-notification-method): Fix docstring. + (notifications-get-capabilities-method): New defconst. + (notifications-notify): Add :action-items, :resident and + :transient hints. Change "image_data" to "image-data" and + "image_path" to "image-path". + (notifications-get-capabilities): New defun. + +2012-04-24 Leo Liu + + * progmodes/python.el: Move hideshow setup to the end. + +2012-04-24 Martin Rudalics + + * window.el (handle-select-window): Clear echo area since this is + no more done by read_char (Bug#11304). + +2012-04-24 Stefan Monnier + + * ibuffer.el (ibuffer-mode-map): Bind `/ m' to filter-used-mode + and `/ M' to filter-derived-mode. + * ibuf-ext.el (ibuffer-list-buffer-modes): Simplify; avoid add-to-list. + (ibuffer-filter-by-mode, ibuffer-filter-by-used-mode) + (ibuffer-mark-by-mode): Use default rather than initial-input. + (ibuffer-filter-by-derived-mode): Autoload and require-match. + +2012-04-24 Ivan Andrus (tiny change) + + * ibuf-ext.el (ibuffer-list-buffer-modes): Add `include-parents' arg. + (ibuffer-filter-by-derived-mode): New filter. + * ibuffer.el (ibuffer-mode-map): Bind to `/ w'. + +2012-04-23 Andreas Politz + + * subr.el (accept-change-group): Fix arg usage (Bug#6095). + +2012-04-23 Chong Yidong + + * cus-edit.el (customize-apropos, customize-apropos-options): + Disable matching of non-option variables (Bug#11176). + (customize-option, customize-option-other-window) + (customize-changed-options): Doc fix. + (customize-apropos-options, customize-apropos-faces) + (customize-apropos-groups): Use apropos-read-pattern (Bug#11124). + + * apropos.el (apropos-read-pattern): Make prompt less cryptic. + Fix word list splitting (Bug#11132). + (apropos-symbol, apropos-keybinding, apropos-label) + (apropos-property, apropos-function-button) + (apropos-variable-button, apropos-misc-button): New faces. + (apropos-symbol-face, apropos-keybinding-face) + (apropos-label-face, apropos-property-face, apropos-match-face): + Variables removed (Bug#8396). + (apropos-library-button, apropos-format-plist, apropos-print) + (apropos-print-doc, apropos-describe-plist): Callers changed. + +2012-04-23 Michael Albinus + + * net/xesam.el (xesam-mode-map): Use let-bound map in + initialization. (Bug#11292) + +2012-04-23 Agustín Martín Domingo + + Preserve ispell session localwords when switching back to + original buffer. + + * textmodes/ispell.el (ispell-buffer-session-localwords): + New buffer-local variable to hold buffer session localwords. + (ispell-kill-ispell): Add option 'clear to delete session + localwords. + (ispell-command-loop, ispell-change-dictionary) + (ispell-buffer-local-words): Preserve session localwords when + needed. + + * textmodes/flyspell.el (flyspell-process-localwords) + (flyspell-do-correct): Preserve session localwords when needed. + +2012-04-23 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-insert-word) Remove unneeded function + using obsolete `translation-table-for-input'. + (ispell-word, ispell-process-line, ispell-complete-word): + Use plain `insert' instead of removed `ispell-insert-word'. + +2012-04-22 Chong Yidong + + * cus-edit.el (custom-variable-menu) + (custom-variable-reset-saved, custom-face-menu) + (custom-face-reset-saved): If there is no saved value, make the + "reset-saved" operation bring back the default (Bug#9509). + (custom-face-state): Properly detect themed faces. + + * faces.el (face-spec-set): Stop supporting deprecated form of + third arg. + +2012-04-22 Michael Albinus + + Move functions from C to Lisp. Make non-blocking method calls + the default. Implement further D-Bus standard interfaces. + + * net/dbus.el (dbus-message-internal): Declare function. + Remove unneeded function declarations. + (defvar dbus-message-type-invalid, dbus-message-type-method-call) + (dbus-message-type-method-return, dbus-message-type-error) + (dbus-message-type-signal): Declare variables. Remove local + definitions. + (dbus-interface-dbus, dbus-interface-peer) + (dbus-interface-introspectable, dbus-interface-properties) + (dbus-path-emacs, dbus-interface-emacs, dbus-return-values-table): + Adapt docstring. + (dbus-interface-objectmanager): New defconst. + (dbus-call-method, dbus-call-method-asynchronously) + (dbus-send-signal, dbus-method-return-internal) + (dbus-method-error-internal, dbus-register-service) + (dbus-register-signal, dbus-register-method): New defuns, moved + from dbusbind.c + (dbus-call-method-handler, dbus-setenv) + (dbus-get-all-managed-objects, dbus-managed-objects-handler): + New defuns. + (dbus-call-method-non-blocking): Make it an obsolete function. + (dbus-unregister-object, dbus-unregister-service) + (dbus-handle-event, dbus-register-property) + (dbus-property-handler): Obey the new structure of + `bus-registered-objects'. + (dbus-introspect): Use `dbus-call-method'. Use a timeout. + (dbus-get-property, dbus-set-property, dbus-get-all-properties): + Use `dbus-call-method'. + +2012-04-22 Chong Yidong + + * cus-edit.el (custom-commands, custom-reset-menu) + (Custom-reset-standard): Tweak labels. + (custom-reset-button-menu): Change default to t. + (custom-buffer-create-internal): For the custom-reset-button-menu + case, put the revert button first. + (custom-group-subtitle): New face. + (custom-group-value-create): Align docstring to a specific column. + + * wid-edit.el (widget-documentation-link-add): Don't handle + indentation in this function. + (widget-documentation-string-indent-to): New function. + (widget-documentation-string-value-create): Use it. + + * autorevert.el (auto-revert): + * epg-config.el (epg): + * ibuffer.el (ibuffer): + * mpc.el (mpc): + * ses.el (ses): + * eshell/eshell.el (eshell): + * net/ange-ftp.el (ange-ftp): + * progmodes/ebnf2ps.el (postscript): + * progmodes/flymake.el (flymake): + * progmodes/prolog.el (prolog): + * progmodes/verilog-mode.el (verilog-mode): + * progmodes/which-func.el (which-func): + * term/xterm.el (xterm): + * textmodes/picture.el (picture): + * textmodes/tildify.el (tildify): + * vc/ediff.el (ediff): Tweak defgroups to improve presentation in + customization buffers. + +2012-04-22 Alan Mackenzie + + * progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): + Adding a ) can hide the resulting (..) from searches. Fix it. + Bound the backward search to the position of the existing (. + +2012-04-21 Juanma Barranquero + + * progmodes/verilog-mode.el (verilog-mode): Check whether + which-func-modes is t before adding verilog-mode. + Reported by Andy Moreton . + +2012-04-21 Leo Liu + + * net/rcirc.el (rcirc): Avoid error when process-contact returns t. + +2012-04-21 Michael Vehrs + + * woman.el: Add support for "T{ T}" tbl syntax, and fix the + filling of the last column of a table (Bug#5635). + (woman-find-next-control-line): New arg, specifying an additional + regexp component for the control line. + (woman2-roff-buffer): Use it. + (woman-break-table): New function. + (woman2-TS): Use it. + +2012-04-21 Chong Yidong + + * woman.el (woman-set-buffer-display-table, woman-decode-region) + (woman-horizontal-escapes, woman-negative-vertical-space) + (woman-tab-to-tab-stop, woman2-fc, woman2-TS) + (WoMan-warn-ignored): Use ?\s instead of ?\ . + +2012-04-20 Stefan Monnier + + * minibuffer.el (completion-file-name-table): Complete user names. + +2012-04-20 Leo Liu + + * font-lock.el (lisp-font-lock-keywords-2): Add pcase, pcase-let + and pcase-let*. + +2012-04-20 Chong Yidong + + * server.el (server-execute): Respect initial-buffer-choice if it + is a string and there are no files to open (Bug#2825). + (server-create-window-system-frame, server-create-tty-frame): + Don't switch buffers here. + (server-process-filter): Only try to open a window system frame if + compiled with graphical support (Bug#8314). + +2012-04-20 Dan Nicolaescu + + * battery.el (battery-echo-area-format): Display remaining time + for sysfs backend too (Bug#11269). + (battery-linux-sysfs): Fix conditional for the charge. + +2012-04-20 Chong Yidong + + * progmodes/gdb-mi.el (gdb): Revert previous change. + (gdb-inferior-io--init-proc): New function. + (gdb-init-1): Use it. + (gdb-inferior-io-sentinel): New sentinel for the gdb-inferior pty, + responsible for allocating a new pty and hooking it to gdb when + the old pty gets an EIO due to process exit. + (gdb-delchar-or-quit): New command. Bind it in gdb-mi buffers. + (gdb-tooltip-print): Don't use obsolete tooltip-use-echo-area. + (gdb-inferior-io--maybe-delete-pty): Move into gdb-reset. + +2012-04-20 Eli Zaretskii + + * window.el (window-min-size, window-sizable, window-min-delta) + (window-max-delta, window--resizable, window-resizable) + (window-total-size, window-full-height-p, window-full-width-p) + (window-in-direction, window--resize-mini-window, window-resize) + (window--resize-child-windows-normal) + (window--resize-child-windows, window--resize-siblings) + (window--resize-this-window, adjust-window-trailing-edge) + (enlarge-window, shrink-window): Doc fixes. + +2012-04-20 Chong Yidong + + * progmodes/gdb-mi.el (gdb-inferior-io--maybe-delete-pty): + New function to call delete-process on the gdb-inferior buffer's pty. + (gdb-reset): Use it, instead of relying on kill-buffer to kill the + pty process (Bug#11273). + (gdb-update): New arg to suppress talking to the gdb process. + (gdb-done-or-error): Use it. + (gdb-stopped-functions): Rename from gdb-stopped-hooks. + (gdb): Call gdb-inferior-io--maybe-delete-pty as a workaround for + sentinel not being called. + + * comint.el (make-comint-in-buffer, comint-exec): Doc fix. + + * progmodes/grep.el (grep, rgrep): Doc fix (Bug#11268). + +2012-04-20 Glenn Morris + + * net/network-stream.el (open-network-stream): Doc fix. + +2012-04-20 Chong Yidong + + * emacs-lisp/tabulated-list.el (tabulated-list-print): Fix typos. + +2012-04-20 Alan Mackenzie + + Ensure searching for keywords is case sensitive. + + * progmodes/cc-cmds.el (c-electric-brace, c-electric-lt-gt) + (c-electric-paren, c-beginning-of-defun, c-end-of-defun) + (c-defun-name, c-mark-function, c-cpp-define-name) + (c-comment-indent, c-scan-conditionals, c-indent-defun) + (c-context-line-break): Bind case-fold-search to nil. + + * progmodes/cc-mode.el (c-font-lock-fontify-region): + Bind case-fold-search to nil. + +2012-04-20 Chong Yidong + + * mail/sendmail.el (mail-bury): Call return action with the right + Rmail buffer (Bug#11242). + + * server.el (server-process-filter): Handle corner case where both + tty and nowait options are present (Bug#11102). + +2012-04-20 Eli Zaretskii + + * version.el (emacs-bzr-version, emacs-bzr-get-version): Doc fixes. + (top level): Put into the executable the ident-style '$Id:' tag on + windows-nt as well. + +2012-04-19 Stefan Monnier + + * electric.el (electric-indent-post-self-insert-function): Check that + electric-indent-mode is enabled in current buffer. + +2012-04-19 Juanma Barranquero + + * imenu.el (imenu-progress-message): Restore; it is "used" in + erc/erc-imenu.el and net/snmp-mode.el. + +2012-04-19 Juanma Barranquero + + * avoid.el (mouse-avoidance-mode): Mark unused arg. + (mouse-avoidance-nudge-mouse): Remove unused binding. + + * bs.el (bs-toggle-readonly): Call `toggle-read-only' interactively. + + * descr-text.el (describe-char): + * progmodes/python.el (python-describe-symbol): + Don't call `toggle-read-only', set `buffer-read-only'. + + * imenu.el (imenu-default-goto-function): Mark unused args. + (imenu-progress-message): Remove obsolete macro; all callers changed. + + * subr.el (keymap-canonicalize): Remove unused binding. + (read-passwd): Mark unused arg. + + * tutorial.el (tutorial--display-changes): Remove unused binding. + (tutorial--save-tutorial-to): Remove unused variable. + + * emacs-lisp/package.el (define-package, package-menu-mark-delete) + (package-menu-mark-install, package-menu-mark-unmark): Mark unused args. + (package-generate-autoloads, package-menu--generate) + (package-menu--find-upgrades): Remove unused bindings. + + * emulation/cua-rect.el (cua-restrict-regexp-rectangle) + (cua-restrict-prefix-rectangle): Doc fixes. Remove unused bindings. + (cua--mouse-ignore, cua--delete-rectangle, cua--extract-rectangle) + (cua--indent-rectangle, cua-open-rectangle, cua-close-rectangle) + (cua-blank-rectangle, cua-string-rectangle, cua-replace-in-rectangle) + (cua-incr-rectangle, cua-sequence-rectangle, cua--convert-rectangle-as) + (cua--rectangle-aux-replace, cua--left-fill-rectangle) + (cua-scroll-rectangle-up, cua-scroll-rectangle-down) + (cua-delete-char-rectangle): Mark unused args. + (cua-align-rectangle): Remove unused binding. + + * mail/rmail.el (compilation--message->loc) + (epa--find-coding-system-for-mime-charset): Declare. + + * net/dbus.el (dbus-register-service): Declare. + (dbus-name-owner-changed-handler): Remove unused binding. + + * nxml/nxml-mode.el (nxml-electric-slash, nxml-in-mixed-content-p) + (nxml-compute-indent-from-matching-start-tag): Remove unused variables. + (nxml-scan-backward-within): Mark unused arg. + (nxml-dynamic-markup-word): Remove unused binding. + + * mouse.el (mouse-menu-major-mode-map): + * emacs-lisp/authors.el (authors-scan-change-log) + (authors-add-to-author-list): + * emacs-lisp/avl-tree.el (avl-tree--enter-balance): + * emacs-lisp/smie.el (smie-auto-fill): + * mail/sendmail.el (mail-bury): + * mail/unrmail.el (unrmail): + * net/tls.el (open-tls-stream): + * textmodes/picture.el (picture-mouse-set-point): + Remove unused bindings. + +2012-04-19 Michael Albinus + + * net/tramp.el (tramp-action-password): Let-bind + `enable-recursive-minibuffers' to t. + +2012-04-18 Sam Steingold + + * progmodes/gud.el (gud-key-prefix): Use :type 'key-sequence + instead of 'string to accommodate values like [f11]. + Always use `vconcat' instead of `concat' on it, like in `gud-def'. + * progmodes/gdb-mi.el: Likewise. + +2012-04-18 Leo Liu + + * abbrev.el (edit-abbrevs): Move point to the abbrev table of + current buffer. + (prepare-abbrev-list-buffer): Enter edit-abbrevs-mode only if + LOCAL is nil. + +2012-04-18 Chong Yidong + + * simple.el (line-move): Use forward-line if in batch mode + (Bug#11053). + +2012-04-18 Christopher Schmidt + + * files.el (after-find-file): Do not try to add a final newline if + the buffer is read-only (Bug#11156). + +2012-04-17 Richard Stallman + + * mail/rmail.el (rmail-start-mail): + Pass (rmail-mail-return...) for the return-action. + Pass (rmail-yank-current-message...) for the yank-action. + (rmail-yank-current-message): New function. + (rmail-mail): Pass the Rmail buffer, not view buffer, for replybuffer. + (rmail-reply): Likewise. + (rmail-forward): Pass the Rmail buffer, not nil, for replybuffer. + + * mail/sendmail.el (mail-bury): Choose the first rmail-mode + buffer, not the last. Reject temp buffers. Use the rmail-mode + buffer, not newbuf. + +2012-04-17 Juanma Barranquero + + * server.el (server-ensure-safe-dir): Simplify. + +2012-04-17 Stefan Monnier + + * emacs-lisp/smie.el: Provide smarter auto-filling. + (smie-auto-fill): New function. + (smie-setup): Use it. + + * newcomment.el (comment-choose-indent): Obey comment-inline-offset. + +2012-04-17 Philipp Haselwarter (tiny change) + + * newcomment.el (comment-inline-offset): New custom var (bug#11090). + (comment-indent): Use it. + +2012-04-17 Vincent Belaïche + + * ses.el: The overall change is to add cell renaming, that is + setting fancy names for cell symbols other than name matching + "\\`[A-Z]+[0-9]+\\'" regexp . + (ses-localvars): Add ses--renamed-cell-symb-list. + (ses-create-cell-variable): New defun. + (ses-destroy-cell-variable-range): Respect ses--numrows, ses--numcols. + (ses-relocate-formula): Relocate formulas only for cells the + symbols of which are not renamed, i.e. symbols whose names do not + match regexp "\\`[A-Z]+[0-9]+\\'". + (ses-relocate-all): Relocate values only for cells the symbols of + which are not renamed. + (ses-load): Create cells variables as the (ses-cell ...) are read, + in order to check row col consistency with cell symbol name only + for cells that are not renamed. + (ses-replace-name-in-formula): New defun. + (ses-rename-cell): New defun. + +2012-04-17 Peter Oliver (tiny change) + + * progmodes/perl-mode.el (perl-indent-parens-as-block): + New option (bug#11118). + (perl-calculate-indent): Respect it. + +2012-04-17 Glenn Morris + + * dired-aux.el (dired-mark-read-string): Doc fix. + +2012-04-17 Dmitry Antipov + + * dired-aux.el (dired-mark-read-string): Offer optional completion. + (dired-do-chxxx): Complete chown, chgrp over users, groups. (Bug#7900) + +2012-04-17 Glenn Morris + + * mouse.el (mouse-drag-track): + * speedbar.el (speedbar-frame-mode): + Use auto-hscroll-mode rather than the alias automatic-hscrolling. + +2012-04-16 Leo Liu + + * progmodes/python.el: Trivial cleanup. + +2012-04-16 Glenn Morris + + * vc/vc.el (vc-string-prefix-p): + * vc/pcvs-util.el (cvs-string-prefix-p): + * textmodes/tex-mode.el (latex-string-prefix-p, tex-string-prefix-p): + * mpc.el (mpc-string-prefix-p): + Make all of these into obsolete aliases for string-prefix-p. + Update callers. + * vc/pcvs.el, vc/vc-dispatcher.el, vc/vc-dir.el: Update callers. + + * textmodes/two-column.el: Move custom options to the start. + (frame-width): Remove compat definition. + (2C-associate-buffer, 2C-dissociate): + Use with-current-buffer rather than save-excursion. + (2C-dissociate): Force a mode-line update. + (2C-autoscroll): Use ignore-errors. + + * emacs-lisp/eieio-opt.el (describe-class, describe-generic): + Autoload trivia. + + * emacs-lisp/cl-extra.el (*random-state*): + Remove unnecessary declaration. + + * calendar/cal-tex.el (cal-tex-end-document): Trivial clarification. + + * play/cookie1.el (cookie-snarf): + Give an explicit error if input file cannot be read. + + * play/yow.el (yow-file): Use expand-file-name rather than concat. + + * progmodes/perl-mode.el (c-macro-expand): + Remove unnecessary autoload (it is in loaddefs.el). + + * textmodes/picture.el (picture-desired-column) + (picture-update-desired-column): Convert comments to doc-strings. + (picture-substitute): Remove function. + (picture-mode-map): Initialize in the defvar. + + * woman.el: Remove eval-after-load for tar-mode. + * tar-mode.el (tar-mode-map): Add woman binding and menu entry. + (woman-tar-extract-file): Autoload it. + + * frame.el (automatic-hscrolling): Make this alias obsolete. + +2012-04-12 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-set-spellchecker-params): Post-process + `ispell-dictionary-alist' to use [:alpha:] and utf-8 if possible. + (ispell-dictionary-base-alist): Revert to original XEmacs + friendly version for default. [:alpha:] will be added in + `ispell-set-spellchecker-params' if needed. + +2012-04-16 Chong Yidong + + * image.el (imagemagick--file-regexp): New variable. + (imagemagick-register-types): Use it. + (imagemagick-types-inhibit): Add :set function. Allow new value + of t to inhibit all types. + + * emacs-lisp/regexp-opt.el (regexp-opt-charset): Avoid cl macros, + so we can preload it. + + * loadup.el (fboundp): Preload regexp-opt, needed by + imagemagick-register-types. + +2012-04-15 Chong Yidong + + * frame.el (scrolling): Remove nearly unused customization group. + + * scroll-all.el (scroll-all-mode): Move to windows group. + +2012-04-15 Chong Yidong + + * bindings.el (goto-map): Bind goto-char to M-g c (Bug#11240). + +2012-04-15 Stefan Monnier + + Avoid the use of ((lambda ...) ...) in lexical-binding code. + * emacs-lisp/easy-mmode.el (define-minor-mode): Use funcall (bug#11241). + +2012-04-15 Glenn Morris + + * simple.el (process-file-side-effects): Doc fix. + +2012-04-15 Glenn Morris + + * international/mule-cmds.el (set-language-environment): Doc fix. + +2012-04-14 Juanma Barranquero + + * server.el (server-auth-key, server-generate-key): Doc fixes. + (server-get-auth-key): Doc fix. Use `string-match-p'. + (server-start): Reflow docstring. + +2012-04-14 Lars Ingebrigtsen + + * server.el (server-generate-key): `called-interactively-p' + requires a parameter. + +2012-04-14 Michal Nazarewicz + + * server.el (server-auth-key): New variable. + (server-generate-key, server-get-auth-key): New function. + (server-start): Use the new variable and functions to allow + setting a permanent server key (bug#9423). + +2012-04-14 Leo Liu + + * vc/diff-mode.el (diff-file-prev/next): Fix typo. + +2012-04-14 Paul Eggert + + Spelling fixes. + * hexl.el (hexl-rulerize): Rename from hexl-rulerise, since + Emacs uses American spelling. + +2012-04-14 Juanma Barranquero + + * emacs-lock.el (emacs-lock-locked-buffer-functions): New hook. + (emacs-lock--exit-locked-buffer): Return the locked buffer. Doc fix. + (emacs-lock--kill-emacs-hook, emacs-lock--kill-emacs-query-functions) + (emacs-lock--kill-buffer-query-functions): Run new hook. (Bug#11017) + +2012-04-14 Stefan Monnier + + * progmodes/which-func.el (which-func-modes): Change default. + +2012-04-14 Kim F. Storm + + * emulation/cua-base.el (cua-exchange-point-and-mark): Just call + exchange-point-and-mark if cua-enable-cua-keys is nil (Bug#11191). + +2012-04-14 Chong Yidong + + * custom.el (custom-theme-set-variables): Doc fix. + +2012-04-14 Glenn Morris + + * international/mule.el (set-auto-coding-for-load): Doc fix. + +2012-04-14 Alan Mackenzie + + * progmodes/cc-menus.el (cc-imenu-objc-generic-expression): Make + imenu work again for Objective C Mode. Correct the *-index values, + these having been disturbed by a previous change in 2011-08. + + * progmodes/cc-engine.el (c-before-change-check-<>-operators): + Correct two search limits. + +2012-04-14 Stefan Monnier + + * startup.el (command-line-1): Inhibit splash from daemon (bug#10996). + +2012-04-14 Andreas Schwab + + * international/characters.el: Fix sorting. + +2012-04-14 Eli Zaretskii + + * international/characters.el: Add more missing Latin case pairs. + +2012-04-14 Glenn Morris + + * files.el (dir-locals-set-class-variables): Doc fix. + +2012-04-14 Eli Zaretskii + + * international/characters.el: Add set-case-syntax-pair call for + LATIN CAPITAL LETTER Y WITH DIAERESIS RET and its lower-case + counterpart. (Bug#11209) + + * simple.el (shell-command-on-region): Doc fix. (Bug#11208) + +2012-04-14 Glenn Morris + + * calendar/holidays.el (calendar-check-holidays): Doc fix. + +2012-04-14 Eli Zaretskii + + * textmodes/ispell.el (ispell-dictionary-base-alist): + Add data for Hebrew. + +2012-04-14 Chong Yidong + + * net/rcirc.el (rcirc-cmd-quit): + Revert 2012-03-18 change (Bug#11192). + +2012-04-14 Glenn Morris + + * pcmpl-rpm.el (pcomplete/rpm): Handle -qf. + +2012-04-14 Eli Zaretskii + + * minibuffer.el (completion-in-region-mode-map): + Bind completion-help-at-point to M-? rather than ?. (Bug#11182) + +2012-04-13 Vivek Dasmohapatra + + * hexl.el (hexl-insert-char): Make display sizes other than 16 work. + +2012-04-13 Masatake YAMATO + + * minibuffer.el (minibuffer-local-filename-syntax): New variable + to allow `C-M-f' and `C-M-b' to move to the nearest path + separator (bug#9511). + +2012-04-13 Lars Ingebrigtsen + + * avoid.el: Require cl when compiling. And also move the + `provide' to the end. + +2012-04-13 Thierry Volpiatto + + * avoid.el (mouse-avoidance-banish-position): New variable. + (mouse-avoidance-banish-destination): Use it (bug#10165). + +2012-04-13 Leo Liu + + * progmodes/which-func.el (which-func-modes): Add objc-mode. + +2012-04-13 Ken Brown + + * net/browse-url.el (browse-url-file-url): Remove Cygwin hack; + this is no longer needed now that cygstart understands file:// URLs. + (browse-url-filename-alist): For the same reason, don't modify + file:// URLs on Cygwin. + +2012-04-13 Stefan Monnier + + * emulation/cua-base.el (cua--pre-command-handler-1): Don't activate + the region on shift if the binding is already shifted (bug#11221). + +2012-04-12 Glenn Morris + + * mail/mailpost.el: Move to obsolete/. + +2012-04-12 Drew Adams + + * imenu.el (imenu--generic-function): Ignore invisible definitions + (bug#10123). + +2012-04-12 Vivek Dasmohapatra + + * hexl.el (hexl-bits): New variable. + (hexl-options): Mention the variable in the doc string. + (hexl-rulerise, hexl-line-displen): New functions. + (hexl-mode): Mention the new variable. + (hexl-mode, hexl-current-address, hexl-current-address): + Use the displen. + (hexl-ascii-start-column): New function. + (hexl-address-to-marker, hexl-beginning-of-line, hexl-options) + (hexl-insert-char, hexl-mode-ruler): Use the displen (bug#4941). + +2012-04-12 Agustín Martín Domingo + + * textmodes/flyspell.el (flyspell-large-region): For hunspell, use + '("-i" ENCODING), in 2 separate command-line arguments, to specify + the encoding, as expected by hunspell. + +2012-04-12 Stefan Monnier + + * battery.el (battery--linux-sysfs-regexp): New const. + (battery-status-function): Use it. Remove yeeloong special case. + (battery-yeeloong-sysfs): Remove. + (battery-echo-area-format): Remove yeeloong special case. + +2012-04-11 Stefan Monnier + + * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil. + Reported by Noah Friedman. + + * subr.el (read-passwd): Use read-string. + +2012-04-11 Lars Magne Ingebrigtsen + + * vcursor.el (vcursor-move): Increase the priority of the overlay + (bug#9663). + +2012-04-11 Deniz Dogan + + * net/rcirc.el (rcirc-kill-channel-buffers): New variable. + (rcirc-kill-buffer-hook): Use it to kill channel buffers (bug#5128). + +2012-04-11 William Stevenson + + * textmodes/artist.el (artist-mode): Convert artist-mode to use + define-minor-mode (bug#10760). + +2012-04-11 Wolfgang Jenkner (tiny change) + + * progmodes/grep.el (rgrep): Tweak the find command line so + that directories matching `grep-find-ignored-files' won't be + pruned (bug#10351). + +2012-04-11 Chong Yidong + + * startup.el (command-line): Remove support for long-obsolete + variable font-lock-face-attributes. + +2012-04-11 Glenn Morris + + * vc/vc-bzr.el (vc-bzr-status): Avoid condition-case-unless-debug. + +2012-04-11 Stefan Monnier + + * window.el (window--state-get-1): Obey window-point-insertion-type. + +2012-04-11 Lennart Borgman + + * emacs-lisp/lisp.el (narrow-to-defun): `beginning-of-defun' goes + to previous function when point is on the first character of a + function. Take care of that in `narrow-to-defun' (bug#6157). + +2012-04-11 Glenn Morris + + * vc/vc-bzr.el (vc-bzr-status): Handle all errors, + not just file-errors. + + * vc/vc-bzr.el (vc-bzr-sha1-program, sha1-program): Remove. + (vc-bzr-sha1): Use internal sha1. + +2012-04-11 Stefan Monnier + + * progmodes/flymake.el (flymake-mode): Beware read-only dirs (bug#8954). + +2012-04-10 Sébastien Gross (tiny change) + + * progmodes/hideshow.el (hs-hide-all): Don't infloop on comments + that start in the middle of the line (bug#10496). + +2012-04-10 Dan Nicolaescu + + * battery.el (battery-linux-proc-acpi): Only one battery is + discharged at a time, but that seems to confuse battery.el when + computing `rate-type' for the battery not being discharged + (bug#10332). + +2012-04-10 Stefan Monnier + + * emacs-lisp/autoload.el (autoload-make-program): Remove, unused. + + * international/quail.el: Use dolist and simplify. + (quail-define-package, quail-update-keyboard-layout) + (quail-define-rules): Use dolist. + (quail-insert-kbd-layout, quail-get-translation): CSE. + + * tmm.el: Use dolist, remove left over hook. + (tmm-prompt, tmm-define-keys, tmm-shortcut, tmm-get-keybind): + Use dolist. + (calendar-load-hook): Don't mess with it. + + * vc/vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal): + Use derived-mode-p. Run the diff asynchronously. + +2012-04-10 Lars Magne Ingebrigtsen + + * obsolete/mouse-sel.el: Add an Obsolete-since header. + +2012-04-10 Juanma Barranquero + + * misc.el: Display absolute path of loaded DLLs (bug#10424). + (list-dynamic-libraries--loaded): New function. + (list-dynamic-libraries--refresh): Use it. + +2012-04-10 Nathan Weizenbaum + + * progmodes/python.el (python-fill-paragraph): + Make python-fill-region in a multiline string work when font-lock is + disabled (bug#7018). + +2012-04-10 Laimonas Vėbra (tiny change) + + * language/european.el (cp775): Add oem/legacy (en)coding on + DOS/MS Windows for the Baltic languages. There are still plenty + of texts written in this encoding/codepage (bug#6519). + +2012-04-10 Glenn Morris + + * cus-start.el (eol-mnemonic-unix, eol-mnemonic-dos, eol-mnemonic-mac): + Add :standard values, reducing "rogue" customs in emacs -Q a bit more. + +2012-04-10 Florian Adamsky (tiny change) + + * recentf.el (recentf-dialog-mode-map): Add two keybindings for + next-line "n" and previous-line "p" in order to make recentf more + consistent with ibuffer, dired or org-mode (bug#9387). + +2012-04-10 Lars Magne Ingebrigtsen + + * image.el (put-image): Return the overlay created instead of the + optional input string (bug#7834). Note that this may break code + that is (for some reason or other) depending on `put-image' + returning the string. + + * mouse-sel.el (mouse-sel-mode): Mark as obsolete (bug#6174). + + * simple.el (zap-to-char): Allow zapping using input methods + (bug#1580). + + * textmodes/fill.el (fill-region): Leave point and mark where they + were before filling (bug#5399). + +2012-04-09 Glenn Morris + + * version.el (emacs-bzr-get-version): + Handle lightweight checkouts of local branches. + +2012-04-09 Andreas Schwab + + * international/characters.el: Recover lost case pairs. (Bug#11209) + +2012-04-09 Chong Yidong + + * custom.el (custom-variable-p): Return nil for non-symbol + arguments instead of signaling an error. + (user-variable-p): Obsolete alias for custom-variable-p. + + * apropos.el (apropos-variable): + * files-x.el (read-file-local-variable): + * simple.el (set-variable): + * woman.el (woman-mini-help): + * emacs-lisp/byte-opt.el (side-effect-free-fns): Callers changed. + +2012-04-09 Glenn Morris + + * startup.el (normal-top-level): Don't look for leim-list.el + in places where it will not be found. (Bug#910) + + * international/mule-cmds.el (set-default-coding-systems): + * files.el (normal-mode): + Remove guarded calls to ucs-set-table-for-input. (Bug#9821) + This function was removed with ucs-tables.el in 2008. + +2012-04-08 Eli Zaretskii + + * textmodes/ispell.el (ispell-check-version): For hunspell, set + ispell-encoding8-command to "-i", without a trailing space. + (ispell-start-process): For hunspell, use '("-i" ENCODING), in 2 + separate command-line arguments, to specify the encoding, since + that's how hunspell expects it. + +2012-04-08 Glenn Morris + + * loadup.el: Load bindings before cus-start. + This reduces somewhat the number of "rogue" settings in emacs -Q. + +2012-04-07 Glenn Morris + + * version.el (emacs-bzr-get-version): New function. + (emacs-bzr-version): New variable. + * loadup.el (emacs-bzr-version): Set it. (Bug#8054) + * mail/emacsbug.el (report-emacs-bug): Include bzr version. + +2012-04-07 Eli Zaretskii + + * international/uni-bidi.el, international/uni-category.el: + * international/uni-combining.el, international/uni-decimal.el: + * international/uni-decomposition.el, international/uni-digit.el: + * international/uni-lowercase.el, international/uni-mirrored.el: + * international/uni-name.el, international/uni-numeric.el: + * international/uni-titlecase.el, international/uni-uppercase.el: + Update for Unicode 6.1. + +2012-04-07 Eli Zaretskii + + * term/w32-win.el (dynamic-library-alist): Add libxml2 DLLs. + +2012-04-05 Lars Magne Ingebrigtsen + + * window.el (shrink-window): Mention the `window-min-height' + variable in the doc string. + +2012-04-05 Bastien Guerry + + * color.el (color-lighten-name): Fix typo. + +2012-04-04 Stefan Monnier + + * server.el (server--on-display-p): New function. + (server--on-display-p): Use it. + +2012-04-04 Gábor Vida (tiny change) + + * ido.el (ido-wide-find-dirs-or-files): Use file-name-absolute-p + (bug#11145). + +2012-04-04 Stefan Monnier + + * comint.el (comint--common-quoted-suffix): Check string boundary + before comparing (bug#11158). + * pcomplete.el (pcomplete--common-quoted-suffix): Idem. + +2012-04-04 Chong Yidong + + * minibuffer.el (completion-extra-properties): Doc fix. + + * subr.el (delayed-warnings-hook): Doc fix. + +2012-04-04 Daiki Ueno + + * epa.el (epa--select-keys): Bind C-c C-c to finish the key + selection (Bug#11159). + (epa-insert-keys): Inform that the default public key will be + exported if no key is selected. + +2012-04-04 Richard Stallman + + * mail/emacsbug.el (report-emacs-bug): Bind inhibit-read-only. + +2012-04-03 Chong Yidong + + * mail/sendmail.el (mail-mode-map): Bind C-c C-i to + mail-insert-file, not its obsolete alias mail-attach-file. + +2012-04-03 Michael Albinus + + * notifications.el (notifications-notify): Fix docstring. + +2012-04-02 Glenn Morris + + * emacs-lisp/authors.el (authors-aliases): Another addition. + +2012-04-02 Michael Albinus + + * net/tramp-gvfs.el (tramp-gvfs-send-command): Apply + `tramp-compat-call-process' instead of `tramp-local-call-process'. + Reported by Magnus Henoch . + +2012-04-01 Chong Yidong + + * files.el (file-in-directory-p): Rename from file-subdir-of-p. + Handle root directory properly. + (copy-directory): Caller changed. + + * dired-aux.el (dired-copy-file-recursive, dired-create-files): + * net/tramp.el (tramp-file-name-for-operation): Callers changed. + +2012-03-31 Glenn Morris + + * term/xterm.el (xterm-extra-capabilities): Doc fix. + + * language/indian.el ("Devanagari"): Fix typo. (Bug#11103) + + * calendar/calendar.el (calendar-window-list) + (calendar-hide-window): Restore. (Bug#11140) + (calendar-exit): Use calendar-window-list, calendar-hide-window again. + + * emacs-lisp/edebug.el (edebug-unwrap-results): Doc fix. + +2012-03-30 Thierry Volpiatto + + * dired-aux.el (dired-copy-file-recursive, dired-create-files): + Check if file is a symlink (Bug#10489). + + * files.el (copy-directory): Likewise. + +2012-03-30 Chong Yidong + + * image.el (imagemagick-types-inhibit) + (imagemagick-register-types): Doc fix. + +2012-03-30 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-get-extended-character-mode): + Disable extended-char-mode for hunspell. hunspell does not support it + and treats ~word as ordinary words in pipe mode. + +2012-03-30 Glenn Morris + + * tutorial.el (help-with-tutorial): Ensure local variables don't + happen to make the buffer read-only. (Bug#11127) + +2012-03-30 Stefan Monnier + + * progmodes/perl-mode.el (perl-indent-line): Use `noindent' in strings. + (perl-calculate-indent): Return `noindent' in strings. + +2012-03-28 Sam Steingold + + * calendar/calendar.el (calendar-exit): Use `quit-windows-on' + instead of the broken adhockery which does not prevent calendar + buffers from being displayed at random after exit. + (calendar-window-list, calendar-hide-window): Remove the broken + adhockery. + +2012-03-28 Glenn Morris + + * replace.el (query-replace-map): Doc fix. + +2012-03-28 Andreas Schwab + + * vc/vc-git.el (vc-git-state): Don't try to match all of the diff + contents. (Bug#11109) + +2012-03-27 Stefan Monnier + + * emacs-lisp/avl-tree.el (avl-tree--enter-balance): Fix paren typo + (bug#11077). + (avl-tree--check, avl-tree--check-node): New funs. + +2012-03-27 Martin Rudalics + + * window.el (switch-to-visible-buffer): New option. + (switch-to-prev-buffer, switch-to-next-buffer): + Observe switch-to-visible-buffer. Make sure that checking for a window + showing a buffer already is done on the same frame. + +2012-03-27 Glenn Morris + + * startup.el (mail-host-address): Doc fix. + +2012-03-26 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-constants-vector): Allow more + than 197 variables. + +2012-03-26 Ami Fischman + + * vc/vc-git.el (vc-git-state): Avoid unnecessarily locking. + +2012-03-26 Glenn Morris + + * files.el (save-buffers-kill-emacs): Doc fix. + + * startup.el (normal-top-level, command-line, command-line-1): + Give them doc strings. + +2012-03-25 Eli Zaretskii + + * makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead + of same-dir.tst, to avoid stepping on other (parallel) Make job's toes. + +2012-03-25 Chong Yidong + + * custom.el (load-theme): Even if NO-ENABLE arg is t, reenable the + theme if it was previously enabled before (Bug#11031). + + * cus-theme.el (custom-theme-write-faces): Retrieve current face + spec with custom-face-get-current-spec if its :shown-value is not + determined yet (Bug#9337). + (customize-create-theme, custom-theme-revert): Doc fixes. + + * button.el (button-at): Minor addition to docstring. + +2012-03-24 Simon Leinen + + * vc/vc.el (vc-merge): Fix a prompt. + +2012-03-24 Chong Yidong + + * mwheel.el (mwheel-scroll): Call deactivate-mark at the right + point (Bug#9623). + + * button.el (button-at): Minor addition to docstring. + +2012-03-23 Stefan Monnier + + * newcomment.el (comment-choose-indent): No space after BOL. + +2012-03-22 Sam Steingold + + * window.el (switch-to-prev-buffer): Revert last patch because the + bug turned out to be an advertised feature (Elisp manual 28.14). + +2012-03-22 Glenn Morris + + * vc/vc-bzr.el (vc-bzr-status-switches): New option. (Bug#6724) + (vc-bzr-command): If running "status", pass vc-bzr-status-switches. + +2012-03-22 Lars Magne Ingebrigtsen + + * net/network-stream.el (network-stream-open-starttls): Make error + message under Windows be less misleading. + +2012-03-22 Liang Wang (tiny change) + + * progmodes/etags.el (etags-list-tags): Only use tags which goto-func + understands (bug#9942). + +2012-03-22 Chong Yidong + + * simple.el (end-of-visible-line): Handle return value of + next-single-property-change properly (Bug#9371). + +2012-03-22 Kenichi Handa + + * international/quail.el (quail-insert-kbd-layout): Fix previous + change. To avoid unwanted bidi reordering, use + bidi-string-mark-left-to-right instead of inserting LRO and PDF. + +2012-03-21 Dmitry Gutov + + * progmodes/ruby-mode.el: Don't confuse "end:" for "end" (bug#10786). + (ruby-block-end-re, ruby-delimiter, ruby-parse-partial) + (ruby-beginning-of-indent): Be more careful with the difference + between word-boundary and symbol boundary. + (ruby-mode-syntax-table): Make : a symbol constituent. + +2012-03-21 Andreas Politz + + * outline.el (outline-flag-region): Evaporate overlays (bug#10789). + +2012-03-21 Stefan Monnier + + * progmodes/etags.el (tags-completion-at-point-function): + Improve last fix. + + * files.el (move-file-to-trash): Files aren't regexps (bug#11055). + +2012-03-21 Sam Steingold + + * progmodes/etags.el (tags-completion-at-point-function): + Avoid the error when point is inside the pattern. + +2012-03-21 John Yates (tiny change) + + * progmodes/hideshow.el (hs-inside-comment-p): Fix hiding of first + line (Bug#10855). + +2012-03-21 Drew Adams + + * info.el (Info-menu): Handle string value of FORK arg (Bug#10858). + +2012-03-21 Anmol Khirbat (tiny change) + + * ido.el (ido-set-current-directory, ido-read-internal) + (ido-choose-completion-string, ido-completion-help): Handle nil + value of ido-completion-buffer (Bug#11008). + +2012-03-21 Sam Steingold + + * window.el (switch-to-prev-buffer): Do not switch to a visible + window previous buffer, just like with the frame previous buffers. + +2012-03-21 Chong Yidong + + * faces.el (make-face, make-empty-face, copy-face): + * face-remap.el (face-remap-add-relative, face-remap-set-base): + Doc fixes. + +2012-03-21 Stefan Monnier + + * wid-edit.el (widget-complete-field): Remove (bug#11051). + (widget-complete): Remove broken use of it. + +2012-03-20 Chong Yidong + + * emacs-lisp/tabulated-list.el (tabulated-list-print-entry): + Use string-width and truncate-string-width to handle arbitrary + characters. + +2012-03-20 Tassilo Horn + + * textmodes/artist.el (artist-menu-map): Bind Rectangle menu item + to draw rectangles, not squares. (Regression introduced by revno + 2011-03-02T03:48:01Z!cyd@stupidchicken.com) + +2012-03-18 Chong Yidong + + * faces.el (face-spec-reset-face): Don't call display-graphic-p if + it is not yet defined (for temacs). + +2012-03-18 Leo Liu + + * net/rcirc.el (rcirc-cmd-quit): Allow quitting all servers with + prefix. + +2012-03-17 Eli Zaretskii + + * textmodes/ispell.el (ispell-skip-tib, ispell-keep-choices-win) + (ispell-choices-win-default-height, ispell-silently-savep) + (ispell-dictionary-alist, ispell-encoding8-command) + (ispell-check-version, ispell-aspell-find-dictionary) + (ispell-valid-dictionary-list, ispell-words-keyword) + (ispell-get-word, ispell-internal-change-dictionary) + (ispell-region, ispell-skip-region-list) + (ispell-begin-skip-region-regexp, ispell-ignore-fcc) + (ispell-process-line, ispell-minor-mode, ispell-minor-check) + (ispell-message-text-end, ispell-message) + (ispell-buffer-local-parsing): Doc fix. + +2012-03-13 Jambunathan K + + * htmlfontify.el: Add support for code block fontification for ODT + export (Bug #9914). + (hfy-optimisations): Define new option + `body-text-only' + (hfy-fontify-buffer): Honor above setting. + (hfy-begin-span, hfy-end-span): New routines factored out form + `hfy-fontify-buffer'. + (hfy-begin-span-handler, hfy-end-span-handler): New variables + that permit insertion of custom tags. + (hfy-fontify-buffer): Use above handlers. + (hfy-face-to-css-default): Same as the earlier `hfy-face-to-css'. + (hfy-face-to-css): Re-defined to be a variable. + (hfy-compile-stylesheet): Modify. Allow stylesheet to be built + over multiple runs. This is made possible by having the caller let + bind a special variable `hfy-user-sheet-assoc'. + (htmlfontify-string): New defun. + (hfy-compile-face-map): Make sure that the last char in the + buffer is correctly fontified. + (hfy-face-resolve-face): Whitespace only change. + +2012-03-17 Eli Zaretskii + + * textmodes/ispell.el (ispell-get-decoded-string): Make the error + message more clear. + +2012-03-16 Leo Liu + + * emacs-lisp/copyright.el (copyright-year-ranges): Fix typo. + +2012-03-16 Alan Mackenzie + + Further optimize the handling of large macros. + + * progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use a + limit to a call of `c-literal-limits'. + (c-determine-+ve-limit): New function. + (c-at-macro-vsemi-p): Move `c-in-literal' to the bottom of an `and'. + (c-guess-basic-syntax): In macros, restrict a search limit to 2000. + In CASE 5B, restrict a search limit to 500. + (c-just-after-func-arglist-p): Obviouly wrong `or' -> `and'. + + * progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): + Restrict macro bounds to +-500 from after-change's BEG END. + +2012-03-16 Leo Liu + + * font-lock.el (lisp-font-lock-keywords-2): Add letrec. + +2012-03-16 Aaron S. Hawley + + * tar-mode.el (tar-mode): Fix saving by conditionally undoing + `special-mode' setting of `buffer-read-only'. (Bug#11010) + +2012-03-16 Glenn Morris + + * view.el (view-buffer, view-buffer-other-window) + (view-buffer-other-frame): Doc fixes re special mode-class. + + * subr.el (eval-after-load): If named feature is provided not from + a file, run after-load forms. (Bug#10946) + + * calendar/calendar.el (calendar-insert-at-column): + Handle non-unit-width characters a bit better. (Bug#10978) + +2012-03-15 Chong Yidong + + * emacs-lisp/ring.el (ring-extend): New function. + (ring-insert+extend): Extend the ring correctly (Bug#11019). + + * comint.el (comint-read-input-ring) + (comint-add-to-input-history): Grow comint-input-ring lazily. + +2012-03-15 Stefan Monnier + + * progmodes/perl-mode.el (perl-syntax-propertize-special-constructs): + Fix up parsing of multiline twoarg non-paired elements (bug#11014). + + * imenu.el: Fix multiple inheritance breakage (bug#9199). + (imenu-add-to-menubar): Don't add a redundant index. + (imenu-update-menubar): Handle a dynamically composed keymap. + +2012-03-13 Katsumi Yamaoka + + * mail/sendmail.el (mail-encode-header): + Bind rfc2047-encode-encoded-words to nil. + +2012-03-13 Glenn Morris + + * calendar/calendar.el (calendar-string-spread): + Handle non-unit-width characters a bit better. (Bug#10978) + +2012-03-13 Leo Liu + + * vc/vc-hg.el (vc-hg-working-revision): Rework to work with both + directory and file as argument (Bug#10822). + +2012-03-13 Kaushik Srenevasan (tiny change) + + * progmodes/gdb-mi.el (gdb-invalidate-disassembly): + For dynamically generated code, follow $PC. + (gdb-disassembly-handler-custom): Handle no function name case. + +2012-03-13 Tim Landscheidt (tiny change) + + * calendar/icalendar.el (icalendar-export-file, icalendar-import-file): + * emulation/ws-mode.el (ws-query-replace): + * sort.el (sort-regexp-fields): + Fix missing trailing whitespace in interactive prompts. (Bug#11002) + +2012-03-12 Stefan Monnier + + * dabbrev.el: Fix cycle completion order (bug#10963). + (dabbrev--last-obarray, dabbrev--last-completion-buffer): Remove. + (dabbrev-completion): Don't use an obarray; provide + a cycle-sort-function. + +2012-03-12 Leo Liu + + * simple.el (kill-new): Use equal-including-properties for comparison. + (kill-do-not-save-duplicates): Doc fix. + +2012-03-12 Stefan Monnier + + * dabbrev.el: Fix cycle completion (bug#10963). + Use lexical binding and wrap to 80 columns. + (dabbrev-completion): Delay computing the list of completions. + +2012-03-12 Kenichi Handa + + * international/quail.el (quail-insert-kbd-layout): Surround each + row by LRO and PDF instead of inserting many LRMs. Pad the left + and right of each non-spacing marks. Insert invisible space + between lower and upper characters to prevent composition. + +2012-03-12 Stefan Monnier + + * minibuffer.el (minibuffer-complete): Don't get confused when the + function is run twice via different commands (bug#10958). + (complete-with-action): Fix docstring. + +2012-03-12 Chong Yidong + + * nxml/nxml-mode.el (nxml-mode-map): Do not bind C-RET (Bug#6776). + (nxml-completion-at-point-function): New function. + (nxml-mode): Use it. + (nxml-bind-meta-tab-to-complete-flag): Default to t. + + * emacs-lisp/package.el (package-unpack, package-unpack-single): + Load generated autoloads file before byte compiling (Bug#10970). + (package--make-autoloads-and-compile): New helper fun. + +2012-03-12 Christopher Schmidt + + * ibuffer.el (ibuffer-redisplay): Remove another gratuitous error. + +2012-03-11 Michael Albinus + + * autorevert.el (auto-revert-handler): Ensure, that + file-readable-p is applied only for local files or in + auto-revert-tail-mode. + +2012-03-11 Andreas Schwab + + * server.el (server-eval-at): Handle non-tcp connections. + Decode result string. + + * server.el (server-msg-size): New constant. + (server-reply-print): New function. + (server-eval-and-print): Use it. + (server-eval-at): Use server-quote-arg and server-unquote-arg. + Handle -print-nonl. + +2012-03-11 Christopher Schmidt + + * ibuffer.el (ibuffer-redisplay): Remove gratuitous error + (Bug#10987). + +2012-03-11 Chong Yidong + + * simple.el (goto-line): Doc fix (Bug#9938). + + * subr.el (save-window-excursion): Doc fix (Bug#9979). + + * dabbrev.el (dabbrev--find-expansion): Update progress reporter + when finished (Bug#10963). + +2012-03-11 Martin Rudalics + + * window.el (split-window-below): Fix bug in case where + split-window-keep-point is nil (Bug#10971). + +2012-03-11 Juri Linkov + + * replace.el (replace-highlight): Set isearch-word to nil + unconditionally. (Bug#10887) + +2012-03-10 Eli Zaretskii + + * net/mairix.el (mairix-replace-invalid-chars): Rename from + mairix-replace-illegal-chars; all callers changed. Don't remove + ^, ~, and = characters: they are meaningful in mairix search specs. + (mairix-widget-create-query): Add usage information about mairix + search forms: negating words, searching for substrings, etc. + +2012-03-10 Jae-hyeon Park (tiny change) + + * international/fontset.el (font-encoding-alist): Add an entry for + ksx1001 (Bug#5667). + +2012-03-10 Richard Stallman + + * mail/sendmail.el (mail-encode-header): + Set rfc2047-encode-encoded-words. + + * mail/mail-utils.el (mail-quote-printable): Quote multibyte chars. + + * mail/rmail.el (rmail-buffers-swapped-p): Don't assume dead + view buffer means not swapped. + (rmail-view-buffer-kill-buffer-hook): Give buf name in error msg. + (rmail-write-region-annotate): Error if real text has disappeared. + + * epa-mail.el (epa-mail-encrypt): Bind inhibit-read-only. + +2012-03-10 Chong Yidong + + * emulation/cua-rect.el (cua--init-rectangles): + * emulation/cua-base.el (cua--init-keymaps): + Add delete-forward-char to remappings (Bug#9666). + +2012-03-10 Martin Rudalics + + * speedbar.el (speedbar-unhighlight-one-tag-line): + Avoid unhighlighting due to frame switching (Bug#10275). + +2012-03-10 Chong Yidong + + * minibuffer.el (completion-in-region, completion-help-at-point): + Give the completion field overlay a high priority (Bug#6830). + + * dired.el (dired-goto-file): Recognize absolute file name + listings (Bug#7126). + (dired-goto-file-1): New helper function. + (dired-toggle-read-only): Inhibit warnings. + +2012-03-09 Michael Albinus + + * net/dbus.el (dbus-property-handler): Return empty array if + there are no properties. + +2012-03-09 Leo Liu + + * savehist.el (savehist-printable): Stricter check for string + value (Bug#10937). + +2012-03-09 Eli Zaretskii + + * mail/smtpmail.el (smtpmail-send-it): + Bind coding-system-for-write to *-unix, so that FCC files are kept in + valid mbox format. + +2012-03-09 Glenn Morris + + * files.el (dir-locals-find-file): + Don't check result is regular, readable. + (dir-locals-read-from-file): Demote errors. + +2012-03-08 Eli Zaretskii + + * international/quail.el (quail-insert-kbd-layout): + Insert invisible LRM characters before each character in a keyboard + layout cell, to prevent their reordering by bidi display engine. + For details, see the discussion in + http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00085.html. + +2012-03-08 Alan Mackenzie + + * progmodes/cc-cmds.el (c-mark-function): Make it leave a mark at + the starting position; make it extend the marked region when + invoked repeatedly - all under appropriate circumstances. + Fixes bugs #5525, #10906. + +2012-03-08 Glenn Morris + + * files.el (locate-dominating-file, dir-locals-find-file): + Undo 2012-03-06 change. + +2012-03-07 Eli Zaretskii + + * international/quail.el (quail-help): + Force bidi-paragraph-direction be left-to-right. See discussion in + http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00062.html + for the reason. + +2012-03-07 Michael Albinus + + Avoid superfluous registering of signals. (Bug#10807) + + * notifications.el (notifications-on-action-object) + (notifications-on-close-object): New defvars. + (notifications-on-action-signal, notifications-on-closed-signal): + Unregister the signal if not needed any longer. + (notifications-notify): Register `notifications-action-signal' or + `notifications-closed-signal', if :on-action or :on-close has been + passed as argument. + +2012-03-07 Chong Yidong + + * cus-start.el: Avoid x-select-enable-clipboard-manager warning on + non-X platforms. + +2012-03-06 Glenn Morris + + * term/pc-win.el (x-selection-owner-p, x-own-selection-internal) + (x-disown-selection-internal, x-get-selection-internal): + Doc fix (add arglist signatures). (Bug#10783) + +2012-03-06 Kaushik Srenevasan (tiny change) + + * progmodes/gdb-mi.el (gdb-breakpoints-list-handler-custom): + Handle breakpoints with no "type". + +2012-03-06 Glenn Morris + + * files.el (locate-dominating-file): Add optional predicate argument. + (dir-locals-find-file): Make use of above change. + +2012-03-06 Thien-Thi Nguyen + + * info.el (Info-insert-dir): Also try "dir.gz". + +2012-03-06 Glenn Morris + + * files.el (dir-locals-find-file): + Ignore non-readable or non-regular files. (Bug#10928) + + * files.el (locate-dominating-file): Doc fix. + +2012-03-06 Adam Spiers (tiny change) + + * calendar/calendar.el (calendar-set-mode-line): + `getenv' returns a string. (Bug#10951) + +2012-03-05 Leo Liu + + * simple.el (backward-delete-char-untabify): Constrain point to + field (Bug#10939). + + * eshell/em-cmpl.el (eshell-cmpl-initialize): Fix shift-tab key. + +2012-03-05 Chong Yidong + + * simple.el (count-words): If called from Lisp, return the word + count, for symmetry with `count-lines'. Arglist changed. + (count-words--message): Args changed. Consolidate counting code + from count-words and count-words-region. + (count-words-region): Caller changed. + (count-lines-region): Make it an obsolete alias. + +2012-03-04 Tassilo Horn + + * saveplace.el (save-place-to-alist) + (save-place-ignore-files-regexp): Allow value nil to disable this + feature. + +2012-03-04 Chong Yidong + + * faces.el (face-spec-reset-face): For the default face, reset the + attributes to default values (Bug#10748). + +2012-03-04 Lars Magne Ingebrigtsen + + * mail/emacsbug.el (report-emacs-bug-hook): Fix up thinko in + previous patch: Check `message-send-mail-function', and not the + default function (bug#10897). + +2012-03-04 Michael Albinus + + * notifications.el (notifications-on-action-signal) + (notifications-on-closed-signal): Check for unique service name of + incoming event. Fix error in removing entry. + (top): Register for signals with wildcard service name. + (notifications-notify): Use daemon unique service name for map entries. + +2012-03-04 Chong Yidong + + * cus-start.el: Make x-select-enable-clipboard-manager customizable. + +2012-03-04 Glenn Morris + + * abbrev.el (copy-abbrev-table, abbrev-table-p) + (abbrev-minor-mode-table-alist, define-abbrev, abbrev-insert) + (expand-abbrev, define-abbrev-table): Doc fixes. + +2012-03-03 Lars Magne Ingebrigtsen + + * mail/emacsbug.el (report-emacs-bug-hook): Look at the value of + `message-default-send-mail-function' and not `send-mail-function' + when doing the prompting for `sendmail-query-once' before sending + in Message buffers (bug#10897). + + * net/tls.el (open-tls-stream): Don't set the dont-query-on-exit flag. + This is inconsistent with all the other stream functions, which leave + the setting up to the higher levels (if so wanted) (bug#10931). + +2012-03-02 Alan Mackenzie + + Depessimize the handling of very large macros. + + * progmodes/cc-engine.el (c-macro-cache, c-macro-cache-start-pos): + (c-macro-cache-syntactic): New variables to implement a one + element macro cache. + (c-invalidate-macro-cache): New function. + (c-beginning-of-macro, c-end-of-macro, c-syntactic-end-of-macro): + Adapt to use the new cache. + (c-state-safe-place): Use better the cache of safe positions. + (c-state-semi-nonlit-pos-cache) + (c-state-semi-nonlit-pos-cache-limit): + New variables for... + (c-state-semi-safe-place): New function. Here, in a macro is "safe". + (c-invalidate-state-cache-1): New stuff for c-state-semi-safe-place. + (c-in-literal, c-literal-limits, c-determine-limit-get-base): + Use c-state-semi-safe-place. + + * progmodes/cc-langs.el (c-get-state-before-change-functions): + Add c-invalidate-macro-cache to the C, C++, Obj entries. + +2012-03-02 Michael Albinus + + * jka-compr.el (jka-compr-call-process): + Apply `file-accessible-directory-p' only when the default directory is + not remote. + +2012-03-01 Michael Albinus + + * files.el (file-equal-p): Fix docstring. Avoid unnecessary + access of FILE2, if FILE1 does not exist. + + * net/tramp-sh.el (tramp-remote-process-environment): Add "PAGER=\"\"". + Reported by Robert Lupton the Good . + + * vc/vc-git.el (vc-git--call): Enable `inhibit-null-byte-detection'. + Add "PAGER=" to `process-environment'. + +2012-03-01 Michael R. Mauger + + * progmodes/sql.el: Bug fix + (sql-get-login-ext): Save login values in globals. + (sql-get-login): Use new version of `sql-get-login-ext'. + (sql-interactive-mode): Set global `sql-connection' to nil. + (sql-connect): Set global values for connection. + (sql-product-interactive): Save global values as buffer local. + +2012-02-29 Leo Liu + + * abbrev.el (define-abbrevs): Reset sys to nil. + +2012-02-28 Thierry Volpiatto + + * files.el (file-equal-p): Rename from `files-equal-p'. + Return nil when one or both files don't exist. + (file-subdir-of-p): Now only top directory must exists, + return nil if it doesn't. + (copy-directory): No need to test with `file-subdir-of-p' after + creating dir. + * net/tramp.el (tramp-file-name-for-operation): Rename `files-equal-p' + to `file-equal-p'. + +2012-02-28 Glenn Morris + + * shell.el (shell-mode): + * progmodes/vhdl-mode.el (wildcard-to-regexp, file-expand-wildcards): + * play/landmark.el (landmark-font-lock-face-O): + * play/handwrite.el (handwrite): + * play/gomoku.el (gomoku-O): + * net/browse-url.el (browse-url-browser-display): + * international/mule.el (define-charset): + * htmlfontify.el (hfy-etags-cmd, hfy-face-attr-for-class): + * filesets.el (filesets-find-file-delay): + * eshell/em-xtra.el (eshell-xtra): + * eshell/em-unix.el (eshell-grep): + * emulation/viper.el (viper-mode): + * emacs-lisp/regexp-opt.el (regexp-opt-group): + * emacs-lisp/easymenu.el (easy-menu-define): + * calendar/timeclock.el (timeclock-use-display-time): + * bs.el (bs-mode): + * bookmark.el (bookmark-save-flag): + Doc fix (standardize possessive apostrophe usage). + +2012-02-27 Chong Yidong + + * emulation/viper-cmd.el (viper-intercept-ESC-key): + Fix key-binding lookup for ESC key (Bug#9146). + + * font-lock.el (font-lock-specified-p): Rename from + font-lock-spec-present. Callers changed. + +2012-02-27 Daniel Hackney + + * emacs-lisp/package.el (package-compute-transaction): + Handle holding a package version to t in package-load-list. + +2012-02-26 Michael Albinus + + * net/tramp.el (tramp-inodes, tramp-devices): Initialize with 0. + (tramp-get-inode, tramp-get-device): Use cached values. + +2012-02-26 Alan Mackenzie + + Check there is a font-lock specification before doing initial + fontification. + + * font-core.el (font-lock-mode): Move the conditional from + :after-hook to font-lock-initial-fontify. + (font-lock-default-function): Move the check for a specification + to font-lock-spec-present. + + * font-lock.el (font-lock-initial-fontify): Call ... + (font-lock-spec-present): New function. + +2012-02-26 Jim Blandy + + * progmodes/gdb-mi.el (gdb-mi-quote): New function. + (gdb-send): Apply it to the operand of the '-interpreter-exec + console' command, so that we can pass arguments with (say) quotes + in them. Store exact string sent in gdb-debug-log (Bug#10765). + +2012-02-26 Chong Yidong + + * help-fns.el (describe-function-1): Clarify description of + remapping (Bug#10844). + + * files.el (files-equal-p): Doc fix. + (file-subdir-of-p): Doc fix. Convert loop macro to plain Lisp, + and quit the loop once a mismatch is found. + +2012-02-25 Juanma Barranquero + + * bs.el (bs--show-with-configuration): Don't throw an error + if the window cannot be split; otherwise, subsequent calls to + bs-show fail, restoring a stale window config. (Bug#10882) + +2012-02-25 Jan Djärv + + * term/ns-win.el (global-map): Bind ns-drag-file to + ns-find-file (Bug#5855, Bug#10050). + +2012-02-25 Andreas Schwab + + * calendar/parse-time.el (parse-time-string): Allow extractor to + return nil. + +2012-02-25 Michael Albinus + + * net/tramp.el (tramp-file-name-for-operation): + Add `files-equal-p' and `file-subdir-of-p'. + + * net/tramp-sh.el (tramp-sh-handle-copy-directory): + * net/tramp-smb.el (tramp-smb-handle-copy-directory): + Add COPY-CONTENTS argument. + +2012-02-25 Chong Yidong + + Add custom groups for VC backends, for consistency with vc-bzr. + + * vc/vc-arch.el (vc-arch): + * vc/vc-cvs.el (vc-cvs): + * vc/vc-git.el (vc-git): + * vc/vc-hg.el (vc-hg): + * vc/vc-mtn.el (vc-mtn): + * vc/vc-rcs.el (vc-rcs): + * vc/vc-sccs.el (vc-sccs): + * vc/vc-svn.el (vc-svn): New customization group (Bug#10871). + All relevant defcustoms reassigned. + +2012-02-25 Chong Yidong + + * newcomment.el (comment-styles): Add autoload (Bug#10868). + + * term/x-win.el (x-initialize-window-system): Reduce default for + x-selection-timeout to 5 seconds (Bug#8869). + +2012-02-24 Thierry Volpiatto + + * files.el (files-equal-p, file-subdir-of-p): New functions. + (copy-directory): Error when trying to copy a directory on itself. + Add missing copy-contents arg to tramp handler. + * dired-aux.el (dired-copy-file-recursive): Same. + (dired-create-files): Modify destination when source is equal to + dest when copying files. + Return also when dest is a subdir of source. (Bug#10489) + +2012-02-24 Michael Albinus + + * net/ange-ftp.el (ange-ftp-parse-netrc): Suppress comment lines. + (Bug#10874) + +2012-02-23 Alan Mackenzie + + * emacs-lisp/easy-mmode.el (define-minor-mode): Add extra + parameter "after-hook:" to allow the expansion to run code after + the execution of the mode hooks. + + * font-lock.el (font-lock-initial-fontify): New function extracted + from font-lock-mode-internal. + + * font-core.el (font-lock-mode): Call font-lock-initial-fontify in + :after-hook. + +2012-02-23 Stefan Monnier + + * minibuffer.el: Make sure cycling is reset upon edit with icomplete.el. + (completion--cache-all-sorted-completions): New function. + (completion-all-sorted-completions): Use it. + (completion--do-completion, minibuffer-force-complete): + Use it to re-instate the flush hook. + + * icomplete.el (icomplete-completions): Replace last fix with a better + one (bug#10850). + +2012-02-23 Dmitry Gutov + + * emacs-lisp/lisp.el (beginning-of-defun-raw): Don't call end-of-defun + when it might call us back infinitely (bug#10797). + +2012-02-23 Glenn Morris + + * minibuffer.el (completion-category-overrides): Doc fix. + +2012-02-23 Stefan Monnier + + * minibuffer.el (completion-table-with-context): Fix inf-loop. + Reported by Aaron S. Hawley . + +2012-02-23 Glenn Morris + + * emacs-lisp/authors.el (authors-aliases, authors-fixed-case) + (authors-obsolete-files-regexps, authors-ignored-files) + (authors-ambiguous-files, authors-renamed-files-alist): + Add more entries. + +2012-02-23 Juri Linkov + + * isearch.el (isearch-occur): Sync interactive spec with occur's + new feature in `occur-read-primary-args'. Doc fix. (Bug#10705) + + * replace.el (occur-menu-map): Add menu item for `occur-edit-mode'. + +2012-02-22 Juri Linkov + + * international/mule-cmds.el (read-char-by-name): Use \` and \'. + (ucs-insert): Doc fix. Check for hex digits in the string. + Don't display `nil' in the error message. (Bug#10857) + +2012-02-22 Alan Mackenzie + + * progmodes/cc-mode.el: Revert change #2012-02-06T22:08:41Z!larsi@gnus.org from 2012-02-06. + +2012-02-22 Glenn Morris + + * ffap.el (ffap-c-path): + * man.el (Man-header-file-path): Handle multiarch. (Bug#10702) + +2012-02-22 Chong Yidong + + * custom.el (load-theme): Doc fix. + +2012-02-22 Glenn Morris + + * dired-x.el (dired-guess-shell-alist-default): + Remove escape sequences from nroff output. (Bug#172) + +2012-02-21 Glenn Morris + + * vc/emerge.el (emerge-defvar-local): + Set `permanent-local' property rather than unused `preserved'. + + * textmodes/picture.el (picture-delete-char): New alias. + (picture-mode-map): Use it. (Bug#10860) + (picture-mode): Doc fix. + +2012-02-21 Juanma Barranquero + + * newcomment.el (uncomment-region-default): Remove unused binding. + +2012-02-21 Glenn Morris + + * textmodes/picture.el (picture-motion, picture-motion-reverse) + (picture-self-insert, picture-tab-chars): Doc fix. + (picture-mode-map): Fix C-a, C-e. + +2012-02-20 Glenn Morris + + * emacs-lisp/authors.el (authors-aliases): Add another entry. + +2012-02-20 Leo Liu + + * icomplete.el (icomplete-completions): Check FROM arg before + passing to substring (Bug#10850). + +2012-02-19 Chong Yidong + + * comint.el: Require ansi-color. + (comint-output-filter-functions): Add ansi-color-process-output. + + * ansi-color.el: Don't set comint-output-filter-functions; it is + now in the initial value defined in comint.el. + (ansi-color-apply-face-function): New variable. + (ansi-color-apply-on-region): Use it. + (ansi-color-apply-overlay-face): New function. + + * shell.el (shell): No need to require ansi-color. + (shell-mode): Use ansi-color-apply-face-function to highlight + color escapes using font-lock-face property (Bug#10835). + +2012-02-19 Chong Yidong + + * vc/ediff-init.el (ediff-strip-mode-line-format): Handle non-list + mode-line formats (Bug#10839). + +2012-02-18 Glenn Morris + + * mail/rmail.el (rmail-dont-reply-to-names): Mark as obsolete. + + * mail/undigest.el (unforward-rmail-message): Doc fix. + + * saveplace.el (save-place-ignore-files-regexp): Add :version. + +2012-02-18 Eli Zaretskii + + * international/characters.el (script-list): Sync with the latest + Unicode Character Database. + +2012-02-18 Andreas Schwab + + * international/titdic-cnv.el: Remove duplicate coding tag. + * language/cham.el: Likewise. + * language/tai-viet.el: Likewise. + +2012-02-18 Glenn Morris + + * calendar/cal-menu.el (cal-menu-diary-menu, cal-menu-goto-menu): + * calendar/calendar.el (diary-file, diary-bahai-entry-symbol) + (calendar-bahai-all-holidays-flag, calendar-other-dates): + * calendar/diary-lib.el (diary-abbreviated-year-flag): + * calendar/holidays.el (holiday-bahai-holidays) + (calendar-holidays, list-holidays): + Use utf-8 Bahá'í in doc-strings, menus, etc. + +2012-02-17 Tassilo Horn + + * saveplace.el (save-place-ignore-files-regexp): New variable + allowing for excluding files from saving their location of point. + The default value matches the temporary commit message editing + files from Git, SVN, Bazaar, and Mercurial. + (save-place-to-alist): Use it. + +2012-02-17 Lawrence Mitchell + Stefan Monnier + + * newcomment.el (uncomment-region-default): Don't leave extra space + when an arg is provided (bug#8150). + +2012-02-17 Teodor Zlatanov + + * net/gnutls.el (gnutls-trustfiles): Fix Cygwin bundle location. + +2012-02-17 Glenn Morris + + * net/socks.el: Require network-stream. (Bug#10599) + +2012-02-17 Kenichi Handa + + * international/charprop.el: + * international/uni-name.el: + * international/uni-old-name.el: + * international/uni-comment.el: Regenerate. + +2012-02-16 Glenn Morris + + * calendar/cal-hebrew.el (calendar-hebrew-list-yahrzeits): + Interactively in calendar buffer, give an error if not on a date. + +2012-02-15 Glenn Morris + + * shell.el (shell-delimiter-argument-list): + Revert 2011-02-17 change. (Bug#8027) + +2012-02-15 Chong Yidong + + * minibuffer.el (completion-at-point-functions): Doc fix. + + * custom.el (defcustom): Doc fix; note use of defvar. + +2012-02-15 Glenn Morris + + * mail/smtpmail.el (smtpmail-smtp-user, smtpmail-stream-type): + Doc fixes. + +2012-02-14 Glenn Morris + + * mail/smtpmail.el (smtpmail-query-smtp-server): Give it a doc. + +2012-02-14 Lars Ingebrigtsen + + * mail/smtpmail.el (smtpmail-query-smtp-server): Fix typo in the + way the ports list is computed. + (smtpmail-query-smtp-server): Prompt the user for a port number if + we can't connect to any of the standard ports (bug#10810). + +2012-02-14 Teodor Zlatanov + + * net/gnutls.el (gnutls-trustfiles): Add Cygwin location. + +2012-02-13 Glenn Morris + + * minibuffer.el (read-file-name): Doc fix. (Bug#10798) + +2012-02-13 Teodor Zlatanov + + * net/gnutls.el (gnutls-trustfiles): New variable. + (gnutls-negotiate): Use it. + +2012-02-13 Lars Ingebrigtsen + + * simple.el (mail-user-agent): Mention that `gnus-user-agent' only + does its stuff if Gnus is running. + +2012-02-13 Alan Mackenzie + + Fix a loop in c-set-fl-decl-start. + + * progmodes/cc-engine.el (c-set-fl-decl-start): Add a check that + c-backward-syntactic-ws actually moves backwards. + +2012-02-13 Leo Liu + + * net/rcirc.el (rcirc-markup-attributes): Move point to the + beginning so that all \C-o chars are removed. + +2012-02-12 Teodor Zlatanov + + * net/gnutls.el (gnutls-algorithm-priority): Add missing :group tag. + +2012-02-12 Alan Mackenzie + + Fix infinite loop with long macros. + * progmodes/cc-engine.el (c-state-safe-place): Handle macros properly. + +2012-02-12 Chong Yidong + + * window.el (display-buffer): Doc fix (Bug#10785). + +2012-02-12 Glenn Morris + + * term/pc-win.el (x-selection-owner-p, x-own-selection-internal) + (x-disown-selection-internal, x-get-selection-internal): + Sync docs with the xselect.c versions. + + * allout-widgets.el: Add missing license notice. + +2012-02-11 Glenn Morris + + * select.el (x-get-selection-internal, x-own-selection-internal) + (x-disown-selection-internal): + * x-dnd.el (x-get-selection-internal): Update declarations. + + * vc/log-view.el (vc-diff-internal): Remove unneeded declaration. + + * window.el (window-sides-slots): + * tool-bar.el (tool-bar-position): + * term/xterm.el (xterm-extra-capabilities): + * ses.el (ses-self-reference-early-detection): + * progmodes/verilog-mode.el (verilog-auto-declare-nettype) + (verilog-auto-wire-type) + (verilog-auto-delete-trailing-whitespace) + (verilog-auto-reset-blocking-in-non, verilog-auto-inst-sort) + (verilog-auto-tieoff-declaration): + * progmodes/sql.el (sql-login-hook, sql-ansi-statement-starters) + (sql-oracle-statement-starters, sql-oracle-scan-on): + * progmodes/prolog.el (prolog-align-comments-flag) + (prolog-indent-mline-comments-flag, prolog-object-end-to-0-flag) + (prolog-left-indent-regexp, prolog-paren-indent-p) + (prolog-paren-indent, prolog-parse-mode, prolog-keywords) + (prolog-types, prolog-mode-specificators) + (prolog-determinism-specificators, prolog-directives) + (prolog-electric-newline-flag, prolog-hungry-delete-key-flag) + (prolog-electric-dot-flag) + (prolog-electric-dot-full-predicate-template) + (prolog-electric-underscore-flag, prolog-electric-tab-flag) + (prolog-electric-if-then-else-flag, prolog-electric-colon-flag) + (prolog-electric-dash-flag, prolog-old-sicstus-keys-flag) + (prolog-program-switches, prolog-prompt-regexp) + (prolog-debug-on-string, prolog-debug-off-string) + (prolog-trace-on-string, prolog-trace-off-string) + (prolog-zip-on-string, prolog-zip-off-string) + (prolog-use-standard-consult-compile-method-flag) + (prolog-use-prolog-tokenizer-flag, prolog-imenu-flag) + (prolog-imenu-max-lines, prolog-info-predicate-index) + (prolog-underscore-wordchar-flag, prolog-use-sicstus-sd) + (prolog-char-quote-workaround): + * progmodes/cc-vars.el (c-defun-tactic): + * net/tramp.el (tramp-encoding-command-interactive) + (tramp-local-end-of-line): + * net/soap-client.el (soap-client): + * net/netrc.el (netrc-file): + * net/gnutls.el (gnutls): + * minibuffer.el (completion-category-overrides) + (completion-cycle-threshold) + (completion-pcm-complete-word-inserts-delimiters): + * man.el (Man-name-local-regexp): + * mail/feedmail.el (feedmail-display-full-frame): + * international/characters.el (glyphless-char-display-control): + * eshell/em-ls.el (eshell-ls-date-format): + * emacs-lisp/cl-indent.el (lisp-lambda-list-keyword-alignment) + (lisp-lambda-list-keyword-parameter-indentation) + (lisp-lambda-list-keyword-parameter-alignment): + * doc-view.el (doc-view-image-width, doc-view-unoconv-program): + * dired-x.el (dired-omit-verbose): + * cus-theme.el (custom-theme-allow-multiple-selections): + * calc/calc.el (calc-highlight-selections-with-faces) + (calc-lu-field-reference, calc-lu-power-reference) + (calc-note-threshold): + * battery.el (battery-mode-line-limit): + * arc-mode.el (archive-7z-extract, archive-7z-expunge) + (archive-7z-update): + * allout.el (allout-prefixed-keybindings) + (allout-unprefixed-keybindings) + (allout-inhibit-auto-fill-on-headline) + (allout-flattened-numbering-abbreviation): + * allout-widgets.el (allout-widgets-auto-activation) + (allout-widgets-icons-dark-subdir) + (allout-widgets-icons-light-subdir, allout-widgets-icon-types) + (allout-widgets-theme-dark-background) + (allout-widgets-theme-light-background) + (allout-widgets-item-image-properties-emacs) + (allout-widgets-item-image-properties-xemacs) + (allout-widgets-run-unit-tests-on-load) + (allout-widgets-time-decoration-activity) + (allout-widgets-hook-error-post-time) + (allout-widgets-track-decoration): + Add missing :version tags to new defcustoms and defgroups. + + * progmodes/sql.el (sql-ansi-statement-starters) + (sql-oracle-statement-starters): Add custom type. + + * progmodes/prolog.el: Remove leading '*' from defcustom docs. + (prolog-system-version): Give it a type. + +2012-02-11 Eli Zaretskii + + * term/pc-win.el (x-select-text, x-selection-owner-p) + (x-own-selection-internal, x-disown-selection-internal) + (x-get-selection-internal): Sync doc strings and argument lists + with xselect.c, common-win.el and x-win.el. (Bug#10783) + +2012-02-11 Leo Liu + + * progmodes/python.el (python-end-of-statement): Fix infinite + loop. (Bug#10788) + +2012-02-10 Glenn Morris + + * international/mule-cmds.el (unify-8859-on-encoding-mode) + (unify-8859-on-decoding-mode): Properly mark as obsolete. + +2012-02-10 Lars Ingebrigtsen + + * mail/emacsbug.el (report-emacs-bug-hook): Query the user first + about SMTP before checking the From header. + + * mail/sendmail.el (sendmail-query-user-about-smtp): Refactor out + into own function for reuse by emacsbug.el. + +2012-02-10 Leo Liu + + * subr.el (condition-case-unless-debug): Rename from + condition-case-no-debug. All callers changed. + (with-demoted-errors): Fix caller. + + * vc/diff-mode.el (diff-auto-refine-mode, diff-hunk): + * nxml/rng-valid.el (rng-do-some-validation): + * emacs-lisp/package.el (package-refresh-contents) + (package-menu-execute): + * desktop.el (desktop-create-buffer): + * font-lock.el (lisp-font-lock-keywords-2): Caller changed. + +2012-02-10 Glenn Morris + + * textmodes/bibtex.el: + Add missing :version tags for new/changed defcustoms. + + * files.el (remote-file-name-inhibit-cache): Doc fixes. + +2012-02-09 Lars Ingebrigtsen + + * mail/smtpmail.el (smtpmail-user-mail-address): New function. + (smtpmail-via-smtp): Use it, or fall back on the From address. + (smtpmail-send-it): Ditto. + +2012-02-09 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-file-form-defvar): + Don't fallback on byte-compile-defvar. Optimize (defvar foo) away. + (byte-compile-tmp-var): New const. + (byte-compile-defvar): Use it to minimize .elc size. + Just use `defvar' rather than simulate it (bug#10761). + +2012-02-09 Glenn Morris + + * files.el (rename-uniquely): Doc fix. (Bug#3806) + + * progmodes/cc-guess.el (c-guess-offset-threshold, c-guess-region-max): + Add :version tags. + + * progmodes/compile.el (compilation-error-screen-columns) + (compilation-first-column, compilation-filter-start): Doc fixes. + + * vc/log-view.el (log-view-toggle-entry-display): + * vc/vc.el (vc-merge, vc-pull): Doc fixes. + + * mail/emacsbug.el (report-emacs-bug-can-use-osx-open) + (report-emacs-bug-can-use-xdg-email): + (report-emacs-bug-insert-to-mailer): Doc fixes. + (report-emacs-bug): Message fix. + + * net/browse-url.el (browse-url-can-use-xdg-open) + (browse-url-xdg-open): Doc fixes. + + * electric.el (electric-indent-mode, electric-pair-mode) + (electric-layout-rules, electric-layout-mode): Doc fixes. + (electric-pair-pairs, electric-pair-skip-self): Add :version tags. + +2012-02-08 Martin Rudalics + + * server.el (server-unselect-display): Don't inadvertently kill + the current buffer. (Bug#10729) + +2012-02-08 Glenn Morris + + * progmodes/sql.el (sql-port, sql-connection-alist, sql-list-all) + (sql-list-table): Doc fixes. + + * image-mode.el (image-transform-minor-mode-map, image-transform-mode): + Comment out (does nothing). + + * completion.el (dynamic-completion-mode): + * dirtrack.el (dirtrack-debug-mode): + * electric.el (electric-layout-mode): + * epa-mail.el (epa-mail-mode, epa-global-mail-mode): + * face-remap.el (text-scale-mode, buffer-face-mode): + * iimage.el (iimage-mode): + * image-mode.el (image-transform-mode): + * minibuffer.el (completion-in-region-mode): + * scroll-lock.el (scroll-lock-mode): + * simple.el (next-error-follow-minor-mode): + * tar-mode.el (tar-subfile-mode): + * tooltip.el (tooltip-mode): + * vcursor.el (vcursor-use-vcursor-map): + * wid-browse.el (widget-minor-mode): + * emulation/tpu-edt.el (tpu-edt-mode): + * emulation/tpu-extras.el (tpu-cursor-free-mode): + * international/iso-ascii.el (iso-ascii-mode): + * language/thai-util.el (thai-word-mode): + * mail/supercite.el (sc-minor-mode): + * net/goto-addr.el (goto-address-mode): + * net/rcirc.el (rcirc-multiline-minor-mode, rcirc-track-minor-mode): + * progmodes/cwarn.el (cwarn-mode): + * progmodes/flymake.el (flymake-mode): + * progmodes/glasses.el (glasses-mode): + * progmodes/hideshow.el (hs-minor-mode): + * progmodes/pascal.el (pascal-outline-mode): + * textmodes/enriched.el (enriched-mode): + * vc/smerge-mode.el (smerge-mode): + Doc fixes (minor mode argument). + +2012-02-07 Eli Zaretskii + + * ls-lisp.el (ls-lisp-sanitize): New function. + (ls-lisp-insert-directory): Use it to fix or remove any elements + in file-alist with missing attributes. (Bug#4673) + +2012-02-07 Alan Mackenzie + + Fix spurious recognition of c-in-knr-argdecl. + + * progmodes/cc-engine.el (c-in-knr-argdecl): Check for '=' in a + putative K&R region. + +2012-02-07 Alan Mackenzie + + * progmodes/cc-engine.el (c-forward-objc-directive): + Prevent looping in "#pragma mark @implementation". + +2012-02-07 Michael Albinus + + * notifications.el (notifications-on-closed-signal): Make `reason' + optional. (Bug#10744) + +2012-02-07 Glenn Morris + + * emacs-lisp/easy-mmode.el (define-minor-mode): + Doc fixes for the macro and the mode it defines. + + * image.el (imagemagick-types-inhibit): Doc fix. + + * cus-start.el (imagemagick-render-type): Add it. + +2012-02-06 Lars Ingebrigtsen + + * progmodes/cc-mode.el (c-standard-font-lock-fontify-region-function): + Set the default at load time, too, so that `font-lock-fontify-buffer' + can be called without setting up the entire mode first. This fixes + a bug in `mm-inline-text' with C MIME parts. + +2012-02-06 Chong Yidong + + * simple.el (list-processes--refresh): Delete exited processes + (Bug#8094). + + * comint.el (comint-next-prompt): next-single-char-property-change + and prev-single-char-property-change never return nil (Bug#8657). + + * custom.el (defcustom): Doc fix (Bug#9711). + +2012-02-05 Chong Yidong + + * cus-edit.el (custom-variable-reset-backup): Quote the value + before storing it in the customized-value property (Bug#6712). + (custom-display): Add a customization type tag. + (custom-buffer-create-internal): Improve tooltip message. + + * wid-edit.el (widget-field-value-get): New optional arg to + suppress trailing whitespace truncation. + (character): Use it (Bug#2689). + +2012-02-05 Andreas Schwab + + * progmodes/gud.el (gud-pv): Use pv instead of pv1. + * progmodes/gdb-mi.el (gud-pp): Use pp instead of pp1. + +2012-02-05 Chong Yidong + + * cus-edit.el (custom-variable-value-create): For mismatched + types, show the current value (Bug#7600). + + * custom.el (defcustom): Doc fix. + +2012-02-05 Glenn Morris + + * font-lock.el (lisp-font-lock-keywords-2): Add with-wrapper-hook. + +2012-02-05 Juanma Barranquero + + * emacs-lisp/pp.el (pp-to-string): Use `with-temp-buffer'. + (pp-buffer): Use `ignore-errors', `looking-at-p'. + (pp-last-sexp): Use `looking-at-p'. + +2012-02-04 Glenn Morris + + * files.el (revert-buffer): + Doc fix (mention revert-buffer-in-progress-p). + + * emacs-lisp/ert-x.el (ert-simulate-command): + Check deferred-action-list (which is obsolete) is bound. + + * subr.el (with-wrapper-hook): Doc fixes. + + * simple.el (filter-buffer-substring-functions) + (buffer-substring-filters, filter-buffer-substring): Doc fixes. + +2012-02-04 Lars Ljung (tiny change) + + * eshell/esh-ext.el (eshell-windows-shell-file): Match "cmdproxy" + anywhere in shell-file-name, not just at the beginning. (Bug#10523) + +2012-02-04 Leo Liu + + * emacs-lisp/smie.el: Fix dead link (Bug#10711). + +2012-02-04 Glenn Morris + + * image.el (image-extension-data): Add obsolete alias. + + * isearch.el (isearch-update): Doc fix. + + * facemenu.el (list-colors-display): Doc fix (minor rephrasing). + + * ido.el (ido-find-file): Doc fix (ido-toggle-vc not on any key). + +2012-02-03 Glenn Morris + + * image.el (image-animated-p): Doc fix. Use image-animated-types. + (image-animate-timeout): Doc fix. + + * image-mode.el (image-animate-loop, image-toggle-animation): Doc fixes. + +2012-02-02 Glenn Morris + + * server.el (server-auth-dir): Doc fix. + (server-eval-at): Doc fix. Give an explicit error if !server-use-tcp. + + * subr.el (run-mode-hooks): Doc fix. + +2012-02-02 Juri Linkov + + * image-mode.el (image-toggle-display-image): Remove tautological + `major-mode' from the `derived-mode-p' test. + +2012-02-02 Kenichi Handa + + * composite.el (compose-region): Cancel previous change. + +2012-02-02 Kenichi Handa + + * composite.el (compose-region, compose-string): Signal error for + a null string component (Bug#6988). + +2012-02-01 Chong Yidong + + * view.el (view-buffer-other-window, view-buffer-other-frame): + Handle special modes like view-buffer (Bug#10650). + (view-buffer): Simplify. + + * frame.el (set-frame-font): Tweak meaning of third argument. + + * dynamic-setting.el (font-setting-change-default-font): + Use set-frame-font (Bug#9982). + +2012-02-01 Glenn Morris + + * progmodes/compile.el (compilation-internal-error-properties): + Respect compilation-first-column in the "*compilation*" buffer. + + * emacs-lisp/easy-mmode.el (define-minor-mode): + Relax :variable's test for a named function. + +2012-01-31 Alan Mackenzie + + * progmodes/cc-engine.el (c-guess-basic-syntax): CASE 5B.1: Fix an + off by one error. + +2012-01-31 Chong Yidong + + * frame.el (set-frame-font): New arg ALL-FRAMES. + + * menu-bar.el (menu-set-font): Use set-frame-font. + + * faces.el (face-spec-reset-face): Don't apply unspecified + attribute values to the default face. + +2012-01-31 Juanma Barranquero + + * progmodes/cwarn.el (cwarn): Remove dead link. + (cwarn-configuration, cwarn-verbose, cwarn-mode-text, cwarn-load-hook): + Remove * from defcustom docstrings. + (turn-on-cwarn-mode): Make obsolete. + (c-at-toplevel-p): Remove compatibility code for Emacs 20.3 and older. + (turn-on-cwarn-mode-if-enabled): Call `cwarn-mode'. + +2012-01-31 Glenn Morris + + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. + Fix :variable handling of mode a symbol not equal to modefun. + Allow named functions to be used as the cdr of :variable. + +2012-01-30 Glenn Morris + + * emacs-lisp/authors.el (authors-fixed-entries): + Remove reference to deleted file rnewspost.el. + +2012-01-29 Juanma Barranquero + + * window.el (window-with-parameter): Remove unused variable `windows'. + (window--side-check): Remove unused variable `code'. + (window--resize-siblings): Remove unused variable `first'. + (adjust-window-trailing-edge): Remove unused variable `failed'. + (window-deletable-p, window--delete): Remove unused variable `buffer'. + Use `let', not `let*'. + (balance-windows-2): Remove unused variable `found'. + (window--state-put-2): Remove unused variable `splits'. + (window-state-put): Remove unused variable `selected'. + (same-window-p): Use `string-match-p'. + (display-buffer-assq-regexp): Remove unused variable `value'. + (display-buffer-pop-up-frame, display-buffer-pop-up-window): + Mark argument ALIST as ignored. + (pop-to-buffer): Remove unused variable `old-window'. + +2012-01-29 Eli Zaretskii + + * jka-cmpr-hook.el (jka-compr-compression-info-list): Support .lz + and .lzma compressed files. + +2012-01-29 Chong Yidong + + * frame.el (window-system-default-frame-alist): Doc fix. + + * dynamic-setting.el (font-setting-change-default-font): Don't + change the default face if SET-FONT argument is non-nil (Bug#9982). + +2012-01-29 Samuel Bronson + + * custom.el (defcustom): Add doc link to Lisp manual (Bug#10635). + +2012-01-29 Syver Enstad (tiny change) + + * progmodes/gud.el (pdb): Give pdb full paths, to allow setting + breakpoints in files outside current directory (Bug#6098). + +2012-01-29 Chong Yidong + + * progmodes/python.el: Require ansi-color at top-level. + + * emacs-lisp/lisp-mode.el (emacs-lisp-mode-abbrev-table): + Define and use in Emacs Lisp mode (Bug#9360). + (lisp-mode-abbrev-table): Add doc. + (lisp-mode-variables): Don't set local-abbrev-table. + (lisp-interaction-mode): Use emacs-lisp-mode-abbrev-table. + +2012-01-28 Roland Winkler + + * textmodes/bibtex.el (bibtex-vec-incr): Fix docstring. + +2012-01-28 Roland Winkler + + * textmodes/bibtex.el (bibtex-entry-alist): New function. + (bibtex-set-dialect): Use it. Either set global values of + dialect-dependent variables or bind these variables buffer-locally + (Bug#10254). + (bibtex-mode): Call bibtex-set-dialect via + hack-local-variables-hook. + (bibtex-dialect): Update docstring. + Add safe-local-variable predicate. + (bibtex-entry-alist, bibtex-field-alist): Initialize via + bibtex-set-dialect. + (bibtex-mode-map): Define menu for each dialect. + (bibtex-entry): Fix docstring. + +2012-01-28 Chong Yidong + + * eshell/esh-arg.el (eshell-quote-argument): New function. + + * eshell/esh-ext.el (eshell-invoke-batch-file): + * eshell/em-unix.el (eshell/cat, eshell/du): Use it to quote the + first arg to eshell-parse-command (Bug#10523). + +2012-01-28 Drew Adams + + * net/ange-ftp.el (ange-ftp-canonize-filename): Check, that + `default-directory' is non-nil. + +2012-01-28 Eli Zaretskii + + * mail/emacsbug.el (report-emacs-bug): Fill the potentially long + line that displays system-configuration-options. (Bug#9924) + +2012-01-28 Drew Adams + + * descr-text.el (describe-char): Show information about POS, in + addition to information about the character at POS. Improve and + update the doc string. Change "code point" to "code point in + charset", to avoid confusion with the character's Unicode code + point shown above that. (Bug#10129) + +2012-01-28 Eli Zaretskii + + * descr-text.el (describe-char): Show the raw character, not only + its display form at POS. Suggested by Kenichi Handa . + See http://lists.gnu.org/archive/html/emacs-devel/2012-01/msg00760.html + for the reasons. + +2012-01-28 Phil Hagelberg + + * emacs-lisp/package.el (package-install): + Run package-refresh-contents if there is no archive yet (Bug#9798). + +2012-01-28 Chong Yidong + + * emacs-lisp/package.el (package-maybe-load-descriptor): + New function, split from package-maybe-load-descriptor. + (package-maybe-load-descriptor): Use it. + (package-download-transaction): Fully load required packages + inside the loop, so that `require' calls work (Bug#10593). + (package-install): No need to call package-initialize now. + +2012-01-28 Chong Yidong + + * simple.el (deactivate-mark): Doc fix (Bug#8614). + + * tooltip.el (tooltip-mode): Doc fix. + (tooltip-use-echo-area): Mark as obsolete (Bug#6595). + + * frame.el (set-cursor-color): Doc fix (Bug#352). + + * mail/rmail.el (rmail-start-mail): Add send-action again (Bug#10625). + (rmail-mail-return): Switch to NEWBUF only if it is non-nil. + + * cus-edit.el (custom-buffer-create-internal): Fix search button + action (Bug#10542). + (customize-unsaved, customize-saved): Doc fix (Bug#10541). + +2012-01-27 Eduard Wiebe + + * dired.el (dired-mark-files-regexp): + Include any subdirectory components. (Bug#10445) + +2012-01-27 Mike Lamb (tiny change) + + * pcmpl-unix.el (pcmpl-ssh-known-hosts): + Handle [host]:port syntax. (Bug#10533) + +2012-01-27 Alex Harsanyi + + * xml.el (xml-parse-tag): Fix parsing of comments (Bug#10405). + +2012-01-26 Glenn Morris + + * dired-x.el (dired-bind-jump): Use ctl-x-map and ctl-x-4-map. + * term.el (term-raw-escape-map): Use Control-X-prefix. + * vc/vc-hooks.el (vc-prefix-map): Use ctl-x-map. (Bug#10566) + +2012-01-25 Martin Rudalics + + * window.el (window-state-get, window--state-get-1): Don't deal + with fixed-sizeness of windows. Simplify code. + +2012-01-25 Jérémy Compostella + + * window.el (window--state-get-1, window--state-put-2): + Don't save and restore the mark. + +2012-01-25 Chong Yidong + + * custom.el (custom-variable-p): Doc fix. + +2012-01-25 Glenn Morris + + * dired.el (dired-goto-file): Handle some of the more common + characters that `ls -b' escapes. (Bug#10596) + + * progmodes/compile.el (compilation-next-error-function): + Respect compilation-first-column in the "*compilation*" buffer. + * progmodes/grep.el (grep-first-column): New variable. (Bug#10594) + + * vc/vc.el (vc-modify-change-comment): Scoping fix. (Bug#10513) + +2012-01-24 Glenn Morris + + * pcmpl-gnu.el (pcomplete/tar): Handle " - ". (Bug#10457) + +2012-01-24 Julien Danjou + + * color.el (color-rgb-to-hsl): Fix value computing. + (color-hue-to-rgb): New function. + (color-hsl-to-rgb): New function. + (color-clamp, color-saturate-hsl, color-saturate-name) + (color-desaturate-hsl, color-desaturate-name, color-lighten-hsl) + (color-lighten-name, color-darken-hsl, color-darken-name): New function. + +2012-01-24 Glenn Morris + + * vc/vc-rcs.el (vc-rcs-create-tag): + * vc/vc-sccs.el (vc-sccs-create-tag): + Fix argument spec to be what vc-create-tag expects. (Bug#10515) + +2012-01-23 Mike Lamb (tiny change) + + * eshell/esh-util.el (eshell-read-hosts-file): + Skip comment lines. (Bug#10549) + + * eshell/em-unix.el (pcomplete/ssh): Remove. (Bug#10548) + +2012-01-23 Juanma Barranquero + + * subr.el (display-delayed-warnings): Doc fix. + (collapse-delayed-warnings): New function to collapse identical + adjacent warnings. + (delayed-warnings-hook): Add it. + +2012-01-22 Michael Albinus + + * net/tramp.el (tramp-action-login): Set connection property "login-as". + + * net/tramp-sh.el (tramp-methods): Add user spec to "pscp" and "psftp". + (tramp-default-user-alist): Don't add "pscp". + (tramp-do-copy-or-rename-file-out-of-band): Use connection + property "login-as", if set. (Bug#10530) + +2012-01-21 Michael Albinus + + * net/tramp-sh.el (tramp-default-user-alist): Don't add "plink", + "plink1" and "psftp". (Bug#10530) + +2012-01-21 Kenichi Handa + + * international/mule-cmds.el (prefer-coding-system): Show a + warning message if the default value of file-name-coding-system + was not changed. + +2012-01-21 Jérémy Compostella + + * windmove.el (windmove-reference-loc): + Fix windmove-reference-loc miscalculation. + +2012-01-21 Jay Belanger + + * calc/calc-units.el (math-put-default-units): Don't use "1" as a + default unit. + +2012-01-21 Glenn Morris + + * international/mule.el (auto-coding-alist): Add .tbz. + + * files.el (local-enable-local-variables): Doc fix. + (inhibit-local-variables-regexps): Rename from + inhibit-first-line-modes-regexps. Keep old name as obsolete alias. + Doc fix. Add some extensions from auto-coding-alist. + (inhibit-local-variables-suffixes): + Rename from inhibit-first-line-modes-suffixes. Doc fix. + (inhibit-local-variables-p): + New function, extracted from set-auto-mode-1. + (set-auto-mode): Doc fix. Respect inhibit-local-variables-regexps. + (set-auto-mode-1): Doc fix. Use inhibit-local-variables-p. + (hack-local-variables): Doc fix. Make the mode-only case + respect enable-local-variables and friends. + Respect inhibit-local-variables-regexps for file-locals, but + not for directory-locals. + (set-visited-file-name): + Take account of inhibit-local-variables-regexps. + Whether it applies may change as the file name is changed. + * jka-cmpr-hook.el (jka-compr-install): + * jka-compr.el (jka-compr-uninstall): + Update for inhibit-first-line-modes-suffixes name change. + +2012-01-20 Martin Rudalics + + * help-macro.el (make-help-screen): Temporarily restore original + binding for minor-mode-map-alist (Bug#10454). + +2012-01-19 Julien Danjou + + * color.el (color-name-to-rgb): Use the white color to find the max + color component value and return correctly computed values. + (color-name-to-rgb): Add missing float conversion for max value. + +2012-01-19 Martin Rudalics + + * window.el (window--state-get-1, window-state-get): Do not use + special state value for window-persistent-parameters. + Rename argument IGNORE to WRITABLE. Rewrite doc-string. + (window--state-put-2): Reset all window parameters to nil before + assigning values of persistent parameters. + +2012-01-18 Alan Mackenzie + + Eliminate sluggishness and hangs in fontification of "semicolon + deserts". + + * progmodes/cc-engine.el (c-state-nonlit-pos-interval): + Change value 10000 -> 3000. + (c-state-safe-place): Reformulate so it doesn't stack up an + infinite number of wrong entries in c-state-nonlit-pos-cache. + (c-determine-limit-get-base, c-determine-limit): New functions to + determine backward search limits disregarding literals. + (c-find-decl-spots): Amend commenting. + (c-cheap-inside-bracelist-p): New function which detects "={". + + * progmodes/cc-fonts.el + (c-make-font-lock-BO-decl-search-function): Give a limit to a + backward search. + (c-font-lock-declarations): Fix an occurrence of point being + undefined. Check additionally for point being in a bracelist or + near a macro invocation without a semicolon so as to avoid a + fruitless time consuming search for a declarator. Give a more + precise search limit for declarators using the new + c-determine-limit. + +2012-01-18 Glenn Morris + + * files.el (auto-mode-alist, inhibit-first-line-modes-regexps) + (set-auto-mode): Doc fixes. + +2012-01-17 Glenn Morris + + * isearch.el (search-nonincremental-instead): Fix doc typo. + + * dired.el (dired-insert-directory): Handle newlines in directory name. + (dired-build-subdir-alist): Unescape newlines in directory name. + +2012-01-17 Michael Albinus + + * net/tramp.el (tramp-local-end-of-line): New defcustom. + (tramp-action-login, tramp-action-yesno, tramp-action-yn) + (tramp-action-terminal): Use it. (Bug#10530) + +2012-01-16 Stefan Monnier + + * minibuffer.el (completion--replace): Strip properties (bug#10062). + +2012-01-16 Martin Rudalics + + * window.el (window-state-ignored-parameters): Remove variable. + (window--state-get-1): Rename argument MARKERS to IGNORE. + Handle persistent window parameters. Make copy of clone-of + parameter only if requested. (Bug#10348) + (window--state-put-2): Install a window parameter only if it has + a non-nil value or an existing parameter shall be overwritten. + +2012-01-15 Michael Albinus + + * net/tramp-sh.el (tramp-remote-path): Set tramp-autoload cookie. + +2012-01-14 Eli Zaretskii + + * info.el (Info-toc-build): If the Info file has no "Up" pointer, + don't pass the (nil) value of `upnode' to string-match. + +2012-01-14 Chong Yidong + + * startup.el (command-line): Fix X resource class for cursorColor. + Fix values recognized by the cursorBlink resource. + +2012-01-14 Paul Eggert + + * epg.el (epg--make-temp-file): Avoid permission race condition + when running on old Emacs versions (bug#10403). + +2012-01-14 Glenn Morris + + * dired.el (dired-get-filename): Fix 'verbatim case of previous change. + +2012-01-13 Alan Mackenzie + + Fix filling for when filladapt mode is enabled. + + * progmodes/cc-cmds.el (c-fill-paragraph): In the invocation of + c-mask-paragraph, pass in `fill-paragraph' rather than + `fill-region-as-paragraph'. (This is a reversion of a previous + change.) + * progmodes/cc-mode.el (c-basic-common-init): + Make fill-paragraph-handle-comment buffer local and set it to nil. + +2012-01-13 Glenn Morris + + * dired.el (dired-switches-escape-p): New function. + (dired-insert-directory): Use dired-switches-escape-p. + (dired-get-filename): Undo "\ " quoting if needed. (Bug#10469) + + * find-dired.el (find-ls-option): Doc fix. (Bug#10262) + +2012-01-12 Glenn Morris + + * mail/sendmail.el (mail-mode): Update paragraph-separate for + changes in adaptive-fill-regexp. (Bug#10276) + +2012-01-11 Alan Mackenzie + + Fix Emacs bug #10463 - put `widen's around the critical spots. + + * progmodes/cc-engine.el (c-in-literal, c-literal-limits): Put a + widen around each invocation of c-state-pp-to-literal. Remove an + unused let variable. + +2012-01-11 Glenn Morris + + * dired-aux.el (dired-do-shell-command): Fix */? logic. (Bug#6561) + Doc fix. + +2012-01-10 Chong Yidong + + * net/network-stream.el (network-stream-open-starttls): + Avoid emitting a confusing error message when the server gives a bad + response to the capability command. + +2012-01-10 Glenn Morris + + * mail/unrmail.el (unrmail): Tweak previous change. + +2012-01-09 Chong Yidong + + * custom.el (custom-safe-themes): Use SHA-256 for hashing. + +2012-01-08 Alan Mackenzie + + Optimize font locking in long enum definitions. + + * progmodes/cc-fonts.el (c-font-lock-declarations): Add an extra + arm to a cond form to handle enums. + * progmodes/cc-langs.el (c-enums-contain-decls): New lang variable. + * progmodes/cc-mode.el (c-font-lock-fontify-region): Correct a typo. + +2012-01-07 Paul Eggert + + * files.el (move-file-to-trash): Preserve default file modes on error. + (Bug#10401) + +2012-01-07 Lars Magne Ingebrigtsen + + * faces.el (set-face-attribute): Clarify the meaning of the nil + frame (bug#10294). + + * subr.el (with-selected-frame): Mention that the selected frame + is restored (bug#9980). + + * ibuffer.el (ibuffer-mode): List the bindings in the corrent map + (bug#9759). + + * mail/smtpmail.el (password-cache-add): Remove unused declaration. + (password-read): Don't autoload unused function. + +2012-01-07 Juanma Barranquero + + * progmodes/which-func.el (which-func-mode): Turn into a + non-interactive function and mark as obsolete (bug#10428). + +2012-01-06 Chong Yidong + + * files.el (hack-dir-local-variables-non-file-buffer): Add doc. + (hack-one-local-variable-eval-safep): Allow 0 arg for minor mode + functions, along with 1 and -1. + +2012-01-06 Eli Zaretskii + + * time.el (display-time-load-average) + (display-time-default-load-average): Doc fixes. See the thread + starting at + http://lists.gnu.org/archive/html/help-gnu-emacs/2012-01/msg00059.html + for the details. + +2012-01-06 Glenn Morris + + * mail/unrmail.el (unrmail): Give an explicit error if the input file + has no messages. (Bug#10377) + + * info.el (Info-mode-map): Bind e to end-of-buffer, rather + than Info-edit. (Bug#10385) + + * time.el (display-time-load-average, display-time-next-load-average): + Doc fixes. + + * emacs-lisp/bytecomp.el (byte-compile-file): Do not propagate a file + local setting of buffer-read-only to the input buffer. (Bug#10419) + + * calendar/calendar.el (calendar-mode): + Locally set scroll-margin to 0. (Bug#10379) + +2012-01-06 Ulrich Mueller + + * play/doctor.el (doctor-death): Escape "," characters. (Bug#10370) + +2012-01-05 Glenn Morris + + * eshell/em-unix.el (diff-no-select): Autoload it. + (eshell/diff): Use diff-no-select. (Bug#10420) + +2012-01-05 Chong Yidong + + * shell.el (shell-dynamic-complete-functions): Revert last change. + (shell-command-completion-function): New function. + (shell-completion-vars): Use it to implement + shell-completion-execonly (Bug#10417). + + * custom.el (enable-theme): Don't set custom-safe-themes. + + * cus-theme.el (custom-theme-merge-theme): + Ignore custom-enabled-themes and custom-safe-themes. + +2012-01-05 Michael R. Mauger + + * progmodes/sql.el (sql-login-hook): Add hook to respond to the + first prompt in `sql-interacive-mode'. + (sql-mode-oracle-font-lock-keywords): Add CONNECT_BY_* builtin + keywords. + (sql-mode-mysql-font-lock-keywords): Add ELSEIF keyword. + (sql-product-interactive): Bug fix: Set `sql-buffer' in + context of original buffer. Invoke `sql-login-hook'. + +2012-01-04 Eli Zaretskii + + * mail/rmail.el (rmail-font-lock-keywords): Accept non-ASCII + letters in cite-prefix. + +2012-01-03 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-stream-type): Mention the `ssl' value. + +2012-01-03 Chong Yidong + + * shell.el (shell-dynamic-complete-functions): + Put pcomplete-completions-at-point, so as to try + comint-filename-completion first (Bug#10417). + +2012-01-02 Richard Stallman + + * battery.el (battery-status-function): + Detect when to use battery-yeeloong-sysfs. + (battery-echo-area-format): Add string for Yeeloong. + (battery-linux-proc-apm, battery-linux-proc-acpi): Doc fixes. + (battery-yeeloong-sysfs): New function. + +2012-01-02 Chong Yidong + + * dirtrack.el (dirtrack-list): Eliminate unused third element. + (dirtrack): Merge code for handling relative filenames in prompt + from shell-dir-cookie-watcher. + (dirtrack-debug-message): New arg to avoid excess format calls. + + * shell.el (shell-dir-cookie-re): Variable deleted. + (shell-dir-cookie-watcher): Function deleted. + (shell-mode): Don't use shell-dir-cookie-re, since it is redundant + with dirtrack-mode. + +2012-01-01 Eli Zaretskii + + * term/w32-win.el (dynamic-library-alist) : + Load libgnutls-28.dll, from GnuTLS version 3.x, in preference to + libgnutls-26.dll. + +2011-12-31 Andreas Schwab + + * emacs-lisp/bytecomp.el (byte-compile-file): Fix indentation. + +2011-12-31 Eli Zaretskii + + * mail/rmail.el (rmail-show-message-1): Decode any RFC2047 encoded + headers of non-MIME messages, when rmail-enable-mime is non-nil. + +2011-12-29 Michael Albinus + + * net/tramp-sh.el (tramp-find-shell): Set "remote-shell" property + also for alternative shells. + (tramp-open-connection-setup-interactive-shell): Check, whether + the shell is a busybox. + (tramp-send-command): Don't suppress multiple prompts for + busyboxes, it hurts. + +2011-12-28 Chong Yidong + + * progmodes/gdb-mi.el (gdb-get-source-file-list) + (gdb-get-source-file): Move mode line update to + gdb-get-source-file (Bug#10087). + +2011-12-25 Chong Yidong + + * progmodes/gud.el (gud-gdb-fetch-lines-filter): Just use + gud-gdb-marker-filter without taking it as an argument. + (gud-gdb-run-command-fetch-lines): Caller changed. + (gud-gdb-completion-function): New variable. + (gud-gdb-completion-at-point): Use it. + (gud-gdb-completions-1): Split from gud-gdb-completions. + + * progmodes/gdb-mi.el (gdb-input): Accept command and handler + function as separate arguments. + (gdb-init-1, gdb-non-stop-handler, gdb-check-target-async) + (gdb-tooltip-print-1, gud-watch, gdb-speedbar-update) + (gdb-var-list-children, gdb-var-set-format, gdb-var-delete-1) + (gdb-var-delete-children, gdb-edit-value, gdb-var-update) + (gdb-stopped, def-gdb-auto-update-trigger) + (gdb-place-breakpoints, gdb-select-thread, gdb-select-frame) + (gdb-get-changed-registers, gdb-get-main-selected-frame): + Callers changed. + (gud-gdbmi-completions): New function. + (gdb): Use it for generating the completion table. + +2011-12-24 Alan Mackenzie + + Introduce a mechanism to widen the region used in context font + locking. Use this to protect declarations from losing their contexts. + + * progmodes/cc-langs.el (c-before-font-lock-functions): + Replace c-set-fl-decl-start with c-change-set-fl-decl-start (Renaming). + (c-before-context-fontification-functions): New defvar, a list of + functions to be run just before context (etc.) font locking. + + * progmodes/cc-mode.el (c-extend-font-lock-region-for-macros): + New, functionality extracted from + c-neutralize-syntax-in-and-mark-CPP. + (c-in-after-change-fontification): New variable. + (c-after-change): Set c-in-after-change-fontification. + (c-set-fl-decl-start): Rejig its interface, so it can be called + from both after-change and context fontifying. + (c-change-set-fl-decl-start, c-context-set-fl-decl-start): + New functions. + (c-standard-font-lock-fontify-region-function): New variable. + (c-font-lock-fontify-region): New function. + +2011-12-24 Juri Linkov + + * window.el (window--state-get-1): Set `FORCE' arg of `mark' to t. + (Bug#10348) + +2011-12-23 Michael Albinus + + * net/ange-ftp.el (ange-ftp-copy-file-internal): Check for + existence of source file. (Bug#10325) + +2011-12-23 Alan Mackenzie + + Fix unstable fontification inside templates. + + * progmodes/cc-langs.el (c-before-font-lock-functions): + Newly created from the singular version. The (c c++ objc) entry now + additionally has c-set-fl-decl-start. The other languages (apart + from AWK) have that as a single entry. + + * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): + The functionality for "local" declarations has been extracted to + c-set-fl-decl-start. + + * progmodes/cc-mode.el (c-common-init, c-after-change): + Changes due to pluralisation of c-before-font-lock-functions. + (c-set-fl-decl-start): New function, extracted from + c-font-lock-enclosing-decls and enhanced. + +2011-12-23 Juanma Barranquero + + * desktop.el (desktop-internal-v2s): Fix typos in docstring (bug#10353). + +2011-12-22 Juri Linkov + + * progmodes/grep.el (rgrep): Fix docstring. (Bug#10185) + +2011-12-22 Chong Yidong + + * vc/vc-hooks.el (vc-keep-workfiles): Doc fix. + +2011-12-21 Drew Adams + + * files.el (file-remote-p): Fix docstring. (Bug#10319) + +2011-12-21 Jérémy Compostella + + * battery.el (battery-linux-sysfs): Add missing parameters from acpi. + +2011-12-21 Teodor Zlatanov + + * progmodes/cfengine.el: Add Version. Improve CFEngine 3.x syntax + highlighting and support. Fix up comments for capitalization. + (cfengine-mode-debug): New var. + (cfengine3-mode): Change the modeline indicator to "CFE3". + (cfengine3-font-lock-keywords): Improve defun highlighting. + (cfengine2-actions): Rename from `cfengine-actions'. + (cfengine2-font-lock-keywords): Rename from + `cfengine-font-lock-keywords'. + (cfengine2-imenu-expression): Rename from + `cfengine-imenu-expression'. + (cfengine2-outline-level): Rename from `cfengine-outline-level'. + (cfengine2-beginning-of-defun): Rename from + `cfengine-beginning-of-defun'. + (cfengine2-end-of-defun): Rename from `cfengine-end-of-defun'. + (cfengine2-indent-line): Rename from `cfengine-indent-line'. + (cfengine2-mode): Rename from `cfengine-mode'. Change the + modeline indicator to "CFE2". + (cfengine-mode): Defalias to `cfengine-auto-mode'. + (cfengine-mode-abbrevs): Mark obsolete. + +2011-12-21 Chong Yidong + + * vc/vc-bzr.el (vc-bzr-rename-file): Don't pass ~ to Bzr in + filename argument. + +2011-12-20 Martin Rudalics + + * window.el (window-normalize-buffer-to-display): Remove. + (display-buffer): Handle buffer-or-name argument as in Emacs 23. + +2011-12-19 Chong Yidong + + * vc/vc-dir.el (vc-dir-parent-marked-p, vc-dir-children-marked-p): + Don't signal an error in a predicate function; return non-nil. + (vc-dir-mark-file): Move the error here. + (vc-dir-mark-unmark): If acting on the region, keep going if one + of the entries cannot be marked/unmarked. + (vc-dir-mark-all-files): If current entry is a directory, mark + only child files, as documented. + +2011-12-19 Vincent Belaïche + + * ses.el: Ooops... undo changes of 2011-12-11T14:49:48Z!vincentb1@users.sourceforge.net, as trunk + branch is feature frozen, and 2011-12-11T14:49:48Z!vincentb1@users.sourceforge.net was a feature + addition. + +2011-12-18 Jan Djärv + + * term/ns-win.el (ns-get-selection-internal) + (ns-store-selection-internal): Declare. + (ns-store-cut-buffer-internal, ns-get-cut-buffer-internal): + Declare as obsolete. + (ns-get-pasteboard, ns-paste-secondary): + Use ns-get-selection-internal. + (ns-set-pasteboard, ns-copy-including-secondary): + Use ns-store-selection-internal. + +2011-12-17 Chong Yidong + + * vc/vc.el (vc-next-action): Doc fix; remove CVS-isms. + (vc-deduce-fileset): Doc fix. + +2011-12-16 Andreas Schwab + + * calc/calc-misc.el (calc-help): Avoid wrapping help message. + +2011-12-13 Sam Steingold + + * man.el (Man-getpage-in-background): When running under a + window-system, ignore $MANWIDTH and $COLUMNS. + +2011-12-15 Kenichi Handa + + * language/ethio-util.el: Change coding tag to utf-8-emacs. + (setup-ethiopic-environment-internal): Comment out key-binding for + ethio-toggle-punctuation. + +2011-12-13 Alan Mackenzie + + Add the switch statement to AWK Mode. + + * progmodes/cc-awk.el (awk-font-lock-keywords): Add "switch", "case", + "default" to the keywords regexp. + + * progmodes/cc-langs.el (c-label-kwds): Let AWK take the same + expression as the rest. + (c-nonlabel-token-key): Allow string literals for AWK. + Refactor for the other modes. + + Large brace-block initialisation makes CC Mode slow: Fix. + Tidy up and accelerate c-in-literal, etc. by using the c-parse-state + routines. Limit backward searching in c-font-lock-enclosing.decl. + + * progmodes/cc-engine.el (c-state-pp-to-literal): Return the + pp-state and literal type in addition to the limits. + (c-state-safe-place): New defun, extracted from c-state-literal-at. + (c-state-literal-at): Use the above new defun. + (c-slow-in-literal, c-fast-in-literal): Remove. + (c-in-literal, c-literal-limits): Amend to use c-state-pp-to-literal. + + * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Check for + being in a literal. Add a limit for backward searching. + + * progmodes/cc-mode.el (awk-mode): Don't alias c-in-literal to + c-slow-in-literal. + +2011-12-13 Stefan Monnier + + * progmodes/pascal.el: Declare `ind' as dyn-bound (bug#10264). + +2011-12-13 Martin Rudalics + + * window.el (delete-other-windows): Use correct frame in call to + window-with-parameter. + +2011-12-12 Daniel Pfeiffer + + * progmodes/make-mode.el: Bring it up to date with makepp V2.0. + (makefile-make-font-lock-keywords): Extend meaning of `keywords'. + (makefile-gmake-statements, makefile-makepp-statements): + Use it and add new makepp keywords. + (makefile-makepp-font-lock-keywords): Add new patterns. + (makefile-match-function-end): Match new [...] and [[...]]. + +2011-12-11 Juanma Barranquero + + * ses.el (ses-call-printer-return, ses-cell-property-get) + (ses-sym-rowcol, ses-printer-validate, ses-formula-record) + (ses-create-cell-variable, ses-reset-header-string) + (ses-cell-set-formula, ses-repair-cell-reference-all) + (ses-self-reference-early-detection, ses-in-print-area, ses-set-curcell) + (ses-check-curcell, ses-call-printer, ses-adjust-print-width) + (ses-print-cell-new-width, ses-formula-references, ses-relocate-formula) + (ses-aset-with-undo, ses-load, ses-truncate-cell) + (ses-read-column-printer, ses-read-default-printer, ses-insert-row) + (ses-delete-row, ses-delete-column, ses-append-row-jump-first-column) + (ses-kill-override, ses-yank-pop, ses-yank-cells, ses-yank-tsf) + (ses-yank-resize, ses-export-tab, ses-mark-row, ses-mark-column) + (ses-renarrow-buffer, ses-insert-range, ses-insert-ses-range) + (ses-safe-printer, ses-safe-formula, ses-warn-unsafe, ses--clean-!) + (ses--clean-_, ses-range, ses-select, ses-center, ses-center-span) + (ses-dashfill, ses-unsafe): Fix typos and reflow docstrings. + +2011-12-11 Vincent Belaïche + + * ses.el: The overall change is to add cell renaming, that is + setting fancy names for cell symbols other than name matching + "\\`[A-Z]+[0-9]+\\'" regexp . + (ses-create-cell-variable): New defun. + (ses-relocate-formula): Relocate formulas only for cells the + symbols of which are not renamed, i.e. symbols whose names do not + match regexp "\\`[A-Z]+[0-9]+\\'". + (ses-relocate-all): Relocate values only for cells the symbols of + which are not renamed. + (ses-load): Create cells variables as the (ses-cell ...) are read, + in order to check row col consistency with cell symbol name only + for cells that are not renamed. + (ses-replace-name-in-formula): New defun. + (ses-rename-cell): New defun. + +2011-12-11 Chong Yidong + + * progmodes/gdb-mi.el (gdb): Set comint-prompt-regexp, required + for completion via gud-gdb-fetch-lines-filter (Bug#10274). + +2011-12-11 Eric Hanchrow + + * window.el (other-window): Fix docstring. + +2011-12-10 Eli Zaretskii + + * mail/rmailsum.el (rmail-header-summary): RFC2047 decode the + `from' or `to' address before taking its substring. + Fixes incorrect display in Rmail summary buffer whereby an RFC2047 + encoded name is chopped in the middle of the encoded string, and + thus displayed encoded. + +2011-12-10 Juanma Barranquero + + * makefile.w32-in (update-subdirs-CMD): Use a Local Variables section. + +2011-12-10 Eli Zaretskii + + * textmodes/texnfo-upd.el: Update commentary. Add a warning not + to use texinfo-update-node and commands that call it if the + Texinfo file uses @node lines without next/prev/up pointers. + Correct outdated description about texinfo-master-menu. + (texinfo-all-menus-update, texinfo-master-menu) + (texinfo-update-node, texinfo-every-node-update) + (texinfo-multiple-files-update): Doc fix. Warn against updating + all the @node lines. + (texinfo-master-menu): Only call texinfo-update-node if the prefix + argument is numeric. Explain better in the doc string what the + function really does. + (texinfo-insert-master-menu-list): Improve the error message + displayed if there's no menu in the Top node. + (Bug#2975) See also this thread: + http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00156.html. + +2011-12-09 Manuel Gómez (tiny change) + + * speedbar.el (speedbar-supported-extension-expressions): + Add .adb and .ads, commonly used for Ada source code (bug#10256). + +2011-12-09 Juanma Barranquero + + * printing.el (pr-mode-alist): + * simple.el (filter-buffer-substring-functions) + (completion-list-insert-choice-function): + * window.el (window-with-parameter, window-atom-root) + (window-sides-slots, window-size-fixed, window-min-delta) + (window-max-delta, window--resize-mini-window) + (window--resize-child-windows-normal, window-tree) + (delete-other-windows, quit-window, split-window) + (display-buffer-record-window, special-display-buffer-names) + (special-display-regexps, special-display-popup-frame) + (same-window-p, split-window-sensibly) + (display-buffer-overriding-action, display-buffer-alist) + (display-buffer-base-action, display-buffer, switch-to-buffer) + (switch-to-buffer-other-window, switch-to-buffer-other-frame) + (fit-window-to-buffer, recenter-positions) + (mouse-autoselect-window-state, mouse-autoselect-window-select): + * emacs-lisp/syntax.el (syntax-propertize-function): Fix typos + and remove unneeded backslashes in docstrings. + +2011-12-08 Stefan Monnier + + * emacs-lisp/lisp-mode.el (defmethod): Add doc-string-elt (bug#10244). + + * pcmpl-gnu.el: Don't fail when there is no Makefile nor -f arg. + (pcmpl-gnu-makefile-regexps): Accept "makefile" as well as files that + end in ".mk". + (pcmpl-gnu-make-rule-names): Check "makefile" and ignore errors + when reading the makefile (bug#10116). + +2011-12-06 Stefan Monnier + + * pcmpl-gnu.el (pcomplete/make): Also allow filename arguments + (bug#10116). + +2011-12-06 Glenn Morris + + * emacs-lisp/package.el (package-archives): Doc fix re riskiness. + +2011-12-06 Chong Yidong + + * progmodes/cc-fonts.el (c-annotation-face): Use defface. + +2011-12-06 Juanma Barranquero + + * textmodes/table.el (table-shorten-cell): Fix typo. + +2011-12-05 Christopher Genovese (tiny change) + + * emacs-lisp/assoc.el (aput): Fix return value (bug#10146) + +2011-12-05 Eli Zaretskii + + * descr-text.el (describe-char): Fix display of strong + right-to-left characters and directional embeddings and overrides. + + * simple.el (what-cursor-position): Fix display of codepoints of + strong right-to-left characters. + +2011-12-05 Chong Yidong + + * faces.el (read-color): Doc fix. + +2011-12-05 Glenn Morris + + * align.el (align--set-marker): Add doc-string. + Don't try to move something that is not a marker. (Bug#10216) + +2011-12-04 Glenn Morris + + * calendar/appt.el (appt-add): Rewrite the interactive-spec to avoid + overly zealous deletion of trailing whitespace. + +2011-12-04 Juanma Barranquero + + * server.el (server-delete-client): On Windows, do not try to delete + the only terminal. + (server-process-filter): On Windows, treat requests for a tty frame as + if they were for a GUI frame if the running server is in GUI mode. + +2011-12-03 Glenn Morris + + * textmodes/texinfmt.el (batch-texinfo-format): Doc fix. (Bug#10207) + +2011-12-03 Stefan Monnier + + * electric.el: Streamline electric-indent's hook. + (electric-indent-chars): Revert to simple list. + (electric-indent-functions): New var. + (electric-indent-post-self-insert-function): Use it. + + * progmodes/prolog.el (prolog-find-value-by-system): Avoid error when + there's no inferior buffer (bug#10196). + (prolog-consult-compile): Don't use toggle-read-only. + +2011-12-02 Michael Albinus + + * net/tramp-sh.el (tramp-maybe-open-connection): Handle user + interrupt. (Bug#10187) + +2011-12-02 Stefan Monnier + + * pcmpl-gnu.el (pcomplete/tar): large-file-warn-threshold can be nil + (bug#9160). + + * dired-aux.el (dired-query): Don't assume help-char is modifier-free + (bug#10191). + +2011-12-02 Juri Linkov + + * info.el (Info-search): Display "end of manual" when Isearch + reaches the end of single-file Info manual. (Bug#9918) + +2011-12-02 Eli Zaretskii + + * isearch.el (isearch-message-prefix): Run the input method part + of the prompt through bidi-string-mark-left-to-right. (Bug#10183) + +2011-12-02 Juri Linkov + + * isearch.el (isearch-occur): Use `word-search-regexp' for + `isearch-word'. + (isearch-search-and-update): Add condition for `isearch-word' and + call `word-search-regexp'. (Bug#10145) + +2011-12-01 Glenn Morris + + * eshell/em-hist.el (eshell-hist-initialize): + Handle eshell-history-size nil and HISTSIZE set or unset. + (eshell-history-file-name, eshell-history-size): Fix custom type. + +2011-12-01 Stefan Monnier + + * man.el (Man-completion-table): Fix the lambda case (bug#10168). + +2011-12-01 Michael McNamara + + * progmodes/verilog-mode.el (verilog-pretty-expr): + Rework verilog-pretty-expr to handle new assignment operators in system + verilog, such as += *= and the like. + (verilog-assignment-operator-re): Regular expression to find the + assigment operator in a verilog assignment. + (verilog-assignment-operation-re): Regular expression to find an + assignment statement for pretty-expr. + (verilog-in-attribute-p): Query returns true if point is in an + attribute context; used to skip these for expression line up from + pretty-expr. + (verilog-in-parameter-p): Query returns true if point is in an + parameter definition context; used to skip these for expression + line up from pretty-expr. + (verilog-in-parenthesis-p): Query returns true if point is in a + parenthetical expression, specifically ( ) but not [ ] or { }; + used by pretty-expr. + (verilog-just-one-space): If there is no space, don't add one. + (verilog-get-lineup-indent-2): Specifically skip just attribute + contexts for expression lineup, rather than skipping all + parenthetical expressions. + (verilog-calculate-indent): Fix comment, and fix indent. + (verilog-do-indent): Indent declarations in lists (suggested by + Joachim Lechner). + (verilog-mode-abbrev-table): Populate abbrev mode with the various + skeleton items. + (verilog-sk-ovm-class): Add skeleton for OVM classes (reported + by Alain Mellan). + +2011-12-01 Wilson Snyder + + * progmodes/verilog-mode.el (verilog-read-defines): Fix reading + parameters with embedded comments. Reported by Ray Stevens. + (verilog-calc-1, verilog-fork-wait-re, verilog-forward-sexp) + (verilog-wait-fork-re): Fix indentation of "wait fork", bug407. + Reported by Tim Holt. + (verilog-auto): Fix AUTOing a upper module then AUTOing module + instantiated by upper module causing wrong expansion until AUTOed a + second time. Reported by K C Buckenmaier. + (verilog-diff-auto): Fix showing .* as a difference when + `verilog-auto-star-save' off. Reported by Dan Dever. + (verilog-auto-reset, verilog-read-always-signals) + (verilog-auto-reset-blocking-in-non): Fix AUTORESET including + temporary signals in reset list if + verilog-auto-reset-blocking-in-non is nil, and match assignment + style to each signal's assignment type, bug381. + Reported by Thomas Esposito. + (verilog-sk-uvm-class, verilog-uvm-begin-re, verilog-uvm-end-re) + (verilog-uvm-statement-re): Support UVM indentation and + highlighting, with old OVM keywords only. + (verilog-auto-tieoff, verilog-auto-tieoff-declaration): + Support AUTOTIEOFF creating non-wire data types. + Suggested by Jonathan Greenlaw. + (verilog-auto-insert-lisp, verilog-delete-to-paren) + (verilog-forward-sexp-cmt, verilog-forward-sexp-ign-cmt) + (verilog-inject-sense, verilog-read-inst-pins) + (verilog-read-sub-decls, verilog-read-sub-decls-line): + Fix mismatching parenthesis inside commented out code when deleting + AUTOINST, bug383. Reported by Jonathan Greenlaw. + (verilog-auto-ascii-enum): Fix AUTOASCIIENUM one-hot with + non-numeric vector width. Reported by Alex Reed. + (verilog-auto-ascii-enum): Add "onehot" option to work around not + detecting signals with parameter widths. Reported by Alex Reed. + (verilog-auto-delete-trailing-whitespace): + With `verilog-auto-delete-trailing-whitespace' remove trailing + whitespace in auto expansion, bug371. Reported by Brad Dobbie. + (verilog-run-hooks, verilog-scan-cache-flush, verilog-syntax-ppss): + Fix verilog-scan-cache corruption when running user AUTO expansion + hooks that call indentation routines. + (verilog-simplify-range-expression): Fix typo ignoring lower case + identifiers. + (verilog-delete-auto): Fix delete-autos to also remove user created + automatics, as long as they start with AUTO. + (verilog-batch-diff-auto, verilog-diff-auto) + (verilog-diff-function): Add `verilog-diff-auto' and bind to + "C-c?" to report differences in AUTO expansion, ignoring spaces. + (verilog-backward-syntactic-ws-quick, verilog-beg-of-defun-quick) + (verilog-in-paren-quick, verilog-re-search-backward-quick) + (verilog-re-search-forward-quick, verilog-syntax-ppss): + Fix calling `syntax-ppss' when inside auto expansions as the ppss hook + is disabled and its cache will get corrupt, causing AUTOS not to + expand. Instead use only -quick functions. + (verilog-scan-region): Fix scanning over escaped quotes. + (verilog-inside-comment-or-string-p, verilog-inside-comment-p) + (verilog-re-search-backward-quick) + (verilog-re-search-forward-quick, verilog-scan): verilog-scan and + related functions now ignore strings, to fix misparsing of strings + with magic comments embedded in them. + (verilog-read-auto-template): + Fix 'verilog-auto-inst-template-numbers' with extra newline before (. + Reported by Brad Dobbie. + (verilog-read-auto-template): + Fix 'verilog-auto-inst-template-numbers' with comments. + Reported by Brad Dobbie. + (verilog-auto-inst, verilog-auto-inst-param) + (verilog-auto-inst-sort): Add 'verilog-auto-inst-sort' to reduce + merge conflicts with AUTOINST, bug358. Reported by Brad Dobbie. + (verilog-auto-inst-template-numbers): Add 'lhs' policy for + debugging templates without merge conflicts, bug357. + Reported by Brad Dobbie. + (verilog-read-auto-template): + Fix verilog-auto-inst-template-numbers with multiple templates. + Reported by Brad Dobbie. + (verilog-define-abbrev): Fix verilog-mode abbrevs to be system + abbrevs so user won't be asked to save. + (verilog-read-auto-lisp-present): Fix to start at beginning of + buffer in case called outside of verilog-auto. + (verilog-simplify-range-expression): Fix AUTOWIRE expanding "X-1+1" + to "X-2". Reported by Matthew Myers. + (verilog-auto, verilog-auto-inout-in): Add AUTOINOUTIN for creating + all inputs from module templates. Reported by Leith Johnson. + (verilog-module-inside-filename-p): Fix locating programs as with + modules. + (verilog-auto-inst-port): Fix vl-width expressions when using + verilog-auto-inst-param-value, bug331. Reported by Julian Gorfajn. + (verilog-decls-get-regs, verilog-decls-get-signals, + verilog-decls-get-vars, verilog-decls-get-wires, verilog-decls-new, + verilog-modi-cache-add-vars, verilog-modi-cache-add-wires, + verilog-read-decls): Combine reg and wire structures into one var + structure to represent SystemVerilog concepts. + (verilog-auto-ascii-enum, verilog-auto-logic, verilog-auto-reg) + (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-wire) + (verilog-auto-wire-type, verilog-insert-definition): + Add verilog-auto-wire-type and AUTOLOGIC to support using + SystemVerilog "logic" keyword instead of "wire"/"reg". + (verilog-auto-reg-input, verilog-decls-get-signals): Fix AUTOWIRE + to declares outputs that also have assignments (presumably in an + ifdef or generate if so there's not a driver conflict). + Reported by Matthew Myers. + (verilog-auto-declare-nettype, verilog-insert-definition): + Add verilog-auto-declare-nettype to fix declarations using + `default_nettype none. Reported by Julian Gorfajn. + (verilog-read-always-signals-recurse, verilog-read-decls) + (verilog-read-sub-decls-gate): Fix infinite loop with (*) and + malformed end statement, bug325. Reported by Joshua Wise and + Andrew Drake. + (verilog-auto-star-safe, verilog-delete-auto-star-implicit) + (verilog-inst-comment-re): Fix not deleting Interfaced comment + when expanding .* in interfaces, bug320. + Reported by Pierre-David Pfister. + (verilog-read-module-name): Fix import statements between module + name and open parenthesis, bug317. + Reported by Pierre-David Pfister. + (verilog-simplify-range-expression): Fix simplification of + multiplications inside AUTOWIRE connections, bug303. + (verilog-auto-inst-port): Support parameter expansion in + multidimensional arrays. + (verilog-read-decls): Fix AUTOREG etc looking for "endproperty" + after "assert property". Reported by Julian Gorfajn. + (verilog-simplify-range-expression): Fix "couldn't merge" errors + with multiplication, bug303. + (verilog-read-decls): Fix parsing of unsigned data types, bug302. + Reported by Jan Frode Lonnum. + +2011-11-30 Juanma Barranquero + + * htmlfontify.el (hfy-page-header, hfy-post-html-hooks) + (hfy-shell-file-name, hfy-shell): + * international/fontset.el (x-decompose-font-name): Fix typos. + +2011-11-29 Ken Brown + + * progmodes/gdb-mi.el: Fix bug#9853, bug#9858, and bug#9878. + (gdb-version): Remove defvar. + (gdb-supports-non-stop): New defvar, replacing `gdb-version'. + (gdb-gud-context-command, gdb-non-stop-handler) + (gdb-current-context-command, gdb-stopped): Use it. + (gdb-init-1): Enable pretty printing here. + (gdb-non-stop-handler): Don't enable pretty-printing here. + Check to see if the target supports non-stop mode; if not, turn off + non-stop mode. Use the following. + (gdb-check-target-async): New defun. + (gud-watch, gdb-stopped): Fix whitespace. + (gdb-get-source-file): Don't try to display the source file if + `gdb-main-file' is nil. + +2011-11-29 Stefan Monnier + + * align.el: Try to generate fewer markers (bug#10047). + (align--set-marker): New macro. + (align-region): Use it. + +2011-11-29 Stefan Monnier + + * isearch.el (isearch-yank-x-selection): Deactivate mark (bug#10022). + +2011-11-29 Chong Yidong + + * indent.el (indent-for-tab-command, indent-according-to-mode): + Doc fix. + (indent-region): Doc fix. Switch nested ifs to equivalent cond. + +2011-11-29 Michael Albinus + + * vc/diff-mode.el (diff-find-file-name): Make `read-file-name' + aware of remote file names. (Bug#10124) + +2011-11-29 Chong Yidong + + * frame.el (auto-raise-mode, auto-lower-mode): Doc fix. + +2011-11-28 Stefan Monnier + + * files.el (find-file): Don't use force-same-window (bug#10144). + * window.el (switch-to-buffer): Better match Emacs-23 behavior and only + use pop-to-buffer if the selected window can't be used. + (pop-to-buffer-same-window): Use display-buffer--same-window-action. + +2011-11-28 Eli Zaretskii + + * vc/diff-mode.el (diff-mode-map): Don't inherit 'z' => 'M-z' from + special-mode-map. + +2011-11-28 Chong Yidong + + * emacs-lisp/easy-mmode.el (define-minor-mode): Fix default doc. + +2011-11-27 Nick Roberts + + * progmodes/gdb-mi.el (gdb-init-1): Condition execution of + gdb-get-source-file-list on gdb-create-source-file-list. + +2011-11-26 Eli Zaretskii + + * whitespace.el (whitespace-newline): Use a different foreground + color for 16-color light-background displays. + +2011-11-24 Chong Yidong + + * window.el (display-buffer--special-action): Doc fix. + +2011-11-25 Juanma Barranquero + + * emacs-lisp/avl-tree.el (avl-tree--do-copy, avl-tree-create) + (avl-tree-compare-function, avl-tree-empty, avl-tree-enter) + (avl-tree-delete, avl-tree-member, avl-tree-member-p, avl-tree-map) + (avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar, avl-tree-copy) + (avl-tree-clear, avl-tree-stack, avl-tree-stack-pop) + (avl-tree-stack-first): + * emacs-lisp/cconv.el (cconv--analyse-use): + * net/gnutls.el (gnutls-negotiate): Fix typos. + +2011-11-24 Glenn Morris + + * lpr.el (lpr-windows-system, lpr-lp-system): + * mail/binhex.el (binhex-begin-line): + * progmodes/grep.el (grep-history, grep-find-history): + * textmodes/flyspell.el: + * vc/pcvs-defs.el (cvs-global-menu): + * vc/vc-bzr.el (vc-bzr-admin-checkout-format-file): + * vc/vc-mtn.el (vc-mtn-admin-dir, vc-mtn-admin-format): + * vc/vc-cvs.el (vc-cvs-registered): Give them basic doc-strings. + + * net/tls.el: Fix case of "GnuTLS". + + * paths.el (rmail-file-name): Format doc-string for make-docfile. + + * version.el (emacs-build-system): Give it a doc-string. + +2011-11-24 Juri Linkov + + * view.el (view-buffer): Revert 2011-07-19T15:01:49Z!larsi@gnus.org from 2011-07-19 (bug#8615). + +2011-11-24 Glenn Morris + + * mail/rmailmm.el (rmail-mime): When rmail-enable-mime is non-nil, + if called on a non-mime message just toggle the headers. (Bug#8006) + +2011-11-24 Juanma Barranquero + + * allout.el (allout-setup, allout-auto-save-temporarily-disabled) + (allout-lead-with-comment-string, allout-structure-deleted-hook) + (allout-mode, allout-chart-subtree, allout-hotspot-key-handler) + (allout-rebullet-heading, allout-open-sibtopic) + (allout-toggle-current-subtree-encryption) + (allout-toggle-subtree-encryption, allout-encrypt-string) + (allout-next-topic-pending-encryption, allout-adjust-file-variable) + (allout-distinctive-bullets-string, allout-auto-activation): + * window.el (window-normalize-buffer-to-display): + * progmodes/verilog-mode.el (verilog-batch-indent): + * textmodes/bibtex.el (bibtex-field-braces-opt) + (bibtex-field-strings-opt): + * vc/cvs-status.el (cvs-tree-merge): + Fix typos. + +2011-11-23 Michael Albinus + + * rfn-eshadow.el (rfn-eshadow-update-overlay): Let-bind + `non-essential' to t, in order to avoid remote connections. + +2011-11-23 Eli Zaretskii + + * emacs-lisp/autoload.el (autoload-generate-file-autoloads): + On MS-DOS and MS-Windows, compare with loaddefs.el + case-insensitively. + +2011-11-23 Mark Lillibridge (tiny change) + + * mail/unrmail.el (unrmail): Always add blank line. (Bug#7743) + +2011-11-23 Glenn Morris + + * paths.el (rmail-file-name): Reformat the doc-string so that it + is picked up. + + * mail/rmail.el (rmail-message-filter, rmail-auto-file): Doc fixes. + (rmail-auto-file): Ignore case in the "special" field names, + as mail-fetch-field does for all others. + + * mail/rmail.el (rmail-forward): + * mail/rmailkwd.el (rmail-set-label): + * mail/rmailout.el (rmail-output, rmail-output-as-seen) + (rmail-output-body-to-file): Give error if no message. (Bug#10082) + + * mail/rmail.el (rmail-current-message): Doc fix. + + * mail/rmail.el (rmail-message-filter): Mark as obsolete. (Bug#2624) + +2011-11-22 Stefan Monnier + + * server.el (server-eval-and-print): Allow C-g (bug#6585). + +2011-11-22 Glenn Morris + + * mail/rmailmm.el (test-rmail-mime-handler) + (test-rmail-mime-bulk-handler) + (test-rmail-mime-multipart-handler): Move tests to test/ directory. + +2011-11-21 Juri Linkov + + * calc/calc.el (calc-read-key-sequence): + Let-bind `input-method-function' to nil. (Bug#10018) + +2011-11-21 Lars Magne Ingebrigtsen + + * emacs-lisp/cl-indent.el (common-lisp-loop-part-indentation): + Tell the caller that the next line needs recomputation, even + though it doesn't start a sexp (bug#10094). + +2011-11-21 Stefan Monnier + + * emacs-lisp/autoload.el (autoload-generate-file-autoloads): Simplify. + +2011-11-20 Stefan Monnier + + * vc/pcvs-util.el (cvs-pop-to-buffer-same-frame): + Use force-same-window. + +2011-11-20 Juanma Barranquero + + * descr-text.el (describe-char-unicode-data): + * json.el (json-string-escape): + * mail/footnote.el (footnote-unicode-string, footnote-unicode-regexp) + (Footnote-unicode, Footnote-style-p): + * net/ntlm.el (ntlm-get-password-hashes): Fix typos. + +2011-11-20 Chong Yidong + + * window.el (replace-buffer-in-windows): Restore interactive spec. + +2011-11-20 Stefan Monnier + + * electric.el (electric-indent-mode): Fix last change (too optimistic). + + * emacs-lisp/bytecomp.el: Silence obsolete warnings more reliably. + (byte-compile-global-not-obsolete-vars): New var. + (byte-compile-check-variable, byte-compile-make-obsolete-variable): + Use it. + (byte-compile-warn-obsolete): Align text with the one in *Help*. + +2011-11-20 Juanma Barranquero + + * progmodes/cwarn.el (cwarn-is-enabled, cwarn-font-lock-keywords): + * progmodes/pascal.el (electric-pascal-equal): + * textmodes/reftex-dcr.el (reftex-view-crossref-from-bibtex): + * xml.el (xml-substitute-special): Fix typos. + +2011-11-20 Glenn Morris + + * mail/rmail.el (rmail-enable-mime-composing): Make it a defcustom. + (rmail-insert-mime-forwarded-message-function, rmail-mime-feature): + Doc fixes. + (rmail-decode-mime-charset): Mark as obsolete. + + * mail/rmailsum.el (rmail-message-regexp-p-1): + * mail/rmail.el (rmail-search-message, rmail-forward, rmail-resend): + Before using mime functions, check they are set. (Bug#10077) + +2011-11-19 Juri Linkov + + * info.el (Info-finder-find-node): Use `package--builtins' instead + of `package-alist'. Use node names formed by the pattern "Keyword " + and the keyword name. + +2011-11-19 Andreas Schwab + + * progmodes/sh-script.el (sh-assignment-regexp): Add entry for bash. + +2011-11-19 Juri Linkov + + * info.el (Info-hide-note-references): Add `:set' tag to `defcustom' + that calls `revert-buffer' on all Info buffers. (Bug#9915) + (Info-revert-find-node): Remove let-bindings `old-buffer-name', + `old-history', `old-history-forward'. Add let-binding + `window-selected'. Remove calls to `kill-buffer', + `switch-to-buffer' and `Info-mode'. Set `Info-current-file' to nil + before calling `Info-find-node', so `Info-find-node-2' will reread + the Info file. Restore window positions only when `window-selected' + is non-nil. + +2011-11-19 Juri Linkov + + * isearch.el (isearch-lazy-highlight-new-loop): + Remove condition `(not isearch-error)'. (Bug#9918) + + * misearch.el (multi-isearch-search-fun): Add condition + `(not bound)' to ignore lazy-highlighting search. + Add the search-failed message "end of multi" when the end of + multi-sequence is reached. Uncapitalize the search-failed + message "Repeat for next buffer". + + * info.el (Info-search): Add the search-failed message + "end of the manual" when the end of the manual is reached + in Isearch mode. + +2011-11-19 Juri Linkov + + * info.el (Info-find-node-2, Info-select-node, Info-history-find-node): + Use non-destructive `remove' instead of `delete' because + `Info-history-list' stored to `Info-isearch-initial-history-list' in + `Info-isearch-start' might need to be restored in `Info-isearch-end'. + +2011-11-19 Juri Linkov + + * isearch.el (isearch-edit-string): Let-bind `history-add-new-input' + to nil instead of binding `search-ring' and `regexp-search-ring'. + (Bug#9185) + +2011-11-19 Eli Zaretskii + + * simple.el (line-move): Force movement by logical lines for any + hscrolled window, not only when auto-hscroll-mode is on. + (line-move-visual): Update doc string to that effect. (Bug#10076) + +2011-11-19 Andreas Schwab + + * language/european.el (macintosh): Define as alias for mac-roman. + +2011-11-19 Eli Zaretskii + + * mail/rmailmm.el (rmail-mime-display-header) + (rmail-mime-display-tagline, rmail-mime-display-body): New defsubsts. + (rmail-mime-entity-segment, rmail-mime-toggle-raw) + (rmail-mime-toggle-hidden, rmail-mime-insert-text) + (rmail-mime-insert-bulk, rmail-mime-insert-multipart) + (rmail-mime-insert, rmail-mime-insert-tagline): Use them instead + of a raw aref. + (rmail-mime-entity-segment): To get past the tagline, move forward + 2 more lines, to account for the 2 empty lines that precede and + follow the line with the buttons. + (rmail-mime-update-tagline): Move one more line, to get past the + empty line that follows the buttons in the tagline. (Bug#9520) + +2011-11-19 Martin Rudalics + + * window.el (window-max-delta-1, window-min-delta-1) + (window-min-size-1, window-state-get-1, window-state-put-1) + (window-state-put-2): Use "window--" prefix. + +2011-11-18 Stefan Monnier + + * emacs-lisp/smie.el: Improve warnings and conflict detection. + (smie-warning-count): New var. + (smie-set-prec2tab): Use it. + (smie-bnf->prec2): Improve warnings. Add docstring. + (smie-bnf--closer-alist): Rename from smie-bnf-closer-alist. + (smie-bnf--set-class): New function. + (smie-bnf--classify): Rename from smie-bnf-classify. Rewrite to fix + corner case. + + * progmodes/compile.el: Obey compilation-first-column in dest buffer. + (compilation-error-properties, compilation-move-to-column): + Handle compilation-first-column while in the target buffer. + + * progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): + Don't hardcode point-min==1. + + * eshell/esh-cmd.el (eshell-do-eval): Handle `setq' (bug#9907). + (eshell-rewrite-for-command): Remove workaround. + (eshell-do-pipelines, eshell-do-pipelines-synchronously) + (eshell-do-eval, eshell-exec-lisp): Avoid gratuitous setq. + * eshell/esh-util.el (eshell-condition-case, eshell-for): Use declare. + + * files-x.el (modify-file-local-variable): Obey commenting conventions. + +2011-11-17 Glenn Morris + + * emacs-lisp/autoload.el (autoload-generate-file-autoloads): + Ignore buffer-local generated-autoload-file if it is the same + as the global value. (Bug#10049) + +2011-11-17 Juanma Barranquero + + * textmodes/reftex-toc.el (reftex-toc-return-marker, reftex-toc-help) + (reftex-toc, reftex-toc, reftex-toc-dframe-p, reftex-toc-next-heading) + (reftex-toc-previous-heading, reftex-toc-max-level) + (reftex-toc-goto-line-and-hide, reftex-toc-show-calling-point) + (reftex-toc-quit, reftex-toc-revert, reftex-toc-jump) + (reftex-toc-do-promote, reftex-toc-promote-prepare) + (reftex-toc-promote-action, reftex-toc-extract-section-number) + (reftex-toc-load-all-files-for-promotion, reftex-toc-rename-label) + (reftex-toc-rename-label, reftex-toc-visit-location) + (reftex-toc-visit-location, reftex-toggle-auto-toc-recenter) + (reftex-toggle-auto-toc-recenter, reftex-toggle-auto-toc-recenter) + (reftex-make-separate-toc-frame): Fix typos, and use TOC consistently, + leaving "*toc*" only for references to the buffer. + +2011-11-17 Martin Rudalics + + * window.el (window-resize, delete-window, split-window): + Replace window-splits by window-combination-resize. + * cus-start.el (window-splits): Replace by window-combination-resize. + +2011-11-17 Glenn Morris + + * progmodes/sh-script.el (sh-font-lock-keywords-var): + Make bash entry derive from sh entry, not shell entry. + +2011-11-16 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-file-truename): Cache only the + local file name. + +2011-11-16 Juanma Barranquero + + * menu-bar.el (menu-bar-file-menu): + * printing.el (pr-ps-utility): + * calendar/icalendar.el (icalendar, icalendar--convert-tz-offset) + (icalendar--convert-to-ical, icalendar--convert-ordinary-to-ical) + (icalendar--convert-weekly-to-ical, icalendar--convert-yearly-to-ical) + (icalendar--convert-sexp-to-ical, icalendar--convert-block-to-ical) + (icalendar--convert-float-to-ical, icalendar--convert-date-to-ical) + (icalendar--convert-cyclic-to-ical) + (icalendar--convert-anniversary-to-ical, icalendar-import-buffer) + (icalendar--convert-ical-to-diary) + (icalendar--convert-recurring-to-diary) + (icalendar--convert-non-recurring-all-day-to-diary) + (icalendar-import-format-sample): + * progmodes/idlw-shell.el (idlwave-shell-mode): + * progmodes/vhdl-mode.el (vhdl-mode, vhdl-print-two-column) + (vhdl-print-customize-faces, vhdl-mode, vhdl-ps-print-settings) + (vhdl-ps-print-init): Fix typos. + +2011-11-16 Ken Manheimer + + * allout.el, allout-widgets.el (file metadata): Attribute copyright to + FSF and collapse date sequence, obscure author/maintainer email address + better, remove extra version line, track relocation of author's webpage. + + * progmodes/python.el (python-pdbtrack-input-prompt) + (python-pdbtrack-track-stack-file): Adjust to recognize ipdb as well as + regular python pdb prompts. Adjustments shamelessly taken exactly as + suggested in EmacsWiki page (tiny change): + http://www.emacswiki.org/PythonProgrammingInEmacs#toc14 + +2011-11-16 Juanma Barranquero + + * expand.el (expand-pos, expand-index, expand-point): + Remove redundant info from docstring. + (expand-add-abbrevs): Doc fix. + (expand-c-sample-expand-list, expand-sample-lisp-mode-expand-list) + (expand-sample-perl-mode-expand-list): Fix typos. + + * net/dbus.el (dbus-event-member-name): + * play/5x5.el (5x5-solve-rotate-left, 5x5-solver-output): + * term/pc-win.el (msdos-create-frame-with-faces): + * textmodes/texinfmt.el (texinfo-format-image): Fix typos. + +2011-11-16 Martin Rudalics + + * window.el (split-window, window-state-get-1) + (window-state-put-1, window-state-put-2): Rename occurrences of + window-nest to window-combination-limit. + * cus-start.el (window-nest): Rename to window-combination-limit. + +2011-11-16 Chong Yidong + + * progmodes/autoconf.el (autoconf-mode): Fix comment-start-skip + regexp (Bug#10033). + +2011-11-16 Stefan Monnier + + * tmm.el (tmm-prompt): Use minibuffer-with-setup-hook (bug#10053). + `completing-read' will remove *Completions* and will preserve + current-buffer for us. + (tmm-add-prompt): Users of *Completions* will always (re)set its + major mode. + (tmm-old-comp-map): Remove. + +2011-11-16 Glenn Morris + + * mail/rmailedit.el: Require rmailmm when compiling. + (rmail-old-mime-state): New declaration. + (rmail-edit-current-message): If editing a mime message, + edit the "raw" message from the mbox buffer. + (rmail-cease-edit): Handle mime messages. (Bug#9840) + +2011-11-15 Glenn Morris + + * mail/rmailmm.el (rmail-mime-toggle-raw): Remove entity arg, + which wasn't being used. Add optional arg to force given state. + (rmail-mime): Add optional arg to force given state. + +2011-11-15 Juanma Barranquero + + * allout.el (allout-encryption-plaintext-sanitization-regexps): + * frame.el (display-mm-dimensions-alist): + * outline.el (outline-mode-menu-bar-map, outline-move-subtree-up) + (outline-move-subtree-down): + * net/newst-treeview.el (newsticker--treeview-do-get-node-of-feed) + (newsticker--treeview-do-get-node): + * net/quickurl.el (quickurl-list-buffer-name): + * progmodes/dcl-mode.el (dcl-mode): + * progmodes/gdb-mi.el (gdb-mapcar*): + * progmodes/sql.el (sql-mode-oracle-font-lock-keywords): Fix typos. + +2011-11-15 Glenn Morris + + * mail/rmail.el (rmail-file-coding-system): It's only ever used + in a boolean sense, so just make it a boolean, and fix the doc. + (rmail-show-mime-function, rmail-mime-feature) + (rmail-require-mime-maybe): Doc fixes. + (rmail-show-message-1): Check rmail-show-mime-function is non-nil. + + * mail/rmailmm.el (rmail-show-mime): Doc fix. + +2011-11-15 Juanma Barranquero + + * epg.el (epg-start-decrypt, epg-start-verify, epg-start-sign) + (epg-start-encrypt, epg-start-export-keys, epg-start-import-keys) + (epg-start-receive-keys, epg-start-delete-keys, epg-start-sign-keys) + (epg-start-generate-key, epg-context-set-progress-callback): Fix typos. + +2011-11-15 Glenn Morris + + * mail/rmailmm.el (rmail-mime-entity, rmail-mime-entity-segment) + (rmail-mime-shown-mode, rmail-mime-hidden-mode, rmail-mime-raw-mode) + (rmail-mime-toggle-hidden, rmail-mime-insert-tagline) + (rmail-mime-insert-header, rmail-mime-handle, rmail-mime-parse) + (rmail-mime, rmail-show-mime): Doc fixes. + + * term/ns-win.el (mode-line-frame-identification): + Leave it alone. (Bug#10051) + + * simple.el (mark-whole-buffer): Doc fix. (Bug#10023) + + * mail/rmailout.el (rmail-output-to-rmail-buffer): + Handle empty buffers. (Bug#9978) + +2011-11-14 Juanma Barranquero + + * international/mule.el (define-charset): + * mail/rmailmm.el (rmail-mime-find-header-encoding): + * progmodes/prolog.el (prolog-mode-hook, prolog-inferior-mode-hook): + * progmodes/verilog-mode.el (verilog-backward-token): + * textmodes/ispell.el (lookup-words): + * textmodes/sgml-mode.el (sgml-guess-indent): Fix typos. + +2011-11-14 Glenn Morris + + * progmodes/executable.el + (executable-make-buffer-file-executable-if-script-p): + Handle file-modes returning nil. + + * mail/rmailsum.el (rmail-summary): Remove movement to beginning of + message - not necessary, and causes problems. (Bug#9831) + + * mail/rmailsum.el (rmail-new-summary): Preserve message number. + + * mail/rmail.el (rmail-no-mail-p): Remove mode-line N/M indicator. + + * mail/rmailsum.el (rmail-summary, rmail-new-summary) + (rmail-new-summary-1): Allow empty summaries. (Bug#9964) + (rmail-new-summary): Remember that rmail-summary-buffer is buffer-local. + +2011-11-12 Martin Rudalics + + * window.el (window-resize, delete-window): Use window-splits + variable instead of function. + (window-state-get-1, window-state-put-2, window-state-put): + Don't deal with windows' splits status. + +2011-11-12 Glenn Morris + + * apropos.el (apropos-do-all, apropos-library, apropos-value) + (apropos-documentation): Doc fixes. + +2011-11-11 Juanma Barranquero + + * progmodes/idlw-shell.el (idlwave-shell-make-new-bp-overlay): + * textmodes/sgml-mode.el (html-tag-help): Fix typos. + +2011-11-11 Stefan Monnier + + * electric.el (electric-indent-post-self-insert-function): Make it + possible for a char to only indent in some circumstances. + (electric-indent-mode): Simplify. + +2011-11-11 Martin Rudalics + + * window.el (windows-with-parameter): Remove unused function. + (windows-at-side): Rename to window-at-side-list. + (window-check, window-atom-check, window-atom-check-1) + (window-side-check, window-size-ignore, window-size-fixed-1) + (window-in-direction-2): Prefix with "window--". + (window-tree-1): Rename to window--subtree, fix doc-string. + +2011-11-11 Glenn Morris + + * subr.el (eval-after-load): If FILE is already loaded, + evaluate FORM before it gets wrapped in more stuff. (Bug#10009) + +2011-11-10 Glenn Morris + + * vc/vc-svn.el (vc-svn-create-repo, vc-svn-modify-change-comment): + Call svn via vc-svn-command rather than vc-do-command. + (vc-svn-command): Add --non-interactive. (Bug#9993) + (vc-svn-update, vc-svn-merge-news): No need for --non-interactive. + + * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): + Add toggle-read-only. (Bug#7292) + * files.el (toggle-read-only): Mention that it should only + be used interactively. (Bug#10006) + +2011-11-09 Stefan Monnier + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Adjust regexp for OCaml warnings. + + * electric.el (electric-pair-post-self-insert-function): Let user + turn it off buffer-locally (bug#9932). + + * progmodes/python.el (python-beginning-of-statement): + Rewrite (bug#2703). + + * progmodes/compile.el: Better handle TABs (bug#9749). + (compilation-internal-error-properties) + (compilation-next-error-function): Obey the target buffer's + compilation-error-screen-columns. + +2011-11-09 Juanma Barranquero + + * progmodes/meta-mode.el: Remove obsolete comments. + (meta-right-comment-regexp, meta-ignore-comment-regexp): + Fix typos in docstrings. + +2011-11-09 Martin Rudalics + + * window.el (window-size-fixed-p): Rewrite doc-string. + (window-resizable-p): Rename to window--resizable-p. Update callers. + (window--resizable): New function. Make all callers of + window-resizable call window--resizable instead. + (window-resizable): Rewrite in terms of window--resizable. + +2011-11-08 Glenn Morris + + * progmodes/delphi.el (delphi-mode-syntax-table): + Let define-derived-mode define a proper syntax table. (Bug#9994) + +2011-11-08 Stefan Monnier + + * window.el: Stay away from defsubst. + (window-list-no-nils): Remove. + (window-state-get-1, window-state-get): Use backquote instead. + +2011-11-08 Thierry Volpiatto + + * emacs-lisp/find-func.el (find-function-read): + Fix incorrect use of default argument in `completing-read'. + +2011-11-08 Martin Rudalics + + * window.el (display-buffer-function, special-display-function): + Mention display-buffer-record-window but do not mention + help-setup parameter in doc-strings. + (window-min-delta): Fix doc-string typo. + +2011-11-08 Chong Yidong + + * window.el (window-total-height, window-total-width): Doc fix. + (window-body-size): Move from C. + (window-body-height, window-body-width): Move to C. + +2011-11-08 Stefan Monnier + + * window.el: Make special-display like display-buffer-alist (bug#9532). + (display-buffer--special-action): New function, morphed + from display-buffer--special. + (display-buffer): Use it to handle special-display-buffers at higher + priority (just after display-buffer-alist). + (display-buffer-fallback-action, display-buffer--other-frame-action) + (pop-to-buffer-same-window): Remove display-buffer--special. + +2011-11-07 Glenn Morris + + * calendar/cal-menu.el (cal-menu-set-date-title): + Do nothing if not in a calendar. (Bug#9976) + +2011-11-07 Stefan Monnier + + * files.el (find-file): Always use selected-window. + +2011-11-07 Martin Rudalics + + * window.el (window-combinations): Make WINDOW argument + mandatory. Rewrite doc-string. + (walk-window-subtree, window-atom-check, window-min-delta) + (window-max-delta, window--resize-this-window) + (window--resize-root-window-vertically, window-tree) + (balance-windows, window-state-put): Rewrite doc-strings as to + not mention the term "subwindow". + (window--resize-subwindows-skip-p): Rename to + window--resize-child-windows-skip-p. + (window--resize-subwindows-normal): Rename to + window--resize-child-windows-normal. + (window--resize-subwindows): Rename to + window--resize-child-windows. + (window-or-subwindow-p): Rename to window--in-subtree-p. + +2011-11-07 Mark Lillibridge (tiny change) + + * mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text): + Ensure that mbox format messages end in two newlines (Bug#9974). + +2011-11-06 Chong Yidong + + * window.el (window-combination-p): Function deleted; its + side-effect is not used in any existing code. + (window-combinations, window-combined-p): Call window-*-child + directly. + +2011-11-05 Chong Yidong + + * window.el (window-valid-p): Rename from window-any-p. + (window-size-ignore, window-state-get): Callers changed. + (window-normalize-window): Rename from window-normalize-any-window. + New arg LIVE-ONLY, replacing window-normalize-live-window. + (window-normalize-live-window): Delete. + (window-combination-p, window-combined-p, window-combinations) + (walk-window-subtree, window-atom-root, window-min-size) + (window-sizable, window-sizable-p, window-size-fixed-p) + (window-min-delta, window-max-delta, window-resizable) + (window-resizable-p, window-full-height-p, window-full-width-p) + (window-current-scroll-bars, window-point-1, set-window-point-1) + (window-at-side-p, window-in-direction, window-resize) + (adjust-window-trailing-edge, maximize-window, minimize-window) + (window-deletable-p, delete-window, delete-other-windows) + (record-window-buffer, unrecord-window-buffer) + (switch-to-prev-buffer, switch-to-next-buffer, window--delete) + (quit-window, split-window, window-state-put) + (set-window-text-height, fit-window-to-buffer) + (shrink-window-if-larger-than-buffer): Callers changed. + +2011-11-04 Eli Zaretskii + + * mail/rmail.el (rmail-simplified-subject): Decode subject with + rfc2047-decode-string. + (rmail-mime-toggle-hidden): Declare to avoid byte-compilation + warnings. + + * window.el (window-body-height, window-body-width): Mention in + the doc string that the return values are in frame's canonical + units. (Bug#9949) + +2011-11-03 Alan Mackenzie + + * progmodes/cc-langs.el (c-nonlabel-token-2-key): New variable for + change in cc-engine.el. + +2011-11-02 Stefan Monnier + + * window.el (switch-to-buffer): Use `force-same-window' interactively. + +2011-11-02 Martin Rudalics + + * window.el (quit-window): Call unrecord-window-buffer after + showing another buffer in the window. (Bug#9937) + (bury-buffer): Call switch-to-prev-buffer with second argument `bury'. + +2011-11-02 Juanma Barranquero + + * vc/vc-bzr.el (vc-bzr-state, vc-bzr-after-dir-status): + Accept status with more than 9 shelves. (Bug#9935) + Reported by Colin D Bennett . + +2011-11-01 Martin Rudalics + + * help.el (with-help-window): Don't reference + temp-buffer-show-specifiers in doc-string. + +2011-10-31 Andreas Schwab + + * subr.el (keymap--menu-item-with-binding): Ignore item if not a + menu-item. + +2011-10-30 Vinicius Jose Latorre + + * whitespace.el: New version 13.2.2. + (whitespace-newline-mode): Disable properly. Reported by Sarah + . + +2011-10-30 Ulf Jasper + + * net/newst-treeview.el: Remove "Time-stamp". + (newsticker--group-manage-orphan-feeds): Do not call + newsticker--treeview-tree-update. + (newsticker-treeview-update, newsticker-treeview): + Call newsticker--treeview-tree-update if necessary. + +2011-10-30 Martin Rudalics + + * window.el (window-iso-combination-p, window-iso-combined-p) + (window-iso-combinations): Remove "iso-" infix. + Suggested by Chong Yidong. + (window-min-size-1, window-size-fixed-1, window-min-delta-1) + (window-max-delta-1, window-resize, window--resize-siblings) + (window--resize-this-window, adjust-window-trailing-edge) + (split-window, balance-windows-1) + (shrink-window-if-larger-than-buffer): + * calendar/calendar.el (calendar-generate-window): + * help.el (resize-temp-buffer-window): Adjust callers accordingly. + +2011-10-30 Stefan Monnier + + * eshell/esh-cmd.el (eshell-rewrite-for-command): Don't modify the list + in place (bug#9907). + (eshell-subcommand-arg-values, eshell-rewrite-named-command) + (eshell-rewrite-if-command, eshell-rewrite-for-command) + (eshell-structure-basic-command, eshell-rewrite-while-command) + (eshell-invokify-arg, eshell-parse-pipeline, eshell-parse-command) + (eshell-parse-subcommand-argument, eshell-parse-lisp-argument) + (eshell-trap-errors, eshell-do-pipelines, eshell-do-eval) + (eshell-do-pipelines-synchronously, eshell-eval-command): + Use backquotes and prefer setq to set. + (eshell-lookup-function, function-p-func, eshell-functionp): Remove. + (eshell-macrop): Use functionp. + (eshell-do-eval): Handle multiple expressions in `while' body. + +2011-10-30 Chong Yidong + + * emulation/viper-cmd.el (viper-exec-change): Use push-mark + instead of set-mark (Bug#9810). + +2011-10-30 Chong Yidong + + * window.el (split-window-below, split-window-right): Rename from + split-window-above-each-other and split-window-side-by-side + respectively. All callers changed. + (split-window-sensibly, split-window-sensibly): Use them. + (split-window-keep-point): Doc fix. + + * isearch.el: Add isearch-scroll property to split-window-below + and split-window-right. + + * follow.el (follow-mode): + * vc/pcvs-util.el (cvs-pop-to-buffer-same-frame): + * progmodes/ada-xref.el (ada-gdb-application): + * emulation/vip.el (vip-buffer-in-two-windows): + * image-dired.el (image-dired-dired-with-window-configuration): + * dired-x.el (dired-do-find-marked-files): + * dired.el (dired-pop-to-buffer): + * bs.el (bs--show-with-configuration): + * vc/emerge.el (emerge-setup-windows): + * textmodes/two-column.el (2C-two-columns): + * textmodes/reftex-toc.el (reftex-toc): + * progmodes/gdb-mi.el (gdb-setup-windows): + * progmodes/fortran.el (fortran-window-create): + * net/newst-treeview.el (newsticker--treeview-window-init): + * emulation/ws-mode.el (wordstar-C-o-map, wordstar-mode): + * emulation/tpu-edt.el (tpu-gold-map): + * emulation/crisp.el (crisp-mode-map): + * calendar/calendar.el (calendar-basic-setup): Callers changed. + +2011-10-29 Chong Yidong + + * subr.el (y-or-n-p): Add code for batch mode (Bug#9818). + + * mouse.el (mouse-yank-primary): Push the mark (Bug#9894). + + * textmodes/flyspell.el (flyspell-word): Fix char offset for + forged Ispell output (Bug#7904). + + * emacs-lisp/package.el (package-refresh-contents): Add autoload. + +2011-10-28 Stefan Monnier + + * doc-view.el: Avoid ugly errors about not finding nil. + (doc-view-ghostscript-program, doc-view-dvipdfm-program) + (doc-view-dvipdf-program, doc-view-unoconv-program) + (doc-view-ps2pdf-program, doc-view-pdftotext-program): + Avoid nil or absolute file name as default value. + (doc-view-pdf->txt, doc-view-ps->pdf): Use executable-find here. + +2011-10-28 Alan Mackenzie + + * progmodes/cc-defs.el (c-version): -> 5.32.2. + +2011-10-28 Alan Mackenzie + + Amend the handling of c-beginning/end-of-defun in nested declaration + scopes. + + * progmodes/cc-vars.el (c-defun-tactic): Move here from + cc-langs.el. Change it to a defcustom. + + * progmodes/cc-langs.el (c-defun-tactic): Move this variable to + cc-vars.el. + + * progmodes/cc-engine.el (c-beginning-of-statement-1): + Prevent "class foo : bar" being spuriously recognized as a label. + + * progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): + Add parameter `inclusive' (to include enclosing braces in the region). + (c-widen-to-enclosing-decl-scope): New function. + (c-while-widening-to-decl-block): New macro. + (c-beginning-of-defun, c-end-of-defun): Change algorithm to keep going + outward for defun boundaries, and correspondingly change symbol + `respect-enclosure' to `go-outward'. + (c-declaration-limits): Change algorithm to report only the "innermost" + defun's boundaries. + +2011-10-28 Deniz Dogan + + * net/rcirc.el (rcirc-mode): Use hard newlines. + +2011-10-28 Alan Mackenzie + + Amend to indent and fontify macros "which include their own semicolon" + correctly, using the "virtual semicolon" mechanism. + + * progmodes/cc-defs.el: Update "virtual semicolon" comments. + + * progmodes/cc-engine.el (c-crosses-statement-barrier-p): + Recode to scan one line at a time rather than having \n and \r + explicitly in c-stmt-delim-chars (for some modes, e.g. AWK). + (c-forward-label): Amend for virtual semicolons. + (c-at-macro-vsemi-p, c-macro-vsemi-status-unknown-p): New functions. + + * progmodes/cc-fonts.el (c-font-lock-declarations): Take account + of the new C macros. + + * progmodes/cc-langs.el (c-at-vsemi-p-fn): + (c-vsemi-status-unknown-p-fn): Move to earlier in the file. + (c-opt-cpp-symbol, c-line-comment-start-regexp): New language vars. + (c-opt-cpp-macro-define): Make into a full language variable. + (c-stmt-delim-chars, c-stmt-delim-chars-with-comma): Special value for + AWK Mode (including \n, \r) removed, no longer needed. + + * progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): + Invoke c-make-macro-with-semi-re. + + * progmodes/cc-vars.el (c-macro-with-semi-re): + (c-macro-names-with-semicolon): New variables. + (c-make-macro-with-semi-re): New function. + +2011-10-28 Stefan Monnier + + * vc/log-edit.el: Fill empty field rather than adding new one. + (log-edit-add-field): New function. + (log-edit-insert-changelog): Use it. + +2011-10-28 Mark Lillibridge (tiny change) + + * mail/rmail.el (rmail-mode-map): Add M-C-f as in rmailsum (bug#9802). + +2011-10-28 Stefan Monnier + + * progmodes/gdb-mi.el: Warn the user when -i=mi is missing. + (gdb--check-interpreter): New function. + (gdb): Use it. + +2011-10-27 Glenn Morris + + * emacs-lisp/cl-extra.el (most-positive-float, most-negative-float) + (least-positive-float, least-negative-float) + (least-positive-normalized-float, least-negative-normalized-float) + (float-epsilon, float-negative-epsilon): + Remove unnecessary declarations. + + * emacs-lisp/cl-extra.el (cl-float-limits): Add doc string. + * emacs-lisp/cl.el (most-positive-float, most-negative-float) + (least-positive-float, least-negative-float) + (least-positive-normalized-float, least-negative-normalized-float) + (float-epsilon, float-negative-epsilon): Add doc-strings, + based on those in cl.texi. + + * files.el (set-visited-file-name): If the major-mode changed, + reload the local variables. (Bug#9796) + +2011-10-27 Chong Yidong + + * subr.el (change-major-mode-after-body-hook): New hook. + (run-mode-hooks): Run it. + + * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Use change-major-mode-before-body-hook. + + * simple.el (fundamental-mode): + * emacs-lisp/derived.el (define-derived-mode): Revert 2010-04-28 + change introducing fundamental-mode-hook. + +2011-10-26 Juanma Barranquero + + * term/w32-win.el (w32-default-color-map): Declare obsolete (Bug#9785). + +2011-10-26 Michael Albinus + + * ido.el (ido-file-name-all-completions-1): Do not require + tramp.el explicitly. (Bug#7583) + +2011-10-26 Stefan Monnier + + * progmodes/octave-mod.el: + * progmodes/octave-inf.el: Update maintainer. + +2011-10-26 Chong Yidong + + * subr.el (with-wrapper-hook): Rewrite doc. + +2011-10-25 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-file-directory-p): Return t for + filenames "/method:foo:". (Bug#9793) + +2011-10-25 Stefan Monnier + + * comint.el (comint-get-old-input-default): Fix use-prompt-regexp case + (bug#9865). + +2011-10-24 Glenn Morris + + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. (Bug#9819) + +2011-10-24 Michael Albinus + + * notifications.el: Add the requirement of a running D-Bus session + bus to the Commentary. + +2011-10-24 Juri Linkov + + * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to + `search-whitespace-regexp' only when `isearch-regexp' is non-nil. + (Bug#9364) + +2011-10-24 Juri Linkov + + * info.el (Info-following-node-name-re): Add newline to the list + of allowed characters for leading space. (Bug#9824) + +2011-10-24 Stefan Monnier + + * progmodes/octave-inf.el (inferior-octave-mode-map): + Fix C-c C-h binding. + * progmodes/octave-mod.el (octave-help): Remove. + +2011-10-23 Michael Albinus + + Sync with Tramp 2.2.3. + + * net/tramp-cache.el (top): Pacify byte-compiler using + `init-file-user' and `site-run-file'. + + * net/trampver.el: Update release number. + +2011-10-23 Chong Yidong + + * files.el (toggle-read-only): Remove obsolete comment about + version control. + + * vc/vc-hooks.el (vc-toggle-read-only): Make it an obsolete alias + for toggle-read-only. Note that this hasn't called vc-next-action + since 2008-05-02, though it wasn't documented at the time. + + * vc/ediff-init.el (ediff-toggle-read-only-function): + Use toggle-read-only. + +2011-10-22 Alan Mackenzie + + Fix bug #9560, sporadic wrong indentation; improve instrumentation + of c-parse-state. + + * progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): + correct faulty logical expression. + (c-parse-state-state, c-record-parse-state-state): + (c-replay-parse-state-state): New defvar/defuns. + (c-debug-parse-state): Use new functions. + +2011-10-22 Martin Rudalics + + * mouse.el (mouse-drag-line): Fix minibuffer resizing broken by + last fix. Use window-in-direction correctly. + +2011-10-21 Chong Yidong + + * progmodes/idlwave.el (idlwave-mode): + * progmodes/vera-mode.el (vera-mode): No need to set + require-final-newline; that's done in prog-mode. + Suggested by Stefan Monnier. + +2011-10-21 Martin Rudalics + + * mouse.el (mouse-drag-window-above) + (mouse-drag-move-window-bottom, mouse-drag-move-window-top) + (mouse-drag-mode-line-1, mouse-drag-header-line) + (mouse-drag-vertical-line-rightward-window): Remove. + (mouse-drag-line): New function. + (mouse-drag-mode-line, mouse-drag-header-line) + (mouse-drag-vertical-line): Call mouse-drag-line. + * window.el (window-at-side-p, windows-at-side): New functions. + +2011-10-21 Ulrich Mueller + + * tar-mode.el (tar-grind-file-mode): + Fix handling of setuid/setgid, handle sticky bit. (Bug#9817) + +2011-10-21 Chong Yidong + + * progmodes/idlwave.el (idlwave-mode): + * progmodes/vera-mode.el (vera-mode): + Use mode-require-final-newline. + +2011-10-20 Glenn Morris + + * vc/vc.el (vc-next-action): Handle removed directories. (Bug#9781) + +2011-10-20 Christoph Scholtes + + * emulation/cua-base.el (cua-set-mark): Fix case of string. + +2011-10-20 Chong Yidong + + * emulation/cua-base.el (cua-mode): + * mail/footnote.el (footnote-mode): + * mail/mailabbrev.el (mail-abbrevs-mode): + * net/xesam.el (xesam-minor-mode): + * progmodes/bug-reference.el (bug-reference-mode): + * progmodes/cap-words.el (capitalized-words-mode): + * progmodes/compile.el (compilation-minor-mode) + (compilation-shell-minor-mode): + * progmodes/gud.el (gud-tooltip-mode): + * progmodes/hideif.el (hide-ifdef-mode): + * progmodes/idlw-shell.el (idlwave-shell-electric-debug-mode): + * progmodes/subword.el (subword-mode): + * progmodes/vhdl-mode.el (vhdl-electric-mode, vhdl-stutter-mode): + * progmodes/which-func.el (which-function-mode): + * term/tvi970.el (tvi970-set-keypad-mode): + * term/vt100.el (vt100-wide-mode): + * textmodes/flyspell.el (flyspell-mode): + * textmodes/ispell.el (ispell-minor-mode): + * textmodes/nroff-mode.el (nroff-electric-mode): + * textmodes/paragraphs.el (use-hard-newlines): + * textmodes/refill.el (refill-mode): + * textmodes/reftex.el (reftex-mode): + * textmodes/rst.el (rst-minor-mode): + * textmodes/sgml-mode.el (html-autoview-mode) + (sgml-electric-tag-pair-mode): + * textmodes/tex-mode.el (latex-electric-env-pair-mode): + * vc/diff-mode.el (diff-auto-refine-mode, diff-minor-mode): + * emulation/crisp.el (crisp-mode): + * emacs-lisp/eldoc.el (eldoc-mode): + * emacs-lisp/checkdoc.el (checkdoc-minor-mode): Doc fixes for new + minor mode behavior. + +2011-10-19 Juri Linkov + + * descr-text.el (describe-char): Add #x2010 and #x2011 to + the list of hard-coded chars with escape-glyph face. + +2011-10-19 Stefan Monnier + + * vc/log-edit.el (log-edit-empty-buffer-p): Ignore empty headers. + +2011-10-19 Michael Albinus + + * net/tramp.el (tramp-connectable-p): Make a stronger check on a + running process. + +2011-10-19 Glenn Morris + + * vc/vc-bzr.el (vc-bzr-after-dir-status): + Ignore ignored files. (Bug#9726) + +2011-10-19 Chong Yidong + + Doc fix for minor modes, stating that an omitted argument enables + the mode unconditionally when called from Lisp. + + * abbrev.el (abbrev-mode): + * allout.el (allout-mode): + * autoinsert.el (auto-insert-mode): + * autoarg.el (autoarg-mode, autoarg-kp-mode): + * autorevert.el (auto-revert-mode, auto-revert-tail-mode) + (global-auto-revert-mode): + * battery.el (display-battery-mode): + * composite.el (global-auto-composition-mode) + (auto-composition-mode): + * delsel.el (delete-selection-mode): + * desktop.el (desktop-save-mode): + * dired-x.el (dired-omit-mode): + * dirtrack.el (dirtrack-mode): + * doc-view.el (doc-view-minor-mode): + * double.el (double-mode): + * electric.el (electric-indent-mode, electric-pair-mode): + * emacs-lock.el (emacs-lock-mode): + * epa-hook.el (auto-encryption-mode): + * follow.el (follow-mode): + * font-core.el (font-lock-mode): + * frame.el (auto-raise-mode, auto-lower-mode, blink-cursor-mode): + * help.el (temp-buffer-resize-mode): + * hilit-chg.el (highlight-changes-mode) + (highlight-changes-visible-mode): + * hi-lock.el (hi-lock-mode): + * hl-line.el (hl-line-mode, global-hl-line-mode): + * icomplete.el (icomplete-mode): + * ido.el (ido-everywhere): + * image-file.el (auto-image-file-mode): + * image-mode.el (image-minor-mode): + * iswitchb.el (iswitchb-mode): + * jka-cmpr-hook.el (auto-compression-mode): + * linum.el (linum-mode): + * longlines.el (longlines-mode): + * master.el (master-mode): + * mb-depth.el (minibuffer-depth-indicate-mode): + * menu-bar.el (menu-bar-mode): + * minibuf-eldef.el (minibuffer-electric-default-mode): + * mouse-sel.el (mouse-sel-mode): + * msb.el (msb-mode): + * mwheel.el (mouse-wheel-mode): + * outline.el (outline-minor-mode): + * paren.el (show-paren-mode): + * recentf.el (recentf-mode): + * reveal.el (reveal-mode, global-reveal-mode): + * rfn-eshadow.el (file-name-shadow-mode): + * ruler-mode.el (ruler-mode): + * savehist.el (savehist-mode): + * scroll-all.el (scroll-all-mode): + * scroll-bar.el (scroll-bar-mode): + * server.el (server-mode): + * shell.el (shell-dirtrack-mode): + * simple.el (auto-fill-mode, transient-mark-mode) + (visual-line-mode, overwrite-mode, binary-overwrite-mode) + (line-number-mode, column-number-mode, size-indication-mode) + (auto-save-mode, normal-erase-is-backspace-mode, visible-mode): + * strokes.el (strokes-mode): + * time.el (display-time-mode): + * t-mouse.el (gpm-mouse-mode): + * tool-bar.el (tool-bar-mode): + * tooltip.el (tooltip-mode): + * type-break.el (type-break-mode-line-message-mode) + (type-break-query-mode): + * view.el (view-mode): + * whitespace.el (whitespace-mode, whitespace-newline-mode) + (global-whitespace-mode, global-whitespace-newline-mode): + * xt-mouse.el (xterm-mouse-mode): Doc fix. + + * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Fix autogenerated docstring. + +2011-10-19 Juri Linkov + + * net/browse-url.el (browse-url-can-use-xdg-open): Support LXDE + by checking environment variables "DESKTOP_SESSION" and + "XDG_CURRENT_DESKTOP". (Bug#9779) + +2011-10-19 Juri Linkov + + * net/browse-url.el (browse-url-browser-function): Add "Chromium". + (browse-url-chromium-program, browse-url-chromium-arguments): + New defcustoms. + (browse-url-default-browser): Check for `browse-url-chromium' and + call `browse-url-chromium-program'. + (browse-url-chromium): New command. (Bug#9779) + +2011-10-18 Juanma Barranquero + + * facemenu.el (list-colors-duplicates): On Windows, detect more + duplicates by assuming that only colors matching "^System" are + special "system colors". (Bug#9722) + +2011-10-18 Stefan Monnier + + * vc/log-edit.el (log-edit): Add "Author:" header to encourage people + to distinguish the author from the committer. + +2011-10-18 Michael Albinus + + * net/tramp.el (tramp-file-name-handler): Load Tramp packages silently. + +2011-10-18 Jirka Kosek (tiny change) + + * international/mule.el (sgml-html-meta-auto-coding-function): + Add support for detecting encoding in HTML5 specified only as + . Implementation just makes http-equiv and + content-type parts from HTML4 encoding string optional. (Bug#9716) + +2011-10-18 Glenn Morris + + * vc/vc.el (vc-initial-comment): Mark as obsolete. (Bug#9745) + +2011-10-18 Chong Yidong + + * faces.el (cursor): Doc fix. + +2011-10-17 Chong Yidong + + * font-lock.el (font-lock-maximum-size): Mark as obsolete. + +2011-10-17 Ryan Barrett (tiny change) + + * dirtrack.el (dirtrack): Support shell buffers with path + prefixes, e.g. tramp-based remote shells. (Bug#9647) + +2011-10-17 Teodor Zlatanov + + * json.el: Bump version to 1.3 and note change in History. + (json-alist-p, json-plist-p): Rewrite to avoid recursion. + +2011-10-17 Stefan Monnier + + * comint.el (comint-insert-input, comint-send-input) + (comint-get-old-input-default, comint-backward-matching-input) + (comint-next-prompt): Use nil instead of `input' for field property of + past user input (bug#114). + + * minibuffer.el (completion--replace): Inherit surrounding properties + (bug#114). + (minibuffer-complete-and-exit): Use it. + + * comint.el (comint--table-subvert): Quote the all-completions output + (bug#9160). + +2011-10-17 Martin Rudalics + + * ido.el (ido-default-buffer-method): Remove redundant :type entry. + + * menu-bar.el (menu-bar-file-menu): Add entry for making new + window on right of selected. (Bug#9350) Reword other window + entries and separate them from frame entries. + +2011-10-15 Glenn Morris + + * emacs-lisp/ert.el (ert--explain-equal-rec, ert-select-tests): + Doc fixes. + +2011-10-15 Chong Yidong + + * net/network-stream.el (network-stream-open-starttls): + Improve detection of failure due to lack of TLS support. + + * mail/sendmail.el (sendmail-query-once): Tweak prompt message, + putting the input text in front and in bold. + +2011-10-14 Stefan Monnier + + * pcmpl-unix.el (pcomplete/ssh): SSH does allow ganging. + + * mpc.el (mpc-songs-jump-to): Don't burp if the user clicks in an + empty buffer. + + * mouse.el (mouse-drag-mode-line-1): Modify the end-event we pushed on + unread-command-events rather than pushing yet-another event. + +2011-10-14 Eli Zaretskii + + * mail/sendmail.el (sendmail-query-once): Improve the wording of + the explanation of the possible choices. Make the options passed + to completing-read shorter. + +2011-10-13 Agustín Martín Domingo + + * textmodes/flyspell.el (flyspell-large-region): Make sure + extended character mode is used if defined (Bug#1339). + +2011-10-13 Eli Zaretskii + + * simple.el (what-cursor-position): Fix the display of the + character info for LRE, LRO, RLE, and RLO characters by appending + an invisible PDF. + +2011-10-13 Stefan Monnier + + * emacs-lisp/timer.el (with-timeout): Make sure we cancel the timer + even in case of error; add debug spec; simplify data flow. + (with-timeout-handler): Remove. + +2011-10-12 Michael Albinus + + Fix Bug#6019, Bug#9315. + + * files.el (set-auto-mode): Call `file-name-sans-versions' for the + complete `buffer-file-name', the local file name part could look + remotely (for example on VMS). + + * net/ange-ftp.el (ange-ftp-run-real-handler): Make it an alias of + `tramp-run-real-handler'. + (ange-ftp-fix-name-for-vms): Handle the case, where `name' is + already quoted by '"'. + + * net/tramp.el (tramp-rfn-eshadow-update-overlay): Ignore errors. + Let `file-name-handler-alist' be nil, the local file name part + could look remotely (for example on VMS). + +2011-10-12 Stefan Monnier + + * textmodes/flyspell.el (flyspell-word): Move with-local-quit + from here... + (flyspell-post-command-hook): ...to here. + +2011-10-11 Stefan Monnier + + * mail/sendmail.el (send-mail-function): Don't use sendmail-query-once + if not needed. + (sendmail-query-once): Remove OS dependencies. Make it a 3-way choice + using completion. Protect against "slow" callers. + Remove the "message hack". + +2011-10-11 Juri Linkov + + * isearch.el (isearch-lazy-highlight-word): New variable. + (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search): + Use it. (Bug#9727) + +2011-10-11 Glenn Morris + + * progmodes/f90.el (f90-next-statement): Ignore preprocessor lines, + like f90-previous-statement does. + +2011-10-11 Thierry Volpiatto + + * eshell/eshell.el (eshell-command): History should be saved + only in interactive use, to avoid error. + +2011-10-11 Stefan Monnier + + * minibuffer.el (completion-file-name-table): Fix last change, + i.e. ignore normal errors but not the other ones. + +2011-10-10 Martin Rudalics + + * window.el (special-display-buffer-names) + (special-display-regexps): Remove some remnants of earlier + changes from doc-strings. + (quit-windows-on): New function. + + * vc/vc.el (vc-revert, vc-rollback): + * vc/vc-dispatcher.el (vc-finish-logentry): Call quit-windows-on + instead of deleting windows. (Bug#4557) (Bug#5310) (Bug#5556) + (Bug#6183) (Bug#7074) (Bug#7447) + +2011-10-09 Martin Rudalics + + * window.el (frame-auto-hide-function): Add version tag. + (Bug#9699) + +2011-10-09 Michael Albinus + + * net/tramp.el (tramp-file-name-handler): Add 'debug to the error + condition. + +2011-10-09 Leo Liu + + * mail/smtpmail.el (smtpmail-send-data): Add a missing space. + (Bug#9701) + +2011-10-08 Glenn Morris + + * progmodes/f90.el (f90-calculate-indent): Give preprocessor lines + before the first code statement zero indent. (Bug#9690) + +2011-10-08 Chong Yidong + + * simple.el (count-words-region): Always count in the region. + Report the number of lines and characters too. + (count-words): New command, which counts in the buffer if the + region is inactive, as count-words-region used to. + (count-words--message): New function. Handle plurals. + (count-lines-region): Make it an alias for count-words-region. + + * bindings.el (esc-map): Replace count-lines-region with + count-words-region. + +2011-10-08 Martin Rudalics + + * window.el (window--delete): Delete dedicated frame + unconditionally when argument KILL is non-nil. (Bug#9699) + (switch-to-buffer): Fix doc-string typo. + +2011-10-08 Thierry Volpiatto + + * eshell/eshell.el (eshell-command): Avoid using hooks. + +2011-10-07 Chong Yidong + + * bindings.el ([M-left], [M-right]): Bind to left-word and + right-word respectively. + +2011-10-07 Glenn Morris + + * cus-start.el (debug-on-quit): Fix custom type. + +2011-10-06 Lars Magne Ingebrigtsen + + * subr.el (define-key-after): Clarify that the function is not + useful for non-menu keymaps. + + * progmodes/gdb-mi.el (gdb): Fix typo in doc string. + +2011-10-06 Thierry Volpiatto + + * eshell/eshell.el (eshell-command): Enable `eshell-mode' only + in current minibuffer (Fix bug with recursive minibuffers). + +2011-10-06 Chong Yidong + + * progmodes/gdb-mi.el (gdb): Doc fix. + +2011-10-05 Martin Rudalics + + * window.el (frame-auto-hide-function): New option replacing + frame-auto-delete. Suggested by Stefan Monnier. + (window--delete): Call frame-auto-hide-function instead of + investigating frame-auto-delete. + (window-point-1, set-window-point-1): New functions. + (window-in-direction, record-window-buffer, window-state-get-1) + (display-buffer-record-window): Use window-point-1 instead of + window-point. + (set-window-buffer-start-and-point): Use set-window-point-1. + +2011-10-05 Stefan Monnier + + * emacs-lisp/edebug.el: Heed checkdoc recommendations. + +2011-10-05 Glenn Morris + + * progmodes/perl-mode.el (perl-electric-terminator): Doc fix. + (perl-calculate-indent): Suppress scan errors. (Bug#2205) + +2011-10-05 Leo Liu + + * subr.el (read-char-choice): Fix argument to buffer-live-p which + works with buffer object. + +2011-10-05 Stefan Monnier + + * mpc.el (mpc-tool-bar-map): Add labels. + +2011-10-04 Glenn Morris + + * calendar/holidays.el (calendar-check-holidays): Doc fix. + +2011-10-04 Martin Rudalics + + * window.el (window--delete): New function. + (frame-auto-delete): Resuscitate option. + (bury-buffer, replace-buffer-in-windows) + (quit-window): Rewrite using window--delete. + (display-buffer-pop-up-frame, display-buffer-pop-up-window): + Pass display-buffer-mark-dedicated to window--display-buffer-2 + (Bug#9639). + +2011-10-03 Stefan Monnier + + * pcmpl-unix.el (pcomplete/scp): Don't assume pcomplete-all-entries + returns a list (bug#9554). Add remote file name completion. + * comint.el (comint--table-subvert): Curry and get quote&unquote + functions as arguments. + (comint--complete-file-name-data): Adjust call accordingly. + * pcomplete.el (pcomplete--table-subvert): Remove. + (pcomplete-completions-at-point): Use comint--table-subvert instead. + + * minibuffer.el (completion-table-case-fold): Use currying. + (completion--styles-type, completion--cycling-threshold-type): + New constants. + (completion-styles, completion-category-overrides) + (completion-cycle-threshold): Use them. + * pcomplete.el (pcomplete-completions-at-point): Adjust call to + completion-table-case-fold. + +2011-10-03 Stephen Berman + + * minibuffer.el (completion-category-overrides): Fix type of styles + and add more user friendly tags (bug#9660). + +2011-10-03 Stefan Monnier + + * international/mule-cmds.el: Fix abuses of apply-partially (bug#9661). + (mule-input-method-string): New widget. + (default-input-method, language-info-custom-alist): Use it. + +2011-10-02 Stefan Monnier + + * pcomplete.el: Require comint. + (pcomplete--common-suffix): Remove. + (pcomplete--common-quoted-suffix): Use comint--common-suffix instead. + (pcomplete--table-subvert): Sync with comint--table-subvert. + (pcomplete--entries): Use comint-completion-file-name-table. + * comint.el (comint-unquote-filename): Simplify. + (comint-completion-file-name-table): New function (bug#9616). + (comint--complete-file-name-data): Use it. + + * pcmpl-gnu.el (pcmpl-gnu-with-file-buffer): New macro (bug#9643). + (pcmpl-gnu-tar-buffer): Remove. + (pcmpl-gnu-with-file-buffer): Use it to avoid leaving the tar's buffer + around. Make sure pcomplete-suffix-list is only changed temporarily. + Don't look inside the tar's file if it's too large. + +2011-10-01 Chong Yidong + + * cus-edit.el (custom-mode-map): + * epa.el (epa-key-list-mode-map): + * man.el (Man-mode-map): + * startup.el (splash-screen-keymap): + * simple.el (special-mode-map): Use scroll-up-command and + scroll-down-command. + + * progmodes/idlw-help.el (idlwave-help-mode-map): + * progmodes/ebrowse.el (ebrowse-electric-position-mode-map): + * net/newst-plainview.el (newsticker-mode-map): + * emulation/ws-mode.el (wordstar-mode-map): + * emulation/vi.el (vi-com-map): + * calc/calc-graph.el (calc-graph-show-dumb): + * term/sun.el (terminal-init-sun): + * term/ns-win.el (global-map): + * progmodes/grep.el (grep-mode-map): + * progmodes/ebrowse.el (ebrowse-electric-list-mode-map): + * mail/rmail.el (rmail-mode-map): + * progmodes/cpp.el (cpp-edit-mode-map): Likewise. + + * custom.el (custom-safe-themes, load-theme): Treat value of t for + custom-safe-themes as special. + +2011-10-01 Julien Danjou + + * notifications.el (notifications-notify): Fix docstring. + +2011-10-01 Per Starbäck + + * pcmpl-gnu.el (pcomplete/tar): Fix tar-header-name call. (Bug#9643) + +2011-09-30 Martin Rudalics + + * startup.el (command-line-1): Fix last fix by inserting + initial-scratch-message into *scratch* before displaying it. + (Bug#9605) and (Bug#9636) + +2011-09-29 Eli Zaretskii + + * simple.el (line-move): If auto-hscroll-mode is disabled and the + window is hscrolled, move by logical lines. (Bug#9607) + (line-move-visual): Update the doc string to the above effect. + +2011-09-29 Martin Rudalics + + * window.el (display-buffer-record-window): When WINDOW is the + selected window use `point' instead of `window-point'. (Bug#9626) + + * startup.el (command-line-1): Use insert-before-markers when + inserting initial-scratch-message. (Bug#9605) + + * help.el (help-window): Remove variable. + +2011-09-29 Glenn Morris + + * pcmpl-cvs.el (pcomplete/cvs): Add "status" handler. + +2011-09-29 Juanma Barranquero + + * descr-text.el (describe-char-categories): Accept category + descriptions more than one line long. + +2011-09-28 Stefan Monnier + + * simple.el (delete-trailing-whitespace): Fix last change. + + * progmodes/perl-mode.el (perl-syntax-propertize-function): + Don't confuse "y => 3" as the beginning of a `y' operation. + + * emacs-lisp/debug.el (debug-convert-byte-code): Don't assume the + object has more than 4 slots (bug#9613). + +2011-09-28 Juanma Barranquero + + * subr.el (with-output-to-temp-buffer): + * net/quickurl.el (quickurl, quickurl-browse-url): + Fix typos in docstrings. + +2011-09-27 Eli Zaretskii + + * minibuffer.el (completion-styles) + (completion-category-overrides): Cross reference each other in doc + strings. + +2011-09-27 Glenn Morris + + * pcmpl-cvs.el (pcmpl-cvs-entries): Update for Emacs 22.1 changes + to split-string. (Bug#9606) + +2011-09-27 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-via-smtp): Fix STARTTLS detection + (bug#9615). + +2011-09-27 Chong Yidong + + * emacs-lisp/package.el (list-packages): Fix echo area message. + +2011-09-27 Leo Liu + + * ido.el (ido-read-internal): Accept cons cell HIST arg. + +2011-09-25 Michael Albinus + + * net/dbus.el (dbus-unregister-object): Don't release services for + registered signals. (Bug#9581) + +2011-09-25 Teodor Zlatanov + + * progmodes/cfengine.el (cfengine-auto-mode): Add convenience + function that picks between cfengine 2 and 3 support + automatically. Update docs accordingly. + +2011-09-22 Kenichi Handa + + * language/ind-util.el (indian-tml-base-table): Add TAMIL DIGIT + ZERO. + (indian-itrans-v5-table-for-tamil): New variable. + (indian-tml-itrans-v5-hash): Use the above variable (Bug#9336). + +2011-09-22 Ken Manheimer + + * allout.el (allout-this-command-hid-stuff): Buffer-local variable + that's true if the current command involved collapsing of text. + It's reset to false at the beginning of the next command. + (allout-post-command-business): Move the cursor to the beginning + of entry if the cursor is hidden and collapsing activity just + happened. + +2011-09-24 Chong Yidong + + * mouse.el (mouse-drag-track): Set scroll-margin to 0 while + tracking (Bug#9541). + +2011-09-24 Ulf Jasper + + * net/newst-reader.el (newsticker-html-renderer) + (newsticker-show-news): Automatically load html rendering package + if newsticker-html-renderer is set. Fixes "Warning: defvar ignored + because w3m-fill-column is let-bound" and the error "Symbol's value + as variable is void: w3m-fill-column". + +2011-09-24 Michael Albinus + + * net/dbus.el (dbus-unregister-object): Remove match rule of signals. + Release services only if they are defined. (Bug#9581) + +2011-09-23 Richard Stallman + + * textmodes/paragraphs.el (forward-sentence): For backwards case, + distinguish start of paragraph from start of its text. + + * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): Autoload. + + * mail/rmail.el (rmail-view-buffer-kill-buffer-hook): New function. + (rmail-generate-viewer-buffer): Put that hook on view buffer. + (rmail-mode-kill-buffer-hook): Override that hook, to kill view buffer. + +2011-09-23 Andreas Schwab + + * international/mule-diag.el (mule-diag): Insert a newline after + each fontset description. + +2011-09-23 Stefan Monnier + + * simple.el (delete-trailing-whitespace): + Document last change; simplify. + +2011-09-23 Peter J. Weisberg + + * simple.el (delete-trailing-whitespace): Also delete + extra newlines at the end of the buffer. + + * textmodes/picture.el: Make motion commands obey shift-select-mode. + (picture-newline): Use forward-line so as to ignore fields. + +2011-09-23 Stefan Monnier + + * subr.el (with-wrapper-hook): Fix edebug spec. + +2011-09-23 Lars Magne Ingebrigtsen + + * simple.el (kill-line): Note effect of `show-trailing-whitespace' + (bug#4538). + +2011-09-23 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-file-name-all-completions): + Fix nasty bug using wrong cached values. + +2011-09-23 Alan Mackenzie + + * progmodes/cc-defs.el (c-version): Increase to 5.31.9. + +2011-09-23 Chong Yidong + + * window.el (pop-to-buffer): Ensure right window is selected if we + chose another frame. + +2011-09-22 Eli Zaretskii + + * simple.el (what-cursor-position): Use get-char-property-change + and next-single-char-property-change, to be able to show display + properties that come from overlays as well as text properties. + +2011-09-22 Chong Yidong + + * window.el (pop-to-buffer-same-window): New (reinstated) fun. + + * cmuscheme.el (run-scheme, switch-to-scheme): + * cus-edit.el (customize-group, custom-buffer-create) + (customize-browse): + * info.el (info): + * shell.el (shell): + * mail/sendmail.el (mail): + * progmodes/inf-lisp.el (inferior-lisp): Use it (Bug#9532). + +2011-09-22 Richard Stallman + + * textmodes/paragraphs.el (forward-sentence): When setting PAR-BEG, + move back only to line beg, don't move back over blank lines. + +2011-09-22 Michael Albinus + + * files.el (copy-directory): Set directory attributes only in case + they could be retrieved from the source directory. (Bug#9565) + +2011-09-22 Dima Kogan (tiny change) + + * progmodes/hideshow.el (hs-looking-at-block-start-p) + (hs-find-block-beginning, hs-hide-level-recursive): + Ignore strings as well as comments. (Bug#9502) + +2011-09-22 Andrew Schein (tiny change) + + * progmodes/sql.el (sql-comint-postgres): + Convert port number to a string. (Bug#9566) + +2011-09-22 Martin Rudalics + + * window.el (quit-window): Undedicate window when switching to + previous buffer. Reported by Thierry Volpiatto + . + (special-display-popup-frame): When popping up a new frame reset + its previous buffers to nil. Simplify code. + +2011-09-21 Michael Albinus + + * net/tramp.el (tramp-handle-shell-command): Set process sentinel + and process filter, as done also in `shell-command'. + +2011-09-21 Martin Rudalics + + * window.el (set-window-buffer-start-and-point): + Call set-window-start with NOFORCE argument t. + Suggested by Thierry Volpiatto . + (quit-window): Reword doc-string. Handle new format of + quit-restore parameter. Don't delete window if it has a + previous buffer we can show instead of the present one. + (display-buffer-record-window): Rewrite using a new format for + the quit-restore window parameter + (special-display-popup-frame, display-buffer-same-window) + (display-buffer-reuse-window, display-buffer-pop-up-frame) + (display-buffer-pop-up-window, display-buffer-use-some-window): + Adapt symbol passed to display-buffer-record-window. + * help.el (help-window-setup): Handle new format of quit-restore + parameter. + +2011-09-21 Stefan Monnier + + * faces.el (face-list): Fix docstring (bug#9564). + + * window.el (display-buffer--action-function-custom-type): + Don't include internal functions in the Custom interface. + +2011-09-20 Juri Linkov + + * info.el (Info-history-skip-intermediate-nodes): New defcustom. + (Info-forward-node, Info-backward-node, Info-next-preorder) + (Info-last-preorder): Use it. (Bug#9528) + +2011-09-20 Juri Linkov + + * info.el (Info-last-preorder): Visit last menu item only when + `Info-scroll-prefer-subnodes' is non-nil (third test-case of bug#9528). + +2011-09-20 Julien Danjou + + * password-cache.el (password-cache-remove): Remove entries even if the + value is nil, so that password with a nil value (negative caching) is + possible to invalidate. + +2011-09-20 Lawrence Mitchell + + * progmodes/f90.el (f90-break-line): If breaking inside comment delete + all whitespace around breakpoint. (Bug#9553) + (f90-find-breakpoint): Only break at whitespace inside a comment. + +2011-09-20 Stefan Monnier + + * minibuffer.el (completion-file-name-table): Keep track of errors. + (completion-table-with-predicate): Handle the case where pred1 is nil. + * pcomplete.el (pcomplete-completions-at-point): Simplify. + +2011-09-19 Stefan Monnier + + * emacs-lisp/debug.el (debugger-args): Give it a docstring. + (debugger-return-value): Signal an error if the debugging context does + not await any return value. + + * ps-mule.el (ps-mule-plot-string): Don't inf-loop (bug#5108). + * image-mode.el (image-toggle-display-text) + (image-toggle-display-image): Stay away from evil `intangible'. + +2011-09-19 Leo Liu + + * replace.el (occur-revert-arguments): Make it permanent-local. + (occur-mode): Don't call font-lock-defontify. + +2011-09-19 Chong Yidong + + * net/ldap.el (ldap-search-internal): Don't push empty search + result (Bug#9508). + +2011-09-19 Stefan Monnier + + * whitespace.el (whitespace-newline-mode): Disable it right (bug#9550). + +2011-09-19 Michael Albinus + + * net/tramp-sh.el (tramp-inline-compress-commands): Add "xz". + Suggested by Liam Stitt . + +2011-09-18 Juri Linkov + + * buff-menu.el (Buffer-menu-mode-map): + * dired.el (dired-mode-map): + * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map) + (lisp-interaction-mode-map): + * emacs-lisp/package.el (package-menu-mode-map): + * epa.el (epa-key-list-mode-map): + * menu-bar.el (menu-bar-showhide-tool-bar-menu) + (menu-bar-options-menu): + * outline.el (outline-mode-menu-bar-map): + * vc/vc-bzr.el (vc-bzr-shelve-menu-map, vc-bzr-extra-menu-map): + * vc/vc-dir.el (vc-dir-menu-map): + * vc/vc-git.el (vc-git-stash-menu-map, vc-git-extra-menu-map): + Capitalize non-function content words in menu item strings. + + * dired.el (dired-mode-map): Add menu item for + `image-dired-dired-toggle-marked-thumbs'. + +2011-09-18 Juri Linkov + + * isearch.el (isearch-edit-string): Bind `isearch-new-case-fold' + to `isearch-case-fold-search' and restore its original value + after the `isearch-mode' call. + +2011-09-18 Juri Linkov + + * progmodes/grep.el (grep-process-setup): Don't check code for 1 + because `zgrep' returns 1 for successful matches (bug#9226). + +2011-09-18 Juri Linkov + + * info.el (Info-extract-menu-node-name): Check the second match + for empty string (second test-case of bug#9528). + (Info-last-preorder): Let-bind `Info-history' to nil to not add + intermediate nodes to the history (first test-case of bug#9528). + +2011-09-18 Juri Linkov + + * info.el (Info-mode-syntax-table): New variable. + (Info-mode): Set `:syntax-table' to `Info-mode-syntax-table' (bug#3312). + +2011-09-18 Juri Linkov + + * info.el (Info-file-supports-index-cookies): + Increment line-beginning-position's arg from 3 to 4 because makeinfo + outputs one more line for long file names (bug#4142). + +2011-09-18 Chong Yidong + + * newcomment.el (comment-normalize-vars): If prompting for + comment-start, set comment-start-skip too (Bug#8424). + +2011-09-18 Johan Bockgård + + * icomplete.el: Fix previous fix of Bug#5849. + (icomplete-mode): Don't set completion-show-inline-help. + (icomplete-minibuffer-setup): Set completion-show-inline-help + locally during icompletion. + +2011-09-18 Chong Yidong + + * woman.el (woman2-process-escapes): Don't delete unrecognized + escapes (Bug#7843). + + * files.el (inhibit-first-line-modes-regexps): Add image files. + (hack-local-variables-prop-line): Return nil for malformed + prop-lines (Bug#9044). + +2011-09-18 Michael Albinus + + * net/tramp.el (top): Don't require 'shell. + (tramp-methods): Fix docstring. + (tramp-get-remote-tmpdir): New defun, moved from tramp-sh.el. + Return complete remote file name. Handle "smb" case. + Use `tramp-tmpdir', if defined for the respective method. + (tramp-make-tramp-temp-file): Adapt call of `tramp-get-remote-tmpdir'. + + * net/tramp-compat.el (top): Require 'shell. + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) + (tramp-maybe-open-connection): Use `tramp-file-name-real-host' for + `tramp-current-host'. + (tramp-get-remote-tmpdir): Remove. + + * net/tramp-smb.el (tramp-methods): Add `tramp-remote-shell' and + `tramp-tmpdir' entries. + (tramp-smb-errors): Add "NT_STATUS_IMAGE_ALREADY_LOADED". + (tramp-smb-handle-file-attributes): Ignore errors. + (tramp-smb-wait-for-output): Check also for process end. + +2011-09-18 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-via-smtp): Ignore errors that arise + when sending QUIT (bug#9312). + +2011-09-17 Chong Yidong + + * replace.el (occur-mode-map): Rebind occur-edit-mode to "e" (Bug#8463). + (occur-edit-mode-map): Bind C-c C-c to occur-cease-edit and C-o to + occur-mode-display-occurrence. + (occur-edit-mode): Add usage message. + (occur-cease-edit): New command. + (occur-after-change-function): Use text properties to find the + position of the prefix text. + (occur-engine): Set stickiness of prefix text properties. + +2011-09-17 Glenn Morris + + * progmodes/etags.el (complete-tag): + Fix call to completion-in-region. (Bug#9526) + +2011-09-17 Juri Linkov + + * textmodes/ispell.el (ispell-word): Add to the error message + the word, ispell program name and current dictionary (bug#9121). + (ispell-tex-arg-end): Capitalize "error" in the error message. + +2011-09-17 Andreas Schwab + + * emacs-lisp/bytecomp.el (byte-compile-lapcode): Fix overflow + check. (Bug#4251) + +2011-09-17 Juri Linkov + + * window.el (window-safe-min-height, window-safe-min-width): + Fix typos (followup to bug#9522). + +2011-09-17 Sven Joachim + + * window.el (window-min-width, window-state-put): Fix typos (bug#9522). + +2011-09-16 Eli Zaretskii + + * simple.el (line-move): If goal-column is set, move by logical + lines, not by display lines. (Bug#971) + (next-line, previous-line, goal-column, line-move-visual): Doc fix + to reflect the above change. + +2011-09-16 Stefan Monnier + + * image.el (imagemagick-register-types): Use regexp-opt. + +2011-09-15 Chong Yidong + + * window.el (display-buffer-base-action): Rename from + display-buffer-default-action. Make default value empty. + (display-buffer-overriding-action): Convert to defvar. + (display-buffer-fallback-action): New var. + +2011-09-15 Chong Yidong + + * emacs-lisp/package.el (package-alist): Fix risky-local-variable + declaration. + (package--add-to-archive-contents): If there is a duplicate entry + with an older version, remove it. + (package-menu-mark-delete, package-menu-mark-install) + (package-menu-mark-unmark): Make unused args optional. + (package-menu-mark-obsolete-for-deletion): + Use package-menu-get-status instead of a regexp search. + (package-menu-get-status): Use tabulated-list-entry. + (package-menu-mark-upgrades): New command. + (package-menu-mode-map): Bind it to U. Add it to menu bar. + (package-menu-execute): Do installation before deletion. + (package-menu-refresh, package-menu-execute): Use derived-mode-p + instead of checking major-mode. + (package-menu--find-upgrades): New function. + +2011-09-14 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-send-command): Don't include AUTH + passwords in the log buffer. + (smtpmail-process-filter): Update the process marker so that the + "broken by peer" status message is inserted in the right place. + +2011-09-14 Stefan Monnier + + * textmodes/bibtex.el (bibtex-complete-string-cleanup) + (bibtex-complete-crossref-cleanup): Adjust to accommodate needs of + bibtex-completion-at-point-function. + (bibtex-completion-at-point-function): Use them. + + * newcomment.el (comment-add, comment-valid-prefix-p): Docfix. + + * mpc.el (mpc-constraints-tag-lookup): New function. + (mpc-constraints-restore): Use it to make jumping to "album=Foo" apply + also to browser "album|playlist". + +2011-09-14 Juri Linkov + + * isearch.el (isearch-fail-pos): Add new arg `msg'. Doc fix. + (isearch-edit-string): Use length of `isearch-string' when + `isearch-fail-pos' returns nil. + (isearch-message): Remove duplicate code and call + `isearch-fail-pos' with arg `t'. + +2011-09-14 Chong Yidong + + * replace.el (occur-mode-goto-occurrence): Don't force using other + window (Bug#9499). + + * dired-aux.el (dired-do-chmod): Don't provide initial input. + +2011-09-14 Martin Rudalics + + * window.el (display-buffer-window): Remove. + (display-buffer-record-window): Use help-setup window parameter + instead of variable display-buffer-window. + (display-buffer-function, special-display-buffer-names) + (special-display-function): Mention help-setup parameter instead + of display-buffer-window in doc-string. + * help.el (help-window-setup): New argument help-window. + Use help-window-setup parameter instead of display-buffer-window. + Reword some messages. + (with-help-window): Pass window used for displaying the buffer + to help-window-setup. Don't set display-buffer-window. + +2011-09-13 Glenn Morris + + * emacs-lisp/debug.el (debugger-make-xrefs): + Preserve point. (Bug#9462) + +2011-09-13 Chong Yidong + + * window.el (window-deletable-p): Use next-frame. + +2011-09-13 Martin Rudalics + + * window.el (window-auto-delete): Remove. + (window-deletable-p): Remove argument FORCE. Don't deal with + dedication and previous buffers. + (switch-to-prev-buffer): Don't delete window. + (delete-windows-on): Delete a window's frame if and only if the + window is dedicated. + (replace-buffer-in-windows): Delete buffer's window or frame if + and only if window is dedicated. + (quit-window): Handle quit-restore as before last change. + (bury-buffer): Delete window only if window-deletable-p returns t. + +2011-09-13 Chong Yidong + + * window.el (window-deletable-p): Never delete the last frame on a + given terminal. + +2011-09-13 Glenn Morris + + * help.el (describe-key-briefly): Copy previous standard-output change. + +2011-09-13 PJ Weisberg + + * help.el (where-is): Respect non-standard standard-output. (Bug#9030) + +2011-09-13 Glenn Morris + + * emacs-lisp/lisp-mode.el (lisp-indent-function): + * progmodes/scheme.el (scheme-indent-function): Doc fixes. + +2011-09-12 Chong Yidong + + * dired-aux.el (dired-mark-read-string): Don't return default + value on empty input (Bug#9361). + (dired-do-chxxx): Treat empty input for "touch" as no -t option. + Omit initial minibuffer contents. + (dired-do-chmod): Signal an error on empty input. + (dired-mark-read-string): Don't return default on empty input. + + * files.el (file-modes-symbolic-to-number): Doc fix. + +2011-09-12 Stefan Monnier + + * international/mule-cmds.el (ucs-completions): Remove. + (read-char-by-name): Use complete-with-action instead; add metadata. + +2011-09-11 Chong Yidong + + * window.el (display-buffer--action-function-custom-type) + (display-buffer--action-custom-type): New vars. + (display-buffer-alist, display-buffer-default-action) + (display-buffer-overriding-action): Add defcustom types. + + * frame.el (delete-other-frames): Doc fix (Bug#276). + +2011-09-11 Lars Magne Ingebrigtsen + + * play/doctor.el (make-doctor-variables): Define `doctor-sent'. + +2011-09-11 Chong Yidong + + Change modes that used same-window-* vars to use switch-to-buffer. + + * progmodes/gdb-mi.el (gdb-restore-windows, gdb-setup-windows): + Use switch-to-buffer. + + * cus-edit.el (customize-group, custom-buffer-create) + (customize-browse, custom-buffer-create-other-window): + Use switch-to-buffer or switch-to-buffer-other-window. + + * info.el (info, Info-find-node, Info-revert-find-node, Info-next) + (Info-prev, Info-up, Info-speedbar-goto-node) + (info-display-manual): Use switch-to-buffer. + (Info-speedbar-goto-node): Use switch-to-buffer-other-frame. + + * mail/sendmail.el (mail): Use switch-to-buffer. + (mail-recover): Use switch-to-buffer-other-window. + + * cmuscheme.el (run-scheme, switch-to-scheme): + * ielm.el (ielm): + * shell.el (shell): + * net/rlogin.el (rlogin): + * net/telnet.el (telnet, rsh): + * progmodes/inf-lisp.el (inferior-lisp): Use switch-to-buffer. + +2011-09-11 Andreas Schwab + + * dired.el (dired-sort-toggle-or-edit): Revert last changes. + +2011-09-11 Lars Magne Ingebrigtsen + + * dired.el (dired-sort-toggle-or-edit): -o doesn't exist on *BSD, + so don't mention it (bug#9301). + (dired-sort-toggle-or-edit): Clarify string further. + + * faces.el (face-spec-set-match-display): Make `(type graphic)' + match `x', `w32' and `ns', like the manual says (bug#9029). + + * subr.el (eval-after-load): Doc string clarification (bug#9125). + (process-kill-buffer-query-function): Mention the buffer name in + the query. + + * image-mode.el (image-next-line): The line parameter is mandatory + (bug#9258). + + * dired.el (dired-sort-toggle-or-edit): Mention -o and -g, too, + which can be useful (bug#9301). + + * textmodes/flyspell.el: Remove obsolete comment (bug#9368). + + * subr.el (match-string): Mention that the current buffer should + be the same as the search was done in (bug#9282). + + * facemenu.el: Disable the remove-* commands if the mark isn't + active (bug#9162). + +2011-09-10 Chong Yidong + + * buff-menu.el (Buffer-menu-switch-other-window): Use second arg + of display-buffer. + (Buffer-menu-2-window): Use switch-to-buffer-other-window. + + * replace.el (occur-mode-goto-occurrence) + (occur-mode-display-occurrence) Use second arg of pop-to-buffer + and display-buffer. + + * mail/reporter.el (reporter-submit-bug-report): Use second arg of + display-buffer. + + * mail/sendmail.el (sendmail-user-agent-compose): Don't bind the + special-display and same-window variables. + (mail-other-window): Use switch-to-buffer-other-window. + (mail-other-frame): USe switch-to-buffer-other-frame. + + * progmodes/gdb-mi.el (gdb-frame-gdb-buffer): + Use display-buffer-other-frame. + (gdb-display-gdb-buffer): Use pop-to-buffer. + + * progmodes/gud.el (gud-goto-info): Use info-other-window. + + * progmodes/python.el: Don't set same-window-buffer-names. + + * textmodes/bibtex.el (bibtex-search-entry): Use switch-to-buffer. + + * window.el (display-buffer-alist): Add *Python*. + +2011-09-10 Chong Yidong + + * window.el (display-buffer-alist): Add entry for buffers + previously handled same-window-*. + (display-buffer-alist, display-buffer-default-action) + (display-buffer-overriding-action): Mark as risky. + (display-buffer-alist): Document action function changes. + (display-buffer--same-window-action) + (display-buffer--other-frame-action): New variables. + (switch-to-buffer, display-buffer-other-frame): Use them. + (display-buffer): Rename reuse-frame entry to reusable-frames. + (display-buffer-reuse-selected-window): Function deleted. + (display-buffer-reuse-window): Handle reusable-frames alist entry. + If it's omitted, check pop-up-frames/display-buffer-reuse-frames. + (display-buffer-special): New function. + (display-buffer--maybe-pop-up-frame-or-window): Rename from + display-buffer-reuse-or-pop-window. Split off special-display + part into display-buffer-special. + (display-buffer-use-some-window): Don't perform any special + pop-up-frames handling. + (pop-to-buffer): Use window-normalize-buffer-to-switch-to. + (display-buffer--maybe-same-window): Rename from + display-buffer-maybe-same-window. + + * info.el: Don't set same-window-regexps. + (info-setup): New function. + (info-other-window, info): Call it. + + * cus-edit.el: Don't set same-window-regexps. + (customize-group): New argument. + (customize-group-other-window): Use it. + (customize-face, customize-face-other-window): Likewise. + (custom-buffer-create-other-window): Use pop-to-buffer directly. + + * net/rlogin.el: + * net/telnet.el: + * progmodes/gud.el: Don't set same-window-regexps. + + * cmuscheme.el: + * ielm.el: + * shell.el: + * mail/sendmail.el: + * progmodes/inf-lisp.el: Don't set same-window-buffer-names. + +2011-09-10 Juri Linkov + + * isearch.el (isearch-edit-string): Remove obsolete mention of + `C-w' (`isearch-yank-word-or-char') from docstring. + (isearch-query-replace): Fix typo in docstring (bug#9466). + +2011-09-10 Juri Linkov + + * paren.el (show-paren-function): Don't show escaped parens. + Let-bind `unescaped' to `t' when paren is not escaped. (Bug#9461) + +2011-09-10 Eli Zaretskii + + * mail/sendmail.el (mml-to-mime, mml-attach-file) + (mm-default-file-encoding): Remove autoload forms, they are + replaced with autoload cookies in mml.el and mm-encode.el. + (mail-add-attachment): New command. + (mail-mode-map): Add a menu-bar item for mail-add-attachment. + (mail-mode): Mention mail-insert-file and mail-add-attachment in + the doc string. + (mml-to-mime, mml-attach-file, mm-default-file-encoding): Declare. + +2011-09-10 Reuben Thomas + + * simple.el (count-words-region): Use buffer if there's no region + (bug#9429). + +2011-09-09 Juri Linkov + + * wdired.el (wdired-change-to-wdired-mode): Set buffer-local + `isearch-filter-predicate' to `wdired-isearch-filter-read-only'. + (wdired-isearch-filter-read-only): New function. (Bug#6362) + +2011-09-09 Alan Mackenzie + + * progmodes/cc-mode.el (awk-mode): Prevent `define-derived-mode' + spuriously generating `awk-mode-syntax-table'. (Bug #9448). + +2011-09-09 Eli Zaretskii + + Fix for Savannah bug#9392. + * simple.el (mail-encode-mml): New defvar. + + * mail/rmail.el (mail-encode-mml): Add a defvar. + (rmail-enable-mime-composing): Default to t. + (rmail-forward): Use MIME method of forwarding only if both + rmail-enable-mime-composing and rmail-enable-mime are non-nil. + Set mail-encode-mml non-nil if the MIME method was used. + + * mail/sendmail.el (mml-to-mime): Add autoload form. + (mail-encode-mml): Add a defvar. + (mail-mode): Make mail-encode-mml buffer-local and initialize it + to nil. + (mail-send): If mail-encode-mml is non-nil, run the outgoing + message through mml-to-mime, and reset mail-encode-mml to nil. + +2011-09-09 Glenn Morris + + * woman.el (woman-if-body): When processing an .el block, + do not delete the next .el block as well. (Bug#9447) + (woman-special-characters): Add oq, cq, and hy characters. + +2011-09-08 Martin Rudalics + + * window.el (window-deletable-p): Make sure window is live before + invoking window-prev-buffers. + +2011-09-08 Leo Liu + + * net/rcirc.el (rcirc-cmd-invite): New rcirc command. (Bug#9453) + +2011-09-08 Juri Linkov + + * progmodes/compile.el (compilation-environment): Make it + a defcustom (bug#8340). + +2011-09-08 Martin Rudalics + + * window.el (frame-auto-delete): Rename to window-auto-delete. + Make it control auto-deletion of windows and/or frames. + (window-deletable-p): New argument FORCE. Rewrite conditions + for deleting window/frame. (Bug#9419) + (switch-to-prev-buffer, replace-buffer-in-windows, quit-window): + Rewrite handling of case when window/frame can be deleted. + (delete-windows-on): Call window-deletable-p with new FORCE + argument t. (Bug#9456) + +2011-09-07 Chong Yidong + + * help-mode.el (help-mode): Restore autoload. + +2011-09-07 Juri Linkov + + * progmodes/compile.el (compilation-start): Let-bind `thisenv' to + `compilation-environment'. Set buffer-local + `compilation-environment' to `thisenv' later after (funcall mode). + (Bug#8340) + + * vc/vc-git.el (vc-git-grep): Remove --no-color. (Bug#9408) + (vc-git-grep): Prepend "PAGER=" to `compilation-environment' + instead of replacing its value. (Bug#8340) + +2011-09-07 Juri Linkov + + * progmodes/grep.el (grep-regexp-alist): Calculate column positions + based on text properties put by `grep-filter' instead of matching + escape sequences. + (grep-mode): Set buffer-local `compilation-error-screen-columns' + to the value of `grep-error-screen-columns' (bug#9438). + +2011-09-07 Juri Linkov + + * simple.el (next-error-highlight, next-error-highlight-no-select): + Doc fix (bug#9432). + +2011-09-07 OKAZAKI Tetsurou (tiny change) + + * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): + Check for null c-opt-block-decls-with-vars-key. (Bug#9443) + +2011-09-07 Leo Liu + + * net/rcirc.el (rcirc-mode): Conditionally initialize + rcirc-input-ring. + +2011-09-07 Stefan Monnier + + * emacs-lisp/find-func.el (find-function-C-source): Only set + find-function-C-source-directory after checking that we found a source + file there (bug#9440). + +2011-09-06 Alan Mackenzie + + * isearch.el (isearch-other-meta-char): Wherever a key list is + unread, "unread" the prefix arg, too. This fixes bug #8901. + +2011-09-05 Oleksandr Gavenko (tiny change) + + * progmodes/grep.el (rgrep): Add "-type d" (bug#9414). + +2011-09-05 Juri Linkov + + * progmodes/grep.el (grep-process-setup): Fix comments (bug#8084). + +2011-09-05 Juri Linkov + + * progmodes/grep.el (grep-filter): Avoid incomplete processing by + keeping point where processing of grep matches begins, and + continue to delete remaining escape sequences from the same point. + (grep-filter): Make leading zero optional in "0?1;31m" because + git-grep emits "\033[1;31m" escape sequences unlike expected + "\033[01;31m" as GNU Grep does (bug#9408). + (grep-process-setup): Replace obsolete "ml=" with newer "sl=". + +2011-09-05 Juri Linkov + + * subr.el (y-or-n-p): Capitalize "yes". + +2011-09-04 Michael Albinus + + * net/tramp.el (top): Require 'shell. Use `tramp-unload-hook' but + `tramp-cache-unload-hook' where appropriate. + (tramp-methods): Rename `tramp-remote-sh' to + `tramp-remote-shell'. Add `tramp-remote-shell-args'. + (tramp-handle-shell-command): New defun, moved from tramp-sh.el. + + * net/tramp-sh.el (top): Don't require 'shell. + (tramp-methods): Add `tramp-remote-shell' and + `tramp-remote-shell-args' entries. + (tramp-sh-file-name-handler-alist): Use `tramp-handle-shell-command'. + (tramp-sh-handle-shell-command): Remove. + (tramp-find-shell, tramp-open-connection-setup-interactive-shell): + Use `tramp-remote-shell'. + +2011-09-03 Chong Yidong + + * mail/sendmail.el (sendmail-query-once-function): Delete. + (sendmail-query-once): Save directly to send-mail-function. + Update message-send-mail-function too. + + * mail/smtpmail.el (smtpmail-try-auth-methods): Clarify prompt. + +2011-09-03 Christoph Scholtes + + * progmodes/python.el (python-mode-map): Use correct function to + start python interpreter from menu-bar (as reported by Geert + Kloosterman). + (inferior-python-mode-map): Fix typo. + (python-shell-map): Remove. + +2011-09-03 Deniz Dogan + + * net/rcirc.el (rcirc-print): Simplify code for + rcirc-scroll-show-maximum-output. There is no need to walk + through all windows to find the right one. + +2011-09-03 Christoph Scholtes + + * help.el (help-return-method): Doc fix. + +2011-09-03 Martin Rudalics + + * window.el (window-deletable-p): Don't return a non-nil value + when there's a buffer that was shown in the window before. + (Bug#9419) + (display-buffer-pop-up-frame, display-buffer-pop-up-window): + Set window's previous buffers to nil. + +2011-09-03 Eli Zaretskii + + * mail/rmailmm.el (rmail-mime-insert-tagline): Insert an extra + newline before and after the tag line, so it doesn't interfere + with determining the paragraph direction of bidirectional text. + +2011-09-03 Leo Liu + + * files.el (find-file-not-true-dirname-list): Remove. (Bug#9422) + +2011-09-02 Chong Yidong + + * window.el (pop-to-buffer-1, pop-to-buffer-same-window): Delete. + (pop-to-buffer): Change interactive spec. Pass second argument + directly to display-buffer. + (display-buffer): Fix interactive spec. Use functionp to + distinguish between a function and a list of functions. + + * abbrev.el (edit-abbrevs): + * arc-mode.el (archive-extract): + * autoinsert.el (auto-insert): + * bookmark.el (bookmark-bmenu-list): + * files.el (find-file): + * view.el (view-buffer): + * progmodes/compile.el (compilation-goto-locus): + * textmodes/bibtex.el (bibtex-initialize): Use switch-to-buffer. + +2011-09-02 Chong Yidong + + * window.el (display-buffer-alist): Doc fix. + (display-buffer): Add docstring. Don't treat + display-buffer-default specially. + (display-buffer-reuse-selected-window) + (display-buffer-same-window, display-buffer-maybe-same-window) + (display-buffer-reuse-window, display-buffer-pop-up-frame) + (display-buffer-pop-up-window) + (display-buffer-reuse-or-pop-window) + (display-buffer-use-some-window): New functions. + (display-buffer-default-action): Use them. + (display-buffer-default): Delete. + (pop-to-buffer-1): Fix choice of actions. + +2011-09-02 Stefan Monnier + + * minibuffer.el (completion--insert-strings): Don't get confused by + completion entries that end with an LF char. + +2011-09-01 Eli Zaretskii + + * window.el (frame-auto-delete, window-deletable-p): Doc fix. + +2011-09-01 Chong Yidong + + * window.el (display-buffer): Restore interactive spec. + (display-buffer-same-window, display-buffer-other-window): + New functions. + (pop-to-buffer-1): New function. Use the above. + (pop-to-buffer, pop-to-buffer-same-window): Use it. + (pop-to-buffer-other-window, pop-to-buffer-other-frame): Delete. + + * view.el (view-buffer-other-window, view-buffer-other-frame): + Just use pop-to-buffer. + +2011-09-01 Thierry Volpiatto + + * vc/vc-rcs.el (vc-rcs-responsible-p): Handle directories. (Bug#9391) + +2011-09-01 Wilfred Hughes (tiny change) + + * vc/vc-git.el (vc-git-grep): Use --no-color. (Bug#9408) + +2011-08-31 Richard Stallman + + * mail/rmail.el (rmail-epa-decrypt): Rewrite to take account + of the separation of rmail-view-buffer from rmail-buffer. + If you say no to "replace original", the decrypt is in the + view buffer. If you say yes, the decrypt goes into the + rmail buffer also. + +2011-08-31 Martin Rudalics + + * window.el (display-buffer-window): Rewrite doc-string. + (display-buffer-record-window): New function. + (display-buffer-macro-specifiers) + (display-buffer-even-window-sizes, display-buffer-set-height) + (display-buffer-set-width, display-buffer-in-window) + (display-buffer-reuse-window, display-buffer-split-specifiers) + (display-buffer-side-specifiers, display-buffer-split-window-1) + (display-buffer-split-window, display-buffer-split-atom-window) + (display-buffer-pop-up-window, display-buffer-pop-up-frame) + (display-buffer-pop-up-side-window, display-buffer-in-side-window) + (display-buffer-other-window-means-other-frame) + (display-buffer-normalize-special) + (display-buffer-normalize-default) + (display-buffer-normalize-argument) + (display-buffer-normalize-alist-1, display-buffer-normalize-alist) + (display-buffer-normalize-specifiers, display-buffer-frame) + (display-buffer-same-window, display-buffer-same-frame) + (display-buffer-other-window) + (display-buffer-same-frame-other-window) + (display-buffer-other-frame, pop-to-buffer-same-window) + (pop-to-buffer-same-frame, pop-to-buffer-other-window) + (pop-to-buffer-same-frame-other-window, pop-to-buffer-other-frame) + (switch-to-buffer-same-frame) + (switch-to-buffer-other-window-same-frame) + (display-buffer-alist-of-strings-p, display-buffer-alist-add) + (display-buffer-alist-set-1, display-buffer-alist-set-2) + (display-buffer-alist-set): Remove. + (display-buffer-function, special-display-buffer-names) + (special-display-regexps, special-display-function): + In doc-string refer to display-buffer-window and quit-restore + parameter. + (pop-up-frame-alist, pop-up-frame-function, special-display-p) + (special-display-frame-alist, special-display-popup-frame) + (same-window-buffer-names, same-window-regexps, same-window-p) + (pop-up-frames, display-buffer-reuse-frames, pop-up-windows) + (split-window-preferred-function, split-height-threshold) + (split-width-threshold, window-splittable-p) + (split-window-sensibly, window--try-to-split-window) + (window--frame-usable-p, even-window-heights) + (window--even-window-heights, window--display-buffer-1) + (window--display-buffer-2, display-buffer-other-frame): + Restore old Emacs 23 code, order and doc-strings where applicable. + (display-buffer-default, display-buffer-assq-regexp): New functions. + (display-buffer-alist): Rewrite doc-string. + (display-buffer-default-action) + (display-buffer-overriding-action): New variables. + (display-buffer, switch-to-buffer): Rewrite. + (pop-to-buffer): Restore Emacs 23 behavior but use + window-normalize-buffer-to-display. + (switch-to-buffer-other-window, switch-to-buffer-other-frame): + Restore Emacs 23 behavior but use + window-normalize-buffer-to-switch-to. + (pop-to-buffer-same-window): Rewrite. + (pop-to-buffer-other-window, pop-to-buffer-other-frame): + Rewrite using Emacs 23 options. + +2011-08-31 Michael Albinus + + * net/tramp.el (tramp-root-regexp): Remove. + (tramp-completion-file-name-regexp-unified) + (tramp-completion-file-name-regexp-separate) + (tramp-completion-file-name-regexp-url): Don't use leading volume + letter on w32 systems. (Bug#5303, Bug#9311) + (tramp-drop-volume-letter): Simplify definition. + Suggested by Stefan Monnier . + +2011-08-30 Stefan Monnier + + * subr.el (event-modifiers): Fix "missing modifier" part of docstring + (bug#9356). + +2011-08-30 Reuben Thomas (tiny change) + + * vc/pcvs-defs.el (cvs-find-file-and-jump): Docstring typo (bug#9369). + +2011-08-29 Juri Linkov + + * isearch.el (isearch-done): Don't display message "Mark saved" + when arg `edit' is non-nil to prevent its flicker in the echo area. + +2011-08-28 Chong Yidong + + * emacs-lisp/package.el (package-menu-mark-delete): Allow marking + obsolete packages for deletion. + +2011-08-28 Christoph Scholtes + + * help-mode.el (help-mode-map): Add special-mode-map to parent. + (help-mode): Derive help-mode from special-mode. Don't invoke + view-mode from help-mode. + (help-xref-override-view-map): Remove. + (help-make-xrefs): Remove minor-mode-overriding-map-alist since + view-mode is not used anymore. + +2011-08-28 Chong Yidong + + * server.el (server-port): Doc fix. + + * cus-theme.el (custom-theme-choose-mode): Inherit from + special-mode (Bug#9124). + (custom-theme-choose-mode-map): Add special-mode to parent. + +2011-08-28 Alan Mackenzie + + * progmodes/cc-fonts.el + (c-make-font-lock-BO-decl-search-function): New function. + (c-basic-matchers-after - "Fontify the clauses after various + keywords"): Extract the three keyword lists for the 3 erroneous + constructs from the list of four, and use the new function above + in place of an old one. + +2011-08-28 Deniz Dogan + + * net/rcirc.el (rcirc-insert-prev-input) + (rcirc-insert-next-input): Remove unused argument. + +2011-08-28 Stefan Monnier + + * shell.el (shell-parse-pcomplete-arguments): Unquote args (bug#9160). + +2011-08-27 Alan Mackenzie + + * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Make it + handle function pointer parameters properly. + +2011-08-27 Martin Rudalics + + * window.el (display-buffer-reuse-window): Fix case where + selected window was reused with non-nil OTHER-WINDOW argument. + (Bug#9381) + +2011-08-27 Deniz Dogan + + * net/rcirc.el (rcirc-check-auth-status): Adding support for + oftc's NickServ messages. + +2011-08-27 Glenn Morris + + * saveplace.el (save-place-limit): Make it finite. (Bug#9352) + +2011-08-26 Chong Yidong + + * emacs-lisp/package.el (package-install): Call package-initialize + if called interactively. + +2011-08-26 Leo Liu + + * emacs-lisp/cl-macs.el (defstruct): Fix format. (Bug#9357) + +2011-08-25 Juri Linkov + + * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to + `search-whitespace-regexp' (bug#9364). + +2011-08-25 Juri Linkov + + * isearch.el (isearch-edit-string): Let-bind `search-ring' and + `regexp-search-ring' to their global values to protect from + updating by `read-from-minibuffer' (bug#9185). + +2011-08-25 Juri Linkov + + * textmodes/ispell.el (ispell-command-loop): Add newline + at the end of the "Use option `i'..." line. + +2011-08-25 Juri Linkov + + * battery.el (display-battery-mode): If `battery-status-function' + or `battery-mode-line-format' is nil, display the message and set + `display-battery-mode' to nil (bug#9363). + +2011-08-25 Eli Zaretskii + + * buff-menu.el (Buffer-menu-buffer+size): Remove calls to + bidi-string-mark-left-to-right; they are unnecessary now. + +2011-08-25 Deniz Dogan + + * net/quickurl.el: Documentation typo fixes. + +2011-08-25 Chong Yidong + + * window.el (bury-buffer, quit-window): Use bury-buffer-internal. + +2011-08-25 Glenn Morris + + * emacs-lisp/derived.el (define-derived-mode): Doc fix. + + * mail/smtpmail.el (smtpmail-smtp-user): Add version: tag. + (smtpmail-via-smtp): Handle nil response from smtp. + +2011-08-24 Juri Linkov + + * proced.el (proced-marked): Inherit from `error' instead of + `font-lock-warning-face'. + + * ibuffer.el (ibuffer-marked-face): Change default face from + `font-lock-warning-face' to `warning'. + (ibuffer-deletion-face): Change default face from + `font-lock-type-face' to `error'. + + * battery.el (battery-update): Use the face `error' instead of + `font-lock-warning-face' (bug#6117). + +2011-08-24 Juri Linkov + + * faces.el (success): Change face color from "Green3" to + "ForestGreen" on light background (bug#9353). + +2011-08-24 Chong Yidong + + * window.el (quit-window): Rename from quit-restore-window. + Use same arglist as old quit-window. + (frame-auto-delete): Doc fix. + + * view.el (view-mode-exit): Use quit-window. + +2011-08-24 Juri Linkov + + * isearch.el (isearch-ring-adjust1): Start visiting previous + search strings from the index 0 (-1 + 1) instead of 1 (0 + 1). + (isearch-repeat, isearch-edit-string): Call `isearch-ring-adjust1' + for empty search string (when the last search string is reused + automatically) to adjust the isearch ring to the last element and + prepare the correct index for further M-p commands (bug#9185). + +2011-08-24 Kenichi Handa + + * international/ucs-normalize.el: If decomposition property of + CHAR is the default one (i.e. a list of CHAR itself), treat it as + nil. + (nfd, nfkd): Likewise. + +2011-08-24 Stefan Monnier + + * mpc.el (mpc--proc-filter): Don't signal mpc-proc-error since signals + from process filters aren't reliably transmitted to the surrounding + accept-process-output. + (mpc-proc-check): New function. + (mpc-proc-sync): Use it (bug#8293) + +2011-08-23 Stefan Monnier + + * emacs-lisp/eieio.el (eieio-defmethod, eieio-defgeneric): + Add compatibility functions (bug#9313). + +2011-08-23 Eli Zaretskii + + * cus-start.el (all): Add entry for bidi-paragraph-direction. + + * international/uni-bidi.el: Regenerate. + +2011-08-23 Kenichi Handa + + * international/charprop.el: + * international/uni-bidi.el: + * international/uni-category.el: + * international/uni-combining.el: + * international/uni-comment.el: + * international/uni-decimal.el: + * international/uni-decomposition.el: + * international/uni-digit.el: + * international/uni-lowercase.el: + * international/uni-mirrored.el: + * international/uni-name.el: + * international/uni-numeric.el: + * international/uni-old-name.el: + * international/uni-titlecase.el: + * international/uni-uppercase.el: Regenerate. + +2011-08-23 Martin Rudalics + + * help.el (help-window-setup): Fix message displayed when other + window is reused. (Bug#9341) + +2011-08-23 Stefan Monnier + + * shell.el (shell-completion-vars): Set pcomplete-arg-quote-list. + * pcomplete.el (pcomplete-quote-argument): Fix thinko (bug#9161). + + * pcomplete.el (pcomplete-parse-comint-arguments): Fix inf-loop. + Mark obsolete. + * shell.el (shell-parse-pcomplete-arguments): New function. + (shell-completion-vars): Use it instead (bug#9160). + +2011-08-22 Stefan Monnier + + * progmodes/sh-script.el (sh-maybe-here-document): Disable magic in + strings and comments (bug#9333). + + * emacs-lisp/debug.el (debug-arglist): New function. + (debug-convert-byte-code): Use it. Handle lexical byte-codes. + (debug-on-entry-1): Handle interpreted closures (bug#9120). + +2011-08-22 Juri Linkov + + * progmodes/compile.el (compilation-mode-font-lock-keywords): + Revert regexp that highlights output switches to its old + pre-2010-10-28 value and remove one `?' from it (bug#9319). + + * progmodes/grep.el (grep-process-setup): Use `buffer-modified-p' + to check for empty output (bug#9226). + +2011-08-22 Chong Yidong + + * progmodes/scheme.el (scheme-mode-syntax-table): Don't use + symbol-constituent as the default, as that stops font-lock from + working properly (Bug#8843). + +2011-08-21 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-via-smtp): Only bind + `coding-system-for-*' around the process open call to avoid + auth-source side effects. + (smtpmail-try-auth-methods): Expand the secret password. + (smtpmail-query-smtp-server): Allow `quit'-ing out in case the + probe hangs. + +2011-08-21 Chong Yidong + + * term.el (term-mouse-paste): Yank primary selection (Bug#6845). + + * emacs-lisp/find-func.el (find-function-noselect): New arg + lisp-only. + + * emacs-lisp/edebug.el (edebug-instrument-function): Use it to + signal an error for built-in functions (Bug#6664). + +2011-08-21 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-smtp-user): New variable. + (smtpmail-try-auth-methods): Use it. + +2011-08-21 Chong Yidong + + * font-lock.el (font-lock-fontify-region) + (font-lock-unfontify-region, font-lock-default-fontify-buffer) + (font-lock-default-unfontify-buffer) + (font-lock-default-fontify-region) + (font-lock-default-unfontify-region): Add docstrings (Bug#8624). + + * progmodes/compile.el (compilation-error-properties): + Fix confusion between file struct and message struct (Bug#9319). + (compilation-error-regexp-alist-alist): Fix 2011-05-09 change to + `ant' regexp. + + * net/browse-url.el (browse-url-firefox): Don't call + browse-url-firefox-sentinel unless using -remote (Bug#9328). + +2011-08-20 Glenn Morris + + * tutorial.el (help-with-tutorial): Avoid an error on short screens. + + * tutorial.el (tutorial--default-keys): Update some default bindings. + + * files.el (hack-local-variables): Fully ignore case for "mode:". + +2011-08-20 Alan Mackenzie + + Resolve invalid use of a regexp in regexp-opt. + + * progmodes/cc-fonts.el (c-complex-decl-matchers): Add in special + detection for a java annotation. + + * progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add in special + detection for a java annotation. + + * progmodes/cc-langs.el (c-prefix-spec-kwds-re): Remove the special + handling for java. + (c-modifier-kwds): Remove the regexp "@[A-za-z0-9]+". + +2011-08-20 Chong Yidong + + * startup.el (normal-top-level-add-subdirs-to-load-path): Doc fix + (Bug#9274). + +2011-08-20 Alan Mackenzie + + Fontify CPP expressions correctly when starting in the middle of + such a construct. Mainly for when jit-lock etc. starts a chunk + here. + + * progmodes/cc-fonts.el (c-font-lock-context): New buffer local + variable. + (c-make-font-lock-search-form): New function, extracted from + c-make-font-lock-search-function. + (c-make-font-lock-search-function): Use the above function. + (c-make-font-lock-context-search-function): New function. + (c-cpp-matchers): Enhance the preprocessor expression case with + the above function + (c-font-lock-complex-decl-prepare): Test for being in a CPP form + which takes an expression. + + * progmodes/cc-langs.el (c-cpp-expr-intro-re): New lang-variable. + +2011-08-20 Martin Rudalics + + * window.el (display-buffer-reuse-window) + (display-buffer-pop-up-window): Don't reuse or split a side + window. + +2011-08-19 Glenn Morris + + * files.el (hack-local-variables-prop-line, hack-local-variables): + Downcase "Mode:". (Bug#9331) + +2011-08-18 Chong Yidong + + * international/characters.el: Add L and R categories. + + * subr.el (bidi-string-mark-left-to-right): Rename from + string-mark-left-to-right. Use category search. + + * buff-menu.el (Buffer-menu-buffer+size): Callers changed. + +2011-08-18 Juri Linkov + + * faces.el (error, warning, success): New faces with definitions + copied from old default values of `font-lock-warning-face', + `compilation-warning', `compilation-info' (bug#6117). + + * font-lock.el (font-lock-warning-face): Inherit from `error'. + + * progmodes/compile.el (compilation-error): Inherit from `error'. + (compilation-warning): Inherit from `warning'. + (compilation-info): Inherit from `success'. + + * dired.el (dired-marked): Inherit from `warning'. + (dired-flagged): Inherit from `error'. + +2011-08-17 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (auth-source): Require to avoid problems with + binding variables (bug#9298). Also clean up some unused + autoloads. + + * net/network-stream.el (network-stream-open-starttls): + Support using starttls.el without using gnutls-cli. + +2011-08-17 Juri Linkov + + * progmodes/grep.el (rgrep): Handle the case when + `grep-find-command' is a cons cell (bug#9278). + +2011-08-17 Martin Rudalics + + * window.el (display-buffer-pop-up-frame): Run frame creation + function with BUFFER current (as special-display-popup-frame + does). Reported by Drew Adams. + +2011-08-17 Daiki Ueno + + * epa-mail.el: Simplify GnuPG group expansion using + epg-expand-group. + (epa-mail-group-alist, epa-mail-group-modtime) + (epa-mail-gnupg-conf-file, epa-mail-parse-groups) + (epa-mail-sync-groups, epa-mail-expand-recipient-1) + (epa-mail-expand-recipients-2, epa-mail-expand-recipients): + Remove. + +2011-08-16 Feng Li (tiny change) + + * calc/calc-ext.el (math-defintegral-2): Remove nested backquote. + +2011-08-16 Alan Mackenzie + + * progmodes/cc-engine.el (c-state-cache-non-literal-place): + Correct, to avoid the inside of macros. + +2011-08-16 Richard Stallman + + * epa-mail.el: Handle GnuPG group definitions. + (epa-mail-group-alist, epa-mail-group-modtime) + (epa-mail-gnupg-conf-file): New variables. + (epa-mail-parse-groups, epa-mail-sync-groups) + (epa-mail-expand-recipient-1, epa-mail-expand-recipients-2) + (epa-mail-expand-recipients): New functions. + (epa-mail-encrypt): Call epa-mail-expand-recipients. + + * mail/rmail.el (rmail-epa-decrypt): New command. + + * epa.el (epa-decrypt-region): New arg MAKE-BUFFER-FUNCTION. + Don't bind buffer-read-only, just inhibit-read-only. + (epa--find-coding-system-for-mime-charset): Fix the non-xemacs case. + (epa-decrypt-armor-in-region): Make error message clearer. + +2011-08-15 Stefan Monnier + + * minibuffer.el (completion-pcm--merge-completions): Don't merge "a1b" + and "a2b" to "ab" for `prefix'. + +2011-08-14 Chong Yidong + + * ibuf-ext.el (ibuffer-filter-disable): New arg for deleting + filter groups. + (ibuffer-included-in-filter-p-1): Use it. Suggested by Rafaël + Fourquet (Bug#8804). + +2011-08-12 Juanma Barranquero + + * startup.el (argi): Declare as global variable (bug#9275). + +2011-08-12 Chong Yidong + + * subr.el (string-mark-left-to-right): Search the entire string + for RTL script, not just the terminating character. Doc fix. + +2011-08-12 Stefan Monnier + + * progmodes/js.el (js-syntax-propertize, js-syntax-propertize-regexp): + New function. + (js--regexp-literal, js-syntax-propertize-function): Remove. + (js-mode): Use js-syntax-propertize to handle multilines (bug#9183). + (js-mode-map): Don't rebind electric keys. + (js-insert-and-indent): Remove. + (js-mode): Setup electric-layout and electric-indent instead. + + * epa-file.el (epa-file-select-keys): Revert to nil default (bug#9280). + +2011-08-12 Daiki Ueno + + * epa.el (epa-progress-callback-function): Fix the logic of + displaying progress. + * epa-file.el (epa-file-insert-file-contents): Make progress + display more user-friendly. + (epa-file-write-region): Ditto. + +2011-08-10 Chong Yidong + + * subr.el (string-mark-left-to-right): New function. + + * buff-menu.el (Buffer-menu-buffer+size): Remove LRM argument. + Use string-mark-left-to-right. + (list-buffers-noselect): Caller changed. + + * emacs-lisp/tabulated-list.el (tabulated-list-print-entry): + Use string-mark-left-to-right. + (tabulated-list-print): Recenter after moving point. + +2011-08-10 Juri Linkov + + * progmodes/grep.el (rgrep): Don't bind `process-connection-type'. + This finishes incomplete reversion of 2011-06-30T01:09:13Z!larsi@gnus.org + intended by 2011-07-06T15:49:19Z!larsi@gnus.org. + +2011-08-09 Chong Yidong + + * hi-lock.el (hi-lock-unface-buffer): Fix interactive spec + (Bug#7554). + +2011-08-09 Andreas Schwab + + * xt-mouse.el (xterm-mouse-event-read): Try to recover the raw + character. (Bug#6594) + +2011-08-08 Chong Yidong + + * image-dired.el: Don't use find-file for temporary work (Bug#7895). + (image-dired--with-db-file): New macro. + (image-dired-write-tags, image-dired-remove-tag) + (image-dired-create-gallery-lists, image-dired-write-comments) + (image-dired-get-comment, image-dired-mark-tagged-files) + (image-dired-list-tags, image-dired-gallery-generate): Use it. + (image-dired-gallery-generate): Use insert-file-contents. + + * time.el (display-time-world-list, display-time-world-display): + * time-stamp.el (time-stamp-string): + * vc/add-log.el (add-change-log-entry): Use setenv instead of + set-time-zone-rule (Bug#7337). + +2011-08-08 Daiki Ueno + + * epg.el (epg--status-KEYEXPIRED, epg--status-KEYREVOKED): Fix typo. + (epg-error-to-string, epg-errors-to-string): New function. + (epg-wait-for-completion): Reverse errors list. + (epg--check-error-for-decrypt, epg-sign-file, epg-sign-string) + (epg-encrypt-file, epg-encrypt-string, epg-export-keys-to-file) + (epg--import-keys-1, epg-receive-keys, epg-delete-keys) + (epg-sign-keys, epg-generate-key-from-file) + (epg-generate-key-from-string): Format errors by using + epg-errors-to-string (bug#9255). + (epg--status-INV_SGNR, epg--status-NO_SGNR): New status handler. + +2011-08-07 Juri Linkov + + * faces.el (list-faces-display): Remove extra angle bracket + from `help-mode-map'. + + * info.el (Info-history-toc-nodes): Doc fix. + + * longlines.el (longlines-mode): Doc fix. + +2011-08-05 Stefan Monnier + + * progmodes/js.el (js--regexp-literal): Accept regexps at the beginning + of statements and in a few more cases (bug#9183). + + * emacs-lisp/cl-macs.el (cl--make-usage-var, cl--make-usage-args): + New functions. + (cl-transform-lambda): Use them (bug#9239). + +2011-08-05 Martin Rudalics + + * window.el (display-buffer-same-window) + (display-buffer-same-frame, display-buffer-other-window) + (pop-to-buffer-same-window, pop-to-buffer-same-frame) + (pop-to-buffer-other-window) + (pop-to-buffer-same-frame-other-window) + (pop-to-buffer-other-frame): Make them defuns. + (switch-to-buffer): Don't set LABEL argument of pop-to-buffer. + +2011-08-03 Stefan Monnier + + * subr.el (make-composed-keymap): Move from C. Change calling + convention, and improve docstring to bring attention to a subtle point. + * minibuffer.el (completing-read-default): Adjust accordingly. + +2011-08-03 Michael Albinus + + * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell) + (tramp-open-shell): Use `tramp-shell-quote-argument'. + + * net/trampver.el: Update release number. + +2011-08-03 Stefan Monnier + + * progmodes/sh-script.el (sh-font-lock-paren): Don't mistake "main" for + "in" (bug#9190). + +2011-08-02 Lars Magne Ingebrigtsen + + * mail/sendmail.el (sendmail-query-once): Restore the current + buffer after querying (bug#9074). + + * dired.el (dired-flagged): Use different faces for marked and + flagged files (bug#6117). + + * emacs-lisp/cl-macs.el (dolist): Mention that there's a nil block + (bug#4433). + + * ido.el (ido-mode): Switch off the message if called + non-interactively. + + * mail/smtpmail.el (smtpmail-query-smtp-server): Try port 25 + before 587, since it appears that that's more likely to work for + more people. + + * cus-edit.el (custom-file): When running under emacs -q, always + refuse to save the customizations, even if the .emacs file doesn't + exist. + + * info.el: Remove the `Info-beginning-of-buffer' function + (bug#8325). + + * net/network-stream.el (network-stream-open-starttls): + Use `starttls-available-p' to see whether starttls.el can be used. + +2011-08-01 Martin Rudalics + + * window.el (display-buffer-in-window): Don't set dedicated status + of window here (Bug#9215). + (display-buffer-pop-up-window, display-buffer-pop-up-frame) + (display-buffer-pop-up-side-window) + (display-buffer-in-side-window): Set dedicated status of window here. + +2011-08-01 Stefan Monnier + + * emacs-lisp/package.el (package-generate-autoloads): Load autoloads + before binding generated-autoload-file. + +2011-08-01 Deniz Dogan + + * net/rcirc.el (rcirc-handler-333): Clarify docstring. + +2011-07-30 Michael Albinus + + Sync with Tramp 2.2.2. + + * net/trampver.el: Update release number. + +2011-07-30 Juri Linkov + + * dired-aux.el (dired-touch-initial): Remove function. + (dired-do-chxxx): For op-symbol `touch', set `initial' to the + current time, and `default' to the last modification time of the + current marked file (bug#6887). + +2011-07-28 Jose E. Marchesi + + * simple.el (goto-line): Use string-to-number to provide a + numeric argument to read-number (bug#9163). + +2011-07-27 Michael Albinus + + * net/tramp-sh.el (tramp-maybe-send-script): Don't let-bind the + connection process, it could be nil. + +2011-07-27 Leo Liu + + Simplify url handling in rcirc-mode. + + * net/rcirc.el (rcirc-browse-url-map, rcirc-browse-url-at-point) + (rcirc-browse-url-at-mouse): Remove. + * net/rcirc.el (rcirc-markup-urls): Use `make-button'. + +2011-07-26 Alan Mackenzie + + Fontify bitfield declarations properly. + + * progmodes/cc-langs.el (c-has-bitfields): New lang variable. + (c-symbol-chars): Now exported as a lang variable. + (c-not-primitive-type-keywords): New lang variable. + + * progmodes/cc-fonts.el (c-font-lock-declarations): Jump over the + QT keyword "more" to prevent "more slots: ...." being spuriously + parsed as a bitfield declaration. + + * progmodes/cc-engine.el (c-beginning-of-statement-1): + Refactor and enhance to handle bitfield declarations. + (c-punctuation-in): New function. + (c-forward-decl-or-cast-1): Enhance CASE 3 to handle bitfield + declarations properly. + +2011-07-26 Ulf Jasper + + * calendar/icalendar.el (icalendar--all-events): Take care of + multiple vcalendars in a single file. + (icalendar--convert-float-to-ical): Checkdoc fixes. + +2011-07-25 Deniz Dogan + + * image.el (insert-image): Clarifying docstring. + +2011-07-24 Michael Albinus + + * net/tramp-sh.el (tramp-barf-unless-okay): Return the value of + `tramp-send-command-and-check' if there is no error. + (tramp-send-command-and-read): Suppress *all* errors if NOERROR. + +2011-07-22 Alan Mackenzie + + Prevent cc-langs.elc being loaded at run time. + + * progmodes/cc-mode.el: Remove two autoload forms which loaded + cc-langs. + + * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Don't emit + "(require 'cc-langs)". Quote a form so it will evaluate at + (cc-mode's) compilation time. + +2011-07-22 Michael Albinus + + * net/tramp.el (tramp-file-name-handler): Avoid recursive + loading. (Bug#9114) + +2011-07-21 Martin Rudalics + + * window.el (display-buffer-pop-up-window) + (display-buffer-pop-up-side-window) + (display-buffer-in-side-window): Call display-buffer-set-height + and display-buffer-set-width after setting the new window's + buffer so `fit-window-to-buffer' and friends work on the right buffer. + +2011-07-20 Sam Steingold + + * progmodes/etags.el (etags-file-of-tag, etags-tags-table-files) + (etags-tags-included-tables): Call `convert-standard-filename' on + the file names contained in TAGS so that windows Emacs can handle + TAGS files created by cygwin ctags. + +2011-07-20 Lars Magne Ingebrigtsen + + * proced.el (proced-update): Revert yesterday's bug#1779 patch, + which apparently didn't work. + +2011-07-19 Roland Winkler + + * proced.el (proced-send-signal): For *Marked Processes* buffer + put point at beginning of buffer. + +2011-07-19 Stephen Berman + + * proced.el (proced-format): Make header lines align with the text + (bug#1779). + +2011-07-19 Lars Magne Ingebrigtsen + + * view.el (view-buffer): Allow running in `special' modes if we're + visiting a file (bug#8615). + +2011-07-19 Martin Rudalics + + * window.el (display-buffer-alist-of-strings-p) + (display-buffer-alist-set-1, display-buffer-alist-set-2): + New functions. + (display-buffer-alist-set): Rewrite to handle Emacs 23 options + more accurately. + +2011-07-18 Alan Mackenzie + + Fontify declarators properly when, e.g., a jit-lock chunk begins + inside a declaration. + + * progmodes/cc-langs.el (c-symbol-chars): Correct a typo. + + * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): + New function. + (c-complex-decl-matchers): Insert reference to + c-font-lock-enclosing-decls. + + * progmodes/cc-engine.el (c-backward-single-comment): + (c-backward-comments): Bind open-paren-in-column-0-is-defun-start + to nil around calls to (forward-comment -1). + +2011-07-17 Lars Magne Ingebrigtsen + + * image.el (put-image): Doc typo fix. + + * progmodes/etags.el (tags-search): Doc typo fix. + + * mail/smtpmail.el (smtpmail-via-smtp): Query the user for + password if we get errors 550 to 554. + +2011-07-16 Lars Magne Ingebrigtsen + + * net/gnutls.el (gnutls-log-level): Remove. + + * textmodes/fill.el (adaptive-fill-regexp): Include EN DASH as an + indentation character (bug#6380). + + * files.el (buffer-offer-save): Made permanently local (bug#6241). + + * doc-view.el (doc-view-make-safe-dir): Rewrite the error message + to clarify what the problem is (bug#4291). + + * simple.el (current-kill): Clarify what + `interprogram-paste-function' does (bug#7500). + (auto-fill-mode): Document `auto-fill-function' in relation to + `auto-fill-mode' (bug#2470). + +2011-07-16 Lawrence Mitchell + + * emacs-lisp/cl-macs.el (defstruct): Ignore argument to setf + method if slot is read-only (bug#9035). + +2011-07-16 Martin Rudalics + + * frame.el (select-frame-set-input-focus): New argument NORECORD. + * window.el (pop-to-buffer): Select window used even if it was + selected before, see discussion of (Bug#8615), (Bug#6954). + Pass argument NORECORD on to select-frame-set-input-focus. + +2011-07-15 Glenn Morris + + * subr.el (read-char-choice): Allow quitting. (Bug#9001) + Respect help-form. + +2011-07-09 Lawrence Mitchell + + * net/gnutls.el (gnutls-min-prime-bits): New variable. + (gnutls-negotiate): Use it. + +2011-07-15 Lars Magne Ingebrigtsen + + * net/gnutls.el (gnutls-negotiate): + Upcase `gnutls-algorithm-priority'. + +2011-07-15 Glenn Morris + + * jka-compr.el (jka-compr-verbose): Move from here... + * jka-cmpr-hook.el (jka-compr-verbose): ... to here. (Bug#9090) + Add missing :version tag. + * info.el: No need to require jka-compr when compiling. + +2011-07-15 Lars Magne Ingebrigtsen + + * net/gnutls.el (gnutls-algorithm-priority): New variable. + (gnutls-negotiate): Use it. + + * emacs-lisp/cl-macs.el (declare): Link to the "Declarations" node. + + * info.el (Info-beginning-of-buffer): New command. + (Info-mode-map): Use it instead of `beginning-of-buffer' to allow + announcing `b' as the key (bug#8325). + (Info-mode-menu): Use `Info-beginning-of-buffer' for consistency. + + * emacs-lisp/cl-macs.el (declare): Doc string fix-up. + + * international/mule-cmds.el + (describe-specified-language-support): Make the error message + clearer (bug#8905). + + * emacs-lisp/cl-macs.el (declare): Add a doc string (bug#8690). + + * isearch.el (isearch-barrier): Add a doc string, since it's + mentioned in a function doc string (bug#8678). + +2011-07-15 Martin Rudalics + + * window.el (switch-to-buffer): Call pop-to-buffer with normalized + buffer argument (Bug#9083) and self-identifying label argument. + +2011-07-15 Glenn Morris + + * emacs-lisp/debug.el (debug): Doc fix. (Bug#8273) + +2011-07-14 Lars Magne Ingebrigtsen + + * man.el (Man-fontify-manpage): Fix message when formatting the + man page (bug#7929). + +2011-07-14 Eli Zaretskii + + * buff-menu.el (Buffer-menu-buffer+size): Accept an additional + argument LRM; if non-nil, append an invisible LRM character to the + buffer name. + (list-buffers-noselect): Call Buffer-menu-buffer+size with the + last argument non-nil, when formatting buffer names. + (Buffer-menu-mode, list-buffers-noselect): Force left-to-right + paragraph direction. + +2011-07-14 Lars Magne Ingebrigtsen + + * man.el (Man-bgproc-sentinel): Skip any arguments and only output + the man page name (bug#7929). + + * image.el (put-image): Mention the `put-image' overlay property + (bug#7834). + + * scroll-bar.el (set-scroll-bar-mode): Mention that + `scroll-bar-mode' lists the values (bug#7772). + + * image-mode.el (image-mode-fit-frame): Mention that it's a toggle + command (bug#7729). + + * rect.el (apply-on-rectangle): Return the point after the last + operation. + (string-rectangle): Go to the point after the last operation + (bug#7522). + + * printing.el (pr-toggle-region): Clarify the documentation + slightly (bug#7493). + + * time.el (display-time-update): + Allow `display-time-mail-function' to return nil (bug#7158). + Fix suggested by Detlev Zundel. + + * vc/diff.el (diff): Clarify the order the file names are read + (bug#7111). + + * mouse.el (mouse-set-region): Link to `mouse-drag-copy-region' in + the doc string (bug#7015). + + * font-lock.el (font-lock-maximum-decoration): Mention what + numeric levels mean (bug#6935). + + * startup.el (initial-buffer-choice): Don't mention the `none' + selection, which is against policy. + +2011-07-14 Martin Rudalics + + * window.el (display-buffer-normalize-special): + Replace `dedicated' by `dedicate' to dedicate window (Bug#9072). + +2011-07-14 Eli Zaretskii + + * subr.el (version<, version<=, version=): Mention "-CVS" and + "-12345" alpha version numbers. + +2011-07-14 Chong Yidong + + * bindings.el: Add advertised binding for set-mark-command + (Bug#5772). + +2011-07-14 Chong Yidong + + * bindings.el (mode-line-other-buffer): + * bookmark.el (bookmark-bmenu-2-window): + * bs.el (bs-cycle-next, bs-cycle-previous): + * net/tramp-cmds.el (tramp-append-tramp-buffers): Revert to using + switch-to-buffer. + + * net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window): + Delete. + +2011-07-14 Juanma Barranquero + + * follow.el (follow-debug-message, follow-redisplay): + * jka-cmpr-hook.el (with-auto-compression-mode): + Fix typos in docstrings. + +2011-07-13 Lars Magne Ingebrigtsen + + * subr.el (with-silent-modifications): Clarify somewhat what the + macro inhibits (bug#6525). + + * simple.el (eval-expression): Note what it does if called + interactively (bug#6495). + +2011-07-13 Chong Yidong + + * window.el (switch-to-buffer): New arg FORCE-SAME-WINDOW. + Use pop-to-buffer buffer-or-name if it is nil. + + * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): + Remove switch-to-buffer. + +2011-07-13 Lars Magne Ingebrigtsen + + * files.el (make-directory): Clarify that an error will be raised + if there's an error (bug#6397). + + * startup.el (initial-buffer-choice): Add `none' as a choice + (bug#6234). + + * subr.el (add-hook): Clarify section about buffer-local hooks + (bug#6218). + + * dired.el (dired-flagged): Clarify doc string (bug#6117). + +2011-07-13 Juanma Barranquero + + * tabify.el (untabify): Preserve the current column so that point + doesn't move (bug#6032). + +2011-07-13 Lars Magne Ingebrigtsen + + * progmodes/cperl-mode.el (cperl-syntaxify-by-font-lock): + Rewrite to avoid awkward possessive "s" (bug#5986). + +2011-07-13 Glenn Morris + + * dired.el (dired-use-ls-dired): Doc fix. (Bug#9039). + (dired-insert-directory): Give a message the first time + if ls is found not to support --dired. + +2011-07-13 Lars Magne Ingebrigtsen + + * simple.el (toggle-truncate-lines): Clarify what is toggled + (bug#5580). Text by Drew Adams. + +2011-07-13 Chong Yidong + + * simple.el (blink-matching-open): Make the error message from the + last change less verbose. + +2011-07-13 Dan Nicolaescu + + * font-lock.el (font-lock-comment-face): Use the high contrast + "yellow" color for font-lock-comment-face on low color terminals + using a dark background color (bug#4221). + +2011-07-13 Lars Magne Ingebrigtsen + + * dired.el (dired-insert-set-properties): Make the doc string + reflect what it does now (bug#5325). + + * simple.el (blink-matching-open): Say that we were unable to find + the match within the limit, if we're limited (bug#5122). + + * international/mule-cmds.el (prefer-coding-system): Add an + example (bug#4869). + + * progmodes/etags.el (tags-search): Document `file-list-form' + (bug#4731). + +2011-07-13 Lawrence Mitchell + + * net/browse-url.el (browse-url-default-browser) + (browse-url-browser-function): Make the default browser choice a + bit more logical (bug#4300). Also clean up the doc string. + +2011-07-13 Juanma Barranquero + + * bindings.el (completion-ignored-extensions): Add OpenMCL/Clozure + binary endings (bug#4440). + +2011-07-13 Lars Magne Ingebrigtsen + + * info.el (info-insert-file-contents): Inhibit jka-compr messages, + which can be pretty annoying (bug#8971). + + * jka-compr.el (jka-compr-verbose): New variable, and use + throughout (bug#8971). + + * info.el (Info-find-file): Fall back on the installation + directory if we can't find the info node anywhere else. + +2011-07-13 Sergei Organov (tiny change) + + * vc/vc.el (vc-revert-file): + Don't set file time-stamp in the past. (Bug#5181) + +2011-07-12 Lars Magne Ingebrigtsen + + * files.el (after-find-file): Give a better error message when + trying to find a symlink that points to a file that doesn't exist + (bug#4398). + + * progmodes/cc-vars.el: Remove (probably) misleading comment + (bug#4396). + +2011-07-12 Johan Bockgård + + * mouse-sel.el (mouse-sel-primary-overlay): Use the `region' face. + +2011-07-12 Chong Yidong + + * mouse-sel.el: Hack restoring functionality, while keeping + compatibility with 2010-07-03 changes to mouse selection. + (mouse-sel-primary-overlay): New var. + (mouse-sel-selection-alist): Use it. + (mouse-sel-mode): Doc fix; remove points that are default features + of mouse.el. + +2011-07-12 Johan Bockgård + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Fix previous fix (bug#2490). + +2011-07-12 Roland Winkler + + * textmodes/bibtex.el (bibtex-initialize): + Use pop-to-buffer-same-window. + (bibtex-search-entries): Fix interactive call. + +2011-07-12 Lars Magne Ingebrigtsen + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Fontise bytecomp Error lines more correctly (bug#2490). + Fix suggested by Johan Bockgård. + + * subr.el (remove-duplicates): Remove; `delete-dups' is sufficient. + + * dired-x.el (dired-guess-default): Use `delete-dups'. + +2011-07-12 Chong Yidong + + * dired.el (dired-mark-prompt): + * dired-aux.el (dired-read-shell-command): Doc fix. + +2011-07-11 Lars Magne Ingebrigtsen + + * mail/sendmail.el (sendmail-query-once): + Use `customize-save-variable' unconditionally, now that it works under + emacs -Q. + + * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto. + + * cus-edit.el (custom-file): Take an optional no-error variable. + (customize-save-variable): Set the variable, and give a warning if + running under "emacs -q". + +2011-07-11 Juanma Barranquero + + * loadhist.el (unload-feature-special-hooks): + Add `auto-coding-functions', `fill-nobreak-predicate' and + `find-directory-functions' (bug#5327). + +2011-07-11 Lars Magne Ingebrigtsen + + * vc/ediff.el (ediff-patch-file): Clarify doc string (bug#3138). + + * cus-edit.el (custom-guess-name-alist): -alist variables should + use the `alist' type (bug#3120). Suggested by Drew Adams. + + * printing.el: Add documentation to all the `pr-toggle-' commands. + +2011-07-11 Leo Liu + + * files.el (toggle-read-only): Only do the `C-x C-q' warning on VC + backends where it makes sense (bug#2623). + +2011-07-11 Lars Magne Ingebrigtsen + + * dired-x.el (dired-guess-default): Remove duplicate shell command + entries (bug#2028). + (dired-guess-default): Fix grammar in doc string (bug#2028). + (dired-guess-shell-alist-user): Clarify the example a bit (bug#2030). + + * subr.el (remove-duplicates): New conveniency function. + +2011-07-10 Lars Magne Ingebrigtsen + + * tool-bar.el (tool-bar-mode): Clarify positive/negative arguments + (bug#1526). + +2011-07-10 Martin Rudalics + + * window.el (display-buffer-normalize-default): Don't invert + meaning of even-window-heights. Reported by Eli Zaretskii + . + +2011-07-10 Bob Rogers + + * vc/vc.el (vc-diff-internal): Fix race condition (Bug#1256). + +2011-07-10 Chong Yidong + + * window.el (display-buffer): Fix arguments to + display-buffer-reuse-window in last change. + + * faces.el (link): Use a less saturated blue on light backgrounds. + + * startup.el (fancy-startup-text, fancy-about-text) + (fancy-startup-tail): Use font-lock faces, for background safety. + +2011-07-09 Bob Nnamtrop (tiny change) + + * emulation/viper-cmd.el (viper-change-state-to-vi): + Limit triggering of abbrev expansion (Bug#9038). + +2011-07-09 Martin Rudalics + + * window.el (display-buffer-default-specifiers): Remove. + (display-buffer-macro-specifiers): Remove default specifiers. + (display-buffer-alist): Default to nil. + (display-buffer-reuse-window): New optional argument other-window. + (display-buffer-pop-up-window): Allow splitting internal + windows. Check whether a live window was created. + (display-buffer-other-window-means-other-frame) + (display-buffer-normalize-arguments): Rename to + display-buffer-normalize-argument and rewrite. Set the + other-window specifier. + (display-buffer-normalize-special): New function. + (display-buffer-normalize-options): Rename to + display-buffer-normalize-default and rewrite. + (display-buffer-normalize-options-inhibit): Remove. + (display-buffer-normalize-specifiers): Rewrite. + (display-buffer): Process other-window specifier and call + display-buffer-reuse-window with it. Emulate Emacs 23 behavior + more faithfully. + (pop-up-windows, even-window-heights): Restore Emacs 23 default values. + (display-buffer-alist-set): Don't handle 'unset default values. + (display-buffer-in-window, display-buffer-alist-set): + Replace symbol "dedicated" by "dedicate". Reported by Tassilo Horn + . + +2011-07-09 Leo Liu + + * register.el (insert-register): Restore accidental change on + 2011-06-26. (Bug#9028) + +2011-07-09 Glenn Morris + + * subr.el (remq): Handle the empty list. (Bug#9024) + +2011-07-08 Andreas Schwab + + * mail/sendmail.el (send-mail-function): No longer delay custom + initialization. + * custom.el (custom-initialize-delay): Doc fix. + +2011-07-08 Stefan Monnier + + * abbrev.el (expand-abbrev): Try to preserve point (bug#5805). + +2011-07-08 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-start-file-process): Use a + human-friendly prompt. + +2011-07-08 Stefan Monnier + + * vc/vc-bzr.el (vc-bzr-revision-keywords): Remove svn, it's only + provided by a particular plugin. + +2011-07-08 Lars Magne Ingebrigtsen + + * mail/sendmail.el (sendmail-query-once): If we aren't allowed to + save customizations (with "emacs -Q"), just set the variable + instead of erroring out. + + * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto. + +2011-07-08 Juri Linkov + + * arc-mode.el (archive-zip-expunge, archive-zip-update) + (archive-zip-update-case): Use 7z if found by `executable-find'. + The order of searching the available programs is the same as in + `archive-zip-extract' (bug#8968). + +2011-07-07 Chong Yidong + + * menu-bar.el (menu-bar-line-wrapping-menu): Revert last change. + (menu-bar-options-menu): Tweak descriptions. + +2011-07-07 Lars Magne Ingebrigtsen + + * menu-bar.el (menu-bar-line-wrapping-menu): Make all the Options + menu items into verb phrases (bug#1421). Also refill to fit under + 80 columns. + +2011-07-07 Chong Yidong + + * info.el (info, Info-read-node-name-2, Info-read-node-name-1) + (Info-read-node-name): Doc fix (Bug#1084). + + * thingatpt.el (forward-thing, bounds-of-thing-at-point) + (thing-at-point, beginning-of-thing, end-of-thing, in-string-p) + (end-of-sexp, beginning-of-sexp) + (thing-at-point-bounds-of-list-at-point, forward-whitespace) + (forward-symbol, forward-same-syntax, word-at-point) + (sentence-at-point): Doc fix (Bug#1144). + +2011-07-07 Lars Magne Ingebrigtsen + + * info.el (Info-mode-map): Remove S-TAB binding, since [backtab] + should cover it (bug#1281). + + * cus-edit.el (custom-show): Mark as obsolete. + + * net/network-stream.el (network-stream-open-starttls): If GnuTLS + negotiation fails, then possibly try again with a non-encrypted + connection (bug#9017). + + * mail/smtpmail.el (smtpmail-stream-type): Note that `plain' can + be used. + +2011-07-07 Richard Stallman + + * mail/rmail.el (rmail-next-error-move): Use `compilation-message' + property, and handle its changed format. + Look for the correct line number. + Use file's line contents (but not past first =) to find + correct line in message. + +2011-07-07 Kenichi Handa + + * international/characters.el (build-unicode-category-table): + Delete it. + (unicode-category-table): Set it by unicode-property-table-internal. + + * international/mule-cmds.el (char-code-property-alist): Move to + to src/chartab.c. + (get-char-code-property): Call unicode-property-table-internal to + load a file. Call get-unicode-property-internal where necessary. + (put-char-code-property): Call unicode-property-table-internal to + load a file. Call put-unicode-property-internal where necessary. + put-unicode-property-internal where necessary. + (char-code-property-description): + Call unicode-property-table-internal to load a file. + + * international/charprop.el: + * international/uni-bidi.el: + * international/uni-category.el: + * international/uni-combining.el: + * international/uni-comment.el: + * international/uni-decimal.el: + * international/uni-decomposition.el: + * international/uni-digit.el: + * international/uni-lowercase.el: + * international/uni-mirrored.el: + * international/uni-name.el: + * international/uni-numeric.el: + * international/uni-old-name.el: + * international/uni-titlecase.el: + * international/uni-uppercase.el: Regenerate. + + * loadup.el: Load international/charprop.el before + international/characters. + +2011-07-07 Chong Yidong + + * window.el (next-buffer, previous-buffer): Signal an error if + called from a minibuffer window. + + * bindings.el: Revert 2011-07-04 change. + +2011-07-06 Richard Stallman + + * mail/rmailmm.el (rmail-mime-process): Use markers for buf positions. + (rmail-mime-insert-bulk, rmail-mime-insert-text): + Treat markers like ints. + (rmail-mime-entity): Doc fix. + +2011-07-06 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-default-smtp-server): Made into a + defcustom again for backwards compatibility. + + * simple.el (shell-command-on-region): Fill. + + * dired-aux.el (dired-kill-line): Add a doc string. + + * dabbrev.el (dabbrev-abbrev-char-regexp): Note that nil defaults + to "\\sw\\|\\s_" (bug#358). + + * dired.el (dired-mode): Clarify "unmark or unflag" (bug#8770). + (dired-unmark-backward): Ditto. + (dired-flag-backup-files): Ditto. + + * dired-x.el (dired-mark-sexp): Ditto. + +2011-07-06 Richard Stallman + + * mail/rmailmm.el: Give entity a new slot, TRUNCATED. + (rmail-mime-entity): New arg TRUNCATED. + (rmail-mime-entity-truncated, rmail-mime-entity-set-truncated): + New functions. + (rmail-mime-save): Warn if entity is truncated. + (rmail-mime-toggle-hidden): Likewise, for showing. + (rmail-mime-process-multipart): Record when an entity is truncated. + + * mail/rmailmm.el (rmail-search-mime-message): Don't get confused + if ENTITY is a string. + +2011-07-06 Lars Magne Ingebrigtsen + + * emacs-lisp/lisp-mode.el (eval-defun-1): Update the documentation + of faces when `M-C-x'-ing their definitions (bug#8378). + Also clean up the code slightly. + + * progmodes/grep.el (rgrep): Don't bind `process-connection-type', + because that makes the colors go away. + + * mail/sendmail.el (send-mail-function): Change the default to + `sendmail-query-once'. + (sendmail-query-once): Add an autoload cookie. + + * net/network-stream.el (network-stream-open-starttls): Try using + a plain connection even if the server offered STARTTLS, and we + kinda wanted to use it, if Emacs doesn't have any STARTTLS + capability. This should make smtpmail.el work in slightly more + configurations. + +2011-07-06 Michael Albinus + + * net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window): + New defun. + * net/tramp-cmds.el (tramp-append-tramp-buffers): Use it. + +2011-07-06 Michael R. Mauger + + * progmodes/sql.el: Version 3.0 + (sql-product-alist): Add product :completion-object, + :completion-column, and :statement attributes. + (sql-mode-menu, sql-interactive-mode-map): Fix List entries. + (sql-mode-syntax-table): Mark all punctuation. + (sql-font-lock-keywords-builder): Temporarily remove fallback on + ansi keywords. + (sql-regexp-abbrev, sql-regexp-abbrev-list): New functions. + (sql-mode-oracle-font-lock-keywords): Improve. + (sql-oracle-show-reserved-words): New function for development. + (sql-product-font-lock): Simplify for source code buffers. + (sql-product-syntax-table, sql-product-font-lock-syntax-alist): + New functions. + (sql-highlight-product): Set product specific syntax table. + (sql-mode-map): Add statement movement functions. + (sql-ansi-statement-starters, sql-oracle-statement-starters): + New variable. + (sql-statement-regexp, sql-beginning-of-statement) + (sql-end-of-statement, sql-signum): New functions. + (sql-buffer-live-p, sql=find-sqli-buffer): Add CONNECTION parameter. + (sql-show-sqli-buffer): Bug fix. + (sql-interactive-mode): Store connection data as buffer local. + (sql-connect): Add NEW-NAME parameter. Redesign interaction + with sql-interactive-mode. + (sql-save-connection): Save buffer local settings. + (sql-connection-menu-filter): Change menu entry name. + (sql-product-interactive): Bug fix. + (sql-preoutput-hold): New variable. + (sql-interactive-remove-continuation-prompt): Bug fixes. + (sql-debug-redirect): New variable. + (sql-str-literal): New function. + (sql-redirect, sql-redirect-one, sql-redirect-value, sql-execute): + Redesign. + (sql-oracle-save-settings, sql-oracle-restore-settings) + (sql-oracle-list-all, sql-oracle-list-table): New functions. + (sql-completion-object, sql-completion-column) + (sql-completion-sqlbuf): New variables. + (sql-build-completions-1, sql-build-completions) + (sql-try-completion): New functions. + (sql-read-table-name): Use them. + (sql-contains-names): New buffer local variable. + (sql-list-all, sql-list-table): Use it. + (sql-oracle-completion-types): New variable. + (sql-oracle-completion-object, sql-sqlite-completion-object) + (sql-postgres-completion-object): New functions. + +2011-07-06 Glenn Morris + + * window.el (pop-to-buffer): Doc fix. + +2011-07-06 Markus Heiser (tiny change) + + * progmodes/gud.el (gud-pdb-marker-regexp): Accept \r char (Bug#5653). + +2011-07-06 Chong Yidong + + * window.el (special-display-popup-frame): Doc fix (Bug#8853). + + * info.el (Info-directory-toc-nodes): Minor doc fix (Bug#8833). + +2011-07-05 Chong Yidong + + * button.el (button): Inherit from link face. Suggested by Dan + Nicolaescu. + +2011-07-05 Stefan Monnier + + * progmodes/gdb-mi.el: Fit in 80 columns. + (gdb-setup-windows, gdb-restore-windows): Avoid other-window and + switch-to-buffer. + + * progmodes/which-func.el (which-func-ff-hook): Don't output a message + if imenu is simply not configured (bug#8941). + +2011-07-05 Ken Manheimer + + * allout.el (allout-post-undo-hook): New allout outline-change + event hook to signal undo activity. + (allout-post-command-business): Run allout-post-undo-hook if an + undo just occurred. + (allout-after-copy-or-kill-hook, allout-mode): Minor docstring changes. + * allout-widgets.el (allout-widgets-after-undo-function): + Ensure the integrity of the current item's decoration after it has been + in the vicinity of an undo. + (allout-widgets-mode): Include allout-widgets-after-undo-function + on the new allout-post-undo-hook. + +2011-07-05 Stefan Monnier + + * emacs-lisp/lisp-mode.el (lisp-interaction-mode-abbrev-table): + Let define-derived-mode define it. + * emacs-lisp/derived.el (define-derived-mode): Try to avoid creating + cycles of abbrev-table inheritance (bug#8998). + +2011-07-05 Roland Winkler + + * textmodes/bibtex.el: Add support for biblatex. + (bibtex-BibTeX-entry-alist, bibtex-biblatex-entry-alist) + (bibtex-BibTeX-field-alist, bibtex-biblatex-field-alist) + (bibtex-dialect-list, bibtex-dialect, bibtex-no-opt-remove-re) + (bibtex-entry-alist, bibtex-field-alist): New variables. + (bibtex-entry-field-alist): Obsolete alias for + bibtex-BibTeX-entry-alist. + (bibtex-entry-alist, bibtex-field-alist): New widgets. + (bibtex-set-dialect): New command. + (bibtex-entry-type, bibtex-entry-head) + (bibtex-entry-maybe-empty-head, bibtex-any-valid-entry-type): + Bind via bibtex-set-dialect. + (bibtex-Article, bibtex-Book, bibtex-Booklet, bibtex-InBook) + (bibtex-InCollection, bibtex-InProceedings, bibtex-Manual) + (bibtex-MastersThesis, bibtex-Misc, bibtex-PhdThesis) + (bibtex-Proceedings, bibtex-TechReport, bibtex-Unpublished): + Define via bibtex-set-dialect. + (bibtex-name-in-field, bibtex-remove-OPT-or-ALT): + Obey bibtex-no-opt-remove-re. + (bibtex-vec-push, bibtex-vec-incr): New functions. + (bibtex-format-entry, bibtex-field-list) + (bibtex-print-help-message, bibtex-validate) + (bibtex-search-entries): Use new format of bibtex-entry-alist. + +2011-07-05 Stefan Monnier + + * progmodes/compile.el (compilation-goto-locus): + * net/tramp-cmds.el (tramp-append-tramp-buffers): + * bs.el (bs-cycle-next, bs-cycle-previous): + * bookmark.el (bookmark-bmenu-list, bookmark-bmenu-2-window): + * bindings.el (mode-line-other-buffer): + * autoinsert.el (auto-insert): + * arc-mode.el (archive-extract): + * abbrev.el (edit-abbrevs): Fix some uses of switch-to-buffer. + +2011-07-05 Juanma Barranquero + + * emacs-lock.el (emacs-lock-mode): Fix typo in variable name. + Fix check of `emacs-lock-unlockable-modes'. + Coerce true values of `emacs-lock--try-unlocking' to t. + +2011-07-05 Juanma Barranquero + + * obsolete/old-emacs-lock.el: Rename from emacs-lock.el. + * emacs-lock.el: New file. + +2011-07-05 Julien Danjou + + * textmodes/rst.el (rst-define-level-faces): Use `facep' rather + than `boundp' to check if face is set. + +2011-07-05 Juanma Barranquero + + * register.el (registerv-make): + * window.el (window-min-height): Fix typos in docstrings. + +2011-07-05 Jan Djärv + + * dynamic-setting.el (dynamic-setting-handle-config-changed-event): + Update doc string. + +2011-07-04 Juanma Barranquero + + * server.el (server-execute): Catch quit and call + `server-return-error' to pass the error back to emacsclient and + close the connection (bug#8942). + +2011-07-04 Ken Manheimer + + * allout.el (allout-encrypt-unencrypted-on-saves): Do not provide + insecure exception for current topic. Also note that auto-saves + are handled differently. + + (allout-auto-save-temporarily-disabled, allout-just-did-undo): + State variables for tracking auto-save inhibition situation. + + (allout-write-contents-hook-handler): Rename from + 'allout-write-file-hook-handler', and describe how it depends on + write-contents-functions sensitivity to non-nil value to prevent + file write. + + (allout-auto-save-hook-handler): Remove. auto-save does not check + this in individual buffers, only in the starting buffer, so this + is not the right way for us to inhibit auto-save in a buffer + according to its condition. + + (allout-mode): Use new allout-write-contents-hook-handler, and + only with write-contents-functions. Remove auto-save provisions - + they're implemented elsewhere. + + (allout-before-change-handler): If undo is in progress, note that + for attention of allout-post-command-business. + + (allout-post-command-business): If the command we're following was + an undo, check for change in the status of encrypted items and + adjust auto-save inhibitions accordingly. + + (allout-toggle-subtree-encryption): Adjust auto-save inhibition + according to whether there are or aren't any plain-text topics + pending encryption. + + (allout-inhibit-auto-save-info-for-decryption): + Adjust buffer-saved-size and some allout state to inhibit auto-saves + if there are plain-text topics pending encryption. + + (allout-maybe-resume-auto-save-info-after-encryption): Adjust + buffer-saved-size and some allout state to not inhibit auto-saves + if there are no longer any plain-text topics pending encryption. + + (allout-next-topic-pending-encryption, allout-encrypt-decrypted): + No longer provide for exemption of the current topic. + +2011-07-04 Juri Linkov + + Add 7z operations to delete and save changed members (bug#8968). + * arc-mode.el (archive-7z-expunge, archive-7z-update): + New defcustoms. + (archive-7z-write-file-member): New function. + (archive-7z-summarize): Fix the number of dashes in the + listing output. + +2011-07-04 Stefan Monnier + + * pcmpl-linux.el (pcomplete-pare-list): Re-add, from pcomplete.el + (bug#8958). + +2011-07-04 Chong Yidong + + * bindings.el: Ignore next-buffer and previous-buffer in + minibuffer-local-map. + + * font-lock.el (font-lock-builtin-face): Change light background + color to dark slate blue (Bug#6693). + +2011-07-04 Wang Diancheng (tiny change) + + * progmodes/gdb-mi.el (gdb): Use completion-at-point. + +2011-07-04 Stefan Monnier + + * files.el (find-file): Use pop-to-buffer-same-window (bug#8911). + * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): + Add switch-to-buffer. + +2011-07-04 Lars Magne Ingebrigtsen + + * isearch.el (isearch-search-fun-function): Clarify further the + meaning of the function returned. + +2011-07-04 Michael Albinus + + * net/tramp-cmds.el (tramp-cleanup-this-connection): New command. + + * net/tramp-sh.el (tramp-color-escape-sequence-regexp): New defconst. + (tramp-sh-handle-insert-directory, tramp-convert-file-attributes): + Use it. + (tramp-remote-path): Add "/bin" and "/usr/bin". On busyboxes, + `tramp-default-remote-path' does not exist. + (tramp-send-command-and-read): New optional argument NOERROR. + (tramp-open-connection-setup-interactive-shell) + (tramp-get-remote-path, tramp-get-remote-stat): Use it. + (tramp-get-remote-readlink): Do not mask with `ignore-errors'. + (tramp-process-sentinel): Flush also process' connection property. + (tramp-sh-handle-start-file-process): Do not set process + sentinel. It is done now ... + (tramp-maybe-open-connection): ... here. (Bug#8929) + +2011-07-04 MON KEY + + * play/animate.el (animate-string): Doc fixes and allow changing + the buffer name (bug#5417). + +2011-07-04 Lars Magne Ingebrigtsen + + * play/animate.el (animation-buffer-name): Rename from *animate*. + +2011-07-04 Paul Eggert + + * emacs-lisp/timer.el: Use time-date fns rather than rolling our own. + This is simpler and helps future-proof the code. + (timer-until): Use time-subtract and float-time. + (timer--time-less-p): Use time-less-p. + +2011-07-04 Juanma Barranquero + + * type-break.el (timep): Use the value of `float-time' to avoid a + byte-compiler warning. + + * server.el (server-eval-and-print): Return any result, even nil. + +2011-07-03 Paul Eggert + + * type-break.el: Accept time formats that the builtins accept. + (timep, type-break-time-difference): Accept any format that + float-time accepts, rather than insisting on (HIGH LOW USECS) format. + This is simpler and helps future-proof the code. + (type-break-time-difference): Round rather than ignoring + subseconds components. + +2011-07-03 Lars Magne Ingebrigtsen + + * info.el (Info-apropos-matches): Make non-interactive, since it + doesn't seem to do anything useful as a command (bug#8829). + +2011-07-03 Chong Yidong + + * frame.el (frame-background-mode, frame-set-background-mode): + Move from faces.el. + (frame-default-terminal-background): New function. + + * custom.el (custom-push-theme): Don't record faces in `changed' + theme; this doesn't work correctly for per-frame face settings. + (disable-theme): Use face-set-after-frame-default to reset faces. + (custom--frame-color-default): New function. + +2011-07-03 Lars Magne Ingebrigtsen + + * dired.el (dired-flagging-regexp): Remove unused variable + (bug#8769). + +2011-03-29 Kevin Ryde + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + `perl-Test2' extend to match possible "fail #N" rep count + (bug#8377). + +2011-07-03 Lars Magne Ingebrigtsen + + * mail/feedmail.el (feedmail-buffer-to-smtpmail): + `smtpmail-via-smtp' now returns the error instead of nil. + + * isearch.el (isearch-search-fun-function): Clarify the doc string + (bug#8101). + +2011-07-03 Richard Kim (tiny change) + + * textmodes/texnfo-upd.el (texinfo-insert-menu): Don't insert + unnecessary spaces (bug#8987). + +2011-07-03 Lars Magne Ingebrigtsen + + * net/network-stream.el (open-network-stream): Use the + :end-of-capability command thoughout. + +2011-07-03 Wolfgang Jenkner (tiny change) + + * net/network-stream.el (open-network-stream): Add the + :end-of-capability command parameter, used by pop3.el. + +2011-07-03 Lars Magne Ingebrigtsen + + * dired.el (dired-map-over-marks): Refill the doc string (bug#6814). + + * fringe.el (fringe-query-style): Remove redundant text " (type ? + for list)" (bug#6475). + + * files.el (file-expand-wildcards): Ignore non-readable + sub-directories while trying to find matches instead of signaling + an error (bug#6297). + + * man.el (Man-reference-regexp): Allow matching possible + word-wrapped references (bug#6289). + + * vc/vc.el (vc-modify-change-comment): Change *VC-log* to *vc-log* + for consistency with the other vc buffers (bug#6197). + (vc-checkin): Ditto. + + * vc/vc-arch.el: Fix comments to match the *VC-log* name change. + + * longlines.el (longlines-mode): Document what ARG does (bug#6150). + +2011-07-02 Lars Magne Ingebrigtsen + + * custom.el (defcustom): Clarify that :set is only used in the + Customize user interface (bug#6089). + + * progmodes/flymake.el (flymake-mode): If the buffer isn't + associated with a file, refuse to run instead of erroring out + (bug#6084). + + * textmodes/fill.el (fill-region): Remove the "Ordinarily" from + the doc string, since it appears that using `fill-column' always + controls the width (bug#7845). + + * simple.el (shell-command-on-region): Say where the error output + went if `shell-command-default-error-buffer' is set (bug#6857). + +2011-07-02 Ken Manheimer + + * allout.el (allout-yank-processing): Adjust cursor position for + backwards-deleted space. + + (allout-rebullet-heading): Register changes with + allout-exposure-changed-hook, so the modified topic is properly + decorated. + +2011-07-02 Lars Magne Ingebrigtsen + + * minibuffer.el (completion-in-region): Document PREDICATE + (bug#7136). + + * info-look.el (info-lookup-add-help): Clarify that ARGS is a list + of keyword/argument pairs (bug#6904). + + * replace.el (multi-occur): + Mention `multi-occur-in-matching-buffers' in the doc string (bug#7566). + +2011-07-02 Drew Adams + + * dired.el (dired-mark-if): Make the message about whether it's + marking or unmarking clearer (bug#8523). + +2011-07-02 Lars Magne Ingebrigtsen + + * disp-table.el (display-table-print-array): New function. + (describe-display-table): Use it to print the vectors more pretty + (Bug#8859). + +2011-07-02 Martin Rudalics + + * window.el (window-state-get-1): Don't assign clone numbers. + Add clone-of item to list of window parameters. + (window-state-put-2): Don't process clone numbers. + (display-buffer-alist): Fix doc-string. + +2011-07-02 Stefan Monnier + + * subr.el (remq): Don't allocate if it's not needed. + (keymap--menu-item-binding, keymap--menu-item-with-binding) + (keymap--merge-bindings): New functions. + (keymap-canonicalize): Use them to refine the canonicalization. + * minibuffer.el (minibuffer-local-completion-map) + (minibuffer-local-must-match-map): Move initialization from C. + (minibuffer-local-filename-completion-map): Move initialization from C; + don't inherit from anything here. + (minibuffer-local-filename-must-match-map): Make obsolete. + (completing-read-default): Use make-composed-keymap to combine + minibuffer-local-filename-completion-map with either + minibuffer-local-must-match-map or + minibuffer-local-filename-completion-map. + +2011-07-01 Glenn Morris + + * type-break.el (type-break-time-sum): Use dolist. + + * textmodes/flyspell.el (flyspell-word-search-backward): + Replace CL function. + +2011-07-01 Stefan Monnier + + * mouse.el (mouse--strip-first-event): New function. + (function-key-map): Use it to map fringe clicks to normal clicks + by default. + + * vc/vc-bzr.el (vc-bzr-revision-keywords): Update. + (vc-bzr-revision-completion-table): Add support for annotate and date. + + * emacs-lisp/derived.el (define-derived-mode): Make abbrev-table + inherit from parent. + +2011-07-01 Lars Magne Ingebrigtsen + + * dired-aux.el (dired-diff): Doc fixup (bug#8816). + (dired-show-file-type): Doc fixup (bug#8818). + + * dired.el (dired-mode): Fix up the doc string as suggested by + Drew Adams (bug#8817). + + * progmodes/flymake.el (flymake-find-file-hook): Add an `autoload' + cookie, since the manual says that it should be possible to add + this function to `find-file-hook' (bug#8709). + +2011-07-01 Teodor Zlatanov + + * progmodes/cfengine.el: Moved all cfengine3.el functionality + here. Noted Ted Zlatanov as the maintainer. + (cfengine-common-settings, cfengine-common-syntax): New functions + to set up common things between `cfengine-mode' and + `cfengine3-mode'. + (cfengine3-mode): New mode. + (cfengine3-defuns cfengine3-defuns-regex + (cfengine3-class-selector-regex cfengine3-category-regex) + (cfengine3-vartypes cfengine3-font-lock-keywords) + (cfengine3-beginning-of-defun, cfengine3-end-of-defun) + (cfengine3-indent-line): Add from cfengine3.el. + +2011-07-01 Michael Albinus + + * net/tramp.el (tramp-encoding-command-interactive): New defcustom. + + * net/tramp-sh.el (tramp-maybe-open-connection): Use it. + +2011-07-01 Martin Rudalics + + * window.el (same-window-buffer-names, same-window-regexps) + (same-window-p, special-display-frame-alist) + (special-display-popup-frame, special-display-function) + (special-display-buffer-names, special-display-regexps) + (special-display-p, pop-up-frame-alist, pop-up-frame-function) + (pop-up-frames, display-buffer-reuse-frames, pop-up-windows) + (split-window-preferred-function, split-height-threshold) + (split-width-threshold, even-window-heights) + (display-buffer-mark-dedicated, window-splittable-p) + (split-window-sensibly, window-safely-shrinkable-p): + Un-obsolete. + (display-buffer): Don't spread args with function specifier + because special-display-popup-frame won't like it. + +2011-07-01 Paul Eggert + + Time-stamp simplifications and fixes. + These improve accuracy slightly, and future-proof the code + against some potential changes to current-time format. + + * woman.el (woman-decode-buffer, WoMan-log-end): Log fractional secs + by using time-since and float-time. + + * vc/ediff-util.el (ediff-calc-command-time): Use time-since + and float-time. Say "NNN.NNN seconds" rather than "NNN seconds + + NNN microseconds". + + * type-break.el (type-break-time-sum): Rewrite using time-add. + + * play/hanoi.el (hanoi-current-time-float): Remove. + All uses replaced by float-time. + + * nxml/rng-maint.el (rng-time-function): Rewrite using time-subtract. + This yields a more-accurate answer. + (rng-time-to-float): Remove; no longer needed. + + * emacs-lisp/timer.el (timer-relative-time): Use time-add. + + * calendar/timeclock.el (timeclock-seconds-to-time): + Defalias to seconds-to-time, since they're the same thing. + + * emacs-lisp/elp.el (elp-elapsed-time): + * emacs-lisp/benchmark.el (benchmark-elapse): + * allout-widgets.el (allout-elapsed-time-seconds): Use float-time. + +2011-07-01 Stefan Monnier + + * window.el (bury-buffer): Don't iconify the only frame. + (switch-to-buffer): Revert to Emacs<23 behavior, i.e. do not fallback + to pop-to-buffer. Use pop-to-buffer-same-frame if you don't like that. + +2011-07-01 Chong Yidong + + * eshell/em-smart.el (eshell-smart-display-navigate-list): + Add mouse-yank-primary. + +2011-07-01 Teodor Zlatanov + + * progmodes/cfengine3.el: New file to support CFEngine 3.x. + +2011-07-01 Stefan Monnier + + * emacs-lisp/find-func.el (find-library--load-name): New fun. + (find-library-name): Use it to find relative load names when provided + absolute file name (bug#8803). + +2011-06-30 Lars Magne Ingebrigtsen + + * textmodes/flyspell.el (flyspell-word): Consider words that + differ only in case as potential doublons (bug#5687). + + * net/soap-client.el (soap-invoke, soap-wsdl-resolve-references): + Remove two rather uninteresting debugging-like messages to make + debbugs.el more silent. + + * comint.el (comint-password-prompt-regexp): Accept "Response" as + a password-like phrase. + +2011-06-30 Masatake YAMATO + + * progmodes/cc-guess.el: New file. + + * progmodes/cc-langs.el (c-mode-menu): Add "Style..." submenu. + + * progmodes/cc-styles.el (cc-choose-style-for-mode): New function + derived from `c-basic-common-init'. + + * progmodes/cc-mode.el (top-level): Require cc-guess. + (c-basic-common-init): Use `cc-choose-style-for-mode'. + +2011-06-30 Lawrence Mitchell + + * progmodes/js.el (js-mode): Don't stomp on global settings (bug#8933). + +2011-06-30 Alan Mackenzie + + * progmodes/cc-engine.el (c-guess-continued-construct): + Correct the handling of template-args-cont, particularly for when font + lock is disabled. Name this case as "CASE G". + +2011-06-30 Ken Manheimer + + * allout.el (allout-yank-processing): Fix injection of extra space + between bullet and non-whitespace character in first topic when + pasting, ensuring that the actual spacing in the pasted topic + following the bullet char is preserved. This extra space was + causing pasted encrypted topics to get a decrypted status even + when the content was actually still encrypted. Now the decryption + status from before the paste is preserved. + + (allout-flag-region): Set all allout overlays so they evaporate + when reduced to zero length (evanescent), to prevent overlay + leakage. + +2011-06-30 Glenn Morris + + * w32-fns.el (w32-charset-info-alist): Declare. + + * find-dired.el (find-grep-options): Simplify. + + * term/ns-win.el (ns-set-resource): Declare. + + * ses.el (row, col): Declare dynamic variables honestly. + + * textmodes/reftex-parse.el (index-tags): Declare. + +2011-06-30 Chong Yidong + + * cus-edit.el (customize-push-and-save): New function. + + * files.el (hack-local-variables-confirm): Use it. + + * custom.el (load-theme): New arg NO-CONFIRM. + Use customize-push-and-save (Bug#8720). + (custom-enabled-themes): Doc fix. + + * cus-theme.el (customize-create-theme) + (custom-theme-merge-theme): Callers to load-theme changed. + +2011-06-30 Lars Magne Ingebrigtsen + + * thingatpt.el (thing-at-point-short-url-regexp): Require that + short URLs have at least one dot in them (bug #7614). + + * progmodes/grep.el (rgrep): Bind `process-connection-type' to + nil, because using a pty is apparently too slow (bug #895). + +2011-06-29 Lars Magne Ingebrigtsen + + * mail/sendmail.el (sendmail-query-once): New function. + (sendmail-query-once-function): New variable. + +2011-06-29 Glenn Morris + + * files.el (auto-mode-alist): Add .f03, .f08 for f90-mode. + + * ses.el (top-level): Require cl when compiling. + (ses-set-localvars): Fix error statement. + Call it at compile time to silence a storm of warnings. + +2011-06-29 Martin Rudalics + + * window.el (normalize-live-buffer): Rename to + window-normalize-buffer. + (normalize-live-frame): Rename to window-normalize-frame. + (normalize-any-window): Rename to window-normalize-any-window. + (normalize-live-window): Rename to window-normalize-live-window. + (make-window-atom): Rename to window-make-atom. + (window-resize-reset): Rename to window--resize-reset. + (window-resize-reset-1): Rename to window--resize-reset-1. + (resize-mini-window): Rename to window--resize-mini-window. + (resize-subwindows-skip-p): Rename to + window--resize-subwindows-skip-p. + (resize-subwindows-normal): Rename to + window--resize-subwindows-normal. + (resize-subwindows): Rename to window--resize-subwindows. + (resize-other-windows): Rename to window--resize-siblings. + (resize-this-window): Rename to window--resize-this-window. + (resize-root-window): Rename to window--resize-root-window. + (resize-root-window-vertically): Rename to + window--resize-root-window-vertically. + (normalize-buffer-to-display): Rename to + window-normalize-buffer-to-display. + (normalize-buffer-to-switch-to): Rename to + window-normalize-buffer-to-switch-to. + Correspondingly update all callers of the functions listed + above. + (display-buffer-alist, display-buffer-normalize-arguments) + (display-buffer-normalize-options, display-buffer) + (display-buffer-alist-set): Use "function" instead of + "fun-with-args". + +2011-06-28 Chong Yidong + + * mail/emacsbug.el (report-emacs-bug): Handle non-gnu bug + addresses more clearly. Add hyperlinks for bug-gnu-emacs and + debbugs.gnu.org. Mention acknowledgment email. + +2011-06-28 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-send-it): Leave off changing the + buffer multibyteness, since it shouldn't matter. + +2011-06-28 Martin Rudalics + + * window.el (display-buffer-in-side-window): Handle dedicated + windows as in display-buffer-reuse-window. + (display-buffer-normalize-alist): Use value of override + specifier. + (display-buffer-normalize-specifiers): Use value of + other-window-means-other-frame specifier. + (display-buffer-alist): Rewrite some texts in widgets. + (display-buffer): Spread arguments when calling function + specified by fun-with-args. + +2011-06-28 Deniz Dogan + + * emacs-lisp/lisp-mode.el (emacs-lisp-mode-syntax-table): + Unnest `let'. + + * textmodes/css-mode.el (css-font-lock-keywords): Fix grouped + selectors (Bug#5732). + (css-proprietary-nmstart-re): Use `regexp-opt'. + +2011-06-27 Jari Aalto + + * eshell/em-ls.el: Display `ls -l' dates in ISO format (Bug#8440). + (eshell-ls-date-format): New defcustom. + (eshell-ls-file): Use it. + +2011-06-27 Stefan Monnier + + * help-fns.el (describe-variable): Fix message for terminal-local vars. + +2011-06-27 Katsumi Yamaoka + + * net/ange-ftp.el: Allow loading .gz files (Bug#6923). + (ange-ftp-make-tmp-name): New arg. + (ange-ftp-file-local-copy): Use it. + +2011-06-27 Jambunathan K + + * tar-mode.el (tar-untar-buffer): Set coding-system-for-write to + no-conversion (Bug#8870). + +2011-06-27 Martin Rudalics + + * window.el (window-right, window-left, window-child) + (window-child-count, window-last-child) + (window-iso-combination-p, walk-window-tree-1) + (window-atom-check-1, window-tree-1, delete-window) + (window-state-get-1, display-buffer-even-window-sizes): Adapt to + new naming conventions - window-vchild, window-hchild, + window-next and window-prev are now called window-top-child, + window-left-child, window-next-sibling and window-prev-sibling + respectively. + (resize-window-reset): Rename to window-resize-reset. + (resize-window-reset-1): Rename to window-resize-reset-1. + (resize-window): Rename to window-resize. + (window-min-height, window-min-width) + (resize-mini-window, resize-this-window, resize-root-window) + (resize-root-window-vertically, adjust-window-trailing-edge) + (enlarge-window, shrink-window, maximize-window) + (minimize-window, delete-window, quit-restore-window) + (split-window, balance-windows, balance-windows-area-adjust) + (balance-windows-area, window-state-put-2) + (display-buffer-even-window-sizes, display-buffer-set-height) + (display-buffer-set-width, set-window-text-height) + (fit-window-to-buffer): Rename all "resize-window" prefixed + calls to use the "window-resize" prefix convention. + (display-buffer-alist): Fix symbol for label specifier. + (display-buffer-reuse-window): Set reuse-dedicated to cdr of + corresponding specifier. + Reported by Juanma Barranquero . + +2011-06-27 Vincent Belaïche + + * ses.el (ses-destroy-cell-variable-range): Fix heading comment + convention. + (ses-call-printer): Does not pass an empty string to formatter when the + cell is empty to keep from barking printer Calc math-format-value. + +2011-06-27 Richard Stallman + + * battery.el (battery-mode-line-limit): New variable. + (battery-update): Handle it. + + * mail/rmailmm.el (rmail-mime-process-multipart): + Handle truncated messages. + +2011-06-27 Glenn Morris + + * progmodes/flymake.el (flymake-err-line-patterns): + Allow for column numbers in the ant/javac pattern. (Bug#8866) + +2011-06-27 Vincent Belaïche + + * ses.el (ses-relocate-range): Keep rest of arguments for ses-range. + (ses--clean-!, ses--clean-_): New functions. + (ses-range): Add configurability of readout order, and conversion + to Calc vector. + + * ses.el (ses-repair-cell-reference-all): New function. + (ses-cell-symbol): Set macro as safe, so that it can be used in + formulas. + + * ses.el: Update cycle detection algorithm. + (ses-localvars): Add ses--Dijkstra-attempt-nb and + ses--Dijkstra-weight-bound, and initial values thereof when applicable. + (ses-set-localvars): New function. + (ses-make-cell): Add property-list as a cell element. + (ses-cell-property-get-fun, ses-cell-property-get) + (ses-cell-property-delq-fun, ses-cell-property-set-fun) + (ses-cell-property-pop-fun, ses-cell-property-get-handle-fun): + New functions. + (ses-cell-property-set, ses-cell-property-pop) + (ses-cell-property-get-handle): New macro. + (ses-cell-property-handle-car, ses-cell-property-handle-setcar): + New aliases, used for code readability. + (ses-calculate-cell, ses-update-cells): Use Dijkstra algorithm for + cycle detection. + (ses-self-reference-early-detection): New defcustom. + (ses-formula-references): Robustify against self-referring cells. + (ses-mode): Use ses-set-localvars. + (ses-command-hook): Add call to ses-initialize-Dijkstra-attempt + before lauching the update processing. + (ses-initialize-Dijkstra-attempt): New function. + (ses-recalculate-cell): Update for cycle detection based on + Dijkstra algorithm. + + * ses.el: Fix commenting and indenting convention. + +2011-06-27 Stefan Monnier + + * bs.el (bs-cycle-next): Complete last change. + +2011-06-27 Drew Adams + + * faces.el (list-faces-display): Add help-mode-map to output (bug#8939). + +2011-06-27 Lars Magne Ingebrigtsen + + * net/network-stream.el (network-stream-open-starttls): + Don't re-get capabilities unless we've reestablished connection. + (network-stream-open-starttls): Fix stupid typo with gnutls-clii. + + * mail/smtpmail.el (smtpmail-via-smtp): Bind coding-system-for-* + to binary to possibly avoid line encoding issues on Windows (among + other things). + +2011-06-26 Lars Magne Ingebrigtsen + + * net/network-stream.el (open-network-stream): Return an :error + saying what the problem was, if possible. + + * mail/smtpmail.el (smtpmail-via-smtp): Report the error from the + server. + + * net/network-stream.el (network-stream-open-starttls): If we + wanted to use STARTTLS, and the server offered it, but we weren't + able to because we had no STARTTLS support, then close the connection. + (open-network-stream): Return an :error element, if present. + +2011-06-26 Chong Yidong + + * hl-line.el (hl-line-sticky-flag): Doc fix. + (global-hl-line-sticky-flag): New option (Bug#8323). + (global-hl-line-highlight): Obey it. + + * vc/vc.el (vc-revert-show-diff): Default to t. + +2011-06-26 Ken Manheimer + + * allout-widgets.el (allout-widgets-post-command-business): + Stop decorating intermediate isearch matches. They're not being + undecorated when an isearch is continued past, and isearch + automatically collapses them. This leads to "widget leaks", where + decorated items accumulate in collapsed areas. Lines with lots of + hidden widgets can slow down cursor travel, substantially. + Too much complicated machinery would be needed to ensure undecoration, + so we're doing without this nicety. + + (allout-widgets-tally-string): Don't try to do a hash-table-count + of allout-widgets-tally when it's nil. This eliminates spurious "Error + during redisplay: (wrong-type-argument hash-table-p nil)" warnings in + *Messages* when allout-widgets-maintain-tally is t. + +2011-06-26 Martin Rudalics + + * window.el (display-buffer-normalize-argument): Rename to + display-buffer-normalize-arguments. Handle special meaning of + LABEL argument. Respect special-display-function when popping up + a new frame. Fix code searching for a window showing the buffer + on another frame. + (display-buffer-normalize-specifiers): + Call display-buffer-normalize-arguments. + (display-buffer-in-window): Don't undedicate the window if its + buffer remains the same. + Reported by Drew Adams . + (display-buffer-alist): Add choice for same-window macro + specfier. + (display-buffer): Mention special meaning of LABEL argument in + doc-string. Fix quoting. Don't pop up a new frame even as + fallback. + +2011-06-26 Juanma Barranquero + + * bs.el (bs-cycle-next): Pass current buffer to `bury-buffer' to + avoid deleting the current window in some cases (bug#8911). + +2011-06-26 Andreas Schwab + + * emacs-lisp/smie.el (smie-bnf->prec2): Fix last change. + (Bug#8934) + +2011-06-26 Lars Magne Ingebrigtsen + + * net/network-stream.el (network-stream-open-starttls): + Use built-in TLS support if `gnutls-available-p' is true. + (network-stream-open-tls): Ditto. + +2011-06-26 Leo Liu + + * register.el (registerv): New struct. + (registerv-make): New function. + (jump-to-register, describe-register-1, insert-register): + Support the jump-func, print-func and insert-func slot of a registerv + struct. (Bug#8415) + +2011-06-26 Chong Yidong + + * vc/vc.el (vc-revert-show-diff): New defcustom. + (vc-diff-internal): New arg specifying diff buffer. + (vc-revert): Obey vc-revert-show-diff. If we show a diff, don't + reuse an existing *vc-diff* buffer (Bug#8927). + + * progmodes/cperl-mode.el (cperl-mode): Derive from prog-mode. + +2011-06-26 Glenn Morris + + * progmodes/f90.el (f90-critical-indent): New option. + (f90-font-lock-keywords-2, f90-blocks-re, f90-end-block-re) + (f90-start-block-re, f90-mode-abbrev-table): Add block, critical. + (f90-mode): Doc fix. + (f90-looking-at-critical, f90-looking-at-end-critical): New funcs. + (f90-no-block-limit, f90-calculate-indent, f90-end-of-block) + (f90-beginning-of-block, f90-next-block, f90-indent-region) + (f90-match-end): Handle block, critical. + +2011-06-25 Glenn Morris + + * calendar/diary-lib.el (diary-included-files): Doc fix. + (diary-include-files): New function, extracted from + diary-include-other-diary-files and diary-mark-included-diary-files. + (diary-include-other-diary-files, diary-mark-included-diary-files): + Just call diary-include-files. + (diary-mark-entries): Reset diary-included-files on first call. + + * calendar/diary-lib.el (diary-mark-entries) + (diary-mark-included-diary-files): + Visit included diary-files in temp buffers. + + * progmodes/f90.el (f90-keywords-re, f90-font-lock-keywords-1) + (f90-blocks-re, f90-program-block-re, f90-end-block-re) + (f90-start-block-re, f90-imenu-generic-expression) + (f90-looking-at-program-block-start, f90-no-block-limit): + Add support for submodules. + + * progmodes/f90.el (f90-keywords-re, f90-keywords-level-3-re) + (f90-procedures-re, f90-constants-re): Add some F2008 stuff. + +2011-06-25 Eli Zaretskii + + * net/ange-ftp.el (ange-ftp-insert-file-contents): Let-bind + buffer-file-type before setting its value, to avoid disastrous + global effects on decoding files for DOS/Windows systems. (Bug#8780) + +2011-06-25 Juanma Barranquero + + * allout.el (allout-unload-function): Pass -1 to `allout-mode'. + + * ses.el (ses-unload-function): + * emacs-lisp/re-builder.el (re-builder-unload-function): Simplify. + + * proced.el (proced-unload-function): + * progmodes/cperl-mode.el (cperl-mode-unload-function): Remove. + +2011-06-25 Andreas Rottmann + + * server.el (server-create-window-system-frame): Add parameters arg. + (server-process-filter): Doc fix. Handle frame-parameters. + +2011-06-25 Juanma Barranquero + + Fix bug#8730, bug#8781. + + * loadhist.el (unload--set-major-mode): New function. + (unload-feature): Use it. + + * progmodes/python.el (python-after-info-look): Add autoload cookie. + (python-unload-function): New function. + +2011-06-25 Stefan Monnier + + * mail/rmail.el (rmail-show-message-1): Use restore-buffer-modified-p. + +2011-06-25 Giuseppe Scrivano + + * net/browse-url.el (browse-url-firefox-program): Add icecat to + the candidates list. + +2011-06-24 Juanma Barranquero + + * progmodes/verilog-mode.el (verilog-mode): Fix test for bound variable. + +2011-06-23 Richard Stallman + + * mail/rmail.el: Going to grep hit in Rmail buffer finds the message. + (rmail-variables): Set next-error-move-function. + (rmail-what-message): Take argument POS. + (rmail-next-error-move): New function. + +2011-06-23 Stefan Monnier + + * emacs-lisp/smie.el (smie-bnf->prec2): Give more understandable error + messages for adjacent non-terminals. + +2011-06-23 Richard Stallman + + * mail/rmail.el (rmail-retry-ignored-headers): Add message-id. + (rmail-show-message-1): Preserve buffer modified flag. + (rmail-start-mail): Don't specify use of rmail-mail-return; + that's done by mail-bury now. + (rmail-mail-return): Handle arg NEWBUF. + +2011-06-23 Michael Albinus + + * net/tramp-sh.el (tramp-method-out-of-band-p): Check, whether + SIZE is a number. + +2011-06-23 Martin Rudalics + + * window.el (get-lru-window, get-mru-window) + (get-largest-window): Never return a minibuffer window. + (display-buffer-pop-up-window): Fix a bug that could lead to + reusing the minibuffer window. + (display-buffer): Pass original specifier argument to + display-buffer-function instead of the normalized one. + Reported by Thierry Volpiatto . + +2011-06-22 Leo Liu + + * minibuffer.el (completing-read-function) + (completing-read-default): Move from minibuf.c. + +2011-06-22 Richard Stallman + + * mail/sendmail.el (mail-bury): If Rmail is in use, return nicely + to Rmail even if not started by a special Rmail command. + + * mail/rmailmm.el (rmail-insert-mime-forwarded-message): + Copy the buffer currently showing just one message. + +2011-06-22 Roland Winkler + + * textmodes/bibtex.el (bibtex-entry-update): Use mapc. + (bibtex-clean-entry): First delete the old key so that a + customized algorithm for generating the new key does not get + confused by the old key. + (bibtex-url): Obey regexp of first step. + (bibtex-search-entries): Do not use add-to-list with local + list-var. + +2011-06-22 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-try-auth-methods): If the user has + stored a user name, then query for the password first, instead of + waiting for SMTP to give an error message and the trying again. + +2011-06-22 Lawrence Mitchell + + * net/browse-url.el (browse-url-xdg-open): Use 0, rather than nil + BUFFER in call-process. + +2011-06-22 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-via-smtp): Make sure we don't send + QUIT twice. + (smtpmail-try-auth-methods): Require user name and password from + auth-source. + +2011-06-22 Martin Rudalics + + * window.el (display-buffer-default-specifiers) + (display-buffer-alist): Remove entries for pop-up-frame-alist. + Suggested by Katsumi Yamaoka . + (split-window): Normalize SIDE argument (Bug#8916). + + * frame.el (pop-up-frame-alist, pop-up-frame-function) + (special-display-frame-alist, special-display-popup-frame): + Remove duplicate declarations. These are now in window.el. + +2011-06-21 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-via-smtp): + Set :use-starttls-if-possible so that we always use STARTTLS if the + server supports it. SMTP servers that support STARTTLS commonly + require it. + + * net/network-stream.el (network-stream-open-starttls): Support + upgrading to STARTTLS always, even if we don't have built-in support. + (open-network-stream): Add the :always-query-capabilities keyword. + + * mail/smtpmail.el: Rewritten to do opportunistic STARTTLS + upgrades with `open-network-stream', and rely solely on + auth-source for all credentials. Big changes throughout the file, + but in particular: + (smtpmail-auth-credentials): Remove. + (smtpmail-starttls-credentials): Remove. + (smtpmail-via-smtp): Check for servers saying they want AUTH after + MAIL FROM, too. + + * net/network-stream.el (network-stream-open-starttls): + Provide support for client certificates both for external and built-in + STARTTLS. + (auth-source): Require. + (open-network-stream): Document the :client-certificate keyword. + (network-stream-certificate): Change cert-cert to cert and + cert-key to key. + +2011-06-21 Michael Albinus + + * net/tramp-cache.el (top): Don't load the persistency file when + "emacs -Q" has been called. + +2011-06-21 Tim Harper + + * term/ns-win.el (ns-initialize-window-system): + Set application-specific `ApplePressAndHoldEnabled' system + resource to NO as it is not yet supported by the NS port. + +2011-06-21 Juanma Barranquero + + * misc.el (list-dynamic-libraries--refresh): Compute header here... + (list-dynamic-libraries): ...not here. + +2011-06-21 Leo Liu + + * subr.el (sha1): Implement sha1 using secure-hash. + +2011-06-21 Martin Rudalics + + * window.el (display-buffer-alist): In default value do not + enforce searching a window on any but the selected frame. + Reported by Katsumi Yamaoka . + (display-buffer-select-window): Remove function. + (display-buffer-in-window): When a window on another frame gets + reused, do not select it any more but just raise its frame if + necessary (Bug#8851) and (Bug#8856). + (display-buffer-normalize-options): Handle pop-up-frames related + options more faithfully. + (pop-to-buffer): Don't rely on `display-buffer' selecting the + window if it is on another frame. + (display-buffer-alist, display-buffer-default-specifiers): + Don't make new frame unsplittable by default. + (display-buffer-normalize-argument): Fix doc-string typo and use + 'same-frame-other-window instead of 'other-window when associating + with display-buffer-macro-specifiers. + +2011-06-21 Vincent Belaïche + + * play/5x5.el (5x5-solve-rotate-left, 5x5-solve-rotate-right): + New functions. + (5x5-mode-map, 5x5-mode-menu): Bind them. + (5x5-draw-grid): Tweak the solver's rendering. + +2011-06-21 Stefan Monnier + + * progmodes/compile.el (compilation-error-regexp-alist-alist): Rename + `caml' to `python-tracebacks-and-caml'; allow leading tabs (bug#8585). + +2011-06-21 Drew Adams + + * menu-bar.el: Use function variable instead of switch-to-buffer. + (menu-bar-select-buffer-function): New variable. + (menu-bar-update-buffers): Use it (bug#8876). + +2011-06-21 Stefan Monnier + + * emacs-lisp/bytecomp.el (add-to-list): Add handler to check the + variable's status. + +2011-06-20 Jan Djärv + + * x-dnd.el (x-dnd-version-from-flags) + (x-dnd-more-than-3-from-flags): New functions that handle long-as-cons + and long as number (Bug#8899). + (x-dnd-handle-xdnd): Call functions above (Bug#8899). + +2011-06-20 Stefan Monnier + + * minibuffer.el (completion-metadata): Add `metadata' to the alist. + (completion-try-completion, completion-all-completions): Compute the + metadata argument if it's missing; make it optional (bug#8795). + + * wid-edit.el: Use lex-bind and move towards completion-at-point. + (widget-complete): Use new :completion-function property. + (widget-completions-at-point): New function. + (default): Use :completion-function instead of :complete. + (widget-default-completions): Rename from widget-default-complete; + Rewrite. + (widget-string-complete, widget-file-complete, widget-color-complete): + Remove functions. + (file, symbol, function, variable, coding-system, color): + * international/mule-cmds.el (default-input-method, charset) + (language-info-custom-alist): + * cus-edit.el (face): Use new property :completions. + + * progmodes/pascal.el (pascal-completions-at-point): New function. + (pascal-mode): Use it. + (pascal-mode-map): Use completion-at-point. + (pascal-toggle-completions): Make obsolete. + (pascal-complete-word, pascal-show-completions): + * progmodes/octave-mod.el (octave-complete-symbol): + Redefine as obsolete alias. + * progmodes/octave-inf.el (inferior-octave-completion-at-point): + Signal absence of completion info for old Octave, + (inferior-octave-complete): Redefine as obsolete alias. + * progmodes/meta-mode.el: Use lexical-binding and completion-at-point. + (meta-completions-at-point): Rename from meta-complete-symbol and + adapt it for use on completion-at-point-functions. + (meta-common-mode): Use it. + (meta-looking-at-backward, meta-match-buffer): Remove. + (meta-complete-symbol): Redefine as obsolete alias. + (meta-common-mode-map): Use completion-at-point. + * progmodes/make-mode.el: Use lexical-binding and completion-at-point. + (makefile-mode-map): Use completion-at-point. + (makefile-completions-at-point): Rename from makefile-complete and + adapt it for use on completion-at-point-functions. + (makefile-mode): Use it. + (makefile-complete): Redefine as obsolete alias. + +2011-06-20 Deniz Dogan + + * net/rcirc.el: Delete trailing whitespaces once and for all. + +2011-06-20 Daniel Colascione + + * emacs-lisp/syntax.el (syntax-ppss): Further improve docstring. + +2011-06-19 Chong Yidong + + * files.el (auto-mode-alist): Entry for m2-mode (Bug#8852). + + * info.el (Info-apropos-toc-nodes): Minor doc fix (Bug#8833). + +2011-06-19 Martin Rudalics + + * window.el (display-buffer-other-window-means-other-frame): + Call display-buffer-normalize-alist. + (display-buffer-normalize-specifiers-1): Rename to + display-buffer-normalize-argument. New argument other-frame. + Rewrite. + (display-buffer-normalize-specifiers-2): Rename to + display-buffer-normalize-options. + (display-buffer-normalize-alist-1): New function. + (display-buffer-normalize-specifiers-3): Rename to + display-buffer-normalize-alist. + Call display-buffer-normalize-alist-1. + (display-buffer-normalize-options-inhibit): New variable. + (display-buffer-normalize-specifiers): Rewrite calling + display-buffer-normalize-alist, + display-buffer-normalize-argument, and + display-buffer-normalize-options. Don't call the latter if + display-buffer-normalize-options-inhibit is non-nil. + (frame-auto-delete): New option. + (window-deletable-p): Use frame-auto-delete. + (window-list-no-nils, window-state-ignored-parameters) + (window-state-get-1, window-state-get, window-state-put-list) + (window-state-put-1, window-state-put-2, window-state-put): + New functions. + (display-buffer-normalize-options): Move special-display-p group + after pop-up-frame group (Bug#8851) and (Bug#8856). + +2011-06-18 Chong Yidong + + * emacs-lisp/rx.el (rx-constituents): Add support for numbered + groups (Bug#8776). + (rx-submatch-n): New function. + (rx): Document it. + + * dired-x.el (dired-mark-unmarked-files): Fix interactive spec + (Bug#8768). + + * replace.el (occur-mode-map): Set occur-edit-mode binding to "e". + + * textmodes/fill.el (default-justification): Add :safe (Bug#8879). + + * cus-face.el (custom-declare-face): Call custom-theme-recalc face + anytime existing face settings are present (Bug#8889). + + * progmodes/delphi.el (delphi-mode-syntax-table): Use defvar. + (delphi-mode): Use define-derived-mode to inherit from prog-mode. + Remove unused argument. + +2011-06-18 Martin Rudalics + + * window.el (display-buffer-default-specifiers): + Remove pop-up-frame. Add pop-up-window-min-height, + pop-up-window-min-width, and another reuse-window specifier + (Bug#8882). Reported by Dan Nicolaescu . + (display-buffer-normalize-specifiers-2): + Handle split-height-threshold and split-width-threshold also when + pop-up-windows is unset. Add a reuse-window specifier for the + case popping up a new window fails. + (special-display-popup-frame): Remove double quoting. + (display-buffer-normalize-specifiers-1): Fix thinko. + +2011-06-17 Stefan Monnier + + * shell.el (shell-completion-vars): Set pcomplete-termination-string + according to comint-completion-addsuffix. + + * pcomplete.el: Convert to lexical binding and fix bug#8819. + (pcomplete-suffix-list): Mark as obsolete. + (pcomplete-completions-at-point): Capture pcomplete-norm-func and + pcomplete-seen in the closure. + (pcomplete-comint-setup): Setup completion-at-point as well. + (pcomplete--entries): New function. + (pcomplete--env-regexp): New var. + (pcomplete-entries): Rewrite to work with partial-completion and + without relying on pcomplete-suffix-list. + (pcomplete-pare-list): Remove, unused. + +2011-06-17 Martin Rudalics + + * window.el (display-buffer-alist): Set pop-up-window-min-height + and pop-up-window-min-width in default value. Reported by + Thierry Volpiatto . New specifier + other-window-means-other-frame. + (display-buffer-macro-specifiers): Comment out entry for + other-window specifier. + (display-buffer-other-window-means-other-frame): New function. + (display-buffer-normalize-specifiers-1): New arguments + buffer-name and label. Treat other-window case specially. + (display-buffer-normalize-specifiers-2): Treat other-window case + specially. + (display-buffer-normalize-specifiers-3): New function. + (display-buffer-normalize-specifiers): + Call display-buffer-normalize-specifiers-3. + +2011-06-17 Martin Rudalics + + * window.el (same-window-p): Fix two typos introduced when + adding with-no-warnings. + (display-buffer-normalize-specifiers-1): Don't check + pop-up-frames for 'unset initialization. + (display-buffer-normalize-specifiers-2): Major rewrite using + special-display-p and same-window-p (Bug#8851) and (Bug#8856). + (pop-up-frames, display-buffer-reuse-frames) + (display-buffer-mark-dedicated): Don't initialize to 'unset. + Suggested by David Engster . + (even-window-heights): Initialize to 'unset. + (display-buffer-alist-set): Handle new 'unset initializations. + (display-buffer-macro-specifiers): Don't pop up a new frame in the + other window case. + +2011-06-16 Martin Rudalics + + * window.el (display-buffer-normalize-specifiers-1): + Respect current value of pop-up-frames for most reasonable values of + second argument of display-buffer (Bug#8865). + (switch-to-buffer-same-frame, switch-to-buffer-other-window) + (switch-to-buffer-other-window-same-frame) + (switch-to-buffer-other-frame): Fix doc-strings. Reported by Drew + Adams (Bug#8875). + (display-buffer): Don't check noninteractive when calling + display-buffer-pop-up-frame. + (display-buffer-pop-up-frame): Never pop up a frame in + noninteractive mode (Bug#8857). + (enlarge-window, shrink-window): Don't report an error when the + window can't be resized as requested (Bug#8862). + +2011-06-15 Stefan Monnier + + * pcmpl-rpm.el (pcomplete/rpm): Minor simplification. + + * emacs-lisp/debug.el (debug): Don't leave the buffer in Debugger. + + * abbrev.el (define-abbrev-table): Don't add a table multiple times. + +2011-06-15 Alan Mackenzie + + * progmodes/cc-fonts.el (c-font-lock-declarations): 1: Whilst checking + for declarators, disable knr checking to speed up for normal files. + 2: Refactor, replacing a sequence of nested if forms by a cond form. + +2011-06-15 Lars Magne Ingebrigtsen + + * net/network-stream.el (open-network-stream): Add the keyword + :always-query-capabilities for the case where you want to force a + `plain' network connection, but the protocol still requires the + capabilitiy command (i.e., SMTP and EHLO). + + * subr.el (process-live-p): Rename from `process-alive-p' for + consistency with other `-live-p' functions. + +2011-06-15 Stefan Monnier + + * window.el (same-window-buffer-names, same-window-regexps) + (special-display-frame-alist, special-display-popup-frame) + (special-display-function, special-display-buffer-names) + (special-display-regexps, pop-up-frame-alist) + (pop-up-frame-function, pop-up-frames, display-buffer-reuse-frames) + (pop-up-windows, split-window-preferred-function) + (split-height-threshold, split-width-threshold, even-window-heights) + (display-buffer-mark-dedicated): Don't encourage the use of + display-buffer-alist from Elisp code. + +2011-06-15 Dan Nicolaescu + + * progmodes/python.el (python-mode): Derive from prog-mode. + * progmodes/ps-mode.el (ps-mode): + * progmodes/mixal-mode.el (mixal-mode): + * progmodes/cfengine.el (cfengine-mode): + * progmodes/ld-script.el (ld-script-mode): Likewise. + +2011-06-15 Martin Rudalics + + * window.el (display-buffer-alist): Trim default value to avoid + popping up a new frame (Bug#8857) or reusing an arbitrary window + on another frame. + (display-buffer): Do not fall back on popping up a new frame in + batch mode (Bug#8857). + +2011-06-14 Chong Yidong + + * cus-theme.el (describe-theme-1): Use custom-theme-p. + (custom-theme-summary): New function. + (customize-themes): Use it. + +2011-06-13 Glenn Morris + + * cus-dep.el (custom-make-dependencies): Use up command-line-args-left. + +2011-06-13 Martin Rudalics + + * help.el (help-window): Remove variable. + (help-window-point-marker, temp-buffer-max-height) + (temp-buffer-resize-mode, help-window-select): Rewrite doc-strings. + (help-print-return-message): Don't set help-window. + (resize-temp-buffer-window): Rewrite cod eand doc-string. + (help-window-setup-finish): Remove. + (help-window-display-message, help-window-setup) + (with-help-window): Major rewrite based on new + display-buffer-window variable. + + * help-mode.el (help-mode-finish): Remove help-window related + code. + + * view.el (view-exits-all-viewing-windows): Remove reference to + view-return-to-alist in doc-string. + (view-return-to-alist): Make obsolete. + (view-buffer): Call pop-to-buffer-same-window and remove + undo-window code. + (view-buffer-other-window): Call pop-to-buffer-other-window and + simplify code. Ignore second argument. + (view-buffer-other-frame): Call pop-to-buffer-other-frame and + simplify code. Ignore second argument. + (view-return-to-alist-update): Make obsolete. + (view-mode-enter): Rename second argument to QUIT-RESTORE. + Rewrite using quit-restore window parameters. + (view-mode-exit): Rename second argument to EXIT-ONLY. + Rewrite using quit-restore-window. + (View-exit, View-exit-and-edit, View-leave, View-quit) + (View-quit-all, View-kill-and-leave): Call view-mode-exit with + appropriate arguments. + (view-end-message): Use quit-restore window parameter. + + * window.el (display-buffer-function): Rewrite doc-string. + (display-buffer-window, display-buffer-alist): New variables. + (display-buffer-split-specifiers) + (display-buffer-side-specifiers) + (display-buffer-macro-specifiers): New constants. + (display-buffer-even-window-sizes, display-buffer-set-height) + (display-buffer-set-width, display-buffer-select-window) + (display-buffer-in-window, display-buffer-reuse-window) + (display-buffer-split-window-1, display-buffer-split-window) + (display-buffer-split-atom-window, display-buffer-pop-up-window) + (display-buffer-pop-up-frame, display-buffer-pop-up-side-window) + (display-buffer-in-side-window, normalize-buffer-to-display) + (display-buffer-normalize-specifiers-1) + (display-buffer-normalize-specifiers-2) + (display-buffer-normalize-specifiers, display-buffer-frame): + New functions. + (display-buffer): Major rewrite. + (display-buffer-other-window, display-buffer-other-frame) + (pop-to-buffer, switch-to-buffer-other-window) + (switch-to-buffer-other-frame): Rewrite. + (display-buffer-same-window, display-buffer-same-frame) + (display-buffer-same-frame-other-window) + (pop-to-buffer-same-window, pop-to-buffer-same-frame) + (pop-to-buffer-other-window) + (pop-to-buffer-same-frame-other-window) + (pop-to-buffer-other-frame, switch-to-buffer-same-frame) + (switch-to-buffer-other-window-same-frame): New functions. + (same-window-p, special-display-p): Rewrite disabling warnings. + Make obsolete. + (pop-up-frames, display-buffer-reuse-frames, pop-up-windows) + (display-buffer-mark-dedicated): Initialize to symbol 'unset. + Make obsolete + (same-window-buffer-names, same-window-regexps) + (special-display-frame-alist, special-display-popup-frame) + (special-display-function, special-display-buffer-names) + (special-display-regexps, pop-up-frame-alist) + (pop-up-frame-function, split-window-preferred-function) + (split-height-threshold, split-width-threshold) + (even-window-heights): Make obsolete. + +2011-06-12 Glenn Morris + + * term/xterm.el (terminal-init-xterm): `version' may be nil. (Bug#8838) + Misc simplifications. + +2011-06-12 Martin Rudalics + + * window.el (window-safely-shrinkable-p): Restore function which + was inadvertently removed in change from 2011-06-11. Declare as + obsolete. + + * calendar/calendar.el (calendar-generate-window): + Use window-iso-combined-p instead of combination of one-window-p and + window-safely-shrinkable-p. + +2011-06-12 Glenn Morris + + * progmodes/fortran.el (fortran-mode-syntax-table): + * progmodes/f90.el (f90-mode-syntax-table): + Set % to punctuation. (Bug#8820) + (f90-find-tag-default): Remove, no longer needed. + +2011-06-12 Daniel Colascione + + * emacs-lisp/syntax.el (syntax-ppss): Clarify which items are invalid. + +2011-06-11 Chong Yidong + + * image.el (image-animated-p): Return animation delay in seconds. + Avoid bit manipulation in Lisp; use `delay' entry in the metadata. + (image-animate-timeout): Remove DELAY argument. Don't assume + every subimage has the same delay; get it from image-animated-p. + (image-animate): Caller changed. + +2011-06-11 Michael Albinus + + * net/tramp.el (tramp-debug-message): Add `tramp-with-progress-reporter' + to ignored backtrace functions. + +2011-06-11 Glenn Morris + + * calendar/appt.el (appt-disp-window-function): Doc fix. + (appt-check): Handle overlapping appointments. (Bug#8337) + +2011-06-11 Martin Rudalics + + * window.el (window-tree-1, window-tree): New functions, moving + the latter to window.el. + (bw-get-tree, bw-get-tree-1, bw-find-tree-sub) + (bw-find-tree-sub-1, bw-l, bw-t, bw-r, bw-b, bw-dir, bw-eqdir) + (bw-refresh-edges): Remove. + (balance-windows-1, balance-windows-2): New functions. + (balance-windows): Rewrite in terms of window tree functions, + balance-windows-1 and balance-windows-2. + (bw-adjust-window): Remove. + (balance-windows-area-adjust): New function with functionality of + bw-adjust-window but using resize-window. + (set-window-text-height): Rewrite doc-string. + Use normalize-live-window and resize-window. + (enlarge-window-horizontally, shrink-window-horizontally): + Rename argument to DELTA. + (window-buffer-height): New function. + (fit-window-to-buffer, shrink-window-if-larger-than-buffer): + Rewrite using new window resize routines. + (kill-buffer-and-window, mouse-autoselect-window-select): + Use ignore-errors instead of condition-case. + (quit-window): Call delete-frame instead of delete-windows-on + for the only buffer on frame. + +2011-06-10 Martin Rudalics + + * loadup.el (top-level): Load window before files for the sake + of replace-buffer-in-windows. + + * files.el (read-buffer-to-switch) + (switch-to-buffer-other-window) + (switch-to-buffer-other-frame, display-buffer-other-frame): + Move to window.el. + + * simple.el (get-next-valid-buffer, last-buffer, next-buffer) + (previous-buffer): Move to window.el. + + * bindings.el (unbury-buffer): Move to window.el. + + * window.el (delete-other-windows-vertically): Move after + definition of delete-other-windows. + (other-window, delete-windows-on, replace-buffer-in-windows): + Move here from window.c. + (record-window-buffer, unrecord-window-buffer) + (set-window-buffer-start-and-point, switch-to-prev-buffer) + (switch-to-next-buffer): New functions. + (get-next-valid-buffer, last-buffer, next-buffer): Move here + from simple.el. Call switch-to-next-buffer. + (previous-buffer): Move here from simple.el. + Call switch-to-prev-buffer. + (bury-buffer): Move here from buffer.c. Switch to previous + buffer when window cannot be deleted. + (unbury-buffer): Move here from bindings.el. + (ctl-x-map): Move binding for other-window from window.c to + here. + (read-buffer-to-switch, switch-to-buffer-other-window) + (switch-to-buffer-other-frame): Move here from files.el. + (normalize-buffer-to-switch-to): New functions. + (switch-to-buffer): Move here from buffer.c. + Use read-buffer-to-switch and normalize-buffer-to-switch-to. + +2011-06-10 Martin Rudalics + + * window.el (window-min-height, window-min-width): Move here + from window.c. Add defcustoms and rewrite doc-strings. + (resize-mini-window, resize-window): New functions. + (adjust-window-trailing-edge, enlarge-window, shrink-window): + Move here from window.c. + (maximize-window, minimize-window): New functions. + (delete-window, delete-other-windows, split-window): Move here + from window.c. + (window-split-min-size): New function. + (split-window-keep-point): Mention split-window-above-each-other + instead of split-window-vertically. + (split-window-above-each-other, split-window-vertically): + Rename split-window-vertically to split-window-above-each-other + and provide defalias for old definition. + (split-window-side-by-side, split-window-horizontally): + Rename split-window-horizontally to split-window-side-by-side + and provide defalias for the old definition. + (ctl-x-map): Move bindings for delete-window, + delete-other-windows and enlarge-window here from window.c. + Replace bindings for split-window-vertically and + split-window-horizontally by bindings for + split-window-above-each-other and split-window-side-by-side. + + * cus-start.el (all): Remove entries for window-min-height and + window-min-width. Add entries for window-splits and + window-nest. + +2011-06-09 Glenn Morris + + * calendar/appt.el (appt-mode-line): New function. + (appt-check, appt-disp-window): Use it. + + * files.el (hack-one-local-variable-eval-safep): + Allow minor-modes with explicit +/-1 arguments. + +2011-06-09 Teodor Zlatanov + + * term/xterm.el (xterm): Add defgroup. + (xterm-extra-capabilities): Add defcustom to supply known xterm + capabilities, skip querying them, or query them (default). + (terminal-init-xterm): Use it. + (terminal-init-xterm-modify-other-keys): New function to set up + modifyOtherKeys support to simplify `terminal-init-xterm'. + +2011-06-09 Martin Rudalics + + * window.el (resize-window-reset, resize-window-reset-1) + (resize-subwindows-skip-p, resize-subwindows-normal) + (resize-subwindows, resize-other-windows, resize-this-window) + (resize-root-window, resize-root-window-vertically) + (window-deletable-p, window-or-subwindow-p) + (frame-root-window-p): New functions. + +2011-06-09 Glenn Morris + + * net/ange-ftp.el (ange-ftp-switches-ok): New function. + (ange-ftp-get-files): Use it. + +2011-06-09 Alexander Klimov (tiny change) + + * mail/sendmail.el (mail-recover-1, mail-recover): + * files.el (recover-file, recover-session): + Handle dired-listing-switches not being just a single short option. + +2011-06-09 Glenn Morris + + * calendar/appt.el (appt-display-message, appt-disp-window): + Handle lists of appointments. + +2011-06-08 Martin Rudalics + + * window.el (one-window-p): Move down in code. + Rewrite doc-string. + (window-current-scroll-bars): Rewrite doc-string. + Normalize live window argument. + (walk-windows, get-window-with-predicate, count-windows): + Rewrite doc-string. Use window-list-1. + (window-in-direction-2, window-in-direction, get-mru-window): + New functions. + +2011-06-08 Reuben Thomas + + * progmodes/flymake.el (flymake-compilation-prevents-syntax-check): + Doc fix (Bug#8713). + +2011-06-08 Chong Yidong + + * repeat.el (repeat-on-final-keystroke): Fix type (Bug#8696). + +2011-06-08 Juanma Barranquero + + * loadhist.el (unload-feature-special-hooks): + Add `comint-output-filter-functions'. + +2011-06-08 Ivan Kanis + + * calendar/appt.el (appt-check): Move some initializations into the let. + +2011-06-08 Martin Rudalics + + * window.el (window-height): Defalias to window-total-height. + (window-width): Defalias to window-body-width. + +2011-06-07 Chong Yidong + + * image-mode.el (image-toggle-animation): New command. + (image-mode-map): Bind it to RET. + (image-mode): Update message. + (image-toggle-display-image): Avoid a spurious cache flush. + (image-transform-rotation): Doc fix. + (image-transform-properties): Return quickly in the normal case. + (image-animate-loop): Rename from image-animate-max-time. + + * image.el (image-animate-max-time): Move to image-mode.el. + (create-animated-image): Remove unnecessary function. + (image-animate): Rename from image-animate-start. New arg. + (image-animate-stop): Remove; just use image-animate-timer. + (image-animate-timer): Use car-safe. + (image-animate-timeout): Rename argument. + +2011-06-07 Martin Rudalics + + * window.el (get-lru-window, get-largest-window): Move here from + window.c. Rename first argument to ALL-FRAMES. + Rephrase doc-strings. + (get-buffer-window-list): Rewrite using window-list-1. + Rephrase doc-string. + (window-safe-min-height, window-safe-min-width): New constants. + (window-size-ignore, window-min-size, window-min-size-1) + (window-sizable, window-sizable-p, window-size-fixed-1) + (window-size-fixed-p, window-min-delta-1, window-min-delta) + (window-max-delta-1, window-max-delta, window-resizable) + (window-resizable-p, window-total-height, window-total-width) + (window-body-width): New functions. + (window-full-height-p, window-full-width-p): Rewrite using + window-total-size. + (window-body-height): Rewrite using window-body-size. + +2011-06-06 Martin Rudalics + + * window.el (window-right, window-left, window-child) + (window-child-count, window-last-child, window-any-p) + (normalize-live-buffer, normalize-live-frame) + (normalize-any-window, normalize-live-window) + (window-iso-combination-p, window-iso-combined-p) + (window-iso-combinations) + (walk-window-tree-1, walk-window-tree, walk-window-subtree) + (windows-with-parameter, window-with-parameter) + (window-atom-root, make-window-atom, window-atom-check-1) + (window-atom-check, window-side-check, window-check): + New functions. + (ignore-window-parameters, window-sides, window-sides-vertical) + (window-sides-slots): New variables. + (window-size-fixed): Move down in code. Minor doc-string fix. + +2011-06-05 Andreas Schwab + + * comint.el (comint-dynamic-complete-as-filename) + (comint-dynamic-complete-filename): Correctly call + completion-in-region. + +2011-06-05 Deniz Dogan + + * net/rcirc.el (rcirc-prompt-for-encryption): Fix bug introduced + in last change. + +2011-06-05 Deniz Dogan + + * net/rcirc.el (rcirc-prompt-for-encryption): New function. + (rcirc): Use it to prompt for encryption. + +2011-06-05 Roland Winkler + + * textmodes/bibtex.el (bibtex-search-buffer): New variable. + (bibtex-search-entries): New command bound to C-c C-a. + (bibtex-display-entries): New function. + +2011-06-05 Roland Winkler + + * textmodes/bibtex.el (bibtex-generate-url-list): Fix docstring. + (bibtex-insert-kill): After yanking insert newline if necessary. + (bibtex-initialize): Call bibtex-string-files-init only once. + (bibtex-mode): Do not call easy-menu-add. + (bibtex-validate-globally): Use save-excursion in bibtex buffers. + (bibtex-yank): Set arg properly if nil. + +2011-06-05 Roland Winkler + + * textmodes/bibtex.el (bibtex-search-entry-globally): + New variable. + (bibtex-search-entry): Use it. + +2011-06-05 Roland Winkler + + * textmodes/bibtex.el (bibtex-entry-format): New option + sort-fields. + (bibtex-format-entry, bibtex-reformat): Honor this option. + (bibtex-parse-entry): Return fields in proper order. + +2011-06-05 Juanma Barranquero + + * doc-view.el (doc-view-remove-if): Move computation of result out + of `dolist' to silence misleading lexical-binding warning. + +2011-06-04 Chong Yidong + + * emacs-lisp/timer.el (timer-activate): Remove unused arg. + (timer-activate, timer-activate-when-idle): Doc fix (Bug#8793). + +2011-06-04 Michael Albinus + + * net/tramp-sh.el (tramp-find-shell): Apply workaround also for + "SunOS 5.10". + +2011-06-04 Michael Albinus + + * net/tramp.el (tramp-set-completion-function, tramp-parse-rhosts) + (tramp-parse-shosts, tramp-parse-sconfig, tramp-parse-shostkeys) + (tramp-parse-hosts, tramp-parse-passwd, tramp-parse-netrc) + (tramp-parse-putty): + * net/tramp-sh.el (tramp-completion-function-alist-rsh) + (tramp-completion-function-alist-ssh) + (tramp-completion-function-alist-telnet) + (tramp-completion-function-alist-su) + (tramp-completion-function-alist-putty): Set `tramp-autoload' + cookie. + + * net/tramp-ftp.el: + * net/tramp-sh.el: + * net/tramp-smb.el: Set `tramp-autoload' cookie, and eval after + load "tramp.el" `tramp-set-completion-function'. + +2011-06-04 Stefan Monnier + + * shell.el: Require and use pcomplete. + (shell-dynamic-complete-functions): Add pcomplete-completions-at-point. + (shell-completion-vars): Set pcomplete-default-completion-function. + +2011-06-04 Deniz Dogan + + * iswitchb.el (iswitchb-window-buffer-p): Use `member' instead of + `memq' (Bug#8799). + +2011-06-02 Stefan Monnier + + * subr.el (make-progress-reporter): Add "..." by default (bug#8785). + +2011-06-02 Juanma Barranquero + + * bs.el (bs--mark-unmark, bs--nth-wrapper): + * mpc.el (mpc-select-extend, mpc-songpointer-context): + * vc/log-view.el (log-view-beginning-of-defun): + * vc/smerge-mode.el (smerge-apply-resolution-patch) + (smerge-refine-forward, smerge-refine-chopup-region): + Silence warning for unused `dotimes' counter variables. + +2011-06-02 Stefan Monnier + + * net/tramp.el (tramp-with-progress-reporter): Rename from + with-progress-reporter. Use `declare'. + * net/tramp-smb.el: + * net/tramp-sh.el: + * net/tramp-gvfs.el: Update all uses. + +2011-06-02 Jay Belanger + + * calc/calc.el (calc-kill-stack-buffer): Make sure that the trail + buffer isn't killed before making it current. + +2011-06-01 Stefan Monnier + + Silence various byte-compiler warnings. + * emacs-lisp/byte-run.el (make-obsolete-variable): New argument + `access-type' and new obsolescence format. + * emacs-lisp/bytecomp.el (byte-compile-warn-obsolete): Adjust to + new format. + (byte-compile-check-variable): New `access-type' argument. + Only warn if the access-type is obsolete. + (byte-compile-dynamic-variable-bind, byte-compile-variable-ref) + (byte-compile-variable-set): Adjust callers. + * help-fns.el (describe-variable): Adjust to new obsolescence format. + * mail/sendmail.el (mail-mailer-swallows-blank-line): Only mark + setting it as obsolete. + * simple.el (minibuffer-completing-symbol): + * font-lock.el (font-lock-beginning-of-syntax-function): Only mark read + access as obsolete. + * minibuffer.el (minibuffer-completing-file-name): Don't make it + obsolete yet. + * international/quail.el (quail-mouse-choose-completion): Remove unused + code referring to obsolete var. + (quail-choose-completion-string): Remove. + * server.el (server-clients-with, server-kill-buffer-query-function) + (server-kill-emacs-query-function): Silence "unused `proc'" warnings. + * proced.el (proced-send-signal): + * emacs-lisp/lisp.el (lisp-complete-symbol): + Replace completion-annotate-function with completion-extra-properties. + +2011-06-01 Stefan Monnier + + * simple.el (goto-line): Use read-number. + (overriding-map-is-bound): Remove. + (saved-overriding-map): Change default. + (save&set-overriding-map): Rename from ensure-overriding-map-is-bound; + Take the map as argument. + (universal-argument, negative-argument, digit-argument): Use it. + (restore-overriding-map): Adjust. + (do-auto-fill): Use fill-forward-paragraph. + (keyboard-quit): Don't signal an error when debug-on-quit is non-nil. + + * minibuffer.el (minibuffer-inactive-mode-map): New var. + (minibuffer-inactive-mode): New major mode. + * mouse.el (mouse-drag-region): Remove the "mouse-1 pops up + the *Messages* buffer" hack. + (mouse-popup-menubar): Don't burp if the event is a normal key. + + Miscellaneous tweaks. + * emacs-lisp/cl-macs.el (dolist, dotimes): Use the same strategy for + lexical scoping as in subr.el's dolist and dotimes. + * emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): + Silence compiler warning. + * thingatpt.el (forward-whitespace): Trivial coding style fix. + * subr.el (with-output-to-temp-buffer): Provide an edebug spec. + * international/ccl.el (ccl-compile): Trivial simplification. + * help-fns.el (help-do-arg-highlight): Silence compiler warning. + * emacs-lisp/testcover.el (testcover-end): Remove spurious + `printflag' argument. + * emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable): + Purecopy the whole obsolescence data. + +2011-06-01 Leo Liu + + * net/rcirc.el (rcirc-decode-coding-system): Revert last change; + improve doc-string as suggested by Marco Pessotto + . + (rcirc-print): Fix last change. + +2011-05-31 Stefan Monnier + + * minibuffer.el (complete-with-action): Return nil for the metadata and + boundaries of non-functional tables. + (completion-table-dynamic): Return nil for the metadata. + (completion-table-with-terminator): Add default case, using + complete-with-action. + (completion--metadata): New function. + (completion-all-sorted-completions, minibuffer-completion-help): Use it + to try and avoid pathological performance problems. + (completion--embedded-envvar-table): Return `category' metadata. + +2011-05-31 Lars Magne Ingebrigtsen + + * subr.el (process-alive-p): New tiny convenience function. + +2011-05-31 Stefan Monnier + + * emacs-lisp/debug.el (debug): Save&restore not just the buffer's + content but also its previous major mode. + +2011-05-31 Helmut Eller + + * emacs-lisp/debug.el (debug): Restore the previous content of the + *Backtrace* buffer when we exit with C-M-c. + +2011-05-31 Stefan Monnier + + * minibuffer.el: Add metadata method to completion tables. + (completion-category-overrides): New defcustom. + (completion-metadata, completion--field-metadata) + (completion-metadata-get, completion--styles) + (completion--cycle-threshold): New functions. + (completion-try-completion, completion-all-completions): + Add `metadata' argument to choose completion-styles. + (completion--do-completion): Use metadata to choose cycling. + (completion-all-sorted-completions): Use metadata for sorting. + Remove :completion-cycle-penalty which is not needed any more. + (completion--try-word-completion): Add `metadata' argument. + (minibuffer-completion-help): Check metadata for annotation function + and sorting. + (completion-file-name-table): Return `category' metadata. + (minibuffer-completing-file-name): Make obsolete. + * simple.el (minibuffer-completing-symbol): Make obsolete. + * icomplete.el (icomplete-completions): Pass new `metadata' param to + completion-try-completion. + +2011-05-30 Stefan Monnier + + * mail/smtpmail.el (smtpmail-send-data): Add progress reporter. + +2011-05-30 Leo Liu + + * net/rcirc.el (rcirc-debug-buffer): Use visible buffer name. + (rcirc-print): Decode all incoming messages (bug#8744). + (rcirc-decode-coding-system): Allow value nil for automatic coding + system detection. + +2011-06-01 Glenn Morris + + * mail/emacsbug.el (report-emacs-bug-hook): Mailclient ignores From. + +2011-05-29 Chong Yidong + + * image.el (image-animate-max-time): Allow nil and t values. + Default to nil. + (create-animated-image): Doc fix. + (image-animate-start): Remove second arg; just use + image-animate-max-time. + (image-animate-timeout): Doc fix. Args changed. + + * image-mode.el (image-toggle-display-image): Ensure that the + image spec passed to the animate timer is the same object as in + the buffer's display property (Bug#6981). + (image-transform-properties): Doc fix. + + * image.el (image-animate-max-time): Default to nil. + +2011-05-29 Martin Rudalics + + * menu-bar.el (kill-this-buffer-enabled-p): Avoid looping over + entire buffer list (Bug#8184). + +2011-05-29 Chong Yidong + + * image.el (imagemagick-types-inhibit) + (imagemagick-register-types): Doc fix. + +2011-05-29 Deniz Dogan + + * net/rcirc.el (rcirc): Use the user's stored encryption method by + default. + +2011-05-29 Chong Yidong + + * select.el: Don't perform clipboard-manager saving in hooks; + leave the hooks empty. + +2011-05-28 Leo Liu + + * replace.el (occur-menu-map, occur-edit-mode-map): New vars. + (occur-mode-map): Bind occur-edit-mode. Use occur-menu-map. + (occur-edit-mode): New major mode (Bug#8463). + (occur-after-change-function): New function. + (occur-engine): Give Occur tags a read-only property. + +2011-05-28 Kevin Ryde + + * subr.el (def-edebug-spec): Doc fix (Bug#8430). + +2011-05-28 Chong Yidong + + * bindings.el (help-echo): Make the initial non-indicator dash + empty on graphical terminals (Bug#7295). + + * files.el (auto-mode-alist): Move config rule after the + in-stripping one (Bug#8547). + + * newcomment.el (comment-end-skip): Doc fix (Bug#8659). + + * startup.el (normal-splash-screen): Remove gratuitous mode-line + setting (Bug#8740). + +2011-05-28 Alp Aker (tiny change) + + * buff-menu.el (Buffer-menu-revert-function, Buffer-menu-sort) + (Buffer-menu-buffer+size): Use Buffer-menu-buffer-column + (Bug#8539). + +2011-05-28 Chong Yidong + + * emacs-lisp/re-builder.el (re-builder): Improve doc (Bug#8286). + +2011-05-28 Dima Kogan (tiny change) + + * progmodes/hideshow.el (hs-looking-at-block-start-p): New fun. + (hs-hide-block-at-point, hs-find-block-beginning) + (hs-already-hidden-p, hs-hide-block, hs-show-block): Use it + (Bug#8279). + +2011-05-28 Glenn Morris + + * startup.el (fancy-about-screen): Use standard mode line. (Bug#8740) + +2011-05-28 Chong Yidong + + * help-fns.el (describe-function-1): If the function is a derived + major mode, print the parent mode. + + * progmodes/cc-mode.el (c-mode, c++-mode, objc-mode, java-mode) + (idl-mode, pike-mode, awk-mode): Inherit from prog-mode. + +2011-05-28 Stefan Monnier + + * minibuffer.el (completion--capf-wrapper): Check applicability before + returning non-nil for non-exclusive completion data. + * progmodes/etags.el (tags-completion-at-point-function): + * info-look.el (info-lookup-completions-at-point): Mark as + non-exclusive. + (info-complete): Adjust accordingly. + + * info-look.el: Convert to lexical-binding and completion-at-point. + (info-lookup-completions-at-point): New function. + (info-complete): Use it and completion-in-region. + +2011-05-28 Drew Adams + + * isearch.el: Let M-e start with point at the first mismatched char. + (isearch-fail-pos): New function. + (isearch-edit-string): Use it. + +2011-05-28 Dmitry Kurochkin (tiny change) + + * isearch.el (isearch-range-invisible): Use invisible-p (bug#8721). + +2011-05-27 Toby Cubitt + + * emacs-lisp/avl-tree.el: New avl-tree-stack datatype. Add new + traversal functions for avl-trees. + (avl-tree--stack): New struct. + (avl-tree-stack-p, avl-tree--stack-repopulate): New funs. + (avl-tree-enter): Add optional `updatefun' arg. + (avl-tree--do-enter): Add optional `updatefun' arg. + Change return value. + (avl-tree-delete): Add optional `test' and `nilflag' args. + (avl-tree--do-delete): Add `test' and `nilflag' args. + Change return value. + (avl-tree-member): Add optional `nilflag' + (avl-tree-member-p): New function. + (avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar): New functions. + (avl-tree-stack, avl-tree-stack-pop, avl-tree-stack-first) + (avl-tree-stack-empty-p): New functions. + + * emacs-lisp/avl-tree.el (avl-tree--del-balance): Rename from + avl-tree--del-balance1 and make it work both ways. + (avl-tree--del-balance2): Remove. + (avl-tree--enter-balance): Rename from avl-tree--enter-balance1 and + make it work both ways. + (avl-tree--enter-balance2): Remove. + (avl-tree--switch-dir, avl-tree--dir-to-sign, avl-tree--sign-to-dir): + New macros. + (avl-tree--mapc, avl-tree-map): Add direction argument. + +2011-05-27 David Michael (tiny change) + + * files.el (interpreter-mode-alist): Add rbash (bug#8745). + +2011-05-27 Chong Yidong + + * select.el: Support clipboard managers with built-in function + x-clipboard-manager-save, via delete-frame-functions and + kill-emacs-hook. + (xselect-convert-to-targets): Add MULTIPLE target to list. + (xselect-convert-to-save-targets): New function. + +2011-05-27 Kenichi Handa + + * mail/sendmail.el (mail-encode-header): Avoid double encoding by + let-binding rfc2047-encode-encoded-words to nil. + +2011-05-27 Glenn Morris + + * mail/emacsbug.el: Don't require url-util. + + * shell.el (shell-directory-tracker): Case matters. (Bug#8735) + + * files.el (set-auto-mode): + Also respect mode: entries at the end of the file. (Bug#8586) + +2011-05-26 Glenn Morris + + * files.el (hack-local-variables-prop-line, hack-local-variables): + Downcase mode names, as seems to be traditional. + (hack-local-variables, hack-local-variables-apply): Doc fixes. + + * mail/emacsbug.el (report-emacs-bug): Mention checking From address. + (report-emacs-bug-hook): Try to validate the From address. (Bug#8038) + +2011-05-25 Julien Danjou + + * textmodes/rst.el (rst-define-level-faces): Do not define face + symbol if it is already defined. + +2011-05-24 Vincent Belaïche + + * play/5x5.el (5x5-new-game, 5x5-randomize): + Reset 5x5-solver-output to nil when a new grid is cast. + (5x5-log-init, 5x5-log): Use defsubst instead of defmacro to shunt + these debugging traces, as defmacro breaks the compiled code. + +2011-05-24 Dmitry Kurochkin (tiny change) + + * isearch.el (isearch-range-invisible): Use invisible-p (bug#8721). + +2011-05-24 Leo Liu + + * vc/vc-bzr.el (vc-bzr-sha1-program): Rename from sha1-program. + (vc-bzr-sha1): Adapt. + + * sha1.el: Remove. Function `sha1' is now builtin. + + * bindings.el: Provide sha1 feature. + +2011-05-24 Kenichi Handa + + * mail/sendmail.el: Require `rfc2047'. + (mail-insert-from-field): Do not perform RFC2047 encoding. + (mail-encode-header): New function. + (sendmail-send-it): Set buffer-file-coding-system of the work + buffer to the return value of select-message-coding-system. + Call mail-encode-header. + + * mail/smtpmail.el (smtpmail-send-it): Call mail-encode-header. + +2011-05-24 Sean Neakums (tiny change) + + * mail/supercite.el (sc-default-cite-frame): + Handle sc-nested-citation-p when sc-cite-blank-lines-p is non-nil. + +2011-05-24 Glenn Morris + + * progmodes/python.el (brm-menu): Declare. + + * emulation/viper.el (viper-set-hooks): Declare. + + * play/5x5.el (5x5-log-init, 5x5-log): Evaluate when compiling. + (5x5-log-init, 5x5-log, 5x5-solver): Doc fixes. + (math-map-vec, math-sub, math-mul, math-make-intv, math-reduce-vec) + (math-format-number, math-pow, calcFunc-arrange, calcFunc-cvec) + (calcFunc-diag, calcFunc-trn, calcFunc-inv, calcFunc-mrow) + (calcFunc-mcol, calcFunc-vconcat, calcFunc-index): Declare. + +2011-05-24 Stefan Monnier + + Add an :exit-function for completion-at-point. + + * minibuffer.el (completion--done): New fun. + (completion--do-completion): Use it. New arg `expect-exact'. + (minibuffer-complete, minibuffer-complete-word): Don't output message, + since completion--do-completion does it for us now. + (minibuffer-force-complete): Use completion--done and + completion--replace. Handle sole-completion case with more care. + (minibuffer-complete-and-exit): Use new `expect-exact' arg. + (completion-extra-properties): New var. + (completion-annotate-function): Make obsolete. + (minibuffer-completion-help): Adjust accordingly. + Use completion-list-insert-choice-function. + (completion-at-point, completion-help-at-point): + Bind completion-extra-properties. + (completion-pcm-word-delimiters): Add | (for uniquify, for example). + * simple.el (completion-list-insert-choice-function): New var. + (completion-setup-function): Preserve it. + (choose-completion): Pay attention to it, shuffle the code a bit. + (choose-completion-string): New arg `insert-function'. + + * textmodes/bibtex.el: Convert to lexical binding. + (bibtex-mode-map): Use completion-at-point. + (bibtex-mode): Use define-derived-mode&completion-at-point-functions. + (bibtex-completion-at-point-function): New fun, from bibtex-complete. + (bibtex-complete): Define as obsolete alias. + (bibtex-complete-internal): Remove. + (bibtex-format-entry): Remove unused sub-group in regexp. + * shell.el (shell--command-completion-data) + (shell-environment-variable-completion): + * pcomplete.el (pcomplete-completions-at-point): + * comint.el (comint--complete-file-name-data): Use :exit-function + instead of completion-table-with-terminator so it also works for + choose-completion. + +2011-05-23 Stefan Monnier + + * .el: Don't quote lambda expressions with `quote'. + + * vc/smerge-mode.el (smerge-refine-subst): Don't deactivate the mark + (bug#8710). + + * emacs-lisp/lisp.el (up-list): Fix forward movement (bug#8708). + +2011-05-23 Ken Manheimer + + * allout.el (allout-inhibit-auto-fill-on-headline): Create new + customization variable and implement: If non-nil, auto-fill will + be inhibited while on topic's header line. + +2011-05-23 Vincent Belaïche + + * play/5x5.el: I/ Add an arithmetic solver to suggest positions to + click on. II/ Make 5x5 multisession. III/ Ensure that random grids + always have a solution in grid size = 5 cases. + (5x5-mode-map): Add keybinding to function `5x5-solve-suggest'. + (5x5-solver-output, 5x5-log-buffer): New vars. + (5x5-grid, 5x5-x-pos, 5x5-y-pos, 5x5-moves, 5x5-cracking): + Make these variables buffer local to achieve 5x5 multi-session-ness. + (5x5): Set 5x5-grid-size only if SIZE is non-negative. + (5x5-grid-to-vec, 5x5-vec-to-grid, 5x5-log-init, 5x5-log, 5x5-solver) + (5x5-solve-suggest): New funs. + (5x5-randomize): Use 5x5-make-move instead of 5x5-flip-cell to + randomize a grid so that we ensure that there is always a solution. + (5x5-make-random-grid): Allow other movement than flipping. + +2011-05-23 Kevin Ryde + + * emacs-lisp/advice.el (ad-read-advised-function): + Use `function-called-at-point' as the default, if it has + advice and passes PREDICATE. + +2011-05-23 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-function-form): Only call + byte-compile-lambda if it's actually a lambda. + + * emacs-lisp/eieio.el (eieio-defgeneric-form-primary-only-one): + Fix function quoting. Use backquote better. + +2011-05-22 Yuanle Song + + * nxml/rng-xsd.el (rng-xsd-check-pattern): Use case-sensitive + matching (Bug#8516). + +2011-05-22 Jari Aalto + + * vc/vc-dir.el (vc-default-dir-printer): Give edited tag a + different face (Bug#8178). + +2011-05-22 Chong Yidong + + * vc/diff-mode.el (diff-changed): Don't use terminal specs for + defface (Bug#8144). + +2011-05-22 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexpand-all-1): Convert ' to #' for + funcall as well (bug#8712). Warn when performing those conversions. + * emacs-lisp/bytecomp.el (byte-compile-form): Fix error report. + + * progmodes/grep.el (grep-mode): Fix it for good (bug#8684)! + +2011-05-22 Glenn Morris + + * files.el (hack-local-variables-prop-line): Small simplifications. + (hack-local-variables, hack-local-variables-prop-line): + If MODE-ONLY, return the mode, rather than just `t'. + +2011-05-21 Stefan Monnier + + * progmodes/grep.el (grep-mode): Fix last change (bug#8684). + +2011-05-21 Glenn Morris + + * files.el (hack-local-variables-prop-line, hack-local-variables): + If only interested in the mode, don't bother doing the other stuff. + + * image-mode.el (image-after-revert-hook): + Redraw all frames on which the image is visible. (Bug#8567) + + * dired-aux.el (dired-touch-initial): Just use current-time. (Bug#6887) + + * wid-edit.el (widget-checklist-match-inline): + Fix 2011-04-19 change. (Bug#8649) + +2011-05-20 Stefan Monnier + + * emacs-lisp/checkdoc.el (checkdoc-sentencespace-region-engine): + Also allow singlespace after single-letter capitals followed by a dot. + + * nxml/nxml-mode.el (nxml-electric-slash): Reindent when completion is + enabled. Suggested by James Ahlborn (bug#8704). + +2011-05-20 Nix + + * files.el (basic-save-buffer-2): + Fix handling of break-hardlink-on-save with non-existent files. + +2011-05-19 Deniz Dogan + + * net/rcirc.el (rcirc-mode): Initialize rcirc-urls to nil. + (rcirc-markup-urls): Check if rcirc-url-regexp is nil. + +2011-05-19 Glenn Morris + + * progmodes/f90.el (f90-type-def-re): + Handle "type, bind(c)". (Bug#8691) + + * emacs-lisp/autoload.el (batch-update-autoloads): + Set autoload-excludes by parsing loadup.el rather than Makefiles. + +2011-05-18 Michael Albinus + + * net/tramp.el (tramp-process-actions): Set "first-password-request" + property for the correct connection in case of multihops. + +2011-05-18 Glenn Morris + + * emacs-lisp/authors.el (authors-fixed-entries): Remove fakemail.c. + * mail/sendmail.el (sendmail-program): Fall back to just "sendmail". + + Rationalize calendar handling of day and month abbrev-arrays. + * calendar/calendar.el (calendar-customized-p): New function. + (calendar-abbrev-construct, calendar-make-alist): Change what it does. + (calendar-day-name-array, calendar-month-name-array): Doc fix. + Add :set function. + (calendar-abbrev-length, calendar-day-abbrev-array) + (calendar-month-abbrev-array): Make defcustoms, with appropriate :set. + (calendar-day-abbrev-array, calendar-month-abbrev-array): + Elements may no longer be nil. + (calendar-day-name, calendar-month-name): + Update for changed nature of abbrev arrays. + * calendar/diary-lib.el (diary-name-pattern): + Update for changed nature of abbrev arrays. + (diary-mark-entries-1): Update calendar-make-alist calls. + (diary-font-lock-date-forms): Doc fix for changed abbrev arrays. + * calendar/cal-html.el (cal-html-day-abbrev-array): + Simply inherit from calendar-day-abbrev-array. + +2011-05-17 Stefan Monnier + + * progmodes/grep.el (grep-mode): Disable default + compilation-directory-matcher setting (bug#8684). + +2011-05-17 Michael Albinus + + * net/tramp.el (tramp-handle-insert-file-contents): Use "dd" + instead of "head" and "tail". There were problems with SunOS 5.9, + and it performs better. + +2011-05-17 Glenn Morris + + * mail/mail-utils.el (mail-dont-reply-to): Silence compiler. + + * progmodes/idlw-shell.el (idlwave-shell-complete-filename): + Replace obsolete function. + + * shell.el (pcomplete-parse-arguments-function): Declare. + + * calendar/appt.el (appt-message-warning-time, appt-display-mode-line) + (appt-display-diary, appt-display-interval, appt-prev-comp-time) + (appt-check): Doc fixes. + (appt-disp-window-function, appt-delete-window-function): + Remove needless special case in custom :type. + (appt-display-count): Default to 0, not nil. + (appt-check): Reset appt-display-count to 0, not nil. + +2011-05-17 Juanma Barranquero + + * progmodes/python.el (python-font-lock-keywords): + Add the Python 3.X keyword "nonlocal" (bug#8639). + +2011-05-16 Stefan Monnier + + * emacs-lisp/eieio.el (defmethod): Fix quoting of code (bug#8677). + +2011-05-16 Kevin Ryde + + * info-look.el (makefile-automake-mode): New setups, looking in + automake manual, then makefile-mode. + (makefile-mode): Remove automake manual, have it just in + makefile-automake-mode since there's various things different or + not relevant to plain make. + (makefile-mode): Remove "other-modes" non-existent automake-mode, + believe a hypothetical automake-mode would go to makefile-mode, + not the other way around. + +2011-05-15 Chong Yidong + + * vc/diff-mode.el (diff-fixup-modifs): Locate correct position for + hunk-end tags (Bug#8672). + + * vc/vc-annotate.el (vc-annotate-mode-map): Bind = to + vc-annotate-show-diff-revision-at-line (Bug#8671). + +2011-05-14 Glenn Morris + + * vc/add-log.el (add-change-log-entry): Don't start adding a new entry + in the middle of an existing one with multiple authors. (Bug#8645) + (change-log-font-lock-keywords): Also handle multiple author lines + with leading tabs. (Bug#8644) + + * calendar/appt.el (appt-check): Rename some local variables. + Some simplification/reordering. + + * mail/feedmail.el (feedmail-confirm-outgoing-timeout) + (feedmail-sendmail-f-doesnt-sell-me-out) + (feedmail-queue-slug-suspect-regexp, feedmail-debug) + (feedmail-debug-sit-for, feedmail-queue-express-hook) + (feedmail-queue-runner-message-sender): Set :version. + (bbdb-search, bbdb-records, smtp-via-smtp, smtp-server) + (bbdb-dwim-net-address, vm-mail): Declare. + (feedmail-binmail-gnulinuxish-template): + Rename from feedmail-binmail-linuxish-template. + (feedmail-buffer-to-smtp, feedmail-vm-mail-mode): + Use insert-buffer-substring. + +2011-05-14 Bill Carpenter + + * mail/feedmail.el (feedmail-patch-level): Increase. + (feedmail-debug): New custom group. + (feedmail-confirm-outgoing-timeout) + (feedmail-sendmail-f-doesnt-sell-me-out) + (feedmail-queue-slug-suspect-regexp, feedmail-debug) + (feedmail-debug-sit-for, feedmail-queue-express-hook): New options. + (feedmail-sender-line, feedmail-from-line) + (feedmail-fiddle-headers-upwardly, feedmail-enable-spray) + (feedmail-spray-this-address) + (feedmail-spray-address-fiddle-plex-list) + (feedmail-queue-use-send-time-for-date) + (feedmail-queue-use-send-time-for-message-id) + (feedmail-last-chance-hook, feedmail-queue-runner-mode-setter) + (feedmail-buffer-eating-function): + Doc fixes. + (feedmail-spray-via-bbdb, feedmail-buffer-to-smtp) + (feedmail-vm-mail-mode, feedmail-message-action-scroll-up) + (feedmail-message-action-scroll-down): New functions. + (feedmail-queue-directory, feedmail-queue-draft-directory): + Use expand-file-name. + (feedmail-prompt-before-queue-standard-alist): Add scroll entries. + Remove C-v help entry. + (feedmail-queue-buffer-file-name): New variable. + (feedmail-mail-send-hook-splitter, feedmail-buffer-to-binmail) + (feedmail-buffer-to-smtpmail, feedmail-queue-express-to-draft) + (feedmail-message-action-send-strong, feedmail-message-action-edit) + (feedmail-message-action-draft, feedmail-message-action-draft-strong) + (feedmail-message-action-queue, feedmail-message-action-queue-strong) + (feedmail-message-action-toggle-spray) + (feedmail-run-the-queue-no-prompts) + (feedmail-run-the-queue-global-prompt, feedmail-queue-reminder) + (feedmail-look-at-queue-directory, feedmail-queue-subject-slug-maker) + (feedmail-create-queue-filename, feedmail-rfc822-time-zone): + (feedmail-fiddle-header, feedmail-give-it-to-buffer-eater) + (feedmail-envelope-deducer, feedmail-fiddle-from) + (feedmail-fiddle-sender, feedmail-default-date-generator) + (feedmail-fiddle-date, feedmail-fiddle-message-id) + (feedmail-fiddle-spray-address) + (feedmail-fiddle-list-of-spray-fiddle-plexes) + (feedmail-fiddle-list-of-fiddle-plexes) + (feedmail-fill-to-cc-function, feedmail-fill-this-one) + (feedmail-one-last-look, feedmail-fqm-p): Add debug calls. + (feedmail-queue-runner-message-sender, feedmail-binmail-template): + Change default. Doc fix. + (feedmail-queue-runner-cleaner-upper): Use feedmail-say-chatter. + (feedmail-binmail-linuxish-template): New constant. + (feedmail-buffer-to-sendmail): Doc fix. Add debug call. + Respect feedmail-sendmail-f-doesnt-sell-me-out. + (feedmail-send-it): Add debug call. + Use feedmail-queue-buffer-file-name, and + feedmail-send-it-immediately-wrapper. + (feedmail-message-action-send): Add debug call. + Use feedmail-send-it-immediately-wrapper. + (feedmail-queue-express-to-queue): Add debug call. + Run feedmail-queue-express-hook. + (feedmail-message-action-help): Add debug call. Use feedmail-p-h-b-n. + (feedmail-message-action-help-blat): + Rename from feedmail-queue-send-edit-prompt-help-first. + (feedmail-run-the-queue): Add debug call. Set buffer-file-type. + Check line-endings. Handle errors better. + (feedmail-queue-reminder-brief, feedmail-queue-reminder-medium): + Doc fix. Add debug call. + (feedmail-queue-send-edit-prompt): Doc fix. Add debug call. + Use feedmail-queue-send-edit-prompt-inner. + (feedmail-queue-runner-prompt, feedmail-scroll-buffer): New functions. + (feedmail-queue-send-edit-prompt-inner): New function, extracted + from feedmail-queue-send-edit-prompt. + (feedmail-queue-send-edit-prompt-help) + (feedmail-queue-send-edit-prompt-help-later): Remove functions. + (feedmail-tidy-up-slug): Add debug call. + Respect feedmail-queue-slug-suspect-regexp. + (feedmail-queue-subject-slug-maker): Use buffer-substring-no-properties. + (feedmail-dump-message-to-queue): Add debug call. + Expand queue-directory. + (feedmail-dump-message-to-queue): Change message slightly. + Use feedmail-say-chatter. + (feedmail-rfc822-date): Add debug call. Bind system-time-locale. + (feedmail-send-it-immediately-wrapper): New function. + (feedmail-send-it-immediately): Add debug calls. Use let not let*. + Insert empty string rather than newline. Handle full-frame case. + Use catch/throw. Use feedmail-say-chatter. + (feedmail-fiddle-from): Try mail-host-address. + (feedmail-default-message-id-generator): Doc fix. + Bind system-time-locale. Handle missing end. + (feedmail-fiddle-x-mailer): Add debug call. + Handle feedmail-x-mailer-line being nil. + (feedmail-accume-n-nuke-header, feedmail-deduce-address-list): + Add debug call. Use buffer-substring-no-properties. + (feedmail-say-debug, feedmail-say-chatter): New functions. + (feedmail-find-eoh): Give an explicit error. + +2011-05-13 Ulf Jasper + + * net/newst-treeview.el (newsticker-treeview-face): Change default + family from helvetica to sans. + (newsticker-treeview-tool-bar-map): Move tool-bar icons to + etc/images/newsticker. + + * net/newst-reader.el (newsticker-feed-face): Change default + family from helvetica to sans. + + * net/newst-plainview.el (newsticker-new-item-face) + (newsticker-old-item-face, newsticker-immortal-item-face) + (newsticker-obsolete-item-face, newsticker-date-face) + (newsticker-statistics-face): Change default family from + helvetica to sans. + (newsticker--plainview-tool-bar-map): Move tool-bar icons to + etc/images/newsticker. + + * net/newst-backend.el (newsticker--do-run-auto-mark-filter) + (newsticker--process-auto-mark-filter-match): Tell user about + auto-marking. + +2011-05-13 Didier Verna + + Common Lisp indentation improvements on defmethod and lambda-lists. + * emacs-lisp/cl-indent.el: Advertise the changes and remove obsolete + TODO entries. + (lisp-lambda-list-keyword-parameter-indentation) + (lisp-lambda-list-keyword-parameter-alignment) + (lisp-lambda-list-keyword-alignment): New customizable user options. + (lisp-indent-defun-method): Improve docstring. + (extended-loop-p): Fix comment. + (lisp-indent-lambda-list-keywords-regexp): New variable. + (lisp-indent-lambda-list): New function. + (lisp-indent-259): Use it. + (lisp-indent-defmethod): Support for more than one + method qualifier and properly indent methods lambda-lists. + (defgeneric): Provide a missing common-lisp-indent-function property. + +2011-05-13 Stefan Monnier + + * thingatpt.el (bounds-of-thing-at-point): Return nil rather than + bounds for the empty string (bug#8667). + +2011-05-13 Glenn Morris + + * mail/feedmail.el (feedmail-buffer-to-sendmail): Require sendmail. + + * mail/sendmail.el (sendmail-program): Try executable-find first. + (sendmail-send-it): `sendmail-program' cannot be unbound. + + * calendar/appt.el (appt-make-list): Simplify. + (appt-time-msg-list): Doc fix. + (appt-check): Change mode-line message at the time of the appointment. + +2011-05-12 Andreas Schwab + + * progmodes/ld-script.el (ld-script-keywords) + (ld-script-builtins): Update keywords list. + +2011-05-12 Stefan Monnier + + * progmodes/grep.el (grep-filter): Don't trip on partial lines. + + * shell.el (shell-completion-vars): New function. + (shell-mode): + * simple.el (read-shell-command): Use it. + (blink-matching-open): No need for " [...]" in minibuffer-message. + +2011-05-12 Glenn Morris + + * calendar/appt.el (appt-now-displayed): Remove pointless variable. + (appt-check): Simplify. + +2011-05-12 Eli Zaretskii + + * vc/smerge-mode.el (smerge-resolve): Use null-device rather than a + literal "/dev/null". + +2011-05-12 Stefan Monnier + + * emacs-lisp/lisp.el (lisp-complete-symbol, lisp-completion-at-point): + Fix typo. + +2011-05-12 Ralph Schleicher + + * progmodes/which-func.el (which-function): + Use add-log-current-defun instead of add-log-current-defun-function, + which might not be defined (Bug#8260). + +2011-05-12 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble): + Let byte-compile-initial-macro-environment always take precedence. + +2011-05-12 Stefan Monnier + + * net/rcirc.el: Add support for SSL/TLS connections. + (rcirc-server-alist): New field `encryption'. + (rcirc): Check `encryption' settings. + (rcirc-connect): New arg `encryption'. Use open-network-stream. + Merge make-local-variable into `set'. + (rcirc--connection-open-p): New function. + (rcirc-send-string, rcirc-clean-up-buffer): Use it to handle case where + the process is not a network process (e.g. running gnutls-cli). + (set-rcirc-decode-coding-system, set-rcirc-encode-coding-system): + Make rcirc-(en|de)code-coding-system local here. + (rcirc-mode): Merge make-local-variable into `set'. + (rcirc-parent-buffer): Make permanent buffer-local. + (rcirc-multiline-minor-mode): Don't do it here. + (rcirc-switch-to-server-buffer): Don't switch to a random buffer if + there's no server buffer. + +2011-05-11 Glenn Morris + + * newcomment.el (comment-kill): Prefix "unused" local. + + * term/w32console.el (get-screen-color): Declare. + + * emacs-lisp/bytecomp.el (byte-compile-arglist-warn): + Handle symbol elements of byte-compile-initial-macro-environment. + +2011-05-10 Leo Liu + + * bookmark.el (bookmark-bmenu-mode-map): + Bind bookmark-bmenu-search to `/'. + + * mail/footnote.el: Convert to utf-8 encoding. + (footnote-unicode-string, footnote-unicode-regexp): New variable. + (Footnote-unicode): New function. + (footnote-style-alist): Add unicode style to the list. + (footnote-style): Doc fix. + +2011-05-10 Jim Meyering + + Fix doubled-word typos. + * international/quail.el (quail-insert-kbd-layout): and and -> and. + * kermit.el: and and -> and. + * net/ldap.el (ldap-search-internal): to to -> to. + * progmodes/vhdl-mode.el (vhdl-offsets-alist): Likewise. + * progmodes/js.el (js-mode): and and -> and. + * textmodes/artist.el (artist-move-to-xy): at at -> at. + (artist-draw-region-trim-line-endings): if if -> if. + And Safetyc -> Safety. + * textmodes/reftex-dcr.el (reftex-view-crossref): at at -> at a. + +2011-05-10 Glenn Morris + Stefan Monnier + + * files.el (hack-one-local-variable-eval-safep): + Consider "eval: (foo-mode)" to be safe. (Bug#8613) + +2011-05-10 Glenn Morris + + * calendar/diary-lib.el (diary-list-entries-hook) + (diary-mark-entries-hook, diary-nongregorian-listing-hook) + (diary-nongregorian-marking-hook, diary-list-entries) + (diary-include-other-diary-files, diary-mark-entries) + (diary-mark-included-diary-files): Doc fixes. + +2011-05-09 Juanma Barranquero + + * misc.el: Require tabulated-list.el during compilation. + +2011-05-09 Chong Yidong + + * progmodes/compile.el (compilation-start): + Run compilation-filter-hook for the async case too. + (compilation-filter-hook): Doc fix. + +2011-05-09 Deniz Dogan + + * wdired.el: Remove outdated installation comment. Fix usage + comment. + +2011-05-09 Juanma Barranquero + + * misc.el: Implement new command `list-dynamic-libraries'. + (list-dynamic-libraries--loaded-only-p): New variable. + (list-dynamic-libraries--refresh): New function. + (list-dynamic-libraries): New command. + +2011-05-09 Chong Yidong + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Fix the ant regexp to handle end-line and end-column info from jikes. + Re-introduce maven regexp. Give the ruby-Test::Unit regexp a + higher priority to avoid clobbering by gnu. + +2011-05-08 Chong Yidong + + * cus-face.el (custom-declare-face): Call custom-theme-recalc-face + if the face has existing theme settings (Bug#8454). + +2011-05-08 Ralph Schleicher + + * progmodes/perl-mode.el (perl-imenu-generic-expression): + Only match variables declared via `my' or `our' (Bug#8261). + + * net/browse-url.el (browse-url-of-dired-file): Allow browsing of + special file names `.' and `..' (Bug#8259). + +2011-05-08 Chong Yidong + + * progmodes/grep.el (grep-mode-font-lock-keywords): + Remove buffer-changing entries. + (grep-filter): New function. + (grep-mode): Add it to compilation-filter-hook. + + * progmodes/compile.el (compilation-filter-hook) + (compilation-filter-start): New defvars. + (compilation-filter): Call compilation-filter-hook prior to + updating the process mark. + +2011-05-08 Stefan Monnier + + * emacs-lisp/eieio.el (defmethod): Fix typo in last change. + +2011-05-07 Eli Zaretskii + + * mail/sendmail.el (send-mail-function): On MS-Windows, default to + mailclient-send-it even if window-system is nil. (Bug#8595) + + * term/w32console.el (terminal-init-w32console): + Call get-screen-color and use its output to set the frame + background-mode. (Bug#8597) + +2011-05-07 Stefan Monnier + + Make bytecomp.el understand that defmethod defines funs (bug#8631). + * emacs-lisp/eieio.el (eieio--defalias, eieio--defgeneric-init-form): + New functions. + (defgeneric, eieio--defmethod): Use them. + (eieio-defgeneric): Remove. + (defmethod): Call defgeneric in a way visible to the byte-compiler. + +2011-05-07 Glenn Morris + + * calendar/timeclock.el (timeclock-log-data): Remove unused local. + Use let rather than let*. + (timeclock-find-discrep): Remove unused local. + + * calendar/diary-lib.el (diary-comment-start): Doc fix. + + * calendar/appt.el (appt-time-msg-list): Doc fix. + +2011-05-06 Noah Friedman + + * apropos.el (apropos-print-doc): Only use + emacs-lisp-docstring-fill-column when it is bound to an integer, + per that variable's documentation. + +2011-05-06 Stefan Monnier + + * lpr.el (print-region-1): Echo lpr-program's output, so error messages + and warnings are not silently discarded (e.g. use -d instead of -P). + +2011-05-06 Glenn Morris + + * calendar/appt.el (appt-message-warning-time): Doc fix. + (appt-warning-time-regexp): New option. + (appt-make-list): Respect appt-message-warning-time. + + * calendar/diary-lib.el (diary-comment-start, diary-comment-end): + New options. + (diary-add-to-list): Strip comments from the displayed string. + (diary-mode): Set comment-start and comment-end. + + * vc/diff-mode.el (smerge-refine-subst): Declare. + (diff-refine-hunk): Don't require smerge-mode when compiling. + +2011-05-06 Juanma Barranquero + + * simple.el (list-processes): Return nil as the docstring says. + +2011-05-05 Michael Albinus + + * net/ange-ftp.el (ange-ftp-binary-file-name-regexp): Set default + to "". + (ange-ftp-write-region, ange-ftp-insert-file-contents) + (ange-ftp-copy-file-internal): Use only `ange-ftp-binary-file' for + determining of binary transfer. (Bug#7383) + +2011-05-05 Michael Albinus + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Fix port computation bug. (Bug#8618) + +2011-05-05 Glenn Morris + + * allout-widgets.el (allout-widgets-mode-inhibit): Declare before use. + + * simple.el (shell-dynamic-complete-functions) + (comint-dynamic-complete-functions): Declare. + + * net/network-stream.el (gnutls-negotiate): + * simple.el (tabulated-list-print): Fix declarations. + + * progmodes/gud.el (syntax-symbol, syntax-point): + Remove unnecessary and incorrect declarations. + + * emacs-lisp/check-declare.el (check-declare-scan): + Handle byte-compile-initial-macro-environment in bytecomp.el. + +2011-05-05 Stefan Monnier + + Fix earlier half-done eieio-defmethod change (bug#8338). + * emacs-lisp/eieio.el (eieio--defmethod): Rename from eieio-defmethod. + Streamline and change calling convention. + (defmethod): Adjust accordingly and simplify. + (eieio-defclass): Fix broken calls to eieio-defmethod and redirect to + new eieio--defmethod. + (slot-boundp): Minor CSE simplification. + +2011-05-05 Milan Zamazal + + * progmodes/glasses.el (glasses-separate-capital-groups): New option. + (glasses-make-readable): Use glasses-separate-capital-groups. + +2011-05-05 Juanma Barranquero + + * emacs-lisp/warnings.el (warning-level-aliases): Reflow docstring. + (warning-series): Doc fix. + (display-warning): Don't try to create the buffer if we just found it. + +2011-05-04 Chong Yidong + + * emacs-lisp/autoload.el (generated-autoload-file): Set to nil. + (autoload-find-generated-file): New function. + (generate-file-autoloads): Bind generated-autoload-file to + buffer-file-name. + (update-file-autoloads, update-directory-autoloads): + Use autoload-find-generated-file. If called interactively, prompt for + output file (Bug#7989). + (batch-update-autoloads): Doc fix. + +2011-05-04 Juanma Barranquero + + * term/w32-win.el (dynamic-library-alist): Add `gnutls'. + +2011-05-04 Glenn Morris + + * calendar/diary-lib.el (diary-fancy-date-pattern): Turn it into a + function, so it follows changes in calendar-date-style. + (diary-fancy-date-matcher): New function. + (diary-fancy-font-lock-keywords): Use diary-fancy-date-matcher. + (diary-fancy-font-lock-fontify-region-function): + Use diary-fancy-date-pattern as a function. + + * calendar/diary-lib.el (diary-fancy-date-pattern): Do not use + non-numbers for `year' etc pseudo-variables. (Bug#8583) + +2011-05-04 Teodor Zlatanov + + * net/gnutls.el (gnutls-negotiate): Use CL-style keyword arguments + instead of positional arguments. Allow :keylist and :crlfiles + arguments. + (open-gnutls-stream): Call it. + + * net/network-stream.el (network-stream-open-starttls): Adjust to + call `gnutls-negotiate' with :process and :hostname arguments. + +2011-05-04 Stefan Monnier + + * minibuffer.el (completion--message): New function. + (completion--do-completion, minibuffer-complete) + (minibuffer-force-complete, minibuffer-complete-word): Use it. + (completion--do-completion): Don't ignore completion-auto-help when in + icomplete-mode. + + * whitespace.el (whitespace-trailing-regexp): Don't rely on the + internal encoding (e.g. tibetan zero is not whitespace). + (global-whitespace-mode): Prefer save-current-buffer. + (whitespace-trailing-regexp): Remove useless save-match-data. + (whitespace-empty-at-bob-regexp): Minor simplification. + +2011-05-03 Chong Yidong + + * emacs-lisp/autoload.el (generated-autoload-file): Doc fix (Bug#7989). + +2011-05-03 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-add-per-file-word-list): + Use `concat' to create string for insertion. + +2011-05-03 Stefan Monnier + + * textmodes/bibtex.el (bibtex-fill-field-bounds, bibtex-fill-entry): + Avoid open-line which runs post-self-insert-hook. + (bibtex-fill-entry): Remove unused `end' var. + +2011-05-03 Dirk Ullrich (tiny change) + + * textmodes/ispell.el (ispell-add-per-file-word-list): + Protect against `nil' value of `comment-start' (Bug#8579). + +2011-05-03 Leo Liu + + * isearch.el (isearch-yank-pop): New command. + (isearch-mode-map): Bind it to `M-y'. + (isearch-forward): Mention it. + +2011-05-03 Stefan Monnier + + * simple.el (minibuffer-complete-shell-command): Remove. + (minibuffer-local-shell-command-map): Use completion-at-point. + (read-shell-command): Setup completion vars here instead. + (read-expression-map): Bind TAB to symbol completion. + + * textmodes/ispell.el (lookup-words): Use with-temp-buffer; signal + error directly rather via storing it into `results'. + +2011-05-02 Leo Liu + + * vc/diff.el: Fix description. + +2011-05-02 Lars Magne Ingebrigtsen + + * server.el (server-eval-at): New function. + +2011-05-01 Lars Magne Ingebrigtsen + + * net/network-stream.el (open-network-stream): Take a :nowait + parameter and pass it on to `make-network-process'. + (network-stream-open-plain): Ditto. + +2011-04-30 Andreas Schwab + + * faces.el (face-spec-set-match-display): Don't match toolkit + options on terminal frames. + +2011-04-29 Stefan Monnier + + * progmodes/pascal.el: Use lexical binding. + (pascal-mode-map): Remove author preferences. + + * pcomplete.el (pcomplete-std-complete): Don't abuse + completion-at-point. + +2011-04-28 Juanma Barranquero + + * calc/calccomp.el (math-comp-to-string-flat-term): Simplify by + removing code that has been dead since 1991 or so. + + * startup.el (command-line): When warning about "_emacs", use a + delayed warning to allow the user to filter it out. + +2011-04-28 Deniz Dogan + + * net/rcirc.el (rcirc-handler-353): Fix bug for channels which the + user has not joined. + +2011-04-28 Stefan Monnier + + * pcomplete.el (pcomplete-completions-at-point): Return nil if there + aren't any completions at point. + +2011-04-28 Juanma Barranquero + + * subr.el (display-delayed-warnings): New function. + (delayed-warnings-hook): New variable. + +2011-04-28 Stefan Monnier + + * minibuffer.el (completion-at-point, completion-help-at-point): + Don't presume that a given completion-at-point-function will always + use the same calling convention. + + * pcomplete.el (pcomplete-completions-at-point): + Obey pcomplete-ignore-case. Don't call pcomplete-norm-func unless + pcomplete-seen is non-nil. + (pcomplete-comint-setup): Also recognize the new comint/shell + completion functions. + (pcomplete-do-complete): Don't call pcomplete-norm-func unless + pcomplete-seen is non-nil. + +2011-04-27 Niels Giesen + + * calendar/icalendar.el (diary-lib): Add require statement. + (icalendar--create-uid): Read out a uid from a text-property on + the first character in the entry. This allows for code to add its + own uid to the entry. + (icalendar--convert-float-to-ical): Add export of + `diary-float'-entries save for those with the optional DAY + argument. + +2011-04-27 Daniel Colascione + + * subr.el (shell-quote-argument): Use alternate escaping strategy + when we spot a variable reference in a string. + +2011-04-26 Daniel Colascione + + * cus-start.el (all): Define customization for debug-on-event. + +2011-04-26 Daniel Colascione + + * subr.el (shell-quote-argument): Escape correctly under Windows. + +2011-04-25 Stefan Monnier + + * emulation/cua-base.el (cua-selection-mode): Make it toggle again. + +2011-04-25 Michael Albinus + + * net/tramp.el (tramp-process-actions): Add POS argument. + Delete region between POS and (pos). + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Use `nil' position in `tramp-process-actions' call. + (tramp-maybe-open-connection): Call `tramp-process-actions' with pos. + + * net/tramp-smb.el (tramp-smb-maybe-open-connection): Use `nil' + position in `tramp-process-actions' call. + + * net/trampver.el: Update release number. + +2011-04-25 Stefan Monnier + + * custom.el (defcustom): Obey lexical-binding. + + Fix octave-inf completion problems reported by Alexander Klimov. + * progmodes/octave-inf.el (inferior-octave-mode-syntax-table): + Inherit from octave-mode-syntax-table. + (inferior-octave-mode): Set info-lookup-mode. + (inferior-octave-completion-at-point): New function. + (inferior-octave-complete): Use it and completion-in-region. + (inferior-octave-dynamic-complete-functions): Use it as well, and use + comint-filename-completion. + * progmodes/octave-mod.el (octave-mode-syntax-table): Use _ syntax for + symbol elements which shouldn't be word elements. + (octave-font-lock-keywords, octave-beginning-of-defun) + (octave-function-header-regexp): Adjust regexps accordingly. + (octave-mode-map): Also use info-lookup-symbol for C-c C-h. + +2011-04-25 Juanma Barranquero + + * net/gnutls.el (gnutls-errorp): Declare before first use. + +2011-04-24 Teodor Zlatanov + + * net/gnutls.el (gnutls-negotiate): Add hostname, verify-flags, + verify-error, and verify-hostname-error parameters. Check whether + default trustfile exists before going to use it. Add missing + argument to gnutls-message-maybe call. Return value. + Reported by Claudio Bley . + (open-gnutls-stream): Add usage example. + + * net/network-stream.el (network-stream-open-starttls): Give host + parameter to `gnutls-negotiate'. + (gnutls-negotiate): Adjust `gnutls-negotiate' declaration. + * subr.el (shell-quote-argument): Escape correctly under Windows. + +2011-04-24 Daniel Colascione + + * progmodes/cc-engine.el (c-forward-decl-or-cast-1): + Use correct match group (bug#8438). + +2011-04-24 Chong Yidong + + * emacs-lisp/package.el (package-built-in-p): Fix typo. + (package-menu--generate): New arg specifying packages to show. + (package-menu-refresh, package-menu-execute, list-packages): + Callers changed. + (package-show-package-list): New function, replacing deleted + package--list-packages (renamed because it is non-internal). + + * finder.el (finder-list-matches): Use package-show-package-list + instead of deleted package--list-packages. + + * vc/vc-annotate.el (vc-annotate-goto-line): New command. + Based on a previous implementation by Juanma Barranquero (Bug#8366). + (vc-annotate-mode-map): Bind it to RET. + +2011-04-24 Uday S Reddy (tiny change) + + * progmodes/etags.el (next-file): Don't use set-buffer to change + buffers (Bug#8478). + +2011-04-24 Chong Yidong + + * files.el (auto-mode-alist): Use js-mode for .json (Bug#8529). + + * apropos.el (apropos-label-face): Avoid variable-pitch face. + (apropos-accumulator): Doc fix. + (apropos-function, apropos-macro, apropos-command) + (apropos-variable, apropos-face, apropos-group, apropos-widget) + (apropos-plist): Add face property. + (apropos-symbols-internal): Fix indentation. + (apropos-print): Simplify help, and recognize apropos-multi-type. + (apropos-print-doc): Use button-type-get to extract the button's + face property. Fill docstring (Bug#8352). + +2011-04-23 Juanma Barranquero + + * buff-menu.el (Buffer-menu--buffers): Fix typo in docstring (bug#8535). + + * play/mpuz.el (mpuz-silent): Doc fix. + (mpuz-mode-map): Use mapc. + (mpuz-put-number-on-board): Rename parameter L to COLUMNS. + (mpuz-letter-to-digit, mpuz-check-all-solved, mpuz-create-buffer): + Fix typos in docstrings. + + * play/doctor.el (doc$, doctor-$, doctor-read-print, doctor-read-token) + (doctor-nounp, doctor-pronounp): Fix typos in docstrings. + + * mouse-drag.el (mouse-drag-throw): Fix typo in docstring. + +2011-04-23 Chong Yidong + + * minibuffer.el (completion--do-completion): Avoid the "Next char + not unique" prompt if icomplete-mode is enabled (Bug#5849). + + * mouse.el (mouse-drag-mode-line-1): Make sure that if we push + mouse-2 into unread-command-events, it is interpreted correctly. + + * image-mode.el (image-type, image-mode-map, image-minor-mode-map) + (image-toggle-display): Doc fix. + +2011-04-23 Stephen Berman + + * textmodes/page.el (what-page): Use line-number-at-pos to + calculate line number (Bug#6825). + +2011-04-22 Juanma Barranquero + + * eshell/esh-mode.el (find-tag-interactive): Declare function. + (eshell-find-tag): Remove `with-no-warnings', unneeded now. + Pass argument NO-DEFAULT to `find-tag-interactive'. + +2011-04-22 Juanma Barranquero + + Lexical-binding cleanup. + + * progmodes/ada-mode.el (ada-after-change-function, ada-loose-case-word) + (ada-no-auto-case, ada-capitalize-word, ada-untab, ada-narrow-to-defun): + * progmodes/ada-prj.el (ada-prj-initialize-values) + (ada-prj-display-page, ada-prj-field-modified, ada-prj-display-help) + (ada-prj-show-value): + * progmodes/ada-xref.el (ada-find-any-references, ada-gdb-application): + * progmodes/antlr-mode.el (antlr-with-displaying-help-buffer) + (antlr-invalidate-context-cache, antlr-options-menu-filter) + (antlr-language-option-extra, antlr-c++-mode-extra, antlr-run-tool): + * progmodes/bug-reference.el (bug-reference-push-button): + * progmodes/fortran.el (fortran-line-length): + * progmodes/glasses.el (glasses-change): + * progmodes/octave-mod.el (octave-fill-paragraph): + * progmodes/python.el (python-mode, python-pdbtrack-track-stack-file) + (python-pdbtrack-grub-for-buffer, python-sentinel): + * progmodes/sql.el (sql-save-connection): + * progmodes/tcl.el (tcl-indent-command, tcl-popup-menu): + * progmodes/xscheme.el (xscheme-enter-debugger-mode): + Mark unused parameters. + + * progmodes/compile.el (compilation--flush-directory-cache) + (compilation--flush-parse, compile-internal): Mark unused parameters. + (compilation-buffer-name): Rename parameter MODE-NAME to NAME-OF-MODE. + (compilation-next-error-function): Remove unused variable `timestamp'. + + * progmodes/cpp.el (cpp-parse-close): Remove unused variable `begin'. + (cpp-signal-read-only, cpp-grow-overlay): Mark unused parameters. + + * progmodes/dcl-mode.el (dcl-end-of-command): + Remove unused variable `start'. + (dcl-calc-command-indent-multiple, dcl-calc-cont-indent-relative) + (dcl-option-value-basic, dcl-option-value-offset) + (dcl-option-value-margin-offset, dcl-option-value-comment-line): + Mark unused parameters. + (dcl-save-local-variable): Remove unused variable `val'. + (mode): Declare. + + * progmodes/delphi.el (delphi-save-state, delphi-after-change): + Mark unused parameters. + (delphi-ignore-changes): Move before first use. + (delphi-charset-token-at): Remove unused variable `start'. + (delphi-else-start): Remove unused variable `if-count'. + (delphi-comment-block-start, delphi-comment-block-end): + Remove unused variable `kind'. + (delphi-indent-line): Remove unused variable `new-point'. + + * progmodes/ebrowse.el (ebrowse-files-list) + (ebrowse-list-of-matching-members, ebrowse-tags-list-members-in-file): + Mark unused parameters. Don't quote `lambda'. + (ebrowse-sort-tree-list, ebrowse-same-tree-member-buffer-list): + Don't quote `lambda'. + (ebrowse-revert-tree-buffer-from-file, ebrowse-tags-choose-class) + (ebrowse-goto-visible-member/all-member-lists): Mark unused parameters. + (ebrowse-create-tree-buffer): Rename parameter OBARRAY to CLASSES. + (ebrowse-toggle-mark-at-point): Remove unused variable `pnt'. + Use `ignore-errors'. + (ebrowse-frozen-tree-buffer-name, ebrowse-find-source-file) + (ebrowse-view/find-file-and-search-pattern) + (ebrowse-view/find-member-declaration/definition): + Rename parameter TAGS-FILE-NAME to TAGS-FILE. + (ebrowse-find-class-declaration, ebrowse-view-class-declaration): + Rename parameter PREFIX-ARG to PREFIX. + (ebrowse-tags-read-name): Remove unused variables `start' and + `member-info'. + (ebrowse-display-member-buffer): Rename variable `tags-file-name' + to `tags-file'. + + * progmodes/etags.el (local-find-tag-hook): Declare. + (tag-partial-file-name-match-p, tag-any-match-p, list-tags): + Mark unused parameters. + + * progmodes/executable.el (compilation-error-regexp-alist): Declare. + (executable-interpret): Mark unused parameter. + + * progmodes/flymake.el (flymake-process-sentinel) + (flymake-after-change-function) + (flymake-create-temp-with-folder-structure) + (flymake-get-include-dirs-dot): Mark unused parameters. + (flymake-safe-delete-directory): Remove unused variable `err'. + + * progmodes/gdb-mi.el (speedbar-change-initial-expansion-list) + (speedbar-timer-fn, speedbar-line-text) + (speedbar-change-expand-button-char, speedbar-delete-subblock) + (speedbar-center-buffer-smartly): Declare functions. + (gdb-find-watch-expression): Remove unused variable `array'. + (gdb-edit-value, gdb-gdb, gdb-ignored-notification, gdb-thread-created) + (gdb-starting): Mark unused parameters. + (gud-gdbmi-marker-filter): Remove unused variable `output-record'. + (gdb-table-string): Remove unused variable `res'. + (gdb-place-breakpoints): Remove unused variables `flag' and `bptno'. + (gdb-disassembly-handler-custom): Remove unused variable `pos'. + (gdb-display-buffer): Remove unused variable `cur-size'. + + * progmodes/gud.el (gud-def): Use `defalias' instead of `defun' to + allow lexical-binding compilation. + (gud-expansion-speedbar-buttons, gud-gdb-goto-stackframe) + (gud-dbx-massage-args, gud-xdb-massage-args, gud-perldb-massage-args) + (gud-jdb-massage-args, gud-jdb-find-source, gud-find-class): + Mark unused parameters. + (gud-gdb-marker-filter): Remove unused variable `match'. + (gud-find-class): Bind `syntax-symbol' and `syntax-point' to suitable + lambda expressions and funcall them, instead of using `fset'. + + * progmodes/hideif.el (hif-parse-if-exp): Rename parameter + HIF-TOKEN-LIST to TOKEN-LIST and let-bind `hif-token-list'. + + * progmodes/hideshow.el (hs-hide-block-at-point): Remove unused + variable `header-beg'; use `let'. + + * progmodes/icon.el (indent-icon-exp): Remove unused variables + `restart', `last-sexp' and `at-do'. + + * progmodes/js.el (js--debug): Mark unused parameter. + (js--parse-state-at-point): Remove unused variable `bound'; use `let'. + (js--splice-into-items): Remove unused variable `item'. + (js--read-symbol, js--read-tab): Pass 1/-1 to `ido-mode', not t/nil. + + * progmodes/make-mode.el (makefile-make-font-lock-keywords): + Rename parameter FONT-LOCK-KEYWORDS to FL-KEYWORDS. + (makefile-complete): Remove unused variable `try'. + (makefile-fill-paragraph, makefile-match-function-end): + Mark unused parameters. + + * progmodes/octave-inf.el (inferior-octave-complete): + Remove unused variable `proc'. + (inferior-octave-output-digest): Mark unused parameter. + + * progmodes/perl-mode.el (perl-calculate-indent): + Remove unused variable `err'. + + * progmodes/prolog.el (prolog-mode-keybindings-inferior) + (prolog-indent-line): Mark unused parameters. + (prolog-indent-line): Remove unused variable `beg'. + + * progmodes/ps-mode.el (reporter-prompt-for-summary-p) + (reporter-dont-compact-list): Declare. + + * progmodes/sh-script.el (sh-font-lock-quoted-subshell): + Remove unused variable `char'. + (sh-debug): Mark unused parameter. + (sh-get-indent-info): Remove unused variable `start'. + (sh-calculate-indent): Remove unused variable `var'. + + * progmodes/simula.el (simula-popup-menu): Mark unused parameter. + (simula-electric-keyword): Remove unused variable `null'. + (simula-search-backward, simula-search-forward): Remove unused + variables `begin' and `end'. + + * progmodes/vera-mode.el (vera-guess-basic-syntax): + Remove unused variable `pos'. + (vera-electric-tab, vera-comment-uncomment-region): + Mark unused parameters. + (vera-electric-tab): Rename parameter PREFIX-ARG to PREFIX. + +2011-04-22 Chong Yidong + + * emacs-lisp/package.el (package--builtins, package-alist) + (package-load-descriptor, package-built-in-p, package-activate) + (define-package, package-installed-p) + (package-compute-transaction, package-buffer-info) + (package--push): Doc fix. Distinguish more clearly between + version strings and version lists. + +2011-04-21 Juanma Barranquero + + Lexical-binding cleanup. + + * play/5x5.el (5x5-make-random-solution, 5x5-make-mutate-current) + (5x5-make-mutate-best): + * play/fortune.el (fortune-in-buffer): + * play/gomoku.el (gomoku-init-display): + * play/solitaire.el (solitaire, solitaire-do-check): + * play/tetris.el (tetris-default-update-speed-function): + Mark unused parameters. + + * play/bubbles.el (bubbles-mode): Set `show-trailing-whitespace'. + (bubbles--shift): Remove unused variable `char-org'. + (bubbles--set-faces): Remove unused variable `fg-col'. Simplify. + (bubbles--show-images): Remove unused variable `char'. + + * play/decipher.el (decipher-keypress, decipher-alphabet-keypress) + (decipher-get-undo, decipher-set-map, decipher-complete-alphabet) + (decipher-resync, decipher-loop-with-breaks, decipher--analyze) + (decipher-analyze-buffer): Use ?\s. + (decipher-make-checkpoint): Remove unused variable `mapping'. + + * play/doctor.el (doctor-doc): Rename parameter DOCTOR-SENT to SENT. + + * play/gamegrid.el (gamegrid-add-score-with-update-game-score): + Remove unused variable `result'; use `let'. + + * play/gametree.el (gametree-current-layout, gametree-apply-layout): + Rename parameter TOP-LEVEL to FROM-TOP-LEVEL; use `ignore-errors'. + (gametree-children-shown-p, gametree-compute-reduced-score): + Use `ignore-errors'. + + * play/handwrite.el (ps-lpr-switches): Declare. + (handwrite): Remove unused variables `pmin' and `lastp'. + + * play/hanoi.el (hanoi-move-ring): Remove unused variable `total-steps'. + + * play/landmark.el (landmark-init-display) + (landmark-update-naught-weights): Mark unused parameters. + (landmark-y): Remove unused variable `noise'. Simplify. + (landmark-human-plays): Remove unused variable `score'. + + * play/mpuz.el (mpuz-try-letter): Remove unused variable `message'. + (mpuz-try-proposal): Remove unused variable `game'. + + * play/zone.el (life-patterns): Declare. + +2011-04-20 Juanma Barranquero + + * vc/vc.el (ediff-vc-internal): Declare function. + +2011-04-20 Stefan Monnier + + * shell.el: Use lexical-binding and std completion UI. + (shell-filter-ctrl-a-ctrl-b): Work as a preoutput filter. + (shell-mode): Put shell-filter-ctrl-a-ctrl-b on + comint-preoutput-filter-functions rather than on + comint-output-filter-functions. + (shell-command-completion, shell--command-completion-data) + (shell-filename-completion, shell-environment-variable-completion) + (shell-c-a-p-replace-by-expanded-directory): New functions. + (shell-dynamic-complete-functions, shell-dynamic-complete-command) + (shell-dynamic-complete-filename, shell-replace-by-expanded-directory) + (shell-dynamic-complete-environment-variable): Use them. + (shell-dynamic-complete-as-environment-variable) + (shell-dynamic-complete-as-command): Remove. + (shell-match-partial-variable): Match past point. + * comint.el: Clean up use of completion-at-point-functions. + (comint-completion-at-point): New function. + (comint-mode): Use it completion-at-point-functions. + (comint-dynamic-complete): Make it obsolete. + (comint-replace-by-expanded-history-before-point): Add dry-run arg. + (comint-c-a-p-replace-by-expanded-history): New function. + (comint-dynamic-complete-functions) + (comint-replace-by-expanded-history): Use it. + * minibuffer.el (completion-table-with-terminator): Allow dynamic + termination strings. Try harder to avoid second try-completion. + (completion-in-region-mode-map): Disable bindings that don't work yet. + + * comint.el: Use lexical-binding. Require CL. + (comint-dynamic-complete-functions): Use comint-filename-completion. + (comint-completion-addsuffix): Tweak custom type. + (comint-filename-completion, comint--common-suffix) + (comint--common-quoted-suffix, comint--table-subvert) + (comint--complete-file-name-data): New functions. + (comint-dynamic-complete-as-filename, comint-dynamic-complete-filename) + (comint-dynamic-list-filename-completions): Use them. + (comint-dynamic-simple-complete): Make obsolete. + + * minibuffer.el (completion-in-region-mode): + Keep completion-in-region-mode--predicate global. + (completion-in-region--postch): + Assume completion-in-region-mode--predicate is not null. + + * progmodes/flymake.el (flymake-start-syntax-check-process): + Obey `dir'. Simplify. + + * vc/vc.el (vc-version-ediff): Call ediff-vc-internal directly, since + we're in VC after all. + +2011-04-20 Christoph Scholtes + + * vc/vc.el (vc-diff-build-argument-list-internal) + (vc-version-ediff, vc-ediff): New commands. + (vc-version-diff): Use vc-diff-build-argument-list-internal. + +2011-04-20 Stefan Monnier + + * emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Remove dead code, + add sanity check. + + * obsolete/erc-hecomplete.el: Make obsolete. + * obsolete/: Standardize obsolescence info in the header. + +2011-04-20 Glenn Morris + + * calendar/solar.el (solar-horizontal-coordinates): + Use the longitude argument rather than `calendar-longitude'. + (solar-date-next-longitude): Remove unused locals. + +2011-04-20 Vinicius Jose Latorre + + * whitespace.el: New version 13.2.1. + +2011-04-20 felix (tiny change) + + * whitespace.el (global-whitespace-mode): Keep highlight when + switching between major modes on a file. + +2011-04-19 Stefan Monnier + + * progmodes/octave-mod.el (octave-in-comment-p, octave-in-string-p) + (octave-not-in-string-or-comment-p): Use syntax-ppss so it works with + multi-line comments as well. + +2011-04-19 Juanma Barranquero + + Lexical-binding cleanup. + + * arc-mode.el (archive-mode-revert): + * cmuscheme.el (scheme-interactively-start-process): + * custom.el (custom-initialize-delay): + * dnd.el (dnd-open-local-file, dnd-open-remote-url): + * dos-w32.el (direct-print-region-helper, direct-print-region-function): + * emacs-lock.el (emacs-lock-clear-sentinel): + * ezimage.el (defezimage): + * follow.el (follow-avoid-tail-recenter): + * fringe.el (set-fringe-mode-1): + * generic-x.el (bat-generic-mode-compile): + * help-mode.el (help-info-variable, help-do-xref) + (help-mode-revert-buffer): + * help.el (view-emacs-todo): + * iswitchb.el (iswitchb-completion-help): + * jka-compr.el (jka-compr-make-temp-name, jka-compr-load): + * kmacro.el (kmacro-cycle-ring-next, kmacro-cycle-ring-previous) + (kmacro-delete-ring-head, kmacro-bind-to-key, kmacro-view-macro): + * locate.el (locate-update): + * longlines.el (longlines-encode-region) + (longlines-after-change-function): + * outline.el (outline-isearch-open-invisible): + * ps-def.el (declare-function, charset-dimension, char-width) + (encode-char): + * ps-mule.el (ps-mule-plot-string): + * recentf.el (recentf-make-menu-items, recentf-cancel-dialog) + (recentf-edit-list-select, recentf-edit-list-validate) + (recentf-open-files-action): + * rect.el (delete-whitespace-rectangle-line) + (rectangle-number-line-callback): + * register.el (window-configuration-to-register) + (frame-configuration-to-register): + * scroll-bar.el (scroll-bar-mode, toggle-horizontal-scroll-bar): + * select.el (xselect-convert-to-string, xselect-convert-to-length) + (xselect-convert-to-targets, xselect-convert-to-delete) + (xselect-convert-to-filename, xselect-convert-to-charpos) + (xselect-convert-to-lineno, xselect-convert-to-colno) + (xselect-convert-to-os, xselect-convert-to-host) + (xselect-convert-to-user, xselect-convert-to-class) + (xselect-convert-to-name, xselect-convert-to-integer) + (xselect-convert-to-atom, xselect-convert-to-identity): + * subr.el (declare, ignore, process-kill-without-query) + (text-clone-maintain): + * terminal.el (te-get-char, te-tic-sentinel): + * tool-bar.el (tool-bar-make-keymap): + * tooltip.el (tooltip-timeout, tooltip-hide, tooltip-help-tips): + * type-break.el (type-break-mode, type-break-noninteractive-query): + * view.el (View-back-to-mark): + * wid-browse.el (widget-browse-action, widget-browse-widget) + (widget-browse-widgets, widget-browse-sexp): + * widget.el (define-widget-keywords): + * xt-mouse.el (xterm-mouse-translate, turn-off-xterm-mouse-tracking): + Mark unused parameters. + + * align.el (align-adjust-col-for-rule): Mark unused parameter. + (align-areas): Remove unused variable `look'. + (align-region): Remove unused variables `real-end' and `pos-list'. + + * apropos.el (apropos-score-doc): Remove unused variable `i'. + + * bindings.el (mode-line-modified, mode-line-remote): + Mark unused parameters. + (mode-line-mule-info): Mark unused parameter; don't quote `lambda'. + + * buff-menu.el (Buffer-menu-revert-function): Mark unused parameters. + (Buffer-menu-mode): Mark unused parameter; don't quote `lambda'. + + * comint.el (comint-history-isearch-pop-state) + (comint-postoutput-scroll-to-bottom, comint-truncate-buffer) + (comint-strip-ctrl-m, comint-read-noecho): Mark unused parameters. + (comint-substitute-in-file-name): Doc fix. + + * completion.el (cmpl-statistics-block): Mark unused parameter. + (add-completions-from-tags-table, add-completions-from-lisp-buffer) + (save-completions-to-file, load-completions-from-file): + Remove unused local variable `e'. + + * composite.el (compose-chars): Remove unused variable `len'. + (lgstring-insert-glyph): Remove unused variable `g'. + (compose-glyph-string): Remove unused variables `ascent', + `descent', `lbearing' and `rbearing'. + (compose-glyph-string-relative): Remove unused variables + `lbearing', `rbearing' and `wadjust'. + (compose-gstring-for-graphic): Remove unused variables `header', + `wadjust', `xoff' and `yoff'. Use `let', not `let*'. + (compose-gstring-for-terminal): Remove unused variables `header' + and `nchars'. Use `let', not `let*'. + + * cus-edit.el (Custom-set, Custom-save, custom-reset) + (Custom-reset-current, Custom-reset-saved, Custom-reset-standard) + (Custom-buffer-done, custom-buffer-create-internal) + (custom-browse-visibility-action, custom-browse-group-tag-action) + (custom-browse-variable-tag-action, custom-browse-face-tag-action) + (widget-magic-mouse-down-action, custom-toggle-parent) + (custom-add-parent-links, custom-toggle-hide-variable) + (custom-face-edit-value-visibility-action, custom-face-edit-fix-value) + (custom-toggle-hide-face, face, hook, custom-group-link-action) + (custom-face-menu-create, custom-variable-menu-create, get) + (custom-group-menu-create, Custom-no-edit): Mark unused parameters. + (custom-reset-standard-save-and-update): Remove unused variable `value'. + (customize-apropos): Remove unused variable `tests'. + (custom-group-value-create): Remove unused variable `hidden-p'. + (sort-fold-case): Declare. + + * cus-theme.el (custom-reset-standard-faces-list) + (custom-reset-standard-variables-list): Declare. + (customize-create-theme, custom-theme-revert, custom-theme-write) + (custom-theme-choose-mode, customize-themes, custom-theme-save): + Mark unused parameters. + + * dabbrev.el (dabbrev-completion): Remove unused variable `init'. + + * delim-col.el (delimit-columns-max): Move defvar before first use. + + * descr-text.el (describe-char-categories): Don't quote `lambda'. + (describe-char): Don't quote `lambda'. Mark unused parameter. + + * desktop.el (desktop-save-buffer-p): Mark unused parameter. + (auto-insert): Declare. + (desktop-restore-file-buffer): Rename desktop-* parameters; + mark unused ones. + (desktop-create-buffer): Rename desktop-* parameters and bind them. + (desktop-buffer): Rename desktop-* parameters. + + * dframe.el (x-sensitive-text-pointer-shape, x-pointer-shape): Declare. + (dframe-reposition-frame-xemacs, dframe-help-echo) + (dframe-hack-buffer-menu, dframe-set-timer, dframe-set-timer-internal): + Mark unused parameters. + + * dired-aux.el (backup-extract-version-start, overwrite-query) + (overwrite-backup-query, rename-regexp-query) + (rename-non-directory-query): Declare. + (dired-shell-stuff-it, dired-do-create-files): Mark unused parameters. + (dired-add-entry): Remove unused variable `orig-file-name'. + (dired-copy-file-recursive): Remove unused variable `dirfailed'. + Use parameter PRESERVE-TIME instead of accessing dynamic variable + `dired-copy-preserve-time' directly. + (dired-do-create-files-regexp): Remove unused variable `fn-count'. + (dired-insert-subdir-newpos): Rename unused variable `pos'. + + * dired-x.el (dired-omit-size-limit): Move defcustom before first use. + (dired-virtual-revert, dired-make-relative-symlink): + Mark unused parameters. + (manual-program): Declare. + (dired-x-hands-off-my-keys): Rename parameters of lambda expression. + (inode, s, mode, nlink, uid, gid, size, time, name, sym): Declare them, + wrapped in `with-no-warnings' to avoid replacing one warning by another. + + * dirtrack.el (dirtrack): Remove unused variable `multi-line'. + + * dos-fns.el (dos-8+3-filename): Remove unused variable `i'. + + * echistory.el (electric-history-in-progress, Helper-return-blurb): + Declare. + + * edmacro.el (edmacro-finish-edit): Remove unused variable `kmacro'. + + * electric.el (Electric-command-loop): Rename parameter + INHIBIT-QUIT to INHIBIT-QUITTING and bind `inhibit-quit'. + + * expand.el (expand-in-literal): Remove unused variable `here'. + + * facemenu.el (facemenu-add-new-color): + Remove unused variable `docstring'. + + * faces.el (face-id, make-face-bold, make-face-unbold, make-face-italic) + (make-face-unitalic, make-face-bold-italic): Mark unused parameters. + (face-attr-construct): Mark unused parameter. Doc fix. + (read-color): Remove unused variable `hex-string'. + + * files.el (parse-colon-path): Rename argument CD-PATH to SEARCH-PATH. + (locate-dominating-file): Remove unused vars `prev-file' and `user'. + (remote-file-name-inhibit-cache, revert-buffer): Clean up docstrings. + (display-buffer-other-frame): Remove unused variable `old-window'. + (kill-buffer-hook): Declare. + (insert-file-contents-literally, set-auto-mode, risky-local-variable-p): + Mark unused parameters. + (after-find-file): Pass 1 to `auto-save-mode', not t. + + * files-x.el (auto-insert): Declare. + (modify-file-local-variable-prop-line): Remove unused variable `val'. + + * find-lisp.el (find-lisp-find-dired-internal): Remove unused + variable `buf'. Mark unused parameter. + (find-lisp-insert-directory): Mark unused parameter. + + * format.el (format-decode-run-method): Mark unused parameter; doc fix. + (format-encode-region): Remove unused variables `cur-buf' and `result'. + (format-common-tail): Remove, unused. + (format-deannotate-region): Remove unused variable `loc'. + (format-annotate-region): Remove unused variable `p'. + (format-annotate-single-property-change): Remove unused variables + `default' and `tail'. + + * forms.el (read-file-filter): Declare. + (forms--iif-hook, forms--revert-buffer): Mark unused parameters. + + * frame.el (frame-creation-function-alist): Mark unused parameter. + (frame-geom-spec-cons): Pass FRAME to `frame-geom-value-cons'. + + * hilit-chg.el (hilit-chg-cust-fix-changes-face-list, hilit-chg-clear): + Remove unused parameters. + (hilit-chg-set-face-on-change): Remove unused variable `beg-decr'. + (highlight-compare-with-file): Remove unused variable `buf-b-read-only'. + + * htmlfontify.el (hfy-default-footer, hfy-decor, hfy-invisible) + (hfy-parse-tags-buffer, hfy-prepare-index-i, hfy-prepare-index) + (hfy-prepare-tag-map): Mark unused parameters. + (htmlfontify-buffer): Use `called-interactively-p'. + + * ibuf-ext.el (ibuffer-do-kill-lines, ibuffer-jump-to-buffer) + (ibuffer-copy-filename-as-kill, ibuffer-mark-on-buffer) + (ibuffer-do-occur): Mark unused parameters. + (ibuffer-forward-next-marked): Remove unused variable `curmark'. + (ibuffer-diff-buffer-with-file-1): Remove unused variable `proc'. + + * ibuffer.el: Don't quote `lambda'. + (ibuffer-count-marked-lines, ibuffer-count-deletion-lines) + (ibuffer-unmark-all, ibuffer-toggle-marks, ibuffer-redisplay-engine): + Mark unused parameters. + + * ido.el (ido-mode, ido-wide-find-dir-or-delete-dir) + (ido-completing-read): Mark unused parameters. + (ido-copy-current-word): Mark unused parameters; + remove unused variable `name'. + (ido-sort-merged-list): Remove unused parameter `dirs'. + + * ielm.el (ielm-input-sender): Mark unused parameter. + (ielm-string, ielm-form, ielm-pos, ielm-result, ielm-error-type) + (ielm-output, ielm-wbuf, ielm-pmark): Declare. + (ielm-eval-input): Rename argument IELM-STRING to INPUT-STRING to keep + `ielm-string' as a dynamic variable accessible from the IELM prompt. + Bind `ielm-string' to INPUT-STRING. Remove unused variable `err'. + + * image-dired.el (image-dired-display-thumbs): Remove unused + variables `curr-file' and `count'. + (image-dired-remove-tag): Remove unused variable `start'. + (image-dired-tag-files, image-dired-create-thumbs): Remove unused + variable `curr-file' + (image-dired-rotate-original): Remove unused variable `temp-file'. + (image-dired-mouse-select-thumbnail, image-dired-mouse-toggle-mark): + Remove unused variable `file'. + (image-dired-gallery-generate): Remove unused variable `curr'. + (image-dired-dired-edit-comment-and-tags): Mark unused parameters. + + * indent.el (tab-to-tab-stop): Remove unused variable `opoint'. + + * info-xref.el (info-xref-goto-node-p): Remove unused variable `err'. + + * informat.el (texinfo-command-start, texinfo-command-end): Declare. + + * isearch.el (minibuffer-history-symbol): Declare. + (isearch-edit-string): Remove unused variable `err'. + (isearch-message-prefix, isearch-message-suffix): + Mark unused parameters. + + * ls-lisp.el (ls-lisp-insert-directory): Remove unused variable `fil'. + + * macros.el (insert-kbd-macro): Remove unused variable `mods'. + + * makesum.el (double-column): Remove unused variable `cnt'. + + * misearch.el (multi-isearch-pop-state): Mark unused parameter. + (ido-ignore-item-temp-list): Declare. + + * mouse-drag.el (mouse-drag-throw): Remove unused variables + `mouse-delta', `window-last-row', `mouse-col-delta', `window-last-col', + `adjusted-mouse-col-delta' and `adjusted-mouse-delta'. + (mouse-drag-drag): Remove unused variables `mouse-delta' and + `mouse-col-delta'. + + * mouse-sel.el (mouse-extend-internal): + Remove unused variable `orig-window-frame'. + + * pcomplete.el (pcomplete-args, pcomplete-begins, pcomplete-last) + (pcomplete-index, pcomplete-stub, pcomplete-seen, pcomplete-norm-func): + Move declarations before first use. + (pcomplete-opt): Mark unused parameters; doc fix. + + * proced.el (proced-revert): Mark unused parameter. + (proced-send-signal): Remove unused variable `err'. + + * ps-print.el (ps-print-preprint-region, ps-print-preprint): + Rename parameter PREFIX-ARG to ARG. + (ps-basic-plot-string, ps-basic-plot-whitespace): + Mark unused parameters. + + * replace.el (replace-count): Define. + (occur-revert-function): Mark unused parameters. + (ido-ignore-item-temp-list, isearch-error, isearch-forward) + (isearch-case-fold-search, isearch-string): Declare. + (occur-engine): Rename parameter CASE-FOLD-SEARCH to CASE-FOLD and + bind `case-fold-search'. Remove unused variables `beg' and `end', + and simplify. + (replace-eval-replacement): Rename parameter REPLACE-COUNT to + COUNT and bind `replace-count'. + (replace-loop-through-replacements): Rename parameter REPLACE-COUNT + to COUNT. + + * savehist.el (print-readably, print-string-length): Declare. + + * shadowfile.el (shadow-expand-cluster-in-file-name): + Remove unused variable `cluster'. + (shadow-copy-file): Remove unused variable `i'. + (shadow-noquery, shadow-clusters, shadow-site-cluster) + (shadow-parse-fullname, shadow-parse-name, shadow-define-cluster) + (shadow-define-literal-group, shadow-define-regexp-group) + (shadow-make-group, shadow-shadows-of): Clean up docstrings. + + * shell.el (shell-filter-ctrl-a-ctrl-b): Mark unused parameter. + (shell): Use `called-interactively-p'. + (shell-directory-tracker): Remove unused variable `chdir-failure'. + + * simple.el (compilation-context-lines, comint-file-name-quote-list) + (comint-file-name-chars, comint-delimiter-argument-list): Declare. + (delete-backward-char): Remove unused variable `ocol'. + (minibuffer-avoid-prompt, minibuffer-history-isearch-pop-state) + (line-move-1, event-apply-alt-modifier, event-apply-super-modifier) + (event-apply-hyper-modifier, event-apply-shift-modifier) + (event-apply-control-modifier, event-apply-meta-modifier): + Mark unused parameters. + (undo-make-selective-list): Remove duplicate variable `undo-elt'. + (normal-erase-is-backspace-mode): Remove unused variable `old-state'. + + * speedbar.el (speedbar-ignored-directory-expressions) + (speedbar-supported-extension-expressions, speedbar-directory-buttons) + (speedbar-find-file, speedbar-dir-follow) + (speedbar-directory-buttons-follow, speedbar-tag-find) + (speedbar-buffer-buttons, speedbar-buffer-buttons-temp) + (speedbar-buffers-line-directory, speedbar-buffer-click): + Mark unused parameters. + (speedbar-tag-file): Remove unused variable `mode'. + (speedbar-buffers-tail-notes): Remove unused variable `mod'; simplify. + + * strokes.el (strokes-decode-buffer): Remove unused variable `ext'. + + * talk.el (talk): Remove unused variable `display'. + + * tar-mode.el (tar-subfile-save-buffer): Remove unused variable `name'. + (tar-write-region-annotate): Mark unused parameter. + + * time.el (now, time, load, mail, 24-hours, hour, 12-hours, am-pm) + (minutes, seconds, time-zone, day, year, monthname, month, dayname): + Declare them, wrapped in `with-no-warnings' to avoid replacing one + warning by another. + + * time-stamp.el (time-stamp-string-preprocess): + Remove unused variable `require-padding'. + + * tree-widget.el (widget-glyph-enable): Declare. + (tree-widget-action): Mark unused parameter. + + * w32-fns.el (x-get-selection): Mark unused parameter. + (autoload-make-program, generated-autoload-file): Declare. + + * wdired.el (wdired-revert): Mark unused parameters. + (wdired-xcase-word): Remove unused variable `err'. + + * whitespace.el (whitespace-buffer-changed): Mark unused parameters. + (whitespace-help-scroll): Remove unused variable `data-help'. + + * wid-edit.el (widget-mouse-help, widget-overlay-inactive) + (widget-image-insert, widget-after-change, default) + (widget-default-format-handler, widget-default-notify) + (widget-default-prompt-value, widget-info-link-action) + (widget-url-link-action, widget-function-link-action) + (widget-variable-link-action, widget-file-link-action) + (widget-emacs-library-link-action, widget-emacs-commentary-link-action) + (widget-field-prompt-internal, widget-field-action, widget-field-match) + (widget-choice-mouse-down-action, toggle, widget-radio-button-notify) + (widget-insert-button-action, widget-delete-button-action, visibility) + (widget-documentation-link-action, widget-documentation-string-action) + (widget-const-prompt-value, widget-regexp-match, symbol) + (widget-coding-system-prompt-value) + (widget-key-sequence-value-to-external, sexp) + (widget-sexp-value-to-internal, character, vector, cons) + (widget-choice-prompt-value, widget-boolean-prompt-value) + (widget-color--choose-action): Mark unused parameters. + (widget-item-match-inline, widget-choice-match-inline) + (widget-checklist-match, widget-checklist-match-inline) + (widget-group-match): Rename parameter VALUES to VALS. + (widget-field-value-set): Remove unused variable `size'. + (widget-color-action): Remove unused variables `value' and `start'. + + * windmove.el (windmove-wrap-loc-for-movement): Remove unused + variable `dir'. Doc fix. + (windmove-find-other-window): Don't pass it. + + * window.el (count-windows): Mark unused parameter. + (bw-adjust-window): Remove unused variable `err'. + + * woman.el (woman-file-name): Remove unused variable `default'. + (woman-expand-directory-path): Rename parameters WOMAN-MANPATH and + WOMAN-PATH to PATH-DIRS and PATH-REGEXPS, respectively. + (global-font-lock-mode): Declare. + (woman-decode-region): Mark unused parameter. + (woman-get-tab-stop): Rename parameter TAB-STOP-LIST to TAB-STOPS. + + * x-dnd.el (x-dnd-default-test-function, x-dnd-handle-old-kde) + (x-dnd-handle-xdnd, x-dnd-handle-motif): Mark unused parameters. + (x-dnd-handle-moz-url): Remove unused variable `title'. + (x-dnd-handle-xdnd): Remove unused variables `x', `y' and `ret-action'. + + * xml.el (xml-parse-tag, xml-parse-attlist): + Remove unused variable `pos'. + +2011-04-19 Glenn Morris + + * calendar/cal-tex.el (cal-tex-list-holidays, cal-tex-cursor-month) + (cal-tex-cursor-week, cal-tex-cursor-week2, cal-tex-cursor-week-iso) + (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) + (cal-tex-cursor-filofax-daily, cal-tex-mini-calendar) + * calendar/cal-html.el (cal-html-insert-minical): + * calendar/diary-lib.el (diary-list-entries-1, diary-list-entries) + (calendar-mark-date-pattern): + Prefix "unused" locals. + + * calendar/cal-dst.el (dst-adjust-time): Remove never-implemented + optional argument `style'. + + * calendar/appt.el (appt-make-list): + * calendar/cal-china.el (calendar-chinese-date-string): + * calendar/cal-hebrew.el (calendar-hebrew-list-yahrzeits) + (diary-hebrew-yahrzeit): + * calendar/cal-tex.el (cal-tex-last-blank-p, cal-tex-cursor-week2): + * calendar/calendar.el (calendar-generate-window): + * calendar/time-date.el (time-to-days): + Remove unused local variables. + +2011-04-18 Chong Yidong + + * emacs-lisp/tabulated-list.el (tabulated-list-mode): Use a custom + glyphless-char-display table. + (tabulated-list-glyphless-char-display): New var. + +2011-04-18 Sam Steingold + + * vc/add-log.el (change-log-font-lock-keywords): Add "Thanks to" + to acknowledgments. + +2011-04-17 Glenn Morris + + * calendar/diary-lib.el (diary-sexp-entry): + * calendar/holidays.el (holiday-sexp): + Set debug-on-error rather than the removed stack-trace-on-error. + +2011-04-16 Glenn Morris + + * progmodes/f90.el: Use lexical-binding. + (f90-get-correct-indent): Remove unnecessary local variable `cont'. + +2011-04-15 Stefan Monnier + + * mail/sendmail.el (mail-mode-map): Use completion-at-point. + (mail-mode): Setup mailalias completion here instead. + * mail/mailalias.el: Use lexical-binding. + (pattern, mailalias-done): Declare dynamic. + (mail-completion-at-point-function): New function, from mail-complete. + (mail-complete): Use it. + (mail-completion-expand): New function. + (mail-get-names): Use it. + (mail-directory, mail-directory-process, mail-directory-stream): + Don't use `pattern' for lexically bound arg. + + * emacs-lisp/lisp-mode.el (eval-defun-2): Use eval-sexp-add-defvars. + + * htmlfontify.el (hfy-etags-cmd): Remove inoperant eval-and-compile. + (hfy-e2x-etags-cmd, hfy-etags-cmd-alist-default) + (hfy-etags-cmd-alist): Don't eval-and-compile any more. + + * emacs-lisp/bytecomp.el (byte-temp-output-buffer-show) + (byte-save-window-excursion, byte-temp-output-buffer-setup) + (byte-interactive-p): Define them again, for use when inlining + old code. + +2011-04-15 Juanma Barranquero + + * loadup.el: Use `string-to-number', not `string-to-int'. + +2011-04-15 Stefan Monnier + + * progmodes/gud.el (gud-gdb): Use completion-at-point instead of + gud-gdb-complete-command. + (gud-gdb-completions): New function, from gud-gdb-complete-command. + (gud-gdb-completion-at-point): New function. + (gud-gdb-completions): Remove. + +2011-04-14 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-file-attributes): Handle the case + when the scripts fail. Use `tramp-do-file-attributes-with-ls' then. + (tramp-do-copy-or-rename-file-out-of-band): Do not check any longer + whether `executable-find' is bound. + + * net/tramp-smb.el (tramp-smb-handle-copy-file): Fix docstring. + +2011-04-14 Stefan Monnier + + * minibuffer.el (completion-in-region-mode-predicate) + (completion-in-region-mode--predicate): New vars. + (completion-in-region, completion-in-region--postch) + (completion-in-region-mode): Use them. + (completion--capf-wrapper): Also return the hook function. + (completion-at-point, completion-help-at-point): + Adjust and provide a predicate. + + Preserve arg names for advice of subr and lexical functions (bug#8457). + * help-fns.el (help-function-arglist): Consolidate the subr and + new-byte-code cases. Add argument `preserve-names' to extract names + from the docstring when needed. + * emacs-lisp/advice.el (ad-define-subr-args, ad-undefine-subr-args) + (ad-subr-args-defined-p, ad-get-subr-args, ad-subr-arglist): Remove. + (ad-arglist): Use help-function-arglist's new arg. + (ad-definition-type): Use cond. + +2011-04-13 Juanma Barranquero + + * autorevert.el (auto-revert-handler): + Bind `remote-file-name-inhibit-cache', not `tramp-cache-inhibit-cache', + which was removed in 2010-10-02T13:21:43Z!michael.albinus@gmx.de. + Don't quote lambda. + + * image-mode.el (image-transform-set-scale): + Fix change in 2011-04-09T20:28:01Z!cyd@stupidchicken.com. + +2011-04-12 Lars Magne Ingebrigtsen + + * net/network-stream.el (network-stream-open-starttls): Only do + opportunistic STARTTLS upgrades if we have built-in GnuTLS support. + Upgrades via gnutls-cli are too slow to be done opportunistically. + +2011-04-12 Juanma Barranquero + + * dframe.el (dframe-current-frame): Remove spurious quote. + +2011-04-12 Glenn Morris + + * calendar/cal-tex.el (cal-tex-end-document): + Try to automatically use latin1 input if needed. + + * calendar/cal-hebrew.el (diary-hebrew-rosh-hodesh): + Don't try to cons a mark onto an empty element. + +2011-04-11 Leo Liu + + * ido.el (ido-buffer-internal): Allow method 'kill for virtual + buffers. + (ido-kill-buffer-at-head): Support killing virtual buffers. + +2011-04-10 Chong Yidong + + * minibuffer.el (completion-show-inline-help): New var. + (completion--do-completion, minibuffer-complete) + (minibuffer-force-complete, minibuffer-complete-word): + Inhibit minibuffer messages if completion-show-inline-help is nil. + + * icomplete.el (icomplete-mode): Bind completion-show-inline-help + to avoid interference from inline help (Bug#5849). + +2011-04-10 Leo Liu + + * emacs-lisp/tabulated-list.el (tabulated-list-print-entry): + Fix typo. + +2011-04-09 Chong Yidong + + * image-mode.el (image-toggle-display-image): Signal an error if + not in Image mode. + (image-transform-mode, image-transform-resize) + (image-transform-set-rotation): Doc fix. + (image-transform-set-resize): Delete. + (image-transform-set-scale, image-transform-fit-to-height) + (image-transform-fit-to-width): Handle image-toggle-display-image + and image-transform-resize directly. + +2011-04-08 Sho Nakatani + + * doc-view.el (doc-view-fit-width-to-window) + (doc-view-fit-height-to-window, doc-view-fit-page-to-window): + New functions for fitting the shown image to the Emacs window size. + (doc-view-mode-map): Add bindings for the new functions. + +2011-04-08 Juanma Barranquero + + * vc/vc-annotate.el (vc-annotate-show-log-revision-at-line): + Fix typo in docstring. + +2011-04-08 Eli Zaretskii + + * files.el (file-size-human-readable): Produce one digit after + decimal, like "ls -lh" does. + + * ls-lisp.el (ls-lisp-format-file-size): Allow for 7 characters in + the file size representation. + + * simple.el (list-processes): If async subprocesses are not + available, error out with a clear error message. + +2011-04-08 Chong Yidong + + * help.el (help-form-show): New function, to be called from C. + Put help-form output in a buffer named differently than *Help*. + +2011-04-08 Eli Zaretskii + + * files.el (file-size-human-readable): New function. + + * ls-lisp.el (ls-lisp-format-file-size): Use it, instead of + computing the representation inline. Don't require `cl'. + +2011-04-08 Glenn Morris + + * man.el (Man-page-header-regexp): Solaris < 2.6 no longer supported. + + * net/browse-url.el (browse-url-firefox): + Test system-type, not system-configuration. + + * vc/log-edit.el (log-edit-empty-buffer-p): New function. + (log-edit-insert-cvs-template, log-edit-insert-cvs-rcstemplate): + Use log-edit-empty-buffer-p. (Bug#7598) + + * net/rlogin.el (rlogin-process-connection-type): Simplify. + (rlogin-mode-map): Initialize in the defvar. + (rlogin): Use ignore-errors. + + * replace.el (occur-mode-map): Some fixes for menu items. + +2011-04-07 Aaron S. Hawley + + * play/morse.el (denato-region): Handle varying case. (Bug#8386) + +2011-04-06 Chong Yidong + + * emacs-lisp/cconv.el (cconv--analyse-use): Ignore "ignored" when + issuing unused warnings. + + * emacs-lisp/tabulated-list.el (tabulated-list-print): Use lambda + macro directly. + + * simple.el: Lisp reimplement of list-processes. Based on an + earlier reimplementation by Leo Liu, but using tabulated-list.el. + (process-menu-mode): New major mode. + (list-processes--refresh, list-processes): + (process-menu-visit-buffer): New functions. + + * files.el (save-buffers-kill-emacs): Don't assume any return + value of list-processes, which is undocumented anyway. + +2011-04-06 Chong Yidong + + * emacs-lisp/tabulated-list.el: New file. + + * emacs-lisp/package.el: Use Tabulated List mode. + (package-menu-mode-map): Inherit from tabulated-list-mode-map. + (package-menu-mode): Derive from tabulated-list-mode. Set up the + table format using Tabulated List mode variables. + (package--push): New macro, replacing package-list-maybe-add. + (package-menu--generate): Use package--push. Renamed from + package--generate-package-list. + (package-menu-refresh, list-packages): Use it. + (package-menu--print-info): Rename from package-print-package. + Return insertion data instead of inserting it directly. + (package-menu-describe-package, package-menu-execute): + Use tabulated-list-get-id. + (package-menu-mark-delete, package-menu-mark-install) + (package-menu-mark-unmark, package-menu-backup-unmark) + (package-menu-mark-obsolete-for-deletion): + Use tabulated-list-put-tag. + (package--list-packages, package-menu-revert) + (package-menu-get-package, package-menu-get-version) + (package-menu-sort-by-column): Functions deleted. + (package-menu-package-list, package-menu-sort-key): Vars deleted. + (package-menu--status-predicate, package-menu--version-predicate) + (package-menu--name-predicate) + (package-menu--description-predicate): Handle arguments in the + Tabulated List format. + (package-list-packages-no-fetch): Call list-packages. + +2011-04-06 Juanma Barranquero + + * files.el (after-find-file-from-revert-buffer): Remove variable. + (after-find-file): Don't bind it. + (revert-buffer-in-progress-p): New variable. + (revert-buffer): Bind it. + Pass nil for `after-find-file-from-revert-buffer'. + + * saveplace.el (save-place-find-file-hook): Use new variable + `rever-buffer-in-progress-p', not `after-find-file-from-revert-buffer'. + +2011-04-06 Glenn Morris + + * Makefile.in (AUTOGEN_VCS): New variable. + (autoloads): Use $AUTOGEN_VCS. + + * calendar/cal-move.el (calendar-scroll-toolkit-scroll): New function. + * calendar/calendar.el (calendar-mode-map): + Check for toolkit scroll bars. (Bug#8305) + +2011-04-05 Chong Yidong + + * minibuffer.el (completion-in-region--postch) + (completion-in-region-mode): Remove unnecessary messages. + +2011-04-05 Juanma Barranquero + + * font-lock.el (font-lock-refresh-defaults): + Don't bind `hi-lock--inhibit-font-lock-hook', removed in + 2010-10-09T04:09:19Z!cyd@stupidchicken.com and 2010-10-11T23:57:49Z!lekktu@gmail.com (2010-10-12). + + * info.el (Info-directory-list, Info-read-node-name-2) + (Info-split-parameter-string): Doc fixes. + (Info-virtual-nodes): Reflow docstring. + (Info-find-file, Info-directory-toc-nodes, Info-history-toc-nodes) + (Info-apropos-toc-nodes, info-finder, Info-get-token) + (Info-find-emacs-command-nodes, Info-speedbar-key-map): + Fix typos in docstrings. + (Info-revert-buffer-function, Info-search, Info-isearch-pop-state) + (Info-speedbar-hierarchy-buttons, Info-speedbar-goto-node) + (Info-speedbar-buttons, Info-desktop-buffer-misc-data) + (Info-restore-desktop-buffer): Mark unused parameters. + (Info-directory-find-file, Info-directory-find-node) + (Info-history-find-file, Info-history-find-node, Info-toc-find-node) + (Info-virtual-index-find-node, Info-apropos-find-file) + (Info-apropos-find-node, Info-finder-find-file, Info-finder-find-node): + Mark unused parameters; fix typos in docstrings. + (Info-virtual-index): Remove unused local variable `nodename'. + +2011-04-05 Deniz Dogan + + * net/rcirc.el: Update my e-mail address. + (rcirc-mode-map): Remove M-o binding. + +2011-04-05 Chong Yidong + + * startup.el (command-line): Save the cursor's theme-face + directly, instead of using face-override-spec. + + * custom.el (load-theme): Minor optimization in assigning faces. + +2011-04-04 Juanma Barranquero + + * help-fns.el (describe-variable): Complete all variables having + documentation, including keywords. + http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00112.html + +2011-04-04 Juanma Barranquero + + Convert to lexical-binding. + + * bs.el (bs-refresh, bs-sort-buffer-interns-are-last) + (bs--get-marked-string, bs--get-modified-string) + (bs--get-readonly-string, bs--get-size-string, bs--get-name) + (bs--get-mode-name, bs--get-file-name): Mark unused arguments. + (bs--configuration-name-for-prefix-arg): Rename argument PREFIX-ARG. + + * ehelp.el (electric-help-execute-extended) + (electric-help-ctrl-x-prefix): + * hexl.el (hexl-revert-buffer-function): + * linum.el (linum-after-change, linum-after-scroll): + * emacs-lisp/re-builder.el (reb-auto-update): Mark unused arguments. + + * help-fns.el (help-describe-category-set): Remove unused ERR variable. + +2011-04-04 Daiki Ueno + + * epa-dired.el: + * epa-mail.el: + * epa-hook.el: + * epa-file.el: + * epa.el: + * epg.el: Use lexical binding. + +2011-04-03 Chong Yidong + + * dired-aux.el (dired-create-files): Add docstring (Bug#7970). + + * textmodes/flyspell.el (flyspell-word): Recognize default + dictionary case for flyspell-mark-duplications-exceptions. + Use regexp matching for languages. + (flyspell-mark-duplications-exceptions): Add "that" and "had" for + default dictionary (Bug#7926). + +2011-04-02 Chong Yidong + + * emacs-lisp/package.el (package--with-work-buffer): + Recognize https URLs. + + * net/network-stream.el: Move from gnus/proto-stream.el. + Change prefix to network-stream throughout. + (open-protocol-stream): Merge into open-network-stream, leaving + open-protocol-stream as an alias. Handle nil BUFFER args. + + * subr.el (open-network-stream): Move to net/network-stream.el. + +2011-04-02 Glenn Morris + + * find-dired.el (find-exec-terminator): New option. + (find-ls-option): Test for -ls support. + (find-ls-subdir-switches): Test for -b in find-ls-option. + (find-dired, find-grep-dired): Doc fixes. + (find-dired): Use find-exec-terminator. + + * find-dired.el (find-ls-option, find-ls-subdir-switches) + (find-grep-options): Do not autoload these defcustoms, remove purecopy. + (find-name-arg): Remove purecopy. + + * progmodes/grep.el (grep-find-use-xargs): Doc fix. + (grep-compute-defaults): Check for `-exec COMMAND +' support. + Set grep-find-use-xargs, grep-find-command, and grep-find-template + accordingly. Don't add the null-device if not needed. + + * files.el (save-some-buffers): Doc fix. + +2011-04-02 Eli Zaretskii + + * makefile.w32-in (EMACS): Default to ../src/$(BLD)/emacs.exe. + +2011-04-01 Juanma Barranquero + + * progmodes/idlwave.el (idlwave-one-key-select, idlwave-list-abbrevs): + Use `dolist' rather than `mapcar'. + +2011-04-01 Stefan Monnier + + Add lexical binding. + + * subr.el (apply-partially): Use new closures rather than CL. + (--dolist-tail--, --dotimes-limit--): Don't declare dynamic. + (dolist, dotimes): Use slightly different expansion for lexical code. + (functionp): Move to C. + (letrec): New macro. + (with-wrapper-hook): Use it and apply-partially instead of CL. + (eval-after-load): Preserve lexical-binding. + (save-window-excursion, with-output-to-temp-buffer): Turn them + into macros. + + * simple.el (with-wrapper-hook, apply-partially): Move to subr.el. + + * help-fns.el (help-split-fundoc): Return nil if there's nothing else + than the arglist. + (help-add-fundoc-usage): Don't add `Not documented'. + (help-function-arglist): Handle closures, subroutines, and new + byte-code-functions. + (help-make-usage): Remove leading underscores. + (describe-function-1): Handle closures. + (describe-variable): Use special-variable-p for completion. + + * files.el (lexical-binding): Declare safe. + + * emacs-lisp/pcase.el: Don't use destructuring-bind. + (pcase--memoize): Rename from pcase-memoize. Change weakness. + (pcase): Add `let' pattern. + Change memoization so it actually works. + (pcase-mutually-exclusive-predicates): Add byte-code-function-p. + (pcase--u1) : Fix possible shadowing problem. + : New case. + + * emacs-lisp/macroexp.el: Use lexical binding. + (macroexpand-all-1): Check obsolete macros. Expand compiler-macros. + Don't convert ' to #' without checking that it's indeed quoting + a lambda. + + * emacs-lisp/lisp-mode.el (eval-last-sexp-1): + Use eval-sexp-add-defvars. + (eval-sexp-add-defvars): New fun. + + * emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound. + + * emacs-lisp/eieio.el (byte-compile-file-form-defmethod): + Don't autoload. + (eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather + than the internal `byte-compile-lambda'. + (defmethod): Don't hide code under quotes. + (eieio-defmethod): New `code' argument. + + * emacs-lisp/eieio-comp.el: Remove. + + * emacs-lisp/edebug.el (edebug-eval-defun) + (edebug-eval-top-level-form): Use eval-sexp-add-defvars. + (edebug-toggle): Avoid `eval'. + + * emacs-lisp/disass.el (disassemble-internal): Handle new + `closure' objects. + (disassemble-1): Handle new byte codes. + + * emacs-lisp/cl.el (pushnew): Silence warning. + + * emacs-lisp/cl-macs.el (cl-byte-compile-block) + (cl-byte-compile-throw): Remove. + (cl-block-wrapper, cl-block-throw): Use compiler-macros instead. + + * emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL + closures. + + * emacs-lisp/cconv.el: New file. + + * emacs-lisp/bytecomp.el: Use lexical binding instead of + a "bytecomp-" prefix. Macroexpand everything as a separate phase. + (byte-compile-initial-macro-environment): + Handle declare-function here. + (byte-compile--lexical-environment): New var. + (byte-stack-ref, byte-stack-set, byte-discardN) + (byte-discardN-preserve-tos): New lap codes. + (byte-interactive-p): Don't use any more. + (byte-compile-push-bytecodes, byte-compile-push-bytecode-const2): + New macros. + (byte-compile-lapcode): Use them and handle new lap codes. + (byte-compile-obsolete): Remove. + (byte-compile-arglist-signature): Handle new byte-code arg"lists". + (byte-compile-arglist-warn): Check late def of inlinable funs. + (byte-compile-cl-warn): Don't silence warnings for compiler-macros + since they should have been expanded by now. + (byte-compile--outbuffer): Rename from bytecomp-outbuffer. + (byte-compile-from-buffer): Remove unused second arg. + (byte-compile-preprocess): New function. + (byte-compile-toplevel-file-form): New function to distinguish + file-form calls from outside from file-form calls from hunk-handlers. + (byte-compile-file-form): Simplify. + (byte-compile-file-form-defsubst): Remove. + (byte-compile-file-form-defmumble): Simplify now that + byte-compile-lambda always returns a byte-code-function. + (byte-compile): Preprocess. + (byte-compile-byte-code-maker, byte-compile-byte-code-unmake): + Remove, not used any more. + (byte-compile-arglist-vars, byte-compile-make-lambda-lexenv) + (byte-compile-make-args-desc): New funs. + (byte-compile-lambda): Handle lexical functions. Always return + a byte-code-function. + (byte-compile-reserved-constants): New var, to make up room for + closed-over variables. + (byte-compile-constants-vector): Obey it. + (byte-compile-top-level): New args `lexenv' and `reserved-csts'. + (byte-compile-macroexpand-declare-function): New function. + (byte-compile-form): Call byte-compile-unfold-bcf to inline immediate + byte-code-functions. + (byte-compile-form): Check obsolescence here. + (byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions. + (byte-compile-variable-ref): Remove. + (byte-compile-dynamic-variable-op): New fun. + (byte-compile-dynamic-variable-bind, byte-compile-variable-ref) + (byte-compile-variable-set): New funs. + (byte-compile-discard): Add 2 args. + (byte-compile-stack-ref, byte-compile-stack-set) + (byte-compile-make-closure, byte-compile-get-closed-var): New funs. + (byte-compile-funarg, byte-compile-funarg-2): Remove, handled in + macroexpand-all instead. + (byte-compile-quote-form): Remove. + (byte-compile-push-binding-init, byte-compile-not-lexical-var-p) + (byte-compile-bind, byte-compile-unbind): New funs. + (byte-compile-let): Handle let* and lexical binding. + (byte-compile-let*): Remove. + (byte-compile-catch, byte-compile-unwind-protect) + (byte-compile-track-mouse, byte-compile-condition-case): + Handle a new :fun-body form, used for lexical scoping. + (byte-compile-save-window-excursion) + (byte-compile-with-output-to-temp-buffer): Remove. + (byte-compile-defun): Simplify. + (byte-compile-stack-adjustment): New fun. + (byte-compile-out): Use it. + (byte-compile-refresh-preloaded): Don't reload byte-compiler files. + + * emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile' + handler any more. + + * emacs-lisp/byte-opt.el: Use lexical binding. + (byte-inline-lapcode): Remove (to bytecomp). + (byte-compile-inline-expand): Pay attention to inlining to/from + lexically bound code. + (byte-compile-unfold-lambda): Don't handle byte-code-functions + any more. + (byte-optimize-form-code-walker): Don't handle save-window-excursion + any more and don't call compiler-macros. + (byte-compile-splice-in-already-compiled-code): Remove. + (byte-code): Don't inline any more. + (disassemble-offset): Receive `bytes' as argument rather than via + dynamic scoping. + (byte-compile-tag-number): Declare before first use. + (byte-decompile-bytecode-1): Handle new byte-codes, don't change + `return' even if make-spliceable. + (byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove + obsolete interactive-p. + (byte-optimize-lapcode): Optimize new lap-codes. + Don't trip up on new form of `byte-constant' lap code. + + * emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros. + + * emacs-lisp/advice.el (ad-arglist): Use help-function-arglist. + + * custom.el (custom-initialize-default, custom-declare-variable): + Use `defvar'. + + * Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS): + New variables. + (compile-onefile, .el.elc, compile-calc, recompile): Use them. + (COMPILE_FIRST): Add macroexp and cconv. + * makefile.w32-in: Mirror changes in Makefile.in. + + * vc/cvs-status.el: + * vc/diff-mode.el: + * vc/log-edit.el: + * vc/log-view.el: + * vc/smerge-mode.el: + * textmodes/bibtex-style.el: + * textmodes/css-mode.el: + * startup.el: + * uniquify.el: + * minibuffer.el: + * newcomment.el: + * reveal.el: + * server.el: + * mpc.el: + * emacs-lisp/smie.el: + * doc-view.el: + * dired.el: + * abbrev.el: Use lexical binding. + +2011-04-01 Eli Zaretskii + + * info.el (info-display-manual): New function. + +2011-03-31 Stefan Monnier + + * loadup.el: Load minibuffer after loaddefs, to use define-minor-mode. + +2011-03-31 Tassilo Horn + + * net/rcirc.el (rcirc-handler-001): Only authenticate, if there's + an entry for that server in rcirc-authinfo. (Bug#8385) + +2011-03-31 Glenn Morris + + * progmodes/f90.el (f90-find-tag-default): Handle multiple `%'. + + * generic-x.el (etc-fstab-generic-mode): Add ext4, sysfs keywords. + +2011-03-30 Christoph Scholtes + + * progmodes/python.el (python-default-interpreter) + (python-python-command-args, python-jython-command-args) + (python-which-shell, python-which-args, python-which-bufname) + (python-file-queue, python-comint-output-filter-function) + (python-toggle-shells, python-shell): Remove obsolete defcustoms, + variables and functions. + +2011-03-30 Stefan Monnier + + * minibuffer.el (completion-table-dynamic): Optimize `boundaries'. + (completion-in-region-mode): New minor mode. + (completion-in-region): Use it. + (completion-in-region--data, completion-in-region-mode-map): New vars. + (completion-in-region--postch): New function. + (completion--capf-misbehave-funs, completion--capf-safe-funs): + New vars. + (completion--capf-wrapper): New function. + (completion-at-point): Use it to track well-behavedness of + hook functions. + (completion-help-at-point): New command. + +2011-03-30 Jason Merrill (tiny change) + + * vc/add-log.el (add-change-log-entry): Don't use whitespace + syntax class to search for whitespace on a single line + (Message-ID: <4D938140.4030905@redhat.com>). + +2011-03-30 Leo Liu + + * abbrev.el (abbrev-edit-save-to-file, abbrev-edit-save-buffer): + New commands. + (edit-abbrevs-map): Bind them here. + (write-abbrev-file): New optinal arg VERBOSE. (Bug#5937) + +2011-03-29 Ken Manheimer + + * allout.el (allout-hide-by-annotation, allout-flag-region): + Reduce possibility of overlay leakage by making them volatile. + + * allout-widgets.el (allout-widgets-tally): Define as nil so the + hash is not shared between buffers. Mode initialization is + responsible for giving it a useful starting value. + (allout-item-span): Reduce possibility of overlay leakage by + making them volatile. + (allout-widgets-count-buttons-in-region): Add diagnostic function + for tracking down button overlay leaks. + +2011-03-29 Leo Liu + + * ido.el (ido-read-internal): Use the default history var + minibuffer-history if no HISTORY is specified. + +2011-03-28 Brian T. Sniffen (tiny change) + + * net/imap.el (imap-shell-open, imap-process-connection-type): + Use imap-process-connection-type for 'shell' streams as well as + Kerberos, SSL, other subprocesses. + +2011-03-28 Leo Liu + + * abbrev.el (abbrev-table-empty-p): New function. + (prepare-abbrev-list-buffer): Place empty abbrev tables after + nonempty ones. (Bug#5937) + +2011-03-27 Jan Djärv + + * cus-start.el (all): Add boolean ns-auto-hide-menu-bar. + +2011-03-27 Leo Liu + + * ansi-color.el (ansi-color-names-vector): Allow cons cell value + for foreground and background colors. + (ansi-color-make-color-map): Adapt. + +2011-03-25 Leo Liu + + * midnight.el (midnight-time-float): Remove. Note it calculates + the microsecond component incorrectly and seconds-to-time does the + same job. + Remove redundant (require 'timer). + + * ido.el (ido-read-internal): Simplify with read-from-minibuffer. + (ido-completions): Remove unused arguments. (Bug#8329) + +2011-03-24 Stefan Monnier + + * minibuffer.el (completion--flush-all-sorted-completions): + Remove itself from hook. + (completion-at-point): Let the functions perform the completion + immediately and return nil or t. + * comint.el (comint-dynamic-complete-functions): Now identical to + completion-at-point-functions. + (comint-dynamic-list-input-ring): Remove unused var `index'. + (comint--match-partial-filename, comint--unquote&expand-filename): + New funs, split from comint-match-partial-filename. + (comint-dynamic-complete): Use completion-at-point. + (comint-dynamic-complete-filename): Use comint--match-partial-filename. + +2011-03-24 Drew Adams + + * thingatpt.el: Support `defun'. + +2011-03-23 Leo Liu + + * abbrevlist.el: Move to obsolete/abbrevlist.el. + + * help-mode.el (help-mode-finish): Tweak regexp. + +2011-03-23 Glenn Morris + + * eshell/esh-opt.el (eshell-eval-using-options): + Do not bind unused local variable `eshell-option-stub'. + + * progmodes/gdb-mi.el (gdb): Fix typo in previous change. + +2011-03-22 Juanma Barranquero + + * emacs-lisp/derived.el (define-derived-mode): Wrap declaration of + keymap variable in `with-no-warnings' to avoid a warning when the + keymap has been already `defconst'ed. + +2011-03-22 Leo Liu + + * abbrev.el (write-abbrev-file): Use utf-8 for writing if it can + encode all chars in abbrevs; otherwise use emacs-mule or + utf-8-emacs. (Bug#8308) + +2011-03-22 Juanma Barranquero + + * simple.el (backward-delete-char-untabify): + Avoid warning about using `delete-backward-char'. + + * image.el (image-type-file-name-regexps): Make it variable. + `imagemagick-register-types' modifies it, and the user may want + to add new extensions for known image types. + (imagemagick-register-types): Throw error if not using ImageMagick. + +2011-03-22 Leo Liu + + * net/rcirc.el (rcirc-completion-at-point): Return nil if point is + located before rcirc-prompt-end-marker. + (rcirc-complete): Error if point is not after rcirc prompt. + Handle the case when table is nil. + (rcirc-user-authenticated): Define to fix compiler warning. + +2011-03-22 Chong Yidong + + * custom.el (custom--inhibit-theme-enable): Make it affect only + custom-theme-set-variables and custom-theme-set-faces. + (provide-theme): Ignore custom--inhibit-theme-enable. + (load-theme): Enable the theme explicitly if NO-ENABLE is non-nil. + (custom-enabling-themes): Delete variable. + (enable-theme): Accept only loaded themes as arguments. + Ignore the special custom-enabled-themes variable. + (custom-enabled-themes): Forbid themes from setting this. + Eliminate use of custom-enabling-themes. + (custom-push-theme): Quote "changed" custom var entry. + +2011-03-21 Leo Liu + + * ido.el (ido-read-internal): Add ido-selected to history instead + of user input. + +2011-03-21 Stefan Monnier + + * subr.el (deferred-action-list, deferred-action-function): + Mark obsolete. + +2011-03-21 Leo Liu + + * vc/log-view.el: Remove (require 'wid-edit), not needed after the + change on 2011-02-13 (bug#8309). + + * minibuffer.el (read-file-name-function): Change default value. + (read-file-name--defaults): Rename from read-file-name-defaults. + (read-file-name-default): Rename from read-file-name. + (read-file-name): Call read-file-name-function. + +2011-03-21 Glenn Morris + + * eshell/esh-opt.el (eshell-eval-using-options, eshell-process-args): + Doc fixes. + +2011-03-21 Chong Yidong + + * cus-theme.el: Add missing provide statement. + (customize-create-theme): Extract theme value correctly. + (custom-theme-visit-theme): Autoload. + (customize-create-theme): Prompt before inserting default faces. + +2011-03-20 Jay Belanger + + * calc/calc-menu.el (calc-units-menu): Add entries for logarithmic + units and musical notes. + +2011-03-20 Leo Liu + + * ido.el (ido-read-internal): Use completing-read-default. + (ido-completing-read): Fix compatibility with completing-read. + +2011-03-20 Christian Ohler + + * emacs-lisp/ert.el (ert-run-tests-batch): Remove unused variable. + (ert-delete-all-tests): Use `called-interactively-p' rather than + `interactive-p'. + (ert--make-xrefs-region): Respect END. + +2011-03-19 Chong Yidong + + * dired-aux.el (dired-create-directory): Signal an error if the + directory already exists (Bug#8246). + + * facemenu.el (list-colors-display): Call list-faces-display + inside with-help-window. + (list-colors-print): Use display property to align the final + column, instead of checking window-width. + +2011-03-19 Eli Zaretskii + + * vc/emerge.el (emerge-metachars): Separate value for ms-dos and + windows-nt systems. + (emerge-protect-metachars): Quote correctly for ms-dos and + windows-nt systems. + +2011-03-19 Ralph Schleicher + + * info.el (info-initialize): Replace all uses of `:' with + path-separator for compatibility with non-Unix systems. + Cache quoting of path-separator. (Bug#8258) + +2011-03-19 Juanma Barranquero + + * avoid.el (mouse-avoidance-mode, mouse-avoidance-nudge-dist) + (mouse-avoidance-threshold, mouse-avoidance-banish-destination) + (mouse-avoidance-mode): Fix typos in docstrings. + +2011-03-19 Chong Yidong + + * startup.el (package-subdirectory-regexp): Move from package.el. + Omit \\` and \\', and let callers add them. + + * emacs-lisp/package.el (package-strip-version) + (package-load-all-descriptors): Add \\` and \\' to + package-subdirectory-regexp before using it. + (package-untar-buffer): New arg DIR; ensure that file untars only + into this expected directory. Remove superfluous delete-region. + (package-unpack): Caller changed. + (package-tar-file-info): Use package-subdirectory-regexp. + +2011-03-18 Stefan Monnier + + * vc/diff-mode.el (diff-mode-map): Shadow problematic bindings from + diff-mode-shared-map (bug#8284). + (diff-mode-shared-map): Re-introduce some bindings that were problematic. + +2011-03-17 Lars Magne Ingebrigtsen + + * calendar/time-date.el (format-seconds): Use assoc instead of + assoc-string, since assoc-string doesn't exist in XEmacs. + +2011-03-17 Juanma Barranquero + + * custom.el (custom-known-themes): Reflow docstring. + (custom-theme-load-path): Fix typo in docstring. + (load-theme): Fix typo in error message. + (custom-available-themes, custom-variable-theme-value): + Use `let', not `let*'. + +2011-03-17 Jay Belanger + + * calc/README: Mention inclusion of musical notes. + + * calc/calc-units.el (calc-lu-quant): Rename from + `calc-logunits-quantity'. + (calcFunc-lupquant): Rename from `calcFunc-powerquant'. + (calcFunc-lufquant): Rename from `calcFunc-fieldquant'. + (calc-db): Rename from `calc-dblevel'. + (calcFunc-dbpower): Rename from `calcFunc-dbpowerlevel'. + (calcFunc-dbfield): Rename from `calcFunc-dbfieldlevel'. + (calc-np): Rename from `calc-nplevel'. + (calcFunc-nppower): Rename from `calcFunc-nppowerlevel'. + (calcFunc-npfield): Rename from `calcFunc-npfieldlevel'. + (calc-lu-plus): Rename from `calc-logunits-add'. + (calcFunc-lupadd): Rename from `calcFunc-lupoweradd'. + (calcFunc-lufadd): Rename from `calcFunc-lufieldadd'. + (calc-lu-minus): Rename from `calc-logunits-sub'. + (calcFunc-lupsub): Rename from `calcFunc-lupowersub'. + (calcFunc-lufsub): Rename from `calcFunc-lufieldsub'. + (calc-lu-times): Rename from `calc-logunits-mul'. + (calcFunc-lupmul): Rename from `calcFunc-lupowermul'. + (calcFunc-lufmul): Rename from `calcFunc-lufieldmul'. + (calc-lu-divide): Rename from `calc-logunits-div'. + (calcFunc-lupdiv): Rename from `calcFunc-lupowerdiv'. + (calcFunc-lufdiv): Rename from `calcFunc-lufielddiv'. + + * calc/calc-ext.el (calc-init-extensions): Update the names of the + functions being autoloaded. + + * calc/calc.el (calc-lu-power-reference): Rename from + `calc-logunits-power-reference'. + (calc-lu-field-reference): Rename from + `calc-logunits-field-reference'. + + * calc/calc-help.el (calc-l-prefix-help): + Mention musical note functions. + +2011-03-17 Stefan Monnier + + * minibuffer.el (completion-all-sorted-completions): + Use :completion-cycle-penalty text property if present. + +2011-03-16 Ken Manheimer + + * allout.el (allout-yank-processing): Adjust for new rebulleting + regime so bullet being yanked is used without prompting the user + for a choice. + +2011-03-16 Juanma Barranquero + + * startup.el (command-line): Warn the user that _emacs is deprecated. + +2011-03-16 Juanma Barranquero + + * progmodes/delphi.el (delphi-search-path, delphi-indent-level) + (delphi-verbose, delphi-comment-face, delphi-string-face) + (delphi-keyword-face, delphi-ignore-changes, delphi-indent-line) + (delphi-mode-abbrev-table, delphi-debug-buffer, delphi-tab) + (delphi-find-unit, delphi-find-current-xdef, delphi-fill-comment) + (delphi-new-comment-line, delphi-font-lock-defaults) + (delphi-debug-mode-map, delphi-mode-syntax-table, delphi-mode): + Fix typos in docstrings. + +2011-03-15 Ken Manheimer + + * allout.el (allout-make-topic-prefix, allout-rebullet-heading): + Invert the roles of character and string values for INSTEAD, so a + string is used for the more common case of a defaulting prompt. + +2011-03-15 Stefan Monnier + + * progmodes/ruby-mode.el (ruby-backward-sexp): + * progmodes/ebrowse.el (ebrowse-draw-file-member-info): + * play/gamegrid.el (gamegrid-make-face): + * play/bubbles.el (bubbles--grid-width, bubbles--grid-height) + (bubbles--colors, bubbles--shift-mode, bubbles--initialize-images): + * notifications.el (notifications-notify): + * net/xesam.el (xesam-search-engines): + * net/quickurl.el (quickurl-list-insert): + * vc/vc-hg.el (vc-hg-dir-printer): Fix use of case. + +2011-03-15 Chong Yidong + + * startup.el (command-line): Update package subdirectory regexp. + +2011-03-15 Stefan Monnier + + * allout.el (allout-abbreviate-flattened-numbering) + (allout-mode-deactivate-hook): Fix up obsolescence "date". + + * subr.el (read-char-choice): Only show the cursor after the prompt, + not after the answer. + +2011-03-15 Kevin Ryde + + * help-fns.el (variable-at-point): Skip leading quotes, if any + (bug#8253). + +2011-03-15 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the + warning message. + +2011-03-14 Michael Albinus + + * shell.el (shell): When called interactively, offer to change the + shell file name on remote hosts. + +2011-03-13 Teodor Zlatanov + + * net/ldap.el (ldap-search-internal): Add `auth-source-search' + integration for LDAP parameters. The host, base, user or binddn, + and secret tokens can be specified in a netrc file, for instance. + This is optional because an `auth-source' parameter must be + specified in the search attributes. + +2011-03-13 Juanma Barranquero + + * help.el (describe-mode): Link to the mode's definition (bug#8185). + +2011-03-12 Stefan Monnier + + * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization + into declaration. Remove redundant and harmful binding. + +2011-03-12 Eli Zaretskii + + * files.el (file-ownership-preserved-p): Pass `integer' as an + explicit 2nd argument to `file-attributes'. If the file's owner + is the Administrators group on Windows, and the current user is + Administrator, consider that a match. + + * server.el (server-ensure-safe-dir): Consider server directory + safe on MS-Windows if its owner is the Administrators group while + the current Emacs user is Administrator. Use `=' to compare + numerical UIDs, since they could be integers or floats. + +2011-03-12 Juanma Barranquero + + * vc/vc-bzr.el (vc-bzr-state): Handle bzr 2.3.0 (follow-up to bug#8170). + +2011-03-12 Michael Albinus + + Sync with Tramp 2.2.1. + + * net/tramp-sh.el (tramp-methods): Exchange "%k" marker with options. + + * net/trampver.el: Update release number. + +2011-03-12 Stefan Monnier + + * progmodes/compile.el (compilation--previous-directory): Fix up + various nil/dead-marker mismatches (bug#8014). + (compilation-directory-properties, compilation-error-properties): + Don't call it at a position past the one we're about to change. + + * emacs-lisp/bytecomp.el (byte-compile-make-obsolete-variable): + Disable obsolescence warnings in the file that declares it. + +2011-03-11 Ken Manheimer + + * allout-widgets.el (allout-widgets-tally): + Initialize allout-widgets-tally as a hash table rather than nil to + prevent mode-line redisplay warnings. Also, clarify the module + description and fix a comment typo. + +2011-03-11 Juanma Barranquero + + * help-fns.el (describe-variable): Don't complete keywords. + Suggested by Teodor Zlatanov . + +2011-03-10 Chong Yidong + + * emacs-lisp/package.el (package-version-join): Impose a standard + string representation for pre/alpha/beta version lists. + (package-unpack-single): Standardize the directory name by passing + it through package-version-join. + (package-strip-rcs-id): Accept any version string that does not + signal an error in version-to-list. + +2011-03-10 Michael Albinus + + * simple.el (delete-trailing-whitespace): Return nil for the + benefit of `write-file-functions'. + +2011-03-10 Glenn Morris + + * vc/vc-hg.el (vc-hg-pull, vc-hg-merge-branch): Use vc-hg-program. + + * vc/vc-git.el (vc-git-program): New option. + (vc-git-branches, vc-git-pull, vc-git-merge-branch, vc-git-command) + (vc-git--call): Use it. + + * eshell/esh-util.el (eshell-condition-case): Doc fix. + + * cus-edit.el (Custom-newline): If no button at point, look + for a subgroup button at start-of-line. (Bug#2298) + + * mail/rmail.el (rmail-msgend, rmail-msgbeg): Doc fixes. + +2011-03-10 Julien Danjou + + * avoid.el (mouse-avoidance-ignore-p): Do not move the cursor if + `cursor-type' is nil. + +2011-03-09 Jay Belanger + + * calc/calc.el (calc-mode-map): Don't bind "C-_" to `calc-missing-key'. + +2011-03-09 Ken Manheimer + + * allout.el: Change so yank of distinctive-bullet items + preserves the existing header prefix, rebulleting it if necessary, + rather than replacing it. This is necessary for proper operation + of cooperative addons like allout-widgets. + (allout-make-topic-prefix, allout-rebullet-heading): + Change SOLICIT arg to INSTEAD, and interpret additionally a string + value as alternate bullet to be used, instead of prompting the user + for a bullet character. + +2011-03-09 Michael Albinus + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Do not use `tramp-file-name-port', because this returns also + `tramp-default-port'. + +2011-03-09 Deniz Dogan + + * net/rcirc.el (rcirc-handler-001): Remove useless + with-rcirc-process-buffer. + (rcirc-check-auth-status): Swap arguments to string-match. + +2011-03-09 Glenn Morris + + * shell.el (shell-mode): + Set comint-input-ring-size from HISTSIZE. (Bug#7889) + + * progmodes/gdb-mi.el (gdb): Improve 2010-12-08 change. + Check for GDBHISTFILE, HISTSIZE, etc. (Bug#7889) + +2011-03-08 Chong Yidong + + * emacs-lisp/package.el (package-refresh-contents) + (package-menu-execute): Use condition-case-no-debug. + +2011-03-08 Michael Albinus + + * simple.el (shell-command-to-string): Use `process-file'. + + * emacs-lisp/package.el (package-tar-file-info): Handle also + remote files. + + * emacs-lisp/package-x.el (package-upload-buffer-internal): + Use `equal' for upload base check. + +2011-03-08 Arni Magnusson (tiny change) + + * textmodes/texinfo.el (texinfo-environments): + Add deftypecv, deftypeivar, deftypemethod, deftypeop, html. (Bug#2783) + +2011-03-08 Glenn Morris + + * cus-start.el (cursor-in-non-selected-windows): + Fix :set quoting oddness. (Bug#8192) + + * font-lock.el (lisp-font-lock-keywords-1): Don't highlight `)' + in some setf expressions. (Bug#2159) + +2011-03-08 Chong Yidong + + * custom.el (custom-available-themes): Return themes in + alphabetical order. + +See ChangeLog.15 for earlier changes. + +;; Local Variables: +;; coding: utf-8 +;; End: + + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This file is part of GNU Emacs. + + GNU Emacs is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + GNU Emacs is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Emacs. If not, see . diff --git a/src/ChangeLog b/src/ChangeLog index e1609356403..ff9f771b779 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1860,22930 +1860,7 @@ __FreeBSD__, not if BSD_SYSTEM, since it's needed only for Darwin and FreeBSD now. -2013-03-11 Paul Eggert - - * insdel.c (adjust_after_replace): Use bool for boolean. - -2013-03-11 Stefan Monnier - - * keyboard.c: Move keyboard decoding to read_key_sequence. - (decode_keyboard_code): Remove. - (tty_read_avail_input): Don't try to decode input. - (read_decoded_char): New function. - (read_key_sequence): Use it. - -2013-03-10 Daniel Colascione - - * w32term.h (GUISTR, GUI_ENCODE_FILE, GUI_ENCODE_SYSTEM, GUI_FN) - (GUI_SDATA, guichar_t): Macros to abstract out differences between - NTGUI_UNICODE and !NTGUI_UNICODE builds, some moved out of - w32fns.c. - - * w32term.c (construct_drag_n_drop): Use the above macros to make - drag-and-drop work for non-ASCII filenames in cygw32 builds. - - * w32fns.c (x_set_name, x_set_title): Use the above macros to - properly display non-ASCII frame titles in cygw32 builds. - - * w32fns.c (Fw32_shell_execute): Use the above macros to properly - call ShellExecute in cygw32 builds. - - * w32fn.c (Fx_file_dialog): Use the above macros to simplify the - common file dialog code. - - * w32fns.c (Ffile_system_info): Remove from cygw32 builds, which - can just use du like other systems. - - * coding.c (from_unicode_buffer): Declare. - * coding.c (from_unicode_buffer): Implement. - -2013-03-10 Stefan Monnier - - * lread.c: Minor cleanup. - (FROM_FILE_P): New macro. - (skip_dyn_bytes, unreadchar, read1): Use it. - (read_list): Consolidate duplicated code. - - * bytecode.c (struct byte_stack): Remove `constants' when unused. - -2013-03-10 Eli Zaretskii - - * xdisp.c (display_tool_bar_line, redisplay_tool_bar) - (redisplay_internal, set_cursor_from_row, try_window) - (try_window_id, dump_glyph_row, extend_face_to_end_of_line) - (display_line, notice_overwritten_cursor) - (mouse_face_from_buffer_pos, note_mouse_highlight): - Use MATRIX_ROW_DISPLAYS_TEXT_P. - (note_mouse_highlight): Use MATRIX_ROW_GLYPH_START. - (mouse_face_from_string_pos, fast_find_string_pos): - Use MATRIX_ROW_VPOS. - - * xfns.c (Fx_show_tip): Use MATRIX_ROW_DISPLAYS_TEXT_P. - - * w32fns.c (Fx_show_tip): Use MATRIX_ROW_DISPLAYS_TEXT_P. - - * xdisp.c (try_cursor_movement): Use MATRIX_ROW and - MATRIX_MODE_LINE_ROW. - - * dispnew.c (update_window): Use MATRIX_ROW and MATRIX_MODE_LINE_ROW. - -2013-03-10 handa - - * lisp.h (adjust_after_replace): Extern it. - - * coding.c (detect_coding): Cound the heading ASCII bytes in the - case of detection for coding_category_utf_8_auto. - (decode_coding_gap) [not CODING_DISABLE_ASCII_OPTIMIZATION]: - Skip decoding if all bytes are ASCII. - - * insdel.c (adjust_after_replace): Make it public. New arg - text_at_gap_tail. - (adjust_after_insert): Call adjust_after_replace with the new arg - value 0. - -2013-03-09 Stefan Monnier - - * keyboard.h (EVENT_START, EVENT_END, POSN_WINDOW, POSN_POSN) - (POSN_WINDOW_POSN, POSN_TIMESTAMP): Be careful since events may come - from Elisp via unread-command-events. - - * keyboard.c (access_keymap_keyremap): Accept nil return value from - functions to mean "no change". - -2013-03-08 Paul Eggert - - region-cache.c, scroll.c, search.c: Use bool for booleans. - * lisp.h (compile_pattern): - * scroll.c (do_scrolling, do_direct_scrolling): - * search.c (struct regexp_cache, compile_pattern_1) - (compile_pattern, string_match_1, search_command) - (trivial_regexp_p, search_buffer, Freplace_match, match_limit) - (search_regs_saved, Fregexp_quote): - Use bool for boolean. - * region-cache.c (region_cache_forward, region_cache_backward): - Fix comments to match code: these functions return int, not boolean. - -2013-03-08 Dmitry Antipov - - * search.c (find_newline): Accept start and end byte positions - as arguments and allow -1 if not known. - (find_newline_no_quit): Likewise for start position. - * lisp.h (find_newline, find_newline_no_quit): Adjust prototype. - * bidi.c (bidi_find_paragraph_start): Pass byte position to - find_newline_no_quit, thus eliminating CHAR_TO_BYTE. - * editfns.c (Fconstrain_to_field): Break long line. - Adjust call to find_newline. - * indent.c (vmotion): Adjust calls to find_newline_no_quit. - Use DEC_BOTH to start next search from the previous buffer - position, where appropriate. - * xdisp.c (back_to_previous_line_start, forward_to_next_line_start) - (get_visually_first_element, move_it_vertically_backward): Likewise. - Obtain byte position from the display iterator, where appropriate. - -2013-03-08 Paul Eggert - - print.c, process.c: Use bool for booleans. - * lisp.h (wait_reading_process_output): - * print.c (print_output_debug_flag, PRINTDECLARE, printchar) - (strout, debug_output_compilation_hack, float_to_string, print) - (print_object): - * process.c (kbd_is_on_hold, inhibit_sentinels, process_output_skip) - (decode_status, status_message, create_process, create_pty) - (Fmake_network_process, Fnetwork_interface_info) - (wait_reading_process_output, read_process_output) - (write_queue_push, write_queue_pop, process_send_signal) - (handle_child_signal, keyboard_bit_set, kbd_on_hold_p): - * process.h (struct Lisp_Process, inhibit_sentinels, kbd_on_hold_p): - Use bool for booleans. - * process.c (Fnetwork_interface_list): Remove unused local. - (connect_counter): Now EMACS_INT, not int. - -2013-03-08 Dmitry Antipov - - * bidi.c (bidi_fetch_char): Swap first and second arguments - to match other functions accepting character and byte positions. - Adjust comment. - (bidi_resolve_explicit_1, bidi_level_of_next_char): Adjust users. - (bidi_paragraph_init): Likewise. Use DEC_BOTH which is faster - when you need just to move to the previous buffer position. - * xdisp.c (Fcurrent_bidi_paragraph_direction): Use DEC_BOTH. - -2013-03-07 Eli Zaretskii - - * .gdbinit (prowlims): Display the enabled_p flag of the row. - -2013-03-07 Dmitry Antipov - - Avoid character to byte conversions in motion subroutines. - * indent.h (compute_motion, vmotion): Add byte position argument. - * indent.c (compute_motion): Use it and avoid CHAR_TO_BYTE. - Add eassert. - (Fcompute_motion): Break long line. Adjust call to compute_motion. - Use list5 for return value. - (vmotion): Use byte position argument and avoid call to CHAR_TO_BYTE. - Adjust comments, style and calls to compute_motion. - (Fvertical_motion): Adjust call to vmotion. - * window.c (Fdelete_other_windows_internal): Record window start - byte position and adjust call to vmotion. - (window_scroll_line_based): Likewise with call to compute_motion. - Use SET_PT_BOTH. - (Frecenter): Adjust calls to vmotion. - -2013-03-07 Dmitry Antipov - - * lisp.h (list2i, list3i): New functions. - (list4i): Move from window.c and make LISP_INLINE. - * editfns.c (make_lisp_time): - * fns.c (Flocale_info): - * keyboard.c (parse_modifiers): - * xterm.c (x_ewmh_activate_frame): Use list2i. - * instel.c (signal_after_change): - * nsfns.m (Fx_server_version, Fxw_color_values): - * w32fns.c (Fxw_color_values, Fx_server_version): - * xfns.c (Fxw_color_values, Fx_server_version): Use list3i. - * fileio.c (Fvisited_file_modtime): - * nsfns.m (Fns_display_usable_bounds): - * w32.c (ltime): Use list4i. - -2013-03-06 Eli Zaretskii - - * search.c (find_newline_no_quit): Rename from find_next_newline. - Add commentary. - - * lisp.h (find_newline_no_quit): Rename prototype. - - * xdisp.c (back_to_previous_line_start) - (forward_to_next_line_start, get_visually_first_element) - (move_it_vertically_backward): Callers of find_newline_no_quit changed. - * indent.c (vmotion): Callers of find_newline_no_quit changed. - * bidi.c (bidi_find_paragraph_start): Callers of - find_newline_no_quit changed. - - * msdos.c: Change encoding to cp850. (Bug#13879) - (fr_keyboard, it_keyboard, dk_keyboard): Update keyboard layouts. - -2013-03-06 Dmitry Antipov - - Coding system support cleanup and minor refactoring. - * coding.h (enum coding_result_code): Remove - CODING_RESULT_INCONSISTENT_EOL and CODING_RESULT_INSUFFICIENT_MEM. - (toplevel): Remove unused CODING_MODE_INHIBIT_INCONSISTENT_EOL. - (CODING_MODE_LAST_BLOCK, CODING_MODE_SELECTIVE_DISPLAY) - (CODING_MODE_DIRECTION, CODING_MODE_FIXED_DESTINATION) - (CODING_MODE_SAFE_ENCODING): Rearrange bit values. - (decode_coding_region, encode_coding_region, decode_coding_string): - Remove unused compatibility macros. - * coding.c (Qinconsistent_eol, Qinsufficient_memory): Remove. - (record_conversion_result): Adjust user. - (syms_of_coding): Likewise. - (ALLOC_CONVERSION_WORK_AREA): Use SAFE_ALLOCA. - (decode_coding, encode_coding): Add USE_SAFE_ALLOCA and SAFE_FREE. - (decode_coding_object): Simplify since xrealloc never returns NULL. - Add eassert. - -2013-03-06 Paul Eggert - - Fix a build failure on OpenBSD 4.x and MirBSD (Bug#13881). - * sysdep.c (list_system_processes) - [BSD_SYSTEM && !DARWIN_OS && !__FreeBSD__]: - Make it a stub in this case; otherwise the build might fail, - and this code hasn't been tested on such hosts anyway. - Problem reported by Nelson H. F. Beebe in - - and analyzed by Jérémie Courrèges-Anglas in - . - -2013-03-06 Dmitry Antipov - - * lisp.h (find_next_newline_no_quit): Rename to find_next_newline. - * xdisp.c (back_to_previous_line_start, forward_to_next_line_start) - (get_visually_first_element, move_it_vertically_backward): Ajust users. - * bidi.c (bidi_find_paragraph_start): Likewise. - * indent.c (vmotion): Likewise. - -2013-03-05 Paul Eggert - - FILE's lock is now always .#FILE and may be a regular file (Bug#13807). - * filelock.c: Include . - (MAX_LFINFO): New top-level constant. - (lock_info_type): Remove members pid, boot_time. Add members at, - dot, colon. Change user member to be the entire buffer, not a - pointer. This allows us to handle the case where a foreign - pid or boot time exceeds the local range. All uses changed. - (LINKS_MIGHT_NOT_WORK): New constant. - (FREE_LOCK_INFO): Remove, as the pieces no longer need freeing. - (defined_WINDOWSNT): Remove. - (MAKE_LOCK_NAME, file_in_lock_file_name): - Always use .#FILE (not .#-FILE) for the file lock, - even if it is a regular file. - (rename_lock_file): New function. - (create_lock_file): Use it. - (create_lock_file, read_lock_data): - Prefer a symbolic link for the lock file, falling back on a - regular file if symlinks don't work. Do not try to create - symlinks on MS-Windows, due to security hassles. Stick with - POSIXish functions (open, read, write, close, fchmod, readlink, symlink, - link, rename, unlink, mkstemp) when creating locks, as a GNUish - host may be using a Windowsish file system, and cannot use - MS-Windows-only system calls. Fall back on mktemp if mkstemp - doesn't work. Don't fail merely because of a symlink-contents - length limit in the current file system; fall back on regular - files. Increase the symlink contents length limit to 8 KiB, this - should be big enough for any real use and doesn't crunch the - stack. - (create_lock_file, lock_file_1, read_lock_data): - Simplify allocation of lock file buffers now that they fit in 8 KiB. - (lock_file_1): Return error number, not bool. All callers changed. - (ELOOP): New macro, if not already defined. - (read_lock_data): Return size of lock file contents, not Lisp object. - All callers changed. Handle a race condition if some other process - replaces a regular-file lock with a symlink lock or vice versa, - while we're trying to read the lock. - (current_lock_owner): Parse contents more carefully, to help avoid - confusing a regular-file lock with some other application's use - of the file. Check for lock file contents being too long, or - not parsing correctly. - (current_lock_owner, lock_file): - Allow foreign pid and boot times that exceed the local range. - (current_lock_owner, lock_if_free, lock_file): - Simplify allocation of lock file contents. - * w32.c (sys_rename_replace): New function, containing most of - the contents of the old sys_rename. - (sys_rename): Use it. - (fchmod): New dummy function. - * w32.h (sys_rename_replace, fchmod): New decls. - -2013-03-05 Eli Zaretskii - - * bidi.c (bidi_resolve_explicit_1): Don't call CHAR_TO_BYTE or - bidi_count_bytes, as the callers now arrange for bidi_it->charpos - to be in sync with bidi_it->bytepos. Suggested by Dmitry Antipov - . - -2013-03-05 Dmitry Antipov - - * composite.c (get_composition_id, fill_gstring_header): - Use make_uninit_vector where appropriate. - * font.c (Ffont_get_glyphs, build_style_table): Likewise. - * xselect.c (clean_local_selection_data): Likewise. - -2013-03-04 Paul Eggert - - Fix misuse of ImageMagick that caused core dump (Bug#13846). - * image.c (imagemagick_load_image): Calculate height and width - after flattening the image, not before. - -2013-03-04 Dmitry Antipov - - * font.c (Ffont_get_glyphs): Use convenient LGLYPH_NEW. - * ftfont.c (ftfont_shape_by_flt): Likewise. - * w32uniscribe.c (uniscribe_shape): Likewise. - -2013-03-02 Paul Eggert - - The lock for FILE is now .#FILE or .#-FILE (Bug#13807). - The old approach, which fell back on DIR/.#FILE.0 through - DIR/.#FILE.9, had race conditions that could not be easily fixed. - If DIR/.#FILE is a non-symlink file, Emacs now does not create a - lock file for DIR/FILE; that is, DIR/FILE is no longer partly - protected by a lock if DIR/.#FILE is a non-symlink file ("partly" - because the locking mechanism was never reliable in that case). - This patch fixes this and other bugs discovered by a code - inspection that was prompted by - . - Also, this patch switches to .#-FILE (not .#FILE) on MS-Windows, - to avoid interoperability problems between the MS-Windows and - non-MS-Windows implementations. MS-Windows and non-MS-Windows - instances of Emacs now ignore each others' locks. - * filelock.c (defined_WINDOWSNT): New constant. - (MAKE_LOCK_NAME, fill_in_lock_file_name): - Don't create DIR/.#FILE.0 through DIR/.#FILE.9. Instead, create - DIR/.#FILE symlinks on non-MS-Windows hosts, and DIR/.#-FILE - regular files on MS-Windows hosts. - (MAKE_LOCK_NAME, unlock_file, Ffile_locked_p): - Use SAFE_ALLOCA to avoid problems with long file names. - (MAX_LFINFO): Now a local constant, not a global macro. - (IS_LOCK_FILE): Remove. - (lock_file_1): Don't inspect errno if symlink call succeeds; - that's not portable. - (lock_file): Document that this function can return if lock - creation fails. - (lock_file): Don't access freed storage. - -2013-03-02 Andreas Schwab - - * lisp.h (XPNTR) [!USE_LSB_TAG]: Remove extra paren. (Bug#13734) - -2013-03-02 Paul Eggert - - * textprop.c: Use bool for booleans. - (validate_interval_range, Fadd_text_properties) - (Fremove_text_properties): Prefer bool to int when either works. - -2013-03-02 Eli Zaretskii - - * textprop.c (Fadd_text_properties, Fremove_text_properties): - If the interval tree changes as a side effect of calling - modify_region, re-do processing starting from the call to - validate_interval_range. (Bug#13743) - -2013-02-28 Eli Zaretskii - - * w32.c (sys_open): Don't reset the flags for FD in fd_info[]. - (Bug#13546). - -2013-02-27 Eli Zaretskii - - * filelock.c (create_lock_file) [WINDOWSNT]: Use _sopen with - _SH_DENYRW flag, instead of emacs_open, to deny any other process - access to the lock file until it is written and closed. - (Bug#13807) - -2013-02-27 Paul Eggert - - * callint.c (Qcall_interactively): - * macros.c (Qexecute_kbd_macro): - Now static. - -2013-02-26 Bastien Guerry - - * window.c (Frecenter): Tiny docstring enhancement. - -2013-02-26 Paul Eggert - - Minor textprop integer cleanup. - * intervals.h, textprop.c (add_text_properties_from_list): - Return void, not int, since nobody uses the return value. - * textprop.c (validate_plist, add_properties, remove_properties) - (Fadd_text_properties): - Don't assume list length fits in int. - (interval_has_all_properties, interval_has_some_properties) - (interval_has_some_properties_list, add_properties, remove_properties) - (Fadd_text_properties, Fremove_text_properties) - (Fremove_list_of_text_properties, text_property_stickiness): - Use bool for booleans. - (Fadd_text_properties, Fremove_text_properties): - (Fremove_list_of_text_properties): - Reindent do-while as per GNU style. - -2013-02-25 Eli Zaretskii - - Implement CLASH_DETECTION for MS-Windows. - - * filelock.c [WINDOWSNT]: Include w32.h. - (MAKE_LOCK_NAME): Don't use 'lock', it clashes with MS runtime - function of that name. Up-case the macro arguments. - (IS_LOCK_FILE): New macro. - (fill_in_lock_file_name): Use IS_LOCK_FILE instead of S_ISLNK. - (create_lock_file): New function, with body extracted from - lock_file_1. - [WINDOWSNT]: Implement lock files by writing a regular file with - the lock information as its contents. - (read_lock_data): New function, on Posix platforms just calls - emacs_readlinkat. - [WINDOWSNT]: Read the lock info from the file. - (current_lock_owner): Call read_lock_data instead of calling - emacs_readlinkat directly. - (lock_file) [WINDOWSNT]: Run the file name through - dostounix_filename. - - * w32proc.c (sys_kill): Support the case of SIG = 0, in which case - just check if the process by that PID exists. - - * w32.c (sys_open): Don't reset the _O_CREAT flag if _O_EXCL is - also present, as doing so will fail to error out if the file - already exists. - - * makefile.w32-in ($(BLD)/filelock.$(O)): Depend on src/w32.h. - - * textprop.c (Fadd_text_properties, Fremove_text_properties) - (Fremove_list_of_text_properties): Skip all of the intervals in - the region between START and END that already have resp. don't - have the requested properties, not just the first one. - Add assertions that the loop afterwards always modifies the - properties. (Bug#13743) - -2013-02-25 Stefan Monnier - - * callint.c (Fcall_interactively): Use the right lexical environment - for `interactive' specs (bug#13811). - * eval.c (Feval): Accept a lexical environment. - -2013-02-25 Paul Eggert - - Simplify data_start configuration (Bug#13783). - This is a followon simplification to the fix for Bug#13650. - * Makefile.in (LD_FIRSTFLAG, LIB_GCC, CRT_DIR, LIB_STANDARD) - (START_FILES): Remove. All uses removed. - (otherobj): Remove $(VMLIMIT_OBJ), as it's now first. - (ALLOBJS): Move here from autodeps.mk, and with VMLIMITS_OBJ first. - (buildobj.h): Use it. - ($(ALLOBJS)): Depend on globals.h. - (temacs$(EXEEXT)): Use $(ALLOBJS). - * autodeps.mk (ALLOBJS): Move to Makefile.in. - * deps.mk (vm-limit.o): - * makefile.w32-in ($(BLD)/vm-limit.$(O)): - Do not depend on mem-limits.h. - * emacs.c (__do_global_ctors, __do_global_ctors_aux) - (__do_global_dtors, __CTOR_LIST__, __DTOR_LIST__) - [__GNUC__ && !ORDINARY_LINK]: Remove. - * mem-limits.h, pre-crt0.c: Remove. - * unexaix.c, unexcoff.c: Don't include mem-limits.h. - * unexcoff.c (etext): New decl. - (make_hdr): Use DATA_START instead of start_of_data. - * vm-limit.c: Move most of mem-limits.h's contents here. - (data_start): New decl. It's OK if this is approximate, - so simplify-away some unnecessary exactness. - (POINTER): Remove; all uses removed. - (data_space_start): Now char *, to avoid casts. - (exceeds_lisp_ptr): New function, replacing the old - EXCEEDS_LISP_PTR macro. All uses changed. - (check_memory_limits): Simplify and remove casts. - (start_of_data) [!CANNOT_DUMP || !SYSTEM_MALLOC]: Remove. - (memory_warnings): Use data_start instead of start_of_data. - -2013-02-24 Andreas Schwab - - * xdisp.c (set_message): Only check for debug-on-message if STRING - is a string. (Bug#13797) - -2013-02-24 Paul Eggert - - Fix regression introduced by July 10 filelock.c patch. - * filelock.c (fill_in_lock_file_name): Fix crash caused by the - 2012-07-10 patch to this file. Reported by Eli Zaretskii in - - and diagnosed by Andreas Schwab in - . - -2013-02-22 Paul Eggert - - Assume C89 or better. - * ralloc.c (SIZE, POINTER, NIL): - * vm-limit.c (POINTER): - Remove, replacing all uses with C89 equivalents. These old - symbols were present only for porting to pre-C89 platforms. - -2013-02-22 Claudio Bley - - * w32.c (emacs_gnutls_pull): Don't call 'select', and don't loop. - This avoids warning messages reported as part of Bug#13546. - -2013-02-21 Ken Brown - - * sheap.c (report_sheap_usage): Fix arguments of message1_no_log. - -2013-02-20 Stefan Monnier - - * sheap.c (report_sheap_usage): Prefer message1_nolog. - - * keyboard.c (Qcommand_execute): New var. - (command_loop_1, read_char): Use it. - (Fcommand_execute): Remove, replace by an Elisp implementation. - (syms_of_keyboard): Adjust accordingly. - -2013-02-19 Daniel Colascione - - * sheap.c (report_sheap_usage): Use message, not message1, so - that we don't try to create a buffer while we're in the middle - of dumping Emacs. Explain why. - -2013-02-20 Dmitry Antipov - - * search.c (find_newline): Return byte position in bytepos. - Adjust comment. - (find_next_newline_no_quit, find_before_next_newline): - Add bytepos argument. - * lisp.h (find_newline, find_next_newline_no_quit) - (find_before_next_newline): Adjust prototypes. - * bidi.c (bidi_find_paragraph_start): - * editfns.c (Fconstrain_to_field, Fline_end_position): - * indent.c (compute_motion, vmotion): - * xdisp.c (back_to_previous_line_start, forward_to_next_line_start): - (get_visually_first_element, move_it_vertically_backward): - Adjust users and avoid calls to CHAR_TO_BYTE where appropriate. - -2013-02-19 Eli Zaretskii - - * w32proc.c (new_child): Avoid leaking handles if the subprocess - resources were not orderly released. - -2013-02-17 Eli Zaretskii - - * xdisp.c (x_draw_vertical_border): For a window that is neither - the leftmost nor the rightmost, redraw both the left and the right - vertical borders. (Bug#13723) - -2013-02-17 Stefan Monnier - - * xml.c (init_libxml2_functions): - * sound.c (sound_warning): - * sheap.c (report_sheap_usage): - * process.c (wait_reading_process_output): - * msdos.c (XMenuActivate): - * macros.c (Fstart_kbd_macro, Fend_kbd_macro): - * keyboard.c (top_level_1): - * editfns.c (Fmessage, Fmessage_box): - * callint.c (Fcall_interactively): - * fns.c (Fyes_or_no_p): Prefer `message1' over `message'. - -2013-02-17 Jan Djärv - - * xterm.c (syms_of_xterm): Move scroll-bar-adjust-thumb-portion ... - * frame.c (syms_of_frame): ... to here. - -2013-02-16 Eli Zaretskii - - * w32.c (sys_chown): Remove unused function. - - * w32term.c : Declare 'volatile' - unconditionally. (Bug#9066) - - * w32.c (set_errno): Reset h_errno and don't set it to any other - value. Set errno instead. - (check_errno): Reset h_errno. - (sys_socket, socket_to_fd, sys_bind, sys_connect) - (sys_gethostname, sys_getservbyname, sys_getpeername) - (sys_shutdown, sys_setsockopt, sys_listen, sys_getsockname) - (sys_accept, sys_recvfrom, sys_sendto, fcntl, sys_read): Don't set - h_errno. - (sys_gethostbyname): Set h_errno only errors detected. - -2013-02-15 Paul Eggert - - * process.c (h_errno) [!HAVE_H_ERRNO]: Remove unused decl. - -2013-02-15 Eli Zaretskii - - * keyboard.c (read_char): Fix calculation of auto-save time out - when auto-save-timeout is less than 4. (Bug#13720) - - * w32proc.c (new_child): Free up to 2 slots of dead processes at a - time. Improve diagnostics in DebPrint. (Bug#13546) - - * w32.c (sys_socket, sys_bind, sys_connect, sys_gethostname) - (sys_gethostbyname, sys_getservbyname, sys_getpeername) - (sys_shutdown, sys_setsockopt, sys_listen, sys_getsockname) - (sys_accept, sys_recvfrom, sys_sendto, fcntl): In case of failure, - make sure errno is set to an appropriate value. (Bug#13546) - (socket_to_fd): Add assertion against indexing fd_info[] with a - value that is out of bounds. - (sys_accept): If fd is negative, do not set up the child_process - structure for reading. - -2013-02-15 Dmitry Antipov - - * composite.c (fill_gstring_header): Remove useless prototype. - Break long line. - * lisp.h (message_dolog, compile_pattern): Adjust prototype. - * print.c (PRINTDECLARE, print_object): - * search.c (compile_pattern, fast_looking_at, search_buffer): - (simple_search, boyer_moore, Freplace_match): - * xdisp.c (c_string_pos, number_of_chars, message_dolog): - (get_overlay_arrow_glyph_row, display_mode_element): - (decode_mode_spec_coding, message3): - * xfaces.c (face_at_string_position): Use bool for booleans. - Adjust comments. - -2013-02-15 Paul Eggert - - Fix AIX port (Bug#13650). - * lisp.h (XPNTR) [!USE_LSB_TAG && DATA_SEG_BITS]: - Fix bug introduced in 2012-07-27 change. DATA_SEG_BITS, if set, - was #undeffed earlier, so it cannot be used as a macro here. - Use the constant and not the macro. - -2013-02-15 Eli Zaretskii - - * w32proc.c (new_child): If no vacant slots are found in - child_procs[], make another pass looking for slots whose process - has exited or died. (Bug#13546) - - * w32.c (sys_pipe): When failing due to file descriptors above - MAXDESC, set errno to EMFILE. - (_sys_read_ahead): Update cp->status when failing to read serial - communications input, so that the status doesn't stay at - STATUS_READ_IN_PROGRESS. (Bug#13546) - -2013-02-14 Jan Djärv - - * gtkutil.c (tb_size_cb): New function. - (xg_create_tool_bar): Connect size-allocate to tb_size_cb (Bug#13512). - -2013-02-14 Stefan Monnier - - * keyboard.c (active_maps): Fcurrent_active_maps expects a position, not - an event. - -2013-02-13 Stefan Monnier - - * keyboard.c (syms_of_keyboard): Further tweaks of docstring. - -2013-02-13 Dmitry Antipov - - * font.c (font_range): Add pos_byte argument. Adjust comment - and break long line. - * font.h (font_range): Adjust prototype. - * composite.c (autocmp_chars): Pass byte position to font_range. - Break long line. Remove useless prototype and format comment. - -2013-02-13 Glenn Morris - - * keyboard.c (input-decode-map, key-translation-map): Doc fixes. - -2013-02-13 Paul Eggert - - Improve AIX port some more (Bug#13650). - With this, it should be as good as it was in 23.3, though it's - still pretty bad: the dumped emacs does not run. See Mark Fleishman in - http://lists.gnu.org/archive/html/help-gnu-emacs/2011-04/msg00287.html - * unexaix.c (start_of_text): Remove. - (_data, _text): Declare as char[], not int, as AIX manual suggests. - (bias, lnnoptr, text_scnptr, data_scnptr, load_scnptr) - (orig_load_scnptr, orig_data_scnptr): - Now off_t, not long, since they are file offsets. - (make_hdr): Use _data, not start_of_data (). - This is the key part of the fix. - (make_hdr, unrelocate_symbols): Use off_t for file offsets. - (unrelocate_symbols): Cast pointers to intptr_t, not to ulong. - - * pre-crt0.c (data_start): Initialize to 1. - This ports to compilers that optimize the external declaration - 'int x = 0;' as if it were 'int x;' to shrink the executable. - - Improve AIX port (Bug#13650). - This doesn't fix the bug, but it makes progress: Emacs builds now. - * unexaix.c: Include inttypes.h, stdarg.h. - (report_error, report_error_1): Mark as _Noreturn. - (report_error): Don't report the wrong errno. - (report_error_1): Now varargs. All callers changed. - (make_hdr): Use uintptr_t, not unsigned, when converting pointers - to unsigned. Don't use ADDR_CORRECT, as it no longer exists. - (write_ptr): Use %p to print address rather than %lx and a cast - to unsigned long. Grow buffer a bit, to be safer. - -2013-02-13 Eli Zaretskii - - * bidi.c (bidi_resolve_neutral): After finding the next - non-neutral character, accept NEUTRAL_ON type as well, because - directional control characters, such as LRE and RLE, have their - type converted to that by bidi_resolve_weak. This avoids aborts - when LRE/RLE follows a run of neutrals. - (bidi_move_to_visually_next): Assert that return value of - bidi_peek_at_next_level is non-negative. Negative values will - cause an infloop. - -2013-02-13 Paul Eggert - - Minor getenv-related fixes. - * callproc.c (Fcall_process_region) [!DOS_NT]: - Avoid unnecessary duplicate call to getenv. - * callproc.c (init_callproc): - * dispnew.c (init_display): - * sysdep.c (sys_subshell): - Omit unnecessary cast of getenv or egetenv. - -2013-02-13 Juanma Barranquero - - * makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/sysdep.$(O)): - Update dependencies. - -2013-02-12 Eli Zaretskii - - * xdisp.c (redisplay_internal): Don't set w->region_showing to the - marker's position. - (display_line): Set w->region_showing to the value of - it->region_beg_charpos, not to -1. This fixes redisplay - optimization when cursor is moved up after M->. (Bug#13623) - (Bug#13626) - (try_scrolling): Scroll text up more if point is too close to ZV - and inside the scroll margin. This makes sure point is moved - outside the scroll margin in these cases. - - * window.h (struct window): region_showing can no longer be - negative. - -2013-02-11 Paul Eggert - - Tune by using memchr and memrchr. - * doc.c (Fsnarf_documentation): - * fileio.c (Fsubstitute_in_file_name): - * search.c (find_newline, scan_newline): - * xdisp.c (pos_visible_p, display_count_lines): - Use memchr and memrchr rather than scanning byte-by-byte. - * search.c (find_newline): Rename from scan_buffer. - Omit first arg TARGET, as it's always '\n'. All callers changed. - - Clean up read_key_sequence a tiny bit more. - * keyboard.c (read_char_x_menu_prompt) [HAVE_MENUS]: - (read_key_sequence): Remove unused locals. - -2013-02-11 Stefan Monnier - - Clean up read_key_sequence a bit; reread active keymaps after first event. - * keyboard.c (read_char, read_char_x_menu_prompt) - (read_char_minibuf_menu_prompt): - Replace nmaps+maps with a single `map' arg. - (follow_key): Operate on a single map. - (active_maps): New function. - (test_undefined): Also return true for nil bindings. - (read_key_sequence): Use active_maps to replace the arrays of keymaps with - a single (composed) keymap. Remember `first_event' to choose the right - set of active keymaps. Recompute the set of keymaps after receiving - the first event. Remove GOBBLE_FIRST_EVENT. - (syms_of_keyboard): Remove inhibit_local_menu_bar_menus. - * keyboard.h (read_char): Update declaration. - * lread.c (read_filtered_event): Adjust call to read_char. - -2013-02-11 Eli Zaretskii - - * xdisp.c (move_it_vertically_backward, move_it_by_lines): - Don't use the limitation on backwards movement when lines are truncated - in the window. (Bug#13675) - -2013-02-11 Dmitry Antipov - - * marker.c (set_marker_internal): If desired position is passed - as a marker, avoid call to buf_charpos_to_bytepos. - * window.c (Fset_window_point): Omit redundant type checking. - (Fset_window_start): Likewise. Format comment. - (window_scroll_pixel_based): Use set_marker_restricted_both - with character and byte positions obtained from an iterator. - (Fset_window_configuration): Use set_marker_restricted_both. - * xdisp.c (message_dolog): Likewise. - -2013-02-10 Eli Zaretskii - - * xdisp.c (move_it_vertically_backward, move_it_by_lines): - When text lines are longer than window's screen lines, don't move back - too far. This speeds up some redisplay operations. (Bug#13675) - -2013-02-10 Dmitry Antipov - - * syntax.c (scan_sexps_forward): Fix byte position calculation - Bug#13664 (a.k.a Bug#13667) introduced with 2013-02-08 change. - -2013-02-10 Paul Eggert - - * fileio.c (Fexpand_file_name): Omit confusing pointer comparison - that was not needed. - -2013-02-09 Paul Eggert - - Minor hashing refactoring. - * fns.c (SXHASH_REDUCE): Move to lisp.h. - (sxhash_float): Return EMACS_UINT, for consistency with the other - hash functions. - * lisp.h (INTMASK): Now a macro, since SXHASH_REDUCE is now a - non-static inline function and therefore can't use static vars. - (SXHASH_REDUCE): Move here from fns.c, and make it inline. - * profiler.c (hashfn_profiler): Use SXHASH_REDUCE, to be consistent - with the other hash functions. - -2013-02-09 Eli Zaretskii - - * callproc.c (Fcall_process_region) [WINDOWSNT]: Make sure the - XXXXXX part of the temporary file pattern is not downcased even - when w32-downcase-file-names is non-nil. (Bug#13661) - - * xdisp.c (decode_mode_spec): Remove handling of %t. - - * msdos.c (careadlinkatcwd): Remove. - -2013-02-08 Stefan Monnier - - * lread.c (skip_dyn_bytes): New function (bug#12598). - (read1): Use it. Use getc instead of READCHAR to read bytes. - (load_each_byte): Remove. Update users. - -2013-02-08 Dmitry Antipov - - * search.c (scan_buffer): Calculate end byte position just once. - (scan_newline): Do not recalculate start_byte. - (search_command): Use eassert. - * syntax.c (struct lisp_parse_state): New member location_byte. - (scan_sexps_forward): Record from_byte and avoid redundant - character to byte position calculation ... - (Fparse_partial_sexp): ... here. Break too long line. - -2013-02-08 Dmitry Antipov - - * lisp.h (make_uninit_vector): New function. - * alloc.c (Fvector, Fmake_byte_code): - * ccl.c (Fregister_ccl_program): - * charset.c (Fdefine_charset_internal, define_charset_internal): - * coding.c (make_subsidiaries, Fdefine_coding_system_internal): - * composite.c (syms_of_composite): - * font.c (Fquery_font, Ffont_info, syms_of_font): - * fontset.c (FONT_DEF_NEW, Fset_fontset_font): - * ftfont.c (ftfont_shape_by_flt): - * indent.c (recompute_width_table): - * nsselect.m (clean_local_selection_data): - * syntax.c (init_syntax_once): - * w32unsubscribe.c (uniscribe_shape): - * window.c (Fcurrent_window_configuration): - * xfaces.c (Fx_family_fonts): - * xselect.c (selection_data_to_lisp_data): Use it. - -2013-02-07 Dmitry Antipov - - * coding.c (Fdefine_coding_system_internal): Use AREF where - argument is known to be a vector. - * fns.c (Flocale_info): Likewise for ASET. - * xselect.c (selection_data_to_lisp_data): Likewise for ASET. - * w32fns.c (w32_parse_hot_key): Likewise for ASIZE and AREF. - -2013-02-05 Jan Djärv - - * nsmenu.m (update_frame_tool_bar): Check for negative tool bar - height. - - * nsterm.h (HAVE_NATIVE_FS): Define if OSX => 10.7. - (EmacsView): Add fs_is_native, fsIsNative, isFullscreen and - updateCollectionBehaviour. - - * nsterm.m (NEW_STYLE_FS): Remove. - (ns_last_use_native_fullscreen): New variable. - (x_make_frame_visible): Replace NEW_STYLE_FS with isFullscreen. - (x_set_window_size): Do not take title bar and tool bar into account - if isFullscreen returns YES. - (ns_fullscreen_hook): Replace NEW_STYLE_FS with isFullscreen. - (check_native_fs): New function. - (ns_select, ns_read_socket): Call check_native_fs if HAVE_NATIVE_FS. - (ns_term_init): Remove NEW_STYLE_FS. - (updateFrameSize:, windowWillResize:toSize:): Only adjust for title bar - and tool bar if isFullscreen returns NO. - (windowDidResize:): Replace NEW_STYLE_FS with fsIsNative. - (initFrameFromEmacs:): Initialize fs_is_native. Replace NEW_STYLE_FS - with HAVE_NATIVE_FS. - (window:willUseFullScreenPresentationOptions:): New method. - (windowDidEnterFullScreen:): Replace NEW_STYLE_FS with fsIsNative. - Hide toolbar if not enabled (Bug#13444). - (windowDidExitFullScreen:): Call updateCollectionBehaviour. - Restore tool bar if enabled, hide it otherwise (Bug#13444). - (fsIsNative, isFullscreen, updateCollectionBehaviour): New methods. - (toggleFullScreen:): If fs_is_native, call toggleFullScreen on - window. Do no set FRAME_EXTERNAL_TOOL_BAR (f) to 0. - Check FRAME_EXTERNAL_TOOL_BAR (f) before restoring - FRAME_TOOLBAR_HEIGHT (f). Call updateFrameSize when going non-fs. - (syms_of_nsterm): Add ns-use-native-fullscreen. - -2013-02-04 Paul Eggert - - * fileio.c (Qchoose_write_coding_system): Now static. - -2013-02-04 Eli Zaretskii - - * xdisp.c (window_buffer_changed): region_showing can be negative, - which still means region is being displayed. - (redisplay_internal): Resurrect code that forced redisplay of the - whole window when showing region and the mark has changed. - Record the new mark position to allow redisplay optimizations. - (display_line): If it->region_beg_charpos is non-zero, set the - window's region_showing member to -1. (Bug#13623) (Bug#13626) - - * window.h (struct window) : Declare ptrdiff_t, - not bitfield of 1 bit. - -2013-02-03 Daniel Colascione - - * emacs.c: Use execvp, not execv, when DAEMON_MUST_EXEC, so that - daemon mode works on cygw32 when Emacs is installed and not just - during development. - -2013-02-02 Paul Eggert - - Avoid file time stamp bug on MS-Windows (Bug#13149). - * fileio.c (Fwrite_region): Don't use the heuristic on empty files, - as FAT32 doesn't update time stamps when truncating them. - Also, check that a file time stamp is not a multiple of 100 ns; - this should catch all instances of the problem on MS-Windows, - as its native file system resolution is 100 ns or worse, and - checking for a non-multiple of 100 ns should impose only a small - overhead on systems with ns resolution. - -2013-02-02 Eli Zaretskii - - Avoid encoding file names on MS-Windows when they need to be run - through dostounix_filename. - * w32.c (normalize_filename): Accept an additional argument - MULTIBYTE; if non-zero, traverse the file name by bytes and don't - downcase it even if w32-downcase-file-names is non-nil. - (dostounix_filename): Accept an additional argument MULTIBYTE and - pass it to normalize_filename. - (emacs_root_dir): Adjust. - - * msdos.h (dostounix_filename): Adjust prototype. - - * w32.h (dostounix_filename): Adjust prototype. - - * msdos.c (dostounix_filename): Accept an additional argument and - ignore it. - (init_environment): Adjust callers of dostounix_filename. - - * fileio.c (Ffile_name_directory, file_name_as_directory) - (directory_file_name, Fexpand_file_name) - (Fsubstitute_in_file_name): [DOS_NT] Adjust call to - dostounix_filename. - [WINDOWSNT]: Downcase file names if w32-downcase-file-names is - non-nil. - (Fsubstitute_in_file_name): [DOS_NT] Don't downcase environment - variables, as egetenv is case-insensitive for DOS_NT. - - * dired.c (file_name_completion): Don't call Fdirectory_file_name - with an encoded file name. - - * w32proc.c (Fw32_short_file_name, Fw32_long_file_name): - Adjust calls to dostounix_filename. - - * w32fns.c (Fx_file_dialog): Adjust call to dostounix_filename. - - * unexw32.c (unexec): Adjust call to dostounix_filename. - - * termcap.c (tgetent) [MSDOS]: Adjust call to dostounix_filename. - - * emacs.c (decode_env_path) [DOS_NT]: Adjust call to - dostounix_filename. - - * callproc.c (Fcall_process) [MSDOS]: Adjust call to - dostounix_filename. - - * callproc.c (Fcall_process): Make sure program name in PATH and - new_argv[0] is encoded, if needed. Otherwise, un-encoded string - is passed to exec/spawnve, which fails unless the file-name - encoding is UTF-8. - - * w32proc.c (sys_spawnve): Make sure escape_char is initialized, - even if w32-quote-process-args is nil. - -2013-02-01 Paul Eggert - - Fix timestamp bug when write-region appends nothing (Bug#13149). - * fileio.c (Fwrite_region): When neither O_EXCL nor O_TRUNC is used, - the file's time stamp doesn't change if Emacs happens to write nothing - to the file, and on a buggy file system this could cause Emacs to - incorrectly infer that the file system doesn't have the bug. - Avoid this problem by inhibiting the inference in this case. - -2013-02-01 Dmitry Antipov - - * window.h (struct window): Convert base_line_number, base_line_pos - and column_number_displayed members from Lisp_Object to ptrdiff_t. - Convert region_showing member from Lisp_Object to bitfield. - Remove sequence_number member. Adjust comments. - * window.c (sequence_number): Remove. - (make_window): Initialize column_number_displayed. - * print.c (print_object): Follow the printed representation of - frames and print window pointer to distinguish between windows. - (adjust_window_count): Invalidate base_line_pos. Adjust comment. - * xdisp.c (wset_base_line_number, wset_base_line_pos) - (wset_column_number_displayed, wset_region_showing): Remove. - (window_buffer_changed, mode_line_update_needed, redisplay_internal) - (try_scrolling, try_cursor_movement, redisplay_window) - (try_window_reusing_current_matrix, try_window_id, display_line) - (display_mode_lines, decode_mode_spec): Adjust users. - * .gdbinit (pwinx): Do not print sequence_number. - -2013-02-01 Paul Eggert - - Use fdopendir, fstatat and readlinkat, for efficiency (Bug#13539). - * conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): Remove. - * dired.c: Include . - (open_directory): New function, which uses open and fdopendir - rather than opendir. DOS_NT platforms still use opendir, though. - (directory_files_internal, file_name_completion): Use it. - (file_attributes): New function, with most of the old Ffile_attributes. - (directory_files_internal, Ffile_attributes): Use it. - (file_attributes, file_name_completion_stat): First arg is now fd, - not dir name. All uses changed. Use fstatat rather than lstat + - stat. - (file_attributes): Use emacs_readlinkat rather than Ffile_symlink_p. - * fileio.c: Include , . - (emacs_readlinkat): New function, with much of the old - Ffile_symlink_p, but with an fd argument for speed. - It uses readlinkat rather than careadlinkatcwd, so that it - need not assume the working directory. - (Ffile_symlink_p): Use it. - * filelock.c (current_lock_owner): Use emacs_readlinkat - rather than emacs_readlink. - * lisp.h (emacs_readlinkat): New decl. - (READLINK_BUFSIZE, emacs_readlink): Remove. - * sysdep.c: Do not include , . - (emacs_norealloc_allocator, emacs_readlink): Remove. - This stuff is moved to fileio.c. - * w32.c (fstatat, readlinkat): New functions. - (careadlinkat): Don't check that fd == AT_FDCWD. - (careadlinkatcwd): Remove; no longer needed. - -2013-01-31 Glenn Morris - - * fileio.c (choose_write_coding_system): Make it callable from Lisp. - (Fwrite_region): Update for new choose_write_coding_system args. - Move the last piece of choose_write_coding_system here. (Bug#13522) - (syms_of_fileio): Add choose-write-coding-system. - -2013-01-30 Eli Zaretskii - - * w32.c (sys_open): Zero out the flags for the new file descriptor. - (sys_close): Zero out the flags for the file descriptor before - closing it. (Bug#13546) - - * w32.c (parse_root, get_volume_info, readdir, read_unc_volume) - (logon_network_drive, stat_worker, symlink, chase_symlinks): - Use CharNextExA and CharPrevExA to iterate over file names encoded in - DBCS. (Bug#13553) - - * w32.c (w32_get_long_filename, init_environment, readlink): - Support file names encoded in DBCS codepages. - (readlink): Use the current file-name-coding-system, not the ANSI - codepage, to decode and handle targets of symlinks. - -2013-01-28 Eli Zaretskii - - * w32.c (opendir): Now accepts a 'const char *'. - -2013-01-28 Dmitry Antipov - - Remove obsolete redisplay code. See the discussion at - http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00576.html. - * dispnew.c (preemption_period, preemption_next_check): Remove. - (Vredisplay_preemption_period): Likewise. - (update_frame, update_single_window, update_window, update_frame_1): - Adjust users. Always assume that PERIODIC_PREEMPTION_CHECKING is not - used, following the 2012-06-22 change. - -2013-01-25 Eli Zaretskii - - * w32notify.c (Fw32notify_add_watch): Doc fix. (Bug#13540) - -2013-01-25 Dmitry Antipov - - * font.c (num_fonts): Remove the leftover from old - debugging code. Adjust comment style here and there. - * insdel.c (insert_1): Remove. - * lisp.h (insert_1): Remove prototype. - * xdisp.c (message_dolog): Adjust users to call insert_1_both. - -2013-01-25 Eli Zaretskii - - * w32.c (max_filename_mbslen): New function. - (normalize_filename, readdir): Use it to detect locales where ANSI - encoding of file names uses a double-byte character set (DBCS). - If a DBCS encoding is used, advance by characters using - CharNextExA, instead of incrementing a 'char *' pointer. - Use _mbslwr instead of _strlwr. (Bug#13515) - - * w32heap.c (allocate_heap) [!_WIN64]: Decrease the initial - request of memory reservation to 1.7GB. (Bug#13065) - -2013-01-25 Andreas Schwab - - * coding.c (detect_coding_iso_2022): Move back mis-reordered code - at check_extra_latin label. (Bug#13505) - -2013-01-24 Dmitry Antipov - - * nsfont.m (ns_escape_name, ns_unescape_name, ns_registry_to_script): - Avoid redundant calls to strlen. - -2013-01-24 Dmitry Antipov - - Drop async_visible and async_iconified fields of struct frame. - This is possible because async input is gone; for details, see - http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00734.html. - * frame.h (struct frame): Remove async_visible and async_iconified - members, convert garbaged to unsigned bitfield. Adjust comments. - (FRAME_SAMPLE_VISIBILITY): Remove. Adjust all users. - (SET_FRAME_VISIBLE, SET_FRAME_ICONIFIED): New macros. - * frame.c, gtkutil.c, term.c, w32fns.c, window.c, xdisp.c: - Consistently use SET_FRAME_VISIBLE, SET_FRAME_ICONIFIED, - FRAME_VISIBLE_P and FRAME_ICONIFIED_P macros where appropriate. - * w32term.c: Ditto. - (w32_read_socket): Save iconified state to generate DEICONIFY_EVENT - properly. Likewise for obscured. - * xterm.c: Ditto. - (handle_one_xevent): Save visible state to generate ICONIFY_EVENT - properly. - * nsterm.m: Ditto. - (windowDidDeminiaturize): Generate DEICONIFY_EVENT. - -2013-01-24 Dmitry Antipov - - * insdel.c (prepare_to_modify_buffer): Revert last change as suggested - in http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00555.html. - -2013-01-23 Stefan Monnier - - * xdisp.c (message2, message2_nolog): Remove functions. - (message3, message3_nolog): Extract nbytes and multibyteness directly - from the string. Change all callers. - (message3_nolog): Don't set message_enable_multibyte since set_message - will reset it anyway. - (message1, message1_nolog): Use message3. - (vmessage): Use a stack allocated buffer rather than f->message_buf. - (with_echo_area_buffer): Remove last two arguments. Update all callers. - (set_message): Drop all but the second arg, which has to be a string. - (set_message_1): Simplify now that we know that a1 is NULL and the - second arg is a string. - * frame.h (struct frame): Remove `message_buf' field. - Use glyphs_initialized_p instead. - (FRAME_MESSAGE_BUF): Remove macro. - * w16select.c (Fw16_set_clipboard_data): Prefer message3 to message2. - * lisp.h (message2, message2_nolog): Remove declarations. - (message3, message3_nolog): Update declarations. - * keyboard.c (read_char_minibuf_menu_text) - (read_char_minibuf_menu_width): Remove vars. - (read_char_minibuf_menu_prompt): Rewrite the menu's construction so as - to correctly handle multibyte strings. - * frame.c (delete_frame): Don't free message_buf any more. - * editfns.c (message_text, message_length): Remove vars. - (Fmessage_box): Don't copy the Lisp string's bytes any longer. - * fileio.c (auto_save_error): Use message3 instead of message2. - * dispnew.c (adjust_frame_message_buffer): Remove function. - -2013-01-23 Eli Zaretskii - - * w32term.c (w32fullscreen_hook): Account correctly for the screen - real estate used for the tool bar and the menu bar. - -2013-01-23 Dmitry Antipov - - * insdel.c (prepare_to_modify_buffer): Force redisplay if - hidden buffer is prepared to modification (Bug#13164). - -2013-01-22 Dmitry Antipov - - * window.h (struct window): Change window_end_valid member from - Lisp_Object to a bitfield. Adjust comments. - (wset_window_end_valid): Remove. - * window.c (adjust_window_count): Clear window_end_valid. - (Fwindow_end): Adjust user. Remove ancient #if 0 code. - (Fwindow_line_height, set_window_buffer, Frecenter) - (Fsplit_window_internal, Fdelete_other_windows_internal) - (Fset_window_fringes, Fset_window_scroll_bars): Adjust users. - * dispnew.c (adjust_glyph_matrix, clear_window_matrices): Likewise. - * xdisp.c (check_window_end, reconsider_clip_changes) - (redisplay_internal, mark_window_display_accurate_1, redisplay_window) - (try_window, try_window_reusing_current_matrix, note_mouse_highlight) - (find_first_unchanged_at_end_row, try_window_id): Likewise. - -2013-01-22 Dmitry Antipov - - * xdisp.c (mark_window_display_accurate): Simplify the loop - assuming that the only one of vchild, hchild or buffer window - slots is non-nil. Call mark_window_display_accurate_1 for - the leaf windows only. - (mark_window_display_accurate_1): Always assume leaf window. - Adjust comment. - -2013-01-22 Paul Eggert - - * emacs.c (Qkill_emacs_hook): Now static. - - * fileio.c (Finsert_file_contents): Simplify. - Remove unnecessary assignments and tests. - -2013-01-21 Eli Zaretskii - - * w32.c (acl_set_file): Don't test for errors unless - set_file_security returns FALSE. Avoids spurious errors when - saving files. - -2013-01-21 Dmitry Antipov - - * fileio.c (Finsert_file_contents): Revert code introduced at - 2013-01-18 in favor of the simpler and generally better fix. - Save stack space by removing 'buffer' and reusing 'read_buf' - where appropriate. - -2013-01-19 Paul Eggert - - * lisp.h (eabs): Define unconditionally (Bug#13419). - The old "#if !defined (eabs)" was an unnecessary revenant of back - when this macro was called "abs". Document 'eabs' better. - -2013-01-19 Glenn Morris - - * fns.c (Frandom): Doc fix. - -2013-01-19 Eli Zaretskii - - * editfns.c (get_pos_property): Use SAFE_ALLOCA_LISP, to avoid - segfault when there are lots of overlays. - - * buffer.c (sort_overlays): Use SAFE_NALLOCA, to avoid segfault - when there are lots of overlays. - See http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00421.html - for the details and a way to reproduce. - -2013-01-19 Paul Eggert - - * fileio.c: Use O_APPEND to append. - This corresponds better to the natural interpretation of "append", - and avoids the need to open the output file twice, or to invoke - lseek when APPEND is neither nil nor a number. - This relies on POSIX 1003.1-1988 or later, which is OK nowadays. - (Fwrite_region): Simplify. Use O_APPEND instead of opening the - file possibly twice, and lseeking to its end; this avoids the - need to lseek on non-regular files. Do not use O_EXCL and O_TRUNC - at the same time: the combination is never needed and apparently - it doesn't work with DOS_NT. - - Fix size bug on DOS_NT introduced by CIFS workaround (Bug#13149). - * fileio.c (Fwrite_region): Use O_BINARY in checking code, too. - - Allow floating-point file offsets. - Problem reported by Vitalie Spinu in - . - * fileio.c (emacs_lseek): Remove. - (file_offset): New function. - (Finsert_file_contents, Fwrite_region): Use it. - -2013-01-19 Chong Yidong - - * emacs.c (Fkill_emacs): Set waiting_for_input to 0 to avoid - aborting on Fsignal (Bug#13289). - -2013-01-19 Eli Zaretskii - - * w32.c (acl_set_file): Treat ERROR_ACCESS_DENIED from - set_file_security as failure due to insufficient privileges. - Reported by Fabrice Popineau . - (fstat): Return owner and group like 'stat' and 'lstat' do. - -2013-01-19 Paul Eggert - - Work around bug in CIFS and vboxsf file systems (Bug#13149). - The bug was observed on Ubuntu operating inside a virtual machine, - editing files mounted via CIFS or vboxsf from the MS Windows 7 host. - The workaround introduces a race condition on non-buggy hosts, - but it's an unlikely race and anyway there's a nearly identical - nearby race that can't be fixed. - * fileio.c (valid_timestamp_file_system, timestamp_file_system): - New static vars. - (Fwrite_region): Test for file system time stamp bug. - (init_fileio): New function. - * lisp.h (init_fileio): Declare it. - * emacs.c (main): Call it. - - * fileio.c (Finsert_file_contents): Simplify new diagnostic - and make it more consistent with other stat-failure diagnostics. - -2013-01-18 Dmitry Antipov - - Fix crash when inserting data from non-regular files. - See http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00406.html - for the error description produced by valgrind. - * fileio.c (read_non_regular): Rename to read_contents. - Free Lisp_Save_Value object used to pass parameters. - (read_non_regular_quit): Rename to read_contents_quit. - (Finsert_file_contents): Redesign internal file reading loop to adjust - gap and end positions after each read and so help make_gap to work - properly. Do not signal an I/O error too early and so do not leave - not yet decoded characters in a buffer, which was the reason of - redisplay crash. Use list2 to build return value. Adjust comments. - -2013-01-17 Paul Eggert - - Close a race when statting and reading files (Bug#13149). - * fileio.c (Finsert_file_contents): Use open+fstat, not stat+open. - This avoids a race if the file is renamed between stat and open. - This race is not the problem originally noted in Bug#13149; - see and later messages in the thread. - -2013-01-17 Dmitry Antipov - - * lisp.h (toplevel): Add comment about using Lisp_Save_Value - objects, related functions and macros. - (make_save_value): Adjust prototype. - (make_save_pointer): New prototype. - (SAFE_NALLOCA): Fix indentation. Use make_save_pointer. - (SAFE_ALLOCA_LISP): Adjust make_save_value usage. - * alloc.c (format_save_value): Rename to make_save_value. - (make_save_pointer): New function. - (record_xmalloc): Use make_save_pointer. - * dired.c, editfns.c, fileio.c, font.c, gtkutil.c, lread.c: - * nsmenu.m, nsterm.m, xfns.c, xmenu.c, xselect.c, keymap.c: - Change users of make_save_value to make_save_pointer. - Likewise for format_save_value and make_save_value. - -2013-01-17 Dmitry Antipov - - * buffer.h (NARROWED, BUF_NARROWED): Drop unused macros. - (DECODE_POSITION, BUFFER_CHECK_INDIRECTION): Fix indentation. - * buffer.c (toplevel, syms_of_buffer): Drop old commented-out - debugging stubs. - -2013-01-15 Paul Eggert - - * alloc.c (free_save_value): Now static. - -2013-01-15 Dmitry Antipov - - * keymap.c (map_keymap_internal): Use format_save_value. - (map_keymap_char_table_item): Adjust accordingly. - * fileio.c (non_regular_fd, non_regular_inserted) - (non_regular_nbytes): Remove. - (Finsert_file_contents): Convert trytry to ptrdiff_t. - Use format_save_value to pass parameters to read_non_regular. - (read_non_regular): Use XSAVE_ macros to extract parameters. - Adjust comment. - * xmenu.c (xmenu_show) [!USE_X_TOOLKIT && !USE_GTK]: Use - format_save_value. - (pop_down_menu) [!USE_X_TOOLKIT && !USE_GTK]: Adjust user. - -2013-01-15 Dmitry Antipov - - * lisp.h (XSAVE_POINTER, XSAVE_INTEGER): Change to allow - extraction from any Lisp_Save_Value slot. Add type checking. - * alloc.c, dired.c, editfns.c, fileio.c, ftfont.c, gtkutil.c: - * keymap.c, lread.c, nsterm.h, nsmenu.c, xfns.c, xmenu.c: - * xselect.c: All users changed. - -2013-01-15 Dmitry Antipov - - Some convenient bits to deal with Lisp_Save_Values. - * lisp.h (XSAVE_OBJECT): New macro to extract saved objects. - (allocate_misc): Remove prototype. - (format_save_value): New prototype. - * alloc.c (allocate_misc): Revert back to static. - (format_save_value): New function to build Lisp_Save_Value - object with the specified internal structure. - (make_save_value): Reimplement using format_save_value. - * editfns.c (save_excursion_save): Use format_save_value. - (save_excursion_restore): Use XSAVE_OBJECT. - -2013-01-14 Paul Eggert - - Avoid needless casts with XSAVE_POINTER. - * alloc.c (mark_object) [GC_MARK_STACK]: - * dired.c (directory_files_internal_unwind): - * fileio.c (do_auto_save_unwind): - * gtkutil.c (pop_down_dialog): - * keymap.c (map_keymap_char_table_item): - * lread.c (load_unwind): - * nsmenu.m (pop_down_menu): - * print.c (print_object) [GC_MARK_STACK]: - * xfns.c (clean_up_file_dialog): - * xmenu.c (cleanup_widget_value_tree): - Omit casts between XSAVE_POINTER and a pointer type. - -2013-01-14 Dmitry Antipov - - Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE. - * eval.c (eval_sub): Protect `form' from being GCed before its - car and cdr becomes protected with the backtrace entry. - -2013-01-14 Dmitry Antipov - - Make Lisp_Save_Value more versatile storage for up to four objects. - * lisp.h (toplevel): Enumeration to describe types of saved objects. - (struct Lisp_Save_Value): New layout. Adjust comments. - (XSAVE_POINTER): New macro. - (XSAVE_INTEGER): Likewise. - (allocate_misc): Add prototype. - (free_misc): Likewise. - * alloc.c (allocate_misc): Now global. - (free_misc): Likewise. Adjust comment. - (make_save_value): Use new Lisp_Save_Value layout. Adjust comment. - (free_save_value): Likewise. - (mark_object): Likewise. - * editfns.c (save_excursion_save): Pack everything within - Lisp_Save_Value and so avoid xmalloc. - (save_excursion_restore): Adjust to match new layout. Use free_misc - because we do not allocate extra memory any more. Add eassert. - * print.c (print_object): New code to print Lisp_Save_Value. Do not - rely on valid_lisp_object_p if !GC_MARK_STACK. Adjust comments. - * dired.c, fileio.c, font.c, ftfont.c, gtkutil.c, keymap.c, - * lread.c, nsmenu.m, nsterm.h, xfns.c, xmenu.c, xselect.c: - Use XSAVE_POINTER and XSAVE_INTEGER where appropriate. - -2013-01-13 Jan Djärv - - * nsfont.m (LCD_SMOOTHING_MARGIN): New define. - (nsfont_draw): Remove disabling of LCD smoothing. - (ns_glyph_metrics): Add LCD_SMOOTHING_MARGIN to bearings to fix - Bug#11484 with LCD smoothing on. - -2013-01-13 Paul Eggert - - Fix SIGDANGER handlers, for AIX (Bug#13408). - * sysdep.c.c (handle_danger_signal, deliver_danger_signal) [SIGDANGER]: - Move handlers here from emacs.c; they were out of place. - -2013-01-11 Jan Djärv - - * xterm.c (syms_of_xterm): Adjust documentation for - scroll-bar-adjust-thumb-portion. - -2012-12-31 Adam Sjøgren (tiny change) - - * xterm.c (scroll-bar-adjust-thumb-portion): New variable to - determine whether scroll bar thumb size should be adjusted or not. - Use variable for MOTIF. - - * gtkutil.c (scroll-bar-adjust-thumb-portion): Use variable for GTK. - -2013-01-13 Jan Djärv - - * nsterm.m (keyDown:): Set processingCompose to NO if an emacs key - event is generated. - (doCommandBySelector:): Set processingCompose to NO. - - * nsfont.m (ns_findfonts): Add block/unblock_input calls. - Remove check for fkeys count > zero, block/unblock fixes the real bug. - (nsfont_list_family): Add block/unblock_input calls. - (nsfont_open): Move block_input earlier. Add unblock_input before early - return. - (nsfont_draw): Add block/unblock_input calls. - -2013-01-12 Dmitry Antipov - - * indent.c (Fvertical_motion): Remove now-incorrect GCPROs - for old_charpos and old_bytepos. - -2013-01-12 Paul Eggert - - Fix bug with set-time-zone-rule and LOCALTIME_CACHE (Bug#13415). - * editfns.c (set_time_zone_rule) [LOCALTIME_CACHE]: - Clear tzvalbuf_in_environ if this workaround is in effect. - Problem and fix reported by Kazuhiro Ito. - -2013-01-11 Aaron S. Hawley - - * insdel.c (Fcombine_after_change_execute, syms_of_insdel): - Fix ambiguous doc string cross-reference(s). - - * keyboard.c (Fcommand_execute, syms_of_keyboard): Fix ambiguous - doc string cross-reference(s). - - * window.c (Fwindow_point, syms_of_window): Fix ambiguous doc - string cross-reference(s). - -2013-01-11 Dmitry Antipov - - Avoid unnecessary byte position calculation for the gap movement. - Since all users of move_gap do CHAR_TO_BYTE for other purposes - anyway, all of them should use move_gap_both instead. - * lisp.h (move_gap): Remove prototype. - * insdel.c (move_gap): Remove. - (move_gap_both): Add eassert. - * editfns.c (Ftranspose_regions): Tweak to use move_gap_both. - * xml.c (parse_region): Likewise. - -2013-01-11 Paul Eggert - - emacsclient -t should not suspend Emacs server (Bug#13387) - * lisp.h, sysdep.c (block_tty_out_signal, unblock_tty_out_signal): - New functions. - * term.c (init_tty): Use them instead of rolling our own code. - * sysdep.c (tcsetpgrp_without_stopping): Likewise. Here, this - switches from 'signal' to 'pthread_sigmask', which is safer in - multithreaded applications. - * term.c (Fresume_tty): Don't bother dissociating if O_IGNORE_CTTY, - which has already arranged for that. - (dissociate_if_controlling_tty): If setsid fails, fall back on TIOCNOTTY. - This is the main part of the bug fix. - -2013-01-10 Rainer Orth (tiny change) - - * gtkutil.c (xg_initialize): Add ifdef HAVE_FREETYPE around - x_last_font_name (Bug#13403). - -2013-01-10 Dmitry Antipov - - Omit buffer_slot_type_mismatch and use generic predicates to enforce - the type of per-buffer values where appropriate. - * lisp.h (struct Lisp_Buffer_Objfwd): Rename slottype member to - predicate, which is how it's really used now. Adjust comment. - * buffer.h (buffer_slot_type_mismatch): Remove prototype. - * buffer.c (buffer_slot_type_mismatch): Remove. - (DEFVAR_PER_BUFFER, defvar_per_buffer): Rename type argument to - predicate. Adjust comment. - (syms_of_buffer): Use Qsymbolp for major-mode. Use Qintegerp for - fill-column, left-margin, tab-width, buffer-saved-size, - left-margin-width, right-margin-width, left-fringe-width, - right-fringe-width, scroll-bar-width and buffer-display-count. - Use Qstringp for default-directory, buffer-file-name, - buffer-file-truename and buffer-auto-save-file-name. Use Qfloatp for - scroll-up-aggressively and scroll-down-aggressively. Use Qnumberp for - line-spacing. - * data.c (store_symval_forwarding): Adjust to call the predicate. - -2013-01-09 Juanma Barranquero - - * w32.c (get_name_and_id, acl_set_file): - * w32term.c (w32fullscreen_hook): Remove unused local variables. - -2013-01-09 Dmitry Antipov - - * lisp.h (make_gap_1): New prototype. - * buffer.h (GAP_BYTES_DFL, GAP_BYTES_MIN): New macros for the special - gap size values. - * editfns.c (Fbuffer_size): Rename from Fbufsize to fit the common - naming convention. - (syms_of_editfns): Adjust defsubr. Drop commented-out obsolete code. - * insdel.c (make_gap_larger): Use GAP_BYTES_DFL. Adjust comment. - (make_gap_smaller): Use GAP_BYTES_MIN. Adjust comment. - (make_gap_1): New function to adjust the gap of any buffer. - * coding.c (coding_alloc_by_making_gap): Use it. - * buffer.c (compact_buffer): Likewise. Use BUF_Z_BYTE, BUF_GAP_SIZE, - GAP_BYTES_DFL and GAP_BYTES_MIN. Adjust comment. - -2013-01-08 Juri Linkov - - * xfaces.c (tty_supports_face_attributes_p): Return 0 for the case - of (supports :underline (:style wave)). (Bug#13000) - -2013-01-08 Aaron S. Hawley - - * undo.c (Fprimitive_undo): Move to simple.el. - (syms_of_undo): Remove declarations for Sprimitive_undo. - -2013-01-08 Stefan Monnier - - * keyboard.c (echo_add_key): Rename from echo_add_char. - -2013-01-06 Chong Yidong - - * keyboard.c (echo_add_char): New function, factored out from - echo_char. Don't add a space if the previous echo string was - empty (Bug#13255). - (echo_char): Use it. - (read_key_sequence): When echoing mock input, ensure that the - trailing dash is properly added. - -2013-01-05 Eli Zaretskii - - * xdisp.c (dump_glyph): Align glyph data better. Use "pD" instead - of a non-portable "t" to print ptrdiff_t values. Allow up to 9 - digits for buffer positions, before misalignment starts. - Display "0" for integer "object" field. - (dump_glyph_row): Adapt the header line to changes in dump_glyph. - Display the newline glyph more unambiguously. - -2013-01-04 YAMAMOTO Mitsuharu - - * nsterm.m (ns_draw_underwave): - * w32term.c (w32_draw_underwave): - * xterm.c (x_draw_underwave): Make underwave look more triangular - and also degrade gracefully for small fonts. (Bug#13000) - - * nsterm.m (ns_draw_text_decoration): - * w32term.c (x_draw_glyph_string): - * xterm.c (x_draw_glyph_string): Don't use previous underline - thickness and position if previous underline type is underwave. - -2013-01-04 Stefan Monnier - - * fileio.c (Ffile_acl): Undocument return format. - -2013-01-02 Glenn Morris - - * keymap.c (Fkey_description): Doc fix. (Bug#13323) - -2013-01-02 Paul Eggert - - Simplify via eabs. - * dired.c (file_name_completion): - * doc.c (get_doc_string): - * floatfns.c (round2): - * font.c (font_score, font_delete_unmatched): - * fringe.c (compute_fringe_widths): - * lread.c (read_list): - * minibuf.c (Ftry_completion): - * term.c (tty_ins_del_lines): - * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1): - Use eabs (x) rather than open-coding it as (x < 0 ? -x : x). - -2012-12-31 Eli Zaretskii - - * w32.c (unsetenv): Set up the string passed to _putenv - correctly. - See http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00863.html - for the bug this caused. - -2012-12-30 Paul Eggert - - * coding.c (Qmac): Now static. - -2012-12-30 Jan Djärv - - * gtkutil.c (TOOLBAR_TOP_WIDGET): New macro. - (xg_pack_tool_bar): Use TOOLBAR_TOP_WIDGET, condition out use of - handlebox_widget. Set toolbar_in_hbox to false/true, set - toolbar_is_packed to true. - (xg_update_tool_bar_sizes): Use widget returned by TOOLBAR_TOP_WIDGET. - (update_frame_tool_bar): Check toolbar_is_packed for packing. - Show all on TOOLBAR_TOP_WIDGET. - (free_frame_tool_bar): Check toolbar_is_packed. Use widget returned - by TOOLBAR_TOP_WIDGET. - (xg_change_toolbar_position): Use widget returned by TOOLBAR_TOP_WIDGET. - Check toolbar_is_packed. - (xg_have_tear_offs, tearoff_remove, tearoff_activate): Condition on - HAVE_GTK_TEAROFF_MENU_ITEM_NEW. - (xg_have_tear_offs): When ! HAVE_GTK_TEAROFF_MENU_ITEM_NEW, return - false. - (create_menus): Create tearoff only if HAVE_GTK_TEAROFF_MENU_ITEM_NEW. - (xg_update_menubar): Update title only if - HAVE_GTK_TEAROFF_MENU_ITEM_NEW. - (xg_update_submenu): Skip tearoff only if - HAVE_GTK_TEAROFF_MENU_ITEM_NEW. - (xg_initialize): Initialize xg_detached_menus only if - HAVE_GTK_TEAROFF_MENU_ITEM_NEW. - - * xterm.h (struct x_output): Surround handlebox_widget with - #ifdef HAVE_GTK_HANDLE_BOX_NEW. toolbar_is_packed is new, - toolbar_in_hbox is bool. - -2012-12-30 Andreas Schwab - - * src/Makefile.in (TEMACS_LDFLAGS2): Remove. - (LIBS_GNUSTEP): Define. - (LIBES): Add $(LIBS_GNUSTEP). - (temacs$(EXEEXT)): Use $(LDFLAGS) instead of $(TEMACS_LDFLAGS2). - -2012-12-30 Eli Zaretskii - - * xdisp.c (set_cursor_from_row): Don't confuse a truncation or - continuation glyph on a TTY with an indication of an empty line. - (Bug#13277) - -2012-12-29 Eli Zaretskii - - * fileio.c (Fset_file_selinux_context, Fset_file_acl): Return t if - file's SELinux context or ACLs successfully set, nil otherwise. - (Bug#13298) - (Fcopy_file) [WINDOWSNT]: Improve diagnostics when CopyFile fails. - - * w32proc.c (reader_thread): Avoid passing NULL handles to - SetEvent and WaitForSingleObject. - -2012-12-28 Paul Eggert - - Port EXTERNALLY_VISIBLE to Clang 3.2. - * conf_post.h (__has_attribute): New macro. - (EXTERNALLY_VISIBLE): Use it. This ports to Clang 3.2. - -2012-12-27 Glenn Morris - - * cygw32.c (Fcygwin_convert_file_name_to_windows) - (Fcygwin_convert_file_name_from_windows): Doc fixes. - -2012-12-27 Eli Zaretskii - - * fileio.c (file_name_as_directory, directory_file_name): - Accept an additional argument MULTIBYTE to indicate whether the input C - came from a multibyte or a unibyte Lisp string; all callers - adjusted. Don't assume the input string is always multibyte. - (Bug#13262) - (Ffile_name_directory) [DOS_NT]: Handle unibyte strings correctly: - don't ENCODE_FILE them, and return a unibyte string if the input - was unibyte. - (Fexpand_file_name): Don't mix unibyte with multibyte strings, and - don't assume the input strings will always be multibyte. If the - input strings are multibyte, decode strings obtained from C - library functions. - -2012-12-26 Dmitry Antipov - - * lisp.h (toplevel): Add two notices to the comment about - defining a new Lisp data type. - * print.c (print_object): If Lisp_Save_Value object's pointer - is the address of a memory area containing Lisp_Objects, try - to print them. - * alloc.c (valid_lisp_object_p): Adjust comment. - -2012-12-26 Dmitry Antipov - - * keyboard.c (record_asynch_buffer_change): Initialize an event - only if it's really needed. - * frame.h (enum output_method): Remove output_mac member since - it's a leftover from the deleted code. - * frame.c (Fframep): Adjust user here ... - * terminal.c (Fterminal_live_p): ... and here. - * coding.c (Qmac): Now here because it's only used to denote - end-of-line encoding type. - (syms_of_coding): DEFSYM it. - * frame.h (Qmac): Remove duplicated declaration. - -2012-12-26 Paul Eggert - - * window.c (select_window_1): Now static, since it's used only here. - -2012-12-25 Eli Zaretskii - - * window.c (window_body_cols): Subtract display margins from the - window body width on TTYs as well. See - http://lists.gnu.org/archive/html/help-gnu-emacs/2012-12/msg00317.html - for the original report. - -2012-12-25 Dmitry Antipov - - * xdisp.c (redisplay_window): Remove inner local variable - because the outer shadowed one has the same meaning. - * xterm.h (struct x_output): Remove toolbar_detached member since it's - set but never used. - * gtkutil.c (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback) - (xg_create_tool_bar): Adjust users. - -2012-12-24 Dmitry Antipov - - * buffer.h (BUF_COMPACT): New macro to follow the common style. - * buffer.c (Fget_buffer_create): Use it to set compact field of - struct buffer_text to avoid accessing an uninitialized value - when compact_buffer is called for the first time. - (compact_buffer): Use convenient BUF_COMPACT and BUF_MODIFF. - (Fset_buffer_modified_p): Use buffer_window_count to check - whether the buffer is displayed in some window. - * xdisp.c (message_dolog): Likewise. - -2012-12-23 Eli Zaretskii - - * w32.c (acl_set_file): If setting the file security descriptor - fails, and the new DACL is identical to the existing one, silently - return success. This fixes problems for users backing up their - own files without having the necessary privileges for setting - security descriptors. - - * w32proc.c (reader_thread): Do not index fd_info[] with negative - values. - (reader_thread): Exit when cp->status becomes STATUS_READ_ERROR - after WaitForSingleObject returns normally. This expedites reader - thread shutdown when delete_child triggers it. - (reap_subprocess): More accurate commentary for why we call - delete_child only when cp->fd is negative. - - * w32.c (sys_close): Do not call delete_child on a subprocess - whose handle is not yet closed. Instead, set its file descriptor - to a negative value, so that reap_subprocess will call - delete_child on that subprocess when its SIGCHLD arrives. - This avoids closing handles used for communications between sys_select - and reader_thread, which doesn't give sys_select a chance to - notice that the process exited and invoke the SIGCHLD handler for - it. - -2012-12-23 Jan Djärv - - * nsfns.m (Fns_do_applescript): Run event loop until script has - been executed (Bug#12969). - (ns_run_ascript): Chech as_script for nil, set to nil after - executing script. - -2012-12-22 Martin Rudalics - - * window.c (Fselect_window): Reword doc-string (Bug#13248). - -2012-12-22 Eli Zaretskii - - * w32term.c (w32fullscreen_hook): New function. - (w32_create_terminal): Plug it into the terminal's fullscreen_hook. - -2012-12-21 Eli Zaretskii - - * fileio.c (Finsert_file_contents): Doc fix. - - * w32proc.c (new_child, delete_child, find_child_pid): For a - subprocess, consider its slot being in use as long as its process - handle (procinfo.hProcess) is not NULL. This avoids reusing the - slot when a new process is started immediately after killing - another one, without waiting enough time for the first process to - be reaped and resources allocated for it be orderly freed. - (Bug#13086) - Suggested by Fabrice Popineau . - -2012-12-21 Chong Yidong - - * buffer.c (Fset_buffer_major_mode): Doc fix (Bug#13231). - - * fns.c (Fcompare_strings): Doc fix (Bug#13081). - -2012-12-21 Eli Zaretskii - - * w32.c (get_name_and_id): Always pass NULL as the first argument - of lookup_account_sid. Avoids crashes with UNC file names that - refer to DFS domains, not to specific machine names. (Bug#12621) - Remove now unused argument FNAME; all callers changed. - (get_file_owner_and_group): Remove now unused argument FNAME; all - callers changed. - -2012-12-21 Chong Yidong - - * editfns.c (Finsert_char): Since read-char-by-name now signals an - error for invalid chars, don't check for a nil return value. - -2012-12-20 Dmitry Antipov - - Avoid calls to CHAR_TO_BYTE if byte position is known. - * editfns.c (make_buffer_string_both): Use move_gap_both. - (Fbuffer_string): Use make_buffer_string_both. - * marker.c (buf_charpos_to_bytepos): Convert to eassert. - Adjust comment. - (buf_bytepos_to_charpos): Likewise. - (charpos_to_bytepos): Remove. - * fileio.c (Finsert_file_contents): Use move_gap_both. - * search.c (Freplace_match): Likewise. - * process.c (process_send_region): Likewise. Use convenient - names for byte positions. - * lisp.h (charpos_to_bytepos): Remove prototype. - * indent.c (scan_for_column): Use CHAR_TO_BYTE. - * insdel.c (move_gap): Likewise. - -2012-12-20 Paul Eggert - - * xdisp.c (redisplay_internal): Remove now-unused local. - -2012-12-20 Stefan Monnier - - * xdisp.c (select_frame_for_redisplay, ensure_selected_frame): Remove. - (redisplay_internal): Don't bother selecting the frame to get the - proper value of frame-local variables (bug#13225). - -2012-12-20 Dmitry Antipov - - * textprop.c (set_text_properties_1): Do not allow NULL interval. - Rename 4th argument since it may be buffer or string. Adjust comment. - * intervals.c (graft_intervals_info_buffer): Find an interval here. - -2012-12-19 Dmitry Antipov - - * coding.c (Fdetect_coding_region): Do not check start and end with - CHECK_NUMBER_COERCE_MARKER since validate_region does that itself. - (code_convert_region): Likewise. - -2012-12-18 Eli Zaretskii - - * w32.c (acl_get_file, acl_set_file): Run the file name through - map_w32_filename, and resolve any symlinks in the file name, like - Posix platforms do. - (acl_set_file): Call revert_to_self, if any privileges were - enabled. - -2012-12-17 Juanma Barranquero - - * makefile.w32-in ($(BLD)/editfns.$(O), $(BLD)/fileio.$(O)) - ($(BLD)/w32.$(O)): Update dependencies. - -2012-12-17 Stefan Monnier - - * xdisp.c (select_frame_for_redisplay): Use select_window_1 to - propagate redisplay's scrolling (if any) to the right window. - (redisplay_internal): Use ensure_selected_frame. - (display_mode_lines): Complete last fix. - * window.c (select_window_1): New func, extracted from select_window. - (select_window): Use it. - * window.h (select_window_1): Declare. - -2012-12-17 Eli Zaretskii - - Emulate Posix ACL APIs on MS-Windows. - * w32.c: Include sddl.h and sys/acl.h. - (SDDL_REVISION_1): Define if not already defined. - (g_b_init_get_security_descriptor_dacl) - (g_b_init_convert_sd_to_sddl, g_b_init_convert_sddl_to_sd) - (g_b_init_is_valid_security_descriptor) - (g_b_init_set_file_security): New static flags. - (globals_of_w32): Initialize them to zero. - (SetFileSecurity_Name): New string constant. - (SetFileSecurity_Proc, GetSecurityDescriptorDacl_Proc) - (ConvertStringSecurityDescriptorToSecurityDescriptor_Proc) - (ConvertSecurityDescriptorToStringSecurityDescriptor_Proc) - (IsValidSecurityDescriptor_Proc): New typedefs. - (get_file_security, get_security_descriptor_owner) - (get_security_descriptor_group): Set errno to ENOTSUP. - (set_file_security, get_security_descriptor_dacl) - (is_valid_security_descriptor, convert_sd_to_sddl) - (convert_sddl_to_sd, acl_valid, acl_to_text, acl_from_text) - (acl_free, acl_get_file, acl_set_file): New functions. - - * fileio.c (Fcopy_file) [WINDOWSNT]: Support copying ACLs. - -2012-12-17 Paul Eggert - - Don't reraise SIGCHLD, as that can now lose (Bug#13192). - With the 2012-12-03 fix for Bug#12980 in place, an old workaround - for some of that bug's symptoms can now cause Emacs to abort. - Remove the workaround. - * process.c (wait_reading_process_output): Don't reraise SIGCHLD. - The bug that caused SIGCHLD to get lost has been fixed, and the - workaround for it can now cause Emacs to abort. - -2012-12-16 Paul Eggert - - * sysdep.c (emacs_abort): Bump backtrace size to 40. - Companion to the 2012-09-30 patch. Suggested by Eli Zaretskii in - . - -2012-12-16 Romain Francoise - - * fileio.c (Ffile_acl, Fset_file_acl): New functions. - (Fcopy_file): Change last arg to `preserve_extended_attributes' - and copy ACL entries of file in addition to SELinux context if set. - (syms_of_fileio): Add `file-acl' and `set-file-acl'. - - * Makefile.in (LIBACL_LIBS): New macro. - (LIBES): Use it. - -2012-12-15 Paul Eggert - - * fileio.c (internal_delete_file): Use bool for boolean. - -2012-12-15 Eli Zaretskii - - Fix bug #13079 on MS-Windows with temp files not being deleted. - * w32.h (_child_process): New members input_file and - pending_deletion. - (register_child): First argument is now pid_t. - (record_infile, record_pending_deletion): New prototypes. - - * w32proc.c (new_child): Initialize input_file and - pending_deletion members of the child. - (delete_child): Delete the child's temporary input file, if any, - that is pending deletion. - (register_child): First argument is now pid_t. - (record_infile, record_pending_deletion): New functions. - (reap_subprocess): Fix a typo in DebPrint string. - (sys_spawnve, sys_kill): Use pid_t for PID arguments. - - * fileio.c (internal_delete_file): Return an int again: non-zero - if delete-file succeeds, zero otherwise. - - * lisp.h (internal_delete_file): Adjust prototype. - - * callproc.c (Fcall_process): Don't overwrite infile with result - of DECODE_FILE. - [WINDOWSNT] If BUFFER is an integer, i.e. we are launching an - asynchronous subprocess, record the name of the input file name, - if any. - (delete_temp_file) [WINDOWSNT]: If internal_delete_file fails to - delete the file, record it as pending deletion when the subprocess - exits. - -2012-12-14 Eli Zaretskii - - * editfns.c [HAVE_PWD_H]: Include grp.h. - - * makefile.w32-in ($(BLD)/editfns.$(O)): Add $(NT_INC)/grp.h. - -2012-12-14 Paul Eggert - - Fix permissions bugs with setgid directories etc. (Bug#13125) - * dired.c (Ffile_attributes): Return t as the 9th attribute, - to mark it as a placeholder. The old value was often wrong. - The only user of this attribute has been changed to use - file-ownership-preserved-p instead, with its new group arg. - * editfns.c (Fgroup_gid, Fgroup_real_gid): New functions. - -2012-12-14 Stefan Monnier - - * xdisp.c (select_frame_for_redisplay, display_mode_lines): - Keep selected_window and selected_frame in sync. - -2012-12-14 Eli Zaretskii - - * w32.c (stat_worker): If w32_stat_get_owner_group is zero, do not - try to get accurate owner and group information from NT file - security APIs. This is to make most callers of 'stat' and - 'lstat', which don't need that information, much faster. - - * dired.c (Ffile_attributes) [WINDOWSNT]: - Set w32_stat_get_owner_group to a non-zero value, to request accurate - owner and group information from 'lstat'. - -2012-12-13 Paul Eggert - - * fileio.c (Finsert_file_contents): Don't put tail into head area, - as that confuses set-auto-coding, so insist on the head-read - returning the full 1024 bytes. Let lseek compute the tail offset; - less work for us. Do not ignore I/O errors when reading the tail. - - * xdisp.c: Minor style fixes. - (init_iterator): Hoist assignment out of if-expression. - (markpos_of_region): Callers now test for sign, not for -1. - -2012-12-13 Dmitry Antipov - - Minor redisplay optimization when the region length is zero. - * xdisp.c (markpos_of_region): New function. - (init_iterator): Do not highlight the region of zero length. - (redisplay_window): Check whether the region is of non-zero length. - (try_cursor_movement): Allow if the region length is zero. - (try_window_reusing_current_matrix, try_window_id): Likewise. - -2012-12-13 Eli Zaretskii - - * search.c (search_buffer): Check the inverse translations of each - character in pattern when the buffer being searched is unibyte. - (Bug#13084) - -2012-12-13 Paul Eggert - - * fileio.c (Fvisited_file_modtime): Return (-1 ...) for nonexistent - files, fixing a regression from 24.2. - (Fverify_visited_file_modtime): Don't read uninitialized st.st_size. - -2012-12-13 Paul Eggert - - * fileio.c (Fcopy_file): Make fstat failure as serious as open failure. - fstat shouldn't fail, and if it does fail copy-file should not proceed. - Remove unnecessary S_ISLNK test, as (contra the comments) this - function can't copy symlinks. Improve quality of error message - when attempting to copy files that are neither regular files nor - directories. - -2012-12-12 Dmitry Antipov - - * dispnew.c (set_window_cursor_after_update): Use clip_to_bounds. - * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): - * window.c (Frecenter): - * xdisp.c (resize_mini_window, hscroll_window_tree, draw_glyphs): - * xterm.c (x_set_toolkit_scroll_bar_thumb): Likewise. - -2012-12-12 Daniel Colascione - - * unexcw.c (fixup_executable): Use posix_fallocate to ensure that - the dumped Emacs is not a sparse file, greatly improving Cygwin - "make bootstrap" performance. - -2012-12-11 Michael Albinus - - * inotify.c (inotify_callback): Generate an Emacs event for every - incoming inotify event. - -2012-12-11 Eli Zaretskii - - * xdisp.c (handle_face_prop): Fix logic of computing - it->start_of_box_run_p. - (append_space_for_newline): If the glyph row is R2L, reset the - iterator's end_of_box_run_p flag before prepending the space glyph. - (extend_face_to_end_of_line): If the glyph row is R2L, reset the - iterator's start_of_box_run_p flag before prepending the stretch. - (append_glyph, produce_image_glyph, append_composite_glyph) - (append_stretch_glyph, append_glyphless_glyph): Reverse the - left_box_line_p and right_box_line_p flags of the glyph for R2L - glyph rows. (Bug#13011) - -2012-12-11 Dmitry Antipov - - * buffer.c (Fset_buffer_multibyte): Do not force redisplay - if changed buffer is not shown in a window. - * insdel.c (prepare_to_modify_buffer): Likewise. - * window.c (replace_buffer_in_windows_safely): Do nothing - if buffer is not shown in a window. - (Fforce_window_update): Likewise if string or buffer argument - is passed. - -2012-12-11 Eli Zaretskii - - * inotify.c (Finotify_add_watch): Rename decoded_file_name to - encoded_file_name, which is what it is. - -2012-12-11 Dmitry Antipov - - Consistently use marker_position and marker_byte_position. - * fringe.c (Ffringe_bitmaps_at_pos): - * indent.c (Fvertical_motion): - * insdel.c (prepare_to_modify_buffer): - * keyboard.c (make_lispy_position): - * window.c (Fwindow_end, Fpos_visible_in_window_p, unshow_buffer) - (window_scroll_pixel_based, displayed_window_lines) - (Fset_window_configuration): - * xdisp.c (message_dolog, with_echo_area_buffer_unwind_data) - (mark_window_display_accurate_1, redisplay_window, decode_mode_spec): - Replace direct access to marker fields with calls - to marker_position and/or marker_byte_position. - -2012-12-11 Juanma Barranquero - - * makefile.w32-in (SIG2STR_H): New macro. - (SYSWAIT_H, $(BLD)/emacs.$(O), $(BLD)/process.$(O)) - ($(BLD)/w32notify.$(O)): Update dependencies. - -2012-12-10 Daniel Colascione - - * w32term.c, keyboard.c: Fix build break in cygw32 by omitting - Windows file notification functionality unless WINDOWSNT. - - * w32gui.h (hprevinst, lpCmdLine, nCmdShow): Remove unused - declarations. - - * w32fns.c (cache_system_info): Initialize the global hinst - variable here so various initialization calls DTRT. - - * unexw32.c (hprevinst, lpCmdLine, nCmdShow): Remove unused variables. - (hinst): Remove unneeded extern declaration. - (_start): Remove initialization of above variables; remove - initialization of hinst, as cache_system_info now does that. - - * emacs.c (main): Call cache_system_info early in startup; we - previously weren't calling it in Cygwin builds. - - * Makefile.in (ntsource, WINDRES, W32_RES, W#@_RES_LINK): - Teach the autoconf build system how to compile a Windows resource file - and link it to Emacs. - -2012-12-10 Dmitry Antipov - - Per-buffer window counters. - * buffer.h (struct buffer): New member window_count. - (buffer_window_count): New function. - * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): - Initialize window_count. - (Fkill_buffer): Verify window_count for the buffer being killed. - (modify_overlay): Do not force redisplay if buffer is not shown - in any window. - (init_buffer_once): Initialize window_count for buffer_defaults - and buffer_local_symbols. - * window.h (buffer_shared): Remove declaration. - (wset_buffer): Convert from inline ... - * window.c (wset_buffer): ... to an ordinary function. - (adjust_window_count): New function. - (make_parent_window): Use it. - * xdisp.c (buffer_shared): Remove. - (redisplay_internal, redisplay_window): Adjust users. - (buffer_shared_and_changed): Use per-buffer window counter. - -2012-12-10 Eli Zaretskii - - Support for filesystem notifications on MS-Windows. - * w32proc.c (sys_select): If drain_message_queue returns non-zero, - and this is a TTY frame, signal the caller that keyboard input is - available. - - * w32xfns.c (drain_message_queue): Now returns an int: an - indication whether any WM_EMACS_FILENOTIFY messages were found in - the queue. - - * w32inevt.c (handle_file_notifications): New function. - (w32_console_read_socket): Call it to process file notifications. - - * w32console.c (initialize_w32_display): Record the main thread ID - in dwMainThreadId. - - * deps.mk (inotify.o): New dependency list. - - * Makefile.in (SOME_MACHINE_OBJECTS): Add w32notify.o. - - * w32term.h (WM_EMACS_FILENOTIFY): New custom message. - (WM_EMACS_END): Bump value by 1. - (notification_buffer_in_use, file_notifications) - (notifications_size, notifications_desc): Declare. - (w32_get_watch_object, lispy_file_action, globals_of_w32notify): - Add prototypes. - - * w32term.c (lispy_file_action, queue_notifications): New functions. - (syms_of_w32term) - : New symbols. - (w32_read_socket): Handle the WM_EMACS_FILENOTIFY message. - - * w32notify.c: New file, implements file event notifications for - MS-Windows. - - * w32fns.c (w32_wnd_proc): Handle the WM_EMACS_FILENOTIFY message - by posting it to the w32_read_socket queue. - - * termhooks.h (enum event_kind) [HAVE_NTGUI]: Support FILE_NOTIFY_EVENT. - - * makefile.w32-in (OBJ2): Add $(BLD)/w32notify.$(O). - (GLOBAL_SOURCES): Add w32notify.c - ($(BLD)/w32notify.$(O)): New set of dependencies. - - * lisp.h (syms_of_w32notify) [WINDOWSNT]: Add prototype. - - * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: - Handle FILE_NOTIFY_EVENT. - (syms_of_keyboard) [HAVE_NTGUI] : New symbol. - (keys_of_keyboard) [WINDOWSNT]: Bind file-notify to - w32notify-handle-event by default. - - * emacs.c (main) [WINDOWSNT]: Call globals_of_w32notify and - syms_of_w32notify. - -2012-12-10 Rüdiger Sonderfeld - - Support for filesystem notifications on GNU/Linux via inotify. - * termhooks.h (enum event_kind) [HAVE_INOTIFY]: Add FILE_NOTIFY_EVENT. - - * lisp.h (syms_of_inotify) [HAVE_INOTIFY]: Add prototype. - - * keyboard.c (Qfile_inotify) [HAVE_INOTIFY]: New variable. - (syms_of_keyboard): DEFSYM it. - (kbd_buffer_get_event) [HAVE_INOTIFY]: Generate FILE_NOTIFY_EVENT. - (make_lispy_event): Support FILE_NOTIFY_EVENT by generating - Qfile_inotify events. - (keys_of_keyboard) [HAVE_INOTIFY]: Bind file-inotify events in - special-event-map to inotify-handle-event. - - * emacs.c (main) [HAVE_INOTIFY]: Call syms_of_inotify. - - * Makefile.in (base_obj): Add inotify.o. - - * inotify.c: New file. - -2012-12-10 Jan Djärv - - * nsterm.m (fd_handler:): FD_ZERO fds (Bug#13103). - -2012-12-10 Fabrice Popineau - - * w32fns.c (cache_system_info): Cast sysinfo_cache.dwPageSize to - DWORD_PTR, for compatibility with 64-bit builds. - - * w32.c (_PROCESS_MEMORY_COUNTERS_EX): - (GetProcessWorkingSetSize_Proc, get_process_working_set_size) - (system_process_attributes): Use SIZE_T rather than DWORD, for - compatibility with 64-bit builds. - -2012-12-10 Christopher Schmidt - - * lread.c (Vload_source_file_function): Doc fix (Bug#11647). - -2012-12-10 Eli Zaretskii - - * indent.c (Fvertical_motion): If a display string will be - displayed on the left or the right margin, don't consider it as a - factor in cursor positioning. (Bug#13108) - -2012-12-10 Martin Rudalics - - * editfns.c (Fcompare_buffer_substrings): Reword doc-string. - -2012-12-10 Paul Eggert - - * fileio.c (Fsubstitute_in_file_name): Use ptrdiff_t, not int, - for string length. - -2012-12-08 Eli Zaretskii - - * w32.c (unsetenv): Return 0 if the input string is too long. - -2012-12-08 Paul Eggert - - Use putenv+unsetenv instead of modifying environ directly (Bug#13070). - * alloc.c (xputenv): New function. - * dbusbind.c (Fdbus_init_bus): - * emacs.c (main): - * xterm.c (x_term_init): - Use xputenv instead of setenv or putenv, to detect memory exhaustion. - * editfns.c (initial_tz): Move static var decl up. - (tzvalbuf_in_environ): New static var. - (init_editfns): Initialize these two static vars. - (Fencode_time): Don't assume arbitrary limit on EMACS_INT width. - Save old TZ value on stack, if it's small. - (Fencode_time, set_time_zone_rule): Don't modify 'environ' directly; - instead, use xputenv+unsetenv to set and restore TZ. - (environbuf): Remove static var. All uses removed. - (Fset_time_zone_rule): Do not save TZ and environ; - no longer needed here. - (set_time_zone_rule_tz1, set_time_zone_rule_tz2) [LOCALTIME_CACHE]: - Move to inside set_time_zone_rule; they don't need file scope any more. - (set_time_zone_rule): Maintain the TZ=value string separately. - (syms_of_editfns): Don't initialize initial_tz; - init_editfns now does it. - * emacs.c (dump_tz) [HAVE_TZSET]: Now const. - * lisp.h (xputenv): New decl. - -2012-12-08 Fabrice Popineau - - * w32fns.c (emacs_abort): Don't do arithmetics on void pointers. - -2012-12-08 Eli Zaretskii - - * w32.c (unsetenv, sys_putenv): New functions. - -2012-12-08 Chong Yidong - - * editfns.c (Finsert_char): Make the error message more - informative (Bug#12992). - -2012-12-08 Paul Eggert - - Simplify get_lim_data. - * vm-limit.c (get_lim_data): Combine RLIMIT_AS and RLIMIT_DATA methods. - Remove USG and vlimit methods; no longer used these days. - Add #error catchall just in case. - - Assume POSIX 1003.1-1988 or later for signal.h (Bug#13026). - Exceptions: do not assume SIGCONT, SIGSTOP, SIGTSTP, SIGTTIN, - SIGTTOU, SIGUSR1, SIGUSR2, as Microsoft platforms lack these. - * process.c [subprocesses]: Include , . - (deleted_pid_list, Fdelete_process, create_process) - (record_child_status_change, handle_child_signal, deliver_child_signal) - (init_process_emacs, syms_of_process): - Assume SIGCHLD is defined. - (parse_signal): Remove. All uses removed. - (abbr_to_signal): New static function. - (Fsignal_process): Use it to convert signal names to ints. - * sysdep.c (sys_suspend) [!DOS_NT]: Use kill (0, ...) rather than - kill (getpgrp (), ...). - (emacs_sigaction_init): Assume SIGCHLD is defined. - (init_signals): Assume SIGALRM, SIGCHLD, SIGHUP, SIGKILL, - SIGPIPE, and SIGQUIT are defined. Do not worry about SIGCLD any more. - * syssignal.h (EMACS_KILLPG): Remove. - All uses replaced by 'kill' with a negative pid. - (SIGCHLD): Remove definition, as we now assume SIGCHLD. - * w32proc.c (sys_kill): Support negative pids compatibly with POSIX. - -2012-12-07 Paul Eggert - - * sysdep.c (get_child_status): Abort on internal error (Bug#13086). - This will cause a production Emacs to dump core instead of - infinite-looping. - -2012-12-07 Dmitry Antipov - - * frame.c (make_frame): Do not set window's buffer to t. - * window.c (Fsplit_window_internal): Likewise. Previously it was - used to indicate that the window is being set up. Now we use - set_window_buffer for all new windows, so the condition in ... - (Fset_window_buffer): ... is always true and can be removed. - -2012-12-07 Dmitry Antipov - - Convenient macro to check whether the buffer is hidden. - * buffer.h (BUFFER_HIDDEN_P): New macro. - * frame.c (make_frame): Use it. Adjust comment. - * buffer.c (candidate_buffer): New function. - (Fother_buffer, other_buffer_safely): Use it. - -2012-12-06 Eli Zaretskii - - * w32proc.c (waitpid): Avoid busy-waiting when called with WNOHANG - if the child process is still running. Instead, exit the wait - loop and return zero. (Bug#13086) - -2012-12-06 Dmitry Antipov - - * frame.h (x_char_width, x_char_height): Remove prototypes. - * w32term.h (x_char_width, x_char_height): Likewise. - * xfns.c (x_char_width, x_char_height): Remove. - * w32fns.c (x_char_width, x_char_height): Likewise. - * nsfns.c (x_char_width, x_char_height): Likewise. - * frame.c (Fframe_char_width): Use FRAME_COLUMN_WIDTH for - all window frames. - (Fframe_char_height): Likewise with FRAME_LINE_HEIGHT. - * keyboard.c (command_loop_1): Remove prototype. - (command_loop_2, top_level_1): Add static to match prototype. - -2012-12-06 Paul Eggert - - Fix a recently-introduced delete-process race condition. - * callproc.c, process.h (record_kill_process): - New function, containing part of the old call_process_kill. - (call_process_kill): Use it. - This does not change call_process_kill's behavior. - * process.c (Fdelete_process): Use record_kill_process to fix a - race condition that could cause Emacs to lose track of a child. - -2012-12-06 Dmitry Antipov - - Avoid code duplication between prev_frame and next_frame. - * frame.c (candidate_frame): New function. Add comment. - (prev_frame, next_frame): Use it. Adjust comment. - -2012-12-06 Eli Zaretskii - - * callproc.c (Fcall_process_region) [!HAVE_MKSTEMP]: If mktemp - fails, signal an error instead of continuing with an empty - string. (Bug#13079) - Encode expanded temp file pattern before passing it to mkstemp or - mktemp. - - * fileio.c (file_name_as_directory, directory_file_name) [DOS_NT]: - Encode the file name before passing it to dostounix_filename, in - case it will downcase it (under w32-downcase-file-names). - (Bug#12933) - -2012-12-05 Paul Eggert - - Minor call-process cleanups. - * callproc.c (Fcall_process): Do record-unwind-protect on MSDOS - at the same time as other platforms, to simplify analysis. - No need for fd0_volatile since we have synch_process_fd. - Avoid needless emacs_close; arg is always negative. - -2012-12-04 Andreas Schwab - - * callproc.c (Fcall_process): Fix specpdl nesting for asynchronous - processes. - -2012-12-04 Dmitry Antipov - - * lisp.h (Mouse_HLInfo): Remove set-but-unused mouse_face_image_state - member. Adjust users. Convert mouse_face_past_end, mouse_face_defer - and mouse_face_hidden members to a bitfields. - * frame.h (struct frame): Remove set-but-not-used space_width member. - (FRAME_SPACE_WIDTH): Remove. - * nsterm.m, w32term.c, xterm.c: Adjust users. - * termchar.h (struct tty_display_info): Remove set-but-unused se_is_so - member. Adjust users. Convert term_initted, delete_in_insert_mode, - costs_set, insert_mode, standout_mode, cursor_hidden and flow_control - members to a bitfields. - -2012-12-03 Paul Eggert - - Don't let call-process be a zombie factory (Bug#12980). - Fixing this bug required some cleanup of the signal-handling code. - As a side effect, this change also fixes a longstanding rare race - condition whereby Emacs could mistakenly kill unrelated processes, - and it fixes a bug where a second C-g does not kill a recalcitrant - synchronous process in GNU/Linux and similar platforms. - The patch should also fix the last vestiges of Bug#9488, - a bug which has mostly been fixed on the trunk by other changes. - * callproc.c, process.h (synch_process_alive, synch_process_death) - (synch_process_termsig, sync_process_retcode): - Remove. All uses removed, to simplify analysis and so that - less consing is done inside critical sections. - * callproc.c (call_process_exited): Remove. All uses replaced - with !synch_process_pid. - * callproc.c (synch_process_pid, synch_process_fd): New static vars. - These take the role of what used to be in unwind-protect arg. - All uses changed. - (block_child_signal, unblock_child_signal): - New functions, to avoid races that could kill innocent-victim processes. - (call_process_kill, call_process_cleanup, Fcall_process): Use them. - (call_process_kill): Record killed processes as deleted, so that - zombies do not clutter up the system. Do this inside a critical - section, to avoid a race that would allow the clutter. - (call_process_cleanup): Fix code so that the second C-g works again - on common platforms such as GNU/Linux. - (Fcall_process): Create the child process in a critical section, - to fix a race condition. If creating an asynchronous process, - record it as deleted so that zombies do not clutter up the system. - Do unwind-protect for WINDOWSNT too, as that's simpler in the - light of these changes. Omit unnecessary call to emacs_close - before failure, as the unwind-protect code does that. - * callproc.c (call_process_cleanup): - * w32proc.c (waitpid): Simplify now that synch_process_alive is gone. - * process.c (record_deleted_pid): New function, containing - code refactored out of Fdelete_process. - (Fdelete_process): Use it. - (process_status_retrieved): Remove. All callers changed to use - child_status_change. - (record_child_status_change): Remove, folding its contents into ... - (handle_child_signal): ... this signal handler. Now, this - function is purely a handler for SIGCHLD, and is not called after - a synchronous waitpid returns; the synchronous code is moved to - wait_for_termination. There is no need to worry about reaping - more than one child now. - * sysdep.c (get_child_status, child_status_changed): New functions. - (wait_for_termination): Now takes int * status and bool - interruptible arguments, too. Do not record child status change; - that's now the caller's responsibility. All callers changed. - Reimplement in terms of get_child_status. - (wait_for_termination_1, interruptible_wait_for_termination): - Remove. All callers changed to use wait_for_termination. - * syswait.h: Include , for bool. - (record_child_status_change, interruptible_wait_for_termination): - Remove decls. - (record_deleted_pid, child_status_changed): New decls. - (wait_for_termination): Adjust to API changes noted above. - - * bytecode.c, lisp.h (Qbytecode): Remove. - No longer needed after 2012-11-20 interactive-p changes. - -2012-12-03 Eli Zaretskii - - * xdisp.c (redisplay_window): If the cursor is visible, but inside - the scroll margin, move point outside the margin. (Bug#13055) - -2012-12-03 Jan Djärv - - * gtkutil.c (my_log_handler): New function. - (xg_set_geometry): Set log handler to my_log_handler (Bug#11177). - -2012-12-03 Dmitry Antipov - - * lisp.h (modify_region): Rename to... - (modify_region_1): ...new prototype. - * textprop.c (modify_region): Now static. Adjust users. - * insdel.c (modify_region): Rename to... - (modify_region_1): ...new function to work with current buffer. - Adjust comment and users. Use true and false for booleans. - -2012-12-03 Dmitry Antipov - - * alloc.c (free_save_value): New function. - (safe_alloca_unwind): Use it. - * lisp.h (free_save_value): New prototype. - * editfns.c (save_excursion_save): Use Lisp_Misc_Save_Value. - Add comment. - (save_excursion_restore): Adjust to match saved data structure. - Use free_save_value to offload some work from GC. Drop obsolete - #if 0 code. - -2012-12-03 Chong Yidong - - * fileio.c (Vauto_save_list_file_name): Doc fix. - -2012-12-03 Fabrice Popineau - - * w32fns.c: Remove prototype of atof. - (syspage_mask): Make it DWORD_PTR, for compatibility with 64-bit - builds. - (file_dialog_callback): Make it UINT_PTR. - - * w32common.h (syspage_mask): Declare DWORD_PTR, for compatibility - with 64-bit builds. - - * w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED) - (FILE_ANY_ACCESS, CTL_CODE) [_MSC_VER]: Define only if not already - defined. - -2012-12-03 Glenn Morris - - * data.c (Fboundp, Fsymbol_value): Doc fix re lexical-binding. - -2012-12-02 Paul Eggert - - Fix xpalloc confusion after memory is exhausted. - * alloc.c (xpalloc): Comment fix. - * charset.c (Fdefine_charset_internal): If xpalloc exhausts memory - and signals an error, do not clear charset_table_size, as - charset_table is still valid. - * doprnt.c (evxprintf): Clear *BUF after freeing it. - - Use execve to avoid need to munge environ (Bug#13054). - * callproc.c (Fcall_process): - * process.c (create_process): - Don't save and restore environ; no longer needed. - * callproc.c (child_setup): - Use execve, not execvp, to preserve environ. - -2012-12-01 Paul Eggert - - * xterm.c (x_draw_image_relief): Remove unused locals (Bug#10500). - -2012-12-01 YAMAMOTO Mitsuharu - - * xterm.c (x_draw_relief_rect, x_draw_image_relief): Fix relief - display for sliced images (Bug#10500). - - * w32term.c (w32_draw_relief_rect, x_draw_image_relief): Likewise. - -2012-11-30 Juanma Barranquero - - * doc.c (Fdocumentation): Re-add handling of function-documentation, - accidentally removed in 2012-11-09T04:10:16Z!monnier@iro.umontreal.ca (bug#13034). - -2012-11-29 Dmitry Antipov - - * xdisp.c (window_outdated): Remove eassert since it hits - some suspicious corner cases (see Bug#13007 and Bug#13012). - (mode_line_update_needed): New function. - (redisplay_internal, redisplay_window): Use it. - (ensure_selected_frame): New function. - (redisplay_internal, unwind_redisplay): Use it. - (redisplay_internal): Move comment about buffer_shared... - (buffer_shared_and_changed): ...near to its real use. - -2012-11-29 Paul Eggert - - * callproc.c (Fcall_process): Don't misreport vfork failure. - -2012-11-28 Paul Eggert - - * callproc.c (Fcall_process): Fix vfork portability problems. - Do not assume that fd[0], count, filefd, and save_environ survive - vfork. Fix bug whereby wrong errno value could be reported for - pipe failure. Some minor cleanups, too, as follows. Move buf and - bufsize to the context where they're needed. Change new_argv to - be of type char **, as this is more convenient and avoids casts. - (CALLPROC_BUFFER_SIZE_MIN, CALLPROC_BUFFER_SIZE_MAX): - Now local constants, not macros. - -2012-11-18 Kenichi Handa - - * font.c (font_unparse_xlfd): Fix previous change. Keep "const" - for the variable "f". - -2012-11-13 Kenichi Handa - - * font.c (font_unparse_xlfd): Exclude special characters from the - generating XLFD name. - -2012-11-27 Paul Eggert - - Assume POSIX 1003.1-1988 or later for grp.h, pwd.h. - * dired.c (stat_uname, stat_gname): - * fileio.c (Fexpand_file_name): Remove no-longer-needed casts. - - Assume POSIX 1003.1-1988 or later for errno.h (Bug#12968). - * dired.c (directory_files_internal, file_name_completion): - Assume EAGAIN and EINTR are defined. - - * fileio.c (Fcopy_file): Assume EISDIR is defined. - * gmalloc.c (ENOMEM, EINVAL): Assume they're defined. - * gnutls.c (emacs_gnutls_write): Assume EAGAIN is defined. - * lread.c (readbyte_from_file): Assume EINTR is defined. - * process.c (wait_reading_process_output, send_process) [subprocesses]: - Assume EIO and EAGAIN are defined. - * unexcoff.c (write_segment): Assume EFAULT is defined. - -2012-11-27 Eli Zaretskii - - * fontset.c (Finternal_char_font): Return nil on non-GUI frames. - (Bug#11964) - - * xdisp.c (draw_glyphs): Don't draw in mouse face if mouse - highlighting on the frame was cleared. Prevents assertion - violations when repeatedly clicking on the "Top" link of the - "bread-crumbs" in Info buffers. - -2012-11-25 Paul Eggert - - * sysdep.c (sys_subshell): Don't assume pid_t fits in int. - -2012-11-24 Ken Brown - - * keyboard.c (HAVE_MOUSE): - * frame.c (HAVE_MOUSE): Remove, and rewrite code as if HAVE_MOUSE - were always defined. - -2012-11-24 Eli Zaretskii - - * xdisp.c (set_cursor_from_row): Skip step 2 only if point is not - between bpos_covered and bpos_max. This fixes cursor display when - several display strings follow each other. - - * .gdbinit (pgx): If the glyph's object is a string, display the - pointer to string data, rather than the value of the string object - itself (which barfs under CHECK_LISP_OBJECT_TYPE). - - * indent.c (Fvertical_motion): If the starting position is covered - by a display string, return to one position before that, to avoid - overshooting it inside move_it_to. (Bug#12930) - -2012-11-23 Dmitry Antipov - - * frame.h (struct frame): Remove display_preempted member - since all users are dead long ago. - * nsterm.h (struct x_output): Use the only dummy member. - * w32menu.c (pending_menu_activation): Remove since not - really used. - (set_frame_menubar): Adjust user. - * w32term.h (struct x_output): Drop outdated #if 0 code. - (struct w32_output): Use bitfields for explicit_parent, - asked_for_visible and menubar_active members. - Drop unused pending_menu_activation member. - * xterm.h (struct x_output): Drop outdated #if 0 code. - Use bitfields for explicit_parent, asked_for_visible, - has_been_visible and net_wm_state_hidden_seen members. - -2012-11-23 Eli Zaretskii - - * makefile.w32-in (globals.h, gl-stamp): Use $(SWITCHCHAR) instead - of a literal "/". (Bug#12955) - (gl-stamp): Invoke fc.exe directly, not through cmd. - -2012-11-23 Paul Eggert - - Assume POSIX 1003.1-1988 or later for dirent.h (Bug#12958). - * dired.c: Assume HAVE_DIRENT_H. - (NAMLEN): Remove, replacing with ... - (dirent_namelen): New function. All uses changed. Use the GNU macro - _D_EXACT_NAMELEN if available, as it's faster than strlen. - (DIRENTRY): Remove, replacing all uses with 'struct dirent'. - (DIRENTRY_NONEMPTY): Remove. All callers now assume it's nonzero. - * makefile.w32-in (DIR_H): Remove. All uses replaced with - $(NT_INC)/dirent.h. - ($(BLD)/w32.$(O)): Do not depend on $(SRC)/ndir.h. - * ndir.h: Rename to ../nt/inc/dirent.h. - * sysdep.h (closedir) [!HAVE_CLOSEDIR]: Remove. - Do not include ; no longer needed. - * w32.c: Include rather than "ndir.h". - -2012-11-23 Chong Yidong - - * xftfont.c (xftfont_open): Remove duplicate assignment. - -2012-11-22 Dmitry Antipov - - * alloc.c (Fgarbage_collect): Unblock input after clearing - gc_in_progress to avoid note_mouse_highlight glitch with GC. - * frame.h (FRAME_MOUSE_UPDATE): New macro. - * msdos.c (IT_frame_up_to_date): Use it here... - * w32term.c (w32_frame_up_to_date): ...here... - * xterm.c (XTframe_up_to_date): ...and here... - * nsterm.m (ns_frame_up_to_date): ...but not here. - * lisp.h (Mouse_HLInfo): Remove mouse_face_deferred_gc member. - Adjust users. - * xdisp.c (message2_nolog, message3_nolog, note_mouse_highlight): - Do not check whether GC is in progress. - -2012-11-22 Dmitry Antipov - - * xdisp.c (window_buffer_changed): New function. - (update_menu_bar, update_tool_bar): Use it to - simplify large 'if' statements. - (redisplay_internal): Generalize commonly used - 'tail' and 'frame' local variables. - -2012-11-22 Eli Zaretskii - - * w32.c (getcwd): Fix the 2nd argument type, to prevent conflicts - with Windows system header. - -2012-11-21 Paul Eggert - - Assume POSIX 1003.1-1988 or later for unistd.h (Bug#12945). - * alloc.c: Assume unistd.h exists. - * fileio.c (Fexpand_file_name) [DOS_NT]: Use getcwd, not getwd. - * sysdep.c (get_current_dir_name): Assume getcwd exists. - (getwd) [USG]: Remove; no longer needed. - (sys_subshell) [DOS_NT]: Use getcwd, not getwd. - * w32.c (getcwd): Rename from getwd, and switch to getcwd's API. - * w32.h (getcwd): Remove decl. - -2012-11-21 Stefan Monnier - - * xdisp.c (fast_set_selected_frame): Rename from update_tool_bar_unwind. - Make it set selected_window as well. - (update_tool_bar): Use it. - -2012-11-21 Ken Brown - - * emacs.c (main): Set the G_SLICE environment variable for all - Cygwin builds, not just GTK builds. See - https://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00368.html. - -2012-11-21 Eli Zaretskii - - * w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED) - (FILE_ANY_ACCESS, CTL_CODE, FSCTL_GET_REPARSE_POINT) [_MSC_VER]: - Define for the MSVC compiler. - - * w32term.h (EnumSystemLocalesW) [_MSC_VER]: Add a missing semi-colon. - - * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory) - (Fexpand_file_name) [DOS_NT]: Pass encoded file name to - dostounix_filename. Prevents crashes down the road, because - dostounix_filename assumes it gets a unibyte string. - Reported by Michel de Ruiter , see - http://lists.gnu.org/archive/html/help-emacs-windows/2012-11/msg00017.html - -2012-11-20 Stefan Monnier - - Conflate Qnil and Qunbound for `symbol-function'. - * alloc.c (Fmake_symbol): Initialize `function' to Qnil. - * lread.c (init_obarray): Set `function' fields to Qnil. - * eval.c (Fcommandp): Ignore Qunbound. - (Fautoload, eval_sub, Fapply, Ffuncall, Fmacroexpand): - * data.c (Ffset, Ffboundp, indirect_function, Findirect_function): - Test NILP rather than Qunbound. - (Ffmakunbound): Set to Qnil. - (Fsymbol_function): Never signal an error. - (Finteractive_form): Ignore Qunbound. - -2012-11-20 Paul Eggert - - * eval.c (interactive_p): Remove no-longer-used decl. - -2012-11-20 Dmitry Antipov - - * xdisp.c (buffer_shared): Adjust comment. - (buffer_shared_and_changed): New function. - (prepare_menu_bars, redisplay_internal): Use it to - decide whether all windows or frames should be updated. - (window_outdated): New function. - (text_outside_line_unchanged_p, redisplay_window): Use it. - (redisplay_internal): Likewise. Fix indentation. - -2012-11-20 Stefan Monnier - - * eval.c (Finteractive_p, Fcalled_interactively_p, interactive_p): Remove. - (syms_of_eval): Remove corresponding defsubr. - * bytecode.c (exec_byte_code): `interactive-p' is now a Lisp function. - -2012-11-19 Daniel Colascione - - * w32fns.c (Fx_file_dialog): - (Fx_file_dialog): Accomodate rename of cygwin_convert_path* to - cygwin_convert_file_name*. - - * cygw32.c (Fcygwin_convert_path_to_windows, syms_of_cygw32): - Rename cygwin_convert_path* to cygwin_convert_file_name*. - -2012-11-18 Paul Eggert - - * nsterm.m (ns_select): Send SIGIO only to self, not to process group. - -2012-11-18 Eli Zaretskii - - * w32select.c: Include w32common.h before w32term.h, so that - windows.h gets included before w32term.h uses some of its - features, see below. - - * w32term.h (LOCALE_ENUMPROCA, LOCALE_ENUMPROCW) [_MSC_VER]: - New typedefs. - (EnumSystemLocalesA, EnumSystemLocalesW) [_MSC_VER]: - New prototypes. - (EnumSystemLocales) [_MSC_VER]: Define if undefined. (Bug#12878) - -2012-11-18 Jan Djärv - - * nsterm.m (hold_event): Set send_appdefined to YES (Bug#12834). - (ns_select): Return at once if events are held (Bug#12834). - -2012-11-18 enami tsugutomo - - * unexelf.c (ELFSIZE) [__NetBSD__ && _LP64]: Set to 64. - Needed following 2012-10-20 change. (Bug#12902) - -2012-11-18 Juanma Barranquero - - * w32proc.c (waitpid): Remove unused label get_result. - -2012-11-17 Juanma Barranquero - - * makefile.w32-in (SYSWAIT_H): New macro. - ($(BLD)/callproc.$(O), $(BLD)/w32proc.$(O), $(BLD)/process.$(O)) - ($(BLD)/sysdep.$(O)): Update dependencies. - -2012-11-17 Paul Eggert - - Assume POSIX 1003.1-1988 or later for fcntl.h (Bug#12881). - * callproc.c (relocate_fd): Assume F_DUPFD. - * emacs.c, term.c (O_RDWR): Remove. - * keyboard.c (tty_read_avail_input): Use O_NONBLOCK rather than - O_NDELAY, since O_NONBLOCK is the standard name for this flag. - * nsterm.m: Assume exists. - * process.c (NON_BLOCKING_CONNECT, allocate_pty, create_process) - (create_pty, Fmake_network_process, server_accept_connection) - (wait_reading_process_output, init_process_emacs): - Assume O_NONBLOCK. - (wait_reading_process_output): Put in a special case for WINDOWSNT - to mimick the older behavior where it had O_NDELAY but not O_NONBLOCK. - It's not clear this is needed, but it's a more-conservative change. - (create_process): Assume FD_CLOEXEC. - (create_process, create_pty): Assume O_NOCTTY. - * sysdep.c (init_sys_modes, reset_sys_modes): Assume F_SETFL. - (reset_sys_modes): Use O_NONBLOCK rather than O_NDELAY. - Omit if not DOS_NT, since F_GETFL is not defined there. - (serial_open): Assume O_NONBLOCK and O_NOCTTY. - * term.c: Include , for flags like O_NOCTTY. - (O_NOCTTY): Remove. - (init_tty): Assume O_IGNORE_CTTY is defined to 0 on platforms that - lack it, since gnulib guarantees this. - * w32.c (fcntl): Test for O_NONBLOCK rather than O_NDELAY. - -2012-11-17 Eli Zaretskii - - * w32.c (faccessat): Pretend that directories have the execute bit - set. Emacs expects that, e.g., in files.el:cd-absolute. - - * w32proc.c (create_child): Don't clip the PID of the child - process to fit into an Emacs integer, as this is no longer a - restriction. - (waitpid): Rename from sys_wait. Emulate a Posix 'waitpid' by - reaping only the process specified by PID argument, if that is - positive. Use PID instead of dead_child to know which process to - reap. Wait for the child to die only if WNOHANG is not in - OPTIONS. - (sys_select): Don't set dead_child. - - * sysdep.c (wait_for_termination_1): Remove the WINDOWSNT portion, - as it is no longer needed. - - * process.c (waitpid, WUNTRACED) [!WNOHANG]: Remove definitions, - no longer needed. - (record_child_status_change): Remove the setting of - record_at_most_one_child for the !WNOHANG case. - -2012-11-17 Paul Eggert - - Fix problems in ns port found by static checking. - * nsterm.m: Include , for pthread_mutex_lock etc. - (hold_event, setPosition:portion:whole:): Send SIGIO only to self, - not to process group. - (ns_select): Use emacs_write, not write, as that's more robust - in the presence of signals. - (fd_handler:): Check for read errors. - -2012-11-16 Glenn Morris - - * editfns.c (Fmessage): Mention message-log-max. (Bug#12849) - -2012-11-16 Stefan Monnier - - * eval.c (Finteractive_p): Revert lexbind-merge mishap. - -2012-11-16 Eli Zaretskii - - * w32proc.c (timer_loop): Make sure SuspendThread and ResumeThread - use the same value of thread handle. - (start_timer_thread): If the timer thread exited (due to error), - clean up by closing the two handles it used. Duplicate the caller - thread's handle here, so it gets duplicated only once, when - launching the timer thread. Set priority of the timer thread, not - the caller thread. - (getitimer): Don't duplicate the caller thread's handle here. - (Bug#12832) - -2012-11-16 Jan Djärv - - * nsterm.m (hold_event): Send SIGIO to make sure ns_read_socket is - called (Bug#12834). - -2012-11-16 Paul Eggert - - Remove no-longer-used pty_max_bytes variable. - * process.c (pty_max_bytes): Remove; unused. - (send_process): Do not set it. - -2012-11-15 Juanma Barranquero - - * makefile.w32-in ($(BLD)/dispnew.$(O), $(BLD)/emacs.$(O)): - Update dependencies. - -2012-11-15 Paul Eggert - - * eval.c (mark_backtrace) [BYTE_MARK_STACK]: Remove stray '*'. - This follows up on the 2012-09-29 patch that removed indirection - for the 'function' field. Reported by Sergey Vinokurov in - . - -2012-11-14 Eli Zaretskii - - * w32.c (faccessat): Rename from sys_faccessat. (No need to use a - different name, as the MS runtime does not have such a function, - and probably never will.) All callers changed. Ignore DIRFD - value if PATH is an absolute file name, to match Posix spec - better. If AT_SYMLINK_NOFOLLOW is set in FLAGS, don't resolve - symlinks. - -2012-11-14 Dmitry Antipov - - * xdisp.c (echo_area_display, redisplay_internal): - Omit redundant check whether frame_garbaged is set. - -2012-11-14 Paul Eggert - - Use faccessat, not access, when checking file permissions (Bug#12632). - This fixes a bug that has been present in Emacs since its creation. - It was reported by Chris Torek in 1983 even before GNU Emacs existed, - which must set some sort of record. (Torek's bug report was against - a predecessor of GNU Emacs, but GNU Emacs happened to have the - same common flaw.) See Torek's Usenet posting - "setuid/setgid programs & Emacs" Article-I.D.: sri-arpa.858 - Posted: Fri Apr 8 14:18:56 1983. - * Makefile.in (LIB_EACCESS): New macro. - (LIBES): Use it. - * callproc.c (init_callproc): - * charset.c (init_charset): - * fileio.c (check_existing, check_executable, check_writable) - (Ffile_readable_p): - * lread.c (openp, load_path_check): - * process.c (allocate_pty): - * xrdb.c (file_p): - Use effective UID when checking permissions, not real UID. - * callproc.c (init_callproc): - * charset.c (init_charset): - * lread.c (load_path_check, init_lread): - Test whether directories are accessible, not merely whether they exist. - * conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): New macro. - * fileio.c (check_existing, check_executable, check_writable) - (Ffile_readable_p): - Use symbolic names instead of integers for the flags, as they're - portable now. - (check_writable): New arg AMODE. All uses changed. - Set errno on failure. - (Ffile_readable_p): Use faccessat, not stat + open + close. - (Ffile_writable_p): No need to call check_existing + check_writable. - Just call check_writable and then look at errno. This saves a syscall. - dir should never be nil; replace an unnecessary runtime check - with an eassert. When checking the parent directory of a nonexistent - file, check that the directory is searchable as well as writable, as - we can't create files in unsearchable directories. - (file_directory_p): New function, which uses 'stat' on most platforms - but faccessat with D_OK (for efficiency) if WINDOWSNT. - (Ffile_directory_p, Fset_file_times): Use it. - (file_accessible_directory_p): New function, which uses a single - syscall for efficiency. - (Ffile_accessible_directory_p): Use it. - * xrdb.c (file_p): Use file_directory_p. - * lisp.h (file_directory_p, file_accessible_directory_p): New decls. - * lread.c (openp): When opening a file, use fstat rather than - stat, as that avoids a permissions race. When not opening a file, - use file_directory_p rather than stat. - (dir_warning): First arg is now a usage string, not a format. - Use errno. All uses changed. - * nsterm.m (ns_term_init): Remove unnecessary call to file-readable - that merely introduced a race. - * process.c, sysdep.c, term.c: All uses of '#ifdef O_NONBLOCK' - changed to '#if O_NONBLOCK', to accommodate gnulib O_* style, - and similarly for the other O_* flags. - * w32.c (sys_faccessat): Rename from sys_access and switch to - faccessat's API. All uses changed. - * xrdb.c: Do not include ; no longer needed. - (magic_db): Rename from magic_file_p. - (magic_db, search_magic_path): Return an XrmDatabase rather than a - char *, so that we don't have to test for file existence - separately from opening the file for reading. This removes a race - fixes a permission-checking problem, and simplifies the code. - All uses changed. - (file_p): Remove; no longer needed. - -2012-11-13 Dmitry Antipov - - Omit glyphs initialization at startup. - * dispnew.c (glyphs_initialized_initially_p): Remove. - (adjust_frame_glyphs_initially): Likewise. Adjust users. - (Fredraw_frame): Move actual code from here... - (redraw_frame): ...to here. Add eassert. Adjust comment. - (Fredraw_display): Use redraw_frame. - * xdisp.c (clear_garbaged_frames): Likewise. - -2012-11-13 Eli Zaretskii - - * xdisp.c (decode_mode_spec): Limit the value of WIDTH argument - passed to pint2str and pint2hrstr to be at most the size of the - frame's decode_mode_spec_buffer. This avoids crashes with very - large values of FIELD_WIDTH argument to decode_mode_spec. - (Bug#12867) - -2012-11-13 Paul Eggert - - Fix a race with verify-visited-file-modtime (Bug#12863). - Since at least 1991 Emacs has ignored an mtime difference of no - more than one second, but my guess is that this was to work around - file system bugs that were fixed long ago. Since the race is - causing problems now, let's remove that code. - * fileio.c (Fverify_visited_file_modtime): Do not accept a file - whose time stamp is off by no more than a second. Insist that the - file time stamps match exactly. - -2012-11-12 Dmitry Antipov - - * frame.h (struct frame): Convert external_tool_bar member to - 1-bit unsigned bitfield. - * termhooks.h (struct terminal): Remove mouse_moved member since - all users are long dead. Adjust comment on mouse_position_hook. - -2012-11-12 Dmitry Antipov - - Simplify by using FOR_EACH_FRAME here and there. - * frame.c (next_frame, prev_frame, other_visible_frames) - (delete_frame, visible-frame-list): Use FOR_EACH_FRAME. - * w32term.c (x_window_to_scroll_bar): Likewise. - * window.c (window_list): Likewise. - * xdisp.c (x_consider_frame_title): Likewise. - * xfaces.c (Fdisplay_supports_face_attributes_p): Likewise. - * xfns.c (x_window_to_frame, x_any_window_to_frame) - (x_menubar_window_to_frame, x_top_window_to_frame): Likewise. - * xmenu.c (menubar_id_to_frame): Likewise. - * xselect.c (frame_for_x_selection): Likewise. - * xterm.c (x_frame_of_widget, x_window_to_scroll_bar) - (x_window_to_menu_bar): Likewise. - * w32fns.c (x_window_to_frame): Likewise. Adjust comment. - -2012-11-12 Paul Eggert - - * data.c (Qdefalias_fset_function): Now static. - - Another tweak to vectorlike_header change. - * alloc.c (struct Lisp_Vectorlike_Free, NEXT_IN_FREE_LIST): - Remove, and replace all uses with ... - (next_in_free_list, set_next_in_free_list): - New functions, which respect C's aliasing rules better. - -2012-11-11 Paul Eggert - - * window.c (list4i): Rename from 'quad'. All uses changed. - Needed because defines 'quad' on Solaris 10. - -2012-11-11 Juanma Barranquero - - * xdisp.c (start_hourglass) [HAVE_NTGUI]: Add block to silence - warning about mixing declarations and code in ISO C90. - -2012-11-10 Martin Rudalics - - * window.c (Fsplit_window_internal): Set combination limit of - new parent window to t iff Vwindow_combination_limit is t; - fixing a regression introduced with the change from 2012-09-22. - (Fset_window_combination_limit): Fix doc-string. - -2012-11-10 Eli Zaretskii - - * xdisp.c (try_scrolling): Fix correction of aggressive-scroll - amount when the scroll margins are too large. When scrolling - backwards in the buffer, give up if cannot reach point or the - scroll margin within a reasonable number of screen lines. - Fixes point position in window under scroll-up/down-aggressively when - point is positioned many lines beyond the window top/bottom. - (Bug#12811) - - * ralloc.c (relinquish): If real_morecore fails to return memory - to the system, don't crash; instead, leave the last heap - unchanged and return. (Bug#12774) - -2012-11-09 Stefan Monnier - - * lisp.h (AUTOLOADP): New macro. - * eval.c (Fautoload): Don't attach to loadhist, call Fdefalias instead. - * data.c (Ffset): Remove special ad-advice-info handling. - (Fdefalias): Handle autoload definitions and new Qdefalias_fset_function. - (Fsubr_arity): CSE. - (Finteractive_form): Simplify. - (Fquo): Don't insist on having at least 2 arguments. - (Qdefalias_fset_function): New var. - -2012-11-09 Jan Djärv - - * image.c (xpm_make_color_table_h): Change to hashtest_equal. - - * nsfont.m (Qcondensed, Qexpanded): New variables. - (ns_descriptor_to_entity): Restore Qcondensed, Qexpanded setting. - (syms_of_nsfont): Defsym Qcondensed, Qexpanded. - -2012-11-09 Dmitry Antipov - - Fix recently introduced crash on MS-Windows (Bug#12839). - * w32term.h (struct scroll_bar): Use convenient header. - (SCROLL_BAR_VEC_SIZE): Remove. - * w32term.c (x_scroll_bar_create): Use VECSIZE. - -2012-11-09 Dmitry Antipov - - Tweak last vectorlike_header change. - * alloc.c (struct Lisp_Vectorlike_Free): Special type to represent - vectorlike object on the free list. This is introduced to avoid - some (but not all) pointer casting and aliasing problems, see - http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00105.html. - * .gdbinit (pvectype, pvecsize): New commands to examine vectorlike - objects. - (xvectype, xvecsize): Use them to examine Lisp_Object values. - -2012-11-09 Jan Djärv - - * nsfont.m (ns_descriptor_to_entity): Qcondensed and Qexpanded has - been removed, so remove them here also. - -2012-11-09 Stefan Monnier - - * doc.c (Fdocumentation): Handle new property - dynamic-docstring-function to replace the old ad-advice-info. - -2012-11-09 Paul Eggert - - * fns.c (Qeql, hashtest_eq): Now static. - -2012-11-08 Stefan Monnier - - * lisp.h (XHASH): Redefine to be imperfect and fit in a Lisp int. - * fns.c (hashfn_eq, hashfn_eql, sxhash): - * profiler.c (hashfn_profiler): Don't use XUINT on non-integers. - * buffer.c (compare_overlays): Use XLI rather than XHASH. - -2012-11-08 Paul Eggert - - Use same hash function for hashfn_profiler as for hash_string etc. - * fns.c (SXHASH_COMBINE): Remove. All uses replaced by sxhash_combine. - * lisp.h (sxhash_combine): New inline function, with the contents - of the old SXHASH_COMBINE. - * profiler.c (hashfn_profiler): Use it, instead of having a - special hash function containing a comparison that always yields 1. - -2012-11-08 Stefan Monnier - - * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic) - (Qultra_condensed, Qextra_condensed, Qcondensed, Qsemi_condensed) - (Qsemi_expanded, Qextra_expanded, Qexpanded, Qultra_expanded): - Remove unused vars. - -2012-11-08 Jan Djärv - - * image.c (xpm_make_color_table_h): Fix compiler error because - make_hash_table changed. - -2012-11-08 Thomas Kappler (tiny change) - - * nsfont.m (ns_findfonts): Handle empty matchingDescs (Bug#11541). - -2012-11-08 Stefan Monnier - - Use ad-hoc comparison function for the profiler's hash-tables. - * profiler.c (Qprofiler_backtrace_equal, hashtest_profiler): New vars. - (make_log): Use them. - (handle_profiler_signal): Don't inhibit quit any longer since we don't - call Fequal any more. - (Ffunction_equal): New function. - (cmpfn_profiler, hashfn_profiler): New functions. - (syms_of_profiler): Initialize them. - * lisp.h (struct hash_table_test): New struct. - (struct Lisp_Hash_Table): Use it. - * alloc.c (mark_object): Mark hash_table_test fields of hash tables. - * fns.c (make_hash_table): Take a struct to describe the test. - (cmpfn_eql, cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql) - (hashfn_equal, hashfn_user_defined): Adjust to new calling convention. - (hash_lookup, hash_remove_from_table): Move assertion checking of - hashfn result here. Check hash-equality before calling cmpfn. - (Fmake_hash_table): Adjust call to make_hash_table. - (hashtest_eq, hashtest_eql, hashtest_equal): New structs. - (syms_of_fns): Initialize them. - * emacs.c (main): Move syms_of_fns earlier. - * xterm.c (syms_of_xterm): - * category.c (hash_get_category_set): Adjust call to make_hash_table. - * print.c (print_object): Adjust to new hash-table struct. - * composite.c (composition_gstring_put_cache): Adjust to new hashfn. - -2012-11-08 Eli Zaretskii - - * w32fns.c (modifier_set): Fix handling of Scroll Lock when the - value of w32-scroll-lock-modifier is neither nil nor one of the - known key modifiers. (Bug#12806) - -2012-11-08 Dmitry Antipov - - Shrink struct vectorlike_header to the only size field. - * lisp.h (enum pvec_type): Avoid explicit enum member values. - Adjust comment. - (enum More_Lisp_Bits): Change PSEUDOVECTOR_SIZE_BITS and - PVEC_TYPE_MASK to arrange new bitfield in the vector header. - (PSEUDOVECTOR_REST_BITS, PSEUDOVECTOR_REST_MASK): New members. - (PSEUDOVECTOR_AREA_BITS): New member used to extract subtype - information from the vector header. Adjust comment. - (XSETPVECTYPE, XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR) - (PSEUDOVECTOR_TYPEP, DEFUN): Adjust to match new vector header - layout. - (XSETSUBR, SUBRP): Adjust to match new Lisp_Subr layout. - (struct vectorlike_header): Remove next member. Adjust comment. - (struct Lisp_Subr): Add convenient header. Adjust comment. - (allocate_pseudovector): Adjust prototype. - * alloc.c (mark_glyph_matrix, mark_face_cache, allocate_string) - (sweep_string, lisp_malloc): Remove useless prototypes. - (enum mem_type): Adjust comment. - (NEXT_IN_FREE_LIST): New macro. - (SETUP_ON_FREE_LIST): Adjust XSETPVECTYPESIZE usage. - (Fmake_bool_vector): Likewise. - (struct large_vector): New type to represent allocation unit for - the vectors with the memory footprint more than VBLOOCK_BYTES_MAX. - (large_vectors): Change type to struct large_vector. - (allocate_vector_from_block): Simplify. - (PSEUDOVECTOR_NBYTES): Replace with... - (vector_nbytes): ...new function. Adjust users. - (sweep_vectors): Adjust processing of large vectors. - (allocate_vectorlike): Likewise. - (allocate_pseudovector): Change type of 3rd arg to enum pvec_type. - Add easserts. Adjust XSETPVECTYPESIZE usage. - (allocate_buffer): Use BUFFER_PVEC_INIT. - (live_vector_p): Adjust to match large vector. - * buffer.c (init_buffer_once): Use BUFFER_PVEC_INIT. - * buffer.h (struct buffer): Add next member. - (BUFFER_LISP_SIZE, BUFFER_REST_SIZE, BUFFER_PVEC_INIT): - New macros. - (FOR_EACH_BUFFER): Adjust to match struct buffer change. - * fns.c (internal_equal): Adjust to match enum pvec_type change. - (copy_hash_table): Adjust to match vector header change. - * lread.c (defsubr): Use XSETPVECTYPE. - * .gdbinit (xpr, xbacktrace): Adjust to match vector header change. - (xvectype): Likewise. Print PVEC_NORMAL_VECTOR for regular vectors. - (xvecsize): New command. - -2012-11-08 Dmitry Antipov - - * keyboard.c (event_to_kboard): Do not dereference - frame_or_window field of SELECTION_REQUEST_EVENT - and SELECTION_CLEAR_EVENT events (Bug#12814). - * xterm.h (struct selection_input_event): Adjust comment. - -2012-11-07 Eli Zaretskii - - * w32fns.c (modifier_set): Don't report modifiers from toggle key, - such as Scroll Lock, if the respective keys are treated as - function keys, not as modifiers. This avoids destroying non-ASCII - keyboard input when Scroll Lock is toggled ON. (Bug#12806) - -2012-11-07 Dmitry Antipov - - * xfns.c (Fx_wm_set_size_hint): Use check_x_frame. Adjust docstring. - -2012-11-06 Paul Eggert - - Restore some duplicate definitions (Bug#12814). - This undoes part of the 2012-11-03 changes. Some people build - with plain -g rather than with -g3, and they need the duplicate - definitions for .gdbinit to work; see . - * lisp.h (GCTYPEBITS, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): - Define as macros, as well as as enums or as constants. - -2012-11-06 Jan Djärv - - * nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask - to keypad keys (Bug#12816). - -2012-11-06 Paul Eggert - - Minor adjustments of recently-changed frame functions. - * buffer.c (Fbuffer_list): Omit CHECK_FRAME, since arg is already - known to be a frame (we're in the FRAMEP branch). - * lisp.h (Qframep): Remove decl. frame.h declares this. - * window.c (quad): Args are of type EMACS_INT, not ptrdiff_t, - since they're meant for Lisp fixnum values. - -2012-11-06 Dmitry Antipov - - * window.c (Fwindow_combination_limit): Revert to the only - required argument and adjust docstring as suggested in - http://lists.gnu.org/archive/html/emacs-diffs/2012-11/msg01082.html - by Martin Rudalics . - -2012-11-06 Dmitry Antipov - - Widely used frame validity and checking functions. - * frame.h (decode_live_frame, decode_any_frame): Add prototypes. - * frame.c (decode_live_frame, decode_any_frame): New functions. - (delete_frame, Fredirect_frame_focus, Fframe_parameters) - (Fframe_parameter, Fframe_char_height, Fframe_char_width) - (Fframe_pixel_height, Fframe_pixel_width, Ftool_bar_pixel_width) - (Fframe_pointer_visible_p): Use decode_any_frame. - (Fmake_frame_visible, Fmake_frame_invisible, Ficonify_frame) - (Fraise_frame, Flower_frame, Fmodify_frame_parameters) - (Fset_frame_height, Fset_frame_width): Use decode_live_frame. - (Fframe_focus): Likewise. Allow zero number of arguments. - Adjust docstring. - (frame_buffer_list, frame_buffer_predicate): Remove. - * lisp.h (frame_buffer_predicate): Remove prototype. - * buffer.c (Fother_buffer): Use decode_any_frame. - * xdisp.c (Ftool_bar_lines_needed): Likewise. - * xfaces.c (Fcolor_gray_p, Fcolor_supported_p): Likewise. - * font.c (Ffont_face_attributes, Ffont_family_list, Fopen_font) - (Fclose_font, Ffont_info): Use decode_live_frame. - * fontset.c (check_fontset_name): Likewise. - * terminal.c (Fframe_terminal): Likewise. - * w32fns.c (check_x_frame): Likewise. - * window.c (Fminibuffer_window, Fwindow_at) - (Fcurrent_window_configuration): Likewise. - (Frun_window_configuration_change_hook, Fwindow_resize_apply): - Likewise. Allow zero number of arguments. Adjust docstring. - * dispnew.c (Fredraw_frame): Likewise. - * xfaces.c (frame_or_selected_frame): Remove. - (Fx_list_fonts, Finternal_get_lisp_face_attribute, Fface_font) - (Finternal_lisp_face_equal_p, Finternal_lisp_face_empty_p) - (Fframe_face_alist): Use decode_live_frame. - * xfns.c (check_x_frame): Likewise. - -2012-11-06 Dmitry Antipov - - * window.c (quad): New function. - (Fwindow_edges, Fwindow_pixel_edges, Fwindow_inside_edges) - (Fwindow_absolute_pixel_edges, Fwindow_inside_absolute_pixel_edges) - (Fwindow_inside_pixel_edges, Fpos_visible_in_window_p) - (Fwindow_line_height): Use it. - (Fwindow_fringes): Use list3. - (Fwindow_scroll_bars): Use list4. - (Fwindow_frame, Fwindow_top_child, Fwindow_left_child) - (Fwindow_combination_limit): Allow zero number of arguments. - -2012-11-05 Eli Zaretskii - - * makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(NT_INC)/unistd.h. - - * w32fns.c: Include unistd.h, to avoid compiler warnings on Cygwin. - (emacs_abort) [CYGWIN]: Don't call _open_osfhandle; instead, use - file descriptor 2 for standard error. (Bug#12805) - -2012-11-05 Chong Yidong - - * process.c (wait_reading_process_output): Revert previous change. - -2012-11-05 Paul Eggert - - Assume at least POSIX.1-1988 for getpgrp, setpgid, setsid (Bug#12800). - This removes code that has been obsolete since around 1990. - * callproc.c (Fcall_process): - * emacs.c (main): - * process.c (create_process): - * term.c (dissociate_if_controlling_tty): - Assume setsid exists. - * callproc.c (child_setup): Assume setpgid exists and behaves as - per POSIX.1-1988 or later. - * conf_post.h (setpgid) [!HAVE_SETPGID]: Remove. - * emacs.c (shut_down_emacs): - * sysdep.c (sys_suspend, init_foreground_group): - Assume getpgrp behaves as per POSIX.1-1998 or later. - * msdos.c (setpgrp): Remove. - (tcgetpgrp, setpgid, setsid): New functions. - * systty.h (EMACS_GETPGRP): Remove. All callers now use getpgrp. - * term.c (no_controlling_tty): Remove; unused. - * w32proc.c (setpgrp): Remove. - (setsid, tcgetpgrp): New functions. - - Simplify by assuming __fpending. - * dispnew.c: Include , not . - (update_frame_1): Use __fpending, not PENDING_OUTPUT_COUNT. - Do not assume that __fpending's result fits in int. - -2012-11-04 Paul Eggert - - Remove EMACS_OUTQSIZE+sleep hack. - * dispnew.c (update_frame_1): Remove hack for terminals slower - than 2400 bps, which throttled Emacs by having it sleep. - This code hasn't worked since at least 2007, when the multi-tty stuff - was added, and anyway those old terminals are long dead. - * systty.h (EMACS_OUTQSIZE): Remove; unused. The macro isn't used even - without the dispnew.c change, as dispnew.c doesn't include systty.h. - - Fix data-loss with --version (Bug#9574). - * emacs.c (close_output_streams): Use strerror, not emacs_strerror, - as we can't assume that emacs_strerror is initialized, and strerror - is good enough here. - (main): Invoke atexit earlier, to catch earlier instances of - sending data to stdout and exiting, e.g., "emacs --version >/dev/full". - -2012-11-04 Michael Marchionna - - * nsterm.m: Add NSClearLineFunctionKey and keypad keys (Bug#8680). - (keyDown): Remap keypad keys to X11 virtual key codes. - -2012-11-03 Paul Eggert - - Fix data-loss with --batch (Bug#9574). - * emacs.c: Include . - (close_output_streams): New function. - (main): Pass it to atexit, so that Emacs closes stdout and stderr - and handles errors appropriately. - (Fkill_emacs): Don't worry about flushing, as close_output_stream - does that now. - - Fix a race condition that causes Emacs to mess up glib (Bug#8855). - The symptom is a diagnostic "GLib-WARNING **: In call to - g_spawn_sync(), exit status of a child process was requested but - SIGCHLD action was set to SIG_IGN and ECHILD was received by - waitpid(), so exit status can't be returned." The diagnostic - is partly wrong, as the SIGCHLD action is not set to SIG_IGN. - The real bug is a race condition between Emacs and glib: Emacs - does a waitpid (-1, ...) and reaps glib's subprocess by mistake, - so that glib can't find it. Work around the bug by invoking - waitpid only on subprocesses that Emacs itself creates. - * process.c (create_process, record_child_status_change): - Don't use special value -1 in pid field, as the caller now must - know the pid rather than having the callee infer it. - The inference was sometimes incorrect anyway, due to another race. - (create_process): Set new 'alive' member if child is created. - (process_status_retrieved): New function. - (record_child_status_change): Use it. - Accept negative 1st argument, which means to wait for the - processes that Emacs already knows about. Move special-case code - for DOS_NT (which lacks WNOHANG) here, from caller. Keep track of - processes that have already been waited for, by testing and - clearing new 'alive' member. - (CAN_HANDLE_MULTIPLE_CHILDREN): Remove, as record_child_status_change - now does this internally. - (handle_child_signal): Let record_child_status_change do all - the work, since we do not want to reap all exited child processes, - only the child processes that Emacs itself created. - * process.h (Lisp_Process): New boolean member 'alive'. - - Omit duplicate definitions no longer needed with gcc -g3. - * lisp.h (GCTYPEBITS, GCALIGNMENT, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG) - (VALMASK, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM): - Define only as macros. There's no longer any need to also define - these symbols as enums or as constants, since we now assume - gcc -g3 when debugging. - -2012-11-03 Eli Zaretskii - - * lisp.mk: Adjust comments to the fact that term/internal is now - loaded from loadup.el. - - * msdos.c (msdos_abort): Rename from emacs_abort, and make static. - (msdos_fatal_signal): New function. - (XMenuActivate): Adjust the call to kbd_buffer_events_waiting to - its argument list. - - * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Define to "inline" - for GCC versions before 4. - (emacs_raise): Define to call msdos_fatal_signal. - - * xdisp.c (init_from_display_pos): Fix initialization of the bidi - iterator when starting in the middle of a display or overlay - string. (Bug#12745) - -2012-11-03 Chong Yidong - - * process.c (wait_reading_process_output): Clean up the last - change. - -2012-11-03 Jim Paris (tiny change) - - * process.c (wait_reading_process_output): Avoid a race condition - with SIGIO delivery (Bug#11536). - -2012-11-03 Chong Yidong - - * buffer.c (cursor_type): Untabify docstring. - -2012-11-03 Dmitry Antipov - - * frame.h (struct frame): Drop can_have_scroll_bars member - which is meaningless for a long time. Adjust comments. - (FRAME_CAN_HAVE_SCROLL_BARS): Remove. - * frame.c, nsfns.m, term.c, w32fns.c, xfns.c: Adjust users. - -2012-11-03 Dmitry Antipov - - * window.c (decode_next_window_args): Update window arg after - calling decode_live_window and so fix crash reported at - http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00035.html - by Juanma Barranquero . - (Fwindow_body_width, Fwindow_body_height): Simplify a bit. - * font.c (Ffont_at): Likewise. - -2012-11-01 Jan Djärv - - * widget.c (resize_cb): New function. - (EmacsFrameRealize): Add resize_cb as event handler (Bug#12733). - (EmacsFrameResize): Check if all is up to date before changing frame - size. - -2012-11-02 Eli Zaretskii - - Implement backtrace output for fatal errors on MS-Windows. - * w32fns.c (CaptureStackBackTrace_proc): New typedef. - (BACKTRACE_LIMIT_MAX): New macro. - (w32_backtrace): New function. - (emacs_abort): Use w32_backtrace when the user chooses not to - attach a debugger. Update the text of the abort dialog. - -2012-11-02 Dmitry Antipov - - Window-related stuff cleanup here and there. - * dispnew.c (Finternal_show_cursor, Finternal_show_cursor_p): - Use decode_any_window. - * fringe.c (Ffringe_bitmaps_at_pos): Likewise. - * xdisp.c (Fformat_mode_line): Likewise. - * font.c (Ffont_at): Use decode_live_window. - * indent.c (Fcompute_motion, Fvertical_motion): Likewise. - * window.c (decode_next_window_args): Likewise. - (decode_any_window): Remove static. - * window.h (decode_any_window): Add prototype. - * lisp.h (CHECK_VALID_WINDOW, CHECK_LIVE_WINDOW): Move from here... - * window.h: ...to here, redefine via WINDOW_VALID_P and WINDOW_LIVE_P, - respectively. - -2012-11-02 Dmitry Antipov - - Remove pad from struct input_event. - * termhooks.h (struct input_event): Remove padding field. - Adjust comment. - * keyboard.c (event_to_kboard): Simplify because frame_or_window - member is never cons for a long time. Adjust comment. - (mark_kboards): Adjust because SELECTION_REQUEST_EVENT and - SELECTION_CLEAR_EVENT has no Lisp_Objects to mark. Add comment. - * xterm.c (handle_one_xevent): Do not initialize frame_or_window - field of SELECTION_REQUEST_EVENT and SELECTION_CLEAR_EVENT. - -2012-11-01 Eli Zaretskii - - * w32proc.c (getpgrp, setpgid): New functions. (Bug#12776) - -2012-10-31 Paul Eggert - - Fix crash when using Emacs as commit editor for git (Bug#12697). - * callproc.c (setpgrp): Remove macro, as we now use setpgid - and it is configured in conf_post.h. - (Fcall_process): Don't invoke both setsid and setpgid; the former - is enough, if it exists. - * callproc.c (Fcall_process, child_setup): - * process.c (create_process): Use setpgid. - * conf_post.h (setpgid) [!HAVE_SETPGID]: New macro, which substitutes - for the real thing. - * dispnew.c (init_display): Initialize the foreground group - if we are running a tty display. - * emacs.c (main): Do not worry about setpgrp; init_display does it now. - * lisp.h (init_foreground_group): New decl. - * sysdep.c (inherited_pgroup): New static var. - (init_foreground_group, tcsetpgrp_without_stopping) - (narrow_foreground_group, widen_foreground_group): New functions. - (init_sys_modes): Narrow foreground group. - (reset_sys_modes): Widen foreground group. - -2012-10-31 Michael Albinus - - * dbusbind.c: Fix cut'n'waste error. Use HAVE_DBUS_VALIDATE_INTERFACE. - -2012-10-31 Martin Rudalics - - * minibuf.c (read_minibuf): Restore current buffer since - choose_minibuf_frame calling Fset_frame_selected_window may - change it (Bug#12766). - -2012-10-30 Jan Djärv - - * frame.c (Fframe_pixel_height): Fix documentation (Bug#12733). - -2012-10-30 Kenichi Handa - - * font.c (Ffont_at): If WINDOW is specified and it is not - displaying the current buffer, signal an error. - -2012-10-29 Daniel Colascione - - * cygw32.h, cygw32.c (Qutf_16le, from_unicode, to_unicode): - In preparation for fixing bug#12739, move these functions from - here... - - * coding.h, coding.c: ... to here, and compile them only when - WINDOWSNT or CYGWIN. Moving these functions out of cygw32 proper - lets us write cygw32-agnostic code for the HAVE_NTGUI case. - -2012-10-28 Eli Zaretskii - - * w32proc.c (TIMER_TICKS_PER_SEC): New macro. - (timer_loop, getitimer, setitimer): Use it instead of - CLOCKS_PER_SEC, which is no longer pertinent, since we don't use - 'clock'. - (w32_get_timer_time): Use 10*TIMER_TICKS_PER_SEC instead of a - literal 10000. - -2012-10-28 Jan Djärv - - * nsterm.m (NO_APPDEFINED_DATA): New define. - (last_appdefined_event_data): New variable - (last_appdefined_event): Remove. - (ns_select): Initialize t from last_appdefined_event_data instead - of [last_appdefined_event data1]. - (sendEvent:): Save [theEvent data1] to last_appdefined_event_data, - remove last_appdefined_event (Bug#12698). - -2012-10-28 Stefan Monnier - - * frame.c (x_set_font): Catch internal error. - -2012-10-27 Eli Zaretskii - - Avoid overflow in w32 implementation of interval timers. - When possible, for ITIMER_PROF count only times the main thread - actually executes. - * w32proc.c : 'expire' and 'reload' are now - 'volatile ULONGLONG' types. All the other data which was - previously clock_t is now ULONGLONG. 'terminate' is 'volatile int'. - (GetThreadTimes_Proc): New typedef. - (w32_get_timer_time): New function, returns a suitable time value - for the timer. - (timer_loop): Enter critical section when accessing ULONGLONG - values of the itimer_data struct, as these accesses are no longer - atomic. Call 'w32_get_timer_time' instead of 'clock'. - Remove unused variable. - (init_timers): Initialize s_pfn_Get_Thread_Times. - (start_timer_thread): Don't assign itimer->caller_thread here. - (getitimer): Assign itimer->caller_thread here. - (setitimer): Always call getitimer to get the value of ticks_now. - (sys_spawnve): Avoid compiler warning about format mismatch. - -2012-10-26 Eli Zaretskii - - * w32fns.c (w32_wnd_proc) : Don't enable tracking of - mouse movement events if the menu bar is active. This avoids - producing a busy "hour-glass" cursor by Windows if the mouse - pointer is positioned over a tooltip shown for some menu item. - -2012-10-25 Paul Eggert - - Don't assume process IDs fit in int. - * emacs.c (shut_down_emacs) [!DOS_NT]: - * sysdep.c (sys_suspend) [SIGTSTP && !MSDOS]: - * term.c (dissociate_if_controlling_tty) [!DOS_NT]: - Use pid_t, not int, to store process IDs, as 'int' - is not wide enough on a few platforms (e.g., AIX and IRIX). - -2012-10-23 Kenichi Handa - - The following change is to make face-font-rescale-alist work - correctly for non-ASCII fonts. - - * font.c (font_open_entity): Don't handle Vface_font_rescale_alist. - (font_open_for_lface): Handle Vface_font_rescale_alist. - -2012-10-23 Chong Yidong - - * xfaces.c (Vfont_list_limit): Move unused variable to faces.el. - -2012-10-21 Jan Djärv - - * nsfont.m (nsfont_open, ns_glyph_metrics): Force integer advancement - for screen font. - (nsfont_draw): Turn off LCD-smoothing (Bug#11484). - - * xterm.c (x_focus_changed): Check if daemonp when sending focus in - event (Bug#12681). - -2012-10-21 Glenn Morris - - * lisp.mk (lisp): Add cp51932.el and eucjp-ms.el. - -2012-10-20 Paul Eggert - - Port to OpenBSD 5.1. - * frame.c (Fmouse_position, Fmouse_pixel_position): - * xdisp.c (produce_stretch_glyph): - Declare local vars only when they're needed. - This is clearer and avoids a warning on OpenBSD about unused vars. - * frame.h (FRAME_WINDOW_P): Always evaluate its argument. - This is safer, and avoids OpenBSD warnings about unused vars. - * keyboard.c (record_menu_key): Remove unnecessary decl. - (poll_timer): Define only if POLL_FOR_INPUT is defined. - * unexelf.c (ELFSIZE) [!ElfW]: Do not define if already defined, - as our definition clashes with OpenBSD's. - * xfaces.c (load_face_colors, check_lface_attrs) - (get_lface_attributes_no_remap, get_lface_attributes) - (lface_fully_specified_p, x_supports_face_attributes_p) - (tty_supports_face_attributes_p, face_fontset, realize_face) - (realize_x_face, realize_tty_face): - Declare parameters to be Lisp_Object[LFACE_VECTOR_SIZE], not - merely Lisp_Object *. This is more informative and avoids - a warning on OpenBSD about accessing beyond an object's size. - -2012-10-20 Chong Yidong - - * lread.c (Fload): Doc fix (Bug#12592). - -2012-10-19 Kazuhiro Ito (tiny change) - - * font.c (Ffont_at): Fix previous change. - -2012-10-19 Eli Zaretskii - - * puresize.h (BASE_PURESIZE): Bump the base value to 1700000. - See http://lists.gnu.org/archive/html/emacs-devel/2012-10/msg00593.html - for the reasons. - - * alloc.c (NSTATICS): Decrease to 0x800. - -2012-10-19 Stefan Monnier - - * fns.c (Fnreverse): Include the problem element when signaling an - error (bug#12677). - -2012-10-18 Jan Djärv - - * nsterm.m (ns_select): Check writefds before call to - FD_ISSET (Bug#12668). - -2012-10-18 Daniel Colascione - - * alloc.c (NSTATICS): Increase from 0x650 to 0x1000 - (staticpro): If we run out of staticpro slots, die with an - informative error instead of just calling emacs_abort. - -2012-10-18 Martin Rudalics - - Fix two flaws reported by Dmitry Antipov. - * window.c (Ftemp_output_buffer_show): Remove. - (Fwindow_vscroll, Fset_window_vscroll): Use decode_live_window. - (syms_of_window): Remove defsubr for Stemp_output_buffer_show. - -2012-10-17 Eli Zaretskii - - * makefile.w32-in ($(BLD)/w32.$(O)): - ($(BLD)/vm-limit.$(O)): - ($(BLD)/term.$(O)): - ($(BLD)/unexw32.$(O)): - ($(BLD)/fileio.$(O)): - ($(BLD)/dispnew.$(O)): Update dependencies. - - * w32term.h (w32_initialize_display_info, initialize_w32_display): - Add prototypes. - - * w32proc.c: Include ctype.h. - - * w32.h (init_environment, check_windows_init_file) - (syms_of_ntproc, syms_of_ntterm, dostounix_filename) - (unixtodos_filename, init_winsock, srandom, random, sys_pipe) - (set_process_dir, sys_spawnve, register_child, sys_sleep, getwd) - (sys_link): Add prototypes. - - * w32.c: Include w32select.h. - (sys_access, e_malloc, sys_select): Add prototypes. - (emacs_gnutls_pull): 'timeout' is now EMACS_TIME, not struct timeval. - - * vm-limit.c [WINDOWSNT]: Include w32heap.h. - - * unexw32.c: Include lisp.h and w32.h. - - * term.c [WINDOWSNT]: Include w32term.h. - - * process.c [WINDOWSNT]: Add prototype of sys_select. - - * fileio.c [WINDOWSNT]: Include w32.h. - - * dispnew.c [WINDOWSNT]: Include w32.h. - - * cygw32.c (Fcygwin_convert_path_to_windows) - (Fcygwin_convert_path_from_windows): Use EQ to compare 2 - Lisp_Object values. (Bug#12661) - - * w32fns.c (w32_msg_pump): Use XIL instead of casting an integer - to Lisp_Object. (Bug#12661) - -2012-10-17 Kenichi Handa - - * xdisp.c (reseat_1): Make the information stored in it->cmp_it - invalidate. - -2012-10-17 Dmitry Antipov - - * buffer.c (Fkill_buffer): When unchaining the marker, - reset its buffer pointer to NULL (Bug#12652). - -2012-10-17 Dmitry Antipov - - Do not verify indirection counters of killed buffers (Bug#12579). - * buffer.h (BUFFER_CHECK_INDIRECTION): New macro. - * buffer.c (compact_buffer, set_buffer_internal_1): Use it. - -2012-10-16 Dmitry Antipov - - * alloc.c (Fmake_byte_code): Fix typo in comment. - * print.c (print_interval): Define as static to match prototype. - * indent.c (disptab_matches_widthtab, recompute_width_table): - Convert to eassert. - -2012-10-16 Dmitry Antipov - - * editfns.c (get_system_name): Remove. - * lisp.h (get_system_name): Remove prototype. - * xrdb.c (getenv, getpwuid, getpwnam): Remove prototypes. - (get_environ_db): Use Vsystem_name. Avoid call to strlen. - -2012-10-15 Daniel Colascione - - * dbusbind.c: Add comment explaining reason for previous change. - -2012-10-15 Martin Rudalics - - * window.c (Fwindow_end): Rewrite check whether cached position - can be used (Bug#12600). - (resize_frame_windows, grow_mini_window, shrink_mini_window): - Set windows_or_buffers_changed. - -2012-10-15 Daniel Colascione - - * dbusbind.c: Fix cygw32 build break when compiling with dbus - enabled by undefining the symbol "interface", which the platform - headers define to something incompatible. - -2012-10-14 Daniel Colascione - - * image.c (init_tiff_functions, init_imagemagick_functions) - (init_svg_functions): Fix cygw32 build break by using these - functions only when WINDOWSNT _and_ HAVE_NTGUI. - -2012-10-14 Jan Djärv - - * nsterm.m (ns_select): Count fd:s in writefs also (Bug#12422). - -2012-10-13 Jan Djärv - - * gtkutil.c (xg_set_widget_bg): Divide by 65535 (Bug#12612). - -2012-10-13 HANATAKA, Shinya (tiny change) - - * coding.c (detect_coding): Set coding->id before calling - this->detector. - -2012-10-13 Andreas Schwab - - * fileio.c: Formatting fixes. - -2012-10-13 Paul Eggert - - Fix some stat-related races. - * fileio.c (Fwrite_region): Avoid race condition if a file is - removed or renamed by some other process immediately after Emacs - writes it but before Emacs stats it. Do not assume that stat (or - fstat) succeeds. - * image.c (slurp_file): Resolve the file name with fopen + fstat - rather than stat + fopen. - (pbm_read_file) [0]: Remove unused code with stat race. - * process.c (allocate_pty) [HAVE_PTYS && !PTY_ITERATION && !PTY_OPEN]: - Remove ineffective code with stat race. - -2012-10-12 Stefan Monnier - - * doc.c (get_doc_string): Don't signal an error if the file is missing. - -2012-10-12 Jan Djärv - - * nsterm.m (hold_event_q): New static variable. - (EV_TRAILER, sendScrollEventAtLoc:fromEvent:): Call hold_event if - ! q_event_ptr. - (hold_event): New function. - (ns_read_socket): If hold_event_q have events, store them and - return (Bug#12384). - (setPosition:portion:whole:): Send SIGIO to ourselves if apploopnr - is zero (Bug#12384). - -2012-10-12 Juanma Barranquero - - * makefile.w32-in ($(BLD)/w32select.$(O)): Update dependencies. - -2012-10-12 Eli Zaretskii - - * makefile.w32-in ($(BLD)/fileio.$(O)): Add sys/file.h. - - * fileio.c (check_existing): New function. - (make_temp_name, Ffile_exists_p, Ffile_writable_p): Call it - instead of calling 'stat', when what's needed is to check whether - a file exists. This avoids expensive system calls on MS-Windows. - (Bug#12587) - - * w32.c (init_environment): Call 'check_existing' instead of 'stat'. - - * lread.c (openp) [WINDOWSNT]: Call 'access' instead of 'stat' to - determine whether a file exists and is not a directory. - - * lisp.h (check_existing): Add prototype. - -2012-10-12 Jan Djärv - - * nsfont.m (nsfont_open): Remove font cache, it is not GC correct. - -2012-10-12 Glenn Morris - - * buffer.c (Fset_buffer): Doc fix. (Bug#12624) - -2012-10-11 Stefan Monnier - - * buffer.c (Fkill_buffer): Null out the overlay list(s) as well. - - * eval.c (Fautoload): Remember previous autoload status in load-history. - -2012-10-11 Paul Eggert - - lread.c, macros.c, marker.c, menu.c, minibuf.c: Use bool for booleans. - * lread.c (load_each_byte, new_backquote_flag, readchar) - (read_filtered_event, lisp_file_lexically_bound_p) - (safe_to_load_version, Fload, complete_filename_p, openp) - (build_load_history, readevalloop, read_escape, read1) - (string_to_number, read_vector, read_list): - * macros.c (Fstart_kbd_macro): - * marker.c (CONSIDER): - * menu.c (parse_single_submenu, digest_single_submenu) - (find_and_return_menu_selection, Fx_popup_menu): - * minibuf.c (read_minibuf_noninteractive, read_minibuf) - (Ftry_completion): - * nsmenu.m (ns_update_menubar, runMenuAt:forFrame:keymaps:): - (ns_menu_show): - * xmenu.c (set_frame_menubar, create_and_show_popup_menu) - (xmenu_show, xdialog_show): - Use bool for booleans. - * lread.c (safe_to_load_version): Rename from safe_to_load_p, - as it's not a predicate. All uses changed. Omit unnecessary - buffer termination. - -2012-10-11 Dmitry Antipov - - * editfns.c (save_excursion_save): Use nil if mark points to nowhere. - (save_excursion_restore): Do not restore mark if it was not saved. - -2012-10-11 Paul Eggert - - * marker.c (cached_modiff): EMACS_INT, not int. - - * w32select.c (waiting_for_input): Declare by including "keyboard.h" - instead of having a wrong decl. - * nsmenu.m (waiting_for_input): Remove wrong decl. - -2012-10-10 Paul Eggert - - keyboard.c, keymap.c: Use bool for booleans. - * dispnew.c (sit_for): Distinguish between 3-way display_option - and boolean do_display. - * keyboard.c (single_kboard, this_command_key_count_reset) - (waiting_for_input, echoing, immediate_quit, input_pending) - (interrupt_input, interrupts_deferred, pop_kboard) - (temporarily_switch_to_single_kboard, ignore_mouse_drag_p) - (command_loop_1, adjust_point_for_property) - (safe_run_hooks_error, input_polling_used, read_char): - (help_char_p, readable_events, kbd_buffer_events_waiting) - (kbd_buffer_get_event, timer_check_2, make_lispy_event) - (lucid_event_type_list_p, get_input_pending): - (gobble_input, menu_separator_name_p, menu_bar_item) - (parse_menu_item, parse_tool_bar_item, read_char_x_menu_prompt) - (read_char_minibuf_menu_prompt, access_keymap_keyremap) - (keyremap_step, test_undefined, read_key_sequence) - (detect_input_pending, detect_input_pending_ignore_squeezables) - (detect_input_pending_run_timers, requeued_events_pending_p) - (quit_throw_to_read_char, Fset_input_interrupt_mode): - * keymap.c (get_keymap, keymap_parent, keymap_memberp) - (access_keymap_1, access_keymap, map_keymap, get_keyelt) - (Fdefine_key, Flookup_key, struct accessible_keymaps_data) - (accessible_keymaps_1, Fkey_description, push_key_description): - (shadow_lookup, struct where_is_internal_data) - (where_is_internal, Fwhere_is_internal, where_is_internal_1) - (Fdescribe_buffer_bindings, describe_map_tree, struct describe_map_elt) - (describe_map, describe_vector): - * menu.c (single_menu_item): - * nsmenu.m (ns_update_menubar): - * process.c (wait_reading_process_output): - * search.c (scan_buffer, scan_newline): - Use bool for boolean. - * keyboard.c (timers_run, swallow_events) - (detect_input_pending_run_timers): - * process.c (wait_reading_process_output): - Use unsigned for counter where wraparound-on-overflow is desired, - since unsigned is guaranteed to have that behavior and signed is not. - (read_char): Use ptrdiff_t for string length. - (get_input_pending): Remove first argument, since it was always - the same pointer-to-int (now pointer-to-boolean) &input_pending, - and behave as if it had that value. Return new value of - input_pending. All callers changed. - * keyboard.h (struct kboard): Use unsigned : 1 for boolean member - immediate_echo. Use ptrdiff_t for echo_after_prompt, since it's - a string length. - * keymap.c (push_key_description): Omit last arg, which was always 1. - All callers changed. - - * regex.c (immediate_quit) [emacs]: Remove duplicate decl. - -2012-10-10 Juanma Barranquero - - * makefile.w32-in ($(BLD)/dispnew.$(O), $(BLD)/indent.$(O)) - ($(BLD)/term.$(O)): Update dependencies. - -2012-10-10 Dmitry Antipov - - * alloc.c (mark_object): Use meaningful PVEC_NORMAL_VECTOR. - * lisp.h (enum pvec_type): Adjust comments and omit explicit - initializer for PVEC_NORMAL_VECTOR. - -2012-10-10 Paul Eggert - - Clean out old termopts cruft. - * termopts.h (flow_control, meta_key): Remove unused decls. - * dispnew.c, indent.c, nsterm.m, term.c, xsettings.c, xsmfns.c: - Don't include termopts.h. - -2012-10-10 Dmitry Antipov - - * alloc.c (gc_sweep): Use pointer-to-a-pointer loop for buffers. - -2012-10-10 Paul Eggert - - * commands.h (immediate_quit): Remove duplicate decl. - -2012-10-09 Jan Djärv - - * nsfont.m (Vfonts_in_cache): Remove, not needed as font.c handles - caching. - (nsfont_open): Remove setting of Vfonts_in_cache. - (syms_of_nsfont): Remove initialization of Vfonts_in_cache. - -2012-10-09 Eli Zaretskii - - * w32fns.c (w32_last_error): Change the return value to DWORD, to - match what GetLastError returns. Explain why the function is - needed. - - * frame.c (delete_frame): Rename local variable 'tooltip_frame' to - 'is_tooltip_frame', to avoid confusion with its global namesake. - -2012-10-08 Daniel Colascione - - * xdisp.c (start_hourglass): Call w32_note_current_window when - HAVE_NTGUI, not just WINDOWSNT, resolving a problem in the cygw32 - build that caused Emacs to display the hourglass cursor forever. - - * w32fns.c (Fx_display_color_cells): Instead of using NCOLORS, - which is broken under remote desktop, calculate the number of - colors available for a display based on the display's number of - planes and number of bits per pixel per plane. (bug#10397). - -2012-10-08 Jan Djärv - - * nsfont.m (Vfonts_in_cache): New variable. - (nsfont_open): Use unsignedLongLongValue for cache in case wide ints - are used. Add cached fonts to Vfonts_in_cache. - (syms_of_nsfont): Initialize and staticpro Vfonts_in_cache. - -2012-10-08 Juanma Barranquero - - * makefile.w32-in (LOCAL_FLAGS): Don't define HAVE_NTGUI, it's now - in nt/config.nt. - (FONT_H): Define after FRAME_H. - ($(BLD)/emacs.$(O), $(BLD)/process.$(O), $(BLD)/w32heap.$(O)): - Update dependencies. - - * w32term.c: Remove leftover declaration of keyboard_codepage. - -2012-10-08 Eli Zaretskii - - * makefile.w32-in (FONT_H): Add $(FRAME_H). - (W32TERM_H): Add $(ATIMER_H) and $(FRAME_H). - ($(BLD)/emacs.$(O), $(BLD)/w32console.$(O)): Update dependencies. - (GLOBAL_SOURCES): Add cygw32.c. - ($(BLD)/unexw32.$(O)): - ($(BLD)/w32.$(O)): - ($(BLD)/w32console.$(O)): - ($(BLD)/w32fns.$(O)): - ($(BLD)/w32heap.$(O)): - ($(BLD)/w32menu.$(O)): - ($(BLD)/w32proc.$(O)): Add w32common.h. - - * w32fns.c (w32_color_map_lookup, x_to_w32_color): Argument is now - 'const char *'. - (x_to_w32_color): Don't modify the argument, modify a copy instead. - -2012-10-08 Daniel Colascione - - * w32term.h (WM_EMACS_BRINGTOTOP, WM_EMACS_INPUT_READY) - (WM_EMACS_END): Change WM_EMACS_BRINGTOTOP from 22 to 21 to close - accidental message numbering hole. Change other messages to - match. - - * w32select.h (HAVE_W32SELECT): Remove. - - * w32select.c, w32proc.c, w32menu.c, w32console.c, w32.c: Include - w32common.h instead of w32heap.h. - - * w32heap.h (ROUND_UP, ROUND_DOWN, get_page_size) - (get_allocation_unit, get_processor_type, get_w32_major_version) - (get_w32_minor_version, sysinfo_cache, osinfo_cache) - (w32_major_version, w32_minor_version, w32_build_number, OS_9X) - (OS_NT, os_subtype, cache_system_info): Move declarations to - w32common. - - * w32heap.c: Include w32common.h. - (sysinfo_cache, syspage_mask, osinfo_cache, w32_major_version) - (w32_minor_version, w32_build_number, w32_subtype): - Remove duplicate definitions. - - * w32fns.c: Include w32common.h; include w32heap.h only in - WINDOWSNT. - - (Fx_file_dialog): Clarify comment on GetOpenFileName structure. - Use `report_file_error' instead of `error' in order to better - inform users of what went wrong. Increase NTGUI_UNICODE file - dialog box file name length to 32k, the maximum allowed by the NT - kernel. - - * w32common.h: New file. - (ROUND_UP, ROUND_DOWN, get_page_size) - (get_allocation_unit, get_processor_type, get_w32_major_version) - (get_w32_minor_version, sysinfo_cache, osinfo_cache) - (w32_major_version, w32_minor_version, w32_build_number, OS_9X) - (OS_NT, os_subtype, cache_system_info): Move here. - - * unexw32.c, unexcw.c: Include w32common.h. - - * emacs.c (main): Use (defined (WINDOWSNT) || defined - HAVE_NTGUI) instead of removed HAVE_W32SELECT to decide whether - to call syms_of_w32select. - - * cygw32.h: Remove obsolete EXFUN declarations. - - * cygw32.c (Qutf_16_le): Rename to Qutf_16le. - - * Makefile.in (SOME_MACHINE_OBJECTS): Reverse accidental removal - of w32inevt.o from SOME_MACHINE_OBJECTS. - -2012-10-08 Daniel Colascione - - * image.c: Permanent fix for JPEG compilation issue --- limit - jpeglib `boolean' redefinition to Cygwin builds. - -2012-10-08 Eli Zaretskii - - * image.c (CHECK_LIB_AVAILABLE): Remove, no longer used. - - * emacs.c (DAEMON_MUST_EXEC) [HAVE_NTGUI]: Define this only on - Cygwin. - -2012-10-08 Daniel Colascione - - * xfaces.c, xdisp.c, window.c, w32xfns.c, w32term.h, w32term.c, - w32select.h w32select.c, w32proc.c, w32menu.c, w32inevt.c, - w32help.c, w32font.c, w32font.c, w32fns.c, w32console.c, w32.h, - w32.c, unexw32.c, termhooks.h, process.c, menu.c, keyboard.h, - keyboard.c, image.c, frame.h, frame.c, fontset.c, font.h, font.c, - emacs.c, dispextern.h, cygw32.h, cygw32.c, conf_post.h, - Makefile.in: use HAVE_NTGUI for W32 GUI and WINDOWSNT for the - operating system. defined(HAVE_NTGUI) && !defined(WINDOWSNT) is - now a supported configuration. - - * Makefile.in: consolidate image variables into LIBIMAGE; add - W32_OBJ and W32_LIBS. Compile new files. - - * conf_post.h: - (_DebPrint) declare tracing facility for W32 debugging. We need - to unify tracing later. - - (NTGUI_UNICODE) Define when compiling for Cygwin to allow the - unconditional use of W32 Unicode functions. Cygwin runs only on - 100% Unicode operating systems. - - * cygw32.c: New file. Define Cygwin-specific facilities. - (Fcygwin_convert_path_to_windows) - (Fcygwin_convert_path_from_windows): New user functions for - accessing Cygwin path-munging routines. - - * cygw32.h: New file. - (WCSDATA, to_unicode, from_unicode): Define facilities for storing - UTF-16LE strings temporarily inside non-Lisp-visible string - objects. - - (w32_strerror): Just what it says on the tin. - - * emacs.c: Make the NS fork-then-exec code for daemon-launching - also run for Cygwin; both systems have the same problem with using - GUI facilities in a forked child. Also call syms_of_cygw32, - syms_of_w32select in correct places. - - (DAEMON_MUST_EXEC): new macro defined to signal that a platform - needs fork-then-exec for daemon launching. - - * font.h: Include frame.h. - - * image.c: Use the image library cache machinery only when we're - compiling for native WINDOWSNT; Cygwin can use shared libraries - like any other Unixlike system. - - * keyboard.c: Clarify a comment regarding the input loop. - - * menu.c: When NTGUI_UNICODE is defined, use Unicode menu - functions directly instead of trying to detect at runtime that our - host operating system supports them. We make this change for two - reasons: Cygwin lacks support for the multibyte character - conversion functions used by the legacy menu code, and Cygwin - never needs to rely on non-Unicode APIs. - - * unexw32.c (hinst): Declare extern. - - * w32.c: Change header order; - (w32_strerror): Move to w32fns.c because we need it for - non-WINDOWSNT builds. - - * w32.h: Add #error macro to make sure we don't include w32.h for - Cygwin builds. Remove w32select declarations. - - * w32console.c (w32_sys_ring_bell, Fset_message_beep): Move to - w32fns.c. w32console.c is WINDOWSNT-only. - - * w32fns.c: Include cygw32.h or w32.h depending on CYGWIN; more - NTGUI_UNICODE tweaks. (See above.) Change _snprintf to the more - POSIXy alternative. - (faked_key, sysinfo_cache, osinfo_cahce, syspage_mask) - (w32_major_version, w32_minor_version, w32_build_number) - (os_subtype, sound_type): Define here - (w32_defined_color): Make color parameter const for consistency - with other _defined_color functions. - (w32_createwindow): Unconditionally call w32_init_class instead of - doing so only when hprevinst is non-NULL. Plumbing hprevinst - through the code is complex and unnecessary because class - registration is practically free. - (w32_name_of_message): New EMACSDEBUG-only function. - (Fset_message_beep): Move here - (Fx_open_connection): Require that the display name for Windows be - "w32" for consistency, emacsclient disambiguation, and maybe, one - day, multi-window-system support. - (file_dialog_callback): NTGUI_UNICODE changes; encode and decode - Cygwin files for W32 GUI facilities, since these clearly don't - expect Cygwin names. - (_DebPrint): Define. - (w32_strerror, w32_console_toggle_lock_key, w32_kbd_mods_to_emacs) - (w32_kbd_patch_key, w32_sys_ring_bell): Move here. - (Ssystem_move_file_to_trash): Define only for native WINDOWSNT. - (w32_last_error): Remove. - - * w32font.c: Define _strlwr to strlwr for non-WINDOWSNT builds. - - * w32heap.c (syspage_mask): Declare here. - (cache_system_info): Remove. - - * w32inevt.c (faked_key): Define globally, not statically. - (w32_kbd_mods_to_emacs, w32_kbd_patch_key, faked_key) - (w32_console_toggle_lock_key): Move to w32fns.c. - - * w32menu.c: Include setjmp.h. NTGUI_UNICODE changes throughout. - - * w32proc.c (_DebPrint): Move to w32fns.c. - * w32select.c: Include string.h, stdio.h for Cygwin. - * w32select.h: New File. - - * w32term.c: Include io.h for non-CYGWIN builds; needed for - get_osfhandle. - (w32_message_fd): New variable. Under Cygwin, holds the file - descriptor the system used to tell us about pending thread - messages. - - (w32_init_term): Remove incorrect calls to fcntl and init_sigio - that prevented compilation under non-WINDOWSNT systems. - - (w32_initialize): Open /dev/windows and assign it to - w32_message_fd. Provide w32 feature. - - * w32term.h: Include frame.h, atimer.h. Declare various frame functions. - (WM_EMACS_INPUT_READY): add. - (prepend_msg, w32_message_fd): Declare globally. - - * w32xfns.c: - (keyboard_handle): Use only when WINDOWSNT. - (notify_msg_ready): New function. Posts a message to the main - thread's message queue under CYGWIN, which wakes up the main - thread from select(2) by making the /dev/windows file descriptor - ready. Under WINDOWSNT, it sets an event the same way the old - code did. - - (post, prepend_msg): Actually call notify_msg_ready instead of - setting the input event directly. - -2012-10-07 Eli Zaretskii - - * ralloc.c (relinquish): If a heap is ready to be relinquished, - but it still has blocs in it, don't return it to the system, - instead of aborting. (Bug#12402) - -2012-10-07 Jan Djärv - - * nsterm.m (ns_dumpglyphs_image): Only draw slice of image (Bug#12506). - - * nsterm.m (ns_update_auto_hide_menu_bar): Remove defintion of - MAC_OS_X_VERSION_10_6. - (syms_of_nsterm): Remove comment about Panther and above for - ns-antialias-text. - * nsterm.h (MAC_OS_X_VERSION_10_3, onTiger): Remove. - (EmacsApp): Remove check for >= MAC_OS_X_VERSION_10_4. - (struct nsfont_info): Remove check for >= MAC_OS_X_VERSION_10_3. - - * nsselect.m (ns_string_from_pasteboard): Remove check for >= - MAC_OS_X_VERSION_10_4. - - * nsmenu.m (fillWithWidgetValue:): Remove code for < - MAC_OS_X_VERSION_10_2. - - * nsimage.m (setPixmapData, getPixelAtX, setAlphaAtX): Remove onTiger. - - * nsfns.m (Fns_list_services): Remove comment and check for OSX < 10.4. - (ns_do_applescript): Remove check for >= MAC_OS_X_VERSION_10_4. - - * nsterm.m (ns_in_resize): Remove (Bug#12479). - (ns_resize_handle_rect, mouseDown, mouseUp, mouseDragged): Remove. - (ns_clear_frame, sendEvent, windowDidResize, drawRect:): - Remove ns_in_resize check. - (ns_clear_frame_area): Remove resize handle code. - - * nsfns.m (ns_in_resize): Remove. - (x_set_icon_name, ns_set_name, ns_set_name_as_filename): - Remove ns_in_resize check. - -2012-10-07 Paul Eggert - - Improve sys_siglist detection. - * sysdep.c (sys_siglist, init_signals): Use _sys_siglist if it's - defined as a macro, as is done in Solaris. - (sys_siglist_entries): New macro. - (save_strsignal): Use it. - * syssignal.h (safe_strsignal): Now ATTRIBUTE_CONST, to pacify - GCC 4.7.2 on Fedora 17 with the fixed sys_siglist detection. - -2012-10-06 Jan Djärv - - * nsfns.m (Fx_create_frame): Call x_default_parameter with - fullscreen/Fullscreen. - - * nsterm.h (EmacsView): Rename tbar_height to tibar_height. - tobar_height is new. - - * nsterm.m (x_make_frame_visible): Check for fullscreen. - (ns_fullscreen_hook): Activate old style fullscreen with a timer. - (ns_term_init): Set activateIgnoringOtherApps if old style fullscreen. - (windowDidResize:): Check for correct window if old style fullscreen. - Capitalize word in comment. Remove incorrect comment. - (initFrameFromEmacs:): tbar_height renamed tibar_height. - (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix - error in drawing background. - (toggleFullScreen:): Remove comment. Rearrange calls. - Set toolbar values to zero, save old height in tobar_height. - Restore tool bar height when leaving fullscreen. - (canBecomeMainWindow): New function. - -2012-10-06 Paul Eggert - - * keyboard.c (read_char): Remove unnecessary 'volatile's and label. - -2012-10-05 Eli Zaretskii - - * w32proc.c (stop_timer_thread): Fix declaration of 'err'. - - * w32.c (utime): Open the file with FILE_FLAG_BACKUP_SEMANTICS, so - that time stamps of directories could also be changed. - Don't request the too broad GENERIC_WRITE, only the more restrictive - FILE_WRITE_ATTRIBUTES access rights. - - * fileio.c (Fset_file_times): Special-case ignoring errors for - directories only on MSDOS, not on MS-Windows. - -2012-10-05 Ikumi Keita (tiny change) - - * minibuf.c (Fcompleting_read): Doc fix. (Bug#12555) - -2012-10-04 Eli Zaretskii - - * w32.c (utime): Test for INVALID_HANDLE_VALUE, not for NULL, to - see whether CreateFile failed. - -2012-10-04 Paul Eggert - - * profiler.c (handle_profiler_signal): Inhibit pending signals too, - to avoid similar races. - * keyboard.c (pending_signals): Now bool, not int. - - Port timers to OpenBSD, plus check for timer failures. - OpenBSD problem reported by Han Boetes. - * profiler.c (setup_cpu_timer): Check for failure of timer_settime - and/or setitimer. - (Fprofiler_cpu_stop): Don't assume HAVE_SETITIMER. - * syssignal.h (HAVE_ITIMERSPEC): New macro. This is for platforms - like OpenBSD, which has timer_settime but does not declare it. - OpenBSD does not define SIGEV_SIGNAL, so use that when deciding - whether to use itimerspec-related primitives. All uses of - HAVE_TIMER_SETTIME replaced with HAVE_ITIMERSPEC. - -2012-10-02 Paul Eggert - - * profiler.c (handle_profiler_signal): Fix a malloc race - that caused Emacs to hang on Fedora 17 when profiling Lisp. - -2012-10-02 Jan Djärv - - * nsterm.m (windowDidEnterFullScreen): Remove fprintf. - -2012-10-02 Eli Zaretskii - - * w32proc.c (sys_wait): Declare 'signame' 'const char *', to be - consistent with the change in return value of 'safe_strsignal'. - -2012-10-02 Paul Eggert - - Prefer plain 'static' to 'static inline' (Bug#12541). - * bidi.c (bidi_get_type, bidi_check_type, bidi_get_category) - (bidi_set_sor_type, bidi_push_embedding_level) - (bidi_pop_embedding_level, bidi_remember_char, bidi_copy_it) - (bidi_cache_reset, bidi_cache_shrink, bidi_cache_fetch_state) - (bidi_cache_search, bidi_cache_ensure_space) - (bidi_cache_iterator_state, bidi_cache_find) - (bidi_peek_at_next_level, bidi_set_paragraph_end) - (bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char) - (bidi_explicit_dir_char, bidi_resolve_neutral_1): - Now 'static', not 'static inline'. - - Count overruns when profiling; change units to ns. - * profiler.c (handle_profiler_signal): Count sampling intervals, not ms. - Give extra weight to samples after overruns, to attempt to count - the time more accurately. - (setup_cpu_timer): Change sampling interval units from ms to ns, since - the underlying primitives nominally do ns. - (Fprofiler_cpu_start): Document the change. Mention that - the sampling intervals are only approximate. - -2012-10-02 Stefan Monnier - - * frame.c (Fmake_terminal_frame): Prefer safer CONSP over !NILP. - - * coding.h (ENCODE_FILE, DECODE_FILE, DECODE_SYSTEM): Remove special - case for the special 0 coding-system. - - * buffer.c (Fset_buffer_multibyte): Signal an error instead of widening. - (Fmake_overlay): Remove redundant tests. - (fix_start_end_in_overlays): Remove redundant recentering. - -2012-10-02 Juanma Barranquero - - * makefile.w32-in ($(BLD)/alloc.$(O), $(BLD)/gmalloc.$(O)): - Update dependencies. - -2012-10-01 Paul Eggert - - Fix a malloc race condition involving strsignal. - A signal can arrive in the middle of a malloc, and Emacs's signal - handler can invoke strsignal, which can invoke malloc, which is - not portable. This race condition bug makes Emacs hang on GNU/Linux. - Fix it by altering the signal handler so that it does not invoke - strsignal. - * emacs.c (shut_down_emacs): Use safe_strsignal, not strsignal. - * process.c (status_message): Use const pointer, in case strsignal - is #defined to safe_strsignal. - * sysdep.c (sys_siglist, init_signals): Always define and - initialize a substitute sys_siglist if the system does not define - one, even if HAVE_STRSIGNAL. - (safe_strsignal): Rename from strsignal. Always define, - using sys_siglist. Return a const pointer. - * syssignal.h (safe_strsignal): New decl. - (strsignal) [!HAVE_STRSIGNAL]: Define in terms of safe_strsignal. - -2012-10-01 Eli Zaretskii - - * w32proc.c (timer_loop): Fix code that waits for timer - expiration, to avoid high CPU usage. - -2012-10-01 Stefan Monnier - - * fns.c (check_hash_table, get_key_arg, maybe_resize_hash_table) - (sweep_weak_table): Remove redundant prototypes. - -2012-10-01 Fabrice Popineau - - * emacs.c: Move the inclusion of TERM_HEADER after including - windows.h on WINDOWSNT. This avoids compilation problems with - MSVC. - -2012-10-01 Eli Zaretskii - - * unexw32.c (OFFSET_TO_RVA, RVA_TO_OFFSET) - (RVA_TO_SECTION_OFFSET): Encode all macro arguments in parentheses. - (RVA_TO_PTR): Cast the result of RVA_TO_OFFSET to 'unsigned char *', - as the previous version used 'void *'. - - * ralloc.c (ROUNDUP): Fix last change. - (MEM_ROUNDUP): Don't cast MEM_ALIGN, it is already of type - 'size_t'. - - * w32proc.c : New static flag. - (init_timers): Initialize it to zero, after creating the critical - sections used by the timer threads. - (term_timers): Set to 1 before deleting the critical sections. - (getitimer, setitimer): If disable_itimers is non-zero, return an - error indication without doing anything. Reported by Fabrice - Popineau as part of bug#12544. - (alarm) [HAVE_SETITIMER]: Be more conformant to the expected - return results. - [!HAVE_SETITIMER]: Behave as the previous version that didn't - support timers. - - * emacs.c (shut_down_emacs) [WINDOWSNT]: Move the call to - term_ntproc after all the other bookkeeping, to get timers working - as long as possible. - -2012-10-01 Paul Eggert - - * xdisp.c (syms_of_xdisp): Default message-log-max to 1000, not 100. - Suggested by Juri Linkov in - . - - Prefer plain 'static' to 'static inline' (Bug#12541). - With static functions, modern compilers inline pretty well by - themselves; advice from programmers often hurts as much as it helps. - On my host (x86-64, Fedora 17, GCC 4.7.2, default 'configure'), - this change shrinks the text size of the Emacs executable by 1.1% - without affecting CPU significantly in my benchmark. - * alloc.c (mem_find, live_string_p, live_cons_p, live_symbol_p) - (live_float_p, live_misc_p, live_vector_p, live_buffer_p) - (mark_maybe_object, mark_maybe_pointer, bounded_number): - * buffer.c (bset_abbrev_mode, bset_abbrev_table) - (bset_auto_fill_function, bset_auto_save_file_format) - (bset_auto_save_file_name, bset_backed_up, bset_begv_marker) - (bset_bidi_display_reordering, bset_buffer_file_coding_system) - (bset_cache_long_line_scans, bset_case_fold_search) - (bset_ctl_arrow, bset_cursor_in_non_selected_windows) - (bset_cursor_type, bset_display_table, bset_extra_line_spacing) - (bset_file_format, bset_file_truename, bset_fringe_cursor_alist) - (bset_fringe_indicator_alist, bset_fringes_outside_margins) - (bset_header_line_format, bset_indicate_buffer_boundaries) - (bset_indicate_empty_lines, bset_invisibility_spec) - (bset_left_fringe_width, bset_major_mode, bset_mark) - (bset_minor_modes, bset_mode_line_format, bset_mode_name) - (bset_name, bset_overwrite_mode, bset_pt_marker) - (bset_right_fringe_width, bset_save_length) - (bset_scroll_bar_width, bset_scroll_down_aggressively) - (bset_scroll_up_aggressively, bset_selective_display) - (bset_selective_display_ellipses, bset_vertical_scroll_bar_type) - (bset_word_wrap, bset_zv_marker, set_buffer_overlays_before) - (set_buffer_overlays_after): - * category.c (bset_category_table): - * charset.c (read_hex): - * coding.c (produce_composition, produce_charset) - (handle_composition_annotation, handle_charset_annotation) - (char_encodable_p): - * dispnew.c (swap_glyph_pointers, copy_row_except_pointers) - (assign_row, set_frame_matrix_frame, make_current) - (add_row_entry): - * eval.c (set_specpdl_symbol, set_specpdl_old_value): - * fns.c (maybe_resize_hash_table): - * frame.c (fset_buffer_predicate, fset_minibuffer_window): - * gmalloc.c (register_heapinfo): - * image.c (lookup_image_type): - * intervals.c (set_interval_object, set_interval_left) - (set_interval_right, copy_interval_parent, rotate_right) - (rotate_left, balance_possible_root_interval): - * keyboard.c (kset_echo_string, kset_kbd_queue) - (kset_keyboard_translate_table, kset_last_prefix_arg) - (kset_last_repeatable_command, kset_local_function_key_map) - (kset_overriding_terminal_local_map, kset_real_last_command) - (kset_system_key_syms, clear_event, set_prop): - * lread.c (digit_to_number): - * marker.c (attach_marker, live_buffer, set_marker_internal): - * nsterm.m (ns_compute_glyph_string_overhangs): - * process.c (pset_buffer, pset_command) - (pset_decode_coding_system, pset_decoding_buf) - (pset_encode_coding_system, pset_encoding_buf, pset_filter) - (pset_log, pset_mark, pset_name, pset_plist, pset_sentinel) - (pset_status, pset_tty_name, pset_type, pset_write_queue): - * syntax.c (bset_syntax_table, dec_bytepos): - * terminal.c (tset_param_alist): - * textprop.c (interval_has_some_properties) - (interval_has_some_properties_list): - * window.c (wset_combination_limit, wset_dedicated) - (wset_display_table, wset_hchild, wset_left_fringe_width) - (wset_left_margin_cols, wset_new_normal, wset_new_total) - (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm) - (wset_right_fringe_width, wset_right_margin_cols) - (wset_scroll_bar_width, wset_start, wset_temslot, wset_vchild) - (wset_vertical_scroll_bar_type, wset_window_parameters): - * xdisp.c (wset_base_line_number, wset_base_line_pos) - (wset_column_number_displayed, wset_region_showing) - (window_box_edges, run_window_scroll_functions) - (append_glyph_string_lists, prepend_glyph_string_lists) - (append_glyph_string, set_glyph_string_background_width) - (append_glyph, append_composite_glyph) - (take_vertical_position_into_account): - * xfaces.c (x_create_gc, x_free_gc, merge_face_vectors) - (face_attr_equal_p, lface_equal_p, hash_string_case_insensitive) - (lface_hash, lface_same_font_attributes_p, lookup_face): - * xml.c (libxml2_loaded_p): - * xterm.c (x_set_mode_line_face_gc, x_set_glyph_string_gc) - (x_set_glyph_string_clipping, x_clear_glyph_string_rect): - Now 'static', not 'static inline'. - - * bidi.c: Tune. - (bidi_copy_it): Do the whole copy with a single memcpy. - (bidi_char_at_pos): Merge the two STRING_CHAR calls into one. - - Revert the FOLLOW-SYMLINKS change for file-attributes. - Doing it right would require several changes to Tramp, and there's - not enough time to get that tested before the freeze today. - * dired.c (directory_files_internal, Ffile_attributes): - Undo last change. - - * frame.c (x_report_frame_params): Port better to wider ints. - Do not assume that EMACS_UINT is the same width as uprintmax_t, - or that pointers can be printed in 15 decimal digits. - Avoid GCC warnings if EMACS_UINT is wider than a pointer. - -2012-09-30 Fabrice Popineau - - Support x64 build on MS-Windows. - * w32term.h (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK): Define for x64. - (SET_SCROLL_BAR_W32_WINDOW): Cast ID to intptr_t, for - compatibility with x64. - (x_get_focus_frame): Add prototype. - - * w32term.c (w32_draw_underwave): Don't use GCC extensions for - defining an XRectangle structure. - - * w32proc.c (RVA_TO_PTR, w32_executable_type): Fix pointer - arithmetics for compatibility with x64. - - * w32menu.c (add_menu_item): Use UINT_PTR instead of UINT, for - compatibility with x64. - - * w32heap.h: Adjust prototypes and declarations. - - * w32heap.c (RVA_TO_PTR, allocate_heap, sbrk, init_heap) - (round_heap): Use DWORD_PTR, ptrdiff_t and size_t instead of - DWORD, long, and unsigned long, for compatibility with x64. - (allocate_heap) [_WIN64]: Reserve 32GB of memory. - (sbrk): Argument is now of type ptrdiff_t. - - * w32fns.c (HMONITOR): Condition declaration on _WIN32_WINNT being - less than 0x0500. - (w32_msg_pump): Use WPARAM type for 'result'. - - * w32.c (init_environment, get_emacs_configuration): Support AMD64 - architecture. - (init_ntproc): Cast arguments of _open_osfhandle to intptr_t, for - compatibility with x64. - - * vm-limit.c (lim_data): Now size_t. - (check_memory_limits): Adjust prototypes of real_morecore and - __morecore to receive argument of type ptrdiff_t. Use size_t for - five_percent and data_size. - - * unexw32.c: Use DWORD_PTR instead of DWORD for file-scope - variables, for compatibility with x64. - (rva_to_section, offset_to_section, relocate_offset) - (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET) - (PTR_TO_RVA, RVA_TO_PTR, OFFSET_TO_PTR, get_section_info) - (copy_executable_and_dump_data): Use DWORD_PTR instead of DWORD - for compatibility with x64. - - * sysdep.c (STDERR_FILENO): Define if not already defined. - - * ralloc.c (real_morecore): Argument type is now ptrdiff_t. - (__morecore): Argument type is now ptrdiff_t. - (ROUNDUP, MEM_ROUNDUP): Use size_t instead of 'unsigned long'. - (relinquish): Use ptrdiff_t type for 'excess'. - (r_alloc_sbrk): Argument type is now ptrdiff_t. - - * makefile.w32-in (HEAPSIZE): Get value from EMACS_HEAPSIZE. - (bootstrap-temacs-CMD, bootstrap-temacs-SH): Use $(EMACS_PURESIZE) - instead of a literal number. - - * gmalloc.c [WINDOWSNT]: Include w32heap.h. - (min): Define only if not already defined. - - * frame.c (x_report_frame_params): Use EMACS_UINT for the return - value of FRAME_X_WINDOW, to fit a 64-bit pointer on 64-bit Windows - hosts. - - * image.c (x_bitmap_pixmap): Return ptrdiff_t, not int, since - 'bitmaps' is a pointer. - - * dispextern.h (x_bitmap_pixmap): Adjust prototype. - - * alloc.c (gdb_make_enums_visible): Now conditional on __GNUC__. - -2012-09-30 Paul Eggert - - file-attributes has a new optional arg FOLLOW-SYMLINKS. - * dired.c (directory_files_internal, Ffile_attributes): - New arg follow_symlinks. All uses changed. - -2012-09-30 Stefan Monnier - - * .gdbinit (xbacktrace): Adjust to recent "struct backtrace" change. - -2012-09-30 Eli Zaretskii - - Support atimers and CPU profiler via profile.c on MS-Windows. - * w32proc.c (sig_mask, crit_sig): New static variables. - (sys_signal): Support SIGALRM and SIGPROF. - (sigemptyset, sigaddset, sigfillset, sigprocmask) - (pthread_sigmask, setpgrp): Move here from w32.c. sigaddset, - sigfillset, and sigprocmask are no longer no-ops. - (sigismember): New function. - (struct itimer_data): New definition. - (ticks_now, real_itimer, prof_itimer, clocks_min, crit_real) - (crit_prof): New static variables. - (MAX_SINGLE_SLEEP): New definition. - (timer_loop, stop_timer_thread, term_timers, init_timers) - (start_timer_thread, getitimer, setitimer): New functions. - (alarm): No longer a no-op, calls setitimer. - - * w32.c (term_ntproc): Call term_timers. - (init_ntproc): Make sure all signals are unblocked at startup, to - erase any traces of dumping. Call init_timers. - - * w32fns.c (hourglass_timer, HOURGLASS_ID): Remove. - Windows-specific code to display the hourglass mouse pointer is no - longer used. - (w32_wnd_proc): Remove code that handled the WM_TIMER message due - to hourglass timer expiration. - (start_hourglass, cancel_hourglass, DEFAULT_HOURGLASS_DELAY): - Remove, no longer used. - (w32_note_current_window, show_hourglass, hide_hourglass): - New functions, in support of hourglass cursor display similar to other - window systems. - (syms_of_w32fns): Don't initialize hourglass_timer. - - * xdisp.c (start_hourglass, cancel_hourglass): Now used on - WINDOWSNT as well. - (start_hourglass) [WINDOWSNT]: Call w32_note_current_window. - - * w32.h (init_timers, term_timers): Add prototypes. - -2012-09-30 Kenichi Handa - - * coding.c (decode_coding_ccl, encode_coding_ccl): Pay attention - to the buffer relocation which may be caused by ccl_driver. - -2012-09-30 Jan Djärv - - * xfns.c (Fx_file_dialog): Update comment. - - * w32fns.c (Fx_file_dialog): Update comment. - - * nsfns.m (Fns_read_file_name): Add argument DIR_ONLY_P. - Initialize panel name field if OSX >= 10.6. - - * fileio.c (Fnext_read_file_uses_dialog_p): Add HAVE_NS. - - * nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen. - - * nsterm.m (NEW_STYLE_FS): New define. - (ns_fullscreen_hook, windowWillEnterFullScreen) - (windowDidEnterFullScreen, windowWillExitFullScreen) - (windowDidExitFullScreen, toggleFullScreen, handleFS) - (setFSValue): New functions. - (EmacsFSWindow): New implementation. - (canBecomeKeyWindow): New function for EmacsFSWindow. - (ns_create_terminal): Set fullscreen_hook to ns_fullscreen_hook. - (dealloc): Release nonfs_window if in fullscreen. - (updateFrameSize:): Call windowDidMove to update top/left. - (windowWillResize:toSize:): Check if frame is still maximized. - (initFrameFromEmacs:): Initialize fs_state, fs_before_fs, - next_maximized, maximized_width, maximized_height and nonfs_window. - Call setCollectionBehavior if NEW_STYLE_FS. Initialize bwidth and - tbar_height. - (windowWillUseStandardFrame:defaultFrame:): Update frame parameter - fullscreen. Set maximized_width/height. Act on next_maximized. - - * nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New. - (EmacsView): Add variables for fullscreen. - (handleFS, setFSValue, toggleFullScreen): New in EmacsView. - (EmacsFSWindow): New interface for fullscreen. - -2012-09-30 Juanma Barranquero - - * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies. - -2012-09-30 Chong Yidong - - * fns.c (Frandom): Doc fix. - -2012-09-30 Martin Rudalics - - * window.c (Vwindow_combination_limit): New default value. - (Qwindow_size): New symbol replacing Qtemp_buffer_resize. - -2012-09-30 Paul Eggert - - * syssignal.h (PROFILER_CPU_SUPPORT): Don't define if PROFILING. - Suggested by Eli Zaretskii in - . - -2012-09-30 Eli Zaretskii - - * profiler.c (Fprofiler_cpu_stop): Use timer_settime only if - HAVE_TIMER_SETTIME is defined. - -2012-09-30 Paul Eggert - - Profiler improvements: more-accurate timers, overflow checks. - * profiler.c: Don't include stdio.h, limits.h, sys/time.h, - signal.h, setjmp.h. Include systime.h instead. - (saturated_add): New function. - (record_backtrace, current_sample_interval): Use EMACS_INT, not size_t. - (record_backtrace, handle_profiler_signal): Saturate on fixnum overflow. - (profiler_timer, profiler_timer_ok) [HAVE_TIMER_SETTIME]: - New static vars. - (enum profiler_cpu_running): New enum. - (profiler_cpu_running): Now of that enum type, not bool. - All uses changed to store the new value. - (handle_profiler_signal): Rename from sigprof_handler_1, - for consistency with other handlers. Do not check whether - cpu_log is a hash-table if garbage collecting, since it - doesn't matter in that case. - (deliver_profiler_signal): Rename from sigprof_handler, - for consistency with other handlers. - (setup_cpu_timer): New function, with much of what used to be in - Fprofiler_cpu_start. Check for out-of-range argument. - Prefer timer_settime if available, and prefer - thread cputime clocks, then process cputime clocks, then - monotonic clocks, to the old realtime clock. Use make_timeval - to round more-correctly when falling back to setitimer. - (Fprofiler_cpu_start): Use it. - (Fprofiler_cpu_stop): Prefer timer_settime if available. - Don't assume that passing NULL as the 2nd argument of setitimer - is the same as passing a pointer to all-zero storage. - Ignore SIGPROF afterwards. - (malloc_probe): Saturate at MOST_POSITIVE_FIXNUM. - * sysdep.c (emacs_sigaction_init): Also mask out SIGPROF in - non-fatal signal handlers. Ignore SIGPROF on startup. - * syssignal.h (PROFILER_CPU_SUPPORT): Define this macro here, not - in profiler.c, since sysdep.c now uses it. - - * sysdep.c (handle_fatal_signal): Bump backtrace size to 40. - Suggested by Eli Zaretskii in - . - -2012-09-29 Juanma Barranquero - - * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies. - -2012-09-29 Stefan Monnier - - * lisp.h (struct backtrace): Remove indirection for `function' field. - * xdisp.c (redisplay_internal): - * profiler.c (record_backtrace, sigprof_handler_1): - * alloc.c (Fgarbage_collect): - * eval.c (interactive_p, Fsignal, eval_sub, Ffuncall, Fbacktrace) - (Fbacktrace_frame): Adjust accordingly. - -2012-09-28 Glenn Morris - - * eval.c (Frun_hook_with_args, Frun_hook_with_args_until_success) - (Frun_hook_with_args_until_failure): Doc fixes. - -2012-09-28 Eli Zaretskii - - * xdisp.c (syms_of_xdisp) : Rename from - Qautomatic_redisplay and change the symbol name. All users changed. - -2012-09-28 Tomohiro Matsuyama - - * profiler.c (sigprof_handler): Fix race condition. - -2012-09-28 Glenn Morris - - * lread.c (lisp_file_lexically_bound_p): Handle #! lines. (Bug#12528) - -2012-09-27 Paul Eggert - - Check more robustly for timer_settime. - * Makefile.in (LIB_TIMER_TIME): New macro. - (LIBES): Add it. - * atimer.c (alarm_timer, alarm_timer_ok, set_alarm, init_atimer): - Use HAVE_TIMER_SETTIME, not SIGEV_SIGNAL, to decide whether to - call timer_settime. - -2012-09-26 Tomohiro Matsuyama - - * profiler.c (Fprofiler_cpu_start): Remove unnecessary flag SA_SIGINFO. - -2012-09-26 Juanma Barranquero - - * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies. - -2012-09-26 Paul Eggert - - * character.h (MAYBE_UNIFY_CHAR): Remove. - * charset.c, charset.h (maybe_unify_char): Now static. - * charset.c (decode_char): Use maybe_unify_char, not MAYBE_UNIFY_CHAR. - Since this stuff is now private to charset.c, there's no need for - a public macro and no need to inline by hand. - -2012-09-26 Tomohiro Matsuyama - Stefan Monnier - Juanma Barranquero - - * profiler.c: New file. - * Makefile.in (base_obj): Add profiler.o. - * makefile.w32-in (OBJ2, GLOBAL_SOURCES): Add profiler.c. - ($(BLD)/profiler.$(O)): New target. - * emacs.c (main): Call syms_of_profiler. - * alloc.c (Qautomatic_gc): New constant. - (MALLOC_PROBE): New macro. - (xmalloc, xzalloc, xrealloc, lisp_malloc, lisp_align_malloc): Use it. - (total_bytes_of_live_objects): New function. - (Fgarbage_collect): Use it. Record itself in backtrace_list. - Call malloc_probe for the memory profiler. - (syms_of_alloc): Define Qautomatic_gc. - * eval.c (eval_sub, Ffuncall): Reorder assignments to avoid - race condition. - (struct backtrace): Move definition... - * lisp.h (struct backtrace): ..here. - (Qautomatic_gc, profiler_memory_running): Declare vars. - (malloc_probe, syms_of_profiler): Declare functions. - * xdisp.c (Qautomatic_redisplay): New constant. - (redisplay_internal): Record itself in backtrace_list. - (syms_of_xdisp): Define Qautomatic_redisplay. - -2012-09-25 Eli Zaretskii -2012-09-25 Juanma Barranquero - - * makefile.w32-in ($(BLD)/callproc.$(O)): Update dependencies. - -2012-09-25 Paul Eggert - - Prefer POSIX timers if available. - They avoid a race if the timer is too close to the current time. - * atimer.c (alarm_timer, alarm_timer_ok) [SIGEV_SIGNAL]: New static vars. - (set_alarm) [SIGEV_SIGNAL]: Use POSIX timers if available. - (init_atimer) [SIGEV_SIGNAL]: Initialize them. - -2012-09-25 Eli Zaretskii - - * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY): Make it an alias of - CHAR_STRING_ADVANCE. - (STRING_CHAR_ADVANCE_NO_UNIFY): Make it an alias of - STRING_CHAR_ADVANCE. - -2012-09-25 Juanma Barranquero - - Move Vlibrary_cache to emacs.c and reset before dumping. - - * lisp.h (reset_image_types): Declare. - [WINDOWSNT] (Vlibrary_cache): Declare. - - * image.c (reset_image_types): New function. - - * emacs.c [WINDOWSNT] (Vlibrary_cache): Move from w32.c. - (syms_of_emacs) [WINDOWSNT] : Initialize and staticpro. - (Fdump_emacs): Reset Vlibrary_cache and image_types. - - * w32.c (Vlibrary_cache): Do not define; moved to emacs.c - (globals_of_w32) : Do not initialize. - - * w32.h (Vlibrary_cache): Do not declare. - -2012-09-25 Eli Zaretskii - - * w32proc.c (sys_signal): Handle all signals defined by the - MS-Windows runtime, not just SIGCHLD. Actually install the signal - handlers for signals supported by Windows. Don't override - term_ntproc as the handler for SIGABRT. - (sigaction): Rewrite to call sys_signal instead of duplicating its - code. - (sys_kill): Improve commentary. - - * w32.c (term_ntproc): Accept (and ignore) one argument, for - consistency with a signature of a signal handler. All callers - changed. - (init_ntproc): Accept an argument DUMPING. If dumping, don't - install term_ntproc as a signal handler for SIGABRT, as that - should be done by the dumped Emacs. - - * w32.h (init_ntproc, term_ntproc): Adjust prototypes. - - * w32select.c (term_w32select): Protect against repeated - invocation by setting clipboard_owner to NULL after calling - DestroyWindow. - - * emacs.c (shut_down_emacs, main): Adapt the calls to init_ntproc - and term_ntproc to their modified signatures. - - * character.c (char_string, string_char): Remove calls to - MAYBE_UNIFY_CHAR. See the discussion starting at - http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00433.html - for the details. - -2012-09-25 Chong Yidong - - * xdisp.c (mode_line_inverse_video): Delete obsolete variable. - -2012-09-24 Stefan Monnier - - * bytecode.c (exec_byte_code): Signal an error instead of aborting, - when encountering an unknown bytecode. - -2012-09-24 Paul Eggert - - image.c, indent.c: Use bool for booleans. - * dispextern.h (struct image_type): Members valid_p, load, init - now return bool, not int. All uses changed. - * image.c: Omit unnecessary static decls. - (x_create_bitmap_mask, x_build_heuristic_mask): - Return void, not int, since callers don't care about the return value. - (x_create_bitmap_mask, define_image_type, valid_image_p) - (struct image_keyword, parse_image_spec, image_spec_value) - (check_image_size, image_background) - (image_background_transparent, x_clear_image_1) - (postprocess_image, lookup_image, x_check_image_size) - (x_create_x_image_and_pixmap, xbm_image_p) - (Create_Pixmap_From_Bitmap_Data, xbm_read_bitmap_data) - (xbm_load_image, xbm_file_p, xbm_load, xpm_lookup_color) - (init_xpm_functions, xpm_valid_color_symbols_p, xpm_image_p) - (xpm_load, xpm_load_image, lookup_rgb_color, lookup_pixel_color) - (x_to_xcolors, x_build_heuristic_mask, pbm_image_p, pbm_load) - (png_image_p, init_png_functions, png_load_body, png_load) - (jpeg_image_p, init_jpeg_functions, jpeg_load_body, jpeg_load) - (tiff_image_p, init_tiff_functions, tiff_load, gif_image_p) - (init_gif_functions, gif_load, imagemagick_image_p) - (imagemagick_load_image, imagemagick_load, svg_image_p) - (init_svg_functions, svg_load, svg_load_image, gs_image_p) - (gs_load): - * nsimage.m (ns_load_image): - * nsterm.m (ns_defined_color): - * xfaces.c (tty_lookup_color, tty_defined_color, defined_color): - * xfns.c (x_defined_color): - * xterm.c (x_alloc_lighter_color_for_widget) - (x_alloc_nearest_color_1, x_alloc_nearest_color) - (x_alloc_lighter_color): - * indent.c (disptab_matches_widthtab, current_column) - (scan_for_column, string_display_width, indented_beyond_p) - (compute_motion, vmotion, Fvertical_motion): - Use bool for booleans. - -2012-09-24 Chong Yidong - - * chartab.c (Fset_char_table_default): Obsolete function removed. - -2012-09-23 Paul Eggert - - Move pid_t related decls out of lisp.h. - * lisp.h, syswait.h (record_child_status_change, wait_for_termination) - (interruptible_wait_for_termination): - Move these decls from lisp.h to syswait.h, since they use pid_t. - Needed on FreeBSD; see Herbert J. Skuhra in - . - * callproc.c: Include syswait.h. - - gnutls.c, gtkutil.c: Use bool for boolean. - * gnutls.c (gnutls_global_initialized, init_gnutls_functions) - (emacs_gnutls_handle_error): - * gtkutil.c (xg_check_special_colors, xg_prepare_tooltip) - (xg_hide_tooltip, xg_create_frame_widgets) - (create_dialog, xg_uses_old_file_dialog) - (xg_get_file_with_chooser, xg_get_file_with_selection) - (xg_get_file_name, xg_have_tear_offs, create_menus, xg_create_widget) - (xg_item_label_same_p, xg_update_menubar) - (xg_modify_menubar_widgets, xg_event_is_for_menubar) - (xg_ignore_gtk_scrollbar, xg_set_toolkit_scroll_bar_thumb) - (xg_event_is_for_scrollbar, xg_pack_tool_bar, xg_make_tool_item) - (is_box_type, xg_tool_item_stale_p, xg_update_tool_bar_sizes) - (update_frame_tool_bar, free_frame_tool_bar): - * gtkutil.c, w32term.c, xterm.c (x_wm_set_size_hint): - * nsmenu.m (ns_update_menubar): - * nsmenu.m, w32menu.c, xmenu.c (set_frame_menubar): - * xfns.c (Fx_show_tip) [USE_GTK]: - Use bool for boolean. - * gtkutil.c (xg_update_frame_menubar): - * xmenu.c (update_frame_menubar): - Return void, not int, since caller ignores return value. - * gtkutil.c (xg_change_toolbar_position): - Return void, not 1. - -2012-09-23 Juanma Barranquero - - * makefile.w32-in (BLOCKINPUT_H): Remove. - (SYSSIGNAL_H): New macro. - ($(BLD)/alloc.$(O), $(BLD)/atimer.$(O), $(BLD)/buffer.$(O)) - ($(BLD)/callproc.$(O), $(BLD)/data.$(O), $(BLD)/dired.$(O)) - ($(BLD)/dispnew.$(O), $(BLD)/editfns.$(O), $(BLD)/emacs.$(O)) - ($(BLD)/eval.$(O), $(BLD)/fileio.$(O), $(BLD)/floatfns.$(O)) - ($(BLD)/fns.$(O), $(BLD)/fontset.$(O), $(BLD)/frame.$(O)) - ($(BLD)/fringe.$(O), $(BLD)/image.$(O), $(BLD)/insdel.$(O)) - ($(BLD)/keyboard.$(O), $(BLD)/keymap.$(O), $(BLD)/lread.$(O)) - ($(BLD)/menu.$(O), $(BLD)/w32inevt.$(O), $(BLD)/w32proc.$(O)) - ($(BLD)/print.$(O), $(BLD)/process.$(O), $(BLD)/ralloc.$(O)) - ($(BLD)/search.$(O), $(BLD)/sound.$(O), $(BLD)/sysdep.$(O)) - ($(BLD)/term.$(O), $(BLD)/window.$(O), $(BLD)/xdisp.$(O)) - ($(BLD)/xfaces.$(O), $(BLD)/w32fns.$(O), $(BLD)/w32menu.$(O)) - ($(BLD)/w32term.$(O), $(BLD)/w32select.$(O), $(BLD)/w32reg.$(O)) - ($(BLD)/w32xfns.$(O)): Update dependencies. - -2012-09-23 Eli Zaretskii - - * .gdbinit: Set breakpoint on terminate_due_to_signal, not on - fatal_error_backtrace. - - * w32proc.c (sys_kill): Undo last change: don't do anything when - invoked to deliver SIGABRT to our own process. This is now - handled by emacs_raise. - -2012-09-23 Juanma Barranquero - - * w32term.c (w32_read_socket): Remove leftover reference to - interrupt_input_pending. - -2012-09-23 Paul Eggert - - Do not use SA_NODEFER. - Problem reported by Dani Moncayo in - . - * alloc.c (die): - * sysdep.c (emacs_abort): Do not reset signal handler. - * emacs.c (terminate_due_to_signal): Reset signal handler here. - * sysdep.c (init_signals): Do not use SA_NODEFER. It wasn't - wanted even on POSIXish hosts, and it doesn't work on Windows. - -2012-09-23 Jan Djärv - - * xterm.c (x_term_init): Call fixup_locale before and after calling - gtk_init (Bug#12392). - -2012-09-23 Chong Yidong - - * w32.c (w32_delayed_load): Remove LIBRARIES argument; always use - Vdynamic_library_alist. - - * gnutls.c (init_gnutls_functions): Caller changed; remove arg. - (Fgnutls_available_p): Caller changed. - - * xml.c (init_libxml2_functions, Flibxml_parse_html_region) - (Flibxml_parse_xml_region): Likewise. - - * dispextern.h (struct image_type): Remove arg from init function. - - * image.c (Finit_image_library, lookup_image_type) - (define_image_type): Remove now-unneeded second arg. - (init_xpm_functions, init_png_functions, init_jpeg_functions) - (init_tiff_functions, init_gif_functions, init_svg_functions): - Arglist and w32_delayed_load calling convention changed. - (gs_type): Remove init_gs_functions; there is no such function. - (valid_image_p, make_image): Fix caller to lookup_image_type. - -2012-09-23 Paul Eggert - - Simplify and avoid signal-handling races (Bug#12471). - * alloc.c (die): - * sysdep.c (emacs_abort) [HAVE_NTGUI]: - Avoid recursive loop if there's a fatal error in the function itself. - * atimer.c (pending_atimers): - * blockinput.h: Don't include "atimer.h"; no longer needed. - (interrupt_input_pending): Remove. All uses removed. - pending_signals now counts both atimers and ordinary interrupts. - This is less racy than having three separate pending-signal flags. - (block_input, unblock_input, totally_unblock_input, unblock_input_to) - (input_blocked_p): - Rename from their upper-case counterparts BLOCK_INPUT, - UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT_TO, - INPUT_BLOCKED_P, and turn into functions. All uses changed. - This makes it easier to access volatile variables more accurately. - (BLOCK_INPUT_RESIGNAL): Remove. All uses replaced by unblock_input (). - (input_blocked_p): Prefer this to 'interrupt_input_blocked', as - that's more reliable if the code is buggy and sets - interrupt_input_blocked to a negative value. All uses changed. - * atimer.c (deliver_alarm_signal): - Remove. No need to deliver this to the parent; any thread can - handle this signal now. All uses replaced by underlying handler. - * atimer.c (turn_on_atimers): - * dispnew.c (handle_window_change_signal): - * emacs.c (handle_danger_signal): - * keyboard.c (kbd_buffer_get_event): - Don't reestablish signal handler; not needed with sigaction. - * blockinput.h (UNBLOCK_INPUT_TO, TOTALLY_UNBLOCK_INPUT) - (UNBLOCK_INPUT_TO): - Rework to avoid unnecessary accesses to volatile variables. - (UNBLOCK_INPUT_TO): Now a function. - (totally_unblock_input, unblock_input): New decls. - * data.c (handle_arith_signal, deliver_arith_signal): Move to sysdep.c - (init_data): Remove. Necessary stuff now done in init_signal. - * emacs.c, xdisp.c: Include "atimer.h", since we invoke atimer functions. - * emacs.c (handle_fatal_signal, deliver_fatal_signal): Move to sysdep.c. - (fatal_error_code): Remove; no longer needed. - (terminate_due_to_signal): Rename from fatal_error_backtrace, since - it doesn't always backtrace. All uses changed. No need to reset - signal to default, since sigaction and/or die does that for us now. - Use emacs_raise (FOO), not kill (getpid (), FOO). - (main): Check more-accurately whether we're dumping. - Move fatal-error setup to sysdep.c - * floatfns.c: Do not include "syssignal.h"; no longer needed. - * gtkutil.c (xg_get_file_name, xg_get_font): - Remove no-longer-needed signal-mask manipulation. - * keyboard.c, process.c (POLL_FOR_INPUT): - Don't depend on USE_ASYNC_EVENTS, a symbol that is never defined. - * keyboard.c (read_avail_input): Remove. - All uses replaced by gobble_input. - (Ftop_level): Use TOTALLY_UNBLOCK_INPUT rather than open code. - (kbd_buffer_store_event_hold, gobble_input): - (record_asynch_buffer_change) [USABLE_SIGIO]: - (store_user_signal_events): - No need to mess with signal mask. - (gobble_input): If blocking input and there are terminals, simply - set pending_signals to 1 and return. All hooks changed to not - worry about whether input is blocked. - (process_pending_signals): Clear pending_signals before processing - them, in case a signal comes in while we're processing. - By convention callers now test pending_signals before calling us. - (UNBLOCK_INPUT_TO, unblock_input, totally_unblock_input): - New functions, to support changes to blockinput.h. - (handle_input_available_signal): Now extern. - (reinvoke_input_signal): Remove. All uses replaced by - handle_async_input. - (quit_count): Now volatile, since a signal handler uses it. - (handle_interrupt): Now takes bool IN_SIGNAL_HANDLER as arg. - All callers changed. Block SIGINT only if not already blocked. - Clear sigmask reliably, even if Fsignal returns, which it can. - Omit unnecessary accesses to volatile var. - (quit_throw_to_read_char): No need to restore sigmask. - * keyboard.c (gobble_input, handle_user_signal): - * process.c (wait_reading_process_output): - Call signal-handling code rather than killing ourselves. - * lisp.h: Include , for... - (IEEE_FLOATING_POINT): New macro, moved here to avoid duplication. - (pending_signals): Now volatile. - (syms_of_data): Now const if IEEE floating point. - (handle_input_available_signal) [USABLE_SIGIO]: - (terminate_due_to_signal, record_child_status_change): New decls. - * process.c (create_process): Avoid disaster if memory is exhausted - while we're processing a vfork, by tightening the critical section - around the vfork. - (send_process_frame, process_sent_to, handle_pipe_signal) - (deliver_pipe_signal): Remove. No longer needed, as Emacs now - ignores SIGPIPE. - (send_process): No need for setjmp/longjmp any more, since the - SIGPIPE stuff is now gone. Instead, report an error if errno - is EPIPE. - (record_child_status_change): Now extern. PID and W are now args. - Return void, not bool. All callers changed. - * sysdep.c (wait_debugging) [(BSD_SYSTEM || HPUX) && !defined (__GNU__)]: - Remove. All uses removed. This bug should be fixed now in a - different way. - (wait_for_termination_1): Use waitpid rather than sigsuspend, - and record the child status change directly. This avoids the - need to futz with the signal mask. - (process_fatal_action): Move here from emacs.c. - (emacs_sigaction_flags): New function, containing - much of what used to be in emacs_sigaction_init. - (emacs_sigaction_init): Use it. Block nonfatal system signals that are - caught by emacs, to make races less likely. - (deliver_process_signal): Rename from handle_on_main_thread. - All uses changed. - (BACKTRACE_LIMIT_MAX): Now at top level. - (thread_backtrace_buffer, threadback_backtrace_pointers): - New static vars. - (deliver_thread_signal, deliver_fatal_thread_signal): - New functions, for more-accurate delivery of thread-specific signals. - (handle_fatal_signal, deliver_fatal_signal): Move here from emacs.c. - (deliver_arith_signal): Handle in this thread, not - in the main thread, since it's triggered by this thread. - (maybe_fatal_sig): New function. - (init_signals): New arg DUMPING so that we can be more accurate - about whether we're dumping. Caller changed. - Treat thread-specific signals differently from process-general signals. - Block all signals while handling fatal error; that's safer. - xsignal from SIGFPE only on non-IEEE hosts, treating it as fatal - on IEEE hosts. - When batch, ignore SIGHUP, SIGINT, SIGTERM if they were already ignored. - Ignore SIGPIPE unless batch. - (emacs_backtrace): Output backtrace for the appropriate thread, - which is not necessarily the main thread. - * syssignal.h: Include . - (emacs_raise): New macro. - * xterm.c (x_connection_signal): Remove; no longer needed - now that we use sigaction. - (x_connection_closed): No need to mess with sigmask now. - (x_initialize): No need to reset SIGPIPE handler here, since - init_signals does this for us now. - -2012-09-23 Jan Djärv - - * nsterm.m (ns_dumpglyphs_image): dr is a new rect to draw image into, - background rect may be larger (Bug#12245). - -2012-09-23 Chong Yidong - - * keyboard.c (timer_check): Avoid quitting during Fcopy_sequence. - -2012-09-22 Paul Eggert - - * .gdbinit: Just stop at fatal_error_backtrace. - See Stefan Monnier's request in - . - Remove no-longer-used query of system type. - -2012-09-22 Chong Yidong - - * search.c (Freplace_match): Doc fix (Bug#12325). - - * minibuf.c (Finternal_complete_buffer): Doc fix (Bug#12391). - - * editfns.c (Fline_beginning_position): Doc fix (Bug#12416). - (Fline_end_position): Doc fix. - - * cmds.c (Fforward_char, Fbackward_char): Doc fix (Bug#12414). - -2012-09-22 Chong Yidong - - * dispextern.h (struct image_type): Add new slot, storing a type - initialization function. - - * image.c (define_image_type): Call the image initializer function - if it is defined. Arguments and return value changed. - (valid_image_p, make_image): Callers changed. - (xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type) - (gif_type, imagemagick_type, svg_type, gs_type): - Add initialization functions. - (Finit_image_library): Call lookup_image_type. - (CHECK_LIB_AVAILABLE): Macro deleted. - (lookup_image_type): Call define_image_type here, rather than via - Finit_image_library, and without using CHECK_LIB_AVAILABLE. - (syms_of_image): Move define_image_type calls for xbm_type and - pbm_type to lookup_image_type. - -2012-09-22 Eli Zaretskii - - * keyboard.c (timer_check_2): Move calculation of 'timers' and - 'idle_timers' from here ... - (timer_check): ... to here. Use Fcopy_sequence to copy the timer - lists, to avoid infloops when the timer does something stupid, - like reinvoke itself with the same or smaller time-out. - (Bug#12447) - -2012-09-22 Martin Rudalics - - * window.c (Fsplit_window_internal): Handle only Qt value of - Vwindow_combination_limit separately. - (Qtemp_buffer_resize): New symbol. - (Vwindow_combination_limit): New default value. - Rewrite doc-string. - -2012-09-22 Eli Zaretskii - - * xdisp.c (next_overlay_string): Initialize it->end_charpos for - the new overlay string. (Bug#10159) - -2012-09-22 Paul Eggert - - * emacs.c (shut_down_emacs): Don't assume stderr is buffered, - or that fprintf is async-signal-safe. POSIX doesn't require - either assumption. - -2012-09-22 Chong Yidong - - * buffer.c (Fset_buffer_modified_p): Handle indirect buffers - (Bug#8207). - -2012-09-22 Kenichi Handa - - * composite.c (composition_reseat_it): Handle the case that a - grapheme cluster is not covered by a single font (Bug#12352). - -2012-09-21 Chong Yidong - - * image.c (define_image_type): Avoid adding duplicate types to - image_types (Bug#12463). Suggested by Jörg Walter. - -2012-09-21 YAMAMOTO Mitsuharu - - * unexmacosx.c: Define LC_DATA_IN_CODE if not defined. - (print_load_command_name): Add case LC_DATA_IN_CODE. - (dump_it) [LC_DATA_IN_CODE]: Call copy_linkedit_data. - -2012-09-21 Glenn Morris - - * eval.c (Frun_hook_with_args_until_success) - (Frun_hook_with_args_until_failure): Doc fixes. (Bug#12393) - -2012-09-21 Andreas Schwab - - * fileio.c (Ffile_selinux_context): Only call freecon when - lgetfilecon succeeded. - (Fset_file_selinux_context): Likewise. (Bug#12444) - -2012-09-21 Eli Zaretskii - - * xdisp.c (try_window_reusing_current_matrix): Under bidi - reordering, locate the cursor by calling set_cursor_from_row; if - that fails, clear the desired glyph matrix before returning a - failure indication to the caller. Fixes leaving garbled display - when fast scrolling with a down-key. (Bug#12403) - (compute_stop_pos_backwards): Fix a typo that caused crashes while - scrolling through multibyte text. - -2012-09-20 Stefan Monnier - - * alloc.c (mark_object) : Mark prev/next_buffers *after* - calling mark_vectorlike since that's the one that marks the window. - (mark_discard_killed_buffers): Mark the final cdr. - * window.h (struct window): Move prev/next_buffers to the - non-standard fields. - * window.c (make_window): Initialize prev/next_buffers manually. - -2012-09-20 Paul Eggert - - Omit unused arg EXPECTED from socket hooks. - * keyboard.c (gobble_input, read_avail_input, tty_read_avail_input): - * nsterm.m (ns_term_init): - * termhooks.h (struct terminal.read_socket_hook): - * w32inevt.c (w32_console_read_socket): - * w32term.c (w32_read_socket): - * xterm.c (XTread_socket): - Omit unused arg EXPECTED. All callers changed. - (store_user_signal_events): Return void, not int, since callers no - longer care about the return value. All uses changed. - -2012-09-20 Juanma Barranquero - - * w32gui.h (XParseGeometry): Do not declare. - -2012-09-19 Paul Eggert - - * w32inevt.c (w32_console_read_socket): Return -1 on failure, not 0. - Ignore 'expected'. See Eli Zaretskii in - (last line). - - * frame.c (read_integer): Remove. All uses replaced by strtol/strtoul. - (XParseGeometry): Now static. Substitute extremal values for - values that are out of range. - -2012-09-19 Jan Djärv - - * w32xfns.c (read_integer, XParseGeometry): Move to frame.c. - - * nsfns.m (XParseGeometry): Remove. - (Fx_create_frame): Call x_set_offset to correctly interpret - top_pos in geometry. - - * frame.c (read_integer, XParseGeometry): Move from w32xfns.c. - (Fx_parse_geometry): If there is a space in string, call - Qns_parse_geometry, otherwise do as on other terms (Bug#12368). - -2012-09-17 Eli Zaretskii - - * search.c (scan_buffer): Use character positions in calls to - region_cache_forward and region_cache_backward, not byte - positions. (Bug#12196) - - * w32term.c (w32_read_socket): Set pending_signals to 1, like - xterm.c does. Reported by Daniel Colascione . - - * ralloc.c (r_alloc_init) [!SYSTEM_MALLOC]: Initialize - __malloc_extra_blocks to 32 instead of 64, like alloc.c did in - emacs_blocked_malloc, now deleted. - -2012-09-17 Paul Eggert - - Remove no-longer-needed Solaris 2.4 vfork bug workaround. - The workaround was for improving performance on Solaris 2.4, but - is getting in the way now. Emacs will still work if someone is - still running Solaris 2.4 in a museum somewhere; Sun dropped - support for Solaris 2.4 in 2003. - * callproc.c (Fcall_process) [HAVE_WORKING_VFORK]: - * process.c (create_process) [HAVE_WORKING_VFORK]: - Omit now-unnecessary workaround for the Solaris 2.4 vfork bug, - since Emacs no longer uses vfork on that platform. - -2012-09-17 Glenn Morris - - * emacs.c: Use COPYRIGHT. - -2012-09-16 Paul Eggert - - Remove configure's --without-sync-input option (Bug#12450). - When auditing signal-handling in preparation for cleaning it up, - I found that SYNC_INPUT has race conditions and would be a real - pain to fix. Since it's an undocumented and deprecated - configure-time option, now seems like a good time to remove it. - Also see . - * alloc.c (_bytes_used, __malloc_extra_blocks, _malloc_internal) - (_free_internal) [!DOUG_LEA_MALLOC]: Remove decls. - (alloc_mutex) [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]: - (malloc_hysteresis): - (check_depth) [XMALLOC_OVERRUN_CHECK]: - (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): - (__malloc_hook, __realloc_hook, __free_hook, BYTES_USED) - (dont_register_blocks, bytes_used_when_reconsidered) - (bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc) - (emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc): - [!SYSTEM_MALLOC && !SYNC_INPUT]: - Remove. All uses removed. - (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different - implementation, one that depends on whether the new macro - XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT - is defined. - * atimer.c (run_timers, handle_alarm_signal): - * keyboard.c (pending_signal, poll_for_input_1, poll_for_input) - (handle_async_input, process_pending_signals) - (handle_input_available_signal, init_keyboard): - * nsterm.m (ns_read_socket): - * process.c (wait_reading_process_output): - * regex.c (immediate_quit, IMMEDIATE_QUIT_CHECK): - * sysdep.c (emacs_sigaction_init) [SA_RESTART]: - (emacs_write): - * xterm.c (XTread_socket): - Assume SYNC_INPUT. - * conf_post.h (SA_RESTART) [IRIX6_5]: Do not #undef. - * eval.c (handling_signal): Remove. All uses removed. - * lisp.h (ELSE_PENDING_SIGNALS): Remove. - All uses replaced with the SYNC_INPUT version. - (reset_malloc_hooks, uninterrupt_malloc, handling_signal): - Remove decls. - * sysdep.c, syssignal.h (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]: - Now static. - - * font.c (Ffont_shape_gstring): Remove unused local. - -2012-09-16 Glenn Morris - - * Makefile.in (clean): No longer run nextstep's clean. - - * Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Remove variables. - (ns_frag): Remove. - (ns-app): Move here from ns.mk, and simplify. - (clean): Simplify nextstep entry. - * ns.mk: Remove file. - -2012-09-17 Kenichi Handa - - * font.c (Ffont_shape_gstring): Fix previous change; GLYPHs may - not covert the last few charactes. - -2012-09-16 Kenichi Handa - - * font.c (Ffont_shape_gstring): Don't adjust grapheme cluster - here, but just check the validity of glyphs in the glyph-string. - -2012-09-16 Martin Rudalics - - * window.c (Fwindow_parameter, Fset_window_parameter): - Accept any window as argument (Bug#12452). - -2012-09-16 Jan Djärv - - * nsfns.m (Fx_open_connection): Move initialization of ns_*_types - to ns_term_init to avoid memory leak. - - * nsterm.m (ns_update_begin): Initialize bp after lcokFocus, use - explicit retain/release. - (ns_term_init): Only allow one display. Initialize outerpool and - ns_*_types. - -2012-09-15 Paul Eggert - - Port _setjmp fix to POSIXish hosts as well as Microsoft. - * image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as - it's needed on POSIXish hosts that lack _setjmp. Attempt to solve - the Microsoft problem in a different way, by altering ../nt/config.nt. - -2012-09-15 Eli Zaretskii - - * w32xfns.c: - * w32uniscribe.c: - * w32term.c: - * w32select.c: - * w32reg.c: - * w32proc.c: - * w32menu.c: - * w32inevt.c: - * w32heap.c: - * w32font.c: - * w32fns.c: - * w32console.c: - * w32.c: - * w16select.c: Remove inclusion of setjmp.h, as it is now included - by lisp.h. This completes removal of setjmp.h inclusion - erroneously announced in the previous commit. (Bug#12446) - - * lisp.h [!HAVE__SETJMP, !HAVE_SIGSETJMP]: Make the commentary - more accurate. - - * image.c (_setjmp) [!HAVE__SETJMP]: Define only if 'setjmp' is - not defined as a macro. The latter happens on MS-Windows. - (Bug#12446) - -2012-09-15 Paul Eggert - - Port better to POSIX hosts lacking _setjmp (Bug#12446). - * lisp.h: Include here, since we use its symbols here. - Some instances of '#include ' removed, if the - only reason for the instance was because "lisp.h" was included. - (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols. - Unless otherwise specified, replace all uses of jmp_buf, _setjmp, - and _longjmp with the new symbols. Emacs already uses _setjmp if - available, so this change affects only POSIXish hosts that have - sigsetjmp but not _setjmp, such as some versions of Solaris and - Unixware. (Also, POSIX-2008 marks _setjmp as obsolescent.) - * image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros. - (png_load_body) [HAVE_PNG]: - (PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]: - (PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]: - Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp, - since PNG requires jmp_buf. This is the only exception to the - general rule that we now use sys_setjmp and sys_longjmp. - This exception is OK since this code does not change the signal - mask or longjmp out of a signal handler. - -2012-09-14 Paul Eggert - - * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]: - Include "syssignal.h", for 'main_thread'. - -2012-09-14 Dmitry Antipov - - Avoid out-of-range marker position (Bug#12426). - * insdel.c (replace_range, replace_range_2): - Adjust markers before overlays, as suggested by comments. - (insert_1_both, insert_from_buffer_1, adjust_after_replace): - Remove redundant check before calling offset_intervals. - -2012-09-14 Martin Rudalics - - * xdisp.c (Fformat_mode_line): Unconditionally save/restore - current buffer (Bug#12387). - -2012-09-14 Juanma Barranquero - - * makefile.w32-in ($(BLD)/alloc.$(O)): Update dependencies. - -2012-09-13 Paul Eggert - - Use a more backwards-compatible timer format (Bug#12430). - * keyboard.c (decode_timer): Get PSECS from the 8th (origin-0) - vector element, not from the 4th, since PSECS is now at the end. - (Fcurrent_idle_time): Doc fix. - -2012-09-13 Dmitry Antipov - - Function to mark objects and remove killed buffers at once. - * alloc.c (discard_killed_buffers): Rename to ... - (mark_discard_killed buffers) ... new name. Add marking - of remaining objects. Fix comment. Adjust users. - (mark_object): Do not touch frame buffer lists here. - * frame.c (delete_frame): Reset frame buffer lists here. - -2012-09-13 Paul Eggert - - Better workaround for GNOME bug when --enable-gcc-warnings. - * emacsgtkfixed.c (G_STATIC_ASSERT): Remove, undoing last change. - Instead, disable -Wunused-local-typedefs. See Dmitry Antipov in - . - - Simplify SIGIO usage (Bug#12408). - The code that dealt with SIGIO was crufty and confusing, e.g., it - played tricks like "#undef SIGIO" but these tricks were not used - consistently. Simplify mostly by not #undeffing standard symbols, - e.g., use "defined USABLE_SIGIO" (our symbol, which we can define - or not as we please) rather than "defined SIGIO" (standard symbol - that we probably shouldn't #undef). - * conf_post.h [USG5_4]: Do not include here. - Modules that need it can include it. - [USG5_4 && emacs]: Likewise, do not include the streams stuff here. - * dispextern.h (ignore_sigio): New decl. - * emacs.c (shut_down_emacs): Invoke unrequest_sigio - unconditionally, since it's now a no-op if !USABLE_SIGIO. - * emacs.c (shut_down_emacs): - * keyboard.c (kbd_buffer_store_event_hold): - Use ignore_sigio rather than invoking 'signal' directly. - * keyboard.c (USABLE_FIONREAD && USG5_4): Include , - for FIONREAD. - (FIONREAD, SIGIO): Do not #undef. - (tty_read_avail_input): Use #error rather than a syntax error. - * process.c [USG5_4]: Include and , - for I_PIPE, used by SETUP_SLAVE_PTY. - (DATAGRAM_SOCKETS): Simplify defn, based on USABLE_FIONREAD. - * sysdep.c (croak): Remove; no longer needed. This bit of - temporary code, with Fred N. Fish's comment that it's temporary, - has been in Emacs since at least 1992! - (init_sigio, reset_sigio, request_sigio, unrequest_sigio): - Arrange for them to be no-ops in all cases when ! USABLE_SIGIO. - * syssignal.h (croak): Remove decl. - (SIGIO, SIGPOO, SIGAIO, SIGPTY): Do not #undef; that's too fragile. - * systty.h [!NO_TERMIO]: Do not include ; no longer needed - now that we're termios-only. - (FIONREAD, ASYNC) [BROKEN_FIONREAD]: Do not #undef. - * term.c (dissociate_if_controlling_tty): Use #error rather than - a run-time error. - - Work around GCC and GNOME bugs when --enable-gcc-warnings. - * emacsgtkfixed.c (G_STATIC_ASSERT): Redefine to use 'verify', - to work around GNOME bug 683906. - * image.c (jpeg_load_body) [HAVE_JPEG && lint]: Pacify gcc -Wclobber. - (struct my_jpeg_error_mgr) [HAVE_JPEG && lint]: New member fp. - This works around GCC bug 54561. - -2012-09-12 Paul Eggert - - More fixes for 'volatile' and setjmp/longjmp. - * eval.c (Fdefvar, Fcondition_case): Remove unnecessary 'volatile's. - * image.c (struct png_load_context) [HAVE_PNG]: New type. - (png_load_body) [HAVE_PNG]: - (jpeg_load_body) [HAVE_JPEG]: - New function, with most of the old parent function's body. - (png_load) [HAVE_PNG]: - (jpeg_load) [HAVE_JPEG]: - Invoke the new function, to avoid longjmp munging our locals. - (struct my_jpeg_error_mgr) [HAVE_JPEG]: New members cinfo, failure_code. - (my_error_exit) [HAVE_JPEG]: Don't trust 'setjmp' to return 2 when - longjmp is passed 2, as the C standard doesn't guarantee this. - Instead, store the failure code into mgr->failure_code. - -2012-09-12 Stefan Monnier - - * keyboard.c (read_char, requeued_events_pending_p, Finput_pending_p) - (Fdiscard_input, quit_throw_to_read_char, init_keyboard) - (syms_of_keyboard): Remove support for unread-command-char. - -2012-09-12 Eli Zaretskii - - * w32proc.c (sys_kill): If PID is our process ID and the signal is - SIGABRT, call emacs_abort. Avoids silently exiting upon assertion - violation. (Bug#12426) - -2012-09-12 Paul Eggert - - * image.c (jpeg_memory_src): Don't assume string len fits in unsigned. - -2012-09-12 Stefan Monnier - - * eval.c: Add `inhibit-debugger'. - (Qinhibit_debugger): New symbol. - (call_debugger): Bind it instead of Qdebug_on_error. - (maybe_call_debugger): Test Vinhibit_debugger. - (syms_of_eval): Define inhibit-debugger. - * xdisp.c (set_message): Don't bind Qinhibit_debug_on_message. - (syms_of_xdisp): Remove inhibit-debug-on-message. - -2012-09-11 Paul Eggert - - Avoid _setjmp/_longjmp problems with local nonvolatile variables. - If a nonvolatile local variable is written before a _longjmp to - the frame containing the variable, and is read after the _longjmp, - the value read is indeterminate. Some local variables of type - 'struct handler' and 'struct catchtag' are used in this way, so - mark each of their slots as volatile if the slot can be set before - _longjmp and read afterwards. - * lisp.h (struct handler): var and chosen_clause are now volatile. - (struct catchtag): val, next, and pdlcount are now volatile. - - * bidi.c (bidi_push_it, bidi_pop_it): - * fns.c (copy_hash_table): - * image.c (define_image_type): - * keyboard.c (kbd_buffer_store_event_hold): - * process.c (Fprocess_send_eof): - * xfaces.c (x_create_gc) [HAVE_NS]: - * xgselect.c (xg_select): - Prefer assignment to memcpy when either will do. - - * alloc.c (discard_killed_buffers): Tune and simplify a bit. - Use pointer-to-a-pointer to simplify and avoid a NILP check each - time an item is removed. No need to mark this function 'inline'; - the compiler knows better than we do. - -2012-09-11 Jan Djärv - - * nsterm.m (ns_judge_scroll_bars): Pass NO to updateFrameSize. - (updateFrameSize:): Add delay parameter to updateFrameSize, send it - to change_frame_size (Bug#12388). - (windowDidResize:): Pass YES to updateFrameSize. - - * nsterm.h: Add delay parameter to updateFrameSize. - -2012-09-11 Dmitry Antipov - - Discard killed buffers from deleted window and frame objects. - This reduces an amount of references to killed buffers and - helps GC to reclaim them faster. - * alloc.c (discard_killed_buffers): New function. - (mark_object): Use it for deleted windows and frames. - (mark_object): If symbol's value is set up for a killed buffer - or deleted frame, restore its global binding. - * data.c (swap_in_global_binding): Add GC notice. - (swap_in_symval_forwarding): Use convenient set_blv_where. - * window.c (wset_next_buffers, wset_prev_buffers): Move ... - * window.h: ... to here. - -2012-09-11 Dmitry Antipov - - Convenient macro to check whether the buffer is live. - * buffer.h (BUFFER_LIVE_P): New macro. - * alloc.c, buffer.c, editfns.c, insdel.c, lread.c, marker.c: - * minibuf.c, print.c, process.c, window.c, xdisp.c: Use it. - -2012-09-11 YAMAMOTO Mitsuharu - - * xdisp.c (right_overwritten, right_overwriting): Also handle gstring - composition cases (Bug#12364). - - * xterm.c (x_draw_glyph_string): Avoid overwriting inverted left - overhang of succeeding glyphs overlapping box cursor. - - * w32term.c (x_draw_glyph_string): Likewise. - -2012-09-11 Paul Eggert - - Simplify, document, and port floating-point (Bug#12381). - The porting part of this patch fixes bugs on non-IEEE platforms - with frexp, ldexp, logb. - * data.c, lisp.h (Qdomain_error, Qsingularity_error, Qunderflow_error): - Now static. - * floatfns.c: Simplify discussion of functions that Emacs doesn't - support, by removing commented-out code and briefly listing the - C89 functions excluded. The commented-out stuff was confusing - maintenance, e.g., we thought we needed cbrt but it was commented out. - (logb): Remove decl; no longer needed. - (isfinite): New macro, if not already supplied. - (isnan): Don't replace any existing macro. - (Ffrexp, Fldexp): Define even if !HAVE_COPYSIGN, as frexp and ldexp - are present on all C89 platforms. - (Ffrexp): Do not special-case zero, as frexp does the right thing - for that case. - (Flogb): Do not use logb, as it doesn't have the desired meaning - on hosts that use non-base-2 floating point. Instead, stick with - frexp, which is C89 anyway. Do not pass an infinity or a NaN to - frexp, to avoid getting an unspecified result. - - * xdisp.c (Qinhibit_debug_on_message): Now static. - -2012-09-10 Jan Djärv - - * nsterm.m (ns_update_begin): Set clip path to whole view by using - NSBezierPath (Bug#12131). - -2012-09-10 Chong Yidong - - * fns.c (Fdelq, Fdelete): Doc fix. - -2012-09-10 Paul Eggert - - * lisp.h (XSETINT, XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL) - (XSETFLOAT, XSETMISC): Parenthesize macro bodies. - -2012-09-09 Stefan Monnier - - * lisp.h (make_lisp_ptr): New macro to replace XSET. - (XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL, XSETFLOAT, XSETMISC): - Use it. - -2012-09-09 Eli Zaretskii - - * fringe.c (draw_fringe_bitmap_1): Don't reduce the width of the - left fringe if the window has a left margin. This avoids leaving - traces of the cursor because its leftmost pixel is not drawn over. - - * dispnew.c (update_window_line): When the left margin area of a - screen line is updated, set the redraw_fringe_bitmaps_p flag of - that screen line. (Bug#12277) - -2012-09-09 Paul Eggert - - Assume C89 or later for math functions (Bug#12381). - This simplifies the code, and makes it a bit smaller and faster, - and (most important) makes it easier to clean up signal handling - since we can stop worring about floating-point exceptions in - library code. That was a problem before C89, but the problem - went away many years ago on all practical Emacs targets. - * data.c, image.c, lread.c, print.c: - Don't include ; no longer needed. - * data.c, floatfns.c (IEEE_FLOATING_POINT): Don't worry that it - might be autoconfigured, as that never happens. - * data.c (fmod): - * doprnt.c (DBL_MAX_10_EXP): - * print.c (DBL_DIG): - Remove. C89 or later always defines these. - * floatfns.c (HAVE_MATHERR, FLOAT_CHECK_ERRNO, FLOAT_CHECK_DOMAIN) - (in_float, float_error_arg, float_error_arg2, float_error_fn_name) - (arith_error, domain_error, domain_error2): - Remove all this pre-C89 cruft. Do not include as that's - no longer needed -- we simply return what C returns. All uses removed. - (IN_FLOAT, IN_FLOAT2): Remove. All uses replaced with - the wrapped code. - (FLOAT_TO_INT, FLOAT_TO_INT2, range_error, range_error2): - Remove. All uses expanded, as these macros are no longer used - more than once and are now more trouble than they're worth. - (Ftan): Use tan, not sin / cos. - (Flogb): Assume C89 frexp. - (fmod_float): Assume C89 fmod. - (matherr) [HAVE_MATHERR]: Remove; no longer needed. - (init_floatfns): Remove. All uses removed. - -2012-09-08 Jan Djärv - - * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Take back - compositeToPoint for OSX < 10.6 (Bug#12390). - -2012-09-08 Paul Eggert - - * floatfns.c (Ftan): Use tan (x), not (sin (x) / cos (x)). - This produces more-accurate results. - -2012-09-08 Jan Djärv - - * nsterm.m (updateFrameSize): Call setFrame: on the view when size - changes (Bug#12088). - -2012-09-08 Chong Yidong - - * syntax.c (Fstring_to_syntax): Doc fix. - -2012-09-08 Jan Djärv - - * nsterm.m (ns_clip_to_row): Remove code that deals with drawing fringe - in the internal border. - (x_set_window_size): Remove static variables and their usage. - (ns_redraw_scroll_bars): Fix NSTRACE arg. - (ns_after_update_window_line, ns_draw_fringe_bitmap): - Remove fringe/internal border adjustment (Bug#11052). - (ns_draw_fringe_bitmap): Make code more like other terms (xterm.c). - (ns_draw_window_cursor): Remove fringe/internal border adjustment. - (ns_fix_rect_ibw): Remove. - (ns_get_glyph_string_clip_rect): Remove call to ns_fix_rect_ibw. - (ns_dumpglyphs_box_or_relief): Ditto. - (ns_maybe_dumpglyphs_background): Remove fringe/internal border - adjustment. - (ns_dumpglyphs_image): Ditto. - (ns_dumpglyphs_stretch): Fix coding style. Remove fringe/internal - border adjustment. - (ns_set_vertical_scroll_bar): Remove variables barOnVeryLeft/Right and - their usage. Add fringe_extended_p and its use as in other terms. - (ns_judge_scroll_bars): Code style fix. Call updateFrameSize if - scroll bar was removed. - (updateFrameSize): New function. - (windowDidResize): Move code to updateFrameSize and call it. - - * nsterm.h (EmacsView): Add updateFrameSize. - -2012-09-07 Chong Yidong - - * textprop.c (Fget_text_property): Minor doc fix (Bug#12323). - - * data.c (Flocal_variable_if_set_p): Doc fix (Bug#10713). - -2012-09-07 Paul Eggert - - More signal-handler cleanup (Bug#12327). - * emacs.c (main): Convert three 'signal' calls to 'sigaction' calls. - Problem introduced when merging patches. Noted by Eli Zaretskii in - . - * floatfns.c: Comment fix. - * lisp.h (force_auto_save_soon): Declare regardless of SIGDANGER. - SIGDANGER might not be in scope so "#ifdef SIGDANGER" is not right, - and anyway the declaration is harmless even if SIGDANGER is not defined. - * syssignal.h (SIGIO): Also #undef if (! defined FIONREAD || - defined BROKEN_FIONREAD). systty.h formerly did this, but other - source files not surprisingly expected syssignal.h to define, or - not define, SIGIO, and it's cleaner to do it that way, for consistency. - Include , for FIONREAD. - * systty.h (SIGIO): Do not #undef here; it's now syssignal.h's job. - This eliminates a problem whereby other files mysteriously had - to include "syssignal.h" before including "systty.h" if they - wanted to use "#ifdef SIGIO". - -2012-09-07 Eli Zaretskii - - * w32proc.c (sigaction): New function, emulates Posix 'sigaction'. - - * w32.c (sigemptyset): Empty the set. - (sigsetmask, sigmask, sigblock, sigunblock): Remove unused functions. - - * alloc.c [ENABLE_CHECKING]: Include signal.h, since we need SIGABRT. - -2012-09-07 Dmitry Antipov - - * alloc.c (mark_buffer): Revert unsafe marking optimization. - (mark_object): Likewise for frame objects. - -2012-09-07 Paul Eggert - - * syssignal.h (handle_on_main_thread): Always declare, - even if FORWARD_SIGNAL_TO_MAIN_THREAD is not defined. - This ports to platforms without HAVE_PTHREAD. - -2012-09-06 Paul Eggert - - Signal-handler cleanup (Bug#12327). - Emacs's signal handlers were written in the old 4.2BSD style with - sigblock and sigmask and so forth, and this led to some - inefficiencies and confusion. Rewrite these to use - pthread_sigmask etc. without copying signal sets around. Also, - get rid of the confusing macros 'SIGNAL_THREAD_CHECK' and - 'signal', and instead use functions that do not attempt to take - over the system name space. This patch causes Emacs's text - segment to shrink by 0.7% on my platform, Fedora 17 x86-64. - * alloc.c, emacsgtkfixed.c, nsfns.m, widget.c, xmenu.c: - Do not include or "syssignal.h", as these - modules do not use signals. - * atimer.c, callproc.c, data.c, dispnew.c, emacs.c, floatfns.c: - * gtkutil.c, keyboard.c, process.c, sound.c, sysdep.c, term.c, xterm.c: - Do not include , as "syssignal.h" does that for us now. - * atimer.c (sigmask_atimers): New function. - (block_atimers, unblock_atimers): New functions, - replacing the old macros BLOCK_ATIMERS and UNBLOCK_ATIMERS. - All uses replaced. - * conf_post.h [SIGNAL_H_AHB]: Do not include ; - no longer needed here. - * emacs.c (main): Inspect existing signal handler with sigaction, - so that there's no need to block and unblock SIGHUP. - * sysdep.c (struct save_signal): New member 'action', replacing - old member 'handler'. - (save_signal_handlers, restore_signal_handlers): - Use sigaction instead of 'signal' to save and restore. - (get_set_sighandler, set_sighandler) [!WINDOWSNT]: - New function. All users of 'signal' modified to use set_sighandler - if they're writeonly, and to use sys_signal if they're read+write. - (emacs_sigaction_init, forwarded_signal): New functions. - (sys_signal): Remove. All uses replaced by calls to sigaction - and emacs_sigaction_init, or by direct calls to 'signal'. - (sys_sigmask) [!__GNUC__]: Remove; no longer needed. - (sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove; - all uses replaced by pthread_sigmask etc. calls. - * syssignal.h: Include . - (emacs_sigaction_init, forwarded_signal): New decls. - (SIGMASKTYPE): Remove. All uses replaced by its definiens, sigset_t. - (SIGEMPTYMASK): Remove; all uses replaced by its definiens, empty_mask. - (sigmask, sys_sigmask): Remove; no longer needed. - (sigpause): Remove. All uses replaced by its definiens, sigsuspend. - (sigblock, sigunblock, sigfree): - (sigsetmask) [!defined sigsetmask]: - Remove. All uses replaced by pthread_sigmask. - (signal): Remove. Its remaining uses (with SIG_DFL and SIG_IGN) - no longer need to be replaced, and its typical old uses - are now done via emacs_sigaction_init and sigaction. - (sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove decls. - (sys_sigdel): Remove; unused. - (NSIG): Remove a FIXME; the code's fine. Remove an unnecessary ifdef. - -2012-09-06 Eli Zaretskii - - * process.c (CAN_HANDLE_MULTIPLE_CHILDREN): Fix a typo that broke - SIGCHLD handling on systems that don't have WNOHANG. (Bug#12327) - -2012-09-06 Dmitry Antipov - - Explicitly mark buffer_defaults and buffer_local_symbols. - * alloc.c (Fgarbage_collect): Mark buffer_defaults and - mark_local_symbols here. - (mark_object): If GC_CHECK_MARKED_OBJECTS, simplify checking - since special buffers aren't marked here any more. - (allocate_buffer): Chain new buffer with all_buffers here... - * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): ...and - not here. - (Vbuffer_defaults, Vbuffer_local_symbols): Remove. - (syms_of_buffer): Remove staticpro of the above. - (init_buffer_once): Set names for buffer_defaults and - buffer_local_symbols. - -2012-09-06 Paul Eggert - - Use bool for booleans in font-related modules. - * font.c (font_intern_prop, font_style_to_value) - (font_style_symbolic, font_parse_xlfd, font_parse_fcname) - (generate_otf_features, font_check_otf_features, font_check_otf) - (font_match_p, font_list_entities, font_at): - * fontset.c (fontset_id_valid_p, reorder_font_vector - (fontset_find_font, Fset_fontset_font) - (face_suitable_for_char_p) [0]: - * ftfont.c (fc_initialized, ftfont_get_open_type_spec) - (ftfont_open, ftfont_text_extents, ftfont_check_otf): - (m17n_flt_initialized, ftfont_shape_by_flt): - * ftxfont.c (ftxfont_draw_bitmap, ftxfont_draw): - * nsfont.m (nsfont_draw): - * w32font.c (w32font_draw): - * w32term.c (x_draw_glyphless_glyph_string_foreground): - Use bool for booleans. - * font.h: Adjust to above API changes. - (struct font, struct font_driver, struct font_driver_list): - Use bool for booleans. - (struct font): Remove useless member encoding_type. - All users removed. - * fontset.c, xftfont.c: Omit unnecessary static decls. - -2012-09-06 Dmitry Antipov - - * alloc.c (mark_object): Revert window marking code - since it's unsafe for the Fset_window_configuration. - -2012-09-05 Paul Eggert - - Fix race conditions with signal handlers and errno (Bug#12327). - Be more systematic about preserving errno whenever a signal - handler returns, even if it's not in the main thread. Do this by - renaming signal handlers to distinguish between signal delivery - and signal handling. All uses changed. - * atimer.c (deliver_alarm_signal): Rename from alarm_signal_handler. - * data.c (deliver_arith_signal): Rename from arith_error. - * dispnew.c (deliver_window_change_signal): Rename from - window_change_signal. - * emacs.c (deliver_error_signal): Rename from fatal_error_signal. - (deliver_danger_signal) [SIGDANGER]: Rename from memory_warning_signal. - * keyboard.c (deliver_input_available_signal): Rename from - input_available_signal. - (deliver_user_signal): Rename from handle_user_signal. - (deliver_interrupt_signal): Rename from interrupt_signal. - * process.c (deliver_pipe_signal): Rename from send_process_trap. - (deliver_child_signal): Rename from sigchld_handler. - * atimer.c (handle_alarm_signal): - * data.c (handle_arith_signal): - * dispnew.c (handle_window_change_signal): - * emacs.c (handle_fatal_signal, handle_danger_signal): - * keyboard.c (handle_input_available_signal): - * keyboard.c (handle_user_signal, handle_interrupt_signal): - * process.c (handle_pipe_signal, handle_child_signal): - New functions, with the actual signal-handling code taken from the - original respective signal handlers, sans the sporadic attempts to - preserve errno, since that's now done by handle_on_main_thread. - * atimer.c (alarm_signal_handler): Remove unnecessary decl. - * emacs.c, floatfns.c, lisp.h: Remove unused FLOAT_CATCH_SIGKILL cruft. - * emacs.c (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]: - Move to sysdep.c. - (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: - Move initialization of main_thread to sysdep.c's init_signals. - * process.c (waitpid) [!WNOHANG]: #define to wait; that's good enough for - our usage, and simplifies the mainline code. - (record_child_status_change): New static function, as a helper - for handle_child_signal, and with most of the old child handler's - contents. - (CAN_HANDLE_MULTIPLE_CHILDREN): New constant. - (handle_child_signal): Use the above. - * sysdep.c (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]: - Moved here from emacs.c. - (init_signals) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it; - code moved here from emacs.c's main function. - * sysdep.c, syssignal.h (handle_on_main_thread): New function, - replacing the old SIGNAL_THREAD_CHECK. All uses changed. - This lets callers save and restore errno properly. - -2012-09-05 Dmitry Antipov - - Remove redundant or unused things here and there. - * lisp.h (CYCLE_CHECK, CHAR_TABLE_TRANSLATE): Remove. - * conf_post.h (RE_TRANSLATE): Use char_table_translate. - * editfns.c (Fcompare_buffer_substrings): Likewise. - * frame.h (struct terminal, struct font_driver_list): - Remove redundant declarations. - * window.h (Qleft, Qright): Likewise. - -2012-09-05 Dmitry Antipov - - Do not mark objects from deleted buffers, windows and frames. - * alloc.c (mark_buffer): Mark just the buffer if it is dead. - (mark_object): Likewise for windows and frames. - -2012-09-05 Dmitry Antipov - - * alloc.c (valid_lisp_object_p): Treat killed buffers, - buffer_defaults and buffer_local_symbols as valid objects. - Return special value to denote them. - -2012-09-05 Paul Eggert - - * fileio.c, filelock.c, floatfns.c, fns.c: Use bool for boolean. - * fileio.c (auto_saving, auto_save_error_occurred, make_temp_name) - (Fexpand_file_name, barf_or_query_if_file_exists, Fcopy_file) - (file_name_absolute_p, Fsubstitute_in_file_name): - (check_executable, check_writable, Ffile_accessible_directory_p) - (Fset_file_selinux_context, Fdefault_file_modes) - (Finsert_file_contents, choose_write_coding_system) - (Fwrite_region, build_annotations, a_write, e_write) - (Fdo_auto_save): - * filelock.c (boot_time_initialized, get_boot_time) - (get_boot_time_1, lock_file_1, within_one_second): - * floatfns.c (in_float): - * fns.c (concat, internal_equal, Frequire, base64_encode_1) - (base64_decode_1, cmpfn_eql, cmpfn_user_defined) - (sweep_weak_table, sweep_weak_hash_tables, secure_hash): - * lisp.h (struct Lisp_Hash_Table.cmpfn): - * window.c (compare_window_configurations): - Use bool for booleans. - * fileio.c (auto_saving_dir_umask, auto_saving_mode_bits) - (Fdefault_file_modes): Now mode_t, not int, for modes. - (Fdo_auto_save): Set a boolean to 1 rather than using ++. - (internal_delete_file): Now returns void, not a (boolean) int, - since nobody was looking at the return value. - * lisp.h, window.h: Adjust to above API changes. - - * xdisp.c (set_message): Simplify and reindent last change. - -2012-09-05 Juanma Barranquero - - * makefile.w32-in ($(BLD)/sysdep.$(O)): Update dependencies. - -2012-09-04 Lars Ingebrigtsen - - * eval.c (call_debugger): Make the function non-static so that we - can call it from set_message. - - * xdisp.c (set_message): Implement the new variable `debug-on-message'. - (syms_of_xdisp): Defvar it and `inhibit-debug-on-message'. - -2012-09-04 Paul Eggert - - Give more-useful info on a fatal error (Bug#12328). - * alloc.c [ENABLE_CHECKING]: Do not include . - (die) [ENABLE_CHECKING]: Call fatal_error_backtrace instead - of doing the work ourselves. - * emacs.c (fatal_error_signal): Let fatal_error_backtrace - do most of the work. - (fatal_error_backtrace): New function, taken from the guts - of the old fatal_error_signal, but with a new option to output - a backtrace. - (shut_down_emacs) [!DOS_NT]: Use strsignal to give more-useful - info about the signal than just its number. - * lisp.h (fatal_error_backtrace, emacs_backtrace): New decls. - * sysdep.c: Include - (emacs_backtrace): New function, taken partly from the previous - code of the 'die' function. - (emacs_abort): Call fatal_error_backtrace rather than abort. - -2012-09-04 Stefan Monnier - - * lread.c (readevalloop): Call internal-macroexpand-for-load to perform - eager (load-time) macro-expansion. - * lisp.mk (lisp): Add macroexp. - -2012-09-04 Paul Eggert - - Simplify redefinition of 'abort' (Bug#12316). - Do not try to redefine the 'abort' function. Instead, redo - the code so that it calls 'emacs_abort' rather than 'abort'. - This removes the need for the NO_ABORT configure-time macro - and makes it easier to change the abort code to do a backtrace. - * .gdbinit: Just stop at emacs_abort, not at w32_abort or abort. - * emacs.c (abort) [!DOS_NT && !NO_ABORT]: - Remove; sysdep.c's emacs_abort now takes its place. - * lisp.h (emacs_abort): New decl. All calls from Emacs code to - 'abort' changed to use 'emacs_abort'. - * msdos.c (dos_abort) [defined abort]: Remove; not used. - (abort) [!defined abort]: Rename to ... - (emacs_abort): ... new name. - * sysdep.c (emacs_abort) [!HAVE_NTGUI]: New function, taking - the place of the old 'abort' in emacs.c. - * w32.c, w32fns.c (abort): Do not #undef. - * w32.c (emacs_abort): Rename from w32_abort. - -2012-09-04 Eli Zaretskii - - * w32uniscribe.c (uniscribe_shape): Reverse the sign of - offsets[j].dv, since the y axis of the screen coordinates points - down, while the y axis of the font definition coordinates points - up. This fixes display of Arabic diacritics such as KASRA and - KASRATAN. (Bug#11860) - -2012-09-04 Paul Eggert - - Be more systematic about _setjmp vs setjmp. - * alloc.c (test_setjmp, mark_stack): - * image.c (PNG_LONGJMP) [PNG_LIBPNG_VER < 10500]: - (PNG_JMPBUF) [! (PNG_LIBPNG_VER < 10500)]: - (png_load, my_error_exit, jpeg_load): - * process.c (send_process_trap, send_process): - Uniformly prefer _setjmp and _longjmp to setjmp and longjmp. - The underscored versions are up to 30x faster on some hosts. - Formerly, the code used setjmp+longjmp sometimes and - _setjmp+_longjmp at other times, with no particular reason to - prefer setjmp+longjmp. - -2012-09-03 Paul Eggert - - Fix minor problem found by static checking. - * buffer.c (Fdelete_all_overlays): Return nil. - -2012-09-03 Martin Rudalics - - * buffer.c (Fdelete_all_overlays): New function. - -2012-09-03 Chong Yidong - - * gtkutil.c: Add extern decl for Qxft. - -2012-09-02 Paul Eggert - - * emacs.c, eval.c: Use bool for boolean. - * emacs.c (initialized, inhibit_window_system, running_asynch_code): - (malloc_using_checking) [DOUG_LEA_MALLOC]: - (display_arg) [HAVE_X_WINDOWS || HAVE_NS]: - (noninteractive, no_site_lisp, fatal_error_in_progress, argmatch) - (main, decode_env_path, Fdaemon_initialized): - * eval.c (call_debugger, Finteractive_p, interactive_p): - (unwind_to_catch, Fsignal, wants_debugger, skip_debugger) - (maybe_call_debugger, Fbacktrace): - * process.c (read_process_output, exec_sentinel): - Use bool for booleans. - * emacs.c (shut_down_emacs): Omit unused boolean argument NO_X. - All callers changed. - * eval.c (interactive_p): Omit always-true boolean argument - EXCLUDE_SUBRS_P. All callers changed. - * dispextern.h, lisp.h: Reflect above API changes. - * firstfile.c (dummy): Use the address of 'main', whose signature - won't change, instead of the address of 'initialize', whose - signature just changed from int to bool. - * lisp.h (fatal_error_in_progress): New decl of boolean, moved here ... - * msdos.c (fatal_error_in_progress): ... from here. - * xdisp.c (redisplaying_p): Now a boolean. Set it to 1 instead - of incrementing it. - (redisplay_internal, unwind_redisplay): Simply clear - REDISPLAYING_P when unwinding, instead of saving its previous, - always-false value and then restoring it. - - Clean up some extern decls. - Mostly, this hoists extern decls out of .c files and into .h files. - That way, we're more likely to catch errors if the interfaces change. - * alloc.c [USE_GTK]: Include "gtkutil.h" so that we need not - declare xg_mark_data. - * dispextern.h (x_frame_parm_handlers): - * font.h (Qxft): - * lisp.h (Qlexical_binding, Qinternal_interpreter_environment) - (Qextra_light, Qlight, Qsemi_light, Qsemi_bold, Qbold, Qextra_bold) - (Qultra_bold, Qoblique, Qitalic): - Move extern decl here from .c file. - * alloc.c (xg_mark_data) [USE_GTK]: - * doc.c (Qclosure): - * eval.c (Qlexical_binding): - * fns.c (time) [!HAVE_UNISTD_H]: - * gtkutil.c (Qxft, Qnormal, Qextra_light, Qlight, Qsemi_light) - (Qsemi_bold, Qbold, Qextra_bold, Qultra_bold, Qoblique, Qitalic): - * image.c (Vlibrary_cache, QCloaded_from) [HAVE_NTGUI]: - * lread.c (Qinternal_interpreter_environment): - * minibuf.c (Qbuffer): - * process.c (QCfamily, QCfilter): - * widget.c (free_frame_faces): - * xfaces.c (free_frame_menubar) [USE_X_TOOLKIT]: - * xfont.c (x_clear_errors): - * xterm.c (x_frame_parm_handlers): - Remove now-redundant extern decls. - * keyboard.c, keyboard.h (ignore_mouse_drag_p) [USE_GTK || HAVE_NS]: - * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic): - Now static. - * xfaces.c: Remove unnecessary static decls. - * xterm.c (updating_frame): Remove decl of nonexistent object. - - * Makefile.in (gl-stamp): Don't scan $(SOME_MACHINE_OBJECTS) - when building globals.h, as the objects that are not built on - this host are not needed to compile C files on this host. - -2012-09-02 Jan Djärv - - * gtkutil.h: Remove prototype for x_wm_set_size_hint. - - * frame.h: Add missing prototype for x_wm_set_size_hint. - -2012-09-02 Paul Eggert - - * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean. - * doc.c (read_bytecode_char, get_doc_string, reread_doc_file) - (Fdocumentation, Fdocumentation_property, Fsnarf_documentation) - (Fsubstitute_command_keys): - * editfns.c (region_limit, find_field, Fconstrain_to_field) - (save_excursion_save, save_excursion_restore) - (disassemble_lisp_time, decode_time_components, emacs_nmemftime) - (format_time_string, general_insert_function) - (make_buffer_string, make_buffer_string_both) - (Fsubst_char_in_region, Ftranslate_region_internal, Fformat): - * insdel.c (check_markers, gap_left, adjust_markers_for_insert) - (copy_text, insert_1, insert_1_both, insert_from_string) - (insert_from_string_before_markers, insert_from_string_1) - (insert_from_buffer, insert_from_buffer_1, replace_range) - (replace_range_2, del_range_1, del_range_byte, del_range_both) - (del_range_2, modify_region): - * intervals.c (intervals_equal, balance_possible_root_interval) - (adjust_intervals_for_insertion, merge_properties_sticky) - (graft_intervals_into_buffer, lookup_char_property) - (adjust_for_invis_intang, set_point_both) - (get_property_and_range, compare_string_intervals) - (set_intervals_multibyte_1, set_intervals_multibyte): - * keyboard.c (decode_timer): - Use bool for boolean. - * intervals.h, lisp.h, systime.h: Reflect above API changes. - * editfns.c (struct info): Use 1-bit unsigned bitfields for booleans. - -2012-09-02 Chong Yidong - - * keymap.c (push_key_description): Print M-TAB as C-M-i - (Bug#11758). - -2012-09-02 Juanma Barranquero - - * makefile.w32-in (CCL_H, W32FONT_H): New macros. - (ATIMER_H, FONT_H, $(BLD)/alloc.$(O), $(BLD)/callproc.$(O)) - ($(BLD)/editfns.$(O), $(BLD)/ccl.$(O), $(BLD)/chartab.$(O)) - ($(BLD)/coding.$(O), $(BLD)/sysdep.$(O), $(BLD)/fontset.$(O)) - ($(BLD)/sysdep.$(O), $(BLD)/w32fns.$(O), $(BLD)/keyboard.$(O)) - ($(BLD)/w32term.$(O), $(BLD)/w32menu.$(O), $(BLD)/process.$(O)) - ($(BLD)/w32font.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies. - -2012-09-01 Eli Zaretskii - - * w32uniscribe.c (uniscribe_shape): Handle correctly the case of - more than one grapheme cluster passed to the shaper: compute the - offset adjustment values separately for each cluster. (Bug#11860) - - * image.c: Restore mistakenly removed inclusion of w32.h. Without - it, GCC doesn't see prototypes of w32_delayed_load, and complains - about implicit conversions from integer to pointer. - -2012-09-01 Daniel Colascione - - * w32fns.c (x_display_info_for_name): Prevent crash if w32 window - system used too early. - -2012-09-01 Paul Eggert - - Better seed support for (random). - * emacs.c (main): Call init_random. - * fns.c (Frandom): Set the seed from a string argument, if given. - Remove long-obsolete Gentzel cruft. - * lisp.h, sysdep.c (seed_random): Now takes address and size, not long. - (init_random): New function. - -2012-09-01 Daniel Colascione - - * xterm.h: Add header guards. Declare x_menubar_window_to_frame. - Remove x_set_frame_alpha, x_bitmap_icon, x_make_frame_visible, - x_make_frame_invisible, x_iconify_frame, x_free_frame_resources, - x_wm_set_size_hint, x_query_colors, x_real_positions, - x_set_menu_bar_lines, x_char_width, x_char_height, x_sync, - x_set_tool_bar_lines, x_activate_menubar, and free_frame_menubar, - all of which have been moved to common code. - - * xfaces.c: Include TERM_HEADER instead of listing all possible - window-system headers. - - * w32xfns.c (x_sync): Correct definition of x_sync (a no-op here) - to match header. - - * w32term.h (FRAME_X_WINDOW): Use FRAME_W32_WINDOW instead of - directly accessing frame internals. - - * w32font.h: Include font.h. Define syms_of_w32font and - globals_of_w32font. - - * process.c: Include TERM_HEADER instead of listing all possible - window-system headers. - - * nsterm.h: Remove declarations now in frame.h. - Define FRAME_X_SCREEN, FRAME_X_VISUAL. - - * menu.c: Include TERM_HEADER instead of listing all possible - window-system headers. - - * keyboard.h: Declare ignore_mouse_drag_p whenever we have a - window system. - - * keyboard.c: Include TERM_HEADER instead of listing all possible - window-system headers. - - * image.c: Include TERM_HEADER instead of listing all possible - window-system headers. Declare Vlibrary_cache when compiling for - Windows. - - * gtkutil.h (xg_list_node_): Include xterm.h to pick up needed - window system declarations. - - * frame.h: Move common functions here: set_frame_menubar, - x_set_window_size, x_sync, x_get_focus_frame, - x_set_mouse_position, x_set_mouse_pixel_position, - x_make_frame_visible, x_make_frame_invisible, x_iconify_frame, - x_char_width, x_char_height, x_pixel_width, x_pixel_height, - x_set_frame_alpha, x_set_menu_bar_lines, x_set_tool_bar_lines, - x_activate_menubar, x_real_positions, x_bitmap_icon, - x_set_menu_bar_lines, free_frame_menubar, x_free_frame_resources, - and x_query_colors. - - * frame.c: Include TERM_HEADER instead of listing all possible - window-system headers. - - * font.c: Include TERM_HEADER instead of listing all possible - window-system headers. - - * emacs.c: Include TERM_HEADER. - - * dispnew.c: Include TERM_HEADER instead of listing all possible - window-system headers. - - * ccl.h: Include character.h. - - * Makefile.in: Define WINDOW_SYSTEM_OBJ to hold objects needed for - the current window system; include in list of objects to link into - Emacs. - -2012-08-31 Dmitry Antipov - - Remove mark_ttys function and fix tty_display_info initialization. - * lisp.h (mark_ttys): Remove prototype. - * alloc.c (Fgarbage_collect): Remove redundant (and the only) call - to mark_ttys because all possible values of 'top_frame' slot are - the frames which are reachable from Vframe_list. - * term.c (mark_ttys): Remove. - (init_tty): Safely initialize 'top_frame' slot with Qnil. - -2012-08-31 Dmitry Antipov - - Change struct frame bitfields from unsigned char to unsigned. - * frame.h (struct frame): Change type of 'display_preempted', - 'visible', 'iconified', 'has_minibuffer', 'wants_modeline', - 'auto_raise', 'auto_lower', 'no_split', 'explicit_name', - 'window_sizes_changed', 'mouse_moved' and 'pointer_invisible' - bitfields from unsigned char to unsigned. - -2012-08-31 Dmitry Antipov - - Remove unused member of struct x_output and struct w32_output. - * xterm.h (struct x_output): Remove unused field 'needs_exposure'. - * w32term.h (struct w32_output): Likewise. - -2012-08-30 Jan Djärv - - * gtkutil.c (x_wm_set_size_hint): Use 1 col for base_width so it - does not become zero (Bug#12234). - -2012-08-30 Paul Eggert - - * dispnew.c (update_frame_1): Pacify gcc -Wstrict-overflow - for GCC 4.7.1 x86-64. - -2012-08-30 Glenn Morris - - * lread.c (init_lread): For out-of-tree builds, only add the - source directory's site-lisp dir to the load-path if it exists, - consistent with in-tree builds. (Bug#12302) - -2012-08-28 Jan Djärv - - * nsmenu.m (initWithContentRect:styleMask:backing:defer:): Initialize - button_values to NULL. Call setStykeMask so dialogs get a close button. - (windowShouldClose:): Set window_closed. - (dealloc): New member, free button_values. - (process_dialog:): Make member function. Remove window argument, - replace window with self. Count buttons and allocate and store values - in button_values. - (addButton:value:row:): value is int with the name tag. Call setTag - with tag. Remove return self, declare return value as void. - (addString:row:): Remove return self, declare return value as void. - (addSplit): Remove return self, declare return value as void. - (clicked:): Remove return self, declare return value as void. - Set dialog_return to button_values[seltag]. Code formatting change. - (initFromContents:isQuestion:): Adjust call to process_dialog. - Code formatting change. - (timeout_handler:): Set timer_fired to YES. - (runDialogAt:): Set timer_fired to NO. - Handle click on close button as quit. - - * nsterm.h (EmacsDialogPanel): Make timer_fired BOOL. - Add window_closed and button_values. Add void as return value for - add(Button|String|Split). addButton takes int instead of Lisp_Object. - Add process_dialog as new member. - -2012-08-28 Eli Zaretskii - - * ralloc.c (free_bloc): Don't dereference a 'heap' structure if it - is not one of the heaps we manage. (Bug#12242) - -2012-08-28 Glenn Morris - - * eval.c (Fcalled_interactively_p): Doc fix. (Bug#11747) - -2012-08-28 Martin Rudalics - - * window.c (Fset_window_configuration): Remove handling of - auto-buffer-name window parameter. Install revision of reverted - fix. - -2012-08-28 Dmitry Antipov - - Do not allow to set major mode for a dead buffer. - * buffer.c (Fset_buffer_major_mode): Signal an error - if the buffer is dead. - (Fother_buffer, other_buffer_safely): Remove redundant - nested declaration. - -2012-08-28 Dmitry Antipov - - Always use set_buffer_if_live to restore original buffer at unwind. - * buffer.h (record_unwind_current_buffer): New function. - * bytecode.c, dispnew.c, editfns.c, fileio.c, fns.c, insdel.c: - * keyboard.c, keymap.c, minibuf.c, print.c, process.c, textprop.c: - * undo.c, window.c: Adjust users. - * buffer.c (set_buffer_if_live): Fix comment. - -2012-08-28 Dmitry Antipov - - Fix usage of set_buffer_internal. - * buffer.h (set_buffer_internal): Make it BUFFER_INLINE. - * buffer.c (set_buffer_if_live): Use set_buffer_internal. - * coding.c (decode_coding): Omit redundant test. - * fileio.c (decide_coding_unwind): Likewise. - * fns.c (secure_hash): Likewise. - * insdel.c (modify_region): Likewise. - * keyboard.c (command_loop_1): Likewise. - * print.c (PRINTFINISH): Likewise. - * xdisp.c (run_window_scroll_functions): Use set_buffer_internal. - -2012-08-27 Paul Eggert - - * dispnew.c: Use bool for boolean. - (frame_garbaged, display_completed, delayed_size_change) - (fonts_changed_p, add_window_display_history) - (add_frame_display_history, verify_row_hash) - (adjust_glyph_matrix, clear_window_matrices, glyph_row_slice_p) - (row_equal_p, realloc_glyph_pool) - (allocate_matrices_for_frame_redisplay) - (showing_window_margins_p) - (adjust_frame_glyphs_for_frame_redisplay) - (build_frame_matrix_from_leaf_window, make_current) - (mirrored_line_dance, mirror_line_dance, update_frame) - (update_window_tree, update_single_window) - (check_current_matrix_flags, update_window, update_text_area) - (update_window_line, set_window_update_flags, scrolling_window) - (update_frame_1, scrolling, buffer_posn_from_coords) - (do_pending_window_change, change_frame_size) - (change_frame_size_1, sit_for): - Use bool for boolean. - (clear_glyph_matrix_rows): Rename from enable_glyph_matrix_rows, - and remove last int (actually boolean) argument, which was always 0. - All callers changed. - * dispextern.h, frame.h, lisp.h: Reflect above API changes. - * dispextern.h (struct composition_it): Use bool for boolean. - (struct glyph_matrix): Don't assume buffer sizes can fit in 'int'. - (struct bidi_it): Use unsigned:1, not int, for boolean prev_was_pdf. - * dired.c (file_name_completion): - Use bool for boolean. (This was missed in an earlier change.) - -2012-08-27 Martin Rudalics - - * window.c (Fset_window_configuration): Revert first part of - last change. - -2012-08-27 Jan Djärv - - * nsterm.h (NSPanel): New class variable dialog_return. - - * nsmenu.m (initWithContentRect:styleMask:backing:defer:): - Initialize dialog_return. - (windowShouldClose:): Use stop instead of stopModalWithCode. - (clicked:): Ditto, and also set dialog_return (Bug#12258). - (timeout_handler:): Use stop instead of abortModal. Send a dummy - event. - (runDialogAt:): Make ret Lisp_Object. Set it from dialog_return when - modal loop returns. - -2012-08-27 Paul Eggert - - * composite.c, data.c, dbusbind.c, dired.c: Use bool for booleans. - * composite.c (find_composition, composition_gstring_p) - (composition_reseat_it, find_automatic_composition): - * data.c (let_shadows_buffer_binding_p) - (let_shadows_global_binding_p, set_internal, make_blv) - (Fmake_variable_buffer_local, Fmake_local_variable) - (Fmake_variable_frame_local, arithcompare, cons_to_unsigned) - (cons_to_signed, arith_driver): - * dbusbind.c (xd_in_read_queued_messages): - * dired.c (directory_files_internal, file_name_completion): - Use bool for booleans. - * dired.c (file_name_completion): - * process.h (fd_callback): - Omit int (actually boolean) argument. It wasn't being used. - All uses changed. - * composite.h, lisp.h: Reflect above API changes. - - * cmds.c, coding.c: Use bool for booleans. - * cmds.c (move_point, Fself_insert_command): - * coding.h (struct composition status, struct coding_system): - * coding.c (detect_coding_utf_8, encode_coding_utf_8) - (detect_coding_utf_16, encode_coding_utf_16, detect_coding_emacs_mule) - (emacs_mule_char, decode_coding_emacs_mule) - (encode_coding_emacs_mule, detect_coding_iso_2022) - (decode_coding_iso_2022, encode_invocation_designation) - (encode_designation_at_bol, encode_coding_iso_2022) - (detect_coding_sjis, detect_coding_big5, decode_coding_sjis) - (decode_coding_big5, encode_coding_sjis, encode_coding_big5) - (detect_coding_ccl, encode_coding_ccl, decode_coding_raw_text) - (encode_coding_raw_text, detect_coding_charset) - (decode_coding_charset, encode_coding_charset, detect_eol) - (detect_coding, get_translation_table, produce_chars) - (consume_chars, reused_workbuf_in_use) - (make_conversion_work_buffer, code_conversion_save) - (decode_coding_object, encode_coding_object) - (detect_coding_system, char_encodable_p) - (Funencodable_char_position, code_convert_region) - (code_convert_string, code_convert_string_norecord) - (Fset_coding_system_priority): - * fileio.c (Finsert_file_contents): - Use bool for booleans. - * coding.h, lisp.h: Reflect above API changes. - * coding.c: Remove unnecessary static function decls. - (detect_coding): Use unsigned, not signed, to copy an unsigned field. - (decode_coding, encode_coding, decode_coding_gap): Return 'void', - not a boolean 'int', since callers never look at the return value. - (ALLOC_CONVERSION_WORK_AREA): Assume caller returns 'void', not 'int'. - * coding.h (decoding_buffer_size, encoding_buffer_size) - (emacs_mule_string_char): Remove unused extern decls. - (struct iso_2022_spec, struct coding_system): - Use 'unsigned int : 1' for boolean fields, since there's more than one. - (struct emacs_mule_spec): Remove unused field 'full_support'. - All initializations removed. - * cmds.c (internal_self_insert): Don't assume EMACS_INT fits in 'int'. - -2012-08-27 Dmitry Antipov - - Fix spare memory change (Bug#12286). - * alloc.c (mark_maybe_pointer): Handle MEM_TYPE_SPARE. - (valid_lisp_object_p): Likewise. - -2012-08-27 Martin Rudalics - - * window.c (Fset_window_configuration): Record any window's old - buffer if it's replaced (see Bug#8789). If the new current - buffer doesn't appear in the selected window, go to its old - point (Bug#12208). - -2012-08-27 Dmitry Antipov - - Special MEM_TYPE_SPARE to denote reserved memory. - * alloc.c (enum mem_type): New memory type. - (refill_memory_reserve): Use new type for spare memory. - This prevents live_cons_p and live_string_p from incorrect - detection of uninitialized objects from spare memory as live. - -2012-08-26 Paul Eggert - - Spelling fixes. - * Makefile.in (.PHONY): versioclean -> versionclean. - - Remove unused external symbols. - * data.c (Qcons, Qfloat, Qmisc, Qstring, Qvector): - * window.c (Qwindow_valid_p, decode_valid_window): - Now static, not extern. - * data.c (Qinterval): Remove; unused. - (syms_of_data): Do not define 'interval'. - * lisp.h (Qinteger, Qstring, Qmisc, Qvector, Qfloat, Qcons): - * window.h (decode_valid_window): - Remove decls. - - * character.c, charset.c, chartab.c: Use bool for booleans. - * character.c (lisp_string_width, string_count_byte8) - (string_escape_byte8): - * charset.c (charset_map_loaded, load_charset_map, read_hex): - (load_charset_map_from_file, map_charset_chars) - (Fdefine_charset_internal, define_charset_internal) - (Fdeclare_equiv_charset, find_charsets_in_text) - (Ffind_charset_region, char_charset, Fiso_charset): - * chartab.c (sub_char_table_ref, sub_char_table_ref_and_range) - (sub_char_table_set, sub_char_table_set_range) - (char_table_set_range, optimize_sub_char_table) - (map_sub_char_table): - Use bool for boolean. - * character.c (str_to_unibyte): Omit last boolean argument; it was - always 0. All callers changed. - * character.h, charset.h: Adjust to match previous changes. - * character.h (char_printable_p): Remove decl of nonexistent function. - * charset.h (struct charset): Members code_linear_p, iso_chars_96, - ascii_compatible_p, supplementary_p, compact_codes_p, unified_p - are all boolean, so make them single-bit bitfields. - - * lisp.h (ASET): Remove attempt to detect side effects. - It was meant to be temporary and it often doesn't work, - because when IDX has side effects the behavior of IDX==IDX - is undefined. See Stefan Monnier in - . - -2012-08-26 Barry OReilly (tiny change) - - * lisp.h (functionp): New function (extracted from Ffunctionp). - (FUNCTIONP): Use it. - * eval.c (Ffunctionp): Use it. - -2012-08-25 Paul Eggert - - * xgselect.c (xg_select): Use auto storage for the GPollFD buffer - as that's faster and simpler than static storage. Don't bother - with the g_main_context_query overhead if g_main_context_pending - says no events are pending. - (gfds, gfds_size): Remove these static vars. - (xgselect_initialize): Remove; no longer needed. - All uses and decls removed. - - * emacs.c (fatal_error_signal_hook): Remove. - All uses removed. This leftover from old code was always 0. - - * casefiddle.c, casetab.c, category.c: Use bool for boolean. - * casefiddle.c (casify_object, casify_region): - * casetab.c (set_case_table): - * category.c, category.h (word_boundary_p): - * category.h (CHAR_HAS_CATEGORY): - Use bool for booleans, instead of int. - -2012-08-25 Eli Zaretskii - - * makefile.w32-in ($(BLD)/alloc.$(O)): Depend on $(GNU_LIB)/execinfo.h. - -2012-08-25 Paul Eggert - - On assertion failure, print backtrace if available. - * alloc.c [ENABLE_CHECKING]: Include . - (die) [ENABLE_CHECKING]: Print a backtrace if available. - * Makefile.in (LIB_EXECINFO): New macro. - (LIBES): Use it. - - * bytecode.c, callint.c, callproc.c: Use bool for boolean. - * bytecode.c (exec_byte_code): - * callint.c (check_mark, Fcall_interactively): - * callproc.c (Fcall_process, add_env, child_setup, getenv_internal_1) - (getenv_internal, sync_process_alive, call_process_exited): - * lisp.h (USE_SAFE_ALLOCA): - Use bool for booleans, instead of int. - * lisp.h, process.h: Adjust prototypes to match above changes. - * callint.c (Fcall_interactively): Don't assume the mark's - offset fits in 'int'. - -2012-08-24 Paul Eggert - - * buffer.c, buffer.h: Use bool for boolean. - * buffer.c (reset_buffer_local_variables) - (buffer_lisp_local_variables, Fset_buffer_modified_p) - (Frestore_buffer_modified_p, Fset_buffer_multibyte): - (overlays_at, overlays_in, mouse_face_overlay_overlaps) - (overlay_touches_p, overlay_strings, Foverlay_put) - (report_overlay_modification, call_overlay_mod_hooks): - (mmap_enlarge, mmap_set_vars): - * buffer.h (buffer_has_overlays, uppercasep, lowercasep): - Use bool for booleans, instead of int. - * buffer.c (compact_buffer, mmap_free_1): Return void, not int, - since the 1-or-0 return value is always ignored anyway. - (mmap_initialized_p): - * buffer.h (struct buffer_text.inhibit_shrinking): Now bool, not int. - * buffer.h, lisp.h: Adjust prototypes to match above changes. - -2012-08-23 Paul Eggert - - * bidi.c: Use bool for boolean. - This is a bit more readable, and makes the text segment of bidi.o - 0.4% smaller on my platform (GCC 4.7.1 x86-64, Fedora 15). - Presumably it's faster too. - (bidi_initialized, bidi_ignore_explicit_marks_for_paragraph_level): - Now bool. - (bidi_cache_find_level_change, bidi_cache_iterator_state) - (bidi_unshelve_cache, bidi_init_it, bidi_count_bytes) - (bidi_char_at_pos, bidi_fetch_char, bidi_paragraph_init) - (bidi_explicit_dir_char, bidi_level_of_next_char) - (bidi_find_other_level_edge, bidi_move_to_visually_next): - Use bool for booleans, instead of int. - * dispextern.h (bidi_init_it, bidi_paragraph_init) - (bidi_unshelve_cache): Adjust decls to match code. - -2012-08-23 Martin Rudalics - - * keyboard.c (Fposn_at_x_y): Do not allow internal window as - argument. - -2012-08-23 Paul Eggert - - * atimer.c, atimer.h (turn_on_atimers): Use bool for boolean. - * atimer.h: Include . - -2012-08-22 Dan Nicolaescu - - * frame.h (FRAME_W32_P, FRAME_MSDOS_P, FRAME_NS_P): Change to - compile time tests instead of run time tests on systems that do - not use them. - (FRAME_MAC_P): Remove leftover from deleted code. - * frame.c (syms_of_frame): Remove leftover from deleted code. - -2012-08-22 Jan Djärv - - * nsterm.m (insertText:): Don't clear modifiers if code is space. - -2012-08-22 Paul Eggert - - * fontset.c (FONTSET_ADD): Return void, not Lisp_Object. - Otherwise, the compiler complains about (A?B:C) where B is void - and C is Lisp_Object. This fixes an incompatibility with Sun C 5.12. - (fontset_add): Return void, for FONTSET_ADD. - -2012-08-21 Paul Eggert - - * alloc.c: Use bool for booleans. - (gc_in_progress, abort_on_gc) - (setjmp_tested_p) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]: - (dont_register_blocks) [GC_MALLOC_CHECK]: - (suppress_checking) [ENABLE_CHECKING]: Now bool, not int. - (check_string_bytes, make_specified_string, memory_full) - (live_string_p, live_cons_p, live_symbol_p, live_float_p) - (live_misc_p, live_vector_p, live_buffer_p, mark_maybe_object) - (mark_stack, valid_pointer_p, make_pure_string) - (Fgarbage_collect, survives_gc_p, gc_sweep): - Use bool for booleans, instead of int. - (test_setjmp) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]: - Remove unused local. - * alloc.c (PURE_POINTER_P): - * lisp.h (STRING_MULTIBYTE): Document that it returns a boolean. - * editfns.c (Fformat): - * fileio.c (Fexpand_file_name, Fsubstitute_in_file_name) - (Fdo_auto_save): - * fns.c (sweep_weak_table): - * lisp.h (suppress_checking, push_message, survives_gc_p) - (make_pure_string, gc_in_progress, abort_on_gc): - * lread.c (readchar, read1): - * print.c (Fprin1_to_string): - * xdisp.c (push_message): - Use bool for booleans affected directly or indirectly by - alloc.c's changes. - - Make recently-introduced setters macros. - * fontset.c (set_fontset_id, set_fontset_name, set_fontset_ascii) - (set_fontset_base, set_fontset_frame, set_fontset_nofont_face) - (set_fontset_default, set_fontset_fallback): Rename from their - upper-case counterparts, and make them functions rather than macros. - This is more consistent with the other recently-introduced setters. - These don't need to be inline, since they're local. - -2012-08-21 Jan Djärv - - * nsterm.m (fd_handler:): Alloc and release a NSAutoreleasePool in - the loop (Bug#12247). - -2012-08-21 Paul Eggert - - * lisp.h (vcopy): Use memcpy rather than our own loop. - This fixes a performance regression introduced by the recent - addition of vcopy. This means 'vcopy' will need to be modified - for a copying collector, but that's OK. Also, tighten the - checking in the assertion. - -2012-08-21 Eli Zaretskii - - * w32uniscribe.c (uniscribe_shape): Fix producing gstring - components for RTL text (Bug#11860). Adjust X-OFFSET of each - non-base glyph for the width of the base character, according to - what x_draw_composite_glyph_string_foreground expects. - Generate WADJUST value according to composition_gstring_width's - expectations, to produce correct width of the composed character. - Reverse the sign of the DU offset produced by ScriptPlace. - -2012-08-21 Paul Eggert - - * dbusbind.c (xd_remove_watch): Do not assume C99 comments. - -2012-08-21 Dmitry Antipov - - Avoid direct writes to contents member of struct Lisp_Vector. - * lisp.h (vcopy): New function to copy data into vector. - * dispnew.c (Fframe_or_buffer_changed_p): Use AREF and ASET. - * fns.c (Ffillarray): Use ASET. - * keyboard.c (timer_check_2): Use AREF and ASET. - (append_tool_bar_item, Frecent_keys): Use vcopy. - * lread.c (read_vector): Use ASET. - * msdos.c (Frecent_doskeys): Use vcopy. - * xface.c (Finternal_copy_lisp_face): Use vcopy. - (Finternal_merge_in_global_face): Use ASET and vcopy. - * xfont.c (xfont_list_pattern): Likewise. - -2012-08-21 Martin Rudalics - - * window.c (Fwindow_point): For the selected window always return - the position of its buffer's point. - (Fset_window_point): For the selected window always go in its - buffer to the specified position. - -2012-08-21 Dmitry Antipov - - Setter macros for fontsets. - * fontset.c (SET_FONTSET_ID, SET_FONTSET_NAME, SET_FONTSET_ASCII) - (SET_FONTSET_BASE, SET_FONTSET_FRAME, SET_FONTSET_NOFONT_FACE) - (SET_FONTSET_DEFAULT, SET_FONTSET_FALLBACK): New macros. - Adjust users. - -2012-08-20 Glenn Morris - - * Makefile.in (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)): - Don't assume that `ln -f' works. - -2012-08-20 Eli Zaretskii - - * .gdbinit: Use "set $dummy = ..." to avoid warnings from GDB 7.5 - and later about non-assignments with no effect. See discussion at - http://sourceware.org/ml/gdb-patches/2012-08/msg00518.html for - details. - -2012-08-20 Dmitry Antipov - - Inline setter functions for Lisp_Objects slots of struct specbinding. - * eval.c (set_specpdl_symbol, set_specpdl_old_value): New functions. - Adjust users. - -2012-08-20 Martin Rudalics - - * window.c (select_window): Always make selected window's buffer - current. - -2012-08-20 Dmitry Antipov - - Use AREF and ASET for docstrings of category tables. - * category.h (CATEGORY_DOCSTRING): Use AREF. - (SET_CATEGORY_DOCSTRING): Use ASET. - * category.c (Fdefine_category): Use SET_CATEGORY_DOCSTRING. - -2012-08-20 Dmitry Antipov - - Inline setter functions for hash table members. - * lisp.h (set_hash_key, set_hash_value, set_hash_next) - (set_hash_hash, set_hash_index): Rename with _slot suffix. - (set_hash_key_and_value, set_hash_index, set_hash_next) - (set_hash_hash): New functions. - * charset.c, fns.c: Adjust users. - -2012-08-20 Dmitry Antipov - - Inline getter and setter functions for per-buffer values. - * buffer.h (per_buffer_default, set_per_buffer_default) - (per_buffer_value, set_per_buffer_value): New functions. - (PER_BUFFER_VALUE, PER_BUFFER_DEFAULT): Remove. - * buffer.c, data.c: Adjust users. - -2012-08-20 Juanma Barranquero - - * makefile.w32-in ($(BLD)/vm-limit.$(O)): Update dependencies. - -2012-08-19 Paul Eggert - - Rely on + to declare 'environ', - as gnulib does this if the system doesn't. - * callproc.c, editfns.c, process.c (environ) [!USE_CRT_DLL]: - Remove declaration. MS-Windows declares it on stdlib.h which is - included by conf_post.h. - * emacs.c (environ) [DOUG_LEA_MALLOC]: - * vm-limit.c (environ) [ORDINARY_LINK]: Remove decl. - * vm-limit.c: Include , for 'environ'. - - * unexaix.c, unexcoff.c: Include "mem-limits.h". - (start_of_data): Remove decl; mem-limits.h provides it. - - * xdisp.c (handle_invisible_prop): Make it a bit faster - and avoid a gcc -Wmaybe-uninitialized diagnostic. - -2012-08-19 Chong Yidong - - * xdisp.c (handle_invisible_prop): Fix ellipses at overlay string - ends (Bug#3874). - -2012-08-19 Andreas Schwab - - * .gdbinit: Use call instead of set when calling a function in the - inferior. - - * data.c (set_internal): Don't use set_blv_found. - (Fkill_local_variable): Likewise. - -2012-08-18 Alp Aker - - * nsfont.m (ns_ascii_average_width): Ensure the string - ascii_printable is initialized with a null-terminated character - array. Otherwise, it can contain undesired extra characters. - -2012-08-18 Paul Eggert - - port new setting code to Sun C 5.8 2005/10/13 - * chartab.c, lisp.h (char_table_set, char_table_set_range): - Return void, not Lisp_Object. Otherwise, the compiler - complains about (A?B:C) where B is void and C is Lisp_Object - when compiling CHAR_TABLE_SET, due to the recent change to - the API of sub_char_table_set_contents. - -2012-08-18 Chong Yidong - - * xdisp.c (handle_invisible_prop): Obey TEXT_PROP_MEANS_INVISIBLE - for the string case (Bug#3874). - -2012-08-18 Paul Eggert - - * buffer.h (BSET): Remove (Bug#12215). - Replace all uses with calls to new setter functions. - (bset_bidi_paragraph_direction, bset_case_canon_table) - (bset_case_eqv_table, bset_directory, bset_display_count) - (bset_display_time, bset_downcase_table) - (bset_enable_multibyte_characters, bset_filename, bset_keymap) - (bset_last_selected_window, bset_local_var_alist) - (bset_mark_active, bset_point_before_scroll, bset_read_only) - (bset_truncate_lines, bset_undo_list, bset_upcase_table) - (bset_width_table): - * buffer.c (bset_abbrev_mode, bset_abbrev_table) - (bset_auto_fill_function, bset_auto_save_file_format) - (bset_auto_save_file_name, bset_backed_up, bset_begv_marker) - (bset_bidi_display_reordering, bset_buffer_file_coding_system) - (bset_cache_long_line_scans, bset_case_fold_search) - (bset_ctl_arrow, bset_cursor_in_non_selected_windows) - (bset_cursor_type, bset_display_table, bset_extra_line_spacing) - (bset_file_format, bset_file_truename, bset_fringe_cursor_alist) - (bset_fringe_indicator_alist, bset_fringes_outside_margins) - (bset_header_line_format, bset_indicate_buffer_boundaries) - (bset_indicate_empty_lines, bset_invisibility_spec) - (bset_left_fringe_width, bset_major_mode, bset_mark) - (bset_minor_modes, bset_mode_line_format, bset_mode_name) - (bset_name, bset_overwrite_mode, bset_pt_marker) - (bset_right_fringe_width, bset_save_length) - (bset_scroll_bar_width, bset_scroll_down_aggressively) - (bset_scroll_up_aggressively, bset_selective_display) - (bset_selective_display_ellipses, bset_vertical_scroll_bar_type) - (bset_word_wrap, bset_zv_marker): - * category.c (bset_category_table): - * syntax.c (bset_syntax_table): - New setter functions. - - * process.h (PSET): Remove (Bug#12215). - Replace all uses with calls to new setter functions. - Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. - (PROCESS_INLINE): New macro. - (pset_childp): New setter function. - (pset_gnutls_cred_type) [HAVE_GNUTLS]: New setter function. - * process.c (PROCESS_INLINE): - Define to EXTERN_INLINE, so that the corresponding functions - are compiled into code. - (pset_buffer, pset_command, pset_decode_coding_system) - (pset_decoding_buf, pset_encode_coding_system) - (pset_encoding_buf, pset_filter, pset_log, pset_mark, pset_name) - (pset_plist, pset_sentinel, pset_status, pset_tty_name) - (pset_type, pset_write_queue): New setter functions. - - * window.h (WSET): Remove (Bug#12215). - Replace all uses with calls to new setter functions. - Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. - (WINDOW_INLINE): New macro. - (wset_buffer, wset_frame, wset_left_col, wset_next, wset_prev) - (wset_redisplay_end_trigger, wset_top_line, wset_total_cols) - (wset_total_lines, wset_vertical_scroll_bar) - (wset_window_end_pos, wset_window_end_valid) - (wset_window_end_vpos): New setter functions. - * window.c (WINDOW_INLINE): - Define to EXTERN_INLINE, so that the corresponding functions - are compiled into code. - (wset_combination_limit, wset_dedicated, wset_display_table) - (wset_hchild, wset_left_fringe_width, wset_left_margin_cols) - (wset_new_normal, wset_new_total, wset_next_buffers) - (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm) - (wset_prev_buffers, wset_right_fringe_width) - (wset_right_margin_cols, wset_scroll_bar_width, wset_start) - (wset_temslot, wset_vchild, wset_vertical_scroll_bar_type) - (wset_window_parameters): - * xdisp.c (wset_base_line_number, wset_base_line_pos) - (wset_column_number_displayed, wset_region_showing): - New setter functions. - - * termhooks.h (TSET): Remove (Bug#12215). - Replace all uses with calls to new setter functions. - Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. - (TERMHOOKS_INLINE): New macro. - (tset_charset_list, tset_selection_alist): New setter functions. - * terminal.c (TERMHOOKS_INLINE): - Define to EXTERN_INLINE, so that the corresponding functions - are compiled into code. - (tset_param_alist): New setter function. - -2012-08-17 Paul Eggert - - * keyboard.h (KSET): Remove (Bug#12215). - Replace all uses with calls to new setter functions. - Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. - (KEYBOARD_INLINE): New macro. - (kset_default_minibuffer_frame, kset_defining_kbd_macro) - (kset_input_decode_map, kset_last_command, kset_last_kbd_macro) - (kset_prefix_arg, kset_system_key_alist, kset_window_system): - New setter functions. - * keyboard.c (KEYBOARD_INLINE): - Define to EXTERN_INLINE, so that the corresponding functions - are compiled into code. - (kset_echo_string, kset_kbd_queue) - (kset_keyboard_translate_table, kset_last_prefix_arg) - (kset_last_repeatable_command, kset_local_function_key_map) - (kset_overriding_terminal_local_map, kset_real_last_command) - (kset_system_key_syms): New setter functions. - - * frame.h (FSET): Remove (Bug#12215). - Replace all uses with calls to new setter functions. - Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. - (FRAME_INLINE): New macro. - (fset_buffer_list, fset_buried_buffer_list, fset_condemned_scroll_bars) - (fset_current_tool_bar_string, fset_desired_tool_bar_string) - (fset_face_alist, fset_focus_frame, fset_icon_name, fset_menu_bar_items) - (fset_menu_bar_vector, fset_menu_bar_window, fset_name) - (fset_param_alist, fset_root_window, fset_scroll_bars) - (fset_selected_window, fset_title, fset_tool_bar_items) - (fset_tool_bar_position, fset_tool_bar_window): New functions. - * frame.c (FRAME_INLINE): - Define to EXTERN_INLINE, so that the corresponding functions - are compiled into code. - (fset_buffer_predicate, fset_minibuffer_window): New setter functions. - - A few more naming-convention fixes for getters and setters. - * buffer.c (set_buffer_overlays_before): Move here from buffer.h, - and rename from buffer_overlays_set_before. - (set_buffer_overlays_after): Move here from buffer.h, and rename - from buffer_overlays_set_after. - * buffer.h (buffer_intervals): Rename from buffer_get_intervals. - All uses changed. - (set_buffer_intervals): Rename from buffer_set_intervals. - * intervals.c (set_interval_object): Move here from intervals.h, - and rename from interval_set_object. - (set_interval_left): Move here from intervals.h, and rename from - interval_set_left. - (set_interval_right): Move here from intervals.h, and rename from - interval_set_right. - (copy_interval_parent): Move here from intervals.h, and rename from - interval_copy_parent. - * intervals.h (set_interval_parent): Rename from interval_set_parent. - (set_interval_plist): Rename from interval_set_plist. - Return void, not Lisp_Object, since no caller uses the result. - * lisp.h (string_intervals): Rename from string_get_intervals. - (set_string_intervals): Rename from string_set_intervals. - - * lisp.h (set_char_table_extras): Rename from char_table_set_extras. - (set_char_table_contents): Rename from char_table_set_contents. - (set_sub_char_table_contents): Rename from sub_char_table_set_contents. - All uses changed. See the end of - . - - * lisp.h (CSET): Remove (Bug#12215). - (set_char_table_ascii, set_char_table_defalt, set_char_table_parent) - (set_char_table_purpose): New functions, - replacing CSET. All uses changed. For example, replace - "CSET (XCHAR_TABLE (char_table), parent, parent);" with - "set_char_table_parent (char_table, parent);". - The old version was confusing because it used the same name - 'parent' for two different things. - -2012-08-17 Dmitry Antipov - - Functions to get and set Lisp_Object fields of buffer-local variables. - * lisp.h (blv_found, set_blv_found, blv_value, set_blv_value) - (set_blv_where, set_blv_defcell, set_blv_valcell): New functions. - (BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): Remove. - * data.c, eval.c, frame.c: Adjust users. - -2012-08-17 Chong Yidong - - * xfaces.c (merge_face_vectors): If the target font specfies a - font spec, make the font's attributes take precedence over - directly-specified attributes. - (merge_face_ref): Recognize :font. - -2012-08-17 Dmitry Antipov - - Do not use memcpy for copying intervals. - * intervals.c (reproduce_interval): New function. - (reproduce_tree, reproduce_tree_obj): Use it. - (reproduce_tree_obj): Remove prototype. - -2012-08-17 Paul Eggert - - * lisp.h (duration_to_sec_usec): Remove unused decl. - -2012-08-17 Alp Aker - - * nsfont.m (ns_ascii_average_width): Send initWithFormat selector - to an allocated instance of NSString, not to the class itself. - -2012-08-17 Juanma Barranquero - - * makefile.w32-in (C_CTYPE_H): New macro. - (LISP_H, $(BLD)/ccl.$(O), $(BLD)/doc.$(O), $(BLD)/w32console.$(O)): - ($(BLD)/fontset.$(O), $(BLD)/frame.$(O), $(BLD)/composite.$(O)): - ($(BLD)/sysdep.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies. - -2012-08-16 Paul Eggert - - Use ASCII tests for character types. - * category.c, dispnew.c, doprnt.c, editfns.c, syntax.c, term.c: - * xfns.c, xterm.c: - Don't include ; was not needed. - * charset.c, doc.c, fileio.c, font.c, frame.c, gtkutil.c, image.c: - * sysdep.c, xfaces.c: - Include instead of . - * nsterm.m: Include . - * charset.c (read_hex): - * doc.c (Fsnarf_documentation): - * fileio.c (IS_DRIVE) [WINDOWSNT]: - (DRIVE_LETTER) [DOS_NT]: - (Ffile_name_directory, Fexpand_file_name) - (Fsubstitute_in_file_name): - * font.c (font_parse_xlfd, font_parse_fcname): - * frame.c (x_set_font_backend): - * gtkutil.c (xg_get_font): - * image.c (xbm_scan, xpm_scan, pbm_scan_number): - * nsimage.m (hexchar): - * nsterm.m (ns_xlfd_to_fontname): - * sysdep.c (system_process_attributes): - * xfaces.c (hash_string_case_insensitive): - Use C-locale tests instead of locale-specific tests for character - types, since we want the ASCII interpretation here, not the - interpretation suitable for whatever happens to be the current locale. - -2012-08-16 Martin Rudalics - - Consistently check windows for validity/liveness - (Bug#11984, Bug#12025, Bug#12026). - * lisp.h (CHECK_VALID_WINDOW): New macro. - * window.c (decode_window): Rename to decode_live_window. - (decode_valid_window, Fwindow_valid_p): New functions. - (Fwindow_frame, Fframe_root_window, Fwindow_minibuffer_p) - (Fframe_first_window, Fframe_selected_window, Fwindow_parent) - (Fwindow_top_child, Fwindow_left_child, Fwindow_next_sibling) - (Fwindow_prev_sibling, Fwindow_combination_limit) - (Fset_window_combination_limit, Fwindow_use_time) - (Fwindow_total_height, Fwindow_total_width, Fwindow_new_total) - (Fwindow_normal_size, Fwindow_new_normal, Fwindow_left_column) - (Fwindow_top_line, Fwindow_body_height, Fwindow_body_width) - (Fwindow_hscroll, Fset_window_hscroll) - (Fwindow_redisplay_end_trigger) - (Fset_window_redisplay_end_trigger, Fwindow_edges) - (Fwindow_pixel_edges, Fwindow_absolute_pixel_edges) - (Fwindow_inside_edges, Fwindow_inside_pixel_edges) - (Fcoordinates_in_window_p, Fwindow_point, Fwindow_start) - (Fwindow_end, Fset_window_point, Fset_window_start) - (Fpos_visible_in_window_p, Fwindow_line_height) - (Fwindow_dedicated_p, Fset_window_dedicated_p) - (Fwindow_prev_buffers, Fset_window_prev_buffers) - (Fwindow_next_buffers, Fwindow_parameters, Fwindow_parameter) - (Fset_window_parameter, Fwindow_display_table) - (Fset_window_display_table, Fdelete_other_windows_internal) - (Fset_window_buffer, Fset_window_new_total) - (Fset_window_new_normal, Fdelete_window_internal) - (Fwindow_text_height, Fset_window_margins, Fwindow_margins) - (Fset_window_fringes, Fwindow_fringes, Fset_window_scroll_bars) - (Fwindow_scroll_bars): Check whether argument window is a valid or - live window. Update doc-strings. - (syms_of_window): New symbol Qwindow_valid_p. - * keyboard.c (Fposn_at_x_y): Check whether argument - frame_or_window denotes a valid window. - -2012-08-16 Dmitry Antipov - - Fix previous char table change. - * lisp.h (CHAR_TABLE_SET): Use sub_char_table_set_contents. - * chartab.c (optimize_sub_char_table): Likewise. - -2012-08-16 Chong Yidong - - * gtkutil.c (xg_get_font): Demand an Xft font (Bug#3228). - - * xfont.c (xfont_open): - * xftfont.c (xftfont_open): Set the font's max_width field. - - * nsfont.m (nsfont_open): Similar to the Xft backend, set - min_width to space_width and average_width to the average over - printable ASCII characters. - (ns_char_width): Code cleanup. - (ns_ascii_average_width): New utility function. - - * font.h (struct font): Update comments. - -2012-08-16 Dmitry Antipov - - Simple interface to set Lisp_Object fields of character tables. - * lisp.h (CSET): New macro. - (char_table_set_extras, char_table_set_contents) - (sub_char_table_set_contents): New function. - * casetab.c, category.c, chartab.c, fns.c, fontset.c, search.c: - * syntax.c: Adjust users. - -2012-08-16 Stefan Monnier - - * eval.c (eval_sub): Bind lexical-binding. - * lread.c (Qlexical_binding): Make non-static. - -2012-08-15 Jan Djärv - - * nsmenu.m (popupSession): Remove. - (pop_down_menu): Remove endModalSession. - (timeout_handler:): New method. - (runDialogAt:): Get next timeout. Start a NSTimer with that timeout. - Call runModalForWindow. Check timer_fired when it returns. - If not set, cancel timer and break out of loop. - Otherwise loop again, with a new timeout. - - * nsterm.m: Include fcntl.h if present. - (fd_entry, t_readfds, inNsSelect): Remove. - (select_writefds, select_valid, select_timeout, selfds) - (select_mutex, apploopnr): Add. - (EV_TRAILER): Call kbd_buffer_store_event_hold only if q_event_ptr. - Otherwise call kbd_buffer_store_event. - (ns_send_appdefined): Remove release of fd_entry. - (ns_read_socket): Always send appdefined. Remove inNsSelect check. - Increment and decrement apploopnr. - (ns_select): If no file descriptors, just do a NSTimer. - Otherwise copy read/write masks and start select thread (fd_handler). - Start main loop and wait for application defined event. - Inform select thread to stop selecting after main loop is exited. - (ns_term_init): Create selfds pipe and set non-blocking. - Initialize select_mutex. Start the select thread (fd_handler). - (fd_handler:): Loop forever, wait for info from the main thread - to either start or stop selecting. When select returns, send - and appdefined event. - (sendScrollEventAtLoc:fromEvent:): Check if q_event_ptr is set. - If not call kbd_buffer_store_event. - - * nsterm.h (EmacsApp): fd_handler takes id argument. - (EmacsDialogPanel): Add timer_fired and timeout_handler. - - * gtkutil.c (xg_mark_data): Use FRAME_X_P. - -2012-08-15 Eli Zaretskii - - * region-cache.c (move_cache_gap): Update gap_len using the actual - growth of the boundaries array. Do not change cache_len. - (Bug#12196) - -2012-08-15 Dmitry Antipov - - Generalize and cleanup font subsystem checks. - * font.h (FONT_DEBUG, font_assert): Remove. - * font.c, fontset.c, w32font.c, xfont.c, xftfont.c: - Change font_assert to eassert. Use eassert where appropriate. - -2012-08-15 Dmitry Antipov - - * gtkutil.c (xg_get_font): Use pango_units_to_double. - -2012-08-15 Chong Yidong - - * gtkutil.c (xg_get_font): Rename from xg_get_font_name. - When using the new font chooser, use gtk_font_chooser_get_font_desc to - extract the font descriptor instead of just the font name. - In that case, return a font spec instead of a string. - (x_last_font_name): Move to this file from xfns.c. - - * xfns.c (Fx_select_font): The return value can also be a font - spec. Move x_last_font_name management to gtkutil.c. - - * xfaces.c: Make font weight and style symbols non-static. - -2012-08-15 Stefan Monnier - - * minibuf.c (read_minibuf): Ignore caller's inhibit-read-only - (bug#12117). - -2012-08-14 Stefan Monnier - - * alloc.c (Fgarbage_collect): Use plural form consistently. - -2012-08-14 Eli Zaretskii - - * keyboard.c (command_loop_1): Reset ignore_mouse_drag_p flag each - iteration through the command loop. Fixes a problem whereby mouse - movements are ignored until the first mouse click. - -2012-08-14 Paul Eggert - - Use bool, not int, for Lisp booleans. - This is more natural, and on my platform (GCC 4.7.1 x86-64) it - makes Emacs a bit smaller and presumably a bit faster. - * lisp.h: Include . - (struct Lisp_Boolfwd, defvar_bool): - * lread.c (defvar_bool): Use bool, not int, for Lisp booleans. - * regex.c [!emacs]: Include . - (false, true): Remove; does this for us now. - -2012-08-14 Chong Yidong - - * character.c (Fcharacterp): Doc fix (Bug#12076). - - * data.c (Findirect_variable): Doc fix (Bug#11040). - - * chartab.c (Fmap_char_table): Doc fix (Bug#12061). - - * editfns.c (Fformat): Doc fix (Bug#12059). - (Fsave_current_buffer): Doc fix (Bug#11542). - -2012-08-14 Barry OReilly (tiny change) - - * keyboard.c (access_keymap_keyremap): Accept anonymous functions - (bug#12022). - -2012-08-14 Martin Rudalics - - * frame.c (make_frame_without_minibuffer, make_minibuffer_frame) - (delete_frame, Fmake_frame_invisible, Ficonify_frame): - * minibuf.c (choose_minibuf_frame, read_minibuf): - * w32fns.c (x_create_tip_frame): - * xfns.c (x_create_tip_frame): Call set_window_buffer instead of - Fset_window_buffer (Bug#11984, Bug#12025, Bug#12026). - -2012-08-14 Paul Eggert - - * intervals.c (offset_intervals): Remove obsolete comment. - -2012-08-14 Andreas Schwab - - * gtkutil.c (find_rtl_image, update_frame_tool_bar): Use NILP. - -2012-08-14 Gergely Risko - - * coding.c (decode_coding): Record buffer modification before - disabling undo_list (Bug#11773). - -2012-08-14 Dmitry Antipov - - Revert and cleanup some recent overlay changes. - * buffer.h (enum overlay_type): Remove. - (buffer_get_overlays, buffer_set_overlays): Likewise. - (buffer_set_overlays_before, buffer_set_overlays_after): - New function. Adjust users. - (unchain_both): Add eassert. - -2012-08-14 Dmitry Antipov - - * gtkutil.c (update_frame_tool_bar): Use EQ where appropriate. - -2012-08-14 Paul Eggert - - * gtkutil.c (xg_mark_data): Don't assume C99. - -2012-08-13 Jan Djärv - - * gtkutil.c (xg_frame_tb_info): New struct. - (TB_INFO_KEY): New define. - (xg_free_frame_widgets): Free xg_frame_tb_info for frame if present. - (xg_mark_data): Mark Lisp_Objects in xg_frame_tb_info. - (xg_create_tool_bar): Allocate and initialize a xg_frame_tb_info - if not present. - (update_frame_tool_bar): Return early if data in xg_frame_tb_info - is up to date. Otherwise store new data. - (free_frame_tool_bar): Free xg_frame_tb_info if present. - -2012-08-13 Dmitry Antipov - - Use KSET for write access to Lisp_Object members of struct kboard. - * keyboard.h (KSET): New macro. - * callint.c, category.c, frame.c, keyboard.c, keyboard.h, macros.c: - * msdos.c, nsfns.m, nsterm.m, term.c, w32fns.c, w32term.c, xfns.c: - * xterm.c: Adjust users. - -2012-08-13 Dmitry Antipov - - Use BSET for write access to Lisp_Object members of struct buffer. - * buffer.h (BSET): New macro. - * buffer.c, casetab.c, cmds.c, coding.c, data.c, editfns.c: - * fileio.c, frame.c, indent.c, insdel.c, intervals.c, keymap.c: - * minibuf.c, print.c, process.c, syntax.c, undo.c, w32fns.c: - * window.c, xdisp.c, xfns.c: Adjust users. - -2012-08-11 BT Templeton (tiny change) - - * lread.c (syms_of_lread): Initialize Vlexical_binding. - -2012-08-11 Jan Djärv - - * nsterm.m (not_in_argv): New function. - (application:openFile, application:openTempFile:): - (application:openFileWithoutUI:, application:openFiles:): Open file - if not_in_argv returns non-zero (bug#12171). - - * gtkutil.c (gtk_font_chooser_dialog_new, GTK_FONT_CHOOSER) - (gtk_font_chooser_set_font, gtk_font_chooser_get_font): - Define for Gtk+ versions less than 3.2. - (xg_get_font_name): Use those functions/macros here. - Reported by Frans Oilinki . - -2012-08-11 YAMAMOTO Mitsuharu - - * unexmacosx.c (copy_data_segment): Copy initialized data in - statically linked libraries from input file rather than memory. - - * unexmacosx.c (print_load_command_name): Add cases LC_MAIN, - LC_SOURCE_VERSION, and LC_DYLIB_CODE_SIGN_DRS. - (dump_it) [LC_DYLIB_CODE_SIGN_DRS]: Call copy_linkedit_data. - -2012-08-10 Glenn Morris - - * conf_post.h (IF_LINT, lint_assume): Move here from lisp.h. - * lisp.h (IF_LINT, lint_assume): Move to conf_post.h. - -2012-08-10 Dmitry Antipov - - Fix last change to allow compilation with low optimization levels. - * intervals.c (INTERVALS_INLINE): Define to EXTERN_INLINE. - Reported by Jan Djärv . - -2012-08-10 Dmitry Antipov - - Use common inline syntax in intervals.h. - * intervals.h (INTERVALS_INLINE): New macro. - Change all users from LISP_INLINE. - -2012-08-10 Dmitry Antipov - - Define Qnone once for all platforms. - * frame.c (Qnone): Define here. - (syms_of_frame): DEFSYM it. - * lisp.h (Qnone): New declaration. - * nsfns.m, nsterm.h, nsterm.m, w32fns.c, w32font.c: - * xfns.c: Remove duplication. Adjust users. - -2012-08-10 Dmitry Antipov - - Remove unused macros from intervals.h. - * intervals.h (MERGE_INSERTIONS, DISPLAY_INVISIBLE_GLYPH): Remove. - * intervals.c: Adjust comment. - -2012-08-10 Eli Zaretskii - - * w32fns.c : New static variable. - (globals_of_w32fns): Initialize it according to os_subtype. - (w32_init_class, w32_msg_pump, w32_wnd_proc): Use it instead of - testing os_subtype. - -2012-08-10 Joakim Hårsman (tiny change) - Eli Zaretskii - - Fix bug #10299 with Unicode characters sent by customized - keyboards created by MSKLC. - * w32fns.c (INIT_WINDOW_CLASS): New macro. - (w32_init_class): Use it to initialize the Emacs class with either - ANSI or Unicode API calls. - (w32_msg_pump): Call GetMessageW and DispatchMessageW on NT and - later. - (w32_wnd_proc): If the character code sent by WM_CHAR or - WM_SYSCHAR is above 255, post a WM_UNICHAR message, not the - original message. Call DefWindowProcW on NT and later. - -2012-08-10 Glenn Morris - - * Makefile.in (config_h): Fix conf_post.h out-of-tree build location. - - * lisp.h (DIRECTORY_SEP): Let configure set it. - -2012-08-09 Dmitry Antipov - - Use TSET for write access to Lisp_Object slots of struct terminal. - * termhooks.h (TSET): New macro. - * coding.c, terminal.c, xselect.c: Adjust users. - -2012-08-08 Stefan Monnier - - * xdisp.c (safe_eval_handler): Remove prototype. Receive args describing - the failing expression, include them in the error message. - * eval.c (internal_condition_case_n): Pass nargs and args to hfun. - * lisp.h (internal_condition_case_n): Update declaration. - -2012-08-08 Dmitry Antipov - - Inline functions to examine and change buffer overlays. - * buffer.c (unchain_both): New function. - * buffer.h (buffer_get_overlays, buffer_set_overlays): - (buffer_has_overlays): New function. - (enum overlay_type): New enum. - * alloc.c, buffer.c, editfns.c, fileio.c, indent.c: - * insdel.c, intervals.c, print.c, xdisp.c: Adjust users. - -2012-08-08 Dmitry Antipov - - Inline functions to examine and change buffer intervals. - * alloc.c (mark_interval_tree): Remove. - (MARK_INTERVAL_TREE): Simplify. - (UNMARK_BALANCE_INTERVALS): Remove. Adjust users. - * intervals.c (buffer_balance_intervals): New function. - (graft_intervals_into_buffer): Adjust indentation. - (set_intervals_multibyte): Simplify. - * buffer.h (BUF_INTERVALS): Remove. - (buffer_get_intervals, buffer_set_intervals): New function. - * alloc.c, buffer.c, editfns.c, fileio.c, indent.c, insdel.c: - * intervals.c, textprop.c: Adjust users. - -2012-08-08 Dmitry Antipov - - Inline functions to examine and change string intervals. - * lisp.h (STRING_INTERVALS, STRING_SET_INTERVALS): Remove. - (string_get_intervals, string_set_intervals): New function. - * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c: - * lread.c, print.c, textprop.c: Adjust users. - -2012-08-08 Glenn Morris - - * lisp.mk (lisp): Remove language/persian.elc. - -2012-08-08 Dmitry Antipov - - Cleanup intervals. - * intervals.h (NULL_INTERVAL, DEFAULT_INTERVAL): Remove. - (NULL_INTERVAL_P): Likewise. Adjust users. - (FRONT_STICKY_P, END_NONSTICKY_P, FRONT_NONSTICKY_P): - Adjust comment. Move under #if 0. - * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c: - * print.c, syntax.c, textprop.c, xdisp.c: Adjust users. - -2012-08-08 Dmitry Antipov - - Check total length of intervals with eassert. - * intervals.h (CHECK_TOTAL_LENGTH): Remove. - * intervals.c: Change all users to eassert. - -2012-08-07 Eli Zaretskii - - * .gdbinit (xframe, xwindow, nextcons, xcar, xcdr, xlist): - Rename fields to match removal of FGET and WGET and disuse of - INTERNAL_FIELD in Lisp_Cons. - -2012-08-07 Dmitry Antipov - - Revert and cleanup Lisp_Cons, Lisp_Misc and Lisp_Symbol things. - * lisp.h (struct Lisp_Symbol): Change xname to meaningful - name since all xname users are fixed long time ago. Do not - use INTERNAL_FIELD. - (set_symbol_name, set_symbol_function, set_symbol_plist): - (set_symbol_next, set_overlay_plist): New function. - (struct Lisp_Cons): Do not use INTERNAL_FIELD. - (struct Lisp_Overlay): Likewise. - (CVAR, MVAR, SVAR): Remove. - * alloc.c, buffer.c, buffer.h, bytecode.c, cmds.c, data.c: - * doc.c, eval.c, fns.c, keyboard.c, lread.c, nsselect.m: - * xterm.c: Adjust users. - * .gdbinit: Change to use name field of struct Lisp_Symbol - where appropriate. - -2012-08-07 Dmitry Antipov - - Basic functions to set Lisp_Object and pointer slots of intervals. - * intervals.h (interval_set_parent, interval_set_object): - (interval_set_left, interval_set_right, interval_set_plist): - (interval_copy_parent): New function. - (SET_INTERVAL_OBJECT, SET_INTERVAL_PARENT, INTERVAL_PTR_SIZE): Remove. - (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE): - Adjust indentation. - (INTERVAL_SIZE): Remove. Adjust users. - * alloc.c, intervals.c, lread.c, textprop.c: Use new functions. - -2012-08-07 Dmitry Antipov - - Drop PGET and revert read access to Lisp_Objects slots of Lisp_Process. - * process.h (PGET): Remove. - (struct Lisp_Process): Do not use INTERNAL_FIELD. - * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users. - -2012-08-07 Dmitry Antipov - - Drop WGET and revert read access to Lisp_Objects slots of struct window. - * window.h (WGET): Remove. - (struct window): Do not use INTERNAL_FIELD. - * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c: - * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c: - * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m: - * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c: - * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: - Adjust users. - -2012-08-07 Chong Yidong - - * window.c (Fwindow_edges, Fwindow_pixel_edges) - (Fwindow_absolute_pixel_edges, Fdelete_other_windows_internal) - (Fdelete_window_internal): Signal an error if the window is not on - a live frame (Bug#12025). - -2012-08-07 Dmitry Antipov - - Drop FGET and revert read access to Lisp_Objects slots of struct frame. - * frame.h (FGET): Remove. - (struct frame): Do not use INTERNAL_FIELD. - * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c: - * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m: - * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h: - * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users. - -2012-08-06 Juanma Barranquero - - * w32.c: Silence compiler warnings. - (map_w32_filename): Remove unused variable `is_fat'. - (chase_symlinks): Add parentheses around expression. - -2012-08-06 Glenn Morris - - * sysdep.c: Respect BROKEN_GETWD. - - * dispnew.c (GNU_LIBRARY_PENDING_OUTPUT_COUNT, PENDING_OUTPUT_COUNT): - Let configure handle it. - (stdio_ext.h) [DISPNEW_NEEDS_STDIO_EXT]: Include it. - -2012-08-06 Dmitry Antipov - - Use GCALIGNMENT where appropriate. - * alloc.c (XMALLOC_HEADER_ALIGNMENT, roundup_size): - (union aligned_Lisp_Symbol, union aligned_Lisp_Misc): - (mark_maybe_pointer, pure_alloc): Change to use GCALIGNMENT. - -2012-08-06 Eli Zaretskii - - * w32menu.c (set_frame_menubar, initialize_frame_menubar): - Don't use FRAME_MENU_BAR_ITEMS as an lvalue. - -2012-08-06 Stefan Monnier - - * buffer.h (struct buffer): Revert `indirections' to a simple int; - that should be sufficient for everyone. - -2012-08-06 Jan Djärv - - * keyboard.c (timer_check_2): Add break so timer_check returns next - timeout. - -2012-08-06 Dmitry Antipov - - Fix Windows build errors introduced after converting to WGET and WSET. - * w32term.c (w32_set_vertical_scroll_bar): Change to use WSET. - Reported by Andy Moreton . - -2012-08-06 Jan Djärv - - * nsterm.m (ns_frame_rehighlight): Use FSET. - - * nsmenu.m (ns_update_menubar): Use FSET. - -2012-08-06 Dmitry Antipov - - Separate read and write access to Lisp_Object slots of Lisp_Process. - * process.h (PGET, PSET): New macros similar to AREF and ASET. - * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users. - -2012-08-06 Dmitry Antipov - - Separate read and write access to Lisp_Object slots of struct window. - * window.h (WGET, WSET): New macros similar to AREF and ASET. - * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c: - * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c: - * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m: - * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c: - * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: - Adjust users. - -2012-08-06 Dmitry Antipov - - Fix Windows build errors introduced after converting to FGET and FSET. - * w32term.c (x_frame_rehighlight, x_scroll_bar_create): - (w32_condemn_scroll_bars, w32_redeem_scroll_bar): - (w32_judge_scroll_bars): Change to use FSET. - Reported by Andy Moreton . - -2012-08-06 Dmitry Antipov - - Fix replacement typo. - * window.c (replace_window): Set root_window instead of - selected_window. This fixes a total window subsystem - malfunction reported by Bastien Guerry . - -2012-08-06 Glenn Morris - - * lisp.mk (lisp): Add language/persian.elc. - -2012-08-06 Dmitry Antipov - - Separate read and write access to Lisp_Object slots of struct frame. - * frame.h (FGET, FSET): New macros similar to AREF and ASET. - * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c: - * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m: - * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h: - * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users. - -2012-08-05 Andreas Schwab - - * emacs.c (decode_env_path): Only use defaulted if WINDOWSNT. - -2012-08-05 Dmitry Antipov - - Generalize common compile-time constants. - * lisp.h (header_size, bool_header_size, word_size): Now here. - (struct Lisp_Vector): Add comment. - (struct Lisp_Bool_Vector): Move up to define handy constants. - (VECSIZE, PSEUDOVECSIZE): Simplify. - (SAFE_ALLOCA_LISP): Use new constant. Adjust indentation. - * buffer.c, buffer.h, bytecode.c, callint.c, eval.c, fns.c: - * font.c, fontset.c, keyboard.c, keymap.c, macros.c, menu.c: - * msdos.c, w32menu.c, w32term.h, window.c, xdisp.c, xfaces.c: - * xfont.c, xmenu.c: Use word_size where appropriate. - -2012-08-05 Lawrence Mitchell - - * search.c (Freplace_match): Treat \? in the replacement text - literally (Bug#8161). - -2012-08-05 Chong Yidong - - * term.c (Vsuspend_tty_functions, Vresume_tty_functions): - * frame.c (Vdelete_frame_functions): - * emacs.c (Vkill_emacs_hook): Doc fix. - -2012-08-04 Eli Zaretskii - - * xfns.c (x_set_menu_bar_lines): Fix compilation error in - --with-x-toolkit=no builds. - Reported by Carsten Mattner . - -2012-08-04 Chong Yidong - - * syntax.c (Fmodify_syntax_entry): Doc fix. - -2012-08-04 Eli Zaretskii - - Fix startup warnings about ../site-lisp on MS-Windows. (Bug#11959) - * w32.c (init_environment): Change the default values of many - environment variables in dflt_envvars[] to NULL, to avoid pushing - them into environment when they were not already defined. - Remove the code that deletes site-lisp subdirectories from the default - value of EMACSLOADPATH, as it is no longer needed. - (check_windows_init_file): Now external, not static. - Use Vload_path as is, without adding anything, as this function is now - called when Vload_path is already set up. - - * w32.h (check_windows_init_file): Add prototype. - - * emacs.c (init_cmdargs) [WINDOWSNT]: When running from the build - directory, ignore the /*/i386/ tail in Vinvocation_directory, for - compatibility with Posix platforms. - (main): Move the call to check_windows_init_file to here from - w32.c. - (decode_env_path) [WINDOWSNT]: Expand the %emacs_dir%/ prefix, if - any, in the DEFALT argument into the root of the Emacs build or - installation tree, as appropriate. - - * callproc.c (init_callproc_1): Call decode_env_path instead of - doing its equivalent by hand. - (init_callproc): Replace DOS_NT condition with MSDOS, thus letting - the code that sets Vexec_path run on MS-Windows. - - * lread.c (init_lread): Add comments to #ifdef's. - - * msdos.c (dos_set_window_size, IT_update_begin) - (IT_frame_up_to_date, IT_set_frame_parameters): Use FVAR and WVAR - instead of direct references. - -2012-08-04 Paul Eggert - - Export DEFAULT_REHASH_* to GDB. - * lisp.h (DEFAULT_REHASH_THRESHOLD, DEFAULT_REHASH_SIZE): - Now constants, not macros. - -2012-08-03 Paul Eggert - - Remove unnecessary casts involving pointers. - These casts are no longer needed now that we assume C89 or later, - since they involve casting to or from void *. - * alloc.c (make_pure_string, make_pure_c_string, pure_cons) - (make_pure_float, make_pure_vector): - * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): - * macros.c (Fstart_kbd_macro): - * menu.c (find_and_return_menu_selection): - * minibuf.c (read_minibuf_noninteractive): - * sysdep.c (closedir): - * xdisp.c (x_produce_glyphs): - * xfaces.c (compare_fonts_by_sort_order): - * xfns.c (x_real_positions, select_visual): - * xselect.c (x_stop_queuing_selection_requests) - (x_get_window_property, x_get_window_property_as_lisp_data): - * xterm.c (x_set_frame_alpha, x_find_modifier_meanings): - Remove unnecessary pointer casts. - * alloc.c (record_xmalloc): New function. - * lisp.h (record_xmalloc): New decl. - (SAFE_ALLOCA): Now takes just one arg -- the size -- and acts - more like a function. This is because the pointer cast is not - needed. All uses changed. - * print.c (print_string, print_error_message): Avoid length recalc. - - Improve fix for macroexp crash with debugging (Bug#12118). - * lisp.h (ASET) [ENABLE_CHECKING]: Pay attention to - ARRAY_MARK_FLAG when checking subscripts, because ASET is - not supposed to be invoked from the garbage collector. - See Andreas Schwab in . - (gc_aset): New function, which is like ASET but can be - used in the garbage collector. - (set_hash_key, set_hash_value, set_hash_next, set_hash_hash) - (set_hash_index): Use it instead of ASET. - -2012-08-03 Eli Zaretskii - - Support symlinks on latest versions of MS-Windows. - * w32.c: Include winioctl.h and aclapi.h. - (is_symlink, chase_symlinks, enable_privilege, restore_privilege) - (revert_to_self): Forward declarations of static functions. - : - : New static flags. - (globals_of_w32): Initialize them to zero. - (GetSecurityInfo_Proc, CreateSymbolicLink_Proc): New typedefs. - (map_w32_filename): Improve commentary. Simplify switch. - (SYMBOLIC_LINK_FLAG_DIRECTORY): Define if not defined in system - headers (most versions of MinGW w32api don't). - (get_security_info, create_symbolic_link) - (get_file_security_desc_by_handle, is_symlink, chase_symlinks): - New functions. - (sys_access, sys_chmod): Call 'chase_symlinks' to resolve symlinks - in the argument file name. - (sys_access): Call unc_volume_file_attributes only if - GetFileAttributes fails with network-related error codes. - (sys_rename): Diagnose renaming of a symlink when the user doesn't - have the required privileges. - (get_file_security_desc_by_name): Rename from - get_file_security_desc. - (stat_worker): New function, with most of the guts of 'stat', and - with addition of handling of symlinks and support for 'lstat'. - If possible, get file's attributes and security information by - handle, not by name. Produce S_IFLNK bit for symlinks, when - called from 'lstat'. - (stat, lstat): New functions, call 'stat_worker'. - (symlink, readlink, careadlinkat): Rewritten to create and resolve - symlinks when the underlying filesystem supports them. - -2012-08-02 Paul Eggert - - Fix macroexp crash on Windows with debugging (Bug#12118). - * lisp.h (ASET) [ENABLE_CHECKING]: Ignore ARRAY_MARK_FLAG when - checking subscripts; problem introduced with the recent - "ASET (a, i, v)" rather than "AREF (a, i) = v" patch. - (ARRAY_MARK_FLAG): Now a macro as well as a constant, - since it's used in non-static inline functions now. - - * xfaces.c (face_at_buffer_position, face_for_overlay_string): - Don't assume buffer size fits in 'int'. Remove unused local. - - Use C99-style 'extern inline' if available. - * buffer.h (BUFFER_INLINE): - * category.h (CATEGORY_INLINE): - * character.h (CHARACTER_INLINE): - * charset.h (CHARSET_INLINE): - * composite.h (COMPOSITE_INLINE): - * dispextern.h (DISPEXTERN_INLINE): - * lisp.h (LISP_INLINE): - * systime.h (SYSTIME_INLINE): - New macro, replacing 'static inline' in this header. - * buffer.h, category.h, character.h, charset.h, composite.h: - * dispextern.h, lisp.h, systime.h: - Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. - * alloc.c (LISP_INLINE): - * buffer.c (BUFFER_INLINE): - * category.c (CATEGORY_INLINE): - * character.c (CHARACTER_INLINE): - * charset.c (CHARSET_INLINE): - * composite.c (COMPOSITE_INLINE): - * dispnew.c (DISPEXTERN_INLINE): - * sysdep.c (SYSTIME_INLINE): - Define to EXTERN_INLINE, so that the corresponding functions - are compiled into code. - * conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN) - (INLINE_HEADER_END): New macros. - * lisp.h (PSEUDOVECTOR_FLAG): Now a macro as well as a constant, - since it's used in non-static inline functions now. - (VALMASK) [!USE_LSB_TAG]: Likewise. - -2012-08-02 Glenn Morris - - * s/: Remove empty directory. - - * s/ms-w32.h: Move to ../nt/inc. - * makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H): - Update for new ms-w32.h location. - -2012-08-02 Paul Eggert - - Port to Solaris 8. - * syswait.h (WRETCODE): Remove, consistently with ../configure.ac. - -2012-08-02 Glenn Morris - - * nsterm.m (ns_exec_path, ns_load_path): Use SEPCHAR rather than - hard-coding the path separator. - -2012-08-01 Paul Eggert - - Use "ASET (a, i, v)" rather than "AREF (a, i) = v". - This how ASET and AREF are supposed to work, and makes - it easier to think about future improvements. See - . - * charset.h (set_charset_attr): New function. - All lvalue-style uses of CHARSET_DECODER etc. changed to use it. - * lisp.h (ASET): Rewrite so as not to use AREF in an lvalue style. - (aref_addr): New function. All uses of &AREF(...) changed. - (set_hash_key, set_hash_value, set_hash_next, set_hash_hash) - (set_hash_index): New functions. All lvalue-style uses of - HASH_KEY etc. changed. - * keyboard.c (set_prop): New function. All lvalue-style uses - of PROP changed. - -2012-08-01 Alp Aker - - * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar) - (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:) - (EmacsScroller-dealloc): Adjust to use WVAR. (Bug#12114) - * nsfns.m (ns_set_name_as_filename): Likewise. - * nsmenu.m (ns_update_menubar): Likewise. - * nsselect.m (symbol_to_nsstring): Adjust to use SVAR. - -2012-08-01 Eli Zaretskii - - * .gdbinit (xcar, xcdr, xlist, xwindow, nextcons, xprintsym): - Adapt to latest changes in field names of the corresponding Lisp - objects. - - * xdisp.c (try_window_id): Use WVAR in IF_DEBUG code. - -2012-08-01 Glenn Morris - - * s/msdos.h: Remove file. - * conf_post.h [MSDOS]: New section, moved from s/msdos.h. - * Makefile.in (S_FILE): Remove. - (config_h): Remove S_FILE. - -2012-08-01 Juanma Barranquero - - * s/ms-w32.h (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): - Remove; moved to nt/config.nt. - -2012-08-01 Dmitry Antipov - - Use INTERNAL_FIELD for conses and overlays. - * lisp.h (struct Lisp_Cons): Use INTERNAL_FIELD. - Remove obsolete comment. - (MVAR): New macro. - (struct Lisp_Overlay): Use INTERNAL_FIELD. - * alloc.c, buffer.c, buffer.h, fns.c: Adjust users. - -2012-08-01 Dmitry Antipov - - Use INTERNAL_FIELD for symbols. - * lisp.h (SVAR): New macro. Adjust users. - * alloc.c, bytecode.c, cmds.c, data.c, doc.c, eval.c: - * fns.c, keyboard.c, lread.c, xterm.c: Users changed. - -2012-08-01 Dmitry Antipov - - Use INTERNAL_FIELD for processes. - * process.h (PVAR): New macro. Adjust style. - (struct Lisp_Process): Change Lisp_Object members to INTERNAL_FIELD. - * print.c, process.c, sysdep.c, w32.c, xdisp.c: Users changed. - -2012-08-01 Dmitry Antipov - - Use INTERNAL_FIELD for windows. - * window.h (WVAR): New macro. - (struct window): Change Lisp_Object members to INTERNAL_FIELD. - * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c: - * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c: - * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, nsterm.m, print.c: - * textprop.c, w32fns.c, w32menu.c, w32term.c, window.c, xdisp.c: - * xfaces.c, xfns.c, xmenu.c, xterm.c: Users changed. - -2012-08-01 Paul Eggert - - * coding.h (CODING_ATTR_FLUSHING): Remove; unused and wouldn't work. - -2012-08-01 Glenn Morris - - * lisp.h (IS_DIRECTORY_SEP, IS_DEVICE_SEP, IS_ANY_SEP): - Move to configure.ac. - -2012-08-01 Juanma Barranquero - - * makefile.w32-in (CONFIG_H): Update dependencies. - (CONF_POST_H): New macro. - - * s/ms-w32.h (SEPCHAR, NULL_DEVICE): Remove; moved to nt/config.nt. - -2012-07-31 Glenn Morris - - * Makefile.in (S_FILE): No longer set by configure. - - * conf_post.h (config_opsysfile): Move earlier, so that WINDOWSNT - is available. - (alloca.h) [WINDOWSNT]: Don't include it on MS Windows. - - * process.h (NULL_DEVICE): - * emacs.c (SEPCHAR): - * editfns.c (USER_FULL_NAME): Let configure set them. - - * s/README, s/template.h: Remove files. - - * conf_post.h [HPUX]: Undefine HAVE_RANDOM and HAVE_RINT. - - * conf_post.h (AMPERSAND_FULL_NAME, subprocesses): - Move to configure.ac. - -2012-07-31 Eli Zaretskii - - * .gdbinit (xframe): Adapt to introduction of FVAR and the - resulting renaming of 'struct frame' members. - - * w32menu.c (w32_menu_show): Revert bogus introduction of FVAR. - - * fontset.c (dump_fontset): Fix compilation with ENABLE_CHECKING - after introduction of FVAR. - -2012-07-31 Jan Djärv - - * nsmenu.m (update_frame_tool_bar): Change key from NSObject* to id. - - * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Use drawInRect - instead of compositeToPoint. - (applicationShouldTerminate): Pass NS String literal to NSRunAlertPanel. - - * nsfns.m, nsmenu.m, nsterm.m: Adopt to struct frame/FVAR changes. - -2012-07-31 Dmitry Antipov - - Generalize INTERNAL_FIELD between buffers, keyboards and frames. - * lisp.h (INTERNAL_FIELD): New macro. - * buffer.h (BUFFER_INTERNAL_FIELD): Remove. - (BVAR): Change to use INTERNAL_FIELD. - * keyboard.h (KBOARD_INTERNAL_FIELD): Likewise. - (KVAR): Change to use INTERNAL_FIELD. - * frame.h (FVAR): New macro. - (struct frame): Use INTERNAL_FIELD for all Lisp_Object fields. - * alloc.c, buffer.c, data.c, dispnew.c, dosfns.c, eval.c, frame.c: - * fringe.c, gtkutil.c, minibuf.c, nsfns.m, nsterm.m, print.c: - * term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h: - * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Users changed. - -2012-07-31 Dmitry Antipov - - Miscellaneous fixes for non-default X toolkits. - * xfns.c (Fx_file_dialog): Change to SSDATA to avoid warnings. - * xterm.c (x_frame_of_widget): Remove redundant prototype. - Move under #ifdef USE_LUCID. - (x_create_toolkit_scroll_bar): Adjust scroll_bar_name - definition and usage to avoid warnings. - -2012-07-31 Jan Djärv - - * nsterm.m (openFiles): Fix previous checkin. - -2012-07-31 Paul Eggert - - * indent.c (compute_motion): Remove unused local. - -2012-07-31 Glenn Morris - - * s/usg5-4-common.h (wait3, WRETCODE): Let configure set them. - - * conf_post.h [USG5_4]: - Move remaining contents of s/usg5-4-common.h here. - * s/usg5-4-common.h: Remove file. - - * conf_post.h [IRIX6_5]: Move remaining contents of s/irix6-5.h here. - * s/irix6-5.h: Remove file. - - * conf_post.h [DARWIN_OS]: Move remaining contents of s/darwin.h here. - * s/darwin.h: Remove file. - - * conf_post.h [HPUX]: Move random, srandom here from s/hpux10-20.h. - * s/hpux10-20.h: Remove file, which is now empty. - -2012-07-30 Glenn Morris - - * conf_post.h: New, split from configure.ac's AH_BOTTOM. - * Makefile.in (config_h): Add conf_post.h. - * makefile.w32-in (CONFIG_H): Add conf_post.h. - -2012-07-30 Jan Djärv - - * nsterm.m (ns_do_open_file): New variable. - (ns_term_init): Set ns_do_open_file to YES after run returns. - (openFile, openTempFile, openFileWithoutUI, openFiles): - Open files only if ns_do_open_file. - -2012-07-30 Paul Eggert - - * lisp.h (SWITCH_ENUM_CAST): Remove. All uses removed. - This no-op macro hasn't been needed for many years. - * src/regex.c (SWITCH_ENUM_CAST) [!emacs]: Likewise. - - Export DIRECTORY_SEP, TYPEMASK, VALMASK to GDB. - * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: Add lsb_bits. - * lisp.h (enum lsb_bits) [USE_LSB_TAG]: New enum, for - gdb_make_enums_visible. - (TYPEMASK, VALMASK) [USE_LSB_TAGS]: Now enum constants, not macros. - (DIRECTORY_SEP): Now a constant, not a macro. - -2012-07-30 Eli Zaretskii - - * w32fns.c (w32_wnd_proc): Pass w32_keyboard_codepage to - w32_kbd_patch_key as the 2nd arg. (Bug#12082) - - * w32term.c : Renamed from - keyboard_codepage and now external. All users changed. - - * w32term.h: Add declaration of w32_keyboard_codepage. - - * w32inevt.c (w32_kbd_patch_key): Accept an additional argument -- - the codepage to translate keys to Unicode. If this argument is - -1, use the value returned by GetConsoleCP. All callers changed. - -2012-07-30 Paul Eggert - - Update .PHONY listings in makefiles. - * Makefile.in (.PHONY): Add all, mostlyclean, clean, - bootstrap-clean, distclean, maintainer-clean, versioclean, - extraclean, frc. - - * lisp.h (STRING_BYTES_BOUND): Cast entire result to ptrdiff_t. - This is a bit clearer. Fix some commentary typos. - -2012-07-30 Glenn Morris - - * s/netbsd.h: Let configure include signal.h if needed. - Remove file, which is now empty. - - * s/usg5-4-common.h (_longjmp, _setjmp, TIOCSIGSEND): - Let configure set them. - * s/irix6-5.h (_longjmp, _setjmp, TIOCSIGSEND): - No more need to undefine. - -2012-07-30 Andreas Schwab - - * keymap.c (Fkey_description): Don't remove 0x80 bit from - non-single-byte char when adding meta modifier. (Bug#12090) - -2012-07-30 Dmitry Antipov - - Convert safe_call to use variable number of arguments. - * xdisp.c (safe_call): Convert to use varargs. Adjust users. - (safe_call2): Fix comment. - * lisp.h (safe_call): Adjust prototype. - * coding.c (encode_coding_object): Change to use safe_call2. - * xfaces.c (merge_face_heights): Change to use safe_call1. - -2012-07-30 Glenn Morris - - * s/aix4-2.h (sigmask): No need to undefine it, since syssignal.h - does that unconditionally. Remove file, which is now empty. - - * s/freebsd.h, s/gnu-linux.h, s/sol2-6.h, s/unixware.h: - Remove empty files. - -2012-07-30 Paul Eggert - - Export to GDB most of lisp.h's remaining object-like macros. - * lisp.h (min, max): Move earlier, because they're used earlier now. - (INTMASK, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK) - (CHAR_TABLE_STANDARD_SLOTS, CHARTAB_SIZE_BITS_0) - (CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2, CHARTAB_SIZE_BITS_3) - (DEFAULT_HASH_SIZE, COMPILED_ARGLIST, COMPILED_BYTECODE) - (COMPILED_CONSTANTS, COMPILED_STACK_DEPTH, COMPILED_DOC_STRING) - (COMPILED_INTERACTIVE, CHAR_ALT, CHAR_SUPER, CHAR_HYPER, CHAR_SHIFT) - (CHAR_CTL, CHAR_META, CHAR_MODIFIER_MASK, CHARACTERBITS) - (MANY, UNEVALLED, FLOAT_TO_STRING_BUFSIZE, MAX_ALLOCA): - Now constants, for GDB. They need not be macros. - (MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM, STRING_BYTES_BOUND): - Now constants, for GDB, as well as macros, for static initializers. - (CHAR_TABLE_STANDARD_SLOTS, CHAR_TABLE_EXTRA_SLOTS): - Move to after the definition of struct Lisp_Char_Table, - since the former now needs that type defined. - (enum CHARTAB_SIZE_BITS, enum CHAR_TABLE_STANDARD_SLOTS) - (enum DEFAULT_HASH_SIZE, enum Lisp_Compiled, enum char_bits) - (enum maxargs, enum FLOAT_TO_STRING_BUFSIZE, enum MAX_ALLOCA): - New enums, for gdb_make_enums_visible. - (GLYPH_MODE_LINE_FACE): Remove; unused. - * alloc.c (STRING_BYTES_MAX): Now a constant, not a macro. - (gdb_make_enums_visible): Add enum CHARTAB_SIZE_BITS, enum - CHAR_TABLE_STANDARD_SLOTS, enum char_bits, enum DEFAULT_HASH_SIZE, - enum FLOAT_TO_STRING_BUFSIZE, enum Lisp_Bits, enum Lisp_Compiled, - enum maxargs, enum MAX_ALLOCA. - (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): Remove. - (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Remove; - no longer needed, now that they are done in lisp.h. - -2012-07-30 Dmitry Antipov - - Cleanup string bytes checking. - * alloc.c (GC_STRING_BYTES, CHECK_STRING_BYTES): Remove. Convert - all users to STRING_BYTES or string_bytes if GC_CHECK_STRING_BYTES. - (check_string_bytes): Define to empty if not GC_CHECK_STRING_BYTES. - (check_sblock, compact_small_strings): Simplify. - -2012-07-29 Paul Eggert - - * lisp.h (LISP_INT_TAG, LISP_INT1_TAG, LISP_STRING_TAG): Remove. - These macros are confusing and no longer need to be defined, as - the enum values now suffice. All uses replaced with definiens. - (Lisp_Int1, Lisp_String): Define directly; this is clearer. - -2012-07-29 Juanma Barranquero - - * makefile.w32-in (LISP_H, $(BLD)/emacs.$(O), $(BLD)/w32inevt.$(O)) - ($(BLD)/w32console.$(O)): Update dependencies. - -2012-07-29 Dmitry Antipov - - Remove HIDE_LISP_IMPLEMENTATION and cleanup cons free list check. - * lisp.h (HIDE_LISP_IMPLEMENTATION): Remove as useless for a long - time. Adjust users. - (CHECK_CONS_LIST): Remove. Convert all users to check_cons_list. - -2012-07-29 Jan Djärv - - * lread.c (init_lread): Remove if-statement in ifdef HAVE_NS before - setting sitelisp (Bug#12010). - -2012-07-29 Eli Zaretskii - - * w32heap.h (OS_9X): Rename from OS_WINDOWS_95. - - * w32heap.c (cache_system_info): - * w32.c (sys_rename): - * w32proc.c (find_child_console, sys_kill): All users changed. - -2012-07-29 Paul Eggert - - * alloc.c (Fgarbage_collect): Indent as per usual Emacs style. - -2012-07-29 Eli Zaretskii - - * makefile.w32-in (LISP_H): Add $(NT_INC)/stdalign.h. - -2012-07-29 Dmitry Antipov - - Cleanup statistics calculation in Fgarbage_collect. - * alloc.c (Fgarbage_collect): Rename t1 to meaningful start. - Fix zombies percentage calculation. Simplify elapsed time calculation. - -2012-07-29 Dmitry Antipov - - Generalize marker debugging code under MARKER_DEBUG and use eassert. - * insdel.c (CHECK_MARKERS, check_markers_debug_flag): Remove. - (gap_left, gap_right, adjust_markers_for_delete, insert_1_both) - (insert_from_string_1, insert_from_gap, insert_from_buffer_1) - (replace_range, replace_range_2, del_range_2): Change to eassert. - * marker.c (byte_char_debug_check): Adjust style. - -2012-07-29 Paul Eggert - - Don't use the abbreviation "win" to refer to Windows (Bug#10421). - * regex.c (MAX_BUF_SIZE): Remove some incorrect and - long-ago-commented-out code that talks about "WIN32". - * w32heap.h (OS_WINDOWS_95): Rename from OS_WIN95. - All uses changed. - -2012-07-28 Paul Eggert - - Use Gnulib stdalign module (Bug#9772, Bug#9960). - * alloc.c (XMALLOC_BASE_ALIGNMENT, GC_POINTER_ALIGNMENT, pure_alloc): - Simplify by using alignof. - (pure_alloc) [! USE_LSB_TAG]: Don't over-align EMACS_INT values. - * lisp.h: Include . - (GCALIGNMENT): New macro and constant. - (DECL_ALIGN): Remove. All uses replaced by alignas (GCALIGNMENT). - (USE_LSB_TAG): ifdef on alignas, not on DECL_ALIGN. - (stdalign): New macro, if not already defined. - -2012-07-28 Eli Zaretskii - - Fix non-ASCII input in non-GUI frames on MS-Windows. (Bug#12055) - * w32inevt.c: Include w32inevt.h. - (w32_read_console_input): New inline function, calls either - ReadConsoleInputA or ReadConsoleInputW, depending on the value of - w32_console_unicode_input. - (fill_queue): Call w32_read_console_input instead of ReadConsoleInput. - (w32_kbd_patch_key, key_event): Use the codepage returned by - GetConsoleCP, rather than the ANSI codepage returned by GetLocaleInfo. - (key_event): use uChar.UnicodeChar only if - w32_console_unicode_input is non-zero. - - * w32console.c: Include w32heap.h. - : New global variable. - (initialize_w32_display): Set w32_console_unicode_input to 1 on NT - family of Windows, zero otherwise. - - * w32inevt.h: Declare w32_console_unicode_input. - - * xdisp.c (init_iterator): Don't reference tip_frame in a build - --without-x. (Bug#11742) - -2012-07-27 Paul Eggert - - Adjust GDB to reflect pvec_type changes (Bug#12036). - * .gdbinit (xvectype, xpr, xbacktrace): Adjust to reflect the - 2012-07-04 changes to pseudovector representation. - Problem reported by Eli Zaretskii in . - -2012-07-27 Michael Albinus - - * dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS): Canonicalize session - bus address. - (xd_close_bus, Fdbus_init_bus): Handle reference counter properly. - -2012-07-27 Eli Zaretskii - - * alloc.c (listn): Fix the order the arguments are consed onto the - list. - - * lisp.h (enum constype): Use CONSTYPE_HEAP and CONSTYPE_PURE for - enumeration constants, as PURE and HEAP are too general, and clash - with other headers and sources, such as gmalloc.c and the - MS-Windows system headers. All users changed. - -2012-07-27 Dmitry Antipov - - Revert last save_excursion_save and save_excursion_restore changes. - * alloc.c, editfns.c, marker.c, lisp.h: Revert. - Lots of crashes reported by Chong Yidong . - -2012-07-27 Dmitry Antipov - - Fix recently-introduced typos in Windows port. - Reported by Martin Rudalics . - * w32.c (init_environment): Replace comma with semicolon. - * w32fns.c (syms_of_w32fns): Add missing parenthesis. - -2012-07-27 Paul Eggert - - Improve GDB symbol export (Bug#12036). - * .gdbinit (xgetptr, xgetint, xgettype): Set $bugfix in different - arms of an 'if', not using conditional expressions; otherwise GDB - complains about the types in the unevaluated arm when the argument - is an integer literal. - (xgetint): Simplify expression. - * alloc.c (gdb_make_enums_visible): New constant. This ports to - GCC 3.4.2 the export of symbols to GDB. Problem reported by Eli - Zaretskii in . - * lisp.h (PUBLISH_TO_GDB): Remove. All uses removed. No longer - needed now that we have gdb_make_enums_visible. - (enum CHECK_LISP_OBJECT_TYPE, enum Lisp_Bits, enum More_Lisp_Bits) - (enum enum_USE_LSB_TAG): - New enum types, packaging up enums that need to be exported to GDB. - -2012-07-27 Dmitry Antipov - - Utility function to make a list from specified amount of objects. - * lisp.h (enum constype): New datatype. - (listn): New prototype. - * alloc.c (listn): New function. - (Fmemory_use_count, syms_of_alloc): Use it. - * buffer.c (syms_of_buffer): Likewise. - * callint.c (syms_of_callint): Likewise. - * charset.c (define_charset_internal): Likewise. - * coding.c (syms_of_coding): Likewise. - * keymap.c (syms_of_keymap): Likewise. - * search.c (syms_of_search): Likewise. - * syntax.c (syms_of_syntax): Likewise. - * w32.c (init_environment): Likewise. - * w32fns.c (Fw32_battery_status, syms_of_w32fns): Likewise. - * xdisp.c (syms_of_xdisp): Likewise. - * xfns.c (syms_of_xfns): Likewise. - -2012-07-27 Dmitry Antipov - - Fast save_excursion_save and save_excursion_restore. - * lisp.h (struct Lisp_Excursion): New data type. - (PVEC_EXCURSION): New pseudovector type. - (XEXCURSION, XSETEXCURSION, EXCURSIONP): Convenient macros - to deal with it. Adjust comments. - (init_marker, attach_marker): New prototype. - (unchain_marker): Adjust prototype. - * marker.c (attach_marker): Change to global. - (init_marker): New function. - * alloc.c (Fmake_marker, build_marker): Use it. - (build_marker): More easserts. - (mark_object): Handle struct Lisp_Excursion. - * editfns.c (save_excursion_save, save_excursion_restore): - Reimplement to use struct Lisp_Excursion. Add comments. - -2012-07-26 Paul Eggert - - Fix export of symbols to GDB (Bug#12036). - * alloc.c (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL) - (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Move these here from - emacs.c, as this is a more-suitable home. Had this been done earlier - the fix for 12036 would have avoided some of the problems noted in - by Eli Zaretskii, as the scope problems - would have been more obvious. - * emacs.c: Do not include ; no longer needed. - (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS) - (gdb_GCTYPEBITS, gdb_USE_LSB_TAG) - (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG): - Remove; now done in lisp.h. - * lisp.h (PUBLISH_TO_GDB): New macro. - (GCTYPEBITS, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE, enum pvec_type) - (DATA_SEG_BITS): Use it. - (GCTYPEBITS, USE_LSB_TAG): Now also an enum, for GDB. - (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Now just an enum, for GDB. - * mem-limits.h (EXCEEDS_LISP_PTR): Redo so that DATA_SEG_BITS need - not be usable in #if. This simplifies things. - -2012-07-26 Juanma Barranquero - - * makefile.w32-in ($(BLD)/emacs.$(O)): Update dependencies. - -2012-07-26 Paul Eggert - - Simplify export of symbols to GDB (Bug#12036). - * .gdbinit (xgetptr, xgetint, xgettype): Don't use "set $bugfix = - $bugfix.i", as this doesn't work (with GDB 7.4.1, anyway). - (xgetptr, xgetint, xgettype, xcoding, xcharset, xprintbytestr): - Adjust to changes in lisp.h and emacs.c, by using - CHECK_LISP_OBJECT_TYPE rather than gdb_use_struct, VALMASK instead - of $valmask, DATA_SEG_BITS instead of gdb_data_seg_bits, - INTTYPEBITS instead of gdb_gctypebits - 1, USE_LSB_TAG instead of - gdb_use_lsb, (1 << GCTYPEBITS) - 1 instead of $tagmask, VALBITS - instead of gdb_valbits. - (xvectype, xvector, xpr, xprintstr, xbacktrace): Similarly, use - PSEUDOVECTOR_FLAG instead of PVEC_FLAG, and ARRAY_MARK_FLAG - instead of gdb_array_mark_flag. - (xboolvector): Get size from $->size, not $->header.size. - Use BOOL_VECTOR_BITS_PER_CHAR rather than mystery constants. - (xreload, hook-run, hookpost-run): Remove. - * emacs.c: Include . - (gdb_use_lsb, gdb_use_struct, gdb_valbits, gdb_gctypebits) - (gdb_data_seg_bits, PVEC_FLAG, gdb_array_mark_flag, gdb_pvec_type): - Remove. - (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS, gdb_GCTYPEBITS) - (gdb_USE_LSB_TAG): New enum constants. - (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG): - Also define these as enum constants, so they're visible to GDB. - (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): New macros. - (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Also define these - as constants, so they're visible to GDB. - * lisp.h (VALBITS, INTTYPEBITS, FIXNUM_BITS, PSEUDOVECTOR_SIZE_BITS) - (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK, BOOL_VECTOR_BITS_PER_CHAR): - Now enum constants, not macros, so they're visible to GDB. - (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Default to 0, as this is - more convenient now. All uses changed. - (VALMASK) [USE_LSB_TAG]: Also define in this case. - * mem-limits.h (EXCEEDS_LISP_PTR): Adjust to DATA_SEG_BITS change. - -2012-07-26 Dmitry Antipov - - Explicitly free restriction data that are not needed anymore. - * editfns.c (save_restriction_restore): Free restriction data. - -2012-07-26 Stefan Monnier - - * eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp, - add argument, tune behavior, and adjust all callers. - -2012-07-25 Paul Eggert - - Use typedef for EMACS_INT, EMACS_UINT. - * lisp.h, s/ms-w32.h (EMACS_INT, EMACS_UINT): Use typedefs rather - than macros. This simplifies debugging in the usual case, since - it lets GDB show addresses as 'EMACS_INT *' rather than 'long int *' - and it allows expressions involving EMACS_INT casts. - * .gdbinit (xreload): Simplify by using EMACS_INT cast. - -2012-07-25 Jan Djärv - - * nsterm.m (ns_read_socket): Return early if there is a modal - window (Bug#12043). - -2012-07-25 Martin Rudalics - - * frame.c (Fredirect_frame_focus): In doc-string don't mention - that FOCUS-FRAME can be omitted. - -2012-07-25 Dmitry Antipov - - Adjust buffer text indirection counters at the end of Fkill_buffer. - * buffer.c (Fkill_buffer): Adjust indirection counters when the - buffer is definitely dead. This should really fix an issue reported - by Christoph Scholtes again. (Bug#12007). - (init_buffer_once): Initialize indirection counters of - buffer_defaults and buffer_local_symbols (for sanity and safety). - -2012-07-24 Eli Zaretskii - - * xdisp.c (init_iterator): Don't compute dimensions of truncation - and continuation glyphs on tooltip frames, leave them at zero. - Avoids continued lines in tooltips. (Bug#11832) - -2012-07-24 Dmitry Antipov - - Simplify copy_overlay. - * buffer.c (copy_overlay): Simplify. Use build_marker. - * lisp.h (struct Lisp_Overlay): Restore comment with minor tweaks. - -2012-07-23 Eli Zaretskii - - * print.c (print_object): Don't crash when a frame's name is nil - or invalid. (Bug#12025) - - * window.c (decode_any_window): Disable CHECK_LIVE_FRAME test, as - it signals an error when a tooltip frame is being created. - -2012-07-23 Dmitry Antipov - - Cleanup miscellaneous objects allocation and initialization. - * alloc.c (allocate_misc): Change to static. Add argument to - specify the subtype. Adjust comment and users. - (build_overlay): New function. - * buffer.c (copy_overlays, Fmake_overlay): Use it. - * lisp.h (struct Lisp_Overlay): Remove obsolete comment. - (allocate_misc): Remove prototype. - (build_overlay): Add prototype. - -2012-07-23 Dmitry Antipov - - Swap buffer text indirection counters in Fbuffer_swap_text. - * buffer.c (Fbuffer_swap_text): Swap indirections too. - This avoids crash reported by Christoph Scholtes at - http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00785.html. - -2012-07-22 Jan Djärv - - * nsmenu.m (Popdown_data): New struct. - (pop_down_menu): p->pointer is Popdown_data. Release the pool and - free Popdown_data. - (ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu. - (initWithContentRect): Make imgView and contentView non-static - and autorelease them. Also autorelease img and matrix (Bug#12005). - (dealloc): Remove (Bug#12005). - -2012-07-22 Dmitry Antipov - - Adjust consing_since_gc when objects are explicitly freed. - * alloc.c (GC_DEFAULT_THRESHOLD): New macro. - (Fgarbage_collect): Use it. Change minimum to 1/10 of default. - (free_cons, free_misc): Subtract object size from consing_since_gc. - -2012-07-22 Dmitry Antipov - - Simplify and cleanup markers positioning code. - * marker.c (attach_marker): More useful eassert. - (live_buffer, set_marker_internal): New function. - (Fset_marker, set_marker_restricted): Use set_marker_internal. - (set_marker_both, set_marker_restricted_both): Use live_buffer. - -2012-07-22 Paul Eggert - - * buffer.h (struct buffer.indirections): Now ptrdiff_t, not int, - as it's limited by the amount of memory, not by INT_MAX. - -2012-07-21 Eli Zaretskii - - * keyboard.c (keys_of_keyboard): Bind language-change to 'ignore' - in special-event-map. See the discussion at - http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00417.html - for the reasons. - - * w32menu.c (add_menu_item): Cast to ULONG_PTR when assigning - info.dwItemData. Fixes crashes on 64-bit Windows. - Suggested by Fabrice Popineau . - -2012-07-21 Jan Djärv - - * nsterm.m (accessibilityAttributeValue): New function. (Bug#11134). - (conversationIdentifier): Return value is NSInteger. - * nsterm.m (accessibilityAttributeValue): Surround with NS_IMPL_COCOA. - -2012-07-21 Chong Yidong - - * window.c (decode_any_window): Signal an error if the window is - on a dead frame (Bug#11984). - -2012-07-20 Dmitry Antipov - - Add indirection counting to speed up Fkill_buffer. - * buffer.h (struct buffer): New member. - * buffer.c (Fget_buffer_create): Set indirection counter to 0. - (Fmake_indirect_buffer): Set indirection counter to -1, increment - base buffer indirection counter. - (compact_buffer): If ENABLE_CHECKING, verify indirection counters. - (Fkill_buffer): Adjust indirection counters as needed, don't walk - through buffer list if indirection counter is 0. - -2012-07-20 Dmitry Antipov - - Extend the value returned by Fgarbage_collect with heap statistics. - * alloc.c (Qheap): New symbol. - (syms_of_alloc): DEFSYM it. - (Fgarbage_collect): If DOUG_LEA_MALLOC, add mallinfo data. - (Fmemory_free): Remove. - (syms_of_alloc): Don't defsubr it. - * buffer.c (Fcompact_buffer): Remove. - (syms_of_buffer): Don't defsubr it. - -2012-07-20 Dmitry Antipov - - Make maybe_gc inline. - Verify that inlining is always possible (GCC 4.7.1, -O3 -Winline). - * lisp.h (consing_since_gc, gc_relative_threshold) - (memory_full_cons_threshold): Revert declaration. - (maybe_gc): Remove prototype, define as inline. - * alloc.c: Remove old commented-out code. - (consing_since_gc, gc_relative_threshold) - (memory_full_cons_threshold): Revert to global. - (maybe_gc): Remove. - -2012-07-20 Dmitry Antipov - - Simple wrapper for make_unibyte_string, adjust font_open_by_name. - * lisp.h (build_unibyte_string): New function. - * dosfns.c, fileio.c, fns.c, ftfont.c, process.c: - * sysdep.c, w32fns.c, xfns.c: Use it. - * font.c (font_open_by_name): Change 2nd and 3rd args to the only arg - of type Lisp_Object to avoid redundant calls to make_unibyte_string. - Adjust users accordingly. - * font.h (font_open_by_name): Adjust prototype. - -2012-07-20 Dmitry Antipov - - Cleanup calls to Fgarbage_collect. - * lisp.h (maybe_gc): New prototype. - (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold): - Remove declarations. - * alloc.c (maybe_gc): New function. - (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold): - Make them static. - * bytecode.c (MAYBE_GC): Use maybe_gc. - * eval.c (eval_sub, Ffuncall): Likewise. - * keyboard.c (read_char): Likewise. Adjust call to maybe_gc - to avoid dependency from auto-save feature. - -2012-07-19 Paul Eggert - - * buffer.h (FOR_EACH_BUFFER): Rename from 'for_each_buffer'. - (FOR_EACH_PER_BUFFER_OBJECT_AT): Rename from - 'for_each_per_buffer_object_at'. - All uses changed. It's better to use upper-case for macros that - cannot be implemented as functions, to give the reader a clue - that they're special. - -2012-07-19 Stefan Monnier - - * alloc.c (Fgarbage_collect): Tweak docstring. - -2012-07-19 Dmitry Antipov - - Tweak the value returned from Fgarbage_collect again. - * alloc.c (Fgarbage_collect): New return value, as confirmed in - http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00418.html. - Adjust documentation. - (total_vector_bytes): Rename to total_vector_slots, adjust - accounting. - (total_free_vector_bytes): Rename to total_free_vector_slots, - adjust accounting. - (Qstring_bytes, Qvector_slots): New symbols. - (syms_of_alloc): DEFSYM them. - -2012-07-19 Dmitry Antipov - - Buffer compaction primitive which may be used from Lisp. - * buffer.c (compact_buffer, Fcompact_buffer): New function. - (syms_of_buffer): Register Fcompact_buffer. - * alloc.c (Fgarbage_collect): Use compact_buffer. - * buffer.h (compact_buffer): New prototype. - (struct buffer_text): New member. - -2012-07-19 Dmitry Antipov - - New macro to iterate over all buffers, miscellaneous cleanups. - * lisp.h (all_buffers): Remove declaration. - * buffer.h (all_buffers): Add declaration, with comment. - (for_each_buffer): New macro. - * alloc.c (Fgarbage_collect, mark_object): Use it. - * buffer.c (Fkill_buffer, Fbuffer_swap_text, Fset_buffer_multibyte) - (init_buffer): Likewise. - * data.c (Fset_default): Likewise. - * coding.c (code_conversion_restore): Remove redundant check - for dead buffer. - * buffer.c (Fkill_buffer): Likewise. Remove obsolete comment. - -2012-07-18 Andreas Schwab - - Fix bug that created negative-length intervals. - * intervals.c (merge_interval_right, merge_interval_left): - Do not zero out this interval if it is absorbed by its children, - as this interval's total length doesn't change in that case. See - . - -2012-07-18 Paul Eggert - - * alloc.c (Fmake_bool_vector): Fix off-by-8 bug - when invoking (make-bool-vector N t) and N is a positive - multiple of 8 -- the last 8 bits were mistakenly cleared. - - Remove some struct layout assumptions in bool vectors. - * alloc.c (bool_header_size): New constant. - (header_size, word_size): Move earlier, as they're now used earlier. - Use 'word_size' in a few more places, where it's appropriate. - (Fmake_bool_vector, sweep_vectors): Don't assume that there is no - padding before the data member of a bool vector. - (sweep_vectors): Use PSEUDOVECTOR_TYPEP, in an eassert, rather - than doing the check by hand with an abort (). - -2012-07-18 Stefan Monnier - - * eval.c (Fdefvar): Don't check constants since we only set the var if - it's not yet defined anyway (bug#11904). - - * lisp.h (last_undo_boundary): Declare new var. - * keyboard.c (command_loop_1): Set it. - * cmds.c (Fself_insert_command): Use it to only remove boundaries that - were auto-added by the command loop (bug#11774). - -2012-07-18 Andreas Schwab - - * w32font.c (Qsymbol): Remove local definition. - (syms_of_w32font): Don't DEFSYM it. - -2012-07-18 Dmitry Antipov - - Fix sweep_vectors to handle large bool vectors correctly. - * alloc.c (sweep_vectors): Account total_vector_bytes for - bool vectors larger than VBLOCK_BYTES_MAX. - -2012-07-18 Chong Yidong - - * frame.c (x_set_frame_parameters): Revert bogus change introduced - in 2012-05-25 commit by Paul Eggert (Bug#11738). - -2012-07-18 Dmitry Antipov - - Return more descriptive data from Fgarbage_collect. - Suggested by Stefan Monnier in - http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00369.html. - * alloc.c (bounded_number): New function. - (total_buffers, total_vectors): New variable. - (total_string_size): Rename to total_string_bytes, adjust users. - (total_vector_size): Rename to total_vector_bytes, adjust users. - (sweep_vectors): Account total_vectors and total_vector_bytes. - (Fgarbage_collect): New return value. Adjust documentation. - (gc_sweep): Account total_buffers. - (Fmemory_free, Fmemory_use_counts): Use bounded_number. - (VECTOR_SIZE): Remove. - * data.c (Qfloat, Qvector, Qsymbol, Qstring, Qcons): Make global. - (Qinterval, Qmisc): New symbols. - (syms_of_data): Initialize them. - * lisp.h (Qinterval, Qsymbol, Qstring, Qmisc, Qvector, Qfloat) - (Qcons, Qbuffer): New declarations. - -2012-07-17 Paul Eggert - - * alloc.c (Fmemory_free): Account for memory-free's own storage. - Round up, not down. Improve doc. - -2012-07-17 Dmitry Antipov - - Restore old code in allocate_string_data to avoid Faset breakage. - Reported by Julien Danjou in - http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00371.html. - * alloc.c (allocate_string_data): Restore old code with minor - adjustments, fix comment to explain this subtle issue. - -2012-07-17 Eli Zaretskii - - Remove FILE_SYSTEM_CASE. - * s/msdos.h (FILE_SYSTEM_CASE): Don't define. - - * fileio.c (FILE_SYSTEM_CASE): Don't define. - (Ffile_name_directory, Fexpand_file_name): Don't use FILE_SYSTEM_CASE. - Fixes problems on MS-DOS with Vtemp_file_name_pattern when - call-process-region passes it through expand-file-name. - - * dired.c (file_name_completion): Don't use FILE_SYSTEM_CASE. - -2012-07-17 Andreas Schwab - - Fix crash when creating indirect buffer (Bug#11917) - * buffer.c (buffer_lisp_local_variables): Add argument CLONE. - Don't handle unbound variables specially if non-zero. - (Fbuffer_local_variables): Pass zero. - (clone_per_buffer_values): Pass non-zero. - -2012-07-17 Andreas Schwab - - * gnutls.c (emacs_gnutls_handshake): Revert last change. Add QUIT - to make the loop interruptible. - -2012-07-17 Andreas Schwab - - * gnutls.c (emacs_gnutls_handshake): Only retry if - GNUTLS_E_INTERRUPTED. - -2012-07-17 Dmitry Antipov - - Cleanup and convert miscellaneous checks to eassert. - * alloc.c (mark_interval): Fix comment, partially rephrase - old comment from intervals.h (see below). - * intervals.c (find_interval, adjust_intervals_for_insertion) - (delete_interval, adjust_intervals_for_deletion) - (graft_intervals_into_buffer, temp_set_point_both, copy_intervals): - Convert to eassert. - (adjust_intervals_for_insertion, make_new_interval): - Remove obsolete and unused code. - * intervals.h (struct interval): Remove obsolete comment. - * textprotp.c (erase_properties): Remove unused code. - (Fadd_text_properties, set_text_properties_1, Fremove_text_properties) - (Fremove_list_of_text_properties): Convert to eassert. - -2012-07-17 Chong Yidong - - * editfns.c (Finsert_char): Doc fix. - -2012-07-17 Dmitry Antipov - - Fix previous change to make Fmemory_free always accurate. - * alloc.c (make_interval): Update total_free_intervals. - (make_float): Likewise for total_free_floats. - (free_cons, Fcons): Likewise for total_free_conses. - (SETUP_ON_FREE_LIST, allocate_vector_from_block): - Likewise for total_free_vector_bytes. - (Fmake_symbol): Likewise for total_free_symbols. - (bytes_free): Remove. - -2012-07-17 Dmitry Antipov - - Simple free memory accounting feature. - * alloc.c (bytes_free, total_free_vector_bytes): New variable. - (sweep_vectors): Accumulate size of free vectors. - (Fgarbage_collect): Setup bytes_free. - (Fmemory_free): New function. - (syms_of_alloc): Register it. - -2012-07-17 Dmitry Antipov - - Cleanup overlays checking. - * buffer.h (OVERLAY_VALID): Remove as useless synonym of OVERLAYP. - * buffer.c (overlay_touches_p, recenter_overlay_lists): Change to - eassert and OVERLAYP. - (sort_overlays): Change to use OVERLAYP. - -2012-07-16 René Kyllingstad (tiny change) - - * editfns.c (Finsert_char): Make it interactive, and make the - second arg optional. Copy interactive spec and docstring from - ucs-insert. - -2012-07-17 Paul Eggert - - * floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT (Bug#11913). - Unlike the other wrapped functions, fabs has an unspecified - effect on errno. - -2012-07-16 Jan Djärv - - * nsterm.m (keyDown): Interpret flags without left/right bits - as the left key (Bug#11670). - -2012-07-16 Dmitry Antipov - - Remove empty and useless init functions. - * lisp.h (init_character_once, init_fns, init_image) - (init_filelock, init_sound): Remove prototype. - * character.c (init_character_once): Remove. - * filelock.c (init_filelock): Likewise. - * fns.c (init_fns): Likewise. - * image.c (init_image): Likewise. - * sound.c (init_sound): Likewise. - * emacs.c (main): Adjust accordingly. - -2012-07-16 Dmitry Antipov - - * gtkutil.h: Tiny cleanups. - (use_old_gtk_file_dialog): Remove useless declaration. - (xg_uses_old_file_dialog): Add suggested const attribute. - -2012-07-15 Eli Zaretskii - - * bidi.c (MAX_STRONG_CHAR_SEARCH): New macro. - (bidi_paragraph_init): Use it to limit search forward for a strong - directional character in abnormally large paragraphs full of - neutral or weak characters. (Bug#11943) - -2012-07-15 Stefano Facchini (tiny change) - - * gtkutil.c (xg_create_tool_bar): Apply "primary-toolbar" style to - the toolbar (Bug#9451). - (xg_make_tool_item): Give the widget event box a transparent - background. - -2012-07-15 Dmitry Antipov - - Cleanup basic allocation variables and functions. - * alloc.c (ignore_warnings, init_intervals, init_float) - (init_cons, init_symbol, init_marker): Remove. - (interval_block_index): Initialize to INTERVAL_BLOCK_SIZE. - (float_block_index): Initialize to FLOAT_BLOCK_SIZE. - (cons_block_index): Initialize to CONS_BLOCK_SIZE. - (symbol_block_size): Initialize to SYMBOL_BLOCK_SIZE. - (marker_block_index): Initialize to MARKER_BLOCK_SIZE. - (staticidx, init_alloc_once, init_strings, free_ablock): - Remove redundant initialization. - * fns.c (init_weak_hash_tables): Remove. - * lisp.h (init_weak_hash_tables): Remove prototype. - -2012-07-15 Dmitry Antipov - - Use zero_vector where appropriate. - * alloc.c (zero_vector): Define as Lisp_Object. Adjust users - accordingly. - * lisp.h (zero_vector): New declaration. - * font.c (null_vector): Remove. - (syms_of_font): Remove initialization and staticpro. - (font_list_entities, font_find_for_lface): Change to use zero_vector. - * keymap.c (Faccessible_keymaps): Likewise. - -2012-07-15 Leo Liu - - * fringe.c: Fix typo in comments. - -2012-07-14 Leo Liu - - * fringe.c: Add a new bitmap exclamation-mark. - -2012-07-14 Eli Zaretskii - - * gmalloc.c (GMALLOC_INHIBIT_VALLOC): Don't reference. - - * s/msdos.h (BSD_SYSTEM, DATA_START, GC_SETJMP_WORKS, HAVE_MOUSE) - (HAVE_MENUS): Don't define, defined by editing config.in with - msdos/sed2v2.inp. - (GMALLOC_INHIBIT_VALLOC): Don't define. - (MODE_LINE_BINARY_TEXT): Remove, not used anymore. - -2012-07-14 Juanma Barranquero - - * s/ms-w32.h (GC_SETJMP_WORKS, GC_MARK_STACK): Set in nt/config.nt. - -2012-07-14 Glenn Morris - - * s/aix4-2.h, s/freebsd.h, s/gnu-linux.h, s/hpux10-20.h: - * s/irix6-5.h, s/netbsd.h, s/sol2-6.h, s/unixware.h: - Let configure set GC_SETJMP_WORKS, GC_MARK_STACK. - -2012-07-13 Glenn Morris - - * s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Let configure set it. - - * s/usg5-4-common.h (SETUP_SLAVE_PTY): Let configure set it. - * s/irix6-5.h (SETUP_SLAVE_PTY): No more need to unset it. - -2012-07-13 Jan Djärv - - * nsterm.m (uRect): Only define if NS_IMPL_GNUSTEP. - (x_free_frame_resources): Pass x_free_frame_resources to NSTRACE. - (ns_lisp_to_color, ns_string_to_lispmod, ns_term_init) - (ns_term_shutdown, requestService, initFrameFromEmacs): Use SSDATA - where appropriate. - (ns_exec_path, ns_load_path, changeFont): Put () around assignment used - as boolean expression. - (x_set_window_size): Remove unused variable toolbar. - (ns_get_color_default, ns_mod_to_lisp): Remove. - (ns_mouse_position): Remove unused variables xchar and ychar. - (ns_compute_glyph_string_overhangs): Remove unused variable face. - (ns_set_vertical_scroll_bar): Remove unused variable count. - (ns_delete_terminal): Remove unused variable i. - (ns_term_init): Remove unused variables r, g and b. - (mouseDown): Remove unused variable window. - (windowDidResize): Move definition of theWindow inside NS_IMPL_GNUSTEP. - (initFrameFromEmacs): Remove unused variable vbextra. - (mouseEntered): Remove unused variables p and dpyinfo. - (mouseExited): Remove unused variables p and r. - (ns_define_frame_cursor, ns_clear_frame_area) - (ns_draw_window_cursor, ns_initialize_display_info): Make static. - (menuDown): Assign [sender tag] to variable and cast the variable. - - * nsterm.h (menuDown): Add id as type to argument sender. - (ns_display_info_for_name): Add Lisp_Object argument. - (ns_term_init): Add Lisp_Object argument. - (ns_map_event_to_object): Add void argument. - (ns_string_from_pasteboard, ns_string_to_pasteboard): Add correct - prototype with arguments and only declare if __OBJC__. - (nxatoms_of_nsselect): Add void argument. - (ns_lisp_to_cursor_type): Add Lisp_Object argument. - (ns_alloc_autorelease_pool): Add void argument. - (ns_release_autorelease_pool): Add void* argument. - (ns_get_defaults_value): Add const char* argument. - - * nsmenu.m (ns_update_menubar, ns_menu_show, process_dialog) - (initFromContents): Use SSDATA where appropriate. - (ns_update_menubar): Add braces to ambigous if-else. - (initWithTitle): Put () around assignment in if statement. - (ns_menu_show): Remove unused variables window and keymap. - (update_frame_tool_bar): Remove unused variable selected_p. - (initWithContentRect): Remove unused variable this_cmd_name. - - * nsimage.m (ns_load_image, allocInitFromFile): Use SSDATA where - appropriate. - (setXBMColor): Remove unused variable len. - (setPixmapData): Put () around assignment in loop statement. - - * nsfont.m (ns_get_family, ns_lang_to_script, ns_otf_to_script) - (ns_registry_to_script, ns_get_req_script, nsfont_open): Use SSDATA - where appropriate. - (ns_get_covering_families, ns_findfonts, nsfont_list_family): Put () - around assignment in loop statement. - (nsfont_open): Remove unused variable i. - (nsfont_open): Remove unused variable len. - (nsfont_draw): Remove unused variable cs. - - * nsfns.m (x_set_icon_name, ns_set_name_internal) - (ns_set_name_as_filename, ns_implicitly_set_icon_type) - (x_set_icon_type, ns_lisp_to_cursor_type, Fns_read_file_name) - (Fns_get_resource, Fns_set_resource, Fx_open_connection) - (Fns_font_name, Fns_perform_service) - (Fns_convert_utf8_nfd_to_nfc, ns_do_applescript) - (Fns_do_applescript, Fx_show_tip): Use SSDATA where appropriate. - (ns_set_name): Remove unused variable view. - (x_set_menu_bar_lines): Remove unused variable olines. - (x_set_tool_bar_lines): Remove unused variable root_window. - (Fns_list_colors): Put () around assignment in while statement. - (Fns_perform_service): Remove unused variable len. - (Fns_display_usable_bounds): Remove unused variable top. - (syms_of_nsfns): Remove unused variable i. - - * nsmenu.m (ns_update_menubar): Exchange place of argument 2 and 3 to - memcpy (Bug#11907). - -2012-07-13 Kalle Kankare (tiny change) - - * image.c (Fimagemagick_types): Initialize ex with GetExceptionInfo - and free it with DestroyExceptionInfo (Bug#11558). - -2012-07-13 Juanma Barranquero - - * s/ms-w32.h (FIRST_PTY_LETTER, HAVE_SOCKETS): Move to nt/config.nt. - (HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE___BUILTIN_UNWIND_INIT): - Set here, not in nt/config.nt. - -2012-07-13 Eli Zaretskii - - * xdisp.c (move_it_in_display_line_to): On GUI terminals, allow - cursor overflow into the last glyph on display line when the right - fringe is off. (Bug#11832) - -2012-07-13 Paul Eggert - - * xdisp.c (produce_special_glyphs): Now static. - * dispextern.h (produce_special_glyphs): Remove decl. - -2012-07-13 Glenn Morris - - * s/bsd-common.h, s/cygwin.h: Remove empty files. - * s/freebsd.h, s/netbsd.h: Do not include bsd-common.h. - - * s/usg5-4-common.h (USG, USG5): - * s/template.h (USG5, USG, HPUX, BSD4_2, BSD_SYSTEM): - * s/sol2-6.h (SOLARIS2): - * s/irix6-5.h (IRIX6_5): - * s/hpux10-20.h (USG, USG5, HPUX): - * s/gnu-linux.h (USG, GNU_LINUX): - * s/freebsd.h (BSD_SYSTEM): - * s/darwin.h (BSD4_2, BSD_SYSTEM, DARWIN_OS): - * s/cygwin.h (CYGWIN): - * s/bsd-common.h (BSD_SYSTEM, BSD4_2): - * s/aix4-2.h (USG, USG5, _AIX): Move "system type" macros to configure. - -2012-07-13 BT Templeton (tiny change) - - * nsfont.m (ns_charset_covers): Don't abort if no bitmap (Bug#11853). - -2012-07-13 Glenn Morris - - * s/usg5-4-common.h (NSIG_MINIMUM): Let configure set it. - - * s/gnu-linux.h, s/irix6-5.h: Let configure set ULIMIT_BREAK_VALUE. - - * process.c (init_process_emacs): Replace MIN_PTY_KERNEL_VERSION. - * s/darwin.h (MIN_PTY_KERNEL_VERSION): Remove single-use macro. - -2012-07-12 Glenn Morris - - * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Move to configure. - - * process.c (init_process_emacs): Rename from init_process. - The old name is also the name of a Mach system call. - * lisp.h, emacs.c: Update for this name change. - * nsgui.h, sysselect.h, s/darwin.h: Remove workaround that is no - longer needed. - -2012-07-12 Eli Zaretskii - - * xdisp.c (insert_left_trunc_glyphs): Fix incorrect size in - memmove call that removes glyphs covered by the left truncation - glyph. Improve commentary. - (display_line): Fix display of continuation glyphs on GUI frames - when the right fringe is turned off and variable-size fonts are - used in the window. Move the code that appends a stretch glyph to - produce_special_glyphs, so that it could be used for truncation - and continuation glyphs alike. - (produce_special_glyphs) [HAVE_WINDOW_SYSTEM]: Produce a stretch - glyph of a suitably computed width, to align the special glyphs at - the window margin. Code moved from display_line. (Bug#11832) - -2012-07-12 Glenn Morris - - * s/aix4-2.h, s/hpux10-20.h: Let configure set NO_EDITRES. - - * s/gnu-linux.h, s/hpux10-20.h: - Do not unconditionally define HAVE_XRMSETDATABASE. - - * s/gnu-linux.h (UNIX98_PTYS): Let configure set it. - -2012-07-12 Paul Eggert - - Fix typos that broke OS X build. - Reported by Randal L. Schwartz in - . - * nsterm.m (ns_timeout): Add missing local decl. - (ns_get_color): snprintf -> sprintf, to fix typo. - -2012-07-12 Glenn Morris - - * src/s/aix4-2.h, src/s/cygwin.h, src/s/darwin.h: - * src/s/gnu-linux.h, src/s/hpux10-20.h, src/s/irix6-5.h: - * src/s/sol2-6.h, src/s/unixware.h, src/s/usg5-4-common.h: - Move PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF to configure. - - * s/cygwin.h, s/darwin.h, s/gnu-linux.h, s/irix6-5.h: - Move PTY_OPEN to configure. - - * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h: - * s/gnu-linux.h, s/hpux10-20.h, s/irix6-5.h, s/template.h: - * s/usg5-4-common.h: Move FIRST_PTY_LETTER, PTY_ITERATION to configure. - -2012-07-12 Dmitry Antipov - - Use empty_unibyte_string where applicable. - * keyboard.c (parse_tool_bar_item): Use empty_unibyte_string. - * lread.c (read1): Likewise. - * xsettings.c (syms_of_xsettings): Likewise. - -2012-07-12 Glenn Morris - - * s/cygwin.h (G_SLICE_ALWAYS_MALLOC): - * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): - * s/irix6-5.h (SETPGRP_RELEASES_CTTY, PREFER_VSUSP): - * s/hpux10-20.h (RUN_TIME_REMAP): - * s/bsd-common.h (TABDLY): Move to configure. - - * s/hpux10-20.h, s/sol2-6.h: Move XOS_NEEDS_TIME_H to configure. - - * s/bsd-common.h, s/darwin.h: Move TAB3 to configure. - - * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY) - (BROKEN_SIGPOLL, BROKEN_GET_CURRENT_DIR_NAME): Let configure set them. - - * s/darwin.h (NO_ABORT, NO_MATHERR): Let configure set them. - - * s/bsd-common.h, s/cygwin.h, s/gnu-linux.h, s/irix6-5.h: - * s/template.h: Move NARROWPROTO to configure. - -2012-07-11 Glenn Morris - - * s/gnu-linux.h, s/sol2-6.h: No longer define POSIX, - unused since 2011-01-17 change to systty.h. - - * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h, s/gnu-linux.h: - * s/hpux10-20.h, s/template.h, s/usg5-4-common.h: - Move HAVE_PTYS and HAVE_SOCKETS to configure. - -2012-07-11 Paul Eggert - - * s/sol2-6.h (HAVE_LIBKSTAT): Remove. (Bug#11914) - -2012-07-11 Glenn Morris - - * s/darwin.h, s/gnu-linux.h, s/template.h: - Move INTERRUPT_INPUT to configure. - -2012-07-11 Dmitry Antipov - - Minor adjustments to interning code. - * lisp.h (intern, intern_c_string): Redefine as static inline - wrappers for intern_1 and intern_c_string_1, respectively. - (intern_1, intern_c_string_1): Rename prototypes. - * lread.c (intern_1, intern_c_string_1, oblookup): - Simplify Vobarray checking. - * font.c (font_intern_prop): Likewise. Adjust comment. - * w32font.c (intern_font_name): Likewise. - -2012-07-11 Andreas Schwab - - * gnutls.c (Fgnutls_boot): Properly parse :keylist argument. - - * coding.c (Fdefine_coding_system_internal): Use XCAR/XCDR instead - of Fcar/Fcdr if possible. - * font.c (check_otf_features): Likewise. - * fontset.c (Fnew_fontset): Likewise. - * gnutls.c (Fgnutls_boot): Likewise. - * minibuf.c (read_minibuf): Likewise. - * msdos.c (IT_set_frame_parameters): Likewise. - * xmenu.c (Fx_popup_dialog): Likewise. - * w32menu.c (Fx_popup_dialog): Likewise. - -2012-07-11 Glenn Morris - - * s/bsd-common.h, s/cygwin.h: No need to undefine INTERRUPT_INPUT, - since nothing has defined it on these platforms. - - * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/gnu-linux.h: - * s/irix6-5.h: Move SIGNALS_VIA_CHARACTERS to configure. - - * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h: - * s/gnu-linux.h, s/hpux10-20.h, s/template.h, s/usg5-4-common.h: - Move CLASH_DETECTION to configure. - - * s/gnu.h: Remove file, which is now empty. - - * s/gnu.h, s/gnu-linux.h: - Move GNU_LIBRARY_PENDING_OUTPUT_COUNT to configure. - -2012-07-11 John Wiegley - - * alloc.c (mark_memory): Guard the "no_address_safety_analysis" - function attribute, so we only use it if it exists in the - compiler. - -2012-07-11 Dmitry Antipov - - Avoid call to strlen in fast_c_string_match_ignore_case. - * search.c (fast_c_string_match_ignore_case): Change to use - length argument. Adjust users accordingly. - * lisp.h (fast_c_string_match_ignore_case): Adjust prototype. - -2012-07-11 Paul Eggert - - Assume mkdir, rmdir. - * sysdep.c (mkdir) [!HAVE_MKDIR]: Remove. - * sysdep.c (rmdir) [!HAVE_RMDIR]: Remove. - - Assume rename. - * sysdep.c (rename) [!HAVE_RENAME]: Remove. - - Assume perror. - * s/hpux10-20.h (HAVE_PERROR): Remove. - * sysdep.c (perror) [HPUX && !HAVE_PERROR]: - Remove dummy definition, as this problem was obsolete long ago. - - Assume strerror. - * sysdep.c (strerror) [!HAVE_STRERROR && !WINDOWSNT]: Remove. - -2012-07-11 Dmitry Antipov - - Avoid calls to strlen in font processing functions. - * font.c (font_parse_name, font_parse_xlfd, font_parse_fcname) - (font_open_by_name): Change to use length argument. - Adjust users accordingly. - * font.h (font_open_by_name, font_parse_xlfd, font_unparse_xlfd): - Adjust prototypes. - * xfont.c (xfont_decode_coding_xlfd, font_unparse_xlfd): - Change to return ptrdiff_t. - (xfont_list_pattern, xfont_match): Use length returned by - xfont_decode_coding_xlfd. - * xfns.c (x_default_font_parameter): Omit useless xstrdup. - -2012-07-11 Glenn Morris - - * s/darwin.h, s/freebsd.h, s/netbsd.h: - Move DONT_REOPEN_PTY to configure. - - * sound.c (DEFAULT_SOUND_DEVICE) [!WINDOWSNT]: - * s/netbsd.h (DEFAULT_SOUND_DEVICE): Let configure set it. - -2012-07-10 Paul Eggert - - Remove "#define unix" that is no longer needed (Bug#11905). - * s/aix4-2.h (unix): Remove; no longer needed. - - EMACS_TIME simplification (Bug#11875). - This replaces macros (which typically do not work in GDB) - with functions, typedefs and enums, making the code easier to debug. - The functional style also makes code easier to read and maintain. - * systime.h: Include on all hosts, not just if - WINDOWSNT, since 'struct timeval' is needed in general. - (EMACS_TIME): Now a typedef, not a macro. - (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): Now constants, - not macros. - (EMACS_SECS, EMACS_NSECS, EMACS_TIME_SIGN, EMACS_TIME_VALID_P) - (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE, EMACS_TIME_EQ) - (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE, EMACS_TIME_LT) - (EMACS_TIME_LE): Now functions, not macros. - (EMACS_SET_SECS, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS) - (EMACS_SET_USECS, EMACS_SET_SECS_USECS): Remove these macros, - which are not functions. All uses rewritten to use: - (make_emacs_time): New function. - (EMACS_SECS_ADDR, EMACS_SET_INVALID_TIME, EMACS_GET_TIME) - (EMACS_ADD_TIME, EMACS_SUB_TIME): Remove these macros, which are - not functions. All uses rewritten to use the following, respectively: - (emacs_secs_addr, invalid_emacs_time, get_emacs_time) - (add_emacs_time, sub_emacs_time): New functions. - * atimer.c: Don't include , as "systime.h" does this. - * fileio.c (Fcopy_file): - * xterm.c (XTflash): Get the current time closer to when it's used. - * makefile.w32-in ($(BLD)/atimer.$(O)): Update dependencies. - - * bytecode.c (targets): Suppress -Woverride-init warnings. - - Simplify by avoiding confusing use of strncpy etc. - * doc.c (Fsnarf_documentation): - * fileio.c (Ffile_name_directory, Fsubstitute_in_file_name): - * frame.c (Fmake_terminal_frame): - * gtkutil.c (get_utf8_string): - * lread.c (openp): - * nsmenu.m (ns_update_menubar): - * regex.c (regerror): - Prefer memcpy to strncpy and strncat when either will do. - * fileio.c (Fsubstitute_in_file_name): - * keyboard.c (MULTI_LETTER_MOD, parse_modifiers_uncached) - (menu_separator_name_p): - * nsmenu.m (ns_update_menubar): - Prefer memcmp to strncmp when either will do. - * nsterm.m: Include . - (ns_get_color): - * s/gnu-linux.h, s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF): - Prefer snprintf to strncpy. - * nsterm.m (ns_term_init): - * widget.c (set_frame_size) [0]: Prefer xstrdup to xmalloc + strncpy. - * nsterm.m (ns_term_init): - Avoid the need for strncpy, by using build_string or - make_unibyte_string directly. Use dtoastr, not snprintf. - * process.c (Fmake_network_process): Diagnose service names that - are too long, rather than silently truncating them or creating - non-null-terminated names. - (Fnetwork_interface_info): Likewise, for interface names. - * sysdep.c (system_process_attributes) [GNU_LINUX]: - Prefer sprintf to strncat. - * xdisp.c (debug_method_add) [GLYPH_DEBUG]: - Prefer vsnprintf to vsprintf + strncpy. - -2012-07-10 Glenn Morris - - * dispnew.c (PENDING_OUTPUT_COUNT) [!__GNU_LIBRARY__]: - Clarify fallback case. - -2012-07-10 Dmitry Antipov - - Use XCAR and XCDR instead of Fcar and Fcdr where possible. - * callint.c, coding.c, doc.c, editfns.c, eval.c, font.c, fontset.c, - * frame.c, gnutls.c, minibuf.c, msdos.c, textprop.c, w32fns.c, - * w32menu.c, window.c, xmenu.c: Change to use XCAR and XCDR - where argument type is known to be a Lisp_Cons. - -2012-07-10 Tom Tromey - - * bytecode.c (BYTE_CODE_THREADED): New macro. - (BYTE_CODES): New macro. Replaces all old byte-code defines. - (enum byte_code_op): New type. - (CASE, NEXT, FIRST, CASE_DEFAULT, CASE_ABORT): New macros. - (exec_byte_code): Use them. Use token threading when applicable. - -2012-07-10 Dmitry Antipov - - Optimize pure C strings initialization. - * lisp.h (make_pure_string): Fix prototype. - (build_pure_c_string): New function, defined as static inline. This - provides a better opportunity to optimize away calls to strlen when - the function is called with compile-time constant argument. - * alloc.c (make_pure_c_string): Fix comment. Change to add nchars - argument, adjust users accordingly. Use build_pure_c_string where - appropriate. - * buffer.c, coding.c, data.c, dbusbind.c, fileio.c, fontset.c, frame.c, - * keyboard.c, keymap.c, lread.c, search.c, syntax.c, w32fns.c, xdisp.c, - * xfaces.c, xfns.c, xterm.c: Use build_pure_c_string where appropriate. - -2012-07-10 Dmitry Antipov - - Avoid calls to strlen in miscellaneous functions. - * buffer.c (init_buffer): Use precalculated len, adjust if needed. - * font.c (Ffont_xlfd_name): Likewise. Change to call make_string. - * lread.c (openp): Likewise. - -2012-07-10 Dmitry Antipov - - Avoid calls to strlen in path processing functions. - * fileio.c (file_name_as_directory): Add comment. Change to add - srclen argument and return the length of result. Adjust users - accordingly. - (directory_file_name): Fix comment. Change to add srclen argument, - swap 1st and 2nd arguments to obey the common convention. - Adjust users accordingly. - * filelock.c (fill_in_lock_file_name): Avoid calls to strlen. - -2012-07-10 Glenn Morris - - * s/cygwin.h, s/darwin.h, s/freebsd.h, s/netbsd.h, s/unixware.h: - Move PENDING_OUTPUT_COUNT definition to configure. - - * s/irix6-5.h (DATA_START, DATA_SEG_BITS): - * s/hpux10-20.h (DATA_SEG_BITS, DATA_START): - * s/gnu.h (DATA_START): Move definitions to configure. - - * s/irix6-5.h (SETUP_SLAVE_PTY, PTY_NAME_SPRINTF): Drop ifdef guards. - We include usg5-4-common.h, which defines them both. - - * s/gnu.h: Don't include fcntl.h (every file in Emacs that uses - O_RDONLY already includes it). - - Stop ns builds setting the EMACSLOADPATH environment variable. - * nsterm.m (ns_load_path): Rename from ns_init_paths. - Now it does not set EMACSLOADPATH, just returns the load-path string. - * nsterm.h: Update accordingly. - * lread.c [HAVE_NS]: Include nsterm.h. - (init_lread) [HAVE_NS]: Use ns_load_path. - * emacs.c (main) [HAVE_NS]: No longer call ns_init_paths. - -2012-07-09 Glenn Morris - - * s/gnu.h (SIGNALS_VIA_CHARACTERS): No need to define it here, - since the included bsd-common.h does so. - - Stop ns builds setting the EMACSPATH environment variable. - * nsterm.m (ns_exec_path): New function, split from ns_init_paths. - (ns_init_paths): Do not set EMACSPATH. - * nsterm.h (ns_exec_path): Add it. - * callproc.c (init_callproc_1, init_callproc) [HAVE_NS]: - Use ns_exec_path. - - * nsterm.m, nsterm.h (ns_etc_directory): Fix type, empty return. - -2012-07-09 Paul Eggert - - * process.c (wait_reading_process_output): 'waitchannels' was unset - when read_kbd || !NILP (wait_for_cell); fix this. - - Add GCC-style 'const' attribute to functions that can use it. - * character.h (char_resolve_modifier_mask): - * keyboard.h (make_ctrl_char): - * lisp.h (multibyte_char_to_unibyte, multibyte_char_to_unibyte_safe) - (init_character_once, next_almost_prime, init_fns, init_image) - (flush_pending_output, init_sound): - * mem-limits.h (start_of_data): - * menu.h (finish_menu_items): - Add ATTRIBUTE_CONST. - * emacs.c (DEFINE_DUMMY_FUNCTION): - Declare the dummy function with ATTRIBUTE_CONST. - * lisp.h (Fbyteorder, Fmax_char, Fidentity): - Add decls with ATTRIBUTE_CONST. - - Minor improvements to make_formatted_string. - * alloc.c (make_formatted_string): Prefer int to ptrdiff_t - where int is good enough, as vsprintf returns an int. - * lisp.h (make_formatted_string): Add ATTRIBUTE_FORMAT_PRINTF. - -2012-07-09 Dmitry Antipov - - Use make_formatted_string to avoid double length calculation. - * lisp.h (make_formatted_string): New prototype. - * alloc.c (make_formatted_string): New function. - * buffer.c (Fgenerate_new_buffer_name): Use it. - * dbusbind.c (syms_of_dbusbind): Likewise. - * editfns.c (Fcurrent_time_zone): Likewise. - * filelock.c (get_boot_time): Likewise. - * frame.c (make_terminal_frame, set_term_frame_name) - (x_report_frame_params): Likewise. - * image.c (gs_load): Likewise. - * minibuf.c (get_minibuffer): Likewise. - * msdos.c (dos_set_window_size): Likewise. - * process.c (make_process): Likewise. - * xdisp.c (ensure_echo_area_buffers): Likewise. - * xsettings.c (apply_xft_settings): Likewise. - -2012-07-09 Glenn Morris - - Stop ns builds polluting the environment with EMACSDATA, EMACSDOC. - * nsterm.m (ns_etc_directory): New function, split from ns_init_paths. - (ns_init_paths): Do not set EMACSDATA, EMACSDOC. - * nsterm.h (ns_etc_directory): Add it. - * callproc.c [HAVE_NS]: Include nsterm.h. - (init_callproc_1, init_callproc) [HAVE_NS]: Use ns_etc_directory. - -2012-07-09 Dmitry Antipov - - Move marker debugging code under MARKER_DEBUG. - * marker.c (MARKER_DEBUG): Move marker debugging code under - #ifdef MARKER_DEBUG because byte_char_debug_check is too slow - for bootstrap with --enable-checking (~3x slowdown reported - by Juanma Barranquero ). - (verify_bytepos): Move under #ifdef MARKER_DEBUG. - -2012-07-08 Paul Eggert - - * systime.h (EMACS_SUB_TIME): Clarify behavior with unsigned time_t. - See . - -2012-07-08 Eli Zaretskii - - * xdisp.c (fill_glyphless_glyph_string): If the face of the glyph - has no font, use the frame's font. (Bug#11813) - (display_line): Add commentary about displaying truncation glyphs - on GUI frames. - (produce_special_glyphs): Move here from term.c. - - * term.c (produce_special_glyphs): Move to xdisp.c. - - * dispextern.h (produce_special_glyphs): Move prototype to xdisp.c - section. - -2012-07-07 Andreas Schwab - - * xdisp.c (display_line): Avoid warning about implicit declaration - of FRAME_FONT. - - * frame.c (get_frame_param): Define only if HAVE_WINDOW_SYSTEM. - - * lisp.h: Remove empty conditional. - -2012-07-07 Paul Eggert - - * lread.c (load_path_check): Now static. - - Fix some minor --with-ns problems found by static checking. - * frame.c (Ftool_bar_pixel_width) [!FRAME_TOOLBAR_WIDTH]: - (x_set_font) [!HAVE_X_WINDOWS]: - * image.c (xpm_load_image) [HAVE_NS]: - (x_to_xcolors) [!HAVE_X_WINDOWS && !HAVE_NTGUI]: - (x_disable_image) [!HAVE_NS && !HAVE_NTGUI]: - Remove unused local. - (Fx_parse_geometry) [HAVE_NS]: Don't return garbage. - (xpm_load_image) [HAVE_NS && !HAVE_XPM]: Remove unused label. - * image.c (x_create_bitmap_from_file) [HAVE_NS]: - (xpm_load_image, xpm_load) [HAVE_NS && !HAVE_XPM]: - * nsselect.m (symbol_to_nsstring, ns_string_to_pasteboard_internal): - * xfaces.c (Fx_load_color_file) [!HAVE_X_WINDOWS]: - Fix pointer signedness problem. - * xfaces.c (FRAME_X_FONT_TABLE): - * xterm.h (FRAME_X_FONT_TABLE): Remove unused, incompatible macros. - -2012-07-07 Glenn Morris - - * lread.c (load_path_check): New function, split from init_lread. - (init_lread): Reorganize. Motivation: - If EMACSLOADPATH is set, check/warn about that rather than the - defaults, which we are not going to use. Hence we can remove - the turn_off_warning and WINDOWSNT || HAVE_NS tests. - Don't warn if site-lisp directories are missing. - If not installed, start from a blank load-path, since - PATH_LOADSEARCH refers to the eventual installation directories. - -2012-07-07 Eli Zaretskii - - Support truncation and continuation glyphs on GUI frames, when - fringes are disabled. (Bug#11832) - * xdisp.c (init_iterator): Get dimensions of truncation and - continuation glyphs even if on GUI frames. - Adjust it->last_visible_x on GUI frames when the left or right fringes, - or both, are absent. - (start_display, move_it_in_display_line_to): Handle the case of a - GUI frame without a fringe to display continuation or truncation - glyphs. - (insert_left_trunc_glyphs): Support GUI frames: make sure - truncation glyphs overwrite enough glyphs from the current line to - have sufficient space in pixels. - (display_line): Support truncation and continuation glyphs on GUI - frames. If some spare pixels are left on the line after inserting - the truncation glyphs, fill that space with a stretch glyph of a - suitably computed width. - - * term.c (produce_special_glyphs): Call PRODUCE_GLYPHS, not - produce_glyphs, to support GUI sessions. - -2012-07-07 Paul Eggert - - * sysdep.c (ULLONG_MAX): Define if not already defined (Bug#11781). - - * sysdep.c (list_system_processes): Port to NetBSD-current (Bug#11797). - - Do not require float-time's arg to fit in time_t (Bug#11825). - This works better on hosts where time_t is unsigned, and where - float-time is applied to the (negative) difference between two times. - * editfns.c (decode_time_components): Last arg is now double *, - not int *, and means to store all the result as a double, without - worrying about whether the seconds part fits in time_t. - All callers changed. - (lisp_time_argument): Remove last int * arg, as it's no longer needed. - All callers changed. - (Ffloat_time): Do not fail merely because the specified time falls - outside of time_t range. - -2012-07-07 Glenn Morris - - * s/darwin.h (HAVE_RES_INIT, HAVE_LIBRESOLV): - * s/hpux10-20.h (HAVE_RINT, HAVE_RANDOM): - * s/unixware.h (HAVE_GETWD): Move undefs to configure (effectively). - -2012-07-07 Juanma Barranquero - - * makefile.w32-in (DISPEXTERN_H, $(BLD)/regex.$(O)): - Update dependencies. - - * s/ms-w32.h [_MSC_VER]: Remove strcasecmp, strncasecmp. - -2012-07-06 Paul Eggert - - Use c_strcasecmp for ASCII case-insensitive comparison (Bug#11786). - * dispextern.h, nsfns.m, nsterm.m: Include . - * dispextern.h (xstrcasecmp): Rewrite using c_strcasecmp. - * nsfns.m (x_get_string_resource): Use c_strncasecmp, not strncasecmp. - * nsterm.m (ns_default): Use c_strcasecmp, not strcasecmp. - * xfaces.c (xstrcasecmp) [!HAVE_STRCASECMP]: Remove. - - * xfont.c (compare_font_names): Redo to omit the need for casts. - -2012-07-06 Andreas Schwab - - * xfns.c (Fx_change_window_property): Doc fix. - * w32fns.c (Fx_change_window_property): Doc fix. - - * w32fns.c (Fx_window_property): Accept the same arguments as the - X Windows version. Doc fix. - * xfns.c (Fx_window_property): Doc fix. (Bug#11870) - -2012-07-06 Juanma Barranquero - Eli Zaretskii - - * s/ms-w32.h: Settings not specific to Windows moved to nt/config.nt. - Windows-specific code from nt/config.nt moved here. - Obsolete settings removed. - -2012-07-06 Paul Eggert - - * process.c: Avoid unnecessary calls to gettime. - (wait_reading_process_output): Don't get the time of day - when gobbling data immediately and not waiting, as there's no need - for it in that case. This removes a FIXME. - -2012-07-06 Jan Djärv - - * gtkutil.c (xg_event_is_for_scrollbar): Assign gwin when HAVE_GTK3 - is defined (Bug#11768). - -2012-07-06 Dmitry Antipov - - Fix marker debugging code. - * marker.c (byte_char_debug_check): Do not perform the check - if buffer is not multibyte. - (buf_charpos_to_bytepos, buf_bytepos_to_charpos): - Call byte_char_debug_check with correct arguments. - -2012-07-06 Dmitry Antipov - - Compile marker debugging code only if ENABLE_CHECKING is defined. - * marker.c (byte_char_debug_check, count_markers): - Use only if ENABLE_CHECKING is defined. - (byte_debug_flag): Remove. - (CONSIDER, buf_charpos_to_bytepos, buf_bytepos_to_charpos): - Always call byte_char_debug_check if ENABLE_CHECKING is defined. - -2012-07-06 Dmitry Antipov - - Avoid code repetition in marker-related functions. - * marker.c (attach_marker): New function. - (Fset_marker, set_marker_restricted, set_marker_both) - (set_marker_restricted_both): Use it. - (Fset_marker, set_marker_restricted, Fbuffer_has_markers_at): - Consistently rename charno to charpos. - (marker_position): Add eassert. - (marker_byte_position): Convert to eassert. - -2012-07-06 Dmitry Antipov - - Simplify list operations in unchain_overlay and unchain_marker. - * buffer.c (unchain_overlay): Simplify. Add comment. - * marker.c (unchain_marker): Simplify. Fix comments. - -2012-07-06 Dmitry Antipov - - Introduce fast path for the widely used marker operation. - * alloc.c (build_marker): New function. - * lisp.h (build_marker): New prototype. - * buffer.c (clone_per_buffer_values, Fmake_indirect_buffer): Use it. - * composite.c (autocmp_chars): Likewise. - * editfns.c (buildmark): Remove. - (Fpoint_marker, Fpoint_min_marker, Fpoint_max_marker) - (save_restriction_save): Use build_marker. - * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Likewise. - * window.c (save_window_save): Likewise. - -2012-07-06 Dmitry Antipov - - Do not use Fdelete_overlay in delete_all_overlays - to avoid redundant calls to unchain_overlay. - * buffer.c (drop_overlay): New function. - (delete_all_overlays, Fdelete_overlay): Use it. - * minibuf.c (get_minibuffer): Fix comment. - -2012-07-06 Paul Eggert - - Port to OpenBSD 5.1 amd64. - * sysdep.c [BSD_SYSTEM]: Include before . - This is needed for OpenBSD, and should be harmless on all BSD systems. - Also, include , as it should be available on all - BSD_SYSTEM hosts given that we're already calling sysctl in that case. - (list_system_processes) [__OpenBSD__]: Use DARWIN_OS style mib, but - use p_pid member, not kp_proc.pid. - -2012-07-06 Glenn Morris - - * Makefile.in (emacs$(EXEEXT)): Don't check for load-path shadows. - -2012-07-05 Paul Eggert - - More xmalloc and related cleanup. - * alloc.c, bidi.c, buffer.c, buffer.h, bytecode.c, callint.c: - * callproc.c, charset.c, coding.c, composite.c, data.c, dispnew.c: - * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fns.c: - * font.c, fontset.c, frame.c, fringe.c, ftfont.c, ftxfont.c, gmalloc.c: - * gtkutil.c, image.c, keyboard.c, keymap.c, lread.c, macros.c, menu.c: - * nsfns.m, nsfont.m, nsmenu.m, nsterm.m, print.c, process.c, ralloc.c: - * regex.c, region-cache.c, scroll.c, search.c, sound.c, syntax.c: - * sysdep.c, term.c, termcap.c, unexmacosx.c, window.c, xdisp.c: - * xfaces.c, xfns.c, xftfont.c, xgselect.c, xmenu.c, xrdb.c, xselect.c: - * xterm.c: - Omit needless casts involving void * pointers and allocation. - Prefer "P = xmalloc (sizeof *P)" to "P = xmalloc (sizeof (TYPE_OF_P))", - as the former is more robust if P's type is changed. - Prefer xzalloc to xmalloc + memset 0. - Simplify malloc-or-realloc to realloc. - Don't worry about xmalloc returning a null pointer. - Prefer xstrdup to xmalloc + strcpy. - * editfns.c (Fmessage_box): Grow message_text by at least 80 when - growing it. - * keyboard.c (apply_modifiers_uncached): Prefer local array to - alloca of a constant. - -2012-07-05 Eli Zaretskii - - * xdisp.c (display_line): Fix horizontal pixel coordinates when - hscroll is larger than the line width. Fixes long and futile - looping inside extend_face_to_end_of_line (on a TTY) producing - glyphs that are not needed and thrown away. - -2012-07-05 Dmitry Antipov - - * marker.c (set_marker_restricted_both): Simplify by using - clip_to_bounds. - -2012-07-05 Paul Eggert - - * editfns.c (region_limit): Simplify by using clip_to_bounds. - -2012-07-05 Jan Djärv - - * gtkutil.c (gtk_scrollbar_new, gtk_box_new): Define when HAVE_GTK3 is - not defined (Bug#11768). - (xg_create_frame_widgets): Use gtk_plug_new_for_display (Bug#11768). - (xg_create_frame_widgets, create_dialog, xg_get_file_with_chooser) - (make_widget_for_menu_item, xg_make_tool_item): Use gtk_box_new - followed by gtk_box_set_homogeneous (Bug#11768). - (xg_update_menu_item): Use GTK_IS_BOX (Bug#11768). - (update_theme_scrollbar_width, xg_create_scroll_bar): - Use gtk_scrollbar_new (Bug#11768). - (xg_event_is_for_scrollbar): Use Gdk Device functions for HAVE_GTK3. - (is_box_type): New function (Bug#11768). - (xg_tool_item_stale_p): Call is_box_type. - (xg_initialize): Get settings by calling gtk_settings_get_for_screen - with default display (Bug#11768). - -2012-07-05 Eli Zaretskii - - * xdisp.c (window_hscroll_limited): New function. - (pos_visible_p, init_iterator): Use it to avoid overflow of pixel - coordinates when window's hscroll is set to insanely large - values. (Bug#11857) - -2012-07-05 Juanma Barranquero - - * makefile.w32-in ($(BLD)/dired.$(O), $(BLD)/fileio.$(O)): Fix typo. - ($(BLD)/terminal.$(O), $(BLD)/syntax.$(O)): Update dependencies. - -2012-07-05 Dmitry Antipov - - Cleanup xmalloc. - * lisp.h (xzalloc): New prototype. Omit needless casts. - * alloc.c (xzalloc): New function. Omit needless casts. - * charset.c: Omit needless casts. Convert all calls to - xmalloc with following memset to xzalloc. - * dispnew.c: Likewise. - * fringe.c: Likewise. - * image.c: Likewise. - * sound.c: Likewise. - * term.c: Likewise. - * w32fns.c: Likewise. - * w32font.c: Likewise. - * w32term.c: Likewise. - * xfaces.c: Likewise. - * xfns.c: Likewise. - * xterm.c: Likewise. - * atimer.c: Omit needless casts. - * buffer.c: Likewise. - * callproc.c: Likewise. - * ccl.c: Likewise. - * coding.c: Likewise. - * composite.c: Likewise. - * doc.c: Likewise. - * doprnt.c: Likewise. - * editfns.c: Likewise. - * emacs.c: Likewise. - * eval.c: Likewise. - * filelock.c: Likewise. - * fns.c: Likewise. - * gtkutil.c: Likewise. - * keyboard.c: Likewise. - * lisp.h: Likewise. - * lread.c: Likewise. - * minibuf.c: Likewise. - * msdos.c: Likewise. - * print.c: Likewise. - * process.c: Likewise. - * region-cache.c: Likewise. - * search.c: Likewise. - * sysdep.c: Likewise. - * termcap.c: Likewise. - * terminal.c: Likewise. - * tparam.c: Likewise. - * w16select.c: Likewise. - * w32.c: Likewise. - * w32reg.c: Likewise. - * w32select.c: Likewise. - * w32uniscribe.c: Likewise. - * widget.c: Likewise. - * xdisp.c: Likewise. - * xmenu.c: Likewise. - * xrdb.c: Likewise. - * xselect.c: Likewise. - -2012-07-05 Paul Eggert - - * fileio.c (time_error_value): Check the right error number. - Problem reported by Troels Nielsen in - . - -2012-07-04 Paul Eggert - - * window.c (set_window_hscroll): Revert the 100000 hscroll limit. - This should be fixed in a better way; see Eli Zaretskii in - . - (HSCROLL_MAX): Remove; this is now internal to set_window_hscroll. - - * fileio.c (time_error_value): Rename from special_mtime. - The old name's problems were noted by Eli Zaretskii in - . - - * emacs.c (gdb_pvec_type): Change it back to enum pvec_type. - This variable's comment says Emacs needs at least one GDB-visible - symbol of type enum pvec_type, to work around GDB problems. - The symbol's value doesn't matter. - - * alloc.c (PSEUDOVECTOR_NBYTES): Remove stray ';' - that causes compilation to fail on pre-C99 compilers. - -2012-07-04 Juanma Barranquero - - * s/ms-w32.h (LISP_FLOAT_TYPE, HAVE_MEMCMP, HAVE_MEMCPY) - (HAVE_MEMMOVE, HAVE_MEMSET): Don't set, obsolete. - -2012-07-04 Dmitry Antipov - - * buffer.c (init_buffer_once): Fix initialization of - headers for buffer_defaults and buffer_local_symbols. - Reported by Juanma Barranquero . - -2012-07-04 Stefan Monnier - - Turn VECTOR_FREE_LIST_FLAG into PVEC_FREE. - * lisp.h (enum pvec_type): Use fewer bits. - (PSEUDOVECTOR_SIZE_BITS): New constant. - (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK): Use it. - (XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR, DEFUN): Adapt code to - change in pvec_type. - (PSEUDOVECTOR_TYPEP): New macro. - (TYPED_PSEUDOVECTORP): Use it. - * fns.c (internal_equal): Adapt code to extract pvectype. - * emacs.c (gdb_pvec_type): Update type. - * alloc.c (PSEUDOVECTOR_NBYTES): New macro. - (VECTOR_FREE_LIST_SIZE_MASK): Remove (=> PSEUDOVECTOR_SIZE_MASK). - (VECTOR_FREE_LIST_FLAG): Remove (=> PVEC_FREE). - (SETUP_ON_FREE_LIST): Use XSETPVECTYPESIZE. - (sweep_vectors): Use it. Use local var `total_bytes' instead of - abusing vector->header.next.nbytes. - (live_vector_p): Use PVEC_TYPE. - (mark_object): Adapt code to extract pvectype. Use switch. - -2012-07-04 Paul Eggert - - * doprnt.c (doprnt): Don't assume string length fits in 'int'. - Tighten new eassert a bit. - -2012-07-04 Dmitry Antipov - - Fix compilation with --enable-gcc-warnings and -O1 - optimization level. - * doprnt.c (doprnt): Change type of tem to int, initialize - to avoid compiler warning. Add eassert. - * search.c (simple_search): Initialize match_byte to avoid - compiler warning. Add eassert. - -2012-07-04 Paul Eggert - - Avoid weird behavior with large horizontal scrolls. - Without this change, for example, large hscroll values would - mess up Emacs's display on Fedora 15 x86, presumably due to - overflows in int calculations in the display code. - Also, if buffers had long lines, Emacs would freeze. - * window.c (HSCROLL_MAX): Reduce to 100000, and make it visible to GDB. - (set_window_hscroll): New function, containing the old guts of - Fset_window_hscroll. Return the clipped value. - (Fset_window_hscroll, Fscroll_left, Fscroll_right): Use it. - This avoids the need to check against PTRDIFF_MAX. - - * buffer.c (Fgenerate_new_buffer_name): Fix sprintf format mismatch. - -2012-07-04 Dmitry Antipov - - * buffer.c (Fgenerate_new_buffer_name): Fix type mismatch. - -2012-07-04 Paul Eggert - - * regex.c: Suppress GCC warning on RHEL 6. (Bug#11207) - Conditionalize the pragmas on GCC 4.5 or later, not GCC 4.3 or later, - since GCC 4.4.6 issues a bogus warning for them. - - Fix bugs in file timestamp newness comparisons. - * fileio.c (Ffile_newer_than_file_p): - * lread.c (Fload): Use full timestamp resolution of files, - not just the 1-second resolution, so that files that are only - slightly newer still count as newer. - * fileio.c (Ffile_newer_than_file_p): Don't assume file - timestamps fit in 'int'; this fixes a Y2038 bug on most hosts. - -2012-07-03 Paul Eggert - - * fileio.c: Improve handling of file time marker. (Bug#11852) - (special_mtime): New function. - (Finsert_file_contents, Fverify_visited_file_modtime): - Use it to set special mtime values consistently. - -2012-07-03 Andreas Schwab - - * fileio.c (Finsert_file_contents): Properly handle st_mtime - marker for non-existing file. (Bug#11852) - -2012-07-03 Glenn Morris - - * lisp.h (Fread_file_name): Restore EXFUN (it's not a normal DEFUN - and did not make it into globals.h). - -2012-07-03 Tom Tromey - - * window.c (Fset_window_margins, Fset_window_fringes) - (Fset_window_scroll_bars, Fset_window_vscroll): No longer static. - * textprop.c (Fprevious_property_change): No longer static. - * syntax.c (Fsyntax_table_p): No longer static. - * process.c (Fget_process, Fprocess_datagram_address): No longer - static. - * keymap.c (Flookup_key, Fcopy_keymap): No longer static. - * keyboard.c (Fcommand_execute): No longer static. - Remove EXFUN. - * insdel.c (Fcombine_after_change_execute): No longer static. - * image.c (Finit_image_library): No longer static. - * fileio.c (Fmake_symbolic_link): No longer static. - * eval.c (Ffetch_bytecode): No longer static. - * editfns.c (Fuser_full_name): No longer static. - * doc.c (Fdocumentation_property, Fsnarf_documentation): - No longer static. - * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): No longer - static. - * dired.c (Ffile_attributes): No longer static. - * composite.c (Fcomposition_get_gstring): No longer static. - * callproc.c (Fgetenv_internal): No longer static. - - * ccl.h: Remove EXFUNs. - * buffer.h: Remove EXFUNs. - * dispextern.h: Remove EXFUNs. - * intervals.h: Remove EXFUNs. - * fontset.h: Remove EXFUN. - * font.h: Remove EXFUNs. - * dosfns.c (system_process_attributes): Remove EXFUN. - * keymap.h: Remove EXFUNs. - * lisp.h: Remove EXFUNs. - * w32term.h: Remove EXFUNs. - * window.h: Remove EXFUNs. - * xsettings.h: Remove EXFUN. - * xterm.h: Remove EXFUN. - -2012-07-03 Glenn Morris - - * lisp.h (Frandom): Make it visible to C. - * buffer.c (Fgenerate_new_buffer_name): Speed up finding a new - buffer for invisible buffers. (Bug#1229) - -2012-07-03 Dmitry Antipov - - Fix block vector allocation code to allow VECTOR_BLOCK_SIZE - values which aren't power of 2. - * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro. - Verify its value and the value of VECTOR_BLOCK_SIZE. Adjust users - accordingly. - -2012-07-03 Stefan Monnier - - * lisp.h (Lisp_Misc, Lisp_Fwd): Move around to group better. - - * alloc.c (mark_object): Revert part of last patch to use `switch'. - -2012-07-03 Dmitry Antipov - - * alloc.c (allocate_vector_block): Remove redundant - calls to mallopt if DOUG_LEA_MALLOC is defined. - (allocate_vectorlike): If DOUG_LEA_MALLOC is defined, - avoid calls to mallopt if zero_vector is returned. - -2012-07-03 Dmitry Antipov - - * alloc.c (check_string_bytes): If GC_CHECK_STRING_BYTES - is enabled, avoid dereferencing NULL current_sblock if - running undumped. - -2012-07-03 Dmitry Antipov - - Cleanup basic buffer management. - * buffer.h (struct buffer): Change layout to use generic vector - marking code. Fix some comments. Change type of 'clip_changed' - to bitfield. Remove unused #ifndef old. - (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): Remove. - (GET_OVERLAYS_AT): Fix indentation. - (for_each_per_buffer_object_at): New macro. - * buffer.c (clone_per_buffer_values, reset_buffer_local_variables) - (Fbuffer_local_variables): Use it. - (init_buffer_once, syms_of_buffer): Remove unused #ifndef old. - * alloc.c (allocate_buffer): Adjust to match new layout of - struct buffer. Fix comment. - (mark_overlay): New function. - (mark_buffer): Use it. Use mark_vectorlike to mark normal - Lisp area of struct buffer. - (mark_object): Use it. Adjust marking of misc objects - and related comments. - -2012-07-02 Paul Eggert - - * alloc.c (mark_object): Remove "#ifdef GC_CHECK_MARKED_OBJECTS" - wrapper that is not needed because the wrapped code is a no-op (zero - machine instructions) when GC_CHECK_MARKED_OBJECTS is not defined. - This avoids a -Wunused-macros diagnostic with GCC 4.7.1 x86-64. - -2012-07-02 Dmitry Antipov - - * alloc.c (mark_buffer): Simplify. Remove prototype. - (mark_object): Add comment. Reorganize marking of vector-like - objects. Use CHECK_LIVE for all vector-like objects except buffers - and subroutines when GC_CHECK_MARKED_OBJECTS is defined. - Avoid redundant calls to mark_vectorlike for bool vectors. - -2012-06-30 Glenn Morris - - * nsterm.m (ns_init_paths): Ignore site-lisp if --no-site-lisp. - - * epaths.in (PATH_SITELOADSEARCH): New. - * lread.c (init_lread): Use PATH_SITELOADSEARCH. - This is rather than relying on --enable-locallisppath elements - having "site-lisp" in their names. (Bug#10208#25, 11658) - -2012-06-30 Eli Zaretskii - - * w32proc.c (sys_select): Accept and ignore one more argument. - - * w32.c (emacs_gnutls_pull): Call select with one more argument. - - * sysselect.h [DOS_NT]: Don't include sys/select.h. - (pselect) [!MS_DOS]: Redirect to sys_select. - - * sysdep.c: Don't include dos.h and dosfns.h. - - * process.c (sys_select): - * msdos.c (sys_select): Accept one more argument and ignore it. - - * msdos.c (event_timestamp, sys_select): Use gnulib's gettime; - adapt data types and code to that. - - * dosfns.c: - * msdos.c (gettime, settime): Define away the prototypes in dos.h, - which clashes with the gnulib function of the same name. - -2012-06-30 Andreas Schwab - - * font.c (font_style_to_value, font_style_symbolic) - (font_prop_validate_style): Add type checks for values in - font_style_table. - - * lisp.h (CHECK_RANGED_INTEGER): Make value to check the first - argument. - * character.c, charset.c, menu.c, process.c, window.c: Adjust all - uses. - -2012-06-29 Eli Zaretskii - - * xdisp.c (try_window_id): Undo last change. - - * w32.c (getwd): Adjust commentary about startup_dir. - (init_environment): Always call sys_access, even in non-MSVC - builds. Don't chdir to the directory of the Emacs executable. - This undoes code from 1997 which was justified by the need to - "avoid conflicts when removing and renaming directories". But its - downside was that every relative file name was being interpreted - relative to the directory of the Emacs executable, which can never - be TRT. In particular, it broke sys_access when called with - relative file names. - (sys_access): Map GetLastError to errno. - -2012-06-29 Dmitry Antipov - - * window.h (struct window): Change type of 'fringes_outside_margins' - to bitfield. Fix comment. Adjust users accordingly. - (struct window): Change type of 'window_end_bytepos' to ptrdiff_t. - Adjust comment. - * xdisp.c (try_window_id): Change type of 'first_vpos' and 'vpos' - to ptrdiff_t. - -2012-06-29 Andreas Schwab - - * gnutls.c (emacs_gnutls_handshake): - Add QUIT to make the loop interruptible. - -2012-06-29 Glenn Morris - - * charset.c (init_charset): Make lack of etc/charsets fatal. - -2012-06-29 Dmitry Antipov - - * editfns.c (region_limit): Fix type mismatch. - -2012-06-29 Dmitry Antipov - - * nsfns.m: Fix GLYPH_DEBUG usage assuming that it may be - undefined. Convert from xassert to eassert. - * nsmenu.m: Convert from xassert to eassert. - * nsterm.m: Likewise. - -2012-06-28 Stefan Monnier - - * editfns.c (region_limit): Clip to narrowing (bug#11770). - -2012-06-28 Paul Eggert - - Avoid integer overflow on scroll-left and scroll-right. - * window.c (HSCROLL_MAX): New macro. - (Fscroll_left, Fscroll_right): Avoid undefined behavior on integer - overflow when requested scroll falls outside ptrdiff_t range. - -2012-06-28 Dmitry Antipov - - * window.h (struct window): Change type of 'hscroll', - 'min_hscroll' and 'last_point' from Lisp_Object to ptrdiff_t, - 'last_modified' and 'last_overlay_modified' to EMACS_INT. - Adjust users accordingly. - * xdisp.c (try_cursor_movement): Replace type check with eassert. - * window.c (Fscroll_left, Fscroll_right): Change type of 'hscroll' - from EMACS_INT to ptrdiff_t. - (make_window): Omit redundant initialization. - -2012-06-28 Juanma Barranquero - - * makefile.w32-in ($(BLD)/regex.$(O)): Update dependencies. - -2012-06-28 Dmitry Antipov - - * window.h (struct window): Change type of 'use_time' and - 'sequence_number' from Lisp_Object to int. - * frame.c (make_frame): Adjust users accordingly. - * print.c (print_object): Likewise. - * window.c (select_window, Fwindow_use_time, make_parent_window) - (make_window): Likewise. - -2012-06-28 Dmitry Antipov - - * dispextern.h (GLYPH_DEBUG): Now defined in config.h if - enabled with --enable-checking=[all,glyphs] configure option. - Fix GLYPH_DEBUG usage assuming that it may be undefined, - adjust comments accordingly. - * dispnew.c: Fix GLYPH_DEBUG usage assuming that it may be - undefined, adjust comments accordingly. - * image.c: Likewise. - * scroll.c: Likewise. - * w32fns.c: Likewise. - * w32term.c: Likewise. - * xdisp.c: Likewise. - * xfaces.c: Likewise. - * xfns.c: Likewise. - * xterm.c: Likewise. - -2012-06-28 Dmitry Antipov - - Generalize run-time debugging checks. - * dispextern.h (XASSERTS): Remove. - * fontset.c (xassert): Remove. - Convert from xassert to eassert. - * alloc.c: Convert from xassert to eassert. - * bidi.c: Likewise. - * dispnew.c: Likewise. - * fns.c: Likewise. - * fringe.c: Likewise. - * ftfont.c: Likewise. - * gtkutil.c: Likewise. - * image.c: Likewise. - * keyboard.c: Likewise. - * menu.c: Likewise. - * process.c: Likewise. - * scroll.c: Likewise. - * sound.c: Likewise. - * term.c: Likewise. - * w32console.c: Likewise. - * w32fns.c: Likewise. - * w32term.c: Likewise. - * window.c: Likewise. - * xdisp.c: Likewise. - * xfaces.c: Likewise. - * xfns.c: Likewise. - * xselect.c: Likewise. - * xterm.c: Likewise. - -2012-06-27 Stefan Monnier - - * fns.c (maybe_resize_hash_table): Output message when growing the - purify-hashtable. - -2012-06-27 Dmitry Antipov - - * alloc.c (allocate_string_data): Remove dead code. - * xsettings.c (XSETTINGS_FONT_NAME): Move under HAVE_XFT to - avoid GCC warning about unused macro. - -2012-06-27 Dmitry Antipov - - * alloc.c (allocate_string): Omit intervals initialization. - * alloc.c (make_uninit_multibyte_string): Initialize intervals - as in make_pure_string and make_pure_c_string. - -2012-06-27 Dmitry Antipov - - * alloc.c (allocate_string): Fix last change. - -2012-06-27 Dmitry Antipov - - * alloc.c (allocate_string): Remove two redundant calls - to memset, add explicit initialization where appropriate. - -2012-06-27 Glenn Morris - - * lisp.mk (lisp): Remove paths.elc. - -2012-06-27 Chong Yidong - - * doc.c (Fsubstitute_command_keys): Fix punctuation. - -2012-06-26 John Wiegley - - * unexmacosx.c (copy_data_segment): Add two section names used - on Mac OS X Lion: __mod_init_func and __mod_term_func. - - * alloc.c (mark_memory): Do not check with -faddress-sanitizer - when building with Clang. - -2012-06-26 Stefan Monnier - - * eval.c (Fapply): Allow calling it with a single argument. - -2012-06-26 Eli Zaretskii - - * s/ms-w32.h (strcasecmp, strncasecmp) [_MSC_VER]: Redirect to - _stricmp and _strnicmp. - (HAVE_STRCASECMP, HAVE_STRNCASECMP): Define to 1. - -2012-06-26 Dmitry Antipov - - * alloc.c (allocate_window): Zero out non-Lisp part of newly - allocated window. - (allocate_process): Likewise for new process. - (allocate_terminal): Change to use offsetof. - (allocate_frame): Likewise. - * frame.c (make_frame): Omit redundant initialization. - * window.c (make_parent_window): Use memset. - (make_window): Omit redundant initialization. - * process.c (make_process): Omit redundant initialization. - * terminal.c (create_terminal): Likewise. - -2012-06-26 Dmitry Antipov - - * term.c (delete_tty): Remove redundant call to memset. - -2012-06-26 Dmitry Antipov - - * alloc.c: Remove build_string. - * lisp.h: Define build_string as static inline. This provides - a better opportunity to optimize away calls to strlen when the - function is called with compile-time constant argument. - * image.c (imagemagick_error): Convert to build_string. - * w32proc.c (sys_spawnve): Likewise. - * xterm.c (x_term_init): Likewise. - -2012-06-26 Paul Eggert - - Use sprintf return value instead of invoking strlen on result. - In the old days this wasn't portable, since some sprintf - implementations returned char *. But they died out years ago and - Emacs already assumes sprintf returns int. - Similarly for float_to_string. - This patch speeds up (number-to-string 1000) by 3% on Fedora 15 x86-64. - * ccl.c (ccl_driver): - * character.c (string_escape_byte8): - * data.c (Fnumber_to_string): - * doprnt.c (doprnt): - * print.c (print_object): - * xdisp.c (message_dolog): - * xfns.c (syms_of_xfns): - Use sprintf or float_to_string result to avoid need to call strlen. - * data.c (Fnumber_to_string): - Use make_unibyte_string, since the string must be ASCII. - * lisp.h, print.c (float_to_string): Now returns int length. - * term.c (produce_glyphless_glyph): - Use sprintf result rather than recomputing it. - - Clean out last vestiges of the old HAVE_CONFIG_H stuff. - * Makefile.in (ALL_CFLAGS): - * makefile.w32-in (LOCAL_FLAGS): Remove -DHAVE_CONFIG_H. - * gmalloc.c, regex.c: Include unconditionally. - -2012-06-25 Dmitry Antipov - - * dispextern.h (xstrcasecmp): Define to library function - strcasecmp if available. - * xfaces.c: Do not use xstrcasecmp if strcasecmp is available. - -2012-06-25 Andreas Schwab - - * keyboard.c (menu_bar_items, menu_bar_item, read_key_sequence): - Avoid comma operator. - * menu.c (push_submenu_start, push_submenu_end) - (push_left_right_boundary, push_menu_pane): Likewise. - * msdos.c (dos_rawgetc): Likewise. - -2012-06-25 Dmitry Antipov - - * xfns.c (xic_create_fontsetname): Remove redundant calls - to memset. - -2012-06-25 Paul Eggert - - * gtkutil.c (get_utf8_string): Remove redundant assignment. - sprintf already null-terminates its output. - - * xfns.c (x_window): Remove redundant cast. - -2012-06-25 Dmitry Antipov - - * xmenu.c (xmenu_show, xdialog_show): Explicit cast from - `const char *' to `char *' to avoid compiler warning. - -2012-06-24 Paul Eggert - - * xterm.c (x_term_init): Build proper-sized _XSETTINGS_Snnn string - instead of truncating it to 63 (admittedly a generous limit). - - * process.c: Fix spelling and caps in comments. - -2012-06-24 Dan Nicolaescu - - * emacs.c (setpgrp): Remove definition, unused. - * sysdep.c (setpgrp): Remove definition, not used in this file. - -2012-06-24 Juanma Barranquero - - * makefile.w32-in: Update dependencies. - -2012-06-24 Eli Zaretskii - - * makefile.w32-in (TIMESPEC_H): Remove nt/inc/sys/time.h. - (SYSTIME_H): Add nt/inc/sys/time.h. - - * systime.h [WINDOWSNT]: Include sys/time.h. - - * s/ms-w32.h (struct timespec): Definition moved from - nt/inc/sys/time.h. Suggested by Paul Eggert . - -2012-06-24 Paul Eggert - - Switch from NO_RETURN to C11's _Noreturn (Bug#11750). - * buffer.h (buffer_slot_type_mismatch): - * data.c (arith_error) [!FORWARD_SIGNAL_TO_MAIN_THREAD]: - * eval.c (unwind_to_catch): - * image.c (my_png_error, my_error_exit): - * keyboard.c (quit_throw_to_read_char, user_error) - (Fexit_recursive_edit, Fabort_recursive_edit): - * lisp.h (die, args_out_of_range, args_out_of_range_3) - (wrong_type_argument, buffer_overflow, __executable_start) - (memory_full, buffer_memory_full, string_overflow, Fthrow) - (xsignal, xsignal0, xsignal1, xsignal2, xsignal3, signal_error) - (error, verror, nsberror, report_file_error, Ftop_level, Fkill_emacs) - (fatal): - (child_setup) [!DOS_NT]: - * lread.c (end_of_file_error, invalid_syntax): - * process.c (send_process_trap) [!FORWARD_SIGNAL_TO_MAIN_THREAD]: - * puresize.h (pure_write_error): - * search.c (matcher_overflow): - * sound.c (sound_perror, alsa_sound_perror): - * sysdep.c, syssignal.h (croak): - * term.c (maybe_fatal, vfatal): - * textprop.c (text_read_only): - * undo.c (user_error): - * unexmacosx.c (unexec_error): - * xterm.c (x_ins_del_lines, x_delete_glyphs): - Use _Noreturn rather than NO_RETURN. - No need for separate decl merely because of _Noreturn. - * sound.c (sound_warning, parse_sound): - Remove unnecessary forward decls. - -2012-06-24 Paul Eggert - - Fix bug when time_t is unsigned and as wide as intmax_t (Bug#9000). - * lisp.h (WAIT_READING_MAX): New macro. - * dispnew.c (Fsleep_for, sit_for): - * keyboard.c (kbd_buffer_get_event): - * process.c (Faccept_process_output): - Use it to avoid bogus compiler warnings with obsolescent GCC versions. - This improves on the previous patch, which introduced a bug - when time_t is unsigned and as wide as intmax_t. - See . - -2012-06-23 Eli Zaretskii - - * dispnew.c (sit_for, Fsleep_for): - * keyboard.c (kbd_buffer_get_event): - * process.c (Faccept_process_output): Avoid compiler warnings when - comparing a 32-bit time_t with a 64-bit INTMAX_MAX. - -2012-06-23 Juanma Barranquero - - * makefile.w32-in: Update dependencies. - - * w32.c (ltime): Add return type and declare static. - (w32_get_internal_run_time): Remove usused variable `time_100ns'. - -2012-06-23 Paul Eggert - - * sysdep.c [__FreeBSD__]: Fix more recently-introduced typos. - Privately reported by Herbert J. Skuhra. - (make_lisp_timeval) [__FreeBSD__]: Rename from TIMELIST. - All uses changed. - (system_process_attributes) [__FreeBSD__]: Invoke make_lisp_time, - not make_lisp_timeval, when the argument is of type EMACS_TIME. - -2012-06-23 Eli Zaretskii - - * w32proc.c (Fw32_get_locale_info): Fix an off-by-one error in - last argument of make_unibyte_string. - - * keyboard.c (kbd_buffer_get_event): Include the codepage and the - language ID in the event parameters. - - * w32term.c (w32_read_socket): Put the new keyboard codepage into - event.code, not the obscure "character set ID". - -2012-06-23 Chong Yidong - - * xmenu.c (x_menu_wait_for_event): Adapt GTK3 to new xg_select. - -2012-06-23 Eli Zaretskii - - Fix the MS-Windows build broken by 2012-06-22T21:17:42Z!eggert@cs.ucla.edu. - * w32.c (fdutimens): New function. - - * w32proc.c (sys_select): Adapt to change in the EMACS_TIME type. - - * s/ms-w32.h (pselect): Redirect to sys_select. - - * sysselect.h [WINDOWSNT]: Don't include sys/select.h. - - * ralloc.c (r_alloc_inhibit_buffer_relocation): Fix stupid thinko - in the logic of incrementing and decrementing the value of - use_relocatable_buffers. - -2012-06-23 Paul Eggert - - * sysdep.c [__FreeBSD__]: Fix recently-introduced typos. - Privately reported by Herbert J. Skuhra. - [__FreeBSD__]: Remove "*/" typo after "#include". - (timeval_to_EMACS_TIME) [__FreeBSD__]: New static function. - (TIMEVAL) [__FreeBSD__]: Now a static function rather than a macro. - (TIMEVAL, system_process_attributes) [__FreeBSD__]: - Don't assume EMACS_TIME and struct timeval are the same type. - -2012-06-22 Paul Eggert - - Support higher-resolution time stamps (Bug#9000). - The time stamps are only nanosecond-resolution at the C level, - since that's the best that any real-world system supports now. - But they are picosecond-resolution at the Lisp level, as that's - easy, and leaves room for future OS improvements. - - * Makefile.in (LIB_CLOCK_GETTIME): New macro. - (LIBES): Use it. - - * alloc.c (Fgarbage_collect): Port to higher-res time stamps. - Don't get current time unless it's needed. - - * atimer.c: Include unconditionally, since gnulib - now provides it if it's absent. - (start_atimer): Port to higher-res time stamps. - Check for time stamp overflow. Don't get current time more - often than is needed. - - * buffer.h (struct buffer): Buffer modtime now has high resolution. - Include systime.h, not time.h. - (NONEXISTENT_MODTIME_NSECS, UNKNOWN_MODTIME_NSECS): New macros. - - * dired.c: Include stat-time.h. - (Ffile-attributes): File times now have higher resolution. - - * dispextern.h [HAVE_WINDOW_SYSTEM]: Include systime.h. - (struct image): Timestamp now has higher resolution. - - * dispnew.c (PERIODIC_PREEMPTION_CHECKING): Remove, as Emacs always - has at least microseconds now. All uses removed. - (update_frame, update_single_window, update_window, update_frame_1) - (Fsleep_for, sit_for): Port to higher-resolution time stamps. - (duration_to_sec_usec): Remove; no longer needed. - - * editfns.c (time_overflow): Now extern. - (Fcurrent_time, Fget_internal_run_time, make_time, lisp_time_argument) - (float-time, Fformat_time_string, Fcurrent_time_string) - (Fcurrent_time_zone): Accept and generate higher-resolution - time stamps. - (make_time_tail, make_lisp_time, dissassemble_lisp_time) - (decode_time_components, lisp_seconds_argument): New functions. - (make_time): Now static. - (lisp_time_argument): Now returns EMACS_TIME. New arg ppsec. - Report an error if the time is invalid, rather than having the caller - do that. - - * fileio.c: Include - (Fcopy_file): Copy higher-resolution time stamps. - Prefer to set the time stamp via a file descriptor if that works. - (Fset_file_times, Finsert_file_contents, Fwrite_region) - (Fverify_visited_file_modtime, Fclear_visited_file_modtime) - (Fvisited_file_modtime, Fset_visited_file_modtime): - Support higher-resolution time stamps. - - * fns.c (Frandom): Use nanoseconds, not microseconds, for seed. - - * gtkutil.c (xg_maybe_add_timer): Port to higher-res time stamps. - - * image.c (prepare_image_for_display, clear_image_cache) - (lookup_image): Port to higer-resolution time stamps. - - * keyboard.c (start_polling, bind_polling_period): - Check for time stamp overflow. - (read_char, kbd_buffer_get_event, timer_start_idle) - (timer_stop_idle, timer_resume_idle, timer_check_2, timer_check) - (Fcurrent_idle_time, init_keyboard, set_waiting_for_input): - Port to higher-resolution time stamps. Do not assume time_t is signed. - (decode_timer): New function. Timers are now vectors of length 9, - not 8, to accommodate the picosecond component. - (timer_check_2): Use it. - - * nsterm.m (select_timeout, timeval_subtract): Remove. - (ns_timeout): Use Emacs's facilities for time stamp arithmetic, - as they're a bit more accurate and handle overflow better. - (ns_select): Change prototype to be compatible with pselect. - (ns_select, ns_term_shutdown): Port to ns-resolution time stamps. - * nsterm.h (ns_select): Adjust prototype. - - * msdos.c (EMACS_TIME_ZERO_OR_NEG_P): Remove, as it assumes - us-resolution time stamps. - (sys_select): Use the new EMACS_TIME_SIGN macro instead. - - * lread.c (read_filtered_event): Port to ns-resolution time stamps. - - * lisp.h (time_overflow): New decl. - (wait_reading_process_output): First arg is now intmax_t, not int, - to accommodate larger waits. - - * process.h (struct Lisp_Process.read_output_delay): - Now counts nanoseconds, not microseconds. - * process.c (ADAPTIVE_READ_BUFFERING): Don't worry about - EMACS_HAS_USECS. - (READ_OUTPUT_DELAY_INCREMENT, Faccept_process_output) - (wait_reading_process_output): - Port to ns-resolution time stamps. - (Faccept_process_output, wait_reading_process_output): - Check for time stamp overflow. Do not assume time_t is signed. - (select_wrapper): Remove; we now use pselect. - (Fprocess_attributes): Now generates ns-resolution time stamps. - - * sysdep.c: Include utimens.h. Don't include utime.h - or worry about struct utimbuf; gnulib does that for us now. - (gettimeofday): Remove; gnulib provides a substitute. - (make_timeval): New function. - (set_file_times): Now sets ns-resolution time stamps. - New arg FD; all uses changed. - (time_from_jiffies, ltime_from_jiffies, get_up_time) - (system_process_attributes): - Now returns ns-resolution time stamp. All uses changed. - Check for time stamp overflow. - - * sysselect.h: Don't depend on HAVE_SYS_SELECT_H; gnulib - provides a substitute now. - - * systime.h: Include timespec.h rather than sys/time.h and time.h, - since it guarantees struct timespec. - (EMACS_TIME): Now struct timespec, so that we can support - ns-resolution time stamps. - (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): New macros. - (EMACS_HAS_USECS): Remove; Emacs always has sub-second time stamps now. - (EMACS_USECS): Remove. - (EMACS_SET_USECS): The underlying time stamp now has ns resolution, - so multiply the arg by 1000 before storing it. - (EMACS_NSECS, EMACS_SECS_ADDR, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS): - New macros. - (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): - Port to ns-resolution time stamps. - (EMACS_TIME_NEG_P): Remove; replaced by.... - (EMACS_TIME_SIGN): New macro. - (EMACS_SET_INVALID_TIME, EMACS_TIME_VALID_P) - (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE): New macros. - (set_file_times, make_time, lisp_time_argument): Adjust signature. - (make_timeval, make_lisp_time, decode_time_components): New decls. - (EMACS_TIME_CMP): Remove; no longer used. Plus, it was buggy, in - that it mishandled time_t overflow. You can't compare by subtracting! - (EMACS_TIME_EQ, EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE) - (EMACS_TIME_LT, EMACS_TIME_LE): Rewrite in terms of timespec_cmp. - - * term.c: Include . - (timeval_to_Time): New function, for proper overflow wraparound. - (term_mouse_position, term_mouse_click): Use it. - - * undo.c (record_first_change): Support higher-resolution time stamps - in the undo buffer. - (Fprimitive_undo): Use them when restoring time stamps. - - * w32.c (ltime, U64_TO_LISP_TIME, process_times, emacs_gnutls_pull) - (w32_get_internal_run_time): - Port to higher-resolution Emacs time stamps. - (ltime): Now accepts single 64-bit integer, as that's more convenient - for callers. - - * xdisp.c (start_hourglass): Port to ns-resolution time stamps. - - * xgselect.c, xgselect.h (xg_select): Add sigmask argument, - for compatibility with pselect. Support ns-resolution time stamps. - - * xmenu.c (x_menu_wait_for_event): Support ns-resolution time stamps. - - * xselect.c (wait_for_property_change, x_get_foreign_selection): - Check for time stamp overflow, and support ns-resolution time stamps. - - * xterm.c: Don't include sys/time.h; gnulib does that for us now. - Don't worry about whether HAVE_TIMEVAL and HAVE_SELECT are set. - (timeval_subtract): Remove; no longer needed. - (XTflash, XTring_bell, x_wait_for_event): - Port to ns-resolution time stamps. Don't assume time_t is signed. - -2012-06-22 Chong Yidong - - * xdisp.c (x_consider_frame_title): Revert last change. - -2012-06-22 Eli Zaretskii - - * alloc.c (NSTATICS): Enlarge to 0x650. Otherwise, Emacs compiled - with -DENABLE_CHECKING -DXASSERTS -DGLYPH_DEBUG=1 -DBYTE_CODE_METER - aborts in staticpro during startup. (Without -DBYTE_CODE_METER, - staticidx goes up to 1597 out of 1600 = 0x640.) - -2012-06-20 Paul Eggert - - * fileio.c (Fdefault_file_modes): Block input while fiddling with umask. - Otherwise, the umask might be mistakenly 0 while handling input signals. - -2012-06-19 Stefan Monnier - - * minibuf.c (Fread_string): Bind minibuffer-completion-table. - -2012-06-19 Dmitry Antipov - - * alloc.c, bytecode.c, ccl.c, coding.c, composite.c, data.c, dosfns.c: - * font.c, image.c, keyboard.c, lread.c, menu.c, minibuf.c, msdos.c: - * print.c, syntax.c, window.c, xmenu.c, xselect.c: Replace direct - access to `contents' member of Lisp_Vector objects with AREF and ASET - where appropriate. - -2012-06-19 Chong Yidong - - * frame.c (delete_frame): When selecting a frame on a different - text terminal, do not alter the terminal's top-frame. - - * xdisp.c (format_mode_line_unwind_data): Record the target - frame's selected window and its terminal's top-frame. - (unwind_format_mode_line): Restore them. - (x_consider_frame_title, display_mode_line, Fformat_mode_line): - Callers changed. - (x_consider_frame_title): Do not condition on HAVE_WINDOW_SYSTEM, - since tty frames can be explicitly named. - (prepare_menu_bars): Likewise. - - * term.c (Ftty_top_frame): New function. - -2012-06-18 Paul Eggert - - Port byte-code-meter to modern targets. - * bytecode.c (METER_CODE) [BYTE_CODE_METER]: Don't assume - !CHECK_LISP_OBJECT_TYPE && !USE_LSB_TAG. Problem with - CHECK_LISP_OBJECT_TYPE reported by Dmitry Antipov in - . - (METER_1, METER_2): Simplify. - -2012-06-18 Stefan Monnier - - * data.c (Fdefalias): Return `symbol' (bug#11686). - -2012-06-18 Martin Rudalics - - * buffer.c (Fkill_buffer): Don't throw an error when the buffer - gets killed during executing of this function (Bug#11665). - Try to always return Qt when the buffer has been actually killed. - (Vkill_buffer_query_functions): In doc-string say that functions - run by this hook should not change the current buffer. - -2012-06-18 Paul Eggert - - Fix recently-introduced process.c problems found by static checking. - * process.c (write_queue_push, write_queue_pop, send_process): - Use ptrdiff_t, not int or EMACS_INT, for buffer lengths and offsets. - (write_queue_pop): Fix pointer signedness problem. - (send_process): Remove unused local. - -2012-06-17 Chong Yidong - - * xdisp.c (redisplay_internal): No need to redisplay terminal - frames that are not on top. - -2012-06-17 Troels Nielsen - - * process.c (make_process): Initialize write_queue. - (write_queue_push, write_queue_pop): New functions. - (send_process): Use them to maintain correct ordering of process - writes (Bug#10815). - -2012-06-17 Paul Eggert - - * lisp.h (eassert): Assume C89 or later. - This removes the need for CHECK. - (CHECK): Remove. Its comments about always evaluating its - argument were confusing, as 'eassert' typically does not evaluate - its argument. - - * coding.c (produce_chars): Use ptrdiff_t, not int. - - * xterm.c (x_draw_underwave): Check for integer overflow. - This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64. - -2012-06-17 Jan Djärv - - * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't - referenced (Bug#11583). - -2012-06-16 Aurelien Aptel - - Implement wave-style variant of underlining. - * dispextern.h (face_underline_type): New enum. - (face): Add field for underline type. - * nsterm.m (ns_draw_underwave): New function. - (ns_draw_text_decoration): Use it. - * w32term.c (w32_restore_glyph_string_clip, w32_draw_underwave): - New functions. - (x_draw_glyph_string): Use them. - * xfaces.c (Qline, Qwave): New Lisp objects. - (check_lface_attrs, merge_face_ref) - (Finternal_set_lisp_face_attribute, realize_x_face): - Handle wave-style underline face attributes. - * xterm.c (x_draw_underwave): New function. - (x_draw_glyph_string): Use it. - -2012-06-16 Juanma Barranquero - - * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/fringe.$(O)) - ($(BLD)/xml.$(O), $(BLD)/intervals.$(O), $(BLD)/macros.$(O)) - ($(BLD)/minibuf.$(O), $(BLD)/regex.$(O), $(BLD)/region-cache.$(O)) - ($(BLD)/textprop.$(O), $(BLD)/undo.$(O), $(BLD)/window.$(O)) - ($(BLD)/w32select.$(O)): Update dependencies. - -2012-06-16 Andreas Schwab - - * buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline. - (BUF_FETCH_MULTIBYTE_CHAR): Likewise. - * character.c (_fetch_multibyte_char_p): Remove. - * alloc.c: Include "character.h" before "buffer.h". - * bidi.c: Likewise. - * buffer.c: Likewise. - * bytecode.c: Likewise. - * callint.c: Likewise. - * callproc.c: Likewise. - * casefiddle.c: Likewise. - * casetab.c: Likewise. - * category.c: Likewise. - * cmds.c: Likewise. - * coding.c: Likewise. - * composite.c: Likewise. - * dired.c: Likewise. - * dispnew.c: Likewise. - * doc.c: Likewise. - * dosfns.c: Likewise. - * editfns.c: Likewise. - * emacs.c: Likewise. - * fileio.c: Likewise. - * filelock.c: Likewise. - * font.c: Likewise. - * fontset.c: Likewise. - * fringe.c: Likewise. - * indent.c: Likewise. - * insdel.c: Likewise. - * intervals.c: Likewise. - * keyboard.c: Likewise. - * keymap.c: Likewise. - * lread.c: Likewise. - * macros.c: Likewise. - * marker.c: Likewise. - * minibuf.c: Likewise. - * nsfns.m: Likewise. - * nsmenu.m: Likewise. - * print.c: Likewise. - * process.c: Likewise. - * regex.c: Likewise. - * region-cache.c: Likewise. - * search.c: Likewise. - * syntax.c: Likewise. - * term.c: Likewise. - * textprop.c: Likewise. - * undo.c: Likewise. - * unexsol.c: Likewise. - * w16select.c: Likewise. - * w32fns.c: Likewise. - * w32menu.c: Likewise. - * window.c: Likewise. - * xdisp.c: Likewise. - * xfns.c: Likewise. - * xmenu.c: Likewise. - * xml.c: Likewise. - * xselect.c: Likewise. - -2012-06-16 Eli Zaretskii - - * xdisp.c (set_cursor_from_row): Don't dereference glyphs_end. - If all the glyphs of the glyph row came from strings, and we have no - cursor positioning clues, put the cursor on the first glyph of the - row. - (handle_face_prop): Use chunk-relative overlay string index when - indexing into it->string_overlays array. (Bug#11653) - (set_cursor_from_row): Use the leftmost glyph as GLYPH_BEFORE, not - the rightmost. (Bug#11720) - -2012-06-16 Andreas Schwab - - * category.h (CHAR_HAS_CATEGORY): Define as inline. - (CATEGORY_MEMBER): Enforce 1/0 value. - * category.c (_temp_category_set): Remove. - -2012-06-16 Eli Zaretskii - - * window.c (Fdelete_other_windows_internal) - (Fdelete_window_internal): Don't access frame's mouse highlight - info of the initial frame. (Bug#11677) - -2012-06-14 Paul Eggert - - * .gdbinit (xgetint): Fix recently-introduced paren typo. - Assume USE_2_TAGS_FOR_INTS. - (xreload): Adjust $tagmask width to match recent lisp.h change. - - Simplify lisp.h in minor ways that should not affect code. - * lisp.h (USE_2_TAGS_FOR_INTS): Remove, as it was always defined. - (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P) - (LISP_INT1_TAG, enum Lisp_Type, XINT, XUINT, make_number): - Simplify under the assumption that USE_2_TAGS_FOR_INTS is defined. - (INTTYPEBITS): New macro, for clarity. - (INTMASK, MOST_POSITIVE_FIXNUM): Use it. - (LISP_INT1_TAG, LISP_STRING_TAG, LISP_INT_TAG_P): - Simplify now that USE_LSB_TAG is always defined. - (TYPEMASK, XINT) [USE_LSB_TAG]: Remove unnecessary cast. - (make_number) [!USE_LSB_TAG]: Use INTMASK; that's simpler. - -2012-06-13 Juanma Barranquero - - * makefile.w32-in ($(BLD)/data.$(O)): Update dependencies. - -2012-06-13 Glenn Morris - - * s/bsd-common.h (BSD4_3): - * s/usg5-4-common.h (USG5_4): No longer define; unused. - -2012-06-13 Andreas Schwab - - * lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]: Define as struct - instead of union. - (XLI, XIL): Define. - (XHASH, XTYPE, XINT, XUINT, make_number, XSET, XPNTR, XUNTAG): - Use them. - * emacs.c (gdb_use_struct): Rename from gdb_use_union. - * .gdbinit: Check gdb_use_struct instead of gdb_use_union. - * alloc.c (widen_to_Lisp_Object): Remove. - (mark_memory): Use XIL instead of widen_to_Lisp_Object. - * frame.c (delete_frame): Remove outdated comment. - * w32fns.c (Fw32_register_hot_key): Use XLI instead of checking - USE_LISP_UNION_TYPE. - (Fw32_unregister_hot_key): Likewise. - (Fw32_toggle_lock_key): Likewise. - * w32menu.c (add_menu_item): Likewise. - (w32_menu_display_help): Use XIL instead of checking - USE_LISP_UNION_TYPE. - * w32heap.c (allocate_heap): Don't check USE_LISP_UNION_TYPE. - (init_heap): Likewise. - * w32term.c (w32_read_socket): Update comment. - -2012-06-13 Glenn Morris - - * s/usg5-4-common.h, src/s/unixware.h: - Remove define/undef of HAVE_SYSV_SIGPAUSE (not used since 2010-05-04). - - * s/gnu.h (POSIX_SIGNALS): Remove (not used since 2010-05-04). - -2012-06-13 Paul Eggert - - USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604) - * alloc.c (make_number) [!defined make_number]: - Remove, as lisp.h always defines this now. - (mark_maybe_pointer): Simplify since USE_LSB_TAG is always defined now. - (roundup_size): Verify that it is a power of 2. - * data.c (Fmake_variable_buffer_local, Fmake_local_variable): - * ftfont.c (ftfont_driver): Use LISP_INITIALLY_ZERO. - * lisp.h (USE_LSB_TAG): Allow the builder to compile with - -DUSE_LSB_TAG=0, to override the automatically-selected default. - USE_LSB_TAG now is always defined to be either 0 or 1. - All uses changed. - (union Lisp_Object): Don't worry about WORDS_BIGENDIAN; the - code works fine either way, and efficiency is not a concern here, - as the union type is for debugging, not for production. - (LISP_MAKE_RVALUE, make_number) [USE_LISP_UNION_TYPE]: - Use an inline function on all platforms when using the union type, - since this is simpler and 'static inline' can be used portably - within Emacs now. - (LISP_INITIALLY_ZERO): New macro. - (XFASTINT, XSETFASTINT) [USE_LISP_UNION_TYPE]: Remove. - (XSET) [USE_LISP_UNION_TYPE]: Don't overparenthesize. - -2012-06-12 Glenn Morris - - * s/gnu-kfreebsd.h, s/hpux11.h, s/openbsd.h, s/sol2-10.h: Remove files. - - * s/gnu-linux.h (HAVE_PROCFS): Move to configure. - - * s/hpux10-20.h, s/openbsd.h, s/usg5-4-common.h: - Move BROKEN_SIGIO to configure. - - * s/bsd-common.h, s/darwin.h, s/gnu-kfreebsd.h, s/hpux10-20.h: - Move NO_TERMIO to configure. - -2012-06-12 Chong Yidong - - * image.c (imagemagick_load_image): Use MagickFlattenImage if - MagickMergeImageLayers is undefined. Use pixel pusher loop if - MagickExportImagePixels is undefined. - -2012-06-12 Paul Eggert - - * image.c (imagemagick_load_image): Remove unused label. - -2012-06-11 Glenn Morris - - * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h: - * s/gnu-kfreebsd.h, s/gnu-linux.h, s/gnu.h, s/hpux10-20.h: - * s/irix6-5.h, s/ms-w32.h, s/msdos.h, s/template.h: - * s/usg5-4-common.h: Move SYSTEM_TYPE to configure. - -2012-06-11 Stefan Monnier - - * alloc.c (make_byte_code): New function. - (Fmake_byte_code): Use it. Don't purify here. - * lread.c (read1): Use it as well to avoid extra allocation. - -2012-06-11 Chong Yidong - - * image.c (imagemagick_load_image): Implement transparency. - -2012-06-10 Andreas Schwab - - * regex.c (at_begline_loc_p): Also recognize `(?N:' and correctly - account for preceding backslashes. (Bug#11663) - -2012-06-09 Chong Yidong - - * term.c: Support italics in capable terminals (Bug#9652). - (no_color_bit): Replace unused NC_BLINK with NC_ITALIC. - (turn_on_face): Output using TS_enter_italic_mode if available. - Don't handle unused blinking and alt-charset cases. - (turn_off_face): Handle italic case; discard unused tty_blinking_p - and tty_alt_charset_p cases. - (tty_capable_p, init_tty): Support italics. - - * termchar.h (struct tty_display_info): Add field for italics. - Remove unused blink field. - - * xfaces.c (tty_supports_face_attributes_p, realize_tty_face): - Handle slant. - - * dispextern.h: Replace unused TTY_CAP_BLINK with TTY_CAP_ITALIC. - (struct face): Remove unused fields tty_dim_p, tty_blinking_p, and - tty_alt_charset_p. Add tty_italic_p. - -2012-06-09 Michael Albinus - - * dbusbind.c (XD_BASIC_DBUS_TYPE): Use dbus_type_is_valid and - dbus_type_is_basic if available. - (xd_extract_signed, xd_extract_unsigned): Rename from - extract_signed and extract_unsigned, respectively. Adapt callers. - -2012-06-09 Chong Yidong - - * xfaces.c (face_for_overlay_string): Handle face remapping (Bug#2066). - - * fringe.c (Fset_fringe_bitmap_face): Handle the noninteractive - case (Bug#9752). - -2012-06-08 Paul Eggert - - * xdisp.c (vmessage): Treat frame message as multibyte. - Without this change, (let ((§ 1)) (make-variable-buffer-local '§)) - would generate the diagnostic "Making \302\247 buffer-local while - let-bound!". - -2012-06-08 Eli Zaretskii - - * dispnew.c (showing_window_margins_p): Undo last change, which - was done due to an inadvertent commit. - (adjust_frame_glyphs_for_frame_redisplay): Do call - showing_window_margins_p. - -2012-06-08 Stefan Monnier - - * eval.c (Fmake_var_non_special): New primitive. - (syms_of_eval): Defsubr it. - * lread.c (syms_of_lread): Mark `values' as lexically scoped. - -2012-06-08 Juanma Barranquero - - * dispnew.c (showing_window_margins_p): Wrap in #if 0 to prevent unused - function warning (the only call is inside #if 0 since 2012-06-08T08:44:45Z!eliz@gnu.org). - -2012-06-08 Eli Zaretskii - - * alloc.c (allocate_vectorlike): Fix last change. - -2012-06-08 Dmitry Antipov - - Block-based vector allocation of small vectors. - * lisp.h (struct vectorlike_header): New field `nbytes', - adjust comment accordingly. - * alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK' - to denote vector blocks. Adjust users (live_vector_p, - mark_maybe_pointer, valid_lisp_object_p) accordingly. - (COMMON_MULTIPLE): Move outside #if USE_LSB_TAG. - (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES) - (VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX) - (VECTOR_FREE_LIST_FLAG, ADVANCE, VINDEX, SETUP_ON_FREE_LIST) - (VECTOR_SIZE, VECTOR_IN_BLOCK): New macros. - (roundup_size): New constant. - (struct vector_block): New data type. - (vector_blocks, vector_free_lists, zero_vector): New variables. - (all_vectors): Rename to `large_vectors'. - (allocate_vector_from_block, init_vectors, allocate_vector_from_block) - (sweep_vectors): New functions. - (allocate_vectorlike): Return `zero_vector' as the only vector of - 0 items. Allocate new vector from block if vector size is less than - or equal to VBLOCK_BYTES_MAX. - (Fgarbage_collect): Move all vector sweeping code to sweep_vectors. - (init_alloc_once): Add call to init_vectors. - -2012-06-08 Stefan Monnier - - * eval.c (Fmacroexpand): Stop if the macro returns the same form. - -2012-06-07 Paul Eggert - - * doprnt.c (doprnt): Truncate multibyte char correctly. - Without this change, doprnt (buf, 2, "%s", FORMAT_END, AP) - would mishandle a string argument "Xc" if X was a multibyte - character of length 2: it would truncate after X's first byte - rather than including all of X. - -2012-06-06 Chong Yidong - - * buffer.c (word_wrap): Doc fix. - -2012-06-04 Paul Eggert - - * xdisp.c (note_mode_line_or_margin_highlight): Pacify gcc -Wall. - -2012-06-03 Glenn Morris - - * xdisp.c (tool-bar-style): Doc fix. - -2012-06-03 Ulrich Müller - - * Makefile.in (PAXCTL): Define. - (temacs$(EXEEXT)): Disable memory randomization for the temacs - binary via PaX flags if the paxctl utility is available. - (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)): - Restore PaX flags to their default. (Bug#11398) - -2012-06-03 Chong Yidong - - * xdisp.c (decode_mode_spec_coding): Display a space for a unibyte - buffer (Bug#11226). - -2012-06-03 Chong Yidong - - * xdisp.c (calc_pixel_width_or_height): Use Fbuffer_local_value. - (note_mode_line_or_margin_highlight): If there is no help echo, - use mode-line-default-help-echo. Handle the case where the mouse - position is past the end of the mode line string. - - * buffer.c (buffer_local_value_1): New function, split from - Fbuffer_local_value; can return Qunbound. - (Fbuffer_local_value): Use it. - (Vmode_line_format): Docstring tweaks. - -2012-06-02 Paul Eggert - - * sysdep.c (system_process_attributes): Improve comment. - -2012-06-02 Stefan Monnier - - * keyboard.c: Export real-this-command to Elisp. - (syms_of_keyboard): Rename real_this_command to Vreal_this_command - and DEFVAR it. Update all users. - -2012-06-02 Paul Eggert - - * minibuf.c (Fassoc_string): Remove duplicate declaration. - - * sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]: - Convert pctcpu and pctmem to Lisp float properly. - Let the compiler fold better, as 100.0/0x8000 is exact. - -2012-06-02 Andreas Schwab - - * alloc.c (CONS_BLOCK_SIZE): Account for padding at the end of - cons_block. - -2012-06-01 Paul Eggert - - * xfns.c (x_set_tool_bar_lines) [USE_GTK]: Adjust to bitfield change. - -2012-06-01 Dmitry Antipov - - For a 'struct window', replace some Lisp_Object fields to - bitfields where appropriate, remove unused fields. - * window.h (struct window): Remove unused 'last_mark_x' and - 'last_mark_y' fields. Rename 'mini_p' field to 'mini', - change its type from Lisp_Object to bitfield. - Change type of 'force_start', 'optional_new_start', - 'last_had_star', 'update_mode_line' and 'start_at_line_beg' - fields from Lisp_Object to bitfield. Adjust users accordingly. - -2012-05-31 Paul Eggert - - Pacify gcc -Wdouble-precision when using Xaw. - * xterm.c (xaw_jump_callback, x_set_toolkit_scroll_bar_thumb) - [HAVE_X_WINDOWS && USE_TOOLKIT_SCROLL_BARS && !USE_MOTIF && !USE_GTK]: - Use 'float' consistently, rather than 'float' in most places - and 'double' in a couple of places. - -2012-05-31 Eli Zaretskii - - * xdisp.c (handle_stop): Detect whether we have overlay strings - loaded by testing it->current.overlay_string_index to be - non-negative, instead of checking whether n_overlay_strings is - positive. (Bug#11587) - -2012-05-31 Chong Yidong - - * keymap.c (describe_map_tree): Revert 2011-07-07 change (Bug#1169). - - * doc.c (Fsubstitute_command_keys): Doc fix. - -2012-05-31 Eli Zaretskii - - * search.c (search_buffer): Remove calls to - r_alloc_inhibit_buffer_relocation, as it is now called by - maybe_unify_char, which was the cause of relocation of buffer text - in bug#11519. - -2012-05-31 Eli Zaretskii - - * charset.c (maybe_unify_char): Inhibit relocation of buffer text - for the duration of call to load_charset, to avoid problems with - callers of maybe_unify_char that access buffer text through C - pointers. - - * ralloc.c (r_alloc_inhibit_buffer_relocation): Increment and - decrement the inhibition flag, instead of just setting or - resetting it. - -2012-05-31 Paul Eggert - - Remove obsolete '#define static' cruft. - * s/hpux10-20.h (_FILE_OFFSET_BITS): Don't #undef. - This #undef was "temporary" in 2000; it is no longer needed - now that '#define static' has gone away. - * xfns.c, xterm.h (gray_bitmap_width, gray_bitmap_height) - (gray_bitmap_bits): Remove; no longer needed. - All uses replaced with definiens. - * xterm.c: Include "bitmaps/gray.xbm". - -2012-05-30 Paul Eggert - - Clean up __executable_start, monstartup when --enable-profiling. - The following changes affect the code only when profiling. - * dispnew.c (__executable_start): Rename from safe_bcopy. - Define only on platforms that need it. - * emacs.c: Include when profiling. - (_mcleanup): Remove decl, since does it now. - (__executable_start): Remove decl, since lisp.h does it now. - (safe_bcopy): Remove decl; no longer has that name. - (main): Coalesce #if into single bit of code, for simplicity. - Cast pointers to uintptr_t, since standard libraries want integers - and not pointers. - * lisp.h (__executable_start): New decl. - -2012-05-31 Glenn Morris - - * image.c (Fimagemagick_types): Doc fix. - -2012-05-30 Jim Meyering - - * callproc.c (Fcall_process_region): Include directory component - in mkstemp error message (Bug#11586). - -2012-05-30 Paul Eggert - - * alloc.c, lisp.h (make_pure_vector): Now static. - -2012-05-30 Stefan Monnier - - * eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function): - Move to byte-run.el. - (Fautoload): Do the hash-doc more carefully. - * data.c (Fdefalias): Purify definition, except for keymaps. - (Qdefun): Move from eval.c. - * lisp.h (Qdefun): Remove. - * lread.c (read1): Tiny simplification. - -2012-05-29 Troels Nielsen - - Do not create empty overlays with the evaporate property (Bug#9642). - * buffer.c (Fmove_overlay): Reinstate the earlier fix for - Bug#9642, but explicitly check that the buffer the overlay would - be moved to is live and rearrange lines to make sure that errors - will not put the overlay in an inconsistent state. - (Fdelete_overlay): Cosmetics. - -2012-05-28 Eli Zaretskii - - * w32term.c (my_bring_window_to_top): New function. - (x_raise_frame): Use handle returned by DeferWindowPos, which - could be different from the original one. - Call my_bring_window_to_top instead of my_set_foreground_window. - (Bug#11513) - - * w32fns.c (w32_wnd_proc): Accept and process WM_EMACS_BRINGTOTOP - by calling BringWindowToTop. - - * w32term.h (WM_EMACS_BRINGTOTOP): New message. - (WM_EMACS_END): Increase by one. - -2012-05-28 Paul Eggert - - * bidi.c (bidi_mirror_char): Put eassert before conversion to int. - This avoids undefined behavior that might cause the eassert - to not catch an out-of-range value. - -2012-05-28 Juanma Barranquero - - * makefile.w32-in ($(BLD)/w32inevt.$(O), $(BLD)/w32console.$(O)): - Update dependencies. - -2012-05-27 Eli Zaretskii - - * bidi.c (bidi_mirror_char): Fix last change. - -2012-05-27 Andreas Schwab - - * unexmacosx.c (copy_data_segment): Truncate after 16 characters - when referring to sectname field in printf format. - -2012-05-27 Paul Eggert - - * lisp.h [REL_ALLOC]: Omit duplicate prototypes. - Only r_alloc_inhibit_buffer_relocation needed to be added; - the others were already declared. - - * bidi.c (bidi_mirror_char): Don't possibly truncate the integer - before checking whether it's out of range. Put the check inside - eassert. See - . - -2012-05-27 Ken Brown - - * callproc.c (Fcall_process): Restore a line that was accidentally - commented out in the 2011-02-13 change (bug#11547). - -2012-05-27 Eli Zaretskii - - * lisp.h [REL_ALLOC]: Add prototypes for external functions - defined on ralloc.c. - - * buffer.c [REL_ALLOC]: Remove prototypes of - r_alloc_reset_variable, r_alloc, r_re_alloc, and r_alloc_free, - they are now on lisp.h. - - * ralloc.c (r_alloc_inhibit_buffer_relocation): New function. - - * search.c (search_buffer): Use it to inhibit relocation of buffer - text while re_search_2 is doing its job, because re_search_2 is - passed C pointers to buffer text. (Bug#11519) - - * msdos.c (internal_terminal_init) : - Update value to 24. - - * xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator - state after an additional call to move_it_in_display_line_to, keep - the values of it->max_ascent and it->max_descent found for the - entire line. - (pos_visible_p): Revert the comparison against bottom_y to what it - was in revid eliz@gnu.org-20120513182235-4p6386j761ld0nwb. - (Bug#11464) - -2012-05-26 Paul Eggert - - Fix coding-related core dumps with gcc -ftrapv. - The code was computing A - B, where A and B are pointers, and B is - random garbage. This can lead to core dumps on platforms that - have special pointer registers, and it also leads to core dumps on - x86-64 when compiled with gcc -ftrapv. The fix is to compute - A - B only when B is initialized properly. - * coding.c (coding_set_source, coding_set_destination): Return void. - (coding_change_source, coding_change_destinations): New functions, - with the old behaviors of coding_set_source and coding_set_destination. - All callers that need an offset changed to use these new functions. - -2012-05-26 Glenn Morris - - * nsterm.m (ns_init_paths): Don't mess with INFOPATH. (Bug#2791) - -2012-05-26 Eli Zaretskii - - Extend mouse support on W32 text-mode console. - * xdisp.c (draw_row_with_mouse_face): - Call tty_draw_row_with_mouse_face for WINDOWSNT as well. - - * w32console.c: Include window.h. - (w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face): - New functions. - (initialize_w32_display): Initialize mouse-highlight data. - - * w32inevt.c: Include termchar.h and window.h. - (do_mouse_event): Support mouse-autoselect-window. When the mouse - moves, call note_mouse_highlight. If help_echo changed, call - gen_help_event to produce help-echo message in the echo area. - Call clear_mouse_face if mouse_face_hidden is set in the mouse - highlight info. - -2012-05-26 Paul Eggert - - * lread.c (read1): Simplify slightly to avoid an overflow warning - with GCC 4.7.0 on x86-64. - -2012-05-26 Eli Zaretskii - - * bidi.c (bidi_mirror_char): Revert last change: an int is - definitely wide enough here. - -2012-05-25 Paul Eggert - - Fix integer width and related bugs (Bug#9874). - * alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp): - (allocate_vectorlike, buffer_memory_full, struct sdata, SDATA_SIZE) - (string_bytes, check_sblock, allocate_string_data): - (compact_small_strings, Fmake_bool_vector, make_string) - (make_unibyte_string, make_multibyte_string) - (make_string_from_bytes, make_specified_string) - (allocate_vectorlike, Fmake_vector, find_string_data_in_pure) - (make_pure_string, make_pure_c_string, make_pure_vector, Fpurecopy) - (mark_vectorlike): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (allocate_pseudovector): - Use int, not EMACS_INT, where int is wide enough. - (inhibit_garbage_collection, Fgarbage_collect): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * bidi.c (bidi_mirror_char): Use EMACS_INT, not int, where - int might not be wide enough. - (bidi_cache_search, bidi_cache_find, bidi_init_it) - (bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char) - (bidi_at_paragraph_end, bidi_find_paragraph_start) - (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak) - (bidi_level_of_next_char, bidi_move_to_visually_next): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - * buffer.c (copy_overlays, Fgenerate_new_buffer_name) - (Fkill_buffer, Fset_buffer_major_mode) - (advance_to_char_boundary, Fbuffer_swap_text) - (Fset_buffer_multibyte, overlays_at, overlays_in) - (overlay_touches_p, struct sortvec, record_overlay_string) - (overlay_strings, recenter_overlay_lists) - (adjust_overlays_for_insert, adjust_overlays_for_delete) - (fix_start_end_in_overlays, fix_overlays_before, modify_overlay) - (Fmove_overlay, Fnext_overlay_change, Fprevious_overlay_change) - (Foverlay_recenter, last_overlay_modification_hooks_used) - (report_overlay_modification, evaporate_overlays, enlarge_buffer_text): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (validate_region): Omit unnecessary test for b <= e, - since that's guaranteed by the previous test. - (adjust_overlays_for_delete): Avoid pos + length overflow. - (Fmove_overlay, Fdelete_overlay, add_overlay_mod_hooklist) - (report_overlay_modification): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): - Omit pointer cast, which isn't needed anyway, and doesn't work - after the EMACS_INT -> ptrdiff_t change. - (Fmove_overlay): Clip BEG and END to ptrdiff_t to avoid overflow. - * buffer.h: Adjust decls to match defn changes elsewhere. - (struct buffer_text, struct buffer): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - Use EMACS_INT, not int, where int might not be wide enough. - * bytecode.c (unmark_byte_stack, exec_byte_code): Use ptrdiff_t, - not int, to avoid needless 32-bit limit on 64-bit hosts. - (exec_byte_code): Use tighter memory-full test, one that checks - for alloca overflow. Don't compute the address of the object just - before an array, as that's not portable. Use EMACS_INT, not - ptrdiff_t or int, where ptrdiff_t or int might not be wide enough. - * callint.c (Fcall_interactively): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * callproc.c (call_process_kill, Fcall_process): - Don't assume pid_t fits into an Emacs fixnum. - (call_process_cleanup, Fcall_process, child_setup): - Don't assume pid_t fits into int. - (call_process_cleanup, Fcall_process, delete_temp_file) - (Fcall_process_region): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (Fcall_process): Simplify handling of volatile integers. - Use int, not EMACS_INT, where int will do. - * casefiddle.c (casify_object, casify_region, operate_on_word) - (Fupcase_word, Fdowncase_word, Fcapitalize_word): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (casify_object): Avoid integer overflow when overallocating buffer. - * casetab.c (set_identity, shuffle): Prefer int to unsigned when - either works. Use lint_assume to convince GCC 4.6.1 that it's OK. - * category.c (Fchar_category_set): Don't assume fixnum fits in int. - * category.h (CATEGORYP): Don't assume arg is nonnegative. - * ccl.c (GET_CCL_INT): Remove; no longer needed, since the - integers are now checked earlier. All uses replaced with XINT. - (ccl_driver): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - For CCL_MapSingle, check that content and value are in int range. - (ccl_driver, Fregister_code_conversion_map): - Check that Vcode_version_map_vector is a vector. - (resolve_symbol_ccl_program): Check that vector header is in range. - Always copy the vector, so that we can check its contents reliably - now rather than having to recheck each instruction as it's being - executed. Check that vector words fit in 'int'. - (ccl_get_compiled_code, Fregister_ccl_program) - (Fregister_code_conversion_map): Use ptrdiff_t, not int, for - program indexes, to avoid needless 32-bit limit on 64-bit hosts. - (Fccl_execute, Fccl_execute_on_string): Check that initial reg - contents are in range. - (Fccl_execute_on_string): Check that status is in range. - * ccl.h (struct ccl_program.idx): Now ptrdiff_t, not int. - * character.c (char_resolve_modifier_mask, Fchar_resolve_modifiers): - Accept and return EMACS_INT, not int, because callers can pass values - out of 'int' range. - (c_string_width, strwidth, lisp_string_width, chars_in_text) - (multibyte_chars_in_text, parse_str_as_multibyte) - (str_as_multibyte, count_size_as_multibyte, str_to_multibyte) - (str_as_unibyte, str_to_unibyte, string_count_byte8) - (string_escape_byte8, Fget_byte): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Funibyte_string): Use CHECK_RANGED_INTEGER, not CHECK_NATNUM, to - avoid mishandling large integers. - * character.h: Adjust decls to match defn changes elsewhere. - * charset.c (load_charset_map_from_file, find_charsets_in_text) - (Ffind_charset_region): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (load_charset_map_from_file): Redo idx calculation to avoid overflow. - (load_charset_map_from_vector, Fdefine_charset_internal): - Don't assume fixnum fits in int. - (load_charset_map_from_vector, Fmap_charset_chars): - Remove now-unnecessary CHECK_NATNUMs. - (Fdefine_charset_internal): Check ranges here, more carefully. - Don't rely on undefined behavior with signed left shift overflow. - Don't assume unsigned int fits into fixnum, or that fixnum fits - into unsigned int. Don't require max_code to be a valid fixnum; - that's not true for gb10830 4-byte on a 32-bit host. Allow - invalid_code to be a cons, for the same reason. Require code_offset - to be a character. Avoid int overflow if max_char is close - to INT_MAX. - (CODE_POINT_TO_INDEX): On 32-bit hosts, return int, not unsigned; - this is intended anyway and avoids some undefined behavior. - (load_charset_map): Pass unsigned, not int, as 2nd arg of - INDEX_TO_CODE_POINT, as that's what it expects. - (Funify_charset, encode_char): Don't stuff unsigned vals into int vars. - * charset.h (DECODE_CHAR): Return int, not unsigned; - this is what was intended anyway, and it avoids undefined behavior. - (CHARSET_OFFSET): Remove unused macro, instead of fixing its - integer-overflow issues. - (ENCODE_CHAR): Return unsigned on all hosts, not just on 32-bit hosts. - Formerly, it returned EMACS_INT on 64-bit hosts in the common case - where the argument is EMACS_INT, and this behavior is not intended. - * chartab.c (Fmake_char_table, Fset_char_table_range) - (uniprop_get_decoder, uniprop_get_encoder): - Don't assume fixnum fits in int. - * cmds.c (move_point): New function, that does the gist of - Fforward_char and Fbackward_char, but does so while checking - for integer overflow more accurately. - (Fforward_char, Fbackward_char): Use it. - (Fforward_line, Fend_of_line, internal_self_insert) - (internal_self_insert): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - Fix a FIXME, by checking for integer overflow when calculating - target_clm and actual_clm. - * coding.c (detect_coding_XXX, encode_coding_XXX, CODING_DECODE_CHAR) - (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET, CODING_CHAR_CHARSET_P) - (ASSURE_DESTINATION, coding_alloc_by_realloc) - (coding_alloc_by_making_gap, alloc_destination) - (detect_coding_utf_8, encode_coding_utf_8, decode_coding_utf_16) - (encode_coding_utf_16, detect_coding_emacs_mule) - (decode_coding_emacs_mule, encode_coding_emacs_mule) - (detect_coding_iso_2022, decode_coding_iso_2022) - (encode_invocation_designation, encode_designation_at_bol) - (encode_coding_iso_2022, detect_coding_sjis, detect_coding_big5) - (decode_coding_sjis, decode_coding_big5, encode_coding_sjis) - (encode_coding_big5, detect_coding_ccl, decode_coding_ccl) - (encode_coding_ccl, encode_coding_raw_text) - (detect_coding_charset, decode_coding_charset) - (encode_coding_charset, detect_eol, decode_eol, produce_chars) - (produce_composition, produce_charset, produce_annotation) - (decode_coding, handle_composition_annotation) - (handle_charset_annotation, consume_chars, decode_coding_gap) - (decode_coding_object, encode_coding_object, detect_coding_system) - (Ffind_coding_systems_region_internal, Fcheck_coding_systems_region) - (code_convert_region, code_convert_string) - (Fdefine_coding_system_internal) - (coding_set_source, coding_set_destination): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (setup_iso_safe_charsets, consume_chars, Funencodable_char_position) - (Fdefine_coding_system_internal): - Don't assume fixnums fit in int. - (decode_coding_gap, decode_coding_object, encode_coding_object) - (Fread_coding_system, Fdetect_coding_region) - (Funencodable_char_position, Fcheck_coding_systems_region) - (get_translation, handle_composition_annotation, consume_chars): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (consume_chars): Rewrite to not calculate an address outside buffer. - (Ffind_operation_coding_system): NATNUMP can eval its arg twice. - Don't access memory outside of the args array. - (Fdefine_coding_system_internal): Check for charset-id overflow. - (ENCODE_ISO_CHARACTER): Use unsigned, not int, to store the unsigned - result of ENCODE_CHAR. - * coding.h: Adjust decls to match defn changes elsewhere. - (struct coding_system): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - * composite.c (get_composition_id, find_composition) - (run_composition_function, update_compositions) - (compose_text, composition_gstring_put_cache) - (composition_gstring_p, composition_gstring_width) - (fill_gstring_header, fill_gstring_body, autocmp_chars) - (composition_compute_stop_pos, composition_reseat_it) - (composition_update_it, struct position_record) - (find_automatic_composition, composition_adjust_point) - (Fcomposition_get_gstring, Ffind_composition_internal): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (update_compositions): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * composite.h: Adjust decls to match defn changes elsewhere. - (struct composition): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - * data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p): - Do not attempt to compute the address of the object just before a - buffer; this is not portable. - (Faref, Faset): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Faset): Use int, not EMACS_INT, where int is wide enough. - (Fstring_to_number): Don't assume fixnums fit in int. - (Frem): Don't assume arg is nonnegative. - * dbusbind.c (xd_append_arg): Check for integers out of range. - (Fdbus_call_method): Don't overflow the timeout int. - (extract_signed, extract_unsigned): New functions. - (XD_CHECK_DBUS_SERIAL): Remove; superseded by extract_unsigned. - (xd_get_connection_references): Return ptrdiff_t, not int. - All uses changed. - (xd_signature, xd_append_arg, xd_retrieve_arg, Fdbus_message_internal) - (xd_read_message_1): - Use int, not unsigned, where the dbus API uses int. - (Fdbus_message_internal): Don't overflow mtype. - (syms_of_dbusbind): Allocate right-sized buffer for integers. - * dired.c (directory_files_internal, file_name_completion, scmp) - (file_name_completion_stat): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (file_name_completion): Don't overflow matchcount. - (file_name_completion_stat): Use SAFE_ALLOCA, not alloca. - * dispextern.h: Adjust decls to match defn changes elsewhere. - (struct text_pos, struct glyph, struct bidi_saved_info) - (struct bidi_string_data, struct bidi_it, struct composition_it) - (struct it): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (struct display_pos, struct composition_it, struct it): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * dispnew.c (increment_matrix_positions) - (increment_row_positions, mode_line_string) - (marginal_area_string): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (change_frame_size_1, Fredisplay, Fframe_or_buffer_changed_p): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (duration_to_sec_usec): New function, to check for overflow better. - (Fsleep_for, sit_for): Use it. - * doc.c (get_doc_string, store_function_docstring): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (get_doc_string, Fsnarf_documentation): - Use int, not EMACS_INT, where int is wide enough. - (get_doc_string): - Use SAFE_ALLOCA, not alloca. - Check for overflow when converting EMACS_INT to off_t. - * doprnt.c (doprnt): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - * editfns.c (init_editfns, Fuser_uid, Fuser_real_uid): - Don't assume uid_t fits into fixnum. - (buildmark, Fgoto_char, overlays_around, find_field, Fdelete_field) - (Ffield_string, Ffield_string_no_properties, Ffield_beginning) - (Ffield_end, Fconstrain_to_field, Fline_beginning_position) - (Fline_end_position, Fprevious_char, Fchar_after, Fchar_before) - (general_insert_function) - (Finsert_char, make_buffer_string, make_buffer_string_both) - (update_buffer_properties, Fbuffer_substring) - (Fbuffer_substring_no_properties, Fcompare_buffer_substrings) - (Fsubst_char_in_region, check_translation) - (Ftranslate_region_internal, save_restriction_restore, Fformat) - (transpose_markers, Ftranspose_regions): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (clip_to_bounds): Move to lisp.h as an inline function). - (Fconstrain_to_field): Don't assume integers are nonnegative. - (Fline_beginning_position, Fsave_excursion, Fsave_current_buffer): - (Fsubst_char_in_region, Fsave_restriction): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (Femacs_pid): Don't assume pid_t fits into fixnum. - (lo_time): Use int, not EMACS_INT, when int suffices. - (lisp_time_argument): Check for usec out of range. - (Fencode_time): Don't assume fixnum fits in int. - (Fuser_login_name, Fuser_full_name): Signal an error - if a uid argument is out of range, rather than relying on - undefined behavior. - (Fformat_time_string): Remove now-unnecessary check. - lisp_time_argument checks for out-of-range usec now. - Use ptrdiff_t, not size_t, where ptrdiff_t will do. - * emacs.c (gdb_valbits, gdb_gctypebits): Now int, not EMACS_INT. - (gdb_data_seg_bits): Now uintptr_t, not EMACS_INT. - (PVEC_FLAG, gdb_array_mark_flag): Now ptrdiff_t, not EMACS_INT. - (init_cmdargs, Fdump_emacs): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (Fkill_emacs): Don't assume fixnum fits in int; instead, take just - the bottom (typically) 32 bits of the fixnum. - * eval.c (specpdl_size, call_debugger): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (when_entered_debugger, Fbacktrace_debug): - Don't assume fixnum can fit in int. - (Fdefvaralias, Fdefvar): Do not attempt to compute the address of - the object just before a buffer; this is not portable. - (FletX, Flet, Funwind_protect, do_autoload, Feval, funcall_lambda) - (grow_specpdl, unbind_to): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (Fapply, apply_lambda): Don't assume ptrdiff_t can hold fixnum. - (grow_specpdl): Simplify allocation by using xpalloc. - (Fprog1, Fprog2): Don't assume list length fits in int. Simplify. - * fileio.c (Ffind_file_name_handler, Fcopy_file, Frename_file) - (Finsert_file_contents, Fwrite_region, Fdo_auto_save): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (Ffind_file_name_handler, non_regular_inserted, Finsert_file_contents) - (a_write, e_write): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Fcopy_file, non_regular_nbytes, read_non_regular) - (Finsert_file_contents): - Use int, not EMACS_INT, where int is wide enough. - (READ_BUF_SIZE): Verify that it fits in int. - (Finsert_file_contents): Check that counts are in proper range, - rather than assuming fixnums fit into ptrdiff_t etc. - Don't assume fixnums fit into int. - * floatfns.c (Fexpt): Avoid undefined signed * signed overflow. - * fns.c (Fcompare_strings, Fstring_lessp, struct textprop_rec, concat) - (string_char_byte_cache_charpos, string_char_byte_cache_bytepos) - (string_char_to_byte, string_byte_to_char) - (string_make_multibyte, string_to_multibyte) - (string_make_unibyte, Fstring_as_unibyte, Fstring_as_multibyte) - (Fstring_to_unibyte, Fsubstring, Fsubstring_no_properties) - (substring_both, Fdelete, internal_equal, Ffillarray) - (Fclear_string, mapcar1) - (Fbase64_encode_region, Fbase64_encode_string, base64_encode_1) - (Fbase64_decode_region, Fbase64_decode_string, base64_decode_1) - (larger_vector, make_hash_table, maybe_resize_hash_table) - (hash_lookup, hash_remove_from_table, hash_clear, sweep_weak_table) - (Fmaphash, secure_hash): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (concat): Check for string index and length overflow. - (Fmapconcat): Don't assume fixnums fit into ptrdiff_t. - (Frequire): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (larger_vector): New API (vec, incr_min, size_max) replaces old - one (vec, new_size, init). This catches size overflow. - INIT was removed because it was always Qnil. - All callers changed. - (INDEX_SIZE_BOUND): New macro, which calculates more precisely - the upper bound on a hash table index size. - (make_hash_table, maybe_resize_hash_table): Use it. - (secure_hash): Computer start_byte and end_byte only after - they're known to be in ptrdiff_t range. - * font.c (font_intern_prop, font_at, font_range, Ffont_shape_gstring) - (Ffont_get_glyphs, Ffont_at): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (font_style_to_value, font_prop_validate_style, font_expand_wildcards) - (Flist_fonts, Fopen_font): - Don't assume fixnum can fit in int. - (check_gstring): Don't assume index can fit in int. - (font_match_p): Check that fixnum is a character, not a nonnegative - fixnum, since the later code needs to stuff it into an int. - (font_find_for_lface): Use SAFE_ALLOCA_LISP, not alloca. - (font_fill_lglyph_metrics): Use unsigned, not EMACS_INT, to avoid - conversion overflow issues. - (Fopen_font): Check for integer out of range. - (Ffont_get_glyphs): Don't assume index can fit in int. - * font.h: Adjust decls to match defn changes elsewhere. - * fontset.c (reorder_font_vector): Redo score calculation to avoid - integer overflow. - (num_auto_fontsets, fontset_from_font): Use ptrdiff_t, not - printmax_t, where ptrdiff_t is wide enough. - (Finternal_char_font): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - * frame.c (Fset_mouse_position, Fset_mouse_pixel_position) - (Fset_frame_height, Fset_frame_width, Fset_frame_size) - (Fset_frame_position, x_set_frame_parameters) - (x_set_line_spacing, x_set_border_width) - (x_set_internal_border_width, x_set_alpha, x_figure_window_size): - Check that fixnums are in proper range for system types. - (frame_name_fnn_p, Fframe_parameter, Fmodify_frame_parameters): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Fmodify_frame_parameters): Don't assume fixnum fits in int. - Use SAFE_ALLOCA_LISP, not alloca. - * frame.h (struct frame): Use intptr_t, not EMACS_INT, where - intptr_t is wide enough. - * fringe.c (lookup_fringe_bitmap, get_logical_fringe_bitmap) - (Fdefine_fringe_bitmap): Don't assume fixnum fits in int. - (Ffringe_bitmaps_at_pos): Don't assume index fits in int. - Check for fixnum out of range. - * ftfont.c (ftfont_list): Don't assume index fits in int. - Check that fixnums are in proper range for system types. - (ftfont_shape_by_flt): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - * gnutls.c (emacs_gnutls_write, emacs_gnutls_read): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Fgnutls_error_fatalp, Fgnutls_error_string, Fgnutls_boot): - Check that fixnums are in proper range for system types. - * gnutls.h: Adjust decls to match defn changes elsewhere. - * gtkutil.c (xg_dialog_run): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (update_frame_tool_bar): - Check that fixnums are in proper range for system types. - * image.c (parse_image_spec): Redo count calculation to avoid overflow. - (lookup_image): Check that fixnums are in range for system types. - * indent.c (last_known_column, last_known_column_point): - (current_column_bol_cache): - (skip_invisible, current_column, check_display_width): - (check_display_width, scan_for_column, current_column_1) - (Findent_to, Fcurrent_indentation, position_indentation) - (indented_beyond_p, Fmove_to_column, compute_motion): - (Fcompute_motion, Fvertical_motion): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (last_known_column_modified): Use EMACS_INT, not int. - (check_display_width): - (Fcompute_motion): - Check that fixnums and floats are in proper range for system types. - (compute_motion): Don't assume index or fixnum fits in int. - (compute_motion, Fcompute_motion): - Use int, not EMACS_INT, when it is wide enough. - (vmotion): Omit local var start_hpos that is always 0; that way - we don't need to worry about overflow in expressions involving it. - * indent.h: Adjust decls to match defn changes elsewhere. - (struct position): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - Use int, not EMACS_INT, where int is wide enough. - Remove unused members ovstring_chars_done and tab_offset; - all uses removed. - * insdel.c (move_gap, move_gap_both, gap_left, gap_right) - (adjust_markers_for_delete, adjust_markers_for_insert, adjust_point) - (adjust_markers_for_replace, make_gap_larger, make_gap_smaller) - (make_gap, copy_text, insert, insert_and_inherit) - (insert_before_markers, insert_before_markers_and_inherit) - (insert_1, count_combining_before, count_combining_after) - (insert_1_both, insert_from_string) - (insert_from_string_before_markers, insert_from_string_1) - (insert_from_gap, insert_from_buffer, insert_from_buffer_1) - (adjust_after_replace, adjust_after_insert, replace_range) - (replace_range_2, del_range, del_range_1, del_range_byte) - (del_range_both, del_range_2, modify_region) - (prepare_to_modify_buffer, signal_before_change) - (signal_after_change, Fcombine_after_change_execute): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - * intervals.c (traverse_intervals, rotate_right, rotate_left) - (balance_an_interval, split_interval_right, split_interval_left) - (find_interval, next_interval, update_interval) - (adjust_intervals_for_insertion, delete_node, delete_interval) - (interval_deletion_adjustment, adjust_intervals_for_deletion) - (static_offset_intervals, offset_intervals) - (merge_interval_right, merge_interval_left, make_new_interval) - (graft_intervals_into_buffer, temp_set_point_both) - (temp_set_point, set_point, adjust_for_invis_intang) - (set_point_both, move_if_not_intangible, get_property_and_range) - (get_local_map, copy_intervals, copy_intervals_to_string) - (compare_string_intervals, set_intervals_multibyte_1): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - * intervals.h: Adjust decls to match defn changes elsewhere. - (struct interval): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - * keyboard.c (this_command_key_count, this_single_command_key_start) - (before_command_key_count, before_command_echo_length, echo_now) - (echo_length, recursive_edit_1, Frecursive_edit, Ftrack_mouse) - (command_loop_1, safe_run_hooks, read_char, timer_check_2) - (menu_item_eval_property, read_key_sequence, Fread_key_sequence) - (Fread_key_sequence_vector, Fexecute_extended_command, Fsuspend_emacs): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (last_non_minibuf_size, last_point_position, echo_truncate) - (command_loop_1, adjust_point_for_property, read_char, gen_help_event) - (make_lispy_position, make_lispy_event, parse_modifiers_uncached) - (parse_modifiers, modify_event_symbol, Fexecute_extended_command) - (stuff_buffered_input): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (last_auto_save, command_loop_1, read_char): - Use EMACS_INT, not int, to avoid integer overflow. - (record_char): Avoid overflow in total_keys computation. - (parse_modifiers_uncached): Redo index calculation to avoid overflow. - * keyboard.h: Adjust decls to match defn changes elsewhere. - * keymap.c (Fdefine_key, Fcurrent_active_maps, accessible_keymaps_1) - (Fkey_description, Fdescribe_vector, Flookup_key): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (click_position): New function, to check that positions are in range. - (Fcurrent_active_maps): - (describe_command): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Faccessible_keymaps, Fkey_description): - (preferred_sequence_p): - Don't assume fixnum can fit into int. - (Fkey_description): Use SAFE_ALLOCA_LISP, not alloca. - Check for integer overflow in size calculations. - (Ftext_char_description): Use CHECK_CHARACTER, not CHECK_NUMBER, to - avoid mishandling large integers. - * lisp.h: Adjust decls to match defn changes elsewhere. - (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, struct Lisp_String) - (struct vectorlike_header, struct Lisp_Subr, struct Lisp_Hash_Table) - (struct Lisp_Marker): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (clip_to_bounds): Now an inline function, moved here from editfns.c. - (GLYPH_CODE_P): Check for overflow in system types, subsuming the - need for GLYPH_CODE_CHAR_VALID_P and doing proper checking ourselves. - All callers changed. - (GLYPH_CODE_CHAR, GLYPH_CODE_FACE): - Assume the arg has valid form, since it always does. - (TYPE_RANGED_INTEGERP): Avoid bug when checking against a wide - unsigned integer system type. - (CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER): New macros. - (struct catchtag, specpdl_size, SPECPDL_INDEX, USE_SAFE_ALLOCA): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (struct catchtag): Use EMACS_INT, not int, since it may be a fixnum. - (duration_to_sec_usec): New decl. - * lread.c (read_from_string_index, read_from_string_index_byte) - (read_from_string_limit, readchar, unreadchar, openp) - (read_internal_start, read1, oblookup): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Fload, readevalloop, Feval_buffer, Feval_region): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (openp): Check for out-of-range argument to 'access'. - (read1): Use int, not EMACS_INT, where int is wide enough. - Don't assume fixnum fits into int. - Fix off-by-one error that can read outside a buffer. - (read_filtered_event): Use duration_to_sec_usec - to do proper overflow checking on durations. - * macros.c (Fstart_kbd_macro): Use xpalloc to check for overflow - in size calculation. - (Fexecute_kbd_macro): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * marker.c (cached_charpos, cached_bytepos, CONSIDER) - (byte_char_debug_check, buf_charpos_to_bytepos, verify_bytepos) - (buf_bytepos_to_charpos, Fset_marker, set_marker_restricted) - (set_marker_both, set_marker_restricted_both, marker_position) - (marker_byte_position, Fbuffer_has_markers_at): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Fset_marker, set_marker_restricted): Don't assume fixnum fits in int. - * menu.c (ensure_menu_items): Rename from grow_menu_items. - It now merely ensures that the menu is large enough, without - necessarily growing it, as this avoids some integer overflow issues. - All callers changed. - (keymap_panes, parse_single_submenu, Fx_popup_menu): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (parse_single_submenu, Fx_popup_menu): Don't assume fixnum fits in int. - Use SAFE_ALLOCA_LISP, not alloca. - (find_and_return_menu_selection): Avoid unnecessary casts of pointers - to EMACS_INT. Check that fixnums are in proper range for system types. - * minibuf.c (minibuf_prompt_width, string_to_object) - (Fminibuffer_contents, Fminibuffer_contents_no_properties) - (Fminibuffer_completion_contents, Ftry_completion, Fall_completions): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (get_minibuffer, read_minibuf_unwind): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (read_minibuf): Omit unnecessary arg BACKUP_N, which is always nil; - this simplifies overflow checking. All callers changed. - (read_minibuf, Fread_buffer, Ftry_completion, Fall_completions) - (Ftest_completion): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * nsfns.m (check_ns_display_info): Don't assume fixnum fits in long. - (x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_create_frame): - Check that fixnums are in proper range for system types. - (Fx_create_frame, Fx_show_tip): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * nsfont.m (ns_findfonts, nsfont_list_family): - Don't assume fixnum fits in long. - * nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (ns_update_menubar): Use intptr_t, not EMACS_INT, when intptr_t is - wide enough. - * nsselect.m (ns_get_local_selection, clean_local_selection_data): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * print.c (print_buffer_size, print_buffer_pos, print_buffer_pos_byte) - (PRINTDECLARE, PRINTPREPARE): - (strout, print_string): - (print, print_preprocess, print_check_string_charset_prop) - (print_object): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (PRINTDECLARE): - (temp_output_buffer_setup, Fprin1_to_string, print_object): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (PRINTPREPARE): Use int, not ptrdiff_t, where int is wide enough. - (printchar, strout): Use xpalloc to catch size calculation overflow. - (Fexternal_debugging_output): Don't overflow EMACS_INT->int conversion. - (print_error_message): Use SAFE_ALLOCA, not alloca. - (print_object): Use int, not EMACS_INT, where int is wide enough. - (print_depth, new_backquote_output, print_number_index): - Use ptrdiff_t, not int, where int might not be wide enough. - * process.c (Fdelete_process): Don't assume pid fits into EMACS_INT. - (Fset_process_window_size, Fformat_network_address) - (get_lisp_to_sockaddr_size, set_socket_option, Fmake_network_process) - (sigchld_handler): - Check that fixnums are in proper range for system types. - (Fsignal_process): Simplify by avoiding a goto. - Check for process-ids out of pid_t range rather than relying on - undefined behavior. - (process_tick, update_tick): Use EMACS_INT, not int. - (Fformat_network_address, read_process_output, send_process) - (Fprocess_send_region, status_notify): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Fformat_network_address, Fmake_serial_process, Fmake_network_process) - (wait_reading_process_output, read_process_output, exec_sentinel): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (conv_lisp_to_sockaddr): Don't assume fixnums fit into int. - (Faccept_process_output): Use duration_to_sec_usec to do proper - overflow checking on durations. - (emacs_get_tty_pgrp, Fprocess_running_child_p, process_send_signal): - Don't assume pid_t fits in int. - * process.h (struct Lisp_Process): Members tick and update_tick - are now of type EMACS_INT, not int. - * puresize.h (PURESIZE_RATIO): Shrink this to 8/6 on 32-bit hosts - configured --with-wide-int. - * scroll.c (calculate_scrolling, calculate_direct_scrolling) - (line_ins_del): Use int, not EMACS_INT, where int is wide enough. - * search.c (looking_at_1, string_match_1): - (fast_string_match, fast_c_string_match_ignore_case) - (fast_string_match_ignore_case, fast_looking_at, scan_buffer) - (scan_newline, find_before_next_newline, search_command) - (trivial_regexp_p, search_buffer, simple_search, boyer_moore) - (set_search_regs, wordify): - (Freplace_match): - (Fmatch_data): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (string_match_1, search_buffer, set_search_regs): - (Fmatch_data): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (wordify): Check for overflow in size calculation. - (Freplace_match): Avoid potential buffer overflow in search_regs.start. - (Fset_match_data): Don't assume fixnum fits in ptrdiff_t. - Check that fixnums are in proper range for system types. - * sound.c (struct sound_device) - (wav_play, au_play, vox_write, alsa_period_size, alsa_write): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Fplay_sound_internal): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * syntax.c (struct lisp_parse_state, find_start_modiff) - (Finternal_describe_syntax_value, scan_lists, scan_sexps_forward): - (Fparse_partial_sexp): - Don't assume fixnums can fit in int. - (struct lisp_parse_state, find_start_pos, find_start_value) - (find_start_value_byte, find_start_begv) - (update_syntax_table, char_quoted, dec_bytepos) - (find_defun_start, prev_char_comend_first, back_comment): - (scan_words, skip_chars, skip_syntaxes, forw_comment, Fforward_comment) - (scan_lists, Fbackward_prefix_chars, scan_sexps_forward): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Finternal_describe_syntax_value): Check that match_lisp is a - character, not an integer, since the code stuffs it into int. - (scan_words, scan_sexps_forward): - Check that fixnums are in proper range for system types. - (Fforward_word): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (scan_sexps_forward): - Use CHARACTERP, not INTEGERP, since the value must fit into int. - (Fparse_partial_sexp): Fix doc; element 8 is not ignored. - * syntax.h: Adjust decls to match defn changes elsewhere. - (struct gl_state_s): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (SETUP_SYNTAX_TABLE_FOR_OBJECT): Use PTRDIFF_MAX, not - MOST_POSITIVE_FIXNUM. - * sysdep.c (wait_for_termination_1, wait_for_termination) - (interruptible_wait_for_termination, mkdir): - Don't assume pid_t fits in int; on 64-bit AIX pid_t is 64-bit. - (emacs_read, emacs_write): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (system_process_attributes): Don't assume uid_t, gid_t, EMACS_INT, - and double all fit in int. - * term.c (set_tty_color_mode): - Check that fixnums are in proper range for system types. - * termhooks.h (struct input_event): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - * textprop.c (validate_interval_range, interval_of) - (Fadd_text_properties, set_text_properties_1) - (Fremove_text_properties, Fremove_list_of_text_properties) - (Ftext_property_any, Ftext_property_not_all) - (copy_text_properties, text_property_list, extend_property_ranges) - (verify_interval_modification): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Fnext_single_char_property_change) - (Fprevious_single_char_property_change): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (copy_text_properties): - Check for integer overflow in index calculation. - * undo.c (last_boundary_position, record_point, record_insert) - (record_delete, record_marker_adjustment, record_change) - (record_property_change): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (truncate_undo_list, Fprimitive_undo): Don't assume fixnum fits in int. - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * w32fns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip) - (Fx_hide_tip, Fx_file_dialog): - * w32menu.c (set_frame_menubar): - Use ptrdiff_t, not int, for consistency with rest of code. - * window.c (window_scroll_preserve_hpos, window_scroll_preserve_vpos) - (select_window, Fdelete_other_windows_internal) - (window_scroll_pixel_based, window_scroll_line_based) - (Frecenter, Fset_window_configuration): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (Fset_window_hscroll, run_window_configuration_change_hook) - (set_window_buffer, temp_output_buffer_show, scroll_command) - (Fscroll_other_window, Frecenter): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (Fwindow_line_height, window_scroll, Fscroll_left, Fscroll_right): - Don't assume fixnum fits in int. - (Fset_window_scroll_bars): - Check that fixnums are in proper range for system types. - * xdisp.c (help_echo_pos, pos_visible_p, string_pos_nchars_ahead) - (string_pos, c_string_pos, number_of_chars, init_iterator) - (in_ellipses_for_invisible_text_p, init_from_display_pos) - (compute_stop_pos, next_overlay_change, compute_display_string_pos) - (compute_display_string_end, handle_face_prop) - (face_before_or_after_it_pos, handle_invisible_prop) - (handle_display_prop, handle_display_spec, handle_single_display_spec) - (display_prop_intangible_p, string_buffer_position_lim) - (string_buffer_position, handle_composition_prop, load_overlay_strings) - (get_overlay_strings_1, get_overlay_strings) - (iterate_out_of_display_property, forward_to_next_line_start) - (back_to_previous_visible_line_start, reseat, reseat_to_string) - (get_next_display_element, set_iterator_to_next) - (get_visually_first_element, compute_stop_pos_backwards) - (handle_stop_backwards, next_element_from_buffer) - (move_it_in_display_line_to, move_it_in_display_line) - (move_it_to, move_it_vertically_backward, move_it_by_lines) - (add_to_log, message_dolog, message_log_check_duplicate) - (message2, message2_nolog, message3, message3_nolog - (with_echo_area_buffer, display_echo_area_1, resize_mini_window_1) - (current_message_1, truncate_echo_area, truncate_message_1) - (set_message, set_message_1, store_mode_line_noprop) - (hscroll_window_tree, debug_delta, debug_delta_bytes, debug_end_vpos) - (text_outside_line_unchanged_p, check_point_in_composition) - (reconsider_clip_changes) - (redisplay_internal, set_cursor_from_row, try_scrolling) - (try_cursor_movement, set_vertical_scroll_bar, redisplay_window) - (redisplay_window, find_last_unchanged_at_beg_row) - (find_first_unchanged_at_end_row, row_containing_pos, try_window_id) - (trailing_whitespace_p, find_row_edges, display_line) - (RECORD_MAX_MIN_POS, Fcurrent_bidi_paragraph_direction) - (display_mode_element, store_mode_line_string) - (pint2str, pint2hrstr, decode_mode_spec) - (display_count_lines, display_string, draw_glyphs) - (x_produce_glyphs, x_insert_glyphs) - (rows_from_pos_range, mouse_face_from_buffer_pos) - (fast_find_string_pos, mouse_face_from_string_pos) - (note_mode_line_or_margin_highlight, note_mouse_highlight): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (safe_call, init_from_display_pos, handle_fontified_prop) - (handle_single_display_spec, load_overlay_strings) - (with_echo_area_buffer, setup_echo_area_for_printing) - (display_echo_area, echo_area_display) - (x_consider_frame_title, prepare_menu_bars, update_menu_bar) - (update_tool_bar, hscroll_window_tree, redisplay_internal) - (redisplay_window, dump_glyph_row, display_mode_line) - (Fformat_mode_line, decode_mode_spec, on_hot_spot_p): - (handle_display_spec, display_prop_string_p): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (handle_single_display_spec, build_desired_tool_bar_string) - (redisplay_tool_bar, scroll_window_tree, Fdump_glyph_matrix) - (get_specified_cursor_type): - Check that fixnums are in proper range for system types. - (struct overlay_entry, resize_mini_window, Fdump_glyph_row) - (Flookup_image_map): - Don't assume fixnums fit in int. - (compare_overlay_entries): - Avoid mishandling comparisons due to subtraction overflow. - (load_overlay_strings): Use SAFE_NALLOCA, not alloca. - (last_escape_glyph_face_id, last_glyphless_glyph_face_id): - (handle_tool_bar_click): - Use int, not unsigned, since we prefer signed and the signedness - doesn't matter here. - (get_next_display_element, next_element_from_display_vector): - Use int, not EMACS_INT, when int is wide enough. - (start_hourglass): Use duration_to_sec_usec to do proper - overflow checking on durations. - * xfaces.c (Fbitmap_spec_p): - Check that fixnums are in proper range for system types. - (compare_fonts_by_sort_order): - Avoid mishandling comparisons due to subtraction overflow. - (Fx_family_fonts, realize_basic_faces): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (Fx_family_fonts): - Don't assume fixnum fits in int. - Use SAFE_ALLOCA_LISP, not alloca. - (merge_face_heights): Remove unnecessary cast to EMACS_INT. - (Finternal_make_lisp_face): Don't allocate more than MAX_FACE_ID. - (face_at_buffer_position, face_for_overlay_string) - (face_at_string_position): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - (merge_faces): Use int, not EMACS_INT, where int is wide enough. - * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, x_icon_verify) - (Fx_show_tip): - Check that fixnums are in proper range for system types. - (Fx_create_frame, x_create_tip_frame, Fx_show_tip) - (Fx_hide_tip, Fx_file_dialog, Fx_select_font): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (Fx_change_window_property): Don't assume fixnums fit in int. - * xfont.c (xfont_chars_supported): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * xmenu.c (Fx_popup_dialog, set_frame_menubar) - (create_and_show_popup_menu, create_and_show_dialog, xmenu_show): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * xml.c (parse_region): - * xrdb.c (magic_file_p): - Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. - * xselect.c (TRACE1): Don't assume pid_t promotes to int. - (x_get_local_selection, x_reply_selection_request) - (x_handle_selection_request, wait_for_property_change): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - (selection_data_to_lisp_data): Use short, not EMACS_INT, where - short is wide enough. - (x_send_client_event): Don't assume fixnum fits in int. - * xterm.c (x_x_to_emacs_modifiers): - Don't assume EMACS_INT overflows nicely into int. - (x_emacs_to_x_modifiers): Use EMACS_INT, not int, because values - may come from Lisp. - (handle_one_xevent): NATNUMP can eval its arg twice. - (x_connection_closed): - Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. - * xterm.h: Adjust decls to match defn changes elsewhere. - (struct scroll_bar): Use struct vectorlike_header - rather than rolling our own approximation. - (SCROLL_BAR_VEC_SIZE): Remove; not used. - -2012-05-25 Glenn Morris - - * lisp.mk (lisp): Update for more files being compiled now. - -2012-05-25 Stefan Monnier - - * lread.c: Remove `read_pure' which makes no difference. - (read_pure): Remove var. - (unreadpure): Remove function. - (readevalloop): Don't call read_list with -1 flag. - (read1, read_vector): Don't test read_pure any more. - (read_list): Simplify. - - * fileio.c, character.h: Minor style tweaks. - -2012-05-24 Dmitry Antipov - - * window.h (clip_changed): Remove useless declaration. - -2012-05-22 Juanma Barranquero - - * makefile.w32-in: Follow-up to 2012-05-22T16:20:27Z!eggert@cs.ucla.edu. - (TAGS, TAGS-gmake, CONFIG_H): Remove further references to m/intel386.h. - -2012-05-22 Paul Eggert - - Remove src/m/*. - This directory predates autoconf and is no longer needed nowadays. - Move its few remaining bits of functionality to where they're needed. - * m/README, m/alpha.h, m/amdx86-64.h, m/ia64.h, m/ibmrs6000.h: - * m/ibms390x.h, m/intel386.h, m/m68k.h, m/macppc.h, m/sparc.h: - * m/template.h: Remove. - * Makefile.in (M_FILE): Remove. All uses removed. - * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): - * lisp.h (USE_LSB_TAG): - * mem-limits.h (EXCEEDS_LISP_PTR): - Use VAL_MAX, not VALBITS, in #if. - * lisp.h (EMACS_INT_MAX): New macro, useful in #if. - (EMACS_UINT): Define unconditionally now. - (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG) - (BITS_PER_EMACS_INT): New constants, replacing - what used to be in config.h, but not useful in #if. - (GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't - define them any more. - (VAL_MAX): New macro. - (VALMASK): Use it. - * puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not - BITS_PER_EMACS_INT, in #if. - * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY) - (BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed. - * s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]: - * s/ms-w32.h (DATA_START): - Move here from removed file m/intel386.h. - * s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this. - * s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this. - -2012-05-21 Paul Eggert - - Assume C89 or later. - * alloc.c, buffer.c, lisp.h: Replace POINTER_TYPE with void. - * alloc.c (overrun_check_malloc, overrun_check_realloc, xmalloc) - (xrealloc): - * buffer.c (mmap_free_1, mmap_enlarge): Omit needless casts. - * editfns.c, fns.c, gmalloc.c, insdel.c, sysdep.c, termcap.c (NULL): - * textprop.c, tparam.c (NULL): Remove. - * ralloc.c, vm-limit.c (POINTER): Assume void * works. - * regex.c (SIGN_EXTEND_CHAR): Assume signed char works. - * regex.h (_RE_ARGS): Remove. All uses rewritten to use prototypes. - * unexelf.c (ElfBitsW): Assume c89 preprocessor or better. - * xterm.c (input_signal_count): Assume volatile works. - -2012-05-21 Ken Brown - - * xgselect.c (xg_select): Fix first argument in call to 'select' - (bug#11508). - -2012-05-20 Ken Brown - - * gmalloc.c (_free_internal_nolock, _realloc_internal_nolock) - [CYGWIN]: Cast ptr to (char *) before comparing to _heapbase. - -2012-05-19 Ken Brown - - * xfns.c (x_in_use): Remove `static' qualifier. - * xterm.h (x_in_use): Declare. - * xgselect.c: Include xterm.h. - (xg_select): Test `x_in_use' instead of `inhibit_window_system' - and `display_arg' (bug#9754). - -2012-05-19 Paul Eggert - - * s/ms-w32.h (HAVE_GETDOMAINNAME): Remove; not needed. - - * m/vax.h: Remove; no longer needed since HAVE_FTIME is being removed. - * s/ms-w32.h (HAVE_FTIME): Remove; not needed. - -2012-05-18 Eli Zaretskii - - Fix compilation with -DGLYPH_DEBUG=1 on MS-Windows. - - * w32term.c [GLYPH_DEBUG]: Add prototype for x_check_font. - (x_check_font) [GLYPH_DEBUG]: New function, copied from xterm.c. - - * w32fns.c (unwind_create_frame) [GLYPH_DEBUG]: Fix broken - reference to image_cache->refcount. - (x_create_tip_frame): Fix broken use of FRAME_IMAGE_CACHE. - -2012-05-17 Juri Linkov - - * search.c (Fword_search_regexp, Fword_search_backward) - (Fword_search_forward, Fword_search_backward_lax) - (Fword_search_forward_lax): Move functions to isearch.el - (bug#10145, bug#11381). - -2012-05-16 Paul Eggert - - * xgselect.c (xg_select): Just invoke 'select' if -nw (Bug#9754). - -2012-05-15 Stefan Monnier - - * lread.c (init_obarray): Declare Qt and Qnil as special. - -2012-05-14 Glenn Morris - - * nsterm.m (ns_init_paths): Fix typo ("libexec" not "lib-exec"). - Put "libexec" before "bin", for the sake of init_callproc_1. - -2012-05-14 Paul Eggert - - * keyboard.c (kbd_buffer_get_event) [!HAVE_DBUS]: Omit unused local. - - * unexaix.c: Port to more-recent AIX compilers. - (report_error, report_error_1, make_hdr, copy_sym) - (mark_x, adjust_lnnoptrs, unrelocate_symbols): - Make arguments const char *, not char *, to avoid violations of C - standard and to fix some AIX warnings reported by Gilles Pion. - -2012-05-14 Eli Zaretskii - - * xdisp.c (handle_stop): Don't call get_overlay_strings_1 if we - already have overlays loaded. - (handle_single_display_spec): Before returning without displaying - fringe bitmap, synchronize the bidi iterator with the main display - iterator, by calling iterate_out_of_display_property. - (iterate_out_of_display_property): Detect buffer iteration by - testing that it->string is a Lisp string. - (get_next_display_element): When the current object is exhausted, - and there's something on it->stack, call set_iterator_to_next to - proceed with what's on the stack, instead of returning zero. - (set_iterator_to_next): If called at the end of a Lisp string, - proceed to consider_string_end without incrementing string - position. Don't increment display vector index past the end of - the display vector. (Bug#11417) - (pos_visible_p): Don't report a position visible when move_it_to - stopped at the last line of window, which happens to be scanned - backwards by the bidi iteration. (Bug#11464) - -2012-05-14 Eli Zaretskii - - * xdisp.c (handle_single_display_spec): Return 1 for left-margin - and right-margin display specs even if the spec is invalid or we - are on a TTY, and thus unable to display on the fringes. - That's because the text with the property will not be displayed anyway, - so we need to signal to the caller that this is a "replacing" - display spec. This fixes display when the spec is invalid or we - are on a TTY. - -2012-05-14 Paul Eggert - - * unexaix.c (make_hdr): Fix typo in prototype. - This bug broke the build on AIX. Problem reported by Gilles Pion. - -2012-05-14 Michael Albinus - - * keyboard.c (kbd_buffer_get_event): Read special events also in - batch mode. (Bug#11415) - -2012-05-12 Glenn Morris - - * ns.mk: Update for ns_appbindir no longer having trailing "/". - -2012-05-12 Eli Zaretskii - - * lisp.mk (lisp): Add newcomment.elc. - -2012-05-12 Glenn Morris - - * Makefile.in (MKDIR_P): New, set by configure. - * ns.mk (${ns_appdir}, ${ns_appbindir}Emacs): Use $MKDIR_P. - -2012-05-11 Paul Eggert - - Remove unused function hourglass_started. - * dispextern.h (hourglass_started): - * w32fns.c (hourglass_started): - * xdisp.c (hourglass_started): Remove. - -2012-05-10 Juanma Barranquero - - * makefile.w32-in ($(BLD)/gmalloc.$(O), $(BLD)/w32menu.$(O)): - Update dependencies. - -2012-05-10 Paul Eggert - - * xgselect.c (xg_select): Put maxfds+1 into a var. - This is slightly clearer, and pacifies Ubuntu 12.04 gcc. - - * sound.c (DEFAULT_ALSA_SOUND_DEVICE): Define only if HAVE_ALSA. - -2012-05-10 Dave Abrahams - - * filelock.c (syms_of_filelock): New boolean create-lockfiles. - (lock_file): If create_lockfiles is 0, do nothing. (Bug#11227) - -2012-05-09 Michael Albinus - - * dbusbind.c (xd_registered_buses): New internal Lisp object. - Rename all occurrences of Vdbus_registered_buses to xd_registered_buses. - (syms_of_dbusbind): Remove declaration of Vdbus_registered_buses. - Initialize xd_registered_buses. - -2012-05-09 Paul Eggert - - Untag more efficiently if USE_LSB_TAG. - This is based on a proposal by YAMAMOTO Mitsuharu in - . - For an admittedly artificial (nth 8000 longlist) benchmark on - Fedora 15 x86-64, this yields a 25% CPU speedup. Also, it shrinks - Emacs's overall text size by 1%. - * lisp.h (XUNTAG): New macro. - (XCONS, XVECTOR, XSTRING, XSYMBOL, XFLOAT, XMISC, XPROCESS, XWINDOW) - (XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE, XSUB_CHAR_TABLE, XBOOL_VECTOR) - (XSETTYPED_PSEUDOVECTOR, XHASH_TABLE, TYPED_PSEUDOVECTORP): Use it. - * eval.c (Fautoload): - * font.h (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT): - * frame.h (XFRAME): Use XUNTAG. - - Port recent dbusbind.c changes to 32-bit --with-wide-int. - * dbusbind.c (xd_append_arg, xd_retrieve_arg, Fdbus_message_internal): - Remove unportable assumptions about print widths of types like - dbus_uint32_t. - (xd_get_connection_address, Fdbus_init_bus): Cast Emacs integer to - intptr_t when converting between pointer and integer, to avoid GCC - warnings about wrong width. - -2012-05-09 Eli Zaretskii - - * w32proc.c (new_child): Force Windows to reserve only 64KB of - stack for each reader_thread, instead of defaulting to 8MB - determined by the linker. This avoids failures in creating - subprocesses on Windows 7, see the discussion in this thread: - http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00119.html. - -2012-05-07 Jérémy Compostella - - Fix up display of the *Minibuf-0* buffer in the mini window. - * keyboard.c (read_char): Don't clear the echo area if there's no - message to clear. - * xdisp.c (redisplay_internal): Redisplay the mini window (with the - contents of *Minibuf-0*) if there's no message displayed in its stead. - -2012-05-07 Michael Albinus - - * dbusbind.c (XD_DEBUG_MESSAGE): Don't print message twice in - batch mode. - -2012-05-06 Chong Yidong - - * lisp.mk (lisp): Update. - -2012-05-05 Jim Meyering - - * w32font.c (fill_in_logfont): NUL-terminate a string (Bug#11372). - -2012-05-04 Stefan Monnier - - * data.c (PUT_ERROR): New macro. - (syms_of_data): Use it. Add new error type `user-error'. - * undo.c (user_error): New function. - (Fprimitive_undo): Use it. - * print.c (print_error_message): Adjust print style for `user-error'. - * keyboard.c (user_error): New function. - (Fexit_recursive_edit, Fabort_recursive_edit): Use it. - -2012-05-03 Paul Eggert - - Do not limit current-time-string to years 1000..9999. - * editfns.c (TM_YEAR_IN_ASCTIME_RANGE): Remove. - (Fcurrent_time_string): Support any year that is supported by the - underlying localtime representation. Don't use asctime, as it - has undefined behavior for years outside the range -999..9999. - -2012-05-02 Paul Eggert - - Fix race conditions involving setenv, gmtime, localtime, asctime. - Without this fix, interrupts could mess up code that uses these - nonreentrant functions, since setting TZ invalidates existing - tm_zone or tzname values, and since most of these functions return - pointers to static storage. - * editfns.c (format_time_string, Fdecode_time, Fencode_time) - (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule): - Grow the critical sections to include not just invoking - localtime/gmtime, but also accessing these functions' results - including their tm_zone values if any, and any related TZ setting. - (format_time_string): Last arg is now struct tm *, not struct tm **, - so that the struct tm is saved in the critical section. - All callers changed. Simplify allocation of initial buffer, partly - motivated by the fact that memory allocation needs to be outside - the critical section. - -2012-05-02 Dmitry Antipov - - * intervals.c (adjust_intervals_for_insertion): Initialize `newi' - with RESET_INTERVAL. - - * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): - Remove duplicated buffer name initialization. - -2012-05-02 Jim Meyering - - * xterm.c (x_term_init): Use memcpy instead of strncpy (Bug#11373). - - * xfns.c (x_window): Use xstrdup (Bug#11375). - -2012-05-02 Eli Zaretskii - - * xdisp.c (pos_visible_p): If already at a newline from the - display string before the 'while' loop, don't walk back the glyphs - from it3.glyph_row. Solves assertion violation when the display - string begins with a newline (egg.el). (Bug#11367) - -2012-05-01 Stefan Monnier - - * keyboard.c (Fexecute_extended_command, Vsuggest_key_bindings): - Move to simple.el. - -2012-05-01 Glenn Morris - - * syssignal.h: Remove reference to BROKEN_SIGINFO (last used in - s/ptx4.h), BROKEN_SIGTSTP (last used in m/ustation.h, m/dpx2.h), - and BROKEN_SIGURG (was in s/gnu-linux.h prior to 2008-02-10). - All were removed before 23.1. - - * dispnew.c: Remove HAVE_LIBNCURSES test; - it is always true on relevant platforms. - - * Makefile.in (LD_SWITCH_X_SITE_RPATH): - Rename from LD_SWITCH_X_SITE_AUX_RPATH. - - * Makefile.in (LD_SWITCH_X_SITE_AUX): Remove; no longer used. - -2012-04-30 Andreas Schwab - - * .gdbinit (xpr): Remove checks for no longer existing misc types. - (xintfwd, xboolfwd, xobjfwd, xbufobjfwd, xkbobjfwd, xbuflocal): - Remove. - -2012-04-28 Paul Eggert - - Do not avoid creating empty evaporating overlays (Bug#9642). - * buffer.c (Fmove_overlay): Revert the change of 2012-04-23. - That is, do not delete an evaporating overlay if it becomes - empty after its bounds are adjusted to fit within its buffer. - This fix caused other problems, and I'm reverting it until we get - to the bottom of them. - -2012-04-27 Chong Yidong - - * xselect.c (x_convert_selection): Initialize a pointer (Bug#11315). - -2012-04-27 Eli Zaretskii - - * xdisp.c (pos_visible_p): If the window start position is beyond - ZV, start the display from buffer beginning. Prevents assertion - violation in init_iterator when the minibuffer window is scrolled - via the scroll bar. - - * window.c (window_scroll_pixel_based): Likewise. - -2012-04-27 Chong Yidong - - * keymap.c (where_is_internal): Doc fix (Bug#10872). - -2012-04-27 Glenn Morris - - * fileio.c (Fcopy_file, Fset_file_selinux_context): - Ignore ENOTSUP failures from setfilecon functions. (Bug#11245) - -2012-04-27 Eli Zaretskii - - * dispnew.c (swap_glyph_pointers, copy_row_except_pointers): - Don't overrun array limits of glyph row's used[] array. (Bug#11288) - -2012-04-26 Eli Zaretskii - - * xdisp.c (IT_DISPLAYING_WHITESPACE): In addition to the loaded - display element, check also the underlying string or buffer - character. (Bug#11341) - - * w32menu.c: Include w32heap.h. - (add_menu_item): If the call to AppendMenuW (via - unicode_append_menu) fails, disable Unicode menus only if we are - running on Windows 9X/Me. - -2012-04-24 Andreas Schwab - - * .gdbinit (xpr): Handle USE_2_TAGS_FOR_INTS. - (xgetint): Add missing shift for LSB tags. - -2012-04-24 Martin Rudalics - - * keyboard.c (read_char): Don't wipe echo area for select window - events: These might get delayed via `mouse-autoselect-window' - (Bug#11304). - -2012-04-24 Juanma Barranquero - - * gnutls.c (init_gnutls_functions): Protect against (unlikely) - manipulation of :loaded-from data. - -2012-04-23 Juanma Barranquero - - * gnutls.c (init_gnutls_functions): The value of :loaded-from is - now a cons (bug#11311). - -2012-04-23 Paul Eggert - - Do not create empty overlays with the evaporate property (Bug#9642). - * buffer.c (Fmove_overlay): Delete an evaporating overlay - if it becomes empty after its bounds are adjusted to fit within - its buffer. Without this fix, in a nonempty buffer (let ((o - (make-overlay 1 2))) (overlay-put o 'evaporate t) (move-overlay o 0 1)) - yields an empty overlay that has the evaporate property, which is - not supposed to happen. - - Fix minor GTK3 problems found by static checking. - * emacsgtkfixed.c (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed) - (EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed) - (struct _EmacsFixedClass, emacs_fixed_get_type): - Move decls here from emacsgtkfixed.h, since they needn't be public. - (emacs_fixed_get_type): Now static. - (emacs_fixed_class_init): Omit unused local. - (emacs_fixed_child_type): Remove; unused. - * emacsgtkfixed.h (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed) - (EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed) - (struct _EmacsFixedClass): Move to emacsgtkfixed.c. - (EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS) - (EMACS_FIXED_GET_CLASS): Remove; unused. - * gtkutil.c (xg_create_frame_widgets) [!HAVE_GTK3]: Omit unused local. - - * keyboard.c (handle_async_input): Define only if SYNC_INPUT || SIGIO. - Problem reported by Juanma Barranquero for Windows -Wunused-function. - -2012-04-22 Paul Eggert - - Modernize and clean up gmalloc.c to assume C89 (Bug#9119). - * gmalloc.c (_MALLOC_INTERNAL, _MALLOC_H, _PP, __ptr_t) - (__malloc_size_t, __malloc_ptrdiff_t): - Remove. All uses removed, replaced by the definiens if needed, - since we can assume C89 or better now. - Include , for PTRDIFF_MAX, uintptr_t. - (protect_malloc_state, align, get_contiguous_space) - (malloc_atfork_handler_prepare, malloc_atfork_handler_parent) - (malloc_atfork_handler_child, malloc_enable_thread) - (malloc_initialize_1, __malloc_initialize, morecore_nolock) - (_malloc_internal_nolock, _malloc_internal, malloc, _malloc) - (_free, _realloc, _free_internal_nolock, _free_internal, free, cfree) - (special_realloc, _realloc_internal_nolock, _realloc_internal) - (realloc, calloc, __default_morecore, memalign, valloc, checkhdr) - (freehook, mallochook, reallochook, mabort, mcheck, mprobe): - Define using prototypes, not old style. - (align, _malloc_internal_nolock, _free_internal_nolock, memalign): - Don't assume ptrdiff_t and uintptr_t are no wider than unsigned long. - (align): Don't assume that signed integer overflow wraps around. - Omit unused local var. - (malloc_initialize_1, morecore_nolock, _malloc_internal_nolock) - (_free_internal_nolock, memalign, mallochook, reallochook): - Omit no-longer-needed casts. - (valloc): Use getpagesize, not __getpagesize. - (MAGICWORD, MAGICFREE): Now randomish size_t values, not 32-bit. - (struct hdr): The 'magic' member is now size_t, not unsigned long. - - * dbusbind.c (XD_DBUS_VALIDATE_OBJECT): Define only if needed. - -2012-04-22 Michael Albinus - - Move functions from C to Lisp. Make non-blocking method calls - the default. Implement further D-Bus standard interfaces. - - * dbusbind.c (DBUS_NUM_MESSAGE_TYPES): Declare. - (QCdbus_request_name_allow_replacement) - (QCdbus_request_name_replace_existing) - (QCdbus_request_name_do_not_queue) - (QCdbus_request_name_reply_primary_owner) - (QCdbus_request_name_reply_in_queue) - (QCdbus_request_name_reply_exists) - (QCdbus_request_name_reply_already_owner): Move to dbus.el. - (QCdbus_registered_serial, QCdbus_registered_method) - (QCdbus_registered_signal): New Lisp objects. - (XD_DEBUG_MESSAGE): Use sizeof. - (XD_MESSAGE_TYPE_TO_STRING, XD_OBJECT_TO_STRING) - (XD_DBUS_VALIDATE_BUS_ADDRESS, XD_DBUS_VALIDATE_OBJECT) - (XD_DBUS_VALIDATE_BUS_NAME, XD_DBUS_VALIDATE_PATH) - (XD_DBUS_VALIDATE_INTERFACE, XD_DBUS_VALIDATE_MEMBER): New macros. - (XD_CHECK_DBUS_SERIAL): Rename from CHECK_DBUS_SERIAL_GET_SERIAL. - (xd_signature, xd_append_arg): Allow float for integer types. - (xd_get_connection_references): New function. - (xd_get_connection_address): Rename from xd_initialize. - Return cached address. - (xd_remove_watch): Do not unset $DBUS_SESSION_BUS_ADDRESS. - (xd_close_bus): Rename from Fdbus_close_bus. Not needed on Lisp - level. - (Fdbus_init_bus): New optional arg PRIVATE. Cache address. - Return number of refcounts. - (Fdbus_get_unique_name): Make stronger parameter check. - (Fdbus_message_internal): New defun. - (Fdbus_call_method, Fdbus_call_method_asynchronously) - (Fdbus_method_return_internal, Fdbus_method_error_internal) - (Fdbus_send_signal, Fdbus_register_service) - (Fdbus_register_signal, Fdbus_register_method): Move to dbus.el. - (xd_read_message_1): Obey new structure of Vdbus_registered_objects. - (xd_read_queued_messages): Obey new structure of Vdbus_registered_buses. - (Vdbus_compiled_version, Vdbus_runtime_version) - (Vdbus_message_type_invalid, Vdbus_message_type_method_call) - (Vdbus_message_type_method_return, Vdbus_message_type_error) - (Vdbus_message_type_signal): New defvars. - (Vdbus_registered_buses, Vdbus_registered_objects_table): - Adapt docstring. - -2012-04-22 Paul Eggert - - Fix GC_MALLOC_CHECK debugging output on 64-bit hosts. - * alloc.c (emacs_blocked_malloc) [GC_MALLOC_CHECK]: - Do not assume ptrdiff_t is the same width as 'int'. - - * alloc.c: Handle unusual debugging option combinations. - (GC_CHECK_MARKED_OBJECTS): Undef if ! GC_MARK_STACK, - since the two debugging options are incompatible. - (GC_MALLOC_CHECK): Similarly, undef if GC_CHECK_MARKED_OBJECTS - is defined. - (mem_init, mem_insert, mem_insert_fixup): - Define if GC_MARK_STACK || GC_MALLOC_CHECK. - (NEED_MEM_INSERT): Remove; no longer needed. - -2012-04-22 Leo Liu - - * sysdep.c (list_system_processes): Support Darwin (Bug#5725). - -2012-04-22 Paul Eggert - - * sysdep.c [__FreeBSD__]: Minor cleanups. - (list_system_processes, system_process_attributes) [__FreeBSD__]: - Use Emacs indenting style more consistently. Avoid some casts. - Use 'double' consistently rather than mixing 'float' and 'double'. - -2012-04-21 Eduard Wiebe - - * sysdep.c (list_system_processes, system_process_attributes): - Add implementation for FreeBSD (Bug#5243). - -2012-04-21 Andreas Schwab - - * lisp.mk (lisp): Update. - -2012-04-20 Paul Eggert - - * keyboard.c (process_pending_signals): Define only if SYNC_INPUT. - It is never used otherwise. - -2012-04-20 Stefan Monnier - - * print.c (print_preprocess): Only check print_depth if print-circle - is nil. - (print_object): Check for cycles even when print-circle is nil and - print-gensym is t, but only check print_depth if print-circle is nil. - -2012-04-20 Chong Yidong - - * process.c (wait_reading_process_output): If EIO occurs on a pty, - set the status to "failed" and ensure that sentinel is run. - -2012-04-20 Glenn Morris - - * process.c (Fset_process_inherit_coding_system_flag) - (Fset_process_query_on_exit_flag): Doc fix (mention return value). - (Fmake_network_process, Fmake_serial_process): Doc fix. - -2012-04-20 Eli Zaretskii - - * xdisp.c (string_buffer_position_lim): Limit starting position to - BEGV. - (set_cursor_from_row): If called for a mode-line or header-line - row, return zero immediately. - (try_cursor_movement): If inside continuation line, don't back up - farther than the first row after the header line, if any. - Don't consider the header-line row as "partially visible", even if - MATRIX_ROW_PARTIALLY_VISIBLE_P returns non-zero. (Bug#11261) - -2012-04-20 Atsuo Ohki (tiny change) - - * lread.c (lisp_file_lexically_bound_p): Fix hang at ";-*-\n" - (bug#11238). - -2012-04-20 Teodor Zlatanov -2012-04-18 Paul Eggert - - configure: new option --enable-gcc-warnings (Bug#11207) - * Makefile.in (C_WARNINGS_SWITCH): Remove. - (WARN_CFLAGS, WERROR_CFLAGS): New macros. - (ALL_CFLAGS): Use new macros rather than old. - * process.c: Ignore -Wstrict-overflow to work around GCC bug 52904. - * regex.c: Ignore -Wstrict-overflow. If !emacs, also ignore - -Wunused-but-set-variable, -Wunused-function, -Wunused-macros, - -Wunused-result, -Wunused-variable. This should go away once - the Emacs and Gnulib regex code is merged. - (xmalloc, xrealloc): Now static. - -2012-04-17 Paul Eggert - - * dired.c (Fsystem_groups): Remove unused local. - -2012-04-17 Glenn Morris - - * dired.c (Fsystem_users): Doc fix. - -2012-04-17 Dmitry Antipov - - * dired.c (Fsystem_users, Fsystem_groups): New functions. (Bug#7900) - (syms_of_dired): Add them. - -2012-04-16 Paul Eggert - - Fix minor alloc.c problems found by static checking. - * alloc.c (_malloc_internal, _free_internal) [!DOUG_LEA_MALLOC]: - New extern decls, to avoid calling undeclared functions. - (dont_register_blocks): Define if ((!SYSTEM_MALLOC && !SYNC_INPUT) - && GC_MALLOC_CHECK), not if ((GC_MARK_STACK || defined - GC_MALLOC_CHECK) && GC_MALLOC_CHECK), to match when it's used. - (NEED_MEM_INSERT): New macro. - (mem_insert, mem_insert_fixup) [!NEED_MEM_INSERT]: Remove; unused. - Remove one incorrect comment and fix another. - - Fix minor ralloc.c problems found by static checking. - See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html - * ralloc.c (ALIGNED, ROUND_TO_PAGE, HEAP_PTR_SIZE) - (r_alloc_size_in_use, r_alloc_freeze, r_alloc_thaw): Remove; unused. - (r_alloc_sbrk): Now static. - - Improve ralloc.c interface checking. - See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html - * buffer.c (ralloc_reset_variable, r_alloc, r_re_alloc) - (r_alloc_free) [REL_ALLOC]: Move decls from here ... - * lisp.h (r_alloc, r_alloc_free, r_re_alloc, r_alloc_reset_variable) - [REL_ALLOC]: ... to here, to check interface. - * m/ia64.h (r_alloc, r_alloc_free) [REL_ALLOC && !_MALLOC_INTERNAL]: - Remove decls. This fixes an "It stinks!". - - * alloc.c (which_symbols): Fix alignment issue / type clash. - -2012-04-15 Andreas Schwab - - * lisp.h (struct Lisp_Symbol): Remove explicit padding. - (struct Lisp_Misc_Any): Likewise. - (struct Lisp_Free): Likewise. - * alloc.c (union aligned_Lisp_Symbol): Define. - (SYMBOL_BLOCK_SIZE, struct symbol_block): Use union - aligned_Lisp_Symbol instead of struct Lisp_Symbol. - (union aligned_Lisp_Misc): Define. - (MARKER_BLOCK_SIZE, struct marker_block): Use union - aligned_Lisp_Misc instead of union Lisp_Misc. - (Fmake_symbol, allocate_misc, gc_sweep): Adjust. - -2012-04-14 Paul Eggert - - Make GC_MAKE_GCPROS_NOOPS the default (Bug#9926). - * lisp.h (GC_MARK_STACK): Default to GC_MAKE_GCPROS_NOOPS. - * s/cygwin.h, s/darwin.h, s/freebsd.h, s/gnu.h, s/irix6-5.h, s/msdos.h: - * s/netbsd.h, s/sol2-6.h: - Remove definition of GC_MARK_STACK, since the default now works. - * s/aix4-2.h, s/hpux10-20.h, s/unixware.h: - Define GC_MARK_STACK to GC_USE_GCPROS_AS_BEFORE, since that's - no longer the default. - * s/gnu-linux.h (GC_MARK_STACK): Adjust to change in default. - -2012-04-14 Atsuo Ohki (tiny change) - - * lread.c (lisp_file_lexically_bound_p): - Fix hang at ";-*-\n" (bug#11238). - -2012-04-14 Eli Zaretskii - - * xdisp.c (find_last_unchanged_at_beg_row): Don't consider a row - "unchanged" if its end.pos is beyond ZV. (Bug#11199) - -2012-04-14 Jan Djärv - - * nsterm.m (constrainFrameRect): Always constrain when there is only - one screen (Bug#10962). - -2012-04-13 Ken Brown - - * s/cygwin.h (PTY_OPEN): Don't try to close a bogus file descriptor. - -2012-04-13 Reuben Thomas - - * indent.c (Fmove_to_column): Change interactive spec (Bug#739). - -2012-04-11 Daniel Colascione - - * s/cygwin.h: The vfork the #define in cygwin.h was protecting - against is gone. It's better to use vfork now so that when Cygwin - gains a new, working vfork, we use it automatically (bug#10398). - -2012-04-11 Stefan Monnier - - * window.c (save_window_save): Obey window-point-insertion-type. - -2012-04-11 Glenn Morris - - * Makefile.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM. - -2012-04-11 Stefan Monnier - - * alloc.c (lisp_align_malloc): Remove unneeded prototype. - -2012-04-10 Jason S. Cornez (tiny change) - - * keyboard.c: Override inhibit-quit after the third C-g (bug#6585). - (force_quit_count): New var. - (handle_interrupt): Use it. - -2012-04-10 Juanma Barranquero - - * w32.c (w32_delayed_load): Record the full path of the library - being loaded (bug#10424). - -2012-04-09 Glenn Morris - - * doc.c (Fsnarf_documentation): Check variables, functions are bound, - not just in the obarray, before snarfing them. (Bug#11036) - - * Makefile.in ($(leimdir)/leim-list.el): - Pass EMACS rather than BUILT_EMACS. - -2012-04-09 Teodor Zlatanov - - * process.c (make_process): - * process.h: Add integer `gnutls_handshakes_tried' member to - process struct. - - * gnutls.h: Add `GNUTLS_EMACS_HANDSHAKES_LIMIT' upper limit. - Add convenience `GNUTLS_LOG2i' macro. - - * gnutls.c (gnutls_log_function2i): Convenience log function. - (emacs_gnutls_read): Use new log functions, - `gnutls_handshakes_tried' process member, and - `GNUTLS_EMACS_HANDSHAKES_LIMIT' to limit the number of handshake - attempts per process (connection). - -2012-04-09 Chong Yidong - - * eval.c (Fuser_variable_p, user_variable_p_eh) - (lisp_indirect_variable): Functions deleted. - (Fdefvar): Caller changed. - - * callint.c (Finteractive, Fcall_interactively): - * minibuf.c (Fread_variable): Callers changed. - -2012-04-09 Eli Zaretskii - - * xdisp.c (set_cursor_from_row): If the display string appears in - the buffer at position that is closer to point than the position - after the display string, display the cursor on the first glyph of - the display string. Fixes cursor display when a 'display' text - property immediately follows invisible text. (Bug#11094) - -2012-04-09 Paul Eggert - - composite.c: use 'double' consistently - * composite.c (get_composition_id): Use 'double' consistently - instead of converting 'float' to 'double' and vice versa; this is - easier to understand and avoids a GCC warning. - -2012-04-09 Glenn Morris - - * Makefile.in: Generate leim-list with bootstrap-emacs, in - preparation for dumping it with emacs. (Bug#4789) - (leimdir): New variable. - ($(leimdir)/leim-list.el): New rule. - (emacs$(EXEEXT)): Depend on leim-list.el. - - * buffer.c (Qucs_set_table_for_input): Remove. (Bug#9821) - (Fget_buffer_create): Don't call Qucs_set_table_for_input. - (init_buffer_once, syms_of_buffer): Remove Qucs_set_table_for_input. - -2012-04-08 Andreas Schwab - - * lisp.h (struct Lisp_Symbol): Add explicit padding to ensure - proper alignment. - -2012-04-07 Juanma Barranquero - - * xml.c (init_libxml2_functions) [WINDOWSNT]: - Remove unused local variable. - -2012-04-07 Paul Eggert - - Avoid unnecessary pointer scanning in garbage collection (Bug#10780). - * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): New macro. - (mark_memory): Mark Lisp_Objects only if pointers might hide in - objects, as mark_maybe_pointer will catch them otherwise. - (GC_LISP_OBJECT_ALIGNMENT): Remove; no longer needed. - * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT) [__mc68000__]: Likewise. - -2012-04-07 Paul Eggert - - Fix typo that broke non-Windows builds. - * xml.c (libxml2_loaded_p) [!!WINDOWSNT]: 'inine' -> 'inline'. - -2012-04-07 Eli Zaretskii - - Support building on MS-Windows with libxml2. - - * makefile.w32-in (OBJ2): Add xml.$(O). - (GLOBAL_SOURCES): Add xml.c. - ($(BLD)/xml.$(O)): New dependency list. - - * xml.c (DEF_XML2_FN, LOAD_XML2_FN) [WINDOWSNT]: New macros. - (fn_htmlReadMemory, fn_xmlReadMemory, fn_xmlDocGetRootElement) - (fn_xmlFreeDoc, fn_xmlCleanupParser, fn_xmlCheckVersion) - [!WINDOWSNT]: New macros. - (init_libxml2_functions, libxml2_loaded_p): New functions. - (parse_region): Call fn_xmlCheckVersion instead of using the macro - LIBXML_TEST_VERSION. Call libxml2 functions via the fn_* macros. - (xml_cleanup_parser): New function, export for fn_xmlCleanupParser. - Calls xmlCleanupParser only if libxml2 was loaded (or statically - linked in). - (Flibxml_parse_html_region, Flibxml_parse_xml_region): - Call init_libxml2_functions before calling libxml2 functions. - (syms_of_xml) : DEFSYM it. - - * emacs.c: Don't include libxml/parser.h. - (shut_down_emacs): Call xml_cleanup_parser, instead of calling - xmlCleanupParser directly. - - * lisp.h [HAVE_LIBXML2]: Add prototype for xml_cleanup_parser. - -2012-04-07 Eli Zaretskii - - * indent.c (Fvertical_motion): If there is a display string at - point, use it.vpos to compute how many lines to backtrack after - move_it_to point. (Bug#11133) - -2012-04-06 Eli Zaretskii - - * buffer.h (FETCH_CHAR, FETCH_MULTIBYTE_CHAR): - * character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH): Add comments - about subtle differences between FETCH_CHAR* and STRING_CHAR* - macros related to unification of CJK characters. For the details, - see the discussion following the message here: - http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11073#14. - -2012-04-04 Chong Yidong - - * keyboard.c (Vdelayed_warnings_list): Doc fix. - -2012-04-01 Eli Zaretskii - - * w32menu.c (simple_dialog_show, add_menu_item): Use SAFE_ALLOCA - instead of alloca. (Bug#11138) - -2012-04-01 Andreas Schwab - - * w32menu.c (is_simple_dialog): Properly check lisp types. - (Bug#11141) - -2012-03-31 Eli Zaretskii - - * xdisp.c (move_it_by_lines): When DVPOS is positive, and the - position we get to after a call to move_it_to fails the - IS_POS_VALID_AFTER_MOVE_P test, move to the next buffer position - only if we wind up in a string from display property. (Bug#11063) - - * window.c (Fdelete_other_windows_internal): Invalidate the row - and column information about mouse highlight, so that redisplay - restores it after reallocating the glyph matrices. (Bug#7464) - - * xdisp.c (set_cursor_from_row): If `cursor' property on a display - string comes from a `display' text property, use the buffer - position of that property as if we actually saw that position in - the row's glyphs. - (move_it_by_lines): Remove the assertion that - "it->current_x == 0 && it->hpos == 0" which can be legitimately - violated when there's a before-string at the beginning of a line. - (Bug#11063) - -2012-03-30 Eli Zaretskii - - * xdisp.c (append_space_for_newline): If the default face was - remapped, use the remapped face for the appended newline. - (extend_face_to_end_of_line): Use the remapped default face for - extending the face to the end of the line. - (display_line): Call extend_face_to_end_of_line when the default - face was remapped. (Bug#11068) - -2012-03-29 Eli Zaretskii - - * s/ms-w32.h: Discourage from defining HAVE_GETCWD. - -2012-03-28 Stefan Monnier - - * keyboard.c (safe_run_hooks_error): Don't unquote strings. - -2012-03-27 Glenn Morris - - * search.c (Fword_search_backward_lax, Fword_search_forward_lax): - Doc fixes. - -2012-03-26 Kenichi Handa - - * dispextern.h (struct glyph): Fix previous change. Change the - bit length of glyphless.ch to 25 (Bug#11082). - -2012-03-26 Chong Yidong - - * keyboard.c (Vselection_inhibit_update_commands): New variable. - (command_loop_1): Use it; inhibit selection update for - handle-select-window too (Bug#8996). - -2012-03-25 Fabrice Popineau - - * w32heap.c (_heap_init, _heap_term): Remove dead MSVC-specific code. - -2012-03-25 Kenichi Handa - - * dispextern.h (struct glyph): Change the bit length of - glyphless.ch to 22 to make the member glyphless fit in 32 bits. - -2012-03-24 Eli Zaretskii - - * s/ms-w32.h (tzname): Include time.h before redirecting to - _tzname. Fixes the MSVC build. (Bug#9960) - -2012-03-24 Andreas Schwab - - * xdisp.c (produce_glyphless_glyph): Limit length of acronym to 6 - characters. - - * xterm.c (XTread_socket): Only modify handling_signal if - !SYNC_INPUT. (Bug#11080) - -2012-03-23 Eli Zaretskii - - * bidi.c (bidi_fetch_char): Use STRING_CHAR_AND_LENGTH instead of - FETCH_MULTIBYTE_CHAR followed by CHAR_BYTES. Prevents crashes - when fetching a multibyte character consumes more bytes than - CHAR_BYTES returns, due to unification of CJK characters in - string_char. (Bug#11073) - -2012-03-23 Troels Nielsen (tiny change) - - * process.c (wait_reading_process_output): Handle pty disconnect - by refraining from sending oneself a SIGCHLD (bug#10933). - -2012-03-22 Chong Yidong - - * dispextern.h (struct it): New member string_from_prefix_prop_p. - - * xdisp.c (push_prefix_prop): Rename from push_display_prop. - Mark string as coming from a prefix property. - (handle_face_prop): Use default face for prefix strings (Bug#4281). - (pop_it, reseat_1): Save and restore string_from_prefix_prop_p. - -2012-03-21 Chong Yidong - - * xfaces.c (Vface_remapping_alist): Doc fix. - -2012-03-20 Eli Zaretskii - - * w32proc.c (Fw32_set_console_codepage) - (Fw32_set_console_output_codepage, Fw32_get_codepage_charset): - Doc fixes. - -2012-03-20 Chong Yidong - - * dispnew.c (Fredisplay, Vredisplay_preemption_period): Update doc - to reflect default non-nil value of redisplay-dont-pause. - -2012-03-19 Kenichi Handa - - * ftfont.c (ftfont_drive_otf): Mask bits of character code to make - it fit in a valid range (Bug#11003). - -2012-03-18 Eli Zaretskii - - * xdisp.c (cursor_row_p): Even if the glyph row ends in a string - that is not from display property, accept the row as a "cursor - row" if one of the string's character has a non-nil `cursor' - property. Fixes cursor positioning when there are newlines in - overlay strings, e.g. in icomplete.el. (Bug#11035) - -2012-03-12 Paul Eggert - - * buffer.c (compare_overlays): Don't assume args differ (Bug#6830). - -2012-03-12 Chong Yidong - - * eval.c (inhibit_lisp_code): Rename from - inhibit_window_configuration_change_hook; move from window.c. - - * xfns.c (unwind_create_frame_1, Fx_create_frame): - * window.c (run_window_configuration_change_hook) - (syms_of_window): Callers changed. - -2012-03-11 Chong Yidong - - * keymap.c (Fkey_description): Doc fix (Bug#9700). - - * editfns.c (Fconstrain_to_field): Doc fix (Bug#9452). - -2012-03-10 Chong Yidong - - * frame.c (other_visible_frames): Don't assume the selected frame - is visible (Bug#10955). - -2012-03-09 Stefan Monnier - - * buffer.c (compare_overlays): Avoid qsort's instability (bug#6830). - -2012-03-08 Jan Djärv - - * gtkutil.c (x_wm_set_size_hint): Use one row in call to - FRAME_TEXT_LINES_TO_PIXEL_HEIGHT so base_height is greater than - zero (Bug#10954). - -2012-03-03 Glenn Morris - - * alloc.c (Fgarbage_collect, misc-objects-consed): Doc fixes. - -2012-03-02 Eli Zaretskii - - * xdisp.c (try_window_reusing_current_matrix): Don't move cursor - position past the first glyph_row that ends at ZV. (Bug#10902) - (redisplay_window, next_element_from_string): Fix typos in - comments. - (redisplay_window): Pass to move_it_vertically the margin in - pixels, not in screen lines. - -2012-03-02 Glenn Morris - - * buffer.c (buffer-list-update-hook): Doc fix. - -2012-02-29 Eli Zaretskii - - * xdisp.c (get_overlay_strings_1): Under bidi redisplay, call - push_it before setting up the iterator for the first overlay - string, even if we have an empty string loaded. - (next_overlay_string): If there's an empty string on the iterator - stack, pop the stack. (Bug#10903) - -2012-02-25 Paul Eggert - - Generalize fix for crash due to non-contiguous EMACS_INT (Bug#10780). - Suggested by Stefan Monnier in - . - * alloc.c (widen_to_Lisp_Object): New static function. - (mark_memory): Also mark Lisp_Objects by fetching pointer words - and widening them to Lisp_Objects. This would work even if - USE_LSB_TAG is defined and wide integers are used, which might - happen in a future version of Emacs. - -2012-02-25 Chong Yidong - - * fileio.c (Ffile_selinux_context, Fset_file_selinux_context): - Doc fix. - - * xselect.c (Fx_selection_exists_p): Doc fix. - (x_clipboard_manager_save_all): Print an informative message - before saving to clipboard manager. - -2012-02-24 Chong Yidong - - * keyboard.c (process_special_events): Handle all X selection - requests in kbd_buffer, not just the next one (Bug#8869). - -2012-02-23 Chong Yidong - - * xfns.c (Fx_create_frame): Avoid window-configuration-change-hook - call when setting menu-bar-lines and tool-bar-lines parameters. - (unwind_create_frame_1): New helper function. - - * window.c (inhibit_window_configuration_change_hook): New var. - (run_window_configuration_change_hook): Obey it. - (syms_of_window): Initialize it. - -2012-02-22 Chong Yidong - - * xterm.c (x_draw_image_relief): Add missing type check for - Vtool_bar_button_margin (Bug#10743). - -2012-02-21 Chong Yidong - - * fileio.c (Vfile_name_handler_alist): Doc fix. - - * buffer.c (Fget_file_buffer): Protect against invalid file - handler return value. - -2012-02-20 Paul Eggert - - * .gdbinit (xreload): Don't assume EMACS_INT fits in 'long' - when computing $valmask. - - Fix crash due to non-contiguous EMACS_INT (Bug#10780). - * lisp.h (VALBITS): Move definition up, so that USE_LSB_TAG can use it. - (USE_LSB_TAG): Do not define if UINTPTR_MAX >> VALBITS == 0. - It's useless in that case, and it can cause problems on hosts - that allocate halves of EMACS_INT values separately. - Reported by Dan Horák. Diagnosed by Andreas Schwab in - . - * mem-limits.h (EXCEEDS_LISP_PTR): Define to 0 on hosts where - UINTPTR_MAX >> VALBITS == 0. This is required by the above change; - it avoids undefined behavior on hosts where shifting right by more - than the word width has undefined behavior. - -2012-02-19 Chong Yidong - - * fileio.c (Ffile_name_directory, Ffile_name_nondirectory) - (Funhandled_file_name_directory, Ffile_name_as_directory) - (Fdirectory_file_name, Fexpand_file_name) - (Fsubstitute_in_file_name): Protect against invalid file handler - return values (Bug#10845). - -2012-02-18 Eli Zaretskii - - * .gdbinit (pitx): Fix incorrect references to fields of the - iterator stack. - -2012-02-17 Chong Yidong - - * syntax.c (Fscan_lists): Doc fix (Bug#10833). - -2012-02-15 Paul Eggert - - * image.c (MAX_IMAGE_SIZE): Increase from 6.0 to 10.0; see - . - -2012-02-15 Chong Yidong - - * eval.c (Fdefvar, Fdefconst): Doc fix; note that the variable is - marked as special. Also, starting docstrings with * is obsolete. - -2012-02-13 Andreas Schwab - - * gnutls.c (emacs_gnutls_write): Fix last change. - -2012-02-13 Lars Ingebrigtsen - - * gnutls.c (emacs_gnutls_write): Set errno appropriately for - send_process. - -2012-02-13 Stefan Monnier - - * keymap.c (Fsingle_key_description): Handle char ranges. - -2012-02-12 Chong Yidong - - * xdisp.c (handle_stop): Avoid assigning -1 to it->face_id here, - as that creates a dangerous corner case. - - * window.c (Fdelete_window_internal): Invalidate the mouse - highlight (Bug#9904). - -2012-02-12 Glenn Morris - - * xselect.c (Fx_own_selection_internal) - (Fx_get_selection_internal, Fx_disown_selection_internal) - (Fx_selection_owner_p, Fx_selection_exists_p): Doc fixes. - * nsselect.m (Fx_own_selection_internal) - (Fx_disown_selection_internal, Fx_selection_exists_p) - (Fx_selection_owner_p, Fx_get_selection_internal): - Sync docs and argument specs with the xselect.c versions. - -2012-02-11 Lars Ingebrigtsen - - * gnutls.c (emacs_gnutls_write): Don't infloop if sendto fails. - -2012-02-11 Eli Zaretskii - - * w32select.c (Fx_selection_exists_p): Sync doc string and - argument list with xselect.c. (Bug#10783) - - * w16select.c (Fx_selection_exists_p): Sync doc string and - argument list with xselect.c. (Bug#10783) - -2012-02-10 Glenn Morris - - * fns.c (Fsecure_hash): Doc fix. - -2012-02-09 Kenichi Handa - - * coding.c (produce_chars): Fix updating of src_end (Bug#10701). - -2012-02-07 Chong Yidong - - * buffer.c (Fbuffer_local_variables) - (buffer_lisp_local_variables): Handle unbound vars correctly; - don't let Qunbound leak into Lisp. - -2012-02-07 Glenn Morris - - * image.c (Fimagemagick_types): Doc fix. - - * image.c (imagemagick-render-type): Change it from a lisp object - to an integer. Move the doc here from the lisp manual. - Treat all values not equal to 0 the same. - -2012-02-06 Chong Yidong - - * doc.c (store_function_docstring): Avoid applying docstring of - alias to base function (Bug#2603). - -2012-02-04 Andreas Schwab - - * .gdbinit (pp1, pv1): Remove redundant defines. - (pr): Use pp. - -2012-02-04 Chong Yidong - - * nsterm.m: Declare a global (Bug#10694). - -2012-02-04 Eli Zaretskii - - * w32.c (get_emacs_configuration_options): - Include --enable-checking, if specified, in the return value. - -2012-02-04 Martin Rudalics - - * dispnew.c (change_frame_size_1): Calculate new_frame_total_cols - after rounding frame sizes. (Bug#9723) - -2012-02-04 Eli Zaretskii - - * keyboard.c (adjust_point_for_property): Don't position point - before BEGV. (Bug#10696) - -2012-02-03 Paul Eggert - - Handle overflow when computing char display width (Bug#9496). - * character.c (char_width): Return EMACS_INT, not int. - (char_width, c_string_width): Check for overflow when - computing the width; this is possible now that individual - characters can have unbounded width. Problem introduced - by merge from Emacs 23 on 2012-01-19. - -2012-02-02 Michael Albinus - - * dbusbind.c (Fdbus_register_method): Mention the return value - :ignore in the docstring. - -2012-02-02 Glenn Morris - - * callproc.c (Fcall_process, Fcall_process_region): Doc fix. - - * nsterm.m (syms_of_nsterm) : - Unconditionally set to t. (Bug#10673) - * nsterm.m (syms_of_nsterm) : - * w32term.c (syms_of_w32term) : - * xterm.c (syms_of_xterm) : Doc fix. - -2012-02-02 Kenichi Handa - - (x_produce_glyphs): Cancel previous change. If cmp->glyph_len is - 0, do not call append_composite_glyph. - -2012-02-02 Kenichi Handa - - * xdisp.c (BUILD_COMPOSITE_GLYPH_STRING): Initialize first_s to - NULL (Bug#6988). - (x_produce_glyphs): If the component of a composition is a null - string, set it->pixel_width to 1 to avoid zero-width glyph. - -2012-02-01 Eli Zaretskii - - * ralloc.c (resize_bloc, r_alloc_sbrk): Don't call memmove if its - first 2 arguments are identical. This makes inserting large - output from a subprocess an order of magnitude faster on - MS-Windows, where all sbrk'ed memory is always contiguous. - -2012-01-31 Glenn Morris - - * nsterm.m (syms_of_nsterm) : - * w32term.c (syms_of_w32term) : - * xterm.c (syms_of_xterm) : Sync docs. - -2012-01-29 Glenn Morris - - * gnutls.c (syms_of_gnutls): More doc (from etc/NEWS). - -2012-01-28 Samuel Thibault (tiny change) - - * s/gnu.h: Define POSIX_SIGNALS (Bug#10552). - -2012-01-28 Chong Yidong - - * minibuf.c (syms_of_minibuf): Doc fix (Bug#10550). - -2012-01-26 Chong Yidong - - * keyboard.c (Vecho_keystrokes): Document zero value (Bug#10503). - - * search.c (Fsearch_forward, Fsearch_backward): Document negative - repeat counts (Bug#10507). - -2012-01-26 Glenn Morris - - * lread.c (syms_of_lread): Doc fix. - -2012-01-25 HIROSHI OOTA (tiny change) - - * coding.c (encode_designation_at_bol): Change return value to - EMACS_INT. - -2012-01-25 Chong Yidong - - * eval.c (Fuser_variable_p): Doc fix; mention custom-variable-p. - -2012-01-21 Chong Yidong - - * floatfns.c (Fcopysign): Make the second argument non-optional, - since nil is not allowed anyway. - -2012-01-21 Andreas Schwab - - * process.c (read_process_output): Use p instead of XPROCESS (proc). - (send_process): Likewise. - -2012-01-19 Martin Rudalics - - * window.c (save_window_save, Fcurrent_window_configuration) - (Vwindow_persistent_parameters): Do not use Qstate. - Rewrite doc-strings. - -2012-01-19 Kenichi Handa - - * character.c (char_width): New function. - (Fchar_width, c_string_width, lisp_string_width): - Use char_width (Bug#9496). - -2012-01-16 Martin Rudalics - - * window.c (Vwindow_persistent_parameters): New variable. - (Fset_window_configuration, save_window_save): Handle persistent - window parameters. - -2012-01-14 Eli Zaretskii - - * w32fns.c (signal_user_input): Don't do a QUIT, to avoid - thrashing the stack of the thread. (Bug#9087) - -2012-01-12 Paul Eggert - - * xdisp.c (rows_from_pos_range): Add parens as per gcc -Wparentheses. - -2012-01-11 Eli Zaretskii - - * xdisp.c (rows_from_pos_range): Handle the case where the - highlight ends on a newline. (Bug#10464) - (mouse_face_from_buffer_pos): Fix off-by-one error in calculating - he end column for display of highlight that ends on a newline - before a R2L line. - -2012-01-11 Glenn Morris - - * lread.c (init_lread): If no-site-lisp, remove site-lisp dirs - from load-path also when installation-directory is nil. (Bug#10208) - -2012-01-10 Glenn Morris - - * emacs.c (syms_of_emacs) : Doc fix. - - * epaths.in (PATH_LOADSEARCH, PATH_EXEC, PATH_DATA, PATH_DOC): - Update template values to be closer to their typical values these days. - -2012-01-09 Eli Zaretskii - - * xdisp.c (rows_from_pos_range): Accept additional argument - DISP_STRING, and accept any glyph in a row whose object is that - string as eligible for mouse highlight. Fixes mouse highlight of - display strings from overlays. (Bug#10464) - -2012-01-07 Paul Eggert - - emacs: fix an auto-save permissions race condition (Bug#10400) - * fileio.c (auto_saving_dir_umask): New static var. - (Fmake_directory_internal): Use it. - (do_auto_save_make_dir): Set it, instead of invoking chmod after - creating the directory. The old code temporarily assigns - too-generous permissions to the directory. - (do_auto_save_eh): Clear it. - (Fdo_auto_save): Catch all errors, not just file errors, so - that the var is always cleared. - -2012-01-07 Eli Zaretskii - - * search.c (scan_buffer): Pass character positions to - know_region_cache, not byte positions. (Bug#6540) - -2012-01-07 LynX <_LynX@bk.ru> (tiny change) - - * w32.c (sys_rename): Report EXDEV when rename of a directory - fails because the target is on another logical disk. (Bug#10284) - -2012-01-07 David Benjamin (tiny change) - - * xterm.c (x_embed_request_focus): New function. - - * xterm.h: Add prototype. - - * xfns.c (Fx_focus_frame): Use it for embedded frames (Bug#9977). - -2012-01-05 Glenn Morris - - * emacs.c (emacs_copyright): Update short copyright year to 2012. - -2012-01-01 Eli Zaretskii - - * gnutls.c (init_gnutls_functions): Load gnutls_check_version. - Load gnutls_transport_set_lowat only if GnuTLS version is below - 2.11.1. - (emacs_gnutls_handshake): Call gnutls_transport_set_lowat only for - GnuTLS versions below 2.11.1. - -2011-12-31 Antoine Levitt - - * xdisp.c (syms_of_xdisp) : Add warning - to the doc string advising against its use for altering the way - windows are scrolled. - -2011-12-28 Kenichi Handa - - * coding.c (Fdefine_coding_system_internal): Make an utf-8 base - coding-system ASCII compatible only when it does not produce BOM - on encoding (Bug#10383). - -2011-12-26 Jan Djärv - - * xmenu.c (x_menu_wait_for_event): Use xg_select for Gtk3 so menus - can scroll. - (create_and_show_popup_menu): Always use menu_position_func for - Gtk3 (Bug#10361). - -2011-12-24 Andreas Schwab - - * callint.c (Fcall_interactively): Don't truncate prompt string. - -2011-12-23 Eli Zaretskii - - * xdisp.c (handle_invisible_prop): Handle correctly an invisible - property that ends at ZV, so that the bidi iteration could be - resumed from there (after widening). (Bug#10360) - -2011-12-22 Jan Djärv - - * nsfont.m (ns_spec_to_descriptor): Do not autorelease fdesc. - -2011-12-21 Jan Djärv - - * nsterm.m (x_free_frame_resources): - Release f->output_data.ns->miniimage. - (ns_index_color): Fix indentation. Do not retain - color_table->colors[i]. - - * nsmenu.m (ns_update_menubar): Call free_menubar_widget_value_tree - before returning. - - * nsfns.m (x_set_background_color): Assign return value from - ns_index_color to face-background instead of NSColor*. - (ns_implicitly_set_icon_type): Fix indentation. - Change assignment in for loop to comparison. - - * emacs.c (ns_pool): New variable. - (main): Assign ns_pool. - (Fkill_emacs): Call ns_release_autorelease_pool. - - * nsfont.m (ns_spec_to_descriptor): Fix indentation, - autorelease fdesc, release fdAttrs and tdict. - (ns_get_covering_families): Release charset. - (ns_findfonts): Release NSFontDescriptor created with new. - (ns_uni_to_glyphs): Fix indentation. - (setString): Release attrStr before assigning new value. - -2011-12-18 Jan Djärv - - * nsmenu.m (NSMenuDidBeginTrackingNotification): Declare if OSX < 10.5 - and NS_IMPL_COCOA. - (trackingNotification): Surround with ifdef NS_IMPL_COCOA. - (syms_of_nsmenu): Set trackingMenu to 1 if not NS_IMPL_COCOA. - -2011-12-18 David Reitter - - * nsterm.m (ns_term_init): Subscribe for notifications - NSMenuDidBeginTrackingNotification and NSMenuDidEndTrackingNotification - to method trackingNotification in EmacsMenu. - - * nsmenu.m (trackingMenu): New variable. - (trackingNotification): New method (from Aquamacs). - (menuNeedsUpdate): Expand comment and return if trackingMenu is 0, - from Aquamacs (Bug#7030). - -2011-12-18 Jan Djärv - - * nsselect.m (CUT_BUFFER_SUPPORT): Remove define. - (symbol_to_nsstring): Fix indentation. - (ns_symbol_to_pb): New function. - (Fns_get_selection_internal): Rename from Fns_get_cut_buffer_internal. - (Fns_rotate_cut_buffers_internal): Remove. - (Fns_store_selection_internal): Rename from - Fns_store_cut_buffer_internal. - (ns_get_foreign_selection, Fx_own_selection_internal) - (Fx_disown_selection_internal, Fx_selection_exists_p) - (Fns_get_selection_internal, Fns_store_selection_internal): - Use ns_symbol_to_pb and check if return value is nil. - (syms_of_nsselect): Remove ifdef CUT_BUFFER_SUPPORT. Remove defsubr - Sns_rotate_cut_buffers_internal. Sns_get_cut_buffer_internal - renamed to Sns_get_selection_internal, Sns_store_cut_buffer_internal - renamed to Sns_store_selection_internal. - (ns_handle_selection_request): Move code to Fx_own_selection_internal - and remove this function. - (ns_handle_selection_clear): Remove, never used. - (Fx_own_selection_internal): Move code from ns_handle_selection_request - here. - -2011-12-17 Ken Brown - - * fileio.c (check_writable) [CYGWIN]: Return non-zero if UID or - GID is unknown (Bug#10257). - -2011-12-17 Paul Eggert - - * s/gnu-linux.h: Fix mark_memory typo (Bug#10286). - (GC_MARK_SECONDARY_STACK): Omit removed 3rd arg to mark_memory, - which caused a build failure on GNU/Linux IA-64. This problem was - introduced by my 2011-10-07 patch. - -2011-12-15 Juri Linkov - - * image.c (imagemagick_error): New function. (Bug#10112) - (imagemagick_load_image): Comment out `MagickSetResolution' call. - Use `imagemagick_error' where ImageMagick functions return - `MagickFalse'. - (Fimagemagick_types): Add `Fnreverse' to return the list in the - proper order. - -2011-12-15 YAMAMOTO Mitsuharu - - * xftfont.c (xftfont_draw): Use the font metrics of s->font to - fill background (Bug#8992). - -2011-12-13 Martin Rudalics - - * window.c (Vwindow_combination_resize) - (Vwindow_combination_limit): Use t instead of non-nil in - doc-strings. - (Vrecenter_redisplay): Add first sentence of doc-string on - separate line. - (Frecenter): Fix doc-string typo. - -2011-12-11 Kenichi Handa - - * coding.c (Funencodable_char_position): Pay attention to the - buffer text relocation (Bug#9389). - -2011-12-10 Jan Djärv - - * xterm.c (x_term_init): Move call to gdk_window_add_filter before - gtk_init (Bug#10100). - -2011-12-10 Eli Zaretskii - - * xdisp.c (RECORD_MAX_MIN_POS): Use IT->cmp_it.charpos only if - IT->string is nil. (Bug#10263) - -2011-12-10 Jan Djärv - - * nsterm.h (x_free_frame_resources): Declare. - - * nsfns.m (ns_get_defaults_value): New function (Bug#10103). - (Fns_get_resource, x_get_string_resource): Call ns_get_defaults_value. - - * nsterm.h (ns_get_defaults_value): Declare. - - * nsterm.m (ns_default): Call ns_get_defaults_value. - -2011-12-09 Eli Zaretskii - - * xdisp.c (try_scrolling): Don't set scroll_down_p if dy is zero. - (Bug#10170) - -2011-12-09 YAMAMOTO Mitsuharu - - * unexelf.c (unexec) [NS_IMPL_GNUSTEP]: Take account of the case - that where the value of an _OBJC_* symbol points to is in the .bss - section (Bug#10240). - -2011-12-08 Kazuhiro Ito (tiny change) - - * coding.c (encode_coding_ccl): Check (charbuf < charbuf_end) - after the loop to call ccl_driver at least once (Bug#8619). - -2011-12-08 Kenichi Handa - - * ftfont.c (get_adstyle_property): Fix previous change - (Bug#10233). - -2011-12-07 Juanma Barranquero - - * w32.c (init_environment): If no_site_lisp, remove site-lisp - dirs from the default value of EMACSLOADPATH (bug#10208). - -2011-12-07 Glenn Morris - - * lread.c (init_lread): If no_site_lisp, exclude site-lisp/ in - installation and source directories as well. (Bug#10208) - -2011-12-06 Chong Yidong - - * minibuf.c (Fread_from_minibuffer): Doc fix (Bug#10228). - -2011-12-06 Glenn Morris - - * process.c (start_process_unwind): Treat any pid <= 0, except -2, - as an error, not just -1. (Bug#10217) - -2011-12-05 Chong Yidong - - * keyboard.c (process_special_events): New function. - (swallow_events, Finput_pending_p): Use it (Bug#10195). - -2011-12-05 Paul Eggert - - * coding.c (encode_designation_at_bol): Don't use uninitialized - local variable (Bug#9318). - -2011-12-05 Kenichi Handa - - * ftfont.c (get_adstyle_property): If the font is not BDF nor PCF, - return Qnil (Bug#8046, Bug#10193). - -2011-12-05 Kenichi Handa - - * coding.c (encode_designation_at_bol): New args charbuf_end and - dst. Return the number of produced bytes. Callers changed. - (coding_set_source): Return how many bytes coding->source was - relocated. - (coding_set_destination): Return how many bytes - coding->destination was relocated. - (CODING_DECODE_CHAR, CODING_ENCODE_CHAR, CODING_CHAR_CHARSET) - (CODING_CHAR_CHARSET_P): Adjust for the avove changes. - -2011-12-05 Kazuhiro Ito (tiny change) - - * coding.c (CODING_CHAR_CHARSET_P): New macro. - (encode_coding_emacs_mule, encode_coding_iso_2022): Use the above - macro (Bug#9318). - -2011-12-05 Andreas Schwab - - The following changes are to fix Bug#9318. - - * coding.c (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET): New macros. - (encode_coding_emacs_mule, ENCODE_ISO_CHARACTER) - (encode_coding_iso_2022, encode_coding_sjis) - (encode_coding_big5, encode_coding_charset): Use the above macros. - -2011-12-05 Juanma Barranquero - - * lisp.h (process_quit_flag): Fix external declaration. - -2011-12-04 Stefan Monnier - - Don't macro-inline non-performance-critical code. - * eval.c (process_quit_flag): New function. - * lisp.h (QUIT): Use it. - -2011-12-04 Jan Djärv - - * nsfns.m (get_geometry_from_preferences): New function. - (Fx_create_frame): Call get_geometry_from_preferences (Bug#10103). - -2011-12-04 Andreas Schwab - - * emacs.c (Qkill_emacs): Define. - (syms_of_emacs): Initialize it. - * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set - Qquit_flag to `kill-emacs' instead. - (quit_throw_to_read_char): Add parameter `from_signal'. - All callers changed. Call Fkill_emacs if requested and safe. - * lisp.h (QUIT): Call Fkill_emacs if requested. - -2011-12-03 Jan Djärv - - * widget.c (update_wm_hints): Return if wmshell is null. - (widget_update_wm_size_hints): New function. - - * widget.h (widget_update_wm_size_hints): Declare. - - * xterm.c (x_wm_set_size_hint): If USE_X_TOOLKIT, call - widget_update_wm_size_hints (Bug#10104). - -2011-12-03 Eli Zaretskii - - * xdisp.c (handle_invisible_prop): If the invisible text ends just - before a newline, prepare the bidi iterator for consuming the - newline, and keep the current paragraph direction. (Bug#10183) - (redisplay_window): Don't let `margin' become negative. (Bug#10192) - -2011-12-02 Juri Linkov - - * search.c (Fword_search_regexp): New Lisp function created from - `wordify'. Change type of arg `lax' from `int' to `Lisp_Object'. - (Fword_search_backward, Fword_search_forward) - (Fword_search_backward_lax, Fword_search_forward_lax): - Use `Fword_search_regexp' instead of `wordify'. Doc fix. - (syms_of_search): Define `Sword_search_regexp'. (Bug#10145) - -2011-12-01 Stefan Monnier - - * fileio.c (Finsert_file_contents): Move after-change-function call - to before the "handled:" label, since all "goto handled" appear in - cases where the *-change-functions have already been properly called - (bug#10117). - -2011-12-01 Andreas Schwab - - * keyboard.c (interrupt_signal): Don't call kill-emacs when - waiting for input. (Bug#10169) - -2011-11-30 Eli Zaretskii - - * dispnew.c (adjust_glyph_matrix): Remove the assertion that - verifies glyph row's hash code--we have just reallocated the - glyphs, so their contents can be complete garbage. (Bug#10164) - -2011-11-30 Juanma Barranquero - - * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Add missing check. - -2011-11-30 Eli Zaretskii - - * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Ensure ROW's - attributes are tested _before_ calling verify_row_hash, to protect - against GCC re-ordering of the tests. (Bug#10164) - -2011-11-29 Jan Djärv - - * xterm.h (struct x_output): net_wm_state_hidden_seen is new. - - * xterm.c (handle_one_xevent): Only set async_visible and friends - if net_wm_state_hidden_seen is non-zero (Bug#10002) - (get_current_wm_state): Set net_wm_state_hidden_seen to 1 if - _NET_WM_STATE_HIDDEN is in NET_WM_STATE. - -2011-11-28 Paul Eggert - - Remove GCPRO-related macros that exist only to avoid shadowing locals. - * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR) - (GCPRO6_VAR, UNGCPRO_VAR): Remove. See - . - All uses changed to use GCPRO1 etc. - (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, UNGCPRO): - Revert to old implementation (i.e., before 2011-03-11). - -2011-11-28 YAMAMOTO Mitsuharu - - * dispnew.c (scrolling_window): Truncate overlaps in copy destination - of scroll runs so as to avoid assigning disabled bogus rows and - unnecessary graphics copy operations. - -2011-11-27 Eli Zaretskii - - * s/ms-w32.h (utimbuf) [_MSC_VER]: Don't define. - (snprintf) [_MSC_VER]: Redirect to _snprintf. - (strtoll) [_MSC_VER]: Redirect to _strtoi64. - (malloc, free, realloc, calloc): Redirect to e_* only when - compiling Emacs. - - * lisp.h (GCTYPEBITS): Move before first use. - (ALIGN_GCTYPEBITS) [_MSC_VER]: Define. - (DECL_ALIGN) [_MSC_VER]: Use it, as MSVC doesn't like bit ops in - this macro definition. - - * s/ms-w32.h (tzname): Redirect to _tzname for all values of - _MSC_VER. - -2011-11-27 Jan Djärv - - * gtkutil.c (xg_create_frame_widgets): - Call gtk_window_set_has_resize_grip (FALSE) if that function is - present with Gtk+ 2.0. - -2011-11-26 Paul Eggert - - * fileio.c (Finsert_file_contents): Undo previous change; see - . - -2011-11-26 Paul Eggert - - Rename locals to avoid shadowing. - * fileio.c (Finsert_file_contents): - Rename inner 'gcpro1' to 'inner_gcpro1' to avoid shadowing. - * process.c (wait_reading_process_output): - Rename inner 'proc' to 'p' to avoid shadowing. - Indent for consistency with usual Emacs style. - -2011-11-25 Eli Zaretskii - - * xdisp.c (redisplay_window): If cursor row is not fully visible - after recentering, and scroll-conservatively is set to a large - number, scroll window by a few more lines to make the cursor fully - visible and out of scroll-margin. (Bug#10105) - (start_display): Don't move to the next line if the display should - start at a newline that is part of a display vector or an overlay - string. (Bug#10119) - -2011-11-24 Juri Linkov - - * image.c (imagemagick_load_image): Move `MagickSetResolution' down - after the `MagickPingImage' call. (Bug#10112) - -2011-11-23 Chong Yidong - - * window.c (Fcoordinates_in_window_p): Accept only live windows. - -2011-11-23 Martin Rudalics - - * buffer.c (Fkill_buffer): Run replace_buffer_in_windows before - making another buffer current. (Bug#10114) - -2011-11-23 Glenn Morris - - * font.c (font_find_for_lface) [HAVE_NS]: Ignore case. (Bug#2526) - -2011-11-23 Chong Yidong - - * xdisp.c (compute_stop_pos): Check validity of end_charpos before - using it (Bug#5984). - -2011-11-22 Eli Zaretskii - - * dispnew.c (adjust_glyph_matrix): Don't verify hash code of mode- - and header-lines, as they don't have one computed for them. - (Bug#10098) - - * .gdbinit (prow): Make displayed values more self-explaining. - Add row's hash code. - -2011-11-21 Lars Magne Ingebrigtsen - - * process.c (wait_reading_process_output): Fix asynchrounous - GnuTLS socket handling on some versions of the GnuTLS library. - (wait_reading_process_output): Add comment and URL. - -2011-11-21 Jan Djärv - - * xterm.c (x_clear_frame): Reinstate the XClearWindow call. - -2011-11-21 Chong Yidong - - * window.c (Fnext_window, Fprevious_window): Doc fix. - -2011-11-20 Stefan Monnier - - * window.c (get_phys_cursor_glyph): Fix Lisp_Object/int mixup. - -2011-11-20 Juanma Barranquero - - * nsfont.m (syms_of_nsfont) : Fix typo. - -2011-11-20 Martin Rudalics - - * window.c (Fset_window_combination_limit): Rename argument - STATUS to LIMIT. - (Vwindow_combination_limit): Remove "status" from doc-string. - -2011-11-20 Andreas Schwab - - * m/ibms390.h: Remove. - * m/ibms390x.h: Don't include "ibms390.h". - -2011-11-20 Stefan Monnier - - * fileio.c (Finsert_file_contents): Add missing gcpro1 variable. - Suggested by Dmitry Antipov . - -2011-11-20 Juanma Barranquero - - * casetab.c (Fset_case_table): - * charset.c (Fcharset_after): Fix typos. - -2011-11-20 Paul Eggert - - Standardize on VIRT_ADDR_VARIES behavior (Bug#10042). - Otherwise, valgrind does not work on some platforms. - Problem reported by Andreas Schwab in - . - * puresize.h (pure, PURE_P): Always behave as if VIRT_ADDR_VARIES - is set, removing the need for VIRT_ADDRESS_VARIES. - (PURE_P): Use a more-efficient implementation that needs just one - comparison, not two: on x86-64 with GCC 4.6.2, this cut down the - number of instructions from 6 (xorl, cmpq, jge, xorl, cmpq, setge) - to 4 (xorl, subq, cmpq, setbe). - * alloc.c (pure): Always extern now, since that's the - VIRT_ADDR_VARIES behavior. - (PURE_POINTER_P): Use a single comparison, not two, for - consistency with the new puresize.h. - * lisp.h (PNTR_COMPARISON_TYPE): Remove; no longer needed. - * m/ibms390.h, m/intel386.h, m/template.h, s/cygwin.h, s/hpux10-20.h: - Remove VIRT_ADDR_VARIES no longer needed. - -2011-11-19 Eli Zaretskii - - * xdisp.c (x_write_glyphs, draw_phys_cursor_glyph) - (erase_phys_cursor, update_window_cursor, show_mouse_face) - (cursor_in_mouse_face_p): If the cursor position is out of bounds, - behave as if the cursor position were at the window margin. - - * window.c (get_phys_cursor_glyph): If the window is hscrolled, - and the cursor position is out of bounds, behave as if the cursor - position were at the window margin. (Bug#10075) - -2011-11-18 Chong Yidong - - * window.c (Fwindow_combination_limit): Make first argument - non-optional, since it is meaningless for live windows like the - selected window. - -2011-11-18 Dmitry Antipov - - * keymap.c (Fwhere_is_internal): Add missing RETURN_UNGCPROs. - -2011-11-18 Stefan Monnier - - * intervals.c: Fix grafting over the whole buffer (bug#10071). - (graft_intervals_into_buffer): Simplify. - -2011-11-18 Eli Zaretskii - - * dispnew.c (swap_glyph_pointers): Swap the used[] arrays and the - hash values of the two rows. - (copy_row_except_pointers): Preserve the used[] arrays and the - hash values of the two rows. (Bug#10035) - (add_row_entry): Add xassert to verify that ROW's hash code is valid. - - * xdisp.c (row_hash): New function, body extracted from - compute_line_metrics. - (compute_line_metrics): Call row_hash, instead of computing the - hash code inline. - - * dispnew.c (verify_row_hash): Call row_hash for computing the - hash code of a row, instead of duplicating code from xdisp.c. - - * dispextern.h (row_hash): Add prototype. - -2011-11-18 Tassilo Horn - - * frame.c (delete_frame): Don't delete the terminal when the last - X frame is closed if emacs is built with GTK toolkit. - -2011-11-17 Juanma Barranquero - - * window.c (syms_of_window) : Fix typo. - -2011-11-17 Martin Rudalics - - * window.c (Vwindow_splits): Rename to - Vwindow_combination_resize. Suggested by Juri Linkov. - (Fsplit_window_internal): Use Vwindow_combination_resize instead - of Vwindow_splits. - -2011-11-16 Juanma Barranquero - - * nsfns.m (Fns_font_name): - * window.c (syms_of_window) : Fix typos. - -2011-11-16 Martin Rudalics - - * window.h (window): Rename slot "nest" to "combination_limit". - * window.c (Fwindow_nest): Rename to Fwindow_combination_limit. - (Fset_window_nest): Rename to Fset_window_combination_limit. - (Vwindow_nest): Rename to Vwindow_combination_limit. - (recombine_windows, make_parent_window, make_window) - (Fsplit_window_internal, saved_window) - (Fset_window_configuration, save_window_save): Rename all - occurrences of window_nest to window_combination_limit. - -2011-11-15 Juanma Barranquero - - * image.c (imagemagick_load_image): Fix typo. - -2011-11-14 Eli Zaretskii - - * xdisp.c (display_line): Move the call to - highlight_trailing_whitespace before the call to - compute_line_metrics, since the latter needs to see the final - faces of all the glyphs to compute ROW's hash value. - Fixes assertion violations in row_equal_p. (Bug#10035) - -2011-11-14 Juanma Barranquero - - * w32proc.c (reader_thread): Don't check pending input if cp->fd < 0, - just return (bug#10044). - -2011-11-12 Eli Zaretskii - - * makefile.w32-in (HEAPSIZE): New variable, allows to build temacs - with user-defined heap size. Bump the default size of the temacs - heap to 27MB, to avoid memory warning when running temacs. - ($(TEMACS)): Use HEAPSIZE instead of a hardcoded value. - - * dispnew.c (scrolling_window): Fix incorrect indices in accessing - current_matrix and desired_matrix. (Bug#9990) - (verify_row_hash) [XASSERTS]: New function. - (adjust_glyph_matrix, row_equal_p): Use it in xassert to verify - that the hash value of glyph rows is correct. - -2011-11-12 Martin Rudalics - - * window.h (window): Remove splits slot. - * window.c (Fwindow_splits, Fset_window_splits): Remove. - (Fdelete_other_windows_internal, make_parent_window) - (make_window, Fsplit_window_internal, Fdelete_window_internal) - (Fset_window_configuration, save_window_save): Don't deal with - split status of windows. - (saved_window): Remove splits slot. - (Vwindow_splits): Rewrite doc-string. - -2011-11-11 Jan Djärv - - * xfns.c (unwind_create_frame): - * nsfns.m (unwind_create_frame): - * w32fns.c (unwind_create_frame): Use Fmemq to check if frame is in - Vframe_list (Bug#9999). - -2011-11-11 Dmitry Antipov - - * xdisp.c (syms_of_xdisp): Remove duplicated definition of Qtext. - -2011-11-11 Kenichi Handa - - * callproc.c (Fcall_process): Set the member dst_multibyte of - process_coding. - -2011-11-11 Johan Bockgård - - * xdisp.c (fill_composite_glyph_string): Always set s->face, to - avoid a crash (bug#9496). - -2011-11-09 Chong Yidong - - * window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges) - (Fwindow_inside_absolute_pixel_edges): Only allow live windows. - -2011-11-08 Paul Eggert - - * s/gnu.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS (Bug#9926). - -2011-11-08 Paul Eggert - - Avoid some portability problems by eschewing 'extern inline' functions. - The trivial performance wins aren't worth the portability hassles; see - - et seq. - * dispextern.h (window_box, window_box_height, window_text_bottom_y) - (window_box_width, window_box_left, window_box_left_offset) - (window_box_right, window_box_right_offset): Undo previous change, - by removing the "extern"s. - * intervals.c (adjust_intervals_for_insertion) - (adjust_intervals_for_deletion): Undo previous change, - making these static again. - (offset_intervals, temp_set_point_both, temp_set_point) - (copy_intervals_to_string): No longer inline. - * xdisp.c (window_text_bottom_y, window_box_width) - (window_box_height, window_box_left_offset) - (window_box_right_offset, window_box_left, window_box_right) - (window_box): No longer inline. - -2011-11-08 Chong Yidong - - * window.c (Fwindow_left_column, Fwindow_top_line): Doc fix. - (Fwindow_body_height, Fwindow_body_width): Move from Lisp. - Signal an error if not a live window. - (Fwindow_total_width, Fwindow_total_height): Move from Lisp. - (Fwindow_total_size, Fwindow_body_size): Move to Lisp. - -2011-11-07 Juanma Barranquero - - * lisp.h (syms_of_abbrev): Remove declaration. - Reported by CHENG Gao . - -2011-11-07 Eli Zaretskii - - * w32.c (check_windows_init_file): Don't look for term/w32-win.el - if Vpurify_flag is non-nil. Fixes a crash when running w32 build - of temacs in GUI mode. - -2011-11-07 Martin Rudalics - - * window.h: Declare delete_all_child_windows instead of - delete_all_subwindows. - * window.c (Fwindow_nest, Fset_window_nest) - (Fset_window_new_total, Fset_window_new_normal) - (Fwindow_resize_apply): Don't use term subwindow in doc-strings. - (delete_all_subwindows): Rename to delete_all_child_windows. - (Fdelete_other_windows_internal, Fset_window_configuration): - Call delete_all_child_windows instead of delete_all_subwindows. - * frame.c (delete_frame): Call delete_all_child_windows instead - of delete_all_subwindows. - -2011-11-07 Paul Eggert - - * alloc.c (DEADP): New macro, for porting to GNU/Hurd (Bug#9926). - This is also needed for porting to any host where GC_MARK_STACK is - not GC_MAKE_GCPROS_NOOPS. - (which_symbols): Use it. - -2011-11-07 Kenichi Handa - - * coding.c (coding_set_destination): Check coding->src_pos only - when coding->src_object is a buffer (bug#9910). - - * process.c (send_process): Set the member src_multibyte of coding - to 0 (bug#9911) when sending a unibyte text. - - * callproc.c (Fcall_process): Set the member src_multibyte of - process_coding to 0 (bug#9912). - -2011-11-06 YAMAMOTO Mitsuharu - - * xmenu.c (cleanup_widget_value_tree): New function. - (xmenu_show, xdialog_show): Use it in record_unwind_protect instead of - calling free_menubar_widget_value_tree directly (Bug#9830). - -2011-11-06 Paul Eggert - - Fix some portability problems with 'inline'. - * dispextern.h (window_box, window_box_height, window_text_bottom_y) - (window_box_width, window_box_left, window_box_left_offset) - (window_box_right, window_box_right_offset): Declare extern. - Otherwise, these inline functions do not conform to C99 and - are miscompiled by Microsoft compilers. Reported by Eli Zaretskii in - . - * intervals.c (adjust_intervals_for_insertion) - (adjust_intervals_for_deletion): Now extern, because otherwise the - extern inline functions 'offset_intervals' couldn't refer to it. - (static_offset_intervals): Remove. - (offset_intervals): Rewrite using the old contents of - static_offset_intervals. The old version didn't conform to C99 - because an extern inline function contained a reference to an - identifier with static linkage. - -2011-11-06 Andreas Schwab - - * keyboard.c (interrupt_signal): Don't call kill-emacs while in - GC. - -2011-11-06 Eli Zaretskii - - * xdisp.c (init_iterator, reseat_to_string): Don't set the - iterator's bidi_p flag if Vpurify_flag is non-nil. (Bug#9963) - (Fcurrent_bidi_paragraph_direction): If Vpurify_flag is non-nil, - return Qleft_to_right. - -2011-11-06 Chong Yidong - - * window.c (Fwindow_live_p, Fwindow_frame, Fframe_root_window) - (Fminibuffer_window, Fwindow_buffer, Fwindow_splits) - (Fset_window_splits, Fwindow_nest, Fset_window_nest) - (Fwindow_use_time, Fwindow_total_size, Fwindow_normal_size) - (Fwindow_new_normal, Fwindow_left_column, Fwindow_top_line) - (Fwindow_margins, Fwindow_fringes, Fwindow_scroll_bars) - (Fwindow_vscroll): Doc fix. - (Fwindow_top_child, Fwindow_left_child): Eliminate a nil default - argument, since it makes no sense to pass a live window and for - consistency with window-child. - -2011-11-05 Christoph Scholtes - - * makefile.w32-in ($(TEMACS), (gl-stamp)): Use $(THISDIR) to - support MSVC. - -2011-11-05 Jason Rumney - - * w32font.c (font_matches_spec): Filter out non-Japanese kana fonts. - (add_font_entity_to_list): Filter out non-Japanese Shift-JIS - fonts (Bug#6029). - (add_font_entity_to_list): Fix logic errors in mixed boolean and - bitwise arithmetic preventing use of unicode-sip and non-truetype - opentype fonts. - -2011-11-05 Eli Zaretskii - - * s/ms-w32.h (fstat, stat, utime): Move redirections to - "emacs"-only part. - - * w32fns.c (x_create_tip_frame, Fx_create_frame): Rearrange - initialization code to keep similarity to xfns.c after changes - from 2011-11-05. - -2011-11-05 Jan Djärv - - * nsfns.m: Declare image_cache_refcount if GLYPH_DEBUG. - (unwind_create_frame): New function (Bug#9943). - (Fx_create_frame): Restructure code to be more similar to the one in - xfns.c. Call record_unwind_protect with unwind_create_frame (Bug#9943). - Initialize image_cache_refcount if GLYPH_DEBUG (Bug#9943). - Move terminal->reference_count++ just before making the frame official - (Bug#9943). - - * nsterm.m (x_free_frame_resources): New function. - (x_destroy_window): Move code to x_free_frame_resources. - - * xfns.c (unwind_create_frame): Fix comment. - (Fx_create_frame, x_create_tip_frame): - Move terminal->reference_count++ just before making the frame - official. Move initialization of image_cache_refcount and - dpyinfo_refcount before calling init_frame_faces (Bug#9943). - -2011-11-05 Eli Zaretskii - - Support MSVC build with newer versions of Visual Studio. - * makefile.w32-in (TAGS-gmake): Don't use $(patsubst ...), as - Nmake barfs on that. Use $(OBJ*_c) variables instead, defined on - nt/gmake.defs. - - * lisp.h (ENUM_BF): New macro, for enumerated types in bitfields, - which are not supported by MSVC. - (Lisp_Symbol, Lisp_Misc_Any, Lisp_Marker, Lisp_Misc_Overlay) - (Lisp_Save_Value, Lisp_Free): Use ENUM_BF for enumerated types in - bitfields. - (Lisp_Object) [USE_LISP_UNION_TYPE]: Use ENUM_BF for enumerated - types in bitfields. - (DEFUN) [_MSC_VER]: Define in a different way for MSVC. - - * w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version. - -2011-11-05 Fabrice Popineau (tiny change) - - Support MSVC build with newer versions of Visual Studio. - * w32.c: Don't include w32api.h for MSVC. - (init_environment) [_MSC_VER]: Call sys_access, not _access. - - * s/ms-w32.h [_MSC_VER]: Typedefs for MSVC. - [_MSC_VER]: Include sys/timeb.h, sys/stat.h, and signal.h. - (fstat, stat, utime) [_MSC_VER]: Redirect to their sys_* cousins. - (malloc, free, realloc, calloc) [_MSC_VER]: Always redirect to the - e_* cousins. - (alloca) [_MSC_VER]: Define to _alloca. - - * lisp.h (DECL_ALIGN) [_MSC_VER]: Define for MSVC. - - * regex.c [_MSC_VER]: A separate definition for MSVC. - -2011-11-04 Eli Zaretskii - - * xdisp.c (note_mouse_highlight): If either of - previous/next-single-property-change returns nil, treat that as - the beginning or the end of the buffer. (Bug#9955) - -2011-11-04 Jan Djärv - - * gtkutil.c (xg_make_tool_item): Add callbacks if one of wimage or - label is not null (Bug#9951). - (xg_tool_item_stale_p): Handle the fact that wimage and/or wlbl - may be NULL. - -2011-11-04 Eli Zaretskii - - * window.c (Fwindow_body_size): Mention in the doc string that the - return value is in frame's canonical units. (Bug#9949) - -2011-11-03 Eli Zaretskii - - * xdisp.c (note_mouse_highlight): Initialize `area'. (Bug#9947) - - * w32fns.c (unwind_create_frame): If needed, free the glyph - matrices of the partially constructed frame. (Bug#9943) - * xfns.c (unwind_create_frame): Likewise. - -2011-11-01 Eli Zaretskii - - * xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment. - Don't stop backward scan on the continuation glyph, even though - its CHARPOS is positive. - (mouse_face_from_buffer_pos, note_mouse_highlight): - Rename cover_string to disp_string. - -2011-11-01 Martin Rudalics - - * window.c (temp_output_buffer_show): Don't use - Vtemp_buffer_show_specifiers. - (Vtemp_buffer_show_specifiers): Remove unused variable. - -2011-10-30 Eli Zaretskii - - * xdisp.c (try_cursor_movement): Make sure ROW isn't decremented - past the beginning of the current glyph matrix. - -2011-10-30 Adam Sjøgren (tiny change) - - * xterm.c: Include X11/Xproto.h if HAVE_GTK3. - (x_error_handler): Ignore BadMatch for X_SetInputFocus for - HAVE_GTK3 (Bug#9869). - - * gtkutil.c (xg_win_to_widget, xg_event_is_for_menubar): Initialize - type to GDK_NOTHING so valgrind does not complain (Bug#9901). - - * xterm.h (x_display_info): Add Xatom_net_wm_state_hidden (Bug#9893). - - * xterm.c: Declare x_handle_net_wm_state to return int. - (handle_one_xevent): Check if we are iconified but don't have - _NET_WM_STATE_HIDDEN. If do, treat as deiconify (Bug#9893). - (get_current_wm_state): Return non-zero if not hidden, - check for _NET_WM_STATE_HIDDEN (Bug#9893). - (do_ewmh_fullscreen): Ignore return value from get_current_wm_state. - (x_handle_net_wm_state): Return what get_current_wm_state returns. - (x_term_init): Initialize dpyinfo->Xatom_net_wm_state_hidden. - -2011-10-29 Paul Eggert - - * alloc.c (which_symbols): Declare EXTERNALLY_VISIBLE, - so that this new function doesn't get optimized away by a - whole-program optimizer. Make the 2nd arg EMACS_INT, not int. - -2011-10-29 Andreas Schwab - - * frame.h (MOUSE_HL_INFO): Remove excess parens. - -2011-10-29 Eli Zaretskii - - Fix the `xbytecode' command. - * .gdbinit (xprintbytestr): New command. - (xwhichsymbols): Rename from `which'; all callers changed. - (xbytecode): Print the byte-code string as well. - -2011-10-29 Kim Storm - - * alloc.c (which_symbols): New function. - -2011-10-29 Andreas Schwab - - * minibuf.c (read_minibuf_noninteractive): Allow reading empty - line. (Bug#9903) - -2011-10-29 Glenn Morris - - * process.c (wait_reading_process_output): Revert 2009-08-30 change. - Not clear what it was for, and it causes various bugs. (Bug#9839) - -2011-10-28 Eli Zaretskii - - * xdisp.c (note_mouse_highlight): Initialize `part', to avoid a - possible random value that matches one of those tested as - condition to clear the mouse face. - -2011-10-28 Chong Yidong - - * xdisp.c (note_mouse_highlight): Fix use of uninitialized var. - -2011-10-28 Dan Nicolaescu - - * window.c (make_window): Initialize phys_cursor_on_p. - -2011-10-28 Stefan Monnier - - * lisp.h (struct Lisp_Symbol): Update comments. - -2011-10-28 Juanma Barranquero - - * w32font.c (w32_load_unicows_or_gdi32): Add missing return. - -2011-10-28 Eli Zaretskii - - Fix Emacs on Windows 9X (bug#8562). Thanks to oslsachem - for helping to debug this. - - * w32font.c (g_b_init_is_w9x, g_b_init_get_outline_metrics_w) - (g_b_init_get_text_metrics_w, g_b_init_get_glyph_outline_w) - (g_b_init_get_glyph_outline_w): New static variables. - (GetOutlineTextMetricsW_Proc, GetTextMetricsW_Proc) - (GetGlyphOutlineW_Proc): New typedefs. - (w32_load_unicows_or_gdi32, get_outline_metrics_w) - (get_text_metrics_w, get_glyph_outline_w, globals_of_w32font): - New functions. - (w32font_open_internal, compute_metrics): - Call get_outline_metrics_w, get_text_metrics_w, and get_glyph_outline_w - instead of calling the "wide" APIs directly. - - * emacs.c (main) [HAVE_NTGUI]: Call globals_of_w32font. - - * w32.h (syms_of_w32font): Add prototype. - -2011-10-27 Juanma Barranquero - - * window.c (Fframe_root_window, Fframe_first_window, Fwindow_end) - (Fframe_selected_window, Ftemp_output_buffer_show, Fnext_window) - (Fdelete_window_internal, Fwindow_parameters): Fix typos in docstrings. - (Fmove_to_window_line): Doc fix. - -2011-10-27 Chong Yidong - - * process.c (make_process): Set gnutls_state to NULL. - - * gnutls.c (emacs_gnutls_deinit): Deinit the gnutls_state if it is - non-NULL, regardless of GNUTLS_INITSTAGE. - (Fgnutls_boot): Cleanups. Call emacs_gnutls_deinit if we signal - an error. Set process slots as soon as we allocate them. - - * gnutls.h (GNUTLS_LOG, GNUTLS_LOG2): Fix macros. - -2011-10-27 Chong Yidong - - * gnutls.c (emacs_gnutls_deinit): New function. - Deallocate credentials structures as well as calling gnutls_deinit. - (Fgnutls_deinit, Fgnutls_boot): Use it. - - * process.c (make_process): Initialize GnuTLS credentials to NULL. - (deactivate_process): Call emacs_gnutls_deinit. - -2011-10-27 Juanma Barranquero - - * image.c (x_create_x_image_and_pixmap): - * w32.c (sys_rename, w32_delayed_load): - * w32font.c (fill_in_logfont): - * w32reg.c (x_get_string_resource): Silence compiler warnings. - -2011-10-26 Juanma Barranquero - - * w32fns.c (w32_default_color_map): New function, - extracted from Fw32_default_color_map. - (Fw32_default_color_map, Fx_open_connection): Use it. (Bug#9785) - -2011-10-25 Paul Eggert - - * dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2). - -2011-10-25 Stefan Monnier - - * keyboard.c (test_undefined): New function (bug#9751). - (read_key_sequence): Use it to detect when a key is bound to `undefined'. - -2011-10-25 Enami Tsugutomo - - * sysdep.c (init_sys_modes): Fix the check for the controlling - terminal (Bug#6649). - -2011-10-20 Eli Zaretskii - - * dispextern.h (struct bidi_it): New member next_en_type. - - * bidi.c (bidi_line_init): Initialize the next_en_type member. - (bidi_resolve_explicit_1): When next_en_pos is valid for the - current character, check also for next_en_type being WEAK_EN. - (bidi_resolve_weak): Don't enter the expensive loop if the current - position is before next_en_pos. Record the bidi type of the first - non-ET, non-BN character we find, in addition to its position. - (bidi_level_of_next_char): Invalidate next_en_type when - next_en_pos is over-stepped. - -2011-10-20 Paul Eggert - - Time zone name fixes for non-ASCII locales (Bug#641, Bug#9794) - * editfns.c: Rewrite current-time-zone so that it invokes - the equivalent of (format-time-string "%Z") to get the time zone name. - This fixes a bug when the time zone name contains characters that - need converting from the system time locale to Emacs internal format. - This fixes a shortcoming that I introduced in my 1999-10-19 patch: - that patch fixed format-time-string to do the conversion, but - I forgot to fix current-time-zone. - (format_time_string): New function, containing most of - what Fformat_time_string used to contain. - (Fformat_time_string): Rewrite in terms of format_time_string. - This doesn't change this function's behavior. - (current-time-zone): Rewrite to use format_time_string. - This fixes the bug reported by Michael Schierl in - . - Jason Rumney's 2007-06-07 change worked around this bug, but - didn't fix it. - * systime.h (tzname, timezone): Remove no-longer-used declarations. - -2011-10-19 Eli Zaretskii - - * xdisp.c (start_display): If the character at POS is displayed - via a display vector, reset IT->current.dpvec_index to zero. - (try_window_reusing_current_matrix): If a line ends in a display - vector or the next line starts in a display vector, continue - redrawing the window even though the character position of - start_row was reached. - (Bug#9771, part 2) - -2011-10-18 Chong Yidong - - * xdisp.c (get_next_display_element): Handle U+2010 and U+2011 - with nobreak-char-display too. - -2011-10-18 Eli Zaretskii - - Fix part 3 of bug#9771. - * bidi.c (bidi_line_init): Initialize next_en_pos to zero, not -1. - (bidi_resolve_neutral): Don't enter the expensive loop looking for - non-neutral characters if the current character is a paragraph - separator (a.k.a. Newline). This avoids running the same - expensive loop twice, once when we consume the preceding newline - and the other time when the line actually needs to be displayed. - Avoid the loop when we see neutrals on the base embedding level - following a character whose directionality is the same as the - paragraph's. This avoids running the expensive loop when a line - ends in a long sequence of neutrals, like control characters. - Add assertion against STRONG_AL type. Slightly rearrange code - that determines the type of a neutral given the first non-neutral - that follows it. - (bidi_level_of_next_char): Set next_en_pos to zero when - invalidating its info. - -2011-10-17 Eli Zaretskii - - * xdisp.c (push_display_prop): Determine whether to record string - or buffer position by IT->string, not by IT->method. Allow - GET_FROM_DISPLAY_VECTOR as IT->method on entry. (Bug#9771, part 4) - (move_it_vertically_backward): Don't look for character position - immediately after the newline when in a continuation line. - (Bug#9771, part 1) - -2011-10-15 Martin Rudalics - - * window.c (coordinates_in_window): Rewrite and delabelize - vertical border check. (Bug#5357) (Bug#9618) - -2011-10-14 Stefan Monnier - - * xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained - errors in XSetWindowBorder (bug#9310). - -2011-10-13 Dmitry Antipov - - * editfns.c (Fset_time_zone_rule): Replace free with xfree to - avoid crash when xmalloc overrun checking is enabled. - -2011-10-13 Eli Zaretskii - - * xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize - itb.paragraph_dir to NEUTRAL_DIR. Fixes an occasional incorrect - cursor motion with and arrow keys. - - * bidi.c (bidi_init_it): Don't initialize paragraph_dir here, as - some callers set that themselves. - -2011-10-12 Eli Zaretskii - - * xdisp.c (find_row_edges): Handle the case where ROW comes from a - display string and the previous row comes from the same string and - is empty. (Bug#9739) (Bug#9738) - -2011-10-12 Stefan Monnier - - * doc.c (get_doc_string): Encode file name (bug#9735). - -2011-10-12 Eli Zaretskii - - * bidi.c (bidi_level_of_next_char): - * xdisp.c (get_visually_first_element): Remove old incorrect - comments regarding the Unicode Line Separator character. - - * bidi.c (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR. - -2011-10-12 Dmitry Antipov - - * alloc.c (Fgc_status): Do not access beyond zombies array - boundary if nzombies > MAX_ZOMBIES. - * alloc.c (dump_zombies): Add missing format specifier. - -2011-10-12 Paul Eggert - - * xdisp.c (set_cursor_from_row): Simplify conditionals, - to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow. - - * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff. - Some packages use them to denote characters with modifiers. - -2011-10-11 Andreas Schwab - - * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR) - (GCPRO5_VAR, GCPRO6_VAR, UNGCPRO_VAR): Add whitespace to avoid - matching a pp-number. Rename parameter var to var1. - -2011-10-11 Stefan Monnier - - * minibuf.c (Finternal_complete_buffer): Fix last change (bug#9709). - -2011-10-08 Glenn Morris - - * callint.c (Fcall_interactively): Give a more explicit error for the - 'c' case with a non-character input. (Bug#8479) - -2011-10-08 Eli Zaretskii - - * xdisp.c (hscroll_window_tree): Support hscroll in right-to-left - lines. - (set_cursor_from_row): Fix cursor positioning in mixed L2R+R2L - lines that are hscrolled on the left. - - * dispnew.c (buffer_posn_from_coords): Account for a possible - presence of header-line. (Bug#4426) - -2011-10-07 Stefan Monnier - - * buffer.c (syms_of_buffer) : - Don't advertise functionality which we discourage or doesn't work. - -2011-10-07 Paul Eggert - - * alloc.c (GC_LISP_OBJECT_ALIGNMENT): Use offsetof, not __alignof__ - or sizeof. __alignof__ gives the wrong answer on Fedora x86-64 - with GCC 4.6.1 when configured with CC='gcc -m32' --with-wide-int; - this makes Emacs dump core during garbage collection on rare - occasions. sizeof is obviously inferior to offsetof here, so - stick with offsetof. - (GC_POINTER_ALIGNMENT): New macro. - (mark_memory): Omit 3rd (offset) arg; caller changed. - Don't assume EMACS_INT alignment is the same as pointer alignment. - -2011-10-03 Stefan Monnier - - * keyboard.c (read_key_sequence_remapped): New var. - (read_key_sequence): Compute remapping in the right buffer. - (command_loop_1): Use read_key_sequence's remapping directly. - -2011-10-02 Stefan Monnier - - * dired.c (file_name_completion): Don't expand file name. - (Ffile_name_completion, Ffile_name_all_completions): Expand file name - before checking file name handler. - - * minibuf.c (Finternal_complete_buffer): Only show internal buffers if - they've been requested explicitly (bug#9591). - -2011-10-01 Andreas Schwab - - * keymap.c (Fsingle_key_description): Use make_specified_string - instead of build_string to build string from push_key_description. - (Bug#5193) - -2011-09-30 Paul Eggert - - * buffer.h (struct buffer): Use time_t, not int, for a time stamp. - This fixes a Y2038 bug on 64-bit hosts. - * buffer.c (reset_buffer): - * fileio.c (Fdo_auto_save, Fset_buffer_auto_saved) - (Fclear_buffer_auto_save_failure): - Use 0, not -1, to represent an unset failure time, since time_t - might not be signed. - - Remove dependency on glibc malloc internals. - * alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE): - Move back here from lisp.h, but with their new implementations. - (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT) - (XMALLOC_OVERRUN_SIZE_SIZE): Move these new lisp.h macros here. - * charset.c (charset_table_init): New static var. - (syms_of_charset): Use it instead of xmalloc. This removes a - dependency on glibc malloc internals. See Eli Zaretskii's comment in - . - * lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE): - Move back to alloc.c. - (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT) - (XMALLOC_OVERRUN_SIZE_SIZE): Move to alloc.c. - -2011-09-30 Jan Djärv - - * nsterm.m (windowDidResize): Call x_set_window_size only when - ns_in_resize is true. Otherwise set pixelwidth/height and - call change_frame_size (Bug#9628). - -2011-09-30 Paul Eggert - - Port --enable-checking=all to Fedora 14 x86-64. - * charset.c (syms_of_charset): Also account for glibc malloc's - internal overhead when calculating the initial malloc maximum. - - Port --enable-checking=all to Fedora 14 x86. - * alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE): - Move to lisp.h. - (xmalloc_put_size, xmalloc_get_size, overrun_check_malloc) - (overrun_check_realloc, overrun_check_free): - Use XMALLOC_OVERRUN_SIZE_SIZE, not sizeof (size_t). - That way, xmalloc returns a properly-aligned pointer even if - XMALLOC_OVERRUN_CHECK is defined. The old debugging code happened - to align OK on typical 64-bit hosts, but not on Fedora 14 x86. - * charset.c (syms_of_charset): Take XMALLOC_OVERRUN_CHECK_OVERHEAD - into account when calculating the initial malloc maximum. - * lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE): - Move here from alloc.c, so that charset.c can use it too. - Properly align; the old code wasn't right for common 32-bit hosts - when configured with --enable-checking=all. - (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT) - (XMALLOC_OVERRUN_SIZE_SIZE): New macros. - -2011-09-29 Eli Zaretskii - - * sysdep.c (snprintf) [!EOVERFLOW]: If EOVERFLOW is not defined, - use EDOM. - -2011-09-28 Eli Zaretskii - - * xdisp.c (compute_display_string_end): If there's no display - string at CHARPOS, return -1. - - * bidi.c (bidi_fetch_char): When compute_display_string_end - returns a negative value, treat the character as a normal - character not covered by a display string. (Bug#9624) - -2011-09-28 Juanma Barranquero - - * lread.c (Fread_from_string): Fix typo in docstring. - -2011-09-27 Eli Zaretskii - - * xdisp.c (handle_invisible_prop): If invisible text ends on a - newline, reseat the iterator instead of bidi-iterating there one - character at a time. (Bug#9610) - (BUFFER_POS_REACHED_P, move_it_in_display_line_to): Bail when past - TO_CHARPOS if the bidi iterator is at base embedding level. - -2011-09-27 Andreas Schwab - - * lread.c (readevalloop): Use correct code for NBSP. - (read1): Likewise. (Bug#9608) - -2011-09-25 Michael Albinus - - * dbusbind.c (Fdbus_register_signal): When service is not - registered, use nil in Vdbus_registered_objects_table. (Bug#9581) - -2011-09-25 Glenn Morris - - * buffer.c (truncate-lines): Doc fix. - -2011-09-24 Chong Yidong - - * window.c (Fwindow_prev_buffers, Fset_window_prev_buffers) - (Fset_window_next_buffers): Doc fix. - -2011-09-24 Glenn Morris - - * minibuf.c (read_minibuf): Disable line truncation. (Bug#5715) - -2011-09-24 Paul Eggert - - Fix minor problems found by static checking. - * xdisp.c (string_from_display_spec): Don't assume vecsize fits in int. - * indent.c (Fvertical_motion): Fix == vs = typo. - -2011-09-24 Eli Zaretskii - - * dispnew.c (syms_of_display) : - Default value is now t. Doc fix. - - * indent.c (Fvertical_motion): Compute and apply the overshoot - logic when moving up, not only when moving down. Fix the - confusing name and values of the it_overshoot_expected variable; - logic changes accordingly. (Bug#9254) (Bug#9549) - - * xdisp.c (pos_visible_p): Produce correct pixel coordinates when - CHARPOS is covered by a display string which includes newlines. - (move_it_vertically_backward): Avoid inflooping when START_CHARPOS - is covered by a display string with embedded newlines. - -2011-09-24 Michael Albinus - - * dbusbind.c (Fdbus_register_signal): Add match rule to - Vdbus_registered_objects_table. (Bug#9581) - (Fdbus_register_method, Vdbus_registered_objects_table): - Fix docstring. - -2011-09-24 Jim Meyering - - do not ignore write error for any output size - The previous change was incomplete. - While it makes emacs --batch detect the vast majority of stdout - write failures, errors were still ignored whenever the output size is - k * (BUFSIZ+1) - 4. E.g., on a system with BUFSIZ of 4096, - $ emacs --batch --eval '(print (format "%4093d" 0))' > /dev/full \ - && echo FAIL: ignored write error - FAIL: ignored write error - $ emacs --batch --eval '(print (format "%20481d" 0))' > /dev/full \ - && echo FAIL: ignored write error - FAIL: ignored write error - * emacs.c (Fkill_emacs): Also test ferror. (Bug#9574) - -2011-09-23 Andreas Schwab - - * emacs.c (Fkill_emacs): In noninteractive mode exit - non-successfully if a write error occurred on stdout. (Bug#9574) - -2011-09-21 Eli Zaretskii - - * xdisp.c (pop_it): Allow it->object that is a cons cell to pass - the xassert test. - - * dispextern.h (struct it): Update the comment documenting what - can it->OBJECT be. - -2011-09-20 Eli Zaretskii - - * xdisp.c (set_cursor_from_row): If the row ends in a newline from - a display string, extend search for cursor position to end of row. - (find_row_edges): If the row ends in a newline from a display - string, increment its MATRIX_ROW_END_CHARPOS by one. (Bug#9549) - Handle the case of a display string with multiple newlines. - (Fcurrent_bidi_paragraph_direction): Fix search for previous - non-empty line. Fixes confusing cursor motion with arrow keys at - the beginning of a line that starts with whitespace. - -2011-09-19 Lars Magne Ingebrigtsen - - * lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is - (bug#9493). - -2011-09-18 Chong Yidong - - * xfns.c (Fx_create_frame): Handle the bitmapIcon resource as - boolean (Bug#9154). - -2011-09-18 Eli Zaretskii - - * xdisp.c (display_line): Record maximum and minimum buffer - positions even if no glyphs were produced (e.g., by a zero-width - stretch). Fixes bug#9530 on a TTY. Under word-wrap, don't record - buffer positions that will be removed from the glyph row because - they don't fit. - (produce_stretch_glyph): Fix a bug in :align-to on a TTY when the - column is beyond frame width: don't subtract 1 "pixel" when - computing width of the stretch. - (reseat_at_next_visible_line_start): Undo the change made on - 2011-09-17 that saved paragraph information and restored it after - the call to `reseat'. (Bug#9545) - -2011-09-18 YAMAMOTO Mitsuharu - - * xdisp.c (expose_window): Save original value of phys_cursor_on_p - and turn window cursor on if cleared (Bug#9415). - -2011-09-18 Andreas Schwab - - * search.c (boyer_moore): Take unibyte characters from pattern - literally. (Bug#9458) - -2011-09-18 Eli Zaretskii - - * xdisp.c (reseat_at_next_visible_line_start): Fix last change. - -2011-09-18 Paul Eggert - - Fix minor problem found by static checking. - * xdisp.c (reseat_at_next_visible_line_start): Mark locals as - initialized, to pacify gcc -Wuninitialized. - - * fileio.c: Report proper errno when syscall falls. - (Finsert_file_contents): Save and restore errno, - so that report_file_error outputs the correct diagnostic. - (Fwrite_region) [CLASH_DETECTION]: Likewise. - -2011-09-18 Eli Zaretskii - - * .gdbinit (pgx): Fix references to fields of `struct glyph'. - -2011-09-17 Eli Zaretskii - - * xdisp.c (produce_stretch_glyph): Another fix for changes made on - 2011-08-30T17:32:44Z!eliz@gnu.org. (Bug#9530) - -2011-09-17 Eli Zaretskii - - * xdisp.c (reseat_at_next_visible_line_start): Keep information - about the current paragraph and restore it after the call to reseat. - - * bidi.c (MAX_PARAGRAPH_SEARCH): New macro. - (bidi_find_paragraph_start): Search back for paragraph beginning - at most MAX_PARAGRAPH_SEARCH lines; if not found, return BEGV_BYTE. - (bidi_move_to_visually_next): Only trigger paragraph-related - computations when the last character is a newline or at EOB, not - just any NEUTRAL_B. (Bug#9470) - - * xdisp.c (set_cursor_from_row): Don't invoke special treatment of - truncated lines if point is covered by a display string. (Bug#9524) - -2011-09-16 Paul Eggert - - * xselect.c: Relax test for outgoing X longs (Bug#9498). - (cons_to_x_long): New function. - (lisp_data_to_selection_data): Use it. Correct the test for - short-versus-long data; it was negated. Break out of vector - loop, for efficiency, when a long datum is discovered. - -2011-09-16 Stefan Monnier - - * eval.c (Fquote): Document its non-consing behavior (bug#9482). - -2011-09-16 Eli Zaretskii - - * image.c (tiff_handler): Work around a bug in MinGW GCC 3.x (see - GCC PR/17406) by declaring this function with external scope. - -2011-09-15 Paul Eggert - - * editfns.c (Fformat): Fix bug in text-property fix (Bug#9514). - Don't mishandle (length (format "%%")) and (format "%4000s%%" ""). - -2011-09-15 Andreas Schwab - - * editfns.c (Fformat): Correctly handle text properties on "%%". - -2011-09-15 Eli Zaretskii - - * xterm.c (x_draw_composite_glyph_string_foreground): - * w32term.c (x_draw_composite_glyph_string_foreground): - * term.c (encode_terminal_code): - * composite.c (composition_update_it, get_composition_id): - * xdisp.c (get_next_display_element) - (fill_composite_glyph_string): Add comments about special meaning - of TAB characters in a composition. - -2011-09-15 Paul Eggert - - * editfns.c (Fformat): Fix off-by-1 bug for "%%b" (Bug#9514). - This occurs when processing a multibyte format. - Problem reported by Wolfgang Jenker. - -2011-09-15 Johan Bockgård - - * xdisp.c (try_cursor_movement): Only check for exact match if - cursor hpos found by set_cursor_from_row is valid. (Bug#9495) - -2011-09-14 Paul Eggert - - Remove unused external symbols. - * dispextern.h (calc_pixel_width_or_height): Remove decl. - * xdisp.c (calc_pixel_width_or_height): Now static. - * doprnt.c (exprintf) [! (HAVE_X_WINDOWS && USE_X_TOOLKIT)]: Remove. - * indent.c (check_display_width): - * w32term.c: Fix comment to match code. - * xterm.c, xterm.h (x_catching_errors): Remove. - -2011-09-14 Paul Eggert - - * xselect.c: Use signed conversions more consistently (Bug#9498). - (selection_data_to_lisp_data): Assume incoming selection data are - signed integers, not unsigned. This is to be consistent with - outgoing selection data, which was modified to use signed integers - in as part of the fix to Bug#9196 in response to Jan D.'s comment - in that X11 - expects long, not unsigned long. - -2011-09-14 Eli Zaretskii - - * xdisp.c (try_window_reusing_current_matrix): Fix incorrect - computation of loop end. Reported by Johan Bockgård - . - -2011-09-13 Chong Yidong - - * frame.c (Fother_visible_frames_p): Function deleted. - -2011-09-12 Eli Zaretskii - - * indent.c (compute_motion): Process display vector front to back - rather than the other way around. (Bug#2496) - -2011-09-12 Stefan Monnier - - * fileio.c (Finsert_file_contents): Don't assume beg_offset is 0. - -2011-09-11 Chong Yidong - - * minibuf.c (Fread_from_minibuffer): Doc fix. - -2011-09-11 Eli Zaretskii - - * xdisp.c (produce_stretch_glyph): Fix a typo made in changes from - 2011-08-30T17:32:44Z!eliz@gnu.org. (Bug#9475) - -2011-09-11 Lars Magne Ingebrigtsen - - * fileio.c (Fvisited_file_modtime): Document `(-1 65535)' as a - value for non-existent files. - -2011-09-11 Eli Zaretskii - - * fileio.c (Finsert_file_contents): If the file cannot be opened, - set its "size" to -1. This will set the modtime_size field of - the corresponding buffer to -1, which is what - verify-visited-file-modtime expects for files that do not exist. - (Bug#9139) - -2011-09-11 Paul Eggert - - * keymap.h (KEY_DESCRIPTION_SIZE, push_key_description): Move decls - here ... - * lisp.h: ... from here. push_key_description is no longer - defined in keyboard.c, so its declaration should not be in - lisp.h's "Defined in keyboard.c" section, and KEY_DESCRIPTION_SIZE - logically belongs with push_key_description. - -2011-09-10 Paul Eggert - - * buffer.h: Include instead of . - Otherwise, off_t wasn't defined on FreeBSD 9.0-BETA2 i386. - Problem reported by Herbert J. Skuhra. - -2011-09-10 Lars Magne Ingebrigtsen - - * xml.c (parse_region): Make the parsing work for - non-comment-starting XML files again (bug#9144). - -2011-09-10 Andreas Schwab - - * image.c (gif_load): Fix calculation of bottom and right corner. - (Bug#9468) - -2011-09-10 Eli Zaretskii - - * xdisp.c (MAX_DISP_SCAN): Decrease to 250. Prevents sluggish - redisplay in small windows. - -2011-09-09 Eli Zaretskii - - * frame.c (x_report_frame_params): Cast to avoid compiler warnings. - -2011-09-08 Martin Rudalics - - * window.c (Fset_window_prev_buffers, Fset_window_next_buffers): - Operate on live windows only. - -2011-09-08 Juanma Barranquero - - * emacs.c (my_heap_start): #ifdef to avoid warnings when unused. - -2011-09-07 Eli Zaretskii - - * xdisp.c (move_it_in_display_line_to): Call RESTORE_IT on ppos_it - only under bidi iteration. - -2011-09-07 Jan Djärv - - * gtkutil.c (xg_make_tool_item): Insert comment about eventbox. - -2011-09-06 Paul Eggert - - isnan: Fix porting problem to Solaris 10 with bundled gcc. - Without this fix, the command to link temacs failed due to an - undefined symbol __builtin_isnan. This is because - /usr/include/iso/math_c99.h #defines isnan(x) to - __builtin_isnan(x), but the bundled gcc, which identifies itself - as gcc 3.4.3 (csl-sol210-3_4-branch+sol_rpath), does not have - a __builtin_isnan. - * floatfns.c (isnan): #undef, and then #define to a clone of - what's in data.c. - (Fisnan): Always define, since it's always available now. - (syms_of_floatfns): Always define isnan at the Lisp level. - -2011-09-06 Paul Eggert - - * Makefile.in (gl-stamp): move-if-change now in build-aux (Bug#9169). - -2011-09-06 Paul Eggert - - * fileio.c: Fix bugs with large file offsets (Bug#9428). - The previous code assumed that file offsets (off_t values) fit in - EMACS_INT variables, which is not true on typical 32-bit hosts. - The code messed up by falsely reporting buffer overflow in cases - such as (insert-file-contents "big" nil 1 2) into an empty buffer - when "big" contains more than 2**29 bytes, even though this - inserts just one byte and does not overflow the buffer. - (Finsert_file_contents): Store file offsets as off_t - values, not as EMACS_INT values. Check for overflow when - converting between EMACS_INT and off_t. When checking for - buffer overflow or for overlap, take the offsets into account. - Don't use EMACS_INT for small values where int suffices. - When checking for overlap, fix a typo: ZV was used where - ZV_BYTE was intended. - (Fwrite_region): Don't assume off_t fits into 'long'. - * buffer.h (struct buffer.modtime_size): Now off_t, not EMACS_INT. - -2011-09-05 Michael Albinus - - * dbusbind.c (xd_signature_cat): Rename from signature_cat. - -2011-09-04 Paul Eggert - - sprintf-related integer and memory overflow issues (Bug#9412). - - * doprnt.c (doprnt): Support printing ptrdiff_t and intmax_t values. - (esprintf, exprintf, evxprintf): New functions. - * keyboard.c (command_loop_level): Now EMACS_INT, not int. - (cmd_error): Kbd macro iterations count is now EMACS_INT, not int. - (modify_event_symbol): Do not assume that the length of - name_alist_or_stem is safe to alloca and fits in int. - (Fexecute_extended_command): Likewise for function name and binding. - (Frecursion_depth): Wrap around reliably on integer overflow. - * keymap.c (push_key_description): First arg is now EMACS_INT, not int, - since some callers pass EMACS_INT values. - (Fsingle_key_description): Don't crash if symbol name contains more - than MAX_ALLOCA bytes. - * minibuf.c (minibuf_level): Now EMACS_INT, not int. - (get_minibuffer): Arg is now EMACS_INT, not int. - * lisp.h (get_minibuffer, push_key_description): Reflect API changes. - (esprintf, exprintf, evxprintf): New decls. - * window.h (command_loop_level, minibuf_level): Reflect API changes. - - * dbusbind.c (signature_cat): New function. - (xd_signature, Fdbus_register_signal): - Do not overrun buffer; instead, report string overflow. - - * dispnew.c (add_window_display_history): Don't overrun buffer. - Truncate instead; this is OK since it's just a log. - - * editfns.c (Fcurrent_time_zone): Don't overrun buffer - even if the time zone offset is outlandishly large. - Don't mishandle offset == INT_MIN. - - * emacs.c (main) [NS_IMPL_COCOA]: Don't overrun buffer - when creating daemon; the previous buffer-overflow check was incorrect. - - * eval.c (verror): Simplify by rewriting in terms of evxprintf, - which has the guts of the old verror function. - - * filelock.c (lock_file_1, lock_file): Don't blindly alloca long name; - use SAFE_ALLOCA instead. Use esprintf to avoid int-overflow issues. - - * font.c: Include , for DBL_MAX_10_EXP. - (font_unparse_xlfd): Don't blindly alloca long strings. - Don't assume XINT result fits in int, or that XFLOAT_DATA * 10 - fits in int, when using sprintf. Use single snprintf to count - length of string rather than counting it via multiple sprintfs; - that's simpler and more reliable. - (font_unparse_fcname): Use it to avoid sprintf buffer overrun. - (generate_otf_features) [0 && HAVE_LIBOTF]: Use esprintf, not - sprintf, in case result does not fit in int. - - * fontset.c (num_auto_fontsets): Now printmax_t, not int. - (fontset_from_font): Print it. - - * frame.c (tty_frame_count): Now printmax_t, not int. - (make_terminal_frame, set_term_frame_name): Print it. - (x_report_frame_params): In X, window IDs are unsigned long, - not signed long, so print them as unsigned. - (validate_x_resource_name): Check for implausibly long names, - and don't assume name length fits in 'int'. - (x_get_resource_string): Don't blindly alloca invocation name; - use SAFE_ALLOCA. Use esprintf, not sprintf, in case result does - not fit in int. - - * gtkutil.c: Include , for DBL_MAX_10_EXP. - (xg_check_special_colors, xg_set_geometry): - Make sprintf buffers a bit bigger, to avoid potential buffer overrun. - - * lread.c (dir_warning): Don't blindly alloca buffer; use SAFE_ALLOCA. - Use esprintf, not sprintf, in case result does not fit in int. - - * macros.c (executing_kbd_macro_iterations): Now EMACS_INT, not int. - (Fend_kbd_macro): Don't mishandle MOST_NEGATIVE_FIXNUM by treating - it as a large positive number. - (Fexecute_kbd_macro): Don't assume repeat count fits in int. - * macros.h (executing_kbd_macro_iterations): Now EMACS_INT, not int. - - * nsterm.m ((NSSize)windowWillResize): Use esprintf, not sprintf, - in case result does not fit in int. - - * print.c (float_to_string): Detect width overflow more reliably. - (print_object): Make sprintf buffer a bit bigger, to avoid potential - buffer overrun. Don't assume list length fits in 'int'. Treat - print length of 0 as 0, not as infinity; to be consistent with other - uses of print length in this function. Don't overflow print length - index. Don't assume hash table size fits in 'long', or that - vectorlike size fits in 'unsigned long'. - - * process.c (make_process): Use printmax_t, not int, to format - process-name gensyms. - - * sysdep.c (snprintf) [! HAVE_SNPRINTF]: New function. - - * term.c (produce_glyphless_glyph): Make sprintf buffer a bit bigger - to avoid potential buffer overrun. - - * xfaces.c (x_update_menu_appearance): Don't overrun buffer - if X resource line is longer than 512 bytes. - - * xfns.c (x_window): Make sprintf buffer a bit bigger - to avoid potential buffer overrun. - - * xterm.c (x_io_error_quitter): Don't overrun sprintf buffer. - - * xterm.h (x_check_errors): Add ATTRIBUTE_FORMAT_PRINTF. - -2011-09-04 Paul Eggert - - Integer overflow fixes for scrolling, etc. - Without these, Emacs silently mishandles large integers sometimes. - For example, "C-u 4294967297 M-x recenter" was treated as if - it were "C-u 1 M-x recenter" on a typical 64-bit host. - - * xdisp.c (try_window_id): Check Emacs fixnum range before - converting to 'int'. - - * window.c (window_scroll_line_based, Frecenter): - Check that an Emacs fixnum is in range before assigning it to 'int'. - (Frecenter, Fmove_to_window_line): Use EMACS_INT, not int, for - values converted from Emacs fixnums. - (Frecenter): Don't wrap around a line count if it is out of 'int' - range; instead, treat it as an extreme value. - (Fset_window_configuration, compare_window_configurations): - Use ptrdiff_t, not int, for index that might exceed 2 GiB. - - * search.c (Freplace_match): Use ptrdiff_t, not int, for indexes - that can exceed INT_MAX. Check that EMACS_INT value is in range - before assigning it to the (possibly-narrower) index. - (match_limit): Don't assume that a fixnum can fit in 'int'. - - * print.c (print_object): Use ptrdiff_t, not int, for index that can - exceed INT_MAX. - - * indent.c (position_indentation): Now takes ptrdiff_t, not int. - (Fvertical_motion): Don't wrap around LINES values that don't fit - in 'int'. Instead, treat them as extreme values. This is good - enough for windows, which can't have more than INT_MAX lines anyway. - -2011-09-03 Lars Magne Ingebrigtsen - - * Require libxml/parser.h to avoid compilation warning. - - * emacs.c (shut_down_emacs): Call xmlCleanupParser on shutdown. - - * xml.c (parse_region): Don't call xmlCleanupParser after parsing, - since this reportedly can destroy thread storage. - -2011-08-30 Chong Yidong - - * syntax.c (find_defun_start): Update all cache variables if - exiting early (Bug#9401). - -2011-08-30 Eli Zaretskii - - * image.c (x_bitmap_pixmap): Cast to int to avoid compiler warnings. - - * xdisp.c (produce_stretch_glyph): No longer static, compiled also - when HAVE_WINDOW_SYSTEM is not defined. Support both GUI and TTY - frames. Call tty_append_glyph in the TTY case. (Bug#9402) - - * term.c (tty_append_glyph): New function. - (produce_stretch_glyph): Static function and its prototype deleted. - - * dispextern.h (produce_stretch_glyph, tty_append_glyph): - Add prototypes. - -2011-08-29 Paul Eggert - - * image.c (parse_image_spec): Check for nonnegative, not for positive, - when checking :margin (Bug#9390). - (IMAGE_NON_NEGATIVE_INTEGER_VALUE_OR_PAIR): - Rename from IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, - so that the name doesn't mislead. All uses changed. - -2011-08-28 Johan Bockgård - - * term.c (init_tty) [HAVE_GPM]: Move mouse settings after - set_tty_hooks. - -2011-08-27 Eli Zaretskii - - * xdisp.c (move_it_to): Don't bail out early when reaching - position beyond to_charpos, if we are scanning backwards. - (move_it_vertically_backward): When DY == 0, make sure we get to - the first character in the line after the newline. - -2011-08-27 Paul Eggert - - * ccl.c: Improve and simplify overflow checking (Bug#9196). - (ccl_driver): Do not generate an out-of-range pointer. - (Fccl_execute_on_string): Remove unnecessary check for - integer overflow, noted by Stefan Monnier in - . - Remove a FIXME that didn't need fixing. - Simplify the newly-introduced buffer reallocation code. - -2011-08-27 Juanma Barranquero - - * makefile.w32-in ($(BLD)/alloc.$(O)): Depend on lib/verify.h. - -2011-08-26 Paul Eggert - - Integer and memory overflow issues (Bug#9196). - - * doc.c (get_doc_string): Rework so that - get_doc_string_buffer_size is the actual buffer size, rather than - being 1 less than the actual buffer size; this makes xpalloc more - convenient. - - * image.c (x_allocate_bitmap_record, cache_image): - * xselect.c (Fx_register_dnd_atom): - Simplify previous changes by using xpalloc. - - * buffer.c (overlay_str_len): Now ptrdiff_t, not EMACS_INT, - since either will do and ptrdiff_t is convenient with xpalloc. - - * charset.c (charset_table_size) - (struct charset_sort_data.priority): Now ptrdiff_t. - (charset_compare): Don't overflow if priorities differ greatly. - (Fsort_charsets): Don't assume list length fits in int. - Check for size-calculation overflow when allocating sort data. - (syms_of_charset): Allocate an initial charset table that is - just under 64 KiB, to avoid problems with glibc malloc and mmap. - - * cmds.c (internal_self_insert): Check for size-calculation overflow. - - * composite.h (struct composition.glyph_len): Now int, not unsigned. - The actual value is always <= INT_MAX, and leaving it unsigned made - overflow checking harder. - - * dispextern.h (struct glyph_matrix.rows_allocated) - (struct face_cache.size): Now ptrdiff_t, for convenience in use - with xpalloc. The values are still always <= INT_MAX. - - * indent.c (compute_motion): Adjust to region_cache_forward sig change. - - * lisp.h (xnmalloc, xnrealloc, xpalloc): New decls. - (SAFE_NALLOCA): New macro. - - * region-cache.c (struct boundary.pos, find_cache_boundary) - (move_cache_gap, insert_cache_boundary, delete_cache_boundaries) - (set_cache_region, invalidate_region_cache) - (revalidate_region_cache, know_region_cache, region_cache_forward) - (region_cache_backward, pp_cache): - Use ptrdiff_t, not EMACS_INT, since either will do. This is needed - so that ptrdiff_t * can be passed to xpalloc. - (struct region_cache): Similarly, for gap_start, gap_len, cache_len, - beg_unchanged, end_unchanged, buffer_beg, buffer_end members. - (pp_cache): Don't assume cache_len fits in int. - * region-cache.h: Adjust extern decls to match. - - * search.c (scan_buffer, Freplace_match): Use ptrdiff_t, not - EMACS_INT, since either will do, for xpalloc. - - * alloc.c: Include verify.h, and check that int fits in ptrdiff_t. - (xnmalloc, xnrealloc, xpalloc): New functions. - - * bidi.c (bidi_shelve_header_size): New constant. - (bidi_cache_ensure_space, bidi_shelve_cache): Use it. - (bidi_cache_ensure_space): Avoid integer overflow when allocating. - - * bidi.c (bidi_cache_shrink): - * buffer.c (overlays_at, overlays_in, record_overlay_string) - (overlay_strings): - Don't update size of array until after memory allocation succeeds, - because xmalloc/xrealloc may not return. - (struct sortstrlist.bytes): Now ptrdiff_t, as EMACS_INT doesn't help - now that we have proper integer overflow checking. - (record_overlay_string, overlay_strings): Catch overflows when - calculating size of overlay_str_buf. - - * callproc.c (Fcall_process): Check for size overflow when - calculating size of args2. - (child_setup): Avoid overflow by using size_t rather than ptrdiff_t. - Normally we prefer signed values, but sticking with ptrdiff_t would - require adding more-complicated checks. - - * ccl.c (Fccl_execute_on_string): Check for memory overflow. - Use ptrdiff_t rather than EMACS_INT where ptrdiff_t will do. - Redo buffer-overflow calculations to avoid integer overflow. - Add a FIXME comment where memory seems to be over-allocated. - - * character.c (Fstring): Check for size-calculation overflow. - - * coding.c (produce_chars): Redo buffer-overflow calculations to avoid - unnecessary integer overflow. Check for size overflow. - (encode_coding_object): Don't update size until xmalloc succeeds. - - * composite.c (get_composition_id): Check for overflow in glyph - length calculations. - - Integer and memory overflow fixes for display code. - * dispextern.h (struct glyph_pool.nglyphs): Now ptrdiff_t, not int. - * dispnew.c (adjust_glyph_matrix, realloc_glyph_pool) - (scrolling_window): Check for overflow in size calculations. - (line_draw_cost, realloc_glyph_pool, add_row_entry): - Don't assume glyph table len fits in int. - (struct row_entry.bucket, row_entry_pool_size, row_entry_idx) - (row_table_size): Now ptrdiff_t, not int. - (scrolling_window): Avoid overflow in size calculations. - Don't update size until allocation succeeds. - * fns.c (concat): Check for overflow in size calculations. - (next_almost_prime): Verify NEXT_ALMOST_PRIME_LIMIT. - * lisp.h (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros. - (NEXT_ALMOST_PRIME_LIMIT): New constant. - - * doc.c (get_doc_string_buffer_size): Now ptrdiff_t, not int. - (get_doc_string): Check for size calculation overflow. - Don't update size until allocation succeeds. - (get_doc_string, Fsubstitute_command_keys): Use ptrdiff_t, not - EMACS_INT, where ptrdiff_t will do. - (Fsubstitute_command_keys): Check for string overflow. - - * editfns.c (set_time_zone_rule): Don't assume environment length - fits in int. - (message_length): Now ptrdiff_t, not int. - (Fmessage_box): Don't update size until allocation succeeds. - Don't assume message length fits in int. - (Fformat): Use ptrdiff_t, not EMACS_INT, where ptrdiff_t will do. - - * emacs.c (main): Do not reallocate argv, since there is a null at - the end that can be overwritten, and this way there's no need to - worry about size-calculation overflow. - (sort_args): Check for size-calculation overflow. - - * eval.c (init_eval_once, grow_specpdl): Don't update size until - alloc succeeds. - (call_debugger, grow_specpdl): Redo calculations to avoid overflow. - - * frame.c (set_menu_bar_lines, x_set_frame_parameters) - (x_set_scroll_bar_width, x_figure_window_size): - Check for integer overflow. - (x_set_alpha): Do not assume XINT fits in int. - - * frame.h (struct frame): Use int, not EMACS_INT, where int works. - This is for the members text_lines, text_cols, total_lines, total_cols, - where the system imposes an 'int' limit. - - * fringe.c (Fdefine_fringe_bitmap): - Don't update size until alloc works. - - * ftfont.c (ftfont_get_open_type_spec, setup_otf_gstring) - (ftfont_shape_by_flt): Check for integer overflow in size calculations. - - * gtkutil.c (get_utf8_string, xg_store_widget_in_map): - Check for size-calculation overflow. - (get_utf8_string): Use ptrdiff_t, not size_t, where either will - do, as we prefer signed integers. - (id_to_widget.max_size, id_to_widget.used) - (xg_store_widget_in_map, xg_remove_widget_from_map) - (xg_get_widget_from_map, xg_get_scroll_id_for_window) - (xg_remove_scroll_bar, xg_update_scrollbar_pos): - Use and return ptrdiff_t, not int. - (xg_gtk_scroll_destroy): Don't assume ptrdiff_t fits in int. - * gtkutil.h: Change prototypes to match the above. - - * image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): Remove; these - are duplicate now that they've been promoted to lisp.h. - (x_allocate_bitmap_record, x_alloc_image_color) - (make_image_cache, cache_image, xpm_load): - Don't update size until alloc is done. - (xpm_load, lookup_rgb_color, lookup_pixel_color, x_to_xcolors) - (x_detect_edges): - Check for size calculation overflow. - (ct_colors_allocated_max): New constant. - (x_to_xcolors, x_detect_edges): Reorder multiplicands to avoid - overflow. - - * keyboard.c (read_char, menu_bar_items, tool_bar_items) - (read_char_x_menu_prompt, read_char_minibuf_menu_width) - (read_char_minibuf_menu_prompt, follow_key, read_key_sequence): - Use ptrdiff_t, not int, to count maps. - (read_char_minibuf_menu_prompt): Check for overflow in size - calculations. Don't update size until allocation succeeds. - Redo calculations to avoid overflow. - * keyboard.h: Change prototypes to match the above. - - * keymap.c (cmm_size, current_minor_maps): Use ptrdiff_t, not int, - to count maps. - (current_minor_maps): Check for size calculation overflow. - * keymap.h: Change prototypes to match the above. - - * lread.c (read1, init_obarray): Don't update size until alloc done. - - * macros.c (Fstart_kbd_macro): Don't update size until alloc done. - (store_kbd_macro_char): Reorder multiplicands to avoid overflow. - - * nsterm.h (struct ns_color_table.size, struct ns_color_table.avail): - Now ptrdiff_t, not int. - * nsterm.m (ns_index_color): Use ptrdiff_t, not int, for table indexes. - (ns_draw_fringe_bitmap): Rewrite to avoid overflow. - - * process.c (Fnetwork_interface_list): Check for overflow - in size calculation. - - * region-cache.c (move_cache_gap): Check for size calculation overflow. - - * scroll.c (do_line_insertion_deletion_costs): Check for size calc - overflow. Don't bother calling xmalloc when xrealloc will do. - - * search.c (Freplace_match): Check for size calculation overflow. - (Fset_match_data): Don't assume list lengths fit in 'int'. - - * sysdep.c (system_process_attributes): Use ptrdiff_t, not int, - for command line length. Do not attempt to address one before the - beginning of an array, as that's not portable. - - * term.c (max_frame_lines): Remove; unused. - (encode_terminal_src_size, encode_terminal_dst_size): Now ptrdiff_t, - not int. - (encode_terminal_code, calculate_costs): Check for size - calculation overflow. - (encode_terminal_code): Use ptrdiff_t, not int, to record glyph - table lengths and related sizes. Don't update size until alloc - done. Redo calculations to avoid overflow. - (calculate_costs): Don't bother calling xmalloc when xrealloc will do. - - * termcap.c (tgetent): Use ptrdiff_t, not int, to record results of - subtracting pointers. - (gobble_line): Check for overflow more carefully. Don't update size - until alloc done. - - * tparam.c (tparam1): Use ptrdiff_t, not int, for sizes. - Don't update size until alloc done. - Redo size calculations to avoid overflow. - Check for size calculation overflow. - (main) [DEBUG]: Fix typo in invoking tparam1. - - * xdisp.c (store_mode_line_noprop_char, x_consider_frame_title): - Use ptrdiff_t, not int, for sizes. - (store_mode_line_noprop_char): Don't update size until alloc done. - - * xfaces.c (lface_id_to_name_size, Finternal_make_lisp_face): - Use ptrdiff_t, not int, for sizes. - (Finternal_make_lisp_face, cache_face): - Check for size calculation overflow. - (cache_face): Treat size calculation overflows as if they were - memory exhaustion (the usual treatment), rather than aborting. - - * xfns.c (x_encode_text, x_set_name_internal) - (Fx_change_window_property): Use ptrdiff_t, not int, to count - sizes, since they can exceed INT_MAX in size. Check for size - calculation overflow. - - * xgselect.c (gfds_size): Now ptrdiff_t, for convenience with xpalloc. - (xg_select): Check for size calculation overflow. - Don't update size until alloc done. - - * xrdb.c (get_environ_db): Don't assume path length fits in int, - as sprintf is limited to int lengths. - - * xselect.c (X_LONG_SIZE, X_SHRT_MAX, X_SHRT_MIN, X_LONG_MAX) - (X_LONG_MIN): New macros. - Use them to make the following changes clearer. - (MAX_SELECTION_QUANTUM): Make the other bounds on this value clearer. - This change doesn't affect the value now, but it may help remind - future maintainers not to raise the value too much later. - (SELECTION_QUANTUM): Remove, replacing with ... - (selection_quantum): ... new function, which avoids overflow. - All uses changed. - (struct selection_data.size): Now ptrdiff_t, not int, to avoid - assumption that selection length fits in 'int'. - (x_reply_selection_request, x_handle_selection_request) - (x_get_window_property, receive_incremental_selection) - (x_get_window_property_as_lisp_data, selection_data_to_lisp_data) - (lisp_data_to_selection_data, clean_local_selection_data): - Use ptrdiff_t, not int, to record length of selection. - (x_reply_selection_request, x_get_window_property) - (receive_incremental_selection, x_property_data_to_lisp): - Redo calculations to avoid overflow. - (x_reply_selection_request): When sending hint, ceiling it at - X_LONG_MAX rather than relying on wraparound overflow to send - something. - (x_get_window_property, receive_incremental_selection) - (lisp_data_to_selection_data, x_property_data_to_lisp): - Check for size-calculation overflow. - (x_get_window_property, receive_incremental_selection) - (lisp_data_to_selection_data, Fx_register_dnd_atom): - Don't store size until memory allocation succeeds. - (x_get_window_property): Plug memory leak on memory exhaustion. - Don't double-block input; malloc is safe here. Don't assume 2**34 - - 4 fits in unsigned long. Add an xassert to check - XGetWindowProperty overflow. Be more careful about overflow - calculations, and distinguish size from memory overflow better. - (receive_incremental_selection): When tracing, don't assume - unsigned int is less than INT_MAX. - (x_selection_data_to_lisp_data): Remove unnecessary (and in theory - harmful) conversions of unsigned short to int. - (lisp_data_to_selection_data): Don't assume that integers - in the range -65535 through -1 fit in an X unsigned short. - Don't assume that ULONG_MAX == X_ULONG_MAX. Don't store into - result parameters unless successful. Rely on cons_to_unsigned - to report problems with elements; the old code wasn't right anyway. - (x_check_property_data): Check for int overflow; we cannot use - a wider type due to X limits. - (x_handle_dnd_message): Use unsigned int, to avoid int overflow. - - * xsmfns.c (smc_save_yourself_CB): Check for size calc overflow. - - * xterm.c (x_color_cells, x_send_scrollbar_event, handle_one_xevent) - (x_term_init): Check for size calculation overflow. - (x_color_cells): Don't store size until memory allocation succeeds. - (handle_one_xevent): Use ptrdiff_t, not int, for byte counts. - Don't assume alloca size is less than MAX_ALLOCA. - (x_term_init): Don't assume length fits in int (sprintf is limited - to int size). - - Use ptrdiff_t for composition IDs. - * character.c (lisp_string_width): - * composite.c (composition_table_size, n_compositions) - (get_composition_id, composition_gstring_from_id): - * dispextern.h (struct glyph_string.cmp_id, struct composition_it.id): - * xdisp.c (BUILD_COMPOSITE_GLYPH_STRING): - * window.c (Frecenter): - Use ptrdiff_t, not int, for composition IDs. - * composite.c (get_composition_id): Check for integer overflow. - * composite.h: Adjust prototypes to match the above changes. - - Use ptrdiff_t for hash table indexes. - * category.c (hash_get_category_set): - * ccl.c (ccl_driver): - * charset.h (struct charset.hash_index, CHECK_CHARSET_GET_ID): - * coding.c (coding_system_charset_list, detect_coding_system): - * coding.h (struct coding_system.id): - * composite.c (get_composition_id, gstring_lookup_cache): - * fns.c (hash_lookup, hash_put, Fgethash, Fputhash): - * image.c (xpm_get_color_table_h): - * lisp.h (hash_lookup, hash_put): - * minibuf.c (Ftest_completion): - Use ptrdiff_t for hash table indexes, not int (which is too - narrow, on 64-bit hosts) or EMACS_INT (which is too wide, on - 32-bit --with-wide-int hosts). - - * charset.c (Fdefine_charset_internal): Check for integer overflow. - Add a FIXME comment about memory leaks. - (syms_of_charset): Don't assume xmalloc returns. - - Don't assume that stated character widths fit in int. - * character.c (Fchar_width, c_string_width, lisp_string_width): - * character.h (CHAR_WIDTH): - * indent.c (MULTIBYTE_BYTES_WIDTH): - Use sanitize_char_width to avoid undefined and/or bad behavior - with outlandish widths. - * character.h (sanitize_tab_width): Rename from sanitize_width, - now that we have two such functions. All uses changed. - (sanitize_char_width): New inline function. - - Don't assume that tab-width fits in int. - * character.h (sanitize_width): New inline function. - (SANE_TAB_WIDTH): New macro. - (ASCII_CHAR_WIDTH): Use it. - * indent.c (sane_tab_width): Remove. All uses replaced by - SANE_TAB_WIDTH (current_buffer). - * xdisp.c (init_iterator): Use SANE_TAB_WIDTH. - - * fileio.c: Integer overflow issues with file modes. - (Fset_file_modes, auto_save_1): Don't assume EMACS_INT fits in int. - - * charset.c (read_hex): New arg OVERFLOW. All uses changed. - Remove unreachable code. - (read_hex, load_charset_map_from_file): Check for integer overflow. - - * xterm.c: Don't go over XClientMessageEvent limit. - (scroll_bar_windows_size): Now ptrdiff_t, as we prefer signed. - (x_send_scroll_bar_event): Likewise. Check that the size does not - exceed limits imposed by XClientMessageEvent, as well as the usual - ptrdiff_t and size_t limits. - - * keyboard.c: Overflow, signedness and related fixes. - (make_lispy_movement): Use same integer type in forward decl - that is used in the definition. - (read_key_sequence, keyremap_step): - Change bufsize argument back to int, undoing my 2011-03-30 change. - We prefer signed types, and int is wide enough here. - (parse_tool_bar_item): Don't assume tool_bar_max_label_size is less - than TYPE_MAXIMUM (EMACS_INT) / 2. Don't let the label size grow - larger than STRING_BYTES_BOUND. Use ptrdiff_t for Emacs string - length, not size_t. Use ptrdiff_t for index, not int. - (keyremap_step, read_key_sequence): Redo bufsize check to avoid - possibility of integer overflow. - - Overflow, signedness and related fixes for images. - - * dispextern.h (struct it.stack[0].u.image.image_id) - (struct_it.image_id, struct image.id, struct image_cache.size) - (struct image_cache.used, struct image_cache.ref_count): - * gtkutil.c (update_frame_tool_bar): - * image.c (x_reference_bitmap, Fimage_size, Fimage_mask_p) - (Fimage_metadata, free_image_cache, clear_image_cache, lookup_image) - (cache_image, mark_image_cache, x_kill_gs_process, Flookup_image): - * nsmenu.m (update_frame_tool_bar): - * xdisp.c (calc_pixel_width_or_height): - * xfns.c (image_cache_refcount): - Image IDs are now ptrdiff_t, not int, to avoid arbitrary limits - on typical 64-bit hosts. - - * image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros. - (x_bitmap_pixmap, x_create_x_image_and_pixmap): - Omit unnecessary casts to int. - (parse_image_spec): Check that integers fall into 'int' range - when the callers expect that. - (image_ascent): Redo ascent calculation to avoid int overflow. - (clear_image_cache): Avoid overflow when sqrt (INT_MAX) < nimages. - (lookup_image): Remove unnecessary tests. - (xbm_image_p): Locals are now of int, not EMACS_INT, - since parse_image_check makes sure they fit into int. - (png_load, gif_load, svg_load_image): - Prefer int to unsigned where either will do. - (tiff_handler): New function, combining the cores of the - old tiff_error_handler and tiff_warning_handler. - This function is rewritten to use vsnprintf and thereby avoid - stack buffer overflows. It uses only the features of vsnprintf - that are common to both POSIX and native Microsoft. - (tiff_error_handler, tiff_warning_handler): Use it. - (tiff_load, gif_load, imagemagick_load_image): - Don't assume :index value fits in 'int'. - (gif_load): Omit unnecessary cast to double, and avoid double-rounding. - (imagemagick_load_image): Check that crop parameters fit into - the integer types that MagickCropImage accepts. Don't assume - Vimagemagick_render_type has a nonnegative value. Don't assume - size_t fits in 'long'. - (gs_load): Use printmax_t to print the widest integers possible. - Check for integer overflow when computing image height and width. - -2011-08-26 Eli Zaretskii - - * xdisp.c (redisplay_window): Don't force window start if point - will be invisible in the resulting window. (Bug#9324) - -2011-08-25 Eli Zaretskii - - * xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when - the display spec is of the form `(space ...)'. - (handle_display_spec): Return the value returned by - handle_single_display_spec, not just 1 or zero. - (handle_single_display_spec): If the display spec is of the form - `(space ...)', and specifies display in the text area, return 2 - rather than 1. - (try_cursor_movement): Check for the need to scroll more - accurately, and prefer exact match for point under bidi. - Don't advance `row' beyond the last row of the window. - - * dispextern.h (struct bidi_it): Rename the disp_prop_p member - into disp_prop; all users changed. - - * bidi.c (bidi_fetch_char): If compute_display_string_pos returns - DISP_PROP = 2, substitute the u+2029 PARAGRAPH SEPARATOR character - for the text covered by the display property. - -2011-08-25 Chong Yidong - - * buffer.c (Fbury_buffer_internal): Rename from Funrecord_buffer. - Change return value to nil. - (Frecord_buffer): Delete unused function. - -2011-08-24 Eli Zaretskii - - * xdisp.c (Fcurrent_bidi_paragraph_direction): For unibyte - buffers, return left-to-right. - (set_cursor_from_row): Consider candidate row a win if its glyph - represents a newline and point is on that newline. Fixes cursor - positioning on the newline at EOL of R2L text within L2R - paragraph, and vice versa. - (try_cursor_movement): Check continued rows, in addition to - continuation rows. Fixes unwarranted scroll when point enters a - continued line of R2L text within an L2R paragraph, or vice versa. - (cursor_row_p): Consider the case of point being equal to - MATRIX_ROW_END_CHARPOS. Prevents cursor being stuck when moving - from the end of a short line to the beginning of a continued line - of R2L text within L2R paragraph. - (RECORD_MAX_MIN_POS): For max_pos, use IT_CHARPOS even for - composed characters. - - * bidi.c (bidi_check_type): Use xassert. - (bidi_cache_iterator_state): Update the disp_pos and disp_prop_p - members. - -2011-08-23 Eli Zaretskii - - * bidi.c (bidi_get_type): Abort if we get zero as the bidi type of - a character. - -2011-08-23 Chong Yidong - - * nsfont.m (ns_otf_to_script): Fix typo. - -2011-08-22 Kenichi Handa - - * chartab.c (Fset_char_table_extra_slot): Do not inhibit setting a - extra slot even if the purpose is char-code-property-table. - -2011-08-23 Eli Zaretskii - - * xdisp.c (redisplay_window): When computing centering_position, - account for the height of the header line. (Bug#8874) - - * dispnew.c (buffer_posn_from_coords): Use buf_charpos_to_bytepos - instead of CHAR_TO_BYTE. Fixes a crash when a completion - candidate is selected by the mouse, and that candidate has a - composed character under the mouse. - - * xdisp.c (x_produce_glyphs): Set it->nglyphs to 1. Fixes pixel - coordinates reported by pos-visible-in-window-p for a composed - character in column zero. - -2011-08-23 Stefan Monnier - - * cmds.c (Fself_insert_command): Mention post-self-insert-hook. - -2011-08-22 Eli Zaretskii - - * xdisp.c (BUFFER_POS_REACHED_P): If this is a composition, - consider it a hit if to_charpos is anywhere in the range of the - composed buffer positions. - -2011-08-22 Chong Yidong - - * image.c (gif_load): Don't assume that each subimage has the same - dimensions as the base image. Handle disposal method that is - "undefined" by the gif spec (Bug#9335). - -2011-08-20 Chong Yidong - - * eval.c (Fsignal): Handle `debug' symbol in error handler (Bug#9329). - (Fcondition_case): Document `debug' symbol in error handler. - -2011-08-19 Eli Zaretskii - - * xfaces.c (face_at_buffer_position): Avoid repeated evaluation of - face ID by FACE_FROM_ID, and avoid a crash when mouse is moved - from an Org mode buffer to a Speedbar frame. - - * xdisp.c (RECORD_MAX_MIN_POS): If the display element comes from - a composition, take its buffer position from IT->cmp_it.charpos. - Fixes cursor positioning at the beginning of a line that begins - with a composed character. - -2011-08-18 Eli Zaretskii - - * bidi.c (bidi_get_type): If bidi_type_table reports zero as the - character bidirectional type, use STRONG_L instead. Fixes crashes - in a buffer produced by `describe-categories'. - - * dispextern.h (struct bidi_it): Move disp_pos and disp_prop_p - members before the level stack, so they would be saved and - restored when copying iterator state. Fixes incorrect reordering - around TABs covered by display properties. - -2011-08-18 Andreas Schwab - - * process.c (Fnetwork_interface_list): Correctly determine buffer size. - -2011-08-17 Chong Yidong - - * eval.c (internal_condition_case, internal_condition_case_1) - (internal_condition_case_2, internal_condition_case_n): - Remove unnecessary aborts (Bug#9081). - -2011-08-17 Eli Zaretskii - - * lread.c (Fload) [DOS_NT]: If `openp' returns -2, but the file - has no `load' handler, try opening the file locally. (Bug#9311) - -2011-08-16 Ken Brown - - * gmalloc.c: Expand comment. - -2011-08-16 Eli Zaretskii - - * xdisp.c (set_cursor_from_row): Don't accept a previous candidate - if it fails the cursor_row_p test. Fixes cursor positioning at ZV. - -2011-08-16 Ken Brown - - Fix memory allocation problems in Cygwin build (Bug#9273). - - * unexcw.c (__malloc_initialized): Declare external variable. - (fixup_executable): Force the dumped emacs to reinitialize malloc. - - * gmalloc.c [CYGWIN] (bss_sbrk_heapbase, bss_sbrk_heapinfo): - New variables. - (malloc_initialize_1) [CYGWIN]: Prepare for reinitializing the - dumped emacs. - (_free_internal_nolock) [CYGWIN]: Ignore requests to free storage - in the static heap. - [CYGWIN] (special_realloc): New function. - (_realloc_internal_nolock) [CYGWIN]: Use the new function on - requests to realloc storage in the static heap. - -2011-08-15 Paul Eggert - - * bidi.c (bidi_initialize): Remove unused local. - -2011-08-15 Eli Zaretskii - - * bidimirror.h: - * biditype.h: Remove file. - * makefile.w32-in ($(BLD)/bidi.$(O)): - * deps.mk (bidi.o): Remove biditype.h and bidimirror.h. - - * dispextern.h: Fix a typo in the comment to bidi_type_t. - - * chartab.c: Improve commentary for the uniprop_table API. - - * bidi.c (bidi_paragraph_init): Support zero value of - bidi_ignore_explicit_marks_for_paragraph_level. - (bidi_initialize): Use uniprop_table instead of including - biditype.h and bidimirror.h. - - * xdisp.c (move_it_in_display_line_to): Don't reset pixel - coordinates of the iterator when restoring from ppos_it. - (Bug#9296) - -2011-08-14 Kenichi Handa - - * process.c (create_process): Call setup_process_coding_systems - after the pid of the process is set to -1 (Bug#8162). - -2011-08-14 Eli Zaretskii - - * xdisp.c (move_it_in_display_line_to): Don't invoke - IT_RESET_X_ASCENT_DESCENT when iterator position was restored from - ppos_it. Fixes vertical cursor motion when line beginning is - covered by an image. (Bug#9296) - -2011-08-14 Jan Djärv - - * nsterm.h (ns_run_ascript): Declare. - (NSAPP_DATA2_RUNASSCRIPT): Define. - - * nsfns.m (as_script, as_result, as_status): New static variables. - (ns_run_ascript): New function. - (Fns_do_applescript): Set variables as_*. Make an NSApplicationDefined - event with data2 set to NSAPP_DATA2_RUNASSCRIPT, post it and then start - the event loop. Get status from as_status (Bug#7276). - - * nsterm.m (sendEvent): If event is NSApplicationDefined and - data2 is NSAPP_DATA2_RUNASSCRIPT, call ns_run_ascript and then exit - the event loop (Bug#7276). - -2011-08-14 Andreas Schwab - - * gnutls.c (QCgnutls_bootprop_priority) - (QCgnutls_bootprop_trustfiles, QCgnutls_bootprop_keylist) - (QCgnutls_bootprop_crlfiles, QCgnutls_bootprop_callbacks) - (QCgnutls_bootprop_loglevel, QCgnutls_bootprop_hostname) - (QCgnutls_bootprop_min_prime_bits, QCgnutls_bootprop_verify_flags) - (QCgnutls_bootprop_verify_hostname_error) - (QCgnutls_bootprop_callbacks_verify): Rename from - Qgnutls_bootprop_..., all uses changed. - - * xfaces.c (QCignore_defface): Rename from Qignore_defface, all - uses changed. - -2011-08-14 Paul Eggert - - * xfaces.c (Qframe_set_background_mode): Now static. - * dispextern.h (Qframe_set_background_mode): Remove decl. - - * process.c (Fnetwork_interface_info): Declare local only if needed. - -2011-08-13 Jan Djärv - - * process.c: Include ifaddrs.h and net/if_dl.h if available (Bug#8477). - (Fnetwork_interface_list): Allocate in increments of bytes instead - of sizeof (struct ifreq). Iterate over ifconf.ifc_req by counting - bytes (Bug#8477). Count bytes correctly when ifr_addr is a struct - sockaddr. - (struct ifflag_def): notrailers is smart on OSX. - (Fnetwork_interface_info): Handle case when ifr_flags is negative. - Get hardware address with getifaddrs if available. - -2011-08-12 Eli Zaretskii - - * xdisp.c (iterate_out_of_display_property): xassert that - IT->position is set to within IT->object's boundaries. Break from - the loop as soon as EOB is reached; avoids infloops in redisplay - when IT->position is set up wrongly due to some bug. - Set IT->current to match the bidi iterator unconditionally. - (push_display_prop): Allow GET_FROM_STRING as IT->method on - entry. Force push_it to save on the stack the current - buffer/string position, to be restored by pop_it. Fix flags in - the iterator structure wrt the object coming from a display - property, as `line-prefix' and `wrap-prefix' are not ``replacing'' - properties. (Bug#9284) - -2011-08-09 Andreas Schwab - - * fontset.c (fontset_get_font_group): Add proper type checks. - (Bug#9172) - -2011-08-09 YAMAMOTO Mitsuharu - - * unexmacosx.c (print_load_command_name): Add cases LC_FUNCTION_STARTS - and LC_VERSION_MIN_MACOSX. - (copy_linkedit_data) [LC_FUNCTION_STARTS]: New function. - (dump_it) [LC_FUNCTION_STARTS]: Use it. - -2011-08-08 Eli Zaretskii - - * xdisp.c (forward_to_next_line_start): Allow to use the - no-display-properties-and-no-overlays under bidi display. - Set disp_pos in the bidi iterator to avoid searches for display - properties and overlays. - -2011-08-08 Chong Yidong - - * editfns.c (Fset_time_zone_rule): Document relationship with the - setenv function. - - * ftfont.c (ftfont_pattern_entity): Copy the extras argument to - the font entity extracted from the cache (Bug#8109). - -2011-08-07 Chong Yidong - - * composite.c (autocmp_chars): Don't reset point. That is done by - restore_point_unwind (Bug#5984). - -2011-08-07 Juri Linkov - - * editfns.c (Fformat_time_string): Doc fix, add tag `usage:' - to show the arg `TIME' instead of `TIMEVAL'. - -2011-08-06 Eli Zaretskii - - * xdisp.c (set_cursor_from_row): Fix cursor positioning when a - display property strides EOL and includes a newline, as in - longlines-mode. (Bug#9254) - (move_it_in_display_line_to): Fix vertical-motion in a buffer with - word-wrap under bidirectional display. (Bug#9224) - - * bidi.c (bidi_unshelve_cache): Don't reset the cache if JUST_FREE - is non-zero, even if the data buffer is NULL. Fixes a crash in - vertical-motion with longlines-mode. (Bug#9254) - -2011-08-05 Eli Zaretskii - - * bidi.c : Now static. - (bidi_initialize): Initialize bidi_cache_total_alloc. - - * xdisp.c (display_line): Release buffer allocated for shelved bidi - cache. (Bug#9221) - - * bidi.c (bidi_shelve_cache, bidi_unshelve_cache): Track total - amount allocated this far in `bidi_cache_total_alloc'. - (bidi_unshelve_cache): Accept an additional argument JUST_FREE; if - non-zero, only free the data buffer without restoring the cache - contents. All callers changed. - - * dispextern.h (bidi_unshelve_cache): Update prototype. - - * xdisp.c (SAVE_IT, pos_visible_p, move_it_in_display_line_to) - (move_it_in_display_line, move_it_to) - (move_it_vertically_backward, move_it_by_lines): Replace the call - to xfree to an equivalent call to bidi_unshelve_cache. - (move_it_in_display_line_to): Fix logic of returning - MOVE_POS_MATCH_OR_ZV in the bidi case. (Bug#9224) - -2011-08-05 Eli Zaretskii - - * xdisp.c (set_cursor_from_row): Prefer the candidate glyph that - came from a string character with a `cursor' property. (Bug#9229) - -2011-08-04 Jan Djärv - - * Makefile.in (LIB_PTHREAD): New variable. - (LIBES): Add LIB_PTHREAD (Bug#9216). - - * alloc.c, emacs.c, gmalloc.c, gtkutil.c, keyboard.c, syssignal.h: - Rename HAVE_GTK_AND_PTHREAD to HAVE_PTHREAD (Bug#9216). - -2011-08-04 Andreas Schwab - - * regex.c (re_iswctype): Remove some redundant boolean conversions. - -2011-08-04 Jan Djärv - - * xterm.c (x_find_topmost_parent): New function. - (x_set_frame_alpha): Find topmost parent window with - x_find_topmost_parent and set the property there also (bug#9181). - (handle_one_xevent): Call x_set_frame_alpha on ReparentNotify. - -2011-08-04 Paul Eggert - - * callproc.c (Fcall_process): Avoid vfork clobbering - the local vars buffer, coding_systems, current_dir. - -2011-08-03 Stefan Monnier - - * keymap.c (Fmake_composed_keymap): Move to subr.el. - -2011-08-03 Paul Eggert - - * fontset.c (dump_fontset) [FONTSET_DEBUG]: Declare EXTERNALLY_VISIBLE - so that it is not optimized away. - - * xdisp.c (compute_display_string_pos): Remove unused local. - -2011-08-02 Eli Zaretskii - - Fix slow cursor motion and scrolling in large buffers with - selective display, like Org Mode buffers. (Bug#9218) - - * dispextern.h (struct bidi_it): New member disp_prop_p. - - * xdisp.c: Remove one-slot cache of display string positions. - (compute_display_string_pos): Accept an additional argument - DISP_PROP_P; callers changed. Scan at most 5K characters forward - for a display string or property. If found, set DISP_PROP_P - non-zero. - - * bidi.c (bidi_fetch_char): Accept an additional argument - DISP_PROP_P, and pass it to compute_display_string_pos. - Only handle text covered by a display string if DISP_PROP_P is returned - non-zero. All callers of bidi_fetch_char changed. - -2011-08-02 Stefan Monnier - - * keymap.c (Fdefine_key): Fix Lisp_Object/int mixup; apply some CSE. - -2010-12-03 Don March - - * keymap.c (Fdefine_key): Fix non-prefix key error message when - last character M-[char] is translated to ESC [char] (bug#7541). - -2011-08-02 Kenichi Handa - - * lisp.h (uniprop_table): Extern it. - - * chartab.c (uniprop_table): Make it non-static. - -2011-08-01 Eli Zaretskii - - * xdisp.c (forward_to_next_line_start): Accept additional argument - BIDI_IT_PREV, and store into it the state of the bidi iterator had - on the newline. - (reseat_at_next_visible_line_start): Use the bidi iterator state - returned by forward_to_next_line_start to restore the state of - it->bidi_it after backing up to previous newline. (Bug#9212) - -2011-07-30 Andreas Schwab - - * regex.c (re_comp): Protoize. - (re_exec): Fix return type. - (regexec): Fix type of `ret'. (Bug#9203) - -2011-07-28 Paul Eggert - - * image.c (check_image_size): Use 1024x1024 if unknown frame (Bug#9189). - This is needed if max-image-size is a floating-point number. - -2011-07-28 Andreas Schwab - - * print.c (print_object): Print empty symbol as ##. - - * lread.c (read1): Read ## as empty symbol. - -2011-07-28 Alp Aker - - * nsfns.m (x_set_foreground_color): Set f->foreground_pixel when - setting frame foreground color (Bug#9175). - (x_set_background_color): Likewise. - - * nsmenu.m (-setText): Size tooltip dimensions precisely to - contents (Bug#9176). - (EmacsTooltip -init): Remove bezels and add shadows to - tooltip windows. - - * nsterm.m (ns_dumpglyphs_stretch): Avoid overwriting left fringe - or scroll bar (Bug#8470). - - * nsfont.m (nsfont_open): Remove assignment to voffset and - unnecessary vars hshink, expand, hd, full_height, min_height. - (nsfont_draw): Use s->ybase as baseline for glyph drawing (Bug#8913). - - * nsterm.h (nsfont_info): Remove voffset field. - -2011-07-28 Alp Aker - - Implement strike-through and overline on NextStep (Bug#8863). - - * nsfont.m (nsfont_open): Use underline position provided by font, - instead of hard-coded value of 2. - (nsfont_draw): Call ns_draw_text_decoration instead. - - * nsterm.h: Add declaration for ns_draw_text_decoration. - - * nsterm.m (ns_draw_text_decoration): New function for drawing - underline, overline, and strike-through. - (ns_dumpglyphs_image, ns_dumpglyphs_stretch): Add call to - ns_draw_text_decoration. Change treatment of cursor drawing to - accommodate underlining, etc. - -2011-07-28 Eli Zaretskii - - * buffer.c (init_buffer_once): Set bidi-display-reordering to t by - default. - -2011-07-28 Paul Eggert - - * alloc.c (memory_full) [!SYNC_INPUT]: Fix signal-related race. - Without this fix, if a signal arrives just after memory fills up, - 'malloc' might be invoked reentrantly. - - * image.c (x_check_image_size) [!HAVE_X_WINDOWS]: Return 1. - In other words, assume that every image size is allowed, on non-X - hosts. This assumption is probably wrong, but it lets Emacs compile. - -2011-07-28 Andreas Schwab - - * regex.c (re_iswctype): Convert return values to boolean. - -2011-07-28 Eli Zaretskii - - * xdisp.c (compute_display_string_pos): Don't use cached display - string position if the buffer had its restriction changed. - (Bug#9184) - -2011-07-28 Paul Eggert - - * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering. - -2011-07-28 Paul Eggert - - Integer signedness and overflow and related fixes. (Bug#9079) - - * bidi.c: Integer size and overflow fixes. - (bidi_cache_size, bidi_cache_idx, bidi_cache_last_idx) - (bidi_cache_start, bidi_cache_fetch_state, bidi_cache_search) - (bidi_cache_find_level_change, bidi_cache_ensure_space) - (bidi_cache_iterator_state, bidi_cache_find, bidi_cache_start_stack) - (bidi_find_other_level_edge): - Use ptrdiff_t instead of EMACS_INT where either will do. - This works better on 32-bit hosts configured --with-wide-int. - (bidi_cache_ensure_space): Check for size-calculation overflow. - Use % rather than repeated addition, for better worst-case speed. - Don't set bidi_cache_size until after xrealloc returns, because it - might not return. - (bidi_dump_cached_states): Use ptrdiff_t, not int, to avoid overflow. - (bidi_cache_ensure_space): Also check that the bidi cache size - does not exceed that of the largest Lisp string or buffer. See Eli - Zaretskii in . - - * alloc.c (__malloc_size_t): Remove. - All uses replaced by size_t. See Andreas Schwab's note - . - - * image.c: Improve checking for integer overflow. - (check_image_size): Assume that f is nonnull, since - it is always nonnull in practice. This is one less thing to - worry about when checking for integer overflow later. - (x_check_image_size): New function, which checks for integer - overflow issues inside X. - (x_create_x_image_and_pixmap, xbm_read_bitmap_data): Use it. - This removes the need for a memory_full check. - (xbm_image_p): Rewrite to avoid integer multiplication overflow. - (Create_Pixmap_From_Bitmap_Data, xbm_load): Use x_check_image_size. - (xbm_read_bitmap_data): Change locals back to 'int', since - their values must fit in 'int'. - (xpm_load_image, png_load, tiff_load): - Invoke x_create_x_image_and_pixmap earlier, - to avoid much needless work if the image is too large. - (tiff_load): Treat overly large images as if - x_create_x_image_and_pixmap failed, not as malloc failures. - (gs_load): Use x_check_image_size. - - * gtkutil.c: Omit integer casts. - (xg_get_pixbuf_from_pixmap): Remove unnecessary cast. - (xg_set_toolkit_scroll_bar_thumb): Rewrite to avoid need for cast. - - * image.c (png_load): Don't assume height * row_bytes fits in 'int'. - - * xfaces.c (Fbitmap_spec_p): Fix integer overflow bug. - Without this fix, (bitmap-spec-p '(34359738368 1 "x")) - would wrongly return t on a 64-bit host. - - * dispnew.c (init_display): Use *_RANGE_OVERFLOW macros. - The plain *_OVERFLOW macros run afoul of GCC bug 49705 - - and therefore cause GCC to emit a bogus diagnostic in some cases. - - * image.c: Integer signedness and overflow and related fixes. - This is not an exhaustive set of fixes, but it's time to - record what I've got. - (lookup_pixel_color, check_image_size): Remove redundant decls. - (check_image_size): Don't assume that arbitrary EMACS_INT values - fit in 'int', or that arbitrary 'double' values fit in 'int'. - (x_alloc_image_color, x_create_x_image_and_pixmap, png_load) - (tiff_load, imagemagick_load_image): - Check for overflow in size calculations. - (x_create_x_image_and_pixmap): Remove unnecessary test for - xmalloc returning NULL; that can't happen. - (xbm_read_bitmap_data): Don't assume sizes fit into 'int'. - (xpm_color_bucket): Use better integer hashing function. - (xpm_cache_color): Don't possibly over-allocate memory. - (struct png_memory_storage, tiff_memory_source, tiff_seek_in_memory) - (gif_memory_source): - Use ptrdiff_t, not int or size_t, to record sizes. - (png_load): Don't assume values greater than 2**31 fit in 'int'. - (our_stdio_fill_input_buffer): Prefer ptrdiff_t to size_t when - either works, as we prefer signed integers. - (tiff_read_from_memory, tiff_write_from_memory): - Return tsize_t, not size_t, since that's what the TIFF API wants. - (tiff_read_from_memory): Don't fail simply because the read would - go past EOF; instead, return a short read. - (tiff_load): Omit no-longer-needed casts. - (Fimagemagick_types): Don't assume size fits into 'int'. - - Improve hashing quality when configured --with-wide-int. - * fns.c (hash_string): New function, taken from sxhash_string. - Do not discard information about ASCII character case; this - discarding is no longer needed. - (sxhash-string): Use it. Change sig to match it. Caller changed. - * lisp.h: Declare it. - * lread.c (hash_string): Remove, since we now use fns.c's version. - The fns.c version returns a wider integer if --with-wide-int is - specified, so this should help the quality of the hashing a bit. - - * emacs.c: Integer overflow minor fix. - (heap_bss_diff): Now uprintmax_t, not unsigned long. All used changed. - Define only if GNU_LINUX. - (main, Fdump_emacs): Set and use heap_bss_diff only if GNU_LINUX. - - * dispnew.c: Integer signedness and overflow fixes. - Remove unnecessary forward decls, that were a maintenance hassle. - (history_tick): Now uprintmax_t, so it's more likely to avoid overflow. - All uses changed. - (adjust_glyph_matrix, realloc_glyph_pool, adjust_frame_message_buffer) - (scrolling_window): Use ptrdiff_t, not int, for byte count. - (prepare_desired_row, line_draw_cost): - Use int, not unsigned, where either works. - (save_current_matrix, restore_current_matrix): - Use ptrdiff_t, not size_t, where either works. - (init_display): Check for overflow more accurately, and without - relying on undefined behavior. - - * editfns.c (pWIDE, pWIDElen, signed_wide, unsigned_wide): - Remove, replacing with the new symbols in lisp.h. All uses changed. - * fileio.c (make_temp_name): - * filelock.c (lock_file_1, lock_file): - * xdisp.c (message_dolog): - Don't assume PRIdMAX etc. works; this isn't portable to pre-C99 hosts. - Use pMd etc. instead. - * lisp.h (printmax_t, uprintmax_t, pMd, pMu): New types and macros, - replacing the pWIDE etc. symbols removed from editfns.c. - - * keyboard.h (num_input_events): Now uintmax_t. - This is (very slightly) less likely to mess up due to wraparound. - All uses changed. - - * buffer.c: Integer signedness fixes. - (alloc_buffer_text, enlarge_buffer_text): - Use ptrdiff_t rather than size_t when either will do, as we prefer - signed integers. - - * alloc.c: Integer signedness and overflow fixes. - Do not impose an arbitrary 32-bit limit on malloc sizes when debugging. - (__malloc_size_t): Default to size_t, not to int. - (pure_size, pure_bytes_used_before_overflow, stack_copy_size) - (Fgarbage_collect, mark_object_loop_halt, mark_object): - Prefer ptrdiff_t to size_t when either would do, as we prefer - signed integers. - (XMALLOC_OVERRUN_CHECK_OVERHEAD): New macro. - (xmalloc_overrun_check_header, xmalloc_overrun_check_trailer): - Now const. Initialize with values that are in range even if char - is signed. - (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): Remove, replacing with ... - (xmalloc_put_size, xmalloc_get_size): New functions. All uses changed. - These functions do the right thing with sizes > 2**32. - (check_depth): Now ptrdiff_t, not int. - (overrun_check_malloc, overrun_check_realloc, overrun_check_free): - Adjust to new way of storing sizes. Check for size overflow bugs - in rest of code. - (STRING_BYTES_MAX): Adjust to new overheads. The old code was - slightly wrong anyway, as it missed one instance of - XMALLOC_OVERRUN_CHECK_OVERHEAD. - (refill_memory_reserve): Omit needless cast to size_t. - (mark_object_loop_halt): Mark as externally visible. - - * xselect.c: Integer signedness and overflow fixes. - (Fx_register_dnd_atom, x_handle_dnd_message): - Use ptrdiff_t, not size_t, since we prefer signed. - (Fx_register_dnd_atom): Check for ptrdiff_t (and size_t) overflow. - * xterm.h (struct x_display_info): Use ptrdiff_t, not size_t, for - x_dnd_atoms_size and x_dnd_atoms_length. - - * doprnt.c: Prefer signed to unsigned when either works. - * eval.c (verror): - * doprnt.c (doprnt): - * lisp.h (doprnt): - * xdisp.c (vmessage): - Use ptrdiff_t, not size_t, when using or implementing doprnt, - since the sizes cannot exceed ptrdiff_t bounds anyway, and we - prefer signed arithmetic to avoid comparison confusion. - * doprnt.c (doprnt): Avoid a "+ 1" that can't overflow, - but is a bit tricky. - - Assume freestanding C89 headers, string.h, stdlib.h. - * data.c, doprnt.c, floatfns.c, print.c: - Include float.h unconditionally. - * gmalloc.c: Assume C89-at-least behavior for preprocessor, - limits.h, stddef.h, string.h. Use memset instead of 'flood'. - * regex.c: Likewise for stddef.h, string.h. - (ISASCII): Remove; can assume it returns 1 now. All uses removed. - * s/aix4-2.h (HAVE_STRING_H): Remove obsolete undef. - * s/ms-w32.h (HAVE_LIMITS_H, HAVE_STRING_H, HAVE_STDLIB_H) - (STDC_HEADERS): Remove obsolete defines. - * sysdep.c: Include limits.h unconditionally. - - Assume support for memcmp, memcpy, memmove, memset. - * lisp.h, sysdep.c (memcmp, memcpy, memmove, memset): - * regex.c (memcmp, memcpy): - Remove; we assume C89 now. - - * gmalloc.c (memcpy, memset, memmove): Remove; we assume C89 now. - (__malloc_safe_bcopy): Remove; no longer needed. - - * lisp.h (struct vectorlike_header, struct Lisp_Subr): Signed sizes. - Use EMACS_INT, not EMACS_UINT, for sizes. The code works equally - well either way, and we prefer signed to unsigned. - -2011-07-27 Lars Magne Ingebrigtsen - - * gnutls.c (emacs_gnutls_read): Don't message anything if the peer - closes the connection while we're reading (bug#9182). - -2011-07-25 Jan Djärv - - * nsmenu.m (ns_popup_dialog): Add an "ok" button if no buttons - are specified (Bug#9168). - -2011-07-25 Paul Eggert - - * bidi.c (bidi_dump_cached_states): Fix printf format mismatch. - Found by GCC static checking and --with-wide-int on a 32-bit host. - -2011-07-25 Eli Zaretskii - - * xdisp.c (compute_display_string_pos): Fix logic of caching - previous display string position. Initialize cached_prev_pos to - -1. Fixes slow-down at the beginning of a buffer. - -2011-07-24 Eli Zaretskii - - * xfaces.c (check_lface_attrs) [HAVE_WINDOW_SYSTEM]: Allow `nil' - for attrs[LFACE_FONTSET_INDEX]. - -2011-07-23 Paul Eggert - - * xml.c (parse_region): Remove unused local - that was recently introduced. - -2011-07-23 Eli Zaretskii - - * xfns.c (unwind_create_frame) [GLYPH_DEBUG]: Adapt to changes in - 2008-02-22T17:42:09Z!monnier@iro.umontreal.ca. - - * xdisp.c (move_it_in_display_line_to): Record the best matching - position for TO_CHARPOS while scanning the line, and restore it on - exit if none of the characters scanned was an exact match. - Fixes vertical-motion and pos-visible-in-window-p under bidi redisplay - when exact match is impossible due to invisible text, and the - lines are truncated. - -2011-07-23 Jan Djärv - - * nsterm.m (initFrameFromEmacs): Set NSTitledWindowMask in styleMask - for OSX >= 10.7. - -2011-07-22 Eli Zaretskii - - Fix a significant slow-down of cursor motion with C-n, C-p, - C-f/C-b, and C-v/M-v that couldn't keep up with keyboard - auto-repeat under bidi redisplay in fontified buffers. - * xdisp.c (compute_stop_pos_backwards): New function. - (next_element_from_buffer): Call compute_stop_pos_backwards to - find a suitable prev_stop when we find ourselves before - base_level_stop. - (reseat): Don't look for prev_stop, as that could mean a very long - run. - - : Cache for last found display string - position. - (compute_display_string_pos): Return the cached position if asked - about the same buffer in the same area of character positions, and - the buffer wasn't changed since the time the display string - position was cached. - -2011-07-22 Eli Zaretskii - - * xdisp.c (rows_from_pos_range): Don't ignore glyphs whose object - is an integer, which is important for empty lines. (Bug#9149) - -2011-07-22 Chong Yidong - - * frame.c (Fmodify_frame_parameters): In tty case, update the - default face if necessary (Bug#4238). - -2011-07-21 Chong Yidong - - * editfns.c (Fstring_to_char): No need to explain what a character - is in the docstring (Bug#6576). - -2011-07-20 Lars Magne Ingebrigtsen - - * xml.c (parse_region): Make sure we always return a tree. - -2011-07-20 HAMANO Kiyoto - - * xml.c (parse_region): If a document contains only comments, - return that, too. - -2011-07-20 Lars Magne Ingebrigtsen - - * xml.c (make_dom): Return comments, too. - -2011-07-19 Paul Eggert - - Port to OpenBSD. - See http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg00688.html - and the surrounding thread. - * minibuf.c (read_minibuf_noninteractive): Rewrite to use getchar - rather than fgets, and retry after EINTR. Otherwise, 'emacs - --batch -f byte-compile-file' fails on OpenBSD if an inactivity - timer goes off. - * s/openbsd.h (BROKEN_SIGIO): Define. - * unexelf.c (unexec) [__OpenBSD__]: - Don't update the .mdebug section of the Alpha COFF symbol table. - -2011-07-19 Lars Magne Ingebrigtsen - - * lread.c (syms_of_lread): Clarify when `lexical-binding' is used - (bug#8460). - -2011-07-18 Paul Eggert - - * fileio.c (Fcopy_file) [!MSDOS]: Tighten created file's mask. - This fixes some race conditions on the permissions of any newly - created file. - - * alloc.c (valid_pointer_p): Use pipe, not open. - This fixes some permissions issues when debugging. - - * fileio.c (Fcopy_file): Adjust mode if fchown fails. (Bug#9002) - If fchown fails to set both uid and gid, try to set just gid, - as that is sometimes allowed. Adjust the file's mode to eliminate - setuid or setgid bits that are inappropriate if fchown fails. - -2011-07-18 Stefan Monnier - - * xdisp.c (next_element_from_string, next_element_from_buffer): Use EQ - to compare Lisp_Objects. - * gnutls.c (syms_of_gnutls): Rename Vgnutls_log_level to - global_gnutls_log_level, don't mistake it for a Lisp_Object. - (init_gnutls_functions, emacs_gnutls_handle_error): Fix up uses. - -2011-07-17 Andreas Schwab - - * lread.c (read_integer): Unread even EOF character. - (read1): Likewise. Properly record start position of symbol. - - * lread.c (read1): Read `#:' as empty uninterned symbol if no - symbol character follows. - -2011-07-17 Paul Eggert - - * fileio.c (Fcopy_file): Pacify gcc re fchown. (Bug#9002) - This works around a problem with the previous change to Fcopy_file. - Recent glibc declares fchown with __attribute__((warn_unused_result)), - and without this change, GCC might complain about discarding - fchown's return value. - -2011-07-16 Juanma Barranquero - - * makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059). - -2011-07-16 Paul Eggert - - * fileio.c (Fcopy_file): Don't diagnose fchown failures. (Bug#9002) - -2011-07-16 Lars Magne Ingebrigtsen - - * gnutls.c (syms_of_gnutls): Define `gnutls-log-level' here, since - it's used from the C level. - - * process.c: Use the same condition for POLL_FOR_INPUT in both - keyboard.c and process.c (bug#1858). - -2011-07-09 Lawrence Mitchell - - * gnutls.c (Qgnutls_bootprop_min_prime_bits): New variable. - (Fgnutls_boot): Use it. - -2011-07-15 Andreas Schwab - - * doc.c (Fsubstitute_command_keys): Revert last change. - -2011-07-15 Lars Magne Ingebrigtsen - - * doc.c (Fsubstitute_command_keys): Clarify that \= really only - quotes the next character, and doesn't affect other longer - sequences (bug#8935). - - * lread.c (syms_of_lread): Clarify that is isn't only - `eval-buffer' and `eval-defun' that's affected by - `lexical-binding' (bug#8460). - -2011-07-15 Eli Zaretskii - - * xdisp.c (move_it_in_display_line_to): Fix vertical motion with - bidi redisplay when a line includes both an image and is truncated. - -2011-07-14 Paul Eggert - - Fix minor problems found by static checking. - * bidi.c (bidi_cache_size): Now EMACS_INT, not size_t. - (elsz): Now a signed constant, not a size_t var. We prefer signed - types to unsigned, to avoid integer comparison confusion. Without - this change, GCC 4.6.1 with -Wunsafe-loop-optimizations complains - "cannot optimize loop, the loop counter may overflow", a symptom - of the confusion. - * indent.c (Fvertical_motion): Mark locals as initialized. - * xdisp.c (reseat_to_string): Fix pointer signedness issue. - -2011-07-14 Lars Magne Ingebrigtsen - - * search.c (Fre_search_backward): Mention `case-fold-search' in - all the re_search_* functions (bug#8138). - - * keyboard.c (Fopen_dribble_file): Document when the file is - closed (bug#8056). - -2011-07-14 Eli Zaretskii - - * bidi.c (bidi_dump_cached_states): Fix format of displaying - bidi_cache_idx. - - Support bidi reordering of display and overlay strings. - * xdisp.c (compute_display_string_pos) - (compute_display_string_end): Accept additional argument STRING. - (init_iterator, reseat_1): Initialize bidi_it->string.s to NULL. - (reseat_to_string): Initialize bidi_it->string.s and - bidi_it->string.schars. - (Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to - NULL (avoids a crash in bidi_paragraph_init). - Initialize itb.string.lstring. - (init_iterator): Call bidi_init_it only of a valid - buffer position was specified. Initialize paragraph_embedding to - L2R. - (reseat_to_string): Initialize the bidi iterator. - (display_string): If we need to ignore text properties of - LISP_STRING, set IT->stop_charpos to IT->end_charpos. (The - original value of -1 will not work with bidi.) - (compute_display_string_pos): First arg is now struct - `text_pos *'; all callers changed. Support display properties on - Lisp strings. - (compute_display_string_end): Support display properties on Lisp - strings. - (init_iterator, reseat_1, reseat_to_string): Initialize the - string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS - when iterating on a string not from display properties). - (compute_display_string_pos, compute_display_string_end): - Fix calculation of the object to scan. Fixes an error when using - arrow keys. - (next_element_from_buffer): Don't abort when IT_CHARPOS is before - base_level_stop; instead, set base_level_stop to BEGV. - Fixes crashes in vertical-motion. - (next_element_from_buffer): Improve commentary for when - the iterator is before prev_stop. - (init_iterator): Initialize bidi_p from the default value of - bidi-display-reordering, not from buffer-local value. Use the - buffer-local value only if initializing for buffer iteration. - (handle_invisible_prop): Support invisible properties on strings - that are being bidi-reordered. - (set_iterator_to_next): Support bidi reordering of C strings and - Lisp strings. - (next_element_from_string): Support bidi reordering of Lisp - strings. - (handle_stop_backwards): Support Lisp strings as well. - (display_string): Support display of R2L glyph rows. - Use IT_STRING_CHARPOS when displaying from a Lisp string. - (init_iterator): Don't initialize it->bidi_p for strings - here. - (reseat_to_string): Initialize it->bidi_p for strings here. - (next_element_from_string, next_element_from_c_string) - (next_element_from_buffer): Add xassert's for correspondence - between IT's object being iterated and it->bidi_it.string - structure. - (face_before_or_after_it_pos): Support bidi iteration. - (next_element_from_c_string): Handle the case of the first string - character that is not the first one in the visual order. - (get_visually_first_element): New function, refactored from common - parts of next_element_from_buffer, next_element_from_string, and - next_element_from_c_string. - (tool_bar_lines_needed, redisplay_tool_bar) - (display_menu_bar): Force left-to-right direction. Add a FIXME - comment for making that be controlled by a user option. - (push_it, pop_it): Save and restore the state of the - bidi iterator. Save and restore the bidi_p flag. - (pop_it): Iterate out of display property for string iteration as - well. - (iterate_out_of_display_property): Support iteration over strings. - (handle_single_display_spec): Set up it->bidi_it for iteration - over a display string, and call bidi_init_it. - (handle_single_display_spec, next_overlay_string) - (get_overlay_strings_1, push_display_prop): Set up the bidi - iterator for displaying display or overlay strings. - (forward_to_next_line_start): Don't use the shortcut if - bidi-iterating. - (back_to_previous_visible_line_start): If handle_display_prop - pushed the iterator stack, restore the internal state of the bidi - iterator by calling bidi_pop_it same number of times. - (reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero, - and we are bidi-iterating, don't decrement the iterator position; - instead, set the first_elt flag in the bidi iterator, to produce - the same effect. - (reseat_1): Remove redundant setting of string_from_display_prop_p. - (push_display_prop): xassert that we are iterating a buffer. - (push_it, pop_it): Save and restore paragraph_embedding member. - (handle_single_display_spec, next_overlay_string) - (get_overlay_strings_1, reseat_1, reseat_to_string) - (push_display_prop): Set up the `unibyte' member of bidi_it.string - correctly. Don't assume unibyte strings are not bidi-reordered. - (compute_display_string_pos) - (compute_display_string_end): Fix handling the case of C string. - (push_it, pop_it): Save and restore from_disp_prop_p. - (handle_single_display_spec, push_display_prop): Set the - from_disp_prop_p flag. - (get_overlay_strings_1): Reset the from_disp_prop_p flag. - (pop_it): Call iterate_out_of_display_property only if we are - popping after iteration over a string that came from a display - property. Fix a typo in popping stretch info. Add an assertion - for verifying that the iterator position is in sync with the bidi - iterator. - (handle_single_display_spec, get_overlay_strings_1) - (push_display_prop): Fix initialization of paragraph direction for - string when that of the parent object is not yet determined. - (reseat_1): Call bidi_init_it to resync the bidi - iterator with IT's position. (Bug#7616) - (find_row_edges): If ROW->start.pos gives position - smaller than min_pos, use it as ROW->minpos. (Bug#7616) - (handle_stop, back_to_previous_visible_line_start, reseat_1): - Reset the from_disp_prop_p flag. - (SAVE_IT, RESTORE_IT): New macros. - (pos_visible_p, face_before_or_after_it_pos) - (back_to_previous_visible_line_start) - (move_it_in_display_line_to, move_it_in_display_line) - (move_it_to, move_it_vertically_backward, move_it_by_lines) - (try_scrolling, redisplay_window, display_line): Use them when - saving a temporary copy of the iterator and restoring it back. - (back_to_previous_visible_line_start, reseat_1) - (init_iterator): Empty the bidi cache "stack". - (move_it_in_display_line_to): If iterator ended up at - EOL, but we never saw any buffer positions smaller than - to_charpos, return MOVE_POS_MATCH_OR_ZV. Fixes vertical cursor - motion in bidi-reordered lines. - (move_it_in_display_line_to): Record prev_method and prev_pos - immediately before the call to set_iterator_to_next. Fixes cursor - motion in bidi-reordered lines with stretch glyphs and strings - displayed in margins. (Bug#8133) (Bug#8867) - Return MOVE_POS_MATCH_OR_ZV only if iterator position is past - TO_CHARPOS. - (pos_visible_p): Support positions in bidi-reordered lines. - Save and restore bidi cache. - - * bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int. - (bidi_paragraph_info): Delete unused struct. - (bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT. - (bidi_cache_start): New variable. - (bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not - to zero. - (bidi_cache_fetch_state, bidi_cache_search) - (bidi_cache_find_level_change, bidi_cache_iterator_state) - (bidi_cache_find, bidi_peek_at_next_level) - (bidi_level_of_next_char, bidi_find_other_level_edge) - (bidi_move_to_visually_next): Compare cache index with - bidi_cache_start rather than with zero. - (bidi_fetch_char): Accept new argument STRING; all callers - changed. Support iteration over a string. Support strings with - display properties. Support unibyte strings. Fix the type of - `len' according to what STRING_CHAR_AND_LENGTH expects. - (bidi_paragraph_init, bidi_resolve_explicit_1) - (bidi_resolve_explicit, bidi_resolve_weak) - (bidi_level_of_next_char, bidi_move_to_visually_next): - Support iteration over a string. - (bidi_set_sor_type, bidi_resolve_explicit_1) - (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit - can now be zero (for strings); special values 0 and -1 were - changed to -1 and -2, respectively. - (bidi_char_at_pos): New function. - (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak): - Call it instead of FETCH_MULTIBYTE_CHAR. - (bidi_move_to_visually_next): Abort if charpos or bytepos were not - initialized to valid values. - (bidi_init_it): Don't initialize charpos and bytepos with invalid - values. - (bidi_level_of_next_char): Allow the sentinel "position" to pass - the test for valid cached positions. Fix the logic for looking up - the sentinel state in the cache. GCPRO the Lisp string we are - iterating. - (bidi_push_it, bidi_pop_it): New functions. - (bidi_initialize): Initialize the bidi cache start stack pointer. - (bidi_cache_ensure_space): New function, refactored from part of - bidi_cache_iterator_state. Don't assume the required size is just - one BIDI_CACHE_CHUNK away. - (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE. - (bidi_count_bytes, bidi_char_at_pos): New functions. - (bidi_cache_search): Don't assume bidi_cache_last_idx is - always valid if bidi_cache_idx is valid. - (bidi_cache_find_level_change): xassert that bidi_cache_last_idx - is valid if it's going to be used. - (bidi_shelve_cache, bidi_unshelve_cache): New functions. - (bidi_cache_fetch_state, bidi_cache_search) - (bidi_cache_find_level_change, bidi_cache_ensure_space) - (bidi_cache_iterator_state, bidi_cache_find) - (bidi_find_other_level_edge, bidi_cache_start_stack): - All variables related to cache indices are now EMACS_INT. - - * dispextern.h (struct bidi_string_data): New structure. - (struct bidi_it): New member `string'. Make flag members be 1-bit - fields, and put them last in the struct. - (compute_display_string_pos, compute_display_string_end): - Update prototypes. - (bidi_push_it, bidi_pop_it): Add prototypes. - (struct iterator_stack_entry): New members bidi_p, - paragraph_embedding, and from_disp_prop_p. - (struct it): Member bidi_p is now a bit field 1 bit wide. - (bidi_shelve_cache, bidi_unshelve_cache): - Declare prototypes. - - * .gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector) - (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors - and vector-like objects. - - * dispnew.c (buffer_posn_from_coords): Save and restore the bidi - cache around display iteration. - - * window.c (Fwindow_end, window_scroll_pixel_based) - (displayed_window_lines, Frecenter): Save and restore the bidi - cache around display iteration. - -2011-07-14 Lars Magne Ingebrigtsen - - * editfns.c (Fdelete_region): Clarify the use of the named - parameters (bug#6788). - -2011-07-14 Martin Rudalics - - * indent.c (Fvertical_motion): Set and restore w->pointm when - saving and restoring the window's buffer (Bug#9006). - -2011-07-13 Lars Magne Ingebrigtsen - - * editfns.c (Fstring_to_char): Clarify just what is returned - (bug#6576). Text by Eli Zaretskii. - -2011-07-13 Juanma Barranquero - - * gnutls.c (init_gnutls_functions): Honor gnutls_log_level (bug#9059). - -2011-07-13 Eli Zaretskii - - * buffer.c (mmap_find): Fix a typo. - -2011-07-13 Johan Bockgård - - Fix execution of x selection hooks. - * xselect.c (Qx_lost_selection_functions) - (Qx_sent_selection_functions): New vars. - (syms_of_xselect): DEFSYM them. - (x_handle_selection_request): Pass Qx_sent_selection_functions - rather than Vx_sent_selection_functions to Frun_hook_with_args. - (x_handle_selection_clear,x_clear_frame_selections): - Pass Qx_lost_selection_functions rather than - Vx_lost_selection_functions to Frun_hook_with_args. - -2011-07-13 Paul Eggert - - * buffer.c (Fget_buffer_create): Initialize inhibit_shrinking. - The old code sometimes used this field without initializing it. - - * alloc.c (gc_sweep): Don't read past end of array. - In theory, the old code could also have corrupted Emacs internals, - though it'd be very unlikely. - -2011-07-12 Andreas Schwab - - * character.c (Fcharacterp): Don't advertise optional ignored - argument. (Bug#4026) - -2011-07-12 Lars Magne Ingebrigtsen - - * keymap.c (syms_of_keymap): Clarify that "modifier" is "modifier - key" (bug#4257). - - * window.c (Fset_window_start): Doc fix (bug#4199). - (Fset_window_hscroll): Ditto. - -2011-07-12 Paul Eggert - - Fix minor new problems caught by GCC 4.6.1. - * term.c (init_tty): Remove unused local. - * xsettings.c (store_monospaced_changed): Define this function only - if (defined HAVE_GSETTINGS || defined HAVE_GCONF), as it's - not used otherwise. - -2011-07-12 Chong Yidong - - * xdisp.c (Vresize_mini_windows): Minor doc fix (Bug#3300). - -2011-07-11 Lars Magne Ingebrigtsen - - * xdisp.c (syms_of_xdisp): Make it explicit that the mini-windows - are the mini-buffer and the echo area (bug#3320). - - * term.c (init_tty): Remove support for supdup, c10 and perq - terminals, which are no longer supported (bug#1482). - -2011-07-10 Johan Bockgård - - * xdisp.c (Ftool_bar_lines_needed): Fix WINDOWP check. - -2011-07-10 Jan Djärv - - * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event - for non-popups (Bug#3642). - -2011-07-10 Andreas Schwab - - * alloc.c (reset_malloc_hooks): Protoize. - * buffer.c (mmap_init, mmap_find, mmap_free_1, mmap_enlarge) - (mmap_set_vars, mmap_alloc, mmap_free, mmap_realloc): Likewise. - * cm.c (losecursor): Likewise. - * data.c (fmod): Likewise. - * dispnew.c (swap_glyphs_in_rows): Likewise. - * emacs.c (memory_warning_signal): Likewise. - * floatfns.c (float_error): Likewise. - * font.c (check_gstring, check_otf_features, otf_tag_symbol) - (otf_open, font_otf_capability, generate_otf_features) - (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): - Likewise. - * image.c (pbm_read_file): Likewise. - * indent.c (string_display_width): Likewise. - * intervals.c (check_for_interval, search_for_interval) - (inc_interval_count, count_intervals, root_interval) - (adjust_intervals_for_insertion, make_new_interval): Likewise. - * lread.c (defalias): Likewise. - * ralloc.c (r_alloc_check): Likewise. - * regex.c (set_image_of_range_1, set_image_of_range) - (regex_grow_registers): Likewise. - * sysdep.c (strerror): Likewise. - * termcap.c (valid_filename_p, tprint, main): Likewise. - * tparam.c (main): Likewise. - * unexhp9k800.c (run_time_remap, save_data_space) - (update_file_ptrs, read_header, write_header, calculate_checksum) - (copy_file, copy_rest, display_header): Likewise. - * widget.c (mark_shell_size_user_specified, create_frame_gcs): - Likewise. - * xdisp.c (check_it): Likewise. - * xfaces.c (register_color, unregister_color, unregister_colors): - Likewise. - * xfns.c (print_fontset_result): Likewise. - * xrdb.c (member, fatal, main): Likewise. - -2011-07-10 Paul Eggert - - Fix minor problems found by static checking (Bug#9031). - * chartab.c (char_table_set_range, map_sub_char_table): - Remove unused locals. - (uniprop_table): Now static. - * composite.c (_work_char): Remove unused static var. - -2011-07-09 Juanma Barranquero - - * chartab.c (uniprop_table_uncompress): Remove unused local variable. - -2011-07-09 Jan Djärv - - * gtkutil.c (qttip_cb): Remove code without function. - -2011-07-09 Eli Zaretskii - - * w32.c (pthread_sigmask): New stub. - -2011-07-08 Paul Eggert - - Use pthread_sigmask, not sigprocmask (Bug#9010). - sigprocmask is portable only for single-threaded applications, and - Emacs can be multi-threaded when it uses GTK. - * Makefile.in (LIB_PTHREAD_SIGMASK): New macro. - (LIBES): Use it. - * callproc.c (Fcall_process): - * process.c (create_process): - * sysdep.c (sys_sigblock, sys_sigunblock, sys_sigsetmask): - Use pthread_sigmask, not sigprocmask. - -2011-07-08 Jan Djärv - - * gtkutil.c (qttip_cb): Set line wrap to FALSE for tooltip widget. - (xg_prepare_tooltip): Revert text in x->ttip_lbl, margins was - wrong (Bug#8591). - -2011-07-08 Jan Djärv - - * gtkutil.c (xg_prepare_tooltip): Fix indentation and comment. - Put text in x->ttip_lbl instead of gtk_tooltip_set_text (Bug#8591). - (xg_hide_tooltip): Fix comment. - - * nsterm.m (initFrameFromEmacs): Don't use ns_return_types - in registerServicesMenuSendTypes. - (validRequestorForSendType): Don't check ns_return_types. - - * nsfns.m (Fx_open_connection): Put NSStringPboardType into - ns_return_type. - -2011-07-08 Jason Rumney - - * w32term.c (x_make_frame_visible): Use SH_SHOWNORMAL rather than - SH_SHOW for hidden windows (Bug#5482). - - * w32fns.c (w32_wnd_proc) [WM_TIMER, WM_SET_CURSOR]: Avoid using - frame struct members of non-existent frames (Bug#6284). - -2011-07-08 Jan Djärv - - * nsterm.m (keyDown): Call to wantsToDelayTextChangeNotifications and - variable firstTime not needed on OSX >= 10.6. - (setPosition): setFloatValue:knobProportion: is deprecated on OSX - >= 10.5. Use setKnobProportion, setDoubleValue. - - * nsterm.h (MAC_OS_X_VERSION_10_3, MAC_OS_X_VERSION_10_4) - (MAC_OS_X_VERSION_10_5): Define if not defined. - (EmacsView, EmacsTooltip): Implements NSWindowDelegate on OSX >= 10.6. - (EmacsMenu): Implements NSMenuDelegate on OSX >= 10.6. - (EmacsToolbar): Implements NSToolbarDelegate on OSX >= 10.6. - - * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods - cString and lossyCString on OSX >= 10.4. - - * nsmenu.m (fillWithWidgetValue): Don't use deprecated method - sizeToFit on OSX >= 10.2. - - * nsimage.m (allocInitFromFile): Don't use deprecated method - bestRepresentationForDevice on OSX >= 10.6. - - * nsfns.m (check_ns_display_info): Cast to long and use %ld in error - to avoid warning. - - * emacs.c: Declare unexec_init_emacs_zone. - - * nsgui.h: Fix compiler warning about gnulib redefining verify. - - * nsselect.m (ns_get_local_selection): Change to extern (Bug#8842). - - * nsmenu.m (ns_update_menubar): Remove useless setDelegate call - on svcsMenu (Bug#8842). - - * nsfns.m (Fx_open_connection): Remove NSStringPboardType from - ns_return_types. - (Fns_list_services): Just return Qnil on 10.6, code not working there. - - * nsterm.m (QUTF8_STRING): Declare. - (initFrameFromEmacs): Call registerServicesMenuSendTypes. - (validRequestorForSendType): Return type is (id). - Change indexOfObjectIdenticalTo to indexOfObject. - Check if we have local selection before returning self (Bug#8842). - (writeSelectionToPasteboard): Put local selection into paste board - if we have a local selection (Bug#8842). - (syms_of_nsterm): DEFSYM QUTF8_STRING. - - * nsterm.h (MAC_OS_X_VERSION_10_6): Define here instead of nsterm.m. - (ns_get_local_selection): Declare. - -2011-07-07 Lars Magne Ingebrigtsen - - * keymap.c (describe_map_tree): Don't insert a double newline at - the end of the buffer (bug#1169) and return whether we inserted - something. - - * callint.c (Fcall_interactively): Change "reading args" to - "providing args" to try to clarify what it does (bug#1010). - -2011-07-07 Kenichi Handa - - * composite.c (composition_compute_stop_pos): Ignore a static - composition starting before CHARPOS (Bug#8915). - - * xdisp.c (handle_composition_prop): Likewise. - -2011-07-07 Eli Zaretskii - - * term.c (produce_glyphs) : Allow IT_GLYPHLESS in it->what. - (Bug#9015) - -2011-07-07 Kenichi Handa - - * character.h (unicode_category_t): New enum type. - - * chartab.c (uniprop_decoder_t, uniprop_encoder_t): New types. - (Qchar_code_property_table): New variable. - (UNIPROP_TABLE_P, UNIPROP_GET_DECODER) - (UNIPROP_COMPRESSED_FORM_P): New macros. - (char_table_ascii): Uncompress the compressed values. - (sub_char_table_ref): New arg is_uniprop. Callers changed. - Uncompress the compressed values. - (sub_char_table_ref_and_range): Likewise. - (char_table_ref_and_range): Uncompress the compressed values. - (sub_char_table_set): New arg is_uniprop. Callers changed. - Uncompress the compressed values. - (sub_char_table_set_range): Args changed. Callers changed. - (char_table_set_range): Adjuted for the above change. - (map_sub_char_table): Delete args default_val and parent. Add arg - top. Give decoded values to a Lisp function. - (map_char_table): Adjust for the above change. Give decoded - values to a Lisp function. Gcpro more variables. - (uniprop_table_uncompress) - (uniprop_decode_value_run_length): New functions. - (uniprop_decoder, uniprop_decoder_count): New variables. - (uniprop_get_decoder, uniprop_encode_value_character) - (uniprop_encode_value_run_length, uniprop_encode_value_numeric): - New functions. - (uniprop_encoder, uniprop_encoder_count): New variables. - (uniprop_get_encoder, uniprop_table) - (Funicode_property_table_internal, Fget_unicode_property_internal) - (Fput_unicode_property_internal): New functions. - (syms_of_chartab): DEFSYM Qchar_code_property_table, defsubr - Sunicode_property_table_internal, Sget_unicode_property_internal, - and Sput_unicode_property_internal. Defvar_lisp - char-code-property-alist. - - * composite.c (CHAR_COMPOSABLE_P): Adjust for the change of - Vunicode_category_table. - - * font.c (font_range): Adjust for the change of - Vunicode_category_table. - -2011-07-07 Dan Nicolaescu - - * m/iris4d.h: Remove file, move contents ... - * s/irix6-5.h: ... here. - -2011-07-06 Paul Eggert - - Remove unportable assumption about struct layout (Bug#8884). - * alloc.c (mark_buffer): - * buffer.c (reset_buffer_local_variables, Fbuffer_local_variables) - (clone_per_buffer_values): Don't assume that - sizeof (struct buffer) is a multiple of sizeof (Lisp_Object). - This isn't true in general, and it's particularly not true - if Emacs is configured with --with-wide-int. - * buffer.h (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): - New macros, used in the buffer.c change. - -2011-07-05 Jan Djärv - - * xsettings.c: Use both GConf and GSettings if both are available. - (store_config_changed_event): Add comment. - (dpyinfo_valid, store_font_name_changed, map_tool_bar_style) - (store_tool_bar_style_changed): New functions. - (store_monospaced_changed): Add comment. Call dpyinfo_valid. - (struct xsettings): Move font inside HAVE_XFT. - (GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines. - (GSETTINGS_MONO_FONT): Rename from SYSTEM_MONO_FONT. - Move inside HAVE_XFT. - (something_changed_gsettingsCB): Rename from something_changedCB. - Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME - also. - (GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines. - (GCONF_MONO_FONT): Rename from SYSTEM_MONO_FONT. Move inside HAVE_XFT. - (something_changed_gconfCB): Rename from something_changedCB. - Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also. - (parse_settings): Move check for font inside HAVE_XFT. - (read_settings, apply_xft_settings): Add comment. - (read_and_apply_settings): Add comment. Call map_tool_bar_style and - store_tool_bar_style_changed. Move check for font inside HAVE_XFT and - call store_font_name_changed. - (xft_settings_event): Add comment. - (init_gsettings): Add comment. Get values for GSETTINGS_TOOL_BAR_STYLE - and GSETTINGS_FONT_NAME. Move check for fonts within HAVE_XFT. - (init_gconf): Add comment. Get values for GCONF_TOOL_BAR_STYLE - and GCONF_FONT_NAME. Move check for fonts within HAVE_XFT. - (xsettings_initialize): Call init_gsettings last. - (xsettings_get_system_font, xsettings_get_system_normal_font): - Add comment. - -2011-07-05 Paul Eggert - - Random fixes. E.g., (random) never returned negative values. - * fns.c (Frandom): Use GET_EMACS_TIME for random seed, and add the - subseconds part to the entropy, as that's a bit more random. - Prefer signed to unsigned, since the signedness doesn't matter and - in general we prefer signed. When given a limit, use a - denominator equal to INTMASK + 1, not to VALMASK + 1, because the - latter isn't right if USE_2_TAGS_FOR_INTS. - * sysdep.c (get_random): Return a value in the range 0..INTMASK, - not 0..VALMASK. Don't discard "excess" bits that random () returns. - -2011-07-04 Stefan Monnier - - * textprop.c (text_property_stickiness): - Obey Vtext_property_default_nonsticky. - (syms_of_textprop): Add `display' to Vtext_property_default_nonsticky. - * w32fns.c (syms_of_w32fns): - * xfns.c (syms_of_xfns): Don't Add `display' since it's there by default. - -2011-07-04 Paul Eggert - - * fileio.c (barf_or_query_if_file_exists): Use S_ISDIR. - This is more efficient than Ffile_directory_p and avoids a minor race. - -2011-07-04 Lars Magne Ingebrigtsen - - * buffer.c (Foverlay_put): Say what the return value is - (bug#7835). - - * fileio.c (barf_or_query_if_file_exists): Check first if the file - is a directory before asking whether to use the file name - (bug#7564). - (barf_or_query_if_file_exists): Make the "File is a directory" - error be more correct. - - * fns.c (Frequire): Remove the mention of the .gz files, since - that's installation-specific, but keep the mention of - `get-load-suffixes'. - -2011-07-04 Paul Eggert - - * editfns.c (Fformat_time_string): Don't assume strlen fits in int. - Report string overflow if the output is too long. - -2011-07-04 Juanma Barranquero - - * gnutls.c (Fgnutls_boot): Don't mention :verify-error. - (syms_of_gnutls): Remove duplicate DEFSYM for - Qgnutls_bootprop_verify_hostname_error, an error for - Qgnutls_bootprop_verify_error (which is no longer used). - - * eval.c (find_handler_clause): Remove parameters `sig' and `data', - unused since 2011-01-26T20:02:07Z!monnier@iro.umontreal.ca. All callers changed. - Also (re)move comments that are misplaced or no longer relevant. - -2011-07-03 Lars Magne Ingebrigtsen - - * callint.c (Finteractive): Clarify the meaning of "@" (bug#8813). - -2011-07-03 Chong Yidong - - * xfaces.c (Finternal_merge_in_global_face): Modify the foreground - and background color parameters if they have been changed. - -2011-07-03 Lars Magne Ingebrigtsen - - * editfns.c (Fformat): Clarify the - and 0 flags (bug#6659). - -2011-07-03 Paul Eggert - - * xsettings.c (SYSTEM_FONT): Define only when used. - No need to define when HAVE_GSETTINGS || !HAVE_XFT. - - * keymap.c (access_keymap_1): Now static. - -2011-07-02 Chong Yidong - - * keyboard.c (command_loop_1): If a down-mouse event is unbound, - leave any prefix arg for the up event (Bug#1586). - -2011-07-02 Lars Magne Ingebrigtsen - - * lread.c (syms_of_lread): Mention single symbols defined by - `defvar' or `defconst' (bug#7154). - - * fns.c (Frequire): Mention .el.gz files (bug#7314). - (Frequire): Mention get-load-suffixes. - -2011-07-02 Martin Rudalics - - * window.h (window): Remove clone_number slot. - * window.c (Fwindow_clone_number, Fset_window_clone_number): - Remove. - (make_parent_window, make_window, saved_window) - (Fset_window_configuration, save_window_save): Don't deal with - clone numbers. - * buffer.c (Qclone_number): Remove declaration. - (sort_overlays, overlay_strings): Don't deal with clone numbers. - -2011-07-02 Stefan Monnier - - Add multiple inheritance to keymaps. - * keymap.c (Fmake_composed_keymap): New function. - (Fset_keymap_parent): Simplify. - (fix_submap_inheritance): Remove. - (access_keymap_1): New function extracted from access_keymap to handle - embedded parents and handle lists of maps. - (access_keymap): Use it. - (Fkeymap_prompt, map_keymap_internal, map_keymap, store_in_keymap) - (Fcopy_keymap): Handle embedded parents. - (Fcommand_remapping, define_as_prefix): Simplify. - (Fkey_binding): Simplify. - (syms_of_keymap): Move minibuffer-local-completion-map, - minibuffer-local-filename-completion-map, - minibuffer-local-must-match-map, and - minibuffer-local-filename-must-match-map to Elisp. - (syms_of_keymap): Defsubr make-composed-keymap. - * keyboard.c (menu_bar_items): Use map_keymap_canonical. - (parse_menu_item): Trivial simplification. - -2011-07-01 Glenn Morris - - * Makefile.in (SETTINGS_LIBS): Fix typo. - -2011-07-01 Kazuhiro Ito (tiny change) - - * coding.c (Fencode_coding_string): Record the last coding system - used, as the function doc string says (bug#8738). - -2011-07-01 Jan Djärv - - * xsettings.c (store_monospaced_changed): Take new font as arg and - check for change against current_mono_font. - (EMACS_TYPE_SETTINGS): Remove this and related defines. - (emacs_settings_constructor, emacs_settings_get_property) - (emacs_settings_set_property, emacs_settings_class_init) - (emacs_settings_init, gsettings_obj): Remove. - (something_changedCB): New function for HAVE_GSETTINGS. - (something_changedCB): HAVE_GCONF: Call store_monospaced_changed - with value as argument. - (init_gsettings): Check that GSETTINGS_SCHEMA exists before calling - g_settings_new (Bug#8967). Do not create gsettings_obj. - Remove calls to g_settings_bind. Connect something_changedCB to - "changed". - - * xgselect.c: Add defined (HAVE_GSETTINGS). - (xgselect_initialize): Ditto. - - * process.c: Add defined (HAVE_GSETTINGS) for xgselect.h - (wait_reading_process_output): Add defined (HAVE_GSETTINGS) for - xg_select. - -2011-07-01 Paul Eggert - - * eval.c (struct backtrace): Simplify and port the data structure. - Do not assume that "int nargs : BITS_PER_INT - 2;" produces a - signed bit field, as this assumption is not portable and it makes - Emacs crash when compiled with Sun C 5.8 on sparc. Do not use - "char debug_on_exit : 1" as this is not portable either; instead, - use the portable "unsigned int debug_on_exit : 1". Remove unused - member evalargs. Remove obsolete comments about cc bombing out. - -2011-06-30 Jan Djärv - - * xsettings.c: Include glib-object.h, gio/gio.h if HAVE_GSETTINGS. - Let HAVE_GSETTINGS override HAVE_GCONF. - (store_monospaced_changed): New function. - (EMACS_SETTINGS): A new type derived from GObject to handle - GSettings notifications. - (emacs_settings_constructor, emacs_settings_get_property) - (emacs_settings_set_property, emacs_settings_class_init): - New functions. - (gsettings_client, gsettings_obj): New variables. - (GSETTINGS_SCHEMA): New define. - (something_changedCB): Call store_monospaced_changed. - (init_gsettings): New function. - (xsettings_initialize): Call init_gsettings. - (syms_of_xsettings): Initialize gsettings_client, gsettings_obj - to NULL. - - * Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Rename from - GCONF_CFLAGS/LIBS. - -2011-06-29 Martin Rudalics - - * window.c (resize_root_window, grow_mini_window) - (shrink_mini_window): Rename Qresize_root_window to - Qwindow_resize_root_window and Qresize_root_window_vertically to - Qwindow_resize_root_window_vertically. - -2011-06-28 Paul Eggert - - * gnutls.c (Qgnutls_bootprop_verify_error): Remove unused var. - -2011-06-27 Juanma Barranquero - - * makefile.w32-in: Redesign dependencies so they reflect more - clearly which files are directly included by each source file, - and not through other includes. - -2011-06-27 Martin Rudalics - - * buffer.c (Qclone_number): Declare static and DEFSYM it. - (sort_overlays, overlay_strings): When an overlay's clone number - matches the window's clone number process the overlay even if - the overlay's window property doesn't match the current window. - - * window.c (Fwindow_vchild): Rename to Fwindow_top_child. - (Fwindow_hchild): Rename to Fwindow_left_child. - (Fwindow_next): Rename to Fwindow_next_sibling. - (Fwindow_prev): Rename to Fwindow_prev_sibling. - (resize_window_check): Rename to window_resize_check. - (resize_window_apply): Rename to window_resize_apply. - (Fresize_window_apply): Rename to Fwindow_resize_apply. - (Fdelete_other_windows_internal, resize_frame_windows) - (Fsplit_window_internal, Fdelete_window_internal) - (grow_mini_window, shrink_mini_window) - (Fresize_mini_window_internal): Fix callers accordingly. - -2011-06-26 Jan Djärv - - * emacsgtkfixed.h: State that this is only used with Gtk+3. - (emacs_fixed_set_min_size): Remove. - (emacs_fixed_new): Take frame as argument. - - * emacsgtkfixed.c: State that this is only used with Gtk+3. - (_EmacsFixedPrivate): Remove minwidth/height. - Add struct frame *f. - (emacs_fixed_init): Initialize priv->f. - (get_parent_class, emacs_fixed_set_min_size): Remove. - (emacs_fixed_new): Set priv->f to argument. - (emacs_fixed_get_preferred_width) - (emacs_fixed_get_preferred_height): Use min_width/height from - frames size_hint to set minimum and natural (Bug#8919). - (XSetWMSizeHints, XSetWMNormalHints): Override these functions - and use min_width/height from frames size_hint to set - min_width/height (Bug#8919). - - * gtkutil.c (xg_create_frame_widgets): Pass f to emacs_fixed_new. - (x_wm_set_size_hint): Remove call to emacs_fixed_set_min_size. - Fix indentation. - -2011-06-26 Eli Zaretskii - - * bidi.c (bidi_paragraph_init): Test for ZV_BYTE before calling - bidi_at_paragraph_end, since fast_looking_at doesn't like to be - called at ZV. - -2011-06-26 Chong Yidong - - * process.c (wait_reading_process_output): Bypass select if - waiting for a cell while ignoring keyboard input, and input is - pending. Suggested by Jan Djärv (Bug#8869). - -2011-06-25 Paul Eggert - - Use gnulib's dup2 module instead of rolling our own. - * sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this. - -2011-06-25 YAMAMOTO Mitsuharu - - * dispnew.c (scrolling_window): Before scrolling, turn off a - mouse-highlight in the window being scrolled. - -2011-06-24 Juanma Barranquero - - Move DEFSYM to lisp.h and use everywhere. - - * character.h (DEFSYM): Move declaration... - * lisp.h (DEFSYM): ...here. - - * gnutls.c: - * minibuf.c: - * w32menu.c: - * w32proc.c: - * w32select.c: Don't include character.h. - - * alloc.c (syms_of_alloc): - * buffer.c (syms_of_buffer): - * bytecode.c (syms_of_bytecode): - * callint.c (syms_of_callint): - * casefiddle.c (syms_of_casefiddle): - * casetab.c (init_casetab_once): - * category.c (init_category_once, syms_of_category): - * ccl.c (syms_of_ccl): - * cmds.c (syms_of_cmds): - * composite.c (syms_of_composite): - * dbusbind.c (syms_of_dbusbind): - * dired.c (syms_of_dired): - * dispnew.c (syms_of_display): - * doc.c (syms_of_doc): - * editfns.c (syms_of_editfns): - * emacs.c (syms_of_emacs): - * eval.c (syms_of_eval): - * fileio.c (syms_of_fileio): - * fns.c (syms_of_fns): - * frame.c (syms_of_frame): - * fringe.c (syms_of_fringe): - * insdel.c (syms_of_insdel): - * keymap.c (syms_of_keymap): - * lread.c (init_obarray, syms_of_lread): - * macros.c (syms_of_macros): - * msdos.c (syms_of_msdos): - * print.c (syms_of_print): - * process.c (syms_of_process): - * search.c (syms_of_search): - * sound.c (syms_of_sound): - * syntax.c (init_syntax_once, syms_of_syntax): - * terminal.c (syms_of_terminal): - * textprop.c (syms_of_textprop): - * undo.c (syms_of_undo): - * w32.c (globals_of_w32): - * window.c (syms_of_window): - * xdisp.c (syms_of_xdisp): - * xfaces.c (syms_of_xfaces): - * xfns.c (syms_of_xfns): - * xmenu.c (syms_of_xmenu): - * xsettings.c (syms_of_xsettings): - * xterm.c (syms_of_xterm): Use DEFSYM. - -2011-06-24 Teodor Zlatanov - - * gnutls.c (syms_of_gnutls): Use the DEFSYM macro from character.h. - -2011-06-23 Paul Eggert - - Integer and buffer overflow fixes (Bug#8873). - - * print.c (printchar, strout): Check for string overflow. - (PRINTPREPARE, printchar, strout): - Don't set size unless allocation succeeds. - - * minibuf.c (read_minibuf_noninteractive): Use ptrdiff_t, not int, - for sizes. Check for string overflow more accurately. - Simplify newline removal at end; this suppresses a GCC 4.6.0 warning. - - * macros.c: Integer and buffer overflow fixes. - * keyboard.h (struct keyboard.kbd_macro_bufsize): - * macros.c (Fstart_kbd_macro, store_kbd_macro_char): - Use ptrdiff_t, not int, for sizes. - Don't increment bufsize until after realloc succeeds. - Check for size-calculation overflow. - (Fstart_kbd_macro): Use EMACS_INT, not int, for XINT result. - - * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling. - - * lread.c: Integer overflow fixes. - (read_integer): Radix is now EMACS_INT, not int, - to improve quality of diagnostics for out-of-range radices. - Calculate buffer size correctly for out-of-range radices. - (read1): Check for integer overflow in radices, and in - read-circle numbers. - (read_escape): Avoid int overflow. - (Fload, openp, read_buffer_size, read1) - (substitute_object_recurse, read_vector, read_list, map_obarray): - Use ptrdiff_t, not int, for sizes. - (read1): Use EMACS_INT, not int, for sizes. - Check for size overflow. - - * image.c (cache_image): Check for size arithmetic overflow. - - * lread.c: Integer overflow issues. - (saved_doc_string_size, saved_doc_string_length) - (prev_saved_doc_string_size, prev_saved_doc_string_length): - Now ptrdiff_t, not int. - (read1): Don't assume doc string length fits in int. Check for - out-of-range doc string lengths. - (read_list): Don't assume file position fits in int. - (read_escape): Check for hex character overflow. - -2011-06-22 Leo Liu - - * minibuf.c (Fcompleting_read_default, Vcompleting_read_function): - Move to minibuffer.el. - -2011-06-22 Paul Eggert - - Fixes for GLYPH_DEBUG found by GCC 4.6.0 static checking. - The following patches are for when GLYPH_DEBUG && !XASSERT. - * dispextern.h (trace_redisplay_p, dump_glyph_string): - * dispnew.c (flush_stdout): - * xdisp.c (dump_glyph_row, dump_glyph_matrix, dump_glyph): - Mark as externally visible. - * dispnew.c (check_window_matrix_pointers): Now static. - * dispnew.c (window_to_frame_vpos): - * xfns.c (unwind_create_frame): - * xterm.c (x_check_font): Remove unused local. - * scroll.c (CHECK_BOUNDS): - * xfaces.c (cache_fache): Rename local to avoid shadowing. - * xfns.c, w32fns.c (image_cache_refcount, dpyinfo_refcount): Now static. - * xdisp.c (check_window_end): Now a no-op if !XASSERTS. - (debug_first_unchanged_at_end_vpos, debug_last_unchanged_at_beg_vpos) - (debug_dvpos, debug_dy, debug_delta, debug_delta_bytes, debug_end_vpos): - Now static. - (debug_method_add): Use va_list and vsprintf rather than relying - on undefined behavior with wrong number of arguments. - (dump_glyph, dump_glyph_row, Fdump_glyph_matrix): - Don't assume ptrdiff_t and EMACS_INT are the same width as int. - In this code, it's OK to assume C99 behavior for ptrdiff_t formats - since we're not interested in debugging glyphs with old libraries. - * xfaces.c (cache_face): Move debugging code earlier; this pacifies - GCC 4.6.0's static checking. - -2011-06-22 Paul Eggert - - Integer overflow and signedness fixes (Bug#8873). - A few related buffer overrun fixes, too. - - * font.c (font_score): Use EMACS_INT, not int, to store XINT value. - - * dispextern.h (struct face.stipple): - * image.c (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap) - (x_bitmap_mask, x_allocate_bitmap_record) - (x_create_bitmap_from_data, x_create_bitmap_from_file) - (x_destroy_bitmap, x_destroy_all_bitmaps, x_create_bitmap_mask) - (x_create_bitmap_from_xpm_data): - * nsterm.h (struct ns_display_info.bitmaps_size, .bitmaps_last): - * w32term.h (struct w32_display_info.icon_bitmap_id, .bitmaps_size) - (.bitmaps_last): - * xfaces.c (load_pixmap): - * xterm.c (x_bitmap_icon, x_wm_set_icon_pixmap): - * xterm.h (struct x_display_info.icon_bitmap_id, .bitmaps_size) - (.bitmaps_last, struct x_output.icon_bitmap): - Use ptrdiff_t, not int, for bitmap indexes. - (x_allocate_bitmap_record): Check for size overflow. - * dispextern.h, lisp.h: Adjust to API changes elsewhere. - - Use ptrdiff_t, not int, for overlay counts. - * buffer.h (overlays_at, sort_overlays, GET_OVERLAYS_AT): - * editfns.c (overlays_around, get_pos_property): - * textprop.c (get_char_property_and_overlay): - * xdisp.c (next_overlay_change, note_mouse_highlight): - * xfaces.c (face_at_buffer_position): - * buffer.c (OVERLAY_COUNT_MAX): New macro. - (overlays_at, overlays_in, sort_overlays, Foverlays_at) - (Fnext_overlay_change, Fprevious_overlay_change) - (mouse_face_overlay_overlaps, Foverlays_in): - Use ptrdiff_t, not int, for sizes. - (overlays_at, overlays_in): Check for size-calculation overflow. - - * xterm.c (xim_initialize, same_x_server): Strlen may not fit in int. - - * xsmfns.c (smc_save_yourself_CB, x_session_initialize): Avoid strlen. - (x_session_initialize): Do not assume string length fits in int. - - * xsettings.c (apply_xft_settings): Fix potential buffer overrun. - This is unlikely, but can occur if DPI is outlandish. - - * xsettings.c (Ffont_get_system_normal_font, Ffont_get_system_font): - * xselect.c (Fx_get_atom_name): Avoid need for strlen. - - * xrdb.c: Don't assume strlen fits in int; avoid some strlens. - * xrdb.c (magic_file_p, search_magic_path): - Omit last arg SUFFIX; it was always 0. All callers changed. - (magic_file_p): Use ptrdiff_t, not int. Check for size overflow. - - * xfont.c (xfont_match): Avoid need for strlen. - - * xfns.c: Don't assume strlen fits in int. - (xic_create_fontsetname, x_window): Use ptrdiff_t, not int. - - * xdisp.c (message_log_check_duplicate): Return intmax_t, - not unsigned long, as we prefer signed integers. All callers changed. - Detect integer overflow in repeat count. - (message_dolog): Don't assume print length fits in 39 bytes. - (display_mode_element): Don't assume strlen fits in int. - - * termcap.c: Don't assume sizes fit in int and never overflow. - (struct termcap_buffer, tgetent): Use ptrdiff_t, not int, for sizes. - (gobble_line): Check for size-calculation overflow. - - * minibuf.c (Fread_buffer): - * lread.c (intern, intern_c_string): - * image.c (xpm_scan) [HAVE_NS && !HAVE_XPM]: - Don't assume string length fits in int. - - * keyboard.c (parse_tool_bar_item): - * gtkutil.c (style_changed_cb): Avoid need for strlen. - - * font.c: Don't assume string length fits in int. - (font_parse_xlfd, font_parse_fcname, font_unparse_fcname): - Use ptrdiff_t, not int. - (font_intern_prop): Don't assume string length fits in int. - Don't assume integer property fits in fixnum. - * font.h (font_intern_prop): 2nd arg is now ptrdiff_t, not int. - - * filelock.c: Fix some buffer overrun and integer overflow issues. - (get_boot_time): Don't assume gzip command string fits in 100 bytes. - Reformulate so as not to need the command string. - Invoke gzip -cd rather than gunzip, as it's more portable. - (lock_info_type, lock_file_1, lock_file): - Don't assume pid_t and time_t fit in unsigned long. - (LOCK_PID_MAX): Remove; we now use more-reliable bounds. - (current_lock_owner): Prefer signed type for sizes. - Use memcpy, not strncpy, where memcpy is what is really wanted. - Don't assume (via atoi) that time_t and pid_t fit in int. - Check for time_t and/or pid_t out of range, e.g., via a network share. - Don't alloca where an auto var works fine. - - * fileio.c: Fix some integer overflow issues. - (file_name_as_directory, Fexpand_file_name, Fsubstitute_in_file_name): - Don't assume string length fits in int. - (directory_file_name): Don't assume string length fits in long. - (make_temp_name): Don't assume pid fits in int, or that its print - length is less than 20. - - * data.c (Fsubr_name): Rewrite to avoid a strlen call. - - * coding.c (make_subsidiaries): Don't assume string length fits in int. - - * callproc.c (child_setup): Rewrite to avoid two strlen calls. - - * process.c (Fformat_network_address): Use EMACS_INT, not EMACS_UINT. - We prefer signed integers, even for size calculations. - - * emacs.c: Don't assume string length fits in 'int'. - (DEFINE_DUMMY_FUNCTION, sort_args): Use ptrdiff_t, not int. - (main): Don't invoke strlen when not needed. - - * dbusbind.c (XD_ERROR): Don't arbitrarily truncate string. - (XD_DEBUG_MESSAGE): Don't waste a byte. - - * callproc.c (getenv_internal_1, getenv_internal) - (Fgetenv_internal): - * buffer.c (init_buffer): Don't assume string length fits in 'int'. - - * lread.c (invalid_syntax): Omit length argument. - All uses changed. This doesn't fix a bug, but it simplifies the - code away from its former Hollerith-constant appearance, and it's - one less 'int' to worry about when looking at integer-overflow issues. - (string_to_number): Simplify 2011-04-26 change by invoking xsignal1. - - * lisp.h (DEFUN): Remove bogus use of sizeof (struct Lisp_Subr). - This didn't break anything, but it didn't help either. - It's confusing to put a bogus integer in a place where the actual - value does not matter. - (LIST_END_P): Remove unused macro and its bogus comment. - (make_fixnum_or_float): Remove unnecessary cast to EMACS_INT. - - * lisp.h (union Lisp_Object.i): EMACS_INT, not EMACS_UINT. - This is for consistency with the ordinary, non-USE_LISP_UNION_TYPE, - implementation. - (struct Lisp_Bool_Vector.size): EMACS_INT, not EMACS_UINT. - We prefer signed types, and the value cannot exceed the EMACS_INT - range anyway (because otherwise the length would not be representable). - (XSET) [USE_LISP_UNION_TYPE]: Use uintptr_t and intptr_t, - not EMACS_UINT and EMACS_INT, when converting pointer to integer. - This avoids a GCC warning when WIDE_EMACS_INT. - - * indent.c (sane_tab_width): New function. - (current_column, scan_for_column, Findent_to, position_indentation) - (compute_motion): Use it. This is just for clarity. - (Fcompute_motion): Don't assume hscroll and tab offset fit in int. - - * image.c (xbm_image_p): Don't assume stated width, height fit in int. - - * lisp.h (lint_assume): New macro. - * composite.c (composition_gstring_put_cache): - * ftfont.c (ftfont_shape_by_flt): Use it to pacify GCC 4.6.0. - - * editfns.c, insdel.c: - Omit unnecessary forward decls, to simplify future changes. - - * ftfont.c (ftfont_shape_by_flt): Use signed integers for lengths. - - * font.c (Ffont_shape_gstring): Don't assume glyph len fits in 'int'. - - * fns.c (Ffillarray): Don't assume bool vector size fits in 'int'. - Use much-faster test for byte-length change. - Don't assume string byte-length fits in 'int'. - Check that character arg fits in 'int'. - (mapcar1): Declare byte as byte, for clarity. - - * alloc.c (Fmake_bool_vector): Avoid unnecessary multiplication. - - * fns.c (concat): Catch string overflow earlier. - Do not rely on integer wraparound. - - * dispextern.h (struct it.overlay_strings_charpos) - (struct it.selective): Now EMACS_INT, not int. - * xdisp.c (forward_to_next_line_start) - (back_to_previous_visible_line_start) - (reseat_at_next_visible_line_start, next_element_from_buffer): - Don't arbitrarily truncate the value of 'selective' to int. - - * xdisp.c (init_iterator): Use XINT, not XFASTINT; it might be < 0. - - * composite.c: Don't truncate sizes to 'int'. - (composition_gstring_p, composition_reseat_it) - (composition_adjust_point): Use EMACS_INT, not int. - (get_composition_id, composition_gstring_put_cache): Use EMACS_INT, - not EMACS_UINT, for indexes. - - * category.h (CATEGORY_SET_P): Remove unnecessary cast to EMACS_INT. - - * buffer.c: Include . - (struct sortvec.priority, struct sortstr.priority): - Now EMACS_INT, not int. - (compare_overlays, cmp_for_strings): Avoid subtraction overflow. - (struct sortstr.size, record_overlay_string) - (struct sortstrlist.size, struct sortlist.used): - Don't truncate size to int. - (record_overlay_string): Check for size-calculation overflow. - (init_buffer_once): Check at compile-time, not run-time. - -2011-06-22 Jim Meyering - - Don't leak an XBM-image-sized buffer - * image.c (xbm_load): Free the image buffer after using it. - -2011-06-21 Paul Eggert - - Port to Sun C. - * composite.c (find_automatic_composition): Omit needless 'return 0;' - that Sun C diagnosed. - * fns.c (secure_hash): Fix pointer signedness issue. - * intervals.c (static_offset_intervals): New function. - (offset_intervals): Use it. - -2011-06-21 Leo Liu - - * deps.mk (fns.o): - * makefile.w32-in ($(BLD)/fns.$(O)): Include sha256.h and - sha512.h. - - * fns.c (secure_hash): Rename from crypto_hash_function and change - the first arg to accept symbols. - (Fsecure_hash): New primitive. - (syms_of_fns): New symbols. - -2011-06-20 Deniz Dogan - - * process.c (Fset_process_buffer): Clarify return value in - docstring. - -2011-06-18 Chong Yidong - - * dispnew.c (add_window_display_history): Use BVAR. - - * xdisp.c (debug_method_add): Use BVAR. - (check_window_end, dump_glyph_matrix, dump_glyph) - (dump_glyph_row, dump_glyph_string): Convert arglist to ANSI C. - - * xfaces.c (check_lface_attrs, check_lface, dump_realized_face): - Likewise. - - * xfns.c (Fx_create_frame, x_create_tip_frame): Delay image cache - check till after the cache is created in init_frame_faces. - -2011-06-17 Stefan Monnier - - * fns.c (Fsafe_length): Yet another int/Lisp_Object mixup. - -2011-06-16 Paul Eggert - - * lisp.h: Include , for INT_MAX, LONG_MAX, LLONG_MAX. - Without this, prin1 mishandles Lisp_Misc_Save_Value printing on - hosts with pre-C99 libraries, because pD is wrongly defined to "t". - - Improve buffer-overflow checking (Bug#8873). - * fileio.c (Finsert_file_contents): - * insdel.c (insert_from_buffer_1, replace_range, replace_range_2): - Remove the old (too-loose) buffer overflow checks. - They weren't needed, since make_gap checks for buffer overflow. - * insdel.c (make_gap_larger): Catch buffer overflows that were missed. - The old code merely checked for Emacs fixnum overflow, and relied - on undefined (wraparound) behavior. The new code avoids undefined - behavior, and also checks for ptrdiff_t and/or size_t overflow. - - * editfns.c (Finsert_char): Don't dump core with very negative counts. - Tune. Don't use wider integers than needed. Don't use alloca. - Use a bigger 'string' buffer. Rewrite to avoid 'n > 0' test. - - * insdel.c (replace_range): Fix buf overflow when insbytes < outgoing. - - * insdel.c, lisp.h (buffer_overflow): New function. - (insert_from_buffer_1, replace_range, replace_range_2): - * insdel.c (make_gap_larger): - * editfns.c (Finsert_char): - * fileio.c (Finsert_file_contents): Use it, to normalize wording. - - * buffer.h (BUF_BYTES_MAX): Cast to ptrdiff_t so that it's signed. - -2011-06-15 Paul Eggert - - Integer overflow and signedness fixes (Bug#8873, Bug#8828). - - * ccl.c (ASCENDING_ORDER): New macro, to work around GCC bug 43772. - (GET_CCL_RANGE, IN_INT_RANGE): Use it. - - * fileio.c: Don't assume EMACS_INT fits in off_t. - (emacs_lseek): New static function. - (Finsert_file_contents, Fwrite_region): Use it. - Use SEEK_SET, SEEK_CUR, SEEK_END as appropriate. - - * fns.c (Fload_average): Don't assume 100 * load average fits in int. - - * fns.c: Don't overflow int when computing a list length. - * fns.c (QUIT_COUNT_HEURISTIC): New constant. - (Flength, Fsafe_length): Use EMACS_INT, not int, to avoid unwanted - truncation on 64-bit hosts. Check for QUIT every - QUIT_COUNT_HEURISTIC entries rather than every other entry; that's - faster and is responsive enough. - (Flength): Report an error instead of overflowing an integer. - (Fsafe_length): Return a float if the value is not representable - as a fixnum. This shouldn't happen except in contrived situations. - (Fnthcdr, Fsort): Don't assume list length fits in int. - (Fcopy_sequence): Don't assume vector length fits in int. - - * alloc.c: Check that resized vectors' lengths fit in fixnums. - (header_size, word_size): New constants. - (allocate_vectorlike): Don't check size overflow here. - (allocate_vector): Check it here instead, since this is the only - caller of allocate_vectorlike that could cause overflow. - Check that the new vector's length is representable as a fixnum. - - * fns.c (next_almost_prime): Don't return a multiple of 3 or 5. - The previous code was bogus. For example, next_almost_prime (32) - returned 39, which is undesirable as it is a multiple of 3; and - next_almost_prime (24) returned 25, which is a multiple of 5 so - why was the code bothering to check for multiples of 7? - - * bytecode.c (exec_byte_code): Use ptrdiff_t, not int, for vector length. - - * eval.c, doprnt.c (SIZE_MAX): Remove; inttypes.h defines this now. - - Variadic C functions now count arguments with ptrdiff_t. - This partly undoes my 2011-03-30 change, which replaced int with size_t. - Back then I didn't know that the Emacs coding style prefers signed int. - Also, in the meantime I found a few more instances where arguments - were being counted with int, which may truncate counts on 64-bit - machines, or EMACS_INT, which may be unnecessarily wide. - * lisp.h (struct Lisp_Subr.function.aMANY) - (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): - Arg counts are now ptrdiff_t, not size_t. - All variadic functions and their callers changed accordingly. - (struct gcpro.nvars): Now size_t, not size_t. All uses changed. - * bytecode.c (exec_byte_code): Check maxdepth for overflow, - to avoid potential buffer overrun. Don't assume arg counts fit in 'int'. - * callint.c (Fcall_interactively): Check arg count for overflow, - to avoid potential buffer overrun. Use signed char, not 'int', - for 'varies' array, so that we needn't bother to check its size - calculation for overflow. - * editfns.c (Fformat): Use ptrdiff_t, not EMACS_INT, to count args. - * eval.c (apply_lambda): - * fns.c (Fmapconcat): Use XFASTINT, not XINT, to get args length. - (struct textprop_rec.argnum): Now ptrdiff_t, not int. All uses changed. - (mapconcat): Use ptrdiff_t, not int and EMACS_INT, to count args. - - * callint.c (Fcall_interactively): Don't use index var as event count. - - * vm-limit.c (check_memory_limits): Fix incorrect extern function decls. - * mem-limits.h (SIZE): Remove; no longer used. - - * xterm.c (x_alloc_nearest_color_1): Prefer int to long when int works. - - Remove unnecessary casts. - * xterm.c (x_term_init): - * xfns.c (x_set_border_pixel): - * widget.c (create_frame_gcs): Remove casts to unsigned long etc. - These aren't needed now that we assume ANSI C. - - * sound.c (Fplay_sound_internal): Remove cast to unsigned long. - It's more likely to cause problems (due to unsigned overflow) - than to cure them. - - * dired.c (Ffile_attributes): Don't use 32-bit hack on 64-bit hosts. - - * unexelf.c (unexec): Don't assume BSS addr fits in unsigned. - - * xterm.c (handle_one_xevent): Omit unnecessary casts to unsigned. - - * keyboard.c (modify_event_symbol): Don't limit alist len to UINT_MAX. - - * lisp.h (CHAR_TABLE_SET): Omit now-redundant test. - - * lread.c (Fload): Don't compare a possibly-garbage time_t value. - - GLYPH_CODE_FACE returns EMACS_INT, not int. - * dispextern.h (merge_faces): - * xfaces.c (merge_faces): - * xdisp.c (get_next_display_element, next_element_from_display_vector): - Don't assume EMACS_INT fits in int. - - * character.h (CHAR_VALID_P): Remove unused parameter. - * fontset.c, lisp.h, xdisp.c: All uses changed. - - * editfns.c (Ftranslate_region_internal): Omit redundant test. - - * fns.c (concat): Minor tuning based on overflow analysis. - This doesn't fix any bugs. Use int to hold character, instead - of constantly refetching from Emacs object. Use XFASTINT, not - XINT, for value known to be a character. Don't bother comparing - a single byte to 0400, as it's always less. - - * floatfns.c (Fexpt): - * fileio.c (make_temp_name): Omit unnecessary cast to unsigned. - - * editfns.c (Ftranslate_region_internal): Use int, not EMACS_INT - for characters. - - * doc.c (get_doc_string): Omit (unsigned)c that mishandled negatives. - - * data.c (Faset): If ARRAY is a string, check that NEWELT is a char. - Without this fix, on a 64-bit host (aset S 0 4294967386) would - incorrectly succeed when S was a string, because 4294967386 was - truncated before it was used. - - * chartab.c (Fchar_table_range): Use CHARACTERP to check range. - Otherwise, an out-of-range integer could cause undefined behavior - on a 64-bit host. - - * composite.c: Use int, not EMACS_INT, for characters. - (fill_gstring_body, composition_compute_stop_pos): Use int, not - EMACS_INT, for values that are known to be in character range. - This doesn't fix any bugs but is the usual style inside Emacs and - may generate better code on 32-bit machines. - - Make sure a 64-bit char is never passed to ENCODE_CHAR. - This is for reasons similar to the recent CHAR_STRING fix. - * charset.c (Fencode_char): Check that character arg is actually - a character. Pass an int to ENCODE_CHAR. - * charset.h (ENCODE_CHAR): Verify that the character argument is no - wider than 'int', as a compile-time check to prevent future regressions - in this area. - - * character.c (char_string): Remove unnecessary casts. - - Make sure a 64-bit char is never passed to CHAR_STRING. - Otherwise, CHAR_STRING would do the wrong thing on a 64-bit platform, - by silently ignoring the top 32 bits, allowing some values - that were far too large to be valid characters. - * character.h: Include . - (CHAR_STRING, CHAR_STRING_ADVANCE): Verify that the character - arguments are no wider than unsigned, as a compile-time check - to prevent future regressions in this area. - * data.c (Faset): - * editfns.c (Fchar_to_string, general_insert_function, Finsert_char) - (Fsubst_char_in_region): - * fns.c (concat): - * xdisp.c (decode_mode_spec_coding): - Adjust to CHAR_STRING's new requirement. - * editfns.c (Finsert_char, Fsubst_char_in_region): - * fns.c (concat): Check that character args are actually - characters. Without this test, these functions did the wrong - thing with wildly out-of-range values on 64-bit hosts. - - Remove incorrect casts to 'unsigned' that lose info on 64-bit hosts. - These casts should not be needed on 32-bit hosts, either. - * keyboard.c (read_char): - * lread.c (Fload): Remove casts to unsigned. - - * lisp.h (UNSIGNED_CMP): New macro. - This fixes comparison bugs on 64-bit hosts. - (ASCII_CHAR_P): Use it. - * casefiddle.c (casify_object): - * character.h (ASCII_BYTE_P, CHAR_VALID_P) - (SINGLE_BYTE_CHAR_P, CHAR_STRING): - * composite.h (COMPOSITION_ENCODE_RULE_VALID): - * dispextern.h (FACE_FROM_ID): - * keyboard.c (read_char): Use UNSIGNED_CMP. - - * xmenu.c (dialog_selection_callback) [!USE_GTK]: Cast to intptr_t, - not to EMACS_INT, to avoid GCC warning. - - * xfns.c (x_set_scroll_bar_default_width): Remove unused 'int' locals. - - * buffer.h (PTR_BYTE_POS, BUF_PTR_BYTE_POS): Remove harmful cast. - The cast incorrectly truncated 64-bit byte offsets to 32 bits, and - isn't needed on 32-bit machines. - - * buffer.c (Fgenerate_new_buffer_name): - Use EMACS_INT for count, not int. - (advance_to_char_boundary): Return EMACS_INT, not int. - - * data.c (Qcompiled_function): Now static. - - * window.c (window_body_lines): Now static. - - * image.c (gif_load): Rename local to avoid shadowing. - - * lisp.h (SAFE_ALLOCA_LISP): Check for integer overflow. - (struct Lisp_Save_Value): Use ptrdiff_t, not int, for 'integer' member. - * alloc.c (make_save_value): Integer argument is now of type - ptrdiff_t, not int. - (mark_object): Use ptrdiff_t, not int. - * lisp.h (pD): New macro. - * print.c (print_object): Use it. - - * alloc.c: Use EMACS_INT, not int, to count objects. - (total_conses, total_markers, total_symbols, total_vector_size) - (total_free_conses, total_free_markers, total_free_symbols) - (total_free_floats, total_floats, total_free_intervals) - (total_intervals, total_strings, total_free_strings): - Now EMACS_INT, not int. All uses changed. - (Fgarbage_collect): Compute overall total using a double, so that - integer overflow is less likely to be a problem. Check for overflow - when converting back to an integer. - (n_interval_blocks, n_string_blocks, n_float_blocks, n_cons_blocks) - (n_vectors, n_symbol_blocks, n_marker_blocks): Remove. - These were 'int' variables that could overflow on 64-bit hosts; - they were never used, so remove them instead of repairing them. - (nzombies, ngcs, max_live, max_zombies): Now EMACS_INT, not 'int'. - (inhibit_garbage_collection): Set gc_cons_threshold to max value. - Previously, this ceilinged at INT_MAX, but that doesn't work on - 64-bit machines. - (allocate_pseudovector): Don't use EMACS_INT when int would do. - - * alloc.c (Fmake_bool_vector): Don't assume vector size fits in int. - (allocate_vectorlike): Check for ptrdiff_t overflow. - (mark_vectorlike, mark_char_table, mark_object): Avoid EMACS_UINT - when a (possibly-narrower) signed value would do just as well. - We prefer using signed arithmetic, to avoid comparison confusion. - - * alloc.c: Catch some string size overflows that we were missing. - (XMALLOC_OVERRUN_CHECK_SIZE) [!XMALLOC_OVERRUN_CHECK]: Define to 0, - for convenience in STRING_BYTES_MAX. - (STRING_BYTES_MAX): New macro, superseding the old one in lisp.h. - The definition here is exact; the one in lisp.h was approximate. - (allocate_string_data): Check for string overflow. This catches - some instances we weren't catching before. Also, it catches - size_t overflow on (unusual) hosts where SIZE_MAX <= min - (PTRDIFF_MAX, MOST_POSITIVE_FIXNUM), e.g., when size_t is 32 bits - and ptrdiff_t and EMACS_INT are both 64 bits. - - * character.c, coding.c, doprnt.c, editfns.c, eval.c: - All uses of STRING_BYTES_MAX replaced by STRING_BYTES_BOUND. - * lisp.h (STRING_BYTES_BOUND): Rename from STRING_BYTES_MAX. - - * character.c (string_escape_byte8): Fix nbytes/nchars typo. - - * alloc.c (Fmake_string): Check for out-of-range init. - -2011-06-15 Stefan Monnier - - * eval.c (Fdefvaralias): Also mark the target as variable-special-p. - -2011-06-14 Jan Djärv - - * xfns.c (x_set_scroll_bar_default_width): Remove argument to - xg_get_default_scrollbar_width. - - * gtkutil.c: Include emacsgtkfixed.h if HAVE_GTK3. - (int_gtk_range_get_value): Move to the scroll bar part of the file. - (style_changed_cb): Call update_theme_scrollbar_width and call - x_set_scroll_bar_default_width and xg_frame_set_char_size for - all frames (Bug#8505). - (xg_create_frame_widgets): Call emacs_fixed_new if HAVE_GTK3 (Bug#8505). - Call gtk_window_set_resizable if HAVE_GTK3. - (x_wm_set_size_hint): Call emacs_fixed_set_min_size with min width - and height if HAVE_GTK3 (Bug#8505). - (scroll_bar_width_for_theme): New variable. - (update_theme_scrollbar_width): New function. - (xg_get_default_scrollbar_width): Move code to - update_theme_scrollbar_width, just return scroll_bar_width_for_theme. - (xg_initialize): Call update_theme_scrollbar_width. - - * gtkutil.h (xg_get_default_scrollbar_width): Remove argument. - - * emacsgtkfixed.c, emacsgtkfixed.h: New files. - -2011-06-12 Martin Rudalics - - * frame.c (make_frame): Call other_buffer_safely instead of - other_buffer. - - * window.c (temp_output_buffer_show): Call display_buffer with - second argument Vtemp_buffer_show_specifiers and reset latter - immediately after the call. - (Vtemp_buffer_show_specifiers): New variable. - (auto_window_vscroll_p, next_screen_context_lines) - (Vscroll_preserve_screen_position): Remove leading asterisks from - doc-strings. - -2011-06-12 Paul Eggert - - Fix minor problems found by GCC 4.6.0 static checking. - * buffer.c (Qclone_number): Remove for now, as it's unused. - (record_buffer, Funrecord_buffer): Rename local to avoid shadowing. - (record_buffer): Remove unused local. - * frame.c (other_visible_frames, frame_buffer_list): Now static. - (set_frame_buffer_list): Remove; unused. - * frame.h (other_visible_frames): Remove decl. - * keyboard.h (menu_items_inuse): Declare only if USE_GTK || USE_MOTIF. - * lisp.h (frame_buffer_list, set_frame_buffer_list): Remove decls. - (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): Declare only - if HAVE_GPM. - * menu.c (menu_items_inuse): Now static unless USE_GTK || USE_MOTIF. - * process.c (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): - Define only if HAVE_GPM. - * widget.c (EmacsFrameResize, emacsFrameClassRec): Now static. - (update_hints_inhibit): Remove; never set. All uses removed. - * widgetprv.h (emacsFrameClassRec): Remove decl. - * window.c (delete_deletable_window): Now returns void, since it - wasn't returning anything. - (compare_window_configurations): Remove unused locals. - * xfns.c (x_set_scroll_bar_default_width): Remove unused locals. - * xmenu.c (x_menu_set_in_use): Define only if USE_GTK || USE_MOTIF. - (dialog_selection_callback) [!USE_GTK]: Prefer intptr_t for integers - the same widths as pointers. This follows up on the 2011-05-06 patch. - * xterm.c (x_alloc_lighter_color_for_widget): Define only if USE_LUCID. - * xterm.h: Likewise. - (x_menu_set_in_use): Declare only if USE_GTK || USE_MOTIF. - -2011-06-12 Juanma Barranquero - - * makefile.w32-in: Update dependencies. - (LISP_H): Add lib/intprops.h. - -2011-06-11 Chong Yidong - - * image.c (gif_load): Add animation frame delay to the metadata. - (syms_of_image): Use DEFSYM. New symbol `delay'. - -2011-06-11 Martin Rudalics - - * window.c (delete_deletable_window): Re-add. - (Fset_window_configuration): Rewrite to handle dead buffers and - consequently deletable windows. - (window_tree, Fwindow_tree): Remove. Supply functionality in - window.el. - (compare_window_configurations): Simplify code. - -2011-06-11 Andreas Schwab - - * image.c (imagemagick_load_image): Fix type mismatch. - (Fimagemagick_types): Likewise. - - * window.h (replace_buffer_in_windows): Declare. - -2011-06-11 Martin Rudalics - - * buffer.c: New Lisp objects Qbuffer_list_update_hook and - Qclone_number. Remove external declaration of Qdelete_window. - (Fbuffer_list): Rewrite doc-string. Minor restructuring of - code. - (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): - Run Qbuffer_list_update_hook if allowed. - (Fother_buffer): Rewrite doc-string. Major rewrite for new - buffer list implementation. - (other_buffer_safely): New function. - (Fkill_buffer): Replace call to replace_buffer_in_all_windows by - calls to replace_buffer_in_windows and - replace_buffer_in_windows_safely. Run Qbuffer_list_update_hook - if allowed. - (record_buffer): Inhibit quitting and rewrite using quittable - functions. Run Qbuffer_list_update_hook if allowed. - (Frecord_buffer, Funrecord_buffer): New functions. - (switch_to_buffer_1, Fswitch_to_buffer): Remove. - Move switch-to-buffer to window.el. - (bury-buffer): Move to window.el. - (Vbuffer_list_update_hook): New variable. - - * lisp.h (other_buffer_safely): Add prototype in buffer.c - section. - - * window.h (resize_frame_windows): Move up in code. - (Fwindow_frame): Remove EXFUN. - (replace_buffer_in_all_windows): Remove prototype. - (replace_buffer_in_windows_safely): Add prototype. - - * window.c: Declare Qdelete_window static again. Move down - declaration of select_count. - (Fnext_window, Fprevious_window): Rewrite doc-strings. - (Fother_window): Move to window.el. - (window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER - cases. Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case. - (Fdelete_windows_on, Freplace_buffer_in_windows): Move to - window.el. - (replace_buffer_in_windows): Implement by calling - Qreplace_buffer_in_windows. - (replace_buffer_in_all_windows): Remove with some functionality - moved into replace_buffer_in_windows_safely. - (replace_buffer_in_windows_safely): New function. - (select_window_norecord, select_frame_norecord): Move in front - of run_window_configuration_change_hook. Remove now obsolete - declarations. - (Fset_window_buffer): Rewrite doc-string. - Call Qrecord_window_buffer. - (keys_of_window): Move binding for other-window to window.el. - -2011-06-11 Chong Yidong - - * dispextern.h (struct image): Replace data member, whose int_val - and ptr_val fields were not used by anything, with a single - lisp_val object. - - * image.c (Fimage_metadata, make_image, mark_image, tiff_load) - (gif_clear_image, gif_load, imagemagick_load_image) - (gs_clear_image, gs_load): Callers changed. - -2011-06-10 Paul Eggert - - * buffer.h: Include , for time_t. - Needed to build on FreeBSD 8.2. Problem reported by Herbert J. Skuhra. - - Fix minor problems found by static checking. - - * image.c (PixelGetMagickColor): Declare if ImageMagick headers don't. - - Make identifiers static if they are not used in other modules. - * data.c (Qcompiled_function, Qframe, Qvector): - * image.c (QimageMagick, Qsvg): - * minibuf.c (Qmetadata): - * window.c (resize_window_check, resize_root_window): Now static. - * window.h (resize_window_check, resize_root_window): Remove decls. - - * window.c (window_deletion_count, delete_deletable_window): - Remove; unused. - (window_body_lines): Now static. - (Fdelete_other_windows_internal): Mark vars as initialized. - Make sure 'resize_failed' is initialized. - (run_window_configuration_change_hook): Rename local to avoid shadowing. - (resize_window_apply): Remove unused local. - * window.h (delete_deletable_window): Remove decl. - - * image.c (gif_load, svg_load_image): Rename locals to avoid shadowing. - (imagemagick_load_image): Fix pointer signedness problem by changing - last arg from unsigned char * to char *. All uses changed. - Also, fix a local for similar reasons. - Remove unused locals. Remove locals to avoid shadowing. - (fn_rsvg_handle_free): Remove; unused. - (svg_load, svg_load_image): Fix pointer signedness problem. - (imagemagick_load_image): Don't use garbage pointer image_wand. - - * ftfont.c (ftfont_get_metrics, ftfont_drive_otf): Remove unused locals. - -2011-06-10 Chong Yidong - - * image.c (gif_load): Fix omitted cast error introduced by - 2011-06-06 change. - -2011-06-10 Martin Rudalics - - * window.h (resize_proportionally, orig_total_lines) - (orig_top_line): Remove from window structure. - (set_window_height, set_window_width, change_window_heights) - (Fdelete_window): Remove prototypes. - (resize_frame_windows): Remove duplicate declaration. - -2011-06-10 Eli Zaretskii - - * window.h (resize_frame_windows, resize_window_check) - (delete_deletable_window, resize_root_window) - (resize_frame_windows): Declare prototypes. - - * window.c (resize_window_apply): Make definition be "static" to - match the prototype. - -2011-06-10 Martin Rudalics - - * window.c: Remove declarations of Qwindow_size_fixed, - window_min_size_1, window_min_size_2, window_min_size, - size_window, window_fixed_size_p, enlarge_window, delete_window. - Remove static from declaration of Qdelete_window, it's - temporarily needed by Fbury_buffer. - (replace_window): Don't assign orig_top_line and - orig_total_lines. - (Fdelete_window, delete_window): Remove. Window deletion is - handled by window.el. - (window_loop): Remove DELETE_OTHER_WINDOWS case. - Replace Fdelete_window calls with calls to Qdelete_window. - (Fdelete_other_windows): Remove. Deleting other windows is - handled by window.el. - (window_fixed_size_p): Remove. Fixed-sizeness of windows is - handled in window.el. - (window_min_size_2, window_min_size_1, window_min_size): Remove. - Window minimum sizes are handled in window.el. - (shrink_windows, size_window, set_window_height) - (set_window_width, change_window_heights, window_height) - (window_width, CURBEG, CURSIZE, enlarge_window) - (adjust_window_trailing_edge, Fadjust_window_trailing_edge) - (Fenlarge_window, Fshrink_window): Remove. Window resizing is - handled in window.el. - (make_dummy_parent): Rename to make_parent_window and give it a - second argument horflag. - (make_window): Don't set resize_proportionally any more. - (Fsplit_window): Remove. Windows are split in window.el. - (save_restore_action, save_restore_orig_size) - (shrink_window_lowest_first, save_restore_orig_size): Remove. - Resize mini windows in window.el. - (grow_mini_window, shrink_mini_window): Implement by calling - Qresize_root_window_vertically, resize_window_check and - resize_window_apply. - (saved_window, Fset_window_configuration, save_window_save): - Do not handle orig_top_line, orig_total_lines, and - resize_proportionally. - (window_min_height, window_min_width): Move to window.el. - (keys_of_window): Move bindings for delete-other-windows, - split-window, delete-window and enlarge-window to window.el. - - * buffer.c: Temporarily extern Qdelete_window. - (Fbury_buffer): Temporarily call Qdelete_window instead of - Fdelete_window (Fbury_buffer will move to window.el soon). - - * frame.c (set_menu_bar_lines_1): Remove code handling - orig_top_line and orig_total_lines. - - * dispnew.c (adjust_frame_glyphs_initially): Don't use - set_window_height but set heights directly. - (change_frame_size_1): Use resize_frame_windows. - - * xdisp.c (init_xdisp): Don't use set_window_height but set - heights directly. - - * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): - Use resize_frame_windows instead of change_window_heights and run - run_window_configuration_change_hook. - - * w32fns.c (x_set_tool_bar_lines): Use resize_frame_windows - instead of change_window_heights and run - run_window_configuration_change_hook. - -2011-06-09 Martin Rudalics - - * window.c (replace_window): Rename second argument REPLACEMENT to - NEW. New third argument SETFLAG. Rewrite. - (delete_window, make_dummy_parent): Call replace_window with - third argument 1. - (window_list_1): Move down in code. - (run_window_configuration_change_hook): Move set_buffer part - before select_frame_norecord part in order to unwind correctly. - Rename count1 to count. - (recombine_windows, delete_deletable_window, resize_root_window) - (Fdelete_other_windows_internal) - (Frun_window_configuration_change_hook, make_parent_window) - (resize_window_check, resize_window_apply, Fresize_window_apply) - (resize_frame_windows, Fsplit_window_internal) - (Fdelete_window_internal, Fresize_mini_window_internal): - New functions. - (syms_of_window): New variables Vwindow_splits and Vwindow_nest. - -2011-06-08 Martin Rudalics - - * window.h (window): Add some new members to window structure - - normal_lines, normal_cols, new_total, new_normal, clone_number, - splits, nest, prev_buffers, next_buffers. - (WINDOW_TOTAL_SIZE): Move here from window.c. - (MIN_SAFE_WINDOW_WIDTH, MIN_SAFE_WINDOW_HEIGHT): Define here. - - * window.c (Fwindow_height, Fwindow_width, Fwindow_full_width_p): - Remove. - (make_dummy_parent): Set new members of windows structure. - (make_window): Move down in code. Handle new members of window - structure. - (Fwindow_clone_number, Fwindow_splits, Fset_window_splits) - (Fwindow_nest, Fset_window_nest, Fwindow_new_total) - (Fwindow_normal_size, Fwindow_new_normal, Fwindow_prev_buffers) - (Fset_window_prev_buffers, Fwindow_next_buffers) - (Fset_window_next_buffers, Fset_window_clone_number): - New functions. - (Fwindow_hscroll, Fwindow_at, Fwindow_point, Fwindow_start) - (Fwindow_end, Fwindow_line_height, Fset_window_dedicated_p): - Doc-string fixes. - (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter): - Argument WINDOW can be now internal window too. - (Fwindow_use_time): Move up in code. - (Fget_buffer_window): Rename argument FRAME to ALL-FRAMES. - Rewrite doc-string. - (Fset_window_configuration, saved_window) - (Fcurrent_window_configuration, save_window_save): Handle new - members of window structure. - (WINDOW_TOTAL_SIZE, MIN_SAFE_WINDOW_WIDTH) - (MIN_SAFE_WINDOW_HEIGHT): Move to window.h. - (syms_of_window): New Lisp objects Qrecord_window_buffer, - Qwindow_deletable_p, Qdelete_window, Qreplace_buffer_in_windows, - Qget_mru_window, Qresize_root_window, - Qresize_root_window_vertically, Qsafe, Qabove, Qbelow, - Qauto_buffer_name; staticpro them. - -2011-06-07 Martin Rudalics - - * window.c (Fwindow_total_size, Fwindow_left_column) - (Fwindow_top_line, window_body_lines, Fwindow_body_size) - (Fwindow_list_1): New functions. - (window_box_text_cols): Replace with window_body_cols. - (Fwindow_width, Fscroll_left, Fscroll_right): - Use window_body_cols instead of window_box_text_cols. - (delete_window, Fset_window_configuration): - Call delete_all_subwindows with window as argument. - (delete_all_subwindows): Take a window as argument and not a - structure. Rewrite. - (window_loop): Remove handling of GET_LRU_WINDOW and - GET_LARGEST_WINDOW. - (Fget_lru_window, Fget_largest_window): Move to window.el. - - * window.h: Extern window_body_cols instead of - window_box_text_cols. delete_all_subwindows now takes a - Lisp_Object as argument. - - * indent.c (compute_motion, Fcompute_motion): - Use window_body_cols instead of window_box_text_cols. - - * frame.c (delete_frame): Call delete_all_subwindows with root - window as argument. - -2011-06-07 Daniel Colascione - - * fns.c (Fputhash): Document return value. - -2011-06-06 Chong Yidong - - * image.c (gif_load): Implement gif89a spec "no disposal" method. - -2011-06-06 Paul Eggert - - Cons<->int and similar integer overflow fixes (Bug#8794). - - Check for overflow when converting integer to cons and back. - * charset.c (Fdefine_charset_internal, Fdecode_char): - Use cons_to_unsigned to catch overflow. - (Fencode_char): Use INTEGER_TO_CONS. - * composite.h (LGLYPH_CODE): Use cons_to_unsigned. - (LGLYPH_SET_CODE): Use INTEGER_TO_CONS. - * data.c (long_to_cons, cons_to_long): Remove. - (cons_to_unsigned, cons_to_signed): New functions. - These signal an error for invalid or out-of-range values. - * dired.c (Ffile_attributes): Use INTEGER_TO_CONS. - * fileio.c (Fset_visited_file_modtime): Use CONS_TO_INTEGER. - * font.c (Ffont_variation_glyphs): - * fontset.c (Finternal_char_font): Use INTEGER_TO_CONS. - * lisp.h: Include . - (INTEGER_TO_CONS, CONS_TO_INTEGER): New macros. - (cons_to_signed, cons_to_unsigned): New decls. - (long_to_cons, cons_to_long): Remove decls. - * undo.c (record_first_change): Use INTEGER_TO_CONS. - (Fprimitive_undo): Use CONS_TO_INTEGER. - * xfns.c (Fx_window_property): Likewise. - * xselect.c: Include . - (x_own_selection, selection_data_to_lisp_data): - Use INTEGER_TO_CONS. - (x_handle_selection_request, x_handle_selection_clear) - (x_get_foreign_selection, Fx_disown_selection_internal) - (Fx_get_atom_name, x_send_client_event): Use CONS_TO_INTEGER. - (lisp_data_to_selection_data): Use cons_to_unsigned. - (x_fill_property_data): Use cons_to_signed. - Report values out of range. - - Check for buffer and string overflow more precisely. - * buffer.h (BUF_BYTES_MAX): New macro. - * lisp.h (STRING_BYTES_MAX): New macro. - * alloc.c (Fmake_string): - * character.c (string_escape_byte8): - * coding.c (coding_alloc_by_realloc): - * doprnt.c (doprnt): - * editfns.c (Fformat): - * eval.c (verror): - Use STRING_BYTES_MAX, not MOST_POSITIVE_FIXNUM, - since they may not be the same number. - * editfns.c (Finsert_char): - * fileio.c (Finsert_file_contents): - Likewise for BUF_BYTES_MAX. - - * image.c: Use ptrdiff_t, not int, for sizes. - (slurp_file): Switch from int to ptrdiff_t. - All uses changed. - (slurp_file): Check that file size fits in both size_t (for - malloc) and ptrdiff_t (for sanity and safety). - - * fileio.c (Fverify_visited_file_modtime): Avoid time overflow - if b->modtime has its maximal value. - - * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits. - - Don't assume time_t can fit into int. - * buffer.h (struct buffer.modtime): Now time_t, not int. - * fileio.c (Fvisited_file_modtime): No need for time_t cast now. - * undo.c (Fprimitive_undo): Use time_t, not int, for time_t value. - - Minor fixes for signed vs unsigned integers. - * character.h (MAYBE_UNIFY_CHAR): - * charset.c (maybe_unify_char): - * keyboard.c (read_char, reorder_modifiers): - XINT -> XFASTINT, since the integer must be nonnegative. - * ftfont.c (ftfont_spec_pattern): - * keymap.c (access_keymap, silly_event_symbol_error): - XUINT -> XFASTINT, since the integer must be nonnegative. - (Fsingle_key_description, preferred_sequence_p): XUINT -> XINT, - since it makes no difference and we prefer signed. - * keyboard.c (record_char): Use XUINT when all the neighbors do. - (access_keymap): NATNUMP -> INTEGERP, since the integer must be - nonnegative. - -2011-06-06 Stefan Monnier - - * window.h (Fwindow_frame): Declare. - -2011-06-06 Paul Eggert - - * alloc.c: Simplify handling of large-request failures (Bug#8800). - (SPARE_MEMORY): Always define. - (LARGE_REQUEST): Remove. - (memory_full): Use SPARE_MEMORY rather than LARGE_REQUEST. - -2011-06-06 Martin Rudalics - - * lisp.h: Move EXFUNS for Fframe_root_window, - Fframe_first_window and Fset_frame_selected_window to window.h. - - * window.h: Move EXFUNS for Fframe_root_window, - Fframe_first_window and Fset_frame_selected_window here from - lisp.h. - - * frame.c (Fwindow_frame, Fframe_first_window) - (Fframe_root_window, Fframe_selected_window) - (Fset_frame_selected_window): Move to window.c. - (Factive_minibuffer_window): Move to minibuf.c. - (Fother_visible_frames_p): New function. - - * minibuf.c (Factive_minibuffer_window): Move here from frame.c. - - * window.c (decode_window, decode_any_window): Move up in code. - (Fwindowp, Fwindow_live_p): Rewrite doc-strings. - (inhibit_frame_unsplittable): Remove unused variable. - (Fwindow_buffer): Move up and rewrite doc-string. - (Fwindow_parent, Fwindow_vchild, Fwindow_hchild, Fwindow_next) - (Fwindow_prev): New functions. - (Fwindow_frame): Move here from frame.c. Accept any window as - argument. - (Fframe_root_window, Fframe_first_window) - (Fframe_selected_window): Move here from frame.c. Accept frame - or arbitrary window as argument. Update doc-strings. - (Fminibuffer_window): Move up in code. - (Fwindow_minibuffer_p): Move up in code and simplify. - (Fset_frame_selected_window): Move here from frame.c. - Marginal rewrite. - (Fselected_window, select_window, Fselect_window): Move up in - code. Minor doc-string fixes. - -2011-06-06 Paul Eggert - - * alloc.c (memory_full) [SYSTEM_MALLOC]: Port to MacOS (Bug#8800). - Do not assume that spare memory exists; that assumption is valid - only if SYSTEM_MALLOC. - (LARGE_REQUEST): New macro, so that the issue of large requests - is separated from the issue of spare memory. - -2011-06-05 Andreas Schwab - - * editfns.c (Fformat): Correctly handle zero flag with hexadecimal - format. (Bug#8806) - - * gtkutil.c (xg_get_default_scrollbar_width): Avoid warning. - - * xfns.c (x_set_scroll_bar_default_width): Move declarations - before statements. - -2011-06-05 Jan Djärv - - * gtkutil.c (xg_get_default_scrollbar_width): New function. - - * gtkutil.h: Declare xg_get_default_scrollbar_width. - - * xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get - min width by calling x_set_scroll_bar_default_width (Bug#8505). - -2011-06-05 Juanma Barranquero - - * xdisp.c (single_display_spec_intangible_p): Remove declaration. - -2011-06-04 Chong Yidong - - * xselect.c (x_clipboard_manager_save): Remove redundant arg. - (x_clipboard_manager_save): Add return value. - (x_clipboard_manager_error_1, x_clipboard_manager_error_2): - New error handlers. - (x_clipboard_manager_save_frame, x_clipboard_manager_save_all): - Obey Vx_select_enable_clipboard_manager. Catch errors in - x_clipboard_manager_save (Bug#8779). - (Vx_select_enable_clipboard_manager): New variable. - (x_get_foreign_selection): Reduce scope of x_catch_errors (Bug#8790). - -2011-06-04 Dan Nicolaescu - - * emacs.c (main): Warn when starting a GTK emacs in daemon mode. - -2011-06-04 YAMAMOTO Mitsuharu - - * fringe.c (update_window_fringes): Don't update overlay arrow bitmap - in the current matrix if keep_current_p is non-zero. - -2011-06-04 Eli Zaretskii - - * bidi.c (bidi_level_of_next_char): Fix last change. - -2011-06-03 Eli Zaretskii - - Support bidi reordering of text covered by display properties. - - * bidi.c (bidi_copy_it): Use offsetof instead of emulating it. - (bidi_fetch_char, bidi_fetch_char_advance): New functions. - (bidi_cache_search, bidi_cache_iterator_state) - (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak) - (bidi_level_of_next_char, bidi_move_to_visually_next): - Support character positions inside a run of characters covered by a - display string. - (bidi_paragraph_init, bidi_resolve_explicit_1) - (bidi_level_of_next_char): Call bidi_fetch_char and - bidi_fetch_char_advance instead of FETCH_CHAR and - FETCH_CHAR_ADVANCE. - (bidi_init_it): Initialize new members. - (LRE_CHAR, RLE_CHAR, PDF_CHAR, LRO_CHAR, RLO_CHAR): Remove macro - definitions. - (bidi_explicit_dir_char): Lookup character type in bidi_type_table, - instead of using explicit *_CHAR codes. - (bidi_resolve_explicit, bidi_resolve_weak): - Use FETCH_MULTIBYTE_CHAR instead of FETCH_CHAR, as reordering of - bidirectional text is supported only in multibyte buffers. - (bidi_init_it): Accept additional argument FRAME_WINDOW_P and use - it to initialize the frame_window_p member of struct bidi_it. - (bidi_cache_iterator_state, bidi_resolve_explicit_1) - (bidi_resolve_explicit, bidi_resolve_weak) - (bidi_level_of_next_char, bidi_move_to_visually_next): Abort if - bidi_it->nchars is non-positive. - (bidi_level_of_next_char): Don't try to lookup the cache for the - next/previous character if nothing is cached there yet, or if we - were just reseat()'ed to a new position. - - * xdisp.c (set_cursor_from_row): Set start and stop points - according to the row's direction when priming the loop that looks - for the glyph on which to display cursor. - (single_display_spec_intangible_p): Function deleted. - (display_prop_intangible_p): Reimplement to call - handle_display_spec instead of single_display_spec_intangible_p. - Accept 3 additional arguments needed by handle_display_spec. - This fixes incorrect cursor motion across display property with complex - values: lists, `(when COND...)' forms, etc. - (single_display_spec_string_p): Support property values that are - lists with the argument STRING its top-level element. - (display_prop_string_p): Fix the condition for processing a - property that is a list to be consistent with handle_display_spec. - (handle_display_spec): New function, refactored from the - last portion of handle_display_prop. - (compute_display_string_pos): Accept additional argument - FRAME_WINDOW_P. Call handle_display_spec to determine whether the - value of a `display' property is a "replacing spec". - (handle_single_display_spec): Accept 2 additional arguments BUFPOS - and FRAME_WINDOW_P. If IT is NULL, don't set up the iterator from - the display property, but just return a value indicating whether - the display property will replace the characters it covers. - (Fcurrent_bidi_paragraph_direction): Initialize the nchars and - frame_window_p members of struct bidi_it. - (compute_display_string_pos, compute_display_string_end): - New functions. - (push_it): Accept second argument POSITION, where pop_it should - jump to continue iteration. - (reseat_1): Initialize bidi_it.disp_pos. - - * keyboard.c (adjust_point_for_property): Adjust the call to - display_prop_intangible_p to its new signature. - - * dispextern.h (struct bidi_it): New member frame_window_p. - (bidi_init_it): Update prototypes. - (display_prop_intangible_p): Update prototype. - (compute_display_string_pos, compute_display_string_end): - Declare prototypes. - (struct bidi_it): New members nchars and disp_pos. ch_len is now - EMACS_INT. - -2011-06-02 Paul Eggert - - Malloc failure behavior now depends on size of allocation. - * alloc.c (buffer_memory_full, memory_full): New arg NBYTES. - * lisp.h: Change signatures accordingly. - * alloc.c, buffer.c, editfns.c, menu.c, minibuf.c, xterm.c: - All callers changed. (Bug#8762) - - * gnutls.c: Use Emacs's memory allocators. - Without this change, the gnutls library would invoke malloc etc. - directly, which causes problems on non-SYNC_INPUT hosts, and which - runs afoul of improving memory_full behavior. (Bug#8761) - (fn_gnutls_global_set_mem_functions): New macro or function pointer. - (emacs_gnutls_global_init): Use it to specify xmalloc, xrealloc, - xfree instead of the default malloc, realloc, free. - (Fgnutls_boot): No need to check for memory allocation failure, - since xmalloc does that for us. - - Remove arbitrary limit of 2**31 entries in hash tables. (Bug#8771) - * category.c (hash_get_category_set): - * ccl.c (ccl_driver): - * charset.c (Fdefine_charset_internal): - * charset.h (struct charset.hash_index): - * composite.c (get_composition_id, gstring_lookup_cache) - (composition_gstring_put_cache): - * composite.h (struct composition.hash_index): - * dispextern.h (struct image.hash): - * fns.c (next_almost_prime, larger_vector, cmpfn_eql) - (cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql) - (hashfn_equal, hashfn_user_defined, make_hash_table) - (maybe_resize_hash_table, hash_lookup, hash_put) - (hash_remove_from_table, hash_clear, sweep_weak_table, SXHASH_COMBINE) - (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector) - (Fsxhash, Fgethash, Fputhash, Fmaphash): - * image.c (make_image, search_image_cache, lookup_image) - (xpm_put_color_table_h): - * lisp.h (struct Lisp_Hash_Table): - * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion): - * print.c (print): Use 'EMACS_UINT' and 'EMACS_INT' - for hashes and hash indexes, instead of 'unsigned' and 'int'. - * alloc.c (allocate_vectorlike): - Check for overflow in vector size calculations. - * ccl.c (ccl_driver): - Check for overflow when converting EMACS_INT to int. - * fns.c, image.c: Remove unnecessary static decls that would otherwise - need to be updated by these changes. - * fns.c (make_hash_table, maybe_resize_hash_table): - Check for integer overflow with large hash tables. - (make_hash_table, maybe_resize_hash_table, Fmake_hash_table): - Prefer the faster XFLOAT_DATA to XFLOATINT where either will do. - (SXHASH_REDUCE): New macro. - (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector): - Use it instead of discarding useful hash info with large hash values. - (sxhash_float): New function. - (sxhash): Use it. No more need for "& INTMASK" due to above changes. - * lisp.h (FIXNUM_BITS): New macro, useful for SXHASH_REDUCE etc. - (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK): - Rewrite to use FIXNUM_BITS, as this simplifies things. - (next_almost_prime, larger_vector, sxhash, hash_lookup, hash_put): - Adjust signatures to match updated version of code. - (consing_since_gc): Now EMACS_INT, since a single hash table can - use more than INT_MAX bytes. - -2011-06-01 Dan Nicolaescu - - Make it possible to build with GCC-4.6+ -O2 -flto. - - * emacs.c (__malloc_initialize_hook): Mark as EXTERNALLY_VISIBLE. - -2011-06-01 Stefan Monnier - - * minibuf.c (get_minibuffer, read_minibuf_unwind): - Call minibuffer-inactive-mode. - -2011-05-31 Juanma Barranquero - - * makefile.w32-in ($(BLD)/data.$(O), $(BLD)/editfns.$(O)): - Update dependencies. - -2011-05-31 Dan Nicolaescu - - * data.c (init_data): Remove code for UTS, this system is not - supported anymore. - -2011-05-31 Dan Nicolaescu - - Don't force ./temacs to start in terminal mode. - - * frame.c (make_initial_frame): Initialize faces in all cases, not - only when CANNOT_DUMP is defined. - * dispnew.c (init_display): Remove CANNOT_DUMP condition. - -2011-05-31 Dan Nicolaescu - - * dispnew.c (add_window_display_history): Use const for the string - pointer. Remove declaration, not needed. - -2011-05-31 Paul Eggert - - Use 'inline', not 'INLINE'. - - * alloc.c, fontset.c (INLINE): Remove. - * alloc.c, bidi.c, charset.c, coding.c, dispnew.c, fns.c, image.c: - * intervals.c, keyboard.c, process.c, syntax.c, textprop.c, w32term.c: - * xdisp.c, xfaces.c, xterm.c: Replace all uses of INLINE with inline. - * gmalloc.c (register_heapinfo): Use inline unconditionally. - * lisp.h (LISP_MAKE_RVALUE): Use inline, not __inline__. - -2011-05-31 Dan Nicolaescu - - Make it possible to run ./temacs. - - * callproc.c (set_initial_environment): Remove CANNOT_DUMP code, - syms_of_callproc does the same thing. Remove test for - "initialized", do it in the caller. - * emacs.c (main): Avoid calling set_initial_environment when dumping. - -2011-05-31 Stefan Monnier - - * minibuf.c (Finternal_complete_buffer): Return `category' metadata. - (read_minibuf): Use get_minibuffer. - (syms_of_minibuf): Use DEFSYM. - (Qmetadata): New var. - * data.c (Qbuffer): Don't make it static. - (syms_of_data): Use DEFSYM. - -2011-05-31 Paul Eggert - - * ccl.c (CCL_CODE_RANGE): Allow negative numbers. (Bug#8751) - (CCL_CODE_MIN): New macro. - -2011-05-30 Paul Eggert - - * alloc.c (lisp_align_malloc): Omit unnecessary val==NULL tests. - - * eval.c (Qdebug): Now static. - * lisp.h (Qdebug): Remove decl. This reverts a part of the - 2011-04-26T11:26:05Z!dan.colascione@gmail.com that inadvertently undid part of - 2011-04-14T06:48:41Z!eggert@cs.ucla.edu. - -2011-05-29 Chong Yidong - - * image.c: Various fixes to ImageMagick code comments. - (Fimagemagick_types): Doc fix. - -2011-05-29 Paul Eggert - - Minor fixes prompted by GCC 4.6.0 warnings. - - * xselect.c (converted_selections, conversion_fail_tag): Now static. - - * emacs.c [HAVE_X_WINDOWS]: Include "xterm.h". - (x_clipboard_manager_save_all): Move extern decl to ... - * xterm.h: ... here, so that it can be checked for consistency. - -2011-05-29 Chong Yidong - - * xselect.c (x_clipboard_manager_save_frame) - (x_clipboard_manager_save_all): New functions. - (Fx_clipboard_manager_save): Lisp function deleted. - - * emacs.c (Fkill_emacs): Call x_clipboard_manager_save_all. - * frame.c (delete_frame): Call x_clipboard_manager_save_frame. - - * xterm.h: Update prototype. - -2011-05-28 William Xu - - * nsterm.m (ns_term_shutdown): Synchronize user defaults before - exiting (Bug#8239). - -2011-05-28 Jim Meyering - - Avoid a sign-extension bug in crypto_hash_function. - * fns.c (to_uchar): Define. - (crypto_hash_function): Use it to convert some newly-signed - variables to unsigned, to avoid sign-extension bugs. For example, - without this change, (md5 "truc") would evaluate to - 45723a2aff78ff4fff7fff1114760e62 rather than the expected - 45723a2af3788c4ff17f8d1114760e62. Reported by Antoine Levitt in - https://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00883.html. - -2011-05-27 Paul Eggert - - Integer overflow fixes. - - * dbusbind.c: Serial number integer overflow fixes. - (CHECK_DBUS_SERIAL_GET_SERIAL): New macro. - (Fdbus_call_method_asynchronously, xd_read_message_1): Use a float - to hold a serial number that is too large for a fixnum. - (Fdbus_method_return_internal, Fdbus_method_error_internal): - Check for serial numbers out of range. Decode any serial number - that was so large that it became a float. (Bug#8722) - - * dbusbind.c: Use XFASTINT rather than XUINT, and check for nonneg. - (Fdbus_call_method, Fdbus_call_method_asynchronously): - Use XFASTINT rather than XUINT when numbers are nonnegative. - (xd_append_arg, Fdbus_method_return_internal): - (Fdbus_method_error_internal): Likewise. Also, for unsigned - arguments, check that Lisp number is nonnegative, rather than - silently wrapping negative numbers around. (Bug#8722) - (xd_read_message_1): Don't assume dbus_uint32_t can fit in int. - (Bug#8722) - - * data.c (arith_driver, Flsh): Avoid unnecessary casts to EMACS_UINT. - - * ccl.c (ccl_driver): Redo slightly to avoid the need for 'unsigned'. - - ccl: Add integer overflow checks. - * ccl.c (CCL_CODE_MAX, GET_CCL_RANGE, GET_CCL_CODE, GET_CCL_INT): - (IN_INT_RANGE): New macros. - (ccl_driver): Use them to check for integer overflow when - decoding a CCL program. Many of the new checks are whether XINT (x) - fits in int; it doesn't always, on 64-bit hosts. The new version - doesn't catch all possible integer overflows, but it's an - improvement. (Bug#8719) - - * alloc.c (make_event_array): Use XINT, not XUINT. - There's no need for unsigned here. - - * mem-limits.h (EXCEEDS_LISP_PTR) [!USE_LSB_TAG]: EMACS_UINT -> uintptr_t - This follows up to the 2011-05-06 change that substituted uintptr_t - for EMACS_INT. This case wasn't caught back then. - - Rework Fformat to avoid integer overflow issues. - * editfns.c: Include unconditionally, as it's everywhere - now (part of C89). Include . - (MAX_10_EXP, CONVERTED_BYTE_SIZE): Remove; no longer needed. - (pWIDE, pWIDElen, signed_wide, unsigned_wide): New defns. - (Fformat): Avoid the prepass trying to compute sizes; it was only - approximate and thus did not catch overflow reliably. Instead, walk - through the format just once, formatting and computing sizes as we go, - checking for integer overflow at every step, and allocating a larger - buffer as needed. Keep track separately whether the format is - multibyte. Keep only the most-recently calculated precision, rather - than them all. Record whether each argument has been converted to - string. Use EMACS_INT, not int, for byte and char and arg counts. - Support field widths and precisions larger than INT_MAX. Avoid - sprintf's undefined behavior with conversion specifications such as %#d - and %.0c. Fix bug with strchr succeeding on '\0' when looking for - flags. Fix bug with (format "%c" 256.0). Avoid integer overflow when - formatting out-of-range floating point numbers with int - formats. (Bug#8668) - - * lisp.h (FIXNUM_OVERFLOW_P): Work even if arg is a NaN. - - * data.c: Avoid integer truncation in expressions involving floats. - * data.c: Include . - (arith_driver): When there's an integer overflow in an expression - involving floating point, convert the integers to floating point - so that the resulting value does not suffer from catastrophic - integer truncation. For example, on a 64-bit host (* 4 - most-negative-fixnum 0.5) should yield about -4.6e+18, not zero. - Do not rely on undefined behavior after integer overflow. - - merge count_size_as_multibyte, parse_str_to_multibyte - * character.c, character.h (count_size_as_multibyte): - Rename from parse_str_to_multibyte; all uses changed. - Check for integer overflow. - * insdel.c, lisp.h (count_size_as_multibyte): Remove, - since it's now a duplicate of the other. This is more of - a character than a buffer op, so better that it's in character.c. - * fns.c, print.c: Adjust to above changes. - -2011-05-27 Stefan Monnier - - * xselect.c (x_convert_selection): Yet another int/Lisp_Object mixup. - -2011-05-27 Paul Eggert - - * xselect.c: Fix minor problems prompted by GCC 4.6.0 warnings. - (x_handle_selection_request, frame_for_x_selection): Remove unused vars. - (x_clipboard_manager_save): Now static. - (Fx_clipboard_manager_save): Rename local to avoid shadowing. - - * fns.c: Fix minor problems prompted by GCC 4.6.0 warnings. - (crypto_hash_function): Now static. - Fix pointer signedness problems. Avoid unnecessary initializations. - -2011-05-27 Chong Yidong - - * termhooks.h (Vselection_alist): Make it terminal-local. - - * terminal.c (create_terminal): Initialize it. - - * xselect.c: Support for clipboard managers. - (Vselection_alist): Move to termhooks.h as terminal-local var. - (LOCAL_SELECTION): New macro. - (x_atom_to_symbol): Handle x_display_info_for_display fail case. - (symbol_to_x_atom): Remove gratuitous arg. - (x_handle_selection_request, lisp_data_to_selection_data) - (x_get_foreign_selection, Fx_register_dnd_atom): Callers changed. - (x_own_selection, x_get_local_selection, x_convert_selection): - New arg, specifying work frame. Use terminal-local Vselection_alist. - (some_frame_on_display): Delete unused function. - (Fx_own_selection_internal, Fx_get_selection_internal) - (Fx_disown_selection_internal, Fx_selection_owner_p) - (Fx_selection_exists_p): New optional frame arg. - (frame_for_x_selection, Fx_clipboard_manager_save): New functions. - (x_handle_selection_clear): Don't treat other terminals with the - same keyboard specially. Use the terminal-local Vselection_alist. - (x_clear_frame_selections): Use Frun_hook_with_args. - - * xterm.c (x_term_init): Intern ATOM and CLIPBOARD_MANAGER atoms. - - * xterm.h: Add support for those atoms. - -2011-05-26 Chong Yidong - - * xselect.c: ICCCM-compliant handling of MULTIPLE targets. - (converted_selections, conversion_fail_tag): New global variables. - (x_selection_request_lisp_error): Free the above. - (x_get_local_selection): Remove unnecessary code. - (x_reply_selection_request): Args changed; handle arbitrary array - of converted selections stored in converted_selections. - Separate the XChangeProperty and SelectionNotify steps. - (x_handle_selection_request): Rewrite to handle MULTIPLE target. - (x_convert_selection): New function. - (x_handle_selection_event): Simplify. - (x_get_foreign_selection): Don't ignore incoming requests while - waiting for an answer; this will fail when we implement - SAVE_TARGETS, and seems unnecessary anyway. - (selection_data_to_lisp_data): Recognize ATOM_PAIR type. - (Vx_sent_selection_functions): Doc fix. - -2011-05-26 Leo Liu - - * editfns.c (Ftranspose_regions): Allow empty regions. (Bug#8699) - -2011-05-25 YAMAMOTO Mitsuharu - - * dispextern.h (struct glyph_row): New member fringe_bitmap_periodic_p. - - * dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row - for fringe update if it has periodic bitmap. - (row_equal_p): Also compare left_fringe_offset, right_fringe_offset, - and fringe_bitmap_periodic_p. - - * fringe.c (get_fringe_bitmap_data): New function. - (draw_fringe_bitmap_1, update_window_fringes): Use it. - (update_window_fringes): Record periodicity of fringe bitmap in glyph - row. Mark glyph row for fringe update if periodicity changed. - - * xdisp.c (try_window_reusing_current_matrix): Don't mark scrolled row - for fringe update unless it has periodic bitmap. - -2011-05-25 Kenichi Handa - - * xdisp.c (get_next_display_element): Set correct it->face_id for - a static composition. - -2011-05-24 Leo Liu - - * deps.mk (fns.o): - * makefile.w32-in ($(BLD)/fns.$(O)): Include sha1.h. - - * fns.c (crypto_hash_function, Fsha1): New function. - (Fmd5): Use crypto_hash_function. - (syms_of_fns): Add Ssha1. - -2011-05-22 Paul Eggert - - * gnutls.c: Remove unused macros. - (fn_gnutls_transport_set_lowat, fn_gnutls_transport_set_pull_function): - (fn_gnutls_transport_set_push_function) [!WINDOWSNT]: - Remove macros that are defined and never used. - Caught by gcc -Wunused-macros (GCC 4.6.0, Fedora 14). - -2011-05-22 Chong Yidong - - * xselect.c (syms_of_xselect): Remove unused symbol SAVE_TARGETS. - (Fx_get_selection_internal): Minor cleanup. - (Fx_own_selection_internal): Rename arguments for consistency with - select.el. - -2011-05-22 Paul Eggert - - * xselect.c (QSAVE_TARGETS): New static var, to fix build failure. - -2011-05-22 Chong Yidong - - * xselect.c (syms_of_xselect): Include character.h; use DEFSYM. - -2011-05-21 YAMAMOTO Mitsuharu - - * dispnew.c (scrolling_window): Don't exclude the case that the - last enabled row in the desired matrix touches the bottom boundary. - -2011-05-21 Glenn Morris - - * Makefile.in ($(etc)/DOC): Make second command line even shorter. - (SOME_MACHINE_OBJECTS): Replace FONT_OBJ by its maximal expansion, - and add some more files. - -2011-05-20 Eli Zaretskii - - * callproc.c (Fcall_process) [MSDOS]: Fix arguments to - report_file_error introduced by the change from 2011-05-07. - -2011-05-20 Paul Eggert - - * systime.h (Time): Define only if emacs is defined. - This is to allow ../lib-src/profile.c to be compiled on FreeBSD, - where the include path doesn't have X11/X.h by default. See - . - -2011-05-20 Kenichi Handa - - * composite.c (find_automatic_composition): Fix previous change. - -2011-05-20 Glenn Morris - - * lisp.mk: New file, split from Makefile.in. - * Makefile.in (lisp): Move to separate file, inserted by @lisp_frag@. - (shortlisp): Remove. - ($(etc)/DOC): Edit lisp.mk rather than using $shortlisp. - -2011-05-19 Glenn Morris - - * Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT) - (REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT) - (BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove. - (lisp): Set the order to that of loadup.el. - (shortlisp): Make it a copy of $lisp. - (SOME_MACHINE_LISP): Remove. - ($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too. - Use just $shortlisp, not $SOME_MACHINE_LISP too. - -2011-05-18 Kenichi Handa - - * composite.c (CHAR_COMPOSABLE_P): Add more check for efficiency. - (BACKWARD_CHAR): Wrap the arg STOP by parenthesis. - (find_automatic_composition): Mostly rewrite for efficiency. - -2011-05-18 Juanma Barranquero - - * makefile.w32-in: Update dependencies. - -2011-05-18 Christoph Scholtes - - * menu.c: Include limits.h (fixes the MS-Windows build broken by - 2011-06-18T18:49:19Z!cyd@stupidchicken.com). - -2011-05-18 Paul Eggert - - Fix some integer overflow issues, such as string length overflow. - - * insdel.c (count_size_as_multibyte): Check for string overflow. - - * character.c (lisp_string_width): Check for string overflow. - Use EMACS_INT, not int, for string indexes and lengths; in - particular, 2nd arg is now EMACS_INT, not int. Do not crash if - the resulting string length overflows an EMACS_INT; instead, - report a string overflow if no precision given. When checking for - precision exhaustion, use a check that cannot possibly have - integer overflow. (Bug#8675) - * character.h (lisp_string_width): Adjust to new signature. - - * alloc.c (string_overflow): New function. - (Fmake_string): Use it. This doesn't change behavior, but saves - a few bytes and will simplify future changes. - * character.c (string_escape_byte8): Likewise. - * lisp.h (string_overflow): New decl. - - Fixups, following up to the user-interface timestamp change. - * nsterm.m (last_mouse_movement_time, ns_mouse_position): Use Time - for UI timestamps, instead of unsigned long. - * msdos.c (mouse_get_pos): Likewise. - * w32inevt.c (movement_time, w32_console_mouse_position): Likewise. - * w32gui.h (Time): Define by including "systime.h" rather than by - declaring it ourselves. (Bug#8664) - - * dispextern.h (struct image): Don't assume time_t <= unsigned long. - * image.c (clear_image_cache): Likewise. - - * term.c (term_mouse_position): Don't assume time_t wraparound. - - Be more systematic about user-interface timestamps. - Before, the code sometimes used 'Time', sometimes 'unsigned long', - and sometimes 'EMACS_UINT', to represent these timestamps. - This change causes it to use 'Time' uniformly, as that's what X uses. - This makes the code easier to follow, and makes it easier to catch - integer overflow bugs such as Bug#8664. - * frame.c (Fmouse_position, Fmouse_pixel_position): - Use Time, not unsigned long, for user-interface timestamps. - * keyboard.c (last_event_timestamp, kbd_buffer_get_event): Likewise. - (button_down_time, make_lispy_position, make_lispy_movement): Likewise. - * keyboard.h (last_event_timestamp): Likewise. - * menu.c (Fx_popup_menu) [!HAVE_X_WINDOWS]: Likewise. - * menu.h (xmenu_show): Likewise. - * term.c (term_mouse_position): Likewise. - * termhooks.h (struct input_event.timestamp): Likewise. - (struct terminal.mouse_position_hook): Likewise. - * xmenu.c (create_and_show_popup_menu, xmenu_show): Likewise. - * xterm.c (XTmouse_position, x_scroll_bar_report_motion): Likewise. - * systime.h (Time): New decl. Pull it in from if - HAVE_X_WINDOWS, otherwise define it as unsigned long, which is - what it was before. - * menu.h, termhooks.h: Include "systime.h", for Time. - - * keyboard.c (make_lispy_event): Fix problem in integer overflow. - Don't assume that the difference between two unsigned long values - can fit into an integer. At this point, we know button_down_time - <= event->timestamp, so the difference must be nonnegative, so - there's no need to cast the result if double-click-time is - nonnegative, as it should be; check that it's nonnegative, just in - case. This bug is triggered when events are more than 2**31 ms - apart (about 25 days). (Bug#8664) - - * xselect.c (last_event_timestamp): Remove duplicate decl. - (x_own_selection): Remove needless cast to unsigned long. - - * xmenu.c (set_frame_menubar): Use int, not EMACS_UINT, for indexes - that always fit in int. Use a sentinel instead of a counter, to - avoid a temp and to allay GCC's concerns about possible int overflow. - * frame.h (struct frame): Use int for menu_bar_items_used - instead of EMACS_INT, since it always fits in int. - - * menu.c (grow_menu_items): Check for int overflow. - - * xmenu.c (set_frame_menubar): Don't mishandle vectors with no nils. - - * xterm.c: Use EMACS_INT for Emacs modifiers, and int for X modifiers. - Before, the code was not consistent. These values cannot exceed - 2**31 - 1 so there's no need to make them unsigned. - (x_x_to_emacs_modifiers): Accept int and return EMACS_INT. - (x_emacs_to_x_modifiers): Accept EMACS_INT and return int. - (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Reject non-integers - as modifiers. - * xterm.h (x_x_to_emacs_modifiers): Adjust to signature change. - - * lisp.h (XINT) [USE_LISP_UNION_TYPE]: Cast to EMACS_INT. - (XUINT) [USE_LISP_UNION_TYPE]: Cast to EMACS_UINT. - Otherwise, GCC 4.6.0 warns about printf (pI, XINT (...)), - presumably because the widths might not match. - - * window.c (size_window): Avoid needless test at loop start. - -2011-05-18 Courtney Bane (tiny change) - - * term.c (Fresume_tty): Restore hooks before reinitializing (bug#8687). - -2011-05-12 Drew Adams - - * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655). - -2011-05-12 YAMAMOTO Mitsuharu - - * w32term.c (w32_draw_fringe_bitmap): Rename local vars `left' and - `width' to `bar_area_x' and `bar_area_width', respectively. - (x_scroll_run): Take account of fringe background extension. - - * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]: - Rename local vars `left' and `width' to `bar_area_x' and - `bar_area_width', respectively. - (x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe - background extension. - -2011-05-10 Jim Meyering - - * xdisp.c (x_intersect_rectangles): Fix typo "the the -> the". - -2011-05-10 Juanma Barranquero - - * image.c (Finit_image_library): Return t for built-in image types, - like pbm and xbm. (Bug#8640) - -2011-05-09 Andreas Schwab - - * w32menu.c (set_frame_menubar): Fix submenu allocation. - -2011-05-07 Eli Zaretskii - - * w32console.c (Fset_screen_color): Doc fix. - (Fget_screen_color): New function. - (syms_of_ntterm): Defsubr it. - - * callproc.c (call_process_cleanup) [MSDOS]: Don't close and - unlink the temporary file if Fcall_process didn't create it in the - first place. - (Fcall_process) [MSDOS]: Don't create tempfile if stdout of the - child process will be redirected to a file specified with `:file'. - Don't try to re-open tempfile in that case, and set fd[0] to -1 as - cue to call_process_cleanup not to close that handle. - -2011-05-07 Ben Key - - * makefile.w32-in: The bootstrap-temacs rule now makes use of - one of two shell specific rules, either bootstrap-temacs-CMD or - bootstrap-temacs-SH. The bootstrap-temacs-SH rule is identical - to the previous implementation of the bootstrap-temacs rule. - The bootstrap-temacs-CMD rule is similar to the previous - implementation of the bootstrap-temacs rule except that it - makes use of the ESC_CFLAGS variable instead of the CFLAGS - variable. - - These changes, along with some changes to nt/configure.bat, - nt/gmake.defs, and nt/nmake.defs, are required to extend my - earlier fix to add support for --cflags and --ldflags options - that include quotes so that it works whether make uses cmd or - sh as the shell. - -2011-05-06 Michael Albinus - - * dbusbind.c (QCdbus_type_unix_fd): Declare static. - (xd_remove_watch): Don't check QCdbus_type_unix_fd for SYMBOLP, it - is a constant. - (Fdbus_init_bus, xd_read_queued_messages): Bus can be a symbol or - a string. Handle both cases. - (Fdbus_call_method_asynchronously, Fdbus_register_signal) - (Fdbus_register_method): Use Qinvalid_function. - -2011-05-06 Juanma Barranquero - - * makefile.w32-in: Update dependencies. - (LISP_H): Add inttypes.h and stdin.h. - (PROCESS_H): Add unistd.h. - -2011-05-06 Eli Zaretskii - - * lread.c: Include limits.h (fixes the MS-Windows build broken by - 2011-05-06T07:13:19Z!eggert@cs.ucla.edu). - -2011-05-06 Paul Eggert - - * image.c (Finit_image_library) [!HAVE_NTGUI]: Omit unused local. - - * term.c (vfatal): Remove stray call to va_end. - It's not needed and the C Standard doesn't allow it here anyway. - - Use C99's va_copy to avoid undefined behavior on x86-64 GNU/Linux. - * eval.c (verror): doprnt a copy of ap, not the original. (Bug#8545) - - * eval.c (verror): OK to create a string of up to MOST_POSITIVE_FIXNUM - bytes. - - * term.c: Don't include , as does that. - - * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering. - - * process.c (Fformat_network_address): Fix typo: args2 -> *args2. - - * xmenu.c (set_frame_menubar): Fix typo: int * -> int (3 times). - - * coding.c (detect_coding_charset): Fix typo: * 2 -> *4 (Bug#8601). - - * charset.h (struct charset.code_space): Now has 15 elements, not 16. - * charset.c (Fdefine_charset_internal): Don't initialize - charset.code_space[15]. The value was garbage, on hosts with - 32-bit int (Bug#8600). - - * lread.c (read_integer): Be more consistent with string-to-number. - Use string_to_number to do the actual conversion; this avoids - rounding errors and fixes some other screwups. Without this fix, - for example, #x1fffffffffffffff was misread as -2305843009213693952. - (digit_to_number): Move earlier, for benefit of read_integer. - Return -1 if the digit is out of range for the base, -2 if it is - not a digit in any supported base. (Bug#8602) - - * doprnt.c (doprnt): Support arbitrary pI values, such as "I64". - - * dispnew.c (scrolling_window): Return 1 if we scrolled, - to match comment at start of function. This also removes a - GCC warning about overflow in a 32+64-bit port. - - * lisp.h (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Simplify. - - * dbusbind.c: Do not use XPNTR on a value that may be an integer. - Reported by Stefan Monnier in - . - (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages): - Use SYMBOLP-guarded XSYMBOL, not XPNTR. - - * lisp.h (EMACS_INTPTR): Remove. All uses changed to intptr_t. - (EMACS_UINTPTR): Likewise, with uintptr_t. - - * lisp.h: Prefer 64-bit EMACS_INT if available. - (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Define to 64-bit - on 32-bit hosts that have 64-bit int, so that they can access - large files. - However, temporarily disable this change unless the temporary - symbol WIDE_EMACS_INT is defined. - - * lread.c, process.c: Do not include ; lisp.h does it now. - - Prefer intptr_t/uintptr_t for integers the same widths as pointers. - This removes an assumption that EMACS_INT and long are the same - width as pointers. The assumption is true for Emacs porting targets - now, but we want to make other targets possible. - * lisp.h: Include , for INTPTR_MAX, UINTPTR_MAX. - (EMACS_INTPTR, EMACS_UINTPTR): New macros. - In the rest of the code, change types of integers that hold casted - pointers to EMACS_INTPTR and EMACS_UINTPTR, systematically - replacing EMACS_INT, long, EMACS_UINT, and unsigned long. - (XTYPE): Don't cast arg to EMACS_UINT; normally is not needed. - (XSET): Cast type of XTYPE arg to EMACS_INTPTR; it is needed here. - No need to cast type when ORing. - (XPNTR): Return a value of type EMACS_INTPTR or EMACS_UINTPTR. - * alloc.c (lisp_align_malloc): Remove a no-longer-needed cast. - * doc.c (store_function_docstring): Use EMACS_INTPTR, so as not to - assume EMACS_INT is the same width as char *. - * gtkutil.c (xg_gtk_scroll_destroy, xg_tool_bar_button_cb): - (xg_tool_bar_callback, xg_tool_bar_help_callback, xg_make_tool_item): - Remove no-longer-needed casts. - (xg_create_scroll_bar, xg_tool_bar_button_cb, xg_tool_bar_callback): - (xg_tool_bar_help_callback, xg_make_tool_item): - Use EMACS_INTPTR to hold an integer - that will be cast to void *; this can avoid a GCC warning - if EMACS_INT is not the same width as void *. - * menu.c (find_and_call_menu_selection): Remove no-longer-needed cast. - * xdisp.c (display_echo_area_1, resize_mini_window_1): - (current_message_1, set_message_1): - Use a local to convert to proper width without a cast. - * xmenu.c (dialog_selection_callback): Likewise. - - * sysdep.c (get_random): Don't assume EMACS_INT is no wider than long. - Also, don't assume VALBITS / RAND_BITS is less than 5, - and don't rely on undefined behavior when shifting a 1 left into - the sign bit. - * lisp.h (get_random): Change signature to match. - - * lread.c (hash_string): Use size_t, not int, for hash computation. - Normally we prefer signed values; but hashing is special, because - it's better to use unsigned division on hash table sizes so that - the remainder is nonnegative. Also, size_t is the natural width - for hashing into memory. The previous code used 'int', which doesn't - retain enough info to hash well into very large tables. - (oblookup, oblookup_last_bucket_number, Funintern): Likewise. - - * dbusbind.c: Don't possibly lose pointer info when converting. - (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages): - Use XPNTR rather than XHASH, so that the high-order bits of - the pointer aren't lost when converting through void *. - - * eval.c (Fautoload): Don't double-shift a pointer. - - * fns.c (Frandom): Let EMACS_UINT be wider than unsigned long. - -2011-05-06 Juanma Barranquero - - * gnutls.c (DEF_GNUTLS_FN): - * image.c (DEF_IMGLIB_FN): Make function pointers static. - -2011-05-05 Andreas Schwab - - * lread.c (lisp_file_lexically_bound_p): Stop scanning at end - marker. (Bug#8610) - -2011-05-05 Eli Zaretskii - - * w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]: - New version that can reserve upto 2GB of heap space. - -2011-05-05 Chong Yidong - - * nsfns.m (Fns_read_file_name): Doc fix (Bug#8534). - -2011-05-05 Teodor Zlatanov - - * gnutls.c (fn_gnutls_certificate_set_x509_key_file): Add alias to - `gnutls_certificate_set_x509_key_file'. - -2011-05-05 Juanma Barranquero - - * makefile.w32-in ($(BLD)/image.$(O), $(BLD)/process.$(O)): - Update dependencies. - -2011-05-04 Juanma Barranquero - - * gnutls.h (emacs_gnutls_write, emacs_gnutls_read): - * gnutls.c (emacs_gnutls_write, emacs_gnutls_read): - Remove unused parameter `fildes'. - * process.c (read_process_output, send_process): Don't pass it. - -2011-05-04 Juanma Barranquero - - Fix previous change: the library cache is defined in w32.c. - * image.c (CACHE_IMAGE_TYPE) [!HAVE_NTGUI]: Define to noop. - (Finit_image_library): Wrap Vlibrary_cache on "#ifdef HAVE_NTGUI". - -2011-05-04 Juanma Barranquero - - Implement dynamic loading of GnuTLS on Windows. - - * gnutls.h (GNUTLS_EMACS_ERROR_NOT_LOADED): New macro. - (emacs_gnutls_write, emacs_gnutls_read): Mark as extern. - (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno): - Declare. - - * gnutls.c (Qgnutls_dll): Define. - (DEF_GNUTLS_FN, LOAD_GNUTLS_FN): New macros. - (gnutls_*): Declare function pointers. - (init_gnutls_functions): New function to initialize function pointers. - (emacs_gnutls_handshake, Fgnutls_error_string, Fgnutls_deinit) - (emacs_gnutls_global_init, Fgnutls_bye): Use function pointers. - (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno): - Wrappers for gnutls_record_check_pending and gnutls_transport_set_errno. - (emacs_gnutls_write, emacs_gnutls_read) - (emacs_gnutls_handle_error, Fgnutls_error_fatalp) - (Fgnutls_available_p): New function. - (Fgnutls_boot): Call Fgnutls_available_p. Use function pointers. - (syms_of_gnutls) : Initialize and staticpro it. - (syms_of_gnutls) : defsubr it. - - * image.c: Include w32.h. - (Vimage_type_cache): Delete. - (syms_of_image) : Don't initialize and staticpro it. - (CACHE_IMAGE_TYPE, Finit_image_library): Use Vlibrary_cache instead. - (w32_delayed_load): Move to w32.c. - - * w32.h (VlibraryCache, QCloaded_from, w32_delayed_load): Declare. - - * w32.c (QCloaded_from, Vlibrary_cache): Define. - (w32_delayed_load): Move from image.c. When loading a library, record - its filename in the :loaded-from property of the library id. - (globals_of_w32) : - Initialize and staticpro them. - (emacs_gnutls_pull, emacs_gnutls_push): Call emacs_gnutls_* functions. - - * process.c: Include lisp.h before w32.h, not after. - (wait_reading_process_output): Call emacs_gnutls_record_check_pending - instead of gnutls_record_check_pending. - - * callproc.c, emacs.c: Include lisp.h before w32.h, not after. - -2011-05-04 Teodor Zlatanov - - * gnutls.c (Fgnutls_boot): Support :keylist and :crlfiles options - instead of :keyfiles. Give GnuTLS the keylist and the CRL lists - as passed in. - -2011-05-03 Jan Djärv - - * xterm.c (x_set_frame_alpha): Do not set property on anything - else than FRAME_X_OUTER_WINDOW (Bug#8608). - -2011-05-02 Juanma Barranquero - - * sysdep.c (get_tty_size) [WINDOWSNT]: Implement. (Bug#8596) - -2011-05-02 Juanma Barranquero - - * gnutls.c (Qgnutls_log_level, Qgnutls_code, Qgnutls_anon) - (Qgnutls_x509pki, Qgnutls_e_interrupted, Qgnutls_e_again) - (Qgnutls_e_invalid_session, Qgnutls_e_not_ready_for_handshake) - (gnutls_global_initialized, Qgnutls_bootprop_priority) - (Qgnutls_bootprop_trustfiles, Qgnutls_bootprop_keyfiles) - (Qgnutls_bootprop_callbacks, Qgnutls_bootprop_loglevel) - (Qgnutls_bootprop_hostname, Qgnutls_bootprop_verify_flags) - (Qgnutls_bootprop_verify_error, Qgnutls_bootprop_verify_hostname_error) - (Qgnutls_bootprop_callbacks_verify): Make static. - -2011-05-01 Andreas Schwab - - * callproc.c: Indentation fixup. - - * sysdep.c (wait_for_termination_1): Make static. - (wait_for_termination, interruptible_wait_for_termination): - Move after wait_for_termination_1. - -2011-05-01 Lars Magne Ingebrigtsen - - * sysdep.c (interruptible_wait_for_termination): New function - which is like wait_for_termination, but allows keyboard - interruptions. - - * callproc.c (Fcall_process): Add (:file "file") as an option for - the STDOUT buffer. - (Fcall_process_region): Ditto. - -2011-04-30 Eli Zaretskii - - * dosfns.c (Fint86, Fdos_memget, Fdos_memput): Use `ASIZE (FOO)' - rather than `XVECTOR (FOO)->size'. - - * process.c: Remove HAVE_INTTYPES_H condition from inclusion of - inttypes.h, as a gnulib replacement is used if it not available in - system headers. - -2011-04-21 Eli Zaretskii - - Lift the MOST_POSITIVE_FIXNUM/4 limitation on visited files. - * fileio.c (Finsert_file_contents): Don't limit file size to 1/4 - of MOST_POSITIVE_FIXNUM. (Bug#8528) - - * coding.c (coding_alloc_by_realloc): Error out if destination - will grow beyond MOST_POSITIVE_FIXNUM. - (decode_coding_emacs_mule): Abort if there isn't enough place in - charbuf for the composition carryover bytes. Reserve an extra - space for up to 2 characters produced in a loop. - (decode_coding_iso_2022): Abort if there isn't enough place in - charbuf for the composition carryover bytes. - -2011-04-21 Eli Zaretskii - - * doprnt.c (doprnt) [!HAVE_LONG_LONG_INT]: Error out instead of - aborting when %lld or %lll format is passed. - [!HAVE_UNSIGNED_LONG_LONG_INT]: Error out instead of aborting when - %llo or %llx format is passed. (Bug#8545) - - * window.c (window_scroll_line_based): Use a marker instead of - simple variables to record original value of point. (Bug#7952) - - * doprnt.c (doprnt): Fix the case where a multibyte sequence - produced by %s or %c overflows available buffer space. (Bug#8545) - -2011-04-28 Paul Eggert - - * doprnt.c (doprnt): Omit useless test; int overflow check (Bug#8545). - (SIZE_MAX): Move defn after all includes, as they might #define it. - -2011-04-28 Juanma Barranquero - - * w32.c (init_environment): Warn about defaulting HOME to C:\. - -2011-04-28 Juanma Barranquero - - * keyboard.c (Qdelayed_warnings_hook): Define. - (command_loop_1): Run `delayed-warnings-hook' - if Vdelayed_warnings_list is non-nil. - (syms_of_keyboard) : DEFSYM it. - (syms_of_keyboard) : DEFVAR_LISP it. - -2011-04-28 Eli Zaretskii - - * doprnt.c (doprnt): Don't return value smaller than the buffer - size if the message was truncated. (Bug#8545). - -2011-04-28 Juanma Barranquero - - * w32fns.c (Fx_change_window_property, Fx_delete_window_property) - (Fx_window_property): #if-0 the whole functions, not just the bodies. - -2011-04-27 Paul Eggert - - * doprnt.c (doprnt): Support "ll" length modifier, for long long. - -2011-04-27 Juanma Barranquero - - * makefile.w32-in: Update dependencies. - -2011-04-27 Eli Zaretskii - - Improve `doprnt' and its usage. (Bug#8545) - * doprnt.c (doprnt): Make sure `format' is never accessed beyond - `format_end'. Remove support for %l as a conversion specifier. - Don't use xrealloc. Improve diagnostics when the %l size modifier - is used. Update the commentary. - - * eval.c (verror): Simplify calculation of size_t. - - * coding.c (Ffind_operation_coding_system): Fix diagnostic error - messages. - -2011-04-27 Yoshiaki Kasahara (tiny change) - - * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Adjust to aliasing - change. - -2011-04-27 Paul Eggert - - * nsmenu.m: Replace all uses of XVECTOR with ASIZE and AREF. - This makes this file independent of the recent pseudovector change. - -2011-04-26 Paul Eggert - - * keyboard.c (handle_user_signal): Fix pointer signedness problem. - - * gnutls.c (emacs_gnutls_handle_error): Remove unused local. - (Fgnutls_boot): gnutls_certificate_verify_peers2 wants unsigned *. - Remove unused local. - (emacs_gnutls_write): Don't use uninitialized rtnval if nbyte <= 0. - - * lisp.h: Fix a problem with aliasing and vector headers. (Bug#8546) - GCC 4.6.0 optimizes based on type-based alias analysis. - For example, if b is of type struct buffer * and v of type struct - Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size - != &v->size, and therefore "v->size = 1; b->size = 2; return - v->size;" must therefore return 1. This assumption is incorrect - for Emacs, since it type-puns struct Lisp_Vector * with many other - types. To fix this problem, this patch adds a new type struct - vectorlike_header that documents the constraints on layout of vectors - and pseudovectors, and helps optimizing compilers not get fooled - by Emacs's type punning. It also adds the macros XSETTYPED_PVECTYPE - XSETTYPED_PSEUDOVECTOR, TYPED_PSEUDOVECTORP, for similar reasons. - * lisp.h (XSETTYPED_PVECTYPE): New macro, specifying the name of - the size member. - (XSETPVECTYPE): Rewrite in terms of new macro. - (XSETPVECTYPESIZE): New macro, specifying both type and size. - This is a bit clearer, and further avoids the possibility of - undesirable aliasing. - (XSETTYPED_PSEUDOVECTOR): New macro, specifying the size. - (XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR. - (XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE, - since Lisp_Subr is a special case (no "next" field). - (ASIZE): Now uses header.size rather than size. - All previous uses of XVECTOR (foo)->size replaced to use this macro, - to avoid the hassle of writing XVECTOR (foo)->header.size. - (struct vectorlike_header): New type. - (TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the - object, to help avoid aliasing. - (PSEUDOVECTORP): Rewrite in terms of TYPED_PSEUDOVECTORP. - (SUBRP): Likewise, since Lisp_Subr is a special case. - * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table): - (struct Lisp_Sub_Char_Table, struct Lisp_Bool_Vector): - (struct Lisp_Hash_Table): Combine first two members into a single - struct vectorlike_header member. All uses of "size" and "next" members - changed to be "header.size" and "header.next". - * buffer.h (struct buffer): Likewise. - * font.h (struct font_spec, struct font_entity, struct font): Likewise. - * frame.h (struct frame): Likewise. - * process.h (struct Lisp_Process): Likewise. - * termhooks.h (struct terminal): Likewise. - * window.c (struct save_window_data, struct saved_window): Likewise. - * window.h (struct window): Likewise. - * alloc.c (allocate_buffer, Fmake_bool_vector, allocate_pseudovector): - Use XSETPVECTYPESIZE, not XSETPVECTYPE, to avoid aliasing problems. - * buffer.c (init_buffer_once): Likewise. - * lread.c (defsubr): Use XSETTYPED_PVECTYPE, since Lisp_Subr is a - special case. - * process.c (Fformat_network_address): Use local var for size, - for brevity. - - * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR. - - Make the Lisp reader and string-to-float more consistent (Bug#8525) - * data.c (atof): Remove decl; no longer used or needed. - (digit_to_number): Move to lread.c. - (Fstring_to_number): Use new string_to_number function, to be - consistent with how the Lisp reader treats infinities and NaNs. - Do not assume that floating-point numbers represent EMACS_INT - without losing information; this is not true on most 64-bit hosts. - Avoid double-rounding errors, by insisting on integers when - parsing non-base-10 numbers, as the documentation specifies. - * lisp.h (string_to_number): New decl, replacing ... - (isfloat_string): Remove. - * lread.c: Include , for uintmax_t and strtoumax. - (read1): Do not accept +. and -. as integers; this - appears to have been a coding error. Similarly, do not accept - strings like +-1e0 as floating point numbers. Do not report - overflow for integer overflows unless the base is not 10 which - means we have no simple and reliable way to continue. - Break out the floating-point parsing into a new - function string_to_number, so that Fstring_to_number parses - floating point numbers consistently with the Lisp reader. - (digit_to_number): Move here from data.c. Make it static inline. - (E_CHAR, EXP_INT): Remove, replacing with ... - (E_EXP): New macro, to solve the "1.0e+" problem mentioned below. - (string_to_number): New function, replacing isfloat_string. - This function checks for valid syntax and produces the resulting - Lisp float number too. Rework it so that string-to-number - no longer mishandles examples like "1.0e+". Use strtoumax, - so that overflow for non-base-10 numbers is reported only when - there's no portable and simple way to convert to floating point. - - * textprop.c (set_text_properties_1): Rewrite for clarity, - and to avoid GCC warning about integer overflow. - - * intervals.h (struct interval): Use EMACS_INT for members - where EMACS_UINT might cause problems. See - . - (CHECK_TOTAL_LENGTH): Remove cast to EMACS_INT; no longer needed. - * intervals.c (interval_deletion_adjustment): Now returns EMACS_INT. - All uses changed. - (offset_intervals): Tell GCC not to worry about length overflow - when negating a negative length. - - * alloc.c (overrun_check_malloc, overrun_check_realloc): Now static. - (overrun_check_free): Likewise. - - * alloc.c (SDATA_SIZE) [!GC_CHECK_STRING_BYTES]: Avoid runtime check - in the common case where SDATA_DATA_OFFSET is a multiple of Emacs - word size. - - * gnutls.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10. - (gnutls_make_error): Rename local to avoid shadowing. - (gnutls_emacs_global_deinit): ifdef out; not used. - (Fgnutls_boot): Use const for pointer to readonly storage. - Comment out unused local. Fix pointer signedness problems. - - * lread.c (openp): Don't stuff size_t into an 'int'. - Use <= on length, not < on length + 1, to avoid GCC 4.6.0 warning - about possible signed overflow. - - * gtkutil.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10. - (GDK_KEY_g): Don't define if already defined. - (xg_prepare_tooltip): Avoid pointer signedness problem. - (xg_set_toolkit_scroll_bar_thumb): Redo to avoid two casts. - - * process.c (Fnetwork_interface_info): Avoid left-shift undefined - behavior with 1 << 31. GCC 4.6.0 warns about this on 32-bit hosts. - - * xfns.c (Fx_window_property): Simplify a bit, - to make a bit faster and to avoid GCC 4.6.0 warning. - * xselect.c (x_get_window_property, x_handle_dnd_message): Likewise. - - * fns.c (internal_equal): Don't assume size_t fits in int. - - * alloc.c (compact_small_strings): Tighten assertion a little. - - Replace pEd with more-general pI, and fix some printf arg casts. - * lisp.h (pI): New macro, generalizing old pEd macro to other - conversion specifiers. For example, use "...%"pI"d..." rather - than "...%"pEd"...". - (pEd): Remove. All uses replaced with similar uses of pI. - * m/amdx86-64.h, m/ia64.h, m/ibms390x.h: Likewise. - * alloc.c (check_pure_size): Don't overflow by converting size to int. - * bidi.c (bidi_dump_cached_states): Use pI to avoid cast. - * data.c (Fnumber_to_string): Use pI instead of if-then-else-abort. - * dbusbind.c (xd_append_arg): Use pI to avoid cast. - (Fdbus_method_return_internal, Fdbus_method_error_internal): Likewise. - * font.c (font_unparse_xlfd): Avoid potential buffer overrun on - 64-bit hosts. - (font_unparse_xlfd, font_unparse_fcname): Use pI to avoid casts. - * keyboard.c (record_char, modify_event_symbol): Use pI to avoid casts. - * print.c (safe_debug_print, print_object): Likewise. - (print_object): Don't overflow by converting EMACS_INT or EMACS_UINT - to int. - Use pI instead of if-then-else-abort. Use %p to avoid casts, - avoiding the 0 flag, which is not portable. - * process.c (Fmake_network_process): Use pI to avoid cast. - * region-cache.c (pp_cache): Likewise. - * xdisp.c (decode_mode_spec): Likewise. - * xrdb.c (x_load_resources) [USE_MOTIF]: Use pI to avoid undefined - behavior on 64-bit hosts with printf arg. - * xselect.c (x_queue_event): Use %p to avoid casts, avoiding 0 flag. - (x_stop_queuing_selection_requests): Likewise. - (x_get_window_property): Don't truncate byte count to an 'int' - when tracing. - - * frame.c (frame_name_fnn_p): Get rid of strtol, which isn't right - here, since it parses constructs like leading '-' and spaces, - which are not wanted; and it overflows with large numbers. - Instead, simply match F[0-9]+, which is what is wanted anyway. - - * alloc.c: Remove unportable assumptions about struct layout. - (SDATA_SELECTOR, SDATA_DATA_OFFSET): New macros. - (SDATA_OF_STRING, SDATA_SIZE, allocate_string_data): - (allocate_vectorlike, make_pure_vector): Use the new macros, - plus offsetof, to remove unportable assumptions about struct layout. - These assumptions hold on all porting targets that I know of, but - they are not guaranteed, they're easy to remove, and removing them - makes further changes easier. - - * alloc.c (BLOCK BYTES): Fix typo by changing "ablock" to "ablocks". - This doesn't fix a bug but makes the code clearer. - (string_overrun_cookie): Now const. Use initializers that - don't formally overflow signed char, to avoid warnings. - (allocate_string_data) [GC_CHECK_STRING_OVERRUN]: Fix typo that - can cause Emacs to crash when string overrun checking is enabled. - (allocate_buffer): Don't assume sizeof (struct buffer) is a - multiple of sizeof (EMACS_INT); it need not be, if - alignof(EMACS_INT) < sizeof (EMACS_INT). - (check_sblock, check_string_bytes, check_string_free_list): Protoize. - -2011-04-26 Juanma Barranquero - - * keyboard.c (QCrtl): Rename from Qrtl. All uses changed. - -2011-04-26 Teodor Zlatanov - - * gnutls.c (emacs_gnutls_handshake): Return an error if we're not - supposed to be handshaking. (Bug#8556) - Reported by Paul Eggert . - -2011-04-26 Daniel Colascione - - * lisp.h (Qdebug): List symbol. - * eval.c (Qdebug): Restore global linkage. - * keyboard.c (debug-on-event): New variable. - (handle_user_signal): Break into debugger when debug-on-event - matches the current signal symbol. - -2011-04-25 Dan Nicolaescu - - * alloc.c (check_sblock, check_string_bytes) - (check_string_free_list): Convert to standard C. - -2011-04-25 Teodor Zlatanov - - * w32.c (emacs_gnutls_push): Fix typo. - -2011-04-25 Eli Zaretskii - - * gnutls.c (emacs_gnutls_handshake): Avoid compiler warnings about - "cast to pointer from integer of different size". - - Improve doprnt and its use in verror. (Bug#8545) - * doprnt.c (doprnt): Document the set of format control sequences - supported by the function. Use SAFE_ALLOCA instead of always - using `alloca'. - - * eval.c (verror): Don't limit the buffer size at size_max-1, that - is one byte too soon. Don't use xrealloc; instead xfree and - xmalloc anew. - -2011-04-24 Teodor Zlatanov - - * gnutls.h: Add GNUTLS_STAGE_CALLBACKS enum to denote we're in the - callbacks stage. - - * gnutls.c: Renamed global_initialized to - gnutls_global_initialized. Added internals for the - :verify-hostname-error, :verify-error, and :verify-flags - parameters of `gnutls-boot' and documented those parameters in the - docstring. Start callback support. - (emacs_gnutls_handshake): Add Woe32 support. Retry handshake - unless a fatal error occurred. Call gnutls_alert_send_appropriate - on error. Return error code. - (emacs_gnutls_write): Call emacs_gnutls_handle_error. - (emacs_gnutls_read): Likewise. - (Fgnutls_boot): Return handshake error code. - (emacs_gnutls_handle_error): New function. - (wsaerror_to_errno): Likewise. - - * w32.h (emacs_gnutls_pull): Add prototype. - (emacs_gnutls_push): Likewise. - - * w32.c (emacs_gnutls_pull): New function for GnuTLS on Woe32. - (emacs_gnutls_push): Likewise. - -2011-04-24 Claudio Bley (tiny change) - - * process.c (wait_reading_process_output): Check if GnuTLS - buffered some data internally if no FDs are set for TLS - connections. - - * makefile.w32-in (OBJ2): Add gnutls.$(O). - (LIBS): Link to USER_LIBS. - ($(BLD)/gnutls.$(0)): New target. - -2011-04-24 Eli Zaretskii - - * xdisp.c (handle_single_display_spec): Rename the - display_replaced_before_p argument into display_replaced_p, to - make it consistent with the commentary. Fix typos in the - commentary. - - * textprop.c (syms_of_textprop): Remove dead code. - (copy_text_properties): Delete obsolete commentary about an - interface that was deleted long ago. Fix typos in the description - of arguments. - - * msdos.c (XMenuActivate, XMenuAddSelection): Adjust argument list - to changes in oldXMenu/XMenu.h from 2011-04-16. - : Constify. - (IT_menu_make_room): menu->help_text is now `const char **'; - adjust. - - * msdos.h (XMenuActivate, XMenuAddSelection): Adjust prototypes - to changes in oldXMenu/XMenu.h from 2011-04-16. - (struct XMenu): Declare `help_text' `const char **'. - - * xfaces.c : Make extern again. - - * syntax.c: Include sys/types.h before including regex.h, as - required by POSIX. - - * doc.c (get_doc_string): Improve the format passed to `error'. - - * doprnt.c (doprnt): Improve commentary. - - * term.c (init_tty) [MSDOS]: Fix 1st argument to maybe_fatal. - - * Makefile.in (TAGS): Depend on $(M_FILE) and $(S_FILE), and scan - them with etags. - - * makefile.w32-in (globals.h): Add a dummy recipe, to make any - changes in globals.h immediately force recompilation. - (TAGS): Depend on $(CURDIR)/m/intel386.h and - $(CURDIR)/s/ms-w32.h. - (TAGS-gmake): Scan $(CURDIR)/m/intel386.h and $(CURDIR)/s/ms-w32.h. - - * character.c (Fchar_direction): Function deleted. - (syms_of_character): Don't defsubr it. - : Deleted. - -2011-04-23 Eli Zaretskii - - Fix doprnt so it could be used again safely in `verror'. (Bug#8435) - * doprnt.c: Include limits.h. - (SIZE_MAX): New macro. - (doprnt): Return a size_t value. 2nd arg is now size_t. - Many local variables are now size_t instead of int or unsigned. - Improve overflow protection. Support `l' modifier for integer - conversions. Support %l conversion. Don't assume an EMACS_INT - argument for integer conversions and for %c. - - * lisp.h (doprnt): Restore prototype. - - * makefile.w32-in ($(BLD)/callint.$(O)): Depend on - $(SRC)/character.h. - - * Makefile.in (base_obj): Add back doprnt.o. - - * deps.mk (doprnt.o): Add back prerequisites. - (callint.o): Depend on character.h. - - * eval.c (internal_lisp_condition_case): Include the handler - representation in the error message. - (verror): Call doprnt instead of vsnprintf. Fix an off-by-one bug - when breaking from the loop. - - * xdisp.c (vmessage): Call doprnt instead of vsnprintf. - - * callint.c (Fcall_interactively): When displaying error message - about invalid control letter, pass the character's codepoint, not - a pointer to its multibyte form. Improve display of the character - in octal and display also its hex code. - - * character.c (char_string): Use %x to display the (unsigned) - codepoint of an invalid character, to avoid displaying a bogus - negative value. - - * font.c (check_otf_features): Pass SDATA of SYMBOL_NAME to - `error', not SYMBOL_NAME itself. - - * coding.c (Fencode_sjis_char, Fencode_big5_char): Use %c for - character arguments to `error'. - - * charset.c (check_iso_charset_parameter): Fix incorrect argument - to `error' in error message about FINAL_CHAR argument. Make sure - FINAL_CHAR is a character, and use %c when it is passed as - argument to `error'. - -2011-04-23 Eli Zaretskii - - * s/ms-w32.h (localtime): Redirect to sys_localtime. - - * w32.c: Include . - (sys_localtime): New function. - -2011-04-23 Chong Yidong - - * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451). - - * buffer.c (syms_of_buffer): Doc fix (Bug#6902). - -2011-04-23 Samuel Thibault (tiny change) - - * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on - zombies (Bug#8467). - -2011-04-19 Eli Zaretskii - - * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of - gl_state.e_property when gl_state.object is Qt. - - * insdel.c (make_gap_larger): Remove limitation of buffer size - to <= INT_MAX. - -2011-04-18 Chong Yidong - - * xdisp.c (lookup_glyphless_char_display) - (produce_glyphless_glyph): Handle cons cell entry in - glyphless-char-display. - (Vglyphless_char_display): Document it. - - * term.c (produce_glyphless_glyph): Handle cons cell entry in - glyphless-char-display. - -2011-04-17 Chong Yidong - - * xdisp.c (get_next_display_element): Remove unnecessary ifdefs. - - * termhooks.h (FRAME_WINDOW_P): Remove duplicated definitions. - - * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): Add missing - definition for no-X builds. - -2011-04-16 Paul Eggert - - Static checks with GCC 4.6.0 and non-default toolkits. - - * s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF): Protoize decl. - - * process.c (keyboard_bit_set): Define only if SIGIO. - (send_process_trap): Mark it with NO_RETURN if it doesn't return. - (send_process): Repair possible setjmp clobbering. - - * s/usg5-4-common.h (SETUP_SLAVE_PTY): Don't pass extra arg to 'fatal'. - - * eval.c: Include , for vsnprintf on non-GNU/Linux hosts. - - * data.c (arith_error): Mark with NO_RETURN if it doesn't return. - - * alloc.c (bytes_used_when_full, SPARE_MEMORY, BYTES_USED): - Define only if needed. - - * sysdep.c (_FILE_OFFSET_BITS): Make this hack even uglier - by pacifying GCC about it. Maybe it's time to retire it? - * xfaces.c (USG, __TIMEVAL__): Likewise. - - * dispextern.h (struct redisplay_interface): Rename param - to avoid shadowing. - * termhooks.h (struct terminal): Likewise. - * xterm.c (xembed_send_message): Likewise. - - * insdel.c (make_gap_smaller): Define only if - USE_MMAP_FOR_BUFFERS || REL_ALLOC || DOUG_LEA_MALLOC. - - * keyboard.c (read_char): Make a var volatile so longjmp won't clobber - it. - - * emacs.c (MAX_HEAP_BSS_DIFF, my_edata): Move to where they're used, - so that we aren't warned about unused symbols. - - * xfns.c (Fx_file_dialog): Rename local to avoid shadowing. - - * xdisp.c (x_produce_glyphs): Mark var as initialized (Bug#8512). - - * xfns.c (x_real_positions): Mark locals as initialized. - - * xmenu.c (xmenu_show): Don't use uninitialized vars. - - * xterm.c: Fix problems found by static analysis with other toolkits. - (toolkit_scroll_bar_interaction): Define and use only if USE_X_TOOLKIT. - (x_dispatch_event): Declare static if USE_GTK, and - define if USE_GTK || USE_X_TOOLKIT. - (SET_SAVED_BUTTON_EVENT): Define only if USE_X_TOOLKIT || USE_GTK. - * xterm.h (x_dispatch_event): Extern only if USE_X_TOOLKIT. - * xterm.c, xterm.h (x_mouse_leave): Bring this function back, but only - if defined HAVE_MENUS && !defined USE_X_TOOLKIT && !defined USE_GTK. - - * xmenu.c (menu_help_callback): Pointer type fixes. - Use const pointers when pointing at readonly data. Avoid pointer - signedness clashes. - (FALSE): Remove unused macro. - (update_frame_menubar): Remove unused decl. - - * xfns.c (Fx_hide_tip): Move locals to avoid shadowing. - - * menu.c (push_submenu_start, push_submenu_end): Do not define unless - USE_X_TOOLKIT || USE_GTK || HAVE_NS || defined HAVE_NTGUI. - (single_menu_item): Rename local to avoid shadowing. - - * keyboard.c (make_lispy_event): Remove unused local var. - - * frame.c, frame.h (x_get_resource_string): Bring this back, but - only if HAVE_X_WINDOWS && !USE_X_TOOLKIT. - - * bitmaps: Change bitmaps from unsigned char back to the X11 - compatible char. Avoid the old compiler warnings about - out-of-range initializers by using, for example, '\xab' rather - than 0xab. - - * xgselect.c (xgselect_initialize): Check vs interface - even if ! (defined (USE_GTK) || defined (HAVE_GCONF)). - - * xmenu.c (xmenu_show): Rename parm to avoid shadowing. - - * xterm.c (x_create_toolkit_scroll_bar): Use const * for pointers - to read-only memory. - - * fns.c (vector): Remove; this old hack is no longer needed. - - * xsmfns.c (create_client_leader_window): Rename shadowing arg. - Remove unused var. - (gdk_x11_set_sm_client_id) [!USE_GTK]: Don't define. - - * xrdb.c (x_load_resources): Omit unused local. - - * xfns.c (free_frame_menubar, atof): Remove duplicate decls. - (x_window): Rename locals to avoid shadowing. - (USG): Use the kludged USG macro, to pacify gcc. - - * xterm.c (x_alloc_nearest_color_for_widget): Remove; unused. - (x_term_init): Remove local to avoid shadowing. - - * xfns.c, xterm.c (_XEditResCheckMessages): Protoize decl. - - * xdisp.c, dispextern.h (set_vertical_scroll_bar): Now extern if - USE_TOOLKIT_SCROLL_BARS && !USE_GTK, as xterm.c needs it then. - -2011-04-16 Eli Zaretskii - - * gnutls.c (Fgnutls_boot): Don't pass Lisp_Object to `error'. - - Fix regex.c, syntax.c and friends for buffers > 2GB. - * syntax.h (struct gl_state_s): Declare character position members - EMACS_INT. - - * syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT. - - * textprop.c (verify_interval_modification, interval_of): - Declare arguments EMACS_INT. - - * intervals.c (adjust_intervals_for_insertion): Declare arguments - EMACS_INT. - - * intervals.h (CHECK_TOTAL_LENGTH): Cast to EMACS_INT, not `int'. - - * indent.c (Fvertical_motion): Local variable it_start is now - EMACS_INT. - - * regex.c (re_match, re_match_2, re_match_2_internal) - (bcmp_translate, regcomp, regexec, print_double_string) - (group_in_compile_stack, re_search, re_search_2, regex_compile) - (re_compile_pattern, re_exec): Declare arguments and local - variables `size_t' and `ssize_t' and return values `regoff_t', as - appropriate. - (POP_FAILURE_REG_OR_COUNT) : Declare `long'. - (CHECK_INFINITE_LOOP) : Declare `ssize_t'. - : `size' and `avail' are now `size_t'. - - * regex.h : Use ssize_t, not int. - (re_search, re_search_2, re_match, re_match_2): Arguments that - specify buffer/string position and length are now ssize_t and - size_t. Return type is regoff_t. - -2011-04-16 Ben Key - - * nsfont.m: Fixed bugs in ns_get_family and - ns_descriptor_to_entity that were caused by using free to - deallocate memory blocks that were allocated by xmalloc (via - xstrdup). This caused Emacs to crash when compiled with - XMALLOC_OVERRUN_CHECK defined (when Emacs was configured with - --enable-checking=xmallocoverrun). xfree is now used to - deallocate these memory blocks. - -2011-04-15 Paul Eggert - - * sysdep.c (emacs_read): Remove unnecessary check vs MAX_RW_COUNT. - - emacs_write: Accept and return EMACS_INT for sizes. - See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html - et seq. - * gnutls.c, gnutls.h (emacs_gnutls_read, emacs_gnutls_write): - Accept and return EMACS_INT. - (emacs_gnutls_write): Return the number of bytes written on - partial writes. - * sysdep.c, lisp.h (emacs_read, emacs_write): Likewise. - (emacs_read, emacs_write): Remove check for negative size, as the - Emacs source code has been audited now. - * sysdep.c (MAX_RW_COUNT): New macro, to work around kernel bugs. - (emacs_read, emacs_write): Use it. - * process.c (send_process): Adjust to the new signatures of - emacs_write and emacs_gnutls_write. Do not attempt to store - a byte offset into an 'int'; it might overflow. - See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00483.html - - * sound.c: Don't assume sizes fit in 'int'. - (struct sound_device.period_size, alsa_period_size): - Return EMACS_INT, not int. - (struct sound_device.write, vox_write, alsa_write): - Accept EMACS_INT, not int. - (wav_play, au_play): Use EMACS_INT to store sizes and to - record read return values. - -2011-04-15 Ben Key - - * keyboard.c (Qundefined): Don't declare static since it is used - in nsfns.m. - * xfaces.c (Qbold, Qexpanded, Qitalic, Qcondensed): Don't declare - static since they are used in nsfont.m. - -2011-04-15 Stefan Monnier - - * process.c (Qprocessp): Don't declare static. - * lisp.h (Qprocessp): Declare again. - -2011-04-15 Juanma Barranquero - - * font.c (Qopentype): Don't make static (used from w32uniscribe.c). - -2011-04-14 Paul Eggert - - Improve C-level modularity by making more things 'static'. - - Don't publish debugger-only interfaces to other modules. - * lisp.h (safe_debug_print, debug_output_compilation_hack): - (verify_bytepos, count_markers): Move decls to the only modules - that need them. - * region-cache.h (pp_cache): Likewise. - * window.h (check_all_windows): Likewise. - * marker.c, print.c, region-cache.c, window.c: Decls moved here. - - * sysdep.c (croak): Now static, if - defined TIOCNOTTY || defined USG5 || defined CYGWIN. - * syssignal.h (croak): Declare only if not static. - - * alloc.c (refill_memory_reserve): Now static if - !defined REL_ALLOC || defined SYSTEM_MALLOC. - * lisp.h (refill_memory_reserve): Declare only if not static. - - * xsettings.c, xsettings.h (xsettings_get_system_normal_font): - Define only if USE_LUCID. - - * xrdb.c (x_customization_string, x_rm_string): Now static. - - * xmenu.c (x_menu_wait_for_event): Export only if USE_MOTIF. - * xterm.h (x_menu_wait_for_event): Declare only if USE_MOTIF. - - * xdisp.c (draw_row_with_mouse_face): Now static. - * dispextern.h (draw_row_with_mouse_fave): Remove decl. - - * window.h (check_all_windows): Mark externally visible. - - * window.c (window_deletion_count): Now static. - - * undo.c: Make symbols static if they're not exported. - (last_undo_buffer, last_boundary_position, pending_boundary): - Now static. - - * textprop.c (interval_insert_behind_hooks): Now static. - (interval_insert_in_front_hooks): Likewise. - - * term.c: Make symbols static if they're not exported. - (tty_turn_off_highlight, get_tty_terminal, max_frame_cols): - (max_frame_lines, tty_set_terminal_modes): - (tty_reset_terminal_modes, tty_turn_off_highlight): - (get_tty_terminal): Now static. - (term_mouse_moveto): Do not define if HAVE_WINDOW_SYSTEM. - * termhooks.h (term_mouse_moveto): Do not declare if - HAVE_WINDOW_SYSTEM. - * dispextern.h (tty_set_terminal_modes, tty_reset_terminal_modes): - (tty_turn_off_highlight, get_tty_terminal): Remove decls. - - * sysdep.c: Make symbols static if they're not exported. - (emacs_get_tty, emacs_set_tty, old_fcntl_flags, old_fcntl_owner): - Now static. - (sigprocmask_set, full_mask): Remove; unused. - (wait_debugging): Mark as visible. - * syssignal.h (SIGFULLMASK, full_mask): Remove decls. - * systty.h (emacs_get_tty, emacs_set_tty): Remove decls. - - * syntax.c (syntax_temp): Define only if !__GNUC__. - - * sound.c (current_sound_device, current_sound): Now static. - - * search.c (searchbufs, searchbuf_head): Now static. - - * scroll.c (scroll_cost): Remove; unused. - * dispextern.h (scroll_cost): Remove decl. - - * region-cache.h (pp_cache): Mark as externally visible. - - * process.c: Make symbols static if they're not exported. - (process_tick, update_tick, create_process, chan_process): - (Vprocess_alist, proc_buffered_char, datagram_access): - (fd_callback_data, send_process_frame, process_sent_to): Now static. - (deactivate_process): Mark defn as static, as well as decl. - * lisp.h (create_process): Remove decl. - * process.h (chan_process, Vprocess_alist): Remove decls. - - * print.c: Make symbols static if they're not exported. - (print_depth, new_backquote_output, being_printed, print_buffer): - (print_buffer_size, print_buffer_pos, print_buffer_pos_byte): - (print_interval, print_number_index, initial_stderr_stream): - Now static. - * lisp.h (Fprinc): Remove decl. - (debug_output_compilation_hack): Mark as externally visible. - - * sysdep.c (croak): Move decl from here to syssignal.h. - * syssignal.h (croak): Put it here, so the API can be checked when - 'croak' is called from dissociate_if_controlling_tty. - - * minibuf.c: Make symbols static if they're not exported. - (minibuf_save_list, choose_minibuf_frame): Now static. - * lisp.h (choose_minibuf_frame): Remove decl. - - * lisp.h (verify_bytepos, count_markers): Mark as externally visible. - - * lread.c: Make symbols static if they're not exported. - (read_objects, initial_obarray, oblookup_last_bucket_number): - Now static. - (make_symbol): Remove; unused. - * lisp.h (initial_obarray, make_symbol): Remove decls. - - * keyboard.c: Make symbols static if they're not exported. - (single_kboard, recent_keys_index, total_keys, recent_keys): - (this_command_key_count_reset, raw_keybuf, raw_keybuf_count): - (this_single_command_key_start, echoing, last_auto_save): - (read_key_sequence_cmd, dribble, recursive_edit_unwind): - (command_loop, echo_now, keyboard_init_hook, help_char_p): - (quit_throw_to_read_char, command_loop_2, top_level_1, poll_timer): - (Vlispy_mouse_stem, double_click_count): - Now static. - (force_auto_save_soon): Define only if SIGDANGER. - (ignore_mouse_drag_p): Now static if - !defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS. - (print_help): Remove; unused. - (stop_character, last_timer_event): Mark as externally visible. - * keyboard.h (ignore_mouse_drag_p): Declare only if - defined HAVE_WINDOW_SYSTEM && !defined USE_GTK && !defined HAVE_NS. - (echo_now, help_char_p, quit_throw_to_read_char): Remove decls. - * lisp.h (echoing): Remove decl. - (force_auto_save_soon): Declare only if SIGDANGER. - * xdisp.c (redisplay_window): Simplify code, to make it more - obvious that ignore_mouse_drag_p is not accessed if !defined - USE_GTK && !defined HAVE_NS. - - * intervals.c: Make symbols static if they're not exported. - (merge_properties_sticky, merge_interval_right, delete_interval): - Now static. - * intervals.h (merge_interval_right, delete_interval): Remove decls. - - * insdel.c: Make symbols static if they're not exported. - However, leave prepare_to_modify_buffer alone. It's never - called from outside this function, but that appears to be a bug. - (combine_after_change_list, combine_after_change_buffer): - (adjust_after_replace, signal_before_change): Now static. - (adjust_after_replace_noundo): Remove; unused. - * lisp.h (adjust_after_replace, adjust_after_replace_noundo): - (signal_before_change): Remove decls. - - * indent.c (val_compute_motion, val_vmotion): Now static. - - * image.c: Make symbols static if they're not exported. - * dispextern.h (x_create_bitmap_from_xpm_data): Do not declare - if USE_GTK. - * image.c (x_create_bitmap_from_xpm_data): Do not define if USE_GTK. - (xpm_color_cache, ct_table, ct_colors_allocated): Now static. - - * fringe.c (standard_bitmaps): Now static. - (max_used_fringe_bitmap): Now static, unless HAVE_NS. - - * frame.c: Make symbols static if they're not exported. - (x_report_frame_params, make_terminal_frame): Now static. - (get_frame_param): Now static, unless HAVE_NS. - (x_fullscreen_adjust): Define if WINDOWSNT, not if HAVE_WINDOW_SYSTEM. - (x_get_resource_string): Remove; not used. - * frame.h (make_terminal_frame, x_report_frame_params): - (x_get_resource_string); Remove decls. - (x_fullscreen_adjust): Declare only if WINDOWSNT. - * lisp.h (get_frame_param): Declare only if HAVE_NS. - - * font.c, fontset.c: Make symbols static if they're not exported. - * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): New macro. - (FACE_SUITABLE_FOR_CHAR_P): Use it. - * font.c (font_close_object): Now static. - * font.h (font_close_object): Remove. - * fontset.c (FONTSET_OBJLIST): Remove. - (free_realized_fontset) #if-0 the body, which does nothing. - (face_suitable_for_char_p): #if-0, as it's never called. - * fontset.h (face_suitable_for_char_p): Remove decl. - * xfaces.c (face_at_string_position): - Use FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P, - since 0 is always ASCII. - - * fns.c (weak_hash_tables): Now static. - - * fileio.c: Make symbols static if they're not exported. - (auto_saving, auto_save_mode_bits, auto_save_error_occurred): - (Vwrite_region_annotation_buffers): Now static. - - * eval.c: Make symbols static if they're not exported. - (backtrace_list, lisp_eval_depth, when_entered_debugger): Now static. - * lisp.h (backtrace_list): Remove decl. - - * emacs.c: Make symbols static if they're not exported. - (malloc_state_ptr, malloc_using_checking, syms_of_emacs): - (fatal_error_code, fatal_error_signal_hook, standard_args): - Now static. - (fatal_error_signal): Now static, unless FLOAT_CATCH_SIGKILL. - (DEFINE_DUMMY_FUNCTION): Mark function as externally visible. - (__CTOR_LIST__, __DTOR_LIST__): Now externally visible. - * lisp.h (fatal_error_signal_hook): Remove decl. - (fatal_error_signal): Declare only if FLOAT_CATCH_SIGKILL. - - * editfns.c: Move a (normally-unused) function to its only use. - * editfns.c, lisp.h (get_operating_system_release): Remove. - * process.c (init_process) [DARWIN_OS]: Do it inline, as it is not - worth the hassle of breaking this out. - - * xterm.c: Make symbols static if they're not exported. - (x_raise_frame, x_lower_frame, x_wm_set_window_state): - (x_wm_set_icon_pixmap, x_initialize, XTread_socket_fake_io_error): - (x_destroy_window, x_delete_display): - Now static. - (x_dispatch_event): Now static if ! (USE_MOTIF || USE_X_TOOLKIT). - (x_mouse_leave): Remove; unused. - * xterm.h (x_display_info_for_name, x_raise_frame, x_lower_frame): - (x_destroy_window, x_wm_set_window_state, x_wm_set_icon_pixmap): - (x_delete_display, x_initialize, x_set_border_pixel, x_screen_planes): - Remove decls. - (x_mouse_leave): Declare only if WINDOWSNT. - (x_dispatch_event): Declare only if USE_MOTIF or USE_X_TOOLKIT. - (xic_create_fontsetname): Declare only if HAVE_X_WINDOWS && - USE_X_TOOLKIT. - - * ftxfont.c: Make symbols static if they're not exported. - (ftxfont_driver): Export only if !defined HAVE_XFT && def8ined - HAVE_FREETYPE. - * font.h (ftxfont_driver): Likewise. - - * xfns.c: Make symbols static if they're not exported. - (x_last_font_name, x_display_info_for_name): - (x_set_foreground_color, x_set_background_color, x_set_mouse_color): - (x_set_cursor_color, x_set_border_pixel, x_set_border_color): - (x_set_cursor_type, x_set_icon_type, x_set_icon_name): - (x_set_scroll_bar_foreground, x_set_scroll_bar_background): - (x_explicitly_set_name, x_set_title, xic_defaut_fontset, tip_timer): - (last_show_tip_args): Now static. - (xic_defaut_fontset, xic_create_fontsetname): Define only if - defined HAVE_X_WINDOWS && defined USE_X_TOOLKIT - (x_screen_planes): Remove; unused. - * dispextern.h (x_screen_planes): Remove decl. - - * dispnew.c: Make symbols static if they're not exported. - * dispextern.h (redraw_garbaged_frames, scrolling): - (increment_row_positions): Remove. - * dispnew.c (new_glyph_matrix, increment_row_positions, scrolling): - (delayed_size_change, glyph_matrix_count, glyph_pool_count): - Now static. - (redraw_garbaged_frames): Remove; unused. - - * xfaces.c: Make symbols static if they're not exported. - * dispextern.h (ascii_face_of_lisp_face, free_realized_face): - Remove decls. - * xterm.h (defined_color): Remove decls. - (x_free_dpy_colors): Declare only if USE_X_TOOLKIT. - * xfaces.c (tty_suppress_bold_inverse_default_colors_p): - (menu_face_changed_default, defined_color, free_realized_face): - (x_free_dpy_colors): Define only if USE_X_TOOLKIT. - (ascii_face_of_lisp_face): Remove; unused. - - * xdisp.c: Make symbols static if they're not exported. - * dispextern.h (scratch_glyph_row, window_box_edges): - (glyph_to_pixel_coords, set_cursor_from_row): - (get_next_display_element, set_iterator_to_next): - (highlight_trailing_whitespace, frame_to_window_pixel_xy): - (show_mouse_face): Remove decls - * frame.h (message_buf_print): Likewise. - * lisp.h (pop_message, set_message, check_point_in_composition): - Likewise. - * xterm.h (set_vertical_scroll_bar): Likewise. - * xdisp.c (list_of_error, Vmessage_stack, line_number_displayed): - (message_buf_print, scratch_glyph_row, displayed_buffer): - (set_iterator_to_next, pop_message, set_message, set_cursor_from_row): - (get_next_display_element, show_mouse_face, window_box_edges): - (frame_to_window_pixel_xy, check_point_in_composition): - (set_vertical_scroll_bar, highlight_trailing_whitespace): Now static. - (glyph_to_pixel_coords): Remove; unused. - - * dired.c (file_name_completion): Now static. - - * dbusbind.c (xd_in_read_queued_messages): Now static. - - * lisp.h (circular_list_error, FOREACH): Remove; unused. - * data.c (circular_list_error): Remove. - - * commands.h (last_point_position, last_point_position_buffer): - (last_point_position_window): Remove decls. - * keyboard.c: Make these variables static. - - * coding.h (coding, code_convert_region, encode_coding_gap): - Remove decls. - * coding.c (Vsjis_coding_system, Vbig5_coding_system): - (iso_code_class, detect_coding, code_convert_region): Now static. - (encode_coding_gap): Remove; unused. - - * chartab.c (chartab_chars, chartab_bits): Now static. - - * charset.h (charset_iso_8859_1): Remove decl. - * charset.c (charset_iso_8859_1, charset_emacs, map_charset_for_dump): - Now static. - - * ccl.h (check_ccl_update, Vccl_program_table): Remove decls. - * ccl.c (Vccl_program_table): Now static. - (check_ccl_update): Remove; unused. - - * category.c (SET_CATEGORY_SET, set_category_set): Move here. - * category.h: ... from here. - * category.c (check_category_table, set_category_set): Now static. - - * casetab.c (Vascii_upcase_table, Vascii_eqv_table): Now static. - * lisp.h: Remove these decls. - - * buffer.c (buffer_count): Remove unused var. - - * bidi.c (bidi_dump_cached_states): Mark as externally visible, - so that it's not optimized away. - (bidi_ignore_explicit_marks_for_paragraph_level): Likewise. - * dispextern.h (bidi_dump_cached_states): Remove, since it's - exported only to the debugger. - - * atimer.c (alarm_signal_handler, run_all_atimers): Now static. - * atimer.h (run_all_atimers): Remove; not exported. - - font.c: Make copy_font_spec and merge_font_spec ordinary C functions. - * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it - was inaccessible from Lisp. - (merge_font_spec): Likewise, renaming from Fmerge_font_spec. - * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses. - - alloc.c: Import and export fewer symbols, and remove unused items. - * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING - is defined. - (suppress_checking): Add EXTERNALLY_VISIBLE attribute, so that - it's not optimized away by whole-program optimization. - (message_enable_multibyte, free_misc): Remove. - (catchlist, handlerlist, mark_backtrace): - Declare only if BYTE_MARK_STACK. - (mark_byte_stack): Likewise, fixing a ifdef-vs-if typo. - * alloc.c (pure): Export only if VIRT_ADDR_VARIES is defined. - (message_enable_multibyte): Remove decl. - (free_misc, interval_free_list, float_block, float_block_index): - (n_float_blocks, float_free_list, cons_block, cons_block_index): - (cons_free_list, last_marked_index): - Now static. - (suppress_checking, die): Define only if ENABLE_CHECKING is defined. - * eval.c (catchlist, handlerlist): Export only if BYTE_MARK_STACK. - (mark_backtrace): Define only if BYTE_MARK_STACK. - * xdisp.c (message_enable_multibyte): Now static. - - Declare Lisp_Object Q* variables to be 'static' if not exported. - This makes it easier for human readers (and static analyzers) - to see whether these variables are used from other modules. - * alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c: - * ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c: - * data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c: - * font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c: - * lread.c, macros.c, minibuf.c, print.c, process.c, search.c: - * sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c: - * xmenu.c, xselect.c: - Declare Q* vars static if they are not used in other modules. - * ccl.h, character.h, charset.h, coding.h, composite.h, font.h: - * frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h: - Remove decls of unexported vars. - * keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro. - - * lisp.h (DEFINE_FUNC): Make sname 'static'. - - Make Emacs functions such as Fatom 'static' by default. - This makes it easier for human readers (and static analyzers) - to see whether these functions can be called from other modules. - DEFUN now defines a static function. To make the function external - so that it can be used in other C modules, use the new macro DEFUE. - * lisp.h (Funibyte_char_to_multibyte, Fsyntax_table_p): - (Finit_image_library): - (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer): - (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute): - (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes): - Remove decls, since these functions are now static. - (Funintern, Fget_internal_run_time): New decls, since these functions - were already external. - - * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c: - * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c: - * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c: - * fns.c, font.c, fontset.c, frame.c, image.c, indent.c: - * keyboard.c, keymap.c, lread.c: - * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c: - * syntax.c, term.c, terminal.c, textprop.c, undo.c: - * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c: - Mark functions with DEFUE instead of DEFUN, - if they are used in other modules. - * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward - decls for now-static functions. - * buffer.h (Fdelete_overlay): Remove decl. - * callproc.c (Fgetenv_internal): Mark as internal. - * composite.c (Fremove_list_of_text_properties): Remove decl. - (Fcomposition_get_gstring): New forward static decl. - * composite.h (Fcomposite_get_gstring): Remove decl. - * dired.c (Ffile_attributes): New forward static decl. - * doc.c (Fdocumntation_property): New forward static decl. - * eval.c (Ffetch_bytecode): New forward static decl. - (Funintern): Remove extern decl; now in .h file where it belongs. - * fileio.c (Fmake_symbolic_link): New forward static decl. - * image.c (Finit_image_library): New forward static decl. - * insdel.c (Fcombine_after_change_execute): Make forward decl static. - * intervals.h (Fprevious_property_change): - (Fremove_list_of_text_properties): Remove decls. - * keyboard.c (Fthis_command_keys): Remove decl. - (Fcommand_execute): New forward static decl. - * keymap.c (Flookup_key): New forward static decl. - (Fcopy_keymap): Now static. - * keymap.h (Flookup_key): Remove decl. - * process.c (Fget_process): New forward static decl. - (Fprocess_datagram_address): Mark as internal. - * syntax.c (Fsyntax_table_p): New forward static decl. - (skip_chars): Remove duplicate decl. - * textprop.c (Fprevious_property_change): New forward static decl. - * window.c (Fset_window_fringes, Fset_window_scroll_bars): - Now internal. - (Fset_window_margins, Fset_window_vscroll): New forward static decls. - * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls. - - * editfns.c (Fformat): Remove unreachable code. - -2011-04-14 Andreas Schwab - - * fileio.c (Finsert_file_contents): Fix typo in 2005-05-13 - change. (Bug#8496) - -2011-04-13 Eli Zaretskii - - * xdisp.c (handle_invisible_prop): Don't call bidi_paragraph_init - when at ZV. (Bug#8487) - -2011-04-12 Andreas Schwab - - * charset.c (Fclear_charset_maps): Use xfree instead of free. - (Bug#8437) - * keyboard.c (parse_tool_bar_item): Likewise. - * sound.c (sound_cleanup, alsa_close): Likewise. - * termcap.c (tgetent): Likewise. - * xfns.c (x_default_font_parameter): Likewise. - * xsettings.c (read_and_apply_settings): Likewise. - - * alloc.c (overrun_check_malloc, overrun_check_realloc) - (overrun_check_free): Protoize. - -2011-04-12 Paul Eggert - - * sysdep.c (emacs_read, emacs_write): Check for negative sizes - since callers should never pass a negative size. - Change the signature to match that of plain 'read' and 'write'; see - . - * lisp.h: Update prototypes of emacs_write and emacs_read. - -2011-04-11 Eli Zaretskii - - * xdisp.c (redisplay_window): Don't try to determine the character - position of the scroll margin if the window start point w->startp - is outside the buffer's accessible region. (Bug#8468) - -2011-04-10 Eli Zaretskii - - Fix write-region and its subroutines for buffers > 2GB. - * fileio.c (a_write, e_write): Modify declaration of arguments and - local variables to support buffers larger than 2GB. - (Fcopy_file): Use EMACS_INT for return value of emacs_read. - - * sysdep.c (emacs_write, emacs_read): Use ssize_t for last - argument, local variables, and return value. - - * lisp.h: Update prototypes of emacs_write and emacs_read. - - * sound.c (vox_write): Use ssize_t for return value of emacs_write. - -2011-04-10 Paul Eggert - - * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack. - - Fix more problems found by GCC 4.6.0's static checks. - - * xdisp.c (vmessage): Use a better test for character truncation. - - * charset.c (load_charset_map): <, not <=, for optimization, - and to avoid potential problems with integer overflow. - * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise. - * casetab.c (set_identity, shuffle): Likewise. - * editfns.c (Fformat): Likewise. - * syntax.c (skip_chars): Likewise. - - * xmenu.c (set_frame_menubar): Allocate smaller local vectors. - This also lets GCC 4.6.0 generate slightly better loop code. - - * callint.c (Fcall_interactively): <, not <=, for optimization. - (Fcall_interactively): Count the number of arguments produced, - not the number of arguments given. This is simpler and lets GCC - 4.6.0 generate slightly better code. - - * ftfont.c: Distingish more carefully between FcChar8 and char. - The previous code passed unsigned char * to a functions like - strlen and xstrcasecmp that expect char *, which does not - conform to the C standard. - (get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for - arguments to FcPatternGetString, and explicitly cast FcChar8 * to - char * when the C standard requires it. - - * keyboard.c (read_char): Remove unused var. - - * eval.c: Port to Windows vsnprintf (Bug#8435). - Include . - (SIZE_MAX): Define if the headers do not. - (verror): Do not give up if vsnprintf returns a negative count. - Instead, grow the buffer. This ports to Windows vsnprintf, which - does not conform to C99. Problem reported by Eli Zaretskii. - Also, simplify the allocation scheme, by avoiding the need for - calling realloc, and removing the ALLOCATED variable. - - * eval.c (verror): Initial buffer size is 4000 (not 200) bytes. - - Remove invocations of doprnt, as Emacs now uses vsnprintf. - But keep the doprint source code for now, as we might revamp it - and use it again (Bug#8435). - * lisp.h (doprnt): Remove. - * Makefile.in (base_obj): Remove doprnt.o. - * deps.mk (doprnt.o): Remove. - - error: Print 32- and 64-bit integers portably (Bug#8435). - Without this change, on typical 64-bit hosts error ("...%d...", N) - was used to print both 32- and 64-bit integers N, which relied on - undefined behavior. - * lisp.h, m/amdx86-64.h, m/ia64.h, m/ibms390x.h (pEd): New macro. - * lisp.h (error, verror): Mark as printf-like functions. - * eval.c (verror): Use vsnprintf, not doprnt, to do the real work. - Report overflow in size calculations when allocating printf buffer. - Do not truncate output string at its first null byte. - * xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work. - Truncate the output at a character boundary, since vsnprintf does not - do that. - * charset.c (check_iso_charset_parameter): Convert internal - character to string before calling 'error', since %c now has the - printf meaning. - * coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int - overflow when computing char to be passed to 'error'. Do not - pass Lisp_Object to 'error'; pass the integer instead. - * nsfns.m (Fns_do_applescript): Use int, not long, since it's - formatted with plain %d. - - * eval.c (internal_lisp_condition_case): Don't pass spurious arg. - - * keyboard.c (access_keymap_keyremap): Print func name, not garbage. - - * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int. - - * xterm.c (x_catch_errors): Remove duplicate declaration. - - * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too. - - * xdisp.c, lisp.h (message_nolog): Remove; unused. - -2011-04-10 Jim Meyering - - use ssize_t and size_t for read- and write-like emacs_gnutls_* functions - * gnutls.c (emacs_gnutls_read): Adjust signature to be more read-like: - return ssize_t not "int", and use size_t as the buffer length. - (emacs_gnutls_write): Likewise, and make the buffer pointer "const". - * gnutls.h: Update declarations. - * process.c (read_process_output): Use ssize_t, to match. - (send_process): Likewise. - -2011-04-09 Chong Yidong - - * image.c (Fimagemagick_types): Doc fix, and comment cleanup. - -2011-04-09 Chong Yidong - - * ftfont.c (get_adstyle_property, ftfont_pattern_entity): - Use unsigned char, to match FcChar8 type definition. - - * xterm.c (handle_one_xevent): - * xmenu.c (create_and_show_popup_menu): - * xselect.c (x_decline_selection_request) - (x_reply_selection_request): Avoid type-punned deref of X events. - -2011-04-09 Eli Zaretskii - - Fix some uses of `int' instead of EMACS_INT. - * search.c (string_match_1, fast_string_match) - (fast_c_string_match_ignore_case, fast_string_match_ignore_case) - (scan_buffer, find_next_newline_no_quit) - (find_before_next_newline, search_command, Freplace_match) - (Fmatch_data): Make some `int' variables be EMACS_INT. - - * xdisp.c (display_count_lines): 3rd argument and return value now - EMACS_INT. All callers changed. - (pint2hrstr): Last argument is now EMACS_INT. - - * coding.c (detect_coding_utf_8, detect_coding_emacs_mule) - (detect_coding_iso_2022, detect_coding_sjis, detect_coding_big5) - (detect_coding_ccl, detect_coding_charset, decode_coding_utf_8) - (decode_coding_utf_16, decode_coding_emacs_mule) - (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) - (decode_coding_ccl, decode_coding_charset) - : Declare EMACS_INT. - (decode_coding_iso_2022, decode_coding_emacs_mule) - (decode_coding_sjis, decode_coding_big5, decode_coding_charset) - : Declare EMACS_INT. - (encode_coding_utf_8, encode_coding_utf_16) - (encode_coding_emacs_mule, encode_invocation_designation) - (encode_designation_at_bol, encode_coding_iso_2022) - (encode_coding_sjis, encode_coding_big5, encode_coding_ccl) - (encode_coding_raw_text, encode_coding_charset) : - Declare EMACS_INT. - (ASSURE_DESTINATION): Declare more_bytes EMACS_INT. - (encode_invocation_designation): Last argument P_NCHARS is now - EMACS_INT. - (decode_eol): Declare pos_byte, pos, and pos_end EMACS_INT. - (produce_chars): from_nchars and to_nchars are now EMACS_INT. - - * coding.h (struct coding_system) : Declare EMACS_INT. - All users changed. - - * ccl.c (Fccl_execute_on_string): Declare some variables - EMACS_INT. - -2011-04-08 Samuel Thibault (tiny change) - - * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450). - -2011-03-19 Christoph Scholtes - - * process.c (Fformat_network_address): Doc fix. - -2011-04-08 T.V. Raman (tiny change) - - * xml.c (parse_region): Avoid creating spurious whitespace nodes. - -2011-04-08 Chong Yidong - - * keyboard.c (read_char): Call Lisp function help-form-show, - instead of using internal_with_output_to_temp_buffer. - (Qhelp_form_show): New var. - (syms_of_keyboard): Use DEFSYM macro. - - * print.c (internal_with_output_to_temp_buffer): Function deleted. - - * lisp.h (internal_with_output_to_temp_buffer): Remove prototype. - -2011-04-06 Chong Yidong - - * process.c (Flist_processes): Remove to Lisp. - (list_processes_1): Delete. - -2011-04-06 Eli Zaretskii - - * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements. - - * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs. - -2011-04-06 Paul Eggert - - Fix more problems found by GCC 4.6.0's static checks. - - * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats. - - * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats. - - * lisp.h (message, message_nolog, fatal): Mark as printf-like. - - * xdisp.c (vmessage): Mark as a printf-like function. - - * term.c (vfatal, maybe_fatal): Mark as printf-like functions. - - * sound.c (sound_warning): Don't crash if arg contains a printf format. - - * image.c (tiff_error_handler, tiff_warning_handler): Mark as - printf-like functions. - (tiff_load): Add casts to remove these marks before passing them - to system-supplied API. - - * eval.c (Fsignal): Remove excess argument to 'fatal'. - - * coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int. - This avoids several warnings with gcc -Wstrict-overflow. - (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code - directly, rather than having caller test rule sign. This avoids - some unnecessary tests. - * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro. - (COMPOSITION_ENCODE_RULE): Arguments now must be valid. This - affects only one use, in DECODE_COMPOSITION_RULE, which is changed. - - * xfont.c (xfont_text_extents): Remove var that was set but not used. - (xfont_open): Avoid unnecessary tests. - - * composite.c (composition_gstring_put_cache): Use unsigned integer. - - * composite.h, composite.c (composition_gstring_put_cache): - Use EMACS_INT, not int, for length. - - * composite.h (COMPOSITION_DECODE_REFS): New macro, - breaking out part of COMPOSITION_DECODE_RULE. - (COMPOSITION_DECODE_RULE): Use it. - * composite.c (get_composition_id): Remove unused local vars, - by using the new macro. - - * textprop.c (set_text_properties_1): Change while to do-while, - since the condition is always true at first. - - * intervals.c (graft_intervals_into_buffer): Mark var as used. - (interval_deletion_adjustment): Return unsigned value. - All uses changed. - - * process.c (list_processes_1, create_pty, read_process_output): - (exec_sentinel): Remove vars that were set but not used. - (create_pty): Remove unnecessary "volatile"s. - (Fnetwork_interface_info): Avoid possibility of int overflow. - (read_process_output): Do adaptive read buffering even if carryover. - (read_process_output): Simplify nbytes computation if buffered. - - * bytecode.c (exec_byte_code): Rename local to avoid shadowing. - - * syntax.c (scan_words): Remove var that was set but not used. - (update_syntax_table): Use unsigned instead of int. - - * lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs. - (lisp_file_lexically_bound_p, read1): Use unsigned instead of int. - (safe_to_load_p): Make the end-of-loop test the inverse of the in-loop. - - * print.c (print_error_message): Avoid int overflow. - - * font.c (font_list_entities): Redo for clarity, - so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX. - - * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars. - (font_score): Avoid potential overflow in diff calculation. - - * fns.c (substring_both): Remove var that is set but not used. - (sxhash): Redo loop for clarity and to avoid wraparound warning. - - * eval.c (funcall_lambda): Rename local to avoid shadowing. - - * alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int. - Otherwise, GCC 4.6.0 optimizes the loop check away since the check - can always succeed if overflow has undefined behavior. - - * search.c (boyer_moore, wordify): Remove vars set but not used. - (wordify): Omit three unnecessary tests. - - * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column. - All callers changed. This avoids the need for an unused var. - - * casefiddle.c (casify_region): Remove var that is set but not used. - - * dired.c (file_name_completion): Remove var that is set but not used. - - * fileio.c (Finsert_file_contents): Make EOF condition clearer. - - * fileio.c (Finsert_file_contents): Avoid signed integer overflow. - (Finsert_file_contents): Remove unnecessary code checking fd. - - * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes. - Check for integer overflow on size calculations. - - * buffer.c (Fprevious_overlay_change): Remove var that is set - but not used. - - * keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt): - Remove vars that are set but not used. - (timer_check_2): Don't assume timer-list and idle-timer-list are lists. - (timer_check_2): Mark vars as initialized. - - * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized. - - * image.c (lookup_image): Remove var that is set but not used. - (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable. - - * fontset.c (Finternal_char_font, Ffontset_info): Remove vars - that are set but not used. - - * xfns.c (make_invisible_cursor): Don't return garbage - if XCreateBitmapFromData fails (Bug#8410). - - * xselect.c (x_get_local_selection, x_handle_property_notify): - Remove vars that are set but not used. - - * xfns.c (x_create_tip_frame): Remove var that is set but not used. - (make_invisible_cursor): Initialize a possibly-uninitialized variable. - - * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]: - Remove var that is set but not used. - (scroll_bar_windows_size): Now size_t, not int. - (x_send_scroll_bar_event): Use size_t, not int, for sizes. - Check for overflow. - - * xfaces.c (realize_named_face): Remove vars that are set but not used. - (map_tty_color) [!defined MSDOS]: Likewise. - - * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning. - - * coding.c: Remove vars that are set but not used. - (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused. - All callers changed. - (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule): - (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5): - (decode_coding_charset): Remove vars that are set but not used. - - * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var - that is set but not used. - - * print.c (print_object): Remove var that is set but not used. - - Replace 2 copies of readlink code with 1 gnulib version (Bug#8401). - The gnulib version avoids calling malloc in the usual case, - and on 64-bit hosts doesn't have some arbitrary 32-bit limits. - * fileio.c (Ffile_symlink_p): Use emacs_readlink. - * filelock.c (current_lock_owner): Likewise. - * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function. - * sysdep.c: Include allocator.h, careadlinkat.h. - (emacs_no_realloc_allocator): New static constant. - (emacs_readlink): New function. - * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on - ../lib/careadlinkat.h. - -2011-04-04 Stefan Monnier - - * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the - first non-nil return value). - -2011-04-03 Jan Djärv - - * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6 - if not defined (Bug#8403). - -2011-04-02 Juanma Barranquero - - * xdisp.c (display_count_lines): Remove parameter `start', - unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed. - (get_char_face_and_encoding): Remove parameter `multibyte_p', - unused since 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed. - (fill_stretch_glyph_string): Remove parameters `row' and `area', - unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk - and thereabouts. All callers changed. - (get_per_char_metric): Remove parameter `f', unused since - 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed. - -2011-04-02 Jim Meyering - - do not dereference NULL upon failed strdup - * nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup. - (ns_get_family): Likewise. - -2011-04-02 Juanma Barranquero - - * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment. - -2011-04-02 Jan Djärv - - * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or - later (Bug#8403). - -2011-04-01 Stefan Monnier - - Add lexical binding. - - * window.c (Ftemp_output_buffer_show): New fun. - (Fsave_window_excursion): - * print.c (Fwith_output_to_temp_buffer): Move to subr.el. - - * lread.c (lisp_file_lexically_bound_p): New function. - (Fload): Bind Qlexical_binding. - (readevalloop): Remove `evalfun' arg. - Bind Qinternal_interpreter_environment. - (Feval_buffer): Bind Qlexical_binding. - (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard): - Mark as dynamic. - (syms_of_lread): Declare `lexical-binding'. - - * lisp.h (struct Lisp_Symbol): New field `declared_special'. - - * keyboard.c (eval_dyn): New fun. - (menu_item_eval_property): Use it. - - * image.c (parse_image_spec): Use Ffunctionp. - - * fns.c (concat, mapcar1): Accept byte-code-functions. - - * eval.c (Fsetq): Handle lexical vars. - (Fdefun, Fdefmacro, Ffunction): Make closures when needed. - (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic. - (FletX, Flet): Obey lexical binding. - (Fcommandp): Handle closures. - (Feval): New `lexical' arg. - (eval_sub): New function extracted from Feval. Use it almost - everywhere where Feval was used. Look up vars in lexical env. - Handle closures. - (Ffunctionp): Move from subr.el. - (Ffuncall): Handle closures. - (apply_lambda): Remove `eval_flags'. - (funcall_lambda): Handle closures and new byte-code-functions. - (Fspecial_variable_p): New function. - (syms_of_eval): Initialize the Vinternal_interpreter_environment var, - but without exporting it to Lisp. - - * doc.c (Fdocumentation, store_function_docstring): - * data.c (Finteractive_form): Handle closures. - - * callint.c (Fcall_interactively): Preserve lexical-binding mode for - interactive spec. - - * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): - New byte-codes. - (exec_byte_code): New function extracted from Fbyte_code to handle new - calling convention for byte-code-functions. Add new byte-codes. - - * buffer.c (defvar_per_buffer): Set new `declared_special' field. - - * alloc.c (Fmake_symbol): Init new `declared_special' field. - -2011-03-31 Juanma Barranquero - - * xdisp.c (redisplay_internal): Fix prototype. - -2011-03-31 Eli Zaretskii - - * xdisp.c (SCROLL_LIMIT): New macro. - (try_scrolling): Use it when setting scroll_limit. - Limit scrolling to 100 screen lines. - (redisplay_window): Even when falling back on "recentering", - position point in the window according to scroll-conservatively, - scroll-margin, and scroll-*-aggressively variables. (Bug#6671) - - (try_scrolling): When point is above the window, allow searching - as far as scroll_max, or one screenful, to compute vertical - distance from PT to the scroll margin position. This prevents - try_scrolling from unnecessarily failing when - scroll-conservatively is set to a value slightly larger than the - window height. Clean up the case of PT below the margin at bottom - of window: scroll_max can no longer be INT_MAX. When aggressive - scrolling is in use, don't let point enter the opposite scroll - margin as result of the scroll. - (syms_of_xdisp) : Document the - threshold of 100 lines for never-recentering scrolling. - -2011-03-31 Juanma Barranquero - - * dispextern.h (move_it_by_lines): - * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused - since 2000-12-29T14:24:09Z!gerd@gnu.org. All callers changed. - (message_log_check_duplicate): Remove parameters `prev_bol' and - `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed. - (redisplay_internal): Remove parameter `preserve_echo_area', - unused since 1999-07-21T21:43:52Z!gerd@gnu.org. All callers changed. - - * indent.c (Fvertical_motion): - * window.c (window_scroll_pixel_based, Frecenter): - Don't pass `need_y_p' to `move_it_by_lines'. - -2011-03-30 Stefan Monnier - - * eval.c (struct backtrace): Don't cheat with negative numbers, but do - steal a few bits to be more compact. - (interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace): - Remove unneeded casts. - - * bytecode.c (Fbyte_code): CAR and CDR can GC. - -2011-03-30 Zachary Kanfer (tiny change) - - * keyboard.c (Fexecute_extended_command): Do log the "suggest key - binding" message (bug#7967). - -2011-03-30 Paul Eggert - - Fix more problems found by GCC 4.6.0's static checks. - - * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]: - Remove unused local var. - - * editfns.c (Fmessage_box): Remove unused local var. - - * xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs): - (note_mode_line_or_margin_highlight, note_mouse_highlight): - Omit unused local vars. - * window.c (shrink_windows): Omit unused local var. - * menu.c (digest_single_submenu): Omit unused local var. - * dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]: - Omit unused local var. - - * keyboard.c (parse_modifiers_uncached, parse_modifiers): - Don't assume string length fits in int. - (keyremap_step, read_key_sequence): Use size_t for sizes. - (read_key_sequence): Don't check last_real_key_start redundantly. - - * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA - instead of alloca (Bug#8344). - - * eval.c (Fbacktrace): Don't assume nargs fits in int. - (Fbacktrace_frame): Don't assume nframes fits in int. - - * syntax.c (scan_sexps_forward): Avoid pointer wraparound. - - * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow - concerns. - - * term.c (produce_glyphless_glyph): Remove unnecessary test. - - * cm.c (calccost): Turn while-do into do-while, for clarity. - - * keyboard.c (syms_of_keyboard): Use the same style as later - in this function when indexing through an array. This also - works around GCC bug 48267. - - * image.c (tiff_load): Fix off-by-one image count (Bug#8336). - - * xselect.c (x_check_property_data): Return correct size (Bug#8335). - - * chartab.c (sub_char_table_ref_and_range): Redo for slight - efficiency gain, and to bypass a gcc -Wstrict-overflow warning. - - * keyboard.c, keyboard.h (num_input_events): Now size_t. - This avoids undefined behavior on integer overflow, and is a bit - more convenient anyway since it is compared to a size_t variable. - - Variadic C functions now count arguments with size_t, not int. - This avoids an unnecessary limitation on 64-bit machines, which - caused (substring ...) to crash on large vectors (Bug#8344). - * lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int. - (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise. - All variadic functions and their callers changed accordingly. - (struct gcpro.nvars): Now size_t, not int. All uses changed. - * data.c (arith_driver, float_arith_driver): Likewise. - * editfns.c (general_insert_function): Likewise. - * eval.c (struct backtrace.nargs, interactive_p) - (internal_condition_case_n, run_hook_with_args, apply_lambda) - (funcall_lambda, mark_backtrace): Likewise. - * fns.c (concat): Likewise. - * frame.c (x_set_frame_parameters): Likewise. - * fns.c (get_key_arg): Now accepts and returns size_t, and returns - 0 if not found, not -1. All callers changed. - - * alloc.c (garbage_collect): Don't assume stack size fits in int. - (stack_copy_size): Now size_t, not int. - (stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0. - -2011-03-28 Juanma Barranquero - - * coding.c (encode_designation_at_bol): Remove parameter `charbuf_end', - unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org. - All callers changed. - - * lisp.h (multibyte_char_to_unibyte): - * character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl', - unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org. - * character.h (CHAR_TO_BYTE8): - * cmds.c (internal_self_insert): - * editfns.c (general_insert_function): - * keymap.c (push_key_description): - * search.c (Freplace_match): - * xdisp.c (message_dolog, set_message_1): All callers changed. - -2011-03-28 Stefan Monnier - - * keyboard.c (safe_run_hook_funcall): New function. - (safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error, - don't set the hook to nil, but remove the offending function instead. - (Qcommand_hook_internal): Remove, unused. - (syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define - Vcommand_hook_internal. - - * eval.c (enum run_hooks_condition): Remove. - (funcall_nil, funcall_not): New functions. - (run_hook_with_args): Call each function through a `funcall' argument. - Remove `cond' argument, now redundant. - (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success) - (Frun_hook_with_args_until_failure): Adjust accordingly. - (run_hook_wrapped_funcall, Frun_hook_wrapped): New functions. - -2011-03-28 Juanma Barranquero - - * dispextern.h (string_buffer_position): Remove declaration. - - * print.c (strout): Remove parameter `multibyte', unused since - 1999-08-21T19:30:21Z!gerd@gnu.org. All callers changed. - - * search.c (boyer_moore): Remove parameters `len', `pos' and `lim', - never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org. - All callers changed. - - * w32.c (_wsa_errlist): Use braces for struct initializers. - - * xdisp.c (string_buffer_position_lim): Remove parameter `w', - never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org. - All callers changed. - (string_buffer_position): Likewise. Also, make static (it's never - used outside xdisp.c). - (cursor_row_p): Remove parameter `w', unused since - 2000-10-17T16:08:57Z!gerd@gnu.org. All callers changed. - (decode_mode_spec): Remove parameter `precision', introduced during - Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used. - All callers changed. - -2011-03-27 Jan Djärv - - * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar. - -2011-03-27 Anders Lindgren - - * nsterm.m (ns_menu_bar_is_hidden): New variable. - (ns_constrain_all_frames, ns_menu_bar_should_be_hidden) - (ns_update_auto_hide_menu_bar): New functions. - (ns_update_begin): Call ns_update_auto_hide_menu_bar. - (applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and - ns_constrain_all_frames. - (constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden. - (syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil. - -2011-03-27 Jan Djärv - - * nsmenu.m (runDialogAt): Remove argument to timer_check. - -2011-03-27 Glenn Morris - - * syssignal.h: Replace RETSIGTYPE with void. - * atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c: - * keyboard.h, lisp.h, process.c, sysdep.c, xterm.c: - Replace SIGTYPE with void everywhere. - * s/usg5-4-common.h (SIGTYPE): Remove definition. - * s/template.h (SIGTYPE): Remove commented out definition. - -2011-03-26 Eli Zaretskii - - * xdisp.c (redisplay_window): Don't check buffer's clip_changed - flag as a prerequisite for invoking try_scrolling. (Bug#6671) - -2011-03-26 Juanma Barranquero - - * w32.c (read_unc_volume): Use parameter `henum', instead of - global variable `wget_enum_handle'. - - * keymap.c (describe_vector): Remove parameters `indices' and - `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org. - (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'. - - * keyboard.h (timer_check, show_help_echo): Remove unused parameters. - - * keyboard.c (timer_check): Remove parameter `do_it_now', - unused since 1996-04-12T06:01:29Z!rms@gnu.org. - (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo', - unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca. - - * keyboard.c (read_char): - * w32menu.c (w32_menu_display_help): - * xmenu.c (show_help_event, menu_help_callback): - Adjust calls to `show_help_echo'. - - * gtkutil.c (xg_maybe_add_timer): - * keyboard.c (readable_events): - * process.c (wait_reading_process_output): - * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'. - - * insdel.c (adjust_markers_gap_motion): - Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org. - (gap_left, gap_right): Don't call it. - -2011-03-25 Chong Yidong - - * xdisp.c (handle_fontified_prop): Discard changes to clip_changed - incurred during fontification. - -2011-03-25 Juanma Barranquero - - * buffer.c (defvar_per_buffer): Remove unused parameter `doc'. - (DEFVAR_PER_BUFFER): Don't pass it. - - * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'. - (scrolling_window): Don't pass it. - -2011-03-25 Juanma Barranquero - - * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef. - - * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len' - and `suffix'. - (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration - of variables specific to SELinux and computation of `encoded_absname'. - - * image.c (XPutPixel): Remove unused variable `height'. - - * keyboard.c (make_lispy_event): Remove unused variable `hpos'. - - * unexw32.c (get_section_info): Remove unused variable `section'. - - * w32.c (stat): Remove unused variables `drive_root' and `devtype'. - (system_process_attributes): Remove unused variable `sess'. - (sys_read): Remove unused variable `err'. - - * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef. - (w32_wnd_proc): Remove unused variable `isdead'. - (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef. - (Fx_server_max_request_size): Remove unused variable `dpyinfo'. - (x_create_tip_frame): Remove unused variable `tem'. - - * w32inevt.c (w32_console_read_socket): - Remove unused variable `no_events'. - - * w32term.c (x_draw_composite_glyph_string_foreground): - Remove unused variable `width'. - -2011-03-24 Juanma Barranquero - - * w32term.c (x_set_glyph_string_clipping): - Don't pass uninitialized region to CombineRgn. - -2011-03-23 Juanma Barranquero - - * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'. - (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer. - (Fx_close_connection): Remove unused variable `i'. - - * w32font.c (w32font_draw): Return number of glyphs. - (w32font_open_internal): Remove unused variable `i'. - (w32font_driver): Add missing initializer. - - * w32menu.c (utf8to16): Remove unused variable `utf16'. - (fill_in_menu): Remove unused variable `items_added'. - - * w32term.c (last_mouse_press_frame): Remove static global variable. - (w32_clip_to_row): Remove unused variable `f'. - (x_delete_terminal): Remove unused variable `i'. - - * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'. - (NOTHING): Remove unused static global variable. - (uniscribe_check_otf): Remove unused variable `table'. - (uniscribe_font_driver): Add missing initializers. - -2011-03-23 Julien Danjou - - * term.c (Fsuspend_tty, Fresume_tty): - * minibuf.c (read_minibuf, run_exit_minibuf_hook): - * window.c (temp_output_buffer_show): - * insdel.c (signal_before_change): - * frame.c (Fhandle_switch_frame): - * fileio.c (Fdo_auto_save): - * emacs.c (Fkill_emacs): - * editfns.c (save_excursion_restore): - * cmds.c (internal_self_insert): - * callint.c (Fcall_interactively): - * buffer.c (Fkill_all_local_variables): - * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1): - Use Frun_hooks. - (command_loop_1): Use Frun_hooks. Call safe_run_hooks - unconditionally since it does the check itself. - -2011-03-23 Paul Eggert - - Fix more problems found by GCC 4.5.2's static checks. - - * coding.c (encode_coding_raw_text): Avoid unnecessary test - the first time through the loop, since we know p0 < p1 then. - This also avoids a gcc -Wstrict-overflow warning. - - * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow - leading to a memory leak, possible in functions like - load_charset_map_from_file that can allocate an unbounded number - of objects (Bug#8318). - - * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes - that could (at least in theory) be that large. - - * xdisp.c (message_log_check_duplicate): Return unsigned long, not int. - This is less likely to overflow, and avoids undefined behavior if - overflow does occur. All callers changed. Use strtoul to scan - for the unsigned long integer. - (pint2hrstr): Simplify and tune code slightly. - This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow. - - * scroll.c (do_scrolling): Work around GCC bug 48228. - See . - - * frame.c (Fmodify_frame_parameters): Simplify loop counter. - This also avoids a warning with gcc -Wstrict-overflow. - (validate_x_resource_name): Simplify count usage. - This also avoids a warning with gcc -Wstrict-overflow. - - * fileio.c (Fcopy_file): Report error if fchown or fchmod - fail (Bug#8306). - - * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303). - - * process.c (Fmake_network_process): Use socklen_t, not int, - where POSIX says socklen_t is required in portable programs. - This fixes a porting bug on hosts like 64-bit HP-UX, where - socklen_t is wider than int (Bug#8277). - (Fmake_network_process, server_accept_connection): - (wait_reading_process_output, read_process_output): - Likewise. - - * process.c: Rename or move locals to avoid shadowing. - (list_processes_1, Fmake_network_process): - (read_process_output_error_handler, exec_sentinel_error_handler): - Rename or move locals. - (Fmake_network_process): Define label "retry_connect" only if needed. - (Fnetwork_interface_info): Fix pointer signedness. - (process_send_signal): Add cast to avoid pointer signedness problem. - (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros. - (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298). - - Make tparam.h and terminfo.c consistent. - * cm.c (tputs, tgoto, BC, UP): Remove extern decls. - Include tparam.h instead, since it declares them. - * cm.h (PC): Remove extern decl; tparam.h now does this. - * deps.mk (cm.o, terminfo.o): Depend on tparam.h. - * terminfo.c: Include tparam.h, to check interfaces. - (tparm): Make 1st arg a const pointer in decl. Put it at top level. - (tparam): Adjust signature to match interface in tparam.h; - this removes some undefined behavior. Check that outstring and len - are zero, which they always are with Emacs. - * tparam.h (PC, BC, UP): New extern decls. - - * xftfont.c (xftfont_shape): Now static, and defined only if needed. - (xftfont_open): Rename locals to avoid shadowing. - - * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness. - (ftfont_otf_capability, ftfont_shape): Omit decls if not needed. - (OTF_TAG_SYM): Omit macro if not needed. - (ftfont_list): Remove unused local. - (get_adstyle_property, ftfont_pattern_entity): - (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point): - Rename locals to avoid shadowing. - - * xfont.c (xfont_list_family): Mark var as initialized. - - * xml.c (make_dom): Now static. - - * composite.c (composition_compute_stop_pos): Rename local to - avoid shadowing. - (composition_reseat_it): Remove unused locals. - (find_automatic_composition, composition_adjust_point): Likewise. - (composition_update_it): Mark var as initialized. - (find_automatic_composition): Mark vars as initialized, - with a FIXME (Bug#8290). - - character.h: Rename locals to avoid shadowing. - * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE): - (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE): - (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS): - (BUF_DEC_POS): Be more systematic about renaming local temporaries - to avoid shadowing. - - * textprop.c (property_change_between_p): Remove; unused. - - * intervals.c (interval_start_pos): Now static. - - * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else". - - * atimer.c (start_atimer, append_atimer_lists, set_alarm): - Rename locals to avoid shadowing. - - * sound.c (wav_play, au_play, Fplay_sound_internal): - Fix pointer signedness. - (alsa_choose_format): Remove unused local var. - (wav_play): Initialize a variable to 0, to prevent undefined - behavior (Bug#8278). - - * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing. - - * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes. - - * callproc.c (Fcall_process): Use 'volatile' to avoid vfork - clobbering (Bug#8298). - * sysdep.c (sys_subshell): Likewise. - Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out. - - * lisp.h (child_setup): Now NO_RETURN unless DOS_NT. - This should get cleaned up, so that child_setup has the - same signature on all platforms. - - * callproc.c (call_process_cleanup): Now static. - (relocate_fd): Rename locals to avoid shadowing. - -2011-03-22 Chong Yidong - - * xterm.c (x_clear_frame): Remove XClearWindow call. This appears - not to be necessary, and produces flickering. - -2011-03-20 Glenn Morris - - * config.in: Remove file. - -2011-03-20 Juanma Barranquero - - * minibuf.c (Vcompleting_read_function): Don't declare, global variables - are now in src/globals.h. - (syms_of_minibuf): Remove spurious & from previous change. - -2011-03-20 Leo Liu - - * minibuf.c (completing-read-function): New variable. - (completing-read-default): Rename from completing-read. - (completing-read): Call completing-read-function. - -2011-03-19 Juanma Barranquero - - * xfaces.c (Fx_load_color_file): - Read color file from absolute filename (bug#8250). - -2011-03-19 Juanma Barranquero - - * makefile.w32-in: Update dependencies. - -2011-03-17 Eli Zaretskii - - * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h. - -2011-03-17 Paul Eggert - - Fix more problems found by GCC 4.5.2's static checks. - - * process.c (make_serial_process_unwind, send_process_trap): - (sigchld_handler): Now static. - - * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars. - That way, the code declares only the vars that it needs. - * s/aix4-2.h (PTY_ITERATION): Declare iteration vars. - * s/cygwin.h (PTY_ITERATION): Likewise. - * s/darwin.h (PTY_ITERATION): Likewise. - * s/gnu-linux.h (PTY_ITERATION): Likewise. - - * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling. - * process.c (allocate_pty): Don't declare stb unless it's needed. - - * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else". - (CONSTANTLIM): Remove; unused. - (METER_CODE, Bscan_buffer, Bread_char, Bset_mark): - Define only if needed. - - * unexelf.c (unexec): Name an expression, - to avoid gcc -Wbad-function-cast warning. - Use a different way to cause a compilation error if anyone uses - n rather than nn, a way that does not involve shadowing. - (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused. - - * deps.mk (unexalpha.o): Remove; unused. - - New file unexec.h, the (simple) interface for unexec (Bug#8267). - * unexec.h: New file. - * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o): - (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o): - Depend on unexec.h. - * emacs.c [!defined CANNOT_DUMP]: Include unexec.h. - * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c: - * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h. - Change as necessary to match prototype in unexec.h. - - * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid - shadowing. - (back_comment, skip_chars): Mark vars as initialized. - - * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS): - Rename locals to avoid shadowing. - - * lread.c (read1): Rewrite so as not to use empty "else". - (Fload, readevalloop, read1): Rename locals to avoid shadowing. - - * print.c (Fredirect_debugging_output): Fix pointer signedess. - - * lisp.h (debug_output_compilation_hack): Add decl here, to avoid - warning when compiling print.c. - - * font.c (font_unparse_fcname): Abort in an "impossible" situation - instead of using an uninitialized var. - (font_sort_entities): Mark var as initialized. - - * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing. - - * font.c (font_unparse_xlfd): Don't mix pointers to variables with - pointers to constants. - (font_parse_fcname): Remove unused vars. - (font_delete_unmatched): Now static. - (font_get_spec): Remove; unused. - (font_style_to_value, font_prop_validate_style, font_unparse_fcname): - (font_update_drivers, Ffont_get_glyphs, font_add_log): - Rename or move locals to avoid shadowing. - - * fns.c (require_nesting_list, require_unwind): Now static. - (Ffillarray): Rename locals to avoid shadowing. - - * floatfns.c (domain_error2): Define only if needed. - (Ffrexp, Fldexp): Rename locals to avoid shadowing. - - * alloc.c (mark_backtrace): Move decl from here ... - * lisp.h: ... to here, so that it can be checked. - - * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static. - (Fdefvar): Rewrite so as not to use empty "else". - (lisp_indirect_variable): Name an expression, - to avoid gcc -Wbad-function-cast warning. - (Fdefvar): Rename locals to avoid shadowing. - - * callint.c (quotify_arg, quotify_args): Now static. - (Fcall_interactively): Rename locals to avoid shadowing. - Use const pointer when appropriate. - - * lisp.h (get_system_name, get_operating_system_release): - Move decls here, to check interfaces. - * process.c (get_operating_system_release): Move decl to lisp.h. - * xrdb.c (get_system_name): Likewise. - * editfns.c (init_editfns, Fuser_login_name, Fuser_uid): - (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts, - some of which prompt warnings from gcc -Wbad-function-cast. - (Fformat_time_string, Fencode_time, Finsert_char): - (Ftranslate_region_internal, Fformat): - Rename or remove local vars to avoid shadowing. - (Ftranslate_region_internal): Mark var as initialized. - - * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to - avoid shadowing. - - * lisp.h (eassert): Check that the argument compiles, even if - ENABLE_CHECKING is not defined. - - * data.c (Findirect_variable): Name an expression, to avoid - gcc -Wbad-function-cast warning. - (default_value, arithcompare, arith_driver, arith_error): Now static. - (store_symval_forwarding): Rename local to avoid shadowing. - (Fmake_variable_buffer_local, Fmake_local_variable): - Mark variables as initialized. - (do_blv_forwarding, do_symval_forwarding): Remove; unused. - - * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST. - (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect): - Rename locals to avoid shadowing. - (mark_stack): Move local variables into the #ifdef region where - they're used. - (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if - ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not - needed otherwise. - (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS. - (GC_STRING_CHARS): Remove; not used. - (Fmemory_limit): Cast sbrk's returned value to char *. - - * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this - avoids undefined behavior in theory. - - * regex.c (IF_LINT): Add defn, for benefit of ../lib-src. - - Use functions, not macros, for up- and down-casing (Bug#8254). - * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP): - (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove. All callers changed - to use the following functions instead of these macros. - (downcase): Adjust to lack of DOWNCASE_TABLE. Return int, not - EMACS_INT, since callers assume the returned value fits in int. - (upcase1): Likewise, for UPCASE_TABLE. - (uppercasep, lowercasep, upcase): New static inline functions. - * editfns.c (Fchar_equal): Remove no-longer-needed workaround for - the race-condition problem in the old DOWNCASE. - - * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT): - Rename locals to avoid shadowing. - (regex_compile, re_match_2_internal): Move locals to avoid shadowing. - (regex_compile, re_search_2, re_match_2_internal): - Remove unused local vars. - (FREE_VAR): Rewrite so as not to use empty "else", - which gcc can warn about. - (regex_compile, re_match_2_internal): Mark locals as initialized. - (RETALLOC_IF): Define only if needed. - (WORDCHAR_P): Likewise. This one is never needed, but is used - only in a comment talking about a compiler bug, so put inside - the #if 0 of that comment. - (CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK): - (PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING): - Remove; unused. - - * search.c (boyer_moore): Rename locals to avoid shadowing. - * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): - (PREV_CHAR_BOUNDARY): Likewise. - - * search.c (simple_search): Remove unused var. - - * dired.c (compile_pattern): Move decl from here ... - * lisp.h: ... to here, so that it can be checked. - (struct re_registers): New forward decl. - - * character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing. - - * indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width. - All uses changed. - (MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion): - Rename locals to avoid shadowing. - (Fvertical_motion): Mark locals as initialized. - - * casefiddle.c (casify_object, casify_region): Now static. - (casify_region): Mark local as initialized. - - * cmds.c (internal_self_insert): Rename local to avoid shadowing. - - * lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR): - New macros, so that the caller can use some names other than - gcpro1, gcpro2, etc. - (GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms - of the new macros. - (GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second - argument, for consistency with GCPRO2_VAR, etc: it is now the - prefix of the variable, not the variable itself. All uses - changed. - * dired.c (directory_files_internal, file_name_completion): - Rename locals to avoid shadowing. - - Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254). - An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in - dired.c's scmp function, had undefined behavior. - * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP): - (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ... - * buffer.h: ... to here, because these macros use current_buffer, - and the new implementation with inline functions needs to have - current_buffer in scope now, rather than later when the macros - are used. - (downcase, upcase1): New static inline functions. - (DOWNCASE, UPCASE1): Reimplement using these functions. - This avoids undefined behavior in expressions like - DOWNCASE (x) == DOWNCASE (y), which previously suffered - from race conditions in accessing the global variables - case_temp1 and case_temp2. - * casetab.c (case_temp1, case_temp2): Remove; no longer needed. - * lisp.h (case_temp1, case_temp2): Remove their decls. - * character.h (ASCII_CHAR_P): Move from here ... - * lisp.h: ... to here, so that the inline functions mentioned - above can use them. - - * dired.c (directory_files_internal_unwind): Now static. - - * fileio.c (file_name_as_directory, directory_file_name): - (barf_or_query_if_file_exists, auto_save_error, auto_save_1): - Now static. - (file_name_as_directory): Use const pointers when appropriate. - (Fexpand_file_name): Likewise. In particular, newdir might - point at constant storage, so make it a const pointer. - (Fmake_directory_internal, Fread_file_name): Remove unused vars. - (Ffile_selinux_context, Fset_file_selinux_context): Fix pointer - signedness issues. - (Fset_file_times, Finsert_file_contents, auto_save_error): - Rename locals to avoid shadowing. - - * minibuf.c (choose_minibuf_frame_1): Now static. - (Ftry_completion, Fall_completions): Rename or remove locals - to avoid shadowing. - - * marker.c (bytepos_to_charpos): Remove; unused. - - * lisp.h (verify_bytepos, count_markers): New decls, - so that gcc does not warn that these functions aren't declared. - - * insdel.c (check_markers, make_gap_larger, make_gap_smaller): - (reset_var_on_error, Fcombine_after_change_execute_1): Now static. - (CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic. - (copy_text): Remove unused local var. - - * filelock.c (within_one_second): Now static. - (lock_file_1): Rename local to avoid shadowing. - - * buffer.c (fix_overlays_before): Mark locals as initialized. - (fix_start_end_in_overlays): Likewise. This function should be - simplified by using pointers-to-pointers, but that's a different - matter. - (switch_to_buffer_1): Now static. - (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte): - (report_overlay_modification): Rename locals to avoid shadowing. - - * sysdep.c (system_process_attributes): Rename vars to avoid shadowing. - Fix pointer signedness issue. - (sys_subshell): Mark local as volatile if checking for lint, - to suppress a gcc -Wclobbered warning that does not seem to be right. - (MAXPATHLEN): Define only if needed. - - * process.c (serial_open, serial_configure): Move decls from here ... - * systty.h: ... to here, so that they can be checked. - - * fns.c (get_random, seed_random): Move extern decls from here ... - * lisp.h: ... to here, so that they can be checked. - - * sysdep.c (reset_io): Now static. - (wait_for_termination_signal): Remove; unused. - - * keymap.c (keymap_parent, keymap_memberp, map_keymap_internal): - (copy_keymap_item, append_key, push_text_char_description): - Now static. - (Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily. - (DENSE_TABLE_SIZE): Remove; unused. - (get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal): - (describe_map_tree): - Rename locals to avoid shadowing. - - * keyboard.c: Declare functions static if they are not used elsewhere. - (echo_char, echo_dash, cmd_error, top_level_2): - (poll_for_input, handle_async_input): Now static. - (read_char, kbd_buffer_get_event, make_lispy_position): - (make_lispy_event, make_lispy_movement, apply_modifiers): - (decode_keyboard_code, tty_read_avail_input, menu_bar_items): - (parse_tool_bar_item, read_key_sequence, Fread_key_sequence): - (Fread_key_sequence_vector): Rename locals to avoid shadowing. - (read_key_sequence, read_char): Mark locals as initialized. - (Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN. - - * keyboard.h (make_ctrl_char): New decl. - (mark_kboards): Move decl here ... - * alloc.c (mark_kboards): ... from here. - - * lisp.h (force_auto_save_soon): New decl. - - * emacs.c (init_cmdargs): Rename local to avoid shadowing. - (DEFINE_DUMMY_FUNCTION): New macro. - (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main): - Use it. - (main): Add casts to avoid warnings - if GCC considers string literals to be constants. - - * lisp.h (fatal_error_signal): Add decl, since it's exported. - - * dbusbind.c: Pointer signedness fixes. - (xd_signature, xd_append_arg, xd_initialize): - (Fdbus_call_method, Fdbus_call_method_asynchronously): - (Fdbus_method_return_internal, Fdbus_method_error_internal): - (Fdbus_send_signal, xd_read_message_1, Fdbus_register_service): - (Fdbus_register_signal): Use SSDATA when the context wants char *. - - * dbusbind.c (Fdbus_init_bus): Add cast to avoid warning - if GCC considers string literals to be constants. - (Fdbus_register_service, Fdbus_register_method): Remove unused vars. - -2011-03-16 Stefan Monnier - - * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro. - (print_preprocess, print_object): New macro to fix last change. - - * print.c (print_preprocess): Don't forget font objects. - -2011-03-16 Juanma Barranquero - - * emacs.c (USAGE3): Doc fixes. - -2011-03-15 Andreas Schwab - - * coding.c (detect_coding_iso_2022): Reorganize code to clarify - structure. - -2011-03-14 Juanma Barranquero - - * lisp.h (VWindow_system, Qfile_name_history): - * keyboard.h (lispy_function_keys) [WINDOWSNT]: - * w32term.h (w32_system_caret_hwnd, w32_system_caret_height) - (w32_system_caret_x, w32_system_caret_y): Declare extern. - - * w32select.c: Don't #include "keyboard.h". - (run_protected): Add extern declaration for waiting_for_input. - - * w32.c (Qlocal, noninteractive1, inhibit_window_system): - * w32console.c (detect_input_pending, read_input_pending) - (encode_terminal_code): - * w32fns.c (quit_char, lispy_function_keys, Qtooltip) - (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x) - (w32_system_caret_y, Qfile_name_history): - * w32font.c (w32font_driver, QCantialias, QCotf, QClang): - * w32inevt.c (reinvoke_input_signal, lispy_function_keys): - * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map) - (Qoverriding_terminal_local_map, Qmenu_bar_update_hook): - * w32proc.c (Qlocal, report_file_error): - * w32term.c (Vwindow_system, updating_frame): - * w32uniscribe.c (initialized, uniscribe_font_driver): - Remove unneeded extern declarations. - -2011-03-14 Chong Yidong - - * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions. - -2011-03-13 Chong Yidong - - * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT) - (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219). - These macros can no longer be used for assignment. - - * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): - Assign struct members directly, instead of using BUF_BEGV etc. - (record_buffer_markers, fetch_buffer_markers): New functions for - recording and fetching special buffer markers. - (set_buffer_internal_1, set_buffer_temp): Use them. - - * lread.c (unreadchar): Use SET_BUF_PT_BOTH. - - * insdel.c (adjust_point): Use SET_BUF_PT_BOTH. - - * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH. - (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH. - - * xdisp.c (hscroll_window_tree): - (reconsider_clip_changes): Use PT instead of BUF_PT. - -2011-03-13 Eli Zaretskii - - * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on - $(EMACS_ROOT)/lib/intprops.h. - -2011-03-13 Paul Eggert - - Fix more problems found by GCC 4.5.2's static checks. - - * gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char * - to unsigned char * to avoid compiler diagnostic. - (xg_free_frame_widgets): Make it clear that a local variable is - needed only if USE_GTK_TOOLTIP. - (gdk_window_get_screen): Make it clear that this macro is needed - only if USE_GTK_TOOLTIP. - (int_gtk_range_get_value): New function, which avoids a diagnostic - from gcc -Wbad-function-cast. - (xg_set_toolkit_scroll_bar_thumb): Use it. - (xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid - diagnostic from gcc -Wbad-function-cast. - (get_utf8_string, xg_get_file_with_chooser): - Rename locals to avoid shadowing. - (create_dialog): Move locals to avoid shadowing. - - * xgselect.c (xg_select): Remove unused var. - - * image.c (four_corners_best): Mark locals as initialized. - (gif_load): Initialize transparent_p to zero (Bug#8238). - Mark another local as initialized. - (my_png_error, my_error_exit): Mark with NO_RETURN. - - * image.c (clear_image_cache): Now static. - (DIM, HAVE_STDLIB_H_1): Remove unused macros. - (xpm_load): Redo to avoid "discards qualifiers" gcc warning. - (x_edge_detection): Remove unnecessary cast that - gcc -Wbad-function-cast diagnoses. - (gif_load): Fix pointer signedness. - (clear_image_cache, xbm_read_bitmap_data, x_detect_edges): - (jpeg_load, gif_load): Rename locals to avoid shadowing. - -2011-03-12 Paul Eggert - - Improve quality of tests for time stamp overflow. - For example, without this patch (encode-time 0 0 0 1 1 - 1152921504606846976) returns the obviously-bogus value (-948597 - 62170) on my RHEL 5.5 x86-64 host. With the patch, it correctly - reports time overflow. See - . - * deps.mk (editfns.o): Depend on ../lib/intprops.h. - * editfns.c: Include limits.h and intprops.h. - (TIME_T_MIN, TIME_T_MAX): New macros. - (time_overflow): Move earlier, to before first use. - (hi_time, lo_time): New functions, for an accurate test for - out-of-range times. - (Fcurrent_time, Fget_internal_run_time, make_time): Use them. - (Fget_internal_run_time): Don't assume time_t fits in int. - (make_time): Use list2 instead of Fcons twice. - (Fdecode_time): More accurate test for out-of-range times. - (check_tm_member): New function. - (Fencode_time): Use it, to test for out-of-range times. - (lisp_time_argument): Don't rely on undefined left-shift and - right-shift behavior when checking for time stamp overflow. - - * editfns.c (time_overflow): New function, refactoring common code. - (Fformat_time_string, Fdecode_time, Fencode_time): - (Fcurrent_time_string): Use it. - - Move 'make_time' to be next to its inverse 'lisp_time_argument'. - * dired.c (make_time): Move to ... - * editfns.c (make_time): ... here. - * systime.h: Note the move. - -2011-03-12 YAMAMOTO Mitsuharu - - * fringe.c (update_window_fringes): Remove unused variables. - - * unexmacosx.c (copy_data_segment): Also copy __got section. - (Bug#8223) - -2011-03-12 Eli Zaretskii - - * termcap.c [MSDOS]: Include "msdos.h". - (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent): - Constify `char *' arguments and their references according to - prototypes in tparam.h. - - * deps.mk (termcap.o): Depend on tparam.h and msdos.h. - - * msdos.c (XMenuAddPane): 3rd argument is `const char *' now. - Adapt all references accordingly. - - * msdos.h (XMenuAddPane): 3rd argument is `const char *' now. - -2011-03-11 Tom Tromey - - * buffer.c (syms_of_buffer): Remove obsolete comment. - -2011-03-11 Eli Zaretskii - - * termhooks.h (encode_terminal_code): Declare prototype. - - * msdos.c (encode_terminal_code): Don't declare prototype. - - * term.c (encode_terminal_code): Now external again, used by - w32console.c and msdos.c. - - * makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)): - Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu. - -2011-03-11 Paul Eggert - - Fix some minor problems found by GCC 4.5.2's static checks. - - * fringe.c (update_window_fringes): Mark locals as initialized - (Bug#8227). - (destroy_fringe_bitmap, init_fringe_bitmap): Now static. - - * alloc.c (mark_fringe_data): Move decl from here ... - * lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here, - to check its interface. - (init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM. - - * fontset.c (free_realized_fontset): Now static. - (Fset_fontset_font): Rename local to avoid shadowing. - (fontset_font): Mark local as initialized. - (FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused. - - * xrdb.c: Include "xterm.h", to check x_load_resources's interface. - - * xselect.c (x_disown_buffer_selections): Remove; not used. - (TRACE3) [!defined TRACE_SELECTION]: Remove; not used. - (x_own_selection, Fx_disown_selection_internal): Rename locals - to avoid shadowing. - (x_handle_dnd_message): Remove local to avoid shadowing. - - * lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros, - so that the caller can use some name other than gcpro1. - (GCPRO1, UNGCPRO): Reimplement in terms of the new macros. - * xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip): - (Fx_backspace_delete_keys_p): - Use them to avoid shadowing, and rename vars to avoid shadowing. - (x_decode_color, x_set_name, x_window): Now static. - (Fx_create_frame): Add braces to silence GCC warning. - (Fx_file_dialog, Fx_select_font): Fix pointer signedness. - (x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame): - Remove unused locals. - (Fx_create_frame, x_create_tip_frame, Fx_show_tip): - (Fx_backspace_delete_keys_p): Rename locals to avoid shadowing. - Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR - macros. - - * xterm.h (x_mouse_leave): New decl. - - * xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame): - Remove unused functions. - (x_shift_glyphs_for_insert, XTflash, XTring_bell): - (x_calc_absolute_position): Now static. - (XTread_socket): Don't define label "out" unless it's used. - Don't declare local "event" unless it's used. - (x_iconify_frame, x_free_frame_resources): Don't declare locals - unless they are used. - (XEMBED_VERSION, xembed_set_info): Don't define unless needed. - (x_fatal_error_signal): Remove; not used. - (x_draw_image_foreground, redo_mouse_highlight, XTmouse_position): - (x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor): - (x_error_catcher, x_connection_closed, x_error_handler): - (x_error_quitter, xembed_send_message, x_iconify_frame): - (my_log_handler): Rename locals to avoid shadowing. - (x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN. - (x_connection_closed): Tell GCC not to suggest NO_RETURN. - - * xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font): - Rename or move locals to avoid shadowing. - (tty_defined_color, merge_face_heights): Now static. - (free_realized_faces_for_fontset): Remove; not used. - (Fx_list_fonts): Mark variable that gcc -Wuninitialized - does not deduce is never used uninitialized. - (STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used. - (LFACEP): Define only if XASSERTS, as it's not needed otherwise. - - * terminal.c (store_terminal_param): Now static. - - * xmenu.c (menu_highlight_callback): Now static. - (set_frame_menubar): Remove unused local. - (xmenu_show): Rename parameter to avoid shadowing. - (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const" - since they might point to immutable storage. - (next_menubar_widget_id): Declare only if USE_X_TOOLKIT, - since it's unused otherwise. - - * xdisp.c (produce_glyphless_glyph): Initialize lower_xoff. - Add a FIXME, since the code still doesn't look right. (Bug#8215) - (Fcurrent_bidi_paragraph_direction): Simplify slightly; this - avoids a gcc -Wuninitialized diagnostic. - (display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs): - (note_mouse_highlight): Mark variables that gcc -Wuninitialized - does not deduce are never used uninitialized. - - * lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c. - - * xdisp.c (redisplay_window): Rename local to avoid shadowing. - * window.c (window_loop, size_window): - (run_window_configuration_change_hook, enlarge_window): Likewise. - - * window.c (display_buffer): Now static. - (size_window): Mark variables that gcc -Wuninitialized - does not deduce are never used uninitialized. - * window.h (check_all_windows): New decl, to forestall - gcc -Wmissing-prototypes diagnostic. - * dispextern.h (bidi_dump_cached_states): Likewise. - - * charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid - shadowing. - * charset.c (map_charset_for_dump, Fchar_charset): Likewise. - Include . - (Fsort_charsets): Redo min/max calculation to shorten the code a bit - and to avoid gcc -Wuninitialized warning. - (load_charset_map): Mark variables that gcc -Wuninitialized - does not deduce are never used uninitialized. - (load_charset): Abort instead of using uninitialized var (Bug#8229). - - * coding.c (coding_set_source, coding_set_destination): - Use "else { /* comment */ }" rather than "else /* comment */;" - for clarity, and to avoid gcc -Wempty-body warning. - (Fdefine_coding_system_internal): Don't redeclare 'i' inside - a block, when the outer 'i' will do. - (decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule): - (emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022): - (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5): - (decode_coding_raw_text, decode_coding_charset, get_translation_table): - (Fdecode_sjis_char, Fdefine_coding_system_internal): - Rename locals to avoid shadowing. - * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise. - * coding.c (emacs_mule_char, encode_invocation_designation): - Now static, since they're not used elsewhere. - (decode_coding_iso_2022): Add "default: abort ();" as a safety check. - (decode_coding_object, encode_coding_object, detect_coding_system): - (decode_coding_emacs_mule): Mark variables that gcc - -Wuninitialized does not deduce are never used uninitialized. - (detect_coding_iso_2022): Initialize a local variable that might - be used uninitialized. Leave a FIXME because it's not clear that - this initialization is needed. (Bug#8211) - (ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT): - (ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P): - (SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER): - (ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R): - Remove unused macros. - - * category.c (hash_get_category_set): Remove unused local var. - (copy_category_table): Now static, since it's not used elsewhere. - * character.c (string_count_byte8): Likewise. - - * ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string): - (Fregister_code_conversion_map): Rename locals to avoid shadowing. - - * chartab.c (copy_sub_char_table): Now static, since it's not used - elsewhere. - (sub_char_table_ref_and_range, char_table_ref_and_range): - Rename locals to avoid shadowing. - (ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros. - - * bidi.c (bidi_check_type): Now static, since it's not used elsewhere. - (BIDI_BOB): Remove unused macro. - - * cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not - deduce are never used uninitialized. - * term.c (encode_terminal_code): Likewise. - - * term.c (encode_terminal_code): Now static. Remove unused local. - - * tparam.h: New file. - * term.c, tparam.h: Include it. - * deps.mk (term.o, tparam.o): Depend on tparam.h. - * term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr): - Move these decls to tparam.h, and make them agree with what - is actually in tparam.c. The previous trick of using incompatible - decls in different modules does not conform to the C standard. - All callers of tparam changed to use tparam's actual API. - * tparam.c (tparam1, tparam, tgoto): - Use const pointers where appropriate. - - * cm.c (calccost, cmgoto): Use const pointers where appropriate. - * cm.h (struct cm): Likewise. - * dispextern.h (do_line_insertion_deletion_costs): Likewise. - * scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise. - * term.c (tty_ins_del_lines, calculate_costs, struct fkey_table): - (term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph): - (turn_on_face, init_tty): Likewise. - * termchar.h (struct tty_display_info): Likewise. - - * term.c (term_mouse_position): Rename local to avoid shadowing. - - * alloc.c (mark_ttys): Move decl from here ... - * lisp.h (mark_ttys): ... to here, so that it's checked against defn. - -2011-03-11 Andreas Schwab - - * .gdbinit (pwinx, xbuffer): Fix access to buffer name. - -2011-03-09 Juanma Barranquero - - * search.c (compile_pattern_1): Remove argument regp, unused since - revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig. - (compile_pattern): Don't pass it. - -2011-03-08 Jan Djärv - - * xterm.h (DEFAULT_GDK_DISPLAY): New define. - (GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines - for ! HAVE_GTK3. - (GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID. - - * xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size. - - * gtkutil.c: Include gtkx.h if HAVE_GTK3. If ! HAVE_GTK3, define - gdk_window_get_screen, gdk_window_get_geometry, - gdk_x11_window_lookup_for_display and GDK_KEY_g. - (xg_set_screen): Use DEFAULT_GDK_DISPLAY. - (xg_get_pixbuf_from_pixmap): New function. - (xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap - to Pixmap, take frame as parameter, remove GdkColormap parameter. - Call xg_get_pixbuf_from_pixmap instead of - gdk_pixbuf_get_from_drawable. - (xg_get_image_for_pixmap): Do not make GdkPixmaps, call - xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead. - (xg_check_special_colors): Use GtkStyleContext and its functions - for HAVE_GTK3. - (xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen. - (xg_prepare_tooltip, create_dialog, menubar_map_cb) - (xg_update_frame_menubar, xg_tool_bar_detach_callback) - (xg_tool_bar_attach_callback, xg_update_tool_bar_sizes): - Call gtk_widget_get_preferred_size. - (xg_frame_resized): gdk_window_get_geometry only takes 5 - parameters. - (xg_win_to_widget, xg_event_is_for_menubar): - Call gdk_x11_window_lookup_for_display. - (xg_set_widget_bg): New function. - (delete_cb): New function. - (xg_create_frame_widgets): Connect delete-event to delete_cb. - Call xg_set_widget_bg. Only set background pixmap for ! HAVE_GTK3 - (xg_set_background_color): Call xg_set_widget_bg. - (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask. - (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3. - Only call gtk_range_set_update_policy if ! HAVE_GTK3. - (xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback - if ! HAVE_GTK3. - (update_frame_tool_bar): Call gtk_widget_hide. - (xg_initialize): Use GDK_KEY_g. - - * xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id - if ! HAVE_GTK3 - (x_session_initialize): Call gdk_x11_set_sm_client_id. - - * xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3. - (x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS. - Load ~/emacs.d/gtkrc only for ! HAVE_GTK3. - -2011-03-08 Juanma Barranquero - - * w32xfns.c (select_palette): Check success of RealizePalette against - GDI_ERROR, not zero. - -See ChangeLog.11 for earlier changes. +See ChangeLog.12 for earlier changes. ;; Local Variables: ;; coding: utf-8 diff --git a/src/ChangeLog.12 b/src/ChangeLog.12 new file mode 100644 index 00000000000..2b22690bb87 --- /dev/null +++ b/src/ChangeLog.12 @@ -0,0 +1,22949 @@ +2013-03-11 Glenn Morris + + * Version 24.3 released. + +2013-03-11 Paul Eggert + + * insdel.c (adjust_after_replace): Use bool for boolean. + +2013-03-11 Stefan Monnier + + * keyboard.c: Move keyboard decoding to read_key_sequence. + (decode_keyboard_code): Remove. + (tty_read_avail_input): Don't try to decode input. + (read_decoded_char): New function. + (read_key_sequence): Use it. + +2013-03-10 Daniel Colascione + + * w32term.h (GUISTR, GUI_ENCODE_FILE, GUI_ENCODE_SYSTEM, GUI_FN) + (GUI_SDATA, guichar_t): Macros to abstract out differences between + NTGUI_UNICODE and !NTGUI_UNICODE builds, some moved out of + w32fns.c. + + * w32term.c (construct_drag_n_drop): Use the above macros to make + drag-and-drop work for non-ASCII filenames in cygw32 builds. + + * w32fns.c (x_set_name, x_set_title): Use the above macros to + properly display non-ASCII frame titles in cygw32 builds. + + * w32fns.c (Fw32_shell_execute): Use the above macros to properly + call ShellExecute in cygw32 builds. + + * w32fn.c (Fx_file_dialog): Use the above macros to simplify the + common file dialog code. + + * w32fns.c (Ffile_system_info): Remove from cygw32 builds, which + can just use du like other systems. + + * coding.c (from_unicode_buffer): Declare. + * coding.c (from_unicode_buffer): Implement. + +2013-03-10 Stefan Monnier + + * lread.c: Minor cleanup. + (FROM_FILE_P): New macro. + (skip_dyn_bytes, unreadchar, read1): Use it. + (read_list): Consolidate duplicated code. + + * bytecode.c (struct byte_stack): Remove `constants' when unused. + +2013-03-10 Eli Zaretskii + + * xdisp.c (display_tool_bar_line, redisplay_tool_bar) + (redisplay_internal, set_cursor_from_row, try_window) + (try_window_id, dump_glyph_row, extend_face_to_end_of_line) + (display_line, notice_overwritten_cursor) + (mouse_face_from_buffer_pos, note_mouse_highlight): + Use MATRIX_ROW_DISPLAYS_TEXT_P. + (note_mouse_highlight): Use MATRIX_ROW_GLYPH_START. + (mouse_face_from_string_pos, fast_find_string_pos): + Use MATRIX_ROW_VPOS. + + * xfns.c (Fx_show_tip): Use MATRIX_ROW_DISPLAYS_TEXT_P. + + * w32fns.c (Fx_show_tip): Use MATRIX_ROW_DISPLAYS_TEXT_P. + + * xdisp.c (try_cursor_movement): Use MATRIX_ROW and + MATRIX_MODE_LINE_ROW. + + * dispnew.c (update_window): Use MATRIX_ROW and MATRIX_MODE_LINE_ROW. + +2013-03-10 handa + + * lisp.h (adjust_after_replace): Extern it. + + * coding.c (detect_coding): Cound the heading ASCII bytes in the + case of detection for coding_category_utf_8_auto. + (decode_coding_gap) [not CODING_DISABLE_ASCII_OPTIMIZATION]: + Skip decoding if all bytes are ASCII. + + * insdel.c (adjust_after_replace): Make it public. New arg + text_at_gap_tail. + (adjust_after_insert): Call adjust_after_replace with the new arg + value 0. + +2013-03-09 Stefan Monnier + + * keyboard.h (EVENT_START, EVENT_END, POSN_WINDOW, POSN_POSN) + (POSN_WINDOW_POSN, POSN_TIMESTAMP): Be careful since events may come + from Elisp via unread-command-events. + + * keyboard.c (access_keymap_keyremap): Accept nil return value from + functions to mean "no change". + +2013-03-08 Paul Eggert + + region-cache.c, scroll.c, search.c: Use bool for booleans. + * lisp.h (compile_pattern): + * scroll.c (do_scrolling, do_direct_scrolling): + * search.c (struct regexp_cache, compile_pattern_1) + (compile_pattern, string_match_1, search_command) + (trivial_regexp_p, search_buffer, Freplace_match, match_limit) + (search_regs_saved, Fregexp_quote): + Use bool for boolean. + * region-cache.c (region_cache_forward, region_cache_backward): + Fix comments to match code: these functions return int, not boolean. + +2013-03-08 Dmitry Antipov + + * search.c (find_newline): Accept start and end byte positions + as arguments and allow -1 if not known. + (find_newline_no_quit): Likewise for start position. + * lisp.h (find_newline, find_newline_no_quit): Adjust prototype. + * bidi.c (bidi_find_paragraph_start): Pass byte position to + find_newline_no_quit, thus eliminating CHAR_TO_BYTE. + * editfns.c (Fconstrain_to_field): Break long line. + Adjust call to find_newline. + * indent.c (vmotion): Adjust calls to find_newline_no_quit. + Use DEC_BOTH to start next search from the previous buffer + position, where appropriate. + * xdisp.c (back_to_previous_line_start, forward_to_next_line_start) + (get_visually_first_element, move_it_vertically_backward): Likewise. + Obtain byte position from the display iterator, where appropriate. + +2013-03-08 Paul Eggert + + print.c, process.c: Use bool for booleans. + * lisp.h (wait_reading_process_output): + * print.c (print_output_debug_flag, PRINTDECLARE, printchar) + (strout, debug_output_compilation_hack, float_to_string, print) + (print_object): + * process.c (kbd_is_on_hold, inhibit_sentinels, process_output_skip) + (decode_status, status_message, create_process, create_pty) + (Fmake_network_process, Fnetwork_interface_info) + (wait_reading_process_output, read_process_output) + (write_queue_push, write_queue_pop, process_send_signal) + (handle_child_signal, keyboard_bit_set, kbd_on_hold_p): + * process.h (struct Lisp_Process, inhibit_sentinels, kbd_on_hold_p): + Use bool for booleans. + * process.c (Fnetwork_interface_list): Remove unused local. + (connect_counter): Now EMACS_INT, not int. + +2013-03-08 Dmitry Antipov + + * bidi.c (bidi_fetch_char): Swap first and second arguments + to match other functions accepting character and byte positions. + Adjust comment. + (bidi_resolve_explicit_1, bidi_level_of_next_char): Adjust users. + (bidi_paragraph_init): Likewise. Use DEC_BOTH which is faster + when you need just to move to the previous buffer position. + * xdisp.c (Fcurrent_bidi_paragraph_direction): Use DEC_BOTH. + +2013-03-07 Eli Zaretskii + + * .gdbinit (prowlims): Display the enabled_p flag of the row. + +2013-03-07 Dmitry Antipov + + Avoid character to byte conversions in motion subroutines. + * indent.h (compute_motion, vmotion): Add byte position argument. + * indent.c (compute_motion): Use it and avoid CHAR_TO_BYTE. + Add eassert. + (Fcompute_motion): Break long line. Adjust call to compute_motion. + Use list5 for return value. + (vmotion): Use byte position argument and avoid call to CHAR_TO_BYTE. + Adjust comments, style and calls to compute_motion. + (Fvertical_motion): Adjust call to vmotion. + * window.c (Fdelete_other_windows_internal): Record window start + byte position and adjust call to vmotion. + (window_scroll_line_based): Likewise with call to compute_motion. + Use SET_PT_BOTH. + (Frecenter): Adjust calls to vmotion. + +2013-03-07 Dmitry Antipov + + * lisp.h (list2i, list3i): New functions. + (list4i): Move from window.c and make LISP_INLINE. + * editfns.c (make_lisp_time): + * fns.c (Flocale_info): + * keyboard.c (parse_modifiers): + * xterm.c (x_ewmh_activate_frame): Use list2i. + * instel.c (signal_after_change): + * nsfns.m (Fx_server_version, Fxw_color_values): + * w32fns.c (Fxw_color_values, Fx_server_version): + * xfns.c (Fxw_color_values, Fx_server_version): Use list3i. + * fileio.c (Fvisited_file_modtime): + * nsfns.m (Fns_display_usable_bounds): + * w32.c (ltime): Use list4i. + +2013-03-06 Eli Zaretskii + + * search.c (find_newline_no_quit): Rename from find_next_newline. + Add commentary. + + * lisp.h (find_newline_no_quit): Rename prototype. + + * xdisp.c (back_to_previous_line_start) + (forward_to_next_line_start, get_visually_first_element) + (move_it_vertically_backward): Callers of find_newline_no_quit changed. + * indent.c (vmotion): Callers of find_newline_no_quit changed. + * bidi.c (bidi_find_paragraph_start): Callers of + find_newline_no_quit changed. + + * msdos.c: Change encoding to cp850. (Bug#13879) + (fr_keyboard, it_keyboard, dk_keyboard): Update keyboard layouts. + +2013-03-06 Dmitry Antipov + + Coding system support cleanup and minor refactoring. + * coding.h (enum coding_result_code): Remove + CODING_RESULT_INCONSISTENT_EOL and CODING_RESULT_INSUFFICIENT_MEM. + (toplevel): Remove unused CODING_MODE_INHIBIT_INCONSISTENT_EOL. + (CODING_MODE_LAST_BLOCK, CODING_MODE_SELECTIVE_DISPLAY) + (CODING_MODE_DIRECTION, CODING_MODE_FIXED_DESTINATION) + (CODING_MODE_SAFE_ENCODING): Rearrange bit values. + (decode_coding_region, encode_coding_region, decode_coding_string): + Remove unused compatibility macros. + * coding.c (Qinconsistent_eol, Qinsufficient_memory): Remove. + (record_conversion_result): Adjust user. + (syms_of_coding): Likewise. + (ALLOC_CONVERSION_WORK_AREA): Use SAFE_ALLOCA. + (decode_coding, encode_coding): Add USE_SAFE_ALLOCA and SAFE_FREE. + (decode_coding_object): Simplify since xrealloc never returns NULL. + Add eassert. + +2013-03-06 Paul Eggert + + Fix a build failure on OpenBSD 4.x and MirBSD (Bug#13881). + * sysdep.c (list_system_processes) + [BSD_SYSTEM && !DARWIN_OS && !__FreeBSD__]: + Make it a stub in this case; otherwise the build might fail, + and this code hasn't been tested on such hosts anyway. + Problem reported by Nelson H. F. Beebe in + + and analyzed by Jérémie Courrèges-Anglas in + . + +2013-03-06 Dmitry Antipov + + * lisp.h (find_next_newline_no_quit): Rename to find_next_newline. + * xdisp.c (back_to_previous_line_start, forward_to_next_line_start) + (get_visually_first_element, move_it_vertically_backward): Ajust users. + * bidi.c (bidi_find_paragraph_start): Likewise. + * indent.c (vmotion): Likewise. + +2013-03-05 Paul Eggert + + FILE's lock is now always .#FILE and may be a regular file (Bug#13807). + * filelock.c: Include . + (MAX_LFINFO): New top-level constant. + (lock_info_type): Remove members pid, boot_time. Add members at, + dot, colon. Change user member to be the entire buffer, not a + pointer. This allows us to handle the case where a foreign + pid or boot time exceeds the local range. All uses changed. + (LINKS_MIGHT_NOT_WORK): New constant. + (FREE_LOCK_INFO): Remove, as the pieces no longer need freeing. + (defined_WINDOWSNT): Remove. + (MAKE_LOCK_NAME, file_in_lock_file_name): + Always use .#FILE (not .#-FILE) for the file lock, + even if it is a regular file. + (rename_lock_file): New function. + (create_lock_file): Use it. + (create_lock_file, read_lock_data): + Prefer a symbolic link for the lock file, falling back on a + regular file if symlinks don't work. Do not try to create + symlinks on MS-Windows, due to security hassles. Stick with + POSIXish functions (open, read, write, close, fchmod, readlink, symlink, + link, rename, unlink, mkstemp) when creating locks, as a GNUish + host may be using a Windowsish file system, and cannot use + MS-Windows-only system calls. Fall back on mktemp if mkstemp + doesn't work. Don't fail merely because of a symlink-contents + length limit in the current file system; fall back on regular + files. Increase the symlink contents length limit to 8 KiB, this + should be big enough for any real use and doesn't crunch the + stack. + (create_lock_file, lock_file_1, read_lock_data): + Simplify allocation of lock file buffers now that they fit in 8 KiB. + (lock_file_1): Return error number, not bool. All callers changed. + (ELOOP): New macro, if not already defined. + (read_lock_data): Return size of lock file contents, not Lisp object. + All callers changed. Handle a race condition if some other process + replaces a regular-file lock with a symlink lock or vice versa, + while we're trying to read the lock. + (current_lock_owner): Parse contents more carefully, to help avoid + confusing a regular-file lock with some other application's use + of the file. Check for lock file contents being too long, or + not parsing correctly. + (current_lock_owner, lock_file): + Allow foreign pid and boot times that exceed the local range. + (current_lock_owner, lock_if_free, lock_file): + Simplify allocation of lock file contents. + * w32.c (sys_rename_replace): New function, containing most of + the contents of the old sys_rename. + (sys_rename): Use it. + (fchmod): New dummy function. + * w32.h (sys_rename_replace, fchmod): New decls. + +2013-03-05 Eli Zaretskii + + * bidi.c (bidi_resolve_explicit_1): Don't call CHAR_TO_BYTE or + bidi_count_bytes, as the callers now arrange for bidi_it->charpos + to be in sync with bidi_it->bytepos. Suggested by Dmitry Antipov + . + +2013-03-05 Dmitry Antipov + + * composite.c (get_composition_id, fill_gstring_header): + Use make_uninit_vector where appropriate. + * font.c (Ffont_get_glyphs, build_style_table): Likewise. + * xselect.c (clean_local_selection_data): Likewise. + +2013-03-04 Paul Eggert + + Fix misuse of ImageMagick that caused core dump (Bug#13846). + * image.c (imagemagick_load_image): Calculate height and width + after flattening the image, not before. + +2013-03-04 Dmitry Antipov + + * font.c (Ffont_get_glyphs): Use convenient LGLYPH_NEW. + * ftfont.c (ftfont_shape_by_flt): Likewise. + * w32uniscribe.c (uniscribe_shape): Likewise. + +2013-03-02 Paul Eggert + + The lock for FILE is now .#FILE or .#-FILE (Bug#13807). + The old approach, which fell back on DIR/.#FILE.0 through + DIR/.#FILE.9, had race conditions that could not be easily fixed. + If DIR/.#FILE is a non-symlink file, Emacs now does not create a + lock file for DIR/FILE; that is, DIR/FILE is no longer partly + protected by a lock if DIR/.#FILE is a non-symlink file ("partly" + because the locking mechanism was never reliable in that case). + This patch fixes this and other bugs discovered by a code + inspection that was prompted by + . + Also, this patch switches to .#-FILE (not .#FILE) on MS-Windows, + to avoid interoperability problems between the MS-Windows and + non-MS-Windows implementations. MS-Windows and non-MS-Windows + instances of Emacs now ignore each others' locks. + * filelock.c (defined_WINDOWSNT): New constant. + (MAKE_LOCK_NAME, fill_in_lock_file_name): + Don't create DIR/.#FILE.0 through DIR/.#FILE.9. Instead, create + DIR/.#FILE symlinks on non-MS-Windows hosts, and DIR/.#-FILE + regular files on MS-Windows hosts. + (MAKE_LOCK_NAME, unlock_file, Ffile_locked_p): + Use SAFE_ALLOCA to avoid problems with long file names. + (MAX_LFINFO): Now a local constant, not a global macro. + (IS_LOCK_FILE): Remove. + (lock_file_1): Don't inspect errno if symlink call succeeds; + that's not portable. + (lock_file): Document that this function can return if lock + creation fails. + (lock_file): Don't access freed storage. + +2013-03-02 Andreas Schwab + + * lisp.h (XPNTR) [!USE_LSB_TAG]: Remove extra paren. (Bug#13734) + +2013-03-02 Paul Eggert + + * textprop.c: Use bool for booleans. + (validate_interval_range, Fadd_text_properties) + (Fremove_text_properties): Prefer bool to int when either works. + +2013-03-02 Eli Zaretskii + + * textprop.c (Fadd_text_properties, Fremove_text_properties): + If the interval tree changes as a side effect of calling + modify_region, re-do processing starting from the call to + validate_interval_range. (Bug#13743) + +2013-02-28 Eli Zaretskii + + * w32.c (sys_open): Don't reset the flags for FD in fd_info[]. + (Bug#13546). + +2013-02-27 Eli Zaretskii + + * filelock.c (create_lock_file) [WINDOWSNT]: Use _sopen with + _SH_DENYRW flag, instead of emacs_open, to deny any other process + access to the lock file until it is written and closed. + (Bug#13807) + +2013-02-27 Paul Eggert + + * callint.c (Qcall_interactively): + * macros.c (Qexecute_kbd_macro): + Now static. + +2013-02-26 Bastien Guerry + + * window.c (Frecenter): Tiny docstring enhancement. + +2013-02-26 Paul Eggert + + Minor textprop integer cleanup. + * intervals.h, textprop.c (add_text_properties_from_list): + Return void, not int, since nobody uses the return value. + * textprop.c (validate_plist, add_properties, remove_properties) + (Fadd_text_properties): + Don't assume list length fits in int. + (interval_has_all_properties, interval_has_some_properties) + (interval_has_some_properties_list, add_properties, remove_properties) + (Fadd_text_properties, Fremove_text_properties) + (Fremove_list_of_text_properties, text_property_stickiness): + Use bool for booleans. + (Fadd_text_properties, Fremove_text_properties): + (Fremove_list_of_text_properties): + Reindent do-while as per GNU style. + +2013-02-25 Eli Zaretskii + + Implement CLASH_DETECTION for MS-Windows. + + * filelock.c [WINDOWSNT]: Include w32.h. + (MAKE_LOCK_NAME): Don't use 'lock', it clashes with MS runtime + function of that name. Up-case the macro arguments. + (IS_LOCK_FILE): New macro. + (fill_in_lock_file_name): Use IS_LOCK_FILE instead of S_ISLNK. + (create_lock_file): New function, with body extracted from + lock_file_1. + [WINDOWSNT]: Implement lock files by writing a regular file with + the lock information as its contents. + (read_lock_data): New function, on Posix platforms just calls + emacs_readlinkat. + [WINDOWSNT]: Read the lock info from the file. + (current_lock_owner): Call read_lock_data instead of calling + emacs_readlinkat directly. + (lock_file) [WINDOWSNT]: Run the file name through + dostounix_filename. + + * w32proc.c (sys_kill): Support the case of SIG = 0, in which case + just check if the process by that PID exists. + + * w32.c (sys_open): Don't reset the _O_CREAT flag if _O_EXCL is + also present, as doing so will fail to error out if the file + already exists. + + * makefile.w32-in ($(BLD)/filelock.$(O)): Depend on src/w32.h. + + * textprop.c (Fadd_text_properties, Fremove_text_properties) + (Fremove_list_of_text_properties): Skip all of the intervals in + the region between START and END that already have resp. don't + have the requested properties, not just the first one. + Add assertions that the loop afterwards always modifies the + properties. (Bug#13743) + +2013-02-25 Stefan Monnier + + * callint.c (Fcall_interactively): Use the right lexical environment + for `interactive' specs (bug#13811). + * eval.c (Feval): Accept a lexical environment. + +2013-02-25 Paul Eggert + + Simplify data_start configuration (Bug#13783). + This is a followon simplification to the fix for Bug#13650. + * Makefile.in (LD_FIRSTFLAG, LIB_GCC, CRT_DIR, LIB_STANDARD) + (START_FILES): Remove. All uses removed. + (otherobj): Remove $(VMLIMIT_OBJ), as it's now first. + (ALLOBJS): Move here from autodeps.mk, and with VMLIMITS_OBJ first. + (buildobj.h): Use it. + ($(ALLOBJS)): Depend on globals.h. + (temacs$(EXEEXT)): Use $(ALLOBJS). + * autodeps.mk (ALLOBJS): Move to Makefile.in. + * deps.mk (vm-limit.o): + * makefile.w32-in ($(BLD)/vm-limit.$(O)): + Do not depend on mem-limits.h. + * emacs.c (__do_global_ctors, __do_global_ctors_aux) + (__do_global_dtors, __CTOR_LIST__, __DTOR_LIST__) + [__GNUC__ && !ORDINARY_LINK]: Remove. + * mem-limits.h, pre-crt0.c: Remove. + * unexaix.c, unexcoff.c: Don't include mem-limits.h. + * unexcoff.c (etext): New decl. + (make_hdr): Use DATA_START instead of start_of_data. + * vm-limit.c: Move most of mem-limits.h's contents here. + (data_start): New decl. It's OK if this is approximate, + so simplify-away some unnecessary exactness. + (POINTER): Remove; all uses removed. + (data_space_start): Now char *, to avoid casts. + (exceeds_lisp_ptr): New function, replacing the old + EXCEEDS_LISP_PTR macro. All uses changed. + (check_memory_limits): Simplify and remove casts. + (start_of_data) [!CANNOT_DUMP || !SYSTEM_MALLOC]: Remove. + (memory_warnings): Use data_start instead of start_of_data. + +2013-02-24 Andreas Schwab + + * xdisp.c (set_message): Only check for debug-on-message if STRING + is a string. (Bug#13797) + +2013-02-24 Paul Eggert + + Fix regression introduced by July 10 filelock.c patch. + * filelock.c (fill_in_lock_file_name): Fix crash caused by the + 2012-07-10 patch to this file. Reported by Eli Zaretskii in + + and diagnosed by Andreas Schwab in + . + +2013-02-22 Paul Eggert + + Assume C89 or better. + * ralloc.c (SIZE, POINTER, NIL): + * vm-limit.c (POINTER): + Remove, replacing all uses with C89 equivalents. These old + symbols were present only for porting to pre-C89 platforms. + +2013-02-22 Claudio Bley + + * w32.c (emacs_gnutls_pull): Don't call 'select', and don't loop. + This avoids warning messages reported as part of Bug#13546. + +2013-02-21 Ken Brown + + * sheap.c (report_sheap_usage): Fix arguments of message1_no_log. + +2013-02-20 Stefan Monnier + + * sheap.c (report_sheap_usage): Prefer message1_nolog. + + * keyboard.c (Qcommand_execute): New var. + (command_loop_1, read_char): Use it. + (Fcommand_execute): Remove, replace by an Elisp implementation. + (syms_of_keyboard): Adjust accordingly. + +2013-02-19 Daniel Colascione + + * sheap.c (report_sheap_usage): Use message, not message1, so + that we don't try to create a buffer while we're in the middle + of dumping Emacs. Explain why. + +2013-02-20 Dmitry Antipov + + * search.c (find_newline): Return byte position in bytepos. + Adjust comment. + (find_next_newline_no_quit, find_before_next_newline): + Add bytepos argument. + * lisp.h (find_newline, find_next_newline_no_quit) + (find_before_next_newline): Adjust prototypes. + * bidi.c (bidi_find_paragraph_start): + * editfns.c (Fconstrain_to_field, Fline_end_position): + * indent.c (compute_motion, vmotion): + * xdisp.c (back_to_previous_line_start, forward_to_next_line_start): + (get_visually_first_element, move_it_vertically_backward): + Adjust users and avoid calls to CHAR_TO_BYTE where appropriate. + +2013-02-19 Eli Zaretskii + + * w32proc.c (new_child): Avoid leaking handles if the subprocess + resources were not orderly released. + +2013-02-17 Eli Zaretskii + + * xdisp.c (x_draw_vertical_border): For a window that is neither + the leftmost nor the rightmost, redraw both the left and the right + vertical borders. (Bug#13723) + +2013-02-17 Stefan Monnier + + * xml.c (init_libxml2_functions): + * sound.c (sound_warning): + * sheap.c (report_sheap_usage): + * process.c (wait_reading_process_output): + * msdos.c (XMenuActivate): + * macros.c (Fstart_kbd_macro, Fend_kbd_macro): + * keyboard.c (top_level_1): + * editfns.c (Fmessage, Fmessage_box): + * callint.c (Fcall_interactively): + * fns.c (Fyes_or_no_p): Prefer `message1' over `message'. + +2013-02-17 Jan Djärv + + * xterm.c (syms_of_xterm): Move scroll-bar-adjust-thumb-portion ... + * frame.c (syms_of_frame): ... to here. + +2013-02-16 Eli Zaretskii + + * w32.c (sys_chown): Remove unused function. + + * w32term.c : Declare 'volatile' + unconditionally. (Bug#9066) + + * w32.c (set_errno): Reset h_errno and don't set it to any other + value. Set errno instead. + (check_errno): Reset h_errno. + (sys_socket, socket_to_fd, sys_bind, sys_connect) + (sys_gethostname, sys_getservbyname, sys_getpeername) + (sys_shutdown, sys_setsockopt, sys_listen, sys_getsockname) + (sys_accept, sys_recvfrom, sys_sendto, fcntl, sys_read): Don't set + h_errno. + (sys_gethostbyname): Set h_errno only errors detected. + +2013-02-15 Paul Eggert + + * process.c (h_errno) [!HAVE_H_ERRNO]: Remove unused decl. + +2013-02-15 Eli Zaretskii + + * keyboard.c (read_char): Fix calculation of auto-save time out + when auto-save-timeout is less than 4. (Bug#13720) + + * w32proc.c (new_child): Free up to 2 slots of dead processes at a + time. Improve diagnostics in DebPrint. (Bug#13546) + + * w32.c (sys_socket, sys_bind, sys_connect, sys_gethostname) + (sys_gethostbyname, sys_getservbyname, sys_getpeername) + (sys_shutdown, sys_setsockopt, sys_listen, sys_getsockname) + (sys_accept, sys_recvfrom, sys_sendto, fcntl): In case of failure, + make sure errno is set to an appropriate value. (Bug#13546) + (socket_to_fd): Add assertion against indexing fd_info[] with a + value that is out of bounds. + (sys_accept): If fd is negative, do not set up the child_process + structure for reading. + +2013-02-15 Dmitry Antipov + + * composite.c (fill_gstring_header): Remove useless prototype. + Break long line. + * lisp.h (message_dolog, compile_pattern): Adjust prototype. + * print.c (PRINTDECLARE, print_object): + * search.c (compile_pattern, fast_looking_at, search_buffer): + (simple_search, boyer_moore, Freplace_match): + * xdisp.c (c_string_pos, number_of_chars, message_dolog): + (get_overlay_arrow_glyph_row, display_mode_element): + (decode_mode_spec_coding, message3): + * xfaces.c (face_at_string_position): Use bool for booleans. + Adjust comments. + +2013-02-15 Paul Eggert + + Fix AIX port (Bug#13650). + * lisp.h (XPNTR) [!USE_LSB_TAG && DATA_SEG_BITS]: + Fix bug introduced in 2012-07-27 change. DATA_SEG_BITS, if set, + was #undeffed earlier, so it cannot be used as a macro here. + Use the constant and not the macro. + +2013-02-15 Eli Zaretskii + + * w32proc.c (new_child): If no vacant slots are found in + child_procs[], make another pass looking for slots whose process + has exited or died. (Bug#13546) + + * w32.c (sys_pipe): When failing due to file descriptors above + MAXDESC, set errno to EMFILE. + (_sys_read_ahead): Update cp->status when failing to read serial + communications input, so that the status doesn't stay at + STATUS_READ_IN_PROGRESS. (Bug#13546) + +2013-02-14 Jan Djärv + + * gtkutil.c (tb_size_cb): New function. + (xg_create_tool_bar): Connect size-allocate to tb_size_cb (Bug#13512). + +2013-02-14 Stefan Monnier + + * keyboard.c (active_maps): Fcurrent_active_maps expects a position, not + an event. + +2013-02-13 Stefan Monnier + + * keyboard.c (syms_of_keyboard): Further tweaks of docstring. + +2013-02-13 Dmitry Antipov + + * font.c (font_range): Add pos_byte argument. Adjust comment + and break long line. + * font.h (font_range): Adjust prototype. + * composite.c (autocmp_chars): Pass byte position to font_range. + Break long line. Remove useless prototype and format comment. + +2013-02-13 Glenn Morris + + * keyboard.c (input-decode-map, key-translation-map): Doc fixes. + +2013-02-13 Paul Eggert + + Improve AIX port some more (Bug#13650). + With this, it should be as good as it was in 23.3, though it's + still pretty bad: the dumped emacs does not run. See Mark Fleishman in + http://lists.gnu.org/archive/html/help-gnu-emacs/2011-04/msg00287.html + * unexaix.c (start_of_text): Remove. + (_data, _text): Declare as char[], not int, as AIX manual suggests. + (bias, lnnoptr, text_scnptr, data_scnptr, load_scnptr) + (orig_load_scnptr, orig_data_scnptr): + Now off_t, not long, since they are file offsets. + (make_hdr): Use _data, not start_of_data (). + This is the key part of the fix. + (make_hdr, unrelocate_symbols): Use off_t for file offsets. + (unrelocate_symbols): Cast pointers to intptr_t, not to ulong. + + * pre-crt0.c (data_start): Initialize to 1. + This ports to compilers that optimize the external declaration + 'int x = 0;' as if it were 'int x;' to shrink the executable. + + Improve AIX port (Bug#13650). + This doesn't fix the bug, but it makes progress: Emacs builds now. + * unexaix.c: Include inttypes.h, stdarg.h. + (report_error, report_error_1): Mark as _Noreturn. + (report_error): Don't report the wrong errno. + (report_error_1): Now varargs. All callers changed. + (make_hdr): Use uintptr_t, not unsigned, when converting pointers + to unsigned. Don't use ADDR_CORRECT, as it no longer exists. + (write_ptr): Use %p to print address rather than %lx and a cast + to unsigned long. Grow buffer a bit, to be safer. + +2013-02-13 Eli Zaretskii + + * bidi.c (bidi_resolve_neutral): After finding the next + non-neutral character, accept NEUTRAL_ON type as well, because + directional control characters, such as LRE and RLE, have their + type converted to that by bidi_resolve_weak. This avoids aborts + when LRE/RLE follows a run of neutrals. + (bidi_move_to_visually_next): Assert that return value of + bidi_peek_at_next_level is non-negative. Negative values will + cause an infloop. + +2013-02-13 Paul Eggert + + Minor getenv-related fixes. + * callproc.c (Fcall_process_region) [!DOS_NT]: + Avoid unnecessary duplicate call to getenv. + * callproc.c (init_callproc): + * dispnew.c (init_display): + * sysdep.c (sys_subshell): + Omit unnecessary cast of getenv or egetenv. + +2013-02-13 Juanma Barranquero + + * makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/sysdep.$(O)): + Update dependencies. + +2013-02-12 Eli Zaretskii + + * xdisp.c (redisplay_internal): Don't set w->region_showing to the + marker's position. + (display_line): Set w->region_showing to the value of + it->region_beg_charpos, not to -1. This fixes redisplay + optimization when cursor is moved up after M->. (Bug#13623) + (Bug#13626) + (try_scrolling): Scroll text up more if point is too close to ZV + and inside the scroll margin. This makes sure point is moved + outside the scroll margin in these cases. + + * window.h (struct window): region_showing can no longer be + negative. + +2013-02-11 Paul Eggert + + Tune by using memchr and memrchr. + * doc.c (Fsnarf_documentation): + * fileio.c (Fsubstitute_in_file_name): + * search.c (find_newline, scan_newline): + * xdisp.c (pos_visible_p, display_count_lines): + Use memchr and memrchr rather than scanning byte-by-byte. + * search.c (find_newline): Rename from scan_buffer. + Omit first arg TARGET, as it's always '\n'. All callers changed. + + Clean up read_key_sequence a tiny bit more. + * keyboard.c (read_char_x_menu_prompt) [HAVE_MENUS]: + (read_key_sequence): Remove unused locals. + +2013-02-11 Stefan Monnier + + Clean up read_key_sequence a bit; reread active keymaps after first event. + * keyboard.c (read_char, read_char_x_menu_prompt) + (read_char_minibuf_menu_prompt): + Replace nmaps+maps with a single `map' arg. + (follow_key): Operate on a single map. + (active_maps): New function. + (test_undefined): Also return true for nil bindings. + (read_key_sequence): Use active_maps to replace the arrays of keymaps with + a single (composed) keymap. Remember `first_event' to choose the right + set of active keymaps. Recompute the set of keymaps after receiving + the first event. Remove GOBBLE_FIRST_EVENT. + (syms_of_keyboard): Remove inhibit_local_menu_bar_menus. + * keyboard.h (read_char): Update declaration. + * lread.c (read_filtered_event): Adjust call to read_char. + +2013-02-11 Eli Zaretskii + + * xdisp.c (move_it_vertically_backward, move_it_by_lines): + Don't use the limitation on backwards movement when lines are truncated + in the window. (Bug#13675) + +2013-02-11 Dmitry Antipov + + * marker.c (set_marker_internal): If desired position is passed + as a marker, avoid call to buf_charpos_to_bytepos. + * window.c (Fset_window_point): Omit redundant type checking. + (Fset_window_start): Likewise. Format comment. + (window_scroll_pixel_based): Use set_marker_restricted_both + with character and byte positions obtained from an iterator. + (Fset_window_configuration): Use set_marker_restricted_both. + * xdisp.c (message_dolog): Likewise. + +2013-02-10 Eli Zaretskii + + * xdisp.c (move_it_vertically_backward, move_it_by_lines): + When text lines are longer than window's screen lines, don't move back + too far. This speeds up some redisplay operations. (Bug#13675) + +2013-02-10 Dmitry Antipov + + * syntax.c (scan_sexps_forward): Fix byte position calculation + Bug#13664 (a.k.a Bug#13667) introduced with 2013-02-08 change. + +2013-02-10 Paul Eggert + + * fileio.c (Fexpand_file_name): Omit confusing pointer comparison + that was not needed. + +2013-02-09 Paul Eggert + + Minor hashing refactoring. + * fns.c (SXHASH_REDUCE): Move to lisp.h. + (sxhash_float): Return EMACS_UINT, for consistency with the other + hash functions. + * lisp.h (INTMASK): Now a macro, since SXHASH_REDUCE is now a + non-static inline function and therefore can't use static vars. + (SXHASH_REDUCE): Move here from fns.c, and make it inline. + * profiler.c (hashfn_profiler): Use SXHASH_REDUCE, to be consistent + with the other hash functions. + +2013-02-09 Eli Zaretskii + + * callproc.c (Fcall_process_region) [WINDOWSNT]: Make sure the + XXXXXX part of the temporary file pattern is not downcased even + when w32-downcase-file-names is non-nil. (Bug#13661) + + * xdisp.c (decode_mode_spec): Remove handling of %t. + + * msdos.c (careadlinkatcwd): Remove. + +2013-02-08 Stefan Monnier + + * lread.c (skip_dyn_bytes): New function (bug#12598). + (read1): Use it. Use getc instead of READCHAR to read bytes. + (load_each_byte): Remove. Update users. + +2013-02-08 Dmitry Antipov + + * search.c (scan_buffer): Calculate end byte position just once. + (scan_newline): Do not recalculate start_byte. + (search_command): Use eassert. + * syntax.c (struct lisp_parse_state): New member location_byte. + (scan_sexps_forward): Record from_byte and avoid redundant + character to byte position calculation ... + (Fparse_partial_sexp): ... here. Break too long line. + +2013-02-08 Dmitry Antipov + + * lisp.h (make_uninit_vector): New function. + * alloc.c (Fvector, Fmake_byte_code): + * ccl.c (Fregister_ccl_program): + * charset.c (Fdefine_charset_internal, define_charset_internal): + * coding.c (make_subsidiaries, Fdefine_coding_system_internal): + * composite.c (syms_of_composite): + * font.c (Fquery_font, Ffont_info, syms_of_font): + * fontset.c (FONT_DEF_NEW, Fset_fontset_font): + * ftfont.c (ftfont_shape_by_flt): + * indent.c (recompute_width_table): + * nsselect.m (clean_local_selection_data): + * syntax.c (init_syntax_once): + * w32unsubscribe.c (uniscribe_shape): + * window.c (Fcurrent_window_configuration): + * xfaces.c (Fx_family_fonts): + * xselect.c (selection_data_to_lisp_data): Use it. + +2013-02-07 Dmitry Antipov + + * coding.c (Fdefine_coding_system_internal): Use AREF where + argument is known to be a vector. + * fns.c (Flocale_info): Likewise for ASET. + * xselect.c (selection_data_to_lisp_data): Likewise for ASET. + * w32fns.c (w32_parse_hot_key): Likewise for ASIZE and AREF. + +2013-02-05 Jan Djärv + + * nsmenu.m (update_frame_tool_bar): Check for negative tool bar + height. + + * nsterm.h (HAVE_NATIVE_FS): Define if OSX => 10.7. + (EmacsView): Add fs_is_native, fsIsNative, isFullscreen and + updateCollectionBehaviour. + + * nsterm.m (NEW_STYLE_FS): Remove. + (ns_last_use_native_fullscreen): New variable. + (x_make_frame_visible): Replace NEW_STYLE_FS with isFullscreen. + (x_set_window_size): Do not take title bar and tool bar into account + if isFullscreen returns YES. + (ns_fullscreen_hook): Replace NEW_STYLE_FS with isFullscreen. + (check_native_fs): New function. + (ns_select, ns_read_socket): Call check_native_fs if HAVE_NATIVE_FS. + (ns_term_init): Remove NEW_STYLE_FS. + (updateFrameSize:, windowWillResize:toSize:): Only adjust for title bar + and tool bar if isFullscreen returns NO. + (windowDidResize:): Replace NEW_STYLE_FS with fsIsNative. + (initFrameFromEmacs:): Initialize fs_is_native. Replace NEW_STYLE_FS + with HAVE_NATIVE_FS. + (window:willUseFullScreenPresentationOptions:): New method. + (windowDidEnterFullScreen:): Replace NEW_STYLE_FS with fsIsNative. + Hide toolbar if not enabled (Bug#13444). + (windowDidExitFullScreen:): Call updateCollectionBehaviour. + Restore tool bar if enabled, hide it otherwise (Bug#13444). + (fsIsNative, isFullscreen, updateCollectionBehaviour): New methods. + (toggleFullScreen:): If fs_is_native, call toggleFullScreen on + window. Do no set FRAME_EXTERNAL_TOOL_BAR (f) to 0. + Check FRAME_EXTERNAL_TOOL_BAR (f) before restoring + FRAME_TOOLBAR_HEIGHT (f). Call updateFrameSize when going non-fs. + (syms_of_nsterm): Add ns-use-native-fullscreen. + +2013-02-04 Paul Eggert + + * fileio.c (Qchoose_write_coding_system): Now static. + +2013-02-04 Eli Zaretskii + + * xdisp.c (window_buffer_changed): region_showing can be negative, + which still means region is being displayed. + (redisplay_internal): Resurrect code that forced redisplay of the + whole window when showing region and the mark has changed. + Record the new mark position to allow redisplay optimizations. + (display_line): If it->region_beg_charpos is non-zero, set the + window's region_showing member to -1. (Bug#13623) (Bug#13626) + + * window.h (struct window) : Declare ptrdiff_t, + not bitfield of 1 bit. + +2013-02-03 Daniel Colascione + + * emacs.c: Use execvp, not execv, when DAEMON_MUST_EXEC, so that + daemon mode works on cygw32 when Emacs is installed and not just + during development. + +2013-02-02 Paul Eggert + + Avoid file time stamp bug on MS-Windows (Bug#13149). + * fileio.c (Fwrite_region): Don't use the heuristic on empty files, + as FAT32 doesn't update time stamps when truncating them. + Also, check that a file time stamp is not a multiple of 100 ns; + this should catch all instances of the problem on MS-Windows, + as its native file system resolution is 100 ns or worse, and + checking for a non-multiple of 100 ns should impose only a small + overhead on systems with ns resolution. + +2013-02-02 Eli Zaretskii + + Avoid encoding file names on MS-Windows when they need to be run + through dostounix_filename. + * w32.c (normalize_filename): Accept an additional argument + MULTIBYTE; if non-zero, traverse the file name by bytes and don't + downcase it even if w32-downcase-file-names is non-nil. + (dostounix_filename): Accept an additional argument MULTIBYTE and + pass it to normalize_filename. + (emacs_root_dir): Adjust. + + * msdos.h (dostounix_filename): Adjust prototype. + + * w32.h (dostounix_filename): Adjust prototype. + + * msdos.c (dostounix_filename): Accept an additional argument and + ignore it. + (init_environment): Adjust callers of dostounix_filename. + + * fileio.c (Ffile_name_directory, file_name_as_directory) + (directory_file_name, Fexpand_file_name) + (Fsubstitute_in_file_name): [DOS_NT] Adjust call to + dostounix_filename. + [WINDOWSNT]: Downcase file names if w32-downcase-file-names is + non-nil. + (Fsubstitute_in_file_name): [DOS_NT] Don't downcase environment + variables, as egetenv is case-insensitive for DOS_NT. + + * dired.c (file_name_completion): Don't call Fdirectory_file_name + with an encoded file name. + + * w32proc.c (Fw32_short_file_name, Fw32_long_file_name): + Adjust calls to dostounix_filename. + + * w32fns.c (Fx_file_dialog): Adjust call to dostounix_filename. + + * unexw32.c (unexec): Adjust call to dostounix_filename. + + * termcap.c (tgetent) [MSDOS]: Adjust call to dostounix_filename. + + * emacs.c (decode_env_path) [DOS_NT]: Adjust call to + dostounix_filename. + + * callproc.c (Fcall_process) [MSDOS]: Adjust call to + dostounix_filename. + + * callproc.c (Fcall_process): Make sure program name in PATH and + new_argv[0] is encoded, if needed. Otherwise, un-encoded string + is passed to exec/spawnve, which fails unless the file-name + encoding is UTF-8. + + * w32proc.c (sys_spawnve): Make sure escape_char is initialized, + even if w32-quote-process-args is nil. + +2013-02-01 Paul Eggert + + Fix timestamp bug when write-region appends nothing (Bug#13149). + * fileio.c (Fwrite_region): When neither O_EXCL nor O_TRUNC is used, + the file's time stamp doesn't change if Emacs happens to write nothing + to the file, and on a buggy file system this could cause Emacs to + incorrectly infer that the file system doesn't have the bug. + Avoid this problem by inhibiting the inference in this case. + +2013-02-01 Dmitry Antipov + + * window.h (struct window): Convert base_line_number, base_line_pos + and column_number_displayed members from Lisp_Object to ptrdiff_t. + Convert region_showing member from Lisp_Object to bitfield. + Remove sequence_number member. Adjust comments. + * window.c (sequence_number): Remove. + (make_window): Initialize column_number_displayed. + * print.c (print_object): Follow the printed representation of + frames and print window pointer to distinguish between windows. + (adjust_window_count): Invalidate base_line_pos. Adjust comment. + * xdisp.c (wset_base_line_number, wset_base_line_pos) + (wset_column_number_displayed, wset_region_showing): Remove. + (window_buffer_changed, mode_line_update_needed, redisplay_internal) + (try_scrolling, try_cursor_movement, redisplay_window) + (try_window_reusing_current_matrix, try_window_id, display_line) + (display_mode_lines, decode_mode_spec): Adjust users. + * .gdbinit (pwinx): Do not print sequence_number. + +2013-02-01 Paul Eggert + + Use fdopendir, fstatat and readlinkat, for efficiency (Bug#13539). + * conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): Remove. + * dired.c: Include . + (open_directory): New function, which uses open and fdopendir + rather than opendir. DOS_NT platforms still use opendir, though. + (directory_files_internal, file_name_completion): Use it. + (file_attributes): New function, with most of the old Ffile_attributes. + (directory_files_internal, Ffile_attributes): Use it. + (file_attributes, file_name_completion_stat): First arg is now fd, + not dir name. All uses changed. Use fstatat rather than lstat + + stat. + (file_attributes): Use emacs_readlinkat rather than Ffile_symlink_p. + * fileio.c: Include , . + (emacs_readlinkat): New function, with much of the old + Ffile_symlink_p, but with an fd argument for speed. + It uses readlinkat rather than careadlinkatcwd, so that it + need not assume the working directory. + (Ffile_symlink_p): Use it. + * filelock.c (current_lock_owner): Use emacs_readlinkat + rather than emacs_readlink. + * lisp.h (emacs_readlinkat): New decl. + (READLINK_BUFSIZE, emacs_readlink): Remove. + * sysdep.c: Do not include , . + (emacs_norealloc_allocator, emacs_readlink): Remove. + This stuff is moved to fileio.c. + * w32.c (fstatat, readlinkat): New functions. + (careadlinkat): Don't check that fd == AT_FDCWD. + (careadlinkatcwd): Remove; no longer needed. + +2013-01-31 Glenn Morris + + * fileio.c (choose_write_coding_system): Make it callable from Lisp. + (Fwrite_region): Update for new choose_write_coding_system args. + Move the last piece of choose_write_coding_system here. (Bug#13522) + (syms_of_fileio): Add choose-write-coding-system. + +2013-01-30 Eli Zaretskii + + * w32.c (sys_open): Zero out the flags for the new file descriptor. + (sys_close): Zero out the flags for the file descriptor before + closing it. (Bug#13546) + + * w32.c (parse_root, get_volume_info, readdir, read_unc_volume) + (logon_network_drive, stat_worker, symlink, chase_symlinks): + Use CharNextExA and CharPrevExA to iterate over file names encoded in + DBCS. (Bug#13553) + + * w32.c (w32_get_long_filename, init_environment, readlink): + Support file names encoded in DBCS codepages. + (readlink): Use the current file-name-coding-system, not the ANSI + codepage, to decode and handle targets of symlinks. + +2013-01-28 Eli Zaretskii + + * w32.c (opendir): Now accepts a 'const char *'. + +2013-01-28 Dmitry Antipov + + Remove obsolete redisplay code. See the discussion at + http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00576.html. + * dispnew.c (preemption_period, preemption_next_check): Remove. + (Vredisplay_preemption_period): Likewise. + (update_frame, update_single_window, update_window, update_frame_1): + Adjust users. Always assume that PERIODIC_PREEMPTION_CHECKING is not + used, following the 2012-06-22 change. + +2013-01-25 Eli Zaretskii + + * w32notify.c (Fw32notify_add_watch): Doc fix. (Bug#13540) + +2013-01-25 Dmitry Antipov + + * font.c (num_fonts): Remove the leftover from old + debugging code. Adjust comment style here and there. + * insdel.c (insert_1): Remove. + * lisp.h (insert_1): Remove prototype. + * xdisp.c (message_dolog): Adjust users to call insert_1_both. + +2013-01-25 Eli Zaretskii + + * w32.c (max_filename_mbslen): New function. + (normalize_filename, readdir): Use it to detect locales where ANSI + encoding of file names uses a double-byte character set (DBCS). + If a DBCS encoding is used, advance by characters using + CharNextExA, instead of incrementing a 'char *' pointer. + Use _mbslwr instead of _strlwr. (Bug#13515) + + * w32heap.c (allocate_heap) [!_WIN64]: Decrease the initial + request of memory reservation to 1.7GB. (Bug#13065) + +2013-01-25 Andreas Schwab + + * coding.c (detect_coding_iso_2022): Move back mis-reordered code + at check_extra_latin label. (Bug#13505) + +2013-01-24 Dmitry Antipov + + * nsfont.m (ns_escape_name, ns_unescape_name, ns_registry_to_script): + Avoid redundant calls to strlen. + +2013-01-24 Dmitry Antipov + + Drop async_visible and async_iconified fields of struct frame. + This is possible because async input is gone; for details, see + http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00734.html. + * frame.h (struct frame): Remove async_visible and async_iconified + members, convert garbaged to unsigned bitfield. Adjust comments. + (FRAME_SAMPLE_VISIBILITY): Remove. Adjust all users. + (SET_FRAME_VISIBLE, SET_FRAME_ICONIFIED): New macros. + * frame.c, gtkutil.c, term.c, w32fns.c, window.c, xdisp.c: + Consistently use SET_FRAME_VISIBLE, SET_FRAME_ICONIFIED, + FRAME_VISIBLE_P and FRAME_ICONIFIED_P macros where appropriate. + * w32term.c: Ditto. + (w32_read_socket): Save iconified state to generate DEICONIFY_EVENT + properly. Likewise for obscured. + * xterm.c: Ditto. + (handle_one_xevent): Save visible state to generate ICONIFY_EVENT + properly. + * nsterm.m: Ditto. + (windowDidDeminiaturize): Generate DEICONIFY_EVENT. + +2013-01-24 Dmitry Antipov + + * insdel.c (prepare_to_modify_buffer): Revert last change as suggested + in http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00555.html. + +2013-01-23 Stefan Monnier + + * xdisp.c (message2, message2_nolog): Remove functions. + (message3, message3_nolog): Extract nbytes and multibyteness directly + from the string. Change all callers. + (message3_nolog): Don't set message_enable_multibyte since set_message + will reset it anyway. + (message1, message1_nolog): Use message3. + (vmessage): Use a stack allocated buffer rather than f->message_buf. + (with_echo_area_buffer): Remove last two arguments. Update all callers. + (set_message): Drop all but the second arg, which has to be a string. + (set_message_1): Simplify now that we know that a1 is NULL and the + second arg is a string. + * frame.h (struct frame): Remove `message_buf' field. + Use glyphs_initialized_p instead. + (FRAME_MESSAGE_BUF): Remove macro. + * w16select.c (Fw16_set_clipboard_data): Prefer message3 to message2. + * lisp.h (message2, message2_nolog): Remove declarations. + (message3, message3_nolog): Update declarations. + * keyboard.c (read_char_minibuf_menu_text) + (read_char_minibuf_menu_width): Remove vars. + (read_char_minibuf_menu_prompt): Rewrite the menu's construction so as + to correctly handle multibyte strings. + * frame.c (delete_frame): Don't free message_buf any more. + * editfns.c (message_text, message_length): Remove vars. + (Fmessage_box): Don't copy the Lisp string's bytes any longer. + * fileio.c (auto_save_error): Use message3 instead of message2. + * dispnew.c (adjust_frame_message_buffer): Remove function. + +2013-01-23 Eli Zaretskii + + * w32term.c (w32fullscreen_hook): Account correctly for the screen + real estate used for the tool bar and the menu bar. + +2013-01-23 Dmitry Antipov + + * insdel.c (prepare_to_modify_buffer): Force redisplay if + hidden buffer is prepared to modification (Bug#13164). + +2013-01-22 Dmitry Antipov + + * window.h (struct window): Change window_end_valid member from + Lisp_Object to a bitfield. Adjust comments. + (wset_window_end_valid): Remove. + * window.c (adjust_window_count): Clear window_end_valid. + (Fwindow_end): Adjust user. Remove ancient #if 0 code. + (Fwindow_line_height, set_window_buffer, Frecenter) + (Fsplit_window_internal, Fdelete_other_windows_internal) + (Fset_window_fringes, Fset_window_scroll_bars): Adjust users. + * dispnew.c (adjust_glyph_matrix, clear_window_matrices): Likewise. + * xdisp.c (check_window_end, reconsider_clip_changes) + (redisplay_internal, mark_window_display_accurate_1, redisplay_window) + (try_window, try_window_reusing_current_matrix, note_mouse_highlight) + (find_first_unchanged_at_end_row, try_window_id): Likewise. + +2013-01-22 Dmitry Antipov + + * xdisp.c (mark_window_display_accurate): Simplify the loop + assuming that the only one of vchild, hchild or buffer window + slots is non-nil. Call mark_window_display_accurate_1 for + the leaf windows only. + (mark_window_display_accurate_1): Always assume leaf window. + Adjust comment. + +2013-01-22 Paul Eggert + + * emacs.c (Qkill_emacs_hook): Now static. + + * fileio.c (Finsert_file_contents): Simplify. + Remove unnecessary assignments and tests. + +2013-01-21 Eli Zaretskii + + * w32.c (acl_set_file): Don't test for errors unless + set_file_security returns FALSE. Avoids spurious errors when + saving files. + +2013-01-21 Dmitry Antipov + + * fileio.c (Finsert_file_contents): Revert code introduced at + 2013-01-18 in favor of the simpler and generally better fix. + Save stack space by removing 'buffer' and reusing 'read_buf' + where appropriate. + +2013-01-19 Paul Eggert + + * lisp.h (eabs): Define unconditionally (Bug#13419). + The old "#if !defined (eabs)" was an unnecessary revenant of back + when this macro was called "abs". Document 'eabs' better. + +2013-01-19 Glenn Morris + + * fns.c (Frandom): Doc fix. + +2013-01-19 Eli Zaretskii + + * editfns.c (get_pos_property): Use SAFE_ALLOCA_LISP, to avoid + segfault when there are lots of overlays. + + * buffer.c (sort_overlays): Use SAFE_NALLOCA, to avoid segfault + when there are lots of overlays. + See http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00421.html + for the details and a way to reproduce. + +2013-01-19 Paul Eggert + + * fileio.c: Use O_APPEND to append. + This corresponds better to the natural interpretation of "append", + and avoids the need to open the output file twice, or to invoke + lseek when APPEND is neither nil nor a number. + This relies on POSIX 1003.1-1988 or later, which is OK nowadays. + (Fwrite_region): Simplify. Use O_APPEND instead of opening the + file possibly twice, and lseeking to its end; this avoids the + need to lseek on non-regular files. Do not use O_EXCL and O_TRUNC + at the same time: the combination is never needed and apparently + it doesn't work with DOS_NT. + + Fix size bug on DOS_NT introduced by CIFS workaround (Bug#13149). + * fileio.c (Fwrite_region): Use O_BINARY in checking code, too. + + Allow floating-point file offsets. + Problem reported by Vitalie Spinu in + . + * fileio.c (emacs_lseek): Remove. + (file_offset): New function. + (Finsert_file_contents, Fwrite_region): Use it. + +2013-01-19 Chong Yidong + + * emacs.c (Fkill_emacs): Set waiting_for_input to 0 to avoid + aborting on Fsignal (Bug#13289). + +2013-01-19 Eli Zaretskii + + * w32.c (acl_set_file): Treat ERROR_ACCESS_DENIED from + set_file_security as failure due to insufficient privileges. + Reported by Fabrice Popineau . + (fstat): Return owner and group like 'stat' and 'lstat' do. + +2013-01-19 Paul Eggert + + Work around bug in CIFS and vboxsf file systems (Bug#13149). + The bug was observed on Ubuntu operating inside a virtual machine, + editing files mounted via CIFS or vboxsf from the MS Windows 7 host. + The workaround introduces a race condition on non-buggy hosts, + but it's an unlikely race and anyway there's a nearly identical + nearby race that can't be fixed. + * fileio.c (valid_timestamp_file_system, timestamp_file_system): + New static vars. + (Fwrite_region): Test for file system time stamp bug. + (init_fileio): New function. + * lisp.h (init_fileio): Declare it. + * emacs.c (main): Call it. + + * fileio.c (Finsert_file_contents): Simplify new diagnostic + and make it more consistent with other stat-failure diagnostics. + +2013-01-18 Dmitry Antipov + + Fix crash when inserting data from non-regular files. + See http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00406.html + for the error description produced by valgrind. + * fileio.c (read_non_regular): Rename to read_contents. + Free Lisp_Save_Value object used to pass parameters. + (read_non_regular_quit): Rename to read_contents_quit. + (Finsert_file_contents): Redesign internal file reading loop to adjust + gap and end positions after each read and so help make_gap to work + properly. Do not signal an I/O error too early and so do not leave + not yet decoded characters in a buffer, which was the reason of + redisplay crash. Use list2 to build return value. Adjust comments. + +2013-01-17 Paul Eggert + + Close a race when statting and reading files (Bug#13149). + * fileio.c (Finsert_file_contents): Use open+fstat, not stat+open. + This avoids a race if the file is renamed between stat and open. + This race is not the problem originally noted in Bug#13149; + see and later messages in the thread. + +2013-01-17 Dmitry Antipov + + * lisp.h (toplevel): Add comment about using Lisp_Save_Value + objects, related functions and macros. + (make_save_value): Adjust prototype. + (make_save_pointer): New prototype. + (SAFE_NALLOCA): Fix indentation. Use make_save_pointer. + (SAFE_ALLOCA_LISP): Adjust make_save_value usage. + * alloc.c (format_save_value): Rename to make_save_value. + (make_save_pointer): New function. + (record_xmalloc): Use make_save_pointer. + * dired.c, editfns.c, fileio.c, font.c, gtkutil.c, lread.c: + * nsmenu.m, nsterm.m, xfns.c, xmenu.c, xselect.c, keymap.c: + Change users of make_save_value to make_save_pointer. + Likewise for format_save_value and make_save_value. + +2013-01-17 Dmitry Antipov + + * buffer.h (NARROWED, BUF_NARROWED): Drop unused macros. + (DECODE_POSITION, BUFFER_CHECK_INDIRECTION): Fix indentation. + * buffer.c (toplevel, syms_of_buffer): Drop old commented-out + debugging stubs. + +2013-01-15 Paul Eggert + + * alloc.c (free_save_value): Now static. + +2013-01-15 Dmitry Antipov + + * keymap.c (map_keymap_internal): Use format_save_value. + (map_keymap_char_table_item): Adjust accordingly. + * fileio.c (non_regular_fd, non_regular_inserted) + (non_regular_nbytes): Remove. + (Finsert_file_contents): Convert trytry to ptrdiff_t. + Use format_save_value to pass parameters to read_non_regular. + (read_non_regular): Use XSAVE_ macros to extract parameters. + Adjust comment. + * xmenu.c (xmenu_show) [!USE_X_TOOLKIT && !USE_GTK]: Use + format_save_value. + (pop_down_menu) [!USE_X_TOOLKIT && !USE_GTK]: Adjust user. + +2013-01-15 Dmitry Antipov + + * lisp.h (XSAVE_POINTER, XSAVE_INTEGER): Change to allow + extraction from any Lisp_Save_Value slot. Add type checking. + * alloc.c, dired.c, editfns.c, fileio.c, ftfont.c, gtkutil.c: + * keymap.c, lread.c, nsterm.h, nsmenu.c, xfns.c, xmenu.c: + * xselect.c: All users changed. + +2013-01-15 Dmitry Antipov + + Some convenient bits to deal with Lisp_Save_Values. + * lisp.h (XSAVE_OBJECT): New macro to extract saved objects. + (allocate_misc): Remove prototype. + (format_save_value): New prototype. + * alloc.c (allocate_misc): Revert back to static. + (format_save_value): New function to build Lisp_Save_Value + object with the specified internal structure. + (make_save_value): Reimplement using format_save_value. + * editfns.c (save_excursion_save): Use format_save_value. + (save_excursion_restore): Use XSAVE_OBJECT. + +2013-01-14 Paul Eggert + + Avoid needless casts with XSAVE_POINTER. + * alloc.c (mark_object) [GC_MARK_STACK]: + * dired.c (directory_files_internal_unwind): + * fileio.c (do_auto_save_unwind): + * gtkutil.c (pop_down_dialog): + * keymap.c (map_keymap_char_table_item): + * lread.c (load_unwind): + * nsmenu.m (pop_down_menu): + * print.c (print_object) [GC_MARK_STACK]: + * xfns.c (clean_up_file_dialog): + * xmenu.c (cleanup_widget_value_tree): + Omit casts between XSAVE_POINTER and a pointer type. + +2013-01-14 Dmitry Antipov + + Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE. + * eval.c (eval_sub): Protect `form' from being GCed before its + car and cdr becomes protected with the backtrace entry. + +2013-01-14 Dmitry Antipov + + Make Lisp_Save_Value more versatile storage for up to four objects. + * lisp.h (toplevel): Enumeration to describe types of saved objects. + (struct Lisp_Save_Value): New layout. Adjust comments. + (XSAVE_POINTER): New macro. + (XSAVE_INTEGER): Likewise. + (allocate_misc): Add prototype. + (free_misc): Likewise. + * alloc.c (allocate_misc): Now global. + (free_misc): Likewise. Adjust comment. + (make_save_value): Use new Lisp_Save_Value layout. Adjust comment. + (free_save_value): Likewise. + (mark_object): Likewise. + * editfns.c (save_excursion_save): Pack everything within + Lisp_Save_Value and so avoid xmalloc. + (save_excursion_restore): Adjust to match new layout. Use free_misc + because we do not allocate extra memory any more. Add eassert. + * print.c (print_object): New code to print Lisp_Save_Value. Do not + rely on valid_lisp_object_p if !GC_MARK_STACK. Adjust comments. + * dired.c, fileio.c, font.c, ftfont.c, gtkutil.c, keymap.c, + * lread.c, nsmenu.m, nsterm.h, xfns.c, xmenu.c, xselect.c: + Use XSAVE_POINTER and XSAVE_INTEGER where appropriate. + +2013-01-13 Jan Djärv + + * nsfont.m (LCD_SMOOTHING_MARGIN): New define. + (nsfont_draw): Remove disabling of LCD smoothing. + (ns_glyph_metrics): Add LCD_SMOOTHING_MARGIN to bearings to fix + Bug#11484 with LCD smoothing on. + +2013-01-13 Paul Eggert + + Fix SIGDANGER handlers, for AIX (Bug#13408). + * sysdep.c.c (handle_danger_signal, deliver_danger_signal) [SIGDANGER]: + Move handlers here from emacs.c; they were out of place. + +2013-01-11 Jan Djärv + + * xterm.c (syms_of_xterm): Adjust documentation for + scroll-bar-adjust-thumb-portion. + +2012-12-31 Adam Sjøgren (tiny change) + + * xterm.c (scroll-bar-adjust-thumb-portion): New variable to + determine whether scroll bar thumb size should be adjusted or not. + Use variable for MOTIF. + + * gtkutil.c (scroll-bar-adjust-thumb-portion): Use variable for GTK. + +2013-01-13 Jan Djärv + + * nsterm.m (keyDown:): Set processingCompose to NO if an emacs key + event is generated. + (doCommandBySelector:): Set processingCompose to NO. + + * nsfont.m (ns_findfonts): Add block/unblock_input calls. + Remove check for fkeys count > zero, block/unblock fixes the real bug. + (nsfont_list_family): Add block/unblock_input calls. + (nsfont_open): Move block_input earlier. Add unblock_input before early + return. + (nsfont_draw): Add block/unblock_input calls. + +2013-01-12 Dmitry Antipov + + * indent.c (Fvertical_motion): Remove now-incorrect GCPROs + for old_charpos and old_bytepos. + +2013-01-12 Paul Eggert + + Fix bug with set-time-zone-rule and LOCALTIME_CACHE (Bug#13415). + * editfns.c (set_time_zone_rule) [LOCALTIME_CACHE]: + Clear tzvalbuf_in_environ if this workaround is in effect. + Problem and fix reported by Kazuhiro Ito. + +2013-01-11 Aaron S. Hawley + + * insdel.c (Fcombine_after_change_execute, syms_of_insdel): + Fix ambiguous doc string cross-reference(s). + + * keyboard.c (Fcommand_execute, syms_of_keyboard): Fix ambiguous + doc string cross-reference(s). + + * window.c (Fwindow_point, syms_of_window): Fix ambiguous doc + string cross-reference(s). + +2013-01-11 Dmitry Antipov + + Avoid unnecessary byte position calculation for the gap movement. + Since all users of move_gap do CHAR_TO_BYTE for other purposes + anyway, all of them should use move_gap_both instead. + * lisp.h (move_gap): Remove prototype. + * insdel.c (move_gap): Remove. + (move_gap_both): Add eassert. + * editfns.c (Ftranspose_regions): Tweak to use move_gap_both. + * xml.c (parse_region): Likewise. + +2013-01-11 Paul Eggert + + emacsclient -t should not suspend Emacs server (Bug#13387) + * lisp.h, sysdep.c (block_tty_out_signal, unblock_tty_out_signal): + New functions. + * term.c (init_tty): Use them instead of rolling our own code. + * sysdep.c (tcsetpgrp_without_stopping): Likewise. Here, this + switches from 'signal' to 'pthread_sigmask', which is safer in + multithreaded applications. + * term.c (Fresume_tty): Don't bother dissociating if O_IGNORE_CTTY, + which has already arranged for that. + (dissociate_if_controlling_tty): If setsid fails, fall back on TIOCNOTTY. + This is the main part of the bug fix. + +2013-01-10 Rainer Orth (tiny change) + + * gtkutil.c (xg_initialize): Add ifdef HAVE_FREETYPE around + x_last_font_name (Bug#13403). + +2013-01-10 Dmitry Antipov + + Omit buffer_slot_type_mismatch and use generic predicates to enforce + the type of per-buffer values where appropriate. + * lisp.h (struct Lisp_Buffer_Objfwd): Rename slottype member to + predicate, which is how it's really used now. Adjust comment. + * buffer.h (buffer_slot_type_mismatch): Remove prototype. + * buffer.c (buffer_slot_type_mismatch): Remove. + (DEFVAR_PER_BUFFER, defvar_per_buffer): Rename type argument to + predicate. Adjust comment. + (syms_of_buffer): Use Qsymbolp for major-mode. Use Qintegerp for + fill-column, left-margin, tab-width, buffer-saved-size, + left-margin-width, right-margin-width, left-fringe-width, + right-fringe-width, scroll-bar-width and buffer-display-count. + Use Qstringp for default-directory, buffer-file-name, + buffer-file-truename and buffer-auto-save-file-name. Use Qfloatp for + scroll-up-aggressively and scroll-down-aggressively. Use Qnumberp for + line-spacing. + * data.c (store_symval_forwarding): Adjust to call the predicate. + +2013-01-09 Juanma Barranquero + + * w32.c (get_name_and_id, acl_set_file): + * w32term.c (w32fullscreen_hook): Remove unused local variables. + +2013-01-09 Dmitry Antipov + + * lisp.h (make_gap_1): New prototype. + * buffer.h (GAP_BYTES_DFL, GAP_BYTES_MIN): New macros for the special + gap size values. + * editfns.c (Fbuffer_size): Rename from Fbufsize to fit the common + naming convention. + (syms_of_editfns): Adjust defsubr. Drop commented-out obsolete code. + * insdel.c (make_gap_larger): Use GAP_BYTES_DFL. Adjust comment. + (make_gap_smaller): Use GAP_BYTES_MIN. Adjust comment. + (make_gap_1): New function to adjust the gap of any buffer. + * coding.c (coding_alloc_by_making_gap): Use it. + * buffer.c (compact_buffer): Likewise. Use BUF_Z_BYTE, BUF_GAP_SIZE, + GAP_BYTES_DFL and GAP_BYTES_MIN. Adjust comment. + +2013-01-08 Juri Linkov + + * xfaces.c (tty_supports_face_attributes_p): Return 0 for the case + of (supports :underline (:style wave)). (Bug#13000) + +2013-01-08 Aaron S. Hawley + + * undo.c (Fprimitive_undo): Move to simple.el. + (syms_of_undo): Remove declarations for Sprimitive_undo. + +2013-01-08 Stefan Monnier + + * keyboard.c (echo_add_key): Rename from echo_add_char. + +2013-01-06 Chong Yidong + + * keyboard.c (echo_add_char): New function, factored out from + echo_char. Don't add a space if the previous echo string was + empty (Bug#13255). + (echo_char): Use it. + (read_key_sequence): When echoing mock input, ensure that the + trailing dash is properly added. + +2013-01-05 Eli Zaretskii + + * xdisp.c (dump_glyph): Align glyph data better. Use "pD" instead + of a non-portable "t" to print ptrdiff_t values. Allow up to 9 + digits for buffer positions, before misalignment starts. + Display "0" for integer "object" field. + (dump_glyph_row): Adapt the header line to changes in dump_glyph. + Display the newline glyph more unambiguously. + +2013-01-04 YAMAMOTO Mitsuharu + + * nsterm.m (ns_draw_underwave): + * w32term.c (w32_draw_underwave): + * xterm.c (x_draw_underwave): Make underwave look more triangular + and also degrade gracefully for small fonts. (Bug#13000) + + * nsterm.m (ns_draw_text_decoration): + * w32term.c (x_draw_glyph_string): + * xterm.c (x_draw_glyph_string): Don't use previous underline + thickness and position if previous underline type is underwave. + +2013-01-04 Stefan Monnier + + * fileio.c (Ffile_acl): Undocument return format. + +2013-01-02 Glenn Morris + + * keymap.c (Fkey_description): Doc fix. (Bug#13323) + +2013-01-02 Paul Eggert + + Simplify via eabs. + * dired.c (file_name_completion): + * doc.c (get_doc_string): + * floatfns.c (round2): + * font.c (font_score, font_delete_unmatched): + * fringe.c (compute_fringe_widths): + * lread.c (read_list): + * minibuf.c (Ftry_completion): + * term.c (tty_ins_del_lines): + * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1): + Use eabs (x) rather than open-coding it as (x < 0 ? -x : x). + +2012-12-31 Eli Zaretskii + + * w32.c (unsetenv): Set up the string passed to _putenv + correctly. + See http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00863.html + for the bug this caused. + +2012-12-30 Paul Eggert + + * coding.c (Qmac): Now static. + +2012-12-30 Jan Djärv + + * gtkutil.c (TOOLBAR_TOP_WIDGET): New macro. + (xg_pack_tool_bar): Use TOOLBAR_TOP_WIDGET, condition out use of + handlebox_widget. Set toolbar_in_hbox to false/true, set + toolbar_is_packed to true. + (xg_update_tool_bar_sizes): Use widget returned by TOOLBAR_TOP_WIDGET. + (update_frame_tool_bar): Check toolbar_is_packed for packing. + Show all on TOOLBAR_TOP_WIDGET. + (free_frame_tool_bar): Check toolbar_is_packed. Use widget returned + by TOOLBAR_TOP_WIDGET. + (xg_change_toolbar_position): Use widget returned by TOOLBAR_TOP_WIDGET. + Check toolbar_is_packed. + (xg_have_tear_offs, tearoff_remove, tearoff_activate): Condition on + HAVE_GTK_TEAROFF_MENU_ITEM_NEW. + (xg_have_tear_offs): When ! HAVE_GTK_TEAROFF_MENU_ITEM_NEW, return + false. + (create_menus): Create tearoff only if HAVE_GTK_TEAROFF_MENU_ITEM_NEW. + (xg_update_menubar): Update title only if + HAVE_GTK_TEAROFF_MENU_ITEM_NEW. + (xg_update_submenu): Skip tearoff only if + HAVE_GTK_TEAROFF_MENU_ITEM_NEW. + (xg_initialize): Initialize xg_detached_menus only if + HAVE_GTK_TEAROFF_MENU_ITEM_NEW. + + * xterm.h (struct x_output): Surround handlebox_widget with + #ifdef HAVE_GTK_HANDLE_BOX_NEW. toolbar_is_packed is new, + toolbar_in_hbox is bool. + +2012-12-30 Andreas Schwab + + * src/Makefile.in (TEMACS_LDFLAGS2): Remove. + (LIBS_GNUSTEP): Define. + (LIBES): Add $(LIBS_GNUSTEP). + (temacs$(EXEEXT)): Use $(LDFLAGS) instead of $(TEMACS_LDFLAGS2). + +2012-12-30 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Don't confuse a truncation or + continuation glyph on a TTY with an indication of an empty line. + (Bug#13277) + +2012-12-29 Eli Zaretskii + + * fileio.c (Fset_file_selinux_context, Fset_file_acl): Return t if + file's SELinux context or ACLs successfully set, nil otherwise. + (Bug#13298) + (Fcopy_file) [WINDOWSNT]: Improve diagnostics when CopyFile fails. + + * w32proc.c (reader_thread): Avoid passing NULL handles to + SetEvent and WaitForSingleObject. + +2012-12-28 Paul Eggert + + Port EXTERNALLY_VISIBLE to Clang 3.2. + * conf_post.h (__has_attribute): New macro. + (EXTERNALLY_VISIBLE): Use it. This ports to Clang 3.2. + +2012-12-27 Glenn Morris + + * cygw32.c (Fcygwin_convert_file_name_to_windows) + (Fcygwin_convert_file_name_from_windows): Doc fixes. + +2012-12-27 Eli Zaretskii + + * fileio.c (file_name_as_directory, directory_file_name): + Accept an additional argument MULTIBYTE to indicate whether the input C + came from a multibyte or a unibyte Lisp string; all callers + adjusted. Don't assume the input string is always multibyte. + (Bug#13262) + (Ffile_name_directory) [DOS_NT]: Handle unibyte strings correctly: + don't ENCODE_FILE them, and return a unibyte string if the input + was unibyte. + (Fexpand_file_name): Don't mix unibyte with multibyte strings, and + don't assume the input strings will always be multibyte. If the + input strings are multibyte, decode strings obtained from C + library functions. + +2012-12-26 Dmitry Antipov + + * lisp.h (toplevel): Add two notices to the comment about + defining a new Lisp data type. + * print.c (print_object): If Lisp_Save_Value object's pointer + is the address of a memory area containing Lisp_Objects, try + to print them. + * alloc.c (valid_lisp_object_p): Adjust comment. + +2012-12-26 Dmitry Antipov + + * keyboard.c (record_asynch_buffer_change): Initialize an event + only if it's really needed. + * frame.h (enum output_method): Remove output_mac member since + it's a leftover from the deleted code. + * frame.c (Fframep): Adjust user here ... + * terminal.c (Fterminal_live_p): ... and here. + * coding.c (Qmac): Now here because it's only used to denote + end-of-line encoding type. + (syms_of_coding): DEFSYM it. + * frame.h (Qmac): Remove duplicated declaration. + +2012-12-26 Paul Eggert + + * window.c (select_window_1): Now static, since it's used only here. + +2012-12-25 Eli Zaretskii + + * window.c (window_body_cols): Subtract display margins from the + window body width on TTYs as well. See + http://lists.gnu.org/archive/html/help-gnu-emacs/2012-12/msg00317.html + for the original report. + +2012-12-25 Dmitry Antipov + + * xdisp.c (redisplay_window): Remove inner local variable + because the outer shadowed one has the same meaning. + * xterm.h (struct x_output): Remove toolbar_detached member since it's + set but never used. + * gtkutil.c (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback) + (xg_create_tool_bar): Adjust users. + +2012-12-24 Dmitry Antipov + + * buffer.h (BUF_COMPACT): New macro to follow the common style. + * buffer.c (Fget_buffer_create): Use it to set compact field of + struct buffer_text to avoid accessing an uninitialized value + when compact_buffer is called for the first time. + (compact_buffer): Use convenient BUF_COMPACT and BUF_MODIFF. + (Fset_buffer_modified_p): Use buffer_window_count to check + whether the buffer is displayed in some window. + * xdisp.c (message_dolog): Likewise. + +2012-12-23 Eli Zaretskii + + * w32.c (acl_set_file): If setting the file security descriptor + fails, and the new DACL is identical to the existing one, silently + return success. This fixes problems for users backing up their + own files without having the necessary privileges for setting + security descriptors. + + * w32proc.c (reader_thread): Do not index fd_info[] with negative + values. + (reader_thread): Exit when cp->status becomes STATUS_READ_ERROR + after WaitForSingleObject returns normally. This expedites reader + thread shutdown when delete_child triggers it. + (reap_subprocess): More accurate commentary for why we call + delete_child only when cp->fd is negative. + + * w32.c (sys_close): Do not call delete_child on a subprocess + whose handle is not yet closed. Instead, set its file descriptor + to a negative value, so that reap_subprocess will call + delete_child on that subprocess when its SIGCHLD arrives. + This avoids closing handles used for communications between sys_select + and reader_thread, which doesn't give sys_select a chance to + notice that the process exited and invoke the SIGCHLD handler for + it. + +2012-12-23 Jan Djärv + + * nsfns.m (Fns_do_applescript): Run event loop until script has + been executed (Bug#12969). + (ns_run_ascript): Chech as_script for nil, set to nil after + executing script. + +2012-12-22 Martin Rudalics + + * window.c (Fselect_window): Reword doc-string (Bug#13248). + +2012-12-22 Eli Zaretskii + + * w32term.c (w32fullscreen_hook): New function. + (w32_create_terminal): Plug it into the terminal's fullscreen_hook. + +2012-12-21 Eli Zaretskii + + * fileio.c (Finsert_file_contents): Doc fix. + + * w32proc.c (new_child, delete_child, find_child_pid): For a + subprocess, consider its slot being in use as long as its process + handle (procinfo.hProcess) is not NULL. This avoids reusing the + slot when a new process is started immediately after killing + another one, without waiting enough time for the first process to + be reaped and resources allocated for it be orderly freed. + (Bug#13086) + Suggested by Fabrice Popineau . + +2012-12-21 Chong Yidong + + * buffer.c (Fset_buffer_major_mode): Doc fix (Bug#13231). + + * fns.c (Fcompare_strings): Doc fix (Bug#13081). + +2012-12-21 Eli Zaretskii + + * w32.c (get_name_and_id): Always pass NULL as the first argument + of lookup_account_sid. Avoids crashes with UNC file names that + refer to DFS domains, not to specific machine names. (Bug#12621) + Remove now unused argument FNAME; all callers changed. + (get_file_owner_and_group): Remove now unused argument FNAME; all + callers changed. + +2012-12-21 Chong Yidong + + * editfns.c (Finsert_char): Since read-char-by-name now signals an + error for invalid chars, don't check for a nil return value. + +2012-12-20 Dmitry Antipov + + Avoid calls to CHAR_TO_BYTE if byte position is known. + * editfns.c (make_buffer_string_both): Use move_gap_both. + (Fbuffer_string): Use make_buffer_string_both. + * marker.c (buf_charpos_to_bytepos): Convert to eassert. + Adjust comment. + (buf_bytepos_to_charpos): Likewise. + (charpos_to_bytepos): Remove. + * fileio.c (Finsert_file_contents): Use move_gap_both. + * search.c (Freplace_match): Likewise. + * process.c (process_send_region): Likewise. Use convenient + names for byte positions. + * lisp.h (charpos_to_bytepos): Remove prototype. + * indent.c (scan_for_column): Use CHAR_TO_BYTE. + * insdel.c (move_gap): Likewise. + +2012-12-20 Paul Eggert + + * xdisp.c (redisplay_internal): Remove now-unused local. + +2012-12-20 Stefan Monnier + + * xdisp.c (select_frame_for_redisplay, ensure_selected_frame): Remove. + (redisplay_internal): Don't bother selecting the frame to get the + proper value of frame-local variables (bug#13225). + +2012-12-20 Dmitry Antipov + + * textprop.c (set_text_properties_1): Do not allow NULL interval. + Rename 4th argument since it may be buffer or string. Adjust comment. + * intervals.c (graft_intervals_info_buffer): Find an interval here. + +2012-12-19 Dmitry Antipov + + * coding.c (Fdetect_coding_region): Do not check start and end with + CHECK_NUMBER_COERCE_MARKER since validate_region does that itself. + (code_convert_region): Likewise. + +2012-12-18 Eli Zaretskii + + * w32.c (acl_get_file, acl_set_file): Run the file name through + map_w32_filename, and resolve any symlinks in the file name, like + Posix platforms do. + (acl_set_file): Call revert_to_self, if any privileges were + enabled. + +2012-12-17 Juanma Barranquero + + * makefile.w32-in ($(BLD)/editfns.$(O), $(BLD)/fileio.$(O)) + ($(BLD)/w32.$(O)): Update dependencies. + +2012-12-17 Stefan Monnier + + * xdisp.c (select_frame_for_redisplay): Use select_window_1 to + propagate redisplay's scrolling (if any) to the right window. + (redisplay_internal): Use ensure_selected_frame. + (display_mode_lines): Complete last fix. + * window.c (select_window_1): New func, extracted from select_window. + (select_window): Use it. + * window.h (select_window_1): Declare. + +2012-12-17 Eli Zaretskii + + Emulate Posix ACL APIs on MS-Windows. + * w32.c: Include sddl.h and sys/acl.h. + (SDDL_REVISION_1): Define if not already defined. + (g_b_init_get_security_descriptor_dacl) + (g_b_init_convert_sd_to_sddl, g_b_init_convert_sddl_to_sd) + (g_b_init_is_valid_security_descriptor) + (g_b_init_set_file_security): New static flags. + (globals_of_w32): Initialize them to zero. + (SetFileSecurity_Name): New string constant. + (SetFileSecurity_Proc, GetSecurityDescriptorDacl_Proc) + (ConvertStringSecurityDescriptorToSecurityDescriptor_Proc) + (ConvertSecurityDescriptorToStringSecurityDescriptor_Proc) + (IsValidSecurityDescriptor_Proc): New typedefs. + (get_file_security, get_security_descriptor_owner) + (get_security_descriptor_group): Set errno to ENOTSUP. + (set_file_security, get_security_descriptor_dacl) + (is_valid_security_descriptor, convert_sd_to_sddl) + (convert_sddl_to_sd, acl_valid, acl_to_text, acl_from_text) + (acl_free, acl_get_file, acl_set_file): New functions. + + * fileio.c (Fcopy_file) [WINDOWSNT]: Support copying ACLs. + +2012-12-17 Paul Eggert + + Don't reraise SIGCHLD, as that can now lose (Bug#13192). + With the 2012-12-03 fix for Bug#12980 in place, an old workaround + for some of that bug's symptoms can now cause Emacs to abort. + Remove the workaround. + * process.c (wait_reading_process_output): Don't reraise SIGCHLD. + The bug that caused SIGCHLD to get lost has been fixed, and the + workaround for it can now cause Emacs to abort. + +2012-12-16 Paul Eggert + + * sysdep.c (emacs_abort): Bump backtrace size to 40. + Companion to the 2012-09-30 patch. Suggested by Eli Zaretskii in + . + +2012-12-16 Romain Francoise + + * fileio.c (Ffile_acl, Fset_file_acl): New functions. + (Fcopy_file): Change last arg to `preserve_extended_attributes' + and copy ACL entries of file in addition to SELinux context if set. + (syms_of_fileio): Add `file-acl' and `set-file-acl'. + + * Makefile.in (LIBACL_LIBS): New macro. + (LIBES): Use it. + +2012-12-15 Paul Eggert + + * fileio.c (internal_delete_file): Use bool for boolean. + +2012-12-15 Eli Zaretskii + + Fix bug #13079 on MS-Windows with temp files not being deleted. + * w32.h (_child_process): New members input_file and + pending_deletion. + (register_child): First argument is now pid_t. + (record_infile, record_pending_deletion): New prototypes. + + * w32proc.c (new_child): Initialize input_file and + pending_deletion members of the child. + (delete_child): Delete the child's temporary input file, if any, + that is pending deletion. + (register_child): First argument is now pid_t. + (record_infile, record_pending_deletion): New functions. + (reap_subprocess): Fix a typo in DebPrint string. + (sys_spawnve, sys_kill): Use pid_t for PID arguments. + + * fileio.c (internal_delete_file): Return an int again: non-zero + if delete-file succeeds, zero otherwise. + + * lisp.h (internal_delete_file): Adjust prototype. + + * callproc.c (Fcall_process): Don't overwrite infile with result + of DECODE_FILE. + [WINDOWSNT] If BUFFER is an integer, i.e. we are launching an + asynchronous subprocess, record the name of the input file name, + if any. + (delete_temp_file) [WINDOWSNT]: If internal_delete_file fails to + delete the file, record it as pending deletion when the subprocess + exits. + +2012-12-14 Eli Zaretskii + + * editfns.c [HAVE_PWD_H]: Include grp.h. + + * makefile.w32-in ($(BLD)/editfns.$(O)): Add $(NT_INC)/grp.h. + +2012-12-14 Paul Eggert + + Fix permissions bugs with setgid directories etc. (Bug#13125) + * dired.c (Ffile_attributes): Return t as the 9th attribute, + to mark it as a placeholder. The old value was often wrong. + The only user of this attribute has been changed to use + file-ownership-preserved-p instead, with its new group arg. + * editfns.c (Fgroup_gid, Fgroup_real_gid): New functions. + +2012-12-14 Stefan Monnier + + * xdisp.c (select_frame_for_redisplay, display_mode_lines): + Keep selected_window and selected_frame in sync. + +2012-12-14 Eli Zaretskii + + * w32.c (stat_worker): If w32_stat_get_owner_group is zero, do not + try to get accurate owner and group information from NT file + security APIs. This is to make most callers of 'stat' and + 'lstat', which don't need that information, much faster. + + * dired.c (Ffile_attributes) [WINDOWSNT]: + Set w32_stat_get_owner_group to a non-zero value, to request accurate + owner and group information from 'lstat'. + +2012-12-13 Paul Eggert + + * fileio.c (Finsert_file_contents): Don't put tail into head area, + as that confuses set-auto-coding, so insist on the head-read + returning the full 1024 bytes. Let lseek compute the tail offset; + less work for us. Do not ignore I/O errors when reading the tail. + + * xdisp.c: Minor style fixes. + (init_iterator): Hoist assignment out of if-expression. + (markpos_of_region): Callers now test for sign, not for -1. + +2012-12-13 Dmitry Antipov + + Minor redisplay optimization when the region length is zero. + * xdisp.c (markpos_of_region): New function. + (init_iterator): Do not highlight the region of zero length. + (redisplay_window): Check whether the region is of non-zero length. + (try_cursor_movement): Allow if the region length is zero. + (try_window_reusing_current_matrix, try_window_id): Likewise. + +2012-12-13 Eli Zaretskii + + * search.c (search_buffer): Check the inverse translations of each + character in pattern when the buffer being searched is unibyte. + (Bug#13084) + +2012-12-13 Paul Eggert + + * fileio.c (Fvisited_file_modtime): Return (-1 ...) for nonexistent + files, fixing a regression from 24.2. + (Fverify_visited_file_modtime): Don't read uninitialized st.st_size. + +2012-12-13 Paul Eggert + + * fileio.c (Fcopy_file): Make fstat failure as serious as open failure. + fstat shouldn't fail, and if it does fail copy-file should not proceed. + Remove unnecessary S_ISLNK test, as (contra the comments) this + function can't copy symlinks. Improve quality of error message + when attempting to copy files that are neither regular files nor + directories. + +2012-12-12 Dmitry Antipov + + * dispnew.c (set_window_cursor_after_update): Use clip_to_bounds. + * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): + * window.c (Frecenter): + * xdisp.c (resize_mini_window, hscroll_window_tree, draw_glyphs): + * xterm.c (x_set_toolkit_scroll_bar_thumb): Likewise. + +2012-12-12 Daniel Colascione + + * unexcw.c (fixup_executable): Use posix_fallocate to ensure that + the dumped Emacs is not a sparse file, greatly improving Cygwin + "make bootstrap" performance. + +2012-12-11 Michael Albinus + + * inotify.c (inotify_callback): Generate an Emacs event for every + incoming inotify event. + +2012-12-11 Eli Zaretskii + + * xdisp.c (handle_face_prop): Fix logic of computing + it->start_of_box_run_p. + (append_space_for_newline): If the glyph row is R2L, reset the + iterator's end_of_box_run_p flag before prepending the space glyph. + (extend_face_to_end_of_line): If the glyph row is R2L, reset the + iterator's start_of_box_run_p flag before prepending the stretch. + (append_glyph, produce_image_glyph, append_composite_glyph) + (append_stretch_glyph, append_glyphless_glyph): Reverse the + left_box_line_p and right_box_line_p flags of the glyph for R2L + glyph rows. (Bug#13011) + +2012-12-11 Dmitry Antipov + + * buffer.c (Fset_buffer_multibyte): Do not force redisplay + if changed buffer is not shown in a window. + * insdel.c (prepare_to_modify_buffer): Likewise. + * window.c (replace_buffer_in_windows_safely): Do nothing + if buffer is not shown in a window. + (Fforce_window_update): Likewise if string or buffer argument + is passed. + +2012-12-11 Eli Zaretskii + + * inotify.c (Finotify_add_watch): Rename decoded_file_name to + encoded_file_name, which is what it is. + +2012-12-11 Dmitry Antipov + + Consistently use marker_position and marker_byte_position. + * fringe.c (Ffringe_bitmaps_at_pos): + * indent.c (Fvertical_motion): + * insdel.c (prepare_to_modify_buffer): + * keyboard.c (make_lispy_position): + * window.c (Fwindow_end, Fpos_visible_in_window_p, unshow_buffer) + (window_scroll_pixel_based, displayed_window_lines) + (Fset_window_configuration): + * xdisp.c (message_dolog, with_echo_area_buffer_unwind_data) + (mark_window_display_accurate_1, redisplay_window, decode_mode_spec): + Replace direct access to marker fields with calls + to marker_position and/or marker_byte_position. + +2012-12-11 Juanma Barranquero + + * makefile.w32-in (SIG2STR_H): New macro. + (SYSWAIT_H, $(BLD)/emacs.$(O), $(BLD)/process.$(O)) + ($(BLD)/w32notify.$(O)): Update dependencies. + +2012-12-10 Daniel Colascione + + * w32term.c, keyboard.c: Fix build break in cygw32 by omitting + Windows file notification functionality unless WINDOWSNT. + + * w32gui.h (hprevinst, lpCmdLine, nCmdShow): Remove unused + declarations. + + * w32fns.c (cache_system_info): Initialize the global hinst + variable here so various initialization calls DTRT. + + * unexw32.c (hprevinst, lpCmdLine, nCmdShow): Remove unused variables. + (hinst): Remove unneeded extern declaration. + (_start): Remove initialization of above variables; remove + initialization of hinst, as cache_system_info now does that. + + * emacs.c (main): Call cache_system_info early in startup; we + previously weren't calling it in Cygwin builds. + + * Makefile.in (ntsource, WINDRES, W32_RES, W#@_RES_LINK): + Teach the autoconf build system how to compile a Windows resource file + and link it to Emacs. + +2012-12-10 Dmitry Antipov + + Per-buffer window counters. + * buffer.h (struct buffer): New member window_count. + (buffer_window_count): New function. + * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): + Initialize window_count. + (Fkill_buffer): Verify window_count for the buffer being killed. + (modify_overlay): Do not force redisplay if buffer is not shown + in any window. + (init_buffer_once): Initialize window_count for buffer_defaults + and buffer_local_symbols. + * window.h (buffer_shared): Remove declaration. + (wset_buffer): Convert from inline ... + * window.c (wset_buffer): ... to an ordinary function. + (adjust_window_count): New function. + (make_parent_window): Use it. + * xdisp.c (buffer_shared): Remove. + (redisplay_internal, redisplay_window): Adjust users. + (buffer_shared_and_changed): Use per-buffer window counter. + +2012-12-10 Eli Zaretskii + + Support for filesystem notifications on MS-Windows. + * w32proc.c (sys_select): If drain_message_queue returns non-zero, + and this is a TTY frame, signal the caller that keyboard input is + available. + + * w32xfns.c (drain_message_queue): Now returns an int: an + indication whether any WM_EMACS_FILENOTIFY messages were found in + the queue. + + * w32inevt.c (handle_file_notifications): New function. + (w32_console_read_socket): Call it to process file notifications. + + * w32console.c (initialize_w32_display): Record the main thread ID + in dwMainThreadId. + + * deps.mk (inotify.o): New dependency list. + + * Makefile.in (SOME_MACHINE_OBJECTS): Add w32notify.o. + + * w32term.h (WM_EMACS_FILENOTIFY): New custom message. + (WM_EMACS_END): Bump value by 1. + (notification_buffer_in_use, file_notifications) + (notifications_size, notifications_desc): Declare. + (w32_get_watch_object, lispy_file_action, globals_of_w32notify): + Add prototypes. + + * w32term.c (lispy_file_action, queue_notifications): New functions. + (syms_of_w32term) + : New symbols. + (w32_read_socket): Handle the WM_EMACS_FILENOTIFY message. + + * w32notify.c: New file, implements file event notifications for + MS-Windows. + + * w32fns.c (w32_wnd_proc): Handle the WM_EMACS_FILENOTIFY message + by posting it to the w32_read_socket queue. + + * termhooks.h (enum event_kind) [HAVE_NTGUI]: Support FILE_NOTIFY_EVENT. + + * makefile.w32-in (OBJ2): Add $(BLD)/w32notify.$(O). + (GLOBAL_SOURCES): Add w32notify.c + ($(BLD)/w32notify.$(O)): New set of dependencies. + + * lisp.h (syms_of_w32notify) [WINDOWSNT]: Add prototype. + + * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: + Handle FILE_NOTIFY_EVENT. + (syms_of_keyboard) [HAVE_NTGUI] : New symbol. + (keys_of_keyboard) [WINDOWSNT]: Bind file-notify to + w32notify-handle-event by default. + + * emacs.c (main) [WINDOWSNT]: Call globals_of_w32notify and + syms_of_w32notify. + +2012-12-10 Rüdiger Sonderfeld + + Support for filesystem notifications on GNU/Linux via inotify. + * termhooks.h (enum event_kind) [HAVE_INOTIFY]: Add FILE_NOTIFY_EVENT. + + * lisp.h (syms_of_inotify) [HAVE_INOTIFY]: Add prototype. + + * keyboard.c (Qfile_inotify) [HAVE_INOTIFY]: New variable. + (syms_of_keyboard): DEFSYM it. + (kbd_buffer_get_event) [HAVE_INOTIFY]: Generate FILE_NOTIFY_EVENT. + (make_lispy_event): Support FILE_NOTIFY_EVENT by generating + Qfile_inotify events. + (keys_of_keyboard) [HAVE_INOTIFY]: Bind file-inotify events in + special-event-map to inotify-handle-event. + + * emacs.c (main) [HAVE_INOTIFY]: Call syms_of_inotify. + + * Makefile.in (base_obj): Add inotify.o. + + * inotify.c: New file. + +2012-12-10 Jan Djärv + + * nsterm.m (fd_handler:): FD_ZERO fds (Bug#13103). + +2012-12-10 Fabrice Popineau + + * w32fns.c (cache_system_info): Cast sysinfo_cache.dwPageSize to + DWORD_PTR, for compatibility with 64-bit builds. + + * w32.c (_PROCESS_MEMORY_COUNTERS_EX): + (GetProcessWorkingSetSize_Proc, get_process_working_set_size) + (system_process_attributes): Use SIZE_T rather than DWORD, for + compatibility with 64-bit builds. + +2012-12-10 Christopher Schmidt + + * lread.c (Vload_source_file_function): Doc fix (Bug#11647). + +2012-12-10 Eli Zaretskii + + * indent.c (Fvertical_motion): If a display string will be + displayed on the left or the right margin, don't consider it as a + factor in cursor positioning. (Bug#13108) + +2012-12-10 Martin Rudalics + + * editfns.c (Fcompare_buffer_substrings): Reword doc-string. + +2012-12-10 Paul Eggert + + * fileio.c (Fsubstitute_in_file_name): Use ptrdiff_t, not int, + for string length. + +2012-12-08 Eli Zaretskii + + * w32.c (unsetenv): Return 0 if the input string is too long. + +2012-12-08 Paul Eggert + + Use putenv+unsetenv instead of modifying environ directly (Bug#13070). + * alloc.c (xputenv): New function. + * dbusbind.c (Fdbus_init_bus): + * emacs.c (main): + * xterm.c (x_term_init): + Use xputenv instead of setenv or putenv, to detect memory exhaustion. + * editfns.c (initial_tz): Move static var decl up. + (tzvalbuf_in_environ): New static var. + (init_editfns): Initialize these two static vars. + (Fencode_time): Don't assume arbitrary limit on EMACS_INT width. + Save old TZ value on stack, if it's small. + (Fencode_time, set_time_zone_rule): Don't modify 'environ' directly; + instead, use xputenv+unsetenv to set and restore TZ. + (environbuf): Remove static var. All uses removed. + (Fset_time_zone_rule): Do not save TZ and environ; + no longer needed here. + (set_time_zone_rule_tz1, set_time_zone_rule_tz2) [LOCALTIME_CACHE]: + Move to inside set_time_zone_rule; they don't need file scope any more. + (set_time_zone_rule): Maintain the TZ=value string separately. + (syms_of_editfns): Don't initialize initial_tz; + init_editfns now does it. + * emacs.c (dump_tz) [HAVE_TZSET]: Now const. + * lisp.h (xputenv): New decl. + +2012-12-08 Fabrice Popineau + + * w32fns.c (emacs_abort): Don't do arithmetics on void pointers. + +2012-12-08 Eli Zaretskii + + * w32.c (unsetenv, sys_putenv): New functions. + +2012-12-08 Chong Yidong + + * editfns.c (Finsert_char): Make the error message more + informative (Bug#12992). + +2012-12-08 Paul Eggert + + Simplify get_lim_data. + * vm-limit.c (get_lim_data): Combine RLIMIT_AS and RLIMIT_DATA methods. + Remove USG and vlimit methods; no longer used these days. + Add #error catchall just in case. + + Assume POSIX 1003.1-1988 or later for signal.h (Bug#13026). + Exceptions: do not assume SIGCONT, SIGSTOP, SIGTSTP, SIGTTIN, + SIGTTOU, SIGUSR1, SIGUSR2, as Microsoft platforms lack these. + * process.c [subprocesses]: Include , . + (deleted_pid_list, Fdelete_process, create_process) + (record_child_status_change, handle_child_signal, deliver_child_signal) + (init_process_emacs, syms_of_process): + Assume SIGCHLD is defined. + (parse_signal): Remove. All uses removed. + (abbr_to_signal): New static function. + (Fsignal_process): Use it to convert signal names to ints. + * sysdep.c (sys_suspend) [!DOS_NT]: Use kill (0, ...) rather than + kill (getpgrp (), ...). + (emacs_sigaction_init): Assume SIGCHLD is defined. + (init_signals): Assume SIGALRM, SIGCHLD, SIGHUP, SIGKILL, + SIGPIPE, and SIGQUIT are defined. Do not worry about SIGCLD any more. + * syssignal.h (EMACS_KILLPG): Remove. + All uses replaced by 'kill' with a negative pid. + (SIGCHLD): Remove definition, as we now assume SIGCHLD. + * w32proc.c (sys_kill): Support negative pids compatibly with POSIX. + +2012-12-07 Paul Eggert + + * sysdep.c (get_child_status): Abort on internal error (Bug#13086). + This will cause a production Emacs to dump core instead of + infinite-looping. + +2012-12-07 Dmitry Antipov + + * frame.c (make_frame): Do not set window's buffer to t. + * window.c (Fsplit_window_internal): Likewise. Previously it was + used to indicate that the window is being set up. Now we use + set_window_buffer for all new windows, so the condition in ... + (Fset_window_buffer): ... is always true and can be removed. + +2012-12-07 Dmitry Antipov + + Convenient macro to check whether the buffer is hidden. + * buffer.h (BUFFER_HIDDEN_P): New macro. + * frame.c (make_frame): Use it. Adjust comment. + * buffer.c (candidate_buffer): New function. + (Fother_buffer, other_buffer_safely): Use it. + +2012-12-06 Eli Zaretskii + + * w32proc.c (waitpid): Avoid busy-waiting when called with WNOHANG + if the child process is still running. Instead, exit the wait + loop and return zero. (Bug#13086) + +2012-12-06 Dmitry Antipov + + * frame.h (x_char_width, x_char_height): Remove prototypes. + * w32term.h (x_char_width, x_char_height): Likewise. + * xfns.c (x_char_width, x_char_height): Remove. + * w32fns.c (x_char_width, x_char_height): Likewise. + * nsfns.c (x_char_width, x_char_height): Likewise. + * frame.c (Fframe_char_width): Use FRAME_COLUMN_WIDTH for + all window frames. + (Fframe_char_height): Likewise with FRAME_LINE_HEIGHT. + * keyboard.c (command_loop_1): Remove prototype. + (command_loop_2, top_level_1): Add static to match prototype. + +2012-12-06 Paul Eggert + + Fix a recently-introduced delete-process race condition. + * callproc.c, process.h (record_kill_process): + New function, containing part of the old call_process_kill. + (call_process_kill): Use it. + This does not change call_process_kill's behavior. + * process.c (Fdelete_process): Use record_kill_process to fix a + race condition that could cause Emacs to lose track of a child. + +2012-12-06 Dmitry Antipov + + Avoid code duplication between prev_frame and next_frame. + * frame.c (candidate_frame): New function. Add comment. + (prev_frame, next_frame): Use it. Adjust comment. + +2012-12-06 Eli Zaretskii + + * callproc.c (Fcall_process_region) [!HAVE_MKSTEMP]: If mktemp + fails, signal an error instead of continuing with an empty + string. (Bug#13079) + Encode expanded temp file pattern before passing it to mkstemp or + mktemp. + + * fileio.c (file_name_as_directory, directory_file_name) [DOS_NT]: + Encode the file name before passing it to dostounix_filename, in + case it will downcase it (under w32-downcase-file-names). + (Bug#12933) + +2012-12-05 Paul Eggert + + Minor call-process cleanups. + * callproc.c (Fcall_process): Do record-unwind-protect on MSDOS + at the same time as other platforms, to simplify analysis. + No need for fd0_volatile since we have synch_process_fd. + Avoid needless emacs_close; arg is always negative. + +2012-12-04 Andreas Schwab + + * callproc.c (Fcall_process): Fix specpdl nesting for asynchronous + processes. + +2012-12-04 Dmitry Antipov + + * lisp.h (Mouse_HLInfo): Remove set-but-unused mouse_face_image_state + member. Adjust users. Convert mouse_face_past_end, mouse_face_defer + and mouse_face_hidden members to a bitfields. + * frame.h (struct frame): Remove set-but-not-used space_width member. + (FRAME_SPACE_WIDTH): Remove. + * nsterm.m, w32term.c, xterm.c: Adjust users. + * termchar.h (struct tty_display_info): Remove set-but-unused se_is_so + member. Adjust users. Convert term_initted, delete_in_insert_mode, + costs_set, insert_mode, standout_mode, cursor_hidden and flow_control + members to a bitfields. + +2012-12-03 Paul Eggert + + Don't let call-process be a zombie factory (Bug#12980). + Fixing this bug required some cleanup of the signal-handling code. + As a side effect, this change also fixes a longstanding rare race + condition whereby Emacs could mistakenly kill unrelated processes, + and it fixes a bug where a second C-g does not kill a recalcitrant + synchronous process in GNU/Linux and similar platforms. + The patch should also fix the last vestiges of Bug#9488, + a bug which has mostly been fixed on the trunk by other changes. + * callproc.c, process.h (synch_process_alive, synch_process_death) + (synch_process_termsig, sync_process_retcode): + Remove. All uses removed, to simplify analysis and so that + less consing is done inside critical sections. + * callproc.c (call_process_exited): Remove. All uses replaced + with !synch_process_pid. + * callproc.c (synch_process_pid, synch_process_fd): New static vars. + These take the role of what used to be in unwind-protect arg. + All uses changed. + (block_child_signal, unblock_child_signal): + New functions, to avoid races that could kill innocent-victim processes. + (call_process_kill, call_process_cleanup, Fcall_process): Use them. + (call_process_kill): Record killed processes as deleted, so that + zombies do not clutter up the system. Do this inside a critical + section, to avoid a race that would allow the clutter. + (call_process_cleanup): Fix code so that the second C-g works again + on common platforms such as GNU/Linux. + (Fcall_process): Create the child process in a critical section, + to fix a race condition. If creating an asynchronous process, + record it as deleted so that zombies do not clutter up the system. + Do unwind-protect for WINDOWSNT too, as that's simpler in the + light of these changes. Omit unnecessary call to emacs_close + before failure, as the unwind-protect code does that. + * callproc.c (call_process_cleanup): + * w32proc.c (waitpid): Simplify now that synch_process_alive is gone. + * process.c (record_deleted_pid): New function, containing + code refactored out of Fdelete_process. + (Fdelete_process): Use it. + (process_status_retrieved): Remove. All callers changed to use + child_status_change. + (record_child_status_change): Remove, folding its contents into ... + (handle_child_signal): ... this signal handler. Now, this + function is purely a handler for SIGCHLD, and is not called after + a synchronous waitpid returns; the synchronous code is moved to + wait_for_termination. There is no need to worry about reaping + more than one child now. + * sysdep.c (get_child_status, child_status_changed): New functions. + (wait_for_termination): Now takes int * status and bool + interruptible arguments, too. Do not record child status change; + that's now the caller's responsibility. All callers changed. + Reimplement in terms of get_child_status. + (wait_for_termination_1, interruptible_wait_for_termination): + Remove. All callers changed to use wait_for_termination. + * syswait.h: Include , for bool. + (record_child_status_change, interruptible_wait_for_termination): + Remove decls. + (record_deleted_pid, child_status_changed): New decls. + (wait_for_termination): Adjust to API changes noted above. + + * bytecode.c, lisp.h (Qbytecode): Remove. + No longer needed after 2012-11-20 interactive-p changes. + +2012-12-03 Eli Zaretskii + + * xdisp.c (redisplay_window): If the cursor is visible, but inside + the scroll margin, move point outside the margin. (Bug#13055) + +2012-12-03 Jan Djärv + + * gtkutil.c (my_log_handler): New function. + (xg_set_geometry): Set log handler to my_log_handler (Bug#11177). + +2012-12-03 Dmitry Antipov + + * lisp.h (modify_region): Rename to... + (modify_region_1): ...new prototype. + * textprop.c (modify_region): Now static. Adjust users. + * insdel.c (modify_region): Rename to... + (modify_region_1): ...new function to work with current buffer. + Adjust comment and users. Use true and false for booleans. + +2012-12-03 Dmitry Antipov + + * alloc.c (free_save_value): New function. + (safe_alloca_unwind): Use it. + * lisp.h (free_save_value): New prototype. + * editfns.c (save_excursion_save): Use Lisp_Misc_Save_Value. + Add comment. + (save_excursion_restore): Adjust to match saved data structure. + Use free_save_value to offload some work from GC. Drop obsolete + #if 0 code. + +2012-12-03 Chong Yidong + + * fileio.c (Vauto_save_list_file_name): Doc fix. + +2012-12-03 Fabrice Popineau + + * w32fns.c: Remove prototype of atof. + (syspage_mask): Make it DWORD_PTR, for compatibility with 64-bit + builds. + (file_dialog_callback): Make it UINT_PTR. + + * w32common.h (syspage_mask): Declare DWORD_PTR, for compatibility + with 64-bit builds. + + * w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED) + (FILE_ANY_ACCESS, CTL_CODE) [_MSC_VER]: Define only if not already + defined. + +2012-12-03 Glenn Morris + + * data.c (Fboundp, Fsymbol_value): Doc fix re lexical-binding. + +2012-12-02 Paul Eggert + + Fix xpalloc confusion after memory is exhausted. + * alloc.c (xpalloc): Comment fix. + * charset.c (Fdefine_charset_internal): If xpalloc exhausts memory + and signals an error, do not clear charset_table_size, as + charset_table is still valid. + * doprnt.c (evxprintf): Clear *BUF after freeing it. + + Use execve to avoid need to munge environ (Bug#13054). + * callproc.c (Fcall_process): + * process.c (create_process): + Don't save and restore environ; no longer needed. + * callproc.c (child_setup): + Use execve, not execvp, to preserve environ. + +2012-12-01 Paul Eggert + + * xterm.c (x_draw_image_relief): Remove unused locals (Bug#10500). + +2012-12-01 YAMAMOTO Mitsuharu + + * xterm.c (x_draw_relief_rect, x_draw_image_relief): Fix relief + display for sliced images (Bug#10500). + + * w32term.c (w32_draw_relief_rect, x_draw_image_relief): Likewise. + +2012-11-30 Juanma Barranquero + + * doc.c (Fdocumentation): Re-add handling of function-documentation, + accidentally removed in 2012-11-09T04:10:16Z!monnier@iro.umontreal.ca (bug#13034). + +2012-11-29 Dmitry Antipov + + * xdisp.c (window_outdated): Remove eassert since it hits + some suspicious corner cases (see Bug#13007 and Bug#13012). + (mode_line_update_needed): New function. + (redisplay_internal, redisplay_window): Use it. + (ensure_selected_frame): New function. + (redisplay_internal, unwind_redisplay): Use it. + (redisplay_internal): Move comment about buffer_shared... + (buffer_shared_and_changed): ...near to its real use. + +2012-11-29 Paul Eggert + + * callproc.c (Fcall_process): Don't misreport vfork failure. + +2012-11-28 Paul Eggert + + * callproc.c (Fcall_process): Fix vfork portability problems. + Do not assume that fd[0], count, filefd, and save_environ survive + vfork. Fix bug whereby wrong errno value could be reported for + pipe failure. Some minor cleanups, too, as follows. Move buf and + bufsize to the context where they're needed. Change new_argv to + be of type char **, as this is more convenient and avoids casts. + (CALLPROC_BUFFER_SIZE_MIN, CALLPROC_BUFFER_SIZE_MAX): + Now local constants, not macros. + +2012-11-18 Kenichi Handa + + * font.c (font_unparse_xlfd): Fix previous change. Keep "const" + for the variable "f". + +2012-11-13 Kenichi Handa + + * font.c (font_unparse_xlfd): Exclude special characters from the + generating XLFD name. + +2012-11-27 Paul Eggert + + Assume POSIX 1003.1-1988 or later for grp.h, pwd.h. + * dired.c (stat_uname, stat_gname): + * fileio.c (Fexpand_file_name): Remove no-longer-needed casts. + + Assume POSIX 1003.1-1988 or later for errno.h (Bug#12968). + * dired.c (directory_files_internal, file_name_completion): + Assume EAGAIN and EINTR are defined. + + * fileio.c (Fcopy_file): Assume EISDIR is defined. + * gmalloc.c (ENOMEM, EINVAL): Assume they're defined. + * gnutls.c (emacs_gnutls_write): Assume EAGAIN is defined. + * lread.c (readbyte_from_file): Assume EINTR is defined. + * process.c (wait_reading_process_output, send_process) [subprocesses]: + Assume EIO and EAGAIN are defined. + * unexcoff.c (write_segment): Assume EFAULT is defined. + +2012-11-27 Eli Zaretskii + + * fontset.c (Finternal_char_font): Return nil on non-GUI frames. + (Bug#11964) + + * xdisp.c (draw_glyphs): Don't draw in mouse face if mouse + highlighting on the frame was cleared. Prevents assertion + violations when repeatedly clicking on the "Top" link of the + "bread-crumbs" in Info buffers. + +2012-11-25 Paul Eggert + + * sysdep.c (sys_subshell): Don't assume pid_t fits in int. + +2012-11-24 Ken Brown + + * keyboard.c (HAVE_MOUSE): + * frame.c (HAVE_MOUSE): Remove, and rewrite code as if HAVE_MOUSE + were always defined. + +2012-11-24 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Skip step 2 only if point is not + between bpos_covered and bpos_max. This fixes cursor display when + several display strings follow each other. + + * .gdbinit (pgx): If the glyph's object is a string, display the + pointer to string data, rather than the value of the string object + itself (which barfs under CHECK_LISP_OBJECT_TYPE). + + * indent.c (Fvertical_motion): If the starting position is covered + by a display string, return to one position before that, to avoid + overshooting it inside move_it_to. (Bug#12930) + +2012-11-23 Dmitry Antipov + + * frame.h (struct frame): Remove display_preempted member + since all users are dead long ago. + * nsterm.h (struct x_output): Use the only dummy member. + * w32menu.c (pending_menu_activation): Remove since not + really used. + (set_frame_menubar): Adjust user. + * w32term.h (struct x_output): Drop outdated #if 0 code. + (struct w32_output): Use bitfields for explicit_parent, + asked_for_visible and menubar_active members. + Drop unused pending_menu_activation member. + * xterm.h (struct x_output): Drop outdated #if 0 code. + Use bitfields for explicit_parent, asked_for_visible, + has_been_visible and net_wm_state_hidden_seen members. + +2012-11-23 Eli Zaretskii + + * makefile.w32-in (globals.h, gl-stamp): Use $(SWITCHCHAR) instead + of a literal "/". (Bug#12955) + (gl-stamp): Invoke fc.exe directly, not through cmd. + +2012-11-23 Paul Eggert + + Assume POSIX 1003.1-1988 or later for dirent.h (Bug#12958). + * dired.c: Assume HAVE_DIRENT_H. + (NAMLEN): Remove, replacing with ... + (dirent_namelen): New function. All uses changed. Use the GNU macro + _D_EXACT_NAMELEN if available, as it's faster than strlen. + (DIRENTRY): Remove, replacing all uses with 'struct dirent'. + (DIRENTRY_NONEMPTY): Remove. All callers now assume it's nonzero. + * makefile.w32-in (DIR_H): Remove. All uses replaced with + $(NT_INC)/dirent.h. + ($(BLD)/w32.$(O)): Do not depend on $(SRC)/ndir.h. + * ndir.h: Rename to ../nt/inc/dirent.h. + * sysdep.h (closedir) [!HAVE_CLOSEDIR]: Remove. + Do not include ; no longer needed. + * w32.c: Include rather than "ndir.h". + +2012-11-23 Chong Yidong + + * xftfont.c (xftfont_open): Remove duplicate assignment. + +2012-11-22 Dmitry Antipov + + * alloc.c (Fgarbage_collect): Unblock input after clearing + gc_in_progress to avoid note_mouse_highlight glitch with GC. + * frame.h (FRAME_MOUSE_UPDATE): New macro. + * msdos.c (IT_frame_up_to_date): Use it here... + * w32term.c (w32_frame_up_to_date): ...here... + * xterm.c (XTframe_up_to_date): ...and here... + * nsterm.m (ns_frame_up_to_date): ...but not here. + * lisp.h (Mouse_HLInfo): Remove mouse_face_deferred_gc member. + Adjust users. + * xdisp.c (message2_nolog, message3_nolog, note_mouse_highlight): + Do not check whether GC is in progress. + +2012-11-22 Dmitry Antipov + + * xdisp.c (window_buffer_changed): New function. + (update_menu_bar, update_tool_bar): Use it to + simplify large 'if' statements. + (redisplay_internal): Generalize commonly used + 'tail' and 'frame' local variables. + +2012-11-22 Eli Zaretskii + + * w32.c (getcwd): Fix the 2nd argument type, to prevent conflicts + with Windows system header. + +2012-11-21 Paul Eggert + + Assume POSIX 1003.1-1988 or later for unistd.h (Bug#12945). + * alloc.c: Assume unistd.h exists. + * fileio.c (Fexpand_file_name) [DOS_NT]: Use getcwd, not getwd. + * sysdep.c (get_current_dir_name): Assume getcwd exists. + (getwd) [USG]: Remove; no longer needed. + (sys_subshell) [DOS_NT]: Use getcwd, not getwd. + * w32.c (getcwd): Rename from getwd, and switch to getcwd's API. + * w32.h (getcwd): Remove decl. + +2012-11-21 Stefan Monnier + + * xdisp.c (fast_set_selected_frame): Rename from update_tool_bar_unwind. + Make it set selected_window as well. + (update_tool_bar): Use it. + +2012-11-21 Ken Brown + + * emacs.c (main): Set the G_SLICE environment variable for all + Cygwin builds, not just GTK builds. See + https://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00368.html. + +2012-11-21 Eli Zaretskii + + * w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED) + (FILE_ANY_ACCESS, CTL_CODE, FSCTL_GET_REPARSE_POINT) [_MSC_VER]: + Define for the MSVC compiler. + + * w32term.h (EnumSystemLocalesW) [_MSC_VER]: Add a missing semi-colon. + + * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory) + (Fexpand_file_name) [DOS_NT]: Pass encoded file name to + dostounix_filename. Prevents crashes down the road, because + dostounix_filename assumes it gets a unibyte string. + Reported by Michel de Ruiter , see + http://lists.gnu.org/archive/html/help-emacs-windows/2012-11/msg00017.html + +2012-11-20 Stefan Monnier + + Conflate Qnil and Qunbound for `symbol-function'. + * alloc.c (Fmake_symbol): Initialize `function' to Qnil. + * lread.c (init_obarray): Set `function' fields to Qnil. + * eval.c (Fcommandp): Ignore Qunbound. + (Fautoload, eval_sub, Fapply, Ffuncall, Fmacroexpand): + * data.c (Ffset, Ffboundp, indirect_function, Findirect_function): + Test NILP rather than Qunbound. + (Ffmakunbound): Set to Qnil. + (Fsymbol_function): Never signal an error. + (Finteractive_form): Ignore Qunbound. + +2012-11-20 Paul Eggert + + * eval.c (interactive_p): Remove no-longer-used decl. + +2012-11-20 Dmitry Antipov + + * xdisp.c (buffer_shared): Adjust comment. + (buffer_shared_and_changed): New function. + (prepare_menu_bars, redisplay_internal): Use it to + decide whether all windows or frames should be updated. + (window_outdated): New function. + (text_outside_line_unchanged_p, redisplay_window): Use it. + (redisplay_internal): Likewise. Fix indentation. + +2012-11-20 Stefan Monnier + + * eval.c (Finteractive_p, Fcalled_interactively_p, interactive_p): Remove. + (syms_of_eval): Remove corresponding defsubr. + * bytecode.c (exec_byte_code): `interactive-p' is now a Lisp function. + +2012-11-19 Daniel Colascione + + * w32fns.c (Fx_file_dialog): + (Fx_file_dialog): Accomodate rename of cygwin_convert_path* to + cygwin_convert_file_name*. + + * cygw32.c (Fcygwin_convert_path_to_windows, syms_of_cygw32): + Rename cygwin_convert_path* to cygwin_convert_file_name*. + +2012-11-18 Paul Eggert + + * nsterm.m (ns_select): Send SIGIO only to self, not to process group. + +2012-11-18 Eli Zaretskii + + * w32select.c: Include w32common.h before w32term.h, so that + windows.h gets included before w32term.h uses some of its + features, see below. + + * w32term.h (LOCALE_ENUMPROCA, LOCALE_ENUMPROCW) [_MSC_VER]: + New typedefs. + (EnumSystemLocalesA, EnumSystemLocalesW) [_MSC_VER]: + New prototypes. + (EnumSystemLocales) [_MSC_VER]: Define if undefined. (Bug#12878) + +2012-11-18 Jan Djärv + + * nsterm.m (hold_event): Set send_appdefined to YES (Bug#12834). + (ns_select): Return at once if events are held (Bug#12834). + +2012-11-18 enami tsugutomo + + * unexelf.c (ELFSIZE) [__NetBSD__ && _LP64]: Set to 64. + Needed following 2012-10-20 change. (Bug#12902) + +2012-11-18 Juanma Barranquero + + * w32proc.c (waitpid): Remove unused label get_result. + +2012-11-17 Juanma Barranquero + + * makefile.w32-in (SYSWAIT_H): New macro. + ($(BLD)/callproc.$(O), $(BLD)/w32proc.$(O), $(BLD)/process.$(O)) + ($(BLD)/sysdep.$(O)): Update dependencies. + +2012-11-17 Paul Eggert + + Assume POSIX 1003.1-1988 or later for fcntl.h (Bug#12881). + * callproc.c (relocate_fd): Assume F_DUPFD. + * emacs.c, term.c (O_RDWR): Remove. + * keyboard.c (tty_read_avail_input): Use O_NONBLOCK rather than + O_NDELAY, since O_NONBLOCK is the standard name for this flag. + * nsterm.m: Assume exists. + * process.c (NON_BLOCKING_CONNECT, allocate_pty, create_process) + (create_pty, Fmake_network_process, server_accept_connection) + (wait_reading_process_output, init_process_emacs): + Assume O_NONBLOCK. + (wait_reading_process_output): Put in a special case for WINDOWSNT + to mimick the older behavior where it had O_NDELAY but not O_NONBLOCK. + It's not clear this is needed, but it's a more-conservative change. + (create_process): Assume FD_CLOEXEC. + (create_process, create_pty): Assume O_NOCTTY. + * sysdep.c (init_sys_modes, reset_sys_modes): Assume F_SETFL. + (reset_sys_modes): Use O_NONBLOCK rather than O_NDELAY. + Omit if not DOS_NT, since F_GETFL is not defined there. + (serial_open): Assume O_NONBLOCK and O_NOCTTY. + * term.c: Include , for flags like O_NOCTTY. + (O_NOCTTY): Remove. + (init_tty): Assume O_IGNORE_CTTY is defined to 0 on platforms that + lack it, since gnulib guarantees this. + * w32.c (fcntl): Test for O_NONBLOCK rather than O_NDELAY. + +2012-11-17 Eli Zaretskii + + * w32.c (faccessat): Pretend that directories have the execute bit + set. Emacs expects that, e.g., in files.el:cd-absolute. + + * w32proc.c (create_child): Don't clip the PID of the child + process to fit into an Emacs integer, as this is no longer a + restriction. + (waitpid): Rename from sys_wait. Emulate a Posix 'waitpid' by + reaping only the process specified by PID argument, if that is + positive. Use PID instead of dead_child to know which process to + reap. Wait for the child to die only if WNOHANG is not in + OPTIONS. + (sys_select): Don't set dead_child. + + * sysdep.c (wait_for_termination_1): Remove the WINDOWSNT portion, + as it is no longer needed. + + * process.c (waitpid, WUNTRACED) [!WNOHANG]: Remove definitions, + no longer needed. + (record_child_status_change): Remove the setting of + record_at_most_one_child for the !WNOHANG case. + +2012-11-17 Paul Eggert + + Fix problems in ns port found by static checking. + * nsterm.m: Include , for pthread_mutex_lock etc. + (hold_event, setPosition:portion:whole:): Send SIGIO only to self, + not to process group. + (ns_select): Use emacs_write, not write, as that's more robust + in the presence of signals. + (fd_handler:): Check for read errors. + +2012-11-16 Glenn Morris + + * editfns.c (Fmessage): Mention message-log-max. (Bug#12849) + +2012-11-16 Stefan Monnier + + * eval.c (Finteractive_p): Revert lexbind-merge mishap. + +2012-11-16 Eli Zaretskii + + * w32proc.c (timer_loop): Make sure SuspendThread and ResumeThread + use the same value of thread handle. + (start_timer_thread): If the timer thread exited (due to error), + clean up by closing the two handles it used. Duplicate the caller + thread's handle here, so it gets duplicated only once, when + launching the timer thread. Set priority of the timer thread, not + the caller thread. + (getitimer): Don't duplicate the caller thread's handle here. + (Bug#12832) + +2012-11-16 Jan Djärv + + * nsterm.m (hold_event): Send SIGIO to make sure ns_read_socket is + called (Bug#12834). + +2012-11-16 Paul Eggert + + Remove no-longer-used pty_max_bytes variable. + * process.c (pty_max_bytes): Remove; unused. + (send_process): Do not set it. + +2012-11-15 Juanma Barranquero + + * makefile.w32-in ($(BLD)/dispnew.$(O), $(BLD)/emacs.$(O)): + Update dependencies. + +2012-11-15 Paul Eggert + + * eval.c (mark_backtrace) [BYTE_MARK_STACK]: Remove stray '*'. + This follows up on the 2012-09-29 patch that removed indirection + for the 'function' field. Reported by Sergey Vinokurov in + . + +2012-11-14 Eli Zaretskii + + * w32.c (faccessat): Rename from sys_faccessat. (No need to use a + different name, as the MS runtime does not have such a function, + and probably never will.) All callers changed. Ignore DIRFD + value if PATH is an absolute file name, to match Posix spec + better. If AT_SYMLINK_NOFOLLOW is set in FLAGS, don't resolve + symlinks. + +2012-11-14 Dmitry Antipov + + * xdisp.c (echo_area_display, redisplay_internal): + Omit redundant check whether frame_garbaged is set. + +2012-11-14 Paul Eggert + + Use faccessat, not access, when checking file permissions (Bug#12632). + This fixes a bug that has been present in Emacs since its creation. + It was reported by Chris Torek in 1983 even before GNU Emacs existed, + which must set some sort of record. (Torek's bug report was against + a predecessor of GNU Emacs, but GNU Emacs happened to have the + same common flaw.) See Torek's Usenet posting + "setuid/setgid programs & Emacs" Article-I.D.: sri-arpa.858 + Posted: Fri Apr 8 14:18:56 1983. + * Makefile.in (LIB_EACCESS): New macro. + (LIBES): Use it. + * callproc.c (init_callproc): + * charset.c (init_charset): + * fileio.c (check_existing, check_executable, check_writable) + (Ffile_readable_p): + * lread.c (openp, load_path_check): + * process.c (allocate_pty): + * xrdb.c (file_p): + Use effective UID when checking permissions, not real UID. + * callproc.c (init_callproc): + * charset.c (init_charset): + * lread.c (load_path_check, init_lread): + Test whether directories are accessible, not merely whether they exist. + * conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): New macro. + * fileio.c (check_existing, check_executable, check_writable) + (Ffile_readable_p): + Use symbolic names instead of integers for the flags, as they're + portable now. + (check_writable): New arg AMODE. All uses changed. + Set errno on failure. + (Ffile_readable_p): Use faccessat, not stat + open + close. + (Ffile_writable_p): No need to call check_existing + check_writable. + Just call check_writable and then look at errno. This saves a syscall. + dir should never be nil; replace an unnecessary runtime check + with an eassert. When checking the parent directory of a nonexistent + file, check that the directory is searchable as well as writable, as + we can't create files in unsearchable directories. + (file_directory_p): New function, which uses 'stat' on most platforms + but faccessat with D_OK (for efficiency) if WINDOWSNT. + (Ffile_directory_p, Fset_file_times): Use it. + (file_accessible_directory_p): New function, which uses a single + syscall for efficiency. + (Ffile_accessible_directory_p): Use it. + * xrdb.c (file_p): Use file_directory_p. + * lisp.h (file_directory_p, file_accessible_directory_p): New decls. + * lread.c (openp): When opening a file, use fstat rather than + stat, as that avoids a permissions race. When not opening a file, + use file_directory_p rather than stat. + (dir_warning): First arg is now a usage string, not a format. + Use errno. All uses changed. + * nsterm.m (ns_term_init): Remove unnecessary call to file-readable + that merely introduced a race. + * process.c, sysdep.c, term.c: All uses of '#ifdef O_NONBLOCK' + changed to '#if O_NONBLOCK', to accommodate gnulib O_* style, + and similarly for the other O_* flags. + * w32.c (sys_faccessat): Rename from sys_access and switch to + faccessat's API. All uses changed. + * xrdb.c: Do not include ; no longer needed. + (magic_db): Rename from magic_file_p. + (magic_db, search_magic_path): Return an XrmDatabase rather than a + char *, so that we don't have to test for file existence + separately from opening the file for reading. This removes a race + fixes a permission-checking problem, and simplifies the code. + All uses changed. + (file_p): Remove; no longer needed. + +2012-11-13 Dmitry Antipov + + Omit glyphs initialization at startup. + * dispnew.c (glyphs_initialized_initially_p): Remove. + (adjust_frame_glyphs_initially): Likewise. Adjust users. + (Fredraw_frame): Move actual code from here... + (redraw_frame): ...to here. Add eassert. Adjust comment. + (Fredraw_display): Use redraw_frame. + * xdisp.c (clear_garbaged_frames): Likewise. + +2012-11-13 Eli Zaretskii + + * xdisp.c (decode_mode_spec): Limit the value of WIDTH argument + passed to pint2str and pint2hrstr to be at most the size of the + frame's decode_mode_spec_buffer. This avoids crashes with very + large values of FIELD_WIDTH argument to decode_mode_spec. + (Bug#12867) + +2012-11-13 Paul Eggert + + Fix a race with verify-visited-file-modtime (Bug#12863). + Since at least 1991 Emacs has ignored an mtime difference of no + more than one second, but my guess is that this was to work around + file system bugs that were fixed long ago. Since the race is + causing problems now, let's remove that code. + * fileio.c (Fverify_visited_file_modtime): Do not accept a file + whose time stamp is off by no more than a second. Insist that the + file time stamps match exactly. + +2012-11-12 Dmitry Antipov + + * frame.h (struct frame): Convert external_tool_bar member to + 1-bit unsigned bitfield. + * termhooks.h (struct terminal): Remove mouse_moved member since + all users are long dead. Adjust comment on mouse_position_hook. + +2012-11-12 Dmitry Antipov + + Simplify by using FOR_EACH_FRAME here and there. + * frame.c (next_frame, prev_frame, other_visible_frames) + (delete_frame, visible-frame-list): Use FOR_EACH_FRAME. + * w32term.c (x_window_to_scroll_bar): Likewise. + * window.c (window_list): Likewise. + * xdisp.c (x_consider_frame_title): Likewise. + * xfaces.c (Fdisplay_supports_face_attributes_p): Likewise. + * xfns.c (x_window_to_frame, x_any_window_to_frame) + (x_menubar_window_to_frame, x_top_window_to_frame): Likewise. + * xmenu.c (menubar_id_to_frame): Likewise. + * xselect.c (frame_for_x_selection): Likewise. + * xterm.c (x_frame_of_widget, x_window_to_scroll_bar) + (x_window_to_menu_bar): Likewise. + * w32fns.c (x_window_to_frame): Likewise. Adjust comment. + +2012-11-12 Paul Eggert + + * data.c (Qdefalias_fset_function): Now static. + + Another tweak to vectorlike_header change. + * alloc.c (struct Lisp_Vectorlike_Free, NEXT_IN_FREE_LIST): + Remove, and replace all uses with ... + (next_in_free_list, set_next_in_free_list): + New functions, which respect C's aliasing rules better. + +2012-11-11 Paul Eggert + + * window.c (list4i): Rename from 'quad'. All uses changed. + Needed because defines 'quad' on Solaris 10. + +2012-11-11 Juanma Barranquero + + * xdisp.c (start_hourglass) [HAVE_NTGUI]: Add block to silence + warning about mixing declarations and code in ISO C90. + +2012-11-10 Martin Rudalics + + * window.c (Fsplit_window_internal): Set combination limit of + new parent window to t iff Vwindow_combination_limit is t; + fixing a regression introduced with the change from 2012-09-22. + (Fset_window_combination_limit): Fix doc-string. + +2012-11-10 Eli Zaretskii + + * xdisp.c (try_scrolling): Fix correction of aggressive-scroll + amount when the scroll margins are too large. When scrolling + backwards in the buffer, give up if cannot reach point or the + scroll margin within a reasonable number of screen lines. + Fixes point position in window under scroll-up/down-aggressively when + point is positioned many lines beyond the window top/bottom. + (Bug#12811) + + * ralloc.c (relinquish): If real_morecore fails to return memory + to the system, don't crash; instead, leave the last heap + unchanged and return. (Bug#12774) + +2012-11-09 Stefan Monnier + + * lisp.h (AUTOLOADP): New macro. + * eval.c (Fautoload): Don't attach to loadhist, call Fdefalias instead. + * data.c (Ffset): Remove special ad-advice-info handling. + (Fdefalias): Handle autoload definitions and new Qdefalias_fset_function. + (Fsubr_arity): CSE. + (Finteractive_form): Simplify. + (Fquo): Don't insist on having at least 2 arguments. + (Qdefalias_fset_function): New var. + +2012-11-09 Jan Djärv + + * image.c (xpm_make_color_table_h): Change to hashtest_equal. + + * nsfont.m (Qcondensed, Qexpanded): New variables. + (ns_descriptor_to_entity): Restore Qcondensed, Qexpanded setting. + (syms_of_nsfont): Defsym Qcondensed, Qexpanded. + +2012-11-09 Dmitry Antipov + + Fix recently introduced crash on MS-Windows (Bug#12839). + * w32term.h (struct scroll_bar): Use convenient header. + (SCROLL_BAR_VEC_SIZE): Remove. + * w32term.c (x_scroll_bar_create): Use VECSIZE. + +2012-11-09 Dmitry Antipov + + Tweak last vectorlike_header change. + * alloc.c (struct Lisp_Vectorlike_Free): Special type to represent + vectorlike object on the free list. This is introduced to avoid + some (but not all) pointer casting and aliasing problems, see + http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00105.html. + * .gdbinit (pvectype, pvecsize): New commands to examine vectorlike + objects. + (xvectype, xvecsize): Use them to examine Lisp_Object values. + +2012-11-09 Jan Djärv + + * nsfont.m (ns_descriptor_to_entity): Qcondensed and Qexpanded has + been removed, so remove them here also. + +2012-11-09 Stefan Monnier + + * doc.c (Fdocumentation): Handle new property + dynamic-docstring-function to replace the old ad-advice-info. + +2012-11-09 Paul Eggert + + * fns.c (Qeql, hashtest_eq): Now static. + +2012-11-08 Stefan Monnier + + * lisp.h (XHASH): Redefine to be imperfect and fit in a Lisp int. + * fns.c (hashfn_eq, hashfn_eql, sxhash): + * profiler.c (hashfn_profiler): Don't use XUINT on non-integers. + * buffer.c (compare_overlays): Use XLI rather than XHASH. + +2012-11-08 Paul Eggert + + Use same hash function for hashfn_profiler as for hash_string etc. + * fns.c (SXHASH_COMBINE): Remove. All uses replaced by sxhash_combine. + * lisp.h (sxhash_combine): New inline function, with the contents + of the old SXHASH_COMBINE. + * profiler.c (hashfn_profiler): Use it, instead of having a + special hash function containing a comparison that always yields 1. + +2012-11-08 Stefan Monnier + + * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic) + (Qultra_condensed, Qextra_condensed, Qcondensed, Qsemi_condensed) + (Qsemi_expanded, Qextra_expanded, Qexpanded, Qultra_expanded): + Remove unused vars. + +2012-11-08 Jan Djärv + + * image.c (xpm_make_color_table_h): Fix compiler error because + make_hash_table changed. + +2012-11-08 Thomas Kappler (tiny change) + + * nsfont.m (ns_findfonts): Handle empty matchingDescs (Bug#11541). + +2012-11-08 Stefan Monnier + + Use ad-hoc comparison function for the profiler's hash-tables. + * profiler.c (Qprofiler_backtrace_equal, hashtest_profiler): New vars. + (make_log): Use them. + (handle_profiler_signal): Don't inhibit quit any longer since we don't + call Fequal any more. + (Ffunction_equal): New function. + (cmpfn_profiler, hashfn_profiler): New functions. + (syms_of_profiler): Initialize them. + * lisp.h (struct hash_table_test): New struct. + (struct Lisp_Hash_Table): Use it. + * alloc.c (mark_object): Mark hash_table_test fields of hash tables. + * fns.c (make_hash_table): Take a struct to describe the test. + (cmpfn_eql, cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql) + (hashfn_equal, hashfn_user_defined): Adjust to new calling convention. + (hash_lookup, hash_remove_from_table): Move assertion checking of + hashfn result here. Check hash-equality before calling cmpfn. + (Fmake_hash_table): Adjust call to make_hash_table. + (hashtest_eq, hashtest_eql, hashtest_equal): New structs. + (syms_of_fns): Initialize them. + * emacs.c (main): Move syms_of_fns earlier. + * xterm.c (syms_of_xterm): + * category.c (hash_get_category_set): Adjust call to make_hash_table. + * print.c (print_object): Adjust to new hash-table struct. + * composite.c (composition_gstring_put_cache): Adjust to new hashfn. + +2012-11-08 Eli Zaretskii + + * w32fns.c (modifier_set): Fix handling of Scroll Lock when the + value of w32-scroll-lock-modifier is neither nil nor one of the + known key modifiers. (Bug#12806) + +2012-11-08 Dmitry Antipov + + Shrink struct vectorlike_header to the only size field. + * lisp.h (enum pvec_type): Avoid explicit enum member values. + Adjust comment. + (enum More_Lisp_Bits): Change PSEUDOVECTOR_SIZE_BITS and + PVEC_TYPE_MASK to arrange new bitfield in the vector header. + (PSEUDOVECTOR_REST_BITS, PSEUDOVECTOR_REST_MASK): New members. + (PSEUDOVECTOR_AREA_BITS): New member used to extract subtype + information from the vector header. Adjust comment. + (XSETPVECTYPE, XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR) + (PSEUDOVECTOR_TYPEP, DEFUN): Adjust to match new vector header + layout. + (XSETSUBR, SUBRP): Adjust to match new Lisp_Subr layout. + (struct vectorlike_header): Remove next member. Adjust comment. + (struct Lisp_Subr): Add convenient header. Adjust comment. + (allocate_pseudovector): Adjust prototype. + * alloc.c (mark_glyph_matrix, mark_face_cache, allocate_string) + (sweep_string, lisp_malloc): Remove useless prototypes. + (enum mem_type): Adjust comment. + (NEXT_IN_FREE_LIST): New macro. + (SETUP_ON_FREE_LIST): Adjust XSETPVECTYPESIZE usage. + (Fmake_bool_vector): Likewise. + (struct large_vector): New type to represent allocation unit for + the vectors with the memory footprint more than VBLOOCK_BYTES_MAX. + (large_vectors): Change type to struct large_vector. + (allocate_vector_from_block): Simplify. + (PSEUDOVECTOR_NBYTES): Replace with... + (vector_nbytes): ...new function. Adjust users. + (sweep_vectors): Adjust processing of large vectors. + (allocate_vectorlike): Likewise. + (allocate_pseudovector): Change type of 3rd arg to enum pvec_type. + Add easserts. Adjust XSETPVECTYPESIZE usage. + (allocate_buffer): Use BUFFER_PVEC_INIT. + (live_vector_p): Adjust to match large vector. + * buffer.c (init_buffer_once): Use BUFFER_PVEC_INIT. + * buffer.h (struct buffer): Add next member. + (BUFFER_LISP_SIZE, BUFFER_REST_SIZE, BUFFER_PVEC_INIT): + New macros. + (FOR_EACH_BUFFER): Adjust to match struct buffer change. + * fns.c (internal_equal): Adjust to match enum pvec_type change. + (copy_hash_table): Adjust to match vector header change. + * lread.c (defsubr): Use XSETPVECTYPE. + * .gdbinit (xpr, xbacktrace): Adjust to match vector header change. + (xvectype): Likewise. Print PVEC_NORMAL_VECTOR for regular vectors. + (xvecsize): New command. + +2012-11-08 Dmitry Antipov + + * keyboard.c (event_to_kboard): Do not dereference + frame_or_window field of SELECTION_REQUEST_EVENT + and SELECTION_CLEAR_EVENT events (Bug#12814). + * xterm.h (struct selection_input_event): Adjust comment. + +2012-11-07 Eli Zaretskii + + * w32fns.c (modifier_set): Don't report modifiers from toggle key, + such as Scroll Lock, if the respective keys are treated as + function keys, not as modifiers. This avoids destroying non-ASCII + keyboard input when Scroll Lock is toggled ON. (Bug#12806) + +2012-11-07 Dmitry Antipov + + * xfns.c (Fx_wm_set_size_hint): Use check_x_frame. Adjust docstring. + +2012-11-06 Paul Eggert + + Restore some duplicate definitions (Bug#12814). + This undoes part of the 2012-11-03 changes. Some people build + with plain -g rather than with -g3, and they need the duplicate + definitions for .gdbinit to work; see . + * lisp.h (GCTYPEBITS, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): + Define as macros, as well as as enums or as constants. + +2012-11-06 Jan Djärv + + * nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask + to keypad keys (Bug#12816). + +2012-11-06 Paul Eggert + + Minor adjustments of recently-changed frame functions. + * buffer.c (Fbuffer_list): Omit CHECK_FRAME, since arg is already + known to be a frame (we're in the FRAMEP branch). + * lisp.h (Qframep): Remove decl. frame.h declares this. + * window.c (quad): Args are of type EMACS_INT, not ptrdiff_t, + since they're meant for Lisp fixnum values. + +2012-11-06 Dmitry Antipov + + * window.c (Fwindow_combination_limit): Revert to the only + required argument and adjust docstring as suggested in + http://lists.gnu.org/archive/html/emacs-diffs/2012-11/msg01082.html + by Martin Rudalics . + +2012-11-06 Dmitry Antipov + + Widely used frame validity and checking functions. + * frame.h (decode_live_frame, decode_any_frame): Add prototypes. + * frame.c (decode_live_frame, decode_any_frame): New functions. + (delete_frame, Fredirect_frame_focus, Fframe_parameters) + (Fframe_parameter, Fframe_char_height, Fframe_char_width) + (Fframe_pixel_height, Fframe_pixel_width, Ftool_bar_pixel_width) + (Fframe_pointer_visible_p): Use decode_any_frame. + (Fmake_frame_visible, Fmake_frame_invisible, Ficonify_frame) + (Fraise_frame, Flower_frame, Fmodify_frame_parameters) + (Fset_frame_height, Fset_frame_width): Use decode_live_frame. + (Fframe_focus): Likewise. Allow zero number of arguments. + Adjust docstring. + (frame_buffer_list, frame_buffer_predicate): Remove. + * lisp.h (frame_buffer_predicate): Remove prototype. + * buffer.c (Fother_buffer): Use decode_any_frame. + * xdisp.c (Ftool_bar_lines_needed): Likewise. + * xfaces.c (Fcolor_gray_p, Fcolor_supported_p): Likewise. + * font.c (Ffont_face_attributes, Ffont_family_list, Fopen_font) + (Fclose_font, Ffont_info): Use decode_live_frame. + * fontset.c (check_fontset_name): Likewise. + * terminal.c (Fframe_terminal): Likewise. + * w32fns.c (check_x_frame): Likewise. + * window.c (Fminibuffer_window, Fwindow_at) + (Fcurrent_window_configuration): Likewise. + (Frun_window_configuration_change_hook, Fwindow_resize_apply): + Likewise. Allow zero number of arguments. Adjust docstring. + * dispnew.c (Fredraw_frame): Likewise. + * xfaces.c (frame_or_selected_frame): Remove. + (Fx_list_fonts, Finternal_get_lisp_face_attribute, Fface_font) + (Finternal_lisp_face_equal_p, Finternal_lisp_face_empty_p) + (Fframe_face_alist): Use decode_live_frame. + * xfns.c (check_x_frame): Likewise. + +2012-11-06 Dmitry Antipov + + * window.c (quad): New function. + (Fwindow_edges, Fwindow_pixel_edges, Fwindow_inside_edges) + (Fwindow_absolute_pixel_edges, Fwindow_inside_absolute_pixel_edges) + (Fwindow_inside_pixel_edges, Fpos_visible_in_window_p) + (Fwindow_line_height): Use it. + (Fwindow_fringes): Use list3. + (Fwindow_scroll_bars): Use list4. + (Fwindow_frame, Fwindow_top_child, Fwindow_left_child) + (Fwindow_combination_limit): Allow zero number of arguments. + +2012-11-05 Eli Zaretskii + + * makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(NT_INC)/unistd.h. + + * w32fns.c: Include unistd.h, to avoid compiler warnings on Cygwin. + (emacs_abort) [CYGWIN]: Don't call _open_osfhandle; instead, use + file descriptor 2 for standard error. (Bug#12805) + +2012-11-05 Chong Yidong + + * process.c (wait_reading_process_output): Revert previous change. + +2012-11-05 Paul Eggert + + Assume at least POSIX.1-1988 for getpgrp, setpgid, setsid (Bug#12800). + This removes code that has been obsolete since around 1990. + * callproc.c (Fcall_process): + * emacs.c (main): + * process.c (create_process): + * term.c (dissociate_if_controlling_tty): + Assume setsid exists. + * callproc.c (child_setup): Assume setpgid exists and behaves as + per POSIX.1-1988 or later. + * conf_post.h (setpgid) [!HAVE_SETPGID]: Remove. + * emacs.c (shut_down_emacs): + * sysdep.c (sys_suspend, init_foreground_group): + Assume getpgrp behaves as per POSIX.1-1998 or later. + * msdos.c (setpgrp): Remove. + (tcgetpgrp, setpgid, setsid): New functions. + * systty.h (EMACS_GETPGRP): Remove. All callers now use getpgrp. + * term.c (no_controlling_tty): Remove; unused. + * w32proc.c (setpgrp): Remove. + (setsid, tcgetpgrp): New functions. + + Simplify by assuming __fpending. + * dispnew.c: Include , not . + (update_frame_1): Use __fpending, not PENDING_OUTPUT_COUNT. + Do not assume that __fpending's result fits in int. + +2012-11-04 Paul Eggert + + Remove EMACS_OUTQSIZE+sleep hack. + * dispnew.c (update_frame_1): Remove hack for terminals slower + than 2400 bps, which throttled Emacs by having it sleep. + This code hasn't worked since at least 2007, when the multi-tty stuff + was added, and anyway those old terminals are long dead. + * systty.h (EMACS_OUTQSIZE): Remove; unused. The macro isn't used even + without the dispnew.c change, as dispnew.c doesn't include systty.h. + + Fix data-loss with --version (Bug#9574). + * emacs.c (close_output_streams): Use strerror, not emacs_strerror, + as we can't assume that emacs_strerror is initialized, and strerror + is good enough here. + (main): Invoke atexit earlier, to catch earlier instances of + sending data to stdout and exiting, e.g., "emacs --version >/dev/full". + +2012-11-04 Michael Marchionna + + * nsterm.m: Add NSClearLineFunctionKey and keypad keys (Bug#8680). + (keyDown): Remap keypad keys to X11 virtual key codes. + +2012-11-03 Paul Eggert + + Fix data-loss with --batch (Bug#9574). + * emacs.c: Include . + (close_output_streams): New function. + (main): Pass it to atexit, so that Emacs closes stdout and stderr + and handles errors appropriately. + (Fkill_emacs): Don't worry about flushing, as close_output_stream + does that now. + + Fix a race condition that causes Emacs to mess up glib (Bug#8855). + The symptom is a diagnostic "GLib-WARNING **: In call to + g_spawn_sync(), exit status of a child process was requested but + SIGCHLD action was set to SIG_IGN and ECHILD was received by + waitpid(), so exit status can't be returned." The diagnostic + is partly wrong, as the SIGCHLD action is not set to SIG_IGN. + The real bug is a race condition between Emacs and glib: Emacs + does a waitpid (-1, ...) and reaps glib's subprocess by mistake, + so that glib can't find it. Work around the bug by invoking + waitpid only on subprocesses that Emacs itself creates. + * process.c (create_process, record_child_status_change): + Don't use special value -1 in pid field, as the caller now must + know the pid rather than having the callee infer it. + The inference was sometimes incorrect anyway, due to another race. + (create_process): Set new 'alive' member if child is created. + (process_status_retrieved): New function. + (record_child_status_change): Use it. + Accept negative 1st argument, which means to wait for the + processes that Emacs already knows about. Move special-case code + for DOS_NT (which lacks WNOHANG) here, from caller. Keep track of + processes that have already been waited for, by testing and + clearing new 'alive' member. + (CAN_HANDLE_MULTIPLE_CHILDREN): Remove, as record_child_status_change + now does this internally. + (handle_child_signal): Let record_child_status_change do all + the work, since we do not want to reap all exited child processes, + only the child processes that Emacs itself created. + * process.h (Lisp_Process): New boolean member 'alive'. + + Omit duplicate definitions no longer needed with gcc -g3. + * lisp.h (GCTYPEBITS, GCALIGNMENT, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG) + (VALMASK, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM): + Define only as macros. There's no longer any need to also define + these symbols as enums or as constants, since we now assume + gcc -g3 when debugging. + +2012-11-03 Eli Zaretskii + + * lisp.mk: Adjust comments to the fact that term/internal is now + loaded from loadup.el. + + * msdos.c (msdos_abort): Rename from emacs_abort, and make static. + (msdos_fatal_signal): New function. + (XMenuActivate): Adjust the call to kbd_buffer_events_waiting to + its argument list. + + * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Define to "inline" + for GCC versions before 4. + (emacs_raise): Define to call msdos_fatal_signal. + + * xdisp.c (init_from_display_pos): Fix initialization of the bidi + iterator when starting in the middle of a display or overlay + string. (Bug#12745) + +2012-11-03 Chong Yidong + + * process.c (wait_reading_process_output): Clean up the last + change. + +2012-11-03 Jim Paris (tiny change) + + * process.c (wait_reading_process_output): Avoid a race condition + with SIGIO delivery (Bug#11536). + +2012-11-03 Chong Yidong + + * buffer.c (cursor_type): Untabify docstring. + +2012-11-03 Dmitry Antipov + + * frame.h (struct frame): Drop can_have_scroll_bars member + which is meaningless for a long time. Adjust comments. + (FRAME_CAN_HAVE_SCROLL_BARS): Remove. + * frame.c, nsfns.m, term.c, w32fns.c, xfns.c: Adjust users. + +2012-11-03 Dmitry Antipov + + * window.c (decode_next_window_args): Update window arg after + calling decode_live_window and so fix crash reported at + http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00035.html + by Juanma Barranquero . + (Fwindow_body_width, Fwindow_body_height): Simplify a bit. + * font.c (Ffont_at): Likewise. + +2012-11-01 Jan Djärv + + * widget.c (resize_cb): New function. + (EmacsFrameRealize): Add resize_cb as event handler (Bug#12733). + (EmacsFrameResize): Check if all is up to date before changing frame + size. + +2012-11-02 Eli Zaretskii + + Implement backtrace output for fatal errors on MS-Windows. + * w32fns.c (CaptureStackBackTrace_proc): New typedef. + (BACKTRACE_LIMIT_MAX): New macro. + (w32_backtrace): New function. + (emacs_abort): Use w32_backtrace when the user chooses not to + attach a debugger. Update the text of the abort dialog. + +2012-11-02 Dmitry Antipov + + Window-related stuff cleanup here and there. + * dispnew.c (Finternal_show_cursor, Finternal_show_cursor_p): + Use decode_any_window. + * fringe.c (Ffringe_bitmaps_at_pos): Likewise. + * xdisp.c (Fformat_mode_line): Likewise. + * font.c (Ffont_at): Use decode_live_window. + * indent.c (Fcompute_motion, Fvertical_motion): Likewise. + * window.c (decode_next_window_args): Likewise. + (decode_any_window): Remove static. + * window.h (decode_any_window): Add prototype. + * lisp.h (CHECK_VALID_WINDOW, CHECK_LIVE_WINDOW): Move from here... + * window.h: ...to here, redefine via WINDOW_VALID_P and WINDOW_LIVE_P, + respectively. + +2012-11-02 Dmitry Antipov + + Remove pad from struct input_event. + * termhooks.h (struct input_event): Remove padding field. + Adjust comment. + * keyboard.c (event_to_kboard): Simplify because frame_or_window + member is never cons for a long time. Adjust comment. + (mark_kboards): Adjust because SELECTION_REQUEST_EVENT and + SELECTION_CLEAR_EVENT has no Lisp_Objects to mark. Add comment. + * xterm.c (handle_one_xevent): Do not initialize frame_or_window + field of SELECTION_REQUEST_EVENT and SELECTION_CLEAR_EVENT. + +2012-11-01 Eli Zaretskii + + * w32proc.c (getpgrp, setpgid): New functions. (Bug#12776) + +2012-10-31 Paul Eggert + + Fix crash when using Emacs as commit editor for git (Bug#12697). + * callproc.c (setpgrp): Remove macro, as we now use setpgid + and it is configured in conf_post.h. + (Fcall_process): Don't invoke both setsid and setpgid; the former + is enough, if it exists. + * callproc.c (Fcall_process, child_setup): + * process.c (create_process): Use setpgid. + * conf_post.h (setpgid) [!HAVE_SETPGID]: New macro, which substitutes + for the real thing. + * dispnew.c (init_display): Initialize the foreground group + if we are running a tty display. + * emacs.c (main): Do not worry about setpgrp; init_display does it now. + * lisp.h (init_foreground_group): New decl. + * sysdep.c (inherited_pgroup): New static var. + (init_foreground_group, tcsetpgrp_without_stopping) + (narrow_foreground_group, widen_foreground_group): New functions. + (init_sys_modes): Narrow foreground group. + (reset_sys_modes): Widen foreground group. + +2012-10-31 Michael Albinus + + * dbusbind.c: Fix cut'n'waste error. Use HAVE_DBUS_VALIDATE_INTERFACE. + +2012-10-31 Martin Rudalics + + * minibuf.c (read_minibuf): Restore current buffer since + choose_minibuf_frame calling Fset_frame_selected_window may + change it (Bug#12766). + +2012-10-30 Jan Djärv + + * frame.c (Fframe_pixel_height): Fix documentation (Bug#12733). + +2012-10-30 Kenichi Handa + + * font.c (Ffont_at): If WINDOW is specified and it is not + displaying the current buffer, signal an error. + +2012-10-29 Daniel Colascione + + * cygw32.h, cygw32.c (Qutf_16le, from_unicode, to_unicode): + In preparation for fixing bug#12739, move these functions from + here... + + * coding.h, coding.c: ... to here, and compile them only when + WINDOWSNT or CYGWIN. Moving these functions out of cygw32 proper + lets us write cygw32-agnostic code for the HAVE_NTGUI case. + +2012-10-28 Eli Zaretskii + + * w32proc.c (TIMER_TICKS_PER_SEC): New macro. + (timer_loop, getitimer, setitimer): Use it instead of + CLOCKS_PER_SEC, which is no longer pertinent, since we don't use + 'clock'. + (w32_get_timer_time): Use 10*TIMER_TICKS_PER_SEC instead of a + literal 10000. + +2012-10-28 Jan Djärv + + * nsterm.m (NO_APPDEFINED_DATA): New define. + (last_appdefined_event_data): New variable + (last_appdefined_event): Remove. + (ns_select): Initialize t from last_appdefined_event_data instead + of [last_appdefined_event data1]. + (sendEvent:): Save [theEvent data1] to last_appdefined_event_data, + remove last_appdefined_event (Bug#12698). + +2012-10-28 Stefan Monnier + + * frame.c (x_set_font): Catch internal error. + +2012-10-27 Eli Zaretskii + + Avoid overflow in w32 implementation of interval timers. + When possible, for ITIMER_PROF count only times the main thread + actually executes. + * w32proc.c : 'expire' and 'reload' are now + 'volatile ULONGLONG' types. All the other data which was + previously clock_t is now ULONGLONG. 'terminate' is 'volatile int'. + (GetThreadTimes_Proc): New typedef. + (w32_get_timer_time): New function, returns a suitable time value + for the timer. + (timer_loop): Enter critical section when accessing ULONGLONG + values of the itimer_data struct, as these accesses are no longer + atomic. Call 'w32_get_timer_time' instead of 'clock'. + Remove unused variable. + (init_timers): Initialize s_pfn_Get_Thread_Times. + (start_timer_thread): Don't assign itimer->caller_thread here. + (getitimer): Assign itimer->caller_thread here. + (setitimer): Always call getitimer to get the value of ticks_now. + (sys_spawnve): Avoid compiler warning about format mismatch. + +2012-10-26 Eli Zaretskii + + * w32fns.c (w32_wnd_proc) : Don't enable tracking of + mouse movement events if the menu bar is active. This avoids + producing a busy "hour-glass" cursor by Windows if the mouse + pointer is positioned over a tooltip shown for some menu item. + +2012-10-25 Paul Eggert + + Don't assume process IDs fit in int. + * emacs.c (shut_down_emacs) [!DOS_NT]: + * sysdep.c (sys_suspend) [SIGTSTP && !MSDOS]: + * term.c (dissociate_if_controlling_tty) [!DOS_NT]: + Use pid_t, not int, to store process IDs, as 'int' + is not wide enough on a few platforms (e.g., AIX and IRIX). + +2012-10-23 Kenichi Handa + + The following change is to make face-font-rescale-alist work + correctly for non-ASCII fonts. + + * font.c (font_open_entity): Don't handle Vface_font_rescale_alist. + (font_open_for_lface): Handle Vface_font_rescale_alist. + +2012-10-23 Chong Yidong + + * xfaces.c (Vfont_list_limit): Move unused variable to faces.el. + +2012-10-21 Jan Djärv + + * nsfont.m (nsfont_open, ns_glyph_metrics): Force integer advancement + for screen font. + (nsfont_draw): Turn off LCD-smoothing (Bug#11484). + + * xterm.c (x_focus_changed): Check if daemonp when sending focus in + event (Bug#12681). + +2012-10-21 Glenn Morris + + * lisp.mk (lisp): Add cp51932.el and eucjp-ms.el. + +2012-10-20 Paul Eggert + + Port to OpenBSD 5.1. + * frame.c (Fmouse_position, Fmouse_pixel_position): + * xdisp.c (produce_stretch_glyph): + Declare local vars only when they're needed. + This is clearer and avoids a warning on OpenBSD about unused vars. + * frame.h (FRAME_WINDOW_P): Always evaluate its argument. + This is safer, and avoids OpenBSD warnings about unused vars. + * keyboard.c (record_menu_key): Remove unnecessary decl. + (poll_timer): Define only if POLL_FOR_INPUT is defined. + * unexelf.c (ELFSIZE) [!ElfW]: Do not define if already defined, + as our definition clashes with OpenBSD's. + * xfaces.c (load_face_colors, check_lface_attrs) + (get_lface_attributes_no_remap, get_lface_attributes) + (lface_fully_specified_p, x_supports_face_attributes_p) + (tty_supports_face_attributes_p, face_fontset, realize_face) + (realize_x_face, realize_tty_face): + Declare parameters to be Lisp_Object[LFACE_VECTOR_SIZE], not + merely Lisp_Object *. This is more informative and avoids + a warning on OpenBSD about accessing beyond an object's size. + +2012-10-20 Chong Yidong + + * lread.c (Fload): Doc fix (Bug#12592). + +2012-10-19 Kazuhiro Ito (tiny change) + + * font.c (Ffont_at): Fix previous change. + +2012-10-19 Eli Zaretskii + + * puresize.h (BASE_PURESIZE): Bump the base value to 1700000. + See http://lists.gnu.org/archive/html/emacs-devel/2012-10/msg00593.html + for the reasons. + + * alloc.c (NSTATICS): Decrease to 0x800. + +2012-10-19 Stefan Monnier + + * fns.c (Fnreverse): Include the problem element when signaling an + error (bug#12677). + +2012-10-18 Jan Djärv + + * nsterm.m (ns_select): Check writefds before call to + FD_ISSET (Bug#12668). + +2012-10-18 Daniel Colascione + + * alloc.c (NSTATICS): Increase from 0x650 to 0x1000 + (staticpro): If we run out of staticpro slots, die with an + informative error instead of just calling emacs_abort. + +2012-10-18 Martin Rudalics + + Fix two flaws reported by Dmitry Antipov. + * window.c (Ftemp_output_buffer_show): Remove. + (Fwindow_vscroll, Fset_window_vscroll): Use decode_live_window. + (syms_of_window): Remove defsubr for Stemp_output_buffer_show. + +2012-10-17 Eli Zaretskii + + * makefile.w32-in ($(BLD)/w32.$(O)): + ($(BLD)/vm-limit.$(O)): + ($(BLD)/term.$(O)): + ($(BLD)/unexw32.$(O)): + ($(BLD)/fileio.$(O)): + ($(BLD)/dispnew.$(O)): Update dependencies. + + * w32term.h (w32_initialize_display_info, initialize_w32_display): + Add prototypes. + + * w32proc.c: Include ctype.h. + + * w32.h (init_environment, check_windows_init_file) + (syms_of_ntproc, syms_of_ntterm, dostounix_filename) + (unixtodos_filename, init_winsock, srandom, random, sys_pipe) + (set_process_dir, sys_spawnve, register_child, sys_sleep, getwd) + (sys_link): Add prototypes. + + * w32.c: Include w32select.h. + (sys_access, e_malloc, sys_select): Add prototypes. + (emacs_gnutls_pull): 'timeout' is now EMACS_TIME, not struct timeval. + + * vm-limit.c [WINDOWSNT]: Include w32heap.h. + + * unexw32.c: Include lisp.h and w32.h. + + * term.c [WINDOWSNT]: Include w32term.h. + + * process.c [WINDOWSNT]: Add prototype of sys_select. + + * fileio.c [WINDOWSNT]: Include w32.h. + + * dispnew.c [WINDOWSNT]: Include w32.h. + + * cygw32.c (Fcygwin_convert_path_to_windows) + (Fcygwin_convert_path_from_windows): Use EQ to compare 2 + Lisp_Object values. (Bug#12661) + + * w32fns.c (w32_msg_pump): Use XIL instead of casting an integer + to Lisp_Object. (Bug#12661) + +2012-10-17 Kenichi Handa + + * xdisp.c (reseat_1): Make the information stored in it->cmp_it + invalidate. + +2012-10-17 Dmitry Antipov + + * buffer.c (Fkill_buffer): When unchaining the marker, + reset its buffer pointer to NULL (Bug#12652). + +2012-10-17 Dmitry Antipov + + Do not verify indirection counters of killed buffers (Bug#12579). + * buffer.h (BUFFER_CHECK_INDIRECTION): New macro. + * buffer.c (compact_buffer, set_buffer_internal_1): Use it. + +2012-10-16 Dmitry Antipov + + * alloc.c (Fmake_byte_code): Fix typo in comment. + * print.c (print_interval): Define as static to match prototype. + * indent.c (disptab_matches_widthtab, recompute_width_table): + Convert to eassert. + +2012-10-16 Dmitry Antipov + + * editfns.c (get_system_name): Remove. + * lisp.h (get_system_name): Remove prototype. + * xrdb.c (getenv, getpwuid, getpwnam): Remove prototypes. + (get_environ_db): Use Vsystem_name. Avoid call to strlen. + +2012-10-15 Daniel Colascione + + * dbusbind.c: Add comment explaining reason for previous change. + +2012-10-15 Martin Rudalics + + * window.c (Fwindow_end): Rewrite check whether cached position + can be used (Bug#12600). + (resize_frame_windows, grow_mini_window, shrink_mini_window): + Set windows_or_buffers_changed. + +2012-10-15 Daniel Colascione + + * dbusbind.c: Fix cygw32 build break when compiling with dbus + enabled by undefining the symbol "interface", which the platform + headers define to something incompatible. + +2012-10-14 Daniel Colascione + + * image.c (init_tiff_functions, init_imagemagick_functions) + (init_svg_functions): Fix cygw32 build break by using these + functions only when WINDOWSNT _and_ HAVE_NTGUI. + +2012-10-14 Jan Djärv + + * nsterm.m (ns_select): Count fd:s in writefs also (Bug#12422). + +2012-10-13 Jan Djärv + + * gtkutil.c (xg_set_widget_bg): Divide by 65535 (Bug#12612). + +2012-10-13 HANATAKA, Shinya (tiny change) + + * coding.c (detect_coding): Set coding->id before calling + this->detector. + +2012-10-13 Andreas Schwab + + * fileio.c: Formatting fixes. + +2012-10-13 Paul Eggert + + Fix some stat-related races. + * fileio.c (Fwrite_region): Avoid race condition if a file is + removed or renamed by some other process immediately after Emacs + writes it but before Emacs stats it. Do not assume that stat (or + fstat) succeeds. + * image.c (slurp_file): Resolve the file name with fopen + fstat + rather than stat + fopen. + (pbm_read_file) [0]: Remove unused code with stat race. + * process.c (allocate_pty) [HAVE_PTYS && !PTY_ITERATION && !PTY_OPEN]: + Remove ineffective code with stat race. + +2012-10-12 Stefan Monnier + + * doc.c (get_doc_string): Don't signal an error if the file is missing. + +2012-10-12 Jan Djärv + + * nsterm.m (hold_event_q): New static variable. + (EV_TRAILER, sendScrollEventAtLoc:fromEvent:): Call hold_event if + ! q_event_ptr. + (hold_event): New function. + (ns_read_socket): If hold_event_q have events, store them and + return (Bug#12384). + (setPosition:portion:whole:): Send SIGIO to ourselves if apploopnr + is zero (Bug#12384). + +2012-10-12 Juanma Barranquero + + * makefile.w32-in ($(BLD)/w32select.$(O)): Update dependencies. + +2012-10-12 Eli Zaretskii + + * makefile.w32-in ($(BLD)/fileio.$(O)): Add sys/file.h. + + * fileio.c (check_existing): New function. + (make_temp_name, Ffile_exists_p, Ffile_writable_p): Call it + instead of calling 'stat', when what's needed is to check whether + a file exists. This avoids expensive system calls on MS-Windows. + (Bug#12587) + + * w32.c (init_environment): Call 'check_existing' instead of 'stat'. + + * lread.c (openp) [WINDOWSNT]: Call 'access' instead of 'stat' to + determine whether a file exists and is not a directory. + + * lisp.h (check_existing): Add prototype. + +2012-10-12 Jan Djärv + + * nsfont.m (nsfont_open): Remove font cache, it is not GC correct. + +2012-10-12 Glenn Morris + + * buffer.c (Fset_buffer): Doc fix. (Bug#12624) + +2012-10-11 Stefan Monnier + + * buffer.c (Fkill_buffer): Null out the overlay list(s) as well. + + * eval.c (Fautoload): Remember previous autoload status in load-history. + +2012-10-11 Paul Eggert + + lread.c, macros.c, marker.c, menu.c, minibuf.c: Use bool for booleans. + * lread.c (load_each_byte, new_backquote_flag, readchar) + (read_filtered_event, lisp_file_lexically_bound_p) + (safe_to_load_version, Fload, complete_filename_p, openp) + (build_load_history, readevalloop, read_escape, read1) + (string_to_number, read_vector, read_list): + * macros.c (Fstart_kbd_macro): + * marker.c (CONSIDER): + * menu.c (parse_single_submenu, digest_single_submenu) + (find_and_return_menu_selection, Fx_popup_menu): + * minibuf.c (read_minibuf_noninteractive, read_minibuf) + (Ftry_completion): + * nsmenu.m (ns_update_menubar, runMenuAt:forFrame:keymaps:): + (ns_menu_show): + * xmenu.c (set_frame_menubar, create_and_show_popup_menu) + (xmenu_show, xdialog_show): + Use bool for booleans. + * lread.c (safe_to_load_version): Rename from safe_to_load_p, + as it's not a predicate. All uses changed. Omit unnecessary + buffer termination. + +2012-10-11 Dmitry Antipov + + * editfns.c (save_excursion_save): Use nil if mark points to nowhere. + (save_excursion_restore): Do not restore mark if it was not saved. + +2012-10-11 Paul Eggert + + * marker.c (cached_modiff): EMACS_INT, not int. + + * w32select.c (waiting_for_input): Declare by including "keyboard.h" + instead of having a wrong decl. + * nsmenu.m (waiting_for_input): Remove wrong decl. + +2012-10-10 Paul Eggert + + keyboard.c, keymap.c: Use bool for booleans. + * dispnew.c (sit_for): Distinguish between 3-way display_option + and boolean do_display. + * keyboard.c (single_kboard, this_command_key_count_reset) + (waiting_for_input, echoing, immediate_quit, input_pending) + (interrupt_input, interrupts_deferred, pop_kboard) + (temporarily_switch_to_single_kboard, ignore_mouse_drag_p) + (command_loop_1, adjust_point_for_property) + (safe_run_hooks_error, input_polling_used, read_char): + (help_char_p, readable_events, kbd_buffer_events_waiting) + (kbd_buffer_get_event, timer_check_2, make_lispy_event) + (lucid_event_type_list_p, get_input_pending): + (gobble_input, menu_separator_name_p, menu_bar_item) + (parse_menu_item, parse_tool_bar_item, read_char_x_menu_prompt) + (read_char_minibuf_menu_prompt, access_keymap_keyremap) + (keyremap_step, test_undefined, read_key_sequence) + (detect_input_pending, detect_input_pending_ignore_squeezables) + (detect_input_pending_run_timers, requeued_events_pending_p) + (quit_throw_to_read_char, Fset_input_interrupt_mode): + * keymap.c (get_keymap, keymap_parent, keymap_memberp) + (access_keymap_1, access_keymap, map_keymap, get_keyelt) + (Fdefine_key, Flookup_key, struct accessible_keymaps_data) + (accessible_keymaps_1, Fkey_description, push_key_description): + (shadow_lookup, struct where_is_internal_data) + (where_is_internal, Fwhere_is_internal, where_is_internal_1) + (Fdescribe_buffer_bindings, describe_map_tree, struct describe_map_elt) + (describe_map, describe_vector): + * menu.c (single_menu_item): + * nsmenu.m (ns_update_menubar): + * process.c (wait_reading_process_output): + * search.c (scan_buffer, scan_newline): + Use bool for boolean. + * keyboard.c (timers_run, swallow_events) + (detect_input_pending_run_timers): + * process.c (wait_reading_process_output): + Use unsigned for counter where wraparound-on-overflow is desired, + since unsigned is guaranteed to have that behavior and signed is not. + (read_char): Use ptrdiff_t for string length. + (get_input_pending): Remove first argument, since it was always + the same pointer-to-int (now pointer-to-boolean) &input_pending, + and behave as if it had that value. Return new value of + input_pending. All callers changed. + * keyboard.h (struct kboard): Use unsigned : 1 for boolean member + immediate_echo. Use ptrdiff_t for echo_after_prompt, since it's + a string length. + * keymap.c (push_key_description): Omit last arg, which was always 1. + All callers changed. + + * regex.c (immediate_quit) [emacs]: Remove duplicate decl. + +2012-10-10 Juanma Barranquero + + * makefile.w32-in ($(BLD)/dispnew.$(O), $(BLD)/indent.$(O)) + ($(BLD)/term.$(O)): Update dependencies. + +2012-10-10 Dmitry Antipov + + * alloc.c (mark_object): Use meaningful PVEC_NORMAL_VECTOR. + * lisp.h (enum pvec_type): Adjust comments and omit explicit + initializer for PVEC_NORMAL_VECTOR. + +2012-10-10 Paul Eggert + + Clean out old termopts cruft. + * termopts.h (flow_control, meta_key): Remove unused decls. + * dispnew.c, indent.c, nsterm.m, term.c, xsettings.c, xsmfns.c: + Don't include termopts.h. + +2012-10-10 Dmitry Antipov + + * alloc.c (gc_sweep): Use pointer-to-a-pointer loop for buffers. + +2012-10-10 Paul Eggert + + * commands.h (immediate_quit): Remove duplicate decl. + +2012-10-09 Jan Djärv + + * nsfont.m (Vfonts_in_cache): Remove, not needed as font.c handles + caching. + (nsfont_open): Remove setting of Vfonts_in_cache. + (syms_of_nsfont): Remove initialization of Vfonts_in_cache. + +2012-10-09 Eli Zaretskii + + * w32fns.c (w32_last_error): Change the return value to DWORD, to + match what GetLastError returns. Explain why the function is + needed. + + * frame.c (delete_frame): Rename local variable 'tooltip_frame' to + 'is_tooltip_frame', to avoid confusion with its global namesake. + +2012-10-08 Daniel Colascione + + * xdisp.c (start_hourglass): Call w32_note_current_window when + HAVE_NTGUI, not just WINDOWSNT, resolving a problem in the cygw32 + build that caused Emacs to display the hourglass cursor forever. + + * w32fns.c (Fx_display_color_cells): Instead of using NCOLORS, + which is broken under remote desktop, calculate the number of + colors available for a display based on the display's number of + planes and number of bits per pixel per plane. (bug#10397). + +2012-10-08 Jan Djärv + + * nsfont.m (Vfonts_in_cache): New variable. + (nsfont_open): Use unsignedLongLongValue for cache in case wide ints + are used. Add cached fonts to Vfonts_in_cache. + (syms_of_nsfont): Initialize and staticpro Vfonts_in_cache. + +2012-10-08 Juanma Barranquero + + * makefile.w32-in (LOCAL_FLAGS): Don't define HAVE_NTGUI, it's now + in nt/config.nt. + (FONT_H): Define after FRAME_H. + ($(BLD)/emacs.$(O), $(BLD)/process.$(O), $(BLD)/w32heap.$(O)): + Update dependencies. + + * w32term.c: Remove leftover declaration of keyboard_codepage. + +2012-10-08 Eli Zaretskii + + * makefile.w32-in (FONT_H): Add $(FRAME_H). + (W32TERM_H): Add $(ATIMER_H) and $(FRAME_H). + ($(BLD)/emacs.$(O), $(BLD)/w32console.$(O)): Update dependencies. + (GLOBAL_SOURCES): Add cygw32.c. + ($(BLD)/unexw32.$(O)): + ($(BLD)/w32.$(O)): + ($(BLD)/w32console.$(O)): + ($(BLD)/w32fns.$(O)): + ($(BLD)/w32heap.$(O)): + ($(BLD)/w32menu.$(O)): + ($(BLD)/w32proc.$(O)): Add w32common.h. + + * w32fns.c (w32_color_map_lookup, x_to_w32_color): Argument is now + 'const char *'. + (x_to_w32_color): Don't modify the argument, modify a copy instead. + +2012-10-08 Daniel Colascione + + * w32term.h (WM_EMACS_BRINGTOTOP, WM_EMACS_INPUT_READY) + (WM_EMACS_END): Change WM_EMACS_BRINGTOTOP from 22 to 21 to close + accidental message numbering hole. Change other messages to + match. + + * w32select.h (HAVE_W32SELECT): Remove. + + * w32select.c, w32proc.c, w32menu.c, w32console.c, w32.c: Include + w32common.h instead of w32heap.h. + + * w32heap.h (ROUND_UP, ROUND_DOWN, get_page_size) + (get_allocation_unit, get_processor_type, get_w32_major_version) + (get_w32_minor_version, sysinfo_cache, osinfo_cache) + (w32_major_version, w32_minor_version, w32_build_number, OS_9X) + (OS_NT, os_subtype, cache_system_info): Move declarations to + w32common. + + * w32heap.c: Include w32common.h. + (sysinfo_cache, syspage_mask, osinfo_cache, w32_major_version) + (w32_minor_version, w32_build_number, w32_subtype): + Remove duplicate definitions. + + * w32fns.c: Include w32common.h; include w32heap.h only in + WINDOWSNT. + + (Fx_file_dialog): Clarify comment on GetOpenFileName structure. + Use `report_file_error' instead of `error' in order to better + inform users of what went wrong. Increase NTGUI_UNICODE file + dialog box file name length to 32k, the maximum allowed by the NT + kernel. + + * w32common.h: New file. + (ROUND_UP, ROUND_DOWN, get_page_size) + (get_allocation_unit, get_processor_type, get_w32_major_version) + (get_w32_minor_version, sysinfo_cache, osinfo_cache) + (w32_major_version, w32_minor_version, w32_build_number, OS_9X) + (OS_NT, os_subtype, cache_system_info): Move here. + + * unexw32.c, unexcw.c: Include w32common.h. + + * emacs.c (main): Use (defined (WINDOWSNT) || defined + HAVE_NTGUI) instead of removed HAVE_W32SELECT to decide whether + to call syms_of_w32select. + + * cygw32.h: Remove obsolete EXFUN declarations. + + * cygw32.c (Qutf_16_le): Rename to Qutf_16le. + + * Makefile.in (SOME_MACHINE_OBJECTS): Reverse accidental removal + of w32inevt.o from SOME_MACHINE_OBJECTS. + +2012-10-08 Daniel Colascione + + * image.c: Permanent fix for JPEG compilation issue --- limit + jpeglib `boolean' redefinition to Cygwin builds. + +2012-10-08 Eli Zaretskii + + * image.c (CHECK_LIB_AVAILABLE): Remove, no longer used. + + * emacs.c (DAEMON_MUST_EXEC) [HAVE_NTGUI]: Define this only on + Cygwin. + +2012-10-08 Daniel Colascione + + * xfaces.c, xdisp.c, window.c, w32xfns.c, w32term.h, w32term.c, + w32select.h w32select.c, w32proc.c, w32menu.c, w32inevt.c, + w32help.c, w32font.c, w32font.c, w32fns.c, w32console.c, w32.h, + w32.c, unexw32.c, termhooks.h, process.c, menu.c, keyboard.h, + keyboard.c, image.c, frame.h, frame.c, fontset.c, font.h, font.c, + emacs.c, dispextern.h, cygw32.h, cygw32.c, conf_post.h, + Makefile.in: use HAVE_NTGUI for W32 GUI and WINDOWSNT for the + operating system. defined(HAVE_NTGUI) && !defined(WINDOWSNT) is + now a supported configuration. + + * Makefile.in: consolidate image variables into LIBIMAGE; add + W32_OBJ and W32_LIBS. Compile new files. + + * conf_post.h: + (_DebPrint) declare tracing facility for W32 debugging. We need + to unify tracing later. + + (NTGUI_UNICODE) Define when compiling for Cygwin to allow the + unconditional use of W32 Unicode functions. Cygwin runs only on + 100% Unicode operating systems. + + * cygw32.c: New file. Define Cygwin-specific facilities. + (Fcygwin_convert_path_to_windows) + (Fcygwin_convert_path_from_windows): New user functions for + accessing Cygwin path-munging routines. + + * cygw32.h: New file. + (WCSDATA, to_unicode, from_unicode): Define facilities for storing + UTF-16LE strings temporarily inside non-Lisp-visible string + objects. + + (w32_strerror): Just what it says on the tin. + + * emacs.c: Make the NS fork-then-exec code for daemon-launching + also run for Cygwin; both systems have the same problem with using + GUI facilities in a forked child. Also call syms_of_cygw32, + syms_of_w32select in correct places. + + (DAEMON_MUST_EXEC): new macro defined to signal that a platform + needs fork-then-exec for daemon launching. + + * font.h: Include frame.h. + + * image.c: Use the image library cache machinery only when we're + compiling for native WINDOWSNT; Cygwin can use shared libraries + like any other Unixlike system. + + * keyboard.c: Clarify a comment regarding the input loop. + + * menu.c: When NTGUI_UNICODE is defined, use Unicode menu + functions directly instead of trying to detect at runtime that our + host operating system supports them. We make this change for two + reasons: Cygwin lacks support for the multibyte character + conversion functions used by the legacy menu code, and Cygwin + never needs to rely on non-Unicode APIs. + + * unexw32.c (hinst): Declare extern. + + * w32.c: Change header order; + (w32_strerror): Move to w32fns.c because we need it for + non-WINDOWSNT builds. + + * w32.h: Add #error macro to make sure we don't include w32.h for + Cygwin builds. Remove w32select declarations. + + * w32console.c (w32_sys_ring_bell, Fset_message_beep): Move to + w32fns.c. w32console.c is WINDOWSNT-only. + + * w32fns.c: Include cygw32.h or w32.h depending on CYGWIN; more + NTGUI_UNICODE tweaks. (See above.) Change _snprintf to the more + POSIXy alternative. + (faked_key, sysinfo_cache, osinfo_cahce, syspage_mask) + (w32_major_version, w32_minor_version, w32_build_number) + (os_subtype, sound_type): Define here + (w32_defined_color): Make color parameter const for consistency + with other _defined_color functions. + (w32_createwindow): Unconditionally call w32_init_class instead of + doing so only when hprevinst is non-NULL. Plumbing hprevinst + through the code is complex and unnecessary because class + registration is practically free. + (w32_name_of_message): New EMACSDEBUG-only function. + (Fset_message_beep): Move here + (Fx_open_connection): Require that the display name for Windows be + "w32" for consistency, emacsclient disambiguation, and maybe, one + day, multi-window-system support. + (file_dialog_callback): NTGUI_UNICODE changes; encode and decode + Cygwin files for W32 GUI facilities, since these clearly don't + expect Cygwin names. + (_DebPrint): Define. + (w32_strerror, w32_console_toggle_lock_key, w32_kbd_mods_to_emacs) + (w32_kbd_patch_key, w32_sys_ring_bell): Move here. + (Ssystem_move_file_to_trash): Define only for native WINDOWSNT. + (w32_last_error): Remove. + + * w32font.c: Define _strlwr to strlwr for non-WINDOWSNT builds. + + * w32heap.c (syspage_mask): Declare here. + (cache_system_info): Remove. + + * w32inevt.c (faked_key): Define globally, not statically. + (w32_kbd_mods_to_emacs, w32_kbd_patch_key, faked_key) + (w32_console_toggle_lock_key): Move to w32fns.c. + + * w32menu.c: Include setjmp.h. NTGUI_UNICODE changes throughout. + + * w32proc.c (_DebPrint): Move to w32fns.c. + * w32select.c: Include string.h, stdio.h for Cygwin. + * w32select.h: New File. + + * w32term.c: Include io.h for non-CYGWIN builds; needed for + get_osfhandle. + (w32_message_fd): New variable. Under Cygwin, holds the file + descriptor the system used to tell us about pending thread + messages. + + (w32_init_term): Remove incorrect calls to fcntl and init_sigio + that prevented compilation under non-WINDOWSNT systems. + + (w32_initialize): Open /dev/windows and assign it to + w32_message_fd. Provide w32 feature. + + * w32term.h: Include frame.h, atimer.h. Declare various frame functions. + (WM_EMACS_INPUT_READY): add. + (prepend_msg, w32_message_fd): Declare globally. + + * w32xfns.c: + (keyboard_handle): Use only when WINDOWSNT. + (notify_msg_ready): New function. Posts a message to the main + thread's message queue under CYGWIN, which wakes up the main + thread from select(2) by making the /dev/windows file descriptor + ready. Under WINDOWSNT, it sets an event the same way the old + code did. + + (post, prepend_msg): Actually call notify_msg_ready instead of + setting the input event directly. + +2012-10-07 Eli Zaretskii + + * ralloc.c (relinquish): If a heap is ready to be relinquished, + but it still has blocs in it, don't return it to the system, + instead of aborting. (Bug#12402) + +2012-10-07 Jan Djärv + + * nsterm.m (ns_dumpglyphs_image): Only draw slice of image (Bug#12506). + + * nsterm.m (ns_update_auto_hide_menu_bar): Remove defintion of + MAC_OS_X_VERSION_10_6. + (syms_of_nsterm): Remove comment about Panther and above for + ns-antialias-text. + * nsterm.h (MAC_OS_X_VERSION_10_3, onTiger): Remove. + (EmacsApp): Remove check for >= MAC_OS_X_VERSION_10_4. + (struct nsfont_info): Remove check for >= MAC_OS_X_VERSION_10_3. + + * nsselect.m (ns_string_from_pasteboard): Remove check for >= + MAC_OS_X_VERSION_10_4. + + * nsmenu.m (fillWithWidgetValue:): Remove code for < + MAC_OS_X_VERSION_10_2. + + * nsimage.m (setPixmapData, getPixelAtX, setAlphaAtX): Remove onTiger. + + * nsfns.m (Fns_list_services): Remove comment and check for OSX < 10.4. + (ns_do_applescript): Remove check for >= MAC_OS_X_VERSION_10_4. + + * nsterm.m (ns_in_resize): Remove (Bug#12479). + (ns_resize_handle_rect, mouseDown, mouseUp, mouseDragged): Remove. + (ns_clear_frame, sendEvent, windowDidResize, drawRect:): + Remove ns_in_resize check. + (ns_clear_frame_area): Remove resize handle code. + + * nsfns.m (ns_in_resize): Remove. + (x_set_icon_name, ns_set_name, ns_set_name_as_filename): + Remove ns_in_resize check. + +2012-10-07 Paul Eggert + + Improve sys_siglist detection. + * sysdep.c (sys_siglist, init_signals): Use _sys_siglist if it's + defined as a macro, as is done in Solaris. + (sys_siglist_entries): New macro. + (save_strsignal): Use it. + * syssignal.h (safe_strsignal): Now ATTRIBUTE_CONST, to pacify + GCC 4.7.2 on Fedora 17 with the fixed sys_siglist detection. + +2012-10-06 Jan Djärv + + * nsfns.m (Fx_create_frame): Call x_default_parameter with + fullscreen/Fullscreen. + + * nsterm.h (EmacsView): Rename tbar_height to tibar_height. + tobar_height is new. + + * nsterm.m (x_make_frame_visible): Check for fullscreen. + (ns_fullscreen_hook): Activate old style fullscreen with a timer. + (ns_term_init): Set activateIgnoringOtherApps if old style fullscreen. + (windowDidResize:): Check for correct window if old style fullscreen. + Capitalize word in comment. Remove incorrect comment. + (initFrameFromEmacs:): tbar_height renamed tibar_height. + (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix + error in drawing background. + (toggleFullScreen:): Remove comment. Rearrange calls. + Set toolbar values to zero, save old height in tobar_height. + Restore tool bar height when leaving fullscreen. + (canBecomeMainWindow): New function. + +2012-10-06 Paul Eggert + + * keyboard.c (read_char): Remove unnecessary 'volatile's and label. + +2012-10-05 Eli Zaretskii + + * w32proc.c (stop_timer_thread): Fix declaration of 'err'. + + * w32.c (utime): Open the file with FILE_FLAG_BACKUP_SEMANTICS, so + that time stamps of directories could also be changed. + Don't request the too broad GENERIC_WRITE, only the more restrictive + FILE_WRITE_ATTRIBUTES access rights. + + * fileio.c (Fset_file_times): Special-case ignoring errors for + directories only on MSDOS, not on MS-Windows. + +2012-10-05 Ikumi Keita (tiny change) + + * minibuf.c (Fcompleting_read): Doc fix. (Bug#12555) + +2012-10-04 Eli Zaretskii + + * w32.c (utime): Test for INVALID_HANDLE_VALUE, not for NULL, to + see whether CreateFile failed. + +2012-10-04 Paul Eggert + + * profiler.c (handle_profiler_signal): Inhibit pending signals too, + to avoid similar races. + * keyboard.c (pending_signals): Now bool, not int. + + Port timers to OpenBSD, plus check for timer failures. + OpenBSD problem reported by Han Boetes. + * profiler.c (setup_cpu_timer): Check for failure of timer_settime + and/or setitimer. + (Fprofiler_cpu_stop): Don't assume HAVE_SETITIMER. + * syssignal.h (HAVE_ITIMERSPEC): New macro. This is for platforms + like OpenBSD, which has timer_settime but does not declare it. + OpenBSD does not define SIGEV_SIGNAL, so use that when deciding + whether to use itimerspec-related primitives. All uses of + HAVE_TIMER_SETTIME replaced with HAVE_ITIMERSPEC. + +2012-10-02 Paul Eggert + + * profiler.c (handle_profiler_signal): Fix a malloc race + that caused Emacs to hang on Fedora 17 when profiling Lisp. + +2012-10-02 Jan Djärv + + * nsterm.m (windowDidEnterFullScreen): Remove fprintf. + +2012-10-02 Eli Zaretskii + + * w32proc.c (sys_wait): Declare 'signame' 'const char *', to be + consistent with the change in return value of 'safe_strsignal'. + +2012-10-02 Paul Eggert + + Prefer plain 'static' to 'static inline' (Bug#12541). + * bidi.c (bidi_get_type, bidi_check_type, bidi_get_category) + (bidi_set_sor_type, bidi_push_embedding_level) + (bidi_pop_embedding_level, bidi_remember_char, bidi_copy_it) + (bidi_cache_reset, bidi_cache_shrink, bidi_cache_fetch_state) + (bidi_cache_search, bidi_cache_ensure_space) + (bidi_cache_iterator_state, bidi_cache_find) + (bidi_peek_at_next_level, bidi_set_paragraph_end) + (bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char) + (bidi_explicit_dir_char, bidi_resolve_neutral_1): + Now 'static', not 'static inline'. + + Count overruns when profiling; change units to ns. + * profiler.c (handle_profiler_signal): Count sampling intervals, not ms. + Give extra weight to samples after overruns, to attempt to count + the time more accurately. + (setup_cpu_timer): Change sampling interval units from ms to ns, since + the underlying primitives nominally do ns. + (Fprofiler_cpu_start): Document the change. Mention that + the sampling intervals are only approximate. + +2012-10-02 Stefan Monnier + + * frame.c (Fmake_terminal_frame): Prefer safer CONSP over !NILP. + + * coding.h (ENCODE_FILE, DECODE_FILE, DECODE_SYSTEM): Remove special + case for the special 0 coding-system. + + * buffer.c (Fset_buffer_multibyte): Signal an error instead of widening. + (Fmake_overlay): Remove redundant tests. + (fix_start_end_in_overlays): Remove redundant recentering. + +2012-10-02 Juanma Barranquero + + * makefile.w32-in ($(BLD)/alloc.$(O), $(BLD)/gmalloc.$(O)): + Update dependencies. + +2012-10-01 Paul Eggert + + Fix a malloc race condition involving strsignal. + A signal can arrive in the middle of a malloc, and Emacs's signal + handler can invoke strsignal, which can invoke malloc, which is + not portable. This race condition bug makes Emacs hang on GNU/Linux. + Fix it by altering the signal handler so that it does not invoke + strsignal. + * emacs.c (shut_down_emacs): Use safe_strsignal, not strsignal. + * process.c (status_message): Use const pointer, in case strsignal + is #defined to safe_strsignal. + * sysdep.c (sys_siglist, init_signals): Always define and + initialize a substitute sys_siglist if the system does not define + one, even if HAVE_STRSIGNAL. + (safe_strsignal): Rename from strsignal. Always define, + using sys_siglist. Return a const pointer. + * syssignal.h (safe_strsignal): New decl. + (strsignal) [!HAVE_STRSIGNAL]: Define in terms of safe_strsignal. + +2012-10-01 Eli Zaretskii + + * w32proc.c (timer_loop): Fix code that waits for timer + expiration, to avoid high CPU usage. + +2012-10-01 Stefan Monnier + + * fns.c (check_hash_table, get_key_arg, maybe_resize_hash_table) + (sweep_weak_table): Remove redundant prototypes. + +2012-10-01 Fabrice Popineau + + * emacs.c: Move the inclusion of TERM_HEADER after including + windows.h on WINDOWSNT. This avoids compilation problems with + MSVC. + +2012-10-01 Eli Zaretskii + + * unexw32.c (OFFSET_TO_RVA, RVA_TO_OFFSET) + (RVA_TO_SECTION_OFFSET): Encode all macro arguments in parentheses. + (RVA_TO_PTR): Cast the result of RVA_TO_OFFSET to 'unsigned char *', + as the previous version used 'void *'. + + * ralloc.c (ROUNDUP): Fix last change. + (MEM_ROUNDUP): Don't cast MEM_ALIGN, it is already of type + 'size_t'. + + * w32proc.c : New static flag. + (init_timers): Initialize it to zero, after creating the critical + sections used by the timer threads. + (term_timers): Set to 1 before deleting the critical sections. + (getitimer, setitimer): If disable_itimers is non-zero, return an + error indication without doing anything. Reported by Fabrice + Popineau as part of bug#12544. + (alarm) [HAVE_SETITIMER]: Be more conformant to the expected + return results. + [!HAVE_SETITIMER]: Behave as the previous version that didn't + support timers. + + * emacs.c (shut_down_emacs) [WINDOWSNT]: Move the call to + term_ntproc after all the other bookkeeping, to get timers working + as long as possible. + +2012-10-01 Paul Eggert + + * xdisp.c (syms_of_xdisp): Default message-log-max to 1000, not 100. + Suggested by Juri Linkov in + . + + Prefer plain 'static' to 'static inline' (Bug#12541). + With static functions, modern compilers inline pretty well by + themselves; advice from programmers often hurts as much as it helps. + On my host (x86-64, Fedora 17, GCC 4.7.2, default 'configure'), + this change shrinks the text size of the Emacs executable by 1.1% + without affecting CPU significantly in my benchmark. + * alloc.c (mem_find, live_string_p, live_cons_p, live_symbol_p) + (live_float_p, live_misc_p, live_vector_p, live_buffer_p) + (mark_maybe_object, mark_maybe_pointer, bounded_number): + * buffer.c (bset_abbrev_mode, bset_abbrev_table) + (bset_auto_fill_function, bset_auto_save_file_format) + (bset_auto_save_file_name, bset_backed_up, bset_begv_marker) + (bset_bidi_display_reordering, bset_buffer_file_coding_system) + (bset_cache_long_line_scans, bset_case_fold_search) + (bset_ctl_arrow, bset_cursor_in_non_selected_windows) + (bset_cursor_type, bset_display_table, bset_extra_line_spacing) + (bset_file_format, bset_file_truename, bset_fringe_cursor_alist) + (bset_fringe_indicator_alist, bset_fringes_outside_margins) + (bset_header_line_format, bset_indicate_buffer_boundaries) + (bset_indicate_empty_lines, bset_invisibility_spec) + (bset_left_fringe_width, bset_major_mode, bset_mark) + (bset_minor_modes, bset_mode_line_format, bset_mode_name) + (bset_name, bset_overwrite_mode, bset_pt_marker) + (bset_right_fringe_width, bset_save_length) + (bset_scroll_bar_width, bset_scroll_down_aggressively) + (bset_scroll_up_aggressively, bset_selective_display) + (bset_selective_display_ellipses, bset_vertical_scroll_bar_type) + (bset_word_wrap, bset_zv_marker, set_buffer_overlays_before) + (set_buffer_overlays_after): + * category.c (bset_category_table): + * charset.c (read_hex): + * coding.c (produce_composition, produce_charset) + (handle_composition_annotation, handle_charset_annotation) + (char_encodable_p): + * dispnew.c (swap_glyph_pointers, copy_row_except_pointers) + (assign_row, set_frame_matrix_frame, make_current) + (add_row_entry): + * eval.c (set_specpdl_symbol, set_specpdl_old_value): + * fns.c (maybe_resize_hash_table): + * frame.c (fset_buffer_predicate, fset_minibuffer_window): + * gmalloc.c (register_heapinfo): + * image.c (lookup_image_type): + * intervals.c (set_interval_object, set_interval_left) + (set_interval_right, copy_interval_parent, rotate_right) + (rotate_left, balance_possible_root_interval): + * keyboard.c (kset_echo_string, kset_kbd_queue) + (kset_keyboard_translate_table, kset_last_prefix_arg) + (kset_last_repeatable_command, kset_local_function_key_map) + (kset_overriding_terminal_local_map, kset_real_last_command) + (kset_system_key_syms, clear_event, set_prop): + * lread.c (digit_to_number): + * marker.c (attach_marker, live_buffer, set_marker_internal): + * nsterm.m (ns_compute_glyph_string_overhangs): + * process.c (pset_buffer, pset_command) + (pset_decode_coding_system, pset_decoding_buf) + (pset_encode_coding_system, pset_encoding_buf, pset_filter) + (pset_log, pset_mark, pset_name, pset_plist, pset_sentinel) + (pset_status, pset_tty_name, pset_type, pset_write_queue): + * syntax.c (bset_syntax_table, dec_bytepos): + * terminal.c (tset_param_alist): + * textprop.c (interval_has_some_properties) + (interval_has_some_properties_list): + * window.c (wset_combination_limit, wset_dedicated) + (wset_display_table, wset_hchild, wset_left_fringe_width) + (wset_left_margin_cols, wset_new_normal, wset_new_total) + (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm) + (wset_right_fringe_width, wset_right_margin_cols) + (wset_scroll_bar_width, wset_start, wset_temslot, wset_vchild) + (wset_vertical_scroll_bar_type, wset_window_parameters): + * xdisp.c (wset_base_line_number, wset_base_line_pos) + (wset_column_number_displayed, wset_region_showing) + (window_box_edges, run_window_scroll_functions) + (append_glyph_string_lists, prepend_glyph_string_lists) + (append_glyph_string, set_glyph_string_background_width) + (append_glyph, append_composite_glyph) + (take_vertical_position_into_account): + * xfaces.c (x_create_gc, x_free_gc, merge_face_vectors) + (face_attr_equal_p, lface_equal_p, hash_string_case_insensitive) + (lface_hash, lface_same_font_attributes_p, lookup_face): + * xml.c (libxml2_loaded_p): + * xterm.c (x_set_mode_line_face_gc, x_set_glyph_string_gc) + (x_set_glyph_string_clipping, x_clear_glyph_string_rect): + Now 'static', not 'static inline'. + + * bidi.c: Tune. + (bidi_copy_it): Do the whole copy with a single memcpy. + (bidi_char_at_pos): Merge the two STRING_CHAR calls into one. + + Revert the FOLLOW-SYMLINKS change for file-attributes. + Doing it right would require several changes to Tramp, and there's + not enough time to get that tested before the freeze today. + * dired.c (directory_files_internal, Ffile_attributes): + Undo last change. + + * frame.c (x_report_frame_params): Port better to wider ints. + Do not assume that EMACS_UINT is the same width as uprintmax_t, + or that pointers can be printed in 15 decimal digits. + Avoid GCC warnings if EMACS_UINT is wider than a pointer. + +2012-09-30 Fabrice Popineau + + Support x64 build on MS-Windows. + * w32term.h (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK): Define for x64. + (SET_SCROLL_BAR_W32_WINDOW): Cast ID to intptr_t, for + compatibility with x64. + (x_get_focus_frame): Add prototype. + + * w32term.c (w32_draw_underwave): Don't use GCC extensions for + defining an XRectangle structure. + + * w32proc.c (RVA_TO_PTR, w32_executable_type): Fix pointer + arithmetics for compatibility with x64. + + * w32menu.c (add_menu_item): Use UINT_PTR instead of UINT, for + compatibility with x64. + + * w32heap.h: Adjust prototypes and declarations. + + * w32heap.c (RVA_TO_PTR, allocate_heap, sbrk, init_heap) + (round_heap): Use DWORD_PTR, ptrdiff_t and size_t instead of + DWORD, long, and unsigned long, for compatibility with x64. + (allocate_heap) [_WIN64]: Reserve 32GB of memory. + (sbrk): Argument is now of type ptrdiff_t. + + * w32fns.c (HMONITOR): Condition declaration on _WIN32_WINNT being + less than 0x0500. + (w32_msg_pump): Use WPARAM type for 'result'. + + * w32.c (init_environment, get_emacs_configuration): Support AMD64 + architecture. + (init_ntproc): Cast arguments of _open_osfhandle to intptr_t, for + compatibility with x64. + + * vm-limit.c (lim_data): Now size_t. + (check_memory_limits): Adjust prototypes of real_morecore and + __morecore to receive argument of type ptrdiff_t. Use size_t for + five_percent and data_size. + + * unexw32.c: Use DWORD_PTR instead of DWORD for file-scope + variables, for compatibility with x64. + (rva_to_section, offset_to_section, relocate_offset) + (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET) + (PTR_TO_RVA, RVA_TO_PTR, OFFSET_TO_PTR, get_section_info) + (copy_executable_and_dump_data): Use DWORD_PTR instead of DWORD + for compatibility with x64. + + * sysdep.c (STDERR_FILENO): Define if not already defined. + + * ralloc.c (real_morecore): Argument type is now ptrdiff_t. + (__morecore): Argument type is now ptrdiff_t. + (ROUNDUP, MEM_ROUNDUP): Use size_t instead of 'unsigned long'. + (relinquish): Use ptrdiff_t type for 'excess'. + (r_alloc_sbrk): Argument type is now ptrdiff_t. + + * makefile.w32-in (HEAPSIZE): Get value from EMACS_HEAPSIZE. + (bootstrap-temacs-CMD, bootstrap-temacs-SH): Use $(EMACS_PURESIZE) + instead of a literal number. + + * gmalloc.c [WINDOWSNT]: Include w32heap.h. + (min): Define only if not already defined. + + * frame.c (x_report_frame_params): Use EMACS_UINT for the return + value of FRAME_X_WINDOW, to fit a 64-bit pointer on 64-bit Windows + hosts. + + * image.c (x_bitmap_pixmap): Return ptrdiff_t, not int, since + 'bitmaps' is a pointer. + + * dispextern.h (x_bitmap_pixmap): Adjust prototype. + + * alloc.c (gdb_make_enums_visible): Now conditional on __GNUC__. + +2012-09-30 Paul Eggert + + file-attributes has a new optional arg FOLLOW-SYMLINKS. + * dired.c (directory_files_internal, Ffile_attributes): + New arg follow_symlinks. All uses changed. + +2012-09-30 Stefan Monnier + + * .gdbinit (xbacktrace): Adjust to recent "struct backtrace" change. + +2012-09-30 Eli Zaretskii + + Support atimers and CPU profiler via profile.c on MS-Windows. + * w32proc.c (sig_mask, crit_sig): New static variables. + (sys_signal): Support SIGALRM and SIGPROF. + (sigemptyset, sigaddset, sigfillset, sigprocmask) + (pthread_sigmask, setpgrp): Move here from w32.c. sigaddset, + sigfillset, and sigprocmask are no longer no-ops. + (sigismember): New function. + (struct itimer_data): New definition. + (ticks_now, real_itimer, prof_itimer, clocks_min, crit_real) + (crit_prof): New static variables. + (MAX_SINGLE_SLEEP): New definition. + (timer_loop, stop_timer_thread, term_timers, init_timers) + (start_timer_thread, getitimer, setitimer): New functions. + (alarm): No longer a no-op, calls setitimer. + + * w32.c (term_ntproc): Call term_timers. + (init_ntproc): Make sure all signals are unblocked at startup, to + erase any traces of dumping. Call init_timers. + + * w32fns.c (hourglass_timer, HOURGLASS_ID): Remove. + Windows-specific code to display the hourglass mouse pointer is no + longer used. + (w32_wnd_proc): Remove code that handled the WM_TIMER message due + to hourglass timer expiration. + (start_hourglass, cancel_hourglass, DEFAULT_HOURGLASS_DELAY): + Remove, no longer used. + (w32_note_current_window, show_hourglass, hide_hourglass): + New functions, in support of hourglass cursor display similar to other + window systems. + (syms_of_w32fns): Don't initialize hourglass_timer. + + * xdisp.c (start_hourglass, cancel_hourglass): Now used on + WINDOWSNT as well. + (start_hourglass) [WINDOWSNT]: Call w32_note_current_window. + + * w32.h (init_timers, term_timers): Add prototypes. + +2012-09-30 Kenichi Handa + + * coding.c (decode_coding_ccl, encode_coding_ccl): Pay attention + to the buffer relocation which may be caused by ccl_driver. + +2012-09-30 Jan Djärv + + * xfns.c (Fx_file_dialog): Update comment. + + * w32fns.c (Fx_file_dialog): Update comment. + + * nsfns.m (Fns_read_file_name): Add argument DIR_ONLY_P. + Initialize panel name field if OSX >= 10.6. + + * fileio.c (Fnext_read_file_uses_dialog_p): Add HAVE_NS. + + * nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen. + + * nsterm.m (NEW_STYLE_FS): New define. + (ns_fullscreen_hook, windowWillEnterFullScreen) + (windowDidEnterFullScreen, windowWillExitFullScreen) + (windowDidExitFullScreen, toggleFullScreen, handleFS) + (setFSValue): New functions. + (EmacsFSWindow): New implementation. + (canBecomeKeyWindow): New function for EmacsFSWindow. + (ns_create_terminal): Set fullscreen_hook to ns_fullscreen_hook. + (dealloc): Release nonfs_window if in fullscreen. + (updateFrameSize:): Call windowDidMove to update top/left. + (windowWillResize:toSize:): Check if frame is still maximized. + (initFrameFromEmacs:): Initialize fs_state, fs_before_fs, + next_maximized, maximized_width, maximized_height and nonfs_window. + Call setCollectionBehavior if NEW_STYLE_FS. Initialize bwidth and + tbar_height. + (windowWillUseStandardFrame:defaultFrame:): Update frame parameter + fullscreen. Set maximized_width/height. Act on next_maximized. + + * nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New. + (EmacsView): Add variables for fullscreen. + (handleFS, setFSValue, toggleFullScreen): New in EmacsView. + (EmacsFSWindow): New interface for fullscreen. + +2012-09-30 Juanma Barranquero + + * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies. + +2012-09-30 Chong Yidong + + * fns.c (Frandom): Doc fix. + +2012-09-30 Martin Rudalics + + * window.c (Vwindow_combination_limit): New default value. + (Qwindow_size): New symbol replacing Qtemp_buffer_resize. + +2012-09-30 Paul Eggert + + * syssignal.h (PROFILER_CPU_SUPPORT): Don't define if PROFILING. + Suggested by Eli Zaretskii in + . + +2012-09-30 Eli Zaretskii + + * profiler.c (Fprofiler_cpu_stop): Use timer_settime only if + HAVE_TIMER_SETTIME is defined. + +2012-09-30 Paul Eggert + + Profiler improvements: more-accurate timers, overflow checks. + * profiler.c: Don't include stdio.h, limits.h, sys/time.h, + signal.h, setjmp.h. Include systime.h instead. + (saturated_add): New function. + (record_backtrace, current_sample_interval): Use EMACS_INT, not size_t. + (record_backtrace, handle_profiler_signal): Saturate on fixnum overflow. + (profiler_timer, profiler_timer_ok) [HAVE_TIMER_SETTIME]: + New static vars. + (enum profiler_cpu_running): New enum. + (profiler_cpu_running): Now of that enum type, not bool. + All uses changed to store the new value. + (handle_profiler_signal): Rename from sigprof_handler_1, + for consistency with other handlers. Do not check whether + cpu_log is a hash-table if garbage collecting, since it + doesn't matter in that case. + (deliver_profiler_signal): Rename from sigprof_handler, + for consistency with other handlers. + (setup_cpu_timer): New function, with much of what used to be in + Fprofiler_cpu_start. Check for out-of-range argument. + Prefer timer_settime if available, and prefer + thread cputime clocks, then process cputime clocks, then + monotonic clocks, to the old realtime clock. Use make_timeval + to round more-correctly when falling back to setitimer. + (Fprofiler_cpu_start): Use it. + (Fprofiler_cpu_stop): Prefer timer_settime if available. + Don't assume that passing NULL as the 2nd argument of setitimer + is the same as passing a pointer to all-zero storage. + Ignore SIGPROF afterwards. + (malloc_probe): Saturate at MOST_POSITIVE_FIXNUM. + * sysdep.c (emacs_sigaction_init): Also mask out SIGPROF in + non-fatal signal handlers. Ignore SIGPROF on startup. + * syssignal.h (PROFILER_CPU_SUPPORT): Define this macro here, not + in profiler.c, since sysdep.c now uses it. + + * sysdep.c (handle_fatal_signal): Bump backtrace size to 40. + Suggested by Eli Zaretskii in + . + +2012-09-29 Juanma Barranquero + + * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies. + +2012-09-29 Stefan Monnier + + * lisp.h (struct backtrace): Remove indirection for `function' field. + * xdisp.c (redisplay_internal): + * profiler.c (record_backtrace, sigprof_handler_1): + * alloc.c (Fgarbage_collect): + * eval.c (interactive_p, Fsignal, eval_sub, Ffuncall, Fbacktrace) + (Fbacktrace_frame): Adjust accordingly. + +2012-09-28 Glenn Morris + + * eval.c (Frun_hook_with_args, Frun_hook_with_args_until_success) + (Frun_hook_with_args_until_failure): Doc fixes. + +2012-09-28 Eli Zaretskii + + * xdisp.c (syms_of_xdisp) : Rename from + Qautomatic_redisplay and change the symbol name. All users changed. + +2012-09-28 Tomohiro Matsuyama + + * profiler.c (sigprof_handler): Fix race condition. + +2012-09-28 Glenn Morris + + * lread.c (lisp_file_lexically_bound_p): Handle #! lines. (Bug#12528) + +2012-09-27 Paul Eggert + + Check more robustly for timer_settime. + * Makefile.in (LIB_TIMER_TIME): New macro. + (LIBES): Add it. + * atimer.c (alarm_timer, alarm_timer_ok, set_alarm, init_atimer): + Use HAVE_TIMER_SETTIME, not SIGEV_SIGNAL, to decide whether to + call timer_settime. + +2012-09-26 Tomohiro Matsuyama + + * profiler.c (Fprofiler_cpu_start): Remove unnecessary flag SA_SIGINFO. + +2012-09-26 Juanma Barranquero + + * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies. + +2012-09-26 Paul Eggert + + * character.h (MAYBE_UNIFY_CHAR): Remove. + * charset.c, charset.h (maybe_unify_char): Now static. + * charset.c (decode_char): Use maybe_unify_char, not MAYBE_UNIFY_CHAR. + Since this stuff is now private to charset.c, there's no need for + a public macro and no need to inline by hand. + +2012-09-26 Tomohiro Matsuyama + Stefan Monnier + Juanma Barranquero + + * profiler.c: New file. + * Makefile.in (base_obj): Add profiler.o. + * makefile.w32-in (OBJ2, GLOBAL_SOURCES): Add profiler.c. + ($(BLD)/profiler.$(O)): New target. + * emacs.c (main): Call syms_of_profiler. + * alloc.c (Qautomatic_gc): New constant. + (MALLOC_PROBE): New macro. + (xmalloc, xzalloc, xrealloc, lisp_malloc, lisp_align_malloc): Use it. + (total_bytes_of_live_objects): New function. + (Fgarbage_collect): Use it. Record itself in backtrace_list. + Call malloc_probe for the memory profiler. + (syms_of_alloc): Define Qautomatic_gc. + * eval.c (eval_sub, Ffuncall): Reorder assignments to avoid + race condition. + (struct backtrace): Move definition... + * lisp.h (struct backtrace): ..here. + (Qautomatic_gc, profiler_memory_running): Declare vars. + (malloc_probe, syms_of_profiler): Declare functions. + * xdisp.c (Qautomatic_redisplay): New constant. + (redisplay_internal): Record itself in backtrace_list. + (syms_of_xdisp): Define Qautomatic_redisplay. + +2012-09-25 Eli Zaretskii +2012-09-25 Juanma Barranquero + + * makefile.w32-in ($(BLD)/callproc.$(O)): Update dependencies. + +2012-09-25 Paul Eggert + + Prefer POSIX timers if available. + They avoid a race if the timer is too close to the current time. + * atimer.c (alarm_timer, alarm_timer_ok) [SIGEV_SIGNAL]: New static vars. + (set_alarm) [SIGEV_SIGNAL]: Use POSIX timers if available. + (init_atimer) [SIGEV_SIGNAL]: Initialize them. + +2012-09-25 Eli Zaretskii + + * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY): Make it an alias of + CHAR_STRING_ADVANCE. + (STRING_CHAR_ADVANCE_NO_UNIFY): Make it an alias of + STRING_CHAR_ADVANCE. + +2012-09-25 Juanma Barranquero + + Move Vlibrary_cache to emacs.c and reset before dumping. + + * lisp.h (reset_image_types): Declare. + [WINDOWSNT] (Vlibrary_cache): Declare. + + * image.c (reset_image_types): New function. + + * emacs.c [WINDOWSNT] (Vlibrary_cache): Move from w32.c. + (syms_of_emacs) [WINDOWSNT] : Initialize and staticpro. + (Fdump_emacs): Reset Vlibrary_cache and image_types. + + * w32.c (Vlibrary_cache): Do not define; moved to emacs.c + (globals_of_w32) : Do not initialize. + + * w32.h (Vlibrary_cache): Do not declare. + +2012-09-25 Eli Zaretskii + + * w32proc.c (sys_signal): Handle all signals defined by the + MS-Windows runtime, not just SIGCHLD. Actually install the signal + handlers for signals supported by Windows. Don't override + term_ntproc as the handler for SIGABRT. + (sigaction): Rewrite to call sys_signal instead of duplicating its + code. + (sys_kill): Improve commentary. + + * w32.c (term_ntproc): Accept (and ignore) one argument, for + consistency with a signature of a signal handler. All callers + changed. + (init_ntproc): Accept an argument DUMPING. If dumping, don't + install term_ntproc as a signal handler for SIGABRT, as that + should be done by the dumped Emacs. + + * w32.h (init_ntproc, term_ntproc): Adjust prototypes. + + * w32select.c (term_w32select): Protect against repeated + invocation by setting clipboard_owner to NULL after calling + DestroyWindow. + + * emacs.c (shut_down_emacs, main): Adapt the calls to init_ntproc + and term_ntproc to their modified signatures. + + * character.c (char_string, string_char): Remove calls to + MAYBE_UNIFY_CHAR. See the discussion starting at + http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00433.html + for the details. + +2012-09-25 Chong Yidong + + * xdisp.c (mode_line_inverse_video): Delete obsolete variable. + +2012-09-24 Stefan Monnier + + * bytecode.c (exec_byte_code): Signal an error instead of aborting, + when encountering an unknown bytecode. + +2012-09-24 Paul Eggert + + image.c, indent.c: Use bool for booleans. + * dispextern.h (struct image_type): Members valid_p, load, init + now return bool, not int. All uses changed. + * image.c: Omit unnecessary static decls. + (x_create_bitmap_mask, x_build_heuristic_mask): + Return void, not int, since callers don't care about the return value. + (x_create_bitmap_mask, define_image_type, valid_image_p) + (struct image_keyword, parse_image_spec, image_spec_value) + (check_image_size, image_background) + (image_background_transparent, x_clear_image_1) + (postprocess_image, lookup_image, x_check_image_size) + (x_create_x_image_and_pixmap, xbm_image_p) + (Create_Pixmap_From_Bitmap_Data, xbm_read_bitmap_data) + (xbm_load_image, xbm_file_p, xbm_load, xpm_lookup_color) + (init_xpm_functions, xpm_valid_color_symbols_p, xpm_image_p) + (xpm_load, xpm_load_image, lookup_rgb_color, lookup_pixel_color) + (x_to_xcolors, x_build_heuristic_mask, pbm_image_p, pbm_load) + (png_image_p, init_png_functions, png_load_body, png_load) + (jpeg_image_p, init_jpeg_functions, jpeg_load_body, jpeg_load) + (tiff_image_p, init_tiff_functions, tiff_load, gif_image_p) + (init_gif_functions, gif_load, imagemagick_image_p) + (imagemagick_load_image, imagemagick_load, svg_image_p) + (init_svg_functions, svg_load, svg_load_image, gs_image_p) + (gs_load): + * nsimage.m (ns_load_image): + * nsterm.m (ns_defined_color): + * xfaces.c (tty_lookup_color, tty_defined_color, defined_color): + * xfns.c (x_defined_color): + * xterm.c (x_alloc_lighter_color_for_widget) + (x_alloc_nearest_color_1, x_alloc_nearest_color) + (x_alloc_lighter_color): + * indent.c (disptab_matches_widthtab, current_column) + (scan_for_column, string_display_width, indented_beyond_p) + (compute_motion, vmotion, Fvertical_motion): + Use bool for booleans. + +2012-09-24 Chong Yidong + + * chartab.c (Fset_char_table_default): Obsolete function removed. + +2012-09-23 Paul Eggert + + Move pid_t related decls out of lisp.h. + * lisp.h, syswait.h (record_child_status_change, wait_for_termination) + (interruptible_wait_for_termination): + Move these decls from lisp.h to syswait.h, since they use pid_t. + Needed on FreeBSD; see Herbert J. Skuhra in + . + * callproc.c: Include syswait.h. + + gnutls.c, gtkutil.c: Use bool for boolean. + * gnutls.c (gnutls_global_initialized, init_gnutls_functions) + (emacs_gnutls_handle_error): + * gtkutil.c (xg_check_special_colors, xg_prepare_tooltip) + (xg_hide_tooltip, xg_create_frame_widgets) + (create_dialog, xg_uses_old_file_dialog) + (xg_get_file_with_chooser, xg_get_file_with_selection) + (xg_get_file_name, xg_have_tear_offs, create_menus, xg_create_widget) + (xg_item_label_same_p, xg_update_menubar) + (xg_modify_menubar_widgets, xg_event_is_for_menubar) + (xg_ignore_gtk_scrollbar, xg_set_toolkit_scroll_bar_thumb) + (xg_event_is_for_scrollbar, xg_pack_tool_bar, xg_make_tool_item) + (is_box_type, xg_tool_item_stale_p, xg_update_tool_bar_sizes) + (update_frame_tool_bar, free_frame_tool_bar): + * gtkutil.c, w32term.c, xterm.c (x_wm_set_size_hint): + * nsmenu.m (ns_update_menubar): + * nsmenu.m, w32menu.c, xmenu.c (set_frame_menubar): + * xfns.c (Fx_show_tip) [USE_GTK]: + Use bool for boolean. + * gtkutil.c (xg_update_frame_menubar): + * xmenu.c (update_frame_menubar): + Return void, not int, since caller ignores return value. + * gtkutil.c (xg_change_toolbar_position): + Return void, not 1. + +2012-09-23 Juanma Barranquero + + * makefile.w32-in (BLOCKINPUT_H): Remove. + (SYSSIGNAL_H): New macro. + ($(BLD)/alloc.$(O), $(BLD)/atimer.$(O), $(BLD)/buffer.$(O)) + ($(BLD)/callproc.$(O), $(BLD)/data.$(O), $(BLD)/dired.$(O)) + ($(BLD)/dispnew.$(O), $(BLD)/editfns.$(O), $(BLD)/emacs.$(O)) + ($(BLD)/eval.$(O), $(BLD)/fileio.$(O), $(BLD)/floatfns.$(O)) + ($(BLD)/fns.$(O), $(BLD)/fontset.$(O), $(BLD)/frame.$(O)) + ($(BLD)/fringe.$(O), $(BLD)/image.$(O), $(BLD)/insdel.$(O)) + ($(BLD)/keyboard.$(O), $(BLD)/keymap.$(O), $(BLD)/lread.$(O)) + ($(BLD)/menu.$(O), $(BLD)/w32inevt.$(O), $(BLD)/w32proc.$(O)) + ($(BLD)/print.$(O), $(BLD)/process.$(O), $(BLD)/ralloc.$(O)) + ($(BLD)/search.$(O), $(BLD)/sound.$(O), $(BLD)/sysdep.$(O)) + ($(BLD)/term.$(O), $(BLD)/window.$(O), $(BLD)/xdisp.$(O)) + ($(BLD)/xfaces.$(O), $(BLD)/w32fns.$(O), $(BLD)/w32menu.$(O)) + ($(BLD)/w32term.$(O), $(BLD)/w32select.$(O), $(BLD)/w32reg.$(O)) + ($(BLD)/w32xfns.$(O)): Update dependencies. + +2012-09-23 Eli Zaretskii + + * .gdbinit: Set breakpoint on terminate_due_to_signal, not on + fatal_error_backtrace. + + * w32proc.c (sys_kill): Undo last change: don't do anything when + invoked to deliver SIGABRT to our own process. This is now + handled by emacs_raise. + +2012-09-23 Juanma Barranquero + + * w32term.c (w32_read_socket): Remove leftover reference to + interrupt_input_pending. + +2012-09-23 Paul Eggert + + Do not use SA_NODEFER. + Problem reported by Dani Moncayo in + . + * alloc.c (die): + * sysdep.c (emacs_abort): Do not reset signal handler. + * emacs.c (terminate_due_to_signal): Reset signal handler here. + * sysdep.c (init_signals): Do not use SA_NODEFER. It wasn't + wanted even on POSIXish hosts, and it doesn't work on Windows. + +2012-09-23 Jan Djärv + + * xterm.c (x_term_init): Call fixup_locale before and after calling + gtk_init (Bug#12392). + +2012-09-23 Chong Yidong + + * w32.c (w32_delayed_load): Remove LIBRARIES argument; always use + Vdynamic_library_alist. + + * gnutls.c (init_gnutls_functions): Caller changed; remove arg. + (Fgnutls_available_p): Caller changed. + + * xml.c (init_libxml2_functions, Flibxml_parse_html_region) + (Flibxml_parse_xml_region): Likewise. + + * dispextern.h (struct image_type): Remove arg from init function. + + * image.c (Finit_image_library, lookup_image_type) + (define_image_type): Remove now-unneeded second arg. + (init_xpm_functions, init_png_functions, init_jpeg_functions) + (init_tiff_functions, init_gif_functions, init_svg_functions): + Arglist and w32_delayed_load calling convention changed. + (gs_type): Remove init_gs_functions; there is no such function. + (valid_image_p, make_image): Fix caller to lookup_image_type. + +2012-09-23 Paul Eggert + + Simplify and avoid signal-handling races (Bug#12471). + * alloc.c (die): + * sysdep.c (emacs_abort) [HAVE_NTGUI]: + Avoid recursive loop if there's a fatal error in the function itself. + * atimer.c (pending_atimers): + * blockinput.h: Don't include "atimer.h"; no longer needed. + (interrupt_input_pending): Remove. All uses removed. + pending_signals now counts both atimers and ordinary interrupts. + This is less racy than having three separate pending-signal flags. + (block_input, unblock_input, totally_unblock_input, unblock_input_to) + (input_blocked_p): + Rename from their upper-case counterparts BLOCK_INPUT, + UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT_TO, + INPUT_BLOCKED_P, and turn into functions. All uses changed. + This makes it easier to access volatile variables more accurately. + (BLOCK_INPUT_RESIGNAL): Remove. All uses replaced by unblock_input (). + (input_blocked_p): Prefer this to 'interrupt_input_blocked', as + that's more reliable if the code is buggy and sets + interrupt_input_blocked to a negative value. All uses changed. + * atimer.c (deliver_alarm_signal): + Remove. No need to deliver this to the parent; any thread can + handle this signal now. All uses replaced by underlying handler. + * atimer.c (turn_on_atimers): + * dispnew.c (handle_window_change_signal): + * emacs.c (handle_danger_signal): + * keyboard.c (kbd_buffer_get_event): + Don't reestablish signal handler; not needed with sigaction. + * blockinput.h (UNBLOCK_INPUT_TO, TOTALLY_UNBLOCK_INPUT) + (UNBLOCK_INPUT_TO): + Rework to avoid unnecessary accesses to volatile variables. + (UNBLOCK_INPUT_TO): Now a function. + (totally_unblock_input, unblock_input): New decls. + * data.c (handle_arith_signal, deliver_arith_signal): Move to sysdep.c + (init_data): Remove. Necessary stuff now done in init_signal. + * emacs.c, xdisp.c: Include "atimer.h", since we invoke atimer functions. + * emacs.c (handle_fatal_signal, deliver_fatal_signal): Move to sysdep.c. + (fatal_error_code): Remove; no longer needed. + (terminate_due_to_signal): Rename from fatal_error_backtrace, since + it doesn't always backtrace. All uses changed. No need to reset + signal to default, since sigaction and/or die does that for us now. + Use emacs_raise (FOO), not kill (getpid (), FOO). + (main): Check more-accurately whether we're dumping. + Move fatal-error setup to sysdep.c + * floatfns.c: Do not include "syssignal.h"; no longer needed. + * gtkutil.c (xg_get_file_name, xg_get_font): + Remove no-longer-needed signal-mask manipulation. + * keyboard.c, process.c (POLL_FOR_INPUT): + Don't depend on USE_ASYNC_EVENTS, a symbol that is never defined. + * keyboard.c (read_avail_input): Remove. + All uses replaced by gobble_input. + (Ftop_level): Use TOTALLY_UNBLOCK_INPUT rather than open code. + (kbd_buffer_store_event_hold, gobble_input): + (record_asynch_buffer_change) [USABLE_SIGIO]: + (store_user_signal_events): + No need to mess with signal mask. + (gobble_input): If blocking input and there are terminals, simply + set pending_signals to 1 and return. All hooks changed to not + worry about whether input is blocked. + (process_pending_signals): Clear pending_signals before processing + them, in case a signal comes in while we're processing. + By convention callers now test pending_signals before calling us. + (UNBLOCK_INPUT_TO, unblock_input, totally_unblock_input): + New functions, to support changes to blockinput.h. + (handle_input_available_signal): Now extern. + (reinvoke_input_signal): Remove. All uses replaced by + handle_async_input. + (quit_count): Now volatile, since a signal handler uses it. + (handle_interrupt): Now takes bool IN_SIGNAL_HANDLER as arg. + All callers changed. Block SIGINT only if not already blocked. + Clear sigmask reliably, even if Fsignal returns, which it can. + Omit unnecessary accesses to volatile var. + (quit_throw_to_read_char): No need to restore sigmask. + * keyboard.c (gobble_input, handle_user_signal): + * process.c (wait_reading_process_output): + Call signal-handling code rather than killing ourselves. + * lisp.h: Include , for... + (IEEE_FLOATING_POINT): New macro, moved here to avoid duplication. + (pending_signals): Now volatile. + (syms_of_data): Now const if IEEE floating point. + (handle_input_available_signal) [USABLE_SIGIO]: + (terminate_due_to_signal, record_child_status_change): New decls. + * process.c (create_process): Avoid disaster if memory is exhausted + while we're processing a vfork, by tightening the critical section + around the vfork. + (send_process_frame, process_sent_to, handle_pipe_signal) + (deliver_pipe_signal): Remove. No longer needed, as Emacs now + ignores SIGPIPE. + (send_process): No need for setjmp/longjmp any more, since the + SIGPIPE stuff is now gone. Instead, report an error if errno + is EPIPE. + (record_child_status_change): Now extern. PID and W are now args. + Return void, not bool. All callers changed. + * sysdep.c (wait_debugging) [(BSD_SYSTEM || HPUX) && !defined (__GNU__)]: + Remove. All uses removed. This bug should be fixed now in a + different way. + (wait_for_termination_1): Use waitpid rather than sigsuspend, + and record the child status change directly. This avoids the + need to futz with the signal mask. + (process_fatal_action): Move here from emacs.c. + (emacs_sigaction_flags): New function, containing + much of what used to be in emacs_sigaction_init. + (emacs_sigaction_init): Use it. Block nonfatal system signals that are + caught by emacs, to make races less likely. + (deliver_process_signal): Rename from handle_on_main_thread. + All uses changed. + (BACKTRACE_LIMIT_MAX): Now at top level. + (thread_backtrace_buffer, threadback_backtrace_pointers): + New static vars. + (deliver_thread_signal, deliver_fatal_thread_signal): + New functions, for more-accurate delivery of thread-specific signals. + (handle_fatal_signal, deliver_fatal_signal): Move here from emacs.c. + (deliver_arith_signal): Handle in this thread, not + in the main thread, since it's triggered by this thread. + (maybe_fatal_sig): New function. + (init_signals): New arg DUMPING so that we can be more accurate + about whether we're dumping. Caller changed. + Treat thread-specific signals differently from process-general signals. + Block all signals while handling fatal error; that's safer. + xsignal from SIGFPE only on non-IEEE hosts, treating it as fatal + on IEEE hosts. + When batch, ignore SIGHUP, SIGINT, SIGTERM if they were already ignored. + Ignore SIGPIPE unless batch. + (emacs_backtrace): Output backtrace for the appropriate thread, + which is not necessarily the main thread. + * syssignal.h: Include . + (emacs_raise): New macro. + * xterm.c (x_connection_signal): Remove; no longer needed + now that we use sigaction. + (x_connection_closed): No need to mess with sigmask now. + (x_initialize): No need to reset SIGPIPE handler here, since + init_signals does this for us now. + +2012-09-23 Jan Djärv + + * nsterm.m (ns_dumpglyphs_image): dr is a new rect to draw image into, + background rect may be larger (Bug#12245). + +2012-09-23 Chong Yidong + + * keyboard.c (timer_check): Avoid quitting during Fcopy_sequence. + +2012-09-22 Paul Eggert + + * .gdbinit: Just stop at fatal_error_backtrace. + See Stefan Monnier's request in + . + Remove no-longer-used query of system type. + +2012-09-22 Chong Yidong + + * search.c (Freplace_match): Doc fix (Bug#12325). + + * minibuf.c (Finternal_complete_buffer): Doc fix (Bug#12391). + + * editfns.c (Fline_beginning_position): Doc fix (Bug#12416). + (Fline_end_position): Doc fix. + + * cmds.c (Fforward_char, Fbackward_char): Doc fix (Bug#12414). + +2012-09-22 Chong Yidong + + * dispextern.h (struct image_type): Add new slot, storing a type + initialization function. + + * image.c (define_image_type): Call the image initializer function + if it is defined. Arguments and return value changed. + (valid_image_p, make_image): Callers changed. + (xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type) + (gif_type, imagemagick_type, svg_type, gs_type): + Add initialization functions. + (Finit_image_library): Call lookup_image_type. + (CHECK_LIB_AVAILABLE): Macro deleted. + (lookup_image_type): Call define_image_type here, rather than via + Finit_image_library, and without using CHECK_LIB_AVAILABLE. + (syms_of_image): Move define_image_type calls for xbm_type and + pbm_type to lookup_image_type. + +2012-09-22 Eli Zaretskii + + * keyboard.c (timer_check_2): Move calculation of 'timers' and + 'idle_timers' from here ... + (timer_check): ... to here. Use Fcopy_sequence to copy the timer + lists, to avoid infloops when the timer does something stupid, + like reinvoke itself with the same or smaller time-out. + (Bug#12447) + +2012-09-22 Martin Rudalics + + * window.c (Fsplit_window_internal): Handle only Qt value of + Vwindow_combination_limit separately. + (Qtemp_buffer_resize): New symbol. + (Vwindow_combination_limit): New default value. + Rewrite doc-string. + +2012-09-22 Eli Zaretskii + + * xdisp.c (next_overlay_string): Initialize it->end_charpos for + the new overlay string. (Bug#10159) + +2012-09-22 Paul Eggert + + * emacs.c (shut_down_emacs): Don't assume stderr is buffered, + or that fprintf is async-signal-safe. POSIX doesn't require + either assumption. + +2012-09-22 Chong Yidong + + * buffer.c (Fset_buffer_modified_p): Handle indirect buffers + (Bug#8207). + +2012-09-22 Kenichi Handa + + * composite.c (composition_reseat_it): Handle the case that a + grapheme cluster is not covered by a single font (Bug#12352). + +2012-09-21 Chong Yidong + + * image.c (define_image_type): Avoid adding duplicate types to + image_types (Bug#12463). Suggested by Jörg Walter. + +2012-09-21 YAMAMOTO Mitsuharu + + * unexmacosx.c: Define LC_DATA_IN_CODE if not defined. + (print_load_command_name): Add case LC_DATA_IN_CODE. + (dump_it) [LC_DATA_IN_CODE]: Call copy_linkedit_data. + +2012-09-21 Glenn Morris + + * eval.c (Frun_hook_with_args_until_success) + (Frun_hook_with_args_until_failure): Doc fixes. (Bug#12393) + +2012-09-21 Andreas Schwab + + * fileio.c (Ffile_selinux_context): Only call freecon when + lgetfilecon succeeded. + (Fset_file_selinux_context): Likewise. (Bug#12444) + +2012-09-21 Eli Zaretskii + + * xdisp.c (try_window_reusing_current_matrix): Under bidi + reordering, locate the cursor by calling set_cursor_from_row; if + that fails, clear the desired glyph matrix before returning a + failure indication to the caller. Fixes leaving garbled display + when fast scrolling with a down-key. (Bug#12403) + (compute_stop_pos_backwards): Fix a typo that caused crashes while + scrolling through multibyte text. + +2012-09-20 Stefan Monnier + + * alloc.c (mark_object) : Mark prev/next_buffers *after* + calling mark_vectorlike since that's the one that marks the window. + (mark_discard_killed_buffers): Mark the final cdr. + * window.h (struct window): Move prev/next_buffers to the + non-standard fields. + * window.c (make_window): Initialize prev/next_buffers manually. + +2012-09-20 Paul Eggert + + Omit unused arg EXPECTED from socket hooks. + * keyboard.c (gobble_input, read_avail_input, tty_read_avail_input): + * nsterm.m (ns_term_init): + * termhooks.h (struct terminal.read_socket_hook): + * w32inevt.c (w32_console_read_socket): + * w32term.c (w32_read_socket): + * xterm.c (XTread_socket): + Omit unused arg EXPECTED. All callers changed. + (store_user_signal_events): Return void, not int, since callers no + longer care about the return value. All uses changed. + +2012-09-20 Juanma Barranquero + + * w32gui.h (XParseGeometry): Do not declare. + +2012-09-19 Paul Eggert + + * w32inevt.c (w32_console_read_socket): Return -1 on failure, not 0. + Ignore 'expected'. See Eli Zaretskii in + (last line). + + * frame.c (read_integer): Remove. All uses replaced by strtol/strtoul. + (XParseGeometry): Now static. Substitute extremal values for + values that are out of range. + +2012-09-19 Jan Djärv + + * w32xfns.c (read_integer, XParseGeometry): Move to frame.c. + + * nsfns.m (XParseGeometry): Remove. + (Fx_create_frame): Call x_set_offset to correctly interpret + top_pos in geometry. + + * frame.c (read_integer, XParseGeometry): Move from w32xfns.c. + (Fx_parse_geometry): If there is a space in string, call + Qns_parse_geometry, otherwise do as on other terms (Bug#12368). + +2012-09-17 Eli Zaretskii + + * search.c (scan_buffer): Use character positions in calls to + region_cache_forward and region_cache_backward, not byte + positions. (Bug#12196) + + * w32term.c (w32_read_socket): Set pending_signals to 1, like + xterm.c does. Reported by Daniel Colascione . + + * ralloc.c (r_alloc_init) [!SYSTEM_MALLOC]: Initialize + __malloc_extra_blocks to 32 instead of 64, like alloc.c did in + emacs_blocked_malloc, now deleted. + +2012-09-17 Paul Eggert + + Remove no-longer-needed Solaris 2.4 vfork bug workaround. + The workaround was for improving performance on Solaris 2.4, but + is getting in the way now. Emacs will still work if someone is + still running Solaris 2.4 in a museum somewhere; Sun dropped + support for Solaris 2.4 in 2003. + * callproc.c (Fcall_process) [HAVE_WORKING_VFORK]: + * process.c (create_process) [HAVE_WORKING_VFORK]: + Omit now-unnecessary workaround for the Solaris 2.4 vfork bug, + since Emacs no longer uses vfork on that platform. + +2012-09-17 Glenn Morris + + * emacs.c: Use COPYRIGHT. + +2012-09-16 Paul Eggert + + Remove configure's --without-sync-input option (Bug#12450). + When auditing signal-handling in preparation for cleaning it up, + I found that SYNC_INPUT has race conditions and would be a real + pain to fix. Since it's an undocumented and deprecated + configure-time option, now seems like a good time to remove it. + Also see . + * alloc.c (_bytes_used, __malloc_extra_blocks, _malloc_internal) + (_free_internal) [!DOUG_LEA_MALLOC]: Remove decls. + (alloc_mutex) [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]: + (malloc_hysteresis): + (check_depth) [XMALLOC_OVERRUN_CHECK]: + (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): + (__malloc_hook, __realloc_hook, __free_hook, BYTES_USED) + (dont_register_blocks, bytes_used_when_reconsidered) + (bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc) + (emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc): + [!SYSTEM_MALLOC && !SYNC_INPUT]: + Remove. All uses removed. + (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different + implementation, one that depends on whether the new macro + XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT + is defined. + * atimer.c (run_timers, handle_alarm_signal): + * keyboard.c (pending_signal, poll_for_input_1, poll_for_input) + (handle_async_input, process_pending_signals) + (handle_input_available_signal, init_keyboard): + * nsterm.m (ns_read_socket): + * process.c (wait_reading_process_output): + * regex.c (immediate_quit, IMMEDIATE_QUIT_CHECK): + * sysdep.c (emacs_sigaction_init) [SA_RESTART]: + (emacs_write): + * xterm.c (XTread_socket): + Assume SYNC_INPUT. + * conf_post.h (SA_RESTART) [IRIX6_5]: Do not #undef. + * eval.c (handling_signal): Remove. All uses removed. + * lisp.h (ELSE_PENDING_SIGNALS): Remove. + All uses replaced with the SYNC_INPUT version. + (reset_malloc_hooks, uninterrupt_malloc, handling_signal): + Remove decls. + * sysdep.c, syssignal.h (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]: + Now static. + + * font.c (Ffont_shape_gstring): Remove unused local. + +2012-09-16 Glenn Morris + + * Makefile.in (clean): No longer run nextstep's clean. + + * Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Remove variables. + (ns_frag): Remove. + (ns-app): Move here from ns.mk, and simplify. + (clean): Simplify nextstep entry. + * ns.mk: Remove file. + +2012-09-17 Kenichi Handa + + * font.c (Ffont_shape_gstring): Fix previous change; GLYPHs may + not covert the last few charactes. + +2012-09-16 Kenichi Handa + + * font.c (Ffont_shape_gstring): Don't adjust grapheme cluster + here, but just check the validity of glyphs in the glyph-string. + +2012-09-16 Martin Rudalics + + * window.c (Fwindow_parameter, Fset_window_parameter): + Accept any window as argument (Bug#12452). + +2012-09-16 Jan Djärv + + * nsfns.m (Fx_open_connection): Move initialization of ns_*_types + to ns_term_init to avoid memory leak. + + * nsterm.m (ns_update_begin): Initialize bp after lcokFocus, use + explicit retain/release. + (ns_term_init): Only allow one display. Initialize outerpool and + ns_*_types. + +2012-09-15 Paul Eggert + + Port _setjmp fix to POSIXish hosts as well as Microsoft. + * image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as + it's needed on POSIXish hosts that lack _setjmp. Attempt to solve + the Microsoft problem in a different way, by altering ../nt/config.nt. + +2012-09-15 Eli Zaretskii + + * w32xfns.c: + * w32uniscribe.c: + * w32term.c: + * w32select.c: + * w32reg.c: + * w32proc.c: + * w32menu.c: + * w32inevt.c: + * w32heap.c: + * w32font.c: + * w32fns.c: + * w32console.c: + * w32.c: + * w16select.c: Remove inclusion of setjmp.h, as it is now included + by lisp.h. This completes removal of setjmp.h inclusion + erroneously announced in the previous commit. (Bug#12446) + + * lisp.h [!HAVE__SETJMP, !HAVE_SIGSETJMP]: Make the commentary + more accurate. + + * image.c (_setjmp) [!HAVE__SETJMP]: Define only if 'setjmp' is + not defined as a macro. The latter happens on MS-Windows. + (Bug#12446) + +2012-09-15 Paul Eggert + + Port better to POSIX hosts lacking _setjmp (Bug#12446). + * lisp.h: Include here, since we use its symbols here. + Some instances of '#include ' removed, if the + only reason for the instance was because "lisp.h" was included. + (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols. + Unless otherwise specified, replace all uses of jmp_buf, _setjmp, + and _longjmp with the new symbols. Emacs already uses _setjmp if + available, so this change affects only POSIXish hosts that have + sigsetjmp but not _setjmp, such as some versions of Solaris and + Unixware. (Also, POSIX-2008 marks _setjmp as obsolescent.) + * image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros. + (png_load_body) [HAVE_PNG]: + (PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]: + (PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]: + Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp, + since PNG requires jmp_buf. This is the only exception to the + general rule that we now use sys_setjmp and sys_longjmp. + This exception is OK since this code does not change the signal + mask or longjmp out of a signal handler. + +2012-09-14 Paul Eggert + + * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]: + Include "syssignal.h", for 'main_thread'. + +2012-09-14 Dmitry Antipov + + Avoid out-of-range marker position (Bug#12426). + * insdel.c (replace_range, replace_range_2): + Adjust markers before overlays, as suggested by comments. + (insert_1_both, insert_from_buffer_1, adjust_after_replace): + Remove redundant check before calling offset_intervals. + +2012-09-14 Martin Rudalics + + * xdisp.c (Fformat_mode_line): Unconditionally save/restore + current buffer (Bug#12387). + +2012-09-14 Juanma Barranquero + + * makefile.w32-in ($(BLD)/alloc.$(O)): Update dependencies. + +2012-09-13 Paul Eggert + + Use a more backwards-compatible timer format (Bug#12430). + * keyboard.c (decode_timer): Get PSECS from the 8th (origin-0) + vector element, not from the 4th, since PSECS is now at the end. + (Fcurrent_idle_time): Doc fix. + +2012-09-13 Dmitry Antipov + + Function to mark objects and remove killed buffers at once. + * alloc.c (discard_killed_buffers): Rename to ... + (mark_discard_killed buffers) ... new name. Add marking + of remaining objects. Fix comment. Adjust users. + (mark_object): Do not touch frame buffer lists here. + * frame.c (delete_frame): Reset frame buffer lists here. + +2012-09-13 Paul Eggert + + Better workaround for GNOME bug when --enable-gcc-warnings. + * emacsgtkfixed.c (G_STATIC_ASSERT): Remove, undoing last change. + Instead, disable -Wunused-local-typedefs. See Dmitry Antipov in + . + + Simplify SIGIO usage (Bug#12408). + The code that dealt with SIGIO was crufty and confusing, e.g., it + played tricks like "#undef SIGIO" but these tricks were not used + consistently. Simplify mostly by not #undeffing standard symbols, + e.g., use "defined USABLE_SIGIO" (our symbol, which we can define + or not as we please) rather than "defined SIGIO" (standard symbol + that we probably shouldn't #undef). + * conf_post.h [USG5_4]: Do not include here. + Modules that need it can include it. + [USG5_4 && emacs]: Likewise, do not include the streams stuff here. + * dispextern.h (ignore_sigio): New decl. + * emacs.c (shut_down_emacs): Invoke unrequest_sigio + unconditionally, since it's now a no-op if !USABLE_SIGIO. + * emacs.c (shut_down_emacs): + * keyboard.c (kbd_buffer_store_event_hold): + Use ignore_sigio rather than invoking 'signal' directly. + * keyboard.c (USABLE_FIONREAD && USG5_4): Include , + for FIONREAD. + (FIONREAD, SIGIO): Do not #undef. + (tty_read_avail_input): Use #error rather than a syntax error. + * process.c [USG5_4]: Include and , + for I_PIPE, used by SETUP_SLAVE_PTY. + (DATAGRAM_SOCKETS): Simplify defn, based on USABLE_FIONREAD. + * sysdep.c (croak): Remove; no longer needed. This bit of + temporary code, with Fred N. Fish's comment that it's temporary, + has been in Emacs since at least 1992! + (init_sigio, reset_sigio, request_sigio, unrequest_sigio): + Arrange for them to be no-ops in all cases when ! USABLE_SIGIO. + * syssignal.h (croak): Remove decl. + (SIGIO, SIGPOO, SIGAIO, SIGPTY): Do not #undef; that's too fragile. + * systty.h [!NO_TERMIO]: Do not include ; no longer needed + now that we're termios-only. + (FIONREAD, ASYNC) [BROKEN_FIONREAD]: Do not #undef. + * term.c (dissociate_if_controlling_tty): Use #error rather than + a run-time error. + + Work around GCC and GNOME bugs when --enable-gcc-warnings. + * emacsgtkfixed.c (G_STATIC_ASSERT): Redefine to use 'verify', + to work around GNOME bug 683906. + * image.c (jpeg_load_body) [HAVE_JPEG && lint]: Pacify gcc -Wclobber. + (struct my_jpeg_error_mgr) [HAVE_JPEG && lint]: New member fp. + This works around GCC bug 54561. + +2012-09-12 Paul Eggert + + More fixes for 'volatile' and setjmp/longjmp. + * eval.c (Fdefvar, Fcondition_case): Remove unnecessary 'volatile's. + * image.c (struct png_load_context) [HAVE_PNG]: New type. + (png_load_body) [HAVE_PNG]: + (jpeg_load_body) [HAVE_JPEG]: + New function, with most of the old parent function's body. + (png_load) [HAVE_PNG]: + (jpeg_load) [HAVE_JPEG]: + Invoke the new function, to avoid longjmp munging our locals. + (struct my_jpeg_error_mgr) [HAVE_JPEG]: New members cinfo, failure_code. + (my_error_exit) [HAVE_JPEG]: Don't trust 'setjmp' to return 2 when + longjmp is passed 2, as the C standard doesn't guarantee this. + Instead, store the failure code into mgr->failure_code. + +2012-09-12 Stefan Monnier + + * keyboard.c (read_char, requeued_events_pending_p, Finput_pending_p) + (Fdiscard_input, quit_throw_to_read_char, init_keyboard) + (syms_of_keyboard): Remove support for unread-command-char. + +2012-09-12 Eli Zaretskii + + * w32proc.c (sys_kill): If PID is our process ID and the signal is + SIGABRT, call emacs_abort. Avoids silently exiting upon assertion + violation. (Bug#12426) + +2012-09-12 Paul Eggert + + * image.c (jpeg_memory_src): Don't assume string len fits in unsigned. + +2012-09-12 Stefan Monnier + + * eval.c: Add `inhibit-debugger'. + (Qinhibit_debugger): New symbol. + (call_debugger): Bind it instead of Qdebug_on_error. + (maybe_call_debugger): Test Vinhibit_debugger. + (syms_of_eval): Define inhibit-debugger. + * xdisp.c (set_message): Don't bind Qinhibit_debug_on_message. + (syms_of_xdisp): Remove inhibit-debug-on-message. + +2012-09-11 Paul Eggert + + Avoid _setjmp/_longjmp problems with local nonvolatile variables. + If a nonvolatile local variable is written before a _longjmp to + the frame containing the variable, and is read after the _longjmp, + the value read is indeterminate. Some local variables of type + 'struct handler' and 'struct catchtag' are used in this way, so + mark each of their slots as volatile if the slot can be set before + _longjmp and read afterwards. + * lisp.h (struct handler): var and chosen_clause are now volatile. + (struct catchtag): val, next, and pdlcount are now volatile. + + * bidi.c (bidi_push_it, bidi_pop_it): + * fns.c (copy_hash_table): + * image.c (define_image_type): + * keyboard.c (kbd_buffer_store_event_hold): + * process.c (Fprocess_send_eof): + * xfaces.c (x_create_gc) [HAVE_NS]: + * xgselect.c (xg_select): + Prefer assignment to memcpy when either will do. + + * alloc.c (discard_killed_buffers): Tune and simplify a bit. + Use pointer-to-a-pointer to simplify and avoid a NILP check each + time an item is removed. No need to mark this function 'inline'; + the compiler knows better than we do. + +2012-09-11 Jan Djärv + + * nsterm.m (ns_judge_scroll_bars): Pass NO to updateFrameSize. + (updateFrameSize:): Add delay parameter to updateFrameSize, send it + to change_frame_size (Bug#12388). + (windowDidResize:): Pass YES to updateFrameSize. + + * nsterm.h: Add delay parameter to updateFrameSize. + +2012-09-11 Dmitry Antipov + + Discard killed buffers from deleted window and frame objects. + This reduces an amount of references to killed buffers and + helps GC to reclaim them faster. + * alloc.c (discard_killed_buffers): New function. + (mark_object): Use it for deleted windows and frames. + (mark_object): If symbol's value is set up for a killed buffer + or deleted frame, restore its global binding. + * data.c (swap_in_global_binding): Add GC notice. + (swap_in_symval_forwarding): Use convenient set_blv_where. + * window.c (wset_next_buffers, wset_prev_buffers): Move ... + * window.h: ... to here. + +2012-09-11 Dmitry Antipov + + Convenient macro to check whether the buffer is live. + * buffer.h (BUFFER_LIVE_P): New macro. + * alloc.c, buffer.c, editfns.c, insdel.c, lread.c, marker.c: + * minibuf.c, print.c, process.c, window.c, xdisp.c: Use it. + +2012-09-11 YAMAMOTO Mitsuharu + + * xdisp.c (right_overwritten, right_overwriting): Also handle gstring + composition cases (Bug#12364). + + * xterm.c (x_draw_glyph_string): Avoid overwriting inverted left + overhang of succeeding glyphs overlapping box cursor. + + * w32term.c (x_draw_glyph_string): Likewise. + +2012-09-11 Paul Eggert + + Simplify, document, and port floating-point (Bug#12381). + The porting part of this patch fixes bugs on non-IEEE platforms + with frexp, ldexp, logb. + * data.c, lisp.h (Qdomain_error, Qsingularity_error, Qunderflow_error): + Now static. + * floatfns.c: Simplify discussion of functions that Emacs doesn't + support, by removing commented-out code and briefly listing the + C89 functions excluded. The commented-out stuff was confusing + maintenance, e.g., we thought we needed cbrt but it was commented out. + (logb): Remove decl; no longer needed. + (isfinite): New macro, if not already supplied. + (isnan): Don't replace any existing macro. + (Ffrexp, Fldexp): Define even if !HAVE_COPYSIGN, as frexp and ldexp + are present on all C89 platforms. + (Ffrexp): Do not special-case zero, as frexp does the right thing + for that case. + (Flogb): Do not use logb, as it doesn't have the desired meaning + on hosts that use non-base-2 floating point. Instead, stick with + frexp, which is C89 anyway. Do not pass an infinity or a NaN to + frexp, to avoid getting an unspecified result. + + * xdisp.c (Qinhibit_debug_on_message): Now static. + +2012-09-10 Jan Djärv + + * nsterm.m (ns_update_begin): Set clip path to whole view by using + NSBezierPath (Bug#12131). + +2012-09-10 Chong Yidong + + * fns.c (Fdelq, Fdelete): Doc fix. + +2012-09-10 Paul Eggert + + * lisp.h (XSETINT, XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL) + (XSETFLOAT, XSETMISC): Parenthesize macro bodies. + +2012-09-09 Stefan Monnier + + * lisp.h (make_lisp_ptr): New macro to replace XSET. + (XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL, XSETFLOAT, XSETMISC): + Use it. + +2012-09-09 Eli Zaretskii + + * fringe.c (draw_fringe_bitmap_1): Don't reduce the width of the + left fringe if the window has a left margin. This avoids leaving + traces of the cursor because its leftmost pixel is not drawn over. + + * dispnew.c (update_window_line): When the left margin area of a + screen line is updated, set the redraw_fringe_bitmaps_p flag of + that screen line. (Bug#12277) + +2012-09-09 Paul Eggert + + Assume C89 or later for math functions (Bug#12381). + This simplifies the code, and makes it a bit smaller and faster, + and (most important) makes it easier to clean up signal handling + since we can stop worring about floating-point exceptions in + library code. That was a problem before C89, but the problem + went away many years ago on all practical Emacs targets. + * data.c, image.c, lread.c, print.c: + Don't include ; no longer needed. + * data.c, floatfns.c (IEEE_FLOATING_POINT): Don't worry that it + might be autoconfigured, as that never happens. + * data.c (fmod): + * doprnt.c (DBL_MAX_10_EXP): + * print.c (DBL_DIG): + Remove. C89 or later always defines these. + * floatfns.c (HAVE_MATHERR, FLOAT_CHECK_ERRNO, FLOAT_CHECK_DOMAIN) + (in_float, float_error_arg, float_error_arg2, float_error_fn_name) + (arith_error, domain_error, domain_error2): + Remove all this pre-C89 cruft. Do not include as that's + no longer needed -- we simply return what C returns. All uses removed. + (IN_FLOAT, IN_FLOAT2): Remove. All uses replaced with + the wrapped code. + (FLOAT_TO_INT, FLOAT_TO_INT2, range_error, range_error2): + Remove. All uses expanded, as these macros are no longer used + more than once and are now more trouble than they're worth. + (Ftan): Use tan, not sin / cos. + (Flogb): Assume C89 frexp. + (fmod_float): Assume C89 fmod. + (matherr) [HAVE_MATHERR]: Remove; no longer needed. + (init_floatfns): Remove. All uses removed. + +2012-09-08 Jan Djärv + + * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Take back + compositeToPoint for OSX < 10.6 (Bug#12390). + +2012-09-08 Paul Eggert + + * floatfns.c (Ftan): Use tan (x), not (sin (x) / cos (x)). + This produces more-accurate results. + +2012-09-08 Jan Djärv + + * nsterm.m (updateFrameSize): Call setFrame: on the view when size + changes (Bug#12088). + +2012-09-08 Chong Yidong + + * syntax.c (Fstring_to_syntax): Doc fix. + +2012-09-08 Jan Djärv + + * nsterm.m (ns_clip_to_row): Remove code that deals with drawing fringe + in the internal border. + (x_set_window_size): Remove static variables and their usage. + (ns_redraw_scroll_bars): Fix NSTRACE arg. + (ns_after_update_window_line, ns_draw_fringe_bitmap): + Remove fringe/internal border adjustment (Bug#11052). + (ns_draw_fringe_bitmap): Make code more like other terms (xterm.c). + (ns_draw_window_cursor): Remove fringe/internal border adjustment. + (ns_fix_rect_ibw): Remove. + (ns_get_glyph_string_clip_rect): Remove call to ns_fix_rect_ibw. + (ns_dumpglyphs_box_or_relief): Ditto. + (ns_maybe_dumpglyphs_background): Remove fringe/internal border + adjustment. + (ns_dumpglyphs_image): Ditto. + (ns_dumpglyphs_stretch): Fix coding style. Remove fringe/internal + border adjustment. + (ns_set_vertical_scroll_bar): Remove variables barOnVeryLeft/Right and + their usage. Add fringe_extended_p and its use as in other terms. + (ns_judge_scroll_bars): Code style fix. Call updateFrameSize if + scroll bar was removed. + (updateFrameSize): New function. + (windowDidResize): Move code to updateFrameSize and call it. + + * nsterm.h (EmacsView): Add updateFrameSize. + +2012-09-07 Chong Yidong + + * textprop.c (Fget_text_property): Minor doc fix (Bug#12323). + + * data.c (Flocal_variable_if_set_p): Doc fix (Bug#10713). + +2012-09-07 Paul Eggert + + More signal-handler cleanup (Bug#12327). + * emacs.c (main): Convert three 'signal' calls to 'sigaction' calls. + Problem introduced when merging patches. Noted by Eli Zaretskii in + . + * floatfns.c: Comment fix. + * lisp.h (force_auto_save_soon): Declare regardless of SIGDANGER. + SIGDANGER might not be in scope so "#ifdef SIGDANGER" is not right, + and anyway the declaration is harmless even if SIGDANGER is not defined. + * syssignal.h (SIGIO): Also #undef if (! defined FIONREAD || + defined BROKEN_FIONREAD). systty.h formerly did this, but other + source files not surprisingly expected syssignal.h to define, or + not define, SIGIO, and it's cleaner to do it that way, for consistency. + Include , for FIONREAD. + * systty.h (SIGIO): Do not #undef here; it's now syssignal.h's job. + This eliminates a problem whereby other files mysteriously had + to include "syssignal.h" before including "systty.h" if they + wanted to use "#ifdef SIGIO". + +2012-09-07 Eli Zaretskii + + * w32proc.c (sigaction): New function, emulates Posix 'sigaction'. + + * w32.c (sigemptyset): Empty the set. + (sigsetmask, sigmask, sigblock, sigunblock): Remove unused functions. + + * alloc.c [ENABLE_CHECKING]: Include signal.h, since we need SIGABRT. + +2012-09-07 Dmitry Antipov + + * alloc.c (mark_buffer): Revert unsafe marking optimization. + (mark_object): Likewise for frame objects. + +2012-09-07 Paul Eggert + + * syssignal.h (handle_on_main_thread): Always declare, + even if FORWARD_SIGNAL_TO_MAIN_THREAD is not defined. + This ports to platforms without HAVE_PTHREAD. + +2012-09-06 Paul Eggert + + Signal-handler cleanup (Bug#12327). + Emacs's signal handlers were written in the old 4.2BSD style with + sigblock and sigmask and so forth, and this led to some + inefficiencies and confusion. Rewrite these to use + pthread_sigmask etc. without copying signal sets around. Also, + get rid of the confusing macros 'SIGNAL_THREAD_CHECK' and + 'signal', and instead use functions that do not attempt to take + over the system name space. This patch causes Emacs's text + segment to shrink by 0.7% on my platform, Fedora 17 x86-64. + * alloc.c, emacsgtkfixed.c, nsfns.m, widget.c, xmenu.c: + Do not include or "syssignal.h", as these + modules do not use signals. + * atimer.c, callproc.c, data.c, dispnew.c, emacs.c, floatfns.c: + * gtkutil.c, keyboard.c, process.c, sound.c, sysdep.c, term.c, xterm.c: + Do not include , as "syssignal.h" does that for us now. + * atimer.c (sigmask_atimers): New function. + (block_atimers, unblock_atimers): New functions, + replacing the old macros BLOCK_ATIMERS and UNBLOCK_ATIMERS. + All uses replaced. + * conf_post.h [SIGNAL_H_AHB]: Do not include ; + no longer needed here. + * emacs.c (main): Inspect existing signal handler with sigaction, + so that there's no need to block and unblock SIGHUP. + * sysdep.c (struct save_signal): New member 'action', replacing + old member 'handler'. + (save_signal_handlers, restore_signal_handlers): + Use sigaction instead of 'signal' to save and restore. + (get_set_sighandler, set_sighandler) [!WINDOWSNT]: + New function. All users of 'signal' modified to use set_sighandler + if they're writeonly, and to use sys_signal if they're read+write. + (emacs_sigaction_init, forwarded_signal): New functions. + (sys_signal): Remove. All uses replaced by calls to sigaction + and emacs_sigaction_init, or by direct calls to 'signal'. + (sys_sigmask) [!__GNUC__]: Remove; no longer needed. + (sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove; + all uses replaced by pthread_sigmask etc. calls. + * syssignal.h: Include . + (emacs_sigaction_init, forwarded_signal): New decls. + (SIGMASKTYPE): Remove. All uses replaced by its definiens, sigset_t. + (SIGEMPTYMASK): Remove; all uses replaced by its definiens, empty_mask. + (sigmask, sys_sigmask): Remove; no longer needed. + (sigpause): Remove. All uses replaced by its definiens, sigsuspend. + (sigblock, sigunblock, sigfree): + (sigsetmask) [!defined sigsetmask]: + Remove. All uses replaced by pthread_sigmask. + (signal): Remove. Its remaining uses (with SIG_DFL and SIG_IGN) + no longer need to be replaced, and its typical old uses + are now done via emacs_sigaction_init and sigaction. + (sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove decls. + (sys_sigdel): Remove; unused. + (NSIG): Remove a FIXME; the code's fine. Remove an unnecessary ifdef. + +2012-09-06 Eli Zaretskii + + * process.c (CAN_HANDLE_MULTIPLE_CHILDREN): Fix a typo that broke + SIGCHLD handling on systems that don't have WNOHANG. (Bug#12327) + +2012-09-06 Dmitry Antipov + + Explicitly mark buffer_defaults and buffer_local_symbols. + * alloc.c (Fgarbage_collect): Mark buffer_defaults and + mark_local_symbols here. + (mark_object): If GC_CHECK_MARKED_OBJECTS, simplify checking + since special buffers aren't marked here any more. + (allocate_buffer): Chain new buffer with all_buffers here... + * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): ...and + not here. + (Vbuffer_defaults, Vbuffer_local_symbols): Remove. + (syms_of_buffer): Remove staticpro of the above. + (init_buffer_once): Set names for buffer_defaults and + buffer_local_symbols. + +2012-09-06 Paul Eggert + + Use bool for booleans in font-related modules. + * font.c (font_intern_prop, font_style_to_value) + (font_style_symbolic, font_parse_xlfd, font_parse_fcname) + (generate_otf_features, font_check_otf_features, font_check_otf) + (font_match_p, font_list_entities, font_at): + * fontset.c (fontset_id_valid_p, reorder_font_vector + (fontset_find_font, Fset_fontset_font) + (face_suitable_for_char_p) [0]: + * ftfont.c (fc_initialized, ftfont_get_open_type_spec) + (ftfont_open, ftfont_text_extents, ftfont_check_otf): + (m17n_flt_initialized, ftfont_shape_by_flt): + * ftxfont.c (ftxfont_draw_bitmap, ftxfont_draw): + * nsfont.m (nsfont_draw): + * w32font.c (w32font_draw): + * w32term.c (x_draw_glyphless_glyph_string_foreground): + Use bool for booleans. + * font.h: Adjust to above API changes. + (struct font, struct font_driver, struct font_driver_list): + Use bool for booleans. + (struct font): Remove useless member encoding_type. + All users removed. + * fontset.c, xftfont.c: Omit unnecessary static decls. + +2012-09-06 Dmitry Antipov + + * alloc.c (mark_object): Revert window marking code + since it's unsafe for the Fset_window_configuration. + +2012-09-05 Paul Eggert + + Fix race conditions with signal handlers and errno (Bug#12327). + Be more systematic about preserving errno whenever a signal + handler returns, even if it's not in the main thread. Do this by + renaming signal handlers to distinguish between signal delivery + and signal handling. All uses changed. + * atimer.c (deliver_alarm_signal): Rename from alarm_signal_handler. + * data.c (deliver_arith_signal): Rename from arith_error. + * dispnew.c (deliver_window_change_signal): Rename from + window_change_signal. + * emacs.c (deliver_error_signal): Rename from fatal_error_signal. + (deliver_danger_signal) [SIGDANGER]: Rename from memory_warning_signal. + * keyboard.c (deliver_input_available_signal): Rename from + input_available_signal. + (deliver_user_signal): Rename from handle_user_signal. + (deliver_interrupt_signal): Rename from interrupt_signal. + * process.c (deliver_pipe_signal): Rename from send_process_trap. + (deliver_child_signal): Rename from sigchld_handler. + * atimer.c (handle_alarm_signal): + * data.c (handle_arith_signal): + * dispnew.c (handle_window_change_signal): + * emacs.c (handle_fatal_signal, handle_danger_signal): + * keyboard.c (handle_input_available_signal): + * keyboard.c (handle_user_signal, handle_interrupt_signal): + * process.c (handle_pipe_signal, handle_child_signal): + New functions, with the actual signal-handling code taken from the + original respective signal handlers, sans the sporadic attempts to + preserve errno, since that's now done by handle_on_main_thread. + * atimer.c (alarm_signal_handler): Remove unnecessary decl. + * emacs.c, floatfns.c, lisp.h: Remove unused FLOAT_CATCH_SIGKILL cruft. + * emacs.c (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]: + Move to sysdep.c. + (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: + Move initialization of main_thread to sysdep.c's init_signals. + * process.c (waitpid) [!WNOHANG]: #define to wait; that's good enough for + our usage, and simplifies the mainline code. + (record_child_status_change): New static function, as a helper + for handle_child_signal, and with most of the old child handler's + contents. + (CAN_HANDLE_MULTIPLE_CHILDREN): New constant. + (handle_child_signal): Use the above. + * sysdep.c (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]: + Moved here from emacs.c. + (init_signals) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it; + code moved here from emacs.c's main function. + * sysdep.c, syssignal.h (handle_on_main_thread): New function, + replacing the old SIGNAL_THREAD_CHECK. All uses changed. + This lets callers save and restore errno properly. + +2012-09-05 Dmitry Antipov + + Remove redundant or unused things here and there. + * lisp.h (CYCLE_CHECK, CHAR_TABLE_TRANSLATE): Remove. + * conf_post.h (RE_TRANSLATE): Use char_table_translate. + * editfns.c (Fcompare_buffer_substrings): Likewise. + * frame.h (struct terminal, struct font_driver_list): + Remove redundant declarations. + * window.h (Qleft, Qright): Likewise. + +2012-09-05 Dmitry Antipov + + Do not mark objects from deleted buffers, windows and frames. + * alloc.c (mark_buffer): Mark just the buffer if it is dead. + (mark_object): Likewise for windows and frames. + +2012-09-05 Dmitry Antipov + + * alloc.c (valid_lisp_object_p): Treat killed buffers, + buffer_defaults and buffer_local_symbols as valid objects. + Return special value to denote them. + +2012-09-05 Paul Eggert + + * fileio.c, filelock.c, floatfns.c, fns.c: Use bool for boolean. + * fileio.c (auto_saving, auto_save_error_occurred, make_temp_name) + (Fexpand_file_name, barf_or_query_if_file_exists, Fcopy_file) + (file_name_absolute_p, Fsubstitute_in_file_name): + (check_executable, check_writable, Ffile_accessible_directory_p) + (Fset_file_selinux_context, Fdefault_file_modes) + (Finsert_file_contents, choose_write_coding_system) + (Fwrite_region, build_annotations, a_write, e_write) + (Fdo_auto_save): + * filelock.c (boot_time_initialized, get_boot_time) + (get_boot_time_1, lock_file_1, within_one_second): + * floatfns.c (in_float): + * fns.c (concat, internal_equal, Frequire, base64_encode_1) + (base64_decode_1, cmpfn_eql, cmpfn_user_defined) + (sweep_weak_table, sweep_weak_hash_tables, secure_hash): + * lisp.h (struct Lisp_Hash_Table.cmpfn): + * window.c (compare_window_configurations): + Use bool for booleans. + * fileio.c (auto_saving_dir_umask, auto_saving_mode_bits) + (Fdefault_file_modes): Now mode_t, not int, for modes. + (Fdo_auto_save): Set a boolean to 1 rather than using ++. + (internal_delete_file): Now returns void, not a (boolean) int, + since nobody was looking at the return value. + * lisp.h, window.h: Adjust to above API changes. + + * xdisp.c (set_message): Simplify and reindent last change. + +2012-09-05 Juanma Barranquero + + * makefile.w32-in ($(BLD)/sysdep.$(O)): Update dependencies. + +2012-09-04 Lars Ingebrigtsen + + * eval.c (call_debugger): Make the function non-static so that we + can call it from set_message. + + * xdisp.c (set_message): Implement the new variable `debug-on-message'. + (syms_of_xdisp): Defvar it and `inhibit-debug-on-message'. + +2012-09-04 Paul Eggert + + Give more-useful info on a fatal error (Bug#12328). + * alloc.c [ENABLE_CHECKING]: Do not include . + (die) [ENABLE_CHECKING]: Call fatal_error_backtrace instead + of doing the work ourselves. + * emacs.c (fatal_error_signal): Let fatal_error_backtrace + do most of the work. + (fatal_error_backtrace): New function, taken from the guts + of the old fatal_error_signal, but with a new option to output + a backtrace. + (shut_down_emacs) [!DOS_NT]: Use strsignal to give more-useful + info about the signal than just its number. + * lisp.h (fatal_error_backtrace, emacs_backtrace): New decls. + * sysdep.c: Include + (emacs_backtrace): New function, taken partly from the previous + code of the 'die' function. + (emacs_abort): Call fatal_error_backtrace rather than abort. + +2012-09-04 Stefan Monnier + + * lread.c (readevalloop): Call internal-macroexpand-for-load to perform + eager (load-time) macro-expansion. + * lisp.mk (lisp): Add macroexp. + +2012-09-04 Paul Eggert + + Simplify redefinition of 'abort' (Bug#12316). + Do not try to redefine the 'abort' function. Instead, redo + the code so that it calls 'emacs_abort' rather than 'abort'. + This removes the need for the NO_ABORT configure-time macro + and makes it easier to change the abort code to do a backtrace. + * .gdbinit: Just stop at emacs_abort, not at w32_abort or abort. + * emacs.c (abort) [!DOS_NT && !NO_ABORT]: + Remove; sysdep.c's emacs_abort now takes its place. + * lisp.h (emacs_abort): New decl. All calls from Emacs code to + 'abort' changed to use 'emacs_abort'. + * msdos.c (dos_abort) [defined abort]: Remove; not used. + (abort) [!defined abort]: Rename to ... + (emacs_abort): ... new name. + * sysdep.c (emacs_abort) [!HAVE_NTGUI]: New function, taking + the place of the old 'abort' in emacs.c. + * w32.c, w32fns.c (abort): Do not #undef. + * w32.c (emacs_abort): Rename from w32_abort. + +2012-09-04 Eli Zaretskii + + * w32uniscribe.c (uniscribe_shape): Reverse the sign of + offsets[j].dv, since the y axis of the screen coordinates points + down, while the y axis of the font definition coordinates points + up. This fixes display of Arabic diacritics such as KASRA and + KASRATAN. (Bug#11860) + +2012-09-04 Paul Eggert + + Be more systematic about _setjmp vs setjmp. + * alloc.c (test_setjmp, mark_stack): + * image.c (PNG_LONGJMP) [PNG_LIBPNG_VER < 10500]: + (PNG_JMPBUF) [! (PNG_LIBPNG_VER < 10500)]: + (png_load, my_error_exit, jpeg_load): + * process.c (send_process_trap, send_process): + Uniformly prefer _setjmp and _longjmp to setjmp and longjmp. + The underscored versions are up to 30x faster on some hosts. + Formerly, the code used setjmp+longjmp sometimes and + _setjmp+_longjmp at other times, with no particular reason to + prefer setjmp+longjmp. + +2012-09-03 Paul Eggert + + Fix minor problem found by static checking. + * buffer.c (Fdelete_all_overlays): Return nil. + +2012-09-03 Martin Rudalics + + * buffer.c (Fdelete_all_overlays): New function. + +2012-09-03 Chong Yidong + + * gtkutil.c: Add extern decl for Qxft. + +2012-09-02 Paul Eggert + + * emacs.c, eval.c: Use bool for boolean. + * emacs.c (initialized, inhibit_window_system, running_asynch_code): + (malloc_using_checking) [DOUG_LEA_MALLOC]: + (display_arg) [HAVE_X_WINDOWS || HAVE_NS]: + (noninteractive, no_site_lisp, fatal_error_in_progress, argmatch) + (main, decode_env_path, Fdaemon_initialized): + * eval.c (call_debugger, Finteractive_p, interactive_p): + (unwind_to_catch, Fsignal, wants_debugger, skip_debugger) + (maybe_call_debugger, Fbacktrace): + * process.c (read_process_output, exec_sentinel): + Use bool for booleans. + * emacs.c (shut_down_emacs): Omit unused boolean argument NO_X. + All callers changed. + * eval.c (interactive_p): Omit always-true boolean argument + EXCLUDE_SUBRS_P. All callers changed. + * dispextern.h, lisp.h: Reflect above API changes. + * firstfile.c (dummy): Use the address of 'main', whose signature + won't change, instead of the address of 'initialize', whose + signature just changed from int to bool. + * lisp.h (fatal_error_in_progress): New decl of boolean, moved here ... + * msdos.c (fatal_error_in_progress): ... from here. + * xdisp.c (redisplaying_p): Now a boolean. Set it to 1 instead + of incrementing it. + (redisplay_internal, unwind_redisplay): Simply clear + REDISPLAYING_P when unwinding, instead of saving its previous, + always-false value and then restoring it. + + Clean up some extern decls. + Mostly, this hoists extern decls out of .c files and into .h files. + That way, we're more likely to catch errors if the interfaces change. + * alloc.c [USE_GTK]: Include "gtkutil.h" so that we need not + declare xg_mark_data. + * dispextern.h (x_frame_parm_handlers): + * font.h (Qxft): + * lisp.h (Qlexical_binding, Qinternal_interpreter_environment) + (Qextra_light, Qlight, Qsemi_light, Qsemi_bold, Qbold, Qextra_bold) + (Qultra_bold, Qoblique, Qitalic): + Move extern decl here from .c file. + * alloc.c (xg_mark_data) [USE_GTK]: + * doc.c (Qclosure): + * eval.c (Qlexical_binding): + * fns.c (time) [!HAVE_UNISTD_H]: + * gtkutil.c (Qxft, Qnormal, Qextra_light, Qlight, Qsemi_light) + (Qsemi_bold, Qbold, Qextra_bold, Qultra_bold, Qoblique, Qitalic): + * image.c (Vlibrary_cache, QCloaded_from) [HAVE_NTGUI]: + * lread.c (Qinternal_interpreter_environment): + * minibuf.c (Qbuffer): + * process.c (QCfamily, QCfilter): + * widget.c (free_frame_faces): + * xfaces.c (free_frame_menubar) [USE_X_TOOLKIT]: + * xfont.c (x_clear_errors): + * xterm.c (x_frame_parm_handlers): + Remove now-redundant extern decls. + * keyboard.c, keyboard.h (ignore_mouse_drag_p) [USE_GTK || HAVE_NS]: + * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic): + Now static. + * xfaces.c: Remove unnecessary static decls. + * xterm.c (updating_frame): Remove decl of nonexistent object. + + * Makefile.in (gl-stamp): Don't scan $(SOME_MACHINE_OBJECTS) + when building globals.h, as the objects that are not built on + this host are not needed to compile C files on this host. + +2012-09-02 Jan Djärv + + * gtkutil.h: Remove prototype for x_wm_set_size_hint. + + * frame.h: Add missing prototype for x_wm_set_size_hint. + +2012-09-02 Paul Eggert + + * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean. + * doc.c (read_bytecode_char, get_doc_string, reread_doc_file) + (Fdocumentation, Fdocumentation_property, Fsnarf_documentation) + (Fsubstitute_command_keys): + * editfns.c (region_limit, find_field, Fconstrain_to_field) + (save_excursion_save, save_excursion_restore) + (disassemble_lisp_time, decode_time_components, emacs_nmemftime) + (format_time_string, general_insert_function) + (make_buffer_string, make_buffer_string_both) + (Fsubst_char_in_region, Ftranslate_region_internal, Fformat): + * insdel.c (check_markers, gap_left, adjust_markers_for_insert) + (copy_text, insert_1, insert_1_both, insert_from_string) + (insert_from_string_before_markers, insert_from_string_1) + (insert_from_buffer, insert_from_buffer_1, replace_range) + (replace_range_2, del_range_1, del_range_byte, del_range_both) + (del_range_2, modify_region): + * intervals.c (intervals_equal, balance_possible_root_interval) + (adjust_intervals_for_insertion, merge_properties_sticky) + (graft_intervals_into_buffer, lookup_char_property) + (adjust_for_invis_intang, set_point_both) + (get_property_and_range, compare_string_intervals) + (set_intervals_multibyte_1, set_intervals_multibyte): + * keyboard.c (decode_timer): + Use bool for boolean. + * intervals.h, lisp.h, systime.h: Reflect above API changes. + * editfns.c (struct info): Use 1-bit unsigned bitfields for booleans. + +2012-09-02 Chong Yidong + + * keymap.c (push_key_description): Print M-TAB as C-M-i + (Bug#11758). + +2012-09-02 Juanma Barranquero + + * makefile.w32-in (CCL_H, W32FONT_H): New macros. + (ATIMER_H, FONT_H, $(BLD)/alloc.$(O), $(BLD)/callproc.$(O)) + ($(BLD)/editfns.$(O), $(BLD)/ccl.$(O), $(BLD)/chartab.$(O)) + ($(BLD)/coding.$(O), $(BLD)/sysdep.$(O), $(BLD)/fontset.$(O)) + ($(BLD)/sysdep.$(O), $(BLD)/w32fns.$(O), $(BLD)/keyboard.$(O)) + ($(BLD)/w32term.$(O), $(BLD)/w32menu.$(O), $(BLD)/process.$(O)) + ($(BLD)/w32font.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies. + +2012-09-01 Eli Zaretskii + + * w32uniscribe.c (uniscribe_shape): Handle correctly the case of + more than one grapheme cluster passed to the shaper: compute the + offset adjustment values separately for each cluster. (Bug#11860) + + * image.c: Restore mistakenly removed inclusion of w32.h. Without + it, GCC doesn't see prototypes of w32_delayed_load, and complains + about implicit conversions from integer to pointer. + +2012-09-01 Daniel Colascione + + * w32fns.c (x_display_info_for_name): Prevent crash if w32 window + system used too early. + +2012-09-01 Paul Eggert + + Better seed support for (random). + * emacs.c (main): Call init_random. + * fns.c (Frandom): Set the seed from a string argument, if given. + Remove long-obsolete Gentzel cruft. + * lisp.h, sysdep.c (seed_random): Now takes address and size, not long. + (init_random): New function. + +2012-09-01 Daniel Colascione + + * xterm.h: Add header guards. Declare x_menubar_window_to_frame. + Remove x_set_frame_alpha, x_bitmap_icon, x_make_frame_visible, + x_make_frame_invisible, x_iconify_frame, x_free_frame_resources, + x_wm_set_size_hint, x_query_colors, x_real_positions, + x_set_menu_bar_lines, x_char_width, x_char_height, x_sync, + x_set_tool_bar_lines, x_activate_menubar, and free_frame_menubar, + all of which have been moved to common code. + + * xfaces.c: Include TERM_HEADER instead of listing all possible + window-system headers. + + * w32xfns.c (x_sync): Correct definition of x_sync (a no-op here) + to match header. + + * w32term.h (FRAME_X_WINDOW): Use FRAME_W32_WINDOW instead of + directly accessing frame internals. + + * w32font.h: Include font.h. Define syms_of_w32font and + globals_of_w32font. + + * process.c: Include TERM_HEADER instead of listing all possible + window-system headers. + + * nsterm.h: Remove declarations now in frame.h. + Define FRAME_X_SCREEN, FRAME_X_VISUAL. + + * menu.c: Include TERM_HEADER instead of listing all possible + window-system headers. + + * keyboard.h: Declare ignore_mouse_drag_p whenever we have a + window system. + + * keyboard.c: Include TERM_HEADER instead of listing all possible + window-system headers. + + * image.c: Include TERM_HEADER instead of listing all possible + window-system headers. Declare Vlibrary_cache when compiling for + Windows. + + * gtkutil.h (xg_list_node_): Include xterm.h to pick up needed + window system declarations. + + * frame.h: Move common functions here: set_frame_menubar, + x_set_window_size, x_sync, x_get_focus_frame, + x_set_mouse_position, x_set_mouse_pixel_position, + x_make_frame_visible, x_make_frame_invisible, x_iconify_frame, + x_char_width, x_char_height, x_pixel_width, x_pixel_height, + x_set_frame_alpha, x_set_menu_bar_lines, x_set_tool_bar_lines, + x_activate_menubar, x_real_positions, x_bitmap_icon, + x_set_menu_bar_lines, free_frame_menubar, x_free_frame_resources, + and x_query_colors. + + * frame.c: Include TERM_HEADER instead of listing all possible + window-system headers. + + * font.c: Include TERM_HEADER instead of listing all possible + window-system headers. + + * emacs.c: Include TERM_HEADER. + + * dispnew.c: Include TERM_HEADER instead of listing all possible + window-system headers. + + * ccl.h: Include character.h. + + * Makefile.in: Define WINDOW_SYSTEM_OBJ to hold objects needed for + the current window system; include in list of objects to link into + Emacs. + +2012-08-31 Dmitry Antipov + + Remove mark_ttys function and fix tty_display_info initialization. + * lisp.h (mark_ttys): Remove prototype. + * alloc.c (Fgarbage_collect): Remove redundant (and the only) call + to mark_ttys because all possible values of 'top_frame' slot are + the frames which are reachable from Vframe_list. + * term.c (mark_ttys): Remove. + (init_tty): Safely initialize 'top_frame' slot with Qnil. + +2012-08-31 Dmitry Antipov + + Change struct frame bitfields from unsigned char to unsigned. + * frame.h (struct frame): Change type of 'display_preempted', + 'visible', 'iconified', 'has_minibuffer', 'wants_modeline', + 'auto_raise', 'auto_lower', 'no_split', 'explicit_name', + 'window_sizes_changed', 'mouse_moved' and 'pointer_invisible' + bitfields from unsigned char to unsigned. + +2012-08-31 Dmitry Antipov + + Remove unused member of struct x_output and struct w32_output. + * xterm.h (struct x_output): Remove unused field 'needs_exposure'. + * w32term.h (struct w32_output): Likewise. + +2012-08-30 Jan Djärv + + * gtkutil.c (x_wm_set_size_hint): Use 1 col for base_width so it + does not become zero (Bug#12234). + +2012-08-30 Paul Eggert + + * dispnew.c (update_frame_1): Pacify gcc -Wstrict-overflow + for GCC 4.7.1 x86-64. + +2012-08-30 Glenn Morris + + * lread.c (init_lread): For out-of-tree builds, only add the + source directory's site-lisp dir to the load-path if it exists, + consistent with in-tree builds. (Bug#12302) + +2012-08-28 Jan Djärv + + * nsmenu.m (initWithContentRect:styleMask:backing:defer:): Initialize + button_values to NULL. Call setStykeMask so dialogs get a close button. + (windowShouldClose:): Set window_closed. + (dealloc): New member, free button_values. + (process_dialog:): Make member function. Remove window argument, + replace window with self. Count buttons and allocate and store values + in button_values. + (addButton:value:row:): value is int with the name tag. Call setTag + with tag. Remove return self, declare return value as void. + (addString:row:): Remove return self, declare return value as void. + (addSplit): Remove return self, declare return value as void. + (clicked:): Remove return self, declare return value as void. + Set dialog_return to button_values[seltag]. Code formatting change. + (initFromContents:isQuestion:): Adjust call to process_dialog. + Code formatting change. + (timeout_handler:): Set timer_fired to YES. + (runDialogAt:): Set timer_fired to NO. + Handle click on close button as quit. + + * nsterm.h (EmacsDialogPanel): Make timer_fired BOOL. + Add window_closed and button_values. Add void as return value for + add(Button|String|Split). addButton takes int instead of Lisp_Object. + Add process_dialog as new member. + +2012-08-28 Eli Zaretskii + + * ralloc.c (free_bloc): Don't dereference a 'heap' structure if it + is not one of the heaps we manage. (Bug#12242) + +2012-08-28 Glenn Morris + + * eval.c (Fcalled_interactively_p): Doc fix. (Bug#11747) + +2012-08-28 Martin Rudalics + + * window.c (Fset_window_configuration): Remove handling of + auto-buffer-name window parameter. Install revision of reverted + fix. + +2012-08-28 Dmitry Antipov + + Do not allow to set major mode for a dead buffer. + * buffer.c (Fset_buffer_major_mode): Signal an error + if the buffer is dead. + (Fother_buffer, other_buffer_safely): Remove redundant + nested declaration. + +2012-08-28 Dmitry Antipov + + Always use set_buffer_if_live to restore original buffer at unwind. + * buffer.h (record_unwind_current_buffer): New function. + * bytecode.c, dispnew.c, editfns.c, fileio.c, fns.c, insdel.c: + * keyboard.c, keymap.c, minibuf.c, print.c, process.c, textprop.c: + * undo.c, window.c: Adjust users. + * buffer.c (set_buffer_if_live): Fix comment. + +2012-08-28 Dmitry Antipov + + Fix usage of set_buffer_internal. + * buffer.h (set_buffer_internal): Make it BUFFER_INLINE. + * buffer.c (set_buffer_if_live): Use set_buffer_internal. + * coding.c (decode_coding): Omit redundant test. + * fileio.c (decide_coding_unwind): Likewise. + * fns.c (secure_hash): Likewise. + * insdel.c (modify_region): Likewise. + * keyboard.c (command_loop_1): Likewise. + * print.c (PRINTFINISH): Likewise. + * xdisp.c (run_window_scroll_functions): Use set_buffer_internal. + +2012-08-27 Paul Eggert + + * dispnew.c: Use bool for boolean. + (frame_garbaged, display_completed, delayed_size_change) + (fonts_changed_p, add_window_display_history) + (add_frame_display_history, verify_row_hash) + (adjust_glyph_matrix, clear_window_matrices, glyph_row_slice_p) + (row_equal_p, realloc_glyph_pool) + (allocate_matrices_for_frame_redisplay) + (showing_window_margins_p) + (adjust_frame_glyphs_for_frame_redisplay) + (build_frame_matrix_from_leaf_window, make_current) + (mirrored_line_dance, mirror_line_dance, update_frame) + (update_window_tree, update_single_window) + (check_current_matrix_flags, update_window, update_text_area) + (update_window_line, set_window_update_flags, scrolling_window) + (update_frame_1, scrolling, buffer_posn_from_coords) + (do_pending_window_change, change_frame_size) + (change_frame_size_1, sit_for): + Use bool for boolean. + (clear_glyph_matrix_rows): Rename from enable_glyph_matrix_rows, + and remove last int (actually boolean) argument, which was always 0. + All callers changed. + * dispextern.h, frame.h, lisp.h: Reflect above API changes. + * dispextern.h (struct composition_it): Use bool for boolean. + (struct glyph_matrix): Don't assume buffer sizes can fit in 'int'. + (struct bidi_it): Use unsigned:1, not int, for boolean prev_was_pdf. + * dired.c (file_name_completion): + Use bool for boolean. (This was missed in an earlier change.) + +2012-08-27 Martin Rudalics + + * window.c (Fset_window_configuration): Revert first part of + last change. + +2012-08-27 Jan Djärv + + * nsterm.h (NSPanel): New class variable dialog_return. + + * nsmenu.m (initWithContentRect:styleMask:backing:defer:): + Initialize dialog_return. + (windowShouldClose:): Use stop instead of stopModalWithCode. + (clicked:): Ditto, and also set dialog_return (Bug#12258). + (timeout_handler:): Use stop instead of abortModal. Send a dummy + event. + (runDialogAt:): Make ret Lisp_Object. Set it from dialog_return when + modal loop returns. + +2012-08-27 Paul Eggert + + * composite.c, data.c, dbusbind.c, dired.c: Use bool for booleans. + * composite.c (find_composition, composition_gstring_p) + (composition_reseat_it, find_automatic_composition): + * data.c (let_shadows_buffer_binding_p) + (let_shadows_global_binding_p, set_internal, make_blv) + (Fmake_variable_buffer_local, Fmake_local_variable) + (Fmake_variable_frame_local, arithcompare, cons_to_unsigned) + (cons_to_signed, arith_driver): + * dbusbind.c (xd_in_read_queued_messages): + * dired.c (directory_files_internal, file_name_completion): + Use bool for booleans. + * dired.c (file_name_completion): + * process.h (fd_callback): + Omit int (actually boolean) argument. It wasn't being used. + All uses changed. + * composite.h, lisp.h: Reflect above API changes. + + * cmds.c, coding.c: Use bool for booleans. + * cmds.c (move_point, Fself_insert_command): + * coding.h (struct composition status, struct coding_system): + * coding.c (detect_coding_utf_8, encode_coding_utf_8) + (detect_coding_utf_16, encode_coding_utf_16, detect_coding_emacs_mule) + (emacs_mule_char, decode_coding_emacs_mule) + (encode_coding_emacs_mule, detect_coding_iso_2022) + (decode_coding_iso_2022, encode_invocation_designation) + (encode_designation_at_bol, encode_coding_iso_2022) + (detect_coding_sjis, detect_coding_big5, decode_coding_sjis) + (decode_coding_big5, encode_coding_sjis, encode_coding_big5) + (detect_coding_ccl, encode_coding_ccl, decode_coding_raw_text) + (encode_coding_raw_text, detect_coding_charset) + (decode_coding_charset, encode_coding_charset, detect_eol) + (detect_coding, get_translation_table, produce_chars) + (consume_chars, reused_workbuf_in_use) + (make_conversion_work_buffer, code_conversion_save) + (decode_coding_object, encode_coding_object) + (detect_coding_system, char_encodable_p) + (Funencodable_char_position, code_convert_region) + (code_convert_string, code_convert_string_norecord) + (Fset_coding_system_priority): + * fileio.c (Finsert_file_contents): + Use bool for booleans. + * coding.h, lisp.h: Reflect above API changes. + * coding.c: Remove unnecessary static function decls. + (detect_coding): Use unsigned, not signed, to copy an unsigned field. + (decode_coding, encode_coding, decode_coding_gap): Return 'void', + not a boolean 'int', since callers never look at the return value. + (ALLOC_CONVERSION_WORK_AREA): Assume caller returns 'void', not 'int'. + * coding.h (decoding_buffer_size, encoding_buffer_size) + (emacs_mule_string_char): Remove unused extern decls. + (struct iso_2022_spec, struct coding_system): + Use 'unsigned int : 1' for boolean fields, since there's more than one. + (struct emacs_mule_spec): Remove unused field 'full_support'. + All initializations removed. + * cmds.c (internal_self_insert): Don't assume EMACS_INT fits in 'int'. + +2012-08-27 Dmitry Antipov + + Fix spare memory change (Bug#12286). + * alloc.c (mark_maybe_pointer): Handle MEM_TYPE_SPARE. + (valid_lisp_object_p): Likewise. + +2012-08-27 Martin Rudalics + + * window.c (Fset_window_configuration): Record any window's old + buffer if it's replaced (see Bug#8789). If the new current + buffer doesn't appear in the selected window, go to its old + point (Bug#12208). + +2012-08-27 Dmitry Antipov + + Special MEM_TYPE_SPARE to denote reserved memory. + * alloc.c (enum mem_type): New memory type. + (refill_memory_reserve): Use new type for spare memory. + This prevents live_cons_p and live_string_p from incorrect + detection of uninitialized objects from spare memory as live. + +2012-08-26 Paul Eggert + + Spelling fixes. + * Makefile.in (.PHONY): versioclean -> versionclean. + + Remove unused external symbols. + * data.c (Qcons, Qfloat, Qmisc, Qstring, Qvector): + * window.c (Qwindow_valid_p, decode_valid_window): + Now static, not extern. + * data.c (Qinterval): Remove; unused. + (syms_of_data): Do not define 'interval'. + * lisp.h (Qinteger, Qstring, Qmisc, Qvector, Qfloat, Qcons): + * window.h (decode_valid_window): + Remove decls. + + * character.c, charset.c, chartab.c: Use bool for booleans. + * character.c (lisp_string_width, string_count_byte8) + (string_escape_byte8): + * charset.c (charset_map_loaded, load_charset_map, read_hex): + (load_charset_map_from_file, map_charset_chars) + (Fdefine_charset_internal, define_charset_internal) + (Fdeclare_equiv_charset, find_charsets_in_text) + (Ffind_charset_region, char_charset, Fiso_charset): + * chartab.c (sub_char_table_ref, sub_char_table_ref_and_range) + (sub_char_table_set, sub_char_table_set_range) + (char_table_set_range, optimize_sub_char_table) + (map_sub_char_table): + Use bool for boolean. + * character.c (str_to_unibyte): Omit last boolean argument; it was + always 0. All callers changed. + * character.h, charset.h: Adjust to match previous changes. + * character.h (char_printable_p): Remove decl of nonexistent function. + * charset.h (struct charset): Members code_linear_p, iso_chars_96, + ascii_compatible_p, supplementary_p, compact_codes_p, unified_p + are all boolean, so make them single-bit bitfields. + + * lisp.h (ASET): Remove attempt to detect side effects. + It was meant to be temporary and it often doesn't work, + because when IDX has side effects the behavior of IDX==IDX + is undefined. See Stefan Monnier in + . + +2012-08-26 Barry OReilly (tiny change) + + * lisp.h (functionp): New function (extracted from Ffunctionp). + (FUNCTIONP): Use it. + * eval.c (Ffunctionp): Use it. + +2012-08-25 Paul Eggert + + * xgselect.c (xg_select): Use auto storage for the GPollFD buffer + as that's faster and simpler than static storage. Don't bother + with the g_main_context_query overhead if g_main_context_pending + says no events are pending. + (gfds, gfds_size): Remove these static vars. + (xgselect_initialize): Remove; no longer needed. + All uses and decls removed. + + * emacs.c (fatal_error_signal_hook): Remove. + All uses removed. This leftover from old code was always 0. + + * casefiddle.c, casetab.c, category.c: Use bool for boolean. + * casefiddle.c (casify_object, casify_region): + * casetab.c (set_case_table): + * category.c, category.h (word_boundary_p): + * category.h (CHAR_HAS_CATEGORY): + Use bool for booleans, instead of int. + +2012-08-25 Eli Zaretskii + + * makefile.w32-in ($(BLD)/alloc.$(O)): Depend on $(GNU_LIB)/execinfo.h. + +2012-08-25 Paul Eggert + + On assertion failure, print backtrace if available. + * alloc.c [ENABLE_CHECKING]: Include . + (die) [ENABLE_CHECKING]: Print a backtrace if available. + * Makefile.in (LIB_EXECINFO): New macro. + (LIBES): Use it. + + * bytecode.c, callint.c, callproc.c: Use bool for boolean. + * bytecode.c (exec_byte_code): + * callint.c (check_mark, Fcall_interactively): + * callproc.c (Fcall_process, add_env, child_setup, getenv_internal_1) + (getenv_internal, sync_process_alive, call_process_exited): + * lisp.h (USE_SAFE_ALLOCA): + Use bool for booleans, instead of int. + * lisp.h, process.h: Adjust prototypes to match above changes. + * callint.c (Fcall_interactively): Don't assume the mark's + offset fits in 'int'. + +2012-08-24 Paul Eggert + + * buffer.c, buffer.h: Use bool for boolean. + * buffer.c (reset_buffer_local_variables) + (buffer_lisp_local_variables, Fset_buffer_modified_p) + (Frestore_buffer_modified_p, Fset_buffer_multibyte): + (overlays_at, overlays_in, mouse_face_overlay_overlaps) + (overlay_touches_p, overlay_strings, Foverlay_put) + (report_overlay_modification, call_overlay_mod_hooks): + (mmap_enlarge, mmap_set_vars): + * buffer.h (buffer_has_overlays, uppercasep, lowercasep): + Use bool for booleans, instead of int. + * buffer.c (compact_buffer, mmap_free_1): Return void, not int, + since the 1-or-0 return value is always ignored anyway. + (mmap_initialized_p): + * buffer.h (struct buffer_text.inhibit_shrinking): Now bool, not int. + * buffer.h, lisp.h: Adjust prototypes to match above changes. + +2012-08-23 Paul Eggert + + * bidi.c: Use bool for boolean. + This is a bit more readable, and makes the text segment of bidi.o + 0.4% smaller on my platform (GCC 4.7.1 x86-64, Fedora 15). + Presumably it's faster too. + (bidi_initialized, bidi_ignore_explicit_marks_for_paragraph_level): + Now bool. + (bidi_cache_find_level_change, bidi_cache_iterator_state) + (bidi_unshelve_cache, bidi_init_it, bidi_count_bytes) + (bidi_char_at_pos, bidi_fetch_char, bidi_paragraph_init) + (bidi_explicit_dir_char, bidi_level_of_next_char) + (bidi_find_other_level_edge, bidi_move_to_visually_next): + Use bool for booleans, instead of int. + * dispextern.h (bidi_init_it, bidi_paragraph_init) + (bidi_unshelve_cache): Adjust decls to match code. + +2012-08-23 Martin Rudalics + + * keyboard.c (Fposn_at_x_y): Do not allow internal window as + argument. + +2012-08-23 Paul Eggert + + * atimer.c, atimer.h (turn_on_atimers): Use bool for boolean. + * atimer.h: Include . + +2012-08-22 Dan Nicolaescu + + * frame.h (FRAME_W32_P, FRAME_MSDOS_P, FRAME_NS_P): Change to + compile time tests instead of run time tests on systems that do + not use them. + (FRAME_MAC_P): Remove leftover from deleted code. + * frame.c (syms_of_frame): Remove leftover from deleted code. + +2012-08-22 Jan Djärv + + * nsterm.m (insertText:): Don't clear modifiers if code is space. + +2012-08-22 Paul Eggert + + * fontset.c (FONTSET_ADD): Return void, not Lisp_Object. + Otherwise, the compiler complains about (A?B:C) where B is void + and C is Lisp_Object. This fixes an incompatibility with Sun C 5.12. + (fontset_add): Return void, for FONTSET_ADD. + +2012-08-21 Paul Eggert + + * alloc.c: Use bool for booleans. + (gc_in_progress, abort_on_gc) + (setjmp_tested_p) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]: + (dont_register_blocks) [GC_MALLOC_CHECK]: + (suppress_checking) [ENABLE_CHECKING]: Now bool, not int. + (check_string_bytes, make_specified_string, memory_full) + (live_string_p, live_cons_p, live_symbol_p, live_float_p) + (live_misc_p, live_vector_p, live_buffer_p, mark_maybe_object) + (mark_stack, valid_pointer_p, make_pure_string) + (Fgarbage_collect, survives_gc_p, gc_sweep): + Use bool for booleans, instead of int. + (test_setjmp) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]: + Remove unused local. + * alloc.c (PURE_POINTER_P): + * lisp.h (STRING_MULTIBYTE): Document that it returns a boolean. + * editfns.c (Fformat): + * fileio.c (Fexpand_file_name, Fsubstitute_in_file_name) + (Fdo_auto_save): + * fns.c (sweep_weak_table): + * lisp.h (suppress_checking, push_message, survives_gc_p) + (make_pure_string, gc_in_progress, abort_on_gc): + * lread.c (readchar, read1): + * print.c (Fprin1_to_string): + * xdisp.c (push_message): + Use bool for booleans affected directly or indirectly by + alloc.c's changes. + + Make recently-introduced setters macros. + * fontset.c (set_fontset_id, set_fontset_name, set_fontset_ascii) + (set_fontset_base, set_fontset_frame, set_fontset_nofont_face) + (set_fontset_default, set_fontset_fallback): Rename from their + upper-case counterparts, and make them functions rather than macros. + This is more consistent with the other recently-introduced setters. + These don't need to be inline, since they're local. + +2012-08-21 Jan Djärv + + * nsterm.m (fd_handler:): Alloc and release a NSAutoreleasePool in + the loop (Bug#12247). + +2012-08-21 Paul Eggert + + * lisp.h (vcopy): Use memcpy rather than our own loop. + This fixes a performance regression introduced by the recent + addition of vcopy. This means 'vcopy' will need to be modified + for a copying collector, but that's OK. Also, tighten the + checking in the assertion. + +2012-08-21 Eli Zaretskii + + * w32uniscribe.c (uniscribe_shape): Fix producing gstring + components for RTL text (Bug#11860). Adjust X-OFFSET of each + non-base glyph for the width of the base character, according to + what x_draw_composite_glyph_string_foreground expects. + Generate WADJUST value according to composition_gstring_width's + expectations, to produce correct width of the composed character. + Reverse the sign of the DU offset produced by ScriptPlace. + +2012-08-21 Paul Eggert + + * dbusbind.c (xd_remove_watch): Do not assume C99 comments. + +2012-08-21 Dmitry Antipov + + Avoid direct writes to contents member of struct Lisp_Vector. + * lisp.h (vcopy): New function to copy data into vector. + * dispnew.c (Fframe_or_buffer_changed_p): Use AREF and ASET. + * fns.c (Ffillarray): Use ASET. + * keyboard.c (timer_check_2): Use AREF and ASET. + (append_tool_bar_item, Frecent_keys): Use vcopy. + * lread.c (read_vector): Use ASET. + * msdos.c (Frecent_doskeys): Use vcopy. + * xface.c (Finternal_copy_lisp_face): Use vcopy. + (Finternal_merge_in_global_face): Use ASET and vcopy. + * xfont.c (xfont_list_pattern): Likewise. + +2012-08-21 Martin Rudalics + + * window.c (Fwindow_point): For the selected window always return + the position of its buffer's point. + (Fset_window_point): For the selected window always go in its + buffer to the specified position. + +2012-08-21 Dmitry Antipov + + Setter macros for fontsets. + * fontset.c (SET_FONTSET_ID, SET_FONTSET_NAME, SET_FONTSET_ASCII) + (SET_FONTSET_BASE, SET_FONTSET_FRAME, SET_FONTSET_NOFONT_FACE) + (SET_FONTSET_DEFAULT, SET_FONTSET_FALLBACK): New macros. + Adjust users. + +2012-08-20 Glenn Morris + + * Makefile.in (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)): + Don't assume that `ln -f' works. + +2012-08-20 Eli Zaretskii + + * .gdbinit: Use "set $dummy = ..." to avoid warnings from GDB 7.5 + and later about non-assignments with no effect. See discussion at + http://sourceware.org/ml/gdb-patches/2012-08/msg00518.html for + details. + +2012-08-20 Dmitry Antipov + + Inline setter functions for Lisp_Objects slots of struct specbinding. + * eval.c (set_specpdl_symbol, set_specpdl_old_value): New functions. + Adjust users. + +2012-08-20 Martin Rudalics + + * window.c (select_window): Always make selected window's buffer + current. + +2012-08-20 Dmitry Antipov + + Use AREF and ASET for docstrings of category tables. + * category.h (CATEGORY_DOCSTRING): Use AREF. + (SET_CATEGORY_DOCSTRING): Use ASET. + * category.c (Fdefine_category): Use SET_CATEGORY_DOCSTRING. + +2012-08-20 Dmitry Antipov + + Inline setter functions for hash table members. + * lisp.h (set_hash_key, set_hash_value, set_hash_next) + (set_hash_hash, set_hash_index): Rename with _slot suffix. + (set_hash_key_and_value, set_hash_index, set_hash_next) + (set_hash_hash): New functions. + * charset.c, fns.c: Adjust users. + +2012-08-20 Dmitry Antipov + + Inline getter and setter functions for per-buffer values. + * buffer.h (per_buffer_default, set_per_buffer_default) + (per_buffer_value, set_per_buffer_value): New functions. + (PER_BUFFER_VALUE, PER_BUFFER_DEFAULT): Remove. + * buffer.c, data.c: Adjust users. + +2012-08-20 Juanma Barranquero + + * makefile.w32-in ($(BLD)/vm-limit.$(O)): Update dependencies. + +2012-08-19 Paul Eggert + + Rely on + to declare 'environ', + as gnulib does this if the system doesn't. + * callproc.c, editfns.c, process.c (environ) [!USE_CRT_DLL]: + Remove declaration. MS-Windows declares it on stdlib.h which is + included by conf_post.h. + * emacs.c (environ) [DOUG_LEA_MALLOC]: + * vm-limit.c (environ) [ORDINARY_LINK]: Remove decl. + * vm-limit.c: Include , for 'environ'. + + * unexaix.c, unexcoff.c: Include "mem-limits.h". + (start_of_data): Remove decl; mem-limits.h provides it. + + * xdisp.c (handle_invisible_prop): Make it a bit faster + and avoid a gcc -Wmaybe-uninitialized diagnostic. + +2012-08-19 Chong Yidong + + * xdisp.c (handle_invisible_prop): Fix ellipses at overlay string + ends (Bug#3874). + +2012-08-19 Andreas Schwab + + * .gdbinit: Use call instead of set when calling a function in the + inferior. + + * data.c (set_internal): Don't use set_blv_found. + (Fkill_local_variable): Likewise. + +2012-08-18 Alp Aker + + * nsfont.m (ns_ascii_average_width): Ensure the string + ascii_printable is initialized with a null-terminated character + array. Otherwise, it can contain undesired extra characters. + +2012-08-18 Paul Eggert + + port new setting code to Sun C 5.8 2005/10/13 + * chartab.c, lisp.h (char_table_set, char_table_set_range): + Return void, not Lisp_Object. Otherwise, the compiler + complains about (A?B:C) where B is void and C is Lisp_Object + when compiling CHAR_TABLE_SET, due to the recent change to + the API of sub_char_table_set_contents. + +2012-08-18 Chong Yidong + + * xdisp.c (handle_invisible_prop): Obey TEXT_PROP_MEANS_INVISIBLE + for the string case (Bug#3874). + +2012-08-18 Paul Eggert + + * buffer.h (BSET): Remove (Bug#12215). + Replace all uses with calls to new setter functions. + (bset_bidi_paragraph_direction, bset_case_canon_table) + (bset_case_eqv_table, bset_directory, bset_display_count) + (bset_display_time, bset_downcase_table) + (bset_enable_multibyte_characters, bset_filename, bset_keymap) + (bset_last_selected_window, bset_local_var_alist) + (bset_mark_active, bset_point_before_scroll, bset_read_only) + (bset_truncate_lines, bset_undo_list, bset_upcase_table) + (bset_width_table): + * buffer.c (bset_abbrev_mode, bset_abbrev_table) + (bset_auto_fill_function, bset_auto_save_file_format) + (bset_auto_save_file_name, bset_backed_up, bset_begv_marker) + (bset_bidi_display_reordering, bset_buffer_file_coding_system) + (bset_cache_long_line_scans, bset_case_fold_search) + (bset_ctl_arrow, bset_cursor_in_non_selected_windows) + (bset_cursor_type, bset_display_table, bset_extra_line_spacing) + (bset_file_format, bset_file_truename, bset_fringe_cursor_alist) + (bset_fringe_indicator_alist, bset_fringes_outside_margins) + (bset_header_line_format, bset_indicate_buffer_boundaries) + (bset_indicate_empty_lines, bset_invisibility_spec) + (bset_left_fringe_width, bset_major_mode, bset_mark) + (bset_minor_modes, bset_mode_line_format, bset_mode_name) + (bset_name, bset_overwrite_mode, bset_pt_marker) + (bset_right_fringe_width, bset_save_length) + (bset_scroll_bar_width, bset_scroll_down_aggressively) + (bset_scroll_up_aggressively, bset_selective_display) + (bset_selective_display_ellipses, bset_vertical_scroll_bar_type) + (bset_word_wrap, bset_zv_marker): + * category.c (bset_category_table): + * syntax.c (bset_syntax_table): + New setter functions. + + * process.h (PSET): Remove (Bug#12215). + Replace all uses with calls to new setter functions. + Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. + (PROCESS_INLINE): New macro. + (pset_childp): New setter function. + (pset_gnutls_cred_type) [HAVE_GNUTLS]: New setter function. + * process.c (PROCESS_INLINE): + Define to EXTERN_INLINE, so that the corresponding functions + are compiled into code. + (pset_buffer, pset_command, pset_decode_coding_system) + (pset_decoding_buf, pset_encode_coding_system) + (pset_encoding_buf, pset_filter, pset_log, pset_mark, pset_name) + (pset_plist, pset_sentinel, pset_status, pset_tty_name) + (pset_type, pset_write_queue): New setter functions. + + * window.h (WSET): Remove (Bug#12215). + Replace all uses with calls to new setter functions. + Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. + (WINDOW_INLINE): New macro. + (wset_buffer, wset_frame, wset_left_col, wset_next, wset_prev) + (wset_redisplay_end_trigger, wset_top_line, wset_total_cols) + (wset_total_lines, wset_vertical_scroll_bar) + (wset_window_end_pos, wset_window_end_valid) + (wset_window_end_vpos): New setter functions. + * window.c (WINDOW_INLINE): + Define to EXTERN_INLINE, so that the corresponding functions + are compiled into code. + (wset_combination_limit, wset_dedicated, wset_display_table) + (wset_hchild, wset_left_fringe_width, wset_left_margin_cols) + (wset_new_normal, wset_new_total, wset_next_buffers) + (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm) + (wset_prev_buffers, wset_right_fringe_width) + (wset_right_margin_cols, wset_scroll_bar_width, wset_start) + (wset_temslot, wset_vchild, wset_vertical_scroll_bar_type) + (wset_window_parameters): + * xdisp.c (wset_base_line_number, wset_base_line_pos) + (wset_column_number_displayed, wset_region_showing): + New setter functions. + + * termhooks.h (TSET): Remove (Bug#12215). + Replace all uses with calls to new setter functions. + Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. + (TERMHOOKS_INLINE): New macro. + (tset_charset_list, tset_selection_alist): New setter functions. + * terminal.c (TERMHOOKS_INLINE): + Define to EXTERN_INLINE, so that the corresponding functions + are compiled into code. + (tset_param_alist): New setter function. + +2012-08-17 Paul Eggert + + * keyboard.h (KSET): Remove (Bug#12215). + Replace all uses with calls to new setter functions. + Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. + (KEYBOARD_INLINE): New macro. + (kset_default_minibuffer_frame, kset_defining_kbd_macro) + (kset_input_decode_map, kset_last_command, kset_last_kbd_macro) + (kset_prefix_arg, kset_system_key_alist, kset_window_system): + New setter functions. + * keyboard.c (KEYBOARD_INLINE): + Define to EXTERN_INLINE, so that the corresponding functions + are compiled into code. + (kset_echo_string, kset_kbd_queue) + (kset_keyboard_translate_table, kset_last_prefix_arg) + (kset_last_repeatable_command, kset_local_function_key_map) + (kset_overriding_terminal_local_map, kset_real_last_command) + (kset_system_key_syms): New setter functions. + + * frame.h (FSET): Remove (Bug#12215). + Replace all uses with calls to new setter functions. + Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. + (FRAME_INLINE): New macro. + (fset_buffer_list, fset_buried_buffer_list, fset_condemned_scroll_bars) + (fset_current_tool_bar_string, fset_desired_tool_bar_string) + (fset_face_alist, fset_focus_frame, fset_icon_name, fset_menu_bar_items) + (fset_menu_bar_vector, fset_menu_bar_window, fset_name) + (fset_param_alist, fset_root_window, fset_scroll_bars) + (fset_selected_window, fset_title, fset_tool_bar_items) + (fset_tool_bar_position, fset_tool_bar_window): New functions. + * frame.c (FRAME_INLINE): + Define to EXTERN_INLINE, so that the corresponding functions + are compiled into code. + (fset_buffer_predicate, fset_minibuffer_window): New setter functions. + + A few more naming-convention fixes for getters and setters. + * buffer.c (set_buffer_overlays_before): Move here from buffer.h, + and rename from buffer_overlays_set_before. + (set_buffer_overlays_after): Move here from buffer.h, and rename + from buffer_overlays_set_after. + * buffer.h (buffer_intervals): Rename from buffer_get_intervals. + All uses changed. + (set_buffer_intervals): Rename from buffer_set_intervals. + * intervals.c (set_interval_object): Move here from intervals.h, + and rename from interval_set_object. + (set_interval_left): Move here from intervals.h, and rename from + interval_set_left. + (set_interval_right): Move here from intervals.h, and rename from + interval_set_right. + (copy_interval_parent): Move here from intervals.h, and rename from + interval_copy_parent. + * intervals.h (set_interval_parent): Rename from interval_set_parent. + (set_interval_plist): Rename from interval_set_plist. + Return void, not Lisp_Object, since no caller uses the result. + * lisp.h (string_intervals): Rename from string_get_intervals. + (set_string_intervals): Rename from string_set_intervals. + + * lisp.h (set_char_table_extras): Rename from char_table_set_extras. + (set_char_table_contents): Rename from char_table_set_contents. + (set_sub_char_table_contents): Rename from sub_char_table_set_contents. + All uses changed. See the end of + . + + * lisp.h (CSET): Remove (Bug#12215). + (set_char_table_ascii, set_char_table_defalt, set_char_table_parent) + (set_char_table_purpose): New functions, + replacing CSET. All uses changed. For example, replace + "CSET (XCHAR_TABLE (char_table), parent, parent);" with + "set_char_table_parent (char_table, parent);". + The old version was confusing because it used the same name + 'parent' for two different things. + +2012-08-17 Dmitry Antipov + + Functions to get and set Lisp_Object fields of buffer-local variables. + * lisp.h (blv_found, set_blv_found, blv_value, set_blv_value) + (set_blv_where, set_blv_defcell, set_blv_valcell): New functions. + (BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): Remove. + * data.c, eval.c, frame.c: Adjust users. + +2012-08-17 Chong Yidong + + * xfaces.c (merge_face_vectors): If the target font specfies a + font spec, make the font's attributes take precedence over + directly-specified attributes. + (merge_face_ref): Recognize :font. + +2012-08-17 Dmitry Antipov + + Do not use memcpy for copying intervals. + * intervals.c (reproduce_interval): New function. + (reproduce_tree, reproduce_tree_obj): Use it. + (reproduce_tree_obj): Remove prototype. + +2012-08-17 Paul Eggert + + * lisp.h (duration_to_sec_usec): Remove unused decl. + +2012-08-17 Alp Aker + + * nsfont.m (ns_ascii_average_width): Send initWithFormat selector + to an allocated instance of NSString, not to the class itself. + +2012-08-17 Juanma Barranquero + + * makefile.w32-in (C_CTYPE_H): New macro. + (LISP_H, $(BLD)/ccl.$(O), $(BLD)/doc.$(O), $(BLD)/w32console.$(O)): + ($(BLD)/fontset.$(O), $(BLD)/frame.$(O), $(BLD)/composite.$(O)): + ($(BLD)/sysdep.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies. + +2012-08-16 Paul Eggert + + Use ASCII tests for character types. + * category.c, dispnew.c, doprnt.c, editfns.c, syntax.c, term.c: + * xfns.c, xterm.c: + Don't include ; was not needed. + * charset.c, doc.c, fileio.c, font.c, frame.c, gtkutil.c, image.c: + * sysdep.c, xfaces.c: + Include instead of . + * nsterm.m: Include . + * charset.c (read_hex): + * doc.c (Fsnarf_documentation): + * fileio.c (IS_DRIVE) [WINDOWSNT]: + (DRIVE_LETTER) [DOS_NT]: + (Ffile_name_directory, Fexpand_file_name) + (Fsubstitute_in_file_name): + * font.c (font_parse_xlfd, font_parse_fcname): + * frame.c (x_set_font_backend): + * gtkutil.c (xg_get_font): + * image.c (xbm_scan, xpm_scan, pbm_scan_number): + * nsimage.m (hexchar): + * nsterm.m (ns_xlfd_to_fontname): + * sysdep.c (system_process_attributes): + * xfaces.c (hash_string_case_insensitive): + Use C-locale tests instead of locale-specific tests for character + types, since we want the ASCII interpretation here, not the + interpretation suitable for whatever happens to be the current locale. + +2012-08-16 Martin Rudalics + + Consistently check windows for validity/liveness + (Bug#11984, Bug#12025, Bug#12026). + * lisp.h (CHECK_VALID_WINDOW): New macro. + * window.c (decode_window): Rename to decode_live_window. + (decode_valid_window, Fwindow_valid_p): New functions. + (Fwindow_frame, Fframe_root_window, Fwindow_minibuffer_p) + (Fframe_first_window, Fframe_selected_window, Fwindow_parent) + (Fwindow_top_child, Fwindow_left_child, Fwindow_next_sibling) + (Fwindow_prev_sibling, Fwindow_combination_limit) + (Fset_window_combination_limit, Fwindow_use_time) + (Fwindow_total_height, Fwindow_total_width, Fwindow_new_total) + (Fwindow_normal_size, Fwindow_new_normal, Fwindow_left_column) + (Fwindow_top_line, Fwindow_body_height, Fwindow_body_width) + (Fwindow_hscroll, Fset_window_hscroll) + (Fwindow_redisplay_end_trigger) + (Fset_window_redisplay_end_trigger, Fwindow_edges) + (Fwindow_pixel_edges, Fwindow_absolute_pixel_edges) + (Fwindow_inside_edges, Fwindow_inside_pixel_edges) + (Fcoordinates_in_window_p, Fwindow_point, Fwindow_start) + (Fwindow_end, Fset_window_point, Fset_window_start) + (Fpos_visible_in_window_p, Fwindow_line_height) + (Fwindow_dedicated_p, Fset_window_dedicated_p) + (Fwindow_prev_buffers, Fset_window_prev_buffers) + (Fwindow_next_buffers, Fwindow_parameters, Fwindow_parameter) + (Fset_window_parameter, Fwindow_display_table) + (Fset_window_display_table, Fdelete_other_windows_internal) + (Fset_window_buffer, Fset_window_new_total) + (Fset_window_new_normal, Fdelete_window_internal) + (Fwindow_text_height, Fset_window_margins, Fwindow_margins) + (Fset_window_fringes, Fwindow_fringes, Fset_window_scroll_bars) + (Fwindow_scroll_bars): Check whether argument window is a valid or + live window. Update doc-strings. + (syms_of_window): New symbol Qwindow_valid_p. + * keyboard.c (Fposn_at_x_y): Check whether argument + frame_or_window denotes a valid window. + +2012-08-16 Dmitry Antipov + + Fix previous char table change. + * lisp.h (CHAR_TABLE_SET): Use sub_char_table_set_contents. + * chartab.c (optimize_sub_char_table): Likewise. + +2012-08-16 Chong Yidong + + * gtkutil.c (xg_get_font): Demand an Xft font (Bug#3228). + + * xfont.c (xfont_open): + * xftfont.c (xftfont_open): Set the font's max_width field. + + * nsfont.m (nsfont_open): Similar to the Xft backend, set + min_width to space_width and average_width to the average over + printable ASCII characters. + (ns_char_width): Code cleanup. + (ns_ascii_average_width): New utility function. + + * font.h (struct font): Update comments. + +2012-08-16 Dmitry Antipov + + Simple interface to set Lisp_Object fields of character tables. + * lisp.h (CSET): New macro. + (char_table_set_extras, char_table_set_contents) + (sub_char_table_set_contents): New function. + * casetab.c, category.c, chartab.c, fns.c, fontset.c, search.c: + * syntax.c: Adjust users. + +2012-08-16 Stefan Monnier + + * eval.c (eval_sub): Bind lexical-binding. + * lread.c (Qlexical_binding): Make non-static. + +2012-08-15 Jan Djärv + + * nsmenu.m (popupSession): Remove. + (pop_down_menu): Remove endModalSession. + (timeout_handler:): New method. + (runDialogAt:): Get next timeout. Start a NSTimer with that timeout. + Call runModalForWindow. Check timer_fired when it returns. + If not set, cancel timer and break out of loop. + Otherwise loop again, with a new timeout. + + * nsterm.m: Include fcntl.h if present. + (fd_entry, t_readfds, inNsSelect): Remove. + (select_writefds, select_valid, select_timeout, selfds) + (select_mutex, apploopnr): Add. + (EV_TRAILER): Call kbd_buffer_store_event_hold only if q_event_ptr. + Otherwise call kbd_buffer_store_event. + (ns_send_appdefined): Remove release of fd_entry. + (ns_read_socket): Always send appdefined. Remove inNsSelect check. + Increment and decrement apploopnr. + (ns_select): If no file descriptors, just do a NSTimer. + Otherwise copy read/write masks and start select thread (fd_handler). + Start main loop and wait for application defined event. + Inform select thread to stop selecting after main loop is exited. + (ns_term_init): Create selfds pipe and set non-blocking. + Initialize select_mutex. Start the select thread (fd_handler). + (fd_handler:): Loop forever, wait for info from the main thread + to either start or stop selecting. When select returns, send + and appdefined event. + (sendScrollEventAtLoc:fromEvent:): Check if q_event_ptr is set. + If not call kbd_buffer_store_event. + + * nsterm.h (EmacsApp): fd_handler takes id argument. + (EmacsDialogPanel): Add timer_fired and timeout_handler. + + * gtkutil.c (xg_mark_data): Use FRAME_X_P. + +2012-08-15 Eli Zaretskii + + * region-cache.c (move_cache_gap): Update gap_len using the actual + growth of the boundaries array. Do not change cache_len. + (Bug#12196) + +2012-08-15 Dmitry Antipov + + Generalize and cleanup font subsystem checks. + * font.h (FONT_DEBUG, font_assert): Remove. + * font.c, fontset.c, w32font.c, xfont.c, xftfont.c: + Change font_assert to eassert. Use eassert where appropriate. + +2012-08-15 Dmitry Antipov + + * gtkutil.c (xg_get_font): Use pango_units_to_double. + +2012-08-15 Chong Yidong + + * gtkutil.c (xg_get_font): Rename from xg_get_font_name. + When using the new font chooser, use gtk_font_chooser_get_font_desc to + extract the font descriptor instead of just the font name. + In that case, return a font spec instead of a string. + (x_last_font_name): Move to this file from xfns.c. + + * xfns.c (Fx_select_font): The return value can also be a font + spec. Move x_last_font_name management to gtkutil.c. + + * xfaces.c: Make font weight and style symbols non-static. + +2012-08-15 Stefan Monnier + + * minibuf.c (read_minibuf): Ignore caller's inhibit-read-only + (bug#12117). + +2012-08-14 Stefan Monnier + + * alloc.c (Fgarbage_collect): Use plural form consistently. + +2012-08-14 Eli Zaretskii + + * keyboard.c (command_loop_1): Reset ignore_mouse_drag_p flag each + iteration through the command loop. Fixes a problem whereby mouse + movements are ignored until the first mouse click. + +2012-08-14 Paul Eggert + + Use bool, not int, for Lisp booleans. + This is more natural, and on my platform (GCC 4.7.1 x86-64) it + makes Emacs a bit smaller and presumably a bit faster. + * lisp.h: Include . + (struct Lisp_Boolfwd, defvar_bool): + * lread.c (defvar_bool): Use bool, not int, for Lisp booleans. + * regex.c [!emacs]: Include . + (false, true): Remove; does this for us now. + +2012-08-14 Chong Yidong + + * character.c (Fcharacterp): Doc fix (Bug#12076). + + * data.c (Findirect_variable): Doc fix (Bug#11040). + + * chartab.c (Fmap_char_table): Doc fix (Bug#12061). + + * editfns.c (Fformat): Doc fix (Bug#12059). + (Fsave_current_buffer): Doc fix (Bug#11542). + +2012-08-14 Barry OReilly (tiny change) + + * keyboard.c (access_keymap_keyremap): Accept anonymous functions + (bug#12022). + +2012-08-14 Martin Rudalics + + * frame.c (make_frame_without_minibuffer, make_minibuffer_frame) + (delete_frame, Fmake_frame_invisible, Ficonify_frame): + * minibuf.c (choose_minibuf_frame, read_minibuf): + * w32fns.c (x_create_tip_frame): + * xfns.c (x_create_tip_frame): Call set_window_buffer instead of + Fset_window_buffer (Bug#11984, Bug#12025, Bug#12026). + +2012-08-14 Paul Eggert + + * intervals.c (offset_intervals): Remove obsolete comment. + +2012-08-14 Andreas Schwab + + * gtkutil.c (find_rtl_image, update_frame_tool_bar): Use NILP. + +2012-08-14 Gergely Risko + + * coding.c (decode_coding): Record buffer modification before + disabling undo_list (Bug#11773). + +2012-08-14 Dmitry Antipov + + Revert and cleanup some recent overlay changes. + * buffer.h (enum overlay_type): Remove. + (buffer_get_overlays, buffer_set_overlays): Likewise. + (buffer_set_overlays_before, buffer_set_overlays_after): + New function. Adjust users. + (unchain_both): Add eassert. + +2012-08-14 Dmitry Antipov + + * gtkutil.c (update_frame_tool_bar): Use EQ where appropriate. + +2012-08-14 Paul Eggert + + * gtkutil.c (xg_mark_data): Don't assume C99. + +2012-08-13 Jan Djärv + + * gtkutil.c (xg_frame_tb_info): New struct. + (TB_INFO_KEY): New define. + (xg_free_frame_widgets): Free xg_frame_tb_info for frame if present. + (xg_mark_data): Mark Lisp_Objects in xg_frame_tb_info. + (xg_create_tool_bar): Allocate and initialize a xg_frame_tb_info + if not present. + (update_frame_tool_bar): Return early if data in xg_frame_tb_info + is up to date. Otherwise store new data. + (free_frame_tool_bar): Free xg_frame_tb_info if present. + +2012-08-13 Dmitry Antipov + + Use KSET for write access to Lisp_Object members of struct kboard. + * keyboard.h (KSET): New macro. + * callint.c, category.c, frame.c, keyboard.c, keyboard.h, macros.c: + * msdos.c, nsfns.m, nsterm.m, term.c, w32fns.c, w32term.c, xfns.c: + * xterm.c: Adjust users. + +2012-08-13 Dmitry Antipov + + Use BSET for write access to Lisp_Object members of struct buffer. + * buffer.h (BSET): New macro. + * buffer.c, casetab.c, cmds.c, coding.c, data.c, editfns.c: + * fileio.c, frame.c, indent.c, insdel.c, intervals.c, keymap.c: + * minibuf.c, print.c, process.c, syntax.c, undo.c, w32fns.c: + * window.c, xdisp.c, xfns.c: Adjust users. + +2012-08-11 BT Templeton (tiny change) + + * lread.c (syms_of_lread): Initialize Vlexical_binding. + +2012-08-11 Jan Djärv + + * nsterm.m (not_in_argv): New function. + (application:openFile, application:openTempFile:): + (application:openFileWithoutUI:, application:openFiles:): Open file + if not_in_argv returns non-zero (bug#12171). + + * gtkutil.c (gtk_font_chooser_dialog_new, GTK_FONT_CHOOSER) + (gtk_font_chooser_set_font, gtk_font_chooser_get_font): + Define for Gtk+ versions less than 3.2. + (xg_get_font_name): Use those functions/macros here. + Reported by Frans Oilinki . + +2012-08-11 YAMAMOTO Mitsuharu + + * unexmacosx.c (copy_data_segment): Copy initialized data in + statically linked libraries from input file rather than memory. + + * unexmacosx.c (print_load_command_name): Add cases LC_MAIN, + LC_SOURCE_VERSION, and LC_DYLIB_CODE_SIGN_DRS. + (dump_it) [LC_DYLIB_CODE_SIGN_DRS]: Call copy_linkedit_data. + +2012-08-10 Glenn Morris + + * conf_post.h (IF_LINT, lint_assume): Move here from lisp.h. + * lisp.h (IF_LINT, lint_assume): Move to conf_post.h. + +2012-08-10 Dmitry Antipov + + Fix last change to allow compilation with low optimization levels. + * intervals.c (INTERVALS_INLINE): Define to EXTERN_INLINE. + Reported by Jan Djärv . + +2012-08-10 Dmitry Antipov + + Use common inline syntax in intervals.h. + * intervals.h (INTERVALS_INLINE): New macro. + Change all users from LISP_INLINE. + +2012-08-10 Dmitry Antipov + + Define Qnone once for all platforms. + * frame.c (Qnone): Define here. + (syms_of_frame): DEFSYM it. + * lisp.h (Qnone): New declaration. + * nsfns.m, nsterm.h, nsterm.m, w32fns.c, w32font.c: + * xfns.c: Remove duplication. Adjust users. + +2012-08-10 Dmitry Antipov + + Remove unused macros from intervals.h. + * intervals.h (MERGE_INSERTIONS, DISPLAY_INVISIBLE_GLYPH): Remove. + * intervals.c: Adjust comment. + +2012-08-10 Eli Zaretskii + + * w32fns.c : New static variable. + (globals_of_w32fns): Initialize it according to os_subtype. + (w32_init_class, w32_msg_pump, w32_wnd_proc): Use it instead of + testing os_subtype. + +2012-08-10 Joakim Hårsman (tiny change) + Eli Zaretskii + + Fix bug #10299 with Unicode characters sent by customized + keyboards created by MSKLC. + * w32fns.c (INIT_WINDOW_CLASS): New macro. + (w32_init_class): Use it to initialize the Emacs class with either + ANSI or Unicode API calls. + (w32_msg_pump): Call GetMessageW and DispatchMessageW on NT and + later. + (w32_wnd_proc): If the character code sent by WM_CHAR or + WM_SYSCHAR is above 255, post a WM_UNICHAR message, not the + original message. Call DefWindowProcW on NT and later. + +2012-08-10 Glenn Morris + + * Makefile.in (config_h): Fix conf_post.h out-of-tree build location. + + * lisp.h (DIRECTORY_SEP): Let configure set it. + +2012-08-09 Dmitry Antipov + + Use TSET for write access to Lisp_Object slots of struct terminal. + * termhooks.h (TSET): New macro. + * coding.c, terminal.c, xselect.c: Adjust users. + +2012-08-08 Stefan Monnier + + * xdisp.c (safe_eval_handler): Remove prototype. Receive args describing + the failing expression, include them in the error message. + * eval.c (internal_condition_case_n): Pass nargs and args to hfun. + * lisp.h (internal_condition_case_n): Update declaration. + +2012-08-08 Dmitry Antipov + + Inline functions to examine and change buffer overlays. + * buffer.c (unchain_both): New function. + * buffer.h (buffer_get_overlays, buffer_set_overlays): + (buffer_has_overlays): New function. + (enum overlay_type): New enum. + * alloc.c, buffer.c, editfns.c, fileio.c, indent.c: + * insdel.c, intervals.c, print.c, xdisp.c: Adjust users. + +2012-08-08 Dmitry Antipov + + Inline functions to examine and change buffer intervals. + * alloc.c (mark_interval_tree): Remove. + (MARK_INTERVAL_TREE): Simplify. + (UNMARK_BALANCE_INTERVALS): Remove. Adjust users. + * intervals.c (buffer_balance_intervals): New function. + (graft_intervals_into_buffer): Adjust indentation. + (set_intervals_multibyte): Simplify. + * buffer.h (BUF_INTERVALS): Remove. + (buffer_get_intervals, buffer_set_intervals): New function. + * alloc.c, buffer.c, editfns.c, fileio.c, indent.c, insdel.c: + * intervals.c, textprop.c: Adjust users. + +2012-08-08 Dmitry Antipov + + Inline functions to examine and change string intervals. + * lisp.h (STRING_INTERVALS, STRING_SET_INTERVALS): Remove. + (string_get_intervals, string_set_intervals): New function. + * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c: + * lread.c, print.c, textprop.c: Adjust users. + +2012-08-08 Glenn Morris + + * lisp.mk (lisp): Remove language/persian.elc. + +2012-08-08 Dmitry Antipov + + Cleanup intervals. + * intervals.h (NULL_INTERVAL, DEFAULT_INTERVAL): Remove. + (NULL_INTERVAL_P): Likewise. Adjust users. + (FRONT_STICKY_P, END_NONSTICKY_P, FRONT_NONSTICKY_P): + Adjust comment. Move under #if 0. + * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c: + * print.c, syntax.c, textprop.c, xdisp.c: Adjust users. + +2012-08-08 Dmitry Antipov + + Check total length of intervals with eassert. + * intervals.h (CHECK_TOTAL_LENGTH): Remove. + * intervals.c: Change all users to eassert. + +2012-08-07 Eli Zaretskii + + * .gdbinit (xframe, xwindow, nextcons, xcar, xcdr, xlist): + Rename fields to match removal of FGET and WGET and disuse of + INTERNAL_FIELD in Lisp_Cons. + +2012-08-07 Dmitry Antipov + + Revert and cleanup Lisp_Cons, Lisp_Misc and Lisp_Symbol things. + * lisp.h (struct Lisp_Symbol): Change xname to meaningful + name since all xname users are fixed long time ago. Do not + use INTERNAL_FIELD. + (set_symbol_name, set_symbol_function, set_symbol_plist): + (set_symbol_next, set_overlay_plist): New function. + (struct Lisp_Cons): Do not use INTERNAL_FIELD. + (struct Lisp_Overlay): Likewise. + (CVAR, MVAR, SVAR): Remove. + * alloc.c, buffer.c, buffer.h, bytecode.c, cmds.c, data.c: + * doc.c, eval.c, fns.c, keyboard.c, lread.c, nsselect.m: + * xterm.c: Adjust users. + * .gdbinit: Change to use name field of struct Lisp_Symbol + where appropriate. + +2012-08-07 Dmitry Antipov + + Basic functions to set Lisp_Object and pointer slots of intervals. + * intervals.h (interval_set_parent, interval_set_object): + (interval_set_left, interval_set_right, interval_set_plist): + (interval_copy_parent): New function. + (SET_INTERVAL_OBJECT, SET_INTERVAL_PARENT, INTERVAL_PTR_SIZE): Remove. + (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE): + Adjust indentation. + (INTERVAL_SIZE): Remove. Adjust users. + * alloc.c, intervals.c, lread.c, textprop.c: Use new functions. + +2012-08-07 Dmitry Antipov + + Drop PGET and revert read access to Lisp_Objects slots of Lisp_Process. + * process.h (PGET): Remove. + (struct Lisp_Process): Do not use INTERNAL_FIELD. + * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users. + +2012-08-07 Dmitry Antipov + + Drop WGET and revert read access to Lisp_Objects slots of struct window. + * window.h (WGET): Remove. + (struct window): Do not use INTERNAL_FIELD. + * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c: + * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c: + * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m: + * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c: + * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: + Adjust users. + +2012-08-07 Chong Yidong + + * window.c (Fwindow_edges, Fwindow_pixel_edges) + (Fwindow_absolute_pixel_edges, Fdelete_other_windows_internal) + (Fdelete_window_internal): Signal an error if the window is not on + a live frame (Bug#12025). + +2012-08-07 Dmitry Antipov + + Drop FGET and revert read access to Lisp_Objects slots of struct frame. + * frame.h (FGET): Remove. + (struct frame): Do not use INTERNAL_FIELD. + * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c: + * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m: + * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h: + * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users. + +2012-08-06 Juanma Barranquero + + * w32.c: Silence compiler warnings. + (map_w32_filename): Remove unused variable `is_fat'. + (chase_symlinks): Add parentheses around expression. + +2012-08-06 Glenn Morris + + * sysdep.c: Respect BROKEN_GETWD. + + * dispnew.c (GNU_LIBRARY_PENDING_OUTPUT_COUNT, PENDING_OUTPUT_COUNT): + Let configure handle it. + (stdio_ext.h) [DISPNEW_NEEDS_STDIO_EXT]: Include it. + +2012-08-06 Dmitry Antipov + + Use GCALIGNMENT where appropriate. + * alloc.c (XMALLOC_HEADER_ALIGNMENT, roundup_size): + (union aligned_Lisp_Symbol, union aligned_Lisp_Misc): + (mark_maybe_pointer, pure_alloc): Change to use GCALIGNMENT. + +2012-08-06 Eli Zaretskii + + * w32menu.c (set_frame_menubar, initialize_frame_menubar): + Don't use FRAME_MENU_BAR_ITEMS as an lvalue. + +2012-08-06 Stefan Monnier + + * buffer.h (struct buffer): Revert `indirections' to a simple int; + that should be sufficient for everyone. + +2012-08-06 Jan Djärv + + * keyboard.c (timer_check_2): Add break so timer_check returns next + timeout. + +2012-08-06 Dmitry Antipov + + Fix Windows build errors introduced after converting to WGET and WSET. + * w32term.c (w32_set_vertical_scroll_bar): Change to use WSET. + Reported by Andy Moreton . + +2012-08-06 Jan Djärv + + * nsterm.m (ns_frame_rehighlight): Use FSET. + + * nsmenu.m (ns_update_menubar): Use FSET. + +2012-08-06 Dmitry Antipov + + Separate read and write access to Lisp_Object slots of Lisp_Process. + * process.h (PGET, PSET): New macros similar to AREF and ASET. + * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users. + +2012-08-06 Dmitry Antipov + + Separate read and write access to Lisp_Object slots of struct window. + * window.h (WGET, WSET): New macros similar to AREF and ASET. + * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c: + * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c: + * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m: + * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c: + * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: + Adjust users. + +2012-08-06 Dmitry Antipov + + Fix Windows build errors introduced after converting to FGET and FSET. + * w32term.c (x_frame_rehighlight, x_scroll_bar_create): + (w32_condemn_scroll_bars, w32_redeem_scroll_bar): + (w32_judge_scroll_bars): Change to use FSET. + Reported by Andy Moreton . + +2012-08-06 Dmitry Antipov + + Fix replacement typo. + * window.c (replace_window): Set root_window instead of + selected_window. This fixes a total window subsystem + malfunction reported by Bastien Guerry . + +2012-08-06 Glenn Morris + + * lisp.mk (lisp): Add language/persian.elc. + +2012-08-06 Dmitry Antipov + + Separate read and write access to Lisp_Object slots of struct frame. + * frame.h (FGET, FSET): New macros similar to AREF and ASET. + * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c: + * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m: + * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h: + * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users. + +2012-08-05 Andreas Schwab + + * emacs.c (decode_env_path): Only use defaulted if WINDOWSNT. + +2012-08-05 Dmitry Antipov + + Generalize common compile-time constants. + * lisp.h (header_size, bool_header_size, word_size): Now here. + (struct Lisp_Vector): Add comment. + (struct Lisp_Bool_Vector): Move up to define handy constants. + (VECSIZE, PSEUDOVECSIZE): Simplify. + (SAFE_ALLOCA_LISP): Use new constant. Adjust indentation. + * buffer.c, buffer.h, bytecode.c, callint.c, eval.c, fns.c: + * font.c, fontset.c, keyboard.c, keymap.c, macros.c, menu.c: + * msdos.c, w32menu.c, w32term.h, window.c, xdisp.c, xfaces.c: + * xfont.c, xmenu.c: Use word_size where appropriate. + +2012-08-05 Lawrence Mitchell + + * search.c (Freplace_match): Treat \? in the replacement text + literally (Bug#8161). + +2012-08-05 Chong Yidong + + * term.c (Vsuspend_tty_functions, Vresume_tty_functions): + * frame.c (Vdelete_frame_functions): + * emacs.c (Vkill_emacs_hook): Doc fix. + +2012-08-04 Eli Zaretskii + + * xfns.c (x_set_menu_bar_lines): Fix compilation error in + --with-x-toolkit=no builds. + Reported by Carsten Mattner . + +2012-08-04 Chong Yidong + + * syntax.c (Fmodify_syntax_entry): Doc fix. + +2012-08-04 Eli Zaretskii + + Fix startup warnings about ../site-lisp on MS-Windows. (Bug#11959) + * w32.c (init_environment): Change the default values of many + environment variables in dflt_envvars[] to NULL, to avoid pushing + them into environment when they were not already defined. + Remove the code that deletes site-lisp subdirectories from the default + value of EMACSLOADPATH, as it is no longer needed. + (check_windows_init_file): Now external, not static. + Use Vload_path as is, without adding anything, as this function is now + called when Vload_path is already set up. + + * w32.h (check_windows_init_file): Add prototype. + + * emacs.c (init_cmdargs) [WINDOWSNT]: When running from the build + directory, ignore the /*/i386/ tail in Vinvocation_directory, for + compatibility with Posix platforms. + (main): Move the call to check_windows_init_file to here from + w32.c. + (decode_env_path) [WINDOWSNT]: Expand the %emacs_dir%/ prefix, if + any, in the DEFALT argument into the root of the Emacs build or + installation tree, as appropriate. + + * callproc.c (init_callproc_1): Call decode_env_path instead of + doing its equivalent by hand. + (init_callproc): Replace DOS_NT condition with MSDOS, thus letting + the code that sets Vexec_path run on MS-Windows. + + * lread.c (init_lread): Add comments to #ifdef's. + + * msdos.c (dos_set_window_size, IT_update_begin) + (IT_frame_up_to_date, IT_set_frame_parameters): Use FVAR and WVAR + instead of direct references. + +2012-08-04 Paul Eggert + + Export DEFAULT_REHASH_* to GDB. + * lisp.h (DEFAULT_REHASH_THRESHOLD, DEFAULT_REHASH_SIZE): + Now constants, not macros. + +2012-08-03 Paul Eggert + + Remove unnecessary casts involving pointers. + These casts are no longer needed now that we assume C89 or later, + since they involve casting to or from void *. + * alloc.c (make_pure_string, make_pure_c_string, pure_cons) + (make_pure_float, make_pure_vector): + * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): + * macros.c (Fstart_kbd_macro): + * menu.c (find_and_return_menu_selection): + * minibuf.c (read_minibuf_noninteractive): + * sysdep.c (closedir): + * xdisp.c (x_produce_glyphs): + * xfaces.c (compare_fonts_by_sort_order): + * xfns.c (x_real_positions, select_visual): + * xselect.c (x_stop_queuing_selection_requests) + (x_get_window_property, x_get_window_property_as_lisp_data): + * xterm.c (x_set_frame_alpha, x_find_modifier_meanings): + Remove unnecessary pointer casts. + * alloc.c (record_xmalloc): New function. + * lisp.h (record_xmalloc): New decl. + (SAFE_ALLOCA): Now takes just one arg -- the size -- and acts + more like a function. This is because the pointer cast is not + needed. All uses changed. + * print.c (print_string, print_error_message): Avoid length recalc. + + Improve fix for macroexp crash with debugging (Bug#12118). + * lisp.h (ASET) [ENABLE_CHECKING]: Pay attention to + ARRAY_MARK_FLAG when checking subscripts, because ASET is + not supposed to be invoked from the garbage collector. + See Andreas Schwab in . + (gc_aset): New function, which is like ASET but can be + used in the garbage collector. + (set_hash_key, set_hash_value, set_hash_next, set_hash_hash) + (set_hash_index): Use it instead of ASET. + +2012-08-03 Eli Zaretskii + + Support symlinks on latest versions of MS-Windows. + * w32.c: Include winioctl.h and aclapi.h. + (is_symlink, chase_symlinks, enable_privilege, restore_privilege) + (revert_to_self): Forward declarations of static functions. + : + : New static flags. + (globals_of_w32): Initialize them to zero. + (GetSecurityInfo_Proc, CreateSymbolicLink_Proc): New typedefs. + (map_w32_filename): Improve commentary. Simplify switch. + (SYMBOLIC_LINK_FLAG_DIRECTORY): Define if not defined in system + headers (most versions of MinGW w32api don't). + (get_security_info, create_symbolic_link) + (get_file_security_desc_by_handle, is_symlink, chase_symlinks): + New functions. + (sys_access, sys_chmod): Call 'chase_symlinks' to resolve symlinks + in the argument file name. + (sys_access): Call unc_volume_file_attributes only if + GetFileAttributes fails with network-related error codes. + (sys_rename): Diagnose renaming of a symlink when the user doesn't + have the required privileges. + (get_file_security_desc_by_name): Rename from + get_file_security_desc. + (stat_worker): New function, with most of the guts of 'stat', and + with addition of handling of symlinks and support for 'lstat'. + If possible, get file's attributes and security information by + handle, not by name. Produce S_IFLNK bit for symlinks, when + called from 'lstat'. + (stat, lstat): New functions, call 'stat_worker'. + (symlink, readlink, careadlinkat): Rewritten to create and resolve + symlinks when the underlying filesystem supports them. + +2012-08-02 Paul Eggert + + Fix macroexp crash on Windows with debugging (Bug#12118). + * lisp.h (ASET) [ENABLE_CHECKING]: Ignore ARRAY_MARK_FLAG when + checking subscripts; problem introduced with the recent + "ASET (a, i, v)" rather than "AREF (a, i) = v" patch. + (ARRAY_MARK_FLAG): Now a macro as well as a constant, + since it's used in non-static inline functions now. + + * xfaces.c (face_at_buffer_position, face_for_overlay_string): + Don't assume buffer size fits in 'int'. Remove unused local. + + Use C99-style 'extern inline' if available. + * buffer.h (BUFFER_INLINE): + * category.h (CATEGORY_INLINE): + * character.h (CHARACTER_INLINE): + * charset.h (CHARSET_INLINE): + * composite.h (COMPOSITE_INLINE): + * dispextern.h (DISPEXTERN_INLINE): + * lisp.h (LISP_INLINE): + * systime.h (SYSTIME_INLINE): + New macro, replacing 'static inline' in this header. + * buffer.h, category.h, character.h, charset.h, composite.h: + * dispextern.h, lisp.h, systime.h: + Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. + * alloc.c (LISP_INLINE): + * buffer.c (BUFFER_INLINE): + * category.c (CATEGORY_INLINE): + * character.c (CHARACTER_INLINE): + * charset.c (CHARSET_INLINE): + * composite.c (COMPOSITE_INLINE): + * dispnew.c (DISPEXTERN_INLINE): + * sysdep.c (SYSTIME_INLINE): + Define to EXTERN_INLINE, so that the corresponding functions + are compiled into code. + * conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN) + (INLINE_HEADER_END): New macros. + * lisp.h (PSEUDOVECTOR_FLAG): Now a macro as well as a constant, + since it's used in non-static inline functions now. + (VALMASK) [!USE_LSB_TAG]: Likewise. + +2012-08-02 Glenn Morris + + * s/: Remove empty directory. + + * s/ms-w32.h: Move to ../nt/inc. + * makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H): + Update for new ms-w32.h location. + +2012-08-02 Paul Eggert + + Port to Solaris 8. + * syswait.h (WRETCODE): Remove, consistently with ../configure.ac. + +2012-08-02 Glenn Morris + + * nsterm.m (ns_exec_path, ns_load_path): Use SEPCHAR rather than + hard-coding the path separator. + +2012-08-01 Paul Eggert + + Use "ASET (a, i, v)" rather than "AREF (a, i) = v". + This how ASET and AREF are supposed to work, and makes + it easier to think about future improvements. See + . + * charset.h (set_charset_attr): New function. + All lvalue-style uses of CHARSET_DECODER etc. changed to use it. + * lisp.h (ASET): Rewrite so as not to use AREF in an lvalue style. + (aref_addr): New function. All uses of &AREF(...) changed. + (set_hash_key, set_hash_value, set_hash_next, set_hash_hash) + (set_hash_index): New functions. All lvalue-style uses of + HASH_KEY etc. changed. + * keyboard.c (set_prop): New function. All lvalue-style uses + of PROP changed. + +2012-08-01 Alp Aker + + * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar) + (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:) + (EmacsScroller-dealloc): Adjust to use WVAR. (Bug#12114) + * nsfns.m (ns_set_name_as_filename): Likewise. + * nsmenu.m (ns_update_menubar): Likewise. + * nsselect.m (symbol_to_nsstring): Adjust to use SVAR. + +2012-08-01 Eli Zaretskii + + * .gdbinit (xcar, xcdr, xlist, xwindow, nextcons, xprintsym): + Adapt to latest changes in field names of the corresponding Lisp + objects. + + * xdisp.c (try_window_id): Use WVAR in IF_DEBUG code. + +2012-08-01 Glenn Morris + + * s/msdos.h: Remove file. + * conf_post.h [MSDOS]: New section, moved from s/msdos.h. + * Makefile.in (S_FILE): Remove. + (config_h): Remove S_FILE. + +2012-08-01 Juanma Barranquero + + * s/ms-w32.h (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): + Remove; moved to nt/config.nt. + +2012-08-01 Dmitry Antipov + + Use INTERNAL_FIELD for conses and overlays. + * lisp.h (struct Lisp_Cons): Use INTERNAL_FIELD. + Remove obsolete comment. + (MVAR): New macro. + (struct Lisp_Overlay): Use INTERNAL_FIELD. + * alloc.c, buffer.c, buffer.h, fns.c: Adjust users. + +2012-08-01 Dmitry Antipov + + Use INTERNAL_FIELD for symbols. + * lisp.h (SVAR): New macro. Adjust users. + * alloc.c, bytecode.c, cmds.c, data.c, doc.c, eval.c: + * fns.c, keyboard.c, lread.c, xterm.c: Users changed. + +2012-08-01 Dmitry Antipov + + Use INTERNAL_FIELD for processes. + * process.h (PVAR): New macro. Adjust style. + (struct Lisp_Process): Change Lisp_Object members to INTERNAL_FIELD. + * print.c, process.c, sysdep.c, w32.c, xdisp.c: Users changed. + +2012-08-01 Dmitry Antipov + + Use INTERNAL_FIELD for windows. + * window.h (WVAR): New macro. + (struct window): Change Lisp_Object members to INTERNAL_FIELD. + * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c: + * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c: + * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, nsterm.m, print.c: + * textprop.c, w32fns.c, w32menu.c, w32term.c, window.c, xdisp.c: + * xfaces.c, xfns.c, xmenu.c, xterm.c: Users changed. + +2012-08-01 Paul Eggert + + * coding.h (CODING_ATTR_FLUSHING): Remove; unused and wouldn't work. + +2012-08-01 Glenn Morris + + * lisp.h (IS_DIRECTORY_SEP, IS_DEVICE_SEP, IS_ANY_SEP): + Move to configure.ac. + +2012-08-01 Juanma Barranquero + + * makefile.w32-in (CONFIG_H): Update dependencies. + (CONF_POST_H): New macro. + + * s/ms-w32.h (SEPCHAR, NULL_DEVICE): Remove; moved to nt/config.nt. + +2012-07-31 Glenn Morris + + * Makefile.in (S_FILE): No longer set by configure. + + * conf_post.h (config_opsysfile): Move earlier, so that WINDOWSNT + is available. + (alloca.h) [WINDOWSNT]: Don't include it on MS Windows. + + * process.h (NULL_DEVICE): + * emacs.c (SEPCHAR): + * editfns.c (USER_FULL_NAME): Let configure set them. + + * s/README, s/template.h: Remove files. + + * conf_post.h [HPUX]: Undefine HAVE_RANDOM and HAVE_RINT. + + * conf_post.h (AMPERSAND_FULL_NAME, subprocesses): + Move to configure.ac. + +2012-07-31 Eli Zaretskii + + * .gdbinit (xframe): Adapt to introduction of FVAR and the + resulting renaming of 'struct frame' members. + + * w32menu.c (w32_menu_show): Revert bogus introduction of FVAR. + + * fontset.c (dump_fontset): Fix compilation with ENABLE_CHECKING + after introduction of FVAR. + +2012-07-31 Jan Djärv + + * nsmenu.m (update_frame_tool_bar): Change key from NSObject* to id. + + * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Use drawInRect + instead of compositeToPoint. + (applicationShouldTerminate): Pass NS String literal to NSRunAlertPanel. + + * nsfns.m, nsmenu.m, nsterm.m: Adopt to struct frame/FVAR changes. + +2012-07-31 Dmitry Antipov + + Generalize INTERNAL_FIELD between buffers, keyboards and frames. + * lisp.h (INTERNAL_FIELD): New macro. + * buffer.h (BUFFER_INTERNAL_FIELD): Remove. + (BVAR): Change to use INTERNAL_FIELD. + * keyboard.h (KBOARD_INTERNAL_FIELD): Likewise. + (KVAR): Change to use INTERNAL_FIELD. + * frame.h (FVAR): New macro. + (struct frame): Use INTERNAL_FIELD for all Lisp_Object fields. + * alloc.c, buffer.c, data.c, dispnew.c, dosfns.c, eval.c, frame.c: + * fringe.c, gtkutil.c, minibuf.c, nsfns.m, nsterm.m, print.c: + * term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h: + * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Users changed. + +2012-07-31 Dmitry Antipov + + Miscellaneous fixes for non-default X toolkits. + * xfns.c (Fx_file_dialog): Change to SSDATA to avoid warnings. + * xterm.c (x_frame_of_widget): Remove redundant prototype. + Move under #ifdef USE_LUCID. + (x_create_toolkit_scroll_bar): Adjust scroll_bar_name + definition and usage to avoid warnings. + +2012-07-31 Jan Djärv + + * nsterm.m (openFiles): Fix previous checkin. + +2012-07-31 Paul Eggert + + * indent.c (compute_motion): Remove unused local. + +2012-07-31 Glenn Morris + + * s/usg5-4-common.h (wait3, WRETCODE): Let configure set them. + + * conf_post.h [USG5_4]: + Move remaining contents of s/usg5-4-common.h here. + * s/usg5-4-common.h: Remove file. + + * conf_post.h [IRIX6_5]: Move remaining contents of s/irix6-5.h here. + * s/irix6-5.h: Remove file. + + * conf_post.h [DARWIN_OS]: Move remaining contents of s/darwin.h here. + * s/darwin.h: Remove file. + + * conf_post.h [HPUX]: Move random, srandom here from s/hpux10-20.h. + * s/hpux10-20.h: Remove file, which is now empty. + +2012-07-30 Glenn Morris + + * conf_post.h: New, split from configure.ac's AH_BOTTOM. + * Makefile.in (config_h): Add conf_post.h. + * makefile.w32-in (CONFIG_H): Add conf_post.h. + +2012-07-30 Jan Djärv + + * nsterm.m (ns_do_open_file): New variable. + (ns_term_init): Set ns_do_open_file to YES after run returns. + (openFile, openTempFile, openFileWithoutUI, openFiles): + Open files only if ns_do_open_file. + +2012-07-30 Paul Eggert + + * lisp.h (SWITCH_ENUM_CAST): Remove. All uses removed. + This no-op macro hasn't been needed for many years. + * src/regex.c (SWITCH_ENUM_CAST) [!emacs]: Likewise. + + Export DIRECTORY_SEP, TYPEMASK, VALMASK to GDB. + * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: Add lsb_bits. + * lisp.h (enum lsb_bits) [USE_LSB_TAG]: New enum, for + gdb_make_enums_visible. + (TYPEMASK, VALMASK) [USE_LSB_TAGS]: Now enum constants, not macros. + (DIRECTORY_SEP): Now a constant, not a macro. + +2012-07-30 Eli Zaretskii + + * w32fns.c (w32_wnd_proc): Pass w32_keyboard_codepage to + w32_kbd_patch_key as the 2nd arg. (Bug#12082) + + * w32term.c : Renamed from + keyboard_codepage and now external. All users changed. + + * w32term.h: Add declaration of w32_keyboard_codepage. + + * w32inevt.c (w32_kbd_patch_key): Accept an additional argument -- + the codepage to translate keys to Unicode. If this argument is + -1, use the value returned by GetConsoleCP. All callers changed. + +2012-07-30 Paul Eggert + + Update .PHONY listings in makefiles. + * Makefile.in (.PHONY): Add all, mostlyclean, clean, + bootstrap-clean, distclean, maintainer-clean, versioclean, + extraclean, frc. + + * lisp.h (STRING_BYTES_BOUND): Cast entire result to ptrdiff_t. + This is a bit clearer. Fix some commentary typos. + +2012-07-30 Glenn Morris + + * s/netbsd.h: Let configure include signal.h if needed. + Remove file, which is now empty. + + * s/usg5-4-common.h (_longjmp, _setjmp, TIOCSIGSEND): + Let configure set them. + * s/irix6-5.h (_longjmp, _setjmp, TIOCSIGSEND): + No more need to undefine. + +2012-07-30 Andreas Schwab + + * keymap.c (Fkey_description): Don't remove 0x80 bit from + non-single-byte char when adding meta modifier. (Bug#12090) + +2012-07-30 Dmitry Antipov + + Convert safe_call to use variable number of arguments. + * xdisp.c (safe_call): Convert to use varargs. Adjust users. + (safe_call2): Fix comment. + * lisp.h (safe_call): Adjust prototype. + * coding.c (encode_coding_object): Change to use safe_call2. + * xfaces.c (merge_face_heights): Change to use safe_call1. + +2012-07-30 Glenn Morris + + * s/aix4-2.h (sigmask): No need to undefine it, since syssignal.h + does that unconditionally. Remove file, which is now empty. + + * s/freebsd.h, s/gnu-linux.h, s/sol2-6.h, s/unixware.h: + Remove empty files. + +2012-07-30 Paul Eggert + + Export to GDB most of lisp.h's remaining object-like macros. + * lisp.h (min, max): Move earlier, because they're used earlier now. + (INTMASK, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK) + (CHAR_TABLE_STANDARD_SLOTS, CHARTAB_SIZE_BITS_0) + (CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2, CHARTAB_SIZE_BITS_3) + (DEFAULT_HASH_SIZE, COMPILED_ARGLIST, COMPILED_BYTECODE) + (COMPILED_CONSTANTS, COMPILED_STACK_DEPTH, COMPILED_DOC_STRING) + (COMPILED_INTERACTIVE, CHAR_ALT, CHAR_SUPER, CHAR_HYPER, CHAR_SHIFT) + (CHAR_CTL, CHAR_META, CHAR_MODIFIER_MASK, CHARACTERBITS) + (MANY, UNEVALLED, FLOAT_TO_STRING_BUFSIZE, MAX_ALLOCA): + Now constants, for GDB. They need not be macros. + (MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM, STRING_BYTES_BOUND): + Now constants, for GDB, as well as macros, for static initializers. + (CHAR_TABLE_STANDARD_SLOTS, CHAR_TABLE_EXTRA_SLOTS): + Move to after the definition of struct Lisp_Char_Table, + since the former now needs that type defined. + (enum CHARTAB_SIZE_BITS, enum CHAR_TABLE_STANDARD_SLOTS) + (enum DEFAULT_HASH_SIZE, enum Lisp_Compiled, enum char_bits) + (enum maxargs, enum FLOAT_TO_STRING_BUFSIZE, enum MAX_ALLOCA): + New enums, for gdb_make_enums_visible. + (GLYPH_MODE_LINE_FACE): Remove; unused. + * alloc.c (STRING_BYTES_MAX): Now a constant, not a macro. + (gdb_make_enums_visible): Add enum CHARTAB_SIZE_BITS, enum + CHAR_TABLE_STANDARD_SLOTS, enum char_bits, enum DEFAULT_HASH_SIZE, + enum FLOAT_TO_STRING_BUFSIZE, enum Lisp_Bits, enum Lisp_Compiled, + enum maxargs, enum MAX_ALLOCA. + (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): Remove. + (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Remove; + no longer needed, now that they are done in lisp.h. + +2012-07-30 Dmitry Antipov + + Cleanup string bytes checking. + * alloc.c (GC_STRING_BYTES, CHECK_STRING_BYTES): Remove. Convert + all users to STRING_BYTES or string_bytes if GC_CHECK_STRING_BYTES. + (check_string_bytes): Define to empty if not GC_CHECK_STRING_BYTES. + (check_sblock, compact_small_strings): Simplify. + +2012-07-29 Paul Eggert + + * lisp.h (LISP_INT_TAG, LISP_INT1_TAG, LISP_STRING_TAG): Remove. + These macros are confusing and no longer need to be defined, as + the enum values now suffice. All uses replaced with definiens. + (Lisp_Int1, Lisp_String): Define directly; this is clearer. + +2012-07-29 Juanma Barranquero + + * makefile.w32-in (LISP_H, $(BLD)/emacs.$(O), $(BLD)/w32inevt.$(O)) + ($(BLD)/w32console.$(O)): Update dependencies. + +2012-07-29 Dmitry Antipov + + Remove HIDE_LISP_IMPLEMENTATION and cleanup cons free list check. + * lisp.h (HIDE_LISP_IMPLEMENTATION): Remove as useless for a long + time. Adjust users. + (CHECK_CONS_LIST): Remove. Convert all users to check_cons_list. + +2012-07-29 Jan Djärv + + * lread.c (init_lread): Remove if-statement in ifdef HAVE_NS before + setting sitelisp (Bug#12010). + +2012-07-29 Eli Zaretskii + + * w32heap.h (OS_9X): Rename from OS_WINDOWS_95. + + * w32heap.c (cache_system_info): + * w32.c (sys_rename): + * w32proc.c (find_child_console, sys_kill): All users changed. + +2012-07-29 Paul Eggert + + * alloc.c (Fgarbage_collect): Indent as per usual Emacs style. + +2012-07-29 Eli Zaretskii + + * makefile.w32-in (LISP_H): Add $(NT_INC)/stdalign.h. + +2012-07-29 Dmitry Antipov + + Cleanup statistics calculation in Fgarbage_collect. + * alloc.c (Fgarbage_collect): Rename t1 to meaningful start. + Fix zombies percentage calculation. Simplify elapsed time calculation. + +2012-07-29 Dmitry Antipov + + Generalize marker debugging code under MARKER_DEBUG and use eassert. + * insdel.c (CHECK_MARKERS, check_markers_debug_flag): Remove. + (gap_left, gap_right, adjust_markers_for_delete, insert_1_both) + (insert_from_string_1, insert_from_gap, insert_from_buffer_1) + (replace_range, replace_range_2, del_range_2): Change to eassert. + * marker.c (byte_char_debug_check): Adjust style. + +2012-07-29 Paul Eggert + + Don't use the abbreviation "win" to refer to Windows (Bug#10421). + * regex.c (MAX_BUF_SIZE): Remove some incorrect and + long-ago-commented-out code that talks about "WIN32". + * w32heap.h (OS_WINDOWS_95): Rename from OS_WIN95. + All uses changed. + +2012-07-28 Paul Eggert + + Use Gnulib stdalign module (Bug#9772, Bug#9960). + * alloc.c (XMALLOC_BASE_ALIGNMENT, GC_POINTER_ALIGNMENT, pure_alloc): + Simplify by using alignof. + (pure_alloc) [! USE_LSB_TAG]: Don't over-align EMACS_INT values. + * lisp.h: Include . + (GCALIGNMENT): New macro and constant. + (DECL_ALIGN): Remove. All uses replaced by alignas (GCALIGNMENT). + (USE_LSB_TAG): ifdef on alignas, not on DECL_ALIGN. + (stdalign): New macro, if not already defined. + +2012-07-28 Eli Zaretskii + + Fix non-ASCII input in non-GUI frames on MS-Windows. (Bug#12055) + * w32inevt.c: Include w32inevt.h. + (w32_read_console_input): New inline function, calls either + ReadConsoleInputA or ReadConsoleInputW, depending on the value of + w32_console_unicode_input. + (fill_queue): Call w32_read_console_input instead of ReadConsoleInput. + (w32_kbd_patch_key, key_event): Use the codepage returned by + GetConsoleCP, rather than the ANSI codepage returned by GetLocaleInfo. + (key_event): use uChar.UnicodeChar only if + w32_console_unicode_input is non-zero. + + * w32console.c: Include w32heap.h. + : New global variable. + (initialize_w32_display): Set w32_console_unicode_input to 1 on NT + family of Windows, zero otherwise. + + * w32inevt.h: Declare w32_console_unicode_input. + + * xdisp.c (init_iterator): Don't reference tip_frame in a build + --without-x. (Bug#11742) + +2012-07-27 Paul Eggert + + Adjust GDB to reflect pvec_type changes (Bug#12036). + * .gdbinit (xvectype, xpr, xbacktrace): Adjust to reflect the + 2012-07-04 changes to pseudovector representation. + Problem reported by Eli Zaretskii in . + +2012-07-27 Michael Albinus + + * dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS): Canonicalize session + bus address. + (xd_close_bus, Fdbus_init_bus): Handle reference counter properly. + +2012-07-27 Eli Zaretskii + + * alloc.c (listn): Fix the order the arguments are consed onto the + list. + + * lisp.h (enum constype): Use CONSTYPE_HEAP and CONSTYPE_PURE for + enumeration constants, as PURE and HEAP are too general, and clash + with other headers and sources, such as gmalloc.c and the + MS-Windows system headers. All users changed. + +2012-07-27 Dmitry Antipov + + Revert last save_excursion_save and save_excursion_restore changes. + * alloc.c, editfns.c, marker.c, lisp.h: Revert. + Lots of crashes reported by Chong Yidong . + +2012-07-27 Dmitry Antipov + + Fix recently-introduced typos in Windows port. + Reported by Martin Rudalics . + * w32.c (init_environment): Replace comma with semicolon. + * w32fns.c (syms_of_w32fns): Add missing parenthesis. + +2012-07-27 Paul Eggert + + Improve GDB symbol export (Bug#12036). + * .gdbinit (xgetptr, xgetint, xgettype): Set $bugfix in different + arms of an 'if', not using conditional expressions; otherwise GDB + complains about the types in the unevaluated arm when the argument + is an integer literal. + (xgetint): Simplify expression. + * alloc.c (gdb_make_enums_visible): New constant. This ports to + GCC 3.4.2 the export of symbols to GDB. Problem reported by Eli + Zaretskii in . + * lisp.h (PUBLISH_TO_GDB): Remove. All uses removed. No longer + needed now that we have gdb_make_enums_visible. + (enum CHECK_LISP_OBJECT_TYPE, enum Lisp_Bits, enum More_Lisp_Bits) + (enum enum_USE_LSB_TAG): + New enum types, packaging up enums that need to be exported to GDB. + +2012-07-27 Dmitry Antipov + + Utility function to make a list from specified amount of objects. + * lisp.h (enum constype): New datatype. + (listn): New prototype. + * alloc.c (listn): New function. + (Fmemory_use_count, syms_of_alloc): Use it. + * buffer.c (syms_of_buffer): Likewise. + * callint.c (syms_of_callint): Likewise. + * charset.c (define_charset_internal): Likewise. + * coding.c (syms_of_coding): Likewise. + * keymap.c (syms_of_keymap): Likewise. + * search.c (syms_of_search): Likewise. + * syntax.c (syms_of_syntax): Likewise. + * w32.c (init_environment): Likewise. + * w32fns.c (Fw32_battery_status, syms_of_w32fns): Likewise. + * xdisp.c (syms_of_xdisp): Likewise. + * xfns.c (syms_of_xfns): Likewise. + +2012-07-27 Dmitry Antipov + + Fast save_excursion_save and save_excursion_restore. + * lisp.h (struct Lisp_Excursion): New data type. + (PVEC_EXCURSION): New pseudovector type. + (XEXCURSION, XSETEXCURSION, EXCURSIONP): Convenient macros + to deal with it. Adjust comments. + (init_marker, attach_marker): New prototype. + (unchain_marker): Adjust prototype. + * marker.c (attach_marker): Change to global. + (init_marker): New function. + * alloc.c (Fmake_marker, build_marker): Use it. + (build_marker): More easserts. + (mark_object): Handle struct Lisp_Excursion. + * editfns.c (save_excursion_save, save_excursion_restore): + Reimplement to use struct Lisp_Excursion. Add comments. + +2012-07-26 Paul Eggert + + Fix export of symbols to GDB (Bug#12036). + * alloc.c (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL) + (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Move these here from + emacs.c, as this is a more-suitable home. Had this been done earlier + the fix for 12036 would have avoided some of the problems noted in + by Eli Zaretskii, as the scope problems + would have been more obvious. + * emacs.c: Do not include ; no longer needed. + (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS) + (gdb_GCTYPEBITS, gdb_USE_LSB_TAG) + (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG): + Remove; now done in lisp.h. + * lisp.h (PUBLISH_TO_GDB): New macro. + (GCTYPEBITS, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE, enum pvec_type) + (DATA_SEG_BITS): Use it. + (GCTYPEBITS, USE_LSB_TAG): Now also an enum, for GDB. + (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Now just an enum, for GDB. + * mem-limits.h (EXCEEDS_LISP_PTR): Redo so that DATA_SEG_BITS need + not be usable in #if. This simplifies things. + +2012-07-26 Juanma Barranquero + + * makefile.w32-in ($(BLD)/emacs.$(O)): Update dependencies. + +2012-07-26 Paul Eggert + + Simplify export of symbols to GDB (Bug#12036). + * .gdbinit (xgetptr, xgetint, xgettype): Don't use "set $bugfix = + $bugfix.i", as this doesn't work (with GDB 7.4.1, anyway). + (xgetptr, xgetint, xgettype, xcoding, xcharset, xprintbytestr): + Adjust to changes in lisp.h and emacs.c, by using + CHECK_LISP_OBJECT_TYPE rather than gdb_use_struct, VALMASK instead + of $valmask, DATA_SEG_BITS instead of gdb_data_seg_bits, + INTTYPEBITS instead of gdb_gctypebits - 1, USE_LSB_TAG instead of + gdb_use_lsb, (1 << GCTYPEBITS) - 1 instead of $tagmask, VALBITS + instead of gdb_valbits. + (xvectype, xvector, xpr, xprintstr, xbacktrace): Similarly, use + PSEUDOVECTOR_FLAG instead of PVEC_FLAG, and ARRAY_MARK_FLAG + instead of gdb_array_mark_flag. + (xboolvector): Get size from $->size, not $->header.size. + Use BOOL_VECTOR_BITS_PER_CHAR rather than mystery constants. + (xreload, hook-run, hookpost-run): Remove. + * emacs.c: Include . + (gdb_use_lsb, gdb_use_struct, gdb_valbits, gdb_gctypebits) + (gdb_data_seg_bits, PVEC_FLAG, gdb_array_mark_flag, gdb_pvec_type): + Remove. + (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS, gdb_GCTYPEBITS) + (gdb_USE_LSB_TAG): New enum constants. + (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG): + Also define these as enum constants, so they're visible to GDB. + (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): New macros. + (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Also define these + as constants, so they're visible to GDB. + * lisp.h (VALBITS, INTTYPEBITS, FIXNUM_BITS, PSEUDOVECTOR_SIZE_BITS) + (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK, BOOL_VECTOR_BITS_PER_CHAR): + Now enum constants, not macros, so they're visible to GDB. + (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Default to 0, as this is + more convenient now. All uses changed. + (VALMASK) [USE_LSB_TAG]: Also define in this case. + * mem-limits.h (EXCEEDS_LISP_PTR): Adjust to DATA_SEG_BITS change. + +2012-07-26 Dmitry Antipov + + Explicitly free restriction data that are not needed anymore. + * editfns.c (save_restriction_restore): Free restriction data. + +2012-07-26 Stefan Monnier + + * eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp, + add argument, tune behavior, and adjust all callers. + +2012-07-25 Paul Eggert + + Use typedef for EMACS_INT, EMACS_UINT. + * lisp.h, s/ms-w32.h (EMACS_INT, EMACS_UINT): Use typedefs rather + than macros. This simplifies debugging in the usual case, since + it lets GDB show addresses as 'EMACS_INT *' rather than 'long int *' + and it allows expressions involving EMACS_INT casts. + * .gdbinit (xreload): Simplify by using EMACS_INT cast. + +2012-07-25 Jan Djärv + + * nsterm.m (ns_read_socket): Return early if there is a modal + window (Bug#12043). + +2012-07-25 Martin Rudalics + + * frame.c (Fredirect_frame_focus): In doc-string don't mention + that FOCUS-FRAME can be omitted. + +2012-07-25 Dmitry Antipov + + Adjust buffer text indirection counters at the end of Fkill_buffer. + * buffer.c (Fkill_buffer): Adjust indirection counters when the + buffer is definitely dead. This should really fix an issue reported + by Christoph Scholtes again. (Bug#12007). + (init_buffer_once): Initialize indirection counters of + buffer_defaults and buffer_local_symbols (for sanity and safety). + +2012-07-24 Eli Zaretskii + + * xdisp.c (init_iterator): Don't compute dimensions of truncation + and continuation glyphs on tooltip frames, leave them at zero. + Avoids continued lines in tooltips. (Bug#11832) + +2012-07-24 Dmitry Antipov + + Simplify copy_overlay. + * buffer.c (copy_overlay): Simplify. Use build_marker. + * lisp.h (struct Lisp_Overlay): Restore comment with minor tweaks. + +2012-07-23 Eli Zaretskii + + * print.c (print_object): Don't crash when a frame's name is nil + or invalid. (Bug#12025) + + * window.c (decode_any_window): Disable CHECK_LIVE_FRAME test, as + it signals an error when a tooltip frame is being created. + +2012-07-23 Dmitry Antipov + + Cleanup miscellaneous objects allocation and initialization. + * alloc.c (allocate_misc): Change to static. Add argument to + specify the subtype. Adjust comment and users. + (build_overlay): New function. + * buffer.c (copy_overlays, Fmake_overlay): Use it. + * lisp.h (struct Lisp_Overlay): Remove obsolete comment. + (allocate_misc): Remove prototype. + (build_overlay): Add prototype. + +2012-07-23 Dmitry Antipov + + Swap buffer text indirection counters in Fbuffer_swap_text. + * buffer.c (Fbuffer_swap_text): Swap indirections too. + This avoids crash reported by Christoph Scholtes at + http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00785.html. + +2012-07-22 Jan Djärv + + * nsmenu.m (Popdown_data): New struct. + (pop_down_menu): p->pointer is Popdown_data. Release the pool and + free Popdown_data. + (ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu. + (initWithContentRect): Make imgView and contentView non-static + and autorelease them. Also autorelease img and matrix (Bug#12005). + (dealloc): Remove (Bug#12005). + +2012-07-22 Dmitry Antipov + + Adjust consing_since_gc when objects are explicitly freed. + * alloc.c (GC_DEFAULT_THRESHOLD): New macro. + (Fgarbage_collect): Use it. Change minimum to 1/10 of default. + (free_cons, free_misc): Subtract object size from consing_since_gc. + +2012-07-22 Dmitry Antipov + + Simplify and cleanup markers positioning code. + * marker.c (attach_marker): More useful eassert. + (live_buffer, set_marker_internal): New function. + (Fset_marker, set_marker_restricted): Use set_marker_internal. + (set_marker_both, set_marker_restricted_both): Use live_buffer. + +2012-07-22 Paul Eggert + + * buffer.h (struct buffer.indirections): Now ptrdiff_t, not int, + as it's limited by the amount of memory, not by INT_MAX. + +2012-07-21 Eli Zaretskii + + * keyboard.c (keys_of_keyboard): Bind language-change to 'ignore' + in special-event-map. See the discussion at + http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00417.html + for the reasons. + + * w32menu.c (add_menu_item): Cast to ULONG_PTR when assigning + info.dwItemData. Fixes crashes on 64-bit Windows. + Suggested by Fabrice Popineau . + +2012-07-21 Jan Djärv + + * nsterm.m (accessibilityAttributeValue): New function. (Bug#11134). + (conversationIdentifier): Return value is NSInteger. + * nsterm.m (accessibilityAttributeValue): Surround with NS_IMPL_COCOA. + +2012-07-21 Chong Yidong + + * window.c (decode_any_window): Signal an error if the window is + on a dead frame (Bug#11984). + +2012-07-20 Dmitry Antipov + + Add indirection counting to speed up Fkill_buffer. + * buffer.h (struct buffer): New member. + * buffer.c (Fget_buffer_create): Set indirection counter to 0. + (Fmake_indirect_buffer): Set indirection counter to -1, increment + base buffer indirection counter. + (compact_buffer): If ENABLE_CHECKING, verify indirection counters. + (Fkill_buffer): Adjust indirection counters as needed, don't walk + through buffer list if indirection counter is 0. + +2012-07-20 Dmitry Antipov + + Extend the value returned by Fgarbage_collect with heap statistics. + * alloc.c (Qheap): New symbol. + (syms_of_alloc): DEFSYM it. + (Fgarbage_collect): If DOUG_LEA_MALLOC, add mallinfo data. + (Fmemory_free): Remove. + (syms_of_alloc): Don't defsubr it. + * buffer.c (Fcompact_buffer): Remove. + (syms_of_buffer): Don't defsubr it. + +2012-07-20 Dmitry Antipov + + Make maybe_gc inline. + Verify that inlining is always possible (GCC 4.7.1, -O3 -Winline). + * lisp.h (consing_since_gc, gc_relative_threshold) + (memory_full_cons_threshold): Revert declaration. + (maybe_gc): Remove prototype, define as inline. + * alloc.c: Remove old commented-out code. + (consing_since_gc, gc_relative_threshold) + (memory_full_cons_threshold): Revert to global. + (maybe_gc): Remove. + +2012-07-20 Dmitry Antipov + + Simple wrapper for make_unibyte_string, adjust font_open_by_name. + * lisp.h (build_unibyte_string): New function. + * dosfns.c, fileio.c, fns.c, ftfont.c, process.c: + * sysdep.c, w32fns.c, xfns.c: Use it. + * font.c (font_open_by_name): Change 2nd and 3rd args to the only arg + of type Lisp_Object to avoid redundant calls to make_unibyte_string. + Adjust users accordingly. + * font.h (font_open_by_name): Adjust prototype. + +2012-07-20 Dmitry Antipov + + Cleanup calls to Fgarbage_collect. + * lisp.h (maybe_gc): New prototype. + (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold): + Remove declarations. + * alloc.c (maybe_gc): New function. + (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold): + Make them static. + * bytecode.c (MAYBE_GC): Use maybe_gc. + * eval.c (eval_sub, Ffuncall): Likewise. + * keyboard.c (read_char): Likewise. Adjust call to maybe_gc + to avoid dependency from auto-save feature. + +2012-07-19 Paul Eggert + + * buffer.h (FOR_EACH_BUFFER): Rename from 'for_each_buffer'. + (FOR_EACH_PER_BUFFER_OBJECT_AT): Rename from + 'for_each_per_buffer_object_at'. + All uses changed. It's better to use upper-case for macros that + cannot be implemented as functions, to give the reader a clue + that they're special. + +2012-07-19 Stefan Monnier + + * alloc.c (Fgarbage_collect): Tweak docstring. + +2012-07-19 Dmitry Antipov + + Tweak the value returned from Fgarbage_collect again. + * alloc.c (Fgarbage_collect): New return value, as confirmed in + http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00418.html. + Adjust documentation. + (total_vector_bytes): Rename to total_vector_slots, adjust + accounting. + (total_free_vector_bytes): Rename to total_free_vector_slots, + adjust accounting. + (Qstring_bytes, Qvector_slots): New symbols. + (syms_of_alloc): DEFSYM them. + +2012-07-19 Dmitry Antipov + + Buffer compaction primitive which may be used from Lisp. + * buffer.c (compact_buffer, Fcompact_buffer): New function. + (syms_of_buffer): Register Fcompact_buffer. + * alloc.c (Fgarbage_collect): Use compact_buffer. + * buffer.h (compact_buffer): New prototype. + (struct buffer_text): New member. + +2012-07-19 Dmitry Antipov + + New macro to iterate over all buffers, miscellaneous cleanups. + * lisp.h (all_buffers): Remove declaration. + * buffer.h (all_buffers): Add declaration, with comment. + (for_each_buffer): New macro. + * alloc.c (Fgarbage_collect, mark_object): Use it. + * buffer.c (Fkill_buffer, Fbuffer_swap_text, Fset_buffer_multibyte) + (init_buffer): Likewise. + * data.c (Fset_default): Likewise. + * coding.c (code_conversion_restore): Remove redundant check + for dead buffer. + * buffer.c (Fkill_buffer): Likewise. Remove obsolete comment. + +2012-07-18 Andreas Schwab + + Fix bug that created negative-length intervals. + * intervals.c (merge_interval_right, merge_interval_left): + Do not zero out this interval if it is absorbed by its children, + as this interval's total length doesn't change in that case. See + . + +2012-07-18 Paul Eggert + + * alloc.c (Fmake_bool_vector): Fix off-by-8 bug + when invoking (make-bool-vector N t) and N is a positive + multiple of 8 -- the last 8 bits were mistakenly cleared. + + Remove some struct layout assumptions in bool vectors. + * alloc.c (bool_header_size): New constant. + (header_size, word_size): Move earlier, as they're now used earlier. + Use 'word_size' in a few more places, where it's appropriate. + (Fmake_bool_vector, sweep_vectors): Don't assume that there is no + padding before the data member of a bool vector. + (sweep_vectors): Use PSEUDOVECTOR_TYPEP, in an eassert, rather + than doing the check by hand with an abort (). + +2012-07-18 Stefan Monnier + + * eval.c (Fdefvar): Don't check constants since we only set the var if + it's not yet defined anyway (bug#11904). + + * lisp.h (last_undo_boundary): Declare new var. + * keyboard.c (command_loop_1): Set it. + * cmds.c (Fself_insert_command): Use it to only remove boundaries that + were auto-added by the command loop (bug#11774). + +2012-07-18 Andreas Schwab + + * w32font.c (Qsymbol): Remove local definition. + (syms_of_w32font): Don't DEFSYM it. + +2012-07-18 Dmitry Antipov + + Fix sweep_vectors to handle large bool vectors correctly. + * alloc.c (sweep_vectors): Account total_vector_bytes for + bool vectors larger than VBLOCK_BYTES_MAX. + +2012-07-18 Chong Yidong + + * frame.c (x_set_frame_parameters): Revert bogus change introduced + in 2012-05-25 commit by Paul Eggert (Bug#11738). + +2012-07-18 Dmitry Antipov + + Return more descriptive data from Fgarbage_collect. + Suggested by Stefan Monnier in + http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00369.html. + * alloc.c (bounded_number): New function. + (total_buffers, total_vectors): New variable. + (total_string_size): Rename to total_string_bytes, adjust users. + (total_vector_size): Rename to total_vector_bytes, adjust users. + (sweep_vectors): Account total_vectors and total_vector_bytes. + (Fgarbage_collect): New return value. Adjust documentation. + (gc_sweep): Account total_buffers. + (Fmemory_free, Fmemory_use_counts): Use bounded_number. + (VECTOR_SIZE): Remove. + * data.c (Qfloat, Qvector, Qsymbol, Qstring, Qcons): Make global. + (Qinterval, Qmisc): New symbols. + (syms_of_data): Initialize them. + * lisp.h (Qinterval, Qsymbol, Qstring, Qmisc, Qvector, Qfloat) + (Qcons, Qbuffer): New declarations. + +2012-07-17 Paul Eggert + + * alloc.c (Fmemory_free): Account for memory-free's own storage. + Round up, not down. Improve doc. + +2012-07-17 Dmitry Antipov + + Restore old code in allocate_string_data to avoid Faset breakage. + Reported by Julien Danjou in + http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00371.html. + * alloc.c (allocate_string_data): Restore old code with minor + adjustments, fix comment to explain this subtle issue. + +2012-07-17 Eli Zaretskii + + Remove FILE_SYSTEM_CASE. + * s/msdos.h (FILE_SYSTEM_CASE): Don't define. + + * fileio.c (FILE_SYSTEM_CASE): Don't define. + (Ffile_name_directory, Fexpand_file_name): Don't use FILE_SYSTEM_CASE. + Fixes problems on MS-DOS with Vtemp_file_name_pattern when + call-process-region passes it through expand-file-name. + + * dired.c (file_name_completion): Don't use FILE_SYSTEM_CASE. + +2012-07-17 Andreas Schwab + + Fix crash when creating indirect buffer (Bug#11917) + * buffer.c (buffer_lisp_local_variables): Add argument CLONE. + Don't handle unbound variables specially if non-zero. + (Fbuffer_local_variables): Pass zero. + (clone_per_buffer_values): Pass non-zero. + +2012-07-17 Andreas Schwab + + * gnutls.c (emacs_gnutls_handshake): Revert last change. Add QUIT + to make the loop interruptible. + +2012-07-17 Andreas Schwab + + * gnutls.c (emacs_gnutls_handshake): Only retry if + GNUTLS_E_INTERRUPTED. + +2012-07-17 Dmitry Antipov + + Cleanup and convert miscellaneous checks to eassert. + * alloc.c (mark_interval): Fix comment, partially rephrase + old comment from intervals.h (see below). + * intervals.c (find_interval, adjust_intervals_for_insertion) + (delete_interval, adjust_intervals_for_deletion) + (graft_intervals_into_buffer, temp_set_point_both, copy_intervals): + Convert to eassert. + (adjust_intervals_for_insertion, make_new_interval): + Remove obsolete and unused code. + * intervals.h (struct interval): Remove obsolete comment. + * textprotp.c (erase_properties): Remove unused code. + (Fadd_text_properties, set_text_properties_1, Fremove_text_properties) + (Fremove_list_of_text_properties): Convert to eassert. + +2012-07-17 Chong Yidong + + * editfns.c (Finsert_char): Doc fix. + +2012-07-17 Dmitry Antipov + + Fix previous change to make Fmemory_free always accurate. + * alloc.c (make_interval): Update total_free_intervals. + (make_float): Likewise for total_free_floats. + (free_cons, Fcons): Likewise for total_free_conses. + (SETUP_ON_FREE_LIST, allocate_vector_from_block): + Likewise for total_free_vector_bytes. + (Fmake_symbol): Likewise for total_free_symbols. + (bytes_free): Remove. + +2012-07-17 Dmitry Antipov + + Simple free memory accounting feature. + * alloc.c (bytes_free, total_free_vector_bytes): New variable. + (sweep_vectors): Accumulate size of free vectors. + (Fgarbage_collect): Setup bytes_free. + (Fmemory_free): New function. + (syms_of_alloc): Register it. + +2012-07-17 Dmitry Antipov + + Cleanup overlays checking. + * buffer.h (OVERLAY_VALID): Remove as useless synonym of OVERLAYP. + * buffer.c (overlay_touches_p, recenter_overlay_lists): Change to + eassert and OVERLAYP. + (sort_overlays): Change to use OVERLAYP. + +2012-07-16 René Kyllingstad (tiny change) + + * editfns.c (Finsert_char): Make it interactive, and make the + second arg optional. Copy interactive spec and docstring from + ucs-insert. + +2012-07-17 Paul Eggert + + * floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT (Bug#11913). + Unlike the other wrapped functions, fabs has an unspecified + effect on errno. + +2012-07-16 Jan Djärv + + * nsterm.m (keyDown): Interpret flags without left/right bits + as the left key (Bug#11670). + +2012-07-16 Dmitry Antipov + + Remove empty and useless init functions. + * lisp.h (init_character_once, init_fns, init_image) + (init_filelock, init_sound): Remove prototype. + * character.c (init_character_once): Remove. + * filelock.c (init_filelock): Likewise. + * fns.c (init_fns): Likewise. + * image.c (init_image): Likewise. + * sound.c (init_sound): Likewise. + * emacs.c (main): Adjust accordingly. + +2012-07-16 Dmitry Antipov + + * gtkutil.h: Tiny cleanups. + (use_old_gtk_file_dialog): Remove useless declaration. + (xg_uses_old_file_dialog): Add suggested const attribute. + +2012-07-15 Eli Zaretskii + + * bidi.c (MAX_STRONG_CHAR_SEARCH): New macro. + (bidi_paragraph_init): Use it to limit search forward for a strong + directional character in abnormally large paragraphs full of + neutral or weak characters. (Bug#11943) + +2012-07-15 Stefano Facchini (tiny change) + + * gtkutil.c (xg_create_tool_bar): Apply "primary-toolbar" style to + the toolbar (Bug#9451). + (xg_make_tool_item): Give the widget event box a transparent + background. + +2012-07-15 Dmitry Antipov + + Cleanup basic allocation variables and functions. + * alloc.c (ignore_warnings, init_intervals, init_float) + (init_cons, init_symbol, init_marker): Remove. + (interval_block_index): Initialize to INTERVAL_BLOCK_SIZE. + (float_block_index): Initialize to FLOAT_BLOCK_SIZE. + (cons_block_index): Initialize to CONS_BLOCK_SIZE. + (symbol_block_size): Initialize to SYMBOL_BLOCK_SIZE. + (marker_block_index): Initialize to MARKER_BLOCK_SIZE. + (staticidx, init_alloc_once, init_strings, free_ablock): + Remove redundant initialization. + * fns.c (init_weak_hash_tables): Remove. + * lisp.h (init_weak_hash_tables): Remove prototype. + +2012-07-15 Dmitry Antipov + + Use zero_vector where appropriate. + * alloc.c (zero_vector): Define as Lisp_Object. Adjust users + accordingly. + * lisp.h (zero_vector): New declaration. + * font.c (null_vector): Remove. + (syms_of_font): Remove initialization and staticpro. + (font_list_entities, font_find_for_lface): Change to use zero_vector. + * keymap.c (Faccessible_keymaps): Likewise. + +2012-07-15 Leo Liu + + * fringe.c: Fix typo in comments. + +2012-07-14 Leo Liu + + * fringe.c: Add a new bitmap exclamation-mark. + +2012-07-14 Eli Zaretskii + + * gmalloc.c (GMALLOC_INHIBIT_VALLOC): Don't reference. + + * s/msdos.h (BSD_SYSTEM, DATA_START, GC_SETJMP_WORKS, HAVE_MOUSE) + (HAVE_MENUS): Don't define, defined by editing config.in with + msdos/sed2v2.inp. + (GMALLOC_INHIBIT_VALLOC): Don't define. + (MODE_LINE_BINARY_TEXT): Remove, not used anymore. + +2012-07-14 Juanma Barranquero + + * s/ms-w32.h (GC_SETJMP_WORKS, GC_MARK_STACK): Set in nt/config.nt. + +2012-07-14 Glenn Morris + + * s/aix4-2.h, s/freebsd.h, s/gnu-linux.h, s/hpux10-20.h: + * s/irix6-5.h, s/netbsd.h, s/sol2-6.h, s/unixware.h: + Let configure set GC_SETJMP_WORKS, GC_MARK_STACK. + +2012-07-13 Glenn Morris + + * s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Let configure set it. + + * s/usg5-4-common.h (SETUP_SLAVE_PTY): Let configure set it. + * s/irix6-5.h (SETUP_SLAVE_PTY): No more need to unset it. + +2012-07-13 Jan Djärv + + * nsterm.m (uRect): Only define if NS_IMPL_GNUSTEP. + (x_free_frame_resources): Pass x_free_frame_resources to NSTRACE. + (ns_lisp_to_color, ns_string_to_lispmod, ns_term_init) + (ns_term_shutdown, requestService, initFrameFromEmacs): Use SSDATA + where appropriate. + (ns_exec_path, ns_load_path, changeFont): Put () around assignment used + as boolean expression. + (x_set_window_size): Remove unused variable toolbar. + (ns_get_color_default, ns_mod_to_lisp): Remove. + (ns_mouse_position): Remove unused variables xchar and ychar. + (ns_compute_glyph_string_overhangs): Remove unused variable face. + (ns_set_vertical_scroll_bar): Remove unused variable count. + (ns_delete_terminal): Remove unused variable i. + (ns_term_init): Remove unused variables r, g and b. + (mouseDown): Remove unused variable window. + (windowDidResize): Move definition of theWindow inside NS_IMPL_GNUSTEP. + (initFrameFromEmacs): Remove unused variable vbextra. + (mouseEntered): Remove unused variables p and dpyinfo. + (mouseExited): Remove unused variables p and r. + (ns_define_frame_cursor, ns_clear_frame_area) + (ns_draw_window_cursor, ns_initialize_display_info): Make static. + (menuDown): Assign [sender tag] to variable and cast the variable. + + * nsterm.h (menuDown): Add id as type to argument sender. + (ns_display_info_for_name): Add Lisp_Object argument. + (ns_term_init): Add Lisp_Object argument. + (ns_map_event_to_object): Add void argument. + (ns_string_from_pasteboard, ns_string_to_pasteboard): Add correct + prototype with arguments and only declare if __OBJC__. + (nxatoms_of_nsselect): Add void argument. + (ns_lisp_to_cursor_type): Add Lisp_Object argument. + (ns_alloc_autorelease_pool): Add void argument. + (ns_release_autorelease_pool): Add void* argument. + (ns_get_defaults_value): Add const char* argument. + + * nsmenu.m (ns_update_menubar, ns_menu_show, process_dialog) + (initFromContents): Use SSDATA where appropriate. + (ns_update_menubar): Add braces to ambigous if-else. + (initWithTitle): Put () around assignment in if statement. + (ns_menu_show): Remove unused variables window and keymap. + (update_frame_tool_bar): Remove unused variable selected_p. + (initWithContentRect): Remove unused variable this_cmd_name. + + * nsimage.m (ns_load_image, allocInitFromFile): Use SSDATA where + appropriate. + (setXBMColor): Remove unused variable len. + (setPixmapData): Put () around assignment in loop statement. + + * nsfont.m (ns_get_family, ns_lang_to_script, ns_otf_to_script) + (ns_registry_to_script, ns_get_req_script, nsfont_open): Use SSDATA + where appropriate. + (ns_get_covering_families, ns_findfonts, nsfont_list_family): Put () + around assignment in loop statement. + (nsfont_open): Remove unused variable i. + (nsfont_open): Remove unused variable len. + (nsfont_draw): Remove unused variable cs. + + * nsfns.m (x_set_icon_name, ns_set_name_internal) + (ns_set_name_as_filename, ns_implicitly_set_icon_type) + (x_set_icon_type, ns_lisp_to_cursor_type, Fns_read_file_name) + (Fns_get_resource, Fns_set_resource, Fx_open_connection) + (Fns_font_name, Fns_perform_service) + (Fns_convert_utf8_nfd_to_nfc, ns_do_applescript) + (Fns_do_applescript, Fx_show_tip): Use SSDATA where appropriate. + (ns_set_name): Remove unused variable view. + (x_set_menu_bar_lines): Remove unused variable olines. + (x_set_tool_bar_lines): Remove unused variable root_window. + (Fns_list_colors): Put () around assignment in while statement. + (Fns_perform_service): Remove unused variable len. + (Fns_display_usable_bounds): Remove unused variable top. + (syms_of_nsfns): Remove unused variable i. + + * nsmenu.m (ns_update_menubar): Exchange place of argument 2 and 3 to + memcpy (Bug#11907). + +2012-07-13 Kalle Kankare (tiny change) + + * image.c (Fimagemagick_types): Initialize ex with GetExceptionInfo + and free it with DestroyExceptionInfo (Bug#11558). + +2012-07-13 Juanma Barranquero + + * s/ms-w32.h (FIRST_PTY_LETTER, HAVE_SOCKETS): Move to nt/config.nt. + (HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE___BUILTIN_UNWIND_INIT): + Set here, not in nt/config.nt. + +2012-07-13 Eli Zaretskii + + * xdisp.c (move_it_in_display_line_to): On GUI terminals, allow + cursor overflow into the last glyph on display line when the right + fringe is off. (Bug#11832) + +2012-07-13 Paul Eggert + + * xdisp.c (produce_special_glyphs): Now static. + * dispextern.h (produce_special_glyphs): Remove decl. + +2012-07-13 Glenn Morris + + * s/bsd-common.h, s/cygwin.h: Remove empty files. + * s/freebsd.h, s/netbsd.h: Do not include bsd-common.h. + + * s/usg5-4-common.h (USG, USG5): + * s/template.h (USG5, USG, HPUX, BSD4_2, BSD_SYSTEM): + * s/sol2-6.h (SOLARIS2): + * s/irix6-5.h (IRIX6_5): + * s/hpux10-20.h (USG, USG5, HPUX): + * s/gnu-linux.h (USG, GNU_LINUX): + * s/freebsd.h (BSD_SYSTEM): + * s/darwin.h (BSD4_2, BSD_SYSTEM, DARWIN_OS): + * s/cygwin.h (CYGWIN): + * s/bsd-common.h (BSD_SYSTEM, BSD4_2): + * s/aix4-2.h (USG, USG5, _AIX): Move "system type" macros to configure. + +2012-07-13 BT Templeton (tiny change) + + * nsfont.m (ns_charset_covers): Don't abort if no bitmap (Bug#11853). + +2012-07-13 Glenn Morris + + * s/usg5-4-common.h (NSIG_MINIMUM): Let configure set it. + + * s/gnu-linux.h, s/irix6-5.h: Let configure set ULIMIT_BREAK_VALUE. + + * process.c (init_process_emacs): Replace MIN_PTY_KERNEL_VERSION. + * s/darwin.h (MIN_PTY_KERNEL_VERSION): Remove single-use macro. + +2012-07-12 Glenn Morris + + * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Move to configure. + + * process.c (init_process_emacs): Rename from init_process. + The old name is also the name of a Mach system call. + * lisp.h, emacs.c: Update for this name change. + * nsgui.h, sysselect.h, s/darwin.h: Remove workaround that is no + longer needed. + +2012-07-12 Eli Zaretskii + + * xdisp.c (insert_left_trunc_glyphs): Fix incorrect size in + memmove call that removes glyphs covered by the left truncation + glyph. Improve commentary. + (display_line): Fix display of continuation glyphs on GUI frames + when the right fringe is turned off and variable-size fonts are + used in the window. Move the code that appends a stretch glyph to + produce_special_glyphs, so that it could be used for truncation + and continuation glyphs alike. + (produce_special_glyphs) [HAVE_WINDOW_SYSTEM]: Produce a stretch + glyph of a suitably computed width, to align the special glyphs at + the window margin. Code moved from display_line. (Bug#11832) + +2012-07-12 Glenn Morris + + * s/aix4-2.h, s/hpux10-20.h: Let configure set NO_EDITRES. + + * s/gnu-linux.h, s/hpux10-20.h: + Do not unconditionally define HAVE_XRMSETDATABASE. + + * s/gnu-linux.h (UNIX98_PTYS): Let configure set it. + +2012-07-12 Paul Eggert + + Fix typos that broke OS X build. + Reported by Randal L. Schwartz in + . + * nsterm.m (ns_timeout): Add missing local decl. + (ns_get_color): snprintf -> sprintf, to fix typo. + +2012-07-12 Glenn Morris + + * src/s/aix4-2.h, src/s/cygwin.h, src/s/darwin.h: + * src/s/gnu-linux.h, src/s/hpux10-20.h, src/s/irix6-5.h: + * src/s/sol2-6.h, src/s/unixware.h, src/s/usg5-4-common.h: + Move PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF to configure. + + * s/cygwin.h, s/darwin.h, s/gnu-linux.h, s/irix6-5.h: + Move PTY_OPEN to configure. + + * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h: + * s/gnu-linux.h, s/hpux10-20.h, s/irix6-5.h, s/template.h: + * s/usg5-4-common.h: Move FIRST_PTY_LETTER, PTY_ITERATION to configure. + +2012-07-12 Dmitry Antipov + + Use empty_unibyte_string where applicable. + * keyboard.c (parse_tool_bar_item): Use empty_unibyte_string. + * lread.c (read1): Likewise. + * xsettings.c (syms_of_xsettings): Likewise. + +2012-07-12 Glenn Morris + + * s/cygwin.h (G_SLICE_ALWAYS_MALLOC): + * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): + * s/irix6-5.h (SETPGRP_RELEASES_CTTY, PREFER_VSUSP): + * s/hpux10-20.h (RUN_TIME_REMAP): + * s/bsd-common.h (TABDLY): Move to configure. + + * s/hpux10-20.h, s/sol2-6.h: Move XOS_NEEDS_TIME_H to configure. + + * s/bsd-common.h, s/darwin.h: Move TAB3 to configure. + + * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY) + (BROKEN_SIGPOLL, BROKEN_GET_CURRENT_DIR_NAME): Let configure set them. + + * s/darwin.h (NO_ABORT, NO_MATHERR): Let configure set them. + + * s/bsd-common.h, s/cygwin.h, s/gnu-linux.h, s/irix6-5.h: + * s/template.h: Move NARROWPROTO to configure. + +2012-07-11 Glenn Morris + + * s/gnu-linux.h, s/sol2-6.h: No longer define POSIX, + unused since 2011-01-17 change to systty.h. + + * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h, s/gnu-linux.h: + * s/hpux10-20.h, s/template.h, s/usg5-4-common.h: + Move HAVE_PTYS and HAVE_SOCKETS to configure. + +2012-07-11 Paul Eggert + + * s/sol2-6.h (HAVE_LIBKSTAT): Remove. (Bug#11914) + +2012-07-11 Glenn Morris + + * s/darwin.h, s/gnu-linux.h, s/template.h: + Move INTERRUPT_INPUT to configure. + +2012-07-11 Dmitry Antipov + + Minor adjustments to interning code. + * lisp.h (intern, intern_c_string): Redefine as static inline + wrappers for intern_1 and intern_c_string_1, respectively. + (intern_1, intern_c_string_1): Rename prototypes. + * lread.c (intern_1, intern_c_string_1, oblookup): + Simplify Vobarray checking. + * font.c (font_intern_prop): Likewise. Adjust comment. + * w32font.c (intern_font_name): Likewise. + +2012-07-11 Andreas Schwab + + * gnutls.c (Fgnutls_boot): Properly parse :keylist argument. + + * coding.c (Fdefine_coding_system_internal): Use XCAR/XCDR instead + of Fcar/Fcdr if possible. + * font.c (check_otf_features): Likewise. + * fontset.c (Fnew_fontset): Likewise. + * gnutls.c (Fgnutls_boot): Likewise. + * minibuf.c (read_minibuf): Likewise. + * msdos.c (IT_set_frame_parameters): Likewise. + * xmenu.c (Fx_popup_dialog): Likewise. + * w32menu.c (Fx_popup_dialog): Likewise. + +2012-07-11 Glenn Morris + + * s/bsd-common.h, s/cygwin.h: No need to undefine INTERRUPT_INPUT, + since nothing has defined it on these platforms. + + * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/gnu-linux.h: + * s/irix6-5.h: Move SIGNALS_VIA_CHARACTERS to configure. + + * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h: + * s/gnu-linux.h, s/hpux10-20.h, s/template.h, s/usg5-4-common.h: + Move CLASH_DETECTION to configure. + + * s/gnu.h: Remove file, which is now empty. + + * s/gnu.h, s/gnu-linux.h: + Move GNU_LIBRARY_PENDING_OUTPUT_COUNT to configure. + +2012-07-11 John Wiegley + + * alloc.c (mark_memory): Guard the "no_address_safety_analysis" + function attribute, so we only use it if it exists in the + compiler. + +2012-07-11 Dmitry Antipov + + Avoid call to strlen in fast_c_string_match_ignore_case. + * search.c (fast_c_string_match_ignore_case): Change to use + length argument. Adjust users accordingly. + * lisp.h (fast_c_string_match_ignore_case): Adjust prototype. + +2012-07-11 Paul Eggert + + Assume mkdir, rmdir. + * sysdep.c (mkdir) [!HAVE_MKDIR]: Remove. + * sysdep.c (rmdir) [!HAVE_RMDIR]: Remove. + + Assume rename. + * sysdep.c (rename) [!HAVE_RENAME]: Remove. + + Assume perror. + * s/hpux10-20.h (HAVE_PERROR): Remove. + * sysdep.c (perror) [HPUX && !HAVE_PERROR]: + Remove dummy definition, as this problem was obsolete long ago. + + Assume strerror. + * sysdep.c (strerror) [!HAVE_STRERROR && !WINDOWSNT]: Remove. + +2012-07-11 Dmitry Antipov + + Avoid calls to strlen in font processing functions. + * font.c (font_parse_name, font_parse_xlfd, font_parse_fcname) + (font_open_by_name): Change to use length argument. + Adjust users accordingly. + * font.h (font_open_by_name, font_parse_xlfd, font_unparse_xlfd): + Adjust prototypes. + * xfont.c (xfont_decode_coding_xlfd, font_unparse_xlfd): + Change to return ptrdiff_t. + (xfont_list_pattern, xfont_match): Use length returned by + xfont_decode_coding_xlfd. + * xfns.c (x_default_font_parameter): Omit useless xstrdup. + +2012-07-11 Glenn Morris + + * s/darwin.h, s/freebsd.h, s/netbsd.h: + Move DONT_REOPEN_PTY to configure. + + * sound.c (DEFAULT_SOUND_DEVICE) [!WINDOWSNT]: + * s/netbsd.h (DEFAULT_SOUND_DEVICE): Let configure set it. + +2012-07-10 Paul Eggert + + Remove "#define unix" that is no longer needed (Bug#11905). + * s/aix4-2.h (unix): Remove; no longer needed. + + EMACS_TIME simplification (Bug#11875). + This replaces macros (which typically do not work in GDB) + with functions, typedefs and enums, making the code easier to debug. + The functional style also makes code easier to read and maintain. + * systime.h: Include on all hosts, not just if + WINDOWSNT, since 'struct timeval' is needed in general. + (EMACS_TIME): Now a typedef, not a macro. + (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): Now constants, + not macros. + (EMACS_SECS, EMACS_NSECS, EMACS_TIME_SIGN, EMACS_TIME_VALID_P) + (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE, EMACS_TIME_EQ) + (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE, EMACS_TIME_LT) + (EMACS_TIME_LE): Now functions, not macros. + (EMACS_SET_SECS, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS) + (EMACS_SET_USECS, EMACS_SET_SECS_USECS): Remove these macros, + which are not functions. All uses rewritten to use: + (make_emacs_time): New function. + (EMACS_SECS_ADDR, EMACS_SET_INVALID_TIME, EMACS_GET_TIME) + (EMACS_ADD_TIME, EMACS_SUB_TIME): Remove these macros, which are + not functions. All uses rewritten to use the following, respectively: + (emacs_secs_addr, invalid_emacs_time, get_emacs_time) + (add_emacs_time, sub_emacs_time): New functions. + * atimer.c: Don't include , as "systime.h" does this. + * fileio.c (Fcopy_file): + * xterm.c (XTflash): Get the current time closer to when it's used. + * makefile.w32-in ($(BLD)/atimer.$(O)): Update dependencies. + + * bytecode.c (targets): Suppress -Woverride-init warnings. + + Simplify by avoiding confusing use of strncpy etc. + * doc.c (Fsnarf_documentation): + * fileio.c (Ffile_name_directory, Fsubstitute_in_file_name): + * frame.c (Fmake_terminal_frame): + * gtkutil.c (get_utf8_string): + * lread.c (openp): + * nsmenu.m (ns_update_menubar): + * regex.c (regerror): + Prefer memcpy to strncpy and strncat when either will do. + * fileio.c (Fsubstitute_in_file_name): + * keyboard.c (MULTI_LETTER_MOD, parse_modifiers_uncached) + (menu_separator_name_p): + * nsmenu.m (ns_update_menubar): + Prefer memcmp to strncmp when either will do. + * nsterm.m: Include . + (ns_get_color): + * s/gnu-linux.h, s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF): + Prefer snprintf to strncpy. + * nsterm.m (ns_term_init): + * widget.c (set_frame_size) [0]: Prefer xstrdup to xmalloc + strncpy. + * nsterm.m (ns_term_init): + Avoid the need for strncpy, by using build_string or + make_unibyte_string directly. Use dtoastr, not snprintf. + * process.c (Fmake_network_process): Diagnose service names that + are too long, rather than silently truncating them or creating + non-null-terminated names. + (Fnetwork_interface_info): Likewise, for interface names. + * sysdep.c (system_process_attributes) [GNU_LINUX]: + Prefer sprintf to strncat. + * xdisp.c (debug_method_add) [GLYPH_DEBUG]: + Prefer vsnprintf to vsprintf + strncpy. + +2012-07-10 Glenn Morris + + * dispnew.c (PENDING_OUTPUT_COUNT) [!__GNU_LIBRARY__]: + Clarify fallback case. + +2012-07-10 Dmitry Antipov + + Use XCAR and XCDR instead of Fcar and Fcdr where possible. + * callint.c, coding.c, doc.c, editfns.c, eval.c, font.c, fontset.c, + * frame.c, gnutls.c, minibuf.c, msdos.c, textprop.c, w32fns.c, + * w32menu.c, window.c, xmenu.c: Change to use XCAR and XCDR + where argument type is known to be a Lisp_Cons. + +2012-07-10 Tom Tromey + + * bytecode.c (BYTE_CODE_THREADED): New macro. + (BYTE_CODES): New macro. Replaces all old byte-code defines. + (enum byte_code_op): New type. + (CASE, NEXT, FIRST, CASE_DEFAULT, CASE_ABORT): New macros. + (exec_byte_code): Use them. Use token threading when applicable. + +2012-07-10 Dmitry Antipov + + Optimize pure C strings initialization. + * lisp.h (make_pure_string): Fix prototype. + (build_pure_c_string): New function, defined as static inline. This + provides a better opportunity to optimize away calls to strlen when + the function is called with compile-time constant argument. + * alloc.c (make_pure_c_string): Fix comment. Change to add nchars + argument, adjust users accordingly. Use build_pure_c_string where + appropriate. + * buffer.c, coding.c, data.c, dbusbind.c, fileio.c, fontset.c, frame.c, + * keyboard.c, keymap.c, lread.c, search.c, syntax.c, w32fns.c, xdisp.c, + * xfaces.c, xfns.c, xterm.c: Use build_pure_c_string where appropriate. + +2012-07-10 Dmitry Antipov + + Avoid calls to strlen in miscellaneous functions. + * buffer.c (init_buffer): Use precalculated len, adjust if needed. + * font.c (Ffont_xlfd_name): Likewise. Change to call make_string. + * lread.c (openp): Likewise. + +2012-07-10 Dmitry Antipov + + Avoid calls to strlen in path processing functions. + * fileio.c (file_name_as_directory): Add comment. Change to add + srclen argument and return the length of result. Adjust users + accordingly. + (directory_file_name): Fix comment. Change to add srclen argument, + swap 1st and 2nd arguments to obey the common convention. + Adjust users accordingly. + * filelock.c (fill_in_lock_file_name): Avoid calls to strlen. + +2012-07-10 Glenn Morris + + * s/cygwin.h, s/darwin.h, s/freebsd.h, s/netbsd.h, s/unixware.h: + Move PENDING_OUTPUT_COUNT definition to configure. + + * s/irix6-5.h (DATA_START, DATA_SEG_BITS): + * s/hpux10-20.h (DATA_SEG_BITS, DATA_START): + * s/gnu.h (DATA_START): Move definitions to configure. + + * s/irix6-5.h (SETUP_SLAVE_PTY, PTY_NAME_SPRINTF): Drop ifdef guards. + We include usg5-4-common.h, which defines them both. + + * s/gnu.h: Don't include fcntl.h (every file in Emacs that uses + O_RDONLY already includes it). + + Stop ns builds setting the EMACSLOADPATH environment variable. + * nsterm.m (ns_load_path): Rename from ns_init_paths. + Now it does not set EMACSLOADPATH, just returns the load-path string. + * nsterm.h: Update accordingly. + * lread.c [HAVE_NS]: Include nsterm.h. + (init_lread) [HAVE_NS]: Use ns_load_path. + * emacs.c (main) [HAVE_NS]: No longer call ns_init_paths. + +2012-07-09 Glenn Morris + + * s/gnu.h (SIGNALS_VIA_CHARACTERS): No need to define it here, + since the included bsd-common.h does so. + + Stop ns builds setting the EMACSPATH environment variable. + * nsterm.m (ns_exec_path): New function, split from ns_init_paths. + (ns_init_paths): Do not set EMACSPATH. + * nsterm.h (ns_exec_path): Add it. + * callproc.c (init_callproc_1, init_callproc) [HAVE_NS]: + Use ns_exec_path. + + * nsterm.m, nsterm.h (ns_etc_directory): Fix type, empty return. + +2012-07-09 Paul Eggert + + * process.c (wait_reading_process_output): 'waitchannels' was unset + when read_kbd || !NILP (wait_for_cell); fix this. + + Add GCC-style 'const' attribute to functions that can use it. + * character.h (char_resolve_modifier_mask): + * keyboard.h (make_ctrl_char): + * lisp.h (multibyte_char_to_unibyte, multibyte_char_to_unibyte_safe) + (init_character_once, next_almost_prime, init_fns, init_image) + (flush_pending_output, init_sound): + * mem-limits.h (start_of_data): + * menu.h (finish_menu_items): + Add ATTRIBUTE_CONST. + * emacs.c (DEFINE_DUMMY_FUNCTION): + Declare the dummy function with ATTRIBUTE_CONST. + * lisp.h (Fbyteorder, Fmax_char, Fidentity): + Add decls with ATTRIBUTE_CONST. + + Minor improvements to make_formatted_string. + * alloc.c (make_formatted_string): Prefer int to ptrdiff_t + where int is good enough, as vsprintf returns an int. + * lisp.h (make_formatted_string): Add ATTRIBUTE_FORMAT_PRINTF. + +2012-07-09 Dmitry Antipov + + Use make_formatted_string to avoid double length calculation. + * lisp.h (make_formatted_string): New prototype. + * alloc.c (make_formatted_string): New function. + * buffer.c (Fgenerate_new_buffer_name): Use it. + * dbusbind.c (syms_of_dbusbind): Likewise. + * editfns.c (Fcurrent_time_zone): Likewise. + * filelock.c (get_boot_time): Likewise. + * frame.c (make_terminal_frame, set_term_frame_name) + (x_report_frame_params): Likewise. + * image.c (gs_load): Likewise. + * minibuf.c (get_minibuffer): Likewise. + * msdos.c (dos_set_window_size): Likewise. + * process.c (make_process): Likewise. + * xdisp.c (ensure_echo_area_buffers): Likewise. + * xsettings.c (apply_xft_settings): Likewise. + +2012-07-09 Glenn Morris + + Stop ns builds polluting the environment with EMACSDATA, EMACSDOC. + * nsterm.m (ns_etc_directory): New function, split from ns_init_paths. + (ns_init_paths): Do not set EMACSDATA, EMACSDOC. + * nsterm.h (ns_etc_directory): Add it. + * callproc.c [HAVE_NS]: Include nsterm.h. + (init_callproc_1, init_callproc) [HAVE_NS]: Use ns_etc_directory. + +2012-07-09 Dmitry Antipov + + Move marker debugging code under MARKER_DEBUG. + * marker.c (MARKER_DEBUG): Move marker debugging code under + #ifdef MARKER_DEBUG because byte_char_debug_check is too slow + for bootstrap with --enable-checking (~3x slowdown reported + by Juanma Barranquero ). + (verify_bytepos): Move under #ifdef MARKER_DEBUG. + +2012-07-08 Paul Eggert + + * systime.h (EMACS_SUB_TIME): Clarify behavior with unsigned time_t. + See . + +2012-07-08 Eli Zaretskii + + * xdisp.c (fill_glyphless_glyph_string): If the face of the glyph + has no font, use the frame's font. (Bug#11813) + (display_line): Add commentary about displaying truncation glyphs + on GUI frames. + (produce_special_glyphs): Move here from term.c. + + * term.c (produce_special_glyphs): Move to xdisp.c. + + * dispextern.h (produce_special_glyphs): Move prototype to xdisp.c + section. + +2012-07-07 Andreas Schwab + + * xdisp.c (display_line): Avoid warning about implicit declaration + of FRAME_FONT. + + * frame.c (get_frame_param): Define only if HAVE_WINDOW_SYSTEM. + + * lisp.h: Remove empty conditional. + +2012-07-07 Paul Eggert + + * lread.c (load_path_check): Now static. + + Fix some minor --with-ns problems found by static checking. + * frame.c (Ftool_bar_pixel_width) [!FRAME_TOOLBAR_WIDTH]: + (x_set_font) [!HAVE_X_WINDOWS]: + * image.c (xpm_load_image) [HAVE_NS]: + (x_to_xcolors) [!HAVE_X_WINDOWS && !HAVE_NTGUI]: + (x_disable_image) [!HAVE_NS && !HAVE_NTGUI]: + Remove unused local. + (Fx_parse_geometry) [HAVE_NS]: Don't return garbage. + (xpm_load_image) [HAVE_NS && !HAVE_XPM]: Remove unused label. + * image.c (x_create_bitmap_from_file) [HAVE_NS]: + (xpm_load_image, xpm_load) [HAVE_NS && !HAVE_XPM]: + * nsselect.m (symbol_to_nsstring, ns_string_to_pasteboard_internal): + * xfaces.c (Fx_load_color_file) [!HAVE_X_WINDOWS]: + Fix pointer signedness problem. + * xfaces.c (FRAME_X_FONT_TABLE): + * xterm.h (FRAME_X_FONT_TABLE): Remove unused, incompatible macros. + +2012-07-07 Glenn Morris + + * lread.c (load_path_check): New function, split from init_lread. + (init_lread): Reorganize. Motivation: + If EMACSLOADPATH is set, check/warn about that rather than the + defaults, which we are not going to use. Hence we can remove + the turn_off_warning and WINDOWSNT || HAVE_NS tests. + Don't warn if site-lisp directories are missing. + If not installed, start from a blank load-path, since + PATH_LOADSEARCH refers to the eventual installation directories. + +2012-07-07 Eli Zaretskii + + Support truncation and continuation glyphs on GUI frames, when + fringes are disabled. (Bug#11832) + * xdisp.c (init_iterator): Get dimensions of truncation and + continuation glyphs even if on GUI frames. + Adjust it->last_visible_x on GUI frames when the left or right fringes, + or both, are absent. + (start_display, move_it_in_display_line_to): Handle the case of a + GUI frame without a fringe to display continuation or truncation + glyphs. + (insert_left_trunc_glyphs): Support GUI frames: make sure + truncation glyphs overwrite enough glyphs from the current line to + have sufficient space in pixels. + (display_line): Support truncation and continuation glyphs on GUI + frames. If some spare pixels are left on the line after inserting + the truncation glyphs, fill that space with a stretch glyph of a + suitably computed width. + + * term.c (produce_special_glyphs): Call PRODUCE_GLYPHS, not + produce_glyphs, to support GUI sessions. + +2012-07-07 Paul Eggert + + * sysdep.c (ULLONG_MAX): Define if not already defined (Bug#11781). + + * sysdep.c (list_system_processes): Port to NetBSD-current (Bug#11797). + + Do not require float-time's arg to fit in time_t (Bug#11825). + This works better on hosts where time_t is unsigned, and where + float-time is applied to the (negative) difference between two times. + * editfns.c (decode_time_components): Last arg is now double *, + not int *, and means to store all the result as a double, without + worrying about whether the seconds part fits in time_t. + All callers changed. + (lisp_time_argument): Remove last int * arg, as it's no longer needed. + All callers changed. + (Ffloat_time): Do not fail merely because the specified time falls + outside of time_t range. + +2012-07-07 Glenn Morris + + * s/darwin.h (HAVE_RES_INIT, HAVE_LIBRESOLV): + * s/hpux10-20.h (HAVE_RINT, HAVE_RANDOM): + * s/unixware.h (HAVE_GETWD): Move undefs to configure (effectively). + +2012-07-07 Juanma Barranquero + + * makefile.w32-in (DISPEXTERN_H, $(BLD)/regex.$(O)): + Update dependencies. + + * s/ms-w32.h [_MSC_VER]: Remove strcasecmp, strncasecmp. + +2012-07-06 Paul Eggert + + Use c_strcasecmp for ASCII case-insensitive comparison (Bug#11786). + * dispextern.h, nsfns.m, nsterm.m: Include . + * dispextern.h (xstrcasecmp): Rewrite using c_strcasecmp. + * nsfns.m (x_get_string_resource): Use c_strncasecmp, not strncasecmp. + * nsterm.m (ns_default): Use c_strcasecmp, not strcasecmp. + * xfaces.c (xstrcasecmp) [!HAVE_STRCASECMP]: Remove. + + * xfont.c (compare_font_names): Redo to omit the need for casts. + +2012-07-06 Andreas Schwab + + * xfns.c (Fx_change_window_property): Doc fix. + * w32fns.c (Fx_change_window_property): Doc fix. + + * w32fns.c (Fx_window_property): Accept the same arguments as the + X Windows version. Doc fix. + * xfns.c (Fx_window_property): Doc fix. (Bug#11870) + +2012-07-06 Juanma Barranquero + Eli Zaretskii + + * s/ms-w32.h: Settings not specific to Windows moved to nt/config.nt. + Windows-specific code from nt/config.nt moved here. + Obsolete settings removed. + +2012-07-06 Paul Eggert + + * process.c: Avoid unnecessary calls to gettime. + (wait_reading_process_output): Don't get the time of day + when gobbling data immediately and not waiting, as there's no need + for it in that case. This removes a FIXME. + +2012-07-06 Jan Djärv + + * gtkutil.c (xg_event_is_for_scrollbar): Assign gwin when HAVE_GTK3 + is defined (Bug#11768). + +2012-07-06 Dmitry Antipov + + Fix marker debugging code. + * marker.c (byte_char_debug_check): Do not perform the check + if buffer is not multibyte. + (buf_charpos_to_bytepos, buf_bytepos_to_charpos): + Call byte_char_debug_check with correct arguments. + +2012-07-06 Dmitry Antipov + + Compile marker debugging code only if ENABLE_CHECKING is defined. + * marker.c (byte_char_debug_check, count_markers): + Use only if ENABLE_CHECKING is defined. + (byte_debug_flag): Remove. + (CONSIDER, buf_charpos_to_bytepos, buf_bytepos_to_charpos): + Always call byte_char_debug_check if ENABLE_CHECKING is defined. + +2012-07-06 Dmitry Antipov + + Avoid code repetition in marker-related functions. + * marker.c (attach_marker): New function. + (Fset_marker, set_marker_restricted, set_marker_both) + (set_marker_restricted_both): Use it. + (Fset_marker, set_marker_restricted, Fbuffer_has_markers_at): + Consistently rename charno to charpos. + (marker_position): Add eassert. + (marker_byte_position): Convert to eassert. + +2012-07-06 Dmitry Antipov + + Simplify list operations in unchain_overlay and unchain_marker. + * buffer.c (unchain_overlay): Simplify. Add comment. + * marker.c (unchain_marker): Simplify. Fix comments. + +2012-07-06 Dmitry Antipov + + Introduce fast path for the widely used marker operation. + * alloc.c (build_marker): New function. + * lisp.h (build_marker): New prototype. + * buffer.c (clone_per_buffer_values, Fmake_indirect_buffer): Use it. + * composite.c (autocmp_chars): Likewise. + * editfns.c (buildmark): Remove. + (Fpoint_marker, Fpoint_min_marker, Fpoint_max_marker) + (save_restriction_save): Use build_marker. + * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Likewise. + * window.c (save_window_save): Likewise. + +2012-07-06 Dmitry Antipov + + Do not use Fdelete_overlay in delete_all_overlays + to avoid redundant calls to unchain_overlay. + * buffer.c (drop_overlay): New function. + (delete_all_overlays, Fdelete_overlay): Use it. + * minibuf.c (get_minibuffer): Fix comment. + +2012-07-06 Paul Eggert + + Port to OpenBSD 5.1 amd64. + * sysdep.c [BSD_SYSTEM]: Include before . + This is needed for OpenBSD, and should be harmless on all BSD systems. + Also, include , as it should be available on all + BSD_SYSTEM hosts given that we're already calling sysctl in that case. + (list_system_processes) [__OpenBSD__]: Use DARWIN_OS style mib, but + use p_pid member, not kp_proc.pid. + +2012-07-06 Glenn Morris + + * Makefile.in (emacs$(EXEEXT)): Don't check for load-path shadows. + +2012-07-05 Paul Eggert + + More xmalloc and related cleanup. + * alloc.c, bidi.c, buffer.c, buffer.h, bytecode.c, callint.c: + * callproc.c, charset.c, coding.c, composite.c, data.c, dispnew.c: + * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fns.c: + * font.c, fontset.c, frame.c, fringe.c, ftfont.c, ftxfont.c, gmalloc.c: + * gtkutil.c, image.c, keyboard.c, keymap.c, lread.c, macros.c, menu.c: + * nsfns.m, nsfont.m, nsmenu.m, nsterm.m, print.c, process.c, ralloc.c: + * regex.c, region-cache.c, scroll.c, search.c, sound.c, syntax.c: + * sysdep.c, term.c, termcap.c, unexmacosx.c, window.c, xdisp.c: + * xfaces.c, xfns.c, xftfont.c, xgselect.c, xmenu.c, xrdb.c, xselect.c: + * xterm.c: + Omit needless casts involving void * pointers and allocation. + Prefer "P = xmalloc (sizeof *P)" to "P = xmalloc (sizeof (TYPE_OF_P))", + as the former is more robust if P's type is changed. + Prefer xzalloc to xmalloc + memset 0. + Simplify malloc-or-realloc to realloc. + Don't worry about xmalloc returning a null pointer. + Prefer xstrdup to xmalloc + strcpy. + * editfns.c (Fmessage_box): Grow message_text by at least 80 when + growing it. + * keyboard.c (apply_modifiers_uncached): Prefer local array to + alloca of a constant. + +2012-07-05 Eli Zaretskii + + * xdisp.c (display_line): Fix horizontal pixel coordinates when + hscroll is larger than the line width. Fixes long and futile + looping inside extend_face_to_end_of_line (on a TTY) producing + glyphs that are not needed and thrown away. + +2012-07-05 Dmitry Antipov + + * marker.c (set_marker_restricted_both): Simplify by using + clip_to_bounds. + +2012-07-05 Paul Eggert + + * editfns.c (region_limit): Simplify by using clip_to_bounds. + +2012-07-05 Jan Djärv + + * gtkutil.c (gtk_scrollbar_new, gtk_box_new): Define when HAVE_GTK3 is + not defined (Bug#11768). + (xg_create_frame_widgets): Use gtk_plug_new_for_display (Bug#11768). + (xg_create_frame_widgets, create_dialog, xg_get_file_with_chooser) + (make_widget_for_menu_item, xg_make_tool_item): Use gtk_box_new + followed by gtk_box_set_homogeneous (Bug#11768). + (xg_update_menu_item): Use GTK_IS_BOX (Bug#11768). + (update_theme_scrollbar_width, xg_create_scroll_bar): + Use gtk_scrollbar_new (Bug#11768). + (xg_event_is_for_scrollbar): Use Gdk Device functions for HAVE_GTK3. + (is_box_type): New function (Bug#11768). + (xg_tool_item_stale_p): Call is_box_type. + (xg_initialize): Get settings by calling gtk_settings_get_for_screen + with default display (Bug#11768). + +2012-07-05 Eli Zaretskii + + * xdisp.c (window_hscroll_limited): New function. + (pos_visible_p, init_iterator): Use it to avoid overflow of pixel + coordinates when window's hscroll is set to insanely large + values. (Bug#11857) + +2012-07-05 Juanma Barranquero + + * makefile.w32-in ($(BLD)/dired.$(O), $(BLD)/fileio.$(O)): Fix typo. + ($(BLD)/terminal.$(O), $(BLD)/syntax.$(O)): Update dependencies. + +2012-07-05 Dmitry Antipov + + Cleanup xmalloc. + * lisp.h (xzalloc): New prototype. Omit needless casts. + * alloc.c (xzalloc): New function. Omit needless casts. + * charset.c: Omit needless casts. Convert all calls to + xmalloc with following memset to xzalloc. + * dispnew.c: Likewise. + * fringe.c: Likewise. + * image.c: Likewise. + * sound.c: Likewise. + * term.c: Likewise. + * w32fns.c: Likewise. + * w32font.c: Likewise. + * w32term.c: Likewise. + * xfaces.c: Likewise. + * xfns.c: Likewise. + * xterm.c: Likewise. + * atimer.c: Omit needless casts. + * buffer.c: Likewise. + * callproc.c: Likewise. + * ccl.c: Likewise. + * coding.c: Likewise. + * composite.c: Likewise. + * doc.c: Likewise. + * doprnt.c: Likewise. + * editfns.c: Likewise. + * emacs.c: Likewise. + * eval.c: Likewise. + * filelock.c: Likewise. + * fns.c: Likewise. + * gtkutil.c: Likewise. + * keyboard.c: Likewise. + * lisp.h: Likewise. + * lread.c: Likewise. + * minibuf.c: Likewise. + * msdos.c: Likewise. + * print.c: Likewise. + * process.c: Likewise. + * region-cache.c: Likewise. + * search.c: Likewise. + * sysdep.c: Likewise. + * termcap.c: Likewise. + * terminal.c: Likewise. + * tparam.c: Likewise. + * w16select.c: Likewise. + * w32.c: Likewise. + * w32reg.c: Likewise. + * w32select.c: Likewise. + * w32uniscribe.c: Likewise. + * widget.c: Likewise. + * xdisp.c: Likewise. + * xmenu.c: Likewise. + * xrdb.c: Likewise. + * xselect.c: Likewise. + +2012-07-05 Paul Eggert + + * fileio.c (time_error_value): Check the right error number. + Problem reported by Troels Nielsen in + . + +2012-07-04 Paul Eggert + + * window.c (set_window_hscroll): Revert the 100000 hscroll limit. + This should be fixed in a better way; see Eli Zaretskii in + . + (HSCROLL_MAX): Remove; this is now internal to set_window_hscroll. + + * fileio.c (time_error_value): Rename from special_mtime. + The old name's problems were noted by Eli Zaretskii in + . + + * emacs.c (gdb_pvec_type): Change it back to enum pvec_type. + This variable's comment says Emacs needs at least one GDB-visible + symbol of type enum pvec_type, to work around GDB problems. + The symbol's value doesn't matter. + + * alloc.c (PSEUDOVECTOR_NBYTES): Remove stray ';' + that causes compilation to fail on pre-C99 compilers. + +2012-07-04 Juanma Barranquero + + * s/ms-w32.h (LISP_FLOAT_TYPE, HAVE_MEMCMP, HAVE_MEMCPY) + (HAVE_MEMMOVE, HAVE_MEMSET): Don't set, obsolete. + +2012-07-04 Dmitry Antipov + + * buffer.c (init_buffer_once): Fix initialization of + headers for buffer_defaults and buffer_local_symbols. + Reported by Juanma Barranquero . + +2012-07-04 Stefan Monnier + + Turn VECTOR_FREE_LIST_FLAG into PVEC_FREE. + * lisp.h (enum pvec_type): Use fewer bits. + (PSEUDOVECTOR_SIZE_BITS): New constant. + (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK): Use it. + (XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR, DEFUN): Adapt code to + change in pvec_type. + (PSEUDOVECTOR_TYPEP): New macro. + (TYPED_PSEUDOVECTORP): Use it. + * fns.c (internal_equal): Adapt code to extract pvectype. + * emacs.c (gdb_pvec_type): Update type. + * alloc.c (PSEUDOVECTOR_NBYTES): New macro. + (VECTOR_FREE_LIST_SIZE_MASK): Remove (=> PSEUDOVECTOR_SIZE_MASK). + (VECTOR_FREE_LIST_FLAG): Remove (=> PVEC_FREE). + (SETUP_ON_FREE_LIST): Use XSETPVECTYPESIZE. + (sweep_vectors): Use it. Use local var `total_bytes' instead of + abusing vector->header.next.nbytes. + (live_vector_p): Use PVEC_TYPE. + (mark_object): Adapt code to extract pvectype. Use switch. + +2012-07-04 Paul Eggert + + * doprnt.c (doprnt): Don't assume string length fits in 'int'. + Tighten new eassert a bit. + +2012-07-04 Dmitry Antipov + + Fix compilation with --enable-gcc-warnings and -O1 + optimization level. + * doprnt.c (doprnt): Change type of tem to int, initialize + to avoid compiler warning. Add eassert. + * search.c (simple_search): Initialize match_byte to avoid + compiler warning. Add eassert. + +2012-07-04 Paul Eggert + + Avoid weird behavior with large horizontal scrolls. + Without this change, for example, large hscroll values would + mess up Emacs's display on Fedora 15 x86, presumably due to + overflows in int calculations in the display code. + Also, if buffers had long lines, Emacs would freeze. + * window.c (HSCROLL_MAX): Reduce to 100000, and make it visible to GDB. + (set_window_hscroll): New function, containing the old guts of + Fset_window_hscroll. Return the clipped value. + (Fset_window_hscroll, Fscroll_left, Fscroll_right): Use it. + This avoids the need to check against PTRDIFF_MAX. + + * buffer.c (Fgenerate_new_buffer_name): Fix sprintf format mismatch. + +2012-07-04 Dmitry Antipov + + * buffer.c (Fgenerate_new_buffer_name): Fix type mismatch. + +2012-07-04 Paul Eggert + + * regex.c: Suppress GCC warning on RHEL 6. (Bug#11207) + Conditionalize the pragmas on GCC 4.5 or later, not GCC 4.3 or later, + since GCC 4.4.6 issues a bogus warning for them. + + Fix bugs in file timestamp newness comparisons. + * fileio.c (Ffile_newer_than_file_p): + * lread.c (Fload): Use full timestamp resolution of files, + not just the 1-second resolution, so that files that are only + slightly newer still count as newer. + * fileio.c (Ffile_newer_than_file_p): Don't assume file + timestamps fit in 'int'; this fixes a Y2038 bug on most hosts. + +2012-07-03 Paul Eggert + + * fileio.c: Improve handling of file time marker. (Bug#11852) + (special_mtime): New function. + (Finsert_file_contents, Fverify_visited_file_modtime): + Use it to set special mtime values consistently. + +2012-07-03 Andreas Schwab + + * fileio.c (Finsert_file_contents): Properly handle st_mtime + marker for non-existing file. (Bug#11852) + +2012-07-03 Glenn Morris + + * lisp.h (Fread_file_name): Restore EXFUN (it's not a normal DEFUN + and did not make it into globals.h). + +2012-07-03 Tom Tromey + + * window.c (Fset_window_margins, Fset_window_fringes) + (Fset_window_scroll_bars, Fset_window_vscroll): No longer static. + * textprop.c (Fprevious_property_change): No longer static. + * syntax.c (Fsyntax_table_p): No longer static. + * process.c (Fget_process, Fprocess_datagram_address): No longer + static. + * keymap.c (Flookup_key, Fcopy_keymap): No longer static. + * keyboard.c (Fcommand_execute): No longer static. + Remove EXFUN. + * insdel.c (Fcombine_after_change_execute): No longer static. + * image.c (Finit_image_library): No longer static. + * fileio.c (Fmake_symbolic_link): No longer static. + * eval.c (Ffetch_bytecode): No longer static. + * editfns.c (Fuser_full_name): No longer static. + * doc.c (Fdocumentation_property, Fsnarf_documentation): + No longer static. + * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): No longer + static. + * dired.c (Ffile_attributes): No longer static. + * composite.c (Fcomposition_get_gstring): No longer static. + * callproc.c (Fgetenv_internal): No longer static. + + * ccl.h: Remove EXFUNs. + * buffer.h: Remove EXFUNs. + * dispextern.h: Remove EXFUNs. + * intervals.h: Remove EXFUNs. + * fontset.h: Remove EXFUN. + * font.h: Remove EXFUNs. + * dosfns.c (system_process_attributes): Remove EXFUN. + * keymap.h: Remove EXFUNs. + * lisp.h: Remove EXFUNs. + * w32term.h: Remove EXFUNs. + * window.h: Remove EXFUNs. + * xsettings.h: Remove EXFUN. + * xterm.h: Remove EXFUN. + +2012-07-03 Glenn Morris + + * lisp.h (Frandom): Make it visible to C. + * buffer.c (Fgenerate_new_buffer_name): Speed up finding a new + buffer for invisible buffers. (Bug#1229) + +2012-07-03 Dmitry Antipov + + Fix block vector allocation code to allow VECTOR_BLOCK_SIZE + values which aren't power of 2. + * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro. + Verify its value and the value of VECTOR_BLOCK_SIZE. Adjust users + accordingly. + +2012-07-03 Stefan Monnier + + * lisp.h (Lisp_Misc, Lisp_Fwd): Move around to group better. + + * alloc.c (mark_object): Revert part of last patch to use `switch'. + +2012-07-03 Dmitry Antipov + + * alloc.c (allocate_vector_block): Remove redundant + calls to mallopt if DOUG_LEA_MALLOC is defined. + (allocate_vectorlike): If DOUG_LEA_MALLOC is defined, + avoid calls to mallopt if zero_vector is returned. + +2012-07-03 Dmitry Antipov + + * alloc.c (check_string_bytes): If GC_CHECK_STRING_BYTES + is enabled, avoid dereferencing NULL current_sblock if + running undumped. + +2012-07-03 Dmitry Antipov + + Cleanup basic buffer management. + * buffer.h (struct buffer): Change layout to use generic vector + marking code. Fix some comments. Change type of 'clip_changed' + to bitfield. Remove unused #ifndef old. + (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): Remove. + (GET_OVERLAYS_AT): Fix indentation. + (for_each_per_buffer_object_at): New macro. + * buffer.c (clone_per_buffer_values, reset_buffer_local_variables) + (Fbuffer_local_variables): Use it. + (init_buffer_once, syms_of_buffer): Remove unused #ifndef old. + * alloc.c (allocate_buffer): Adjust to match new layout of + struct buffer. Fix comment. + (mark_overlay): New function. + (mark_buffer): Use it. Use mark_vectorlike to mark normal + Lisp area of struct buffer. + (mark_object): Use it. Adjust marking of misc objects + and related comments. + +2012-07-02 Paul Eggert + + * alloc.c (mark_object): Remove "#ifdef GC_CHECK_MARKED_OBJECTS" + wrapper that is not needed because the wrapped code is a no-op (zero + machine instructions) when GC_CHECK_MARKED_OBJECTS is not defined. + This avoids a -Wunused-macros diagnostic with GCC 4.7.1 x86-64. + +2012-07-02 Dmitry Antipov + + * alloc.c (mark_buffer): Simplify. Remove prototype. + (mark_object): Add comment. Reorganize marking of vector-like + objects. Use CHECK_LIVE for all vector-like objects except buffers + and subroutines when GC_CHECK_MARKED_OBJECTS is defined. + Avoid redundant calls to mark_vectorlike for bool vectors. + +2012-06-30 Glenn Morris + + * nsterm.m (ns_init_paths): Ignore site-lisp if --no-site-lisp. + + * epaths.in (PATH_SITELOADSEARCH): New. + * lread.c (init_lread): Use PATH_SITELOADSEARCH. + This is rather than relying on --enable-locallisppath elements + having "site-lisp" in their names. (Bug#10208#25, 11658) + +2012-06-30 Eli Zaretskii + + * w32proc.c (sys_select): Accept and ignore one more argument. + + * w32.c (emacs_gnutls_pull): Call select with one more argument. + + * sysselect.h [DOS_NT]: Don't include sys/select.h. + (pselect) [!MS_DOS]: Redirect to sys_select. + + * sysdep.c: Don't include dos.h and dosfns.h. + + * process.c (sys_select): + * msdos.c (sys_select): Accept one more argument and ignore it. + + * msdos.c (event_timestamp, sys_select): Use gnulib's gettime; + adapt data types and code to that. + + * dosfns.c: + * msdos.c (gettime, settime): Define away the prototypes in dos.h, + which clashes with the gnulib function of the same name. + +2012-06-30 Andreas Schwab + + * font.c (font_style_to_value, font_style_symbolic) + (font_prop_validate_style): Add type checks for values in + font_style_table. + + * lisp.h (CHECK_RANGED_INTEGER): Make value to check the first + argument. + * character.c, charset.c, menu.c, process.c, window.c: Adjust all + uses. + +2012-06-29 Eli Zaretskii + + * xdisp.c (try_window_id): Undo last change. + + * w32.c (getwd): Adjust commentary about startup_dir. + (init_environment): Always call sys_access, even in non-MSVC + builds. Don't chdir to the directory of the Emacs executable. + This undoes code from 1997 which was justified by the need to + "avoid conflicts when removing and renaming directories". But its + downside was that every relative file name was being interpreted + relative to the directory of the Emacs executable, which can never + be TRT. In particular, it broke sys_access when called with + relative file names. + (sys_access): Map GetLastError to errno. + +2012-06-29 Dmitry Antipov + + * window.h (struct window): Change type of 'fringes_outside_margins' + to bitfield. Fix comment. Adjust users accordingly. + (struct window): Change type of 'window_end_bytepos' to ptrdiff_t. + Adjust comment. + * xdisp.c (try_window_id): Change type of 'first_vpos' and 'vpos' + to ptrdiff_t. + +2012-06-29 Andreas Schwab + + * gnutls.c (emacs_gnutls_handshake): + Add QUIT to make the loop interruptible. + +2012-06-29 Glenn Morris + + * charset.c (init_charset): Make lack of etc/charsets fatal. + +2012-06-29 Dmitry Antipov + + * editfns.c (region_limit): Fix type mismatch. + +2012-06-29 Dmitry Antipov + + * nsfns.m: Fix GLYPH_DEBUG usage assuming that it may be + undefined. Convert from xassert to eassert. + * nsmenu.m: Convert from xassert to eassert. + * nsterm.m: Likewise. + +2012-06-28 Stefan Monnier + + * editfns.c (region_limit): Clip to narrowing (bug#11770). + +2012-06-28 Paul Eggert + + Avoid integer overflow on scroll-left and scroll-right. + * window.c (HSCROLL_MAX): New macro. + (Fscroll_left, Fscroll_right): Avoid undefined behavior on integer + overflow when requested scroll falls outside ptrdiff_t range. + +2012-06-28 Dmitry Antipov + + * window.h (struct window): Change type of 'hscroll', + 'min_hscroll' and 'last_point' from Lisp_Object to ptrdiff_t, + 'last_modified' and 'last_overlay_modified' to EMACS_INT. + Adjust users accordingly. + * xdisp.c (try_cursor_movement): Replace type check with eassert. + * window.c (Fscroll_left, Fscroll_right): Change type of 'hscroll' + from EMACS_INT to ptrdiff_t. + (make_window): Omit redundant initialization. + +2012-06-28 Juanma Barranquero + + * makefile.w32-in ($(BLD)/regex.$(O)): Update dependencies. + +2012-06-28 Dmitry Antipov + + * window.h (struct window): Change type of 'use_time' and + 'sequence_number' from Lisp_Object to int. + * frame.c (make_frame): Adjust users accordingly. + * print.c (print_object): Likewise. + * window.c (select_window, Fwindow_use_time, make_parent_window) + (make_window): Likewise. + +2012-06-28 Dmitry Antipov + + * dispextern.h (GLYPH_DEBUG): Now defined in config.h if + enabled with --enable-checking=[all,glyphs] configure option. + Fix GLYPH_DEBUG usage assuming that it may be undefined, + adjust comments accordingly. + * dispnew.c: Fix GLYPH_DEBUG usage assuming that it may be + undefined, adjust comments accordingly. + * image.c: Likewise. + * scroll.c: Likewise. + * w32fns.c: Likewise. + * w32term.c: Likewise. + * xdisp.c: Likewise. + * xfaces.c: Likewise. + * xfns.c: Likewise. + * xterm.c: Likewise. + +2012-06-28 Dmitry Antipov + + Generalize run-time debugging checks. + * dispextern.h (XASSERTS): Remove. + * fontset.c (xassert): Remove. + Convert from xassert to eassert. + * alloc.c: Convert from xassert to eassert. + * bidi.c: Likewise. + * dispnew.c: Likewise. + * fns.c: Likewise. + * fringe.c: Likewise. + * ftfont.c: Likewise. + * gtkutil.c: Likewise. + * image.c: Likewise. + * keyboard.c: Likewise. + * menu.c: Likewise. + * process.c: Likewise. + * scroll.c: Likewise. + * sound.c: Likewise. + * term.c: Likewise. + * w32console.c: Likewise. + * w32fns.c: Likewise. + * w32term.c: Likewise. + * window.c: Likewise. + * xdisp.c: Likewise. + * xfaces.c: Likewise. + * xfns.c: Likewise. + * xselect.c: Likewise. + * xterm.c: Likewise. + +2012-06-27 Stefan Monnier + + * fns.c (maybe_resize_hash_table): Output message when growing the + purify-hashtable. + +2012-06-27 Dmitry Antipov + + * alloc.c (allocate_string_data): Remove dead code. + * xsettings.c (XSETTINGS_FONT_NAME): Move under HAVE_XFT to + avoid GCC warning about unused macro. + +2012-06-27 Dmitry Antipov + + * alloc.c (allocate_string): Omit intervals initialization. + * alloc.c (make_uninit_multibyte_string): Initialize intervals + as in make_pure_string and make_pure_c_string. + +2012-06-27 Dmitry Antipov + + * alloc.c (allocate_string): Fix last change. + +2012-06-27 Dmitry Antipov + + * alloc.c (allocate_string): Remove two redundant calls + to memset, add explicit initialization where appropriate. + +2012-06-27 Glenn Morris + + * lisp.mk (lisp): Remove paths.elc. + +2012-06-27 Chong Yidong + + * doc.c (Fsubstitute_command_keys): Fix punctuation. + +2012-06-26 John Wiegley + + * unexmacosx.c (copy_data_segment): Add two section names used + on Mac OS X Lion: __mod_init_func and __mod_term_func. + + * alloc.c (mark_memory): Do not check with -faddress-sanitizer + when building with Clang. + +2012-06-26 Stefan Monnier + + * eval.c (Fapply): Allow calling it with a single argument. + +2012-06-26 Eli Zaretskii + + * s/ms-w32.h (strcasecmp, strncasecmp) [_MSC_VER]: Redirect to + _stricmp and _strnicmp. + (HAVE_STRCASECMP, HAVE_STRNCASECMP): Define to 1. + +2012-06-26 Dmitry Antipov + + * alloc.c (allocate_window): Zero out non-Lisp part of newly + allocated window. + (allocate_process): Likewise for new process. + (allocate_terminal): Change to use offsetof. + (allocate_frame): Likewise. + * frame.c (make_frame): Omit redundant initialization. + * window.c (make_parent_window): Use memset. + (make_window): Omit redundant initialization. + * process.c (make_process): Omit redundant initialization. + * terminal.c (create_terminal): Likewise. + +2012-06-26 Dmitry Antipov + + * term.c (delete_tty): Remove redundant call to memset. + +2012-06-26 Dmitry Antipov + + * alloc.c: Remove build_string. + * lisp.h: Define build_string as static inline. This provides + a better opportunity to optimize away calls to strlen when the + function is called with compile-time constant argument. + * image.c (imagemagick_error): Convert to build_string. + * w32proc.c (sys_spawnve): Likewise. + * xterm.c (x_term_init): Likewise. + +2012-06-26 Paul Eggert + + Use sprintf return value instead of invoking strlen on result. + In the old days this wasn't portable, since some sprintf + implementations returned char *. But they died out years ago and + Emacs already assumes sprintf returns int. + Similarly for float_to_string. + This patch speeds up (number-to-string 1000) by 3% on Fedora 15 x86-64. + * ccl.c (ccl_driver): + * character.c (string_escape_byte8): + * data.c (Fnumber_to_string): + * doprnt.c (doprnt): + * print.c (print_object): + * xdisp.c (message_dolog): + * xfns.c (syms_of_xfns): + Use sprintf or float_to_string result to avoid need to call strlen. + * data.c (Fnumber_to_string): + Use make_unibyte_string, since the string must be ASCII. + * lisp.h, print.c (float_to_string): Now returns int length. + * term.c (produce_glyphless_glyph): + Use sprintf result rather than recomputing it. + + Clean out last vestiges of the old HAVE_CONFIG_H stuff. + * Makefile.in (ALL_CFLAGS): + * makefile.w32-in (LOCAL_FLAGS): Remove -DHAVE_CONFIG_H. + * gmalloc.c, regex.c: Include unconditionally. + +2012-06-25 Dmitry Antipov + + * dispextern.h (xstrcasecmp): Define to library function + strcasecmp if available. + * xfaces.c: Do not use xstrcasecmp if strcasecmp is available. + +2012-06-25 Andreas Schwab + + * keyboard.c (menu_bar_items, menu_bar_item, read_key_sequence): + Avoid comma operator. + * menu.c (push_submenu_start, push_submenu_end) + (push_left_right_boundary, push_menu_pane): Likewise. + * msdos.c (dos_rawgetc): Likewise. + +2012-06-25 Dmitry Antipov + + * xfns.c (xic_create_fontsetname): Remove redundant calls + to memset. + +2012-06-25 Paul Eggert + + * gtkutil.c (get_utf8_string): Remove redundant assignment. + sprintf already null-terminates its output. + + * xfns.c (x_window): Remove redundant cast. + +2012-06-25 Dmitry Antipov + + * xmenu.c (xmenu_show, xdialog_show): Explicit cast from + `const char *' to `char *' to avoid compiler warning. + +2012-06-24 Paul Eggert + + * xterm.c (x_term_init): Build proper-sized _XSETTINGS_Snnn string + instead of truncating it to 63 (admittedly a generous limit). + + * process.c: Fix spelling and caps in comments. + +2012-06-24 Dan Nicolaescu + + * emacs.c (setpgrp): Remove definition, unused. + * sysdep.c (setpgrp): Remove definition, not used in this file. + +2012-06-24 Juanma Barranquero + + * makefile.w32-in: Update dependencies. + +2012-06-24 Eli Zaretskii + + * makefile.w32-in (TIMESPEC_H): Remove nt/inc/sys/time.h. + (SYSTIME_H): Add nt/inc/sys/time.h. + + * systime.h [WINDOWSNT]: Include sys/time.h. + + * s/ms-w32.h (struct timespec): Definition moved from + nt/inc/sys/time.h. Suggested by Paul Eggert . + +2012-06-24 Paul Eggert + + Switch from NO_RETURN to C11's _Noreturn (Bug#11750). + * buffer.h (buffer_slot_type_mismatch): + * data.c (arith_error) [!FORWARD_SIGNAL_TO_MAIN_THREAD]: + * eval.c (unwind_to_catch): + * image.c (my_png_error, my_error_exit): + * keyboard.c (quit_throw_to_read_char, user_error) + (Fexit_recursive_edit, Fabort_recursive_edit): + * lisp.h (die, args_out_of_range, args_out_of_range_3) + (wrong_type_argument, buffer_overflow, __executable_start) + (memory_full, buffer_memory_full, string_overflow, Fthrow) + (xsignal, xsignal0, xsignal1, xsignal2, xsignal3, signal_error) + (error, verror, nsberror, report_file_error, Ftop_level, Fkill_emacs) + (fatal): + (child_setup) [!DOS_NT]: + * lread.c (end_of_file_error, invalid_syntax): + * process.c (send_process_trap) [!FORWARD_SIGNAL_TO_MAIN_THREAD]: + * puresize.h (pure_write_error): + * search.c (matcher_overflow): + * sound.c (sound_perror, alsa_sound_perror): + * sysdep.c, syssignal.h (croak): + * term.c (maybe_fatal, vfatal): + * textprop.c (text_read_only): + * undo.c (user_error): + * unexmacosx.c (unexec_error): + * xterm.c (x_ins_del_lines, x_delete_glyphs): + Use _Noreturn rather than NO_RETURN. + No need for separate decl merely because of _Noreturn. + * sound.c (sound_warning, parse_sound): + Remove unnecessary forward decls. + +2012-06-24 Paul Eggert + + Fix bug when time_t is unsigned and as wide as intmax_t (Bug#9000). + * lisp.h (WAIT_READING_MAX): New macro. + * dispnew.c (Fsleep_for, sit_for): + * keyboard.c (kbd_buffer_get_event): + * process.c (Faccept_process_output): + Use it to avoid bogus compiler warnings with obsolescent GCC versions. + This improves on the previous patch, which introduced a bug + when time_t is unsigned and as wide as intmax_t. + See . + +2012-06-23 Eli Zaretskii + + * dispnew.c (sit_for, Fsleep_for): + * keyboard.c (kbd_buffer_get_event): + * process.c (Faccept_process_output): Avoid compiler warnings when + comparing a 32-bit time_t with a 64-bit INTMAX_MAX. + +2012-06-23 Juanma Barranquero + + * makefile.w32-in: Update dependencies. + + * w32.c (ltime): Add return type and declare static. + (w32_get_internal_run_time): Remove usused variable `time_100ns'. + +2012-06-23 Paul Eggert + + * sysdep.c [__FreeBSD__]: Fix more recently-introduced typos. + Privately reported by Herbert J. Skuhra. + (make_lisp_timeval) [__FreeBSD__]: Rename from TIMELIST. + All uses changed. + (system_process_attributes) [__FreeBSD__]: Invoke make_lisp_time, + not make_lisp_timeval, when the argument is of type EMACS_TIME. + +2012-06-23 Eli Zaretskii + + * w32proc.c (Fw32_get_locale_info): Fix an off-by-one error in + last argument of make_unibyte_string. + + * keyboard.c (kbd_buffer_get_event): Include the codepage and the + language ID in the event parameters. + + * w32term.c (w32_read_socket): Put the new keyboard codepage into + event.code, not the obscure "character set ID". + +2012-06-23 Chong Yidong + + * xmenu.c (x_menu_wait_for_event): Adapt GTK3 to new xg_select. + +2012-06-23 Eli Zaretskii + + Fix the MS-Windows build broken by 2012-06-22T21:17:42Z!eggert@cs.ucla.edu. + * w32.c (fdutimens): New function. + + * w32proc.c (sys_select): Adapt to change in the EMACS_TIME type. + + * s/ms-w32.h (pselect): Redirect to sys_select. + + * sysselect.h [WINDOWSNT]: Don't include sys/select.h. + + * ralloc.c (r_alloc_inhibit_buffer_relocation): Fix stupid thinko + in the logic of incrementing and decrementing the value of + use_relocatable_buffers. + +2012-06-23 Paul Eggert + + * sysdep.c [__FreeBSD__]: Fix recently-introduced typos. + Privately reported by Herbert J. Skuhra. + [__FreeBSD__]: Remove "*/" typo after "#include". + (timeval_to_EMACS_TIME) [__FreeBSD__]: New static function. + (TIMEVAL) [__FreeBSD__]: Now a static function rather than a macro. + (TIMEVAL, system_process_attributes) [__FreeBSD__]: + Don't assume EMACS_TIME and struct timeval are the same type. + +2012-06-22 Paul Eggert + + Support higher-resolution time stamps (Bug#9000). + The time stamps are only nanosecond-resolution at the C level, + since that's the best that any real-world system supports now. + But they are picosecond-resolution at the Lisp level, as that's + easy, and leaves room for future OS improvements. + + * Makefile.in (LIB_CLOCK_GETTIME): New macro. + (LIBES): Use it. + + * alloc.c (Fgarbage_collect): Port to higher-res time stamps. + Don't get current time unless it's needed. + + * atimer.c: Include unconditionally, since gnulib + now provides it if it's absent. + (start_atimer): Port to higher-res time stamps. + Check for time stamp overflow. Don't get current time more + often than is needed. + + * buffer.h (struct buffer): Buffer modtime now has high resolution. + Include systime.h, not time.h. + (NONEXISTENT_MODTIME_NSECS, UNKNOWN_MODTIME_NSECS): New macros. + + * dired.c: Include stat-time.h. + (Ffile-attributes): File times now have higher resolution. + + * dispextern.h [HAVE_WINDOW_SYSTEM]: Include systime.h. + (struct image): Timestamp now has higher resolution. + + * dispnew.c (PERIODIC_PREEMPTION_CHECKING): Remove, as Emacs always + has at least microseconds now. All uses removed. + (update_frame, update_single_window, update_window, update_frame_1) + (Fsleep_for, sit_for): Port to higher-resolution time stamps. + (duration_to_sec_usec): Remove; no longer needed. + + * editfns.c (time_overflow): Now extern. + (Fcurrent_time, Fget_internal_run_time, make_time, lisp_time_argument) + (float-time, Fformat_time_string, Fcurrent_time_string) + (Fcurrent_time_zone): Accept and generate higher-resolution + time stamps. + (make_time_tail, make_lisp_time, dissassemble_lisp_time) + (decode_time_components, lisp_seconds_argument): New functions. + (make_time): Now static. + (lisp_time_argument): Now returns EMACS_TIME. New arg ppsec. + Report an error if the time is invalid, rather than having the caller + do that. + + * fileio.c: Include + (Fcopy_file): Copy higher-resolution time stamps. + Prefer to set the time stamp via a file descriptor if that works. + (Fset_file_times, Finsert_file_contents, Fwrite_region) + (Fverify_visited_file_modtime, Fclear_visited_file_modtime) + (Fvisited_file_modtime, Fset_visited_file_modtime): + Support higher-resolution time stamps. + + * fns.c (Frandom): Use nanoseconds, not microseconds, for seed. + + * gtkutil.c (xg_maybe_add_timer): Port to higher-res time stamps. + + * image.c (prepare_image_for_display, clear_image_cache) + (lookup_image): Port to higer-resolution time stamps. + + * keyboard.c (start_polling, bind_polling_period): + Check for time stamp overflow. + (read_char, kbd_buffer_get_event, timer_start_idle) + (timer_stop_idle, timer_resume_idle, timer_check_2, timer_check) + (Fcurrent_idle_time, init_keyboard, set_waiting_for_input): + Port to higher-resolution time stamps. Do not assume time_t is signed. + (decode_timer): New function. Timers are now vectors of length 9, + not 8, to accommodate the picosecond component. + (timer_check_2): Use it. + + * nsterm.m (select_timeout, timeval_subtract): Remove. + (ns_timeout): Use Emacs's facilities for time stamp arithmetic, + as they're a bit more accurate and handle overflow better. + (ns_select): Change prototype to be compatible with pselect. + (ns_select, ns_term_shutdown): Port to ns-resolution time stamps. + * nsterm.h (ns_select): Adjust prototype. + + * msdos.c (EMACS_TIME_ZERO_OR_NEG_P): Remove, as it assumes + us-resolution time stamps. + (sys_select): Use the new EMACS_TIME_SIGN macro instead. + + * lread.c (read_filtered_event): Port to ns-resolution time stamps. + + * lisp.h (time_overflow): New decl. + (wait_reading_process_output): First arg is now intmax_t, not int, + to accommodate larger waits. + + * process.h (struct Lisp_Process.read_output_delay): + Now counts nanoseconds, not microseconds. + * process.c (ADAPTIVE_READ_BUFFERING): Don't worry about + EMACS_HAS_USECS. + (READ_OUTPUT_DELAY_INCREMENT, Faccept_process_output) + (wait_reading_process_output): + Port to ns-resolution time stamps. + (Faccept_process_output, wait_reading_process_output): + Check for time stamp overflow. Do not assume time_t is signed. + (select_wrapper): Remove; we now use pselect. + (Fprocess_attributes): Now generates ns-resolution time stamps. + + * sysdep.c: Include utimens.h. Don't include utime.h + or worry about struct utimbuf; gnulib does that for us now. + (gettimeofday): Remove; gnulib provides a substitute. + (make_timeval): New function. + (set_file_times): Now sets ns-resolution time stamps. + New arg FD; all uses changed. + (time_from_jiffies, ltime_from_jiffies, get_up_time) + (system_process_attributes): + Now returns ns-resolution time stamp. All uses changed. + Check for time stamp overflow. + + * sysselect.h: Don't depend on HAVE_SYS_SELECT_H; gnulib + provides a substitute now. + + * systime.h: Include timespec.h rather than sys/time.h and time.h, + since it guarantees struct timespec. + (EMACS_TIME): Now struct timespec, so that we can support + ns-resolution time stamps. + (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): New macros. + (EMACS_HAS_USECS): Remove; Emacs always has sub-second time stamps now. + (EMACS_USECS): Remove. + (EMACS_SET_USECS): The underlying time stamp now has ns resolution, + so multiply the arg by 1000 before storing it. + (EMACS_NSECS, EMACS_SECS_ADDR, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS): + New macros. + (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): + Port to ns-resolution time stamps. + (EMACS_TIME_NEG_P): Remove; replaced by.... + (EMACS_TIME_SIGN): New macro. + (EMACS_SET_INVALID_TIME, EMACS_TIME_VALID_P) + (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE): New macros. + (set_file_times, make_time, lisp_time_argument): Adjust signature. + (make_timeval, make_lisp_time, decode_time_components): New decls. + (EMACS_TIME_CMP): Remove; no longer used. Plus, it was buggy, in + that it mishandled time_t overflow. You can't compare by subtracting! + (EMACS_TIME_EQ, EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE) + (EMACS_TIME_LT, EMACS_TIME_LE): Rewrite in terms of timespec_cmp. + + * term.c: Include . + (timeval_to_Time): New function, for proper overflow wraparound. + (term_mouse_position, term_mouse_click): Use it. + + * undo.c (record_first_change): Support higher-resolution time stamps + in the undo buffer. + (Fprimitive_undo): Use them when restoring time stamps. + + * w32.c (ltime, U64_TO_LISP_TIME, process_times, emacs_gnutls_pull) + (w32_get_internal_run_time): + Port to higher-resolution Emacs time stamps. + (ltime): Now accepts single 64-bit integer, as that's more convenient + for callers. + + * xdisp.c (start_hourglass): Port to ns-resolution time stamps. + + * xgselect.c, xgselect.h (xg_select): Add sigmask argument, + for compatibility with pselect. Support ns-resolution time stamps. + + * xmenu.c (x_menu_wait_for_event): Support ns-resolution time stamps. + + * xselect.c (wait_for_property_change, x_get_foreign_selection): + Check for time stamp overflow, and support ns-resolution time stamps. + + * xterm.c: Don't include sys/time.h; gnulib does that for us now. + Don't worry about whether HAVE_TIMEVAL and HAVE_SELECT are set. + (timeval_subtract): Remove; no longer needed. + (XTflash, XTring_bell, x_wait_for_event): + Port to ns-resolution time stamps. Don't assume time_t is signed. + +2012-06-22 Chong Yidong + + * xdisp.c (x_consider_frame_title): Revert last change. + +2012-06-22 Eli Zaretskii + + * alloc.c (NSTATICS): Enlarge to 0x650. Otherwise, Emacs compiled + with -DENABLE_CHECKING -DXASSERTS -DGLYPH_DEBUG=1 -DBYTE_CODE_METER + aborts in staticpro during startup. (Without -DBYTE_CODE_METER, + staticidx goes up to 1597 out of 1600 = 0x640.) + +2012-06-20 Paul Eggert + + * fileio.c (Fdefault_file_modes): Block input while fiddling with umask. + Otherwise, the umask might be mistakenly 0 while handling input signals. + +2012-06-19 Stefan Monnier + + * minibuf.c (Fread_string): Bind minibuffer-completion-table. + +2012-06-19 Dmitry Antipov + + * alloc.c, bytecode.c, ccl.c, coding.c, composite.c, data.c, dosfns.c: + * font.c, image.c, keyboard.c, lread.c, menu.c, minibuf.c, msdos.c: + * print.c, syntax.c, window.c, xmenu.c, xselect.c: Replace direct + access to `contents' member of Lisp_Vector objects with AREF and ASET + where appropriate. + +2012-06-19 Chong Yidong + + * frame.c (delete_frame): When selecting a frame on a different + text terminal, do not alter the terminal's top-frame. + + * xdisp.c (format_mode_line_unwind_data): Record the target + frame's selected window and its terminal's top-frame. + (unwind_format_mode_line): Restore them. + (x_consider_frame_title, display_mode_line, Fformat_mode_line): + Callers changed. + (x_consider_frame_title): Do not condition on HAVE_WINDOW_SYSTEM, + since tty frames can be explicitly named. + (prepare_menu_bars): Likewise. + + * term.c (Ftty_top_frame): New function. + +2012-06-18 Paul Eggert + + Port byte-code-meter to modern targets. + * bytecode.c (METER_CODE) [BYTE_CODE_METER]: Don't assume + !CHECK_LISP_OBJECT_TYPE && !USE_LSB_TAG. Problem with + CHECK_LISP_OBJECT_TYPE reported by Dmitry Antipov in + . + (METER_1, METER_2): Simplify. + +2012-06-18 Stefan Monnier + + * data.c (Fdefalias): Return `symbol' (bug#11686). + +2012-06-18 Martin Rudalics + + * buffer.c (Fkill_buffer): Don't throw an error when the buffer + gets killed during executing of this function (Bug#11665). + Try to always return Qt when the buffer has been actually killed. + (Vkill_buffer_query_functions): In doc-string say that functions + run by this hook should not change the current buffer. + +2012-06-18 Paul Eggert + + Fix recently-introduced process.c problems found by static checking. + * process.c (write_queue_push, write_queue_pop, send_process): + Use ptrdiff_t, not int or EMACS_INT, for buffer lengths and offsets. + (write_queue_pop): Fix pointer signedness problem. + (send_process): Remove unused local. + +2012-06-17 Chong Yidong + + * xdisp.c (redisplay_internal): No need to redisplay terminal + frames that are not on top. + +2012-06-17 Troels Nielsen + + * process.c (make_process): Initialize write_queue. + (write_queue_push, write_queue_pop): New functions. + (send_process): Use them to maintain correct ordering of process + writes (Bug#10815). + +2012-06-17 Paul Eggert + + * lisp.h (eassert): Assume C89 or later. + This removes the need for CHECK. + (CHECK): Remove. Its comments about always evaluating its + argument were confusing, as 'eassert' typically does not evaluate + its argument. + + * coding.c (produce_chars): Use ptrdiff_t, not int. + + * xterm.c (x_draw_underwave): Check for integer overflow. + This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64. + +2012-06-17 Jan Djärv + + * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't + referenced (Bug#11583). + +2012-06-16 Aurelien Aptel + + Implement wave-style variant of underlining. + * dispextern.h (face_underline_type): New enum. + (face): Add field for underline type. + * nsterm.m (ns_draw_underwave): New function. + (ns_draw_text_decoration): Use it. + * w32term.c (w32_restore_glyph_string_clip, w32_draw_underwave): + New functions. + (x_draw_glyph_string): Use them. + * xfaces.c (Qline, Qwave): New Lisp objects. + (check_lface_attrs, merge_face_ref) + (Finternal_set_lisp_face_attribute, realize_x_face): + Handle wave-style underline face attributes. + * xterm.c (x_draw_underwave): New function. + (x_draw_glyph_string): Use it. + +2012-06-16 Juanma Barranquero + + * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/fringe.$(O)) + ($(BLD)/xml.$(O), $(BLD)/intervals.$(O), $(BLD)/macros.$(O)) + ($(BLD)/minibuf.$(O), $(BLD)/regex.$(O), $(BLD)/region-cache.$(O)) + ($(BLD)/textprop.$(O), $(BLD)/undo.$(O), $(BLD)/window.$(O)) + ($(BLD)/w32select.$(O)): Update dependencies. + +2012-06-16 Andreas Schwab + + * buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline. + (BUF_FETCH_MULTIBYTE_CHAR): Likewise. + * character.c (_fetch_multibyte_char_p): Remove. + * alloc.c: Include "character.h" before "buffer.h". + * bidi.c: Likewise. + * buffer.c: Likewise. + * bytecode.c: Likewise. + * callint.c: Likewise. + * callproc.c: Likewise. + * casefiddle.c: Likewise. + * casetab.c: Likewise. + * category.c: Likewise. + * cmds.c: Likewise. + * coding.c: Likewise. + * composite.c: Likewise. + * dired.c: Likewise. + * dispnew.c: Likewise. + * doc.c: Likewise. + * dosfns.c: Likewise. + * editfns.c: Likewise. + * emacs.c: Likewise. + * fileio.c: Likewise. + * filelock.c: Likewise. + * font.c: Likewise. + * fontset.c: Likewise. + * fringe.c: Likewise. + * indent.c: Likewise. + * insdel.c: Likewise. + * intervals.c: Likewise. + * keyboard.c: Likewise. + * keymap.c: Likewise. + * lread.c: Likewise. + * macros.c: Likewise. + * marker.c: Likewise. + * minibuf.c: Likewise. + * nsfns.m: Likewise. + * nsmenu.m: Likewise. + * print.c: Likewise. + * process.c: Likewise. + * regex.c: Likewise. + * region-cache.c: Likewise. + * search.c: Likewise. + * syntax.c: Likewise. + * term.c: Likewise. + * textprop.c: Likewise. + * undo.c: Likewise. + * unexsol.c: Likewise. + * w16select.c: Likewise. + * w32fns.c: Likewise. + * w32menu.c: Likewise. + * window.c: Likewise. + * xdisp.c: Likewise. + * xfns.c: Likewise. + * xmenu.c: Likewise. + * xml.c: Likewise. + * xselect.c: Likewise. + +2012-06-16 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Don't dereference glyphs_end. + If all the glyphs of the glyph row came from strings, and we have no + cursor positioning clues, put the cursor on the first glyph of the + row. + (handle_face_prop): Use chunk-relative overlay string index when + indexing into it->string_overlays array. (Bug#11653) + (set_cursor_from_row): Use the leftmost glyph as GLYPH_BEFORE, not + the rightmost. (Bug#11720) + +2012-06-16 Andreas Schwab + + * category.h (CHAR_HAS_CATEGORY): Define as inline. + (CATEGORY_MEMBER): Enforce 1/0 value. + * category.c (_temp_category_set): Remove. + +2012-06-16 Eli Zaretskii + + * window.c (Fdelete_other_windows_internal) + (Fdelete_window_internal): Don't access frame's mouse highlight + info of the initial frame. (Bug#11677) + +2012-06-14 Paul Eggert + + * .gdbinit (xgetint): Fix recently-introduced paren typo. + Assume USE_2_TAGS_FOR_INTS. + (xreload): Adjust $tagmask width to match recent lisp.h change. + + Simplify lisp.h in minor ways that should not affect code. + * lisp.h (USE_2_TAGS_FOR_INTS): Remove, as it was always defined. + (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P) + (LISP_INT1_TAG, enum Lisp_Type, XINT, XUINT, make_number): + Simplify under the assumption that USE_2_TAGS_FOR_INTS is defined. + (INTTYPEBITS): New macro, for clarity. + (INTMASK, MOST_POSITIVE_FIXNUM): Use it. + (LISP_INT1_TAG, LISP_STRING_TAG, LISP_INT_TAG_P): + Simplify now that USE_LSB_TAG is always defined. + (TYPEMASK, XINT) [USE_LSB_TAG]: Remove unnecessary cast. + (make_number) [!USE_LSB_TAG]: Use INTMASK; that's simpler. + +2012-06-13 Juanma Barranquero + + * makefile.w32-in ($(BLD)/data.$(O)): Update dependencies. + +2012-06-13 Glenn Morris + + * s/bsd-common.h (BSD4_3): + * s/usg5-4-common.h (USG5_4): No longer define; unused. + +2012-06-13 Andreas Schwab + + * lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]: Define as struct + instead of union. + (XLI, XIL): Define. + (XHASH, XTYPE, XINT, XUINT, make_number, XSET, XPNTR, XUNTAG): + Use them. + * emacs.c (gdb_use_struct): Rename from gdb_use_union. + * .gdbinit: Check gdb_use_struct instead of gdb_use_union. + * alloc.c (widen_to_Lisp_Object): Remove. + (mark_memory): Use XIL instead of widen_to_Lisp_Object. + * frame.c (delete_frame): Remove outdated comment. + * w32fns.c (Fw32_register_hot_key): Use XLI instead of checking + USE_LISP_UNION_TYPE. + (Fw32_unregister_hot_key): Likewise. + (Fw32_toggle_lock_key): Likewise. + * w32menu.c (add_menu_item): Likewise. + (w32_menu_display_help): Use XIL instead of checking + USE_LISP_UNION_TYPE. + * w32heap.c (allocate_heap): Don't check USE_LISP_UNION_TYPE. + (init_heap): Likewise. + * w32term.c (w32_read_socket): Update comment. + +2012-06-13 Glenn Morris + + * s/usg5-4-common.h, src/s/unixware.h: + Remove define/undef of HAVE_SYSV_SIGPAUSE (not used since 2010-05-04). + + * s/gnu.h (POSIX_SIGNALS): Remove (not used since 2010-05-04). + +2012-06-13 Paul Eggert + + USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604) + * alloc.c (make_number) [!defined make_number]: + Remove, as lisp.h always defines this now. + (mark_maybe_pointer): Simplify since USE_LSB_TAG is always defined now. + (roundup_size): Verify that it is a power of 2. + * data.c (Fmake_variable_buffer_local, Fmake_local_variable): + * ftfont.c (ftfont_driver): Use LISP_INITIALLY_ZERO. + * lisp.h (USE_LSB_TAG): Allow the builder to compile with + -DUSE_LSB_TAG=0, to override the automatically-selected default. + USE_LSB_TAG now is always defined to be either 0 or 1. + All uses changed. + (union Lisp_Object): Don't worry about WORDS_BIGENDIAN; the + code works fine either way, and efficiency is not a concern here, + as the union type is for debugging, not for production. + (LISP_MAKE_RVALUE, make_number) [USE_LISP_UNION_TYPE]: + Use an inline function on all platforms when using the union type, + since this is simpler and 'static inline' can be used portably + within Emacs now. + (LISP_INITIALLY_ZERO): New macro. + (XFASTINT, XSETFASTINT) [USE_LISP_UNION_TYPE]: Remove. + (XSET) [USE_LISP_UNION_TYPE]: Don't overparenthesize. + +2012-06-12 Glenn Morris + + * s/gnu-kfreebsd.h, s/hpux11.h, s/openbsd.h, s/sol2-10.h: Remove files. + + * s/gnu-linux.h (HAVE_PROCFS): Move to configure. + + * s/hpux10-20.h, s/openbsd.h, s/usg5-4-common.h: + Move BROKEN_SIGIO to configure. + + * s/bsd-common.h, s/darwin.h, s/gnu-kfreebsd.h, s/hpux10-20.h: + Move NO_TERMIO to configure. + +2012-06-12 Chong Yidong + + * image.c (imagemagick_load_image): Use MagickFlattenImage if + MagickMergeImageLayers is undefined. Use pixel pusher loop if + MagickExportImagePixels is undefined. + +2012-06-12 Paul Eggert + + * image.c (imagemagick_load_image): Remove unused label. + +2012-06-11 Glenn Morris + + * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h: + * s/gnu-kfreebsd.h, s/gnu-linux.h, s/gnu.h, s/hpux10-20.h: + * s/irix6-5.h, s/ms-w32.h, s/msdos.h, s/template.h: + * s/usg5-4-common.h: Move SYSTEM_TYPE to configure. + +2012-06-11 Stefan Monnier + + * alloc.c (make_byte_code): New function. + (Fmake_byte_code): Use it. Don't purify here. + * lread.c (read1): Use it as well to avoid extra allocation. + +2012-06-11 Chong Yidong + + * image.c (imagemagick_load_image): Implement transparency. + +2012-06-10 Andreas Schwab + + * regex.c (at_begline_loc_p): Also recognize `(?N:' and correctly + account for preceding backslashes. (Bug#11663) + +2012-06-09 Chong Yidong + + * term.c: Support italics in capable terminals (Bug#9652). + (no_color_bit): Replace unused NC_BLINK with NC_ITALIC. + (turn_on_face): Output using TS_enter_italic_mode if available. + Don't handle unused blinking and alt-charset cases. + (turn_off_face): Handle italic case; discard unused tty_blinking_p + and tty_alt_charset_p cases. + (tty_capable_p, init_tty): Support italics. + + * termchar.h (struct tty_display_info): Add field for italics. + Remove unused blink field. + + * xfaces.c (tty_supports_face_attributes_p, realize_tty_face): + Handle slant. + + * dispextern.h: Replace unused TTY_CAP_BLINK with TTY_CAP_ITALIC. + (struct face): Remove unused fields tty_dim_p, tty_blinking_p, and + tty_alt_charset_p. Add tty_italic_p. + +2012-06-09 Michael Albinus + + * dbusbind.c (XD_BASIC_DBUS_TYPE): Use dbus_type_is_valid and + dbus_type_is_basic if available. + (xd_extract_signed, xd_extract_unsigned): Rename from + extract_signed and extract_unsigned, respectively. Adapt callers. + +2012-06-09 Chong Yidong + + * xfaces.c (face_for_overlay_string): Handle face remapping (Bug#2066). + + * fringe.c (Fset_fringe_bitmap_face): Handle the noninteractive + case (Bug#9752). + +2012-06-08 Paul Eggert + + * xdisp.c (vmessage): Treat frame message as multibyte. + Without this change, (let ((§ 1)) (make-variable-buffer-local '§)) + would generate the diagnostic "Making \302\247 buffer-local while + let-bound!". + +2012-06-08 Eli Zaretskii + + * dispnew.c (showing_window_margins_p): Undo last change, which + was done due to an inadvertent commit. + (adjust_frame_glyphs_for_frame_redisplay): Do call + showing_window_margins_p. + +2012-06-08 Stefan Monnier + + * eval.c (Fmake_var_non_special): New primitive. + (syms_of_eval): Defsubr it. + * lread.c (syms_of_lread): Mark `values' as lexically scoped. + +2012-06-08 Juanma Barranquero + + * dispnew.c (showing_window_margins_p): Wrap in #if 0 to prevent unused + function warning (the only call is inside #if 0 since 2012-06-08T08:44:45Z!eliz@gnu.org). + +2012-06-08 Eli Zaretskii + + * alloc.c (allocate_vectorlike): Fix last change. + +2012-06-08 Dmitry Antipov + + Block-based vector allocation of small vectors. + * lisp.h (struct vectorlike_header): New field `nbytes', + adjust comment accordingly. + * alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK' + to denote vector blocks. Adjust users (live_vector_p, + mark_maybe_pointer, valid_lisp_object_p) accordingly. + (COMMON_MULTIPLE): Move outside #if USE_LSB_TAG. + (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES) + (VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX) + (VECTOR_FREE_LIST_FLAG, ADVANCE, VINDEX, SETUP_ON_FREE_LIST) + (VECTOR_SIZE, VECTOR_IN_BLOCK): New macros. + (roundup_size): New constant. + (struct vector_block): New data type. + (vector_blocks, vector_free_lists, zero_vector): New variables. + (all_vectors): Rename to `large_vectors'. + (allocate_vector_from_block, init_vectors, allocate_vector_from_block) + (sweep_vectors): New functions. + (allocate_vectorlike): Return `zero_vector' as the only vector of + 0 items. Allocate new vector from block if vector size is less than + or equal to VBLOCK_BYTES_MAX. + (Fgarbage_collect): Move all vector sweeping code to sweep_vectors. + (init_alloc_once): Add call to init_vectors. + +2012-06-08 Stefan Monnier + + * eval.c (Fmacroexpand): Stop if the macro returns the same form. + +2012-06-07 Paul Eggert + + * doprnt.c (doprnt): Truncate multibyte char correctly. + Without this change, doprnt (buf, 2, "%s", FORMAT_END, AP) + would mishandle a string argument "Xc" if X was a multibyte + character of length 2: it would truncate after X's first byte + rather than including all of X. + +2012-06-06 Chong Yidong + + * buffer.c (word_wrap): Doc fix. + +2012-06-04 Paul Eggert + + * xdisp.c (note_mode_line_or_margin_highlight): Pacify gcc -Wall. + +2012-06-03 Glenn Morris + + * xdisp.c (tool-bar-style): Doc fix. + +2012-06-03 Ulrich Müller + + * Makefile.in (PAXCTL): Define. + (temacs$(EXEEXT)): Disable memory randomization for the temacs + binary via PaX flags if the paxctl utility is available. + (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)): + Restore PaX flags to their default. (Bug#11398) + +2012-06-03 Chong Yidong + + * xdisp.c (decode_mode_spec_coding): Display a space for a unibyte + buffer (Bug#11226). + +2012-06-03 Chong Yidong + + * xdisp.c (calc_pixel_width_or_height): Use Fbuffer_local_value. + (note_mode_line_or_margin_highlight): If there is no help echo, + use mode-line-default-help-echo. Handle the case where the mouse + position is past the end of the mode line string. + + * buffer.c (buffer_local_value_1): New function, split from + Fbuffer_local_value; can return Qunbound. + (Fbuffer_local_value): Use it. + (Vmode_line_format): Docstring tweaks. + +2012-06-02 Paul Eggert + + * sysdep.c (system_process_attributes): Improve comment. + +2012-06-02 Stefan Monnier + + * keyboard.c: Export real-this-command to Elisp. + (syms_of_keyboard): Rename real_this_command to Vreal_this_command + and DEFVAR it. Update all users. + +2012-06-02 Paul Eggert + + * minibuf.c (Fassoc_string): Remove duplicate declaration. + + * sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]: + Convert pctcpu and pctmem to Lisp float properly. + Let the compiler fold better, as 100.0/0x8000 is exact. + +2012-06-02 Andreas Schwab + + * alloc.c (CONS_BLOCK_SIZE): Account for padding at the end of + cons_block. + +2012-06-01 Paul Eggert + + * xfns.c (x_set_tool_bar_lines) [USE_GTK]: Adjust to bitfield change. + +2012-06-01 Dmitry Antipov + + For a 'struct window', replace some Lisp_Object fields to + bitfields where appropriate, remove unused fields. + * window.h (struct window): Remove unused 'last_mark_x' and + 'last_mark_y' fields. Rename 'mini_p' field to 'mini', + change its type from Lisp_Object to bitfield. + Change type of 'force_start', 'optional_new_start', + 'last_had_star', 'update_mode_line' and 'start_at_line_beg' + fields from Lisp_Object to bitfield. Adjust users accordingly. + +2012-05-31 Paul Eggert + + Pacify gcc -Wdouble-precision when using Xaw. + * xterm.c (xaw_jump_callback, x_set_toolkit_scroll_bar_thumb) + [HAVE_X_WINDOWS && USE_TOOLKIT_SCROLL_BARS && !USE_MOTIF && !USE_GTK]: + Use 'float' consistently, rather than 'float' in most places + and 'double' in a couple of places. + +2012-05-31 Eli Zaretskii + + * xdisp.c (handle_stop): Detect whether we have overlay strings + loaded by testing it->current.overlay_string_index to be + non-negative, instead of checking whether n_overlay_strings is + positive. (Bug#11587) + +2012-05-31 Chong Yidong + + * keymap.c (describe_map_tree): Revert 2011-07-07 change (Bug#1169). + + * doc.c (Fsubstitute_command_keys): Doc fix. + +2012-05-31 Eli Zaretskii + + * search.c (search_buffer): Remove calls to + r_alloc_inhibit_buffer_relocation, as it is now called by + maybe_unify_char, which was the cause of relocation of buffer text + in bug#11519. + +2012-05-31 Eli Zaretskii + + * charset.c (maybe_unify_char): Inhibit relocation of buffer text + for the duration of call to load_charset, to avoid problems with + callers of maybe_unify_char that access buffer text through C + pointers. + + * ralloc.c (r_alloc_inhibit_buffer_relocation): Increment and + decrement the inhibition flag, instead of just setting or + resetting it. + +2012-05-31 Paul Eggert + + Remove obsolete '#define static' cruft. + * s/hpux10-20.h (_FILE_OFFSET_BITS): Don't #undef. + This #undef was "temporary" in 2000; it is no longer needed + now that '#define static' has gone away. + * xfns.c, xterm.h (gray_bitmap_width, gray_bitmap_height) + (gray_bitmap_bits): Remove; no longer needed. + All uses replaced with definiens. + * xterm.c: Include "bitmaps/gray.xbm". + +2012-05-30 Paul Eggert + + Clean up __executable_start, monstartup when --enable-profiling. + The following changes affect the code only when profiling. + * dispnew.c (__executable_start): Rename from safe_bcopy. + Define only on platforms that need it. + * emacs.c: Include when profiling. + (_mcleanup): Remove decl, since does it now. + (__executable_start): Remove decl, since lisp.h does it now. + (safe_bcopy): Remove decl; no longer has that name. + (main): Coalesce #if into single bit of code, for simplicity. + Cast pointers to uintptr_t, since standard libraries want integers + and not pointers. + * lisp.h (__executable_start): New decl. + +2012-05-31 Glenn Morris + + * image.c (Fimagemagick_types): Doc fix. + +2012-05-30 Jim Meyering + + * callproc.c (Fcall_process_region): Include directory component + in mkstemp error message (Bug#11586). + +2012-05-30 Paul Eggert + + * alloc.c, lisp.h (make_pure_vector): Now static. + +2012-05-30 Stefan Monnier + + * eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function): + Move to byte-run.el. + (Fautoload): Do the hash-doc more carefully. + * data.c (Fdefalias): Purify definition, except for keymaps. + (Qdefun): Move from eval.c. + * lisp.h (Qdefun): Remove. + * lread.c (read1): Tiny simplification. + +2012-05-29 Troels Nielsen + + Do not create empty overlays with the evaporate property (Bug#9642). + * buffer.c (Fmove_overlay): Reinstate the earlier fix for + Bug#9642, but explicitly check that the buffer the overlay would + be moved to is live and rearrange lines to make sure that errors + will not put the overlay in an inconsistent state. + (Fdelete_overlay): Cosmetics. + +2012-05-28 Eli Zaretskii + + * w32term.c (my_bring_window_to_top): New function. + (x_raise_frame): Use handle returned by DeferWindowPos, which + could be different from the original one. + Call my_bring_window_to_top instead of my_set_foreground_window. + (Bug#11513) + + * w32fns.c (w32_wnd_proc): Accept and process WM_EMACS_BRINGTOTOP + by calling BringWindowToTop. + + * w32term.h (WM_EMACS_BRINGTOTOP): New message. + (WM_EMACS_END): Increase by one. + +2012-05-28 Paul Eggert + + * bidi.c (bidi_mirror_char): Put eassert before conversion to int. + This avoids undefined behavior that might cause the eassert + to not catch an out-of-range value. + +2012-05-28 Juanma Barranquero + + * makefile.w32-in ($(BLD)/w32inevt.$(O), $(BLD)/w32console.$(O)): + Update dependencies. + +2012-05-27 Eli Zaretskii + + * bidi.c (bidi_mirror_char): Fix last change. + +2012-05-27 Andreas Schwab + + * unexmacosx.c (copy_data_segment): Truncate after 16 characters + when referring to sectname field in printf format. + +2012-05-27 Paul Eggert + + * lisp.h [REL_ALLOC]: Omit duplicate prototypes. + Only r_alloc_inhibit_buffer_relocation needed to be added; + the others were already declared. + + * bidi.c (bidi_mirror_char): Don't possibly truncate the integer + before checking whether it's out of range. Put the check inside + eassert. See + . + +2012-05-27 Ken Brown + + * callproc.c (Fcall_process): Restore a line that was accidentally + commented out in the 2011-02-13 change (bug#11547). + +2012-05-27 Eli Zaretskii + + * lisp.h [REL_ALLOC]: Add prototypes for external functions + defined on ralloc.c. + + * buffer.c [REL_ALLOC]: Remove prototypes of + r_alloc_reset_variable, r_alloc, r_re_alloc, and r_alloc_free, + they are now on lisp.h. + + * ralloc.c (r_alloc_inhibit_buffer_relocation): New function. + + * search.c (search_buffer): Use it to inhibit relocation of buffer + text while re_search_2 is doing its job, because re_search_2 is + passed C pointers to buffer text. (Bug#11519) + + * msdos.c (internal_terminal_init) : + Update value to 24. + + * xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator + state after an additional call to move_it_in_display_line_to, keep + the values of it->max_ascent and it->max_descent found for the + entire line. + (pos_visible_p): Revert the comparison against bottom_y to what it + was in revid eliz@gnu.org-20120513182235-4p6386j761ld0nwb. + (Bug#11464) + +2012-05-26 Paul Eggert + + Fix coding-related core dumps with gcc -ftrapv. + The code was computing A - B, where A and B are pointers, and B is + random garbage. This can lead to core dumps on platforms that + have special pointer registers, and it also leads to core dumps on + x86-64 when compiled with gcc -ftrapv. The fix is to compute + A - B only when B is initialized properly. + * coding.c (coding_set_source, coding_set_destination): Return void. + (coding_change_source, coding_change_destinations): New functions, + with the old behaviors of coding_set_source and coding_set_destination. + All callers that need an offset changed to use these new functions. + +2012-05-26 Glenn Morris + + * nsterm.m (ns_init_paths): Don't mess with INFOPATH. (Bug#2791) + +2012-05-26 Eli Zaretskii + + Extend mouse support on W32 text-mode console. + * xdisp.c (draw_row_with_mouse_face): + Call tty_draw_row_with_mouse_face for WINDOWSNT as well. + + * w32console.c: Include window.h. + (w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face): + New functions. + (initialize_w32_display): Initialize mouse-highlight data. + + * w32inevt.c: Include termchar.h and window.h. + (do_mouse_event): Support mouse-autoselect-window. When the mouse + moves, call note_mouse_highlight. If help_echo changed, call + gen_help_event to produce help-echo message in the echo area. + Call clear_mouse_face if mouse_face_hidden is set in the mouse + highlight info. + +2012-05-26 Paul Eggert + + * lread.c (read1): Simplify slightly to avoid an overflow warning + with GCC 4.7.0 on x86-64. + +2012-05-26 Eli Zaretskii + + * bidi.c (bidi_mirror_char): Revert last change: an int is + definitely wide enough here. + +2012-05-25 Paul Eggert + + Fix integer width and related bugs (Bug#9874). + * alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp): + (allocate_vectorlike, buffer_memory_full, struct sdata, SDATA_SIZE) + (string_bytes, check_sblock, allocate_string_data): + (compact_small_strings, Fmake_bool_vector, make_string) + (make_unibyte_string, make_multibyte_string) + (make_string_from_bytes, make_specified_string) + (allocate_vectorlike, Fmake_vector, find_string_data_in_pure) + (make_pure_string, make_pure_c_string, make_pure_vector, Fpurecopy) + (mark_vectorlike): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (allocate_pseudovector): + Use int, not EMACS_INT, where int is wide enough. + (inhibit_garbage_collection, Fgarbage_collect): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * bidi.c (bidi_mirror_char): Use EMACS_INT, not int, where + int might not be wide enough. + (bidi_cache_search, bidi_cache_find, bidi_init_it) + (bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char) + (bidi_at_paragraph_end, bidi_find_paragraph_start) + (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak) + (bidi_level_of_next_char, bidi_move_to_visually_next): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + * buffer.c (copy_overlays, Fgenerate_new_buffer_name) + (Fkill_buffer, Fset_buffer_major_mode) + (advance_to_char_boundary, Fbuffer_swap_text) + (Fset_buffer_multibyte, overlays_at, overlays_in) + (overlay_touches_p, struct sortvec, record_overlay_string) + (overlay_strings, recenter_overlay_lists) + (adjust_overlays_for_insert, adjust_overlays_for_delete) + (fix_start_end_in_overlays, fix_overlays_before, modify_overlay) + (Fmove_overlay, Fnext_overlay_change, Fprevious_overlay_change) + (Foverlay_recenter, last_overlay_modification_hooks_used) + (report_overlay_modification, evaporate_overlays, enlarge_buffer_text): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (validate_region): Omit unnecessary test for b <= e, + since that's guaranteed by the previous test. + (adjust_overlays_for_delete): Avoid pos + length overflow. + (Fmove_overlay, Fdelete_overlay, add_overlay_mod_hooklist) + (report_overlay_modification): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): + Omit pointer cast, which isn't needed anyway, and doesn't work + after the EMACS_INT -> ptrdiff_t change. + (Fmove_overlay): Clip BEG and END to ptrdiff_t to avoid overflow. + * buffer.h: Adjust decls to match defn changes elsewhere. + (struct buffer_text, struct buffer): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + Use EMACS_INT, not int, where int might not be wide enough. + * bytecode.c (unmark_byte_stack, exec_byte_code): Use ptrdiff_t, + not int, to avoid needless 32-bit limit on 64-bit hosts. + (exec_byte_code): Use tighter memory-full test, one that checks + for alloca overflow. Don't compute the address of the object just + before an array, as that's not portable. Use EMACS_INT, not + ptrdiff_t or int, where ptrdiff_t or int might not be wide enough. + * callint.c (Fcall_interactively): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * callproc.c (call_process_kill, Fcall_process): + Don't assume pid_t fits into an Emacs fixnum. + (call_process_cleanup, Fcall_process, child_setup): + Don't assume pid_t fits into int. + (call_process_cleanup, Fcall_process, delete_temp_file) + (Fcall_process_region): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (Fcall_process): Simplify handling of volatile integers. + Use int, not EMACS_INT, where int will do. + * casefiddle.c (casify_object, casify_region, operate_on_word) + (Fupcase_word, Fdowncase_word, Fcapitalize_word): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (casify_object): Avoid integer overflow when overallocating buffer. + * casetab.c (set_identity, shuffle): Prefer int to unsigned when + either works. Use lint_assume to convince GCC 4.6.1 that it's OK. + * category.c (Fchar_category_set): Don't assume fixnum fits in int. + * category.h (CATEGORYP): Don't assume arg is nonnegative. + * ccl.c (GET_CCL_INT): Remove; no longer needed, since the + integers are now checked earlier. All uses replaced with XINT. + (ccl_driver): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + For CCL_MapSingle, check that content and value are in int range. + (ccl_driver, Fregister_code_conversion_map): + Check that Vcode_version_map_vector is a vector. + (resolve_symbol_ccl_program): Check that vector header is in range. + Always copy the vector, so that we can check its contents reliably + now rather than having to recheck each instruction as it's being + executed. Check that vector words fit in 'int'. + (ccl_get_compiled_code, Fregister_ccl_program) + (Fregister_code_conversion_map): Use ptrdiff_t, not int, for + program indexes, to avoid needless 32-bit limit on 64-bit hosts. + (Fccl_execute, Fccl_execute_on_string): Check that initial reg + contents are in range. + (Fccl_execute_on_string): Check that status is in range. + * ccl.h (struct ccl_program.idx): Now ptrdiff_t, not int. + * character.c (char_resolve_modifier_mask, Fchar_resolve_modifiers): + Accept and return EMACS_INT, not int, because callers can pass values + out of 'int' range. + (c_string_width, strwidth, lisp_string_width, chars_in_text) + (multibyte_chars_in_text, parse_str_as_multibyte) + (str_as_multibyte, count_size_as_multibyte, str_to_multibyte) + (str_as_unibyte, str_to_unibyte, string_count_byte8) + (string_escape_byte8, Fget_byte): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Funibyte_string): Use CHECK_RANGED_INTEGER, not CHECK_NATNUM, to + avoid mishandling large integers. + * character.h: Adjust decls to match defn changes elsewhere. + * charset.c (load_charset_map_from_file, find_charsets_in_text) + (Ffind_charset_region): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (load_charset_map_from_file): Redo idx calculation to avoid overflow. + (load_charset_map_from_vector, Fdefine_charset_internal): + Don't assume fixnum fits in int. + (load_charset_map_from_vector, Fmap_charset_chars): + Remove now-unnecessary CHECK_NATNUMs. + (Fdefine_charset_internal): Check ranges here, more carefully. + Don't rely on undefined behavior with signed left shift overflow. + Don't assume unsigned int fits into fixnum, or that fixnum fits + into unsigned int. Don't require max_code to be a valid fixnum; + that's not true for gb10830 4-byte on a 32-bit host. Allow + invalid_code to be a cons, for the same reason. Require code_offset + to be a character. Avoid int overflow if max_char is close + to INT_MAX. + (CODE_POINT_TO_INDEX): On 32-bit hosts, return int, not unsigned; + this is intended anyway and avoids some undefined behavior. + (load_charset_map): Pass unsigned, not int, as 2nd arg of + INDEX_TO_CODE_POINT, as that's what it expects. + (Funify_charset, encode_char): Don't stuff unsigned vals into int vars. + * charset.h (DECODE_CHAR): Return int, not unsigned; + this is what was intended anyway, and it avoids undefined behavior. + (CHARSET_OFFSET): Remove unused macro, instead of fixing its + integer-overflow issues. + (ENCODE_CHAR): Return unsigned on all hosts, not just on 32-bit hosts. + Formerly, it returned EMACS_INT on 64-bit hosts in the common case + where the argument is EMACS_INT, and this behavior is not intended. + * chartab.c (Fmake_char_table, Fset_char_table_range) + (uniprop_get_decoder, uniprop_get_encoder): + Don't assume fixnum fits in int. + * cmds.c (move_point): New function, that does the gist of + Fforward_char and Fbackward_char, but does so while checking + for integer overflow more accurately. + (Fforward_char, Fbackward_char): Use it. + (Fforward_line, Fend_of_line, internal_self_insert) + (internal_self_insert): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + Fix a FIXME, by checking for integer overflow when calculating + target_clm and actual_clm. + * coding.c (detect_coding_XXX, encode_coding_XXX, CODING_DECODE_CHAR) + (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET, CODING_CHAR_CHARSET_P) + (ASSURE_DESTINATION, coding_alloc_by_realloc) + (coding_alloc_by_making_gap, alloc_destination) + (detect_coding_utf_8, encode_coding_utf_8, decode_coding_utf_16) + (encode_coding_utf_16, detect_coding_emacs_mule) + (decode_coding_emacs_mule, encode_coding_emacs_mule) + (detect_coding_iso_2022, decode_coding_iso_2022) + (encode_invocation_designation, encode_designation_at_bol) + (encode_coding_iso_2022, detect_coding_sjis, detect_coding_big5) + (decode_coding_sjis, decode_coding_big5, encode_coding_sjis) + (encode_coding_big5, detect_coding_ccl, decode_coding_ccl) + (encode_coding_ccl, encode_coding_raw_text) + (detect_coding_charset, decode_coding_charset) + (encode_coding_charset, detect_eol, decode_eol, produce_chars) + (produce_composition, produce_charset, produce_annotation) + (decode_coding, handle_composition_annotation) + (handle_charset_annotation, consume_chars, decode_coding_gap) + (decode_coding_object, encode_coding_object, detect_coding_system) + (Ffind_coding_systems_region_internal, Fcheck_coding_systems_region) + (code_convert_region, code_convert_string) + (Fdefine_coding_system_internal) + (coding_set_source, coding_set_destination): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (setup_iso_safe_charsets, consume_chars, Funencodable_char_position) + (Fdefine_coding_system_internal): + Don't assume fixnums fit in int. + (decode_coding_gap, decode_coding_object, encode_coding_object) + (Fread_coding_system, Fdetect_coding_region) + (Funencodable_char_position, Fcheck_coding_systems_region) + (get_translation, handle_composition_annotation, consume_chars): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (consume_chars): Rewrite to not calculate an address outside buffer. + (Ffind_operation_coding_system): NATNUMP can eval its arg twice. + Don't access memory outside of the args array. + (Fdefine_coding_system_internal): Check for charset-id overflow. + (ENCODE_ISO_CHARACTER): Use unsigned, not int, to store the unsigned + result of ENCODE_CHAR. + * coding.h: Adjust decls to match defn changes elsewhere. + (struct coding_system): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + * composite.c (get_composition_id, find_composition) + (run_composition_function, update_compositions) + (compose_text, composition_gstring_put_cache) + (composition_gstring_p, composition_gstring_width) + (fill_gstring_header, fill_gstring_body, autocmp_chars) + (composition_compute_stop_pos, composition_reseat_it) + (composition_update_it, struct position_record) + (find_automatic_composition, composition_adjust_point) + (Fcomposition_get_gstring, Ffind_composition_internal): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (update_compositions): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * composite.h: Adjust decls to match defn changes elsewhere. + (struct composition): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + * data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p): + Do not attempt to compute the address of the object just before a + buffer; this is not portable. + (Faref, Faset): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Faset): Use int, not EMACS_INT, where int is wide enough. + (Fstring_to_number): Don't assume fixnums fit in int. + (Frem): Don't assume arg is nonnegative. + * dbusbind.c (xd_append_arg): Check for integers out of range. + (Fdbus_call_method): Don't overflow the timeout int. + (extract_signed, extract_unsigned): New functions. + (XD_CHECK_DBUS_SERIAL): Remove; superseded by extract_unsigned. + (xd_get_connection_references): Return ptrdiff_t, not int. + All uses changed. + (xd_signature, xd_append_arg, xd_retrieve_arg, Fdbus_message_internal) + (xd_read_message_1): + Use int, not unsigned, where the dbus API uses int. + (Fdbus_message_internal): Don't overflow mtype. + (syms_of_dbusbind): Allocate right-sized buffer for integers. + * dired.c (directory_files_internal, file_name_completion, scmp) + (file_name_completion_stat): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (file_name_completion): Don't overflow matchcount. + (file_name_completion_stat): Use SAFE_ALLOCA, not alloca. + * dispextern.h: Adjust decls to match defn changes elsewhere. + (struct text_pos, struct glyph, struct bidi_saved_info) + (struct bidi_string_data, struct bidi_it, struct composition_it) + (struct it): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (struct display_pos, struct composition_it, struct it): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * dispnew.c (increment_matrix_positions) + (increment_row_positions, mode_line_string) + (marginal_area_string): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (change_frame_size_1, Fredisplay, Fframe_or_buffer_changed_p): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (duration_to_sec_usec): New function, to check for overflow better. + (Fsleep_for, sit_for): Use it. + * doc.c (get_doc_string, store_function_docstring): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (get_doc_string, Fsnarf_documentation): + Use int, not EMACS_INT, where int is wide enough. + (get_doc_string): + Use SAFE_ALLOCA, not alloca. + Check for overflow when converting EMACS_INT to off_t. + * doprnt.c (doprnt): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + * editfns.c (init_editfns, Fuser_uid, Fuser_real_uid): + Don't assume uid_t fits into fixnum. + (buildmark, Fgoto_char, overlays_around, find_field, Fdelete_field) + (Ffield_string, Ffield_string_no_properties, Ffield_beginning) + (Ffield_end, Fconstrain_to_field, Fline_beginning_position) + (Fline_end_position, Fprevious_char, Fchar_after, Fchar_before) + (general_insert_function) + (Finsert_char, make_buffer_string, make_buffer_string_both) + (update_buffer_properties, Fbuffer_substring) + (Fbuffer_substring_no_properties, Fcompare_buffer_substrings) + (Fsubst_char_in_region, check_translation) + (Ftranslate_region_internal, save_restriction_restore, Fformat) + (transpose_markers, Ftranspose_regions): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (clip_to_bounds): Move to lisp.h as an inline function). + (Fconstrain_to_field): Don't assume integers are nonnegative. + (Fline_beginning_position, Fsave_excursion, Fsave_current_buffer): + (Fsubst_char_in_region, Fsave_restriction): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (Femacs_pid): Don't assume pid_t fits into fixnum. + (lo_time): Use int, not EMACS_INT, when int suffices. + (lisp_time_argument): Check for usec out of range. + (Fencode_time): Don't assume fixnum fits in int. + (Fuser_login_name, Fuser_full_name): Signal an error + if a uid argument is out of range, rather than relying on + undefined behavior. + (Fformat_time_string): Remove now-unnecessary check. + lisp_time_argument checks for out-of-range usec now. + Use ptrdiff_t, not size_t, where ptrdiff_t will do. + * emacs.c (gdb_valbits, gdb_gctypebits): Now int, not EMACS_INT. + (gdb_data_seg_bits): Now uintptr_t, not EMACS_INT. + (PVEC_FLAG, gdb_array_mark_flag): Now ptrdiff_t, not EMACS_INT. + (init_cmdargs, Fdump_emacs): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (Fkill_emacs): Don't assume fixnum fits in int; instead, take just + the bottom (typically) 32 bits of the fixnum. + * eval.c (specpdl_size, call_debugger): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (when_entered_debugger, Fbacktrace_debug): + Don't assume fixnum can fit in int. + (Fdefvaralias, Fdefvar): Do not attempt to compute the address of + the object just before a buffer; this is not portable. + (FletX, Flet, Funwind_protect, do_autoload, Feval, funcall_lambda) + (grow_specpdl, unbind_to): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (Fapply, apply_lambda): Don't assume ptrdiff_t can hold fixnum. + (grow_specpdl): Simplify allocation by using xpalloc. + (Fprog1, Fprog2): Don't assume list length fits in int. Simplify. + * fileio.c (Ffind_file_name_handler, Fcopy_file, Frename_file) + (Finsert_file_contents, Fwrite_region, Fdo_auto_save): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (Ffind_file_name_handler, non_regular_inserted, Finsert_file_contents) + (a_write, e_write): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Fcopy_file, non_regular_nbytes, read_non_regular) + (Finsert_file_contents): + Use int, not EMACS_INT, where int is wide enough. + (READ_BUF_SIZE): Verify that it fits in int. + (Finsert_file_contents): Check that counts are in proper range, + rather than assuming fixnums fit into ptrdiff_t etc. + Don't assume fixnums fit into int. + * floatfns.c (Fexpt): Avoid undefined signed * signed overflow. + * fns.c (Fcompare_strings, Fstring_lessp, struct textprop_rec, concat) + (string_char_byte_cache_charpos, string_char_byte_cache_bytepos) + (string_char_to_byte, string_byte_to_char) + (string_make_multibyte, string_to_multibyte) + (string_make_unibyte, Fstring_as_unibyte, Fstring_as_multibyte) + (Fstring_to_unibyte, Fsubstring, Fsubstring_no_properties) + (substring_both, Fdelete, internal_equal, Ffillarray) + (Fclear_string, mapcar1) + (Fbase64_encode_region, Fbase64_encode_string, base64_encode_1) + (Fbase64_decode_region, Fbase64_decode_string, base64_decode_1) + (larger_vector, make_hash_table, maybe_resize_hash_table) + (hash_lookup, hash_remove_from_table, hash_clear, sweep_weak_table) + (Fmaphash, secure_hash): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (concat): Check for string index and length overflow. + (Fmapconcat): Don't assume fixnums fit into ptrdiff_t. + (Frequire): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (larger_vector): New API (vec, incr_min, size_max) replaces old + one (vec, new_size, init). This catches size overflow. + INIT was removed because it was always Qnil. + All callers changed. + (INDEX_SIZE_BOUND): New macro, which calculates more precisely + the upper bound on a hash table index size. + (make_hash_table, maybe_resize_hash_table): Use it. + (secure_hash): Computer start_byte and end_byte only after + they're known to be in ptrdiff_t range. + * font.c (font_intern_prop, font_at, font_range, Ffont_shape_gstring) + (Ffont_get_glyphs, Ffont_at): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (font_style_to_value, font_prop_validate_style, font_expand_wildcards) + (Flist_fonts, Fopen_font): + Don't assume fixnum can fit in int. + (check_gstring): Don't assume index can fit in int. + (font_match_p): Check that fixnum is a character, not a nonnegative + fixnum, since the later code needs to stuff it into an int. + (font_find_for_lface): Use SAFE_ALLOCA_LISP, not alloca. + (font_fill_lglyph_metrics): Use unsigned, not EMACS_INT, to avoid + conversion overflow issues. + (Fopen_font): Check for integer out of range. + (Ffont_get_glyphs): Don't assume index can fit in int. + * font.h: Adjust decls to match defn changes elsewhere. + * fontset.c (reorder_font_vector): Redo score calculation to avoid + integer overflow. + (num_auto_fontsets, fontset_from_font): Use ptrdiff_t, not + printmax_t, where ptrdiff_t is wide enough. + (Finternal_char_font): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + * frame.c (Fset_mouse_position, Fset_mouse_pixel_position) + (Fset_frame_height, Fset_frame_width, Fset_frame_size) + (Fset_frame_position, x_set_frame_parameters) + (x_set_line_spacing, x_set_border_width) + (x_set_internal_border_width, x_set_alpha, x_figure_window_size): + Check that fixnums are in proper range for system types. + (frame_name_fnn_p, Fframe_parameter, Fmodify_frame_parameters): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Fmodify_frame_parameters): Don't assume fixnum fits in int. + Use SAFE_ALLOCA_LISP, not alloca. + * frame.h (struct frame): Use intptr_t, not EMACS_INT, where + intptr_t is wide enough. + * fringe.c (lookup_fringe_bitmap, get_logical_fringe_bitmap) + (Fdefine_fringe_bitmap): Don't assume fixnum fits in int. + (Ffringe_bitmaps_at_pos): Don't assume index fits in int. + Check for fixnum out of range. + * ftfont.c (ftfont_list): Don't assume index fits in int. + Check that fixnums are in proper range for system types. + (ftfont_shape_by_flt): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + * gnutls.c (emacs_gnutls_write, emacs_gnutls_read): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Fgnutls_error_fatalp, Fgnutls_error_string, Fgnutls_boot): + Check that fixnums are in proper range for system types. + * gnutls.h: Adjust decls to match defn changes elsewhere. + * gtkutil.c (xg_dialog_run): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (update_frame_tool_bar): + Check that fixnums are in proper range for system types. + * image.c (parse_image_spec): Redo count calculation to avoid overflow. + (lookup_image): Check that fixnums are in range for system types. + * indent.c (last_known_column, last_known_column_point): + (current_column_bol_cache): + (skip_invisible, current_column, check_display_width): + (check_display_width, scan_for_column, current_column_1) + (Findent_to, Fcurrent_indentation, position_indentation) + (indented_beyond_p, Fmove_to_column, compute_motion): + (Fcompute_motion, Fvertical_motion): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (last_known_column_modified): Use EMACS_INT, not int. + (check_display_width): + (Fcompute_motion): + Check that fixnums and floats are in proper range for system types. + (compute_motion): Don't assume index or fixnum fits in int. + (compute_motion, Fcompute_motion): + Use int, not EMACS_INT, when it is wide enough. + (vmotion): Omit local var start_hpos that is always 0; that way + we don't need to worry about overflow in expressions involving it. + * indent.h: Adjust decls to match defn changes elsewhere. + (struct position): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + Use int, not EMACS_INT, where int is wide enough. + Remove unused members ovstring_chars_done and tab_offset; + all uses removed. + * insdel.c (move_gap, move_gap_both, gap_left, gap_right) + (adjust_markers_for_delete, adjust_markers_for_insert, adjust_point) + (adjust_markers_for_replace, make_gap_larger, make_gap_smaller) + (make_gap, copy_text, insert, insert_and_inherit) + (insert_before_markers, insert_before_markers_and_inherit) + (insert_1, count_combining_before, count_combining_after) + (insert_1_both, insert_from_string) + (insert_from_string_before_markers, insert_from_string_1) + (insert_from_gap, insert_from_buffer, insert_from_buffer_1) + (adjust_after_replace, adjust_after_insert, replace_range) + (replace_range_2, del_range, del_range_1, del_range_byte) + (del_range_both, del_range_2, modify_region) + (prepare_to_modify_buffer, signal_before_change) + (signal_after_change, Fcombine_after_change_execute): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + * intervals.c (traverse_intervals, rotate_right, rotate_left) + (balance_an_interval, split_interval_right, split_interval_left) + (find_interval, next_interval, update_interval) + (adjust_intervals_for_insertion, delete_node, delete_interval) + (interval_deletion_adjustment, adjust_intervals_for_deletion) + (static_offset_intervals, offset_intervals) + (merge_interval_right, merge_interval_left, make_new_interval) + (graft_intervals_into_buffer, temp_set_point_both) + (temp_set_point, set_point, adjust_for_invis_intang) + (set_point_both, move_if_not_intangible, get_property_and_range) + (get_local_map, copy_intervals, copy_intervals_to_string) + (compare_string_intervals, set_intervals_multibyte_1): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + * intervals.h: Adjust decls to match defn changes elsewhere. + (struct interval): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + * keyboard.c (this_command_key_count, this_single_command_key_start) + (before_command_key_count, before_command_echo_length, echo_now) + (echo_length, recursive_edit_1, Frecursive_edit, Ftrack_mouse) + (command_loop_1, safe_run_hooks, read_char, timer_check_2) + (menu_item_eval_property, read_key_sequence, Fread_key_sequence) + (Fread_key_sequence_vector, Fexecute_extended_command, Fsuspend_emacs): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (last_non_minibuf_size, last_point_position, echo_truncate) + (command_loop_1, adjust_point_for_property, read_char, gen_help_event) + (make_lispy_position, make_lispy_event, parse_modifiers_uncached) + (parse_modifiers, modify_event_symbol, Fexecute_extended_command) + (stuff_buffered_input): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (last_auto_save, command_loop_1, read_char): + Use EMACS_INT, not int, to avoid integer overflow. + (record_char): Avoid overflow in total_keys computation. + (parse_modifiers_uncached): Redo index calculation to avoid overflow. + * keyboard.h: Adjust decls to match defn changes elsewhere. + * keymap.c (Fdefine_key, Fcurrent_active_maps, accessible_keymaps_1) + (Fkey_description, Fdescribe_vector, Flookup_key): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (click_position): New function, to check that positions are in range. + (Fcurrent_active_maps): + (describe_command): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Faccessible_keymaps, Fkey_description): + (preferred_sequence_p): + Don't assume fixnum can fit into int. + (Fkey_description): Use SAFE_ALLOCA_LISP, not alloca. + Check for integer overflow in size calculations. + (Ftext_char_description): Use CHECK_CHARACTER, not CHECK_NUMBER, to + avoid mishandling large integers. + * lisp.h: Adjust decls to match defn changes elsewhere. + (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, struct Lisp_String) + (struct vectorlike_header, struct Lisp_Subr, struct Lisp_Hash_Table) + (struct Lisp_Marker): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (clip_to_bounds): Now an inline function, moved here from editfns.c. + (GLYPH_CODE_P): Check for overflow in system types, subsuming the + need for GLYPH_CODE_CHAR_VALID_P and doing proper checking ourselves. + All callers changed. + (GLYPH_CODE_CHAR, GLYPH_CODE_FACE): + Assume the arg has valid form, since it always does. + (TYPE_RANGED_INTEGERP): Avoid bug when checking against a wide + unsigned integer system type. + (CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER): New macros. + (struct catchtag, specpdl_size, SPECPDL_INDEX, USE_SAFE_ALLOCA): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (struct catchtag): Use EMACS_INT, not int, since it may be a fixnum. + (duration_to_sec_usec): New decl. + * lread.c (read_from_string_index, read_from_string_index_byte) + (read_from_string_limit, readchar, unreadchar, openp) + (read_internal_start, read1, oblookup): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Fload, readevalloop, Feval_buffer, Feval_region): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (openp): Check for out-of-range argument to 'access'. + (read1): Use int, not EMACS_INT, where int is wide enough. + Don't assume fixnum fits into int. + Fix off-by-one error that can read outside a buffer. + (read_filtered_event): Use duration_to_sec_usec + to do proper overflow checking on durations. + * macros.c (Fstart_kbd_macro): Use xpalloc to check for overflow + in size calculation. + (Fexecute_kbd_macro): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * marker.c (cached_charpos, cached_bytepos, CONSIDER) + (byte_char_debug_check, buf_charpos_to_bytepos, verify_bytepos) + (buf_bytepos_to_charpos, Fset_marker, set_marker_restricted) + (set_marker_both, set_marker_restricted_both, marker_position) + (marker_byte_position, Fbuffer_has_markers_at): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Fset_marker, set_marker_restricted): Don't assume fixnum fits in int. + * menu.c (ensure_menu_items): Rename from grow_menu_items. + It now merely ensures that the menu is large enough, without + necessarily growing it, as this avoids some integer overflow issues. + All callers changed. + (keymap_panes, parse_single_submenu, Fx_popup_menu): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (parse_single_submenu, Fx_popup_menu): Don't assume fixnum fits in int. + Use SAFE_ALLOCA_LISP, not alloca. + (find_and_return_menu_selection): Avoid unnecessary casts of pointers + to EMACS_INT. Check that fixnums are in proper range for system types. + * minibuf.c (minibuf_prompt_width, string_to_object) + (Fminibuffer_contents, Fminibuffer_contents_no_properties) + (Fminibuffer_completion_contents, Ftry_completion, Fall_completions): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (get_minibuffer, read_minibuf_unwind): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (read_minibuf): Omit unnecessary arg BACKUP_N, which is always nil; + this simplifies overflow checking. All callers changed. + (read_minibuf, Fread_buffer, Ftry_completion, Fall_completions) + (Ftest_completion): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * nsfns.m (check_ns_display_info): Don't assume fixnum fits in long. + (x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_create_frame): + Check that fixnums are in proper range for system types. + (Fx_create_frame, Fx_show_tip): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * nsfont.m (ns_findfonts, nsfont_list_family): + Don't assume fixnum fits in long. + * nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (ns_update_menubar): Use intptr_t, not EMACS_INT, when intptr_t is + wide enough. + * nsselect.m (ns_get_local_selection, clean_local_selection_data): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * print.c (print_buffer_size, print_buffer_pos, print_buffer_pos_byte) + (PRINTDECLARE, PRINTPREPARE): + (strout, print_string): + (print, print_preprocess, print_check_string_charset_prop) + (print_object): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (PRINTDECLARE): + (temp_output_buffer_setup, Fprin1_to_string, print_object): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (PRINTPREPARE): Use int, not ptrdiff_t, where int is wide enough. + (printchar, strout): Use xpalloc to catch size calculation overflow. + (Fexternal_debugging_output): Don't overflow EMACS_INT->int conversion. + (print_error_message): Use SAFE_ALLOCA, not alloca. + (print_object): Use int, not EMACS_INT, where int is wide enough. + (print_depth, new_backquote_output, print_number_index): + Use ptrdiff_t, not int, where int might not be wide enough. + * process.c (Fdelete_process): Don't assume pid fits into EMACS_INT. + (Fset_process_window_size, Fformat_network_address) + (get_lisp_to_sockaddr_size, set_socket_option, Fmake_network_process) + (sigchld_handler): + Check that fixnums are in proper range for system types. + (Fsignal_process): Simplify by avoiding a goto. + Check for process-ids out of pid_t range rather than relying on + undefined behavior. + (process_tick, update_tick): Use EMACS_INT, not int. + (Fformat_network_address, read_process_output, send_process) + (Fprocess_send_region, status_notify): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Fformat_network_address, Fmake_serial_process, Fmake_network_process) + (wait_reading_process_output, read_process_output, exec_sentinel): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (conv_lisp_to_sockaddr): Don't assume fixnums fit into int. + (Faccept_process_output): Use duration_to_sec_usec to do proper + overflow checking on durations. + (emacs_get_tty_pgrp, Fprocess_running_child_p, process_send_signal): + Don't assume pid_t fits in int. + * process.h (struct Lisp_Process): Members tick and update_tick + are now of type EMACS_INT, not int. + * puresize.h (PURESIZE_RATIO): Shrink this to 8/6 on 32-bit hosts + configured --with-wide-int. + * scroll.c (calculate_scrolling, calculate_direct_scrolling) + (line_ins_del): Use int, not EMACS_INT, where int is wide enough. + * search.c (looking_at_1, string_match_1): + (fast_string_match, fast_c_string_match_ignore_case) + (fast_string_match_ignore_case, fast_looking_at, scan_buffer) + (scan_newline, find_before_next_newline, search_command) + (trivial_regexp_p, search_buffer, simple_search, boyer_moore) + (set_search_regs, wordify): + (Freplace_match): + (Fmatch_data): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (string_match_1, search_buffer, set_search_regs): + (Fmatch_data): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (wordify): Check for overflow in size calculation. + (Freplace_match): Avoid potential buffer overflow in search_regs.start. + (Fset_match_data): Don't assume fixnum fits in ptrdiff_t. + Check that fixnums are in proper range for system types. + * sound.c (struct sound_device) + (wav_play, au_play, vox_write, alsa_period_size, alsa_write): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Fplay_sound_internal): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * syntax.c (struct lisp_parse_state, find_start_modiff) + (Finternal_describe_syntax_value, scan_lists, scan_sexps_forward): + (Fparse_partial_sexp): + Don't assume fixnums can fit in int. + (struct lisp_parse_state, find_start_pos, find_start_value) + (find_start_value_byte, find_start_begv) + (update_syntax_table, char_quoted, dec_bytepos) + (find_defun_start, prev_char_comend_first, back_comment): + (scan_words, skip_chars, skip_syntaxes, forw_comment, Fforward_comment) + (scan_lists, Fbackward_prefix_chars, scan_sexps_forward): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Finternal_describe_syntax_value): Check that match_lisp is a + character, not an integer, since the code stuffs it into int. + (scan_words, scan_sexps_forward): + Check that fixnums are in proper range for system types. + (Fforward_word): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (scan_sexps_forward): + Use CHARACTERP, not INTEGERP, since the value must fit into int. + (Fparse_partial_sexp): Fix doc; element 8 is not ignored. + * syntax.h: Adjust decls to match defn changes elsewhere. + (struct gl_state_s): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (SETUP_SYNTAX_TABLE_FOR_OBJECT): Use PTRDIFF_MAX, not + MOST_POSITIVE_FIXNUM. + * sysdep.c (wait_for_termination_1, wait_for_termination) + (interruptible_wait_for_termination, mkdir): + Don't assume pid_t fits in int; on 64-bit AIX pid_t is 64-bit. + (emacs_read, emacs_write): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (system_process_attributes): Don't assume uid_t, gid_t, EMACS_INT, + and double all fit in int. + * term.c (set_tty_color_mode): + Check that fixnums are in proper range for system types. + * termhooks.h (struct input_event): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + * textprop.c (validate_interval_range, interval_of) + (Fadd_text_properties, set_text_properties_1) + (Fremove_text_properties, Fremove_list_of_text_properties) + (Ftext_property_any, Ftext_property_not_all) + (copy_text_properties, text_property_list, extend_property_ranges) + (verify_interval_modification): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Fnext_single_char_property_change) + (Fprevious_single_char_property_change): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (copy_text_properties): + Check for integer overflow in index calculation. + * undo.c (last_boundary_position, record_point, record_insert) + (record_delete, record_marker_adjustment, record_change) + (record_property_change): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (truncate_undo_list, Fprimitive_undo): Don't assume fixnum fits in int. + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * w32fns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip) + (Fx_hide_tip, Fx_file_dialog): + * w32menu.c (set_frame_menubar): + Use ptrdiff_t, not int, for consistency with rest of code. + * window.c (window_scroll_preserve_hpos, window_scroll_preserve_vpos) + (select_window, Fdelete_other_windows_internal) + (window_scroll_pixel_based, window_scroll_line_based) + (Frecenter, Fset_window_configuration): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (Fset_window_hscroll, run_window_configuration_change_hook) + (set_window_buffer, temp_output_buffer_show, scroll_command) + (Fscroll_other_window, Frecenter): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (Fwindow_line_height, window_scroll, Fscroll_left, Fscroll_right): + Don't assume fixnum fits in int. + (Fset_window_scroll_bars): + Check that fixnums are in proper range for system types. + * xdisp.c (help_echo_pos, pos_visible_p, string_pos_nchars_ahead) + (string_pos, c_string_pos, number_of_chars, init_iterator) + (in_ellipses_for_invisible_text_p, init_from_display_pos) + (compute_stop_pos, next_overlay_change, compute_display_string_pos) + (compute_display_string_end, handle_face_prop) + (face_before_or_after_it_pos, handle_invisible_prop) + (handle_display_prop, handle_display_spec, handle_single_display_spec) + (display_prop_intangible_p, string_buffer_position_lim) + (string_buffer_position, handle_composition_prop, load_overlay_strings) + (get_overlay_strings_1, get_overlay_strings) + (iterate_out_of_display_property, forward_to_next_line_start) + (back_to_previous_visible_line_start, reseat, reseat_to_string) + (get_next_display_element, set_iterator_to_next) + (get_visually_first_element, compute_stop_pos_backwards) + (handle_stop_backwards, next_element_from_buffer) + (move_it_in_display_line_to, move_it_in_display_line) + (move_it_to, move_it_vertically_backward, move_it_by_lines) + (add_to_log, message_dolog, message_log_check_duplicate) + (message2, message2_nolog, message3, message3_nolog + (with_echo_area_buffer, display_echo_area_1, resize_mini_window_1) + (current_message_1, truncate_echo_area, truncate_message_1) + (set_message, set_message_1, store_mode_line_noprop) + (hscroll_window_tree, debug_delta, debug_delta_bytes, debug_end_vpos) + (text_outside_line_unchanged_p, check_point_in_composition) + (reconsider_clip_changes) + (redisplay_internal, set_cursor_from_row, try_scrolling) + (try_cursor_movement, set_vertical_scroll_bar, redisplay_window) + (redisplay_window, find_last_unchanged_at_beg_row) + (find_first_unchanged_at_end_row, row_containing_pos, try_window_id) + (trailing_whitespace_p, find_row_edges, display_line) + (RECORD_MAX_MIN_POS, Fcurrent_bidi_paragraph_direction) + (display_mode_element, store_mode_line_string) + (pint2str, pint2hrstr, decode_mode_spec) + (display_count_lines, display_string, draw_glyphs) + (x_produce_glyphs, x_insert_glyphs) + (rows_from_pos_range, mouse_face_from_buffer_pos) + (fast_find_string_pos, mouse_face_from_string_pos) + (note_mode_line_or_margin_highlight, note_mouse_highlight): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (safe_call, init_from_display_pos, handle_fontified_prop) + (handle_single_display_spec, load_overlay_strings) + (with_echo_area_buffer, setup_echo_area_for_printing) + (display_echo_area, echo_area_display) + (x_consider_frame_title, prepare_menu_bars, update_menu_bar) + (update_tool_bar, hscroll_window_tree, redisplay_internal) + (redisplay_window, dump_glyph_row, display_mode_line) + (Fformat_mode_line, decode_mode_spec, on_hot_spot_p): + (handle_display_spec, display_prop_string_p): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (handle_single_display_spec, build_desired_tool_bar_string) + (redisplay_tool_bar, scroll_window_tree, Fdump_glyph_matrix) + (get_specified_cursor_type): + Check that fixnums are in proper range for system types. + (struct overlay_entry, resize_mini_window, Fdump_glyph_row) + (Flookup_image_map): + Don't assume fixnums fit in int. + (compare_overlay_entries): + Avoid mishandling comparisons due to subtraction overflow. + (load_overlay_strings): Use SAFE_NALLOCA, not alloca. + (last_escape_glyph_face_id, last_glyphless_glyph_face_id): + (handle_tool_bar_click): + Use int, not unsigned, since we prefer signed and the signedness + doesn't matter here. + (get_next_display_element, next_element_from_display_vector): + Use int, not EMACS_INT, when int is wide enough. + (start_hourglass): Use duration_to_sec_usec to do proper + overflow checking on durations. + * xfaces.c (Fbitmap_spec_p): + Check that fixnums are in proper range for system types. + (compare_fonts_by_sort_order): + Avoid mishandling comparisons due to subtraction overflow. + (Fx_family_fonts, realize_basic_faces): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (Fx_family_fonts): + Don't assume fixnum fits in int. + Use SAFE_ALLOCA_LISP, not alloca. + (merge_face_heights): Remove unnecessary cast to EMACS_INT. + (Finternal_make_lisp_face): Don't allocate more than MAX_FACE_ID. + (face_at_buffer_position, face_for_overlay_string) + (face_at_string_position): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + (merge_faces): Use int, not EMACS_INT, where int is wide enough. + * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, x_icon_verify) + (Fx_show_tip): + Check that fixnums are in proper range for system types. + (Fx_create_frame, x_create_tip_frame, Fx_show_tip) + (Fx_hide_tip, Fx_file_dialog, Fx_select_font): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (Fx_change_window_property): Don't assume fixnums fit in int. + * xfont.c (xfont_chars_supported): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * xmenu.c (Fx_popup_dialog, set_frame_menubar) + (create_and_show_popup_menu, create_and_show_dialog, xmenu_show): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * xml.c (parse_region): + * xrdb.c (magic_file_p): + Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough. + * xselect.c (TRACE1): Don't assume pid_t promotes to int. + (x_get_local_selection, x_reply_selection_request) + (x_handle_selection_request, wait_for_property_change): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + (selection_data_to_lisp_data): Use short, not EMACS_INT, where + short is wide enough. + (x_send_client_event): Don't assume fixnum fits in int. + * xterm.c (x_x_to_emacs_modifiers): + Don't assume EMACS_INT overflows nicely into int. + (x_emacs_to_x_modifiers): Use EMACS_INT, not int, because values + may come from Lisp. + (handle_one_xevent): NATNUMP can eval its arg twice. + (x_connection_closed): + Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. + * xterm.h: Adjust decls to match defn changes elsewhere. + (struct scroll_bar): Use struct vectorlike_header + rather than rolling our own approximation. + (SCROLL_BAR_VEC_SIZE): Remove; not used. + +2012-05-25 Glenn Morris + + * lisp.mk (lisp): Update for more files being compiled now. + +2012-05-25 Stefan Monnier + + * lread.c: Remove `read_pure' which makes no difference. + (read_pure): Remove var. + (unreadpure): Remove function. + (readevalloop): Don't call read_list with -1 flag. + (read1, read_vector): Don't test read_pure any more. + (read_list): Simplify. + + * fileio.c, character.h: Minor style tweaks. + +2012-05-24 Dmitry Antipov + + * window.h (clip_changed): Remove useless declaration. + +2012-05-22 Juanma Barranquero + + * makefile.w32-in: Follow-up to 2012-05-22T16:20:27Z!eggert@cs.ucla.edu. + (TAGS, TAGS-gmake, CONFIG_H): Remove further references to m/intel386.h. + +2012-05-22 Paul Eggert + + Remove src/m/*. + This directory predates autoconf and is no longer needed nowadays. + Move its few remaining bits of functionality to where they're needed. + * m/README, m/alpha.h, m/amdx86-64.h, m/ia64.h, m/ibmrs6000.h: + * m/ibms390x.h, m/intel386.h, m/m68k.h, m/macppc.h, m/sparc.h: + * m/template.h: Remove. + * Makefile.in (M_FILE): Remove. All uses removed. + * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): + * lisp.h (USE_LSB_TAG): + * mem-limits.h (EXCEEDS_LISP_PTR): + Use VAL_MAX, not VALBITS, in #if. + * lisp.h (EMACS_INT_MAX): New macro, useful in #if. + (EMACS_UINT): Define unconditionally now. + (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG) + (BITS_PER_EMACS_INT): New constants, replacing + what used to be in config.h, but not useful in #if. + (GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't + define them any more. + (VAL_MAX): New macro. + (VALMASK): Use it. + * puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not + BITS_PER_EMACS_INT, in #if. + * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY) + (BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed. + * s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]: + * s/ms-w32.h (DATA_START): + Move here from removed file m/intel386.h. + * s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this. + * s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this. + +2012-05-21 Paul Eggert + + Assume C89 or later. + * alloc.c, buffer.c, lisp.h: Replace POINTER_TYPE with void. + * alloc.c (overrun_check_malloc, overrun_check_realloc, xmalloc) + (xrealloc): + * buffer.c (mmap_free_1, mmap_enlarge): Omit needless casts. + * editfns.c, fns.c, gmalloc.c, insdel.c, sysdep.c, termcap.c (NULL): + * textprop.c, tparam.c (NULL): Remove. + * ralloc.c, vm-limit.c (POINTER): Assume void * works. + * regex.c (SIGN_EXTEND_CHAR): Assume signed char works. + * regex.h (_RE_ARGS): Remove. All uses rewritten to use prototypes. + * unexelf.c (ElfBitsW): Assume c89 preprocessor or better. + * xterm.c (input_signal_count): Assume volatile works. + +2012-05-21 Ken Brown + + * xgselect.c (xg_select): Fix first argument in call to 'select' + (bug#11508). + +2012-05-20 Ken Brown + + * gmalloc.c (_free_internal_nolock, _realloc_internal_nolock) + [CYGWIN]: Cast ptr to (char *) before comparing to _heapbase. + +2012-05-19 Ken Brown + + * xfns.c (x_in_use): Remove `static' qualifier. + * xterm.h (x_in_use): Declare. + * xgselect.c: Include xterm.h. + (xg_select): Test `x_in_use' instead of `inhibit_window_system' + and `display_arg' (bug#9754). + +2012-05-19 Paul Eggert + + * s/ms-w32.h (HAVE_GETDOMAINNAME): Remove; not needed. + + * m/vax.h: Remove; no longer needed since HAVE_FTIME is being removed. + * s/ms-w32.h (HAVE_FTIME): Remove; not needed. + +2012-05-18 Eli Zaretskii + + Fix compilation with -DGLYPH_DEBUG=1 on MS-Windows. + + * w32term.c [GLYPH_DEBUG]: Add prototype for x_check_font. + (x_check_font) [GLYPH_DEBUG]: New function, copied from xterm.c. + + * w32fns.c (unwind_create_frame) [GLYPH_DEBUG]: Fix broken + reference to image_cache->refcount. + (x_create_tip_frame): Fix broken use of FRAME_IMAGE_CACHE. + +2012-05-17 Juri Linkov + + * search.c (Fword_search_regexp, Fword_search_backward) + (Fword_search_forward, Fword_search_backward_lax) + (Fword_search_forward_lax): Move functions to isearch.el + (bug#10145, bug#11381). + +2012-05-16 Paul Eggert + + * xgselect.c (xg_select): Just invoke 'select' if -nw (Bug#9754). + +2012-05-15 Stefan Monnier + + * lread.c (init_obarray): Declare Qt and Qnil as special. + +2012-05-14 Glenn Morris + + * nsterm.m (ns_init_paths): Fix typo ("libexec" not "lib-exec"). + Put "libexec" before "bin", for the sake of init_callproc_1. + +2012-05-14 Paul Eggert + + * keyboard.c (kbd_buffer_get_event) [!HAVE_DBUS]: Omit unused local. + + * unexaix.c: Port to more-recent AIX compilers. + (report_error, report_error_1, make_hdr, copy_sym) + (mark_x, adjust_lnnoptrs, unrelocate_symbols): + Make arguments const char *, not char *, to avoid violations of C + standard and to fix some AIX warnings reported by Gilles Pion. + +2012-05-14 Eli Zaretskii + + * xdisp.c (handle_stop): Don't call get_overlay_strings_1 if we + already have overlays loaded. + (handle_single_display_spec): Before returning without displaying + fringe bitmap, synchronize the bidi iterator with the main display + iterator, by calling iterate_out_of_display_property. + (iterate_out_of_display_property): Detect buffer iteration by + testing that it->string is a Lisp string. + (get_next_display_element): When the current object is exhausted, + and there's something on it->stack, call set_iterator_to_next to + proceed with what's on the stack, instead of returning zero. + (set_iterator_to_next): If called at the end of a Lisp string, + proceed to consider_string_end without incrementing string + position. Don't increment display vector index past the end of + the display vector. (Bug#11417) + (pos_visible_p): Don't report a position visible when move_it_to + stopped at the last line of window, which happens to be scanned + backwards by the bidi iteration. (Bug#11464) + +2012-05-14 Eli Zaretskii + + * xdisp.c (handle_single_display_spec): Return 1 for left-margin + and right-margin display specs even if the spec is invalid or we + are on a TTY, and thus unable to display on the fringes. + That's because the text with the property will not be displayed anyway, + so we need to signal to the caller that this is a "replacing" + display spec. This fixes display when the spec is invalid or we + are on a TTY. + +2012-05-14 Paul Eggert + + * unexaix.c (make_hdr): Fix typo in prototype. + This bug broke the build on AIX. Problem reported by Gilles Pion. + +2012-05-14 Michael Albinus + + * keyboard.c (kbd_buffer_get_event): Read special events also in + batch mode. (Bug#11415) + +2012-05-12 Glenn Morris + + * ns.mk: Update for ns_appbindir no longer having trailing "/". + +2012-05-12 Eli Zaretskii + + * lisp.mk (lisp): Add newcomment.elc. + +2012-05-12 Glenn Morris + + * Makefile.in (MKDIR_P): New, set by configure. + * ns.mk (${ns_appdir}, ${ns_appbindir}Emacs): Use $MKDIR_P. + +2012-05-11 Paul Eggert + + Remove unused function hourglass_started. + * dispextern.h (hourglass_started): + * w32fns.c (hourglass_started): + * xdisp.c (hourglass_started): Remove. + +2012-05-10 Juanma Barranquero + + * makefile.w32-in ($(BLD)/gmalloc.$(O), $(BLD)/w32menu.$(O)): + Update dependencies. + +2012-05-10 Paul Eggert + + * xgselect.c (xg_select): Put maxfds+1 into a var. + This is slightly clearer, and pacifies Ubuntu 12.04 gcc. + + * sound.c (DEFAULT_ALSA_SOUND_DEVICE): Define only if HAVE_ALSA. + +2012-05-10 Dave Abrahams + + * filelock.c (syms_of_filelock): New boolean create-lockfiles. + (lock_file): If create_lockfiles is 0, do nothing. (Bug#11227) + +2012-05-09 Michael Albinus + + * dbusbind.c (xd_registered_buses): New internal Lisp object. + Rename all occurrences of Vdbus_registered_buses to xd_registered_buses. + (syms_of_dbusbind): Remove declaration of Vdbus_registered_buses. + Initialize xd_registered_buses. + +2012-05-09 Paul Eggert + + Untag more efficiently if USE_LSB_TAG. + This is based on a proposal by YAMAMOTO Mitsuharu in + . + For an admittedly artificial (nth 8000 longlist) benchmark on + Fedora 15 x86-64, this yields a 25% CPU speedup. Also, it shrinks + Emacs's overall text size by 1%. + * lisp.h (XUNTAG): New macro. + (XCONS, XVECTOR, XSTRING, XSYMBOL, XFLOAT, XMISC, XPROCESS, XWINDOW) + (XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE, XSUB_CHAR_TABLE, XBOOL_VECTOR) + (XSETTYPED_PSEUDOVECTOR, XHASH_TABLE, TYPED_PSEUDOVECTORP): Use it. + * eval.c (Fautoload): + * font.h (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT): + * frame.h (XFRAME): Use XUNTAG. + + Port recent dbusbind.c changes to 32-bit --with-wide-int. + * dbusbind.c (xd_append_arg, xd_retrieve_arg, Fdbus_message_internal): + Remove unportable assumptions about print widths of types like + dbus_uint32_t. + (xd_get_connection_address, Fdbus_init_bus): Cast Emacs integer to + intptr_t when converting between pointer and integer, to avoid GCC + warnings about wrong width. + +2012-05-09 Eli Zaretskii + + * w32proc.c (new_child): Force Windows to reserve only 64KB of + stack for each reader_thread, instead of defaulting to 8MB + determined by the linker. This avoids failures in creating + subprocesses on Windows 7, see the discussion in this thread: + http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00119.html. + +2012-05-07 Jérémy Compostella + + Fix up display of the *Minibuf-0* buffer in the mini window. + * keyboard.c (read_char): Don't clear the echo area if there's no + message to clear. + * xdisp.c (redisplay_internal): Redisplay the mini window (with the + contents of *Minibuf-0*) if there's no message displayed in its stead. + +2012-05-07 Michael Albinus + + * dbusbind.c (XD_DEBUG_MESSAGE): Don't print message twice in + batch mode. + +2012-05-06 Chong Yidong + + * lisp.mk (lisp): Update. + +2012-05-05 Jim Meyering + + * w32font.c (fill_in_logfont): NUL-terminate a string (Bug#11372). + +2012-05-04 Stefan Monnier + + * data.c (PUT_ERROR): New macro. + (syms_of_data): Use it. Add new error type `user-error'. + * undo.c (user_error): New function. + (Fprimitive_undo): Use it. + * print.c (print_error_message): Adjust print style for `user-error'. + * keyboard.c (user_error): New function. + (Fexit_recursive_edit, Fabort_recursive_edit): Use it. + +2012-05-03 Paul Eggert + + Do not limit current-time-string to years 1000..9999. + * editfns.c (TM_YEAR_IN_ASCTIME_RANGE): Remove. + (Fcurrent_time_string): Support any year that is supported by the + underlying localtime representation. Don't use asctime, as it + has undefined behavior for years outside the range -999..9999. + +2012-05-02 Paul Eggert + + Fix race conditions involving setenv, gmtime, localtime, asctime. + Without this fix, interrupts could mess up code that uses these + nonreentrant functions, since setting TZ invalidates existing + tm_zone or tzname values, and since most of these functions return + pointers to static storage. + * editfns.c (format_time_string, Fdecode_time, Fencode_time) + (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule): + Grow the critical sections to include not just invoking + localtime/gmtime, but also accessing these functions' results + including their tm_zone values if any, and any related TZ setting. + (format_time_string): Last arg is now struct tm *, not struct tm **, + so that the struct tm is saved in the critical section. + All callers changed. Simplify allocation of initial buffer, partly + motivated by the fact that memory allocation needs to be outside + the critical section. + +2012-05-02 Dmitry Antipov + + * intervals.c (adjust_intervals_for_insertion): Initialize `newi' + with RESET_INTERVAL. + + * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): + Remove duplicated buffer name initialization. + +2012-05-02 Jim Meyering + + * xterm.c (x_term_init): Use memcpy instead of strncpy (Bug#11373). + + * xfns.c (x_window): Use xstrdup (Bug#11375). + +2012-05-02 Eli Zaretskii + + * xdisp.c (pos_visible_p): If already at a newline from the + display string before the 'while' loop, don't walk back the glyphs + from it3.glyph_row. Solves assertion violation when the display + string begins with a newline (egg.el). (Bug#11367) + +2012-05-01 Stefan Monnier + + * keyboard.c (Fexecute_extended_command, Vsuggest_key_bindings): + Move to simple.el. + +2012-05-01 Glenn Morris + + * syssignal.h: Remove reference to BROKEN_SIGINFO (last used in + s/ptx4.h), BROKEN_SIGTSTP (last used in m/ustation.h, m/dpx2.h), + and BROKEN_SIGURG (was in s/gnu-linux.h prior to 2008-02-10). + All were removed before 23.1. + + * dispnew.c: Remove HAVE_LIBNCURSES test; + it is always true on relevant platforms. + + * Makefile.in (LD_SWITCH_X_SITE_RPATH): + Rename from LD_SWITCH_X_SITE_AUX_RPATH. + + * Makefile.in (LD_SWITCH_X_SITE_AUX): Remove; no longer used. + +2012-04-30 Andreas Schwab + + * .gdbinit (xpr): Remove checks for no longer existing misc types. + (xintfwd, xboolfwd, xobjfwd, xbufobjfwd, xkbobjfwd, xbuflocal): + Remove. + +2012-04-28 Paul Eggert + + Do not avoid creating empty evaporating overlays (Bug#9642). + * buffer.c (Fmove_overlay): Revert the change of 2012-04-23. + That is, do not delete an evaporating overlay if it becomes + empty after its bounds are adjusted to fit within its buffer. + This fix caused other problems, and I'm reverting it until we get + to the bottom of them. + +2012-04-27 Chong Yidong + + * xselect.c (x_convert_selection): Initialize a pointer (Bug#11315). + +2012-04-27 Eli Zaretskii + + * xdisp.c (pos_visible_p): If the window start position is beyond + ZV, start the display from buffer beginning. Prevents assertion + violation in init_iterator when the minibuffer window is scrolled + via the scroll bar. + + * window.c (window_scroll_pixel_based): Likewise. + +2012-04-27 Chong Yidong + + * keymap.c (where_is_internal): Doc fix (Bug#10872). + +2012-04-27 Glenn Morris + + * fileio.c (Fcopy_file, Fset_file_selinux_context): + Ignore ENOTSUP failures from setfilecon functions. (Bug#11245) + +2012-04-27 Eli Zaretskii + + * dispnew.c (swap_glyph_pointers, copy_row_except_pointers): + Don't overrun array limits of glyph row's used[] array. (Bug#11288) + +2012-04-26 Eli Zaretskii + + * xdisp.c (IT_DISPLAYING_WHITESPACE): In addition to the loaded + display element, check also the underlying string or buffer + character. (Bug#11341) + + * w32menu.c: Include w32heap.h. + (add_menu_item): If the call to AppendMenuW (via + unicode_append_menu) fails, disable Unicode menus only if we are + running on Windows 9X/Me. + +2012-04-24 Andreas Schwab + + * .gdbinit (xpr): Handle USE_2_TAGS_FOR_INTS. + (xgetint): Add missing shift for LSB tags. + +2012-04-24 Martin Rudalics + + * keyboard.c (read_char): Don't wipe echo area for select window + events: These might get delayed via `mouse-autoselect-window' + (Bug#11304). + +2012-04-24 Juanma Barranquero + + * gnutls.c (init_gnutls_functions): Protect against (unlikely) + manipulation of :loaded-from data. + +2012-04-23 Juanma Barranquero + + * gnutls.c (init_gnutls_functions): The value of :loaded-from is + now a cons (bug#11311). + +2012-04-23 Paul Eggert + + Do not create empty overlays with the evaporate property (Bug#9642). + * buffer.c (Fmove_overlay): Delete an evaporating overlay + if it becomes empty after its bounds are adjusted to fit within + its buffer. Without this fix, in a nonempty buffer (let ((o + (make-overlay 1 2))) (overlay-put o 'evaporate t) (move-overlay o 0 1)) + yields an empty overlay that has the evaporate property, which is + not supposed to happen. + + Fix minor GTK3 problems found by static checking. + * emacsgtkfixed.c (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed) + (EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed) + (struct _EmacsFixedClass, emacs_fixed_get_type): + Move decls here from emacsgtkfixed.h, since they needn't be public. + (emacs_fixed_get_type): Now static. + (emacs_fixed_class_init): Omit unused local. + (emacs_fixed_child_type): Remove; unused. + * emacsgtkfixed.h (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed) + (EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed) + (struct _EmacsFixedClass): Move to emacsgtkfixed.c. + (EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS) + (EMACS_FIXED_GET_CLASS): Remove; unused. + * gtkutil.c (xg_create_frame_widgets) [!HAVE_GTK3]: Omit unused local. + + * keyboard.c (handle_async_input): Define only if SYNC_INPUT || SIGIO. + Problem reported by Juanma Barranquero for Windows -Wunused-function. + +2012-04-22 Paul Eggert + + Modernize and clean up gmalloc.c to assume C89 (Bug#9119). + * gmalloc.c (_MALLOC_INTERNAL, _MALLOC_H, _PP, __ptr_t) + (__malloc_size_t, __malloc_ptrdiff_t): + Remove. All uses removed, replaced by the definiens if needed, + since we can assume C89 or better now. + Include , for PTRDIFF_MAX, uintptr_t. + (protect_malloc_state, align, get_contiguous_space) + (malloc_atfork_handler_prepare, malloc_atfork_handler_parent) + (malloc_atfork_handler_child, malloc_enable_thread) + (malloc_initialize_1, __malloc_initialize, morecore_nolock) + (_malloc_internal_nolock, _malloc_internal, malloc, _malloc) + (_free, _realloc, _free_internal_nolock, _free_internal, free, cfree) + (special_realloc, _realloc_internal_nolock, _realloc_internal) + (realloc, calloc, __default_morecore, memalign, valloc, checkhdr) + (freehook, mallochook, reallochook, mabort, mcheck, mprobe): + Define using prototypes, not old style. + (align, _malloc_internal_nolock, _free_internal_nolock, memalign): + Don't assume ptrdiff_t and uintptr_t are no wider than unsigned long. + (align): Don't assume that signed integer overflow wraps around. + Omit unused local var. + (malloc_initialize_1, morecore_nolock, _malloc_internal_nolock) + (_free_internal_nolock, memalign, mallochook, reallochook): + Omit no-longer-needed casts. + (valloc): Use getpagesize, not __getpagesize. + (MAGICWORD, MAGICFREE): Now randomish size_t values, not 32-bit. + (struct hdr): The 'magic' member is now size_t, not unsigned long. + + * dbusbind.c (XD_DBUS_VALIDATE_OBJECT): Define only if needed. + +2012-04-22 Michael Albinus + + Move functions from C to Lisp. Make non-blocking method calls + the default. Implement further D-Bus standard interfaces. + + * dbusbind.c (DBUS_NUM_MESSAGE_TYPES): Declare. + (QCdbus_request_name_allow_replacement) + (QCdbus_request_name_replace_existing) + (QCdbus_request_name_do_not_queue) + (QCdbus_request_name_reply_primary_owner) + (QCdbus_request_name_reply_in_queue) + (QCdbus_request_name_reply_exists) + (QCdbus_request_name_reply_already_owner): Move to dbus.el. + (QCdbus_registered_serial, QCdbus_registered_method) + (QCdbus_registered_signal): New Lisp objects. + (XD_DEBUG_MESSAGE): Use sizeof. + (XD_MESSAGE_TYPE_TO_STRING, XD_OBJECT_TO_STRING) + (XD_DBUS_VALIDATE_BUS_ADDRESS, XD_DBUS_VALIDATE_OBJECT) + (XD_DBUS_VALIDATE_BUS_NAME, XD_DBUS_VALIDATE_PATH) + (XD_DBUS_VALIDATE_INTERFACE, XD_DBUS_VALIDATE_MEMBER): New macros. + (XD_CHECK_DBUS_SERIAL): Rename from CHECK_DBUS_SERIAL_GET_SERIAL. + (xd_signature, xd_append_arg): Allow float for integer types. + (xd_get_connection_references): New function. + (xd_get_connection_address): Rename from xd_initialize. + Return cached address. + (xd_remove_watch): Do not unset $DBUS_SESSION_BUS_ADDRESS. + (xd_close_bus): Rename from Fdbus_close_bus. Not needed on Lisp + level. + (Fdbus_init_bus): New optional arg PRIVATE. Cache address. + Return number of refcounts. + (Fdbus_get_unique_name): Make stronger parameter check. + (Fdbus_message_internal): New defun. + (Fdbus_call_method, Fdbus_call_method_asynchronously) + (Fdbus_method_return_internal, Fdbus_method_error_internal) + (Fdbus_send_signal, Fdbus_register_service) + (Fdbus_register_signal, Fdbus_register_method): Move to dbus.el. + (xd_read_message_1): Obey new structure of Vdbus_registered_objects. + (xd_read_queued_messages): Obey new structure of Vdbus_registered_buses. + (Vdbus_compiled_version, Vdbus_runtime_version) + (Vdbus_message_type_invalid, Vdbus_message_type_method_call) + (Vdbus_message_type_method_return, Vdbus_message_type_error) + (Vdbus_message_type_signal): New defvars. + (Vdbus_registered_buses, Vdbus_registered_objects_table): + Adapt docstring. + +2012-04-22 Paul Eggert + + Fix GC_MALLOC_CHECK debugging output on 64-bit hosts. + * alloc.c (emacs_blocked_malloc) [GC_MALLOC_CHECK]: + Do not assume ptrdiff_t is the same width as 'int'. + + * alloc.c: Handle unusual debugging option combinations. + (GC_CHECK_MARKED_OBJECTS): Undef if ! GC_MARK_STACK, + since the two debugging options are incompatible. + (GC_MALLOC_CHECK): Similarly, undef if GC_CHECK_MARKED_OBJECTS + is defined. + (mem_init, mem_insert, mem_insert_fixup): + Define if GC_MARK_STACK || GC_MALLOC_CHECK. + (NEED_MEM_INSERT): Remove; no longer needed. + +2012-04-22 Leo Liu + + * sysdep.c (list_system_processes): Support Darwin (Bug#5725). + +2012-04-22 Paul Eggert + + * sysdep.c [__FreeBSD__]: Minor cleanups. + (list_system_processes, system_process_attributes) [__FreeBSD__]: + Use Emacs indenting style more consistently. Avoid some casts. + Use 'double' consistently rather than mixing 'float' and 'double'. + +2012-04-21 Eduard Wiebe + + * sysdep.c (list_system_processes, system_process_attributes): + Add implementation for FreeBSD (Bug#5243). + +2012-04-21 Andreas Schwab + + * lisp.mk (lisp): Update. + +2012-04-20 Paul Eggert + + * keyboard.c (process_pending_signals): Define only if SYNC_INPUT. + It is never used otherwise. + +2012-04-20 Stefan Monnier + + * print.c (print_preprocess): Only check print_depth if print-circle + is nil. + (print_object): Check for cycles even when print-circle is nil and + print-gensym is t, but only check print_depth if print-circle is nil. + +2012-04-20 Chong Yidong + + * process.c (wait_reading_process_output): If EIO occurs on a pty, + set the status to "failed" and ensure that sentinel is run. + +2012-04-20 Glenn Morris + + * process.c (Fset_process_inherit_coding_system_flag) + (Fset_process_query_on_exit_flag): Doc fix (mention return value). + (Fmake_network_process, Fmake_serial_process): Doc fix. + +2012-04-20 Eli Zaretskii + + * xdisp.c (string_buffer_position_lim): Limit starting position to + BEGV. + (set_cursor_from_row): If called for a mode-line or header-line + row, return zero immediately. + (try_cursor_movement): If inside continuation line, don't back up + farther than the first row after the header line, if any. + Don't consider the header-line row as "partially visible", even if + MATRIX_ROW_PARTIALLY_VISIBLE_P returns non-zero. (Bug#11261) + +2012-04-20 Atsuo Ohki (tiny change) + + * lread.c (lisp_file_lexically_bound_p): Fix hang at ";-*-\n" + (bug#11238). + +2012-04-20 Teodor Zlatanov +2012-04-18 Paul Eggert + + configure: new option --enable-gcc-warnings (Bug#11207) + * Makefile.in (C_WARNINGS_SWITCH): Remove. + (WARN_CFLAGS, WERROR_CFLAGS): New macros. + (ALL_CFLAGS): Use new macros rather than old. + * process.c: Ignore -Wstrict-overflow to work around GCC bug 52904. + * regex.c: Ignore -Wstrict-overflow. If !emacs, also ignore + -Wunused-but-set-variable, -Wunused-function, -Wunused-macros, + -Wunused-result, -Wunused-variable. This should go away once + the Emacs and Gnulib regex code is merged. + (xmalloc, xrealloc): Now static. + +2012-04-17 Paul Eggert + + * dired.c (Fsystem_groups): Remove unused local. + +2012-04-17 Glenn Morris + + * dired.c (Fsystem_users): Doc fix. + +2012-04-17 Dmitry Antipov + + * dired.c (Fsystem_users, Fsystem_groups): New functions. (Bug#7900) + (syms_of_dired): Add them. + +2012-04-16 Paul Eggert + + Fix minor alloc.c problems found by static checking. + * alloc.c (_malloc_internal, _free_internal) [!DOUG_LEA_MALLOC]: + New extern decls, to avoid calling undeclared functions. + (dont_register_blocks): Define if ((!SYSTEM_MALLOC && !SYNC_INPUT) + && GC_MALLOC_CHECK), not if ((GC_MARK_STACK || defined + GC_MALLOC_CHECK) && GC_MALLOC_CHECK), to match when it's used. + (NEED_MEM_INSERT): New macro. + (mem_insert, mem_insert_fixup) [!NEED_MEM_INSERT]: Remove; unused. + Remove one incorrect comment and fix another. + + Fix minor ralloc.c problems found by static checking. + See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html + * ralloc.c (ALIGNED, ROUND_TO_PAGE, HEAP_PTR_SIZE) + (r_alloc_size_in_use, r_alloc_freeze, r_alloc_thaw): Remove; unused. + (r_alloc_sbrk): Now static. + + Improve ralloc.c interface checking. + See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html + * buffer.c (ralloc_reset_variable, r_alloc, r_re_alloc) + (r_alloc_free) [REL_ALLOC]: Move decls from here ... + * lisp.h (r_alloc, r_alloc_free, r_re_alloc, r_alloc_reset_variable) + [REL_ALLOC]: ... to here, to check interface. + * m/ia64.h (r_alloc, r_alloc_free) [REL_ALLOC && !_MALLOC_INTERNAL]: + Remove decls. This fixes an "It stinks!". + + * alloc.c (which_symbols): Fix alignment issue / type clash. + +2012-04-15 Andreas Schwab + + * lisp.h (struct Lisp_Symbol): Remove explicit padding. + (struct Lisp_Misc_Any): Likewise. + (struct Lisp_Free): Likewise. + * alloc.c (union aligned_Lisp_Symbol): Define. + (SYMBOL_BLOCK_SIZE, struct symbol_block): Use union + aligned_Lisp_Symbol instead of struct Lisp_Symbol. + (union aligned_Lisp_Misc): Define. + (MARKER_BLOCK_SIZE, struct marker_block): Use union + aligned_Lisp_Misc instead of union Lisp_Misc. + (Fmake_symbol, allocate_misc, gc_sweep): Adjust. + +2012-04-14 Paul Eggert + + Make GC_MAKE_GCPROS_NOOPS the default (Bug#9926). + * lisp.h (GC_MARK_STACK): Default to GC_MAKE_GCPROS_NOOPS. + * s/cygwin.h, s/darwin.h, s/freebsd.h, s/gnu.h, s/irix6-5.h, s/msdos.h: + * s/netbsd.h, s/sol2-6.h: + Remove definition of GC_MARK_STACK, since the default now works. + * s/aix4-2.h, s/hpux10-20.h, s/unixware.h: + Define GC_MARK_STACK to GC_USE_GCPROS_AS_BEFORE, since that's + no longer the default. + * s/gnu-linux.h (GC_MARK_STACK): Adjust to change in default. + +2012-04-14 Atsuo Ohki (tiny change) + + * lread.c (lisp_file_lexically_bound_p): + Fix hang at ";-*-\n" (bug#11238). + +2012-04-14 Eli Zaretskii + + * xdisp.c (find_last_unchanged_at_beg_row): Don't consider a row + "unchanged" if its end.pos is beyond ZV. (Bug#11199) + +2012-04-14 Jan Djärv + + * nsterm.m (constrainFrameRect): Always constrain when there is only + one screen (Bug#10962). + +2012-04-13 Ken Brown + + * s/cygwin.h (PTY_OPEN): Don't try to close a bogus file descriptor. + +2012-04-13 Reuben Thomas + + * indent.c (Fmove_to_column): Change interactive spec (Bug#739). + +2012-04-11 Daniel Colascione + + * s/cygwin.h: The vfork the #define in cygwin.h was protecting + against is gone. It's better to use vfork now so that when Cygwin + gains a new, working vfork, we use it automatically (bug#10398). + +2012-04-11 Stefan Monnier + + * window.c (save_window_save): Obey window-point-insertion-type. + +2012-04-11 Glenn Morris + + * Makefile.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM. + +2012-04-11 Stefan Monnier + + * alloc.c (lisp_align_malloc): Remove unneeded prototype. + +2012-04-10 Jason S. Cornez (tiny change) + + * keyboard.c: Override inhibit-quit after the third C-g (bug#6585). + (force_quit_count): New var. + (handle_interrupt): Use it. + +2012-04-10 Juanma Barranquero + + * w32.c (w32_delayed_load): Record the full path of the library + being loaded (bug#10424). + +2012-04-09 Glenn Morris + + * doc.c (Fsnarf_documentation): Check variables, functions are bound, + not just in the obarray, before snarfing them. (Bug#11036) + + * Makefile.in ($(leimdir)/leim-list.el): + Pass EMACS rather than BUILT_EMACS. + +2012-04-09 Teodor Zlatanov + + * process.c (make_process): + * process.h: Add integer `gnutls_handshakes_tried' member to + process struct. + + * gnutls.h: Add `GNUTLS_EMACS_HANDSHAKES_LIMIT' upper limit. + Add convenience `GNUTLS_LOG2i' macro. + + * gnutls.c (gnutls_log_function2i): Convenience log function. + (emacs_gnutls_read): Use new log functions, + `gnutls_handshakes_tried' process member, and + `GNUTLS_EMACS_HANDSHAKES_LIMIT' to limit the number of handshake + attempts per process (connection). + +2012-04-09 Chong Yidong + + * eval.c (Fuser_variable_p, user_variable_p_eh) + (lisp_indirect_variable): Functions deleted. + (Fdefvar): Caller changed. + + * callint.c (Finteractive, Fcall_interactively): + * minibuf.c (Fread_variable): Callers changed. + +2012-04-09 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): If the display string appears in + the buffer at position that is closer to point than the position + after the display string, display the cursor on the first glyph of + the display string. Fixes cursor display when a 'display' text + property immediately follows invisible text. (Bug#11094) + +2012-04-09 Paul Eggert + + composite.c: use 'double' consistently + * composite.c (get_composition_id): Use 'double' consistently + instead of converting 'float' to 'double' and vice versa; this is + easier to understand and avoids a GCC warning. + +2012-04-09 Glenn Morris + + * Makefile.in: Generate leim-list with bootstrap-emacs, in + preparation for dumping it with emacs. (Bug#4789) + (leimdir): New variable. + ($(leimdir)/leim-list.el): New rule. + (emacs$(EXEEXT)): Depend on leim-list.el. + + * buffer.c (Qucs_set_table_for_input): Remove. (Bug#9821) + (Fget_buffer_create): Don't call Qucs_set_table_for_input. + (init_buffer_once, syms_of_buffer): Remove Qucs_set_table_for_input. + +2012-04-08 Andreas Schwab + + * lisp.h (struct Lisp_Symbol): Add explicit padding to ensure + proper alignment. + +2012-04-07 Juanma Barranquero + + * xml.c (init_libxml2_functions) [WINDOWSNT]: + Remove unused local variable. + +2012-04-07 Paul Eggert + + Avoid unnecessary pointer scanning in garbage collection (Bug#10780). + * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): New macro. + (mark_memory): Mark Lisp_Objects only if pointers might hide in + objects, as mark_maybe_pointer will catch them otherwise. + (GC_LISP_OBJECT_ALIGNMENT): Remove; no longer needed. + * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT) [__mc68000__]: Likewise. + +2012-04-07 Paul Eggert + + Fix typo that broke non-Windows builds. + * xml.c (libxml2_loaded_p) [!!WINDOWSNT]: 'inine' -> 'inline'. + +2012-04-07 Eli Zaretskii + + Support building on MS-Windows with libxml2. + + * makefile.w32-in (OBJ2): Add xml.$(O). + (GLOBAL_SOURCES): Add xml.c. + ($(BLD)/xml.$(O)): New dependency list. + + * xml.c (DEF_XML2_FN, LOAD_XML2_FN) [WINDOWSNT]: New macros. + (fn_htmlReadMemory, fn_xmlReadMemory, fn_xmlDocGetRootElement) + (fn_xmlFreeDoc, fn_xmlCleanupParser, fn_xmlCheckVersion) + [!WINDOWSNT]: New macros. + (init_libxml2_functions, libxml2_loaded_p): New functions. + (parse_region): Call fn_xmlCheckVersion instead of using the macro + LIBXML_TEST_VERSION. Call libxml2 functions via the fn_* macros. + (xml_cleanup_parser): New function, export for fn_xmlCleanupParser. + Calls xmlCleanupParser only if libxml2 was loaded (or statically + linked in). + (Flibxml_parse_html_region, Flibxml_parse_xml_region): + Call init_libxml2_functions before calling libxml2 functions. + (syms_of_xml) : DEFSYM it. + + * emacs.c: Don't include libxml/parser.h. + (shut_down_emacs): Call xml_cleanup_parser, instead of calling + xmlCleanupParser directly. + + * lisp.h [HAVE_LIBXML2]: Add prototype for xml_cleanup_parser. + +2012-04-07 Eli Zaretskii + + * indent.c (Fvertical_motion): If there is a display string at + point, use it.vpos to compute how many lines to backtrack after + move_it_to point. (Bug#11133) + +2012-04-06 Eli Zaretskii + + * buffer.h (FETCH_CHAR, FETCH_MULTIBYTE_CHAR): + * character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH): Add comments + about subtle differences between FETCH_CHAR* and STRING_CHAR* + macros related to unification of CJK characters. For the details, + see the discussion following the message here: + http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11073#14. + +2012-04-04 Chong Yidong + + * keyboard.c (Vdelayed_warnings_list): Doc fix. + +2012-04-01 Eli Zaretskii + + * w32menu.c (simple_dialog_show, add_menu_item): Use SAFE_ALLOCA + instead of alloca. (Bug#11138) + +2012-04-01 Andreas Schwab + + * w32menu.c (is_simple_dialog): Properly check lisp types. + (Bug#11141) + +2012-03-31 Eli Zaretskii + + * xdisp.c (move_it_by_lines): When DVPOS is positive, and the + position we get to after a call to move_it_to fails the + IS_POS_VALID_AFTER_MOVE_P test, move to the next buffer position + only if we wind up in a string from display property. (Bug#11063) + + * window.c (Fdelete_other_windows_internal): Invalidate the row + and column information about mouse highlight, so that redisplay + restores it after reallocating the glyph matrices. (Bug#7464) + + * xdisp.c (set_cursor_from_row): If `cursor' property on a display + string comes from a `display' text property, use the buffer + position of that property as if we actually saw that position in + the row's glyphs. + (move_it_by_lines): Remove the assertion that + "it->current_x == 0 && it->hpos == 0" which can be legitimately + violated when there's a before-string at the beginning of a line. + (Bug#11063) + +2012-03-30 Eli Zaretskii + + * xdisp.c (append_space_for_newline): If the default face was + remapped, use the remapped face for the appended newline. + (extend_face_to_end_of_line): Use the remapped default face for + extending the face to the end of the line. + (display_line): Call extend_face_to_end_of_line when the default + face was remapped. (Bug#11068) + +2012-03-29 Eli Zaretskii + + * s/ms-w32.h: Discourage from defining HAVE_GETCWD. + +2012-03-28 Stefan Monnier + + * keyboard.c (safe_run_hooks_error): Don't unquote strings. + +2012-03-27 Glenn Morris + + * search.c (Fword_search_backward_lax, Fword_search_forward_lax): + Doc fixes. + +2012-03-26 Kenichi Handa + + * dispextern.h (struct glyph): Fix previous change. Change the + bit length of glyphless.ch to 25 (Bug#11082). + +2012-03-26 Chong Yidong + + * keyboard.c (Vselection_inhibit_update_commands): New variable. + (command_loop_1): Use it; inhibit selection update for + handle-select-window too (Bug#8996). + +2012-03-25 Fabrice Popineau + + * w32heap.c (_heap_init, _heap_term): Remove dead MSVC-specific code. + +2012-03-25 Kenichi Handa + + * dispextern.h (struct glyph): Change the bit length of + glyphless.ch to 22 to make the member glyphless fit in 32 bits. + +2012-03-24 Eli Zaretskii + + * s/ms-w32.h (tzname): Include time.h before redirecting to + _tzname. Fixes the MSVC build. (Bug#9960) + +2012-03-24 Andreas Schwab + + * xdisp.c (produce_glyphless_glyph): Limit length of acronym to 6 + characters. + + * xterm.c (XTread_socket): Only modify handling_signal if + !SYNC_INPUT. (Bug#11080) + +2012-03-23 Eli Zaretskii + + * bidi.c (bidi_fetch_char): Use STRING_CHAR_AND_LENGTH instead of + FETCH_MULTIBYTE_CHAR followed by CHAR_BYTES. Prevents crashes + when fetching a multibyte character consumes more bytes than + CHAR_BYTES returns, due to unification of CJK characters in + string_char. (Bug#11073) + +2012-03-23 Troels Nielsen (tiny change) + + * process.c (wait_reading_process_output): Handle pty disconnect + by refraining from sending oneself a SIGCHLD (bug#10933). + +2012-03-22 Chong Yidong + + * dispextern.h (struct it): New member string_from_prefix_prop_p. + + * xdisp.c (push_prefix_prop): Rename from push_display_prop. + Mark string as coming from a prefix property. + (handle_face_prop): Use default face for prefix strings (Bug#4281). + (pop_it, reseat_1): Save and restore string_from_prefix_prop_p. + +2012-03-21 Chong Yidong + + * xfaces.c (Vface_remapping_alist): Doc fix. + +2012-03-20 Eli Zaretskii + + * w32proc.c (Fw32_set_console_codepage) + (Fw32_set_console_output_codepage, Fw32_get_codepage_charset): + Doc fixes. + +2012-03-20 Chong Yidong + + * dispnew.c (Fredisplay, Vredisplay_preemption_period): Update doc + to reflect default non-nil value of redisplay-dont-pause. + +2012-03-19 Kenichi Handa + + * ftfont.c (ftfont_drive_otf): Mask bits of character code to make + it fit in a valid range (Bug#11003). + +2012-03-18 Eli Zaretskii + + * xdisp.c (cursor_row_p): Even if the glyph row ends in a string + that is not from display property, accept the row as a "cursor + row" if one of the string's character has a non-nil `cursor' + property. Fixes cursor positioning when there are newlines in + overlay strings, e.g. in icomplete.el. (Bug#11035) + +2012-03-12 Paul Eggert + + * buffer.c (compare_overlays): Don't assume args differ (Bug#6830). + +2012-03-12 Chong Yidong + + * eval.c (inhibit_lisp_code): Rename from + inhibit_window_configuration_change_hook; move from window.c. + + * xfns.c (unwind_create_frame_1, Fx_create_frame): + * window.c (run_window_configuration_change_hook) + (syms_of_window): Callers changed. + +2012-03-11 Chong Yidong + + * keymap.c (Fkey_description): Doc fix (Bug#9700). + + * editfns.c (Fconstrain_to_field): Doc fix (Bug#9452). + +2012-03-10 Chong Yidong + + * frame.c (other_visible_frames): Don't assume the selected frame + is visible (Bug#10955). + +2012-03-09 Stefan Monnier + + * buffer.c (compare_overlays): Avoid qsort's instability (bug#6830). + +2012-03-08 Jan Djärv + + * gtkutil.c (x_wm_set_size_hint): Use one row in call to + FRAME_TEXT_LINES_TO_PIXEL_HEIGHT so base_height is greater than + zero (Bug#10954). + +2012-03-03 Glenn Morris + + * alloc.c (Fgarbage_collect, misc-objects-consed): Doc fixes. + +2012-03-02 Eli Zaretskii + + * xdisp.c (try_window_reusing_current_matrix): Don't move cursor + position past the first glyph_row that ends at ZV. (Bug#10902) + (redisplay_window, next_element_from_string): Fix typos in + comments. + (redisplay_window): Pass to move_it_vertically the margin in + pixels, not in screen lines. + +2012-03-02 Glenn Morris + + * buffer.c (buffer-list-update-hook): Doc fix. + +2012-02-29 Eli Zaretskii + + * xdisp.c (get_overlay_strings_1): Under bidi redisplay, call + push_it before setting up the iterator for the first overlay + string, even if we have an empty string loaded. + (next_overlay_string): If there's an empty string on the iterator + stack, pop the stack. (Bug#10903) + +2012-02-25 Paul Eggert + + Generalize fix for crash due to non-contiguous EMACS_INT (Bug#10780). + Suggested by Stefan Monnier in + . + * alloc.c (widen_to_Lisp_Object): New static function. + (mark_memory): Also mark Lisp_Objects by fetching pointer words + and widening them to Lisp_Objects. This would work even if + USE_LSB_TAG is defined and wide integers are used, which might + happen in a future version of Emacs. + +2012-02-25 Chong Yidong + + * fileio.c (Ffile_selinux_context, Fset_file_selinux_context): + Doc fix. + + * xselect.c (Fx_selection_exists_p): Doc fix. + (x_clipboard_manager_save_all): Print an informative message + before saving to clipboard manager. + +2012-02-24 Chong Yidong + + * keyboard.c (process_special_events): Handle all X selection + requests in kbd_buffer, not just the next one (Bug#8869). + +2012-02-23 Chong Yidong + + * xfns.c (Fx_create_frame): Avoid window-configuration-change-hook + call when setting menu-bar-lines and tool-bar-lines parameters. + (unwind_create_frame_1): New helper function. + + * window.c (inhibit_window_configuration_change_hook): New var. + (run_window_configuration_change_hook): Obey it. + (syms_of_window): Initialize it. + +2012-02-22 Chong Yidong + + * xterm.c (x_draw_image_relief): Add missing type check for + Vtool_bar_button_margin (Bug#10743). + +2012-02-21 Chong Yidong + + * fileio.c (Vfile_name_handler_alist): Doc fix. + + * buffer.c (Fget_file_buffer): Protect against invalid file + handler return value. + +2012-02-20 Paul Eggert + + * .gdbinit (xreload): Don't assume EMACS_INT fits in 'long' + when computing $valmask. + + Fix crash due to non-contiguous EMACS_INT (Bug#10780). + * lisp.h (VALBITS): Move definition up, so that USE_LSB_TAG can use it. + (USE_LSB_TAG): Do not define if UINTPTR_MAX >> VALBITS == 0. + It's useless in that case, and it can cause problems on hosts + that allocate halves of EMACS_INT values separately. + Reported by Dan Horák. Diagnosed by Andreas Schwab in + . + * mem-limits.h (EXCEEDS_LISP_PTR): Define to 0 on hosts where + UINTPTR_MAX >> VALBITS == 0. This is required by the above change; + it avoids undefined behavior on hosts where shifting right by more + than the word width has undefined behavior. + +2012-02-19 Chong Yidong + + * fileio.c (Ffile_name_directory, Ffile_name_nondirectory) + (Funhandled_file_name_directory, Ffile_name_as_directory) + (Fdirectory_file_name, Fexpand_file_name) + (Fsubstitute_in_file_name): Protect against invalid file handler + return values (Bug#10845). + +2012-02-18 Eli Zaretskii + + * .gdbinit (pitx): Fix incorrect references to fields of the + iterator stack. + +2012-02-17 Chong Yidong + + * syntax.c (Fscan_lists): Doc fix (Bug#10833). + +2012-02-15 Paul Eggert + + * image.c (MAX_IMAGE_SIZE): Increase from 6.0 to 10.0; see + . + +2012-02-15 Chong Yidong + + * eval.c (Fdefvar, Fdefconst): Doc fix; note that the variable is + marked as special. Also, starting docstrings with * is obsolete. + +2012-02-13 Andreas Schwab + + * gnutls.c (emacs_gnutls_write): Fix last change. + +2012-02-13 Lars Ingebrigtsen + + * gnutls.c (emacs_gnutls_write): Set errno appropriately for + send_process. + +2012-02-13 Stefan Monnier + + * keymap.c (Fsingle_key_description): Handle char ranges. + +2012-02-12 Chong Yidong + + * xdisp.c (handle_stop): Avoid assigning -1 to it->face_id here, + as that creates a dangerous corner case. + + * window.c (Fdelete_window_internal): Invalidate the mouse + highlight (Bug#9904). + +2012-02-12 Glenn Morris + + * xselect.c (Fx_own_selection_internal) + (Fx_get_selection_internal, Fx_disown_selection_internal) + (Fx_selection_owner_p, Fx_selection_exists_p): Doc fixes. + * nsselect.m (Fx_own_selection_internal) + (Fx_disown_selection_internal, Fx_selection_exists_p) + (Fx_selection_owner_p, Fx_get_selection_internal): + Sync docs and argument specs with the xselect.c versions. + +2012-02-11 Lars Ingebrigtsen + + * gnutls.c (emacs_gnutls_write): Don't infloop if sendto fails. + +2012-02-11 Eli Zaretskii + + * w32select.c (Fx_selection_exists_p): Sync doc string and + argument list with xselect.c. (Bug#10783) + + * w16select.c (Fx_selection_exists_p): Sync doc string and + argument list with xselect.c. (Bug#10783) + +2012-02-10 Glenn Morris + + * fns.c (Fsecure_hash): Doc fix. + +2012-02-09 Kenichi Handa + + * coding.c (produce_chars): Fix updating of src_end (Bug#10701). + +2012-02-07 Chong Yidong + + * buffer.c (Fbuffer_local_variables) + (buffer_lisp_local_variables): Handle unbound vars correctly; + don't let Qunbound leak into Lisp. + +2012-02-07 Glenn Morris + + * image.c (Fimagemagick_types): Doc fix. + + * image.c (imagemagick-render-type): Change it from a lisp object + to an integer. Move the doc here from the lisp manual. + Treat all values not equal to 0 the same. + +2012-02-06 Chong Yidong + + * doc.c (store_function_docstring): Avoid applying docstring of + alias to base function (Bug#2603). + +2012-02-04 Andreas Schwab + + * .gdbinit (pp1, pv1): Remove redundant defines. + (pr): Use pp. + +2012-02-04 Chong Yidong + + * nsterm.m: Declare a global (Bug#10694). + +2012-02-04 Eli Zaretskii + + * w32.c (get_emacs_configuration_options): + Include --enable-checking, if specified, in the return value. + +2012-02-04 Martin Rudalics + + * dispnew.c (change_frame_size_1): Calculate new_frame_total_cols + after rounding frame sizes. (Bug#9723) + +2012-02-04 Eli Zaretskii + + * keyboard.c (adjust_point_for_property): Don't position point + before BEGV. (Bug#10696) + +2012-02-03 Paul Eggert + + Handle overflow when computing char display width (Bug#9496). + * character.c (char_width): Return EMACS_INT, not int. + (char_width, c_string_width): Check for overflow when + computing the width; this is possible now that individual + characters can have unbounded width. Problem introduced + by merge from Emacs 23 on 2012-01-19. + +2012-02-02 Michael Albinus + + * dbusbind.c (Fdbus_register_method): Mention the return value + :ignore in the docstring. + +2012-02-02 Glenn Morris + + * callproc.c (Fcall_process, Fcall_process_region): Doc fix. + + * nsterm.m (syms_of_nsterm) : + Unconditionally set to t. (Bug#10673) + * nsterm.m (syms_of_nsterm) : + * w32term.c (syms_of_w32term) : + * xterm.c (syms_of_xterm) : Doc fix. + +2012-02-02 Kenichi Handa + + (x_produce_glyphs): Cancel previous change. If cmp->glyph_len is + 0, do not call append_composite_glyph. + +2012-02-02 Kenichi Handa + + * xdisp.c (BUILD_COMPOSITE_GLYPH_STRING): Initialize first_s to + NULL (Bug#6988). + (x_produce_glyphs): If the component of a composition is a null + string, set it->pixel_width to 1 to avoid zero-width glyph. + +2012-02-01 Eli Zaretskii + + * ralloc.c (resize_bloc, r_alloc_sbrk): Don't call memmove if its + first 2 arguments are identical. This makes inserting large + output from a subprocess an order of magnitude faster on + MS-Windows, where all sbrk'ed memory is always contiguous. + +2012-01-31 Glenn Morris + + * nsterm.m (syms_of_nsterm) : + * w32term.c (syms_of_w32term) : + * xterm.c (syms_of_xterm) : Sync docs. + +2012-01-29 Glenn Morris + + * gnutls.c (syms_of_gnutls): More doc (from etc/NEWS). + +2012-01-28 Samuel Thibault (tiny change) + + * s/gnu.h: Define POSIX_SIGNALS (Bug#10552). + +2012-01-28 Chong Yidong + + * minibuf.c (syms_of_minibuf): Doc fix (Bug#10550). + +2012-01-26 Chong Yidong + + * keyboard.c (Vecho_keystrokes): Document zero value (Bug#10503). + + * search.c (Fsearch_forward, Fsearch_backward): Document negative + repeat counts (Bug#10507). + +2012-01-26 Glenn Morris + + * lread.c (syms_of_lread): Doc fix. + +2012-01-25 HIROSHI OOTA (tiny change) + + * coding.c (encode_designation_at_bol): Change return value to + EMACS_INT. + +2012-01-25 Chong Yidong + + * eval.c (Fuser_variable_p): Doc fix; mention custom-variable-p. + +2012-01-21 Chong Yidong + + * floatfns.c (Fcopysign): Make the second argument non-optional, + since nil is not allowed anyway. + +2012-01-21 Andreas Schwab + + * process.c (read_process_output): Use p instead of XPROCESS (proc). + (send_process): Likewise. + +2012-01-19 Martin Rudalics + + * window.c (save_window_save, Fcurrent_window_configuration) + (Vwindow_persistent_parameters): Do not use Qstate. + Rewrite doc-strings. + +2012-01-19 Kenichi Handa + + * character.c (char_width): New function. + (Fchar_width, c_string_width, lisp_string_width): + Use char_width (Bug#9496). + +2012-01-16 Martin Rudalics + + * window.c (Vwindow_persistent_parameters): New variable. + (Fset_window_configuration, save_window_save): Handle persistent + window parameters. + +2012-01-14 Eli Zaretskii + + * w32fns.c (signal_user_input): Don't do a QUIT, to avoid + thrashing the stack of the thread. (Bug#9087) + +2012-01-12 Paul Eggert + + * xdisp.c (rows_from_pos_range): Add parens as per gcc -Wparentheses. + +2012-01-11 Eli Zaretskii + + * xdisp.c (rows_from_pos_range): Handle the case where the + highlight ends on a newline. (Bug#10464) + (mouse_face_from_buffer_pos): Fix off-by-one error in calculating + he end column for display of highlight that ends on a newline + before a R2L line. + +2012-01-11 Glenn Morris + + * lread.c (init_lread): If no-site-lisp, remove site-lisp dirs + from load-path also when installation-directory is nil. (Bug#10208) + +2012-01-10 Glenn Morris + + * emacs.c (syms_of_emacs) : Doc fix. + + * epaths.in (PATH_LOADSEARCH, PATH_EXEC, PATH_DATA, PATH_DOC): + Update template values to be closer to their typical values these days. + +2012-01-09 Eli Zaretskii + + * xdisp.c (rows_from_pos_range): Accept additional argument + DISP_STRING, and accept any glyph in a row whose object is that + string as eligible for mouse highlight. Fixes mouse highlight of + display strings from overlays. (Bug#10464) + +2012-01-07 Paul Eggert + + emacs: fix an auto-save permissions race condition (Bug#10400) + * fileio.c (auto_saving_dir_umask): New static var. + (Fmake_directory_internal): Use it. + (do_auto_save_make_dir): Set it, instead of invoking chmod after + creating the directory. The old code temporarily assigns + too-generous permissions to the directory. + (do_auto_save_eh): Clear it. + (Fdo_auto_save): Catch all errors, not just file errors, so + that the var is always cleared. + +2012-01-07 Eli Zaretskii + + * search.c (scan_buffer): Pass character positions to + know_region_cache, not byte positions. (Bug#6540) + +2012-01-07 LynX <_LynX@bk.ru> (tiny change) + + * w32.c (sys_rename): Report EXDEV when rename of a directory + fails because the target is on another logical disk. (Bug#10284) + +2012-01-07 David Benjamin (tiny change) + + * xterm.c (x_embed_request_focus): New function. + + * xterm.h: Add prototype. + + * xfns.c (Fx_focus_frame): Use it for embedded frames (Bug#9977). + +2012-01-05 Glenn Morris + + * emacs.c (emacs_copyright): Update short copyright year to 2012. + +2012-01-01 Eli Zaretskii + + * gnutls.c (init_gnutls_functions): Load gnutls_check_version. + Load gnutls_transport_set_lowat only if GnuTLS version is below + 2.11.1. + (emacs_gnutls_handshake): Call gnutls_transport_set_lowat only for + GnuTLS versions below 2.11.1. + +2011-12-31 Antoine Levitt + + * xdisp.c (syms_of_xdisp) : Add warning + to the doc string advising against its use for altering the way + windows are scrolled. + +2011-12-28 Kenichi Handa + + * coding.c (Fdefine_coding_system_internal): Make an utf-8 base + coding-system ASCII compatible only when it does not produce BOM + on encoding (Bug#10383). + +2011-12-26 Jan Djärv + + * xmenu.c (x_menu_wait_for_event): Use xg_select for Gtk3 so menus + can scroll. + (create_and_show_popup_menu): Always use menu_position_func for + Gtk3 (Bug#10361). + +2011-12-24 Andreas Schwab + + * callint.c (Fcall_interactively): Don't truncate prompt string. + +2011-12-23 Eli Zaretskii + + * xdisp.c (handle_invisible_prop): Handle correctly an invisible + property that ends at ZV, so that the bidi iteration could be + resumed from there (after widening). (Bug#10360) + +2011-12-22 Jan Djärv + + * nsfont.m (ns_spec_to_descriptor): Do not autorelease fdesc. + +2011-12-21 Jan Djärv + + * nsterm.m (x_free_frame_resources): + Release f->output_data.ns->miniimage. + (ns_index_color): Fix indentation. Do not retain + color_table->colors[i]. + + * nsmenu.m (ns_update_menubar): Call free_menubar_widget_value_tree + before returning. + + * nsfns.m (x_set_background_color): Assign return value from + ns_index_color to face-background instead of NSColor*. + (ns_implicitly_set_icon_type): Fix indentation. + Change assignment in for loop to comparison. + + * emacs.c (ns_pool): New variable. + (main): Assign ns_pool. + (Fkill_emacs): Call ns_release_autorelease_pool. + + * nsfont.m (ns_spec_to_descriptor): Fix indentation, + autorelease fdesc, release fdAttrs and tdict. + (ns_get_covering_families): Release charset. + (ns_findfonts): Release NSFontDescriptor created with new. + (ns_uni_to_glyphs): Fix indentation. + (setString): Release attrStr before assigning new value. + +2011-12-18 Jan Djärv + + * nsmenu.m (NSMenuDidBeginTrackingNotification): Declare if OSX < 10.5 + and NS_IMPL_COCOA. + (trackingNotification): Surround with ifdef NS_IMPL_COCOA. + (syms_of_nsmenu): Set trackingMenu to 1 if not NS_IMPL_COCOA. + +2011-12-18 David Reitter + + * nsterm.m (ns_term_init): Subscribe for notifications + NSMenuDidBeginTrackingNotification and NSMenuDidEndTrackingNotification + to method trackingNotification in EmacsMenu. + + * nsmenu.m (trackingMenu): New variable. + (trackingNotification): New method (from Aquamacs). + (menuNeedsUpdate): Expand comment and return if trackingMenu is 0, + from Aquamacs (Bug#7030). + +2011-12-18 Jan Djärv + + * nsselect.m (CUT_BUFFER_SUPPORT): Remove define. + (symbol_to_nsstring): Fix indentation. + (ns_symbol_to_pb): New function. + (Fns_get_selection_internal): Rename from Fns_get_cut_buffer_internal. + (Fns_rotate_cut_buffers_internal): Remove. + (Fns_store_selection_internal): Rename from + Fns_store_cut_buffer_internal. + (ns_get_foreign_selection, Fx_own_selection_internal) + (Fx_disown_selection_internal, Fx_selection_exists_p) + (Fns_get_selection_internal, Fns_store_selection_internal): + Use ns_symbol_to_pb and check if return value is nil. + (syms_of_nsselect): Remove ifdef CUT_BUFFER_SUPPORT. Remove defsubr + Sns_rotate_cut_buffers_internal. Sns_get_cut_buffer_internal + renamed to Sns_get_selection_internal, Sns_store_cut_buffer_internal + renamed to Sns_store_selection_internal. + (ns_handle_selection_request): Move code to Fx_own_selection_internal + and remove this function. + (ns_handle_selection_clear): Remove, never used. + (Fx_own_selection_internal): Move code from ns_handle_selection_request + here. + +2011-12-17 Ken Brown + + * fileio.c (check_writable) [CYGWIN]: Return non-zero if UID or + GID is unknown (Bug#10257). + +2011-12-17 Paul Eggert + + * s/gnu-linux.h: Fix mark_memory typo (Bug#10286). + (GC_MARK_SECONDARY_STACK): Omit removed 3rd arg to mark_memory, + which caused a build failure on GNU/Linux IA-64. This problem was + introduced by my 2011-10-07 patch. + +2011-12-15 Juri Linkov + + * image.c (imagemagick_error): New function. (Bug#10112) + (imagemagick_load_image): Comment out `MagickSetResolution' call. + Use `imagemagick_error' where ImageMagick functions return + `MagickFalse'. + (Fimagemagick_types): Add `Fnreverse' to return the list in the + proper order. + +2011-12-15 YAMAMOTO Mitsuharu + + * xftfont.c (xftfont_draw): Use the font metrics of s->font to + fill background (Bug#8992). + +2011-12-13 Martin Rudalics + + * window.c (Vwindow_combination_resize) + (Vwindow_combination_limit): Use t instead of non-nil in + doc-strings. + (Vrecenter_redisplay): Add first sentence of doc-string on + separate line. + (Frecenter): Fix doc-string typo. + +2011-12-11 Kenichi Handa + + * coding.c (Funencodable_char_position): Pay attention to the + buffer text relocation (Bug#9389). + +2011-12-10 Jan Djärv + + * xterm.c (x_term_init): Move call to gdk_window_add_filter before + gtk_init (Bug#10100). + +2011-12-10 Eli Zaretskii + + * xdisp.c (RECORD_MAX_MIN_POS): Use IT->cmp_it.charpos only if + IT->string is nil. (Bug#10263) + +2011-12-10 Jan Djärv + + * nsterm.h (x_free_frame_resources): Declare. + + * nsfns.m (ns_get_defaults_value): New function (Bug#10103). + (Fns_get_resource, x_get_string_resource): Call ns_get_defaults_value. + + * nsterm.h (ns_get_defaults_value): Declare. + + * nsterm.m (ns_default): Call ns_get_defaults_value. + +2011-12-09 Eli Zaretskii + + * xdisp.c (try_scrolling): Don't set scroll_down_p if dy is zero. + (Bug#10170) + +2011-12-09 YAMAMOTO Mitsuharu + + * unexelf.c (unexec) [NS_IMPL_GNUSTEP]: Take account of the case + that where the value of an _OBJC_* symbol points to is in the .bss + section (Bug#10240). + +2011-12-08 Kazuhiro Ito (tiny change) + + * coding.c (encode_coding_ccl): Check (charbuf < charbuf_end) + after the loop to call ccl_driver at least once (Bug#8619). + +2011-12-08 Kenichi Handa + + * ftfont.c (get_adstyle_property): Fix previous change + (Bug#10233). + +2011-12-07 Juanma Barranquero + + * w32.c (init_environment): If no_site_lisp, remove site-lisp + dirs from the default value of EMACSLOADPATH (bug#10208). + +2011-12-07 Glenn Morris + + * lread.c (init_lread): If no_site_lisp, exclude site-lisp/ in + installation and source directories as well. (Bug#10208) + +2011-12-06 Chong Yidong + + * minibuf.c (Fread_from_minibuffer): Doc fix (Bug#10228). + +2011-12-06 Glenn Morris + + * process.c (start_process_unwind): Treat any pid <= 0, except -2, + as an error, not just -1. (Bug#10217) + +2011-12-05 Chong Yidong + + * keyboard.c (process_special_events): New function. + (swallow_events, Finput_pending_p): Use it (Bug#10195). + +2011-12-05 Paul Eggert + + * coding.c (encode_designation_at_bol): Don't use uninitialized + local variable (Bug#9318). + +2011-12-05 Kenichi Handa + + * ftfont.c (get_adstyle_property): If the font is not BDF nor PCF, + return Qnil (Bug#8046, Bug#10193). + +2011-12-05 Kenichi Handa + + * coding.c (encode_designation_at_bol): New args charbuf_end and + dst. Return the number of produced bytes. Callers changed. + (coding_set_source): Return how many bytes coding->source was + relocated. + (coding_set_destination): Return how many bytes + coding->destination was relocated. + (CODING_DECODE_CHAR, CODING_ENCODE_CHAR, CODING_CHAR_CHARSET) + (CODING_CHAR_CHARSET_P): Adjust for the avove changes. + +2011-12-05 Kazuhiro Ito (tiny change) + + * coding.c (CODING_CHAR_CHARSET_P): New macro. + (encode_coding_emacs_mule, encode_coding_iso_2022): Use the above + macro (Bug#9318). + +2011-12-05 Andreas Schwab + + The following changes are to fix Bug#9318. + + * coding.c (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET): New macros. + (encode_coding_emacs_mule, ENCODE_ISO_CHARACTER) + (encode_coding_iso_2022, encode_coding_sjis) + (encode_coding_big5, encode_coding_charset): Use the above macros. + +2011-12-05 Juanma Barranquero + + * lisp.h (process_quit_flag): Fix external declaration. + +2011-12-04 Stefan Monnier + + Don't macro-inline non-performance-critical code. + * eval.c (process_quit_flag): New function. + * lisp.h (QUIT): Use it. + +2011-12-04 Jan Djärv + + * nsfns.m (get_geometry_from_preferences): New function. + (Fx_create_frame): Call get_geometry_from_preferences (Bug#10103). + +2011-12-04 Andreas Schwab + + * emacs.c (Qkill_emacs): Define. + (syms_of_emacs): Initialize it. + * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set + Qquit_flag to `kill-emacs' instead. + (quit_throw_to_read_char): Add parameter `from_signal'. + All callers changed. Call Fkill_emacs if requested and safe. + * lisp.h (QUIT): Call Fkill_emacs if requested. + +2011-12-03 Jan Djärv + + * widget.c (update_wm_hints): Return if wmshell is null. + (widget_update_wm_size_hints): New function. + + * widget.h (widget_update_wm_size_hints): Declare. + + * xterm.c (x_wm_set_size_hint): If USE_X_TOOLKIT, call + widget_update_wm_size_hints (Bug#10104). + +2011-12-03 Eli Zaretskii + + * xdisp.c (handle_invisible_prop): If the invisible text ends just + before a newline, prepare the bidi iterator for consuming the + newline, and keep the current paragraph direction. (Bug#10183) + (redisplay_window): Don't let `margin' become negative. (Bug#10192) + +2011-12-02 Juri Linkov + + * search.c (Fword_search_regexp): New Lisp function created from + `wordify'. Change type of arg `lax' from `int' to `Lisp_Object'. + (Fword_search_backward, Fword_search_forward) + (Fword_search_backward_lax, Fword_search_forward_lax): + Use `Fword_search_regexp' instead of `wordify'. Doc fix. + (syms_of_search): Define `Sword_search_regexp'. (Bug#10145) + +2011-12-01 Stefan Monnier + + * fileio.c (Finsert_file_contents): Move after-change-function call + to before the "handled:" label, since all "goto handled" appear in + cases where the *-change-functions have already been properly called + (bug#10117). + +2011-12-01 Andreas Schwab + + * keyboard.c (interrupt_signal): Don't call kill-emacs when + waiting for input. (Bug#10169) + +2011-11-30 Eli Zaretskii + + * dispnew.c (adjust_glyph_matrix): Remove the assertion that + verifies glyph row's hash code--we have just reallocated the + glyphs, so their contents can be complete garbage. (Bug#10164) + +2011-11-30 Juanma Barranquero + + * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Add missing check. + +2011-11-30 Eli Zaretskii + + * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Ensure ROW's + attributes are tested _before_ calling verify_row_hash, to protect + against GCC re-ordering of the tests. (Bug#10164) + +2011-11-29 Jan Djärv + + * xterm.h (struct x_output): net_wm_state_hidden_seen is new. + + * xterm.c (handle_one_xevent): Only set async_visible and friends + if net_wm_state_hidden_seen is non-zero (Bug#10002) + (get_current_wm_state): Set net_wm_state_hidden_seen to 1 if + _NET_WM_STATE_HIDDEN is in NET_WM_STATE. + +2011-11-28 Paul Eggert + + Remove GCPRO-related macros that exist only to avoid shadowing locals. + * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR) + (GCPRO6_VAR, UNGCPRO_VAR): Remove. See + . + All uses changed to use GCPRO1 etc. + (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, UNGCPRO): + Revert to old implementation (i.e., before 2011-03-11). + +2011-11-28 YAMAMOTO Mitsuharu + + * dispnew.c (scrolling_window): Truncate overlaps in copy destination + of scroll runs so as to avoid assigning disabled bogus rows and + unnecessary graphics copy operations. + +2011-11-27 Eli Zaretskii + + * s/ms-w32.h (utimbuf) [_MSC_VER]: Don't define. + (snprintf) [_MSC_VER]: Redirect to _snprintf. + (strtoll) [_MSC_VER]: Redirect to _strtoi64. + (malloc, free, realloc, calloc): Redirect to e_* only when + compiling Emacs. + + * lisp.h (GCTYPEBITS): Move before first use. + (ALIGN_GCTYPEBITS) [_MSC_VER]: Define. + (DECL_ALIGN) [_MSC_VER]: Use it, as MSVC doesn't like bit ops in + this macro definition. + + * s/ms-w32.h (tzname): Redirect to _tzname for all values of + _MSC_VER. + +2011-11-27 Jan Djärv + + * gtkutil.c (xg_create_frame_widgets): + Call gtk_window_set_has_resize_grip (FALSE) if that function is + present with Gtk+ 2.0. + +2011-11-26 Paul Eggert + + * fileio.c (Finsert_file_contents): Undo previous change; see + . + +2011-11-26 Paul Eggert + + Rename locals to avoid shadowing. + * fileio.c (Finsert_file_contents): + Rename inner 'gcpro1' to 'inner_gcpro1' to avoid shadowing. + * process.c (wait_reading_process_output): + Rename inner 'proc' to 'p' to avoid shadowing. + Indent for consistency with usual Emacs style. + +2011-11-25 Eli Zaretskii + + * xdisp.c (redisplay_window): If cursor row is not fully visible + after recentering, and scroll-conservatively is set to a large + number, scroll window by a few more lines to make the cursor fully + visible and out of scroll-margin. (Bug#10105) + (start_display): Don't move to the next line if the display should + start at a newline that is part of a display vector or an overlay + string. (Bug#10119) + +2011-11-24 Juri Linkov + + * image.c (imagemagick_load_image): Move `MagickSetResolution' down + after the `MagickPingImage' call. (Bug#10112) + +2011-11-23 Chong Yidong + + * window.c (Fcoordinates_in_window_p): Accept only live windows. + +2011-11-23 Martin Rudalics + + * buffer.c (Fkill_buffer): Run replace_buffer_in_windows before + making another buffer current. (Bug#10114) + +2011-11-23 Glenn Morris + + * font.c (font_find_for_lface) [HAVE_NS]: Ignore case. (Bug#2526) + +2011-11-23 Chong Yidong + + * xdisp.c (compute_stop_pos): Check validity of end_charpos before + using it (Bug#5984). + +2011-11-22 Eli Zaretskii + + * dispnew.c (adjust_glyph_matrix): Don't verify hash code of mode- + and header-lines, as they don't have one computed for them. + (Bug#10098) + + * .gdbinit (prow): Make displayed values more self-explaining. + Add row's hash code. + +2011-11-21 Lars Magne Ingebrigtsen + + * process.c (wait_reading_process_output): Fix asynchrounous + GnuTLS socket handling on some versions of the GnuTLS library. + (wait_reading_process_output): Add comment and URL. + +2011-11-21 Jan Djärv + + * xterm.c (x_clear_frame): Reinstate the XClearWindow call. + +2011-11-21 Chong Yidong + + * window.c (Fnext_window, Fprevious_window): Doc fix. + +2011-11-20 Stefan Monnier + + * window.c (get_phys_cursor_glyph): Fix Lisp_Object/int mixup. + +2011-11-20 Juanma Barranquero + + * nsfont.m (syms_of_nsfont) : Fix typo. + +2011-11-20 Martin Rudalics + + * window.c (Fset_window_combination_limit): Rename argument + STATUS to LIMIT. + (Vwindow_combination_limit): Remove "status" from doc-string. + +2011-11-20 Andreas Schwab + + * m/ibms390.h: Remove. + * m/ibms390x.h: Don't include "ibms390.h". + +2011-11-20 Stefan Monnier + + * fileio.c (Finsert_file_contents): Add missing gcpro1 variable. + Suggested by Dmitry Antipov . + +2011-11-20 Juanma Barranquero + + * casetab.c (Fset_case_table): + * charset.c (Fcharset_after): Fix typos. + +2011-11-20 Paul Eggert + + Standardize on VIRT_ADDR_VARIES behavior (Bug#10042). + Otherwise, valgrind does not work on some platforms. + Problem reported by Andreas Schwab in + . + * puresize.h (pure, PURE_P): Always behave as if VIRT_ADDR_VARIES + is set, removing the need for VIRT_ADDRESS_VARIES. + (PURE_P): Use a more-efficient implementation that needs just one + comparison, not two: on x86-64 with GCC 4.6.2, this cut down the + number of instructions from 6 (xorl, cmpq, jge, xorl, cmpq, setge) + to 4 (xorl, subq, cmpq, setbe). + * alloc.c (pure): Always extern now, since that's the + VIRT_ADDR_VARIES behavior. + (PURE_POINTER_P): Use a single comparison, not two, for + consistency with the new puresize.h. + * lisp.h (PNTR_COMPARISON_TYPE): Remove; no longer needed. + * m/ibms390.h, m/intel386.h, m/template.h, s/cygwin.h, s/hpux10-20.h: + Remove VIRT_ADDR_VARIES no longer needed. + +2011-11-19 Eli Zaretskii + + * xdisp.c (x_write_glyphs, draw_phys_cursor_glyph) + (erase_phys_cursor, update_window_cursor, show_mouse_face) + (cursor_in_mouse_face_p): If the cursor position is out of bounds, + behave as if the cursor position were at the window margin. + + * window.c (get_phys_cursor_glyph): If the window is hscrolled, + and the cursor position is out of bounds, behave as if the cursor + position were at the window margin. (Bug#10075) + +2011-11-18 Chong Yidong + + * window.c (Fwindow_combination_limit): Make first argument + non-optional, since it is meaningless for live windows like the + selected window. + +2011-11-18 Dmitry Antipov + + * keymap.c (Fwhere_is_internal): Add missing RETURN_UNGCPROs. + +2011-11-18 Stefan Monnier + + * intervals.c: Fix grafting over the whole buffer (bug#10071). + (graft_intervals_into_buffer): Simplify. + +2011-11-18 Eli Zaretskii + + * dispnew.c (swap_glyph_pointers): Swap the used[] arrays and the + hash values of the two rows. + (copy_row_except_pointers): Preserve the used[] arrays and the + hash values of the two rows. (Bug#10035) + (add_row_entry): Add xassert to verify that ROW's hash code is valid. + + * xdisp.c (row_hash): New function, body extracted from + compute_line_metrics. + (compute_line_metrics): Call row_hash, instead of computing the + hash code inline. + + * dispnew.c (verify_row_hash): Call row_hash for computing the + hash code of a row, instead of duplicating code from xdisp.c. + + * dispextern.h (row_hash): Add prototype. + +2011-11-18 Tassilo Horn + + * frame.c (delete_frame): Don't delete the terminal when the last + X frame is closed if emacs is built with GTK toolkit. + +2011-11-17 Juanma Barranquero + + * window.c (syms_of_window) : Fix typo. + +2011-11-17 Martin Rudalics + + * window.c (Vwindow_splits): Rename to + Vwindow_combination_resize. Suggested by Juri Linkov. + (Fsplit_window_internal): Use Vwindow_combination_resize instead + of Vwindow_splits. + +2011-11-16 Juanma Barranquero + + * nsfns.m (Fns_font_name): + * window.c (syms_of_window) : Fix typos. + +2011-11-16 Martin Rudalics + + * window.h (window): Rename slot "nest" to "combination_limit". + * window.c (Fwindow_nest): Rename to Fwindow_combination_limit. + (Fset_window_nest): Rename to Fset_window_combination_limit. + (Vwindow_nest): Rename to Vwindow_combination_limit. + (recombine_windows, make_parent_window, make_window) + (Fsplit_window_internal, saved_window) + (Fset_window_configuration, save_window_save): Rename all + occurrences of window_nest to window_combination_limit. + +2011-11-15 Juanma Barranquero + + * image.c (imagemagick_load_image): Fix typo. + +2011-11-14 Eli Zaretskii + + * xdisp.c (display_line): Move the call to + highlight_trailing_whitespace before the call to + compute_line_metrics, since the latter needs to see the final + faces of all the glyphs to compute ROW's hash value. + Fixes assertion violations in row_equal_p. (Bug#10035) + +2011-11-14 Juanma Barranquero + + * w32proc.c (reader_thread): Don't check pending input if cp->fd < 0, + just return (bug#10044). + +2011-11-12 Eli Zaretskii + + * makefile.w32-in (HEAPSIZE): New variable, allows to build temacs + with user-defined heap size. Bump the default size of the temacs + heap to 27MB, to avoid memory warning when running temacs. + ($(TEMACS)): Use HEAPSIZE instead of a hardcoded value. + + * dispnew.c (scrolling_window): Fix incorrect indices in accessing + current_matrix and desired_matrix. (Bug#9990) + (verify_row_hash) [XASSERTS]: New function. + (adjust_glyph_matrix, row_equal_p): Use it in xassert to verify + that the hash value of glyph rows is correct. + +2011-11-12 Martin Rudalics + + * window.h (window): Remove splits slot. + * window.c (Fwindow_splits, Fset_window_splits): Remove. + (Fdelete_other_windows_internal, make_parent_window) + (make_window, Fsplit_window_internal, Fdelete_window_internal) + (Fset_window_configuration, save_window_save): Don't deal with + split status of windows. + (saved_window): Remove splits slot. + (Vwindow_splits): Rewrite doc-string. + +2011-11-11 Jan Djärv + + * xfns.c (unwind_create_frame): + * nsfns.m (unwind_create_frame): + * w32fns.c (unwind_create_frame): Use Fmemq to check if frame is in + Vframe_list (Bug#9999). + +2011-11-11 Dmitry Antipov + + * xdisp.c (syms_of_xdisp): Remove duplicated definition of Qtext. + +2011-11-11 Kenichi Handa + + * callproc.c (Fcall_process): Set the member dst_multibyte of + process_coding. + +2011-11-11 Johan Bockgård + + * xdisp.c (fill_composite_glyph_string): Always set s->face, to + avoid a crash (bug#9496). + +2011-11-09 Chong Yidong + + * window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges) + (Fwindow_inside_absolute_pixel_edges): Only allow live windows. + +2011-11-08 Paul Eggert + + * s/gnu.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS (Bug#9926). + +2011-11-08 Paul Eggert + + Avoid some portability problems by eschewing 'extern inline' functions. + The trivial performance wins aren't worth the portability hassles; see + + et seq. + * dispextern.h (window_box, window_box_height, window_text_bottom_y) + (window_box_width, window_box_left, window_box_left_offset) + (window_box_right, window_box_right_offset): Undo previous change, + by removing the "extern"s. + * intervals.c (adjust_intervals_for_insertion) + (adjust_intervals_for_deletion): Undo previous change, + making these static again. + (offset_intervals, temp_set_point_both, temp_set_point) + (copy_intervals_to_string): No longer inline. + * xdisp.c (window_text_bottom_y, window_box_width) + (window_box_height, window_box_left_offset) + (window_box_right_offset, window_box_left, window_box_right) + (window_box): No longer inline. + +2011-11-08 Chong Yidong + + * window.c (Fwindow_left_column, Fwindow_top_line): Doc fix. + (Fwindow_body_height, Fwindow_body_width): Move from Lisp. + Signal an error if not a live window. + (Fwindow_total_width, Fwindow_total_height): Move from Lisp. + (Fwindow_total_size, Fwindow_body_size): Move to Lisp. + +2011-11-07 Juanma Barranquero + + * lisp.h (syms_of_abbrev): Remove declaration. + Reported by CHENG Gao . + +2011-11-07 Eli Zaretskii + + * w32.c (check_windows_init_file): Don't look for term/w32-win.el + if Vpurify_flag is non-nil. Fixes a crash when running w32 build + of temacs in GUI mode. + +2011-11-07 Martin Rudalics + + * window.h: Declare delete_all_child_windows instead of + delete_all_subwindows. + * window.c (Fwindow_nest, Fset_window_nest) + (Fset_window_new_total, Fset_window_new_normal) + (Fwindow_resize_apply): Don't use term subwindow in doc-strings. + (delete_all_subwindows): Rename to delete_all_child_windows. + (Fdelete_other_windows_internal, Fset_window_configuration): + Call delete_all_child_windows instead of delete_all_subwindows. + * frame.c (delete_frame): Call delete_all_child_windows instead + of delete_all_subwindows. + +2011-11-07 Paul Eggert + + * alloc.c (DEADP): New macro, for porting to GNU/Hurd (Bug#9926). + This is also needed for porting to any host where GC_MARK_STACK is + not GC_MAKE_GCPROS_NOOPS. + (which_symbols): Use it. + +2011-11-07 Kenichi Handa + + * coding.c (coding_set_destination): Check coding->src_pos only + when coding->src_object is a buffer (bug#9910). + + * process.c (send_process): Set the member src_multibyte of coding + to 0 (bug#9911) when sending a unibyte text. + + * callproc.c (Fcall_process): Set the member src_multibyte of + process_coding to 0 (bug#9912). + +2011-11-06 YAMAMOTO Mitsuharu + + * xmenu.c (cleanup_widget_value_tree): New function. + (xmenu_show, xdialog_show): Use it in record_unwind_protect instead of + calling free_menubar_widget_value_tree directly (Bug#9830). + +2011-11-06 Paul Eggert + + Fix some portability problems with 'inline'. + * dispextern.h (window_box, window_box_height, window_text_bottom_y) + (window_box_width, window_box_left, window_box_left_offset) + (window_box_right, window_box_right_offset): Declare extern. + Otherwise, these inline functions do not conform to C99 and + are miscompiled by Microsoft compilers. Reported by Eli Zaretskii in + . + * intervals.c (adjust_intervals_for_insertion) + (adjust_intervals_for_deletion): Now extern, because otherwise the + extern inline functions 'offset_intervals' couldn't refer to it. + (static_offset_intervals): Remove. + (offset_intervals): Rewrite using the old contents of + static_offset_intervals. The old version didn't conform to C99 + because an extern inline function contained a reference to an + identifier with static linkage. + +2011-11-06 Andreas Schwab + + * keyboard.c (interrupt_signal): Don't call kill-emacs while in + GC. + +2011-11-06 Eli Zaretskii + + * xdisp.c (init_iterator, reseat_to_string): Don't set the + iterator's bidi_p flag if Vpurify_flag is non-nil. (Bug#9963) + (Fcurrent_bidi_paragraph_direction): If Vpurify_flag is non-nil, + return Qleft_to_right. + +2011-11-06 Chong Yidong + + * window.c (Fwindow_live_p, Fwindow_frame, Fframe_root_window) + (Fminibuffer_window, Fwindow_buffer, Fwindow_splits) + (Fset_window_splits, Fwindow_nest, Fset_window_nest) + (Fwindow_use_time, Fwindow_total_size, Fwindow_normal_size) + (Fwindow_new_normal, Fwindow_left_column, Fwindow_top_line) + (Fwindow_margins, Fwindow_fringes, Fwindow_scroll_bars) + (Fwindow_vscroll): Doc fix. + (Fwindow_top_child, Fwindow_left_child): Eliminate a nil default + argument, since it makes no sense to pass a live window and for + consistency with window-child. + +2011-11-05 Christoph Scholtes + + * makefile.w32-in ($(TEMACS), (gl-stamp)): Use $(THISDIR) to + support MSVC. + +2011-11-05 Jason Rumney + + * w32font.c (font_matches_spec): Filter out non-Japanese kana fonts. + (add_font_entity_to_list): Filter out non-Japanese Shift-JIS + fonts (Bug#6029). + (add_font_entity_to_list): Fix logic errors in mixed boolean and + bitwise arithmetic preventing use of unicode-sip and non-truetype + opentype fonts. + +2011-11-05 Eli Zaretskii + + * s/ms-w32.h (fstat, stat, utime): Move redirections to + "emacs"-only part. + + * w32fns.c (x_create_tip_frame, Fx_create_frame): Rearrange + initialization code to keep similarity to xfns.c after changes + from 2011-11-05. + +2011-11-05 Jan Djärv + + * nsfns.m: Declare image_cache_refcount if GLYPH_DEBUG. + (unwind_create_frame): New function (Bug#9943). + (Fx_create_frame): Restructure code to be more similar to the one in + xfns.c. Call record_unwind_protect with unwind_create_frame (Bug#9943). + Initialize image_cache_refcount if GLYPH_DEBUG (Bug#9943). + Move terminal->reference_count++ just before making the frame official + (Bug#9943). + + * nsterm.m (x_free_frame_resources): New function. + (x_destroy_window): Move code to x_free_frame_resources. + + * xfns.c (unwind_create_frame): Fix comment. + (Fx_create_frame, x_create_tip_frame): + Move terminal->reference_count++ just before making the frame + official. Move initialization of image_cache_refcount and + dpyinfo_refcount before calling init_frame_faces (Bug#9943). + +2011-11-05 Eli Zaretskii + + Support MSVC build with newer versions of Visual Studio. + * makefile.w32-in (TAGS-gmake): Don't use $(patsubst ...), as + Nmake barfs on that. Use $(OBJ*_c) variables instead, defined on + nt/gmake.defs. + + * lisp.h (ENUM_BF): New macro, for enumerated types in bitfields, + which are not supported by MSVC. + (Lisp_Symbol, Lisp_Misc_Any, Lisp_Marker, Lisp_Misc_Overlay) + (Lisp_Save_Value, Lisp_Free): Use ENUM_BF for enumerated types in + bitfields. + (Lisp_Object) [USE_LISP_UNION_TYPE]: Use ENUM_BF for enumerated + types in bitfields. + (DEFUN) [_MSC_VER]: Define in a different way for MSVC. + + * w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version. + +2011-11-05 Fabrice Popineau (tiny change) + + Support MSVC build with newer versions of Visual Studio. + * w32.c: Don't include w32api.h for MSVC. + (init_environment) [_MSC_VER]: Call sys_access, not _access. + + * s/ms-w32.h [_MSC_VER]: Typedefs for MSVC. + [_MSC_VER]: Include sys/timeb.h, sys/stat.h, and signal.h. + (fstat, stat, utime) [_MSC_VER]: Redirect to their sys_* cousins. + (malloc, free, realloc, calloc) [_MSC_VER]: Always redirect to the + e_* cousins. + (alloca) [_MSC_VER]: Define to _alloca. + + * lisp.h (DECL_ALIGN) [_MSC_VER]: Define for MSVC. + + * regex.c [_MSC_VER]: A separate definition for MSVC. + +2011-11-04 Eli Zaretskii + + * xdisp.c (note_mouse_highlight): If either of + previous/next-single-property-change returns nil, treat that as + the beginning or the end of the buffer. (Bug#9955) + +2011-11-04 Jan Djärv + + * gtkutil.c (xg_make_tool_item): Add callbacks if one of wimage or + label is not null (Bug#9951). + (xg_tool_item_stale_p): Handle the fact that wimage and/or wlbl + may be NULL. + +2011-11-04 Eli Zaretskii + + * window.c (Fwindow_body_size): Mention in the doc string that the + return value is in frame's canonical units. (Bug#9949) + +2011-11-03 Eli Zaretskii + + * xdisp.c (note_mouse_highlight): Initialize `area'. (Bug#9947) + + * w32fns.c (unwind_create_frame): If needed, free the glyph + matrices of the partially constructed frame. (Bug#9943) + * xfns.c (unwind_create_frame): Likewise. + +2011-11-01 Eli Zaretskii + + * xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment. + Don't stop backward scan on the continuation glyph, even though + its CHARPOS is positive. + (mouse_face_from_buffer_pos, note_mouse_highlight): + Rename cover_string to disp_string. + +2011-11-01 Martin Rudalics + + * window.c (temp_output_buffer_show): Don't use + Vtemp_buffer_show_specifiers. + (Vtemp_buffer_show_specifiers): Remove unused variable. + +2011-10-30 Eli Zaretskii + + * xdisp.c (try_cursor_movement): Make sure ROW isn't decremented + past the beginning of the current glyph matrix. + +2011-10-30 Adam Sjøgren (tiny change) + + * xterm.c: Include X11/Xproto.h if HAVE_GTK3. + (x_error_handler): Ignore BadMatch for X_SetInputFocus for + HAVE_GTK3 (Bug#9869). + + * gtkutil.c (xg_win_to_widget, xg_event_is_for_menubar): Initialize + type to GDK_NOTHING so valgrind does not complain (Bug#9901). + + * xterm.h (x_display_info): Add Xatom_net_wm_state_hidden (Bug#9893). + + * xterm.c: Declare x_handle_net_wm_state to return int. + (handle_one_xevent): Check if we are iconified but don't have + _NET_WM_STATE_HIDDEN. If do, treat as deiconify (Bug#9893). + (get_current_wm_state): Return non-zero if not hidden, + check for _NET_WM_STATE_HIDDEN (Bug#9893). + (do_ewmh_fullscreen): Ignore return value from get_current_wm_state. + (x_handle_net_wm_state): Return what get_current_wm_state returns. + (x_term_init): Initialize dpyinfo->Xatom_net_wm_state_hidden. + +2011-10-29 Paul Eggert + + * alloc.c (which_symbols): Declare EXTERNALLY_VISIBLE, + so that this new function doesn't get optimized away by a + whole-program optimizer. Make the 2nd arg EMACS_INT, not int. + +2011-10-29 Andreas Schwab + + * frame.h (MOUSE_HL_INFO): Remove excess parens. + +2011-10-29 Eli Zaretskii + + Fix the `xbytecode' command. + * .gdbinit (xprintbytestr): New command. + (xwhichsymbols): Rename from `which'; all callers changed. + (xbytecode): Print the byte-code string as well. + +2011-10-29 Kim Storm + + * alloc.c (which_symbols): New function. + +2011-10-29 Andreas Schwab + + * minibuf.c (read_minibuf_noninteractive): Allow reading empty + line. (Bug#9903) + +2011-10-29 Glenn Morris + + * process.c (wait_reading_process_output): Revert 2009-08-30 change. + Not clear what it was for, and it causes various bugs. (Bug#9839) + +2011-10-28 Eli Zaretskii + + * xdisp.c (note_mouse_highlight): Initialize `part', to avoid a + possible random value that matches one of those tested as + condition to clear the mouse face. + +2011-10-28 Chong Yidong + + * xdisp.c (note_mouse_highlight): Fix use of uninitialized var. + +2011-10-28 Dan Nicolaescu + + * window.c (make_window): Initialize phys_cursor_on_p. + +2011-10-28 Stefan Monnier + + * lisp.h (struct Lisp_Symbol): Update comments. + +2011-10-28 Juanma Barranquero + + * w32font.c (w32_load_unicows_or_gdi32): Add missing return. + +2011-10-28 Eli Zaretskii + + Fix Emacs on Windows 9X (bug#8562). Thanks to oslsachem + for helping to debug this. + + * w32font.c (g_b_init_is_w9x, g_b_init_get_outline_metrics_w) + (g_b_init_get_text_metrics_w, g_b_init_get_glyph_outline_w) + (g_b_init_get_glyph_outline_w): New static variables. + (GetOutlineTextMetricsW_Proc, GetTextMetricsW_Proc) + (GetGlyphOutlineW_Proc): New typedefs. + (w32_load_unicows_or_gdi32, get_outline_metrics_w) + (get_text_metrics_w, get_glyph_outline_w, globals_of_w32font): + New functions. + (w32font_open_internal, compute_metrics): + Call get_outline_metrics_w, get_text_metrics_w, and get_glyph_outline_w + instead of calling the "wide" APIs directly. + + * emacs.c (main) [HAVE_NTGUI]: Call globals_of_w32font. + + * w32.h (syms_of_w32font): Add prototype. + +2011-10-27 Juanma Barranquero + + * window.c (Fframe_root_window, Fframe_first_window, Fwindow_end) + (Fframe_selected_window, Ftemp_output_buffer_show, Fnext_window) + (Fdelete_window_internal, Fwindow_parameters): Fix typos in docstrings. + (Fmove_to_window_line): Doc fix. + +2011-10-27 Chong Yidong + + * process.c (make_process): Set gnutls_state to NULL. + + * gnutls.c (emacs_gnutls_deinit): Deinit the gnutls_state if it is + non-NULL, regardless of GNUTLS_INITSTAGE. + (Fgnutls_boot): Cleanups. Call emacs_gnutls_deinit if we signal + an error. Set process slots as soon as we allocate them. + + * gnutls.h (GNUTLS_LOG, GNUTLS_LOG2): Fix macros. + +2011-10-27 Chong Yidong + + * gnutls.c (emacs_gnutls_deinit): New function. + Deallocate credentials structures as well as calling gnutls_deinit. + (Fgnutls_deinit, Fgnutls_boot): Use it. + + * process.c (make_process): Initialize GnuTLS credentials to NULL. + (deactivate_process): Call emacs_gnutls_deinit. + +2011-10-27 Juanma Barranquero + + * image.c (x_create_x_image_and_pixmap): + * w32.c (sys_rename, w32_delayed_load): + * w32font.c (fill_in_logfont): + * w32reg.c (x_get_string_resource): Silence compiler warnings. + +2011-10-26 Juanma Barranquero + + * w32fns.c (w32_default_color_map): New function, + extracted from Fw32_default_color_map. + (Fw32_default_color_map, Fx_open_connection): Use it. (Bug#9785) + +2011-10-25 Paul Eggert + + * dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2). + +2011-10-25 Stefan Monnier + + * keyboard.c (test_undefined): New function (bug#9751). + (read_key_sequence): Use it to detect when a key is bound to `undefined'. + +2011-10-25 Enami Tsugutomo + + * sysdep.c (init_sys_modes): Fix the check for the controlling + terminal (Bug#6649). + +2011-10-20 Eli Zaretskii + + * dispextern.h (struct bidi_it): New member next_en_type. + + * bidi.c (bidi_line_init): Initialize the next_en_type member. + (bidi_resolve_explicit_1): When next_en_pos is valid for the + current character, check also for next_en_type being WEAK_EN. + (bidi_resolve_weak): Don't enter the expensive loop if the current + position is before next_en_pos. Record the bidi type of the first + non-ET, non-BN character we find, in addition to its position. + (bidi_level_of_next_char): Invalidate next_en_type when + next_en_pos is over-stepped. + +2011-10-20 Paul Eggert + + Time zone name fixes for non-ASCII locales (Bug#641, Bug#9794) + * editfns.c: Rewrite current-time-zone so that it invokes + the equivalent of (format-time-string "%Z") to get the time zone name. + This fixes a bug when the time zone name contains characters that + need converting from the system time locale to Emacs internal format. + This fixes a shortcoming that I introduced in my 1999-10-19 patch: + that patch fixed format-time-string to do the conversion, but + I forgot to fix current-time-zone. + (format_time_string): New function, containing most of + what Fformat_time_string used to contain. + (Fformat_time_string): Rewrite in terms of format_time_string. + This doesn't change this function's behavior. + (current-time-zone): Rewrite to use format_time_string. + This fixes the bug reported by Michael Schierl in + . + Jason Rumney's 2007-06-07 change worked around this bug, but + didn't fix it. + * systime.h (tzname, timezone): Remove no-longer-used declarations. + +2011-10-19 Eli Zaretskii + + * xdisp.c (start_display): If the character at POS is displayed + via a display vector, reset IT->current.dpvec_index to zero. + (try_window_reusing_current_matrix): If a line ends in a display + vector or the next line starts in a display vector, continue + redrawing the window even though the character position of + start_row was reached. + (Bug#9771, part 2) + +2011-10-18 Chong Yidong + + * xdisp.c (get_next_display_element): Handle U+2010 and U+2011 + with nobreak-char-display too. + +2011-10-18 Eli Zaretskii + + Fix part 3 of bug#9771. + * bidi.c (bidi_line_init): Initialize next_en_pos to zero, not -1. + (bidi_resolve_neutral): Don't enter the expensive loop looking for + non-neutral characters if the current character is a paragraph + separator (a.k.a. Newline). This avoids running the same + expensive loop twice, once when we consume the preceding newline + and the other time when the line actually needs to be displayed. + Avoid the loop when we see neutrals on the base embedding level + following a character whose directionality is the same as the + paragraph's. This avoids running the expensive loop when a line + ends in a long sequence of neutrals, like control characters. + Add assertion against STRONG_AL type. Slightly rearrange code + that determines the type of a neutral given the first non-neutral + that follows it. + (bidi_level_of_next_char): Set next_en_pos to zero when + invalidating its info. + +2011-10-17 Eli Zaretskii + + * xdisp.c (push_display_prop): Determine whether to record string + or buffer position by IT->string, not by IT->method. Allow + GET_FROM_DISPLAY_VECTOR as IT->method on entry. (Bug#9771, part 4) + (move_it_vertically_backward): Don't look for character position + immediately after the newline when in a continuation line. + (Bug#9771, part 1) + +2011-10-15 Martin Rudalics + + * window.c (coordinates_in_window): Rewrite and delabelize + vertical border check. (Bug#5357) (Bug#9618) + +2011-10-14 Stefan Monnier + + * xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained + errors in XSetWindowBorder (bug#9310). + +2011-10-13 Dmitry Antipov + + * editfns.c (Fset_time_zone_rule): Replace free with xfree to + avoid crash when xmalloc overrun checking is enabled. + +2011-10-13 Eli Zaretskii + + * xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize + itb.paragraph_dir to NEUTRAL_DIR. Fixes an occasional incorrect + cursor motion with and arrow keys. + + * bidi.c (bidi_init_it): Don't initialize paragraph_dir here, as + some callers set that themselves. + +2011-10-12 Eli Zaretskii + + * xdisp.c (find_row_edges): Handle the case where ROW comes from a + display string and the previous row comes from the same string and + is empty. (Bug#9739) (Bug#9738) + +2011-10-12 Stefan Monnier + + * doc.c (get_doc_string): Encode file name (bug#9735). + +2011-10-12 Eli Zaretskii + + * bidi.c (bidi_level_of_next_char): + * xdisp.c (get_visually_first_element): Remove old incorrect + comments regarding the Unicode Line Separator character. + + * bidi.c (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR. + +2011-10-12 Dmitry Antipov + + * alloc.c (Fgc_status): Do not access beyond zombies array + boundary if nzombies > MAX_ZOMBIES. + * alloc.c (dump_zombies): Add missing format specifier. + +2011-10-12 Paul Eggert + + * xdisp.c (set_cursor_from_row): Simplify conditionals, + to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow. + + * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff. + Some packages use them to denote characters with modifiers. + +2011-10-11 Andreas Schwab + + * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR) + (GCPRO5_VAR, GCPRO6_VAR, UNGCPRO_VAR): Add whitespace to avoid + matching a pp-number. Rename parameter var to var1. + +2011-10-11 Stefan Monnier + + * minibuf.c (Finternal_complete_buffer): Fix last change (bug#9709). + +2011-10-08 Glenn Morris + + * callint.c (Fcall_interactively): Give a more explicit error for the + 'c' case with a non-character input. (Bug#8479) + +2011-10-08 Eli Zaretskii + + * xdisp.c (hscroll_window_tree): Support hscroll in right-to-left + lines. + (set_cursor_from_row): Fix cursor positioning in mixed L2R+R2L + lines that are hscrolled on the left. + + * dispnew.c (buffer_posn_from_coords): Account for a possible + presence of header-line. (Bug#4426) + +2011-10-07 Stefan Monnier + + * buffer.c (syms_of_buffer) : + Don't advertise functionality which we discourage or doesn't work. + +2011-10-07 Paul Eggert + + * alloc.c (GC_LISP_OBJECT_ALIGNMENT): Use offsetof, not __alignof__ + or sizeof. __alignof__ gives the wrong answer on Fedora x86-64 + with GCC 4.6.1 when configured with CC='gcc -m32' --with-wide-int; + this makes Emacs dump core during garbage collection on rare + occasions. sizeof is obviously inferior to offsetof here, so + stick with offsetof. + (GC_POINTER_ALIGNMENT): New macro. + (mark_memory): Omit 3rd (offset) arg; caller changed. + Don't assume EMACS_INT alignment is the same as pointer alignment. + +2011-10-03 Stefan Monnier + + * keyboard.c (read_key_sequence_remapped): New var. + (read_key_sequence): Compute remapping in the right buffer. + (command_loop_1): Use read_key_sequence's remapping directly. + +2011-10-02 Stefan Monnier + + * dired.c (file_name_completion): Don't expand file name. + (Ffile_name_completion, Ffile_name_all_completions): Expand file name + before checking file name handler. + + * minibuf.c (Finternal_complete_buffer): Only show internal buffers if + they've been requested explicitly (bug#9591). + +2011-10-01 Andreas Schwab + + * keymap.c (Fsingle_key_description): Use make_specified_string + instead of build_string to build string from push_key_description. + (Bug#5193) + +2011-09-30 Paul Eggert + + * buffer.h (struct buffer): Use time_t, not int, for a time stamp. + This fixes a Y2038 bug on 64-bit hosts. + * buffer.c (reset_buffer): + * fileio.c (Fdo_auto_save, Fset_buffer_auto_saved) + (Fclear_buffer_auto_save_failure): + Use 0, not -1, to represent an unset failure time, since time_t + might not be signed. + + Remove dependency on glibc malloc internals. + * alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE): + Move back here from lisp.h, but with their new implementations. + (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT) + (XMALLOC_OVERRUN_SIZE_SIZE): Move these new lisp.h macros here. + * charset.c (charset_table_init): New static var. + (syms_of_charset): Use it instead of xmalloc. This removes a + dependency on glibc malloc internals. See Eli Zaretskii's comment in + . + * lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE): + Move back to alloc.c. + (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT) + (XMALLOC_OVERRUN_SIZE_SIZE): Move to alloc.c. + +2011-09-30 Jan Djärv + + * nsterm.m (windowDidResize): Call x_set_window_size only when + ns_in_resize is true. Otherwise set pixelwidth/height and + call change_frame_size (Bug#9628). + +2011-09-30 Paul Eggert + + Port --enable-checking=all to Fedora 14 x86-64. + * charset.c (syms_of_charset): Also account for glibc malloc's + internal overhead when calculating the initial malloc maximum. + + Port --enable-checking=all to Fedora 14 x86. + * alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE): + Move to lisp.h. + (xmalloc_put_size, xmalloc_get_size, overrun_check_malloc) + (overrun_check_realloc, overrun_check_free): + Use XMALLOC_OVERRUN_SIZE_SIZE, not sizeof (size_t). + That way, xmalloc returns a properly-aligned pointer even if + XMALLOC_OVERRUN_CHECK is defined. The old debugging code happened + to align OK on typical 64-bit hosts, but not on Fedora 14 x86. + * charset.c (syms_of_charset): Take XMALLOC_OVERRUN_CHECK_OVERHEAD + into account when calculating the initial malloc maximum. + * lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE): + Move here from alloc.c, so that charset.c can use it too. + Properly align; the old code wasn't right for common 32-bit hosts + when configured with --enable-checking=all. + (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT) + (XMALLOC_OVERRUN_SIZE_SIZE): New macros. + +2011-09-29 Eli Zaretskii + + * sysdep.c (snprintf) [!EOVERFLOW]: If EOVERFLOW is not defined, + use EDOM. + +2011-09-28 Eli Zaretskii + + * xdisp.c (compute_display_string_end): If there's no display + string at CHARPOS, return -1. + + * bidi.c (bidi_fetch_char): When compute_display_string_end + returns a negative value, treat the character as a normal + character not covered by a display string. (Bug#9624) + +2011-09-28 Juanma Barranquero + + * lread.c (Fread_from_string): Fix typo in docstring. + +2011-09-27 Eli Zaretskii + + * xdisp.c (handle_invisible_prop): If invisible text ends on a + newline, reseat the iterator instead of bidi-iterating there one + character at a time. (Bug#9610) + (BUFFER_POS_REACHED_P, move_it_in_display_line_to): Bail when past + TO_CHARPOS if the bidi iterator is at base embedding level. + +2011-09-27 Andreas Schwab + + * lread.c (readevalloop): Use correct code for NBSP. + (read1): Likewise. (Bug#9608) + +2011-09-25 Michael Albinus + + * dbusbind.c (Fdbus_register_signal): When service is not + registered, use nil in Vdbus_registered_objects_table. (Bug#9581) + +2011-09-25 Glenn Morris + + * buffer.c (truncate-lines): Doc fix. + +2011-09-24 Chong Yidong + + * window.c (Fwindow_prev_buffers, Fset_window_prev_buffers) + (Fset_window_next_buffers): Doc fix. + +2011-09-24 Glenn Morris + + * minibuf.c (read_minibuf): Disable line truncation. (Bug#5715) + +2011-09-24 Paul Eggert + + Fix minor problems found by static checking. + * xdisp.c (string_from_display_spec): Don't assume vecsize fits in int. + * indent.c (Fvertical_motion): Fix == vs = typo. + +2011-09-24 Eli Zaretskii + + * dispnew.c (syms_of_display) : + Default value is now t. Doc fix. + + * indent.c (Fvertical_motion): Compute and apply the overshoot + logic when moving up, not only when moving down. Fix the + confusing name and values of the it_overshoot_expected variable; + logic changes accordingly. (Bug#9254) (Bug#9549) + + * xdisp.c (pos_visible_p): Produce correct pixel coordinates when + CHARPOS is covered by a display string which includes newlines. + (move_it_vertically_backward): Avoid inflooping when START_CHARPOS + is covered by a display string with embedded newlines. + +2011-09-24 Michael Albinus + + * dbusbind.c (Fdbus_register_signal): Add match rule to + Vdbus_registered_objects_table. (Bug#9581) + (Fdbus_register_method, Vdbus_registered_objects_table): + Fix docstring. + +2011-09-24 Jim Meyering + + do not ignore write error for any output size + The previous change was incomplete. + While it makes emacs --batch detect the vast majority of stdout + write failures, errors were still ignored whenever the output size is + k * (BUFSIZ+1) - 4. E.g., on a system with BUFSIZ of 4096, + $ emacs --batch --eval '(print (format "%4093d" 0))' > /dev/full \ + && echo FAIL: ignored write error + FAIL: ignored write error + $ emacs --batch --eval '(print (format "%20481d" 0))' > /dev/full \ + && echo FAIL: ignored write error + FAIL: ignored write error + * emacs.c (Fkill_emacs): Also test ferror. (Bug#9574) + +2011-09-23 Andreas Schwab + + * emacs.c (Fkill_emacs): In noninteractive mode exit + non-successfully if a write error occurred on stdout. (Bug#9574) + +2011-09-21 Eli Zaretskii + + * xdisp.c (pop_it): Allow it->object that is a cons cell to pass + the xassert test. + + * dispextern.h (struct it): Update the comment documenting what + can it->OBJECT be. + +2011-09-20 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): If the row ends in a newline from + a display string, extend search for cursor position to end of row. + (find_row_edges): If the row ends in a newline from a display + string, increment its MATRIX_ROW_END_CHARPOS by one. (Bug#9549) + Handle the case of a display string with multiple newlines. + (Fcurrent_bidi_paragraph_direction): Fix search for previous + non-empty line. Fixes confusing cursor motion with arrow keys at + the beginning of a line that starts with whitespace. + +2011-09-19 Lars Magne Ingebrigtsen + + * lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is + (bug#9493). + +2011-09-18 Chong Yidong + + * xfns.c (Fx_create_frame): Handle the bitmapIcon resource as + boolean (Bug#9154). + +2011-09-18 Eli Zaretskii + + * xdisp.c (display_line): Record maximum and minimum buffer + positions even if no glyphs were produced (e.g., by a zero-width + stretch). Fixes bug#9530 on a TTY. Under word-wrap, don't record + buffer positions that will be removed from the glyph row because + they don't fit. + (produce_stretch_glyph): Fix a bug in :align-to on a TTY when the + column is beyond frame width: don't subtract 1 "pixel" when + computing width of the stretch. + (reseat_at_next_visible_line_start): Undo the change made on + 2011-09-17 that saved paragraph information and restored it after + the call to `reseat'. (Bug#9545) + +2011-09-18 YAMAMOTO Mitsuharu + + * xdisp.c (expose_window): Save original value of phys_cursor_on_p + and turn window cursor on if cleared (Bug#9415). + +2011-09-18 Andreas Schwab + + * search.c (boyer_moore): Take unibyte characters from pattern + literally. (Bug#9458) + +2011-09-18 Eli Zaretskii + + * xdisp.c (reseat_at_next_visible_line_start): Fix last change. + +2011-09-18 Paul Eggert + + Fix minor problem found by static checking. + * xdisp.c (reseat_at_next_visible_line_start): Mark locals as + initialized, to pacify gcc -Wuninitialized. + + * fileio.c: Report proper errno when syscall falls. + (Finsert_file_contents): Save and restore errno, + so that report_file_error outputs the correct diagnostic. + (Fwrite_region) [CLASH_DETECTION]: Likewise. + +2011-09-18 Eli Zaretskii + + * .gdbinit (pgx): Fix references to fields of `struct glyph'. + +2011-09-17 Eli Zaretskii + + * xdisp.c (produce_stretch_glyph): Another fix for changes made on + 2011-08-30T17:32:44Z!eliz@gnu.org. (Bug#9530) + +2011-09-17 Eli Zaretskii + + * xdisp.c (reseat_at_next_visible_line_start): Keep information + about the current paragraph and restore it after the call to reseat. + + * bidi.c (MAX_PARAGRAPH_SEARCH): New macro. + (bidi_find_paragraph_start): Search back for paragraph beginning + at most MAX_PARAGRAPH_SEARCH lines; if not found, return BEGV_BYTE. + (bidi_move_to_visually_next): Only trigger paragraph-related + computations when the last character is a newline or at EOB, not + just any NEUTRAL_B. (Bug#9470) + + * xdisp.c (set_cursor_from_row): Don't invoke special treatment of + truncated lines if point is covered by a display string. (Bug#9524) + +2011-09-16 Paul Eggert + + * xselect.c: Relax test for outgoing X longs (Bug#9498). + (cons_to_x_long): New function. + (lisp_data_to_selection_data): Use it. Correct the test for + short-versus-long data; it was negated. Break out of vector + loop, for efficiency, when a long datum is discovered. + +2011-09-16 Stefan Monnier + + * eval.c (Fquote): Document its non-consing behavior (bug#9482). + +2011-09-16 Eli Zaretskii + + * image.c (tiff_handler): Work around a bug in MinGW GCC 3.x (see + GCC PR/17406) by declaring this function with external scope. + +2011-09-15 Paul Eggert + + * editfns.c (Fformat): Fix bug in text-property fix (Bug#9514). + Don't mishandle (length (format "%%")) and (format "%4000s%%" ""). + +2011-09-15 Andreas Schwab + + * editfns.c (Fformat): Correctly handle text properties on "%%". + +2011-09-15 Eli Zaretskii + + * xterm.c (x_draw_composite_glyph_string_foreground): + * w32term.c (x_draw_composite_glyph_string_foreground): + * term.c (encode_terminal_code): + * composite.c (composition_update_it, get_composition_id): + * xdisp.c (get_next_display_element) + (fill_composite_glyph_string): Add comments about special meaning + of TAB characters in a composition. + +2011-09-15 Paul Eggert + + * editfns.c (Fformat): Fix off-by-1 bug for "%%b" (Bug#9514). + This occurs when processing a multibyte format. + Problem reported by Wolfgang Jenker. + +2011-09-15 Johan Bockgård + + * xdisp.c (try_cursor_movement): Only check for exact match if + cursor hpos found by set_cursor_from_row is valid. (Bug#9495) + +2011-09-14 Paul Eggert + + Remove unused external symbols. + * dispextern.h (calc_pixel_width_or_height): Remove decl. + * xdisp.c (calc_pixel_width_or_height): Now static. + * doprnt.c (exprintf) [! (HAVE_X_WINDOWS && USE_X_TOOLKIT)]: Remove. + * indent.c (check_display_width): + * w32term.c: Fix comment to match code. + * xterm.c, xterm.h (x_catching_errors): Remove. + +2011-09-14 Paul Eggert + + * xselect.c: Use signed conversions more consistently (Bug#9498). + (selection_data_to_lisp_data): Assume incoming selection data are + signed integers, not unsigned. This is to be consistent with + outgoing selection data, which was modified to use signed integers + in as part of the fix to Bug#9196 in response to Jan D.'s comment + in that X11 + expects long, not unsigned long. + +2011-09-14 Eli Zaretskii + + * xdisp.c (try_window_reusing_current_matrix): Fix incorrect + computation of loop end. Reported by Johan Bockgård + . + +2011-09-13 Chong Yidong + + * frame.c (Fother_visible_frames_p): Function deleted. + +2011-09-12 Eli Zaretskii + + * indent.c (compute_motion): Process display vector front to back + rather than the other way around. (Bug#2496) + +2011-09-12 Stefan Monnier + + * fileio.c (Finsert_file_contents): Don't assume beg_offset is 0. + +2011-09-11 Chong Yidong + + * minibuf.c (Fread_from_minibuffer): Doc fix. + +2011-09-11 Eli Zaretskii + + * xdisp.c (produce_stretch_glyph): Fix a typo made in changes from + 2011-08-30T17:32:44Z!eliz@gnu.org. (Bug#9475) + +2011-09-11 Lars Magne Ingebrigtsen + + * fileio.c (Fvisited_file_modtime): Document `(-1 65535)' as a + value for non-existent files. + +2011-09-11 Eli Zaretskii + + * fileio.c (Finsert_file_contents): If the file cannot be opened, + set its "size" to -1. This will set the modtime_size field of + the corresponding buffer to -1, which is what + verify-visited-file-modtime expects for files that do not exist. + (Bug#9139) + +2011-09-11 Paul Eggert + + * keymap.h (KEY_DESCRIPTION_SIZE, push_key_description): Move decls + here ... + * lisp.h: ... from here. push_key_description is no longer + defined in keyboard.c, so its declaration should not be in + lisp.h's "Defined in keyboard.c" section, and KEY_DESCRIPTION_SIZE + logically belongs with push_key_description. + +2011-09-10 Paul Eggert + + * buffer.h: Include instead of . + Otherwise, off_t wasn't defined on FreeBSD 9.0-BETA2 i386. + Problem reported by Herbert J. Skuhra. + +2011-09-10 Lars Magne Ingebrigtsen + + * xml.c (parse_region): Make the parsing work for + non-comment-starting XML files again (bug#9144). + +2011-09-10 Andreas Schwab + + * image.c (gif_load): Fix calculation of bottom and right corner. + (Bug#9468) + +2011-09-10 Eli Zaretskii + + * xdisp.c (MAX_DISP_SCAN): Decrease to 250. Prevents sluggish + redisplay in small windows. + +2011-09-09 Eli Zaretskii + + * frame.c (x_report_frame_params): Cast to avoid compiler warnings. + +2011-09-08 Martin Rudalics + + * window.c (Fset_window_prev_buffers, Fset_window_next_buffers): + Operate on live windows only. + +2011-09-08 Juanma Barranquero + + * emacs.c (my_heap_start): #ifdef to avoid warnings when unused. + +2011-09-07 Eli Zaretskii + + * xdisp.c (move_it_in_display_line_to): Call RESTORE_IT on ppos_it + only under bidi iteration. + +2011-09-07 Jan Djärv + + * gtkutil.c (xg_make_tool_item): Insert comment about eventbox. + +2011-09-06 Paul Eggert + + isnan: Fix porting problem to Solaris 10 with bundled gcc. + Without this fix, the command to link temacs failed due to an + undefined symbol __builtin_isnan. This is because + /usr/include/iso/math_c99.h #defines isnan(x) to + __builtin_isnan(x), but the bundled gcc, which identifies itself + as gcc 3.4.3 (csl-sol210-3_4-branch+sol_rpath), does not have + a __builtin_isnan. + * floatfns.c (isnan): #undef, and then #define to a clone of + what's in data.c. + (Fisnan): Always define, since it's always available now. + (syms_of_floatfns): Always define isnan at the Lisp level. + +2011-09-06 Paul Eggert + + * Makefile.in (gl-stamp): move-if-change now in build-aux (Bug#9169). + +2011-09-06 Paul Eggert + + * fileio.c: Fix bugs with large file offsets (Bug#9428). + The previous code assumed that file offsets (off_t values) fit in + EMACS_INT variables, which is not true on typical 32-bit hosts. + The code messed up by falsely reporting buffer overflow in cases + such as (insert-file-contents "big" nil 1 2) into an empty buffer + when "big" contains more than 2**29 bytes, even though this + inserts just one byte and does not overflow the buffer. + (Finsert_file_contents): Store file offsets as off_t + values, not as EMACS_INT values. Check for overflow when + converting between EMACS_INT and off_t. When checking for + buffer overflow or for overlap, take the offsets into account. + Don't use EMACS_INT for small values where int suffices. + When checking for overlap, fix a typo: ZV was used where + ZV_BYTE was intended. + (Fwrite_region): Don't assume off_t fits into 'long'. + * buffer.h (struct buffer.modtime_size): Now off_t, not EMACS_INT. + +2011-09-05 Michael Albinus + + * dbusbind.c (xd_signature_cat): Rename from signature_cat. + +2011-09-04 Paul Eggert + + sprintf-related integer and memory overflow issues (Bug#9412). + + * doprnt.c (doprnt): Support printing ptrdiff_t and intmax_t values. + (esprintf, exprintf, evxprintf): New functions. + * keyboard.c (command_loop_level): Now EMACS_INT, not int. + (cmd_error): Kbd macro iterations count is now EMACS_INT, not int. + (modify_event_symbol): Do not assume that the length of + name_alist_or_stem is safe to alloca and fits in int. + (Fexecute_extended_command): Likewise for function name and binding. + (Frecursion_depth): Wrap around reliably on integer overflow. + * keymap.c (push_key_description): First arg is now EMACS_INT, not int, + since some callers pass EMACS_INT values. + (Fsingle_key_description): Don't crash if symbol name contains more + than MAX_ALLOCA bytes. + * minibuf.c (minibuf_level): Now EMACS_INT, not int. + (get_minibuffer): Arg is now EMACS_INT, not int. + * lisp.h (get_minibuffer, push_key_description): Reflect API changes. + (esprintf, exprintf, evxprintf): New decls. + * window.h (command_loop_level, minibuf_level): Reflect API changes. + + * dbusbind.c (signature_cat): New function. + (xd_signature, Fdbus_register_signal): + Do not overrun buffer; instead, report string overflow. + + * dispnew.c (add_window_display_history): Don't overrun buffer. + Truncate instead; this is OK since it's just a log. + + * editfns.c (Fcurrent_time_zone): Don't overrun buffer + even if the time zone offset is outlandishly large. + Don't mishandle offset == INT_MIN. + + * emacs.c (main) [NS_IMPL_COCOA]: Don't overrun buffer + when creating daemon; the previous buffer-overflow check was incorrect. + + * eval.c (verror): Simplify by rewriting in terms of evxprintf, + which has the guts of the old verror function. + + * filelock.c (lock_file_1, lock_file): Don't blindly alloca long name; + use SAFE_ALLOCA instead. Use esprintf to avoid int-overflow issues. + + * font.c: Include , for DBL_MAX_10_EXP. + (font_unparse_xlfd): Don't blindly alloca long strings. + Don't assume XINT result fits in int, or that XFLOAT_DATA * 10 + fits in int, when using sprintf. Use single snprintf to count + length of string rather than counting it via multiple sprintfs; + that's simpler and more reliable. + (font_unparse_fcname): Use it to avoid sprintf buffer overrun. + (generate_otf_features) [0 && HAVE_LIBOTF]: Use esprintf, not + sprintf, in case result does not fit in int. + + * fontset.c (num_auto_fontsets): Now printmax_t, not int. + (fontset_from_font): Print it. + + * frame.c (tty_frame_count): Now printmax_t, not int. + (make_terminal_frame, set_term_frame_name): Print it. + (x_report_frame_params): In X, window IDs are unsigned long, + not signed long, so print them as unsigned. + (validate_x_resource_name): Check for implausibly long names, + and don't assume name length fits in 'int'. + (x_get_resource_string): Don't blindly alloca invocation name; + use SAFE_ALLOCA. Use esprintf, not sprintf, in case result does + not fit in int. + + * gtkutil.c: Include , for DBL_MAX_10_EXP. + (xg_check_special_colors, xg_set_geometry): + Make sprintf buffers a bit bigger, to avoid potential buffer overrun. + + * lread.c (dir_warning): Don't blindly alloca buffer; use SAFE_ALLOCA. + Use esprintf, not sprintf, in case result does not fit in int. + + * macros.c (executing_kbd_macro_iterations): Now EMACS_INT, not int. + (Fend_kbd_macro): Don't mishandle MOST_NEGATIVE_FIXNUM by treating + it as a large positive number. + (Fexecute_kbd_macro): Don't assume repeat count fits in int. + * macros.h (executing_kbd_macro_iterations): Now EMACS_INT, not int. + + * nsterm.m ((NSSize)windowWillResize): Use esprintf, not sprintf, + in case result does not fit in int. + + * print.c (float_to_string): Detect width overflow more reliably. + (print_object): Make sprintf buffer a bit bigger, to avoid potential + buffer overrun. Don't assume list length fits in 'int'. Treat + print length of 0 as 0, not as infinity; to be consistent with other + uses of print length in this function. Don't overflow print length + index. Don't assume hash table size fits in 'long', or that + vectorlike size fits in 'unsigned long'. + + * process.c (make_process): Use printmax_t, not int, to format + process-name gensyms. + + * sysdep.c (snprintf) [! HAVE_SNPRINTF]: New function. + + * term.c (produce_glyphless_glyph): Make sprintf buffer a bit bigger + to avoid potential buffer overrun. + + * xfaces.c (x_update_menu_appearance): Don't overrun buffer + if X resource line is longer than 512 bytes. + + * xfns.c (x_window): Make sprintf buffer a bit bigger + to avoid potential buffer overrun. + + * xterm.c (x_io_error_quitter): Don't overrun sprintf buffer. + + * xterm.h (x_check_errors): Add ATTRIBUTE_FORMAT_PRINTF. + +2011-09-04 Paul Eggert + + Integer overflow fixes for scrolling, etc. + Without these, Emacs silently mishandles large integers sometimes. + For example, "C-u 4294967297 M-x recenter" was treated as if + it were "C-u 1 M-x recenter" on a typical 64-bit host. + + * xdisp.c (try_window_id): Check Emacs fixnum range before + converting to 'int'. + + * window.c (window_scroll_line_based, Frecenter): + Check that an Emacs fixnum is in range before assigning it to 'int'. + (Frecenter, Fmove_to_window_line): Use EMACS_INT, not int, for + values converted from Emacs fixnums. + (Frecenter): Don't wrap around a line count if it is out of 'int' + range; instead, treat it as an extreme value. + (Fset_window_configuration, compare_window_configurations): + Use ptrdiff_t, not int, for index that might exceed 2 GiB. + + * search.c (Freplace_match): Use ptrdiff_t, not int, for indexes + that can exceed INT_MAX. Check that EMACS_INT value is in range + before assigning it to the (possibly-narrower) index. + (match_limit): Don't assume that a fixnum can fit in 'int'. + + * print.c (print_object): Use ptrdiff_t, not int, for index that can + exceed INT_MAX. + + * indent.c (position_indentation): Now takes ptrdiff_t, not int. + (Fvertical_motion): Don't wrap around LINES values that don't fit + in 'int'. Instead, treat them as extreme values. This is good + enough for windows, which can't have more than INT_MAX lines anyway. + +2011-09-03 Lars Magne Ingebrigtsen + + * Require libxml/parser.h to avoid compilation warning. + + * emacs.c (shut_down_emacs): Call xmlCleanupParser on shutdown. + + * xml.c (parse_region): Don't call xmlCleanupParser after parsing, + since this reportedly can destroy thread storage. + +2011-08-30 Chong Yidong + + * syntax.c (find_defun_start): Update all cache variables if + exiting early (Bug#9401). + +2011-08-30 Eli Zaretskii + + * image.c (x_bitmap_pixmap): Cast to int to avoid compiler warnings. + + * xdisp.c (produce_stretch_glyph): No longer static, compiled also + when HAVE_WINDOW_SYSTEM is not defined. Support both GUI and TTY + frames. Call tty_append_glyph in the TTY case. (Bug#9402) + + * term.c (tty_append_glyph): New function. + (produce_stretch_glyph): Static function and its prototype deleted. + + * dispextern.h (produce_stretch_glyph, tty_append_glyph): + Add prototypes. + +2011-08-29 Paul Eggert + + * image.c (parse_image_spec): Check for nonnegative, not for positive, + when checking :margin (Bug#9390). + (IMAGE_NON_NEGATIVE_INTEGER_VALUE_OR_PAIR): + Rename from IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, + so that the name doesn't mislead. All uses changed. + +2011-08-28 Johan Bockgård + + * term.c (init_tty) [HAVE_GPM]: Move mouse settings after + set_tty_hooks. + +2011-08-27 Eli Zaretskii + + * xdisp.c (move_it_to): Don't bail out early when reaching + position beyond to_charpos, if we are scanning backwards. + (move_it_vertically_backward): When DY == 0, make sure we get to + the first character in the line after the newline. + +2011-08-27 Paul Eggert + + * ccl.c: Improve and simplify overflow checking (Bug#9196). + (ccl_driver): Do not generate an out-of-range pointer. + (Fccl_execute_on_string): Remove unnecessary check for + integer overflow, noted by Stefan Monnier in + . + Remove a FIXME that didn't need fixing. + Simplify the newly-introduced buffer reallocation code. + +2011-08-27 Juanma Barranquero + + * makefile.w32-in ($(BLD)/alloc.$(O)): Depend on lib/verify.h. + +2011-08-26 Paul Eggert + + Integer and memory overflow issues (Bug#9196). + + * doc.c (get_doc_string): Rework so that + get_doc_string_buffer_size is the actual buffer size, rather than + being 1 less than the actual buffer size; this makes xpalloc more + convenient. + + * image.c (x_allocate_bitmap_record, cache_image): + * xselect.c (Fx_register_dnd_atom): + Simplify previous changes by using xpalloc. + + * buffer.c (overlay_str_len): Now ptrdiff_t, not EMACS_INT, + since either will do and ptrdiff_t is convenient with xpalloc. + + * charset.c (charset_table_size) + (struct charset_sort_data.priority): Now ptrdiff_t. + (charset_compare): Don't overflow if priorities differ greatly. + (Fsort_charsets): Don't assume list length fits in int. + Check for size-calculation overflow when allocating sort data. + (syms_of_charset): Allocate an initial charset table that is + just under 64 KiB, to avoid problems with glibc malloc and mmap. + + * cmds.c (internal_self_insert): Check for size-calculation overflow. + + * composite.h (struct composition.glyph_len): Now int, not unsigned. + The actual value is always <= INT_MAX, and leaving it unsigned made + overflow checking harder. + + * dispextern.h (struct glyph_matrix.rows_allocated) + (struct face_cache.size): Now ptrdiff_t, for convenience in use + with xpalloc. The values are still always <= INT_MAX. + + * indent.c (compute_motion): Adjust to region_cache_forward sig change. + + * lisp.h (xnmalloc, xnrealloc, xpalloc): New decls. + (SAFE_NALLOCA): New macro. + + * region-cache.c (struct boundary.pos, find_cache_boundary) + (move_cache_gap, insert_cache_boundary, delete_cache_boundaries) + (set_cache_region, invalidate_region_cache) + (revalidate_region_cache, know_region_cache, region_cache_forward) + (region_cache_backward, pp_cache): + Use ptrdiff_t, not EMACS_INT, since either will do. This is needed + so that ptrdiff_t * can be passed to xpalloc. + (struct region_cache): Similarly, for gap_start, gap_len, cache_len, + beg_unchanged, end_unchanged, buffer_beg, buffer_end members. + (pp_cache): Don't assume cache_len fits in int. + * region-cache.h: Adjust extern decls to match. + + * search.c (scan_buffer, Freplace_match): Use ptrdiff_t, not + EMACS_INT, since either will do, for xpalloc. + + * alloc.c: Include verify.h, and check that int fits in ptrdiff_t. + (xnmalloc, xnrealloc, xpalloc): New functions. + + * bidi.c (bidi_shelve_header_size): New constant. + (bidi_cache_ensure_space, bidi_shelve_cache): Use it. + (bidi_cache_ensure_space): Avoid integer overflow when allocating. + + * bidi.c (bidi_cache_shrink): + * buffer.c (overlays_at, overlays_in, record_overlay_string) + (overlay_strings): + Don't update size of array until after memory allocation succeeds, + because xmalloc/xrealloc may not return. + (struct sortstrlist.bytes): Now ptrdiff_t, as EMACS_INT doesn't help + now that we have proper integer overflow checking. + (record_overlay_string, overlay_strings): Catch overflows when + calculating size of overlay_str_buf. + + * callproc.c (Fcall_process): Check for size overflow when + calculating size of args2. + (child_setup): Avoid overflow by using size_t rather than ptrdiff_t. + Normally we prefer signed values, but sticking with ptrdiff_t would + require adding more-complicated checks. + + * ccl.c (Fccl_execute_on_string): Check for memory overflow. + Use ptrdiff_t rather than EMACS_INT where ptrdiff_t will do. + Redo buffer-overflow calculations to avoid integer overflow. + Add a FIXME comment where memory seems to be over-allocated. + + * character.c (Fstring): Check for size-calculation overflow. + + * coding.c (produce_chars): Redo buffer-overflow calculations to avoid + unnecessary integer overflow. Check for size overflow. + (encode_coding_object): Don't update size until xmalloc succeeds. + + * composite.c (get_composition_id): Check for overflow in glyph + length calculations. + + Integer and memory overflow fixes for display code. + * dispextern.h (struct glyph_pool.nglyphs): Now ptrdiff_t, not int. + * dispnew.c (adjust_glyph_matrix, realloc_glyph_pool) + (scrolling_window): Check for overflow in size calculations. + (line_draw_cost, realloc_glyph_pool, add_row_entry): + Don't assume glyph table len fits in int. + (struct row_entry.bucket, row_entry_pool_size, row_entry_idx) + (row_table_size): Now ptrdiff_t, not int. + (scrolling_window): Avoid overflow in size calculations. + Don't update size until allocation succeeds. + * fns.c (concat): Check for overflow in size calculations. + (next_almost_prime): Verify NEXT_ALMOST_PRIME_LIMIT. + * lisp.h (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros. + (NEXT_ALMOST_PRIME_LIMIT): New constant. + + * doc.c (get_doc_string_buffer_size): Now ptrdiff_t, not int. + (get_doc_string): Check for size calculation overflow. + Don't update size until allocation succeeds. + (get_doc_string, Fsubstitute_command_keys): Use ptrdiff_t, not + EMACS_INT, where ptrdiff_t will do. + (Fsubstitute_command_keys): Check for string overflow. + + * editfns.c (set_time_zone_rule): Don't assume environment length + fits in int. + (message_length): Now ptrdiff_t, not int. + (Fmessage_box): Don't update size until allocation succeeds. + Don't assume message length fits in int. + (Fformat): Use ptrdiff_t, not EMACS_INT, where ptrdiff_t will do. + + * emacs.c (main): Do not reallocate argv, since there is a null at + the end that can be overwritten, and this way there's no need to + worry about size-calculation overflow. + (sort_args): Check for size-calculation overflow. + + * eval.c (init_eval_once, grow_specpdl): Don't update size until + alloc succeeds. + (call_debugger, grow_specpdl): Redo calculations to avoid overflow. + + * frame.c (set_menu_bar_lines, x_set_frame_parameters) + (x_set_scroll_bar_width, x_figure_window_size): + Check for integer overflow. + (x_set_alpha): Do not assume XINT fits in int. + + * frame.h (struct frame): Use int, not EMACS_INT, where int works. + This is for the members text_lines, text_cols, total_lines, total_cols, + where the system imposes an 'int' limit. + + * fringe.c (Fdefine_fringe_bitmap): + Don't update size until alloc works. + + * ftfont.c (ftfont_get_open_type_spec, setup_otf_gstring) + (ftfont_shape_by_flt): Check for integer overflow in size calculations. + + * gtkutil.c (get_utf8_string, xg_store_widget_in_map): + Check for size-calculation overflow. + (get_utf8_string): Use ptrdiff_t, not size_t, where either will + do, as we prefer signed integers. + (id_to_widget.max_size, id_to_widget.used) + (xg_store_widget_in_map, xg_remove_widget_from_map) + (xg_get_widget_from_map, xg_get_scroll_id_for_window) + (xg_remove_scroll_bar, xg_update_scrollbar_pos): + Use and return ptrdiff_t, not int. + (xg_gtk_scroll_destroy): Don't assume ptrdiff_t fits in int. + * gtkutil.h: Change prototypes to match the above. + + * image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): Remove; these + are duplicate now that they've been promoted to lisp.h. + (x_allocate_bitmap_record, x_alloc_image_color) + (make_image_cache, cache_image, xpm_load): + Don't update size until alloc is done. + (xpm_load, lookup_rgb_color, lookup_pixel_color, x_to_xcolors) + (x_detect_edges): + Check for size calculation overflow. + (ct_colors_allocated_max): New constant. + (x_to_xcolors, x_detect_edges): Reorder multiplicands to avoid + overflow. + + * keyboard.c (read_char, menu_bar_items, tool_bar_items) + (read_char_x_menu_prompt, read_char_minibuf_menu_width) + (read_char_minibuf_menu_prompt, follow_key, read_key_sequence): + Use ptrdiff_t, not int, to count maps. + (read_char_minibuf_menu_prompt): Check for overflow in size + calculations. Don't update size until allocation succeeds. + Redo calculations to avoid overflow. + * keyboard.h: Change prototypes to match the above. + + * keymap.c (cmm_size, current_minor_maps): Use ptrdiff_t, not int, + to count maps. + (current_minor_maps): Check for size calculation overflow. + * keymap.h: Change prototypes to match the above. + + * lread.c (read1, init_obarray): Don't update size until alloc done. + + * macros.c (Fstart_kbd_macro): Don't update size until alloc done. + (store_kbd_macro_char): Reorder multiplicands to avoid overflow. + + * nsterm.h (struct ns_color_table.size, struct ns_color_table.avail): + Now ptrdiff_t, not int. + * nsterm.m (ns_index_color): Use ptrdiff_t, not int, for table indexes. + (ns_draw_fringe_bitmap): Rewrite to avoid overflow. + + * process.c (Fnetwork_interface_list): Check for overflow + in size calculation. + + * region-cache.c (move_cache_gap): Check for size calculation overflow. + + * scroll.c (do_line_insertion_deletion_costs): Check for size calc + overflow. Don't bother calling xmalloc when xrealloc will do. + + * search.c (Freplace_match): Check for size calculation overflow. + (Fset_match_data): Don't assume list lengths fit in 'int'. + + * sysdep.c (system_process_attributes): Use ptrdiff_t, not int, + for command line length. Do not attempt to address one before the + beginning of an array, as that's not portable. + + * term.c (max_frame_lines): Remove; unused. + (encode_terminal_src_size, encode_terminal_dst_size): Now ptrdiff_t, + not int. + (encode_terminal_code, calculate_costs): Check for size + calculation overflow. + (encode_terminal_code): Use ptrdiff_t, not int, to record glyph + table lengths and related sizes. Don't update size until alloc + done. Redo calculations to avoid overflow. + (calculate_costs): Don't bother calling xmalloc when xrealloc will do. + + * termcap.c (tgetent): Use ptrdiff_t, not int, to record results of + subtracting pointers. + (gobble_line): Check for overflow more carefully. Don't update size + until alloc done. + + * tparam.c (tparam1): Use ptrdiff_t, not int, for sizes. + Don't update size until alloc done. + Redo size calculations to avoid overflow. + Check for size calculation overflow. + (main) [DEBUG]: Fix typo in invoking tparam1. + + * xdisp.c (store_mode_line_noprop_char, x_consider_frame_title): + Use ptrdiff_t, not int, for sizes. + (store_mode_line_noprop_char): Don't update size until alloc done. + + * xfaces.c (lface_id_to_name_size, Finternal_make_lisp_face): + Use ptrdiff_t, not int, for sizes. + (Finternal_make_lisp_face, cache_face): + Check for size calculation overflow. + (cache_face): Treat size calculation overflows as if they were + memory exhaustion (the usual treatment), rather than aborting. + + * xfns.c (x_encode_text, x_set_name_internal) + (Fx_change_window_property): Use ptrdiff_t, not int, to count + sizes, since they can exceed INT_MAX in size. Check for size + calculation overflow. + + * xgselect.c (gfds_size): Now ptrdiff_t, for convenience with xpalloc. + (xg_select): Check for size calculation overflow. + Don't update size until alloc done. + + * xrdb.c (get_environ_db): Don't assume path length fits in int, + as sprintf is limited to int lengths. + + * xselect.c (X_LONG_SIZE, X_SHRT_MAX, X_SHRT_MIN, X_LONG_MAX) + (X_LONG_MIN): New macros. + Use them to make the following changes clearer. + (MAX_SELECTION_QUANTUM): Make the other bounds on this value clearer. + This change doesn't affect the value now, but it may help remind + future maintainers not to raise the value too much later. + (SELECTION_QUANTUM): Remove, replacing with ... + (selection_quantum): ... new function, which avoids overflow. + All uses changed. + (struct selection_data.size): Now ptrdiff_t, not int, to avoid + assumption that selection length fits in 'int'. + (x_reply_selection_request, x_handle_selection_request) + (x_get_window_property, receive_incremental_selection) + (x_get_window_property_as_lisp_data, selection_data_to_lisp_data) + (lisp_data_to_selection_data, clean_local_selection_data): + Use ptrdiff_t, not int, to record length of selection. + (x_reply_selection_request, x_get_window_property) + (receive_incremental_selection, x_property_data_to_lisp): + Redo calculations to avoid overflow. + (x_reply_selection_request): When sending hint, ceiling it at + X_LONG_MAX rather than relying on wraparound overflow to send + something. + (x_get_window_property, receive_incremental_selection) + (lisp_data_to_selection_data, x_property_data_to_lisp): + Check for size-calculation overflow. + (x_get_window_property, receive_incremental_selection) + (lisp_data_to_selection_data, Fx_register_dnd_atom): + Don't store size until memory allocation succeeds. + (x_get_window_property): Plug memory leak on memory exhaustion. + Don't double-block input; malloc is safe here. Don't assume 2**34 + - 4 fits in unsigned long. Add an xassert to check + XGetWindowProperty overflow. Be more careful about overflow + calculations, and distinguish size from memory overflow better. + (receive_incremental_selection): When tracing, don't assume + unsigned int is less than INT_MAX. + (x_selection_data_to_lisp_data): Remove unnecessary (and in theory + harmful) conversions of unsigned short to int. + (lisp_data_to_selection_data): Don't assume that integers + in the range -65535 through -1 fit in an X unsigned short. + Don't assume that ULONG_MAX == X_ULONG_MAX. Don't store into + result parameters unless successful. Rely on cons_to_unsigned + to report problems with elements; the old code wasn't right anyway. + (x_check_property_data): Check for int overflow; we cannot use + a wider type due to X limits. + (x_handle_dnd_message): Use unsigned int, to avoid int overflow. + + * xsmfns.c (smc_save_yourself_CB): Check for size calc overflow. + + * xterm.c (x_color_cells, x_send_scrollbar_event, handle_one_xevent) + (x_term_init): Check for size calculation overflow. + (x_color_cells): Don't store size until memory allocation succeeds. + (handle_one_xevent): Use ptrdiff_t, not int, for byte counts. + Don't assume alloca size is less than MAX_ALLOCA. + (x_term_init): Don't assume length fits in int (sprintf is limited + to int size). + + Use ptrdiff_t for composition IDs. + * character.c (lisp_string_width): + * composite.c (composition_table_size, n_compositions) + (get_composition_id, composition_gstring_from_id): + * dispextern.h (struct glyph_string.cmp_id, struct composition_it.id): + * xdisp.c (BUILD_COMPOSITE_GLYPH_STRING): + * window.c (Frecenter): + Use ptrdiff_t, not int, for composition IDs. + * composite.c (get_composition_id): Check for integer overflow. + * composite.h: Adjust prototypes to match the above changes. + + Use ptrdiff_t for hash table indexes. + * category.c (hash_get_category_set): + * ccl.c (ccl_driver): + * charset.h (struct charset.hash_index, CHECK_CHARSET_GET_ID): + * coding.c (coding_system_charset_list, detect_coding_system): + * coding.h (struct coding_system.id): + * composite.c (get_composition_id, gstring_lookup_cache): + * fns.c (hash_lookup, hash_put, Fgethash, Fputhash): + * image.c (xpm_get_color_table_h): + * lisp.h (hash_lookup, hash_put): + * minibuf.c (Ftest_completion): + Use ptrdiff_t for hash table indexes, not int (which is too + narrow, on 64-bit hosts) or EMACS_INT (which is too wide, on + 32-bit --with-wide-int hosts). + + * charset.c (Fdefine_charset_internal): Check for integer overflow. + Add a FIXME comment about memory leaks. + (syms_of_charset): Don't assume xmalloc returns. + + Don't assume that stated character widths fit in int. + * character.c (Fchar_width, c_string_width, lisp_string_width): + * character.h (CHAR_WIDTH): + * indent.c (MULTIBYTE_BYTES_WIDTH): + Use sanitize_char_width to avoid undefined and/or bad behavior + with outlandish widths. + * character.h (sanitize_tab_width): Rename from sanitize_width, + now that we have two such functions. All uses changed. + (sanitize_char_width): New inline function. + + Don't assume that tab-width fits in int. + * character.h (sanitize_width): New inline function. + (SANE_TAB_WIDTH): New macro. + (ASCII_CHAR_WIDTH): Use it. + * indent.c (sane_tab_width): Remove. All uses replaced by + SANE_TAB_WIDTH (current_buffer). + * xdisp.c (init_iterator): Use SANE_TAB_WIDTH. + + * fileio.c: Integer overflow issues with file modes. + (Fset_file_modes, auto_save_1): Don't assume EMACS_INT fits in int. + + * charset.c (read_hex): New arg OVERFLOW. All uses changed. + Remove unreachable code. + (read_hex, load_charset_map_from_file): Check for integer overflow. + + * xterm.c: Don't go over XClientMessageEvent limit. + (scroll_bar_windows_size): Now ptrdiff_t, as we prefer signed. + (x_send_scroll_bar_event): Likewise. Check that the size does not + exceed limits imposed by XClientMessageEvent, as well as the usual + ptrdiff_t and size_t limits. + + * keyboard.c: Overflow, signedness and related fixes. + (make_lispy_movement): Use same integer type in forward decl + that is used in the definition. + (read_key_sequence, keyremap_step): + Change bufsize argument back to int, undoing my 2011-03-30 change. + We prefer signed types, and int is wide enough here. + (parse_tool_bar_item): Don't assume tool_bar_max_label_size is less + than TYPE_MAXIMUM (EMACS_INT) / 2. Don't let the label size grow + larger than STRING_BYTES_BOUND. Use ptrdiff_t for Emacs string + length, not size_t. Use ptrdiff_t for index, not int. + (keyremap_step, read_key_sequence): Redo bufsize check to avoid + possibility of integer overflow. + + Overflow, signedness and related fixes for images. + + * dispextern.h (struct it.stack[0].u.image.image_id) + (struct_it.image_id, struct image.id, struct image_cache.size) + (struct image_cache.used, struct image_cache.ref_count): + * gtkutil.c (update_frame_tool_bar): + * image.c (x_reference_bitmap, Fimage_size, Fimage_mask_p) + (Fimage_metadata, free_image_cache, clear_image_cache, lookup_image) + (cache_image, mark_image_cache, x_kill_gs_process, Flookup_image): + * nsmenu.m (update_frame_tool_bar): + * xdisp.c (calc_pixel_width_or_height): + * xfns.c (image_cache_refcount): + Image IDs are now ptrdiff_t, not int, to avoid arbitrary limits + on typical 64-bit hosts. + + * image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros. + (x_bitmap_pixmap, x_create_x_image_and_pixmap): + Omit unnecessary casts to int. + (parse_image_spec): Check that integers fall into 'int' range + when the callers expect that. + (image_ascent): Redo ascent calculation to avoid int overflow. + (clear_image_cache): Avoid overflow when sqrt (INT_MAX) < nimages. + (lookup_image): Remove unnecessary tests. + (xbm_image_p): Locals are now of int, not EMACS_INT, + since parse_image_check makes sure they fit into int. + (png_load, gif_load, svg_load_image): + Prefer int to unsigned where either will do. + (tiff_handler): New function, combining the cores of the + old tiff_error_handler and tiff_warning_handler. + This function is rewritten to use vsnprintf and thereby avoid + stack buffer overflows. It uses only the features of vsnprintf + that are common to both POSIX and native Microsoft. + (tiff_error_handler, tiff_warning_handler): Use it. + (tiff_load, gif_load, imagemagick_load_image): + Don't assume :index value fits in 'int'. + (gif_load): Omit unnecessary cast to double, and avoid double-rounding. + (imagemagick_load_image): Check that crop parameters fit into + the integer types that MagickCropImage accepts. Don't assume + Vimagemagick_render_type has a nonnegative value. Don't assume + size_t fits in 'long'. + (gs_load): Use printmax_t to print the widest integers possible. + Check for integer overflow when computing image height and width. + +2011-08-26 Eli Zaretskii + + * xdisp.c (redisplay_window): Don't force window start if point + will be invisible in the resulting window. (Bug#9324) + +2011-08-25 Eli Zaretskii + + * xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when + the display spec is of the form `(space ...)'. + (handle_display_spec): Return the value returned by + handle_single_display_spec, not just 1 or zero. + (handle_single_display_spec): If the display spec is of the form + `(space ...)', and specifies display in the text area, return 2 + rather than 1. + (try_cursor_movement): Check for the need to scroll more + accurately, and prefer exact match for point under bidi. + Don't advance `row' beyond the last row of the window. + + * dispextern.h (struct bidi_it): Rename the disp_prop_p member + into disp_prop; all users changed. + + * bidi.c (bidi_fetch_char): If compute_display_string_pos returns + DISP_PROP = 2, substitute the u+2029 PARAGRAPH SEPARATOR character + for the text covered by the display property. + +2011-08-25 Chong Yidong + + * buffer.c (Fbury_buffer_internal): Rename from Funrecord_buffer. + Change return value to nil. + (Frecord_buffer): Delete unused function. + +2011-08-24 Eli Zaretskii + + * xdisp.c (Fcurrent_bidi_paragraph_direction): For unibyte + buffers, return left-to-right. + (set_cursor_from_row): Consider candidate row a win if its glyph + represents a newline and point is on that newline. Fixes cursor + positioning on the newline at EOL of R2L text within L2R + paragraph, and vice versa. + (try_cursor_movement): Check continued rows, in addition to + continuation rows. Fixes unwarranted scroll when point enters a + continued line of R2L text within an L2R paragraph, or vice versa. + (cursor_row_p): Consider the case of point being equal to + MATRIX_ROW_END_CHARPOS. Prevents cursor being stuck when moving + from the end of a short line to the beginning of a continued line + of R2L text within L2R paragraph. + (RECORD_MAX_MIN_POS): For max_pos, use IT_CHARPOS even for + composed characters. + + * bidi.c (bidi_check_type): Use xassert. + (bidi_cache_iterator_state): Update the disp_pos and disp_prop_p + members. + +2011-08-23 Eli Zaretskii + + * bidi.c (bidi_get_type): Abort if we get zero as the bidi type of + a character. + +2011-08-23 Chong Yidong + + * nsfont.m (ns_otf_to_script): Fix typo. + +2011-08-22 Kenichi Handa + + * chartab.c (Fset_char_table_extra_slot): Do not inhibit setting a + extra slot even if the purpose is char-code-property-table. + +2011-08-23 Eli Zaretskii + + * xdisp.c (redisplay_window): When computing centering_position, + account for the height of the header line. (Bug#8874) + + * dispnew.c (buffer_posn_from_coords): Use buf_charpos_to_bytepos + instead of CHAR_TO_BYTE. Fixes a crash when a completion + candidate is selected by the mouse, and that candidate has a + composed character under the mouse. + + * xdisp.c (x_produce_glyphs): Set it->nglyphs to 1. Fixes pixel + coordinates reported by pos-visible-in-window-p for a composed + character in column zero. + +2011-08-23 Stefan Monnier + + * cmds.c (Fself_insert_command): Mention post-self-insert-hook. + +2011-08-22 Eli Zaretskii + + * xdisp.c (BUFFER_POS_REACHED_P): If this is a composition, + consider it a hit if to_charpos is anywhere in the range of the + composed buffer positions. + +2011-08-22 Chong Yidong + + * image.c (gif_load): Don't assume that each subimage has the same + dimensions as the base image. Handle disposal method that is + "undefined" by the gif spec (Bug#9335). + +2011-08-20 Chong Yidong + + * eval.c (Fsignal): Handle `debug' symbol in error handler (Bug#9329). + (Fcondition_case): Document `debug' symbol in error handler. + +2011-08-19 Eli Zaretskii + + * xfaces.c (face_at_buffer_position): Avoid repeated evaluation of + face ID by FACE_FROM_ID, and avoid a crash when mouse is moved + from an Org mode buffer to a Speedbar frame. + + * xdisp.c (RECORD_MAX_MIN_POS): If the display element comes from + a composition, take its buffer position from IT->cmp_it.charpos. + Fixes cursor positioning at the beginning of a line that begins + with a composed character. + +2011-08-18 Eli Zaretskii + + * bidi.c (bidi_get_type): If bidi_type_table reports zero as the + character bidirectional type, use STRONG_L instead. Fixes crashes + in a buffer produced by `describe-categories'. + + * dispextern.h (struct bidi_it): Move disp_pos and disp_prop_p + members before the level stack, so they would be saved and + restored when copying iterator state. Fixes incorrect reordering + around TABs covered by display properties. + +2011-08-18 Andreas Schwab + + * process.c (Fnetwork_interface_list): Correctly determine buffer size. + +2011-08-17 Chong Yidong + + * eval.c (internal_condition_case, internal_condition_case_1) + (internal_condition_case_2, internal_condition_case_n): + Remove unnecessary aborts (Bug#9081). + +2011-08-17 Eli Zaretskii + + * lread.c (Fload) [DOS_NT]: If `openp' returns -2, but the file + has no `load' handler, try opening the file locally. (Bug#9311) + +2011-08-16 Ken Brown + + * gmalloc.c: Expand comment. + +2011-08-16 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Don't accept a previous candidate + if it fails the cursor_row_p test. Fixes cursor positioning at ZV. + +2011-08-16 Ken Brown + + Fix memory allocation problems in Cygwin build (Bug#9273). + + * unexcw.c (__malloc_initialized): Declare external variable. + (fixup_executable): Force the dumped emacs to reinitialize malloc. + + * gmalloc.c [CYGWIN] (bss_sbrk_heapbase, bss_sbrk_heapinfo): + New variables. + (malloc_initialize_1) [CYGWIN]: Prepare for reinitializing the + dumped emacs. + (_free_internal_nolock) [CYGWIN]: Ignore requests to free storage + in the static heap. + [CYGWIN] (special_realloc): New function. + (_realloc_internal_nolock) [CYGWIN]: Use the new function on + requests to realloc storage in the static heap. + +2011-08-15 Paul Eggert + + * bidi.c (bidi_initialize): Remove unused local. + +2011-08-15 Eli Zaretskii + + * bidimirror.h: + * biditype.h: Remove file. + * makefile.w32-in ($(BLD)/bidi.$(O)): + * deps.mk (bidi.o): Remove biditype.h and bidimirror.h. + + * dispextern.h: Fix a typo in the comment to bidi_type_t. + + * chartab.c: Improve commentary for the uniprop_table API. + + * bidi.c (bidi_paragraph_init): Support zero value of + bidi_ignore_explicit_marks_for_paragraph_level. + (bidi_initialize): Use uniprop_table instead of including + biditype.h and bidimirror.h. + + * xdisp.c (move_it_in_display_line_to): Don't reset pixel + coordinates of the iterator when restoring from ppos_it. + (Bug#9296) + +2011-08-14 Kenichi Handa + + * process.c (create_process): Call setup_process_coding_systems + after the pid of the process is set to -1 (Bug#8162). + +2011-08-14 Eli Zaretskii + + * xdisp.c (move_it_in_display_line_to): Don't invoke + IT_RESET_X_ASCENT_DESCENT when iterator position was restored from + ppos_it. Fixes vertical cursor motion when line beginning is + covered by an image. (Bug#9296) + +2011-08-14 Jan Djärv + + * nsterm.h (ns_run_ascript): Declare. + (NSAPP_DATA2_RUNASSCRIPT): Define. + + * nsfns.m (as_script, as_result, as_status): New static variables. + (ns_run_ascript): New function. + (Fns_do_applescript): Set variables as_*. Make an NSApplicationDefined + event with data2 set to NSAPP_DATA2_RUNASSCRIPT, post it and then start + the event loop. Get status from as_status (Bug#7276). + + * nsterm.m (sendEvent): If event is NSApplicationDefined and + data2 is NSAPP_DATA2_RUNASSCRIPT, call ns_run_ascript and then exit + the event loop (Bug#7276). + +2011-08-14 Andreas Schwab + + * gnutls.c (QCgnutls_bootprop_priority) + (QCgnutls_bootprop_trustfiles, QCgnutls_bootprop_keylist) + (QCgnutls_bootprop_crlfiles, QCgnutls_bootprop_callbacks) + (QCgnutls_bootprop_loglevel, QCgnutls_bootprop_hostname) + (QCgnutls_bootprop_min_prime_bits, QCgnutls_bootprop_verify_flags) + (QCgnutls_bootprop_verify_hostname_error) + (QCgnutls_bootprop_callbacks_verify): Rename from + Qgnutls_bootprop_..., all uses changed. + + * xfaces.c (QCignore_defface): Rename from Qignore_defface, all + uses changed. + +2011-08-14 Paul Eggert + + * xfaces.c (Qframe_set_background_mode): Now static. + * dispextern.h (Qframe_set_background_mode): Remove decl. + + * process.c (Fnetwork_interface_info): Declare local only if needed. + +2011-08-13 Jan Djärv + + * process.c: Include ifaddrs.h and net/if_dl.h if available (Bug#8477). + (Fnetwork_interface_list): Allocate in increments of bytes instead + of sizeof (struct ifreq). Iterate over ifconf.ifc_req by counting + bytes (Bug#8477). Count bytes correctly when ifr_addr is a struct + sockaddr. + (struct ifflag_def): notrailers is smart on OSX. + (Fnetwork_interface_info): Handle case when ifr_flags is negative. + Get hardware address with getifaddrs if available. + +2011-08-12 Eli Zaretskii + + * xdisp.c (iterate_out_of_display_property): xassert that + IT->position is set to within IT->object's boundaries. Break from + the loop as soon as EOB is reached; avoids infloops in redisplay + when IT->position is set up wrongly due to some bug. + Set IT->current to match the bidi iterator unconditionally. + (push_display_prop): Allow GET_FROM_STRING as IT->method on + entry. Force push_it to save on the stack the current + buffer/string position, to be restored by pop_it. Fix flags in + the iterator structure wrt the object coming from a display + property, as `line-prefix' and `wrap-prefix' are not ``replacing'' + properties. (Bug#9284) + +2011-08-09 Andreas Schwab + + * fontset.c (fontset_get_font_group): Add proper type checks. + (Bug#9172) + +2011-08-09 YAMAMOTO Mitsuharu + + * unexmacosx.c (print_load_command_name): Add cases LC_FUNCTION_STARTS + and LC_VERSION_MIN_MACOSX. + (copy_linkedit_data) [LC_FUNCTION_STARTS]: New function. + (dump_it) [LC_FUNCTION_STARTS]: Use it. + +2011-08-08 Eli Zaretskii + + * xdisp.c (forward_to_next_line_start): Allow to use the + no-display-properties-and-no-overlays under bidi display. + Set disp_pos in the bidi iterator to avoid searches for display + properties and overlays. + +2011-08-08 Chong Yidong + + * editfns.c (Fset_time_zone_rule): Document relationship with the + setenv function. + + * ftfont.c (ftfont_pattern_entity): Copy the extras argument to + the font entity extracted from the cache (Bug#8109). + +2011-08-07 Chong Yidong + + * composite.c (autocmp_chars): Don't reset point. That is done by + restore_point_unwind (Bug#5984). + +2011-08-07 Juri Linkov + + * editfns.c (Fformat_time_string): Doc fix, add tag `usage:' + to show the arg `TIME' instead of `TIMEVAL'. + +2011-08-06 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Fix cursor positioning when a + display property strides EOL and includes a newline, as in + longlines-mode. (Bug#9254) + (move_it_in_display_line_to): Fix vertical-motion in a buffer with + word-wrap under bidirectional display. (Bug#9224) + + * bidi.c (bidi_unshelve_cache): Don't reset the cache if JUST_FREE + is non-zero, even if the data buffer is NULL. Fixes a crash in + vertical-motion with longlines-mode. (Bug#9254) + +2011-08-05 Eli Zaretskii + + * bidi.c : Now static. + (bidi_initialize): Initialize bidi_cache_total_alloc. + + * xdisp.c (display_line): Release buffer allocated for shelved bidi + cache. (Bug#9221) + + * bidi.c (bidi_shelve_cache, bidi_unshelve_cache): Track total + amount allocated this far in `bidi_cache_total_alloc'. + (bidi_unshelve_cache): Accept an additional argument JUST_FREE; if + non-zero, only free the data buffer without restoring the cache + contents. All callers changed. + + * dispextern.h (bidi_unshelve_cache): Update prototype. + + * xdisp.c (SAVE_IT, pos_visible_p, move_it_in_display_line_to) + (move_it_in_display_line, move_it_to) + (move_it_vertically_backward, move_it_by_lines): Replace the call + to xfree to an equivalent call to bidi_unshelve_cache. + (move_it_in_display_line_to): Fix logic of returning + MOVE_POS_MATCH_OR_ZV in the bidi case. (Bug#9224) + +2011-08-05 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Prefer the candidate glyph that + came from a string character with a `cursor' property. (Bug#9229) + +2011-08-04 Jan Djärv + + * Makefile.in (LIB_PTHREAD): New variable. + (LIBES): Add LIB_PTHREAD (Bug#9216). + + * alloc.c, emacs.c, gmalloc.c, gtkutil.c, keyboard.c, syssignal.h: + Rename HAVE_GTK_AND_PTHREAD to HAVE_PTHREAD (Bug#9216). + +2011-08-04 Andreas Schwab + + * regex.c (re_iswctype): Remove some redundant boolean conversions. + +2011-08-04 Jan Djärv + + * xterm.c (x_find_topmost_parent): New function. + (x_set_frame_alpha): Find topmost parent window with + x_find_topmost_parent and set the property there also (bug#9181). + (handle_one_xevent): Call x_set_frame_alpha on ReparentNotify. + +2011-08-04 Paul Eggert + + * callproc.c (Fcall_process): Avoid vfork clobbering + the local vars buffer, coding_systems, current_dir. + +2011-08-03 Stefan Monnier + + * keymap.c (Fmake_composed_keymap): Move to subr.el. + +2011-08-03 Paul Eggert + + * fontset.c (dump_fontset) [FONTSET_DEBUG]: Declare EXTERNALLY_VISIBLE + so that it is not optimized away. + + * xdisp.c (compute_display_string_pos): Remove unused local. + +2011-08-02 Eli Zaretskii + + Fix slow cursor motion and scrolling in large buffers with + selective display, like Org Mode buffers. (Bug#9218) + + * dispextern.h (struct bidi_it): New member disp_prop_p. + + * xdisp.c: Remove one-slot cache of display string positions. + (compute_display_string_pos): Accept an additional argument + DISP_PROP_P; callers changed. Scan at most 5K characters forward + for a display string or property. If found, set DISP_PROP_P + non-zero. + + * bidi.c (bidi_fetch_char): Accept an additional argument + DISP_PROP_P, and pass it to compute_display_string_pos. + Only handle text covered by a display string if DISP_PROP_P is returned + non-zero. All callers of bidi_fetch_char changed. + +2011-08-02 Stefan Monnier + + * keymap.c (Fdefine_key): Fix Lisp_Object/int mixup; apply some CSE. + +2010-12-03 Don March + + * keymap.c (Fdefine_key): Fix non-prefix key error message when + last character M-[char] is translated to ESC [char] (bug#7541). + +2011-08-02 Kenichi Handa + + * lisp.h (uniprop_table): Extern it. + + * chartab.c (uniprop_table): Make it non-static. + +2011-08-01 Eli Zaretskii + + * xdisp.c (forward_to_next_line_start): Accept additional argument + BIDI_IT_PREV, and store into it the state of the bidi iterator had + on the newline. + (reseat_at_next_visible_line_start): Use the bidi iterator state + returned by forward_to_next_line_start to restore the state of + it->bidi_it after backing up to previous newline. (Bug#9212) + +2011-07-30 Andreas Schwab + + * regex.c (re_comp): Protoize. + (re_exec): Fix return type. + (regexec): Fix type of `ret'. (Bug#9203) + +2011-07-28 Paul Eggert + + * image.c (check_image_size): Use 1024x1024 if unknown frame (Bug#9189). + This is needed if max-image-size is a floating-point number. + +2011-07-28 Andreas Schwab + + * print.c (print_object): Print empty symbol as ##. + + * lread.c (read1): Read ## as empty symbol. + +2011-07-28 Alp Aker + + * nsfns.m (x_set_foreground_color): Set f->foreground_pixel when + setting frame foreground color (Bug#9175). + (x_set_background_color): Likewise. + + * nsmenu.m (-setText): Size tooltip dimensions precisely to + contents (Bug#9176). + (EmacsTooltip -init): Remove bezels and add shadows to + tooltip windows. + + * nsterm.m (ns_dumpglyphs_stretch): Avoid overwriting left fringe + or scroll bar (Bug#8470). + + * nsfont.m (nsfont_open): Remove assignment to voffset and + unnecessary vars hshink, expand, hd, full_height, min_height. + (nsfont_draw): Use s->ybase as baseline for glyph drawing (Bug#8913). + + * nsterm.h (nsfont_info): Remove voffset field. + +2011-07-28 Alp Aker + + Implement strike-through and overline on NextStep (Bug#8863). + + * nsfont.m (nsfont_open): Use underline position provided by font, + instead of hard-coded value of 2. + (nsfont_draw): Call ns_draw_text_decoration instead. + + * nsterm.h: Add declaration for ns_draw_text_decoration. + + * nsterm.m (ns_draw_text_decoration): New function for drawing + underline, overline, and strike-through. + (ns_dumpglyphs_image, ns_dumpglyphs_stretch): Add call to + ns_draw_text_decoration. Change treatment of cursor drawing to + accommodate underlining, etc. + +2011-07-28 Eli Zaretskii + + * buffer.c (init_buffer_once): Set bidi-display-reordering to t by + default. + +2011-07-28 Paul Eggert + + * alloc.c (memory_full) [!SYNC_INPUT]: Fix signal-related race. + Without this fix, if a signal arrives just after memory fills up, + 'malloc' might be invoked reentrantly. + + * image.c (x_check_image_size) [!HAVE_X_WINDOWS]: Return 1. + In other words, assume that every image size is allowed, on non-X + hosts. This assumption is probably wrong, but it lets Emacs compile. + +2011-07-28 Andreas Schwab + + * regex.c (re_iswctype): Convert return values to boolean. + +2011-07-28 Eli Zaretskii + + * xdisp.c (compute_display_string_pos): Don't use cached display + string position if the buffer had its restriction changed. + (Bug#9184) + +2011-07-28 Paul Eggert + + * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering. + +2011-07-28 Paul Eggert + + Integer signedness and overflow and related fixes. (Bug#9079) + + * bidi.c: Integer size and overflow fixes. + (bidi_cache_size, bidi_cache_idx, bidi_cache_last_idx) + (bidi_cache_start, bidi_cache_fetch_state, bidi_cache_search) + (bidi_cache_find_level_change, bidi_cache_ensure_space) + (bidi_cache_iterator_state, bidi_cache_find, bidi_cache_start_stack) + (bidi_find_other_level_edge): + Use ptrdiff_t instead of EMACS_INT where either will do. + This works better on 32-bit hosts configured --with-wide-int. + (bidi_cache_ensure_space): Check for size-calculation overflow. + Use % rather than repeated addition, for better worst-case speed. + Don't set bidi_cache_size until after xrealloc returns, because it + might not return. + (bidi_dump_cached_states): Use ptrdiff_t, not int, to avoid overflow. + (bidi_cache_ensure_space): Also check that the bidi cache size + does not exceed that of the largest Lisp string or buffer. See Eli + Zaretskii in . + + * alloc.c (__malloc_size_t): Remove. + All uses replaced by size_t. See Andreas Schwab's note + . + + * image.c: Improve checking for integer overflow. + (check_image_size): Assume that f is nonnull, since + it is always nonnull in practice. This is one less thing to + worry about when checking for integer overflow later. + (x_check_image_size): New function, which checks for integer + overflow issues inside X. + (x_create_x_image_and_pixmap, xbm_read_bitmap_data): Use it. + This removes the need for a memory_full check. + (xbm_image_p): Rewrite to avoid integer multiplication overflow. + (Create_Pixmap_From_Bitmap_Data, xbm_load): Use x_check_image_size. + (xbm_read_bitmap_data): Change locals back to 'int', since + their values must fit in 'int'. + (xpm_load_image, png_load, tiff_load): + Invoke x_create_x_image_and_pixmap earlier, + to avoid much needless work if the image is too large. + (tiff_load): Treat overly large images as if + x_create_x_image_and_pixmap failed, not as malloc failures. + (gs_load): Use x_check_image_size. + + * gtkutil.c: Omit integer casts. + (xg_get_pixbuf_from_pixmap): Remove unnecessary cast. + (xg_set_toolkit_scroll_bar_thumb): Rewrite to avoid need for cast. + + * image.c (png_load): Don't assume height * row_bytes fits in 'int'. + + * xfaces.c (Fbitmap_spec_p): Fix integer overflow bug. + Without this fix, (bitmap-spec-p '(34359738368 1 "x")) + would wrongly return t on a 64-bit host. + + * dispnew.c (init_display): Use *_RANGE_OVERFLOW macros. + The plain *_OVERFLOW macros run afoul of GCC bug 49705 + + and therefore cause GCC to emit a bogus diagnostic in some cases. + + * image.c: Integer signedness and overflow and related fixes. + This is not an exhaustive set of fixes, but it's time to + record what I've got. + (lookup_pixel_color, check_image_size): Remove redundant decls. + (check_image_size): Don't assume that arbitrary EMACS_INT values + fit in 'int', or that arbitrary 'double' values fit in 'int'. + (x_alloc_image_color, x_create_x_image_and_pixmap, png_load) + (tiff_load, imagemagick_load_image): + Check for overflow in size calculations. + (x_create_x_image_and_pixmap): Remove unnecessary test for + xmalloc returning NULL; that can't happen. + (xbm_read_bitmap_data): Don't assume sizes fit into 'int'. + (xpm_color_bucket): Use better integer hashing function. + (xpm_cache_color): Don't possibly over-allocate memory. + (struct png_memory_storage, tiff_memory_source, tiff_seek_in_memory) + (gif_memory_source): + Use ptrdiff_t, not int or size_t, to record sizes. + (png_load): Don't assume values greater than 2**31 fit in 'int'. + (our_stdio_fill_input_buffer): Prefer ptrdiff_t to size_t when + either works, as we prefer signed integers. + (tiff_read_from_memory, tiff_write_from_memory): + Return tsize_t, not size_t, since that's what the TIFF API wants. + (tiff_read_from_memory): Don't fail simply because the read would + go past EOF; instead, return a short read. + (tiff_load): Omit no-longer-needed casts. + (Fimagemagick_types): Don't assume size fits into 'int'. + + Improve hashing quality when configured --with-wide-int. + * fns.c (hash_string): New function, taken from sxhash_string. + Do not discard information about ASCII character case; this + discarding is no longer needed. + (sxhash-string): Use it. Change sig to match it. Caller changed. + * lisp.h: Declare it. + * lread.c (hash_string): Remove, since we now use fns.c's version. + The fns.c version returns a wider integer if --with-wide-int is + specified, so this should help the quality of the hashing a bit. + + * emacs.c: Integer overflow minor fix. + (heap_bss_diff): Now uprintmax_t, not unsigned long. All used changed. + Define only if GNU_LINUX. + (main, Fdump_emacs): Set and use heap_bss_diff only if GNU_LINUX. + + * dispnew.c: Integer signedness and overflow fixes. + Remove unnecessary forward decls, that were a maintenance hassle. + (history_tick): Now uprintmax_t, so it's more likely to avoid overflow. + All uses changed. + (adjust_glyph_matrix, realloc_glyph_pool, adjust_frame_message_buffer) + (scrolling_window): Use ptrdiff_t, not int, for byte count. + (prepare_desired_row, line_draw_cost): + Use int, not unsigned, where either works. + (save_current_matrix, restore_current_matrix): + Use ptrdiff_t, not size_t, where either works. + (init_display): Check for overflow more accurately, and without + relying on undefined behavior. + + * editfns.c (pWIDE, pWIDElen, signed_wide, unsigned_wide): + Remove, replacing with the new symbols in lisp.h. All uses changed. + * fileio.c (make_temp_name): + * filelock.c (lock_file_1, lock_file): + * xdisp.c (message_dolog): + Don't assume PRIdMAX etc. works; this isn't portable to pre-C99 hosts. + Use pMd etc. instead. + * lisp.h (printmax_t, uprintmax_t, pMd, pMu): New types and macros, + replacing the pWIDE etc. symbols removed from editfns.c. + + * keyboard.h (num_input_events): Now uintmax_t. + This is (very slightly) less likely to mess up due to wraparound. + All uses changed. + + * buffer.c: Integer signedness fixes. + (alloc_buffer_text, enlarge_buffer_text): + Use ptrdiff_t rather than size_t when either will do, as we prefer + signed integers. + + * alloc.c: Integer signedness and overflow fixes. + Do not impose an arbitrary 32-bit limit on malloc sizes when debugging. + (__malloc_size_t): Default to size_t, not to int. + (pure_size, pure_bytes_used_before_overflow, stack_copy_size) + (Fgarbage_collect, mark_object_loop_halt, mark_object): + Prefer ptrdiff_t to size_t when either would do, as we prefer + signed integers. + (XMALLOC_OVERRUN_CHECK_OVERHEAD): New macro. + (xmalloc_overrun_check_header, xmalloc_overrun_check_trailer): + Now const. Initialize with values that are in range even if char + is signed. + (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): Remove, replacing with ... + (xmalloc_put_size, xmalloc_get_size): New functions. All uses changed. + These functions do the right thing with sizes > 2**32. + (check_depth): Now ptrdiff_t, not int. + (overrun_check_malloc, overrun_check_realloc, overrun_check_free): + Adjust to new way of storing sizes. Check for size overflow bugs + in rest of code. + (STRING_BYTES_MAX): Adjust to new overheads. The old code was + slightly wrong anyway, as it missed one instance of + XMALLOC_OVERRUN_CHECK_OVERHEAD. + (refill_memory_reserve): Omit needless cast to size_t. + (mark_object_loop_halt): Mark as externally visible. + + * xselect.c: Integer signedness and overflow fixes. + (Fx_register_dnd_atom, x_handle_dnd_message): + Use ptrdiff_t, not size_t, since we prefer signed. + (Fx_register_dnd_atom): Check for ptrdiff_t (and size_t) overflow. + * xterm.h (struct x_display_info): Use ptrdiff_t, not size_t, for + x_dnd_atoms_size and x_dnd_atoms_length. + + * doprnt.c: Prefer signed to unsigned when either works. + * eval.c (verror): + * doprnt.c (doprnt): + * lisp.h (doprnt): + * xdisp.c (vmessage): + Use ptrdiff_t, not size_t, when using or implementing doprnt, + since the sizes cannot exceed ptrdiff_t bounds anyway, and we + prefer signed arithmetic to avoid comparison confusion. + * doprnt.c (doprnt): Avoid a "+ 1" that can't overflow, + but is a bit tricky. + + Assume freestanding C89 headers, string.h, stdlib.h. + * data.c, doprnt.c, floatfns.c, print.c: + Include float.h unconditionally. + * gmalloc.c: Assume C89-at-least behavior for preprocessor, + limits.h, stddef.h, string.h. Use memset instead of 'flood'. + * regex.c: Likewise for stddef.h, string.h. + (ISASCII): Remove; can assume it returns 1 now. All uses removed. + * s/aix4-2.h (HAVE_STRING_H): Remove obsolete undef. + * s/ms-w32.h (HAVE_LIMITS_H, HAVE_STRING_H, HAVE_STDLIB_H) + (STDC_HEADERS): Remove obsolete defines. + * sysdep.c: Include limits.h unconditionally. + + Assume support for memcmp, memcpy, memmove, memset. + * lisp.h, sysdep.c (memcmp, memcpy, memmove, memset): + * regex.c (memcmp, memcpy): + Remove; we assume C89 now. + + * gmalloc.c (memcpy, memset, memmove): Remove; we assume C89 now. + (__malloc_safe_bcopy): Remove; no longer needed. + + * lisp.h (struct vectorlike_header, struct Lisp_Subr): Signed sizes. + Use EMACS_INT, not EMACS_UINT, for sizes. The code works equally + well either way, and we prefer signed to unsigned. + +2011-07-27 Lars Magne Ingebrigtsen + + * gnutls.c (emacs_gnutls_read): Don't message anything if the peer + closes the connection while we're reading (bug#9182). + +2011-07-25 Jan Djärv + + * nsmenu.m (ns_popup_dialog): Add an "ok" button if no buttons + are specified (Bug#9168). + +2011-07-25 Paul Eggert + + * bidi.c (bidi_dump_cached_states): Fix printf format mismatch. + Found by GCC static checking and --with-wide-int on a 32-bit host. + +2011-07-25 Eli Zaretskii + + * xdisp.c (compute_display_string_pos): Fix logic of caching + previous display string position. Initialize cached_prev_pos to + -1. Fixes slow-down at the beginning of a buffer. + +2011-07-24 Eli Zaretskii + + * xfaces.c (check_lface_attrs) [HAVE_WINDOW_SYSTEM]: Allow `nil' + for attrs[LFACE_FONTSET_INDEX]. + +2011-07-23 Paul Eggert + + * xml.c (parse_region): Remove unused local + that was recently introduced. + +2011-07-23 Eli Zaretskii + + * xfns.c (unwind_create_frame) [GLYPH_DEBUG]: Adapt to changes in + 2008-02-22T17:42:09Z!monnier@iro.umontreal.ca. + + * xdisp.c (move_it_in_display_line_to): Record the best matching + position for TO_CHARPOS while scanning the line, and restore it on + exit if none of the characters scanned was an exact match. + Fixes vertical-motion and pos-visible-in-window-p under bidi redisplay + when exact match is impossible due to invisible text, and the + lines are truncated. + +2011-07-23 Jan Djärv + + * nsterm.m (initFrameFromEmacs): Set NSTitledWindowMask in styleMask + for OSX >= 10.7. + +2011-07-22 Eli Zaretskii + + Fix a significant slow-down of cursor motion with C-n, C-p, + C-f/C-b, and C-v/M-v that couldn't keep up with keyboard + auto-repeat under bidi redisplay in fontified buffers. + * xdisp.c (compute_stop_pos_backwards): New function. + (next_element_from_buffer): Call compute_stop_pos_backwards to + find a suitable prev_stop when we find ourselves before + base_level_stop. + (reseat): Don't look for prev_stop, as that could mean a very long + run. + + : Cache for last found display string + position. + (compute_display_string_pos): Return the cached position if asked + about the same buffer in the same area of character positions, and + the buffer wasn't changed since the time the display string + position was cached. + +2011-07-22 Eli Zaretskii + + * xdisp.c (rows_from_pos_range): Don't ignore glyphs whose object + is an integer, which is important for empty lines. (Bug#9149) + +2011-07-22 Chong Yidong + + * frame.c (Fmodify_frame_parameters): In tty case, update the + default face if necessary (Bug#4238). + +2011-07-21 Chong Yidong + + * editfns.c (Fstring_to_char): No need to explain what a character + is in the docstring (Bug#6576). + +2011-07-20 Lars Magne Ingebrigtsen + + * xml.c (parse_region): Make sure we always return a tree. + +2011-07-20 HAMANO Kiyoto + + * xml.c (parse_region): If a document contains only comments, + return that, too. + +2011-07-20 Lars Magne Ingebrigtsen + + * xml.c (make_dom): Return comments, too. + +2011-07-19 Paul Eggert + + Port to OpenBSD. + See http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg00688.html + and the surrounding thread. + * minibuf.c (read_minibuf_noninteractive): Rewrite to use getchar + rather than fgets, and retry after EINTR. Otherwise, 'emacs + --batch -f byte-compile-file' fails on OpenBSD if an inactivity + timer goes off. + * s/openbsd.h (BROKEN_SIGIO): Define. + * unexelf.c (unexec) [__OpenBSD__]: + Don't update the .mdebug section of the Alpha COFF symbol table. + +2011-07-19 Lars Magne Ingebrigtsen + + * lread.c (syms_of_lread): Clarify when `lexical-binding' is used + (bug#8460). + +2011-07-18 Paul Eggert + + * fileio.c (Fcopy_file) [!MSDOS]: Tighten created file's mask. + This fixes some race conditions on the permissions of any newly + created file. + + * alloc.c (valid_pointer_p): Use pipe, not open. + This fixes some permissions issues when debugging. + + * fileio.c (Fcopy_file): Adjust mode if fchown fails. (Bug#9002) + If fchown fails to set both uid and gid, try to set just gid, + as that is sometimes allowed. Adjust the file's mode to eliminate + setuid or setgid bits that are inappropriate if fchown fails. + +2011-07-18 Stefan Monnier + + * xdisp.c (next_element_from_string, next_element_from_buffer): Use EQ + to compare Lisp_Objects. + * gnutls.c (syms_of_gnutls): Rename Vgnutls_log_level to + global_gnutls_log_level, don't mistake it for a Lisp_Object. + (init_gnutls_functions, emacs_gnutls_handle_error): Fix up uses. + +2011-07-17 Andreas Schwab + + * lread.c (read_integer): Unread even EOF character. + (read1): Likewise. Properly record start position of symbol. + + * lread.c (read1): Read `#:' as empty uninterned symbol if no + symbol character follows. + +2011-07-17 Paul Eggert + + * fileio.c (Fcopy_file): Pacify gcc re fchown. (Bug#9002) + This works around a problem with the previous change to Fcopy_file. + Recent glibc declares fchown with __attribute__((warn_unused_result)), + and without this change, GCC might complain about discarding + fchown's return value. + +2011-07-16 Juanma Barranquero + + * makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059). + +2011-07-16 Paul Eggert + + * fileio.c (Fcopy_file): Don't diagnose fchown failures. (Bug#9002) + +2011-07-16 Lars Magne Ingebrigtsen + + * gnutls.c (syms_of_gnutls): Define `gnutls-log-level' here, since + it's used from the C level. + + * process.c: Use the same condition for POLL_FOR_INPUT in both + keyboard.c and process.c (bug#1858). + +2011-07-09 Lawrence Mitchell + + * gnutls.c (Qgnutls_bootprop_min_prime_bits): New variable. + (Fgnutls_boot): Use it. + +2011-07-15 Andreas Schwab + + * doc.c (Fsubstitute_command_keys): Revert last change. + +2011-07-15 Lars Magne Ingebrigtsen + + * doc.c (Fsubstitute_command_keys): Clarify that \= really only + quotes the next character, and doesn't affect other longer + sequences (bug#8935). + + * lread.c (syms_of_lread): Clarify that is isn't only + `eval-buffer' and `eval-defun' that's affected by + `lexical-binding' (bug#8460). + +2011-07-15 Eli Zaretskii + + * xdisp.c (move_it_in_display_line_to): Fix vertical motion with + bidi redisplay when a line includes both an image and is truncated. + +2011-07-14 Paul Eggert + + Fix minor problems found by static checking. + * bidi.c (bidi_cache_size): Now EMACS_INT, not size_t. + (elsz): Now a signed constant, not a size_t var. We prefer signed + types to unsigned, to avoid integer comparison confusion. Without + this change, GCC 4.6.1 with -Wunsafe-loop-optimizations complains + "cannot optimize loop, the loop counter may overflow", a symptom + of the confusion. + * indent.c (Fvertical_motion): Mark locals as initialized. + * xdisp.c (reseat_to_string): Fix pointer signedness issue. + +2011-07-14 Lars Magne Ingebrigtsen + + * search.c (Fre_search_backward): Mention `case-fold-search' in + all the re_search_* functions (bug#8138). + + * keyboard.c (Fopen_dribble_file): Document when the file is + closed (bug#8056). + +2011-07-14 Eli Zaretskii + + * bidi.c (bidi_dump_cached_states): Fix format of displaying + bidi_cache_idx. + + Support bidi reordering of display and overlay strings. + * xdisp.c (compute_display_string_pos) + (compute_display_string_end): Accept additional argument STRING. + (init_iterator, reseat_1): Initialize bidi_it->string.s to NULL. + (reseat_to_string): Initialize bidi_it->string.s and + bidi_it->string.schars. + (Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to + NULL (avoids a crash in bidi_paragraph_init). + Initialize itb.string.lstring. + (init_iterator): Call bidi_init_it only of a valid + buffer position was specified. Initialize paragraph_embedding to + L2R. + (reseat_to_string): Initialize the bidi iterator. + (display_string): If we need to ignore text properties of + LISP_STRING, set IT->stop_charpos to IT->end_charpos. (The + original value of -1 will not work with bidi.) + (compute_display_string_pos): First arg is now struct + `text_pos *'; all callers changed. Support display properties on + Lisp strings. + (compute_display_string_end): Support display properties on Lisp + strings. + (init_iterator, reseat_1, reseat_to_string): Initialize the + string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS + when iterating on a string not from display properties). + (compute_display_string_pos, compute_display_string_end): + Fix calculation of the object to scan. Fixes an error when using + arrow keys. + (next_element_from_buffer): Don't abort when IT_CHARPOS is before + base_level_stop; instead, set base_level_stop to BEGV. + Fixes crashes in vertical-motion. + (next_element_from_buffer): Improve commentary for when + the iterator is before prev_stop. + (init_iterator): Initialize bidi_p from the default value of + bidi-display-reordering, not from buffer-local value. Use the + buffer-local value only if initializing for buffer iteration. + (handle_invisible_prop): Support invisible properties on strings + that are being bidi-reordered. + (set_iterator_to_next): Support bidi reordering of C strings and + Lisp strings. + (next_element_from_string): Support bidi reordering of Lisp + strings. + (handle_stop_backwards): Support Lisp strings as well. + (display_string): Support display of R2L glyph rows. + Use IT_STRING_CHARPOS when displaying from a Lisp string. + (init_iterator): Don't initialize it->bidi_p for strings + here. + (reseat_to_string): Initialize it->bidi_p for strings here. + (next_element_from_string, next_element_from_c_string) + (next_element_from_buffer): Add xassert's for correspondence + between IT's object being iterated and it->bidi_it.string + structure. + (face_before_or_after_it_pos): Support bidi iteration. + (next_element_from_c_string): Handle the case of the first string + character that is not the first one in the visual order. + (get_visually_first_element): New function, refactored from common + parts of next_element_from_buffer, next_element_from_string, and + next_element_from_c_string. + (tool_bar_lines_needed, redisplay_tool_bar) + (display_menu_bar): Force left-to-right direction. Add a FIXME + comment for making that be controlled by a user option. + (push_it, pop_it): Save and restore the state of the + bidi iterator. Save and restore the bidi_p flag. + (pop_it): Iterate out of display property for string iteration as + well. + (iterate_out_of_display_property): Support iteration over strings. + (handle_single_display_spec): Set up it->bidi_it for iteration + over a display string, and call bidi_init_it. + (handle_single_display_spec, next_overlay_string) + (get_overlay_strings_1, push_display_prop): Set up the bidi + iterator for displaying display or overlay strings. + (forward_to_next_line_start): Don't use the shortcut if + bidi-iterating. + (back_to_previous_visible_line_start): If handle_display_prop + pushed the iterator stack, restore the internal state of the bidi + iterator by calling bidi_pop_it same number of times. + (reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero, + and we are bidi-iterating, don't decrement the iterator position; + instead, set the first_elt flag in the bidi iterator, to produce + the same effect. + (reseat_1): Remove redundant setting of string_from_display_prop_p. + (push_display_prop): xassert that we are iterating a buffer. + (push_it, pop_it): Save and restore paragraph_embedding member. + (handle_single_display_spec, next_overlay_string) + (get_overlay_strings_1, reseat_1, reseat_to_string) + (push_display_prop): Set up the `unibyte' member of bidi_it.string + correctly. Don't assume unibyte strings are not bidi-reordered. + (compute_display_string_pos) + (compute_display_string_end): Fix handling the case of C string. + (push_it, pop_it): Save and restore from_disp_prop_p. + (handle_single_display_spec, push_display_prop): Set the + from_disp_prop_p flag. + (get_overlay_strings_1): Reset the from_disp_prop_p flag. + (pop_it): Call iterate_out_of_display_property only if we are + popping after iteration over a string that came from a display + property. Fix a typo in popping stretch info. Add an assertion + for verifying that the iterator position is in sync with the bidi + iterator. + (handle_single_display_spec, get_overlay_strings_1) + (push_display_prop): Fix initialization of paragraph direction for + string when that of the parent object is not yet determined. + (reseat_1): Call bidi_init_it to resync the bidi + iterator with IT's position. (Bug#7616) + (find_row_edges): If ROW->start.pos gives position + smaller than min_pos, use it as ROW->minpos. (Bug#7616) + (handle_stop, back_to_previous_visible_line_start, reseat_1): + Reset the from_disp_prop_p flag. + (SAVE_IT, RESTORE_IT): New macros. + (pos_visible_p, face_before_or_after_it_pos) + (back_to_previous_visible_line_start) + (move_it_in_display_line_to, move_it_in_display_line) + (move_it_to, move_it_vertically_backward, move_it_by_lines) + (try_scrolling, redisplay_window, display_line): Use them when + saving a temporary copy of the iterator and restoring it back. + (back_to_previous_visible_line_start, reseat_1) + (init_iterator): Empty the bidi cache "stack". + (move_it_in_display_line_to): If iterator ended up at + EOL, but we never saw any buffer positions smaller than + to_charpos, return MOVE_POS_MATCH_OR_ZV. Fixes vertical cursor + motion in bidi-reordered lines. + (move_it_in_display_line_to): Record prev_method and prev_pos + immediately before the call to set_iterator_to_next. Fixes cursor + motion in bidi-reordered lines with stretch glyphs and strings + displayed in margins. (Bug#8133) (Bug#8867) + Return MOVE_POS_MATCH_OR_ZV only if iterator position is past + TO_CHARPOS. + (pos_visible_p): Support positions in bidi-reordered lines. + Save and restore bidi cache. + + * bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int. + (bidi_paragraph_info): Delete unused struct. + (bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT. + (bidi_cache_start): New variable. + (bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not + to zero. + (bidi_cache_fetch_state, bidi_cache_search) + (bidi_cache_find_level_change, bidi_cache_iterator_state) + (bidi_cache_find, bidi_peek_at_next_level) + (bidi_level_of_next_char, bidi_find_other_level_edge) + (bidi_move_to_visually_next): Compare cache index with + bidi_cache_start rather than with zero. + (bidi_fetch_char): Accept new argument STRING; all callers + changed. Support iteration over a string. Support strings with + display properties. Support unibyte strings. Fix the type of + `len' according to what STRING_CHAR_AND_LENGTH expects. + (bidi_paragraph_init, bidi_resolve_explicit_1) + (bidi_resolve_explicit, bidi_resolve_weak) + (bidi_level_of_next_char, bidi_move_to_visually_next): + Support iteration over a string. + (bidi_set_sor_type, bidi_resolve_explicit_1) + (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit + can now be zero (for strings); special values 0 and -1 were + changed to -1 and -2, respectively. + (bidi_char_at_pos): New function. + (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak): + Call it instead of FETCH_MULTIBYTE_CHAR. + (bidi_move_to_visually_next): Abort if charpos or bytepos were not + initialized to valid values. + (bidi_init_it): Don't initialize charpos and bytepos with invalid + values. + (bidi_level_of_next_char): Allow the sentinel "position" to pass + the test for valid cached positions. Fix the logic for looking up + the sentinel state in the cache. GCPRO the Lisp string we are + iterating. + (bidi_push_it, bidi_pop_it): New functions. + (bidi_initialize): Initialize the bidi cache start stack pointer. + (bidi_cache_ensure_space): New function, refactored from part of + bidi_cache_iterator_state. Don't assume the required size is just + one BIDI_CACHE_CHUNK away. + (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE. + (bidi_count_bytes, bidi_char_at_pos): New functions. + (bidi_cache_search): Don't assume bidi_cache_last_idx is + always valid if bidi_cache_idx is valid. + (bidi_cache_find_level_change): xassert that bidi_cache_last_idx + is valid if it's going to be used. + (bidi_shelve_cache, bidi_unshelve_cache): New functions. + (bidi_cache_fetch_state, bidi_cache_search) + (bidi_cache_find_level_change, bidi_cache_ensure_space) + (bidi_cache_iterator_state, bidi_cache_find) + (bidi_find_other_level_edge, bidi_cache_start_stack): + All variables related to cache indices are now EMACS_INT. + + * dispextern.h (struct bidi_string_data): New structure. + (struct bidi_it): New member `string'. Make flag members be 1-bit + fields, and put them last in the struct. + (compute_display_string_pos, compute_display_string_end): + Update prototypes. + (bidi_push_it, bidi_pop_it): Add prototypes. + (struct iterator_stack_entry): New members bidi_p, + paragraph_embedding, and from_disp_prop_p. + (struct it): Member bidi_p is now a bit field 1 bit wide. + (bidi_shelve_cache, bidi_unshelve_cache): + Declare prototypes. + + * .gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector) + (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors + and vector-like objects. + + * dispnew.c (buffer_posn_from_coords): Save and restore the bidi + cache around display iteration. + + * window.c (Fwindow_end, window_scroll_pixel_based) + (displayed_window_lines, Frecenter): Save and restore the bidi + cache around display iteration. + +2011-07-14 Lars Magne Ingebrigtsen + + * editfns.c (Fdelete_region): Clarify the use of the named + parameters (bug#6788). + +2011-07-14 Martin Rudalics + + * indent.c (Fvertical_motion): Set and restore w->pointm when + saving and restoring the window's buffer (Bug#9006). + +2011-07-13 Lars Magne Ingebrigtsen + + * editfns.c (Fstring_to_char): Clarify just what is returned + (bug#6576). Text by Eli Zaretskii. + +2011-07-13 Juanma Barranquero + + * gnutls.c (init_gnutls_functions): Honor gnutls_log_level (bug#9059). + +2011-07-13 Eli Zaretskii + + * buffer.c (mmap_find): Fix a typo. + +2011-07-13 Johan Bockgård + + Fix execution of x selection hooks. + * xselect.c (Qx_lost_selection_functions) + (Qx_sent_selection_functions): New vars. + (syms_of_xselect): DEFSYM them. + (x_handle_selection_request): Pass Qx_sent_selection_functions + rather than Vx_sent_selection_functions to Frun_hook_with_args. + (x_handle_selection_clear,x_clear_frame_selections): + Pass Qx_lost_selection_functions rather than + Vx_lost_selection_functions to Frun_hook_with_args. + +2011-07-13 Paul Eggert + + * buffer.c (Fget_buffer_create): Initialize inhibit_shrinking. + The old code sometimes used this field without initializing it. + + * alloc.c (gc_sweep): Don't read past end of array. + In theory, the old code could also have corrupted Emacs internals, + though it'd be very unlikely. + +2011-07-12 Andreas Schwab + + * character.c (Fcharacterp): Don't advertise optional ignored + argument. (Bug#4026) + +2011-07-12 Lars Magne Ingebrigtsen + + * keymap.c (syms_of_keymap): Clarify that "modifier" is "modifier + key" (bug#4257). + + * window.c (Fset_window_start): Doc fix (bug#4199). + (Fset_window_hscroll): Ditto. + +2011-07-12 Paul Eggert + + Fix minor new problems caught by GCC 4.6.1. + * term.c (init_tty): Remove unused local. + * xsettings.c (store_monospaced_changed): Define this function only + if (defined HAVE_GSETTINGS || defined HAVE_GCONF), as it's + not used otherwise. + +2011-07-12 Chong Yidong + + * xdisp.c (Vresize_mini_windows): Minor doc fix (Bug#3300). + +2011-07-11 Lars Magne Ingebrigtsen + + * xdisp.c (syms_of_xdisp): Make it explicit that the mini-windows + are the mini-buffer and the echo area (bug#3320). + + * term.c (init_tty): Remove support for supdup, c10 and perq + terminals, which are no longer supported (bug#1482). + +2011-07-10 Johan Bockgård + + * xdisp.c (Ftool_bar_lines_needed): Fix WINDOWP check. + +2011-07-10 Jan Djärv + + * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event + for non-popups (Bug#3642). + +2011-07-10 Andreas Schwab + + * alloc.c (reset_malloc_hooks): Protoize. + * buffer.c (mmap_init, mmap_find, mmap_free_1, mmap_enlarge) + (mmap_set_vars, mmap_alloc, mmap_free, mmap_realloc): Likewise. + * cm.c (losecursor): Likewise. + * data.c (fmod): Likewise. + * dispnew.c (swap_glyphs_in_rows): Likewise. + * emacs.c (memory_warning_signal): Likewise. + * floatfns.c (float_error): Likewise. + * font.c (check_gstring, check_otf_features, otf_tag_symbol) + (otf_open, font_otf_capability, generate_otf_features) + (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): + Likewise. + * image.c (pbm_read_file): Likewise. + * indent.c (string_display_width): Likewise. + * intervals.c (check_for_interval, search_for_interval) + (inc_interval_count, count_intervals, root_interval) + (adjust_intervals_for_insertion, make_new_interval): Likewise. + * lread.c (defalias): Likewise. + * ralloc.c (r_alloc_check): Likewise. + * regex.c (set_image_of_range_1, set_image_of_range) + (regex_grow_registers): Likewise. + * sysdep.c (strerror): Likewise. + * termcap.c (valid_filename_p, tprint, main): Likewise. + * tparam.c (main): Likewise. + * unexhp9k800.c (run_time_remap, save_data_space) + (update_file_ptrs, read_header, write_header, calculate_checksum) + (copy_file, copy_rest, display_header): Likewise. + * widget.c (mark_shell_size_user_specified, create_frame_gcs): + Likewise. + * xdisp.c (check_it): Likewise. + * xfaces.c (register_color, unregister_color, unregister_colors): + Likewise. + * xfns.c (print_fontset_result): Likewise. + * xrdb.c (member, fatal, main): Likewise. + +2011-07-10 Paul Eggert + + Fix minor problems found by static checking (Bug#9031). + * chartab.c (char_table_set_range, map_sub_char_table): + Remove unused locals. + (uniprop_table): Now static. + * composite.c (_work_char): Remove unused static var. + +2011-07-09 Juanma Barranquero + + * chartab.c (uniprop_table_uncompress): Remove unused local variable. + +2011-07-09 Jan Djärv + + * gtkutil.c (qttip_cb): Remove code without function. + +2011-07-09 Eli Zaretskii + + * w32.c (pthread_sigmask): New stub. + +2011-07-08 Paul Eggert + + Use pthread_sigmask, not sigprocmask (Bug#9010). + sigprocmask is portable only for single-threaded applications, and + Emacs can be multi-threaded when it uses GTK. + * Makefile.in (LIB_PTHREAD_SIGMASK): New macro. + (LIBES): Use it. + * callproc.c (Fcall_process): + * process.c (create_process): + * sysdep.c (sys_sigblock, sys_sigunblock, sys_sigsetmask): + Use pthread_sigmask, not sigprocmask. + +2011-07-08 Jan Djärv + + * gtkutil.c (qttip_cb): Set line wrap to FALSE for tooltip widget. + (xg_prepare_tooltip): Revert text in x->ttip_lbl, margins was + wrong (Bug#8591). + +2011-07-08 Jan Djärv + + * gtkutil.c (xg_prepare_tooltip): Fix indentation and comment. + Put text in x->ttip_lbl instead of gtk_tooltip_set_text (Bug#8591). + (xg_hide_tooltip): Fix comment. + + * nsterm.m (initFrameFromEmacs): Don't use ns_return_types + in registerServicesMenuSendTypes. + (validRequestorForSendType): Don't check ns_return_types. + + * nsfns.m (Fx_open_connection): Put NSStringPboardType into + ns_return_type. + +2011-07-08 Jason Rumney + + * w32term.c (x_make_frame_visible): Use SH_SHOWNORMAL rather than + SH_SHOW for hidden windows (Bug#5482). + + * w32fns.c (w32_wnd_proc) [WM_TIMER, WM_SET_CURSOR]: Avoid using + frame struct members of non-existent frames (Bug#6284). + +2011-07-08 Jan Djärv + + * nsterm.m (keyDown): Call to wantsToDelayTextChangeNotifications and + variable firstTime not needed on OSX >= 10.6. + (setPosition): setFloatValue:knobProportion: is deprecated on OSX + >= 10.5. Use setKnobProportion, setDoubleValue. + + * nsterm.h (MAC_OS_X_VERSION_10_3, MAC_OS_X_VERSION_10_4) + (MAC_OS_X_VERSION_10_5): Define if not defined. + (EmacsView, EmacsTooltip): Implements NSWindowDelegate on OSX >= 10.6. + (EmacsMenu): Implements NSMenuDelegate on OSX >= 10.6. + (EmacsToolbar): Implements NSToolbarDelegate on OSX >= 10.6. + + * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods + cString and lossyCString on OSX >= 10.4. + + * nsmenu.m (fillWithWidgetValue): Don't use deprecated method + sizeToFit on OSX >= 10.2. + + * nsimage.m (allocInitFromFile): Don't use deprecated method + bestRepresentationForDevice on OSX >= 10.6. + + * nsfns.m (check_ns_display_info): Cast to long and use %ld in error + to avoid warning. + + * emacs.c: Declare unexec_init_emacs_zone. + + * nsgui.h: Fix compiler warning about gnulib redefining verify. + + * nsselect.m (ns_get_local_selection): Change to extern (Bug#8842). + + * nsmenu.m (ns_update_menubar): Remove useless setDelegate call + on svcsMenu (Bug#8842). + + * nsfns.m (Fx_open_connection): Remove NSStringPboardType from + ns_return_types. + (Fns_list_services): Just return Qnil on 10.6, code not working there. + + * nsterm.m (QUTF8_STRING): Declare. + (initFrameFromEmacs): Call registerServicesMenuSendTypes. + (validRequestorForSendType): Return type is (id). + Change indexOfObjectIdenticalTo to indexOfObject. + Check if we have local selection before returning self (Bug#8842). + (writeSelectionToPasteboard): Put local selection into paste board + if we have a local selection (Bug#8842). + (syms_of_nsterm): DEFSYM QUTF8_STRING. + + * nsterm.h (MAC_OS_X_VERSION_10_6): Define here instead of nsterm.m. + (ns_get_local_selection): Declare. + +2011-07-07 Lars Magne Ingebrigtsen + + * keymap.c (describe_map_tree): Don't insert a double newline at + the end of the buffer (bug#1169) and return whether we inserted + something. + + * callint.c (Fcall_interactively): Change "reading args" to + "providing args" to try to clarify what it does (bug#1010). + +2011-07-07 Kenichi Handa + + * composite.c (composition_compute_stop_pos): Ignore a static + composition starting before CHARPOS (Bug#8915). + + * xdisp.c (handle_composition_prop): Likewise. + +2011-07-07 Eli Zaretskii + + * term.c (produce_glyphs) : Allow IT_GLYPHLESS in it->what. + (Bug#9015) + +2011-07-07 Kenichi Handa + + * character.h (unicode_category_t): New enum type. + + * chartab.c (uniprop_decoder_t, uniprop_encoder_t): New types. + (Qchar_code_property_table): New variable. + (UNIPROP_TABLE_P, UNIPROP_GET_DECODER) + (UNIPROP_COMPRESSED_FORM_P): New macros. + (char_table_ascii): Uncompress the compressed values. + (sub_char_table_ref): New arg is_uniprop. Callers changed. + Uncompress the compressed values. + (sub_char_table_ref_and_range): Likewise. + (char_table_ref_and_range): Uncompress the compressed values. + (sub_char_table_set): New arg is_uniprop. Callers changed. + Uncompress the compressed values. + (sub_char_table_set_range): Args changed. Callers changed. + (char_table_set_range): Adjuted for the above change. + (map_sub_char_table): Delete args default_val and parent. Add arg + top. Give decoded values to a Lisp function. + (map_char_table): Adjust for the above change. Give decoded + values to a Lisp function. Gcpro more variables. + (uniprop_table_uncompress) + (uniprop_decode_value_run_length): New functions. + (uniprop_decoder, uniprop_decoder_count): New variables. + (uniprop_get_decoder, uniprop_encode_value_character) + (uniprop_encode_value_run_length, uniprop_encode_value_numeric): + New functions. + (uniprop_encoder, uniprop_encoder_count): New variables. + (uniprop_get_encoder, uniprop_table) + (Funicode_property_table_internal, Fget_unicode_property_internal) + (Fput_unicode_property_internal): New functions. + (syms_of_chartab): DEFSYM Qchar_code_property_table, defsubr + Sunicode_property_table_internal, Sget_unicode_property_internal, + and Sput_unicode_property_internal. Defvar_lisp + char-code-property-alist. + + * composite.c (CHAR_COMPOSABLE_P): Adjust for the change of + Vunicode_category_table. + + * font.c (font_range): Adjust for the change of + Vunicode_category_table. + +2011-07-07 Dan Nicolaescu + + * m/iris4d.h: Remove file, move contents ... + * s/irix6-5.h: ... here. + +2011-07-06 Paul Eggert + + Remove unportable assumption about struct layout (Bug#8884). + * alloc.c (mark_buffer): + * buffer.c (reset_buffer_local_variables, Fbuffer_local_variables) + (clone_per_buffer_values): Don't assume that + sizeof (struct buffer) is a multiple of sizeof (Lisp_Object). + This isn't true in general, and it's particularly not true + if Emacs is configured with --with-wide-int. + * buffer.h (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): + New macros, used in the buffer.c change. + +2011-07-05 Jan Djärv + + * xsettings.c: Use both GConf and GSettings if both are available. + (store_config_changed_event): Add comment. + (dpyinfo_valid, store_font_name_changed, map_tool_bar_style) + (store_tool_bar_style_changed): New functions. + (store_monospaced_changed): Add comment. Call dpyinfo_valid. + (struct xsettings): Move font inside HAVE_XFT. + (GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines. + (GSETTINGS_MONO_FONT): Rename from SYSTEM_MONO_FONT. + Move inside HAVE_XFT. + (something_changed_gsettingsCB): Rename from something_changedCB. + Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME + also. + (GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines. + (GCONF_MONO_FONT): Rename from SYSTEM_MONO_FONT. Move inside HAVE_XFT. + (something_changed_gconfCB): Rename from something_changedCB. + Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also. + (parse_settings): Move check for font inside HAVE_XFT. + (read_settings, apply_xft_settings): Add comment. + (read_and_apply_settings): Add comment. Call map_tool_bar_style and + store_tool_bar_style_changed. Move check for font inside HAVE_XFT and + call store_font_name_changed. + (xft_settings_event): Add comment. + (init_gsettings): Add comment. Get values for GSETTINGS_TOOL_BAR_STYLE + and GSETTINGS_FONT_NAME. Move check for fonts within HAVE_XFT. + (init_gconf): Add comment. Get values for GCONF_TOOL_BAR_STYLE + and GCONF_FONT_NAME. Move check for fonts within HAVE_XFT. + (xsettings_initialize): Call init_gsettings last. + (xsettings_get_system_font, xsettings_get_system_normal_font): + Add comment. + +2011-07-05 Paul Eggert + + Random fixes. E.g., (random) never returned negative values. + * fns.c (Frandom): Use GET_EMACS_TIME for random seed, and add the + subseconds part to the entropy, as that's a bit more random. + Prefer signed to unsigned, since the signedness doesn't matter and + in general we prefer signed. When given a limit, use a + denominator equal to INTMASK + 1, not to VALMASK + 1, because the + latter isn't right if USE_2_TAGS_FOR_INTS. + * sysdep.c (get_random): Return a value in the range 0..INTMASK, + not 0..VALMASK. Don't discard "excess" bits that random () returns. + +2011-07-04 Stefan Monnier + + * textprop.c (text_property_stickiness): + Obey Vtext_property_default_nonsticky. + (syms_of_textprop): Add `display' to Vtext_property_default_nonsticky. + * w32fns.c (syms_of_w32fns): + * xfns.c (syms_of_xfns): Don't Add `display' since it's there by default. + +2011-07-04 Paul Eggert + + * fileio.c (barf_or_query_if_file_exists): Use S_ISDIR. + This is more efficient than Ffile_directory_p and avoids a minor race. + +2011-07-04 Lars Magne Ingebrigtsen + + * buffer.c (Foverlay_put): Say what the return value is + (bug#7835). + + * fileio.c (barf_or_query_if_file_exists): Check first if the file + is a directory before asking whether to use the file name + (bug#7564). + (barf_or_query_if_file_exists): Make the "File is a directory" + error be more correct. + + * fns.c (Frequire): Remove the mention of the .gz files, since + that's installation-specific, but keep the mention of + `get-load-suffixes'. + +2011-07-04 Paul Eggert + + * editfns.c (Fformat_time_string): Don't assume strlen fits in int. + Report string overflow if the output is too long. + +2011-07-04 Juanma Barranquero + + * gnutls.c (Fgnutls_boot): Don't mention :verify-error. + (syms_of_gnutls): Remove duplicate DEFSYM for + Qgnutls_bootprop_verify_hostname_error, an error for + Qgnutls_bootprop_verify_error (which is no longer used). + + * eval.c (find_handler_clause): Remove parameters `sig' and `data', + unused since 2011-01-26T20:02:07Z!monnier@iro.umontreal.ca. All callers changed. + Also (re)move comments that are misplaced or no longer relevant. + +2011-07-03 Lars Magne Ingebrigtsen + + * callint.c (Finteractive): Clarify the meaning of "@" (bug#8813). + +2011-07-03 Chong Yidong + + * xfaces.c (Finternal_merge_in_global_face): Modify the foreground + and background color parameters if they have been changed. + +2011-07-03 Lars Magne Ingebrigtsen + + * editfns.c (Fformat): Clarify the - and 0 flags (bug#6659). + +2011-07-03 Paul Eggert + + * xsettings.c (SYSTEM_FONT): Define only when used. + No need to define when HAVE_GSETTINGS || !HAVE_XFT. + + * keymap.c (access_keymap_1): Now static. + +2011-07-02 Chong Yidong + + * keyboard.c (command_loop_1): If a down-mouse event is unbound, + leave any prefix arg for the up event (Bug#1586). + +2011-07-02 Lars Magne Ingebrigtsen + + * lread.c (syms_of_lread): Mention single symbols defined by + `defvar' or `defconst' (bug#7154). + + * fns.c (Frequire): Mention .el.gz files (bug#7314). + (Frequire): Mention get-load-suffixes. + +2011-07-02 Martin Rudalics + + * window.h (window): Remove clone_number slot. + * window.c (Fwindow_clone_number, Fset_window_clone_number): + Remove. + (make_parent_window, make_window, saved_window) + (Fset_window_configuration, save_window_save): Don't deal with + clone numbers. + * buffer.c (Qclone_number): Remove declaration. + (sort_overlays, overlay_strings): Don't deal with clone numbers. + +2011-07-02 Stefan Monnier + + Add multiple inheritance to keymaps. + * keymap.c (Fmake_composed_keymap): New function. + (Fset_keymap_parent): Simplify. + (fix_submap_inheritance): Remove. + (access_keymap_1): New function extracted from access_keymap to handle + embedded parents and handle lists of maps. + (access_keymap): Use it. + (Fkeymap_prompt, map_keymap_internal, map_keymap, store_in_keymap) + (Fcopy_keymap): Handle embedded parents. + (Fcommand_remapping, define_as_prefix): Simplify. + (Fkey_binding): Simplify. + (syms_of_keymap): Move minibuffer-local-completion-map, + minibuffer-local-filename-completion-map, + minibuffer-local-must-match-map, and + minibuffer-local-filename-must-match-map to Elisp. + (syms_of_keymap): Defsubr make-composed-keymap. + * keyboard.c (menu_bar_items): Use map_keymap_canonical. + (parse_menu_item): Trivial simplification. + +2011-07-01 Glenn Morris + + * Makefile.in (SETTINGS_LIBS): Fix typo. + +2011-07-01 Kazuhiro Ito (tiny change) + + * coding.c (Fencode_coding_string): Record the last coding system + used, as the function doc string says (bug#8738). + +2011-07-01 Jan Djärv + + * xsettings.c (store_monospaced_changed): Take new font as arg and + check for change against current_mono_font. + (EMACS_TYPE_SETTINGS): Remove this and related defines. + (emacs_settings_constructor, emacs_settings_get_property) + (emacs_settings_set_property, emacs_settings_class_init) + (emacs_settings_init, gsettings_obj): Remove. + (something_changedCB): New function for HAVE_GSETTINGS. + (something_changedCB): HAVE_GCONF: Call store_monospaced_changed + with value as argument. + (init_gsettings): Check that GSETTINGS_SCHEMA exists before calling + g_settings_new (Bug#8967). Do not create gsettings_obj. + Remove calls to g_settings_bind. Connect something_changedCB to + "changed". + + * xgselect.c: Add defined (HAVE_GSETTINGS). + (xgselect_initialize): Ditto. + + * process.c: Add defined (HAVE_GSETTINGS) for xgselect.h + (wait_reading_process_output): Add defined (HAVE_GSETTINGS) for + xg_select. + +2011-07-01 Paul Eggert + + * eval.c (struct backtrace): Simplify and port the data structure. + Do not assume that "int nargs : BITS_PER_INT - 2;" produces a + signed bit field, as this assumption is not portable and it makes + Emacs crash when compiled with Sun C 5.8 on sparc. Do not use + "char debug_on_exit : 1" as this is not portable either; instead, + use the portable "unsigned int debug_on_exit : 1". Remove unused + member evalargs. Remove obsolete comments about cc bombing out. + +2011-06-30 Jan Djärv + + * xsettings.c: Include glib-object.h, gio/gio.h if HAVE_GSETTINGS. + Let HAVE_GSETTINGS override HAVE_GCONF. + (store_monospaced_changed): New function. + (EMACS_SETTINGS): A new type derived from GObject to handle + GSettings notifications. + (emacs_settings_constructor, emacs_settings_get_property) + (emacs_settings_set_property, emacs_settings_class_init): + New functions. + (gsettings_client, gsettings_obj): New variables. + (GSETTINGS_SCHEMA): New define. + (something_changedCB): Call store_monospaced_changed. + (init_gsettings): New function. + (xsettings_initialize): Call init_gsettings. + (syms_of_xsettings): Initialize gsettings_client, gsettings_obj + to NULL. + + * Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Rename from + GCONF_CFLAGS/LIBS. + +2011-06-29 Martin Rudalics + + * window.c (resize_root_window, grow_mini_window) + (shrink_mini_window): Rename Qresize_root_window to + Qwindow_resize_root_window and Qresize_root_window_vertically to + Qwindow_resize_root_window_vertically. + +2011-06-28 Paul Eggert + + * gnutls.c (Qgnutls_bootprop_verify_error): Remove unused var. + +2011-06-27 Juanma Barranquero + + * makefile.w32-in: Redesign dependencies so they reflect more + clearly which files are directly included by each source file, + and not through other includes. + +2011-06-27 Martin Rudalics + + * buffer.c (Qclone_number): Declare static and DEFSYM it. + (sort_overlays, overlay_strings): When an overlay's clone number + matches the window's clone number process the overlay even if + the overlay's window property doesn't match the current window. + + * window.c (Fwindow_vchild): Rename to Fwindow_top_child. + (Fwindow_hchild): Rename to Fwindow_left_child. + (Fwindow_next): Rename to Fwindow_next_sibling. + (Fwindow_prev): Rename to Fwindow_prev_sibling. + (resize_window_check): Rename to window_resize_check. + (resize_window_apply): Rename to window_resize_apply. + (Fresize_window_apply): Rename to Fwindow_resize_apply. + (Fdelete_other_windows_internal, resize_frame_windows) + (Fsplit_window_internal, Fdelete_window_internal) + (grow_mini_window, shrink_mini_window) + (Fresize_mini_window_internal): Fix callers accordingly. + +2011-06-26 Jan Djärv + + * emacsgtkfixed.h: State that this is only used with Gtk+3. + (emacs_fixed_set_min_size): Remove. + (emacs_fixed_new): Take frame as argument. + + * emacsgtkfixed.c: State that this is only used with Gtk+3. + (_EmacsFixedPrivate): Remove minwidth/height. + Add struct frame *f. + (emacs_fixed_init): Initialize priv->f. + (get_parent_class, emacs_fixed_set_min_size): Remove. + (emacs_fixed_new): Set priv->f to argument. + (emacs_fixed_get_preferred_width) + (emacs_fixed_get_preferred_height): Use min_width/height from + frames size_hint to set minimum and natural (Bug#8919). + (XSetWMSizeHints, XSetWMNormalHints): Override these functions + and use min_width/height from frames size_hint to set + min_width/height (Bug#8919). + + * gtkutil.c (xg_create_frame_widgets): Pass f to emacs_fixed_new. + (x_wm_set_size_hint): Remove call to emacs_fixed_set_min_size. + Fix indentation. + +2011-06-26 Eli Zaretskii + + * bidi.c (bidi_paragraph_init): Test for ZV_BYTE before calling + bidi_at_paragraph_end, since fast_looking_at doesn't like to be + called at ZV. + +2011-06-26 Chong Yidong + + * process.c (wait_reading_process_output): Bypass select if + waiting for a cell while ignoring keyboard input, and input is + pending. Suggested by Jan Djärv (Bug#8869). + +2011-06-25 Paul Eggert + + Use gnulib's dup2 module instead of rolling our own. + * sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this. + +2011-06-25 YAMAMOTO Mitsuharu + + * dispnew.c (scrolling_window): Before scrolling, turn off a + mouse-highlight in the window being scrolled. + +2011-06-24 Juanma Barranquero + + Move DEFSYM to lisp.h and use everywhere. + + * character.h (DEFSYM): Move declaration... + * lisp.h (DEFSYM): ...here. + + * gnutls.c: + * minibuf.c: + * w32menu.c: + * w32proc.c: + * w32select.c: Don't include character.h. + + * alloc.c (syms_of_alloc): + * buffer.c (syms_of_buffer): + * bytecode.c (syms_of_bytecode): + * callint.c (syms_of_callint): + * casefiddle.c (syms_of_casefiddle): + * casetab.c (init_casetab_once): + * category.c (init_category_once, syms_of_category): + * ccl.c (syms_of_ccl): + * cmds.c (syms_of_cmds): + * composite.c (syms_of_composite): + * dbusbind.c (syms_of_dbusbind): + * dired.c (syms_of_dired): + * dispnew.c (syms_of_display): + * doc.c (syms_of_doc): + * editfns.c (syms_of_editfns): + * emacs.c (syms_of_emacs): + * eval.c (syms_of_eval): + * fileio.c (syms_of_fileio): + * fns.c (syms_of_fns): + * frame.c (syms_of_frame): + * fringe.c (syms_of_fringe): + * insdel.c (syms_of_insdel): + * keymap.c (syms_of_keymap): + * lread.c (init_obarray, syms_of_lread): + * macros.c (syms_of_macros): + * msdos.c (syms_of_msdos): + * print.c (syms_of_print): + * process.c (syms_of_process): + * search.c (syms_of_search): + * sound.c (syms_of_sound): + * syntax.c (init_syntax_once, syms_of_syntax): + * terminal.c (syms_of_terminal): + * textprop.c (syms_of_textprop): + * undo.c (syms_of_undo): + * w32.c (globals_of_w32): + * window.c (syms_of_window): + * xdisp.c (syms_of_xdisp): + * xfaces.c (syms_of_xfaces): + * xfns.c (syms_of_xfns): + * xmenu.c (syms_of_xmenu): + * xsettings.c (syms_of_xsettings): + * xterm.c (syms_of_xterm): Use DEFSYM. + +2011-06-24 Teodor Zlatanov + + * gnutls.c (syms_of_gnutls): Use the DEFSYM macro from character.h. + +2011-06-23 Paul Eggert + + Integer and buffer overflow fixes (Bug#8873). + + * print.c (printchar, strout): Check for string overflow. + (PRINTPREPARE, printchar, strout): + Don't set size unless allocation succeeds. + + * minibuf.c (read_minibuf_noninteractive): Use ptrdiff_t, not int, + for sizes. Check for string overflow more accurately. + Simplify newline removal at end; this suppresses a GCC 4.6.0 warning. + + * macros.c: Integer and buffer overflow fixes. + * keyboard.h (struct keyboard.kbd_macro_bufsize): + * macros.c (Fstart_kbd_macro, store_kbd_macro_char): + Use ptrdiff_t, not int, for sizes. + Don't increment bufsize until after realloc succeeds. + Check for size-calculation overflow. + (Fstart_kbd_macro): Use EMACS_INT, not int, for XINT result. + + * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling. + + * lread.c: Integer overflow fixes. + (read_integer): Radix is now EMACS_INT, not int, + to improve quality of diagnostics for out-of-range radices. + Calculate buffer size correctly for out-of-range radices. + (read1): Check for integer overflow in radices, and in + read-circle numbers. + (read_escape): Avoid int overflow. + (Fload, openp, read_buffer_size, read1) + (substitute_object_recurse, read_vector, read_list, map_obarray): + Use ptrdiff_t, not int, for sizes. + (read1): Use EMACS_INT, not int, for sizes. + Check for size overflow. + + * image.c (cache_image): Check for size arithmetic overflow. + + * lread.c: Integer overflow issues. + (saved_doc_string_size, saved_doc_string_length) + (prev_saved_doc_string_size, prev_saved_doc_string_length): + Now ptrdiff_t, not int. + (read1): Don't assume doc string length fits in int. Check for + out-of-range doc string lengths. + (read_list): Don't assume file position fits in int. + (read_escape): Check for hex character overflow. + +2011-06-22 Leo Liu + + * minibuf.c (Fcompleting_read_default, Vcompleting_read_function): + Move to minibuffer.el. + +2011-06-22 Paul Eggert + + Fixes for GLYPH_DEBUG found by GCC 4.6.0 static checking. + The following patches are for when GLYPH_DEBUG && !XASSERT. + * dispextern.h (trace_redisplay_p, dump_glyph_string): + * dispnew.c (flush_stdout): + * xdisp.c (dump_glyph_row, dump_glyph_matrix, dump_glyph): + Mark as externally visible. + * dispnew.c (check_window_matrix_pointers): Now static. + * dispnew.c (window_to_frame_vpos): + * xfns.c (unwind_create_frame): + * xterm.c (x_check_font): Remove unused local. + * scroll.c (CHECK_BOUNDS): + * xfaces.c (cache_fache): Rename local to avoid shadowing. + * xfns.c, w32fns.c (image_cache_refcount, dpyinfo_refcount): Now static. + * xdisp.c (check_window_end): Now a no-op if !XASSERTS. + (debug_first_unchanged_at_end_vpos, debug_last_unchanged_at_beg_vpos) + (debug_dvpos, debug_dy, debug_delta, debug_delta_bytes, debug_end_vpos): + Now static. + (debug_method_add): Use va_list and vsprintf rather than relying + on undefined behavior with wrong number of arguments. + (dump_glyph, dump_glyph_row, Fdump_glyph_matrix): + Don't assume ptrdiff_t and EMACS_INT are the same width as int. + In this code, it's OK to assume C99 behavior for ptrdiff_t formats + since we're not interested in debugging glyphs with old libraries. + * xfaces.c (cache_face): Move debugging code earlier; this pacifies + GCC 4.6.0's static checking. + +2011-06-22 Paul Eggert + + Integer overflow and signedness fixes (Bug#8873). + A few related buffer overrun fixes, too. + + * font.c (font_score): Use EMACS_INT, not int, to store XINT value. + + * dispextern.h (struct face.stipple): + * image.c (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap) + (x_bitmap_mask, x_allocate_bitmap_record) + (x_create_bitmap_from_data, x_create_bitmap_from_file) + (x_destroy_bitmap, x_destroy_all_bitmaps, x_create_bitmap_mask) + (x_create_bitmap_from_xpm_data): + * nsterm.h (struct ns_display_info.bitmaps_size, .bitmaps_last): + * w32term.h (struct w32_display_info.icon_bitmap_id, .bitmaps_size) + (.bitmaps_last): + * xfaces.c (load_pixmap): + * xterm.c (x_bitmap_icon, x_wm_set_icon_pixmap): + * xterm.h (struct x_display_info.icon_bitmap_id, .bitmaps_size) + (.bitmaps_last, struct x_output.icon_bitmap): + Use ptrdiff_t, not int, for bitmap indexes. + (x_allocate_bitmap_record): Check for size overflow. + * dispextern.h, lisp.h: Adjust to API changes elsewhere. + + Use ptrdiff_t, not int, for overlay counts. + * buffer.h (overlays_at, sort_overlays, GET_OVERLAYS_AT): + * editfns.c (overlays_around, get_pos_property): + * textprop.c (get_char_property_and_overlay): + * xdisp.c (next_overlay_change, note_mouse_highlight): + * xfaces.c (face_at_buffer_position): + * buffer.c (OVERLAY_COUNT_MAX): New macro. + (overlays_at, overlays_in, sort_overlays, Foverlays_at) + (Fnext_overlay_change, Fprevious_overlay_change) + (mouse_face_overlay_overlaps, Foverlays_in): + Use ptrdiff_t, not int, for sizes. + (overlays_at, overlays_in): Check for size-calculation overflow. + + * xterm.c (xim_initialize, same_x_server): Strlen may not fit in int. + + * xsmfns.c (smc_save_yourself_CB, x_session_initialize): Avoid strlen. + (x_session_initialize): Do not assume string length fits in int. + + * xsettings.c (apply_xft_settings): Fix potential buffer overrun. + This is unlikely, but can occur if DPI is outlandish. + + * xsettings.c (Ffont_get_system_normal_font, Ffont_get_system_font): + * xselect.c (Fx_get_atom_name): Avoid need for strlen. + + * xrdb.c: Don't assume strlen fits in int; avoid some strlens. + * xrdb.c (magic_file_p, search_magic_path): + Omit last arg SUFFIX; it was always 0. All callers changed. + (magic_file_p): Use ptrdiff_t, not int. Check for size overflow. + + * xfont.c (xfont_match): Avoid need for strlen. + + * xfns.c: Don't assume strlen fits in int. + (xic_create_fontsetname, x_window): Use ptrdiff_t, not int. + + * xdisp.c (message_log_check_duplicate): Return intmax_t, + not unsigned long, as we prefer signed integers. All callers changed. + Detect integer overflow in repeat count. + (message_dolog): Don't assume print length fits in 39 bytes. + (display_mode_element): Don't assume strlen fits in int. + + * termcap.c: Don't assume sizes fit in int and never overflow. + (struct termcap_buffer, tgetent): Use ptrdiff_t, not int, for sizes. + (gobble_line): Check for size-calculation overflow. + + * minibuf.c (Fread_buffer): + * lread.c (intern, intern_c_string): + * image.c (xpm_scan) [HAVE_NS && !HAVE_XPM]: + Don't assume string length fits in int. + + * keyboard.c (parse_tool_bar_item): + * gtkutil.c (style_changed_cb): Avoid need for strlen. + + * font.c: Don't assume string length fits in int. + (font_parse_xlfd, font_parse_fcname, font_unparse_fcname): + Use ptrdiff_t, not int. + (font_intern_prop): Don't assume string length fits in int. + Don't assume integer property fits in fixnum. + * font.h (font_intern_prop): 2nd arg is now ptrdiff_t, not int. + + * filelock.c: Fix some buffer overrun and integer overflow issues. + (get_boot_time): Don't assume gzip command string fits in 100 bytes. + Reformulate so as not to need the command string. + Invoke gzip -cd rather than gunzip, as it's more portable. + (lock_info_type, lock_file_1, lock_file): + Don't assume pid_t and time_t fit in unsigned long. + (LOCK_PID_MAX): Remove; we now use more-reliable bounds. + (current_lock_owner): Prefer signed type for sizes. + Use memcpy, not strncpy, where memcpy is what is really wanted. + Don't assume (via atoi) that time_t and pid_t fit in int. + Check for time_t and/or pid_t out of range, e.g., via a network share. + Don't alloca where an auto var works fine. + + * fileio.c: Fix some integer overflow issues. + (file_name_as_directory, Fexpand_file_name, Fsubstitute_in_file_name): + Don't assume string length fits in int. + (directory_file_name): Don't assume string length fits in long. + (make_temp_name): Don't assume pid fits in int, or that its print + length is less than 20. + + * data.c (Fsubr_name): Rewrite to avoid a strlen call. + + * coding.c (make_subsidiaries): Don't assume string length fits in int. + + * callproc.c (child_setup): Rewrite to avoid two strlen calls. + + * process.c (Fformat_network_address): Use EMACS_INT, not EMACS_UINT. + We prefer signed integers, even for size calculations. + + * emacs.c: Don't assume string length fits in 'int'. + (DEFINE_DUMMY_FUNCTION, sort_args): Use ptrdiff_t, not int. + (main): Don't invoke strlen when not needed. + + * dbusbind.c (XD_ERROR): Don't arbitrarily truncate string. + (XD_DEBUG_MESSAGE): Don't waste a byte. + + * callproc.c (getenv_internal_1, getenv_internal) + (Fgetenv_internal): + * buffer.c (init_buffer): Don't assume string length fits in 'int'. + + * lread.c (invalid_syntax): Omit length argument. + All uses changed. This doesn't fix a bug, but it simplifies the + code away from its former Hollerith-constant appearance, and it's + one less 'int' to worry about when looking at integer-overflow issues. + (string_to_number): Simplify 2011-04-26 change by invoking xsignal1. + + * lisp.h (DEFUN): Remove bogus use of sizeof (struct Lisp_Subr). + This didn't break anything, but it didn't help either. + It's confusing to put a bogus integer in a place where the actual + value does not matter. + (LIST_END_P): Remove unused macro and its bogus comment. + (make_fixnum_or_float): Remove unnecessary cast to EMACS_INT. + + * lisp.h (union Lisp_Object.i): EMACS_INT, not EMACS_UINT. + This is for consistency with the ordinary, non-USE_LISP_UNION_TYPE, + implementation. + (struct Lisp_Bool_Vector.size): EMACS_INT, not EMACS_UINT. + We prefer signed types, and the value cannot exceed the EMACS_INT + range anyway (because otherwise the length would not be representable). + (XSET) [USE_LISP_UNION_TYPE]: Use uintptr_t and intptr_t, + not EMACS_UINT and EMACS_INT, when converting pointer to integer. + This avoids a GCC warning when WIDE_EMACS_INT. + + * indent.c (sane_tab_width): New function. + (current_column, scan_for_column, Findent_to, position_indentation) + (compute_motion): Use it. This is just for clarity. + (Fcompute_motion): Don't assume hscroll and tab offset fit in int. + + * image.c (xbm_image_p): Don't assume stated width, height fit in int. + + * lisp.h (lint_assume): New macro. + * composite.c (composition_gstring_put_cache): + * ftfont.c (ftfont_shape_by_flt): Use it to pacify GCC 4.6.0. + + * editfns.c, insdel.c: + Omit unnecessary forward decls, to simplify future changes. + + * ftfont.c (ftfont_shape_by_flt): Use signed integers for lengths. + + * font.c (Ffont_shape_gstring): Don't assume glyph len fits in 'int'. + + * fns.c (Ffillarray): Don't assume bool vector size fits in 'int'. + Use much-faster test for byte-length change. + Don't assume string byte-length fits in 'int'. + Check that character arg fits in 'int'. + (mapcar1): Declare byte as byte, for clarity. + + * alloc.c (Fmake_bool_vector): Avoid unnecessary multiplication. + + * fns.c (concat): Catch string overflow earlier. + Do not rely on integer wraparound. + + * dispextern.h (struct it.overlay_strings_charpos) + (struct it.selective): Now EMACS_INT, not int. + * xdisp.c (forward_to_next_line_start) + (back_to_previous_visible_line_start) + (reseat_at_next_visible_line_start, next_element_from_buffer): + Don't arbitrarily truncate the value of 'selective' to int. + + * xdisp.c (init_iterator): Use XINT, not XFASTINT; it might be < 0. + + * composite.c: Don't truncate sizes to 'int'. + (composition_gstring_p, composition_reseat_it) + (composition_adjust_point): Use EMACS_INT, not int. + (get_composition_id, composition_gstring_put_cache): Use EMACS_INT, + not EMACS_UINT, for indexes. + + * category.h (CATEGORY_SET_P): Remove unnecessary cast to EMACS_INT. + + * buffer.c: Include . + (struct sortvec.priority, struct sortstr.priority): + Now EMACS_INT, not int. + (compare_overlays, cmp_for_strings): Avoid subtraction overflow. + (struct sortstr.size, record_overlay_string) + (struct sortstrlist.size, struct sortlist.used): + Don't truncate size to int. + (record_overlay_string): Check for size-calculation overflow. + (init_buffer_once): Check at compile-time, not run-time. + +2011-06-22 Jim Meyering + + Don't leak an XBM-image-sized buffer + * image.c (xbm_load): Free the image buffer after using it. + +2011-06-21 Paul Eggert + + Port to Sun C. + * composite.c (find_automatic_composition): Omit needless 'return 0;' + that Sun C diagnosed. + * fns.c (secure_hash): Fix pointer signedness issue. + * intervals.c (static_offset_intervals): New function. + (offset_intervals): Use it. + +2011-06-21 Leo Liu + + * deps.mk (fns.o): + * makefile.w32-in ($(BLD)/fns.$(O)): Include sha256.h and + sha512.h. + + * fns.c (secure_hash): Rename from crypto_hash_function and change + the first arg to accept symbols. + (Fsecure_hash): New primitive. + (syms_of_fns): New symbols. + +2011-06-20 Deniz Dogan + + * process.c (Fset_process_buffer): Clarify return value in + docstring. + +2011-06-18 Chong Yidong + + * dispnew.c (add_window_display_history): Use BVAR. + + * xdisp.c (debug_method_add): Use BVAR. + (check_window_end, dump_glyph_matrix, dump_glyph) + (dump_glyph_row, dump_glyph_string): Convert arglist to ANSI C. + + * xfaces.c (check_lface_attrs, check_lface, dump_realized_face): + Likewise. + + * xfns.c (Fx_create_frame, x_create_tip_frame): Delay image cache + check till after the cache is created in init_frame_faces. + +2011-06-17 Stefan Monnier + + * fns.c (Fsafe_length): Yet another int/Lisp_Object mixup. + +2011-06-16 Paul Eggert + + * lisp.h: Include , for INT_MAX, LONG_MAX, LLONG_MAX. + Without this, prin1 mishandles Lisp_Misc_Save_Value printing on + hosts with pre-C99 libraries, because pD is wrongly defined to "t". + + Improve buffer-overflow checking (Bug#8873). + * fileio.c (Finsert_file_contents): + * insdel.c (insert_from_buffer_1, replace_range, replace_range_2): + Remove the old (too-loose) buffer overflow checks. + They weren't needed, since make_gap checks for buffer overflow. + * insdel.c (make_gap_larger): Catch buffer overflows that were missed. + The old code merely checked for Emacs fixnum overflow, and relied + on undefined (wraparound) behavior. The new code avoids undefined + behavior, and also checks for ptrdiff_t and/or size_t overflow. + + * editfns.c (Finsert_char): Don't dump core with very negative counts. + Tune. Don't use wider integers than needed. Don't use alloca. + Use a bigger 'string' buffer. Rewrite to avoid 'n > 0' test. + + * insdel.c (replace_range): Fix buf overflow when insbytes < outgoing. + + * insdel.c, lisp.h (buffer_overflow): New function. + (insert_from_buffer_1, replace_range, replace_range_2): + * insdel.c (make_gap_larger): + * editfns.c (Finsert_char): + * fileio.c (Finsert_file_contents): Use it, to normalize wording. + + * buffer.h (BUF_BYTES_MAX): Cast to ptrdiff_t so that it's signed. + +2011-06-15 Paul Eggert + + Integer overflow and signedness fixes (Bug#8873, Bug#8828). + + * ccl.c (ASCENDING_ORDER): New macro, to work around GCC bug 43772. + (GET_CCL_RANGE, IN_INT_RANGE): Use it. + + * fileio.c: Don't assume EMACS_INT fits in off_t. + (emacs_lseek): New static function. + (Finsert_file_contents, Fwrite_region): Use it. + Use SEEK_SET, SEEK_CUR, SEEK_END as appropriate. + + * fns.c (Fload_average): Don't assume 100 * load average fits in int. + + * fns.c: Don't overflow int when computing a list length. + * fns.c (QUIT_COUNT_HEURISTIC): New constant. + (Flength, Fsafe_length): Use EMACS_INT, not int, to avoid unwanted + truncation on 64-bit hosts. Check for QUIT every + QUIT_COUNT_HEURISTIC entries rather than every other entry; that's + faster and is responsive enough. + (Flength): Report an error instead of overflowing an integer. + (Fsafe_length): Return a float if the value is not representable + as a fixnum. This shouldn't happen except in contrived situations. + (Fnthcdr, Fsort): Don't assume list length fits in int. + (Fcopy_sequence): Don't assume vector length fits in int. + + * alloc.c: Check that resized vectors' lengths fit in fixnums. + (header_size, word_size): New constants. + (allocate_vectorlike): Don't check size overflow here. + (allocate_vector): Check it here instead, since this is the only + caller of allocate_vectorlike that could cause overflow. + Check that the new vector's length is representable as a fixnum. + + * fns.c (next_almost_prime): Don't return a multiple of 3 or 5. + The previous code was bogus. For example, next_almost_prime (32) + returned 39, which is undesirable as it is a multiple of 3; and + next_almost_prime (24) returned 25, which is a multiple of 5 so + why was the code bothering to check for multiples of 7? + + * bytecode.c (exec_byte_code): Use ptrdiff_t, not int, for vector length. + + * eval.c, doprnt.c (SIZE_MAX): Remove; inttypes.h defines this now. + + Variadic C functions now count arguments with ptrdiff_t. + This partly undoes my 2011-03-30 change, which replaced int with size_t. + Back then I didn't know that the Emacs coding style prefers signed int. + Also, in the meantime I found a few more instances where arguments + were being counted with int, which may truncate counts on 64-bit + machines, or EMACS_INT, which may be unnecessarily wide. + * lisp.h (struct Lisp_Subr.function.aMANY) + (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): + Arg counts are now ptrdiff_t, not size_t. + All variadic functions and their callers changed accordingly. + (struct gcpro.nvars): Now size_t, not size_t. All uses changed. + * bytecode.c (exec_byte_code): Check maxdepth for overflow, + to avoid potential buffer overrun. Don't assume arg counts fit in 'int'. + * callint.c (Fcall_interactively): Check arg count for overflow, + to avoid potential buffer overrun. Use signed char, not 'int', + for 'varies' array, so that we needn't bother to check its size + calculation for overflow. + * editfns.c (Fformat): Use ptrdiff_t, not EMACS_INT, to count args. + * eval.c (apply_lambda): + * fns.c (Fmapconcat): Use XFASTINT, not XINT, to get args length. + (struct textprop_rec.argnum): Now ptrdiff_t, not int. All uses changed. + (mapconcat): Use ptrdiff_t, not int and EMACS_INT, to count args. + + * callint.c (Fcall_interactively): Don't use index var as event count. + + * vm-limit.c (check_memory_limits): Fix incorrect extern function decls. + * mem-limits.h (SIZE): Remove; no longer used. + + * xterm.c (x_alloc_nearest_color_1): Prefer int to long when int works. + + Remove unnecessary casts. + * xterm.c (x_term_init): + * xfns.c (x_set_border_pixel): + * widget.c (create_frame_gcs): Remove casts to unsigned long etc. + These aren't needed now that we assume ANSI C. + + * sound.c (Fplay_sound_internal): Remove cast to unsigned long. + It's more likely to cause problems (due to unsigned overflow) + than to cure them. + + * dired.c (Ffile_attributes): Don't use 32-bit hack on 64-bit hosts. + + * unexelf.c (unexec): Don't assume BSS addr fits in unsigned. + + * xterm.c (handle_one_xevent): Omit unnecessary casts to unsigned. + + * keyboard.c (modify_event_symbol): Don't limit alist len to UINT_MAX. + + * lisp.h (CHAR_TABLE_SET): Omit now-redundant test. + + * lread.c (Fload): Don't compare a possibly-garbage time_t value. + + GLYPH_CODE_FACE returns EMACS_INT, not int. + * dispextern.h (merge_faces): + * xfaces.c (merge_faces): + * xdisp.c (get_next_display_element, next_element_from_display_vector): + Don't assume EMACS_INT fits in int. + + * character.h (CHAR_VALID_P): Remove unused parameter. + * fontset.c, lisp.h, xdisp.c: All uses changed. + + * editfns.c (Ftranslate_region_internal): Omit redundant test. + + * fns.c (concat): Minor tuning based on overflow analysis. + This doesn't fix any bugs. Use int to hold character, instead + of constantly refetching from Emacs object. Use XFASTINT, not + XINT, for value known to be a character. Don't bother comparing + a single byte to 0400, as it's always less. + + * floatfns.c (Fexpt): + * fileio.c (make_temp_name): Omit unnecessary cast to unsigned. + + * editfns.c (Ftranslate_region_internal): Use int, not EMACS_INT + for characters. + + * doc.c (get_doc_string): Omit (unsigned)c that mishandled negatives. + + * data.c (Faset): If ARRAY is a string, check that NEWELT is a char. + Without this fix, on a 64-bit host (aset S 0 4294967386) would + incorrectly succeed when S was a string, because 4294967386 was + truncated before it was used. + + * chartab.c (Fchar_table_range): Use CHARACTERP to check range. + Otherwise, an out-of-range integer could cause undefined behavior + on a 64-bit host. + + * composite.c: Use int, not EMACS_INT, for characters. + (fill_gstring_body, composition_compute_stop_pos): Use int, not + EMACS_INT, for values that are known to be in character range. + This doesn't fix any bugs but is the usual style inside Emacs and + may generate better code on 32-bit machines. + + Make sure a 64-bit char is never passed to ENCODE_CHAR. + This is for reasons similar to the recent CHAR_STRING fix. + * charset.c (Fencode_char): Check that character arg is actually + a character. Pass an int to ENCODE_CHAR. + * charset.h (ENCODE_CHAR): Verify that the character argument is no + wider than 'int', as a compile-time check to prevent future regressions + in this area. + + * character.c (char_string): Remove unnecessary casts. + + Make sure a 64-bit char is never passed to CHAR_STRING. + Otherwise, CHAR_STRING would do the wrong thing on a 64-bit platform, + by silently ignoring the top 32 bits, allowing some values + that were far too large to be valid characters. + * character.h: Include . + (CHAR_STRING, CHAR_STRING_ADVANCE): Verify that the character + arguments are no wider than unsigned, as a compile-time check + to prevent future regressions in this area. + * data.c (Faset): + * editfns.c (Fchar_to_string, general_insert_function, Finsert_char) + (Fsubst_char_in_region): + * fns.c (concat): + * xdisp.c (decode_mode_spec_coding): + Adjust to CHAR_STRING's new requirement. + * editfns.c (Finsert_char, Fsubst_char_in_region): + * fns.c (concat): Check that character args are actually + characters. Without this test, these functions did the wrong + thing with wildly out-of-range values on 64-bit hosts. + + Remove incorrect casts to 'unsigned' that lose info on 64-bit hosts. + These casts should not be needed on 32-bit hosts, either. + * keyboard.c (read_char): + * lread.c (Fload): Remove casts to unsigned. + + * lisp.h (UNSIGNED_CMP): New macro. + This fixes comparison bugs on 64-bit hosts. + (ASCII_CHAR_P): Use it. + * casefiddle.c (casify_object): + * character.h (ASCII_BYTE_P, CHAR_VALID_P) + (SINGLE_BYTE_CHAR_P, CHAR_STRING): + * composite.h (COMPOSITION_ENCODE_RULE_VALID): + * dispextern.h (FACE_FROM_ID): + * keyboard.c (read_char): Use UNSIGNED_CMP. + + * xmenu.c (dialog_selection_callback) [!USE_GTK]: Cast to intptr_t, + not to EMACS_INT, to avoid GCC warning. + + * xfns.c (x_set_scroll_bar_default_width): Remove unused 'int' locals. + + * buffer.h (PTR_BYTE_POS, BUF_PTR_BYTE_POS): Remove harmful cast. + The cast incorrectly truncated 64-bit byte offsets to 32 bits, and + isn't needed on 32-bit machines. + + * buffer.c (Fgenerate_new_buffer_name): + Use EMACS_INT for count, not int. + (advance_to_char_boundary): Return EMACS_INT, not int. + + * data.c (Qcompiled_function): Now static. + + * window.c (window_body_lines): Now static. + + * image.c (gif_load): Rename local to avoid shadowing. + + * lisp.h (SAFE_ALLOCA_LISP): Check for integer overflow. + (struct Lisp_Save_Value): Use ptrdiff_t, not int, for 'integer' member. + * alloc.c (make_save_value): Integer argument is now of type + ptrdiff_t, not int. + (mark_object): Use ptrdiff_t, not int. + * lisp.h (pD): New macro. + * print.c (print_object): Use it. + + * alloc.c: Use EMACS_INT, not int, to count objects. + (total_conses, total_markers, total_symbols, total_vector_size) + (total_free_conses, total_free_markers, total_free_symbols) + (total_free_floats, total_floats, total_free_intervals) + (total_intervals, total_strings, total_free_strings): + Now EMACS_INT, not int. All uses changed. + (Fgarbage_collect): Compute overall total using a double, so that + integer overflow is less likely to be a problem. Check for overflow + when converting back to an integer. + (n_interval_blocks, n_string_blocks, n_float_blocks, n_cons_blocks) + (n_vectors, n_symbol_blocks, n_marker_blocks): Remove. + These were 'int' variables that could overflow on 64-bit hosts; + they were never used, so remove them instead of repairing them. + (nzombies, ngcs, max_live, max_zombies): Now EMACS_INT, not 'int'. + (inhibit_garbage_collection): Set gc_cons_threshold to max value. + Previously, this ceilinged at INT_MAX, but that doesn't work on + 64-bit machines. + (allocate_pseudovector): Don't use EMACS_INT when int would do. + + * alloc.c (Fmake_bool_vector): Don't assume vector size fits in int. + (allocate_vectorlike): Check for ptrdiff_t overflow. + (mark_vectorlike, mark_char_table, mark_object): Avoid EMACS_UINT + when a (possibly-narrower) signed value would do just as well. + We prefer using signed arithmetic, to avoid comparison confusion. + + * alloc.c: Catch some string size overflows that we were missing. + (XMALLOC_OVERRUN_CHECK_SIZE) [!XMALLOC_OVERRUN_CHECK]: Define to 0, + for convenience in STRING_BYTES_MAX. + (STRING_BYTES_MAX): New macro, superseding the old one in lisp.h. + The definition here is exact; the one in lisp.h was approximate. + (allocate_string_data): Check for string overflow. This catches + some instances we weren't catching before. Also, it catches + size_t overflow on (unusual) hosts where SIZE_MAX <= min + (PTRDIFF_MAX, MOST_POSITIVE_FIXNUM), e.g., when size_t is 32 bits + and ptrdiff_t and EMACS_INT are both 64 bits. + + * character.c, coding.c, doprnt.c, editfns.c, eval.c: + All uses of STRING_BYTES_MAX replaced by STRING_BYTES_BOUND. + * lisp.h (STRING_BYTES_BOUND): Rename from STRING_BYTES_MAX. + + * character.c (string_escape_byte8): Fix nbytes/nchars typo. + + * alloc.c (Fmake_string): Check for out-of-range init. + +2011-06-15 Stefan Monnier + + * eval.c (Fdefvaralias): Also mark the target as variable-special-p. + +2011-06-14 Jan Djärv + + * xfns.c (x_set_scroll_bar_default_width): Remove argument to + xg_get_default_scrollbar_width. + + * gtkutil.c: Include emacsgtkfixed.h if HAVE_GTK3. + (int_gtk_range_get_value): Move to the scroll bar part of the file. + (style_changed_cb): Call update_theme_scrollbar_width and call + x_set_scroll_bar_default_width and xg_frame_set_char_size for + all frames (Bug#8505). + (xg_create_frame_widgets): Call emacs_fixed_new if HAVE_GTK3 (Bug#8505). + Call gtk_window_set_resizable if HAVE_GTK3. + (x_wm_set_size_hint): Call emacs_fixed_set_min_size with min width + and height if HAVE_GTK3 (Bug#8505). + (scroll_bar_width_for_theme): New variable. + (update_theme_scrollbar_width): New function. + (xg_get_default_scrollbar_width): Move code to + update_theme_scrollbar_width, just return scroll_bar_width_for_theme. + (xg_initialize): Call update_theme_scrollbar_width. + + * gtkutil.h (xg_get_default_scrollbar_width): Remove argument. + + * emacsgtkfixed.c, emacsgtkfixed.h: New files. + +2011-06-12 Martin Rudalics + + * frame.c (make_frame): Call other_buffer_safely instead of + other_buffer. + + * window.c (temp_output_buffer_show): Call display_buffer with + second argument Vtemp_buffer_show_specifiers and reset latter + immediately after the call. + (Vtemp_buffer_show_specifiers): New variable. + (auto_window_vscroll_p, next_screen_context_lines) + (Vscroll_preserve_screen_position): Remove leading asterisks from + doc-strings. + +2011-06-12 Paul Eggert + + Fix minor problems found by GCC 4.6.0 static checking. + * buffer.c (Qclone_number): Remove for now, as it's unused. + (record_buffer, Funrecord_buffer): Rename local to avoid shadowing. + (record_buffer): Remove unused local. + * frame.c (other_visible_frames, frame_buffer_list): Now static. + (set_frame_buffer_list): Remove; unused. + * frame.h (other_visible_frames): Remove decl. + * keyboard.h (menu_items_inuse): Declare only if USE_GTK || USE_MOTIF. + * lisp.h (frame_buffer_list, set_frame_buffer_list): Remove decls. + (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): Declare only + if HAVE_GPM. + * menu.c (menu_items_inuse): Now static unless USE_GTK || USE_MOTIF. + * process.c (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): + Define only if HAVE_GPM. + * widget.c (EmacsFrameResize, emacsFrameClassRec): Now static. + (update_hints_inhibit): Remove; never set. All uses removed. + * widgetprv.h (emacsFrameClassRec): Remove decl. + * window.c (delete_deletable_window): Now returns void, since it + wasn't returning anything. + (compare_window_configurations): Remove unused locals. + * xfns.c (x_set_scroll_bar_default_width): Remove unused locals. + * xmenu.c (x_menu_set_in_use): Define only if USE_GTK || USE_MOTIF. + (dialog_selection_callback) [!USE_GTK]: Prefer intptr_t for integers + the same widths as pointers. This follows up on the 2011-05-06 patch. + * xterm.c (x_alloc_lighter_color_for_widget): Define only if USE_LUCID. + * xterm.h: Likewise. + (x_menu_set_in_use): Declare only if USE_GTK || USE_MOTIF. + +2011-06-12 Juanma Barranquero + + * makefile.w32-in: Update dependencies. + (LISP_H): Add lib/intprops.h. + +2011-06-11 Chong Yidong + + * image.c (gif_load): Add animation frame delay to the metadata. + (syms_of_image): Use DEFSYM. New symbol `delay'. + +2011-06-11 Martin Rudalics + + * window.c (delete_deletable_window): Re-add. + (Fset_window_configuration): Rewrite to handle dead buffers and + consequently deletable windows. + (window_tree, Fwindow_tree): Remove. Supply functionality in + window.el. + (compare_window_configurations): Simplify code. + +2011-06-11 Andreas Schwab + + * image.c (imagemagick_load_image): Fix type mismatch. + (Fimagemagick_types): Likewise. + + * window.h (replace_buffer_in_windows): Declare. + +2011-06-11 Martin Rudalics + + * buffer.c: New Lisp objects Qbuffer_list_update_hook and + Qclone_number. Remove external declaration of Qdelete_window. + (Fbuffer_list): Rewrite doc-string. Minor restructuring of + code. + (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): + Run Qbuffer_list_update_hook if allowed. + (Fother_buffer): Rewrite doc-string. Major rewrite for new + buffer list implementation. + (other_buffer_safely): New function. + (Fkill_buffer): Replace call to replace_buffer_in_all_windows by + calls to replace_buffer_in_windows and + replace_buffer_in_windows_safely. Run Qbuffer_list_update_hook + if allowed. + (record_buffer): Inhibit quitting and rewrite using quittable + functions. Run Qbuffer_list_update_hook if allowed. + (Frecord_buffer, Funrecord_buffer): New functions. + (switch_to_buffer_1, Fswitch_to_buffer): Remove. + Move switch-to-buffer to window.el. + (bury-buffer): Move to window.el. + (Vbuffer_list_update_hook): New variable. + + * lisp.h (other_buffer_safely): Add prototype in buffer.c + section. + + * window.h (resize_frame_windows): Move up in code. + (Fwindow_frame): Remove EXFUN. + (replace_buffer_in_all_windows): Remove prototype. + (replace_buffer_in_windows_safely): Add prototype. + + * window.c: Declare Qdelete_window static again. Move down + declaration of select_count. + (Fnext_window, Fprevious_window): Rewrite doc-strings. + (Fother_window): Move to window.el. + (window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER + cases. Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case. + (Fdelete_windows_on, Freplace_buffer_in_windows): Move to + window.el. + (replace_buffer_in_windows): Implement by calling + Qreplace_buffer_in_windows. + (replace_buffer_in_all_windows): Remove with some functionality + moved into replace_buffer_in_windows_safely. + (replace_buffer_in_windows_safely): New function. + (select_window_norecord, select_frame_norecord): Move in front + of run_window_configuration_change_hook. Remove now obsolete + declarations. + (Fset_window_buffer): Rewrite doc-string. + Call Qrecord_window_buffer. + (keys_of_window): Move binding for other-window to window.el. + +2011-06-11 Chong Yidong + + * dispextern.h (struct image): Replace data member, whose int_val + and ptr_val fields were not used by anything, with a single + lisp_val object. + + * image.c (Fimage_metadata, make_image, mark_image, tiff_load) + (gif_clear_image, gif_load, imagemagick_load_image) + (gs_clear_image, gs_load): Callers changed. + +2011-06-10 Paul Eggert + + * buffer.h: Include , for time_t. + Needed to build on FreeBSD 8.2. Problem reported by Herbert J. Skuhra. + + Fix minor problems found by static checking. + + * image.c (PixelGetMagickColor): Declare if ImageMagick headers don't. + + Make identifiers static if they are not used in other modules. + * data.c (Qcompiled_function, Qframe, Qvector): + * image.c (QimageMagick, Qsvg): + * minibuf.c (Qmetadata): + * window.c (resize_window_check, resize_root_window): Now static. + * window.h (resize_window_check, resize_root_window): Remove decls. + + * window.c (window_deletion_count, delete_deletable_window): + Remove; unused. + (window_body_lines): Now static. + (Fdelete_other_windows_internal): Mark vars as initialized. + Make sure 'resize_failed' is initialized. + (run_window_configuration_change_hook): Rename local to avoid shadowing. + (resize_window_apply): Remove unused local. + * window.h (delete_deletable_window): Remove decl. + + * image.c (gif_load, svg_load_image): Rename locals to avoid shadowing. + (imagemagick_load_image): Fix pointer signedness problem by changing + last arg from unsigned char * to char *. All uses changed. + Also, fix a local for similar reasons. + Remove unused locals. Remove locals to avoid shadowing. + (fn_rsvg_handle_free): Remove; unused. + (svg_load, svg_load_image): Fix pointer signedness problem. + (imagemagick_load_image): Don't use garbage pointer image_wand. + + * ftfont.c (ftfont_get_metrics, ftfont_drive_otf): Remove unused locals. + +2011-06-10 Chong Yidong + + * image.c (gif_load): Fix omitted cast error introduced by + 2011-06-06 change. + +2011-06-10 Martin Rudalics + + * window.h (resize_proportionally, orig_total_lines) + (orig_top_line): Remove from window structure. + (set_window_height, set_window_width, change_window_heights) + (Fdelete_window): Remove prototypes. + (resize_frame_windows): Remove duplicate declaration. + +2011-06-10 Eli Zaretskii + + * window.h (resize_frame_windows, resize_window_check) + (delete_deletable_window, resize_root_window) + (resize_frame_windows): Declare prototypes. + + * window.c (resize_window_apply): Make definition be "static" to + match the prototype. + +2011-06-10 Martin Rudalics + + * window.c: Remove declarations of Qwindow_size_fixed, + window_min_size_1, window_min_size_2, window_min_size, + size_window, window_fixed_size_p, enlarge_window, delete_window. + Remove static from declaration of Qdelete_window, it's + temporarily needed by Fbury_buffer. + (replace_window): Don't assign orig_top_line and + orig_total_lines. + (Fdelete_window, delete_window): Remove. Window deletion is + handled by window.el. + (window_loop): Remove DELETE_OTHER_WINDOWS case. + Replace Fdelete_window calls with calls to Qdelete_window. + (Fdelete_other_windows): Remove. Deleting other windows is + handled by window.el. + (window_fixed_size_p): Remove. Fixed-sizeness of windows is + handled in window.el. + (window_min_size_2, window_min_size_1, window_min_size): Remove. + Window minimum sizes are handled in window.el. + (shrink_windows, size_window, set_window_height) + (set_window_width, change_window_heights, window_height) + (window_width, CURBEG, CURSIZE, enlarge_window) + (adjust_window_trailing_edge, Fadjust_window_trailing_edge) + (Fenlarge_window, Fshrink_window): Remove. Window resizing is + handled in window.el. + (make_dummy_parent): Rename to make_parent_window and give it a + second argument horflag. + (make_window): Don't set resize_proportionally any more. + (Fsplit_window): Remove. Windows are split in window.el. + (save_restore_action, save_restore_orig_size) + (shrink_window_lowest_first, save_restore_orig_size): Remove. + Resize mini windows in window.el. + (grow_mini_window, shrink_mini_window): Implement by calling + Qresize_root_window_vertically, resize_window_check and + resize_window_apply. + (saved_window, Fset_window_configuration, save_window_save): + Do not handle orig_top_line, orig_total_lines, and + resize_proportionally. + (window_min_height, window_min_width): Move to window.el. + (keys_of_window): Move bindings for delete-other-windows, + split-window, delete-window and enlarge-window to window.el. + + * buffer.c: Temporarily extern Qdelete_window. + (Fbury_buffer): Temporarily call Qdelete_window instead of + Fdelete_window (Fbury_buffer will move to window.el soon). + + * frame.c (set_menu_bar_lines_1): Remove code handling + orig_top_line and orig_total_lines. + + * dispnew.c (adjust_frame_glyphs_initially): Don't use + set_window_height but set heights directly. + (change_frame_size_1): Use resize_frame_windows. + + * xdisp.c (init_xdisp): Don't use set_window_height but set + heights directly. + + * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): + Use resize_frame_windows instead of change_window_heights and run + run_window_configuration_change_hook. + + * w32fns.c (x_set_tool_bar_lines): Use resize_frame_windows + instead of change_window_heights and run + run_window_configuration_change_hook. + +2011-06-09 Martin Rudalics + + * window.c (replace_window): Rename second argument REPLACEMENT to + NEW. New third argument SETFLAG. Rewrite. + (delete_window, make_dummy_parent): Call replace_window with + third argument 1. + (window_list_1): Move down in code. + (run_window_configuration_change_hook): Move set_buffer part + before select_frame_norecord part in order to unwind correctly. + Rename count1 to count. + (recombine_windows, delete_deletable_window, resize_root_window) + (Fdelete_other_windows_internal) + (Frun_window_configuration_change_hook, make_parent_window) + (resize_window_check, resize_window_apply, Fresize_window_apply) + (resize_frame_windows, Fsplit_window_internal) + (Fdelete_window_internal, Fresize_mini_window_internal): + New functions. + (syms_of_window): New variables Vwindow_splits and Vwindow_nest. + +2011-06-08 Martin Rudalics + + * window.h (window): Add some new members to window structure - + normal_lines, normal_cols, new_total, new_normal, clone_number, + splits, nest, prev_buffers, next_buffers. + (WINDOW_TOTAL_SIZE): Move here from window.c. + (MIN_SAFE_WINDOW_WIDTH, MIN_SAFE_WINDOW_HEIGHT): Define here. + + * window.c (Fwindow_height, Fwindow_width, Fwindow_full_width_p): + Remove. + (make_dummy_parent): Set new members of windows structure. + (make_window): Move down in code. Handle new members of window + structure. + (Fwindow_clone_number, Fwindow_splits, Fset_window_splits) + (Fwindow_nest, Fset_window_nest, Fwindow_new_total) + (Fwindow_normal_size, Fwindow_new_normal, Fwindow_prev_buffers) + (Fset_window_prev_buffers, Fwindow_next_buffers) + (Fset_window_next_buffers, Fset_window_clone_number): + New functions. + (Fwindow_hscroll, Fwindow_at, Fwindow_point, Fwindow_start) + (Fwindow_end, Fwindow_line_height, Fset_window_dedicated_p): + Doc-string fixes. + (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter): + Argument WINDOW can be now internal window too. + (Fwindow_use_time): Move up in code. + (Fget_buffer_window): Rename argument FRAME to ALL-FRAMES. + Rewrite doc-string. + (Fset_window_configuration, saved_window) + (Fcurrent_window_configuration, save_window_save): Handle new + members of window structure. + (WINDOW_TOTAL_SIZE, MIN_SAFE_WINDOW_WIDTH) + (MIN_SAFE_WINDOW_HEIGHT): Move to window.h. + (syms_of_window): New Lisp objects Qrecord_window_buffer, + Qwindow_deletable_p, Qdelete_window, Qreplace_buffer_in_windows, + Qget_mru_window, Qresize_root_window, + Qresize_root_window_vertically, Qsafe, Qabove, Qbelow, + Qauto_buffer_name; staticpro them. + +2011-06-07 Martin Rudalics + + * window.c (Fwindow_total_size, Fwindow_left_column) + (Fwindow_top_line, window_body_lines, Fwindow_body_size) + (Fwindow_list_1): New functions. + (window_box_text_cols): Replace with window_body_cols. + (Fwindow_width, Fscroll_left, Fscroll_right): + Use window_body_cols instead of window_box_text_cols. + (delete_window, Fset_window_configuration): + Call delete_all_subwindows with window as argument. + (delete_all_subwindows): Take a window as argument and not a + structure. Rewrite. + (window_loop): Remove handling of GET_LRU_WINDOW and + GET_LARGEST_WINDOW. + (Fget_lru_window, Fget_largest_window): Move to window.el. + + * window.h: Extern window_body_cols instead of + window_box_text_cols. delete_all_subwindows now takes a + Lisp_Object as argument. + + * indent.c (compute_motion, Fcompute_motion): + Use window_body_cols instead of window_box_text_cols. + + * frame.c (delete_frame): Call delete_all_subwindows with root + window as argument. + +2011-06-07 Daniel Colascione + + * fns.c (Fputhash): Document return value. + +2011-06-06 Chong Yidong + + * image.c (gif_load): Implement gif89a spec "no disposal" method. + +2011-06-06 Paul Eggert + + Cons<->int and similar integer overflow fixes (Bug#8794). + + Check for overflow when converting integer to cons and back. + * charset.c (Fdefine_charset_internal, Fdecode_char): + Use cons_to_unsigned to catch overflow. + (Fencode_char): Use INTEGER_TO_CONS. + * composite.h (LGLYPH_CODE): Use cons_to_unsigned. + (LGLYPH_SET_CODE): Use INTEGER_TO_CONS. + * data.c (long_to_cons, cons_to_long): Remove. + (cons_to_unsigned, cons_to_signed): New functions. + These signal an error for invalid or out-of-range values. + * dired.c (Ffile_attributes): Use INTEGER_TO_CONS. + * fileio.c (Fset_visited_file_modtime): Use CONS_TO_INTEGER. + * font.c (Ffont_variation_glyphs): + * fontset.c (Finternal_char_font): Use INTEGER_TO_CONS. + * lisp.h: Include . + (INTEGER_TO_CONS, CONS_TO_INTEGER): New macros. + (cons_to_signed, cons_to_unsigned): New decls. + (long_to_cons, cons_to_long): Remove decls. + * undo.c (record_first_change): Use INTEGER_TO_CONS. + (Fprimitive_undo): Use CONS_TO_INTEGER. + * xfns.c (Fx_window_property): Likewise. + * xselect.c: Include . + (x_own_selection, selection_data_to_lisp_data): + Use INTEGER_TO_CONS. + (x_handle_selection_request, x_handle_selection_clear) + (x_get_foreign_selection, Fx_disown_selection_internal) + (Fx_get_atom_name, x_send_client_event): Use CONS_TO_INTEGER. + (lisp_data_to_selection_data): Use cons_to_unsigned. + (x_fill_property_data): Use cons_to_signed. + Report values out of range. + + Check for buffer and string overflow more precisely. + * buffer.h (BUF_BYTES_MAX): New macro. + * lisp.h (STRING_BYTES_MAX): New macro. + * alloc.c (Fmake_string): + * character.c (string_escape_byte8): + * coding.c (coding_alloc_by_realloc): + * doprnt.c (doprnt): + * editfns.c (Fformat): + * eval.c (verror): + Use STRING_BYTES_MAX, not MOST_POSITIVE_FIXNUM, + since they may not be the same number. + * editfns.c (Finsert_char): + * fileio.c (Finsert_file_contents): + Likewise for BUF_BYTES_MAX. + + * image.c: Use ptrdiff_t, not int, for sizes. + (slurp_file): Switch from int to ptrdiff_t. + All uses changed. + (slurp_file): Check that file size fits in both size_t (for + malloc) and ptrdiff_t (for sanity and safety). + + * fileio.c (Fverify_visited_file_modtime): Avoid time overflow + if b->modtime has its maximal value. + + * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits. + + Don't assume time_t can fit into int. + * buffer.h (struct buffer.modtime): Now time_t, not int. + * fileio.c (Fvisited_file_modtime): No need for time_t cast now. + * undo.c (Fprimitive_undo): Use time_t, not int, for time_t value. + + Minor fixes for signed vs unsigned integers. + * character.h (MAYBE_UNIFY_CHAR): + * charset.c (maybe_unify_char): + * keyboard.c (read_char, reorder_modifiers): + XINT -> XFASTINT, since the integer must be nonnegative. + * ftfont.c (ftfont_spec_pattern): + * keymap.c (access_keymap, silly_event_symbol_error): + XUINT -> XFASTINT, since the integer must be nonnegative. + (Fsingle_key_description, preferred_sequence_p): XUINT -> XINT, + since it makes no difference and we prefer signed. + * keyboard.c (record_char): Use XUINT when all the neighbors do. + (access_keymap): NATNUMP -> INTEGERP, since the integer must be + nonnegative. + +2011-06-06 Stefan Monnier + + * window.h (Fwindow_frame): Declare. + +2011-06-06 Paul Eggert + + * alloc.c: Simplify handling of large-request failures (Bug#8800). + (SPARE_MEMORY): Always define. + (LARGE_REQUEST): Remove. + (memory_full): Use SPARE_MEMORY rather than LARGE_REQUEST. + +2011-06-06 Martin Rudalics + + * lisp.h: Move EXFUNS for Fframe_root_window, + Fframe_first_window and Fset_frame_selected_window to window.h. + + * window.h: Move EXFUNS for Fframe_root_window, + Fframe_first_window and Fset_frame_selected_window here from + lisp.h. + + * frame.c (Fwindow_frame, Fframe_first_window) + (Fframe_root_window, Fframe_selected_window) + (Fset_frame_selected_window): Move to window.c. + (Factive_minibuffer_window): Move to minibuf.c. + (Fother_visible_frames_p): New function. + + * minibuf.c (Factive_minibuffer_window): Move here from frame.c. + + * window.c (decode_window, decode_any_window): Move up in code. + (Fwindowp, Fwindow_live_p): Rewrite doc-strings. + (inhibit_frame_unsplittable): Remove unused variable. + (Fwindow_buffer): Move up and rewrite doc-string. + (Fwindow_parent, Fwindow_vchild, Fwindow_hchild, Fwindow_next) + (Fwindow_prev): New functions. + (Fwindow_frame): Move here from frame.c. Accept any window as + argument. + (Fframe_root_window, Fframe_first_window) + (Fframe_selected_window): Move here from frame.c. Accept frame + or arbitrary window as argument. Update doc-strings. + (Fminibuffer_window): Move up in code. + (Fwindow_minibuffer_p): Move up in code and simplify. + (Fset_frame_selected_window): Move here from frame.c. + Marginal rewrite. + (Fselected_window, select_window, Fselect_window): Move up in + code. Minor doc-string fixes. + +2011-06-06 Paul Eggert + + * alloc.c (memory_full) [SYSTEM_MALLOC]: Port to MacOS (Bug#8800). + Do not assume that spare memory exists; that assumption is valid + only if SYSTEM_MALLOC. + (LARGE_REQUEST): New macro, so that the issue of large requests + is separated from the issue of spare memory. + +2011-06-05 Andreas Schwab + + * editfns.c (Fformat): Correctly handle zero flag with hexadecimal + format. (Bug#8806) + + * gtkutil.c (xg_get_default_scrollbar_width): Avoid warning. + + * xfns.c (x_set_scroll_bar_default_width): Move declarations + before statements. + +2011-06-05 Jan Djärv + + * gtkutil.c (xg_get_default_scrollbar_width): New function. + + * gtkutil.h: Declare xg_get_default_scrollbar_width. + + * xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get + min width by calling x_set_scroll_bar_default_width (Bug#8505). + +2011-06-05 Juanma Barranquero + + * xdisp.c (single_display_spec_intangible_p): Remove declaration. + +2011-06-04 Chong Yidong + + * xselect.c (x_clipboard_manager_save): Remove redundant arg. + (x_clipboard_manager_save): Add return value. + (x_clipboard_manager_error_1, x_clipboard_manager_error_2): + New error handlers. + (x_clipboard_manager_save_frame, x_clipboard_manager_save_all): + Obey Vx_select_enable_clipboard_manager. Catch errors in + x_clipboard_manager_save (Bug#8779). + (Vx_select_enable_clipboard_manager): New variable. + (x_get_foreign_selection): Reduce scope of x_catch_errors (Bug#8790). + +2011-06-04 Dan Nicolaescu + + * emacs.c (main): Warn when starting a GTK emacs in daemon mode. + +2011-06-04 YAMAMOTO Mitsuharu + + * fringe.c (update_window_fringes): Don't update overlay arrow bitmap + in the current matrix if keep_current_p is non-zero. + +2011-06-04 Eli Zaretskii + + * bidi.c (bidi_level_of_next_char): Fix last change. + +2011-06-03 Eli Zaretskii + + Support bidi reordering of text covered by display properties. + + * bidi.c (bidi_copy_it): Use offsetof instead of emulating it. + (bidi_fetch_char, bidi_fetch_char_advance): New functions. + (bidi_cache_search, bidi_cache_iterator_state) + (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak) + (bidi_level_of_next_char, bidi_move_to_visually_next): + Support character positions inside a run of characters covered by a + display string. + (bidi_paragraph_init, bidi_resolve_explicit_1) + (bidi_level_of_next_char): Call bidi_fetch_char and + bidi_fetch_char_advance instead of FETCH_CHAR and + FETCH_CHAR_ADVANCE. + (bidi_init_it): Initialize new members. + (LRE_CHAR, RLE_CHAR, PDF_CHAR, LRO_CHAR, RLO_CHAR): Remove macro + definitions. + (bidi_explicit_dir_char): Lookup character type in bidi_type_table, + instead of using explicit *_CHAR codes. + (bidi_resolve_explicit, bidi_resolve_weak): + Use FETCH_MULTIBYTE_CHAR instead of FETCH_CHAR, as reordering of + bidirectional text is supported only in multibyte buffers. + (bidi_init_it): Accept additional argument FRAME_WINDOW_P and use + it to initialize the frame_window_p member of struct bidi_it. + (bidi_cache_iterator_state, bidi_resolve_explicit_1) + (bidi_resolve_explicit, bidi_resolve_weak) + (bidi_level_of_next_char, bidi_move_to_visually_next): Abort if + bidi_it->nchars is non-positive. + (bidi_level_of_next_char): Don't try to lookup the cache for the + next/previous character if nothing is cached there yet, or if we + were just reseat()'ed to a new position. + + * xdisp.c (set_cursor_from_row): Set start and stop points + according to the row's direction when priming the loop that looks + for the glyph on which to display cursor. + (single_display_spec_intangible_p): Function deleted. + (display_prop_intangible_p): Reimplement to call + handle_display_spec instead of single_display_spec_intangible_p. + Accept 3 additional arguments needed by handle_display_spec. + This fixes incorrect cursor motion across display property with complex + values: lists, `(when COND...)' forms, etc. + (single_display_spec_string_p): Support property values that are + lists with the argument STRING its top-level element. + (display_prop_string_p): Fix the condition for processing a + property that is a list to be consistent with handle_display_spec. + (handle_display_spec): New function, refactored from the + last portion of handle_display_prop. + (compute_display_string_pos): Accept additional argument + FRAME_WINDOW_P. Call handle_display_spec to determine whether the + value of a `display' property is a "replacing spec". + (handle_single_display_spec): Accept 2 additional arguments BUFPOS + and FRAME_WINDOW_P. If IT is NULL, don't set up the iterator from + the display property, but just return a value indicating whether + the display property will replace the characters it covers. + (Fcurrent_bidi_paragraph_direction): Initialize the nchars and + frame_window_p members of struct bidi_it. + (compute_display_string_pos, compute_display_string_end): + New functions. + (push_it): Accept second argument POSITION, where pop_it should + jump to continue iteration. + (reseat_1): Initialize bidi_it.disp_pos. + + * keyboard.c (adjust_point_for_property): Adjust the call to + display_prop_intangible_p to its new signature. + + * dispextern.h (struct bidi_it): New member frame_window_p. + (bidi_init_it): Update prototypes. + (display_prop_intangible_p): Update prototype. + (compute_display_string_pos, compute_display_string_end): + Declare prototypes. + (struct bidi_it): New members nchars and disp_pos. ch_len is now + EMACS_INT. + +2011-06-02 Paul Eggert + + Malloc failure behavior now depends on size of allocation. + * alloc.c (buffer_memory_full, memory_full): New arg NBYTES. + * lisp.h: Change signatures accordingly. + * alloc.c, buffer.c, editfns.c, menu.c, minibuf.c, xterm.c: + All callers changed. (Bug#8762) + + * gnutls.c: Use Emacs's memory allocators. + Without this change, the gnutls library would invoke malloc etc. + directly, which causes problems on non-SYNC_INPUT hosts, and which + runs afoul of improving memory_full behavior. (Bug#8761) + (fn_gnutls_global_set_mem_functions): New macro or function pointer. + (emacs_gnutls_global_init): Use it to specify xmalloc, xrealloc, + xfree instead of the default malloc, realloc, free. + (Fgnutls_boot): No need to check for memory allocation failure, + since xmalloc does that for us. + + Remove arbitrary limit of 2**31 entries in hash tables. (Bug#8771) + * category.c (hash_get_category_set): + * ccl.c (ccl_driver): + * charset.c (Fdefine_charset_internal): + * charset.h (struct charset.hash_index): + * composite.c (get_composition_id, gstring_lookup_cache) + (composition_gstring_put_cache): + * composite.h (struct composition.hash_index): + * dispextern.h (struct image.hash): + * fns.c (next_almost_prime, larger_vector, cmpfn_eql) + (cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql) + (hashfn_equal, hashfn_user_defined, make_hash_table) + (maybe_resize_hash_table, hash_lookup, hash_put) + (hash_remove_from_table, hash_clear, sweep_weak_table, SXHASH_COMBINE) + (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector) + (Fsxhash, Fgethash, Fputhash, Fmaphash): + * image.c (make_image, search_image_cache, lookup_image) + (xpm_put_color_table_h): + * lisp.h (struct Lisp_Hash_Table): + * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion): + * print.c (print): Use 'EMACS_UINT' and 'EMACS_INT' + for hashes and hash indexes, instead of 'unsigned' and 'int'. + * alloc.c (allocate_vectorlike): + Check for overflow in vector size calculations. + * ccl.c (ccl_driver): + Check for overflow when converting EMACS_INT to int. + * fns.c, image.c: Remove unnecessary static decls that would otherwise + need to be updated by these changes. + * fns.c (make_hash_table, maybe_resize_hash_table): + Check for integer overflow with large hash tables. + (make_hash_table, maybe_resize_hash_table, Fmake_hash_table): + Prefer the faster XFLOAT_DATA to XFLOATINT where either will do. + (SXHASH_REDUCE): New macro. + (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector): + Use it instead of discarding useful hash info with large hash values. + (sxhash_float): New function. + (sxhash): Use it. No more need for "& INTMASK" due to above changes. + * lisp.h (FIXNUM_BITS): New macro, useful for SXHASH_REDUCE etc. + (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK): + Rewrite to use FIXNUM_BITS, as this simplifies things. + (next_almost_prime, larger_vector, sxhash, hash_lookup, hash_put): + Adjust signatures to match updated version of code. + (consing_since_gc): Now EMACS_INT, since a single hash table can + use more than INT_MAX bytes. + +2011-06-01 Dan Nicolaescu + + Make it possible to build with GCC-4.6+ -O2 -flto. + + * emacs.c (__malloc_initialize_hook): Mark as EXTERNALLY_VISIBLE. + +2011-06-01 Stefan Monnier + + * minibuf.c (get_minibuffer, read_minibuf_unwind): + Call minibuffer-inactive-mode. + +2011-05-31 Juanma Barranquero + + * makefile.w32-in ($(BLD)/data.$(O), $(BLD)/editfns.$(O)): + Update dependencies. + +2011-05-31 Dan Nicolaescu + + * data.c (init_data): Remove code for UTS, this system is not + supported anymore. + +2011-05-31 Dan Nicolaescu + + Don't force ./temacs to start in terminal mode. + + * frame.c (make_initial_frame): Initialize faces in all cases, not + only when CANNOT_DUMP is defined. + * dispnew.c (init_display): Remove CANNOT_DUMP condition. + +2011-05-31 Dan Nicolaescu + + * dispnew.c (add_window_display_history): Use const for the string + pointer. Remove declaration, not needed. + +2011-05-31 Paul Eggert + + Use 'inline', not 'INLINE'. + + * alloc.c, fontset.c (INLINE): Remove. + * alloc.c, bidi.c, charset.c, coding.c, dispnew.c, fns.c, image.c: + * intervals.c, keyboard.c, process.c, syntax.c, textprop.c, w32term.c: + * xdisp.c, xfaces.c, xterm.c: Replace all uses of INLINE with inline. + * gmalloc.c (register_heapinfo): Use inline unconditionally. + * lisp.h (LISP_MAKE_RVALUE): Use inline, not __inline__. + +2011-05-31 Dan Nicolaescu + + Make it possible to run ./temacs. + + * callproc.c (set_initial_environment): Remove CANNOT_DUMP code, + syms_of_callproc does the same thing. Remove test for + "initialized", do it in the caller. + * emacs.c (main): Avoid calling set_initial_environment when dumping. + +2011-05-31 Stefan Monnier + + * minibuf.c (Finternal_complete_buffer): Return `category' metadata. + (read_minibuf): Use get_minibuffer. + (syms_of_minibuf): Use DEFSYM. + (Qmetadata): New var. + * data.c (Qbuffer): Don't make it static. + (syms_of_data): Use DEFSYM. + +2011-05-31 Paul Eggert + + * ccl.c (CCL_CODE_RANGE): Allow negative numbers. (Bug#8751) + (CCL_CODE_MIN): New macro. + +2011-05-30 Paul Eggert + + * alloc.c (lisp_align_malloc): Omit unnecessary val==NULL tests. + + * eval.c (Qdebug): Now static. + * lisp.h (Qdebug): Remove decl. This reverts a part of the + 2011-04-26T11:26:05Z!dan.colascione@gmail.com that inadvertently undid part of + 2011-04-14T06:48:41Z!eggert@cs.ucla.edu. + +2011-05-29 Chong Yidong + + * image.c: Various fixes to ImageMagick code comments. + (Fimagemagick_types): Doc fix. + +2011-05-29 Paul Eggert + + Minor fixes prompted by GCC 4.6.0 warnings. + + * xselect.c (converted_selections, conversion_fail_tag): Now static. + + * emacs.c [HAVE_X_WINDOWS]: Include "xterm.h". + (x_clipboard_manager_save_all): Move extern decl to ... + * xterm.h: ... here, so that it can be checked for consistency. + +2011-05-29 Chong Yidong + + * xselect.c (x_clipboard_manager_save_frame) + (x_clipboard_manager_save_all): New functions. + (Fx_clipboard_manager_save): Lisp function deleted. + + * emacs.c (Fkill_emacs): Call x_clipboard_manager_save_all. + * frame.c (delete_frame): Call x_clipboard_manager_save_frame. + + * xterm.h: Update prototype. + +2011-05-28 William Xu + + * nsterm.m (ns_term_shutdown): Synchronize user defaults before + exiting (Bug#8239). + +2011-05-28 Jim Meyering + + Avoid a sign-extension bug in crypto_hash_function. + * fns.c (to_uchar): Define. + (crypto_hash_function): Use it to convert some newly-signed + variables to unsigned, to avoid sign-extension bugs. For example, + without this change, (md5 "truc") would evaluate to + 45723a2aff78ff4fff7fff1114760e62 rather than the expected + 45723a2af3788c4ff17f8d1114760e62. Reported by Antoine Levitt in + https://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00883.html. + +2011-05-27 Paul Eggert + + Integer overflow fixes. + + * dbusbind.c: Serial number integer overflow fixes. + (CHECK_DBUS_SERIAL_GET_SERIAL): New macro. + (Fdbus_call_method_asynchronously, xd_read_message_1): Use a float + to hold a serial number that is too large for a fixnum. + (Fdbus_method_return_internal, Fdbus_method_error_internal): + Check for serial numbers out of range. Decode any serial number + that was so large that it became a float. (Bug#8722) + + * dbusbind.c: Use XFASTINT rather than XUINT, and check for nonneg. + (Fdbus_call_method, Fdbus_call_method_asynchronously): + Use XFASTINT rather than XUINT when numbers are nonnegative. + (xd_append_arg, Fdbus_method_return_internal): + (Fdbus_method_error_internal): Likewise. Also, for unsigned + arguments, check that Lisp number is nonnegative, rather than + silently wrapping negative numbers around. (Bug#8722) + (xd_read_message_1): Don't assume dbus_uint32_t can fit in int. + (Bug#8722) + + * data.c (arith_driver, Flsh): Avoid unnecessary casts to EMACS_UINT. + + * ccl.c (ccl_driver): Redo slightly to avoid the need for 'unsigned'. + + ccl: Add integer overflow checks. + * ccl.c (CCL_CODE_MAX, GET_CCL_RANGE, GET_CCL_CODE, GET_CCL_INT): + (IN_INT_RANGE): New macros. + (ccl_driver): Use them to check for integer overflow when + decoding a CCL program. Many of the new checks are whether XINT (x) + fits in int; it doesn't always, on 64-bit hosts. The new version + doesn't catch all possible integer overflows, but it's an + improvement. (Bug#8719) + + * alloc.c (make_event_array): Use XINT, not XUINT. + There's no need for unsigned here. + + * mem-limits.h (EXCEEDS_LISP_PTR) [!USE_LSB_TAG]: EMACS_UINT -> uintptr_t + This follows up to the 2011-05-06 change that substituted uintptr_t + for EMACS_INT. This case wasn't caught back then. + + Rework Fformat to avoid integer overflow issues. + * editfns.c: Include unconditionally, as it's everywhere + now (part of C89). Include . + (MAX_10_EXP, CONVERTED_BYTE_SIZE): Remove; no longer needed. + (pWIDE, pWIDElen, signed_wide, unsigned_wide): New defns. + (Fformat): Avoid the prepass trying to compute sizes; it was only + approximate and thus did not catch overflow reliably. Instead, walk + through the format just once, formatting and computing sizes as we go, + checking for integer overflow at every step, and allocating a larger + buffer as needed. Keep track separately whether the format is + multibyte. Keep only the most-recently calculated precision, rather + than them all. Record whether each argument has been converted to + string. Use EMACS_INT, not int, for byte and char and arg counts. + Support field widths and precisions larger than INT_MAX. Avoid + sprintf's undefined behavior with conversion specifications such as %#d + and %.0c. Fix bug with strchr succeeding on '\0' when looking for + flags. Fix bug with (format "%c" 256.0). Avoid integer overflow when + formatting out-of-range floating point numbers with int + formats. (Bug#8668) + + * lisp.h (FIXNUM_OVERFLOW_P): Work even if arg is a NaN. + + * data.c: Avoid integer truncation in expressions involving floats. + * data.c: Include . + (arith_driver): When there's an integer overflow in an expression + involving floating point, convert the integers to floating point + so that the resulting value does not suffer from catastrophic + integer truncation. For example, on a 64-bit host (* 4 + most-negative-fixnum 0.5) should yield about -4.6e+18, not zero. + Do not rely on undefined behavior after integer overflow. + + merge count_size_as_multibyte, parse_str_to_multibyte + * character.c, character.h (count_size_as_multibyte): + Rename from parse_str_to_multibyte; all uses changed. + Check for integer overflow. + * insdel.c, lisp.h (count_size_as_multibyte): Remove, + since it's now a duplicate of the other. This is more of + a character than a buffer op, so better that it's in character.c. + * fns.c, print.c: Adjust to above changes. + +2011-05-27 Stefan Monnier + + * xselect.c (x_convert_selection): Yet another int/Lisp_Object mixup. + +2011-05-27 Paul Eggert + + * xselect.c: Fix minor problems prompted by GCC 4.6.0 warnings. + (x_handle_selection_request, frame_for_x_selection): Remove unused vars. + (x_clipboard_manager_save): Now static. + (Fx_clipboard_manager_save): Rename local to avoid shadowing. + + * fns.c: Fix minor problems prompted by GCC 4.6.0 warnings. + (crypto_hash_function): Now static. + Fix pointer signedness problems. Avoid unnecessary initializations. + +2011-05-27 Chong Yidong + + * termhooks.h (Vselection_alist): Make it terminal-local. + + * terminal.c (create_terminal): Initialize it. + + * xselect.c: Support for clipboard managers. + (Vselection_alist): Move to termhooks.h as terminal-local var. + (LOCAL_SELECTION): New macro. + (x_atom_to_symbol): Handle x_display_info_for_display fail case. + (symbol_to_x_atom): Remove gratuitous arg. + (x_handle_selection_request, lisp_data_to_selection_data) + (x_get_foreign_selection, Fx_register_dnd_atom): Callers changed. + (x_own_selection, x_get_local_selection, x_convert_selection): + New arg, specifying work frame. Use terminal-local Vselection_alist. + (some_frame_on_display): Delete unused function. + (Fx_own_selection_internal, Fx_get_selection_internal) + (Fx_disown_selection_internal, Fx_selection_owner_p) + (Fx_selection_exists_p): New optional frame arg. + (frame_for_x_selection, Fx_clipboard_manager_save): New functions. + (x_handle_selection_clear): Don't treat other terminals with the + same keyboard specially. Use the terminal-local Vselection_alist. + (x_clear_frame_selections): Use Frun_hook_with_args. + + * xterm.c (x_term_init): Intern ATOM and CLIPBOARD_MANAGER atoms. + + * xterm.h: Add support for those atoms. + +2011-05-26 Chong Yidong + + * xselect.c: ICCCM-compliant handling of MULTIPLE targets. + (converted_selections, conversion_fail_tag): New global variables. + (x_selection_request_lisp_error): Free the above. + (x_get_local_selection): Remove unnecessary code. + (x_reply_selection_request): Args changed; handle arbitrary array + of converted selections stored in converted_selections. + Separate the XChangeProperty and SelectionNotify steps. + (x_handle_selection_request): Rewrite to handle MULTIPLE target. + (x_convert_selection): New function. + (x_handle_selection_event): Simplify. + (x_get_foreign_selection): Don't ignore incoming requests while + waiting for an answer; this will fail when we implement + SAVE_TARGETS, and seems unnecessary anyway. + (selection_data_to_lisp_data): Recognize ATOM_PAIR type. + (Vx_sent_selection_functions): Doc fix. + +2011-05-26 Leo Liu + + * editfns.c (Ftranspose_regions): Allow empty regions. (Bug#8699) + +2011-05-25 YAMAMOTO Mitsuharu + + * dispextern.h (struct glyph_row): New member fringe_bitmap_periodic_p. + + * dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row + for fringe update if it has periodic bitmap. + (row_equal_p): Also compare left_fringe_offset, right_fringe_offset, + and fringe_bitmap_periodic_p. + + * fringe.c (get_fringe_bitmap_data): New function. + (draw_fringe_bitmap_1, update_window_fringes): Use it. + (update_window_fringes): Record periodicity of fringe bitmap in glyph + row. Mark glyph row for fringe update if periodicity changed. + + * xdisp.c (try_window_reusing_current_matrix): Don't mark scrolled row + for fringe update unless it has periodic bitmap. + +2011-05-25 Kenichi Handa + + * xdisp.c (get_next_display_element): Set correct it->face_id for + a static composition. + +2011-05-24 Leo Liu + + * deps.mk (fns.o): + * makefile.w32-in ($(BLD)/fns.$(O)): Include sha1.h. + + * fns.c (crypto_hash_function, Fsha1): New function. + (Fmd5): Use crypto_hash_function. + (syms_of_fns): Add Ssha1. + +2011-05-22 Paul Eggert + + * gnutls.c: Remove unused macros. + (fn_gnutls_transport_set_lowat, fn_gnutls_transport_set_pull_function): + (fn_gnutls_transport_set_push_function) [!WINDOWSNT]: + Remove macros that are defined and never used. + Caught by gcc -Wunused-macros (GCC 4.6.0, Fedora 14). + +2011-05-22 Chong Yidong + + * xselect.c (syms_of_xselect): Remove unused symbol SAVE_TARGETS. + (Fx_get_selection_internal): Minor cleanup. + (Fx_own_selection_internal): Rename arguments for consistency with + select.el. + +2011-05-22 Paul Eggert + + * xselect.c (QSAVE_TARGETS): New static var, to fix build failure. + +2011-05-22 Chong Yidong + + * xselect.c (syms_of_xselect): Include character.h; use DEFSYM. + +2011-05-21 YAMAMOTO Mitsuharu + + * dispnew.c (scrolling_window): Don't exclude the case that the + last enabled row in the desired matrix touches the bottom boundary. + +2011-05-21 Glenn Morris + + * Makefile.in ($(etc)/DOC): Make second command line even shorter. + (SOME_MACHINE_OBJECTS): Replace FONT_OBJ by its maximal expansion, + and add some more files. + +2011-05-20 Eli Zaretskii + + * callproc.c (Fcall_process) [MSDOS]: Fix arguments to + report_file_error introduced by the change from 2011-05-07. + +2011-05-20 Paul Eggert + + * systime.h (Time): Define only if emacs is defined. + This is to allow ../lib-src/profile.c to be compiled on FreeBSD, + where the include path doesn't have X11/X.h by default. See + . + +2011-05-20 Kenichi Handa + + * composite.c (find_automatic_composition): Fix previous change. + +2011-05-20 Glenn Morris + + * lisp.mk: New file, split from Makefile.in. + * Makefile.in (lisp): Move to separate file, inserted by @lisp_frag@. + (shortlisp): Remove. + ($(etc)/DOC): Edit lisp.mk rather than using $shortlisp. + +2011-05-19 Glenn Morris + + * Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT) + (REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT) + (BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove. + (lisp): Set the order to that of loadup.el. + (shortlisp): Make it a copy of $lisp. + (SOME_MACHINE_LISP): Remove. + ($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too. + Use just $shortlisp, not $SOME_MACHINE_LISP too. + +2011-05-18 Kenichi Handa + + * composite.c (CHAR_COMPOSABLE_P): Add more check for efficiency. + (BACKWARD_CHAR): Wrap the arg STOP by parenthesis. + (find_automatic_composition): Mostly rewrite for efficiency. + +2011-05-18 Juanma Barranquero + + * makefile.w32-in: Update dependencies. + +2011-05-18 Christoph Scholtes + + * menu.c: Include limits.h (fixes the MS-Windows build broken by + 2011-06-18T18:49:19Z!cyd@stupidchicken.com). + +2011-05-18 Paul Eggert + + Fix some integer overflow issues, such as string length overflow. + + * insdel.c (count_size_as_multibyte): Check for string overflow. + + * character.c (lisp_string_width): Check for string overflow. + Use EMACS_INT, not int, for string indexes and lengths; in + particular, 2nd arg is now EMACS_INT, not int. Do not crash if + the resulting string length overflows an EMACS_INT; instead, + report a string overflow if no precision given. When checking for + precision exhaustion, use a check that cannot possibly have + integer overflow. (Bug#8675) + * character.h (lisp_string_width): Adjust to new signature. + + * alloc.c (string_overflow): New function. + (Fmake_string): Use it. This doesn't change behavior, but saves + a few bytes and will simplify future changes. + * character.c (string_escape_byte8): Likewise. + * lisp.h (string_overflow): New decl. + + Fixups, following up to the user-interface timestamp change. + * nsterm.m (last_mouse_movement_time, ns_mouse_position): Use Time + for UI timestamps, instead of unsigned long. + * msdos.c (mouse_get_pos): Likewise. + * w32inevt.c (movement_time, w32_console_mouse_position): Likewise. + * w32gui.h (Time): Define by including "systime.h" rather than by + declaring it ourselves. (Bug#8664) + + * dispextern.h (struct image): Don't assume time_t <= unsigned long. + * image.c (clear_image_cache): Likewise. + + * term.c (term_mouse_position): Don't assume time_t wraparound. + + Be more systematic about user-interface timestamps. + Before, the code sometimes used 'Time', sometimes 'unsigned long', + and sometimes 'EMACS_UINT', to represent these timestamps. + This change causes it to use 'Time' uniformly, as that's what X uses. + This makes the code easier to follow, and makes it easier to catch + integer overflow bugs such as Bug#8664. + * frame.c (Fmouse_position, Fmouse_pixel_position): + Use Time, not unsigned long, for user-interface timestamps. + * keyboard.c (last_event_timestamp, kbd_buffer_get_event): Likewise. + (button_down_time, make_lispy_position, make_lispy_movement): Likewise. + * keyboard.h (last_event_timestamp): Likewise. + * menu.c (Fx_popup_menu) [!HAVE_X_WINDOWS]: Likewise. + * menu.h (xmenu_show): Likewise. + * term.c (term_mouse_position): Likewise. + * termhooks.h (struct input_event.timestamp): Likewise. + (struct terminal.mouse_position_hook): Likewise. + * xmenu.c (create_and_show_popup_menu, xmenu_show): Likewise. + * xterm.c (XTmouse_position, x_scroll_bar_report_motion): Likewise. + * systime.h (Time): New decl. Pull it in from if + HAVE_X_WINDOWS, otherwise define it as unsigned long, which is + what it was before. + * menu.h, termhooks.h: Include "systime.h", for Time. + + * keyboard.c (make_lispy_event): Fix problem in integer overflow. + Don't assume that the difference between two unsigned long values + can fit into an integer. At this point, we know button_down_time + <= event->timestamp, so the difference must be nonnegative, so + there's no need to cast the result if double-click-time is + nonnegative, as it should be; check that it's nonnegative, just in + case. This bug is triggered when events are more than 2**31 ms + apart (about 25 days). (Bug#8664) + + * xselect.c (last_event_timestamp): Remove duplicate decl. + (x_own_selection): Remove needless cast to unsigned long. + + * xmenu.c (set_frame_menubar): Use int, not EMACS_UINT, for indexes + that always fit in int. Use a sentinel instead of a counter, to + avoid a temp and to allay GCC's concerns about possible int overflow. + * frame.h (struct frame): Use int for menu_bar_items_used + instead of EMACS_INT, since it always fits in int. + + * menu.c (grow_menu_items): Check for int overflow. + + * xmenu.c (set_frame_menubar): Don't mishandle vectors with no nils. + + * xterm.c: Use EMACS_INT for Emacs modifiers, and int for X modifiers. + Before, the code was not consistent. These values cannot exceed + 2**31 - 1 so there's no need to make them unsigned. + (x_x_to_emacs_modifiers): Accept int and return EMACS_INT. + (x_emacs_to_x_modifiers): Accept EMACS_INT and return int. + (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Reject non-integers + as modifiers. + * xterm.h (x_x_to_emacs_modifiers): Adjust to signature change. + + * lisp.h (XINT) [USE_LISP_UNION_TYPE]: Cast to EMACS_INT. + (XUINT) [USE_LISP_UNION_TYPE]: Cast to EMACS_UINT. + Otherwise, GCC 4.6.0 warns about printf (pI, XINT (...)), + presumably because the widths might not match. + + * window.c (size_window): Avoid needless test at loop start. + +2011-05-18 Courtney Bane (tiny change) + + * term.c (Fresume_tty): Restore hooks before reinitializing (bug#8687). + +2011-05-12 Drew Adams + + * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655). + +2011-05-12 YAMAMOTO Mitsuharu + + * w32term.c (w32_draw_fringe_bitmap): Rename local vars `left' and + `width' to `bar_area_x' and `bar_area_width', respectively. + (x_scroll_run): Take account of fringe background extension. + + * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]: + Rename local vars `left' and `width' to `bar_area_x' and + `bar_area_width', respectively. + (x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe + background extension. + +2011-05-10 Jim Meyering + + * xdisp.c (x_intersect_rectangles): Fix typo "the the -> the". + +2011-05-10 Juanma Barranquero + + * image.c (Finit_image_library): Return t for built-in image types, + like pbm and xbm. (Bug#8640) + +2011-05-09 Andreas Schwab + + * w32menu.c (set_frame_menubar): Fix submenu allocation. + +2011-05-07 Eli Zaretskii + + * w32console.c (Fset_screen_color): Doc fix. + (Fget_screen_color): New function. + (syms_of_ntterm): Defsubr it. + + * callproc.c (call_process_cleanup) [MSDOS]: Don't close and + unlink the temporary file if Fcall_process didn't create it in the + first place. + (Fcall_process) [MSDOS]: Don't create tempfile if stdout of the + child process will be redirected to a file specified with `:file'. + Don't try to re-open tempfile in that case, and set fd[0] to -1 as + cue to call_process_cleanup not to close that handle. + +2011-05-07 Ben Key + + * makefile.w32-in: The bootstrap-temacs rule now makes use of + one of two shell specific rules, either bootstrap-temacs-CMD or + bootstrap-temacs-SH. The bootstrap-temacs-SH rule is identical + to the previous implementation of the bootstrap-temacs rule. + The bootstrap-temacs-CMD rule is similar to the previous + implementation of the bootstrap-temacs rule except that it + makes use of the ESC_CFLAGS variable instead of the CFLAGS + variable. + + These changes, along with some changes to nt/configure.bat, + nt/gmake.defs, and nt/nmake.defs, are required to extend my + earlier fix to add support for --cflags and --ldflags options + that include quotes so that it works whether make uses cmd or + sh as the shell. + +2011-05-06 Michael Albinus + + * dbusbind.c (QCdbus_type_unix_fd): Declare static. + (xd_remove_watch): Don't check QCdbus_type_unix_fd for SYMBOLP, it + is a constant. + (Fdbus_init_bus, xd_read_queued_messages): Bus can be a symbol or + a string. Handle both cases. + (Fdbus_call_method_asynchronously, Fdbus_register_signal) + (Fdbus_register_method): Use Qinvalid_function. + +2011-05-06 Juanma Barranquero + + * makefile.w32-in: Update dependencies. + (LISP_H): Add inttypes.h and stdin.h. + (PROCESS_H): Add unistd.h. + +2011-05-06 Eli Zaretskii + + * lread.c: Include limits.h (fixes the MS-Windows build broken by + 2011-05-06T07:13:19Z!eggert@cs.ucla.edu). + +2011-05-06 Paul Eggert + + * image.c (Finit_image_library) [!HAVE_NTGUI]: Omit unused local. + + * term.c (vfatal): Remove stray call to va_end. + It's not needed and the C Standard doesn't allow it here anyway. + + Use C99's va_copy to avoid undefined behavior on x86-64 GNU/Linux. + * eval.c (verror): doprnt a copy of ap, not the original. (Bug#8545) + + * eval.c (verror): OK to create a string of up to MOST_POSITIVE_FIXNUM + bytes. + + * term.c: Don't include , as does that. + + * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering. + + * process.c (Fformat_network_address): Fix typo: args2 -> *args2. + + * xmenu.c (set_frame_menubar): Fix typo: int * -> int (3 times). + + * coding.c (detect_coding_charset): Fix typo: * 2 -> *4 (Bug#8601). + + * charset.h (struct charset.code_space): Now has 15 elements, not 16. + * charset.c (Fdefine_charset_internal): Don't initialize + charset.code_space[15]. The value was garbage, on hosts with + 32-bit int (Bug#8600). + + * lread.c (read_integer): Be more consistent with string-to-number. + Use string_to_number to do the actual conversion; this avoids + rounding errors and fixes some other screwups. Without this fix, + for example, #x1fffffffffffffff was misread as -2305843009213693952. + (digit_to_number): Move earlier, for benefit of read_integer. + Return -1 if the digit is out of range for the base, -2 if it is + not a digit in any supported base. (Bug#8602) + + * doprnt.c (doprnt): Support arbitrary pI values, such as "I64". + + * dispnew.c (scrolling_window): Return 1 if we scrolled, + to match comment at start of function. This also removes a + GCC warning about overflow in a 32+64-bit port. + + * lisp.h (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Simplify. + + * dbusbind.c: Do not use XPNTR on a value that may be an integer. + Reported by Stefan Monnier in + . + (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages): + Use SYMBOLP-guarded XSYMBOL, not XPNTR. + + * lisp.h (EMACS_INTPTR): Remove. All uses changed to intptr_t. + (EMACS_UINTPTR): Likewise, with uintptr_t. + + * lisp.h: Prefer 64-bit EMACS_INT if available. + (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Define to 64-bit + on 32-bit hosts that have 64-bit int, so that they can access + large files. + However, temporarily disable this change unless the temporary + symbol WIDE_EMACS_INT is defined. + + * lread.c, process.c: Do not include ; lisp.h does it now. + + Prefer intptr_t/uintptr_t for integers the same widths as pointers. + This removes an assumption that EMACS_INT and long are the same + width as pointers. The assumption is true for Emacs porting targets + now, but we want to make other targets possible. + * lisp.h: Include , for INTPTR_MAX, UINTPTR_MAX. + (EMACS_INTPTR, EMACS_UINTPTR): New macros. + In the rest of the code, change types of integers that hold casted + pointers to EMACS_INTPTR and EMACS_UINTPTR, systematically + replacing EMACS_INT, long, EMACS_UINT, and unsigned long. + (XTYPE): Don't cast arg to EMACS_UINT; normally is not needed. + (XSET): Cast type of XTYPE arg to EMACS_INTPTR; it is needed here. + No need to cast type when ORing. + (XPNTR): Return a value of type EMACS_INTPTR or EMACS_UINTPTR. + * alloc.c (lisp_align_malloc): Remove a no-longer-needed cast. + * doc.c (store_function_docstring): Use EMACS_INTPTR, so as not to + assume EMACS_INT is the same width as char *. + * gtkutil.c (xg_gtk_scroll_destroy, xg_tool_bar_button_cb): + (xg_tool_bar_callback, xg_tool_bar_help_callback, xg_make_tool_item): + Remove no-longer-needed casts. + (xg_create_scroll_bar, xg_tool_bar_button_cb, xg_tool_bar_callback): + (xg_tool_bar_help_callback, xg_make_tool_item): + Use EMACS_INTPTR to hold an integer + that will be cast to void *; this can avoid a GCC warning + if EMACS_INT is not the same width as void *. + * menu.c (find_and_call_menu_selection): Remove no-longer-needed cast. + * xdisp.c (display_echo_area_1, resize_mini_window_1): + (current_message_1, set_message_1): + Use a local to convert to proper width without a cast. + * xmenu.c (dialog_selection_callback): Likewise. + + * sysdep.c (get_random): Don't assume EMACS_INT is no wider than long. + Also, don't assume VALBITS / RAND_BITS is less than 5, + and don't rely on undefined behavior when shifting a 1 left into + the sign bit. + * lisp.h (get_random): Change signature to match. + + * lread.c (hash_string): Use size_t, not int, for hash computation. + Normally we prefer signed values; but hashing is special, because + it's better to use unsigned division on hash table sizes so that + the remainder is nonnegative. Also, size_t is the natural width + for hashing into memory. The previous code used 'int', which doesn't + retain enough info to hash well into very large tables. + (oblookup, oblookup_last_bucket_number, Funintern): Likewise. + + * dbusbind.c: Don't possibly lose pointer info when converting. + (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages): + Use XPNTR rather than XHASH, so that the high-order bits of + the pointer aren't lost when converting through void *. + + * eval.c (Fautoload): Don't double-shift a pointer. + + * fns.c (Frandom): Let EMACS_UINT be wider than unsigned long. + +2011-05-06 Juanma Barranquero + + * gnutls.c (DEF_GNUTLS_FN): + * image.c (DEF_IMGLIB_FN): Make function pointers static. + +2011-05-05 Andreas Schwab + + * lread.c (lisp_file_lexically_bound_p): Stop scanning at end + marker. (Bug#8610) + +2011-05-05 Eli Zaretskii + + * w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]: + New version that can reserve upto 2GB of heap space. + +2011-05-05 Chong Yidong + + * nsfns.m (Fns_read_file_name): Doc fix (Bug#8534). + +2011-05-05 Teodor Zlatanov + + * gnutls.c (fn_gnutls_certificate_set_x509_key_file): Add alias to + `gnutls_certificate_set_x509_key_file'. + +2011-05-05 Juanma Barranquero + + * makefile.w32-in ($(BLD)/image.$(O), $(BLD)/process.$(O)): + Update dependencies. + +2011-05-04 Juanma Barranquero + + * gnutls.h (emacs_gnutls_write, emacs_gnutls_read): + * gnutls.c (emacs_gnutls_write, emacs_gnutls_read): + Remove unused parameter `fildes'. + * process.c (read_process_output, send_process): Don't pass it. + +2011-05-04 Juanma Barranquero + + Fix previous change: the library cache is defined in w32.c. + * image.c (CACHE_IMAGE_TYPE) [!HAVE_NTGUI]: Define to noop. + (Finit_image_library): Wrap Vlibrary_cache on "#ifdef HAVE_NTGUI". + +2011-05-04 Juanma Barranquero + + Implement dynamic loading of GnuTLS on Windows. + + * gnutls.h (GNUTLS_EMACS_ERROR_NOT_LOADED): New macro. + (emacs_gnutls_write, emacs_gnutls_read): Mark as extern. + (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno): + Declare. + + * gnutls.c (Qgnutls_dll): Define. + (DEF_GNUTLS_FN, LOAD_GNUTLS_FN): New macros. + (gnutls_*): Declare function pointers. + (init_gnutls_functions): New function to initialize function pointers. + (emacs_gnutls_handshake, Fgnutls_error_string, Fgnutls_deinit) + (emacs_gnutls_global_init, Fgnutls_bye): Use function pointers. + (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno): + Wrappers for gnutls_record_check_pending and gnutls_transport_set_errno. + (emacs_gnutls_write, emacs_gnutls_read) + (emacs_gnutls_handle_error, Fgnutls_error_fatalp) + (Fgnutls_available_p): New function. + (Fgnutls_boot): Call Fgnutls_available_p. Use function pointers. + (syms_of_gnutls) : Initialize and staticpro it. + (syms_of_gnutls) : defsubr it. + + * image.c: Include w32.h. + (Vimage_type_cache): Delete. + (syms_of_image) : Don't initialize and staticpro it. + (CACHE_IMAGE_TYPE, Finit_image_library): Use Vlibrary_cache instead. + (w32_delayed_load): Move to w32.c. + + * w32.h (VlibraryCache, QCloaded_from, w32_delayed_load): Declare. + + * w32.c (QCloaded_from, Vlibrary_cache): Define. + (w32_delayed_load): Move from image.c. When loading a library, record + its filename in the :loaded-from property of the library id. + (globals_of_w32) : + Initialize and staticpro them. + (emacs_gnutls_pull, emacs_gnutls_push): Call emacs_gnutls_* functions. + + * process.c: Include lisp.h before w32.h, not after. + (wait_reading_process_output): Call emacs_gnutls_record_check_pending + instead of gnutls_record_check_pending. + + * callproc.c, emacs.c: Include lisp.h before w32.h, not after. + +2011-05-04 Teodor Zlatanov + + * gnutls.c (Fgnutls_boot): Support :keylist and :crlfiles options + instead of :keyfiles. Give GnuTLS the keylist and the CRL lists + as passed in. + +2011-05-03 Jan Djärv + + * xterm.c (x_set_frame_alpha): Do not set property on anything + else than FRAME_X_OUTER_WINDOW (Bug#8608). + +2011-05-02 Juanma Barranquero + + * sysdep.c (get_tty_size) [WINDOWSNT]: Implement. (Bug#8596) + +2011-05-02 Juanma Barranquero + + * gnutls.c (Qgnutls_log_level, Qgnutls_code, Qgnutls_anon) + (Qgnutls_x509pki, Qgnutls_e_interrupted, Qgnutls_e_again) + (Qgnutls_e_invalid_session, Qgnutls_e_not_ready_for_handshake) + (gnutls_global_initialized, Qgnutls_bootprop_priority) + (Qgnutls_bootprop_trustfiles, Qgnutls_bootprop_keyfiles) + (Qgnutls_bootprop_callbacks, Qgnutls_bootprop_loglevel) + (Qgnutls_bootprop_hostname, Qgnutls_bootprop_verify_flags) + (Qgnutls_bootprop_verify_error, Qgnutls_bootprop_verify_hostname_error) + (Qgnutls_bootprop_callbacks_verify): Make static. + +2011-05-01 Andreas Schwab + + * callproc.c: Indentation fixup. + + * sysdep.c (wait_for_termination_1): Make static. + (wait_for_termination, interruptible_wait_for_termination): + Move after wait_for_termination_1. + +2011-05-01 Lars Magne Ingebrigtsen + + * sysdep.c (interruptible_wait_for_termination): New function + which is like wait_for_termination, but allows keyboard + interruptions. + + * callproc.c (Fcall_process): Add (:file "file") as an option for + the STDOUT buffer. + (Fcall_process_region): Ditto. + +2011-04-30 Eli Zaretskii + + * dosfns.c (Fint86, Fdos_memget, Fdos_memput): Use `ASIZE (FOO)' + rather than `XVECTOR (FOO)->size'. + + * process.c: Remove HAVE_INTTYPES_H condition from inclusion of + inttypes.h, as a gnulib replacement is used if it not available in + system headers. + +2011-04-21 Eli Zaretskii + + Lift the MOST_POSITIVE_FIXNUM/4 limitation on visited files. + * fileio.c (Finsert_file_contents): Don't limit file size to 1/4 + of MOST_POSITIVE_FIXNUM. (Bug#8528) + + * coding.c (coding_alloc_by_realloc): Error out if destination + will grow beyond MOST_POSITIVE_FIXNUM. + (decode_coding_emacs_mule): Abort if there isn't enough place in + charbuf for the composition carryover bytes. Reserve an extra + space for up to 2 characters produced in a loop. + (decode_coding_iso_2022): Abort if there isn't enough place in + charbuf for the composition carryover bytes. + +2011-04-21 Eli Zaretskii + + * doprnt.c (doprnt) [!HAVE_LONG_LONG_INT]: Error out instead of + aborting when %lld or %lll format is passed. + [!HAVE_UNSIGNED_LONG_LONG_INT]: Error out instead of aborting when + %llo or %llx format is passed. (Bug#8545) + + * window.c (window_scroll_line_based): Use a marker instead of + simple variables to record original value of point. (Bug#7952) + + * doprnt.c (doprnt): Fix the case where a multibyte sequence + produced by %s or %c overflows available buffer space. (Bug#8545) + +2011-04-28 Paul Eggert + + * doprnt.c (doprnt): Omit useless test; int overflow check (Bug#8545). + (SIZE_MAX): Move defn after all includes, as they might #define it. + +2011-04-28 Juanma Barranquero + + * w32.c (init_environment): Warn about defaulting HOME to C:\. + +2011-04-28 Juanma Barranquero + + * keyboard.c (Qdelayed_warnings_hook): Define. + (command_loop_1): Run `delayed-warnings-hook' + if Vdelayed_warnings_list is non-nil. + (syms_of_keyboard) : DEFSYM it. + (syms_of_keyboard) : DEFVAR_LISP it. + +2011-04-28 Eli Zaretskii + + * doprnt.c (doprnt): Don't return value smaller than the buffer + size if the message was truncated. (Bug#8545). + +2011-04-28 Juanma Barranquero + + * w32fns.c (Fx_change_window_property, Fx_delete_window_property) + (Fx_window_property): #if-0 the whole functions, not just the bodies. + +2011-04-27 Paul Eggert + + * doprnt.c (doprnt): Support "ll" length modifier, for long long. + +2011-04-27 Juanma Barranquero + + * makefile.w32-in: Update dependencies. + +2011-04-27 Eli Zaretskii + + Improve `doprnt' and its usage. (Bug#8545) + * doprnt.c (doprnt): Make sure `format' is never accessed beyond + `format_end'. Remove support for %l as a conversion specifier. + Don't use xrealloc. Improve diagnostics when the %l size modifier + is used. Update the commentary. + + * eval.c (verror): Simplify calculation of size_t. + + * coding.c (Ffind_operation_coding_system): Fix diagnostic error + messages. + +2011-04-27 Yoshiaki Kasahara (tiny change) + + * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Adjust to aliasing + change. + +2011-04-27 Paul Eggert + + * nsmenu.m: Replace all uses of XVECTOR with ASIZE and AREF. + This makes this file independent of the recent pseudovector change. + +2011-04-26 Paul Eggert + + * keyboard.c (handle_user_signal): Fix pointer signedness problem. + + * gnutls.c (emacs_gnutls_handle_error): Remove unused local. + (Fgnutls_boot): gnutls_certificate_verify_peers2 wants unsigned *. + Remove unused local. + (emacs_gnutls_write): Don't use uninitialized rtnval if nbyte <= 0. + + * lisp.h: Fix a problem with aliasing and vector headers. (Bug#8546) + GCC 4.6.0 optimizes based on type-based alias analysis. + For example, if b is of type struct buffer * and v of type struct + Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size + != &v->size, and therefore "v->size = 1; b->size = 2; return + v->size;" must therefore return 1. This assumption is incorrect + for Emacs, since it type-puns struct Lisp_Vector * with many other + types. To fix this problem, this patch adds a new type struct + vectorlike_header that documents the constraints on layout of vectors + and pseudovectors, and helps optimizing compilers not get fooled + by Emacs's type punning. It also adds the macros XSETTYPED_PVECTYPE + XSETTYPED_PSEUDOVECTOR, TYPED_PSEUDOVECTORP, for similar reasons. + * lisp.h (XSETTYPED_PVECTYPE): New macro, specifying the name of + the size member. + (XSETPVECTYPE): Rewrite in terms of new macro. + (XSETPVECTYPESIZE): New macro, specifying both type and size. + This is a bit clearer, and further avoids the possibility of + undesirable aliasing. + (XSETTYPED_PSEUDOVECTOR): New macro, specifying the size. + (XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR. + (XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE, + since Lisp_Subr is a special case (no "next" field). + (ASIZE): Now uses header.size rather than size. + All previous uses of XVECTOR (foo)->size replaced to use this macro, + to avoid the hassle of writing XVECTOR (foo)->header.size. + (struct vectorlike_header): New type. + (TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the + object, to help avoid aliasing. + (PSEUDOVECTORP): Rewrite in terms of TYPED_PSEUDOVECTORP. + (SUBRP): Likewise, since Lisp_Subr is a special case. + * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table): + (struct Lisp_Sub_Char_Table, struct Lisp_Bool_Vector): + (struct Lisp_Hash_Table): Combine first two members into a single + struct vectorlike_header member. All uses of "size" and "next" members + changed to be "header.size" and "header.next". + * buffer.h (struct buffer): Likewise. + * font.h (struct font_spec, struct font_entity, struct font): Likewise. + * frame.h (struct frame): Likewise. + * process.h (struct Lisp_Process): Likewise. + * termhooks.h (struct terminal): Likewise. + * window.c (struct save_window_data, struct saved_window): Likewise. + * window.h (struct window): Likewise. + * alloc.c (allocate_buffer, Fmake_bool_vector, allocate_pseudovector): + Use XSETPVECTYPESIZE, not XSETPVECTYPE, to avoid aliasing problems. + * buffer.c (init_buffer_once): Likewise. + * lread.c (defsubr): Use XSETTYPED_PVECTYPE, since Lisp_Subr is a + special case. + * process.c (Fformat_network_address): Use local var for size, + for brevity. + + * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR. + + Make the Lisp reader and string-to-float more consistent (Bug#8525) + * data.c (atof): Remove decl; no longer used or needed. + (digit_to_number): Move to lread.c. + (Fstring_to_number): Use new string_to_number function, to be + consistent with how the Lisp reader treats infinities and NaNs. + Do not assume that floating-point numbers represent EMACS_INT + without losing information; this is not true on most 64-bit hosts. + Avoid double-rounding errors, by insisting on integers when + parsing non-base-10 numbers, as the documentation specifies. + * lisp.h (string_to_number): New decl, replacing ... + (isfloat_string): Remove. + * lread.c: Include , for uintmax_t and strtoumax. + (read1): Do not accept +. and -. as integers; this + appears to have been a coding error. Similarly, do not accept + strings like +-1e0 as floating point numbers. Do not report + overflow for integer overflows unless the base is not 10 which + means we have no simple and reliable way to continue. + Break out the floating-point parsing into a new + function string_to_number, so that Fstring_to_number parses + floating point numbers consistently with the Lisp reader. + (digit_to_number): Move here from data.c. Make it static inline. + (E_CHAR, EXP_INT): Remove, replacing with ... + (E_EXP): New macro, to solve the "1.0e+" problem mentioned below. + (string_to_number): New function, replacing isfloat_string. + This function checks for valid syntax and produces the resulting + Lisp float number too. Rework it so that string-to-number + no longer mishandles examples like "1.0e+". Use strtoumax, + so that overflow for non-base-10 numbers is reported only when + there's no portable and simple way to convert to floating point. + + * textprop.c (set_text_properties_1): Rewrite for clarity, + and to avoid GCC warning about integer overflow. + + * intervals.h (struct interval): Use EMACS_INT for members + where EMACS_UINT might cause problems. See + . + (CHECK_TOTAL_LENGTH): Remove cast to EMACS_INT; no longer needed. + * intervals.c (interval_deletion_adjustment): Now returns EMACS_INT. + All uses changed. + (offset_intervals): Tell GCC not to worry about length overflow + when negating a negative length. + + * alloc.c (overrun_check_malloc, overrun_check_realloc): Now static. + (overrun_check_free): Likewise. + + * alloc.c (SDATA_SIZE) [!GC_CHECK_STRING_BYTES]: Avoid runtime check + in the common case where SDATA_DATA_OFFSET is a multiple of Emacs + word size. + + * gnutls.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10. + (gnutls_make_error): Rename local to avoid shadowing. + (gnutls_emacs_global_deinit): ifdef out; not used. + (Fgnutls_boot): Use const for pointer to readonly storage. + Comment out unused local. Fix pointer signedness problems. + + * lread.c (openp): Don't stuff size_t into an 'int'. + Use <= on length, not < on length + 1, to avoid GCC 4.6.0 warning + about possible signed overflow. + + * gtkutil.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10. + (GDK_KEY_g): Don't define if already defined. + (xg_prepare_tooltip): Avoid pointer signedness problem. + (xg_set_toolkit_scroll_bar_thumb): Redo to avoid two casts. + + * process.c (Fnetwork_interface_info): Avoid left-shift undefined + behavior with 1 << 31. GCC 4.6.0 warns about this on 32-bit hosts. + + * xfns.c (Fx_window_property): Simplify a bit, + to make a bit faster and to avoid GCC 4.6.0 warning. + * xselect.c (x_get_window_property, x_handle_dnd_message): Likewise. + + * fns.c (internal_equal): Don't assume size_t fits in int. + + * alloc.c (compact_small_strings): Tighten assertion a little. + + Replace pEd with more-general pI, and fix some printf arg casts. + * lisp.h (pI): New macro, generalizing old pEd macro to other + conversion specifiers. For example, use "...%"pI"d..." rather + than "...%"pEd"...". + (pEd): Remove. All uses replaced with similar uses of pI. + * m/amdx86-64.h, m/ia64.h, m/ibms390x.h: Likewise. + * alloc.c (check_pure_size): Don't overflow by converting size to int. + * bidi.c (bidi_dump_cached_states): Use pI to avoid cast. + * data.c (Fnumber_to_string): Use pI instead of if-then-else-abort. + * dbusbind.c (xd_append_arg): Use pI to avoid cast. + (Fdbus_method_return_internal, Fdbus_method_error_internal): Likewise. + * font.c (font_unparse_xlfd): Avoid potential buffer overrun on + 64-bit hosts. + (font_unparse_xlfd, font_unparse_fcname): Use pI to avoid casts. + * keyboard.c (record_char, modify_event_symbol): Use pI to avoid casts. + * print.c (safe_debug_print, print_object): Likewise. + (print_object): Don't overflow by converting EMACS_INT or EMACS_UINT + to int. + Use pI instead of if-then-else-abort. Use %p to avoid casts, + avoiding the 0 flag, which is not portable. + * process.c (Fmake_network_process): Use pI to avoid cast. + * region-cache.c (pp_cache): Likewise. + * xdisp.c (decode_mode_spec): Likewise. + * xrdb.c (x_load_resources) [USE_MOTIF]: Use pI to avoid undefined + behavior on 64-bit hosts with printf arg. + * xselect.c (x_queue_event): Use %p to avoid casts, avoiding 0 flag. + (x_stop_queuing_selection_requests): Likewise. + (x_get_window_property): Don't truncate byte count to an 'int' + when tracing. + + * frame.c (frame_name_fnn_p): Get rid of strtol, which isn't right + here, since it parses constructs like leading '-' and spaces, + which are not wanted; and it overflows with large numbers. + Instead, simply match F[0-9]+, which is what is wanted anyway. + + * alloc.c: Remove unportable assumptions about struct layout. + (SDATA_SELECTOR, SDATA_DATA_OFFSET): New macros. + (SDATA_OF_STRING, SDATA_SIZE, allocate_string_data): + (allocate_vectorlike, make_pure_vector): Use the new macros, + plus offsetof, to remove unportable assumptions about struct layout. + These assumptions hold on all porting targets that I know of, but + they are not guaranteed, they're easy to remove, and removing them + makes further changes easier. + + * alloc.c (BLOCK BYTES): Fix typo by changing "ablock" to "ablocks". + This doesn't fix a bug but makes the code clearer. + (string_overrun_cookie): Now const. Use initializers that + don't formally overflow signed char, to avoid warnings. + (allocate_string_data) [GC_CHECK_STRING_OVERRUN]: Fix typo that + can cause Emacs to crash when string overrun checking is enabled. + (allocate_buffer): Don't assume sizeof (struct buffer) is a + multiple of sizeof (EMACS_INT); it need not be, if + alignof(EMACS_INT) < sizeof (EMACS_INT). + (check_sblock, check_string_bytes, check_string_free_list): Protoize. + +2011-04-26 Juanma Barranquero + + * keyboard.c (QCrtl): Rename from Qrtl. All uses changed. + +2011-04-26 Teodor Zlatanov + + * gnutls.c (emacs_gnutls_handshake): Return an error if we're not + supposed to be handshaking. (Bug#8556) + Reported by Paul Eggert . + +2011-04-26 Daniel Colascione + + * lisp.h (Qdebug): List symbol. + * eval.c (Qdebug): Restore global linkage. + * keyboard.c (debug-on-event): New variable. + (handle_user_signal): Break into debugger when debug-on-event + matches the current signal symbol. + +2011-04-25 Dan Nicolaescu + + * alloc.c (check_sblock, check_string_bytes) + (check_string_free_list): Convert to standard C. + +2011-04-25 Teodor Zlatanov + + * w32.c (emacs_gnutls_push): Fix typo. + +2011-04-25 Eli Zaretskii + + * gnutls.c (emacs_gnutls_handshake): Avoid compiler warnings about + "cast to pointer from integer of different size". + + Improve doprnt and its use in verror. (Bug#8545) + * doprnt.c (doprnt): Document the set of format control sequences + supported by the function. Use SAFE_ALLOCA instead of always + using `alloca'. + + * eval.c (verror): Don't limit the buffer size at size_max-1, that + is one byte too soon. Don't use xrealloc; instead xfree and + xmalloc anew. + +2011-04-24 Teodor Zlatanov + + * gnutls.h: Add GNUTLS_STAGE_CALLBACKS enum to denote we're in the + callbacks stage. + + * gnutls.c: Renamed global_initialized to + gnutls_global_initialized. Added internals for the + :verify-hostname-error, :verify-error, and :verify-flags + parameters of `gnutls-boot' and documented those parameters in the + docstring. Start callback support. + (emacs_gnutls_handshake): Add Woe32 support. Retry handshake + unless a fatal error occurred. Call gnutls_alert_send_appropriate + on error. Return error code. + (emacs_gnutls_write): Call emacs_gnutls_handle_error. + (emacs_gnutls_read): Likewise. + (Fgnutls_boot): Return handshake error code. + (emacs_gnutls_handle_error): New function. + (wsaerror_to_errno): Likewise. + + * w32.h (emacs_gnutls_pull): Add prototype. + (emacs_gnutls_push): Likewise. + + * w32.c (emacs_gnutls_pull): New function for GnuTLS on Woe32. + (emacs_gnutls_push): Likewise. + +2011-04-24 Claudio Bley (tiny change) + + * process.c (wait_reading_process_output): Check if GnuTLS + buffered some data internally if no FDs are set for TLS + connections. + + * makefile.w32-in (OBJ2): Add gnutls.$(O). + (LIBS): Link to USER_LIBS. + ($(BLD)/gnutls.$(0)): New target. + +2011-04-24 Eli Zaretskii + + * xdisp.c (handle_single_display_spec): Rename the + display_replaced_before_p argument into display_replaced_p, to + make it consistent with the commentary. Fix typos in the + commentary. + + * textprop.c (syms_of_textprop): Remove dead code. + (copy_text_properties): Delete obsolete commentary about an + interface that was deleted long ago. Fix typos in the description + of arguments. + + * msdos.c (XMenuActivate, XMenuAddSelection): Adjust argument list + to changes in oldXMenu/XMenu.h from 2011-04-16. + : Constify. + (IT_menu_make_room): menu->help_text is now `const char **'; + adjust. + + * msdos.h (XMenuActivate, XMenuAddSelection): Adjust prototypes + to changes in oldXMenu/XMenu.h from 2011-04-16. + (struct XMenu): Declare `help_text' `const char **'. + + * xfaces.c : Make extern again. + + * syntax.c: Include sys/types.h before including regex.h, as + required by POSIX. + + * doc.c (get_doc_string): Improve the format passed to `error'. + + * doprnt.c (doprnt): Improve commentary. + + * term.c (init_tty) [MSDOS]: Fix 1st argument to maybe_fatal. + + * Makefile.in (TAGS): Depend on $(M_FILE) and $(S_FILE), and scan + them with etags. + + * makefile.w32-in (globals.h): Add a dummy recipe, to make any + changes in globals.h immediately force recompilation. + (TAGS): Depend on $(CURDIR)/m/intel386.h and + $(CURDIR)/s/ms-w32.h. + (TAGS-gmake): Scan $(CURDIR)/m/intel386.h and $(CURDIR)/s/ms-w32.h. + + * character.c (Fchar_direction): Function deleted. + (syms_of_character): Don't defsubr it. + : Deleted. + +2011-04-23 Eli Zaretskii + + Fix doprnt so it could be used again safely in `verror'. (Bug#8435) + * doprnt.c: Include limits.h. + (SIZE_MAX): New macro. + (doprnt): Return a size_t value. 2nd arg is now size_t. + Many local variables are now size_t instead of int or unsigned. + Improve overflow protection. Support `l' modifier for integer + conversions. Support %l conversion. Don't assume an EMACS_INT + argument for integer conversions and for %c. + + * lisp.h (doprnt): Restore prototype. + + * makefile.w32-in ($(BLD)/callint.$(O)): Depend on + $(SRC)/character.h. + + * Makefile.in (base_obj): Add back doprnt.o. + + * deps.mk (doprnt.o): Add back prerequisites. + (callint.o): Depend on character.h. + + * eval.c (internal_lisp_condition_case): Include the handler + representation in the error message. + (verror): Call doprnt instead of vsnprintf. Fix an off-by-one bug + when breaking from the loop. + + * xdisp.c (vmessage): Call doprnt instead of vsnprintf. + + * callint.c (Fcall_interactively): When displaying error message + about invalid control letter, pass the character's codepoint, not + a pointer to its multibyte form. Improve display of the character + in octal and display also its hex code. + + * character.c (char_string): Use %x to display the (unsigned) + codepoint of an invalid character, to avoid displaying a bogus + negative value. + + * font.c (check_otf_features): Pass SDATA of SYMBOL_NAME to + `error', not SYMBOL_NAME itself. + + * coding.c (Fencode_sjis_char, Fencode_big5_char): Use %c for + character arguments to `error'. + + * charset.c (check_iso_charset_parameter): Fix incorrect argument + to `error' in error message about FINAL_CHAR argument. Make sure + FINAL_CHAR is a character, and use %c when it is passed as + argument to `error'. + +2011-04-23 Eli Zaretskii + + * s/ms-w32.h (localtime): Redirect to sys_localtime. + + * w32.c: Include . + (sys_localtime): New function. + +2011-04-23 Chong Yidong + + * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451). + + * buffer.c (syms_of_buffer): Doc fix (Bug#6902). + +2011-04-23 Samuel Thibault (tiny change) + + * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on + zombies (Bug#8467). + +2011-04-19 Eli Zaretskii + + * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of + gl_state.e_property when gl_state.object is Qt. + + * insdel.c (make_gap_larger): Remove limitation of buffer size + to <= INT_MAX. + +2011-04-18 Chong Yidong + + * xdisp.c (lookup_glyphless_char_display) + (produce_glyphless_glyph): Handle cons cell entry in + glyphless-char-display. + (Vglyphless_char_display): Document it. + + * term.c (produce_glyphless_glyph): Handle cons cell entry in + glyphless-char-display. + +2011-04-17 Chong Yidong + + * xdisp.c (get_next_display_element): Remove unnecessary ifdefs. + + * termhooks.h (FRAME_WINDOW_P): Remove duplicated definitions. + + * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): Add missing + definition for no-X builds. + +2011-04-16 Paul Eggert + + Static checks with GCC 4.6.0 and non-default toolkits. + + * s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF): Protoize decl. + + * process.c (keyboard_bit_set): Define only if SIGIO. + (send_process_trap): Mark it with NO_RETURN if it doesn't return. + (send_process): Repair possible setjmp clobbering. + + * s/usg5-4-common.h (SETUP_SLAVE_PTY): Don't pass extra arg to 'fatal'. + + * eval.c: Include , for vsnprintf on non-GNU/Linux hosts. + + * data.c (arith_error): Mark with NO_RETURN if it doesn't return. + + * alloc.c (bytes_used_when_full, SPARE_MEMORY, BYTES_USED): + Define only if needed. + + * sysdep.c (_FILE_OFFSET_BITS): Make this hack even uglier + by pacifying GCC about it. Maybe it's time to retire it? + * xfaces.c (USG, __TIMEVAL__): Likewise. + + * dispextern.h (struct redisplay_interface): Rename param + to avoid shadowing. + * termhooks.h (struct terminal): Likewise. + * xterm.c (xembed_send_message): Likewise. + + * insdel.c (make_gap_smaller): Define only if + USE_MMAP_FOR_BUFFERS || REL_ALLOC || DOUG_LEA_MALLOC. + + * keyboard.c (read_char): Make a var volatile so longjmp won't clobber + it. + + * emacs.c (MAX_HEAP_BSS_DIFF, my_edata): Move to where they're used, + so that we aren't warned about unused symbols. + + * xfns.c (Fx_file_dialog): Rename local to avoid shadowing. + + * xdisp.c (x_produce_glyphs): Mark var as initialized (Bug#8512). + + * xfns.c (x_real_positions): Mark locals as initialized. + + * xmenu.c (xmenu_show): Don't use uninitialized vars. + + * xterm.c: Fix problems found by static analysis with other toolkits. + (toolkit_scroll_bar_interaction): Define and use only if USE_X_TOOLKIT. + (x_dispatch_event): Declare static if USE_GTK, and + define if USE_GTK || USE_X_TOOLKIT. + (SET_SAVED_BUTTON_EVENT): Define only if USE_X_TOOLKIT || USE_GTK. + * xterm.h (x_dispatch_event): Extern only if USE_X_TOOLKIT. + * xterm.c, xterm.h (x_mouse_leave): Bring this function back, but only + if defined HAVE_MENUS && !defined USE_X_TOOLKIT && !defined USE_GTK. + + * xmenu.c (menu_help_callback): Pointer type fixes. + Use const pointers when pointing at readonly data. Avoid pointer + signedness clashes. + (FALSE): Remove unused macro. + (update_frame_menubar): Remove unused decl. + + * xfns.c (Fx_hide_tip): Move locals to avoid shadowing. + + * menu.c (push_submenu_start, push_submenu_end): Do not define unless + USE_X_TOOLKIT || USE_GTK || HAVE_NS || defined HAVE_NTGUI. + (single_menu_item): Rename local to avoid shadowing. + + * keyboard.c (make_lispy_event): Remove unused local var. + + * frame.c, frame.h (x_get_resource_string): Bring this back, but + only if HAVE_X_WINDOWS && !USE_X_TOOLKIT. + + * bitmaps: Change bitmaps from unsigned char back to the X11 + compatible char. Avoid the old compiler warnings about + out-of-range initializers by using, for example, '\xab' rather + than 0xab. + + * xgselect.c (xgselect_initialize): Check vs interface + even if ! (defined (USE_GTK) || defined (HAVE_GCONF)). + + * xmenu.c (xmenu_show): Rename parm to avoid shadowing. + + * xterm.c (x_create_toolkit_scroll_bar): Use const * for pointers + to read-only memory. + + * fns.c (vector): Remove; this old hack is no longer needed. + + * xsmfns.c (create_client_leader_window): Rename shadowing arg. + Remove unused var. + (gdk_x11_set_sm_client_id) [!USE_GTK]: Don't define. + + * xrdb.c (x_load_resources): Omit unused local. + + * xfns.c (free_frame_menubar, atof): Remove duplicate decls. + (x_window): Rename locals to avoid shadowing. + (USG): Use the kludged USG macro, to pacify gcc. + + * xterm.c (x_alloc_nearest_color_for_widget): Remove; unused. + (x_term_init): Remove local to avoid shadowing. + + * xfns.c, xterm.c (_XEditResCheckMessages): Protoize decl. + + * xdisp.c, dispextern.h (set_vertical_scroll_bar): Now extern if + USE_TOOLKIT_SCROLL_BARS && !USE_GTK, as xterm.c needs it then. + +2011-04-16 Eli Zaretskii + + * gnutls.c (Fgnutls_boot): Don't pass Lisp_Object to `error'. + + Fix regex.c, syntax.c and friends for buffers > 2GB. + * syntax.h (struct gl_state_s): Declare character position members + EMACS_INT. + + * syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT. + + * textprop.c (verify_interval_modification, interval_of): + Declare arguments EMACS_INT. + + * intervals.c (adjust_intervals_for_insertion): Declare arguments + EMACS_INT. + + * intervals.h (CHECK_TOTAL_LENGTH): Cast to EMACS_INT, not `int'. + + * indent.c (Fvertical_motion): Local variable it_start is now + EMACS_INT. + + * regex.c (re_match, re_match_2, re_match_2_internal) + (bcmp_translate, regcomp, regexec, print_double_string) + (group_in_compile_stack, re_search, re_search_2, regex_compile) + (re_compile_pattern, re_exec): Declare arguments and local + variables `size_t' and `ssize_t' and return values `regoff_t', as + appropriate. + (POP_FAILURE_REG_OR_COUNT) : Declare `long'. + (CHECK_INFINITE_LOOP) : Declare `ssize_t'. + : `size' and `avail' are now `size_t'. + + * regex.h : Use ssize_t, not int. + (re_search, re_search_2, re_match, re_match_2): Arguments that + specify buffer/string position and length are now ssize_t and + size_t. Return type is regoff_t. + +2011-04-16 Ben Key + + * nsfont.m: Fixed bugs in ns_get_family and + ns_descriptor_to_entity that were caused by using free to + deallocate memory blocks that were allocated by xmalloc (via + xstrdup). This caused Emacs to crash when compiled with + XMALLOC_OVERRUN_CHECK defined (when Emacs was configured with + --enable-checking=xmallocoverrun). xfree is now used to + deallocate these memory blocks. + +2011-04-15 Paul Eggert + + * sysdep.c (emacs_read): Remove unnecessary check vs MAX_RW_COUNT. + + emacs_write: Accept and return EMACS_INT for sizes. + See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html + et seq. + * gnutls.c, gnutls.h (emacs_gnutls_read, emacs_gnutls_write): + Accept and return EMACS_INT. + (emacs_gnutls_write): Return the number of bytes written on + partial writes. + * sysdep.c, lisp.h (emacs_read, emacs_write): Likewise. + (emacs_read, emacs_write): Remove check for negative size, as the + Emacs source code has been audited now. + * sysdep.c (MAX_RW_COUNT): New macro, to work around kernel bugs. + (emacs_read, emacs_write): Use it. + * process.c (send_process): Adjust to the new signatures of + emacs_write and emacs_gnutls_write. Do not attempt to store + a byte offset into an 'int'; it might overflow. + See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00483.html + + * sound.c: Don't assume sizes fit in 'int'. + (struct sound_device.period_size, alsa_period_size): + Return EMACS_INT, not int. + (struct sound_device.write, vox_write, alsa_write): + Accept EMACS_INT, not int. + (wav_play, au_play): Use EMACS_INT to store sizes and to + record read return values. + +2011-04-15 Ben Key + + * keyboard.c (Qundefined): Don't declare static since it is used + in nsfns.m. + * xfaces.c (Qbold, Qexpanded, Qitalic, Qcondensed): Don't declare + static since they are used in nsfont.m. + +2011-04-15 Stefan Monnier + + * process.c (Qprocessp): Don't declare static. + * lisp.h (Qprocessp): Declare again. + +2011-04-15 Juanma Barranquero + + * font.c (Qopentype): Don't make static (used from w32uniscribe.c). + +2011-04-14 Paul Eggert + + Improve C-level modularity by making more things 'static'. + + Don't publish debugger-only interfaces to other modules. + * lisp.h (safe_debug_print, debug_output_compilation_hack): + (verify_bytepos, count_markers): Move decls to the only modules + that need them. + * region-cache.h (pp_cache): Likewise. + * window.h (check_all_windows): Likewise. + * marker.c, print.c, region-cache.c, window.c: Decls moved here. + + * sysdep.c (croak): Now static, if + defined TIOCNOTTY || defined USG5 || defined CYGWIN. + * syssignal.h (croak): Declare only if not static. + + * alloc.c (refill_memory_reserve): Now static if + !defined REL_ALLOC || defined SYSTEM_MALLOC. + * lisp.h (refill_memory_reserve): Declare only if not static. + + * xsettings.c, xsettings.h (xsettings_get_system_normal_font): + Define only if USE_LUCID. + + * xrdb.c (x_customization_string, x_rm_string): Now static. + + * xmenu.c (x_menu_wait_for_event): Export only if USE_MOTIF. + * xterm.h (x_menu_wait_for_event): Declare only if USE_MOTIF. + + * xdisp.c (draw_row_with_mouse_face): Now static. + * dispextern.h (draw_row_with_mouse_fave): Remove decl. + + * window.h (check_all_windows): Mark externally visible. + + * window.c (window_deletion_count): Now static. + + * undo.c: Make symbols static if they're not exported. + (last_undo_buffer, last_boundary_position, pending_boundary): + Now static. + + * textprop.c (interval_insert_behind_hooks): Now static. + (interval_insert_in_front_hooks): Likewise. + + * term.c: Make symbols static if they're not exported. + (tty_turn_off_highlight, get_tty_terminal, max_frame_cols): + (max_frame_lines, tty_set_terminal_modes): + (tty_reset_terminal_modes, tty_turn_off_highlight): + (get_tty_terminal): Now static. + (term_mouse_moveto): Do not define if HAVE_WINDOW_SYSTEM. + * termhooks.h (term_mouse_moveto): Do not declare if + HAVE_WINDOW_SYSTEM. + * dispextern.h (tty_set_terminal_modes, tty_reset_terminal_modes): + (tty_turn_off_highlight, get_tty_terminal): Remove decls. + + * sysdep.c: Make symbols static if they're not exported. + (emacs_get_tty, emacs_set_tty, old_fcntl_flags, old_fcntl_owner): + Now static. + (sigprocmask_set, full_mask): Remove; unused. + (wait_debugging): Mark as visible. + * syssignal.h (SIGFULLMASK, full_mask): Remove decls. + * systty.h (emacs_get_tty, emacs_set_tty): Remove decls. + + * syntax.c (syntax_temp): Define only if !__GNUC__. + + * sound.c (current_sound_device, current_sound): Now static. + + * search.c (searchbufs, searchbuf_head): Now static. + + * scroll.c (scroll_cost): Remove; unused. + * dispextern.h (scroll_cost): Remove decl. + + * region-cache.h (pp_cache): Mark as externally visible. + + * process.c: Make symbols static if they're not exported. + (process_tick, update_tick, create_process, chan_process): + (Vprocess_alist, proc_buffered_char, datagram_access): + (fd_callback_data, send_process_frame, process_sent_to): Now static. + (deactivate_process): Mark defn as static, as well as decl. + * lisp.h (create_process): Remove decl. + * process.h (chan_process, Vprocess_alist): Remove decls. + + * print.c: Make symbols static if they're not exported. + (print_depth, new_backquote_output, being_printed, print_buffer): + (print_buffer_size, print_buffer_pos, print_buffer_pos_byte): + (print_interval, print_number_index, initial_stderr_stream): + Now static. + * lisp.h (Fprinc): Remove decl. + (debug_output_compilation_hack): Mark as externally visible. + + * sysdep.c (croak): Move decl from here to syssignal.h. + * syssignal.h (croak): Put it here, so the API can be checked when + 'croak' is called from dissociate_if_controlling_tty. + + * minibuf.c: Make symbols static if they're not exported. + (minibuf_save_list, choose_minibuf_frame): Now static. + * lisp.h (choose_minibuf_frame): Remove decl. + + * lisp.h (verify_bytepos, count_markers): Mark as externally visible. + + * lread.c: Make symbols static if they're not exported. + (read_objects, initial_obarray, oblookup_last_bucket_number): + Now static. + (make_symbol): Remove; unused. + * lisp.h (initial_obarray, make_symbol): Remove decls. + + * keyboard.c: Make symbols static if they're not exported. + (single_kboard, recent_keys_index, total_keys, recent_keys): + (this_command_key_count_reset, raw_keybuf, raw_keybuf_count): + (this_single_command_key_start, echoing, last_auto_save): + (read_key_sequence_cmd, dribble, recursive_edit_unwind): + (command_loop, echo_now, keyboard_init_hook, help_char_p): + (quit_throw_to_read_char, command_loop_2, top_level_1, poll_timer): + (Vlispy_mouse_stem, double_click_count): + Now static. + (force_auto_save_soon): Define only if SIGDANGER. + (ignore_mouse_drag_p): Now static if + !defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS. + (print_help): Remove; unused. + (stop_character, last_timer_event): Mark as externally visible. + * keyboard.h (ignore_mouse_drag_p): Declare only if + defined HAVE_WINDOW_SYSTEM && !defined USE_GTK && !defined HAVE_NS. + (echo_now, help_char_p, quit_throw_to_read_char): Remove decls. + * lisp.h (echoing): Remove decl. + (force_auto_save_soon): Declare only if SIGDANGER. + * xdisp.c (redisplay_window): Simplify code, to make it more + obvious that ignore_mouse_drag_p is not accessed if !defined + USE_GTK && !defined HAVE_NS. + + * intervals.c: Make symbols static if they're not exported. + (merge_properties_sticky, merge_interval_right, delete_interval): + Now static. + * intervals.h (merge_interval_right, delete_interval): Remove decls. + + * insdel.c: Make symbols static if they're not exported. + However, leave prepare_to_modify_buffer alone. It's never + called from outside this function, but that appears to be a bug. + (combine_after_change_list, combine_after_change_buffer): + (adjust_after_replace, signal_before_change): Now static. + (adjust_after_replace_noundo): Remove; unused. + * lisp.h (adjust_after_replace, adjust_after_replace_noundo): + (signal_before_change): Remove decls. + + * indent.c (val_compute_motion, val_vmotion): Now static. + + * image.c: Make symbols static if they're not exported. + * dispextern.h (x_create_bitmap_from_xpm_data): Do not declare + if USE_GTK. + * image.c (x_create_bitmap_from_xpm_data): Do not define if USE_GTK. + (xpm_color_cache, ct_table, ct_colors_allocated): Now static. + + * fringe.c (standard_bitmaps): Now static. + (max_used_fringe_bitmap): Now static, unless HAVE_NS. + + * frame.c: Make symbols static if they're not exported. + (x_report_frame_params, make_terminal_frame): Now static. + (get_frame_param): Now static, unless HAVE_NS. + (x_fullscreen_adjust): Define if WINDOWSNT, not if HAVE_WINDOW_SYSTEM. + (x_get_resource_string): Remove; not used. + * frame.h (make_terminal_frame, x_report_frame_params): + (x_get_resource_string); Remove decls. + (x_fullscreen_adjust): Declare only if WINDOWSNT. + * lisp.h (get_frame_param): Declare only if HAVE_NS. + + * font.c, fontset.c: Make symbols static if they're not exported. + * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): New macro. + (FACE_SUITABLE_FOR_CHAR_P): Use it. + * font.c (font_close_object): Now static. + * font.h (font_close_object): Remove. + * fontset.c (FONTSET_OBJLIST): Remove. + (free_realized_fontset) #if-0 the body, which does nothing. + (face_suitable_for_char_p): #if-0, as it's never called. + * fontset.h (face_suitable_for_char_p): Remove decl. + * xfaces.c (face_at_string_position): + Use FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P, + since 0 is always ASCII. + + * fns.c (weak_hash_tables): Now static. + + * fileio.c: Make symbols static if they're not exported. + (auto_saving, auto_save_mode_bits, auto_save_error_occurred): + (Vwrite_region_annotation_buffers): Now static. + + * eval.c: Make symbols static if they're not exported. + (backtrace_list, lisp_eval_depth, when_entered_debugger): Now static. + * lisp.h (backtrace_list): Remove decl. + + * emacs.c: Make symbols static if they're not exported. + (malloc_state_ptr, malloc_using_checking, syms_of_emacs): + (fatal_error_code, fatal_error_signal_hook, standard_args): + Now static. + (fatal_error_signal): Now static, unless FLOAT_CATCH_SIGKILL. + (DEFINE_DUMMY_FUNCTION): Mark function as externally visible. + (__CTOR_LIST__, __DTOR_LIST__): Now externally visible. + * lisp.h (fatal_error_signal_hook): Remove decl. + (fatal_error_signal): Declare only if FLOAT_CATCH_SIGKILL. + + * editfns.c: Move a (normally-unused) function to its only use. + * editfns.c, lisp.h (get_operating_system_release): Remove. + * process.c (init_process) [DARWIN_OS]: Do it inline, as it is not + worth the hassle of breaking this out. + + * xterm.c: Make symbols static if they're not exported. + (x_raise_frame, x_lower_frame, x_wm_set_window_state): + (x_wm_set_icon_pixmap, x_initialize, XTread_socket_fake_io_error): + (x_destroy_window, x_delete_display): + Now static. + (x_dispatch_event): Now static if ! (USE_MOTIF || USE_X_TOOLKIT). + (x_mouse_leave): Remove; unused. + * xterm.h (x_display_info_for_name, x_raise_frame, x_lower_frame): + (x_destroy_window, x_wm_set_window_state, x_wm_set_icon_pixmap): + (x_delete_display, x_initialize, x_set_border_pixel, x_screen_planes): + Remove decls. + (x_mouse_leave): Declare only if WINDOWSNT. + (x_dispatch_event): Declare only if USE_MOTIF or USE_X_TOOLKIT. + (xic_create_fontsetname): Declare only if HAVE_X_WINDOWS && + USE_X_TOOLKIT. + + * ftxfont.c: Make symbols static if they're not exported. + (ftxfont_driver): Export only if !defined HAVE_XFT && def8ined + HAVE_FREETYPE. + * font.h (ftxfont_driver): Likewise. + + * xfns.c: Make symbols static if they're not exported. + (x_last_font_name, x_display_info_for_name): + (x_set_foreground_color, x_set_background_color, x_set_mouse_color): + (x_set_cursor_color, x_set_border_pixel, x_set_border_color): + (x_set_cursor_type, x_set_icon_type, x_set_icon_name): + (x_set_scroll_bar_foreground, x_set_scroll_bar_background): + (x_explicitly_set_name, x_set_title, xic_defaut_fontset, tip_timer): + (last_show_tip_args): Now static. + (xic_defaut_fontset, xic_create_fontsetname): Define only if + defined HAVE_X_WINDOWS && defined USE_X_TOOLKIT + (x_screen_planes): Remove; unused. + * dispextern.h (x_screen_planes): Remove decl. + + * dispnew.c: Make symbols static if they're not exported. + * dispextern.h (redraw_garbaged_frames, scrolling): + (increment_row_positions): Remove. + * dispnew.c (new_glyph_matrix, increment_row_positions, scrolling): + (delayed_size_change, glyph_matrix_count, glyph_pool_count): + Now static. + (redraw_garbaged_frames): Remove; unused. + + * xfaces.c: Make symbols static if they're not exported. + * dispextern.h (ascii_face_of_lisp_face, free_realized_face): + Remove decls. + * xterm.h (defined_color): Remove decls. + (x_free_dpy_colors): Declare only if USE_X_TOOLKIT. + * xfaces.c (tty_suppress_bold_inverse_default_colors_p): + (menu_face_changed_default, defined_color, free_realized_face): + (x_free_dpy_colors): Define only if USE_X_TOOLKIT. + (ascii_face_of_lisp_face): Remove; unused. + + * xdisp.c: Make symbols static if they're not exported. + * dispextern.h (scratch_glyph_row, window_box_edges): + (glyph_to_pixel_coords, set_cursor_from_row): + (get_next_display_element, set_iterator_to_next): + (highlight_trailing_whitespace, frame_to_window_pixel_xy): + (show_mouse_face): Remove decls + * frame.h (message_buf_print): Likewise. + * lisp.h (pop_message, set_message, check_point_in_composition): + Likewise. + * xterm.h (set_vertical_scroll_bar): Likewise. + * xdisp.c (list_of_error, Vmessage_stack, line_number_displayed): + (message_buf_print, scratch_glyph_row, displayed_buffer): + (set_iterator_to_next, pop_message, set_message, set_cursor_from_row): + (get_next_display_element, show_mouse_face, window_box_edges): + (frame_to_window_pixel_xy, check_point_in_composition): + (set_vertical_scroll_bar, highlight_trailing_whitespace): Now static. + (glyph_to_pixel_coords): Remove; unused. + + * dired.c (file_name_completion): Now static. + + * dbusbind.c (xd_in_read_queued_messages): Now static. + + * lisp.h (circular_list_error, FOREACH): Remove; unused. + * data.c (circular_list_error): Remove. + + * commands.h (last_point_position, last_point_position_buffer): + (last_point_position_window): Remove decls. + * keyboard.c: Make these variables static. + + * coding.h (coding, code_convert_region, encode_coding_gap): + Remove decls. + * coding.c (Vsjis_coding_system, Vbig5_coding_system): + (iso_code_class, detect_coding, code_convert_region): Now static. + (encode_coding_gap): Remove; unused. + + * chartab.c (chartab_chars, chartab_bits): Now static. + + * charset.h (charset_iso_8859_1): Remove decl. + * charset.c (charset_iso_8859_1, charset_emacs, map_charset_for_dump): + Now static. + + * ccl.h (check_ccl_update, Vccl_program_table): Remove decls. + * ccl.c (Vccl_program_table): Now static. + (check_ccl_update): Remove; unused. + + * category.c (SET_CATEGORY_SET, set_category_set): Move here. + * category.h: ... from here. + * category.c (check_category_table, set_category_set): Now static. + + * casetab.c (Vascii_upcase_table, Vascii_eqv_table): Now static. + * lisp.h: Remove these decls. + + * buffer.c (buffer_count): Remove unused var. + + * bidi.c (bidi_dump_cached_states): Mark as externally visible, + so that it's not optimized away. + (bidi_ignore_explicit_marks_for_paragraph_level): Likewise. + * dispextern.h (bidi_dump_cached_states): Remove, since it's + exported only to the debugger. + + * atimer.c (alarm_signal_handler, run_all_atimers): Now static. + * atimer.h (run_all_atimers): Remove; not exported. + + font.c: Make copy_font_spec and merge_font_spec ordinary C functions. + * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it + was inaccessible from Lisp. + (merge_font_spec): Likewise, renaming from Fmerge_font_spec. + * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses. + + alloc.c: Import and export fewer symbols, and remove unused items. + * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING + is defined. + (suppress_checking): Add EXTERNALLY_VISIBLE attribute, so that + it's not optimized away by whole-program optimization. + (message_enable_multibyte, free_misc): Remove. + (catchlist, handlerlist, mark_backtrace): + Declare only if BYTE_MARK_STACK. + (mark_byte_stack): Likewise, fixing a ifdef-vs-if typo. + * alloc.c (pure): Export only if VIRT_ADDR_VARIES is defined. + (message_enable_multibyte): Remove decl. + (free_misc, interval_free_list, float_block, float_block_index): + (n_float_blocks, float_free_list, cons_block, cons_block_index): + (cons_free_list, last_marked_index): + Now static. + (suppress_checking, die): Define only if ENABLE_CHECKING is defined. + * eval.c (catchlist, handlerlist): Export only if BYTE_MARK_STACK. + (mark_backtrace): Define only if BYTE_MARK_STACK. + * xdisp.c (message_enable_multibyte): Now static. + + Declare Lisp_Object Q* variables to be 'static' if not exported. + This makes it easier for human readers (and static analyzers) + to see whether these variables are used from other modules. + * alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c: + * ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c: + * data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c: + * font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c: + * lread.c, macros.c, minibuf.c, print.c, process.c, search.c: + * sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c: + * xmenu.c, xselect.c: + Declare Q* vars static if they are not used in other modules. + * ccl.h, character.h, charset.h, coding.h, composite.h, font.h: + * frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h: + Remove decls of unexported vars. + * keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro. + + * lisp.h (DEFINE_FUNC): Make sname 'static'. + + Make Emacs functions such as Fatom 'static' by default. + This makes it easier for human readers (and static analyzers) + to see whether these functions can be called from other modules. + DEFUN now defines a static function. To make the function external + so that it can be used in other C modules, use the new macro DEFUE. + * lisp.h (Funibyte_char_to_multibyte, Fsyntax_table_p): + (Finit_image_library): + (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer): + (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute): + (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes): + Remove decls, since these functions are now static. + (Funintern, Fget_internal_run_time): New decls, since these functions + were already external. + + * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c: + * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c: + * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c: + * fns.c, font.c, fontset.c, frame.c, image.c, indent.c: + * keyboard.c, keymap.c, lread.c: + * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c: + * syntax.c, term.c, terminal.c, textprop.c, undo.c: + * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c: + Mark functions with DEFUE instead of DEFUN, + if they are used in other modules. + * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward + decls for now-static functions. + * buffer.h (Fdelete_overlay): Remove decl. + * callproc.c (Fgetenv_internal): Mark as internal. + * composite.c (Fremove_list_of_text_properties): Remove decl. + (Fcomposition_get_gstring): New forward static decl. + * composite.h (Fcomposite_get_gstring): Remove decl. + * dired.c (Ffile_attributes): New forward static decl. + * doc.c (Fdocumntation_property): New forward static decl. + * eval.c (Ffetch_bytecode): New forward static decl. + (Funintern): Remove extern decl; now in .h file where it belongs. + * fileio.c (Fmake_symbolic_link): New forward static decl. + * image.c (Finit_image_library): New forward static decl. + * insdel.c (Fcombine_after_change_execute): Make forward decl static. + * intervals.h (Fprevious_property_change): + (Fremove_list_of_text_properties): Remove decls. + * keyboard.c (Fthis_command_keys): Remove decl. + (Fcommand_execute): New forward static decl. + * keymap.c (Flookup_key): New forward static decl. + (Fcopy_keymap): Now static. + * keymap.h (Flookup_key): Remove decl. + * process.c (Fget_process): New forward static decl. + (Fprocess_datagram_address): Mark as internal. + * syntax.c (Fsyntax_table_p): New forward static decl. + (skip_chars): Remove duplicate decl. + * textprop.c (Fprevious_property_change): New forward static decl. + * window.c (Fset_window_fringes, Fset_window_scroll_bars): + Now internal. + (Fset_window_margins, Fset_window_vscroll): New forward static decls. + * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls. + + * editfns.c (Fformat): Remove unreachable code. + +2011-04-14 Andreas Schwab + + * fileio.c (Finsert_file_contents): Fix typo in 2005-05-13 + change. (Bug#8496) + +2011-04-13 Eli Zaretskii + + * xdisp.c (handle_invisible_prop): Don't call bidi_paragraph_init + when at ZV. (Bug#8487) + +2011-04-12 Andreas Schwab + + * charset.c (Fclear_charset_maps): Use xfree instead of free. + (Bug#8437) + * keyboard.c (parse_tool_bar_item): Likewise. + * sound.c (sound_cleanup, alsa_close): Likewise. + * termcap.c (tgetent): Likewise. + * xfns.c (x_default_font_parameter): Likewise. + * xsettings.c (read_and_apply_settings): Likewise. + + * alloc.c (overrun_check_malloc, overrun_check_realloc) + (overrun_check_free): Protoize. + +2011-04-12 Paul Eggert + + * sysdep.c (emacs_read, emacs_write): Check for negative sizes + since callers should never pass a negative size. + Change the signature to match that of plain 'read' and 'write'; see + . + * lisp.h: Update prototypes of emacs_write and emacs_read. + +2011-04-11 Eli Zaretskii + + * xdisp.c (redisplay_window): Don't try to determine the character + position of the scroll margin if the window start point w->startp + is outside the buffer's accessible region. (Bug#8468) + +2011-04-10 Eli Zaretskii + + Fix write-region and its subroutines for buffers > 2GB. + * fileio.c (a_write, e_write): Modify declaration of arguments and + local variables to support buffers larger than 2GB. + (Fcopy_file): Use EMACS_INT for return value of emacs_read. + + * sysdep.c (emacs_write, emacs_read): Use ssize_t for last + argument, local variables, and return value. + + * lisp.h: Update prototypes of emacs_write and emacs_read. + + * sound.c (vox_write): Use ssize_t for return value of emacs_write. + +2011-04-10 Paul Eggert + + * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack. + + Fix more problems found by GCC 4.6.0's static checks. + + * xdisp.c (vmessage): Use a better test for character truncation. + + * charset.c (load_charset_map): <, not <=, for optimization, + and to avoid potential problems with integer overflow. + * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise. + * casetab.c (set_identity, shuffle): Likewise. + * editfns.c (Fformat): Likewise. + * syntax.c (skip_chars): Likewise. + + * xmenu.c (set_frame_menubar): Allocate smaller local vectors. + This also lets GCC 4.6.0 generate slightly better loop code. + + * callint.c (Fcall_interactively): <, not <=, for optimization. + (Fcall_interactively): Count the number of arguments produced, + not the number of arguments given. This is simpler and lets GCC + 4.6.0 generate slightly better code. + + * ftfont.c: Distingish more carefully between FcChar8 and char. + The previous code passed unsigned char * to a functions like + strlen and xstrcasecmp that expect char *, which does not + conform to the C standard. + (get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for + arguments to FcPatternGetString, and explicitly cast FcChar8 * to + char * when the C standard requires it. + + * keyboard.c (read_char): Remove unused var. + + * eval.c: Port to Windows vsnprintf (Bug#8435). + Include . + (SIZE_MAX): Define if the headers do not. + (verror): Do not give up if vsnprintf returns a negative count. + Instead, grow the buffer. This ports to Windows vsnprintf, which + does not conform to C99. Problem reported by Eli Zaretskii. + Also, simplify the allocation scheme, by avoiding the need for + calling realloc, and removing the ALLOCATED variable. + + * eval.c (verror): Initial buffer size is 4000 (not 200) bytes. + + Remove invocations of doprnt, as Emacs now uses vsnprintf. + But keep the doprint source code for now, as we might revamp it + and use it again (Bug#8435). + * lisp.h (doprnt): Remove. + * Makefile.in (base_obj): Remove doprnt.o. + * deps.mk (doprnt.o): Remove. + + error: Print 32- and 64-bit integers portably (Bug#8435). + Without this change, on typical 64-bit hosts error ("...%d...", N) + was used to print both 32- and 64-bit integers N, which relied on + undefined behavior. + * lisp.h, m/amdx86-64.h, m/ia64.h, m/ibms390x.h (pEd): New macro. + * lisp.h (error, verror): Mark as printf-like functions. + * eval.c (verror): Use vsnprintf, not doprnt, to do the real work. + Report overflow in size calculations when allocating printf buffer. + Do not truncate output string at its first null byte. + * xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work. + Truncate the output at a character boundary, since vsnprintf does not + do that. + * charset.c (check_iso_charset_parameter): Convert internal + character to string before calling 'error', since %c now has the + printf meaning. + * coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int + overflow when computing char to be passed to 'error'. Do not + pass Lisp_Object to 'error'; pass the integer instead. + * nsfns.m (Fns_do_applescript): Use int, not long, since it's + formatted with plain %d. + + * eval.c (internal_lisp_condition_case): Don't pass spurious arg. + + * keyboard.c (access_keymap_keyremap): Print func name, not garbage. + + * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int. + + * xterm.c (x_catch_errors): Remove duplicate declaration. + + * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too. + + * xdisp.c, lisp.h (message_nolog): Remove; unused. + +2011-04-10 Jim Meyering + + use ssize_t and size_t for read- and write-like emacs_gnutls_* functions + * gnutls.c (emacs_gnutls_read): Adjust signature to be more read-like: + return ssize_t not "int", and use size_t as the buffer length. + (emacs_gnutls_write): Likewise, and make the buffer pointer "const". + * gnutls.h: Update declarations. + * process.c (read_process_output): Use ssize_t, to match. + (send_process): Likewise. + +2011-04-09 Chong Yidong + + * image.c (Fimagemagick_types): Doc fix, and comment cleanup. + +2011-04-09 Chong Yidong + + * ftfont.c (get_adstyle_property, ftfont_pattern_entity): + Use unsigned char, to match FcChar8 type definition. + + * xterm.c (handle_one_xevent): + * xmenu.c (create_and_show_popup_menu): + * xselect.c (x_decline_selection_request) + (x_reply_selection_request): Avoid type-punned deref of X events. + +2011-04-09 Eli Zaretskii + + Fix some uses of `int' instead of EMACS_INT. + * search.c (string_match_1, fast_string_match) + (fast_c_string_match_ignore_case, fast_string_match_ignore_case) + (scan_buffer, find_next_newline_no_quit) + (find_before_next_newline, search_command, Freplace_match) + (Fmatch_data): Make some `int' variables be EMACS_INT. + + * xdisp.c (display_count_lines): 3rd argument and return value now + EMACS_INT. All callers changed. + (pint2hrstr): Last argument is now EMACS_INT. + + * coding.c (detect_coding_utf_8, detect_coding_emacs_mule) + (detect_coding_iso_2022, detect_coding_sjis, detect_coding_big5) + (detect_coding_ccl, detect_coding_charset, decode_coding_utf_8) + (decode_coding_utf_16, decode_coding_emacs_mule) + (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) + (decode_coding_ccl, decode_coding_charset) + : Declare EMACS_INT. + (decode_coding_iso_2022, decode_coding_emacs_mule) + (decode_coding_sjis, decode_coding_big5, decode_coding_charset) + : Declare EMACS_INT. + (encode_coding_utf_8, encode_coding_utf_16) + (encode_coding_emacs_mule, encode_invocation_designation) + (encode_designation_at_bol, encode_coding_iso_2022) + (encode_coding_sjis, encode_coding_big5, encode_coding_ccl) + (encode_coding_raw_text, encode_coding_charset) : + Declare EMACS_INT. + (ASSURE_DESTINATION): Declare more_bytes EMACS_INT. + (encode_invocation_designation): Last argument P_NCHARS is now + EMACS_INT. + (decode_eol): Declare pos_byte, pos, and pos_end EMACS_INT. + (produce_chars): from_nchars and to_nchars are now EMACS_INT. + + * coding.h (struct coding_system) : Declare EMACS_INT. + All users changed. + + * ccl.c (Fccl_execute_on_string): Declare some variables + EMACS_INT. + +2011-04-08 Samuel Thibault (tiny change) + + * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450). + +2011-03-19 Christoph Scholtes + + * process.c (Fformat_network_address): Doc fix. + +2011-04-08 T.V. Raman (tiny change) + + * xml.c (parse_region): Avoid creating spurious whitespace nodes. + +2011-04-08 Chong Yidong + + * keyboard.c (read_char): Call Lisp function help-form-show, + instead of using internal_with_output_to_temp_buffer. + (Qhelp_form_show): New var. + (syms_of_keyboard): Use DEFSYM macro. + + * print.c (internal_with_output_to_temp_buffer): Function deleted. + + * lisp.h (internal_with_output_to_temp_buffer): Remove prototype. + +2011-04-06 Chong Yidong + + * process.c (Flist_processes): Remove to Lisp. + (list_processes_1): Delete. + +2011-04-06 Eli Zaretskii + + * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements. + + * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs. + +2011-04-06 Paul Eggert + + Fix more problems found by GCC 4.6.0's static checks. + + * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats. + + * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats. + + * lisp.h (message, message_nolog, fatal): Mark as printf-like. + + * xdisp.c (vmessage): Mark as a printf-like function. + + * term.c (vfatal, maybe_fatal): Mark as printf-like functions. + + * sound.c (sound_warning): Don't crash if arg contains a printf format. + + * image.c (tiff_error_handler, tiff_warning_handler): Mark as + printf-like functions. + (tiff_load): Add casts to remove these marks before passing them + to system-supplied API. + + * eval.c (Fsignal): Remove excess argument to 'fatal'. + + * coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int. + This avoids several warnings with gcc -Wstrict-overflow. + (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code + directly, rather than having caller test rule sign. This avoids + some unnecessary tests. + * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro. + (COMPOSITION_ENCODE_RULE): Arguments now must be valid. This + affects only one use, in DECODE_COMPOSITION_RULE, which is changed. + + * xfont.c (xfont_text_extents): Remove var that was set but not used. + (xfont_open): Avoid unnecessary tests. + + * composite.c (composition_gstring_put_cache): Use unsigned integer. + + * composite.h, composite.c (composition_gstring_put_cache): + Use EMACS_INT, not int, for length. + + * composite.h (COMPOSITION_DECODE_REFS): New macro, + breaking out part of COMPOSITION_DECODE_RULE. + (COMPOSITION_DECODE_RULE): Use it. + * composite.c (get_composition_id): Remove unused local vars, + by using the new macro. + + * textprop.c (set_text_properties_1): Change while to do-while, + since the condition is always true at first. + + * intervals.c (graft_intervals_into_buffer): Mark var as used. + (interval_deletion_adjustment): Return unsigned value. + All uses changed. + + * process.c (list_processes_1, create_pty, read_process_output): + (exec_sentinel): Remove vars that were set but not used. + (create_pty): Remove unnecessary "volatile"s. + (Fnetwork_interface_info): Avoid possibility of int overflow. + (read_process_output): Do adaptive read buffering even if carryover. + (read_process_output): Simplify nbytes computation if buffered. + + * bytecode.c (exec_byte_code): Rename local to avoid shadowing. + + * syntax.c (scan_words): Remove var that was set but not used. + (update_syntax_table): Use unsigned instead of int. + + * lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs. + (lisp_file_lexically_bound_p, read1): Use unsigned instead of int. + (safe_to_load_p): Make the end-of-loop test the inverse of the in-loop. + + * print.c (print_error_message): Avoid int overflow. + + * font.c (font_list_entities): Redo for clarity, + so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX. + + * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars. + (font_score): Avoid potential overflow in diff calculation. + + * fns.c (substring_both): Remove var that is set but not used. + (sxhash): Redo loop for clarity and to avoid wraparound warning. + + * eval.c (funcall_lambda): Rename local to avoid shadowing. + + * alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int. + Otherwise, GCC 4.6.0 optimizes the loop check away since the check + can always succeed if overflow has undefined behavior. + + * search.c (boyer_moore, wordify): Remove vars set but not used. + (wordify): Omit three unnecessary tests. + + * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column. + All callers changed. This avoids the need for an unused var. + + * casefiddle.c (casify_region): Remove var that is set but not used. + + * dired.c (file_name_completion): Remove var that is set but not used. + + * fileio.c (Finsert_file_contents): Make EOF condition clearer. + + * fileio.c (Finsert_file_contents): Avoid signed integer overflow. + (Finsert_file_contents): Remove unnecessary code checking fd. + + * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes. + Check for integer overflow on size calculations. + + * buffer.c (Fprevious_overlay_change): Remove var that is set + but not used. + + * keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt): + Remove vars that are set but not used. + (timer_check_2): Don't assume timer-list and idle-timer-list are lists. + (timer_check_2): Mark vars as initialized. + + * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized. + + * image.c (lookup_image): Remove var that is set but not used. + (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable. + + * fontset.c (Finternal_char_font, Ffontset_info): Remove vars + that are set but not used. + + * xfns.c (make_invisible_cursor): Don't return garbage + if XCreateBitmapFromData fails (Bug#8410). + + * xselect.c (x_get_local_selection, x_handle_property_notify): + Remove vars that are set but not used. + + * xfns.c (x_create_tip_frame): Remove var that is set but not used. + (make_invisible_cursor): Initialize a possibly-uninitialized variable. + + * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]: + Remove var that is set but not used. + (scroll_bar_windows_size): Now size_t, not int. + (x_send_scroll_bar_event): Use size_t, not int, for sizes. + Check for overflow. + + * xfaces.c (realize_named_face): Remove vars that are set but not used. + (map_tty_color) [!defined MSDOS]: Likewise. + + * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning. + + * coding.c: Remove vars that are set but not used. + (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused. + All callers changed. + (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule): + (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5): + (decode_coding_charset): Remove vars that are set but not used. + + * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var + that is set but not used. + + * print.c (print_object): Remove var that is set but not used. + + Replace 2 copies of readlink code with 1 gnulib version (Bug#8401). + The gnulib version avoids calling malloc in the usual case, + and on 64-bit hosts doesn't have some arbitrary 32-bit limits. + * fileio.c (Ffile_symlink_p): Use emacs_readlink. + * filelock.c (current_lock_owner): Likewise. + * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function. + * sysdep.c: Include allocator.h, careadlinkat.h. + (emacs_no_realloc_allocator): New static constant. + (emacs_readlink): New function. + * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on + ../lib/careadlinkat.h. + +2011-04-04 Stefan Monnier + + * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the + first non-nil return value). + +2011-04-03 Jan Djärv + + * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6 + if not defined (Bug#8403). + +2011-04-02 Juanma Barranquero + + * xdisp.c (display_count_lines): Remove parameter `start', + unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed. + (get_char_face_and_encoding): Remove parameter `multibyte_p', + unused since 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed. + (fill_stretch_glyph_string): Remove parameters `row' and `area', + unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk + and thereabouts. All callers changed. + (get_per_char_metric): Remove parameter `f', unused since + 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed. + +2011-04-02 Jim Meyering + + do not dereference NULL upon failed strdup + * nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup. + (ns_get_family): Likewise. + +2011-04-02 Juanma Barranquero + + * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment. + +2011-04-02 Jan Djärv + + * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or + later (Bug#8403). + +2011-04-01 Stefan Monnier + + Add lexical binding. + + * window.c (Ftemp_output_buffer_show): New fun. + (Fsave_window_excursion): + * print.c (Fwith_output_to_temp_buffer): Move to subr.el. + + * lread.c (lisp_file_lexically_bound_p): New function. + (Fload): Bind Qlexical_binding. + (readevalloop): Remove `evalfun' arg. + Bind Qinternal_interpreter_environment. + (Feval_buffer): Bind Qlexical_binding. + (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard): + Mark as dynamic. + (syms_of_lread): Declare `lexical-binding'. + + * lisp.h (struct Lisp_Symbol): New field `declared_special'. + + * keyboard.c (eval_dyn): New fun. + (menu_item_eval_property): Use it. + + * image.c (parse_image_spec): Use Ffunctionp. + + * fns.c (concat, mapcar1): Accept byte-code-functions. + + * eval.c (Fsetq): Handle lexical vars. + (Fdefun, Fdefmacro, Ffunction): Make closures when needed. + (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic. + (FletX, Flet): Obey lexical binding. + (Fcommandp): Handle closures. + (Feval): New `lexical' arg. + (eval_sub): New function extracted from Feval. Use it almost + everywhere where Feval was used. Look up vars in lexical env. + Handle closures. + (Ffunctionp): Move from subr.el. + (Ffuncall): Handle closures. + (apply_lambda): Remove `eval_flags'. + (funcall_lambda): Handle closures and new byte-code-functions. + (Fspecial_variable_p): New function. + (syms_of_eval): Initialize the Vinternal_interpreter_environment var, + but without exporting it to Lisp. + + * doc.c (Fdocumentation, store_function_docstring): + * data.c (Finteractive_form): Handle closures. + + * callint.c (Fcall_interactively): Preserve lexical-binding mode for + interactive spec. + + * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): + New byte-codes. + (exec_byte_code): New function extracted from Fbyte_code to handle new + calling convention for byte-code-functions. Add new byte-codes. + + * buffer.c (defvar_per_buffer): Set new `declared_special' field. + + * alloc.c (Fmake_symbol): Init new `declared_special' field. + +2011-03-31 Juanma Barranquero + + * xdisp.c (redisplay_internal): Fix prototype. + +2011-03-31 Eli Zaretskii + + * xdisp.c (SCROLL_LIMIT): New macro. + (try_scrolling): Use it when setting scroll_limit. + Limit scrolling to 100 screen lines. + (redisplay_window): Even when falling back on "recentering", + position point in the window according to scroll-conservatively, + scroll-margin, and scroll-*-aggressively variables. (Bug#6671) + + (try_scrolling): When point is above the window, allow searching + as far as scroll_max, or one screenful, to compute vertical + distance from PT to the scroll margin position. This prevents + try_scrolling from unnecessarily failing when + scroll-conservatively is set to a value slightly larger than the + window height. Clean up the case of PT below the margin at bottom + of window: scroll_max can no longer be INT_MAX. When aggressive + scrolling is in use, don't let point enter the opposite scroll + margin as result of the scroll. + (syms_of_xdisp) : Document the + threshold of 100 lines for never-recentering scrolling. + +2011-03-31 Juanma Barranquero + + * dispextern.h (move_it_by_lines): + * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused + since 2000-12-29T14:24:09Z!gerd@gnu.org. All callers changed. + (message_log_check_duplicate): Remove parameters `prev_bol' and + `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed. + (redisplay_internal): Remove parameter `preserve_echo_area', + unused since 1999-07-21T21:43:52Z!gerd@gnu.org. All callers changed. + + * indent.c (Fvertical_motion): + * window.c (window_scroll_pixel_based, Frecenter): + Don't pass `need_y_p' to `move_it_by_lines'. + +2011-03-30 Stefan Monnier + + * eval.c (struct backtrace): Don't cheat with negative numbers, but do + steal a few bits to be more compact. + (interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace): + Remove unneeded casts. + + * bytecode.c (Fbyte_code): CAR and CDR can GC. + +2011-03-30 Zachary Kanfer (tiny change) + + * keyboard.c (Fexecute_extended_command): Do log the "suggest key + binding" message (bug#7967). + +2011-03-30 Paul Eggert + + Fix more problems found by GCC 4.6.0's static checks. + + * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]: + Remove unused local var. + + * editfns.c (Fmessage_box): Remove unused local var. + + * xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs): + (note_mode_line_or_margin_highlight, note_mouse_highlight): + Omit unused local vars. + * window.c (shrink_windows): Omit unused local var. + * menu.c (digest_single_submenu): Omit unused local var. + * dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]: + Omit unused local var. + + * keyboard.c (parse_modifiers_uncached, parse_modifiers): + Don't assume string length fits in int. + (keyremap_step, read_key_sequence): Use size_t for sizes. + (read_key_sequence): Don't check last_real_key_start redundantly. + + * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA + instead of alloca (Bug#8344). + + * eval.c (Fbacktrace): Don't assume nargs fits in int. + (Fbacktrace_frame): Don't assume nframes fits in int. + + * syntax.c (scan_sexps_forward): Avoid pointer wraparound. + + * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow + concerns. + + * term.c (produce_glyphless_glyph): Remove unnecessary test. + + * cm.c (calccost): Turn while-do into do-while, for clarity. + + * keyboard.c (syms_of_keyboard): Use the same style as later + in this function when indexing through an array. This also + works around GCC bug 48267. + + * image.c (tiff_load): Fix off-by-one image count (Bug#8336). + + * xselect.c (x_check_property_data): Return correct size (Bug#8335). + + * chartab.c (sub_char_table_ref_and_range): Redo for slight + efficiency gain, and to bypass a gcc -Wstrict-overflow warning. + + * keyboard.c, keyboard.h (num_input_events): Now size_t. + This avoids undefined behavior on integer overflow, and is a bit + more convenient anyway since it is compared to a size_t variable. + + Variadic C functions now count arguments with size_t, not int. + This avoids an unnecessary limitation on 64-bit machines, which + caused (substring ...) to crash on large vectors (Bug#8344). + * lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int. + (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise. + All variadic functions and their callers changed accordingly. + (struct gcpro.nvars): Now size_t, not int. All uses changed. + * data.c (arith_driver, float_arith_driver): Likewise. + * editfns.c (general_insert_function): Likewise. + * eval.c (struct backtrace.nargs, interactive_p) + (internal_condition_case_n, run_hook_with_args, apply_lambda) + (funcall_lambda, mark_backtrace): Likewise. + * fns.c (concat): Likewise. + * frame.c (x_set_frame_parameters): Likewise. + * fns.c (get_key_arg): Now accepts and returns size_t, and returns + 0 if not found, not -1. All callers changed. + + * alloc.c (garbage_collect): Don't assume stack size fits in int. + (stack_copy_size): Now size_t, not int. + (stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0. + +2011-03-28 Juanma Barranquero + + * coding.c (encode_designation_at_bol): Remove parameter `charbuf_end', + unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org. + All callers changed. + + * lisp.h (multibyte_char_to_unibyte): + * character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl', + unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org. + * character.h (CHAR_TO_BYTE8): + * cmds.c (internal_self_insert): + * editfns.c (general_insert_function): + * keymap.c (push_key_description): + * search.c (Freplace_match): + * xdisp.c (message_dolog, set_message_1): All callers changed. + +2011-03-28 Stefan Monnier + + * keyboard.c (safe_run_hook_funcall): New function. + (safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error, + don't set the hook to nil, but remove the offending function instead. + (Qcommand_hook_internal): Remove, unused. + (syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define + Vcommand_hook_internal. + + * eval.c (enum run_hooks_condition): Remove. + (funcall_nil, funcall_not): New functions. + (run_hook_with_args): Call each function through a `funcall' argument. + Remove `cond' argument, now redundant. + (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success) + (Frun_hook_with_args_until_failure): Adjust accordingly. + (run_hook_wrapped_funcall, Frun_hook_wrapped): New functions. + +2011-03-28 Juanma Barranquero + + * dispextern.h (string_buffer_position): Remove declaration. + + * print.c (strout): Remove parameter `multibyte', unused since + 1999-08-21T19:30:21Z!gerd@gnu.org. All callers changed. + + * search.c (boyer_moore): Remove parameters `len', `pos' and `lim', + never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org. + All callers changed. + + * w32.c (_wsa_errlist): Use braces for struct initializers. + + * xdisp.c (string_buffer_position_lim): Remove parameter `w', + never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org. + All callers changed. + (string_buffer_position): Likewise. Also, make static (it's never + used outside xdisp.c). + (cursor_row_p): Remove parameter `w', unused since + 2000-10-17T16:08:57Z!gerd@gnu.org. All callers changed. + (decode_mode_spec): Remove parameter `precision', introduced during + Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used. + All callers changed. + +2011-03-27 Jan Djärv + + * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar. + +2011-03-27 Anders Lindgren + + * nsterm.m (ns_menu_bar_is_hidden): New variable. + (ns_constrain_all_frames, ns_menu_bar_should_be_hidden) + (ns_update_auto_hide_menu_bar): New functions. + (ns_update_begin): Call ns_update_auto_hide_menu_bar. + (applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and + ns_constrain_all_frames. + (constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden. + (syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil. + +2011-03-27 Jan Djärv + + * nsmenu.m (runDialogAt): Remove argument to timer_check. + +2011-03-27 Glenn Morris + + * syssignal.h: Replace RETSIGTYPE with void. + * atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c: + * keyboard.h, lisp.h, process.c, sysdep.c, xterm.c: + Replace SIGTYPE with void everywhere. + * s/usg5-4-common.h (SIGTYPE): Remove definition. + * s/template.h (SIGTYPE): Remove commented out definition. + +2011-03-26 Eli Zaretskii + + * xdisp.c (redisplay_window): Don't check buffer's clip_changed + flag as a prerequisite for invoking try_scrolling. (Bug#6671) + +2011-03-26 Juanma Barranquero + + * w32.c (read_unc_volume): Use parameter `henum', instead of + global variable `wget_enum_handle'. + + * keymap.c (describe_vector): Remove parameters `indices' and + `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org. + (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'. + + * keyboard.h (timer_check, show_help_echo): Remove unused parameters. + + * keyboard.c (timer_check): Remove parameter `do_it_now', + unused since 1996-04-12T06:01:29Z!rms@gnu.org. + (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo', + unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca. + + * keyboard.c (read_char): + * w32menu.c (w32_menu_display_help): + * xmenu.c (show_help_event, menu_help_callback): + Adjust calls to `show_help_echo'. + + * gtkutil.c (xg_maybe_add_timer): + * keyboard.c (readable_events): + * process.c (wait_reading_process_output): + * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'. + + * insdel.c (adjust_markers_gap_motion): + Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org. + (gap_left, gap_right): Don't call it. + +2011-03-25 Chong Yidong + + * xdisp.c (handle_fontified_prop): Discard changes to clip_changed + incurred during fontification. + +2011-03-25 Juanma Barranquero + + * buffer.c (defvar_per_buffer): Remove unused parameter `doc'. + (DEFVAR_PER_BUFFER): Don't pass it. + + * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'. + (scrolling_window): Don't pass it. + +2011-03-25 Juanma Barranquero + + * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef. + + * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len' + and `suffix'. + (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration + of variables specific to SELinux and computation of `encoded_absname'. + + * image.c (XPutPixel): Remove unused variable `height'. + + * keyboard.c (make_lispy_event): Remove unused variable `hpos'. + + * unexw32.c (get_section_info): Remove unused variable `section'. + + * w32.c (stat): Remove unused variables `drive_root' and `devtype'. + (system_process_attributes): Remove unused variable `sess'. + (sys_read): Remove unused variable `err'. + + * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef. + (w32_wnd_proc): Remove unused variable `isdead'. + (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef. + (Fx_server_max_request_size): Remove unused variable `dpyinfo'. + (x_create_tip_frame): Remove unused variable `tem'. + + * w32inevt.c (w32_console_read_socket): + Remove unused variable `no_events'. + + * w32term.c (x_draw_composite_glyph_string_foreground): + Remove unused variable `width'. + +2011-03-24 Juanma Barranquero + + * w32term.c (x_set_glyph_string_clipping): + Don't pass uninitialized region to CombineRgn. + +2011-03-23 Juanma Barranquero + + * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'. + (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer. + (Fx_close_connection): Remove unused variable `i'. + + * w32font.c (w32font_draw): Return number of glyphs. + (w32font_open_internal): Remove unused variable `i'. + (w32font_driver): Add missing initializer. + + * w32menu.c (utf8to16): Remove unused variable `utf16'. + (fill_in_menu): Remove unused variable `items_added'. + + * w32term.c (last_mouse_press_frame): Remove static global variable. + (w32_clip_to_row): Remove unused variable `f'. + (x_delete_terminal): Remove unused variable `i'. + + * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'. + (NOTHING): Remove unused static global variable. + (uniscribe_check_otf): Remove unused variable `table'. + (uniscribe_font_driver): Add missing initializers. + +2011-03-23 Julien Danjou + + * term.c (Fsuspend_tty, Fresume_tty): + * minibuf.c (read_minibuf, run_exit_minibuf_hook): + * window.c (temp_output_buffer_show): + * insdel.c (signal_before_change): + * frame.c (Fhandle_switch_frame): + * fileio.c (Fdo_auto_save): + * emacs.c (Fkill_emacs): + * editfns.c (save_excursion_restore): + * cmds.c (internal_self_insert): + * callint.c (Fcall_interactively): + * buffer.c (Fkill_all_local_variables): + * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1): + Use Frun_hooks. + (command_loop_1): Use Frun_hooks. Call safe_run_hooks + unconditionally since it does the check itself. + +2011-03-23 Paul Eggert + + Fix more problems found by GCC 4.5.2's static checks. + + * coding.c (encode_coding_raw_text): Avoid unnecessary test + the first time through the loop, since we know p0 < p1 then. + This also avoids a gcc -Wstrict-overflow warning. + + * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow + leading to a memory leak, possible in functions like + load_charset_map_from_file that can allocate an unbounded number + of objects (Bug#8318). + + * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes + that could (at least in theory) be that large. + + * xdisp.c (message_log_check_duplicate): Return unsigned long, not int. + This is less likely to overflow, and avoids undefined behavior if + overflow does occur. All callers changed. Use strtoul to scan + for the unsigned long integer. + (pint2hrstr): Simplify and tune code slightly. + This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow. + + * scroll.c (do_scrolling): Work around GCC bug 48228. + See . + + * frame.c (Fmodify_frame_parameters): Simplify loop counter. + This also avoids a warning with gcc -Wstrict-overflow. + (validate_x_resource_name): Simplify count usage. + This also avoids a warning with gcc -Wstrict-overflow. + + * fileio.c (Fcopy_file): Report error if fchown or fchmod + fail (Bug#8306). + + * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303). + + * process.c (Fmake_network_process): Use socklen_t, not int, + where POSIX says socklen_t is required in portable programs. + This fixes a porting bug on hosts like 64-bit HP-UX, where + socklen_t is wider than int (Bug#8277). + (Fmake_network_process, server_accept_connection): + (wait_reading_process_output, read_process_output): + Likewise. + + * process.c: Rename or move locals to avoid shadowing. + (list_processes_1, Fmake_network_process): + (read_process_output_error_handler, exec_sentinel_error_handler): + Rename or move locals. + (Fmake_network_process): Define label "retry_connect" only if needed. + (Fnetwork_interface_info): Fix pointer signedness. + (process_send_signal): Add cast to avoid pointer signedness problem. + (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros. + (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298). + + Make tparam.h and terminfo.c consistent. + * cm.c (tputs, tgoto, BC, UP): Remove extern decls. + Include tparam.h instead, since it declares them. + * cm.h (PC): Remove extern decl; tparam.h now does this. + * deps.mk (cm.o, terminfo.o): Depend on tparam.h. + * terminfo.c: Include tparam.h, to check interfaces. + (tparm): Make 1st arg a const pointer in decl. Put it at top level. + (tparam): Adjust signature to match interface in tparam.h; + this removes some undefined behavior. Check that outstring and len + are zero, which they always are with Emacs. + * tparam.h (PC, BC, UP): New extern decls. + + * xftfont.c (xftfont_shape): Now static, and defined only if needed. + (xftfont_open): Rename locals to avoid shadowing. + + * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness. + (ftfont_otf_capability, ftfont_shape): Omit decls if not needed. + (OTF_TAG_SYM): Omit macro if not needed. + (ftfont_list): Remove unused local. + (get_adstyle_property, ftfont_pattern_entity): + (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point): + Rename locals to avoid shadowing. + + * xfont.c (xfont_list_family): Mark var as initialized. + + * xml.c (make_dom): Now static. + + * composite.c (composition_compute_stop_pos): Rename local to + avoid shadowing. + (composition_reseat_it): Remove unused locals. + (find_automatic_composition, composition_adjust_point): Likewise. + (composition_update_it): Mark var as initialized. + (find_automatic_composition): Mark vars as initialized, + with a FIXME (Bug#8290). + + character.h: Rename locals to avoid shadowing. + * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE): + (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE): + (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS): + (BUF_DEC_POS): Be more systematic about renaming local temporaries + to avoid shadowing. + + * textprop.c (property_change_between_p): Remove; unused. + + * intervals.c (interval_start_pos): Now static. + + * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else". + + * atimer.c (start_atimer, append_atimer_lists, set_alarm): + Rename locals to avoid shadowing. + + * sound.c (wav_play, au_play, Fplay_sound_internal): + Fix pointer signedness. + (alsa_choose_format): Remove unused local var. + (wav_play): Initialize a variable to 0, to prevent undefined + behavior (Bug#8278). + + * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing. + + * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes. + + * callproc.c (Fcall_process): Use 'volatile' to avoid vfork + clobbering (Bug#8298). + * sysdep.c (sys_subshell): Likewise. + Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out. + + * lisp.h (child_setup): Now NO_RETURN unless DOS_NT. + This should get cleaned up, so that child_setup has the + same signature on all platforms. + + * callproc.c (call_process_cleanup): Now static. + (relocate_fd): Rename locals to avoid shadowing. + +2011-03-22 Chong Yidong + + * xterm.c (x_clear_frame): Remove XClearWindow call. This appears + not to be necessary, and produces flickering. + +2011-03-20 Glenn Morris + + * config.in: Remove file. + +2011-03-20 Juanma Barranquero + + * minibuf.c (Vcompleting_read_function): Don't declare, global variables + are now in src/globals.h. + (syms_of_minibuf): Remove spurious & from previous change. + +2011-03-20 Leo Liu + + * minibuf.c (completing-read-function): New variable. + (completing-read-default): Rename from completing-read. + (completing-read): Call completing-read-function. + +2011-03-19 Juanma Barranquero + + * xfaces.c (Fx_load_color_file): + Read color file from absolute filename (bug#8250). + +2011-03-19 Juanma Barranquero + + * makefile.w32-in: Update dependencies. + +2011-03-17 Eli Zaretskii + + * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h. + +2011-03-17 Paul Eggert + + Fix more problems found by GCC 4.5.2's static checks. + + * process.c (make_serial_process_unwind, send_process_trap): + (sigchld_handler): Now static. + + * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars. + That way, the code declares only the vars that it needs. + * s/aix4-2.h (PTY_ITERATION): Declare iteration vars. + * s/cygwin.h (PTY_ITERATION): Likewise. + * s/darwin.h (PTY_ITERATION): Likewise. + * s/gnu-linux.h (PTY_ITERATION): Likewise. + + * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling. + * process.c (allocate_pty): Don't declare stb unless it's needed. + + * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else". + (CONSTANTLIM): Remove; unused. + (METER_CODE, Bscan_buffer, Bread_char, Bset_mark): + Define only if needed. + + * unexelf.c (unexec): Name an expression, + to avoid gcc -Wbad-function-cast warning. + Use a different way to cause a compilation error if anyone uses + n rather than nn, a way that does not involve shadowing. + (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused. + + * deps.mk (unexalpha.o): Remove; unused. + + New file unexec.h, the (simple) interface for unexec (Bug#8267). + * unexec.h: New file. + * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o): + (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o): + Depend on unexec.h. + * emacs.c [!defined CANNOT_DUMP]: Include unexec.h. + * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c: + * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h. + Change as necessary to match prototype in unexec.h. + + * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid + shadowing. + (back_comment, skip_chars): Mark vars as initialized. + + * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS): + Rename locals to avoid shadowing. + + * lread.c (read1): Rewrite so as not to use empty "else". + (Fload, readevalloop, read1): Rename locals to avoid shadowing. + + * print.c (Fredirect_debugging_output): Fix pointer signedess. + + * lisp.h (debug_output_compilation_hack): Add decl here, to avoid + warning when compiling print.c. + + * font.c (font_unparse_fcname): Abort in an "impossible" situation + instead of using an uninitialized var. + (font_sort_entities): Mark var as initialized. + + * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing. + + * font.c (font_unparse_xlfd): Don't mix pointers to variables with + pointers to constants. + (font_parse_fcname): Remove unused vars. + (font_delete_unmatched): Now static. + (font_get_spec): Remove; unused. + (font_style_to_value, font_prop_validate_style, font_unparse_fcname): + (font_update_drivers, Ffont_get_glyphs, font_add_log): + Rename or move locals to avoid shadowing. + + * fns.c (require_nesting_list, require_unwind): Now static. + (Ffillarray): Rename locals to avoid shadowing. + + * floatfns.c (domain_error2): Define only if needed. + (Ffrexp, Fldexp): Rename locals to avoid shadowing. + + * alloc.c (mark_backtrace): Move decl from here ... + * lisp.h: ... to here, so that it can be checked. + + * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static. + (Fdefvar): Rewrite so as not to use empty "else". + (lisp_indirect_variable): Name an expression, + to avoid gcc -Wbad-function-cast warning. + (Fdefvar): Rename locals to avoid shadowing. + + * callint.c (quotify_arg, quotify_args): Now static. + (Fcall_interactively): Rename locals to avoid shadowing. + Use const pointer when appropriate. + + * lisp.h (get_system_name, get_operating_system_release): + Move decls here, to check interfaces. + * process.c (get_operating_system_release): Move decl to lisp.h. + * xrdb.c (get_system_name): Likewise. + * editfns.c (init_editfns, Fuser_login_name, Fuser_uid): + (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts, + some of which prompt warnings from gcc -Wbad-function-cast. + (Fformat_time_string, Fencode_time, Finsert_char): + (Ftranslate_region_internal, Fformat): + Rename or remove local vars to avoid shadowing. + (Ftranslate_region_internal): Mark var as initialized. + + * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to + avoid shadowing. + + * lisp.h (eassert): Check that the argument compiles, even if + ENABLE_CHECKING is not defined. + + * data.c (Findirect_variable): Name an expression, to avoid + gcc -Wbad-function-cast warning. + (default_value, arithcompare, arith_driver, arith_error): Now static. + (store_symval_forwarding): Rename local to avoid shadowing. + (Fmake_variable_buffer_local, Fmake_local_variable): + Mark variables as initialized. + (do_blv_forwarding, do_symval_forwarding): Remove; unused. + + * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST. + (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect): + Rename locals to avoid shadowing. + (mark_stack): Move local variables into the #ifdef region where + they're used. + (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if + ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not + needed otherwise. + (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS. + (GC_STRING_CHARS): Remove; not used. + (Fmemory_limit): Cast sbrk's returned value to char *. + + * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this + avoids undefined behavior in theory. + + * regex.c (IF_LINT): Add defn, for benefit of ../lib-src. + + Use functions, not macros, for up- and down-casing (Bug#8254). + * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP): + (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove. All callers changed + to use the following functions instead of these macros. + (downcase): Adjust to lack of DOWNCASE_TABLE. Return int, not + EMACS_INT, since callers assume the returned value fits in int. + (upcase1): Likewise, for UPCASE_TABLE. + (uppercasep, lowercasep, upcase): New static inline functions. + * editfns.c (Fchar_equal): Remove no-longer-needed workaround for + the race-condition problem in the old DOWNCASE. + + * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT): + Rename locals to avoid shadowing. + (regex_compile, re_match_2_internal): Move locals to avoid shadowing. + (regex_compile, re_search_2, re_match_2_internal): + Remove unused local vars. + (FREE_VAR): Rewrite so as not to use empty "else", + which gcc can warn about. + (regex_compile, re_match_2_internal): Mark locals as initialized. + (RETALLOC_IF): Define only if needed. + (WORDCHAR_P): Likewise. This one is never needed, but is used + only in a comment talking about a compiler bug, so put inside + the #if 0 of that comment. + (CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK): + (PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING): + Remove; unused. + + * search.c (boyer_moore): Rename locals to avoid shadowing. + * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): + (PREV_CHAR_BOUNDARY): Likewise. + + * search.c (simple_search): Remove unused var. + + * dired.c (compile_pattern): Move decl from here ... + * lisp.h: ... to here, so that it can be checked. + (struct re_registers): New forward decl. + + * character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing. + + * indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width. + All uses changed. + (MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion): + Rename locals to avoid shadowing. + (Fvertical_motion): Mark locals as initialized. + + * casefiddle.c (casify_object, casify_region): Now static. + (casify_region): Mark local as initialized. + + * cmds.c (internal_self_insert): Rename local to avoid shadowing. + + * lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR): + New macros, so that the caller can use some names other than + gcpro1, gcpro2, etc. + (GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms + of the new macros. + (GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second + argument, for consistency with GCPRO2_VAR, etc: it is now the + prefix of the variable, not the variable itself. All uses + changed. + * dired.c (directory_files_internal, file_name_completion): + Rename locals to avoid shadowing. + + Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254). + An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in + dired.c's scmp function, had undefined behavior. + * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP): + (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ... + * buffer.h: ... to here, because these macros use current_buffer, + and the new implementation with inline functions needs to have + current_buffer in scope now, rather than later when the macros + are used. + (downcase, upcase1): New static inline functions. + (DOWNCASE, UPCASE1): Reimplement using these functions. + This avoids undefined behavior in expressions like + DOWNCASE (x) == DOWNCASE (y), which previously suffered + from race conditions in accessing the global variables + case_temp1 and case_temp2. + * casetab.c (case_temp1, case_temp2): Remove; no longer needed. + * lisp.h (case_temp1, case_temp2): Remove their decls. + * character.h (ASCII_CHAR_P): Move from here ... + * lisp.h: ... to here, so that the inline functions mentioned + above can use them. + + * dired.c (directory_files_internal_unwind): Now static. + + * fileio.c (file_name_as_directory, directory_file_name): + (barf_or_query_if_file_exists, auto_save_error, auto_save_1): + Now static. + (file_name_as_directory): Use const pointers when appropriate. + (Fexpand_file_name): Likewise. In particular, newdir might + point at constant storage, so make it a const pointer. + (Fmake_directory_internal, Fread_file_name): Remove unused vars. + (Ffile_selinux_context, Fset_file_selinux_context): Fix pointer + signedness issues. + (Fset_file_times, Finsert_file_contents, auto_save_error): + Rename locals to avoid shadowing. + + * minibuf.c (choose_minibuf_frame_1): Now static. + (Ftry_completion, Fall_completions): Rename or remove locals + to avoid shadowing. + + * marker.c (bytepos_to_charpos): Remove; unused. + + * lisp.h (verify_bytepos, count_markers): New decls, + so that gcc does not warn that these functions aren't declared. + + * insdel.c (check_markers, make_gap_larger, make_gap_smaller): + (reset_var_on_error, Fcombine_after_change_execute_1): Now static. + (CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic. + (copy_text): Remove unused local var. + + * filelock.c (within_one_second): Now static. + (lock_file_1): Rename local to avoid shadowing. + + * buffer.c (fix_overlays_before): Mark locals as initialized. + (fix_start_end_in_overlays): Likewise. This function should be + simplified by using pointers-to-pointers, but that's a different + matter. + (switch_to_buffer_1): Now static. + (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte): + (report_overlay_modification): Rename locals to avoid shadowing. + + * sysdep.c (system_process_attributes): Rename vars to avoid shadowing. + Fix pointer signedness issue. + (sys_subshell): Mark local as volatile if checking for lint, + to suppress a gcc -Wclobbered warning that does not seem to be right. + (MAXPATHLEN): Define only if needed. + + * process.c (serial_open, serial_configure): Move decls from here ... + * systty.h: ... to here, so that they can be checked. + + * fns.c (get_random, seed_random): Move extern decls from here ... + * lisp.h: ... to here, so that they can be checked. + + * sysdep.c (reset_io): Now static. + (wait_for_termination_signal): Remove; unused. + + * keymap.c (keymap_parent, keymap_memberp, map_keymap_internal): + (copy_keymap_item, append_key, push_text_char_description): + Now static. + (Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily. + (DENSE_TABLE_SIZE): Remove; unused. + (get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal): + (describe_map_tree): + Rename locals to avoid shadowing. + + * keyboard.c: Declare functions static if they are not used elsewhere. + (echo_char, echo_dash, cmd_error, top_level_2): + (poll_for_input, handle_async_input): Now static. + (read_char, kbd_buffer_get_event, make_lispy_position): + (make_lispy_event, make_lispy_movement, apply_modifiers): + (decode_keyboard_code, tty_read_avail_input, menu_bar_items): + (parse_tool_bar_item, read_key_sequence, Fread_key_sequence): + (Fread_key_sequence_vector): Rename locals to avoid shadowing. + (read_key_sequence, read_char): Mark locals as initialized. + (Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN. + + * keyboard.h (make_ctrl_char): New decl. + (mark_kboards): Move decl here ... + * alloc.c (mark_kboards): ... from here. + + * lisp.h (force_auto_save_soon): New decl. + + * emacs.c (init_cmdargs): Rename local to avoid shadowing. + (DEFINE_DUMMY_FUNCTION): New macro. + (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main): + Use it. + (main): Add casts to avoid warnings + if GCC considers string literals to be constants. + + * lisp.h (fatal_error_signal): Add decl, since it's exported. + + * dbusbind.c: Pointer signedness fixes. + (xd_signature, xd_append_arg, xd_initialize): + (Fdbus_call_method, Fdbus_call_method_asynchronously): + (Fdbus_method_return_internal, Fdbus_method_error_internal): + (Fdbus_send_signal, xd_read_message_1, Fdbus_register_service): + (Fdbus_register_signal): Use SSDATA when the context wants char *. + + * dbusbind.c (Fdbus_init_bus): Add cast to avoid warning + if GCC considers string literals to be constants. + (Fdbus_register_service, Fdbus_register_method): Remove unused vars. + +2011-03-16 Stefan Monnier + + * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro. + (print_preprocess, print_object): New macro to fix last change. + + * print.c (print_preprocess): Don't forget font objects. + +2011-03-16 Juanma Barranquero + + * emacs.c (USAGE3): Doc fixes. + +2011-03-15 Andreas Schwab + + * coding.c (detect_coding_iso_2022): Reorganize code to clarify + structure. + +2011-03-14 Juanma Barranquero + + * lisp.h (VWindow_system, Qfile_name_history): + * keyboard.h (lispy_function_keys) [WINDOWSNT]: + * w32term.h (w32_system_caret_hwnd, w32_system_caret_height) + (w32_system_caret_x, w32_system_caret_y): Declare extern. + + * w32select.c: Don't #include "keyboard.h". + (run_protected): Add extern declaration for waiting_for_input. + + * w32.c (Qlocal, noninteractive1, inhibit_window_system): + * w32console.c (detect_input_pending, read_input_pending) + (encode_terminal_code): + * w32fns.c (quit_char, lispy_function_keys, Qtooltip) + (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x) + (w32_system_caret_y, Qfile_name_history): + * w32font.c (w32font_driver, QCantialias, QCotf, QClang): + * w32inevt.c (reinvoke_input_signal, lispy_function_keys): + * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map) + (Qoverriding_terminal_local_map, Qmenu_bar_update_hook): + * w32proc.c (Qlocal, report_file_error): + * w32term.c (Vwindow_system, updating_frame): + * w32uniscribe.c (initialized, uniscribe_font_driver): + Remove unneeded extern declarations. + +2011-03-14 Chong Yidong + + * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions. + +2011-03-13 Chong Yidong + + * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT) + (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219). + These macros can no longer be used for assignment. + + * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): + Assign struct members directly, instead of using BUF_BEGV etc. + (record_buffer_markers, fetch_buffer_markers): New functions for + recording and fetching special buffer markers. + (set_buffer_internal_1, set_buffer_temp): Use them. + + * lread.c (unreadchar): Use SET_BUF_PT_BOTH. + + * insdel.c (adjust_point): Use SET_BUF_PT_BOTH. + + * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH. + (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH. + + * xdisp.c (hscroll_window_tree): + (reconsider_clip_changes): Use PT instead of BUF_PT. + +2011-03-13 Eli Zaretskii + + * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on + $(EMACS_ROOT)/lib/intprops.h. + +2011-03-13 Paul Eggert + + Fix more problems found by GCC 4.5.2's static checks. + + * gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char * + to unsigned char * to avoid compiler diagnostic. + (xg_free_frame_widgets): Make it clear that a local variable is + needed only if USE_GTK_TOOLTIP. + (gdk_window_get_screen): Make it clear that this macro is needed + only if USE_GTK_TOOLTIP. + (int_gtk_range_get_value): New function, which avoids a diagnostic + from gcc -Wbad-function-cast. + (xg_set_toolkit_scroll_bar_thumb): Use it. + (xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid + diagnostic from gcc -Wbad-function-cast. + (get_utf8_string, xg_get_file_with_chooser): + Rename locals to avoid shadowing. + (create_dialog): Move locals to avoid shadowing. + + * xgselect.c (xg_select): Remove unused var. + + * image.c (four_corners_best): Mark locals as initialized. + (gif_load): Initialize transparent_p to zero (Bug#8238). + Mark another local as initialized. + (my_png_error, my_error_exit): Mark with NO_RETURN. + + * image.c (clear_image_cache): Now static. + (DIM, HAVE_STDLIB_H_1): Remove unused macros. + (xpm_load): Redo to avoid "discards qualifiers" gcc warning. + (x_edge_detection): Remove unnecessary cast that + gcc -Wbad-function-cast diagnoses. + (gif_load): Fix pointer signedness. + (clear_image_cache, xbm_read_bitmap_data, x_detect_edges): + (jpeg_load, gif_load): Rename locals to avoid shadowing. + +2011-03-12 Paul Eggert + + Improve quality of tests for time stamp overflow. + For example, without this patch (encode-time 0 0 0 1 1 + 1152921504606846976) returns the obviously-bogus value (-948597 + 62170) on my RHEL 5.5 x86-64 host. With the patch, it correctly + reports time overflow. See + . + * deps.mk (editfns.o): Depend on ../lib/intprops.h. + * editfns.c: Include limits.h and intprops.h. + (TIME_T_MIN, TIME_T_MAX): New macros. + (time_overflow): Move earlier, to before first use. + (hi_time, lo_time): New functions, for an accurate test for + out-of-range times. + (Fcurrent_time, Fget_internal_run_time, make_time): Use them. + (Fget_internal_run_time): Don't assume time_t fits in int. + (make_time): Use list2 instead of Fcons twice. + (Fdecode_time): More accurate test for out-of-range times. + (check_tm_member): New function. + (Fencode_time): Use it, to test for out-of-range times. + (lisp_time_argument): Don't rely on undefined left-shift and + right-shift behavior when checking for time stamp overflow. + + * editfns.c (time_overflow): New function, refactoring common code. + (Fformat_time_string, Fdecode_time, Fencode_time): + (Fcurrent_time_string): Use it. + + Move 'make_time' to be next to its inverse 'lisp_time_argument'. + * dired.c (make_time): Move to ... + * editfns.c (make_time): ... here. + * systime.h: Note the move. + +2011-03-12 YAMAMOTO Mitsuharu + + * fringe.c (update_window_fringes): Remove unused variables. + + * unexmacosx.c (copy_data_segment): Also copy __got section. + (Bug#8223) + +2011-03-12 Eli Zaretskii + + * termcap.c [MSDOS]: Include "msdos.h". + (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent): + Constify `char *' arguments and their references according to + prototypes in tparam.h. + + * deps.mk (termcap.o): Depend on tparam.h and msdos.h. + + * msdos.c (XMenuAddPane): 3rd argument is `const char *' now. + Adapt all references accordingly. + + * msdos.h (XMenuAddPane): 3rd argument is `const char *' now. + +2011-03-11 Tom Tromey + + * buffer.c (syms_of_buffer): Remove obsolete comment. + +2011-03-11 Eli Zaretskii + + * termhooks.h (encode_terminal_code): Declare prototype. + + * msdos.c (encode_terminal_code): Don't declare prototype. + + * term.c (encode_terminal_code): Now external again, used by + w32console.c and msdos.c. + + * makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)): + Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu. + +2011-03-11 Paul Eggert + + Fix some minor problems found by GCC 4.5.2's static checks. + + * fringe.c (update_window_fringes): Mark locals as initialized + (Bug#8227). + (destroy_fringe_bitmap, init_fringe_bitmap): Now static. + + * alloc.c (mark_fringe_data): Move decl from here ... + * lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here, + to check its interface. + (init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM. + + * fontset.c (free_realized_fontset): Now static. + (Fset_fontset_font): Rename local to avoid shadowing. + (fontset_font): Mark local as initialized. + (FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused. + + * xrdb.c: Include "xterm.h", to check x_load_resources's interface. + + * xselect.c (x_disown_buffer_selections): Remove; not used. + (TRACE3) [!defined TRACE_SELECTION]: Remove; not used. + (x_own_selection, Fx_disown_selection_internal): Rename locals + to avoid shadowing. + (x_handle_dnd_message): Remove local to avoid shadowing. + + * lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros, + so that the caller can use some name other than gcpro1. + (GCPRO1, UNGCPRO): Reimplement in terms of the new macros. + * xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip): + (Fx_backspace_delete_keys_p): + Use them to avoid shadowing, and rename vars to avoid shadowing. + (x_decode_color, x_set_name, x_window): Now static. + (Fx_create_frame): Add braces to silence GCC warning. + (Fx_file_dialog, Fx_select_font): Fix pointer signedness. + (x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame): + Remove unused locals. + (Fx_create_frame, x_create_tip_frame, Fx_show_tip): + (Fx_backspace_delete_keys_p): Rename locals to avoid shadowing. + Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR + macros. + + * xterm.h (x_mouse_leave): New decl. + + * xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame): + Remove unused functions. + (x_shift_glyphs_for_insert, XTflash, XTring_bell): + (x_calc_absolute_position): Now static. + (XTread_socket): Don't define label "out" unless it's used. + Don't declare local "event" unless it's used. + (x_iconify_frame, x_free_frame_resources): Don't declare locals + unless they are used. + (XEMBED_VERSION, xembed_set_info): Don't define unless needed. + (x_fatal_error_signal): Remove; not used. + (x_draw_image_foreground, redo_mouse_highlight, XTmouse_position): + (x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor): + (x_error_catcher, x_connection_closed, x_error_handler): + (x_error_quitter, xembed_send_message, x_iconify_frame): + (my_log_handler): Rename locals to avoid shadowing. + (x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN. + (x_connection_closed): Tell GCC not to suggest NO_RETURN. + + * xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font): + Rename or move locals to avoid shadowing. + (tty_defined_color, merge_face_heights): Now static. + (free_realized_faces_for_fontset): Remove; not used. + (Fx_list_fonts): Mark variable that gcc -Wuninitialized + does not deduce is never used uninitialized. + (STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used. + (LFACEP): Define only if XASSERTS, as it's not needed otherwise. + + * terminal.c (store_terminal_param): Now static. + + * xmenu.c (menu_highlight_callback): Now static. + (set_frame_menubar): Remove unused local. + (xmenu_show): Rename parameter to avoid shadowing. + (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const" + since they might point to immutable storage. + (next_menubar_widget_id): Declare only if USE_X_TOOLKIT, + since it's unused otherwise. + + * xdisp.c (produce_glyphless_glyph): Initialize lower_xoff. + Add a FIXME, since the code still doesn't look right. (Bug#8215) + (Fcurrent_bidi_paragraph_direction): Simplify slightly; this + avoids a gcc -Wuninitialized diagnostic. + (display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs): + (note_mouse_highlight): Mark variables that gcc -Wuninitialized + does not deduce are never used uninitialized. + + * lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c. + + * xdisp.c (redisplay_window): Rename local to avoid shadowing. + * window.c (window_loop, size_window): + (run_window_configuration_change_hook, enlarge_window): Likewise. + + * window.c (display_buffer): Now static. + (size_window): Mark variables that gcc -Wuninitialized + does not deduce are never used uninitialized. + * window.h (check_all_windows): New decl, to forestall + gcc -Wmissing-prototypes diagnostic. + * dispextern.h (bidi_dump_cached_states): Likewise. + + * charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid + shadowing. + * charset.c (map_charset_for_dump, Fchar_charset): Likewise. + Include . + (Fsort_charsets): Redo min/max calculation to shorten the code a bit + and to avoid gcc -Wuninitialized warning. + (load_charset_map): Mark variables that gcc -Wuninitialized + does not deduce are never used uninitialized. + (load_charset): Abort instead of using uninitialized var (Bug#8229). + + * coding.c (coding_set_source, coding_set_destination): + Use "else { /* comment */ }" rather than "else /* comment */;" + for clarity, and to avoid gcc -Wempty-body warning. + (Fdefine_coding_system_internal): Don't redeclare 'i' inside + a block, when the outer 'i' will do. + (decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule): + (emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022): + (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5): + (decode_coding_raw_text, decode_coding_charset, get_translation_table): + (Fdecode_sjis_char, Fdefine_coding_system_internal): + Rename locals to avoid shadowing. + * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise. + * coding.c (emacs_mule_char, encode_invocation_designation): + Now static, since they're not used elsewhere. + (decode_coding_iso_2022): Add "default: abort ();" as a safety check. + (decode_coding_object, encode_coding_object, detect_coding_system): + (decode_coding_emacs_mule): Mark variables that gcc + -Wuninitialized does not deduce are never used uninitialized. + (detect_coding_iso_2022): Initialize a local variable that might + be used uninitialized. Leave a FIXME because it's not clear that + this initialization is needed. (Bug#8211) + (ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT): + (ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P): + (SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER): + (ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R): + Remove unused macros. + + * category.c (hash_get_category_set): Remove unused local var. + (copy_category_table): Now static, since it's not used elsewhere. + * character.c (string_count_byte8): Likewise. + + * ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string): + (Fregister_code_conversion_map): Rename locals to avoid shadowing. + + * chartab.c (copy_sub_char_table): Now static, since it's not used + elsewhere. + (sub_char_table_ref_and_range, char_table_ref_and_range): + Rename locals to avoid shadowing. + (ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros. + + * bidi.c (bidi_check_type): Now static, since it's not used elsewhere. + (BIDI_BOB): Remove unused macro. + + * cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not + deduce are never used uninitialized. + * term.c (encode_terminal_code): Likewise. + + * term.c (encode_terminal_code): Now static. Remove unused local. + + * tparam.h: New file. + * term.c, tparam.h: Include it. + * deps.mk (term.o, tparam.o): Depend on tparam.h. + * term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr): + Move these decls to tparam.h, and make them agree with what + is actually in tparam.c. The previous trick of using incompatible + decls in different modules does not conform to the C standard. + All callers of tparam changed to use tparam's actual API. + * tparam.c (tparam1, tparam, tgoto): + Use const pointers where appropriate. + + * cm.c (calccost, cmgoto): Use const pointers where appropriate. + * cm.h (struct cm): Likewise. + * dispextern.h (do_line_insertion_deletion_costs): Likewise. + * scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise. + * term.c (tty_ins_del_lines, calculate_costs, struct fkey_table): + (term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph): + (turn_on_face, init_tty): Likewise. + * termchar.h (struct tty_display_info): Likewise. + + * term.c (term_mouse_position): Rename local to avoid shadowing. + + * alloc.c (mark_ttys): Move decl from here ... + * lisp.h (mark_ttys): ... to here, so that it's checked against defn. + +2011-03-11 Andreas Schwab + + * .gdbinit (pwinx, xbuffer): Fix access to buffer name. + +2011-03-09 Juanma Barranquero + + * search.c (compile_pattern_1): Remove argument regp, unused since + revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig. + (compile_pattern): Don't pass it. + +2011-03-08 Jan Djärv + + * xterm.h (DEFAULT_GDK_DISPLAY): New define. + (GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines + for ! HAVE_GTK3. + (GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID. + + * xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size. + + * gtkutil.c: Include gtkx.h if HAVE_GTK3. If ! HAVE_GTK3, define + gdk_window_get_screen, gdk_window_get_geometry, + gdk_x11_window_lookup_for_display and GDK_KEY_g. + (xg_set_screen): Use DEFAULT_GDK_DISPLAY. + (xg_get_pixbuf_from_pixmap): New function. + (xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap + to Pixmap, take frame as parameter, remove GdkColormap parameter. + Call xg_get_pixbuf_from_pixmap instead of + gdk_pixbuf_get_from_drawable. + (xg_get_image_for_pixmap): Do not make GdkPixmaps, call + xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead. + (xg_check_special_colors): Use GtkStyleContext and its functions + for HAVE_GTK3. + (xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen. + (xg_prepare_tooltip, create_dialog, menubar_map_cb) + (xg_update_frame_menubar, xg_tool_bar_detach_callback) + (xg_tool_bar_attach_callback, xg_update_tool_bar_sizes): + Call gtk_widget_get_preferred_size. + (xg_frame_resized): gdk_window_get_geometry only takes 5 + parameters. + (xg_win_to_widget, xg_event_is_for_menubar): + Call gdk_x11_window_lookup_for_display. + (xg_set_widget_bg): New function. + (delete_cb): New function. + (xg_create_frame_widgets): Connect delete-event to delete_cb. + Call xg_set_widget_bg. Only set background pixmap for ! HAVE_GTK3 + (xg_set_background_color): Call xg_set_widget_bg. + (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask. + (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3. + Only call gtk_range_set_update_policy if ! HAVE_GTK3. + (xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback + if ! HAVE_GTK3. + (update_frame_tool_bar): Call gtk_widget_hide. + (xg_initialize): Use GDK_KEY_g. + + * xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id + if ! HAVE_GTK3 + (x_session_initialize): Call gdk_x11_set_sm_client_id. + + * xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3. + (x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS. + Load ~/emacs.d/gtkrc only for ! HAVE_GTK3. + +2011-03-08 Juanma Barranquero + + * w32xfns.c (select_palette): Check success of RealizePalette against + GDI_ERROR, not zero. + +See ChangeLog.11 for earlier changes. + +;; Local Variables: +;; coding: utf-8 +;; End: + + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This file is part of GNU Emacs. + + GNU Emacs is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + GNU Emacs is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Emacs. If not, see . -- 2.39.2