From: Glenn Morris Date: Tue, 28 Aug 2012 16:01:59 +0000 (-0700) Subject: Merge from emacs-24; up to 2012-05-04T19:17:01Z!monnier@iro.umontreal.ca X-Git-Tag: emacs-24.2.90~486 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=eada086196ccb005ded188ac2e58d41f3682a125;p=emacs.git Merge from emacs-24; up to 2012-05-04T19:17:01Z!monnier@iro.umontreal.ca --- eada086196ccb005ded188ac2e58d41f3682a125 diff --cc lisp/ChangeLog index 3dd2b7b1272,4ef437213a0..5d05f3b8f3a --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,560 -1,46 +1,592 @@@ -2012-08-27 Leo Liu ++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-24 Chong Yidong - - * Version 24.2 released. - -2012-08-23 Stefan Monnier ++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-22 Jeremy Moore (tiny change) ++2012-08-28 Jeremy Moore (tiny change) + + * progmodes/hideif.el (hif-compress-define-list): + Fix typo. (Bug#11951) + -2012-08-20 Dan Nicolaescu ++2012-08-28 Dan Nicolaescu + + * progmodes/hideshow.el (hs-block-end-regexp): Restore lost + buffer local setting. + -2012-08-15 Glenn Morris - - * vc/log-edit.el (log-edit-font-lock-gnu-style): Mark safe if boolean. - -2012-08-15 Leo Liu - + * net/rcirc.el (rcirc-split-message): Fix for buffer-local + rcirc-encode-coding-system. + -2012-08-13 Leo Liu ++2012-08-28 Leo Liu + + * net/rcirc.el (rcirc-split-message): New function. + (rcirc-send-message): Use it. (Bug#12051) + -2012-08-10 Glenn Morris +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 (tiny change) + + * 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. @@@ -566,213 -52,13 +598,214 @@@ * 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 Fixed 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 - * mouse.el (mouse-drag-track): Deactivate the mark before popping. + * 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 diff --cc lisp/progmodes/sh-script.el index a6089aabb04,2d0cdeaeeae..a422462775d --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@@ -469,8 -465,15 +474,7 @@@ This is buffer-local in every such buff (define-key map "\C-c+" 'sh-add) (define-key map "\C-\M-x" 'sh-execute-region) (define-key map "\C-c\C-x" 'executable-interpret) - ;; FIXME: Use post-self-insert-hook. - (define-key map "<" 'sh-maybe-here-document) - (define-key map "(" 'skeleton-pair-insert-maybe) - (define-key map "{" 'skeleton-pair-insert-maybe) - (define-key map "[" 'skeleton-pair-insert-maybe) - (define-key map "'" 'skeleton-pair-insert-maybe) - (define-key map "`" 'skeleton-pair-insert-maybe) - (define-key map "\"" 'skeleton-pair-insert-maybe) - (define-key map [remap complete-tag] 'comint-dynamic-complete) (define-key map [remap delete-backward-char] 'backward-delete-char-untabify) (define-key map "\C-c:" 'sh-set-shell) @@@ -4109,22 -3687,7 +4115,8 @@@ The document is bounded by `sh-here-doc ;; various other commands - (autoload 'comint-dynamic-complete "comint" - "Dynamically perform completion at point." t) - - (autoload 'shell-dynamic-complete-command "shell" - "Dynamically complete the command at point." t) - - (autoload 'comint-dynamic-complete-filename "comint" - "Dynamically complete the filename at point." t) - - (autoload 'shell-dynamic-complete-environment-variable "shell" - "Dynamically complete the environment variable at point." t) - - - (defun sh-beginning-of-command () + ;; FIXME: Redefine using SMIE. "Move point to successive beginnings of commands." (interactive) (if (re-search-backward sh-beginning-of-command nil t) diff --cc src/ChangeLog index 2521ddc4144,28d4b1df989..5bafa1a04f8 --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,4490 -1,29 +1,4499 @@@ -2012-08-24 Chong Yidong ++2012-08-28 Eli Zaretskii + - * Version 24.2 released. ++ * 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-08-24 Eli Zaretskii +2012-07-12 Glenn Morris - * ralloc.c (free_bloc): Don't dereference a 'heap' structure if it - is not one of the heaps we manage. (Bug#12242) + * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Move to configure. -2012-08-14 Glenn Morris + * 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. - * eval.c (Fcalled_interactively_p): Doc fix. (Bug#11747) +2012-07-12 Eli Zaretskii -2012-08-14 Ulrich Mueller + * 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) - * systime.h (EMACS_TIME_CMP): Don't cast time_t values to long - (Bug#11712). +2012-07-12 Glenn Morris -2012-08-13 Eli Zaretskii + * s/aix4-2.h, s/hpux10-20.h: Let configure set NO_EDITRES. - * 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. + * 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. + * dbus.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 it's 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 - * makefile.w32-in ($(BLD)/w32menu.$(O)): Depend on w32heap.h. + 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 diff --cc test/ChangeLog index c3183406ea2,e25e06dd5eb..f523f6f59a9 --- a/test/ChangeLog +++ b/test/ChangeLog @@@ -1,23 -1,21 +1,28 @@@ -2012-08-24 Chong Yidong - - * Version 24.2 released. - -2012-08-14 Chong Yidong ++2012-08-28 Chong Yidong + + * automated/files.el: Test every combination of values for + enable-local-variables and enable-local-eval. + -2012-08-10 Glenn Morris +2012-08-19 Chong Yidong - * automated/files.el (files-test-disable-local-variables): New test. + * redisplay-testsuite.el (test-redisplay): Use switch-to-buffer. -2012-08-08 Glenn Morris +2012-08-18 Chong Yidong - * automated/files.el: New file. + * redisplay-testsuite.el (test-redisplay-4): New test (Bug#3874). + +2012-08-14 Dmitry Gutov + + * indent/ruby.rb: Rearrange examples, add new ones. + +2012-08-12 Dmitry Gutov -2012-08-07 Glenn Morris + * automated/ruby-mode-tests.el (ruby-move-to-block-stops-at-opening) + (ruby-toggle-block-to-do-end, ruby-toggle-block-to-brace): New test. + +2012-08-11 Glenn Morris + + * automated/files.el: New file. * automated/Makefile.in (all): Fix typo.