From: Martin Rudalics Date: Mon, 25 Oct 2010 15:26:24 +0000 (+0200) Subject: Merge with trunk X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ec15138f2343cfdf8ac4efc0be50624d47454f77;p=emacs.git Merge with trunk --- ec15138f2343cfdf8ac4efc0be50624d47454f77 diff --cc doc/lispref/ChangeLog index 4b0305e393b,102866b0a82,53e1a77bab8..f35986255b3 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@@@ -1,10 -1,128 -1,199 +1,206 @@@@ ++ 2010-10-24 Eli Zaretskii ++ ++ * display.texi (Window Systems): Deprecate use of window-system as ++ a predicate. ++ ++ 2010-10-23 Glenn Morris ++ ++ * help.texi (Documentation Basics): Remove mentions of digest-doc and ++ sorted-doc. ++ ++ 2010-10-15 Eli Zaretskii ++ ++ * os.texi (Dynamic Libraries): New node, with slightly modified ++ text deleted from "Image Formats". ++ (System Interface): Add @menu entry for "Dynamic Libraries". ++ ++ * display.texi (Image Formats): Remove description of ++ image-library-alist. (Renamed in 2010-10-13T14:50:06Z!lekktu@gmail.com.) ++ ++ 2010-10-12 Glenn Morris ++ ++ * book-spine.texinfo: Rename to book-spine.texi. ++ ++ 2010-10-11 Glenn Morris ++ ++ * Makefile.in (MAKEINFO): Add explicit -I$srcdir. ++ ++ * Makefile.in (DVIPS): New variable. ++ (.PHONY): Add html, ps. ++ (html, elisp.html, ps, elisp.ps): New targets. ++ (clean): Delete html, ps files. ++ ($(infodir)/elisp): Remove unnecessary includes. ++ ++ 2010-10-09 Eli Zaretskii ++ ++ * makefile.w32-in (emacsdir): New variable. ++ (srcs): Add emacsver.texi. ++ ($(infodir)/elisp, elisp.dvi): Add -I$(emacsdir). ++ ++ 2010-10-09 Glenn Morris ++ ++ * Makefile.in (VPATH): Remove. ++ (infodir): Make it absolute. ++ (mkinfodir, $(infodir)/elisp, infoclean): No need to cd $srcdir. ++ ++ * Makefile.in (dist): Anchor regexps. ++ ++ * Makefile.in (srcs): Put elisp.texi first. ++ ($(infodir)/elisp, elisp.dvi, elisp.pdf): Use $<. ++ ++ * Makefile.in (infoclean): Remove harmless, long-standing error. ++ ++ * Makefile.in ($(infodir)): Delete rule. ++ (mkinfodir): New. ++ ($(infodir)/elisp): Use $mkinfodir instead of infodir. ++ ++ * Makefile.in (dist): Remove reference to emacsver.texi.in. ++ Also copy emacsver.texi, and edit $emacsdir. ++ ++ 2010-10-09 Glenn Morris ++ ++ * Makefile.in (emacsdir): New variable. ++ (MAKEINFO): Add -I $emacsdir. ++ (dist): Copy emacsver.texi. ++ (srcs): Add emacsver.texi. ++ ++ * book-spine.texinfo, elisp.texi, vol2.texi, vol1.texi: ++ Set EMACSVER by including emacsver.texi. ++ ++ * Makefile.in (.PHONY): Declare info, dvi, pdf, dist. ++ + 2010-10-07 Glenn Morris + + * Makefile.in (version): New, set by configure. + (clean): Delete dist tar file. + (dist): Use version in tar name. + + 2010-10-06 Glenn Morris + + * Makefile.in: Rearrange to more closely resemble doc/emacs/Makefile. + (INSTALL_INFO): Remove unused variable. + (mostlyclean, infoclean, dist): New rules. + (clean): Delete dvi and pdf files. + (maintainer-clean): Remove elisp.oaux, use infoclean. + ($(infodir)): Add parallel build workaround. + + 2010-10-04 Glenn Morris + + * Makefile.in (dvi, pdf, $(infodir)): New targets. + ($(infodir)/elisp): Ensure target directory exists. Use $@. + Fix -I typo. + (clean): No 'make.out' or 'core' files. + (.PHONY): Declare clean rules. + (maintainer-clean): Delete pdf file. Guard against cd failures. + + 2010-10-03 Glenn Morris + + * files.texi (File Name Components): Remove ignored section about + deleted variable directory-sep-char. + + 2010-10-03 Michael Albinus + + * files.texi (Magic File Names): New defopt + remote-file-name-inhibit-cache. + + 2010-10-02 Glenn Morris + + * os.texi (Killing Emacs): Hook now runs in batch mode. + + 2010-09-18 Stefan Monnier + + * text.texi (Special Properties): Clarify when modification-hooks run. + + 2010-09-11 Stefan Monnier + + * syntax.texi (Syntax Flags): Document new `c' flag. + + 2010-09-09 Glenn Morris + + * display.texi (ImageMagick Images): General cleanup. + + 2010-09-06 Alexander Klimov (tiny change) + + * files.texi (Directory Names): Use \` rather than ^. + + 2010-09-02 Jan Djärv + + * text.texi (Low-Level Kill Ring): + * frames.texi (Window System Selections): Remove cut buffer + documentation. + + 2010-08-28 Eli Zaretskii + + * display.texi (Fringe Size/Pos): Add a cross-reference to "Layout + Parameters", where the default fringe width is described. + + * frames.texi (Window Frame Parameters, Basic Parameters) + (Position Parameters, Layout Parameters, Management Parameters) + (Cursor Parameters, Font and Color Parameters): Add indexing for + frame parameters. (Bug#6929) + + 2010-08-25 Tom Tromey + + * vol2.texi (Top): Update. + * vol1.texi (Top): Update. + * tips.texi (Library Headers): Mention Package-Version and + Package-Requires. + * package.texi: New file. + * os.texi (System Interface): Update pointers. + * elisp.texi (Top): Link to new nodes. Include package.texi. + * anti.texi (Antinews): Update pointers. + + 2010-08-25 Eli Zaretskii + + * processes.texi (Filter Functions): Fix last change. + + 2010-08-24 Markus Triska + + * processes.texi (Filter Functions): Use `buffer-live-p' instead + of `buffer-name' in the main text as well as in the example + (Bug#3098). + + 2010-08-22 Chong Yidong + + * nonascii.texi (Text Representations): + * loading.texi (Loading Non-ASCII): + * compile.texi (Byte Compilation): Don't mention obsolete + --unibyte command-line argument. + + 2010-08-22 Chong Yidong + + * modes.texi (Defining Minor Modes): Doc fix (Bug#6880). + + 2010-08-22 Chong Yidong + + * objects.texi (Bool-Vector Type): Minor definition tweak (Bug#6878). + + 2010-08-20 Eli Zaretskii + + * commands.texi (Misc Events): Add cross-references to where + POSITION of a mouse event is described in detail. + + 2010-08-08 Christoph + + * control.texi (Handling Errors) : Fix arg name. + + 2010-08-08 Juanma Barranquero + + * modes.texi (Defining Minor Modes): Use C-backspace, not C-delete. + Suggested by Štěpán Němec . + + 2010-08-08 Juanma Barranquero + + * minibuf.texi (High-Level Completion): Document args of + `read-buffer-function' (bug#5625). + ++2010-07-31 Martin Rudalics ++ ++ * windows.texi (Buffers and Windows): Describe lists of previous ++ and next buffers for windows. Describe new commands ++ switch-to-prev-buffer and switch-to-next-buffer and their impact ++ on replace-buffer-in-windows. ++ 2010-07-29 Jan Djärv * frames.texi (Layout Parameters): Add doc for tool-bar-position. diff --cc doc/lispref/frames.texi index 931521a5ecd,d27010d2096,4c44d0a6439..d7467782cf7 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi @@@@ -775,14 -823,14 -823,14 +821,16 @@@@ it and see if it works. @node Cursor Parameters @subsubsection Cursor Parameters + @cindex cursor, and frame parameters -- This frame parameter controls the way the cursor looks. ++This frame parameter controls the way the cursor looks like in the ++selected window, see @ref{Selecting Windows}. @table @code + @vindex cursor-type, a frame parameter @item cursor-type --How to display the cursor. Legitimate values are: ++How to display the cursor in the selected window. Legitimate values ++are: @table @code @item box diff --cc lisp/ChangeLog index d6f449203ad,c8cc564831f,e62729555c2..f3e696b7b20 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@@ -1,40 -1,2911 -1,3778 +1,3815 @@@@ ++ 2010-10-25 Glenn Morris ++ ++ * term/common-win.el (x-handle-switch): Simplify with pop. ++ Optionally handle numeric switches. ++ (x-handle-numeric-switch): Just call x-handle-switch. ++ (x-handle-initial-switch, x-handle-xrm-switch, x-handle-geometry) ++ (x-handle-name-switch, x-handle-display, x-handle-args): ++ Simplify with pop. ++ ++ * term/ns-win.el: Do not require easymenu. ++ (menu-bar-edit-menu) : ++ : Move adjustments to menu-bar.el. ++ * menu-bar.el (menu-bar-edit-menu) : ++ : Move ns-win's adjustments here. ++ * loadup.el [ns]: Do not load easymenu. ++ ++ 2010-10-24 Chong Yidong ++ ++ * image.el (image-checkbox-checked, image-checkbox-unchecked): ++ Delete (Bug#7222). ++ ++ * startup.el (fancy-startup-tail): Instead of using inline images, ++ refer to image files from etc/. ++ ++ * wid-edit.el (checkbox): Likewise. ++ (widget-image-find): Center image specs. ++ ++ 2010-10-24 Glenn Morris ++ ++ * term/ns-win.el (x-select-text): Doc fix. ++ * w32-fns.el (x-alternatives-map, x-setup-function-keys) ++ (x-select-text): Move to term/common-win. ++ * term/w32-win.el (xw-defined-colors): Move to common-win. ++ * term/x-win.el (xw-defined-colors, x-alternatives-map) ++ (x-setup-function-keys, x-select-text): Move to common-win. ++ * term/common-win.el (x-select-text, x-alternatives-map) ++ (x-setup-function-keys, xw-defined-colors): Merge x- and w32- ++ definitions here. ++ ++ 2010-10-24 T.V. Raman (tiny change) ++ ++ * net/mairix.el (mairix-searches-mode-map): ++ * mail/mspools.el (mspools-mode-map): Fix 2010-10-10 change. ++ ++ 2010-10-24 Michael McNamara ++ ++ * verilog-mode.el (verilog-directive-re): Make this variable ++ auto-built for efficiency of execution and updating. ++ (verilog-extended-complete-re): Support 'pure' fucntion & task ++ declarations (these have no bodies). ++ (verilog-beg-of-statement): general cleanup to enable support of ++ 'pure' fucntion & task declarations (these have no bodies). These ++ efforts together fix Verilog bug210 from veripool; which was also ++ noticed by Steve Pearlmutter. ++ (verilog-directive-re, verilog-directive-begin, verilog-indent-re) ++ (verilog-directive-nest-re, verilog-set-auto-endcomments): Support ++ `elsif. Reported by Shankar Giri. ++ (verilog-forward-ws&directives, verilog-in-attribute-p): Fixes for ++ attribute handling for lining up declarations and assignments. ++ (verilog-beg-of-statement-1): Fix issue where continued declaration ++ is indented differently if it is after a begin..end clock. ++ (verilog-in-attribute-p, verilog-skip-backward-comments) ++ (verilog-skip-forward-comment-p): Support proper treatment of ++ attributes by indent code. Reported by Jeff Steele. ++ (verilog-in-directive-p): Fix comment to correctly describe ++ function. ++ (verilog-backward-up-list, verilog-in-struct-region-p) ++ (verilog-backward-token, verilog-in-struct-p) ++ (verilog-in-coverage-p, verilog-do-indent) ++ (verilog-pretty-declarations): Use verilog-backward-up-list as ++ wrapper around backward-up-list inorder to properly skip comments. ++ Reported by David Rogoff. ++ (verilog-property-re, verilog-endcomment-reason-re) ++ (verilog-beg-of-statement, verilog-set-auto-endcomments) ++ (verilog-calc-1 ): Fix for assert a; else b; indentation (new form ++ of if). Reported by Max Bjurling and ++ (verilog-calc-1): Fix for clocking block in modport ++ declaration. Reported by Brian Hunter. ++ ++ 2010-10-24 Wilson Snyder ++ ++ * verilog-mode.el (verilog-auto-inst, verilog-gate-ios) ++ (verilog-gate-keywords, verilog-read-sub-decls) ++ (verilog-read-sub-decls-gate, verilog-read-sub-decls-gate-ios) ++ (verilog-read-sub-decls-line, verilog-read-sub-decls-sig): Support ++ AUTOINST for gate primitives, bug284. Reported by Mark Johnson. ++ (verilog-read-decls): Fix spaces in V2K module parameters causing ++ mis-identification as interfaces, bug287. ++ (verilog-read-decls): Fix not treating "parameter string" as a ++ parameter in AUTOINSTPARAM. ++ (verilog-read-always-signals-recurse, verilog-read-decls): Fix not ++ treating `elsif similar to `endif inside AUTOSENSE. ++ (verilog-do-indent): Implement correct automatic or static task or ++ function end comment highlight. Reported by Steve Pearlmutter. ++ (verilog-font-lock-keywords-2): Fix highlighting of single ++ character pins, bug264. Reported by Michael Laajanen. ++ (verilog-auto-inst, verilog-read-decls, verilog-read-sub-decls) ++ (verilog-read-sub-decls-in-interfaced, verilog-read-sub-decls-sig) ++ (verilog-subdecls-get-interfaced, verilog-subdecls-new): Support ++ interfaces with AUTOINST, bug270. Reported by Luis Gutierrez. ++ (verilog-pretty-expr): Fix interactive arguments, bug272. Reported ++ by Mark Johnson. ++ (verilog-auto-tieoff, verilog-auto-tieoff-ignore-regexp): Add ++ 'verilog-auto-tieoff-ignore-regexp' for AUTOTIEOFF, ++ bug269. Suggested by Gary Delp. ++ (verilog-mode-map, verilog-preprocess, verilog-preprocess-history) ++ (verilog-preprocessor, verilog-set-compile-command): Create ++ verilog-preprocess and verilog-preprocessor to show preprocessed ++ output. ++ (verilog-get-beg-of-line, verilog-get-end-of-line) ++ (verilog-modi-file-or-buffer, verilog-modi-name) ++ (verilog-modi-point, verilog-within-string): Move defmacro's ++ before first use to avoid warning. Reported by Steve Pearlmutter. ++ (verilog-colorize-buffer, verilog-colorize-include-files-buffer) ++ (verilog-colorize-region, verilog-highlight-buffer) ++ (verilog-highlight-includes, verilog-highlight-modules) ++ (verilog-highlight-region, verilog-mode): Rename colorize to ++ highlight to match other packages. Disable module highlighting, ++ as received speed complaints, reenable for experimentation only ++ using new verilog-highlight-modules. ++ (verilog-read-decls): Fix regexp stack overflow in very large ++ AUTO_TEMPLATEs, bug250. ++ (verilog-auto, verilog-delete-auto, verilog-save-buffer-state) ++ (verilog-scan): Create verilog-save-buffer-state to standardize ++ making insignificant changes that shouldn't call hooks. ++ (verilog-save-no-change-functions, verilog-save-scan-cache) ++ (verilog-scan, verilog-scan-cache-ok-p, verilog-scan-region): ++ Create verilog-save-no-change-functions to wrap verilog-scan ++ preservation, and fix to work with nested preserved calls. ++ (verilog-auto-inst, verilog-auto-inst-dot-name): Support .name ++ port syntax for AUTOWIRE, and with new verilog-auto-inst-dot-name ++ generate .name with AUTOINST, bug245. Suggested by David Rogoff. ++ (verilog-submit-bug-report): Update variable list to be complete. ++ (verilog-auto, verilog-colorize-region): Fix AUTO expansion ++ breaking on-the-fly font-locking. ++ (verilog-colorize-buffer, verilog-colorize-include-files) ++ (verilog-colorize-include-files-buffer, verilog-colorize-region) ++ (verilog-load-file-at-mouse, verilog-load-file-at-point) ++ (verilog-mode, verilog-read-inst-module-matcher): With point on a ++ AUTOINST cell instance name, middle mouse button now finds-file on ++ it. Suggested by Brad Dobbie. ++ (verilog-alw-get-temps, verilog-auto-reset) ++ (verilog-auto-sense-sigs, verilog-read-always-signals) ++ (verilog-read-always-signals-recurse): Fix loop indexes being ++ AUTORESET. AUTORESET now assumes any variables in the ++ initialization section of a for() should be ignored. Reported by ++ Dan Dever. ++ (verilog-error-font-lock-keywords) ++ (verilog-error-regexp-emacs-alist) ++ (verilog-error-regexp-xemacs-alist): Fix error detection of ++ Cadence HAL, reported by David Asher. Repair drift between the ++ three similar error variables. ++ (verilog-modi-lookup, verilog-modi-lookup-cache) ++ (verilog-modi-lookup-last-current, verilog-modi-lookup-last-mod) ++ (verilog-modi-lookup-last-modi, verilog-modi-lookup-last-tick): ++ Fix slow verilog-auto expansion on very large files. ++ (verilog-read-sub-decls-expr, verilog-read-sub-decls-line): Fix ++ AUTOOUTPUT treating "1*2" as a signal name in submodule connection ++ "{1*2{...". Broke in last revision. ++ (verilog-read-sub-decls-expr): Fix AUTOOUTPUT not detecting ++ submodule connections with replications "{#{a},#{b}}". ++ ++ 2010-10-24 Juanma Barranquero ++ ++ * progmodes/dcl-mode.el (dcl-electric-reindent-regexps): ++ Fix typo in docstring. ++ ++ 2010-10-24 Kenichi Handa ++ ++ * face-remap.el (text-scale-adjust): Call read-event with a proper ++ prompt. ++ ++ 2010-10-24 Chong Yidong ++ ++ * emacs-lisp/unsafep.el: Don't mark functions that display ++ messages as safe. Suggested by Johan Bockgård. ++ ++ 2010-10-24 Stefan Monnier ++ ++ * emacs-lisp/regexp-opt.el (regexp-opt-group, regexp-opt-charset): ++ Turn comments into docstrings. ++ ++ * minibuffer.el (completion--replace): Move point where it belongs ++ when there's a common suffix (bug#7215). ++ ++ 2010-10-24 Chong Yidong ++ ++ Merge read-color and facemenu-read-color (Bug#7242). ++ ++ * faces.el (read-color): Use the completion code from ++ facemenu-read-color. Require match in completion. Doc fix. ++ ++ * facemenu.el (facemenu-read-color): Alias for read-color. ++ (facemenu-set-foreground, facemenu-set-background): Use ++ read-color. ++ ++ * frame.el (set-background-color, set-foreground-color) ++ (set-cursor-color, set-mouse-color, set-border-color): Use ++ read-color. ++ ++ 2010-10-24 Leo ++ ++ * eshell/em-unix.el (eshell-remove-entries): Use the TRASH ++ argument of delete-file and delete-directory (Bug#7011). ++ ++ 2010-10-24 Chong Yidong ++ ++ * emacs-lisp/package.el (package-menu-mode-map): Inherit from ++ button-buffer-map. ++ ++ 2010-10-24 Ralf Angeli ++ ++ * emacs-lisp/package.el (package--generate-package-list): Make the ++ *Packages* buffer read-only. ++ ++ 2010-10-24 Alan Mackenzie ++ ++ * progmodes/cc-fonts.el (c-font-lock-declarations): Cache the ++ result of `c-beginning-of-decl-1' between invocations of a lambda ++ function (Bug #7265). ++ ++ 2010-10-24 Daiki Ueno ++ ++ * epg-config.el (epg-gpg-program): Try to use "gpg2" if "gpg" ++ executable is not available on the system (Bug#7268). ++ ++ 2010-10-24 Glenn Morris ++ ++ * select.el (selection-coding-system, next-selection-coding-system): ++ Sync doc with C versions. ++ ++ * w32-vars.el (x-select-enable-clipboard): ++ * term/x-win.el (x-select-enable-clipboard): Move to common-win. ++ * term/common-win.el (x-select-enable-clipboard): Move here. ++ ++ * term/tty-colors.el (tty-defined-color-alist): Remove duplicate ++ definition of C variable. ++ ++ * frame.el (show-trailing-whitespace, auto-hscroll-mode) ++ (display-hourglass, hourglass-delay, cursor-in-non-selected-windows): ++ Don't redefine things that are defined in C. ++ * cus-start.el: Also handle :risky, :safe, :set, and :tag. ++ (show-trailing-whitespace, auto-hscroll-mode) ++ (display-hourglass, hourglass-delay, cursor-in-non-selected-windows): ++ Set up the appropriate custom properties. ++ ++ 2010-10-24 Chong Yidong ++ ++ Bind "C-c ]" to ... ++ * progmodes/f90.el (f90-mode-map): ... f90-insert-end. ++ * nxml/nxml-mode.el (nxml-mode-map): ... nxml-finish-element. ++ * textmodes/tex-mode.el (tex-mode-map): ... latex-close-block. ++ * textmodes/sgml-mode.el (sgml-mode-map): ... sgml-close-tag. ++ ++ 2010-10-23 Glenn Morris ++ ++ * textmodes/flyspell.el (flyspell-mode): If there was an error, ++ say what it was. ++ ++ * frame.el (auto-hscroll-mode, cursor-in-non-selected-windows): ++ Sync docs with C version. ++ ++ * term/ns-win.el (xw-defined-colors): ++ * term/x-win.el (xw-defined-colors): Make docs identical to w32-win. ++ ++ * term/pc-win.el (x-select-enable-clipboard): ++ * term/x-win.el (x-select-enable-clipboard): ++ * w32-vars.el (x-select-enable-clipboard): Make doc-strings identical. ++ ++ * comint.el (comint-password-prompt-regexp): Make it less vague. ++ Bump version. ++ ++ * help-fns.el (doc-file-to-man, doc-file-to-info): New commands. ++ ++ * help.el (finder-by-keyword): Remove unnecessary autoload. ++ ++ 2010-10-22 Glenn Morris ++ ++ * loadup.el: Unconditionally load float-sup. ++ * paren.el (show-paren-delay): ++ * emacs-lisp/float-sup.el: ++ * emulation/cua-base.el (cua-prefix-override-inhibit-delay): ++ * obsolete/lazy-lock.el (lazy-lock-defer-time, lazy-lock-stealth-nice) ++ (lazy-lock-stealth-verbose): Assume float support. ++ * ps-print.el: Assume float support on Emacs. ++ * emacs-lisp/timer.el (timer-next-integral-multiple-of-time): ++ Remove non-float branch. ++ ++ * emacs-lisp/autoload.el (batch-update-autoloads): Update for ++ src/Makefile no longer being pre-processed. ++ ++ 2010-10-22 Stefan Monnier ++ ++ * emacs-lisp/find-func.el (find-library): Use test-completion. ++ ++ 2010-10-21 Lars Magne Ingebrigtsen ++ ++ * newcomment.el (comment-dwim): Fix the intentation in the doc string. ++ ++ 010-10-21 Michael Albinus ++ ++ * net/tramp-sh.el (tramp-do-file-attributes-with-stat): Do not use ++ space in stat format string. ++ (tramp-send-command): Unset $PS1 when using here documents, in ++ order not to get several prompts. ++ (tramp-get-inline-coding): Return `nil' in case of errors. ++ ++ 2010-10-21 Daiki Ueno ++ ++ * hexl.el (hexl-mode, hexl-mode-exit): ++ Tweak revert-buffer-function to inhibit auto-mode-alist (Bug#7252). ++ (hexl-revert-buffer-function): New function. ++ (hexl-before-revert-hook, hexl-after-revert-hook): Abolish. ++ ++ 2010-10-19 Alan Mackenzie ++ ++ * progmodes/cc-langs.el (c-type-decl-prefix-key): C++ bit: ++ Move "\(const\|throw\|volatile\)\>" nearer the start of the regexp, so ++ that these keywords aren't wrongly matched as identifiers. ++ ++ * progmodes/cc-mode.el (c-before-change, c-after-change): Move the ++ setting of c-new-BEG and c-new-END from c-before-change to ++ c-after-change. (Bug#7181) ++ ++ 2010-10-19 Chong Yidong ++ ++ * cus-face.el (custom-theme-set-faces): Revert 2010-10-18 change. ++ Don't mark as safe. ++ ++ * custom.el (custom-theme-set-variables): Likewise. ++ (load-theme): Add custom-theme-set-faces and ++ custom-theme-set-variables to safe-functions while loading. ++ (custom-enabled-themes): Mark as risky. ++ ++ 2010-10-18 Julien Danjou ++ ++ * bindings.el: Remove end dashes in default mode-line-format. ++ ++ 2010-10-19 Chong Yidong ++ ++ * bindings.el (global-map): Bind C-d to delete-char and deletechar ++ to delete-forward-char. ++ ++ * simple.el (normal-erase-is-backspace-mode): Remap delete to ++ deletechar, and hence delete-forward-char. ++ ++ 2010-10-19 Stefan Monnier ++ ++ * repeat.el (repeat): Use read-key (bug#6256). ++ ++ 2010-10-19 Chong Yidong ++ ++ * emacs-lisp/unsafep.el: Don't mark functions that display ++ messages as safe. Suggested by Johan Bockgård. ++ ++ 2010-10-19 Stefan Monnier ++ ++ * minibuffer.el (completion--replace): Move point where it belongs ++ when there's a common suffix (bug#7215). ++ ++ 2010-10-19 Kenichi Handa ++ ++ * international/characters.el: Add category '|' (word breakable) ++ to fullwidth characters. ++ ++ 2010-10-19 Michael Albinus ++ ++ * net/tramp-sh.el (tramp-do-file-attributes-with-stat) ++ (tramp-do-directory-files-and-attributes-with-stat): Use "e0" in ++ order to make stat results a float. Patch by Andreas Schwab ++ . ++ ++ 2010-10-18 Julien Danjou ++ ++ * avoid.el (mouse-avoidance-ignore-p): Ignore mouse when it is ++ hidden by `make-pointer-invisible'. ++ ++ 2010-10-18 Stefan Monnier ++ ++ * files.el (locate-file-completion-table): Strip non-matching elements ++ before checking length of list (bug#7238). ++ ++ 2010-10-18 Chong Yidong ++ ++ * custom.el (custom-theme-set-variables): Mark as a safe function. ++ (load-theme): Check forms using unsafep. ++ ++ * cus-face.el (custom-theme-set-faces): Mark as a safe function. ++ ++ 2010-10-17 Agustín Martín ++ ++ * textmodes/ispell.el (ispell-aspell-find-dictionary): ++ Fix aspell data file searching (bug#7230). ++ ++ 2010-10-16 Chong Yidong ++ ++ * cus-theme.el (custom-theme--migrate-settings): New var. ++ (customize-create-theme): Allow editing the `user' theme. ++ (custom-theme-add-variable, custom-theme-add-var-1) ++ (custom-theme-add-face, custom-theme-add-face-1): Add a checkbox ++ to the front of each variable or face widget. ++ (custom-theme-write): Save theme settings in the correct order. ++ Optionally, remove saved settings from user customizations. ++ (custom-theme-write-variables, custom-theme-write-faces): ++ Save only the checked widgets. ++ (customize-themes): Add a link for migrating custom settings. ++ ++ * custom.el (custom-declare-theme, provide-theme): ++ Use custom-theme-name-valid-p. ++ (custom-theme-name-valid-p): Remove checks that are now ++ unnecessary since themes no longer obey load-path. ++ ++ * cus-edit.el (custom-variable-value-create): For the simple ++ style, hide documentation string when hidden. ++ ++ 2010-10-16 Chong Yidong ++ ++ * cus-edit.el (custom-variable, custom-face): Combine the ++ :inhibit-magic and :display-style properties into a single ++ :custom-style property. ++ (custom-toggle-hide-variable, custom-toggle-hide-face): ++ New functions. If hiding an edited value, save it to :shown-value. ++ (custom-variable-value-create, custom-face-value-create): Use them. ++ (custom-magic-reset): Allow magic property to be unset. ++ ++ * custom.el: Custom themes no longer use load-path. ++ (custom-theme-load-path): New option. Change built-in theme ++ directory to etc/. ++ (custom-enabled-themes): Add custom-theme-load-path dependency. ++ (custom-theme--load-path): New function. ++ (load-theme, custom-available-themes): Use it. ++ ++ * cus-theme.el (describe-theme-1): Use custom-theme--load-path. ++ (customize-themes): Link to custom-theme-load-path variable. ++ (custom-theme-add-var-1, custom-theme-add-face-1): Use the ++ :custom-style property. ++ ++ * themes/*.el: Moved to etc/. ++ ++ 2010-10-16 Ralf Angeli ++ ++ * textmodes/reftex-cite.el ++ (reftex-extract-bib-entries-from-thebibliography): Do not move ++ point when searching for \bibitem entries. Match entries with ++ spaces or tabs in front of arguments. ++ ++ 2010-10-16 Chong Yidong ++ ++ * cus-theme.el (customize-create-theme): Delete overlays after ++ erasing. If given a THEME arg, display only the faces of that arg ++ instead of custom-theme--listed-faces. ++ (custom-theme-variable-menu, custom-theme-variable-action) ++ (custom-variable-reset-theme, custom-theme-delete-variable): Delete. ++ (custom-theme-add-variable, custom-theme-add-face): Apply value ++ from the theme settings, instead of the current value. ++ (custom-theme-add-var-1, custom-theme-add-face-1): New functions. ++ (custom-theme-visit-theme): Allow calling outside theme buffers. ++ (custom-theme-merge-theme): Don't enable the theme when merging. ++ (custom-theme-write-variables, custom-theme-write-faces): Use the ++ :shown-value properties to save buffer values, not global ones. ++ (customize-themes): Display a warning about user customizations. ++ ++ * cus-edit.el (custom-variable-value-create) ++ (custom-face-value-create): Obey new special properties ++ :shown-value and :inhibit-magic. ++ ++ 2010-10-15 Michael Albinus ++ ++ * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): ++ Suppress expansion of tabs to spaces. Reported by Dale Sedivec ++ . ++ ++ 2010-10-14 Kenichi Handa ++ ++ * mail/rmail.el (rmail-show-message-1): Catch an error of ++ base64-decode-region and just show an error message (bug#7165). ++ ++ * ps-mule.el (ps-mule-font-spec-list): Delete it. Not used anymore. ++ (ps-mule-begin-job): Fix for the case that only ENCODING is set in ++ a font-spec (bug#7197). ++ ++ 2010-10-14 Glenn Morris ++ ++ * mail/emacsbug.el (report-emacs-bug): Mention debbugs.gnu.org. ++ ++ 2010-10-14 Juanma Barranquero ++ ++ * international/mule.el (define-coding-system): ++ * international/titdic-cnv.el (quail-cxterm-package-ext-info): ++ * composite.el (compose-region): Fix typo in docstring. ++ ++ 2010-10-14 Chong Yidong ++ ++ * cus-face.el (custom-theme-set-faces): Call custom-push-theme ++ only after checking the theme-face property. ++ ++ * faces.el (face-spec-reset-face): Reset all attributes in one ++ single call to set-face-attribute. ++ (face-spec-match-p): Make it a defsubst. ++ (frame-set-background-mode): New arg KEEP-FACE-SPECS. ++ (x-create-frame-with-faces, tty-create-frame-with-faces) ++ (tty-set-up-initial-frame-faces): Don't recompute face specs in ++ frame-set-background-mode, since they are recomputed immediately ++ afterwards in face-set-after-frame-default. ++ (face-set-after-frame-default): Minor optimization. ++ (cursor): Provide non-trivial defface spec. ++ ++ * custom.el (custom-theme-recalc-face): Simplify. ++ ++ 2010-10-14 Jay Belanger ++ ++ * calc/calc-alg.el (math-var): Rename from `var'. ++ (math-is-polynomial, math-is-poly-rec): Replace `var' ++ with `math-var'. ++ ++ * calc/calcalg2.el (math-var): Rename from `var'. ++ (calcFunc-table, math-scan-for-limits): Replace `var' ++ with `math-var'. ++ ++ 2010-10-13 Glenn Morris ++ ++ * subr.el (last): Deal with dotted lists (reported in bug#7174). ++ ++ 2010-10-13 Stephen Berman ++ ++ * subr.el (last): Use `safe-length' instead of `length' (bug#7206). ++ ++ 2010-10-13 Lars Magne Ingebrigtsen ++ ++ * net/tls.el (tls-program): Remove spurious %s from openssl. ++ (tls-starttls-switches): Remove starttls hack. ++ (open-tls-stream): Ditto. ++ (tls-find-starttls-argument): Ditto. ++ ++ 2010-10-13 Juanma Barranquero ++ ++ * image.el (image-library-alist): Declare as obsolete alias. ++ (image-type-available-p): Use `dynamic-library-alist'. ++ ++ * term/w32-win.el (dynamic-library-alist): ++ Use instead of `image-library-alist'. ++ ++ 2010-10-13 IRIE Shinsuke (tiny change) ++ ++ * subr.el (last): Make it faster. (Bug#7174) ++ ++ 2010-10-13 Rainer Orth (tiny change) ++ ++ * Makefile.in (compile-clean): Use `` instead of $(). (Bug#7178) ++ ++ 2010-10-12 Chong Yidong ++ ++ * cus-theme.el (custom-theme--listed-faces): Add cursor face. ++ (describe-theme-1): Extract doc from unloaded themes. ++ ++ * custom.el (custom-theme-name-valid-p): Don't list color-themes. ++ ++ * themes/tango-theme.el: ++ * themes/tango-dark-theme.el: ++ * themes/wheatgrass-theme.el: New files. ++ ++ 2010-10-12 Chong Yidong ++ ++ * cus-theme.el (describe-theme, customize-themes) ++ (custom-theme-save): New commands. ++ (custom-new-theme-mode-map): Bind C-x C-s. ++ (custom-new-theme-mode): Use custom--initialize-widget-variables. ++ (customize-create-theme): New optional arg THEME. ++ (custom-theme-revert): Use it. ++ (custom-theme-visit-theme): Remove dead code. ++ (custom-theme-merge-theme): Use custom-available-themes. ++ (custom-theme-write): Make interactive. ++ (custom-theme-write): Use custom-theme-name-valid-p. ++ (describe-theme-1, custom-theme-choose-revert) ++ (custom-theme-checkbox-toggle, custom-theme-selections-toggle): ++ New funs. ++ (custom-theme-allow-multiple-selections): New option. ++ (custom-theme-choose-mode): New major mode. ++ ++ * custom.el (custom-theme-set-variables): Remove dead code. ++ Obey custom--inhibit-theme-enable. ++ (custom--inhibit-theme-enable): New var. ++ (provide-theme): Obey it. ++ (load-theme): Replace load with manual read/eval, in order to ++ check for correctness. Use custom-theme-name-valid-p. ++ (custom-theme-name-valid-p): New function. ++ (custom-available-themes): Use it. ++ ++ * cus-edit.el (custom--initialize-widget-variables): New function. ++ (Custom-mode): Use it. ++ ++ * cus-face.el (custom-theme-set-faces): Remove dead code. ++ Obey custom--inhibit-theme-enable. ++ ++ * help-mode.el (help-theme-def, help-theme-edit): New buttons. ++ ++ 2010-10-12 Juanma Barranquero ++ ++ * net/telnet.el (telnet-mode-map): Fix previous change (bug#7193). ++ ++ 2010-10-12 Jan Djärv ++ ++ * term/ns-win.el (ns-right-alternate-modifier): New defvar. ++ (ns-right-option-modifier): New alias for ns-right-alternate-modifier. ++ (mac-right-option-modifier): New alias for ns-right-option-modifier. ++ ++ * cus-start.el (all): ns-right-alternate-modifier is new. ++ ++ 2010-10-12 Stefan Monnier ++ ++ * emacs-lisp/lisp.el (lisp-completion-at-point): ++ Use emacs-lisp-mode-syntax-table for the whole function. ++ ++ 2010-10-12 David Koppelman ++ ++ * hi-lock.el (hi-lock-font-lock-hook): Check font-lock-fontified ++ instead of font-lock-mode before adding keywords. ++ Remove hi-lock-mode off code. Remove inhibit hack. ++ (hi-lock-set-pattern): Only add keywords if font-lock-fontified ++ non-nil; removed hook inhibit hack. ++ ++ 2010-10-12 Glenn Morris ++ ++ * emacs-lisp/shadow.el (find-emacs-lisp-shadows): Rename it... ++ (load-path-shadows-find): ... to this. ++ (list-load-path-shadows): Update for above change. ++ ++ * mail/mail-utils.el (mail-mbox-from): Also try return-path. ++ ++ 2010-10-11 Katsumi Yamaoka ++ ++ * mail/hashcash.el, net/imap.el, pgg-parse.el, pgg.el: ++ Fix comment for declare-function. ++ ++ 2010-10-11 Chong Yidong ++ ++ * custom.el (custom-fix-face-spec): New function; code moved from ++ custom-face-edit-fix-value. ++ (custom-push-theme): Use it when checking if a face has been ++ changed outside customize. ++ (custom-available-themes): New function. ++ (load-theme): Use it. ++ ++ * cus-edit.el (custom-face-edit-fix-value): Use custom-fix-face-spec. ++ ++ * custom.el (custom-push-theme): Cleanup (use cond). ++ (disable-theme): Recompute the saved-face property. ++ (custom-theme-recalc-face): Follow face alias before setting prop. ++ ++ * image.el (image-checkbox-checked, image-checkbox-unchecked): ++ New variables, containing checkbox images. ++ ++ * startup.el (fancy-startup-tail): ++ * wid-edit.el (checkbox): Use them. ++ ++ 2010-10-10 Dan Nicolaescu ++ ++ * shell.el (shell-mode-map): ++ * progmodes/modula2.el (m2-mode-map): ++ * progmodes/inf-lisp.el (inferior-lisp-mode-map): ++ * play/mpuz.el (mpuz-mode-map): ++ * play/landmark.el (lm-mode-map): ++ * play/decipher.el (decipher-mode-map): ++ * play/5x5.el (5x5-mode-map): ++ * net/telnet.el (telnet-mode-map): ++ * net/quickurl.el (quickurl-list-mode-map): ++ * net/mairix.el (mairix-searches-mode-map): ++ * net/eudc-hotlist.el (eudc-hotlist-mode-map): ++ * net/dig.el (dig-mode-map): ++ * mail/mspools.el (mspools-mode-map): ++ * hexl.el (hexl-mode-map): ++ * emulation/ws-mode.el (wordstar-C-k-map, wordstar-mode-map) ++ (wordstar-C-o-map, wordstar-C-q-map): ++ * emacs-lisp/edebug.el (edebug-eval-mode-map): ++ * emacs-lisp/chart.el (chart-map): ++ * edmacro.el (edmacro-mode-map): ++ * erc/erc-list.el (erc-list-menu-mode-map): ++ * array.el (array-mode-map): Declare and define in one step. ++ ++ * vc/log-view.el (log-view-mode-map): Bind revert-buffer. ++ ++ 2010-10-10 Daiki Ueno ++ ++ * epa.el (epa-passphrase-callback-function): Display filename ++ passed as the 3rd arg. ++ * epa-file.el (epa-file-passphrase-callback-function): ++ Pass filename to epa-passphrase-callback-function. ++ ++ 2010-10-09 Chong Yidong ++ ++ * cus-edit.el (custom-face-widget-to-spec) ++ (custom-face-get-current-spec, custom-face-state): New functions. ++ (custom-face-set, custom-face-mark-to-save) ++ (custom-face-value-create, custom-face-state-set): Use them. ++ ++ * cus-theme.el (custom-theme--listed-faces): New var. ++ (customize-create-theme): Use *Custom Theme* as the buffer name. ++ Set revert-buffer-function. Optional arg BUFFER. Insert all ++ faces listed in custom-theme--listed-faces. ++ (custom-theme-revert): New function. ++ (custom-theme-add-variable, custom-theme-add-face): Insert at the ++ bottom of the list. ++ (custom-theme-write): Prompt for theme name if empty. ++ (custom-theme-write-variables): Use dolist. ++ (custom-theme-write-faces): Handle hidden (collapsed) widgets. ++ ++ 2010-10-09 Alan Mackenzie ++ ++ Enhance fontification of declarators to take account of the ++ presence/absence of "typedef". ++ ++ * cc-engine.el (c-forward-type): New &optional param ++ "brace-block-too". ++ (c-forward-decl-or-cast-1): cdr of return value now indicates the ++ presence of either or both of a "struct"-like keyword and "typedef". ++ ++ * cc-fonts.el (c-complex-decl-matchers): Remove the heuristic ++ fontification of declarators which follow a "}". ++ (c-font-lock-declarations): Fontify declarators according to the ++ presence/absence of "typedef". ++ ++ * cc-langs.el (c-typedef-kwds c-typedef-key): New lang variable ++ for "typedef". ++ (c-typedef-decl-key): New lang variable built from ++ c-typedef-decl-kwds. ++ ++ 2010-10-09 Lars Magne Ingebrigtsen ++ ++ * ibuffer.el (ibuffer-mode-map): Don't redefine the cursor keys, ++ since that's too annoying. Move the filter groups commands to ++ TAB/backtab. ++ ++ * epa.el (epa-passphrase-callback-function): Say what we're ++ querying the password for. ++ ++ * ibuffer.el (ibuffer-visit-buffer): To mimick list-buffers ++ behaviour, don't bury the ibuffer buffer when visiting other buffers. ++ ++ 2010-10-08 Chong Yidong ++ ++ * cus-edit.el (custom-commands, custom-buffer-create-internal) ++ (custom-magic-value-create): Pad button tags with spaces. ++ (custom-face-edit): New variable. ++ (custom-face-value-create): Determine whether to use the usual ++ face editor here, instead of using custom-face-selected. ++ Pass face defaults to custom-face-edit widget. ++ (custom-face-selected, custom-display-unselected): Delete widgets. ++ (custom-display-unselected-match): Function removed. ++ (custom-face-set, custom-face-mark-to-save): ++ Accept custom-face-edit widgets as the direct widget child. ++ ++ * wid-edit.el (widget--completing-widget): New var. ++ (widget-default-complete): Bind it when doing completion. ++ (widget-string-complete, widget-file-complete): Use it. ++ ++ 2010-10-09 Glenn Morris ++ ++ * calendar/cal-hebrew.el (holiday-hebrew-rosh-hashanah) ++ (holiday-hebrew-passover, holiday-hebrew-tisha-b-av) ++ (holiday-hebrew-misc): Small simplifications. ++ ++ * emacs-lisp/authors.el (authors-valid-file-names): Add b2m.c. ++ ++ * net/browse-url.el: Don't require thingatpt, term, dired, ++ executable, or w3-auto when compiling. ++ (dired-get-filename, term-char-mode, term-send-down, term-send-string): ++ Declare. ++ (browse-url-text-emacs): Require term. ++ ++ 2010-10-08 Andreas Schwab ++ ++ * net/browse-url.el (browse-url-xdg-open): Remove use of /bin/sh. ++ ++ 2010-10-08 Glenn Morris ++ ++ * emacs-lisp/cl-compat.el, emacs-lisp/lmenu.el: Move to obsolete/. ++ ++ * emacs-lisp/shadow.el (lisp-shadow): Change prefix. ++ (shadows-compare-text-p): Make it an obsolete alias for... ++ (load-path-shadows-compare-text): ... new name. ++ (find-emacs-lisp-shadows): Update for above name change. ++ (load-path-shadows-same-file-or-nonexistent): New name for the old ++ shadow-same-file-or-nonexistent. ++ ++ 2010-10-08 Chong Yidong ++ ++ * minibuffer.el (completion--some, completion--do-completion) ++ (minibuffer-complete-and-exit, minibuffer-completion-help) ++ (completion-basic-try-completion) ++ (completion-basic-all-completions) ++ (completion-pcm--find-all-completions): Use lexical-let to ++ avoid some false matches in variable completion (Bug#7056) ++ ++ 2010-10-08 Olof Ohlsson Sax (tiny change) ++ ++ * vc-svn.el (vc-svn-merge-news): Use --non-interactive. (Bug#7152) ++ ++ 2010-10-08 Leo ++ ++ * dnd.el (dnd-get-local-file-name): If MUST-EXIST is non-nil, only ++ return non-nil if the file exists (Bug#7090). ++ ++ 2010-10-08 Stefan Monnier ++ ++ * minibuffer.el (completion--replace): ++ Better preserve markers (bug#7138). ++ ++ 2010-10-08 Juanma Barranquero ++ ++ * server.el (server-process-filter): Doc fix. ++ ++ 2010-10-08 Drew Adams ++ ++ * dired.el (dired-save-positions): Doc fix. (Bug#7119) ++ ++ 2010-10-08 Andreas Schwab ++ ++ * Makefile.in (ELCFILES): Update. ++ ++ 2010-10-08 Glenn Morris ++ ++ * vc/ediff-wind.el (ediff-setup-control-frame): ++ * vc/ediff-ptch.el (ediff-default-backup-extension): ++ * vc/ediff-diff.el (ediff-shell, ediff-diff-options) ++ (ediff-exec-process): Remove system-types emx, windows-95. ++ ++ * net/browse-url.el (browse-url-xdg-open): Shell-quote url. (Bug#7166) ++ ++ 2010-10-07 Chong Yidong ++ ++ * cus-edit.el (custom-variable, custom-face): Doc fix. ++ (custom-face-edit): Add value-create attribute. ++ (custom-face-edit-value-create) ++ (custom-face-edit-value-visibility-action): New functions. ++ Hide unused face attributes by default, and add a visibility toggle. ++ (custom-face-edit-deactivate): Show empty values with shadow face. ++ (custom-face-selected): Only use this for face specs with default ++ attributes. ++ (custom-face-value-create): Cleanup. ++ ++ * wid-edit.el (widget-checklist-value-create): Use dolist. ++ (widget-checklist-match-find): Make second arg optional. ++ ++ 2010-10-07 Glenn Morris ++ ++ * hilit-chg.el (hilit-chg-get-diff-info, hilit-chg-get-diff-list-hk): ++ Prefix things. ++ ++ * emacs-lisp/shadow.el (shadow-font-lock-keywords) ++ (load-path-shadows-mode, list-load-path-shadows): Rename shadow-mode to ++ load-path-shadows-mode, update references. ++ (load-path-shadows-font-lock-keywords, load-path-shadows-find-file): ++ Rename variable and button. ++ (list-load-path-shadows): Update button caller. ++ ++ 2010-10-07 Stefan Monnier ++ ++ * emacs-lisp/smie.el (smie-bnf-classify): New function. ++ (smie-bnf-precedence-table): Use it to remember the closers/openers. ++ (smie-merge-prec2s): Handle those new entries. ++ (smie-prec2-levels): Only set precedence to nil for actual ++ openers/closers. ++ * progmodes/octave-mod.el (octave-smie-op-levels): Remove dummy entry ++ that is now unnecessary. ++ ++ 2010-10-07 Miles Bader ++ ++ * emacs-lisp/regexp-opt.el (regexp-opt): Add `symbols' mode. ++ + 2010-10-07 Glenn Morris + + * mail/rmail.el (mail-sendmail-delimit-header, mail-header-end) + (mail-position-on-field): Remove declarations. + (mail-position-on-field): Autoload it. + (rmail-retry-failure): Replace use of mail-sendmail-delimit-header + and mail-header-end. Don't require sendmail. + + * emacs-lisp/shadow.el (shadow-font-lock-keywords): New variable. + (shadow-mode): New mode. + (shadow-find-file): New button. + (list-load-path-shadows): Use shadow-mode and buttons. + + * iimage.el (iimage-version): Remove. + (iimage-mode-image-search-path, iimage-mode-image-regex-alist): + Turn into defcustoms. + (iimage-mode-map): Give it a doc string. + + * calendar/appt.el (appt-activate): Give a warning rather than an error + if there is no diary-file. + + 2010-10-06 Michael Albinus + - * net/tramp-sh.el (tramp-sh-file-name-handler-alist): Use - `tramp-handle-find-backup-file-name'. ++ * net/tramp-sh.el (tramp-sh-file-name-handler-alist): ++ Use `tramp-handle-find-backup-file-name'. + + 2010-10-06 Glenn Morris + + * font-core.el (font-lock-defaults-alist): Remove variable. + (font-lock-mode): Doc fix. + (font-lock-default-function): Do not consult font-lock-defaults-alist. + * font-lock.el (font-lock-refresh-defaults): Doc fix. + (font-lock-set-defaults): Doc fix. + Do not consult font-lock-defaults-alist. + + * hilit-chg.el (hilit-chg-get-diff-list-hk): Declare `e' for compiler. + + * emacs-lisp/cl.el: No longer provide cl-19. + + 2010-10-05 Michael Albinus + + * net/tramp.el (tramp-handle-directory-files-and-attributes) + (tramp-handle-file-exists-p, tramp-handle-file-newer-than-file-p): + New defuns, taken from tramp-smb.el. + (tramp-coding-system-change-eol-conversion) - (tramp-set-process-query-on-exit-flag): Removed. ++ (tramp-set-process-query-on-exit-flag): Remove. + - * net/tramp-compat.el (top): Do not check for byte-compiler - objects. ++ * net/tramp-compat.el (top): Do not check for byte-compiler objects. + (tramp-compat-coding-system-change-eol-conversion) + (tramp-compat-set-process-query-on-exit-flag): New defuns, taken + from tramp.el. + + * net/tramp-gvfs.el: + * net/tramp-gw.el: Replace `tramp-set-process-query-on-exit-flag' + by `tramp-compat-set-process-query-on-exit-flag'. + - * net/tramp-imap.el (tramp-imap-file-name-handler-alist): Use - `tramp-handle-directory-files-and-attributes', ++ * net/tramp-imap.el (tramp-imap-file-name-handler-alist): ++ Use `tramp-handle-directory-files-and-attributes', + `tramp-handle-file-exists-p' and + `tramp-handle-file-newer-than-file-p'. + (tramp-imap-handle-file-exists-p) + (tramp-imap-handle-file-executable-p) + (tramp-imap-handle-file-readable-p) + (tramp-imap-handle-directory-files-and-attributes) - (tramp-imap-handle-file-newer-than-file-p): Removed. ++ (tramp-imap-handle-file-newer-than-file-p): Remove. + + * net/tramp-sh.el: Replace `tramp-set-process-query-on-exit-flag' + by `tramp-compat-set-process-query-on-exit-flag' and + `tramp-coding-system-change-eol-conversion' by + `tramp-compat-coding-system-change-eol-conversion'. + - * net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use - `tramp-handle-directory-files-and-attributes', ++ * net/tramp-smb.el (tramp-smb-file-name-handler-alist): ++ Use `tramp-handle-directory-files-and-attributes', + `tramp-handle-file-exists-p' and + `tramp-handle-file-newer-than-file-p'. + (tramp-smb-handle-directory-files-and-attributes) + (tramp-smb-handle-file-exists-p) - (tramp-smb-handle-file-newer-than-file-p): Removed. - (tramp-smb-maybe-open-connection): Replace - `tramp-set-process-query-on-exit-flag' by ++ (tramp-smb-handle-file-newer-than-file-p): Remove. ++ (tramp-smb-maybe-open-connection): ++ Replace `tramp-set-process-query-on-exit-flag' by + `tramp-compat-set-process-query-on-exit-flag'. + + 2010-10-05 Glenn Morris + + * obsolete/rnews.el, obsolete/rnewspost.el: Remove files. + + 2010-10-04 Michael Albinus + + Continue reorganization of load dependencies. (Bug#7156) + + * net/tramp.el (tramp-handle-file-local-copy-hook) + (tramp-delete-temp-file-function): Move down. + (tramp-exists-file-name-handler): Move up. + (tramp-register-file-name-handlers): Simplify autoload. + (tramp-handle-write-region-hook, tramp-handle-directory-file-name) + (tramp-handle-directory-files, tramp-handle-dired-uncache) + (tramp-handle-file-modes, tramp-handle-file-name-as-directory) + (tramp-handle-file-name-completion) + (tramp-handle-file-name-directory) + (tramp-handle-file-name-nondirectory, tramp-handle-file-regular-p) + (tramp-handle-file-remote-p, tramp-handle-file-symlink-p) + (tramp-handle-find-backup-file-name) + (tramp-handle-insert-file-contents, tramp-handle-load) + (tramp-handle-substitute-in-file-name) + (tramp-handle-unhandled-file-name-directory) + (tramp-mode-string-to-int, tramp-local-host-p) - (tramp-make-tramp-temp-file): Moved from tramp-sh.el. ++ (tramp-make-tramp-temp-file): Move from tramp-sh.el. + + * net/tramp-gvfs.el (top): + * net/tramp-smb.el (top): Do not require 'tramp-sh. + + * net/tramp-sh.el (all): Move several objects to tramp.el, see + there. Rename `tramp-handle-*' to `tramp-sh-handle-*'. + + 2010-10-04 Glenn Morris + + * calendar/appt.el (appt-add): Ensure reminders are enabled. + (appt-activate): Give status messages. + + 2010-10-03 Teodor Zlatanov + + * net/gnutls.el: Improve docs. Remove starttls and ssl emulation. + Provide only `open-gnutls-stream' (formerly `open-ssl-stream') and - `gnutls-negotiate' (formerly `starttls-negotiate'). Remove - trivial wrapper `starttls-open-stream'. ++ `gnutls-negotiate' (formerly `starttls-negotiate'). ++ Remove trivial wrapper `starttls-open-stream'. + + 2010-10-03 Dan Nicolaescu + + Make 'g' (AKA revert-buffer) rerun the VC log, log-incoming and + log-outgoing commands. + * vc/vc.el (vc-log-internal-common): Add a new argument and use it + to create a buffer local revert-buffer-function variable. + (vc-print-log-internal, vc-log-incoming, vc-log-outgoing): Pass a + revert-buffer-function lambda. + + 2010-10-03 Teodor Zlatanov + + * net/gnutls.el (starttls-negotiate): Use the plist interface to - `gnutls-boot'. Make TYPE the only required parameter. Allow - TRUSTFILES and KEYFILES to be lists. ++ `gnutls-boot'. Make TYPE the only required parameter. ++ Allow TRUSTFILES and KEYFILES to be lists. + (open-ssl-stream): Use it. + + 2010-10-03 Glenn Morris + + * subr.el (directory-sep-char): Remove obsolete variable. + * net/tramp-compat.el: Don't mess about with the byte-compiler unless + it is "necessary". + + * vc/vc-hooks.el (vc-header-alist): Remove obsolete variable. + * vc/vc.el (vc-static-header-alist): Doc fix. + * vc/vc-cvs.el (vc-cvs-header): + * vc/vc-rcs.el (vc-rcs-header): + * vc/vc-sccs.el (vc-sccs-header): + * vc/vc-svn.el (vc-svn-header): Do not consult vc-header-alist. + * obsolete/vc-mcvs.el (vc-mcvs-header): + * progmodes/cperl-mode.el (cperl-mode): Only set vc-header-alist + on XEmacs. + + 2010-10-03 Chong Yidong + - * emacs-lisp/bytecomp.el (byte-compile-from-buffer): Remove - obsolete use of binary-overwrite-mode (Bug#7001). ++ * emacs-lisp/bytecomp.el (byte-compile-from-buffer): ++ Remove obsolete use of binary-overwrite-mode (Bug#7001). + + 2010-10-03 Glenn Morris + + * obsolete/x-menu.el: Remove file, obsolete since 21.1 + + * textmodes/rst.el (rst-font-lock-keywords-function): + Drop Emacs 20 code. + + * textmodes/artist.el (artist-replace-char): Drop Emacs 20 code. + + * printing.el: Drop Emacs 20 code. + + * calendar/appt.el (appt-delete): Don't autoload it (you can't use it + without having used appt.el already). + + * subr.el (make-local-hook): Remove function obsolete since 21.1. + * progmodes/cc-mode.el (make-local-hook): Don't do cc-bytecomp stuff. + (c-basic-common-init, c-font-lock-init): Only call make-local-hook on + XEmacs. + * progmodes/cc-styles.el (make-local-hook): Don't do cc-bytecomp stuff. + (c-make-styles-buffer-local): Only call make-local-hook on XEmacs. + + * ps-def.el (leading-code-private-22, charset-bytes, charset-id) + (charset-width, find-charset-region, chars-in-region, forward-point) + (encode-coding-string, coding-system-p, ccl-execute-on-string) + (define-ccl-program, multibyte-string-p, string-make-multibyte): + Remove compatibility cruft (none of these are used by ps*.el). + + 2010-10-03 Kevin Rodgers + + * subr.el (booleanp): Return t instead of a list (Bug#7086). + + 2010-10-03 Chong Yidong + - * server.el (server-process-filter, server-return-error): Give - emacsclient time to shut down after receiving an error string. ++ * server.el (server-process-filter, server-return-error): ++ Give emacsclient time to shut down after receiving an error string. + + 2010-10-02 Michael Albinus + + * files.el (remote-file-name-inhibit-cache): New defcustom. + - * time.el (display-time-file-nonempty-p): Use - `remote-file-name-inhibit-cache'. ++ * time.el (display-time-file-nonempty-p): ++ Use `remote-file-name-inhibit-cache'. + - * net/tramp.el (tramp-completion-reread-directory-timeout): Fix - docstring. ++ * net/tramp.el (tramp-completion-reread-directory-timeout): ++ Fix docstring. + + * net/tramp-cache.el (tramp-cache-inhibit-cache): Remove. + (tramp-get-file-property): Replace `tramp-cache-inhibit-cache' by + `remote-file-name-inhibit-cache'. Check also for an integer + value. Add/increase counter when `tramp-verbose' >= 10. + (tramp-set-file-property): Add/increase counter when + `tramp-verbose' >= 10. + + * net/tramp-cmds.el (tramp-cleanup-all-connections) + (tramp-cleanup-all-buffers): Set tramp-autoload cookie. + (tramp-bug): Set tramp-autoload cookie. Report all interned + tramp-* variables. Report also `remote-file-name-inhibit-cache'. + (tramp-reporter-dump-variable): Fix docstring. Mask non-7bit + characters only in strings. + + * net/tramp-compat.el (remote-file-name-inhibit-cache): Define due + to backward compatibility. + + * net/tramp-sh.el (tramp-handle-verify-visited-file-modtime) + (tramp-handle-file-name-all-completions) - (tramp-handle-vc-registered): Use - `remote-file-name-inhibit-cache'. - (tramp-open-connection-setup-interactive-shell): Call - `tramp-cleanup-connection' directly. ++ (tramp-handle-vc-registered): Use `remote-file-name-inhibit-cache'. ++ (tramp-open-connection-setup-interactive-shell): ++ Call `tramp-cleanup-connection' directly. + + 2010-10-02 Glenn Morris + + * emacs-lisp/checkdoc.el (checkdoc-minor-keymap): Remove obsolete alias. + + * subr.el (char-bytes): Remove obsolete function. + + * isearch.el (isearch-return-char): Remove obsolete function. + + * mouse.el: No longer provide mldrag. + (mldrag-drag-mode-line, mldrag-drag-vertical-line): + Remove obsolete aliases. + + * comint.el (comint-kill-output): Remove obsolete alias. + + * composite.el (decompose-composite-char): Remove obsolete function. + * ps-def.el (decompose-composite-char): Remove unused function. + + * iswitchb.el (iswitchb-default-keybindings): Remove obsolete function. + + * outline.el (outline-visible): Remove obsolete function. + + * term/pc-win.el (x-frob-font-slant, x-frob-font-weight): + * faces.el (internal-find-face, internal-get-face) + (frame-update-faces, frame-update-face-colors) + (x-frob-font-weight, x-frob-font-slant) + (internal-frob-font-weight, internal-frob-font-slant) + (x-make-font-bold, x-make-font-demibold, x-make-font-unbold) + (x-make-font-italic, x-make-font-oblique, x-make-font-unitalic) + (x-make-font-bold-italic): Remove functions and aliases, obsolete + since Emacs 21.1. + * emulation/viper-util.el (viper-get-face): + * obsolete/lucid.el (find-face, get-face): Use facep. + * vc/ediff-init.el (ediff-valid-color-p, ediff-get-face): + Remove unused functions. + * vc/ediff-util.el (ediff-submit-report): Doc fix. + + * emacs-lisp/bytecomp.el (byte-compile-file): Use kill-emacs-hook to + delete tempfile if interrupted during compilation. + + 2010-10-01 Lars Magne Ingebrigtsen + + * net/tls.el (tls-starttls-switches): Give up on using starttls with + gnutls-cli. + (tls-program): Add --insecure to be consistent with the defaults from + openssl s_client. Now all three commands are insecure. + + 2010-10-01 Eli Zaretskii + + * makefile.w32-in (DEST, TAGS, TAGS-LISP, TAGS-nmake) + (TAGS-LISP-nmake, TAGS-gmake, TAGS-LISP-gmake, TAGS-SH) + (TAGS-LISP-SH, TAGS-CMD, TAGS-LISP-CMD): New targets. + + 2010-10-01 Glenn Morris + + * obsolete/sc.el: Remove file. + + * files.el (temporary-file-directory): On darwin, also try + DARWIN_USER_TEMP_DIR (see discussion in bug#7135). + + 2010-10-01 Juanma Barranquero + + * server.el (server-start): Revert part of 2010-09-30T02:53:26Z!lekktu@gmail.com. + Let's not break compatibility gratuitously, shall we? + + 2010-09-30 Lars Magne Ingebrigtsen + + * net/tls.el (tls-starttls-switches): New variable. + (tls-find-starttls-argument): Use it. + (open-tls-stream): Ditto. + + * net/netrc.el (netrc-credentials): Return the value of the "default" + entry. + (netrc-machine): Ditto. + + 2010-09-30 Eli Zaretskii + + * vc/vc-hooks.el (vc-default-mode-line-string): Doc fix. + + 2010-09-30 Juanma Barranquero + + * server.el (server-start): Don't write pid to the authentication file. + (server-create-tty-frame): Don't send pid. + (server-process-filter): Send pid at the start of every connection. + + 2010-09-30 Glenn Morris + + * calendar/diary-lib.el (view-diary-entries, list-diary-entries) + (show-all-diary-entries): Remove obsolete function aliases. + + * calendar/appt.el (appt-issue-message, appt-visible, appt-msg-window): + Remove options, obsolete since 22.1. + (appt-display-format, appt-display-message): Remove + backwards-compatibility code. + (appt-check): No longer check appt-issue-message. + (appt-make-list): No longer autoload it. Doc fix. No longer + activate the package. + + 2010-09-29 Lars Magne Ingebrigtsen + + * net/gnutls.el (starttls-negotiate): Loop a lot longer. + (starttls-negotiate): Just call boot, and let the handshake be + triggered from the read loop. + + 2010-09-29 Glenn Morris + + * calendar/diary-lib.el (diary-list-entries): Use temp buffers when + not displaying the diary. + (diary-add-to-list): If no buffer-file-name, fall back to diary-file. + * calendar/appt.el (appt-check): No longer need to kill diary. + + * calendar/diary-lib.el (diary-list-entries): Move the + "Preparing..." message entirely here. + (diary-simple-display, diary-fancy-display): Move "Preparing..." + messages to diary-list-entries. + (diary-include-other-diary-files): Use LIST-ONLY rather than setting + diary-display-function. + + * calendar/diary-lib.el (diary-include-other-diary-files): + Trap some recursive includes. + + * calendar/appt.el (appt-activate): Check diary file. + + 2010-09-29 Katsumi Yamaoka + + * pgg.el (pgg-run-at-time-1): Define it for XEmacs only; fix if/else + construction. + + * calendar/time-date.el: No need to require cl for Emacs 21. + + 2010-09-28 Glenn Morris + + * calendar/appt.el (appt-check): Minor simplification. + + 2010-09-28 Katsumi Yamaoka + + * mail/sendmail.el (mail-citation-prefix-regexp): Remove "}" from + citation prefix. + + 2010-09-27 Andreas Schwab + + * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): + Avoid infinite recursion on erroneous lambda form. (Bug#7114) + + 2010-09-27 Kenichi Handa + + * tar-mode.el (tar-header-block-tokenize): Decode filenames in + "ustar" format. + + 2010-09-27 Kenichi Handa + + * international/mule.el (define-coding-system): Docstring fixed. + + * international/mule-diag.el (describe-character-set): Use princ + with proper print-length and print-level instead of insert. + + 2010-09-27 Juanma Barranquero + + * window.el (walk-windows): Doc fix (bug#7105). + + 2010-09-27 Stefan Monnier + + * emacs-lisp/float-sup.el (e): Remove. + + 2010-09-27 Teodor Zlatanov + + * net/gnutls.el (gnutls, gnutls-log-level): Add group and custom + variable. + (starttls-negotiate): Use it. + + 2010-09-27 Lars Magne Ingebrigtsen + + * net/gnutls.el (starttls-negotiate): Stop looping when we get a t + back. + + 2010-09-26 Stefan Monnier + + * emacs-lisp/pcase.el (pcase-let*, pcase-let): plet -> pcase-let. + + 2010-09-26 Lars Magne Ingebrigtsen + + * net/gnutls.el (starttls-negotiate): Avoid the cl.el decf function. + + * net/netrc.el (netrc-store-data): New function. + + 2010-09-26 Teodor Zlatanov + + * net/gnutls.el: GnuTLS glue code to set up a connection. + + 2010-09-25 Julien Danjou + + * notifications.el: Call dbus-register-signal only if it is bound. + + 2010-09-25 Glenn Morris + + * eshell/em-alias.el, eshell/em-banner.el, eshell/em-basic.el: + * eshell/em-cmpl.el, eshell/em-dirs.el, eshell/em-glob.el: + * eshell/em-hist.el, eshell/em-ls.el, eshell/em-pred.el: + * eshell/em-prompt.el, eshell/em-rebind.el, eshell/em-script.el: + * eshell/em-smart.el, eshell/em-term.el, eshell/em-unix.el: + * eshell/esh-cmd.el, eshell/esh-ext.el, eshell/esh-io.el: + * eshell/esh-mode.el, eshell/esh-proc.el, eshell/esh-test.el: + * eshell/esh-util.el, eshell/esh-var.el: + Remove leading `*' from docs of faces and defcustoms. + + 2010-09-25 Ulrich Mueller + + * eshell/em-ls.el (eshell-ls-archive-regexp): + * eshell/esh-util.el (eshell-tar-regexp): + * ibuffer.el (ibuffer-compressed-file-name-regexp): + * info.el (Info-suffix-list): + * international/mule.el (auto-coding-alist): + * woman.el (woman-file-regexp, woman-file-compression-regexp): + * progmodes/etags.el (tags-compression-info-list): + Support xz compression. + + 2010-09-25 Chong Yidong + + * files.el (get-free-disk-space): Don't assume the "df" output + columns line up (Bug#6995). + + 2010-09-25 Juanma Barranquero + + * finder.el (finder-unknown-keywords): + * progmodes/gdb-mi.el (gdb-jsonify-buffer, gdb-running-threads-count): + * progmodes/etags.el (tags-table-including): Fix typos in docstrings. + + 2010-09-25 Juanma Barranquero + + * server.el (server-start): Revert part of 2010-08-08 change. Using + address 127.0.0.1 for local host is now done in Fmake_network_process. + + 2010-09-24 Glenn Morris + + * image-mode.el, progmodes/compile.el, progmodes/gud.el: + * progmodes/mixal-mode.el, textmodes/bibtex-style.el: + * textmodes/css-mode.el, textmodes/dns-mode.el: + Move autoloaded auto-mode-alist entries to files.el. + * files.el (auto-mode-alist): Move entries here. + + 2010-09-23 Glenn Morris + + * isearch.el (isearch-lazy-highlight-cleanup) + (isearch-lazy-highlight-initial-delay) + (isearch-lazy-highlight-interval) + (isearch-lazy-highlight-max-at-a-time, isearch-lazy-highlight-face): + * net/net-utils.el (ipconfig-program-options): + Move aliases to options before the associated definitions. + + 2010-09-23 Stefan Monnier + + * newcomment.el (comment-normalize-vars): Better test validity of + comment-end-skip. + + 2010-09-23 Stefan Monnier + + * emacs-lisp/float-sup.el (float-pi): New name for `pi'. + (float-e): New name for `e'. + (degrees-to-radians, radians-to-degrees): + * calendar/solar.el (solar-longitude): + * calculator.el (calculator-registers, calculator-funcall): + * textmodes/artist.el (artist-spray-random-points): + * play/bubbles.el (bubbles--initialize-images): Use new names. + + 2010-09-23 Eric M. Ludlam + + Update to CEDET 1.0's version of EIEIO. + + * emacs-lisp/eieio.el (eieio-specialized-key-to-generic-key): + New function. + (eieio-defmethod, eieio-generic-form, eieio-generic-call): Use it. + (eieio-default-eval-maybe): Eval val instead of unquoting only. + (class-precedence-list): If class is nil, return nil. + (eieio-generic-call): If class of first input arg is nil, don't + look up static methods, and do check for primary methods. + (initialize-instance): See if the default needs to be evaluated + during the constructor. + (eieio-perform-slot-validation-for-default): Don't do the check + for values that will eventually be evaluated. + (eieio-eval-default-p): New function. + (eieio-default-eval-maybe): Use it. + + 2010-09-23 Jan Moringen + + * emacs-lisp/eieio.el (eieio-defclass): Allow :c3 + method-invocation-order. + (eieio-c3-candidate, eieio-c3-merge-lists): New functions. + (eieio-class-precedence-dfs): Compute class precedence list using + dfs algorithm. + (eieio-class-precedence-bfs): Compute class precedence list using + bfs algorithm. + (eieio-class-precedence-c3): Compute class precedence list using + c3 algorithm. + (class-precedence-list): New function. + (eieiomt-method-list, eieiomt-sym-optimize): Use it. + (inconsistent-class-hierarchy): New error symbol. + (call-next-method): Stow the replacement argument list for future + call-next-method invocations. + + 2010-09-23 Glenn Morris + + * calendar/appt.el (appt-check): If not displaying the diary, + use (diary 1) to only get the entries we need. + (appt-make-list): Sort diary-list-entries, if we cannot guarantee + that it is in day order. (Bug#7019) + + * calendar/appt.el (appt-check): Rather than showing the diary, + just turn off invisible display, and only if needed. + + * calendar/diary-lib.el (diary-list-entries): Doc fix. (Bug#7019) + + 2010-09-23 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-compile-file-form-defvar): + (byte-compile-defvar, byte-compile-cl-warn): + Start warnings with lower-case, like the majority. + + * files.el (auto-mode-alist): Add .xa, .xw, .xsw for ld-script-mode. + + * files.el (auto-mode-alist): Prefer C-mode for .xs. (Bug#7071) + + * progmodes/ld-script.el (auto-mode-alist): Move to files.el. + * files.el (auto-mode-alist): Move ld-script entries here, further down + the list. + + * vc/add-log.el: Don't require timezone when compiling. + (timezone-make-date-sortable): Autoload it. + (change-log-sortable-date-at): Don't require timezone. + Use `ignore-errors'. + + * comint.el (comint-use-prompt-regexp-instead-of-fields): + Move alias before definition, so it does not need autoloading. + + * emulation/crisp.el, emulation/cua-base.el, emulation/edt.el: + * emulation/pc-select.el, emulation/vip.el, international/iso-ascii.el: + * international/kkc.el, international/ogonek.el, mail/feedmail.el: + * net/browse-url.el, net/eudc-vars.el, net/net-utils.el: + * net/rcompile.el, net/rlogin.el, textmodes/enriched.el: + * textmodes/makeinfo.el, textmodes/page-ext.el, textmodes/picture.el: + * textmodes/refer.el, textmodes/spell.el, textmodes/table.el: + * textmodes/tex-mode.el, textmodes/two-column.el: + Remove leading `*' from docs of defcustoms etc. + + 2010-09-23 Teodor Zlatanov + + * net/netrc.el (netrc-parse): Remove encrypt.el mentions. + + 2010-09-22 Dan Christensen + + * calendar/time-date.el (date-to-time): Try using parse-time-string + first before using the slower timezone-make-date-arpa-standard. + + 2010-09-22 Katsumi Yamaoka + + * calendar/time-date.el (format-seconds): Comment fix. + + 2010-09-22 Glenn Morris + + * emacs-lisp/package.el (package-menu-mode): `revert-buffer-function' + is not automatically buffer-local. + + 2010-09-21 Stefan Monnier + + * emacs-lisp/smie.el (smie-debug--describe-cycle): Fix typo. + (smie-indent-comment): Be more careful with comment-start-skip. + (smie-indent-comment-close, smie-indent-comment-inside): New funs. + (smie-indent-functions): Use them. + + 2010-09-21 Michael Albinus + + * net/ange-ftp.el (ange-ftp-skip-msgs): Add "^504 ..." message. + + 2010-09-21 Jan Djärv + + * menu-bar.el (menu-bar-set-tool-bar-position): customize-set-variable + tool-bar-position. Don't modify frame parameters here. + (menu-bar-options-save): Add tool-bar-position. + + * tool-bar.el (tool-bar-position): New defcustom (Bug#7049). + + 2010-09-20 Stefan Monnier + + * textmodes/reftex-parse.el (reftex-what-macro) + (reftex-context-substring): Let-bind forward-sexp-function to nil + since we don't need/want to treat \begin...\end as a block (bug#7053). + + * emacs-lisp/lisp.el (up-list): Don't do nothing silently. + + * simple.el (blink-matching-open): Use syntax-class. + + * progmodes/pascal.el (pascal-mode): Use define-derived-mode. + Set invisibility spec for pascal's outline mode. + (pascal-outline-change): Clean up calling convention. + (pascal-show-all, pascal-hide-other-defuns): Update callers. + + * progmodes/prolog.el (prolog-smie-forward-token) + (prolog-smie-backward-token): New functions. + (prolog-mode-variables): Use them to parse "!," correctly. + Set up smie-blink-matching for ".". + + * textmodes/ispell.el (ispell-start, ispell-end): Rename from `start' + and `end'. + (ispell-region, ispell-process-line): Update users. + + * textmodes/reftex-parse.el (reftex-what-macro): Don't hardcode + point-min==1. + + * textmodes/ispell.el: Fix commenting convention. + (ispell-parse-output): Simplify, use push. + (ispell-region): Use match-string-no-properties. + (ispell-begin-skip-region-regexp): Use mapconcat to simplify. + (ispell-minor-mode): Use define-minor-mode. + (ispell-message): Remove unused var `skip-regexp'. + (ispell-add-per-file-word-list): Use dynamic let-binding. + Try and use the proper comment marker. + + * mail/sendmail.el: Fix commenting convention. + (sendmail-send-it): Use line-beginning-position. + + * help-fns.el (describe-variable): Add original value, if applicable. + + 2010-09-20 Juanma Barranquero + + * subr.el (y-or-n-p): Remove leftover code from 2010-09-17T13:30:30Z!monnier@iro.umontreal.ca. + + * emacs-lisp/smie.el (smie-indent--hanging-p): Use `smie-indent--bolp'. + + 2010-09-19 Stefan Monnier + + * emacs-lisp/smie.el (smie-bnf-precedence-table): Improve error message. + (smie-debug--prec2-cycle, smie-debug--describe-cycle): New functions. + (smie-prec2-levels): Use them to better diagnose precedence cycles. + (smie-blink-matching-check): Don't signal a mismatch if car is t. + (smie-blink-matching-open): Rewrite to remove assumptions, so that + something like "." can also be a closer. + (smie--associative-p, smie-indent--hanging-p, smie-indent--bolp) + (smie-indent--offset, smie-indent--offset-rule, smie-indent--column): + Rename internal functions to use "--". Update callers. + + * frame.el (make-frame-names-alist): Don't list frames on other displays. + + * fringe.el (fringe-styles): New var. + (fringe-mode, fringe-query-style): Use it. + + 2010-09-18 Michael R. Mauger + + * progmodes/sql.el: Version 2.8 + (sql-login-params): Update widget structure; changes still needed. + (sql-product-alist): Add :list-all and :list-table features for + SQLite, Postgres and MySQL products. + (sql-redirect): Handle default value. + (sql-execute, sql-execute-feature): New functions. + (sql-read-table-name): New function. + (sql-list-all, sql-list-table): New functions. User API. + (sql-mode-map, sql-interactive-mode-map): Add key definitions + for above functions. + (sql-mode-menu, sql-interactive-mode-menu): Add menu definitions + for above functions. + (sql-postgres-login-params): Add user and database defaults. + (sql-buffer-live-p): Bug fix. + (sql-product-history): New variable. + (sql-read-product): New function. Use it. + (sql-set-product, sql-product-interactive): Use it. + (sql-connection-history): New variable. + (sql-read-connection): New function. Use it. + (sql-connect): New function. + (sql-for-each-login): Redesign function interface. + (sql-make-alternate-buffer-name, sql-save-connection): Use it. + (sql-get-login-ext, sql-get-login): Use it. Handle default values. + (sql-comint): Check for program. Existing live buffer. + (sql-comint-postgres): Add port parameter. + + 2010-09-19 Stefan Monnier + + * emacs-lisp/warnings.el: Fix commenting convention. + (display-warning): Use special mode and make the buffer read-only. + + 2010-09-18 Jay Belanger + + * calc/calc-prog.el (calc-read-parse-table-part): Don't "fix" the + empty string when it follows a repeated or optional pattern. + + 2010-09-18 Stefan Monnier + + * indent.el (indent-according-to-mode): Apply syntax-propertize. + (indent-region): Use indent-according-to-mode. + + 2010-09-18 Eli Zaretskii + + * fringe.el (fringe-mode): Doc fix. + + 2010-09-14 Kan-Ru Chen (tiny change) + + * textmodes/nroff-mode.el (nroff-view): Kill old buffer before + refreshing the preview buffer. + + 2010-09-18 Stefan Monnier + + * textmodes/tex-mode.el (tex-syntax-propertize-rules) + (latex-syntax-propertize-rules): New consts; replace + tex-font-lock-syntactic-keywords. + (tex-env-mark, latex-env-before-change): New functions. + (latex-electric-env-pair-mode): New minor mode. + (tex-font-lock-verb): Change arguments; do move point. + (tex-font-lock-syntactic-face-function): Adjust to new verbatim + representation as a form of comment. + (tex-font-lock-keywords-1): Remove workaround, now unneeded. + (doctex-syntax-propertize-rules): New const; replaces + doctex-font-lock-syntactic-keywords. + (tex-common-initialization, doctex-mode): Use syntax-propertize-rules. + + * progmodes/fortran.el (fortran--font-lock-syntactic-keywords): Remove. + (fortran-make-syntax-propertize-function): New function; replaces + fortran-font-lock-syntactic-keywords. + (fortran-mode): Use it. + (fortran-line-length): Use it. Improve interactive spec. + + * emacs-lisp/syntax.el (syntax-propertize-precompile-rules): New macro. + (syntax-propertize-rules): Add var-ref case. Fix offset computation + when adding surrounding \(..\). + + * progmodes/js.el (js-mode): Fix last change (bug#7054). + + 2010-09-17 Stefan Monnier + + * obsolete/old-whitespace.el (whitespace-rescan-files-in-buffers): + Use with-current-buffer. + + * isearch.el (isearch-face): Rename from `isearch'. + (isearch-highlight): Use new name. + + 2010-09-17 Eli Zaretskii + + * fringe.el (fringe-mode, fringe-query-style): Use 4 pixels, not + 5, for `half' width fringes. (Bug#6933) + + 2010-09-17 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-file-form-defvar) + (byte-compile-defvar): "foo/bar" does not lack a prefix. + + * subr.el (y-or-n-p): Add the "(y or n)" that was lost somehow. + + 2010-09-17 Stephen Berman + + * dframe.el (dframe-reposition-frame-emacs): Use tool-bar-pixel-width + in calculating new frame position. Add more space between new and + parent on the left (Bug#7048). + + 2010-09-17 Michael Albinus + + * net/tramp-compat.el (tramp-compat-with-temp-message): Make it a + defmacro. + + 2010-09-16 Chong Yidong + + * mail/sendmail.el: Add "*unsent mail*" to same-window-buffer-names. + + * term/x-win.el (x-cut-buffer-or-selection-value): Define as + obsolete alias for x-selection-value. + + * ido.el (ido-make-buffer-list): Fix error in 2010-08-22 merge. + + 2010-09-16 Michael Albinus + + * net/tramp-cmds.el (tramp-cleanup-connection): Set tramp-autoload + cookie. + + 2010-09-15 Michael Albinus + + * net/tramp-compat.el (tramp-compat-with-temp-message) + (tramp-compat-font-lock-add-keywords, tramp-compat-process-get) + (tramp-compat-process-put): New defuns. + + * net/tramp.el (top): + * net/tramp-gvfs.el (top): + * net/tramp-cache.el (top): Use `tramp-compat-font-lock-add-keywords'. + + * net/tramp.el (tramp-progress-reporter-update): + Use `tramp-compat-funcall'. + + * net/tramp.el (tramp-process-actions): + * net/tramp-gvfs.el (tramp-handle-vc-registered): + * net/tramp-sh.el (tramp-gvfs-handler-askquestion) + (tramp-get-remote-stat, tramp-get-remote-readlink): + Use `tramp-compat-with-temp-message'. + + * net/tramp-sh.el (top): Require 'cl. + (tramp-handle-start-file-process): Use `tramp-compat-process-get'. + (tramp-open-connection-setup-interactive-shell): + Use `tramp-compat-process-put'. + + 2010-09-15 Alan Mackenzie + + * progmodes/cc-engine.el (c-forward-<>-arglist-recur): Correct the + indentation. + (c-forward-<>-arglist-recur): Fix an infinite recursion. + + 2010-09-15 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-warning-types): New type + `lexical' for warnings related to lexical scoping. + (byte-compile-file-form-defvar, byte-compile-defvar): Warn about + global vars which don't have a prefix and could hence affect lexical + scoping in unrelated files. + + 2010-09-14 Lars Magne Ingebrigtsen + + * net/imap.el: Revert back to version + cb950ed8ff3e0f40dac437a51b269166f9ffb60d, since some of the changes + seem problematic. + + 2010-09-14 Juanma Barranquero + + * obsolete/old-whitespace.el (whitespace-unload-function): + Explicitly pass `obarray' to `unintern' to avoid a warning. + + 2010-09-14 Stefan Monnier + + * emacs-lisp/byte-run.el (set-advertised-calling-convention): + Add `when' argument. Update callers. + + * subr.el (unintern): Declare the obarray arg mandatory. + + 2010-09-14 Glenn Morris + + * calendar/diary-lib.el (diary-list-entries-hook, diary-sort-entries): + Doc fixes. + + * calendar/diary-lib.el (diary-included-files): New variable. + (diary-list-entries): Maybe initialize diary-included-files. + (diary-include-other-diary-files): Append to diary-included-files. + * calendar/appt.el (appt-update-list): Also check the members of + diary-included-files. (Bug#6999) + (appt-check): Doc fix. + + 2010-09-14 David Reitter + + * simple.el (line-move-visual): Do not truncate goal column to + integer size. (Bug#7020) + + 2010-09-14 Stefan Monnier + + * repeat.el (repeat): Allow repeating when the last event is a click. + Suggested by Drew Adams (bug#6256). + + 2010-09-14 Sascha Wilde + + * vc/vc-hg.el (vc-hg-state,vc-hg-working-revision): + Replace setting HGRCPATH to "" by some less invasive --config options. + + 2010-09-14 Stefan Monnier + + * font-lock.el (font-lock-beginning-of-syntax-function): + Mark as obsolete. + + 2010-09-14 Glenn Morris + + * menu-bar.el (menu-bar-options-save): Fix handling of menu-bar + and tool-bar modes. (Bug#6211) + (menu-bar-mode): Move setting of standard-value after the + minor-mode definition, otherwise it seems to have no effect. + + 2010-09-14 Masatake YAMATO + + * progmodes/antlr-mode.el (antlr-font-lock-additional-keywords): + Fix typo. (Bug#6976) + + 2010-09-14 Vinicius Jose Latorre + + * whitespace.el: Allow cleaning up blanks without blank + visualization (Bug#6651). Adjust help window for + whitespace-toggle-options (Bug#6479). Allow to use fill-column + instead of whitespace-line-column (from EmacsWiki). New version 13.1. + (whitespace-style): Add new value 'face. Adjust docstring. + (whitespace-space, whitespace-hspace, whitespace-tab): + Adjust foreground property face. + (whitespace-line-column): Adjust docstring and type declaration. + (whitespace-style-value-list, whitespace-toggle-option-alist) + (whitespace-help-text): Adjust const initialization. + (whitespace-toggle-options, global-whitespace-toggle-options): + Adjust docstring. + (whitespace-display-window, whitespace-interactive-char) + (whitespace-style-face-p, whitespace-color-on): Adjust code. + (whitespace-help-scroll): New fun. + + 2010-09-14 Katsumi Yamaoka + + * calendar/time-date.el (format-seconds): Comment fix. + + 2010-09-13 Michael R. Mauger + + * progmodes/sql.el: Version 2.7. + (sql-buffer-live-p): Improve detection. + (sql-find-sqli-buffer, sql-set-sqli-buffer-generally) + (sql-set-sqli-buffer): Use it. + (sql-product-interactive): Run `sql-set-sqli-hook'. + (sql-rename-buffer): Code cleanup. + (sql-redirect, sql-redirect-value): New functions. More to come. + + 2010-09-13 Juanma Barranquero + + Port tramp-related Makefile changes of 2010-09-08T14:42:54Z!michael.albinus@gmx.de, 2010-09-13T15:17:01Z!michael.albinus@gmx.de to Windows. + * makefile.w32-in (LOADDEFS): Add $(lisp)/net/tramp-loaddefs.el. + (TRAMP_SRC): New macro. + ($(lisp)/net/tramp-loaddefs.el): New target. + + 2010-09-13 Michael Albinus + + Major code cleanup. Split tramp.el into tramp.el and tramp-sh.el. + + * Makefile.in (TRAMP_SRC): Remove tramp-fish.el. Add tramp-sh.el. + + * net/tramp.el (top): Don't show loading message. Require just + 'tramp-compat, everything else is required there. + Use `ignore-errors' where appropriate. + (tramp-inline-compress-start-size, tramp-copy-size-limit) + (tramp-terminal-type, tramp-end-of-output) + (tramp-initial-end-of-output, tramp-completion-function-alist-rsh) + (tramp-completion-function-alist-ssh) + (tramp-completion-function-alist-telnet) + (tramp-completion-function-alist-su) + (tramp-completion-function-alist-putty, tramp-remote-path) + (tramp-remote-process-environment, tramp-sh-extra-args) + (tramp-actions-before-shell, tramp-uudecode) + (tramp-perl-file-truename, tramp-perl-file-name-all-completions) + (tramp-perl-file-attributes) + (tramp-perl-directory-files-and-attributes) + (tramp-perl-encode-with-module, tramp-perl-decode-with-module) + (tramp-perl-encode, tramp-perl-decode) + (tramp-vc-registered-read-file-names, tramp-file-mode-type-map) + (tramp-file-name-handler-alist, tramp-make-tramp-temp-file) + (tramp-handle-make-symbolic-link, tramp-handle-load) + (tramp-handle-file-name-as-directory) + (tramp-handle-file-name-directory) + (tramp-handle-file-name-nondirectory, tramp-handle-file-truename) + (tramp-handle-file-exists-p, tramp-handle-file-attributes) + (tramp-do-file-attributes-with-ls) + (tramp-do-file-attributes-with-perl) + (tramp-do-file-attributes-with-stat) + (tramp-handle-set-visited-file-modtime) + (tramp-handle-verify-visited-file-modtime) + (tramp-handle-set-file-modes, tramp-handle-set-file-times) + (tramp-set-file-uid-gid, tramp-remote-selinux-p) + (tramp-handle-file-selinux-context) + (tramp-handle-set-file-selinux-context) + (tramp-handle-file-executable-p, tramp-handle-file-readable-p) + (tramp-handle-file-newer-than-file-p, tramp-handle-file-modes) + (tramp-handle-file-directory-p, tramp-handle-file-regular-p) + (tramp-handle-file-symlink-p, tramp-handle-file-writable-p) + (tramp-handle-file-ownership-preserved-p) + (tramp-handle-directory-file-name, tramp-handle-directory-files) + (tramp-handle-directory-files-and-attributes) + (tramp-do-directory-files-and-attributes-with-perl) + (tramp-do-directory-files-and-attributes-with-stat) + (tramp-handle-file-name-all-completions) + (tramp-handle-file-name-completion, tramp-handle-add-name-to-file) + (tramp-handle-copy-file, tramp-handle-copy-directory) + (tramp-handle-rename-file, tramp-do-copy-or-rename-file) + (tramp-do-copy-or-rename-file-via-buffer) + (tramp-do-copy-or-rename-file-directly) + (tramp-do-copy-or-rename-file-out-of-band) + (tramp-handle-make-directory, tramp-handle-delete-directory) + (tramp-handle-delete-file) + (tramp-handle-dired-recursive-delete-directory) + (tramp-handle-dired-compress-file, tramp-handle-dired-uncache) + (tramp-handle-insert-directory) + (tramp-handle-unhandled-file-name-directory) + (tramp-handle-expand-file-name) + (tramp-handle-substitute-in-file-name) + (tramp-handle-executable-find, tramp-process-sentinel) + (tramp-handle-start-file-process, tramp-handle-process-file) + (tramp-handle-call-process-region, tramp-handle-shell-command) + (tramp-handle-file-local-copy, tramp-handle-file-remote-p) + (tramp-handle-insert-file-contents) + (tramp-handle-insert-file-contents-literally) + (tramp-handle-find-backup-file-name) + (tramp-handle-make-auto-save-file-name, tramp-handle-write-region) + (tramp-vc-registered-file-names, tramp-handle-vc-registered) + (tramp-sh-file-name-handler, tramp-vc-file-name-handler) + (tramp-maybe-send-script, tramp-set-auto-save, tramp-run-test) + (tramp-run-test2, tramp-find-executable, tramp-set-remote-path) + (tramp-find-file-exists-command, tramp-open-shell) + (tramp-find-shell, tramp-barf-if-no-shell-prompt) + (tramp-open-connection-setup-interactive-shell) + (tramp-local-coding-commands, tramp-remote-coding-commands) + (tramp-find-inline-encoding, tramp-call-local-coding-command) + (tramp-inline-compress-commands, tramp-find-inline-compress) + (tramp-compute-multi-hops, tramp-maybe-open-connection) + (tramp-send-command, tramp-wait-for-output) + (tramp-send-command-and-check, tramp-barf-unless-okay) + (tramp-send-command-and-read, tramp-mode-string-to-int) + (tramp-convert-file-attributes, tramp-check-cached-permissions) + (tramp-file-mode-from-int, tramp-file-mode-permissions) + (tramp-shell-case-fold, tramp-make-copy-program-file-name) + (tramp-method-out-of-band-p, tramp-local-host-p) + (tramp-get-remote-path, tramp-get-remote-tmpdir) + (tramp-get-ls-command, tramp-get-ls-command-with-dired) + (tramp-get-test-command, tramp-get-test-nt-command) + (tramp-get-file-exists-command, tramp-get-remote-ln) + (tramp-get-remote-perl, tramp-get-remote-stat) + (tramp-get-remote-readlink, tramp-get-remote-trash) + (tramp-get-remote-id, tramp-get-remote-uid, tramp-get-remote-gid) + (tramp-get-local-uid, tramp-get-local-gid) + (tramp-get-inline-compress, tramp-get-inline-coding): Move to + tramp-sh.el. + (tramp-methods, tramp-default-method-alist) + (tramp-default-user-alist, tramp-foreign-file-name-handler-alist): + Move initialization to tramp-sh.el. + (tramp-temp-name-prefix): Make it a defconst. + (tramp-dissect-file-name): Don't check anymore for multi-hop + methods. + (tramp-debug-outline-regexp): Add a docstring. + (tramp-debug-outline-level): Rename from `tramp-outline-level'. + (tramp-get-debug-buffer): Use it. + + * net/tramp-cache.el (top): Set tramp-autoload cookie for + initialization forms. + (tramp-set-connection-property): Don't protect `tramp-message' + call, it isn't necessary any longer. + (tramp-dump-connection-properties): Use `ignore-errors'. + + * net/tramp-compat.el (top): Require 'advice, 'format-spec, + 'password-cache and 'auth-source. + + * net/tramp-gvfs.el (top): + * net/tramp-smb.el (top): Require 'tramp-sh. + + * net/tramp-gw.el (tramp-gw-open-network-stream): Use `ignore-errors'. + + * net/tramp-sh.el: New file, derived from tramp.el. + (top): Initialize `tramp-methods', `tramp-default-method-alist', + `tramp-default-user-alist', `tramp-foreign-file-name-handler-alist'. + Remove "scp1_old", "scp2_old", "ssh1_old", "ssh2_old". + Use `ignore-errors' where appropriate. + (tramp-sh-file-name-handler-alist): Rename from + `tramp-file-name-handler-alist'. + (tramp-send-command-and-check): Return t or nil. Remove all + `zerop' checks, where called. + (tramp-handle-set-file-modes) + (tramp-do-copy-or-rename-file-directly) + (tramp-handle-delete-directory, tramp-handle-delete-file) + (tramp-maybe-send-script): Use `tramp-barf-unless-okay'. + (tramp-sh-file-name-handler, tramp-send-command-and-check) + (tramp-get-remote-ln): Set tramp-autoload cookie. + + * net/tramp-fish.el: Remove file. + + 2010-09-13 Daiki Ueno + + * epa-file.el (epa-file-insert-file-contents): If visiting, bind + buffer-file-name to avoid file-locking. (Bug#7026) + + 2010-09-13 Julien Danjou + + * notifications.el (notifications-notify): Add support for + image-path and sound-name. + (notifications-specification-version): Add this variable. + + 2010-09-12 Stefan Monnier + + * subr.el (y-or-n-p): New function, moved from src/fns.c; use read-key. + + 2010-09-12 Leo + + * net/rcirc.el (rcirc-server-commands, rcirc-client-commands) + (rcirc-completion-start): New variables. + (rcirc-nick-completions): Rename to rcirc-completions. + (rcirc-nick-completion-start-offset): Delete. + (rcirc-completion-at-point): New function for constructing + completion data for both nicks and irc commands. Add to + completion-at-point-functions in rcirc mode. + (rcirc-complete): Rename from rcirc-nick-complete; use + rcirc-completion-at-point. + (defun-rcirc-command): Update rcirc-client-commands. + + 2010-09-11 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-compile-file): Create .elc files + atomically, to avoid parallel build errors. (Bug#4196) + + 2010-09-11 Michael R. Mauger + + * progmodes/sql.el: Version 2.6 + (sql-dialect): Synonym for "sql-product". + (sql-find-sqli-buffer, sql-set-sqli-buffer-generally) + (sql-set-sqli-buffer, sql-show-sqli-buffer, sql-interactive-mode): + Set "sql-buffer" to buffer name not buffer object so multiple sql + interactive buffers work properly. Reverts misguided changes in + earlier work. + (sql-comint): Make sure different buffer name is used if "*SQL*" + buffer is for a different product. + (sql-make-alternate-buffer-name): Fix bug with "sql-database" + login param. + (sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql) + (sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase) + (sql-db2, sql-linter, sql-product-interactive, sql-rename-buffer): + Accept new buffer name or prompt for one. + (sql-port): Default to zero. + (sql-comint-mysql): Handle "sql-port" as a numeric. + (sql-port-history): Delete unused variable. + (sql-get-login): Default "sql-port" to a number. + (sql-product-alist): Correct Postgres prompt and terminator regexp. + (sql-sqlite-program): Dynamically detect presence of "sqlite" or + "sqlite3" executables. + (sql-sqlite-login-params): Add "*.sqlite[23]?" database name pattern. + (sql-buffer-live-p): New function. + (sql-mode-menu, sql-send-string): Use it. + (sql-mode-oracle-font-lock-keywords): Improve SQL*Plus REMARK + syntax pattern. + (sql-mode-postgres-font-lock-keywords): Support Postgres V9. + (sql-mode-sqlite-font-lock-keywords): Hilight sqlite commands. + + 2010-09-10 Lars Magne Ingebrigtsen + + * net/netrc.el (netrc-credentials): New convenience function. + + 2010-09-10 Stefan Monnier + + * textmodes/texinfo.el (texinfo-syntax-propertize-function): New fun + to replace texinfo-font-lock-syntactic-keywords. + (texinfo-mode): Use it. + + * textmodes/tex-mode.el (tex-common-initialization, doctex-mode): + Use syntax-propertize-function. + + * textmodes/sgml-mode.el (sgml-syntax-propertize-function): New var to + replace sgml-font-lock-syntactic-keywords. + (sgml-mode): Use it. + + * textmodes/reftex.el (font-lock-syntactic-keywords): Don't declare + since we don't use it. + + * textmodes/bibtex.el (bibtex-mode): Use syntax-propertize-function. + + * progmodes/vhdl-mode.el (vhdl-mode): Use syntax-propertize-function + if available. + (vhdl-fontify-buffer): Adjust. + + * progmodes/tcl.el (tcl-syntax-propertize-function): New var to + replace tcl-font-lock-syntactic-keywords. + (tcl-mode): Use it. + + * progmodes/simula.el (simula-syntax-propertize-function): New var to + replace simula-font-lock-syntactic-keywords. + (simula-mode): Use it. + + * progmodes/sh-script.el (sh-st-symbol): Remove. + (sh-font-lock-close-heredoc, sh-font-lock-open-heredoc): Add eol arg. + (sh-font-lock-flush-syntax-ppss-cache, sh-font-lock-here-doc): Remove. + (sh-font-lock-quoted-subshell): Assume we've already matched $(. + (sh-font-lock-paren): Set syntax-multiline. + (sh-font-lock-syntactic-keywords): Remove. + (sh-syntax-propertize-function): New function to replace it. + (sh-mode): Use it. + + * progmodes/ruby-mode.el (ruby-here-doc-beg-re): + Define while compiling. + (ruby-here-doc-end-re, ruby-here-doc-beg-match) + (ruby-font-lock-syntactic-keywords, ruby-comment-beg-syntax) + (syntax-ppss, ruby-in-ppss-context-p, ruby-in-here-doc-p) + (ruby-here-doc-find-end, ruby-here-doc-beg-syntax) + (ruby-here-doc-end-syntax): Only define when + syntax-propertize is not available. + (ruby-syntax-propertize-function, ruby-syntax-propertize-heredoc): + New functions. + (ruby-in-ppss-context-p): Update to new syntax of heredocs. + (electric-indent-chars): Silence bytecompiler. + (ruby-mode): Use prog-mode, syntax-propertize-function, and + electric-indent-chars. + + * progmodes/python.el (python-syntax-propertize-function): New var to + replace python-font-lock-syntactic-keywords. + (python-mode): Use it. + (python-quote-syntax): Simplify and adjust to new use. + + * progmodes/perl-mode.el (perl-syntax-propertize-function): New fun to + replace perl-font-lock-syntactic-keywords. + (perl-syntax-propertize-special-constructs): New fun to replace + perl-font-lock-special-syntactic-constructs. + (perl-font-lock-syntactic-face-function): New fun. + (perl-mode): Use it. + + * progmodes/octave-mod.el (octave-syntax-propertize-sqs): New function + to replace octave-font-lock-close-quotes. + (octave-syntax-propertize-function): New function to replace + octave-font-lock-syntactic-keywords. + (octave-mode): Use it. + + * progmodes/mixal-mode.el (mixal-syntax-propertize-function): New var; + replaces mixal-font-lock-syntactic-keywords. + (mixal-mode): Use it. + + * progmodes/make-mode.el (makefile-syntax-propertize-function): + New var; replaces makefile-font-lock-syntactic-keywords. + (makefile-mode): Use it. + (makefile-imake-mode): Adjust. + + * progmodes/js.el (js--regexp-literal): Define while compiling. + (js-syntax-propertize-function): New var; replaces + js-font-lock-syntactic-keywords. + (js-mode): Use it. + + * progmodes/gud.el (gdb-script-syntax-propertize-function): New var; + replaces gdb-script-font-lock-syntactic-keywords. + (gdb-script-mode): Use it. + + * progmodes/fortran.el (fortran-mode): Use syntax-propertize-function. + (fortran--font-lock-syntactic-keywords): New var. + (fortran-line-length): Update syntax-propertize-function and + fortran--font-lock-syntactic-keywords. + + * progmodes/cperl-mode.el (cperl-mode): Use syntax-propertize-function. + + * progmodes/cfengine.el (cfengine-mode): + Use syntax-propertize-function. + (cfengine-font-lock-syntactic-keywords): Remove. + + * progmodes/autoconf.el (autoconf-mode): + Use syntax-propertize-function. + (autoconf-font-lock-syntactic-keywords): Remove. + + * progmodes/ada-mode.el (ada-set-syntax-table-properties) + (ada-after-change-function, ada-initialize-syntax-table-properties) + (ada-handle-syntax-table-properties): Only define when + syntax-propertize is not available. + (ada-mode): Use syntax-propertize-function. + + * font-lock.el (font-lock-syntactic-keywords): Make obsolete. + (font-lock-fontify-syntactic-keywords-region): Move handling of + font-lock-syntactically-fontified to... + (font-lock-default-fontify-region): ...here. + Let syntax-propertize-function take precedence. + (font-lock-fontify-syntactically-region): Cal syntax-propertize. + + * emacs-lisp/syntax.el (syntax-propertize-function) + (syntax-propertize-chunk-size, syntax-propertize--done) + (syntax-propertize-extend-region-functions): New vars. + (syntax-propertize-wholelines, syntax-propertize-multiline) + (syntax-propertize--shift-groups, syntax-propertize-via-font-lock) + (syntax-propertize): New functions. + (syntax-propertize-rules): New macro. + (syntax-ppss-flush-cache): Set syntax-propertize--done. + (syntax-ppss): Call syntax-propertize. + + * emacs-lisp/regexp-opt.el (regexp-opt-depth): Skip named groups. + + 2010-09-10 Agustín Martín + + * textmodes/ispell.el (ispell-init-process): Improve comments. + XEmacs compatibility changes regarding (add-hook) 'local option + and (set-process-query-on-exit-flag). + + 2010-09-09 Michael Albinus + + * net/tramp-cache.el (tramp-parse-connection-properties): + Set tramp-autoload cookie. + + 2010-09-09 Glenn Morris + + * image.el (imagemagick-types-inhibit): Add :type, :version, :group. + (imagemagick-register-types): Doc fix. + + 2010-09-08 Stefan Monnier + + * progmodes/octave-mod.el (electric-indent-chars): Silence bytecomp. + + * progmodes/js.el (require): Require is already "eval-and-compile". + (js--re-search-forward): Avoid `eval'. Preserve the error data. + (js--re-search-backward): Use js--re-search-forward. + + * progmodes/fortran.el (fortran-line-length): Don't recompute + syntactic keywords redundantly a second time. + + * progmodes/ada-mode.el: Replace "(set '" with setq. + (ada-mode): Simplify. + (ada-create-case-exception, ada-adjust-case-interactive) + (ada-adjust-case-region, ada-format-paramlist, ada-indent-current) + (ada-search-ignore-string-comment, ada-move-to-start) + (ada-move-to-end): Use with-syntax-table. + + * font-lock.el (save-buffer-state): Remove `varlist' arg. + (font-lock-unfontify-region, font-lock-default-fontify-region): + Update usage correspondingly. + (font-lock-fontify-syntactic-keywords-region): + Set parse-sexp-lookup-properties buffer-locally here. + (font-lock-fontify-syntactically-region): Remove unused `ppss' arg. + + * simple.el (blink-matching-open): Don't burp if we can't find a match. + + 2010-09-08 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-compile-report-ops): + Error if not compiled with -DBYTE_CODE_METER. + + * emacs-lisp/bytecomp.el (byte-recompile-directory): + Ignore dir-locals-file. + + 2010-09-08 Stefan Monnier + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Not a const. + (compilation-error-regexp-alist-alist): Rule out ": " in file names + for the `gnu' messages. + (compilation-set-skip-threshold): New command. + (compilation-start): Use \' rather than $. + (compilation-forget-errors): Use clrhash. + + 2010-09-08 Agustín Martín + + * textmodes/ispell.el (ispell-valid-dictionary-list): + Simplify logic. + + 2010-09-08 Michael Albinus + + Migrate to Tramp 2.2. Rearrange load dependencies. + (Bug#1529, Bug#5448, Bug#5705) + + * Makefile.in (TRAMP_DIR, TRAMP_SRC): New variables. + ($(TRAMP_DIR)/tramp-loaddefs.el): New target. + (LOADDEFS): Add $(lisp)/net/tramp-loaddefs.el. + + * net/tramp.el (top): Remove all other tramp-* loads except + tramp-compat.el. Remove all changes to tramp-unload-hook for + other tramp-* packages. Rearrange defun order. Change calls of + `tramp-compat-call-process', `tramp-compat-decimal-to-octal', + `tramp-compat-octal-to-decimal' to new function names. + (tramp-terminal-type, tramp-initial-end-of-output) + (tramp-methods, tramp-foreign-file-name-handler-alist) + (tramp-tramp-file-p, tramp-completion-mode-p) + (tramp-send-command-and-check, tramp-get-remote-path) + (tramp-get-remote-tmpdir, tramp-get-remote-ln) + (tramp-shell-quote-argument): Set tramp-autoload cookie. + (with-file-property, with-connection-property): Move to + tramp-cache.el. + (tramp-local-call-process, tramp-decimal-to-octal) + (tramp-octal-to-decimal): Move to tramp-compat.el. + (tramp-handle-shell-command): Do not require 'shell. + (tramp-compute-multi-hops): No special handling for tramp-gw-* + symbols. + (tramp-unload-tramp): Do not call `tramp-unload-file-name-handlers'. + + * net/tramp-cache.el (top): Require 'tramp. Add to + `tramp-unload-hook'. + (tramp-cache-data, tramp-get-file-property) + (tramp-set-file-property, tramp-flush-file-property) + (tramp-flush-directory-property, tramp-get-connection-property) + (tramp-set-connection-property, tramp-flush-connection-property) + (tramp-cache-print, tramp-list-connections): Set tramp-autoload + cookie. + (with-file-property, with-connection-property): New defuns, moved + from tramp.el. + (tramp-flush-file-function): Use `with-parsed-tramp-file-name' + macro. + + * net/tramp-cmds.el (top): Add to `tramp-unload-hook'. + (tramp-version): Set tramp-autoload cookie. + + * net/tramp-compat.el (top): Require 'tramp-loaddefs. Remove all + changes to tramp-unload-hook for other tramp-* packages. Add to + `tramp-unload-hook'. + (tramp-compat-decimal-to-octal, tramp-compat-octal-to-decimal) + (tramp-compat-call-process): New defuns, moved from tramp.el. + + * net/tramp-fish.el (top) Require just 'tramp. Add objects to + `tramp-methods' and `tramp-foreign-file-name-handler-alist'. Add + to `tramp-unload-hook'. Change call of + `tramp-compat-decimal-to-octal' to new function name. + (tramp-fish-method): Make it a defconst. + (tramp-fish-file-name-p): Make it a defsubst. + (tramp-fish-method, tramp-fish-file-name-handler) + (tramp-fish-file-name-p): Set tramp-autoload cookie. + + * net/tramp-ftp.el (top) Add objects to `tramp-methods' and + `tramp-foreign-file-name-handler-alist'. Add to + `tramp-unload-hook'. + (tramp-ftp-method): Make it a defconst. + (tramp-ftp-file-name-p): Make it a defsubst. + (tramp-ftp-method, tramp-ftp-file-name-handler) + (tramp-ftp-file-name-p): Set tramp-autoload cookie. + + * net/tramp-gvfs.el (top) Add objects to `tramp-methods' and + `tramp-foreign-file-name-handler-alist'. Add to + `tramp-unload-hook'. Change checks, whether package can be + loaded. + (tramp-gvfs-file-name-p): Make it a defsubst. + (tramp-gvfs-methods, tramp-gvfs-file-name-handler) + (tramp-gvfs-file-name-p): Set tramp-autoload cookie. + (tramp-gvfs-handle-file-directory-p): New defun. + (tramp-gvfs-file-name-handler-alist): Use it. + + * net/tramp-gw.el (top) Add objects to `tramp-methods' and + `tramp-foreign-file-name-handler-alist'. Add to + `tramp-unload-hook'. + (tramp-gw-tunnel-method, tramp-gw-default-tunnel-port) + (tramp-gw-socks-method, tramp-gw-default-socks-port): Make it a + defconst. + (tramp-gw-tunnel-method, tramp-gw-socks-method) + (tramp-gw-open-connection): Set tramp-autoload cookie. + + * net/tramp-imap.el (top) Require just 'tramp. Add objects to + `tramp-methods' and `tramp-foreign-file-name-handler-alist'. Add + to `tramp-unload-hook'. Change checks, whether package can be + loaded. + (tramp-imap-file-name-p): Make it a defsubst. + (tramp-imap-method, tramp-imaps-method) + (tramp-imap-file-name-handler) + (tramp-imap-file-name-p): Set tramp-autoload cookie. + + * net/tramp-smb.el (top) Require just 'tramp. Add objects to + `tramp-methods' and `tramp-foreign-file-name-handler-alist'. Add + to `tramp-unload-hook'. Change checks, whether package can be + loaded. Change call of `tramp-compat-decimal-to-octal' to new + function name. + (tramp-smb-tunnel-method): Make it a defconst. + (tramp-smb-file-name-p): Make it a defsubst. + (tramp-smb-method, tramp-smb-file-name-handler) + (tramp-smb-file-name-p): Set tramp-autoload cookie. + + * net/tramp-uu.el (top) Add to `tramp-unload-hook'. + (tramp-uuencode-region): Set tramp-autoload cookie. + + * net/trampver.el (top) Add to `tramp-unload-hook'. + (tramp-version, tramp-bug-report-address): Set tramp-autoload + cookie. Update release number. + + 2010-09-07 Agustín Martín + + * textmodes/ispell.el (ispell-start-process): Make sure original + arg list is properly initialized (Bug#6993, Bug#6994). + + 2010-09-06 Alexander Klimov (tiny change) + + * files.el (directory-abbrev-alist): Use \` as default regexp. + + * emacs-lisp/rx.el (rx-any): Don't explode ranges that end in special + chars like - or ] (bug#6984). + (rx-any-condense-range): Explode 2-char ranges. + + 2010-09-06 Glenn Morris + + * desktop.el (desktop-path): Bump :version after 2009-09-15 change. + + 2010-09-06 Stefan Monnier + + * textmodes/bibtex.el: + * proced.el: Update to new email for Roland Winkler . + + 2010-09-05 Lars Magne Ingebrigtsen + + * net/imap.el (imap-message-map): Remove optional buffer parameter, + since no callers use it. + (imap-message-get): Ditto. + (imap-message-put): Ditto. + (imap-mailbox-map): Ditto. + (imap-mailbox-put): Ditto. + (imap-mailbox-get): Ditto. + (imap-mailbox-get): Revert last change for this function. + + 2010-09-05 Lars Magne Ingebrigtsen + + * net/imap.el (imap-fetch-safe): Remove function, and alter all + callers to use `imap-fetch' instead. According to the comments, this + should be safe, since all other IMAP clients use the 1:* syntax. + (imap-enable-exchange-bug-workaround): Remove. + (imap-debug): Remove -- doesn't seem very useful. + + 2010-09-05 Lars Magne Ingebrigtsen + + * net/imap.el (imap-log): New convenience function used throughout + instead of repeating the same code all over the place. + + 2010-09-05 David De La Harpe Golden + + * mouse.el (mouse-save-then-kill): Save region to kill-ring + when mouse-drag-copy-region is non-nil (Bug#6956). + + 2010-09-05 Chong Yidong + + * dired.el (dired-ls-sorting-switches, dired-sort-by-name-regexp): + Improve regexps (Bug#6987). + (dired-sort-toggle): Search more robustly for -t flag. + + * files.el (get-free-disk-space): Search more robustly for + "available" column. Suggested by Ehud Karni + . + + 2010-09-05 Juanma Barranquero + + * international/uni-bidi.el: + * international/uni-category.el: + * international/uni-combining.el: + * international/uni-decimal.el: + * international/uni-mirrored.el: + * international/uni-name.el: Regenerate. + + 2010-09-04 Stefan Monnier + + * electric.el (electric-indent-post-self-insert-function): + Don't reindent with a sloppy indentation function. + + * emacs-lisp/syntax.el (syntax-ppss): More sanity check to catch + border case in change-log-mode. + + 2010-09-04 Chong Yidong + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Remove ruby regexp; handle Ruby errors with gcc-include and gnu. + Recognize leading tab in gcc-include regexp. Ignore names with + leading "from" or "in" in gnu regexp (Bug#6937). + + 2010-09-04 Stefan Monnier + + Avoid global recursive calls to kill-buffer-hooks; fit into 80 cols. + * textmodes/ispell.el (ispell-process-buffer-name): Remove. + (ispell-start-process): Avoid setq and simplify logic. + (ispell-init-process): Setup kill-buffer-hook locally when needed. + (kill-buffer-hook): Don't use it globally with code that uses + expand-file-name since that may call kill-buffer via + code_conversion_restore. + + 2010-09-04 Noorul Islam K M (tiny change) + + * emacs-lisp/package.el (package-directory-list): Only call + file-name-nondirectory on a string. + + 2010-09-02 Chong Yidong + + * emacs-lisp/package.el (package--download-one-archive): + Ensure that archive-contents is valid before saving it. + (package-activate-1, package-mark-obsolete, define-package) + (package-compute-transaction, package-list-maybe-add): Use push. + + 2010-09-03 Stefan Monnier + + Use SMIE's blink-paren for octave-mode. + * progmodes/octave-mod.el (octave-font-lock-close-quotes): + Backslashes do not escape single-quotes, single-quotes do. + (octave-block-else-regexp, octave-block-end-regexp) + (octave-block-match-alist): Remove. + (octave-smie-bnf-table): New var, with old content. + (octave-smie-op-levels): Use it. + (octave-smie-closer-alist): New var. + (octave-mode): Use it. Setup smie-blink-matching and electric-indent. + (octave-blink-matching-block-open): Remove. + (octave-reindent-then-newline-and-indent, octave-electric-semi) + (octave-electric-space): Let self-insert-command run expand-abbrev and + blink parens. + + * electric.el (electricity): New group. + (electric-indent-chars): New var. + (electric-indent-post-self-insert-function): New fun. + (electric-indent-mode): New minor mode. + (electric-pair-skip-self): New custom. + (electric-pair-post-self-insert-function): New function. + (electric-pair-mode): New minor mode. + + * calc/calc-aent.el (calcAlg-blink-matching-check): New fun, to replace + calcAlg-blink-matching-open. + (calc-alg-ent-map, calc-alg-ent-esc-map): Initialize in the declaration. + (calc-do-alg-entry): Only touch the part of the keymap that varies. + Use the new blink-matching-check-function. + + Provide blink-matching support to SMIE. + * emacs-lisp/smie.el (smie-bnf-closer-alist): New function. + (smie-blink-matching-triggers, smie-blink-matching-inners): New vars. + (smie-blink-matching-check, smie-blink-matching-open): New functions. + + * simple.el (newline): Fix last change to properly remove itself from + the hook. + + 2010-09-02 Stefan Monnier + + * simple.el (newline): Eliminate optimization. + Use post-self-insert-hook to set hard-newline and things before + running post-self-insert-hook. + (blink-matching-check-mismatch): New function. + (blink-matching-check-function): New variable. + (blink-matching-open): Use them. + Skip back forward over prefix chars skipped by forward-sexp. + Don't check if the parens are backslash escaped. + (blink-paren-post-self-insert-function): Check backslash escaping here. + + 2010-09-02 Chong Yidong + + * emacs-lisp/package.el (package-menu-mode-map): + Change package-menu-revert bindings to revert-buffer. + (package-menu-mode): Set revert-buffer-function. + (package-menu-revert): Doc fix. + + 2010-09-02 Agustín Martín + + * textmodes/ispell.el (ispell-init-process): Use "~/" as + `default-directory' unless using Ispell per-directory personal + dictionaries and not in a mini-buffer under XEmacs. + (kill-buffer-hook): Do not kill ispell process on exit when + `ispell-process-directory' is "~/". (Bug#6143) + + 2010-09-02 Jan Djärv + + * simple.el (kill-new): Call interprogram-cut-function with only + one argument. + + * term.el (term-mouse-paste): Don't call x-get-cutbuffer. + Remove cut buffer from error message. + + * term/x-win.el (x-select-text): + * term/pc-win.el (x-selection-value): + * term/ns-win.el (x-selection-value): + * eshell/em-term.el: + * w32-fns.el (x-get-selection-value): + * mouse-sel.el (mouse-sel-set-selection-function): + * frame.el (display-selections-p): Remove cut-buffer in documentation. + + * term/x-win.el: Update documentation for x-last-selected-text-*. + (x-last-selected-text-cut, x-last-selected-text-cut-encoded) + (x-last-cut-buffer-coding, x-cut-buffer-max): Remove. + (x-select-text): Remove argument PUSH, update documentation. Remove + cut-buffer code. + (x-selection-value-internal): Was previously x-selection-value. + (x-selection-value): Rename from x-cut-buffer-or-selection-value. + Update documentation, remove cut-buffer code. Call + x-selection-value-internal. + (x-clipboard-yank): Call x-selection-value-internal. + (x-initialize-window-system): Remove setting of x-cut-buffer-max. + + * term/pc-win.el (x-last-selected-text): + x-cut-buffer-or-selection-value renamed to x-selection-value + (x-select-text): Remove argument PUSH, update documentation. + + * term/ns-win.el (x-setup-function-keys, ns-last-selected-text): + x-cut-buffer-or-selection-value renamed to x-selection-value + (x-selection-value): Renamed from x-cut-buffer-or-selection-value. + (x-select-text): Remove argument PUSH, update documentation. + + * emacs-lisp/cl-macs.el (x-get-cutbuffer, x-get-cut-buffer): Remove. + + * w32-fns.el (x-last-selected-text): + x-cut-buffer-or-selection-value renamed to x-selection-value. + (x-cut-buffer-max): Remove. + (x-select-text): Remove argument PUSH, update documentation. + + * simple.el (interprogram-cut-function): Remove mention of PUSH. + + * select.el (x-get-cut-buffer, x-set-cut-buffer): Remove. + + * mouse-sel.el (mouse-sel-get-selection-function): + x-cut-buffer-or-selection-value renamed to x-selection-value. + (x-select-text): Remove optional push. + + 2010-09-01 Stefan Monnier + + * simple.el (blink-paren-function): Move from C to here. + (blink-paren-post-self-insert-function): New function. + (post-self-insert-hook): Use it. + + * emacs-lisp/pcase.el (pcase-split-memq): + Fix overenthusiastic optimisation. + (pcase-u1): Handle the case of a lambda pred. + + 2010-08-31 Kenichi Handa + + * international/mule-cmds.el (standard-display-european-internal): + Setup standard-display-table for 8-bit characters by storing 8-bit + characters in the element vector. + + * disp-table.el (standard-display-8bit): + Setup standard-display-table for 8-bit characters by storing 8-bit + characters in the element vector. + (standard-display-european): Likewise. + + 2010-08-31 Masatake YAMATO + + * textmodes/nroff-mode.el (nroff-view): New command. + (nroff-mode-map): Bind it to C-c C-c. + + 2010-08-31 Stefan Monnier + + * emacs-lisp/smie.el (smie-down-list): New command. + + Remove old indentation and navigation code on octave-mode. + * progmodes/octave-mod.el (octave-mode-map): Remap down-list to + smie-down-list rather than add a binding for octave-down-block. + (octave-mark-block, octave-blink-matching-block-open): + Rely on forward-sexp-function. + (octave-fill-paragraph): Don't narrow, so you can use + indent-according-to-mode. + (octave-block-begin-regexp, octave-block-begin-or-end-regexp): Remove. + (octave-in-block-p, octave-re-search-forward-kw) + (octave-re-search-backward-kw, octave-indent-calculate) + (octave-end-as-array-index-p, octave-block-end-offset) + (octave-scan-blocks, octave-forward-block, octave-backward-block) + (octave-down-block, octave-backward-up-block, octave-up-block) + (octave-before-magic-comment-p, octave-indent-line): Remove. + + 2010-08-31 Chong Yidong + + * emacs-lisp/package.el (package--read-archive-file): Just use + `read', to avoid copying an additional string. + (package-menu-mode): Set header-line-format here. + (package-menu-refresh, package-menu-revert): Signal an error if + not in the Package Menu. + (package-menu-package-list): New var. + (package--generate-package-list): Operate on the current buffer; + don't assume that it is *Packages*, since the user may rename it. + Allow persistent package listings and sort keys using + package-menu-package-list and package-menu-package-sort-key. + (package-menu--version-predicate): Fix version calculation. + (package-menu-sort-by-column): Don't select the window. + (package--list-packages): Create the *Packages* buffer. + Set package-menu-package-list-key. + (list-packages): Sorting by status is now the default. + (package-buffer-info): Use match-string-no-properties. + (define-package): Add a &rest argument for future proofing, but + don't use it yet. + (package-install-from-buffer, package-install-buffer-internal): + Merge into a single function, package-install-from-buffer. + (package-install-file): Change caller. + + * finder.el: Load finder-inf using `require'. + (finder-list-matches): Sorting by status is now the default. + (finder-compile-keywords): Simpify printing. + + 2010-08-30 Stefan Monnier + + * progmodes/octave-mod.el (octave-font-lock-keywords): Use regexp-opt. + (octave-mode-map): Remove special bindings for forward/backward-block + and octave-backward-up-block. Use smie-close-block. + (octave-continuation-marker-regexp): New var. + (octave-continuation-regexp): Use it. + (octave-operator-table, octave-smie-op-levels) + (octave-operator-regexp, octave-smie-indent-rules): New vars. + (octave-smie-backward-token, octave-smie-forward-token): New funs. + (octave-mode): Use SMIE. + (octave-close-block): Delete. + + 2010-08-30 Eli Zaretskii + + * menu-bar.el (menu-bar-edit-menu) <"Paste">: Check selection in + CLIPBOARD, not in PRIMARY. (Bug#6944) + + 2010-08-30 Stefan Monnier + + * emacs-lisp/smie.el (smie-indent-offset-rule): Let :parent take + a list of parents. + (smie-indent-column): Allow indirection through variables. + + * composite.el (save-buffer-state): Delete, unused. + * font-lock.el (save-buffer-state): Use with-silent-modifications. + (font-lock-default-fontify-region): Use with-syntax-table. + * jit-lock.el (with-buffer-unmodified): Remove. + (with-buffer-prepared-for-jit-lock): Use with-silent-modifications. + + Use `declare' in defmacros. + * window.el (save-selected-window): + * subr.el (with-temp-file, with-temp-message, with-syntax-table): + * progmodes/python.el (def-python-skeleton): + * net/dbus.el (dbus-ignore-errors): + * jka-cmpr-hook.el (with-auto-compression-mode): + * international/mule.el (with-category-table): + * emacs-lisp/timer.el (with-timeout): + * emacs-lisp/lisp-mnt.el (lm-with-file): + * emacs-lisp/eieio.el (with-slots): + * emacs-lisp/easymenu.el (easy-menu-define): + * emacs-lisp/debug.el (debugger-env-macro): + * emacs-lisp/cl-compat.el (Multiple-value-bind, Multiple-value-setq) + (Multiple-value-call, Multiple-value-prog1): + * emacs-lisp/cl-seq.el (cl-parsing-keywords, cl-check-key) + (cl-check-test-nokey, cl-check-test, cl-check-match): Move indent and + edebug rule to definition. + * emacs-lisp/lisp-mode.el (save-selected-window) + (with-current-buffer, combine-after-change-calls) + (with-output-to-string, with-temp-file, with-temp-buffer) + (with-temp-message, with-syntax-table, read-if, eval-after-load) + (dolist, dotimes, when, unless): + * emacs-lisp/byte-run.el (inline): Remove indent rule, redundant. + + 2010-08-29 Chong Yidong + + * finder.el: Require `package'. + (finder-known-keywords): Tweak descriptions. Retire `oop' keyword. + (finder-package-info): Var deleted. + (finder-keywords-hash, finder--builtins-alist): New vars. + (finder-compile-keywords): Compute package--builtins and + finder-keywords-hash instead of finder-keywords-hash, respecting + the "Package" header. + (finder-unknown-keywords, finder-list-matches): + Use finder-keywords-hash and package--list-packages. + (finder-mode): Don't set font-lock-defaults. + (finder-exit): We don't use "*Finder-package*" and "*Finder + Category*" buffers anymore. + + * emacs-lisp/package.el (package--builtins-base): Var deleted. + (package--builtins): Set default value to nil. + (package-initialize): Load precomputed value of package--builtins + from finder-inf.el. + (package-alist, package-compute-transaction) + (package-download-transaction): Improve docstring. + (package-read-all-archive-contents): Do not change + package--builtins here. + (list-packages): Make package-list-packages an alias for this. + Sort by status by default. + (package--list-packages): Add optional PACKAGES arg. + (describe-package-1): Use font-lock-face property. For built-in + packages, insert file commentary. + (package--generate-package-list): Rename from + package-list-packages-internal; all callers changed. Add optional + PACKAGES arg. Add alphabetical sort fallbacks. + (package-menu--version-predicate, package-menu--status-predicate) + (package-menu--description-predicate) + (package-menu--name-predicate): New functions. + + * info.el (Info-finder-find-node): Search package-alist instead of + finder-package-info. + + 2010-08-29 Chong Yidong + + * subr.el (version-regexp-alist): Don't use "a" and "b" for + "alpha" and "beta". + (version-to-list): Handle versions like "10.3d". + + 2010-08-28 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexpand-all-1): Use pcase. + (macroexp-accumulate): Use `declare'. + + 2010-08-27 Vinicius Jose Latorre + + * whitespace.el (whitespace-style): Adjust type declaration. + + 2010-08-26 Magnus Henoch + + * net/tramp-gvfs.el (tramp-gvfs-handle-copy-file): Do not pass + empty argument to gvfs-copy. + + 2010-08-26 Chong Yidong + + * net/tramp-compat.el (tramp-compat-delete-file): Rewrite to + handle new TRASH arg of `delete-file'. + + 2010-08-26 Christian Lynbech (tiny change) + + * net/tramp.el (tramp-handle-insert-directory): Don't use + `forward-word', its default syntax could be changed. + + 2010-08-26 Toru TSUNEYOSHI + Michael Albinus + + Implement compression for inline methods. + + * net/tramp.el (tramp-inline-compress-start-size): New defcustom. + (tramp-copy-size-limit): Allow also nil. + (tramp-inline-compress-commands): New defconst. + (tramp-find-inline-compress, tramp-get-inline-compress) + (tramp-get-inline-coding): New defuns. + (tramp-get-remote-coding, tramp-get-local-coding): Remove, + replaced by `tramp-get-inline-coding'. + (tramp-handle-file-local-copy, tramp-handle-write-region) + (tramp-method-out-of-band-p): Use `tramp-get-inline-coding'. + + 2010-08-26 Noah Lavine (tiny change) + + Detect ssh 'ControlMaster' argument automatically in some cases. + + * net/tramp.el (tramp-detect-ssh-controlmaster): New defun. + (tramp-default-method): Use it. + + 2010-08-26 Karel Klíč + + * net/tramp.el (tramp-file-name-for-operation): + Add file-selinux-context. + + 2010-08-26 Łukasz Stelmach (tiny change) + + * play/cookie1.el (read-cookie): Fix off-by-one error (bug#6921). + + 2010-08-26 Chong Yidong + + * simple.el (beginning-of-buffer, end-of-buffer): Doc fix + (Bug#6907). + + 2010-08-26 Nathan Weizenbaum (tiny change) + + * progmodes/js.el: Make indentation more customizable (Bug#6914). + (js-paren-indent-offset, js-square-indent-offset) + (js-curly-indent-offset): New options. + (js--proper-indentation): Use them. + + 2010-08-26 Daniel Colascione + + * progmodes/sh-script.el (sh-get-indent-info): Use syntax-ppss + instead of inspecting font-lock properties (Bug#6916). + + 2010-08-26 David Reitter + + * server.el (server-visit-files): Run pre-command-hook and + post-command-hook for each buffer while it is current (Bug#6910). + (server-execute): Do not run hooks here. + + 2010-08-26 Michael Albinus + + Sync with Tramp 2.1.19. + + * net/tramp-cmds.el (tramp-cleanup-all-connections) + (tramp-reporter-dump-variable, tramp-load-report-modules) + (tramp-append-tramp-buffers): Use `tramp-compat-funcall'. + (tramp-bug): Recommend setting of `tramp-verbose' to 9. + + * net/tramp-compat.el (top): Do not autoload + `tramp-handle-file-remote-p'. Load tramp-util.el and tramp-vc.el + only when `start-file-process' is not bound. + (byte-compile-not-obsolete-vars): Define if not bound. + (tramp-compat-funcall): New defmacro. + (tramp-compat-line-beginning-position) + (tramp-compat-line-end-position) + (tramp-compat-temporary-file-directory) + (tramp-compat-make-temp-file, tramp-compat-file-attributes) + (tramp-compat-copy-file, tramp-compat-copy-directory) + (tramp-compat-delete-file, tramp-compat-delete-directory) + (tramp-compat-number-sequence, tramp-compat-process-running-p): + Use it. + (tramp-advice-file-expand-wildcards): Do not use + `tramp-handle-file-remote-p'. + (tramp-compat-make-temp-file): Simplify fallback implementation. + (tramp-compat-copy-file): Add PRESERVE-SELINUX-CONTEXT. + (tramp-compat-copy-tree): Remove function. + (tramp-compat-delete-file): New defun. + (tramp-compat-delete-directory): Provide implementation for older + Emacsen. + (tramp-compat-file-attributes): Handle only + `wrong-number-of-arguments' error. + + * net/tramp-fish.el (tramp-fish-handle-copy-file): + Add PRESERVE_SELINUX_CONTEXT. + (tramp-fish-handle-delete-file): Add TRASH arg. + (tramp-fish-handle-directory-files-and-attributes): + Do not use `tramp-fish-handle-file-attributes. + (tramp-fish-handle-file-local-copy) + (tramp-fish-handle-insert-file-contents) + (tramp-fish-maybe-open-connection): Use `with-progress-reporter'. + + * net/tramp-gvfs.el (top): Require url-util. + (tramp-gvfs-mount-point): Remove. + (tramp-gvfs-file-name-handler-alist): Add `file-selinux-context' + and `set-file-selinux-context'. + (tramp-gvfs-stringify-dbus-message, tramp-gvfs-send-command) + (tramp-gvfs-handle-file-selinux-context) + (tramp-gvfs-handle-set-file-selinux-context): New defuns. + (with-tramp-dbus-call-method): Format trace message. + (tramp-gvfs-handle-copy-file): Handle PRESERVE-SELINUX-CONTEXT. + (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): + Implement backup call, when operation on local files fails. + Use progress reporter. Flush properties of changed files. + (tramp-gvfs-handle-delete-file): Add TRASH arg. Use + `tramp-compat-delete-file'. + (tramp-gvfs-handle-expand-file-name): Expand "~/". + (tramp-gvfs-handle-make-directory): Make more traces. + (tramp-gvfs-handle-write-region): Protect deleting tmpfile. + (tramp-gvfs-url-file-name): Hexify file name in url. + (tramp-gvfs-fuse-file-name): Take also prefix (like dav shares) + into account for the resulting file name. + (tramp-gvfs-handler-askquestion): Preserve current message, in + order to let progress reporter continue afterwards. (Bug#6257) + Return dummy mountpoint, when the answer is "no". + See `tramp-gvfs-maybe-open-connection'. + (tramp-gvfs-handler-mounted-unmounted) + (tramp-gvfs-connection-mounted-p): Test also for new mountspec + attribute "default_location". Set "prefix" property. + Handle default-location. + (tramp-gvfs-mount-spec): Return both prefix and mountspec. + (tramp-gvfs-maybe-open-connection): Test, whether mountpoint + exists. Raise an error, if not (due to a corresponding answer + "no" in interactive questions, for example). + Use `tramp-compat-funcall'. + + * net/tramp-imap.el (top): Autoload `epg-make-context'. + (tramp-imap-handle-copy-file): Add PRESERVE-SELINUX-CONTEXT. + (tramp-imap-do-copy-or-rename-file) + (tramp-imap-handle-insert-file-contents) + (tramp-imap-handle-file-local-copy): Use `with-progress-reporter'. + (tramp-imap-handle-delete-file): Add TRASH arg. + + * net/tramp-smb.el (tramp-smb-handle-copy-file): + Add PRESERVE-SELINUX-CONTEXT. + (tramp-smb-handle-copy-file) + (tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file) + (tramp-smb-handle-write-region, tramp-smb-maybe-open-connection): + Use `with-progress-reporter'. + (tramp-smb-handle-delete-file): Add TRASH arg. + + * net/tramp.el (tramp-methods): Move hostname to the end in all + ssh `tramp-login-args'. Add `tramp-async-args' attribute where + appropriate. + (tramp-verbose): Describe verbose level 9. + (tramp-completion-function-alist) + (tramp-file-name-regexp, tramp-chunksize) + (tramp-local-coding-commands, tramp-remote-coding-commands) + (with-connection-property, tramp-completion-mode-p) + (tramp-action-process-alive, tramp-action-out-of-band) + (tramp-check-for-regexp, tramp-file-name-p, tramp-equal-remote) + (tramp-exists-file-name-handler): Fix docstring. + (tramp-remote-process-environment): Use `format' instead of + `concat'. Protect version string by apostroph. + (tramp-shell-prompt-pattern): Do not use a shy group in case of + XEmacs. + (tramp-file-name-regexp-unified) + (tramp-completion-file-name-regexp-unified): On W32 systems, do + not regard the volume letter as remote filename. (Bug#5447) + (tramp-perl-file-attributes) + (tramp-perl-directory-files-and-attributes): Don't pass "$3". + (tramp-vc-registered-read-file-names): Read input as + here-document, otherwise the command could exceed maximum length + of command line. + (tramp-file-name-handler-alist): Add `file-selinux-context' and + `set-file-selinux-context'. + (tramp-debug-message): Add `tramp-compat-funcall' to ignored + backtrace functions. + (tramp-error-with-buffer): Don't show the connection buffer when + we are in completion mode. + (tramp-progress-reporter-update, tramp-remote-selinux-p) + (tramp-handle-file-selinux-context) + (tramp-handle-set-file-selinux-context, tramp-process-sentinel) + (tramp-connectable-p, tramp-open-shell, tramp-get-remote-trash): + New defuns. + (with-progress-reporter): New defmacro. + (tramp-debug-outline-regexp): New defconst. + (top, tramp-rfn-eshadow-setup-minibuffer) + (tramp-rfn-eshadow-update-overlay, tramp-handle-set-file-times) + (tramp-handle-dired-compress-file, tramp-handle-shell-command) + (tramp-completion-mode-p, tramp-check-for-regexp) + (tramp-open-connection-setup-interactive-shell) + (tramp-compute-multi-hops, tramp-read-passwd, tramp-clear-passwd) + (tramp-time-diff, tramp-coding-system-change-eol-conversion) + (tramp-set-process-query-on-exit-flag, tramp-unload-tramp): + Use `tramp-compat-funcall'. + (tramp-handle-make-symbolic-link): Flush file properties. + (tramp-handle-load, tramp-handle-file-local-copy) + (tramp-handle-insert-file-contents, tramp-handle-write-region) + (tramp-handle-vc-registered, tramp-maybe-send-script) + (tramp-find-shell): Use `with-progress-reporter'. + (tramp-do-file-attributes-with-stat): Add space in format string, + in order to work around a bug in pdksh. Reported by Gilles Pion + . + (tramp-handle-verify-visited-file-modtime): Do not send a command + when the connection is not established. + (tramp-handle-set-file-times): Simplify the check for utc. + (tramp-handle-directory-files-and-attributes) + (tramp-get-remote-path): Use `copy-tree'. + (tramp-completion-handle-file-name-all-completions): Ensure, that + non remote files are still checked. Oops. + (tramp-handle-copy-file, tramp-do-copy-or-rename-file): + Handle PRESERVE-SELINUX-CONTEXT. + (tramp-do-copy-or-rename-file): Add progress reporter. + (tramp-do-copy-or-rename-file-directly): Do not use + `tramp-handle-file-remote-p'. + (tramp-do-copy-or-rename-file-out-of-band): + Use `tramp-compat-delete-directory'. + (tramp-do-copy-or-rename-file-out-of-band) + (tramp-compute-multi-hops, tramp-maybe-open-connection): + Use `format-spec-make'. + (tramp-handle-delete-file): Add TRASH arg. + (tramp-handle-dired-uncache): Flush directory cache, not only file + cache. + (tramp-handle-expand-file-name) + (tramp-completion-handle-file-name-all-completions) + (tramp-completion-handle-file-name-completion): + Use `tramp-connectable-p'. + (tramp-handle-start-file-process): Set connection property "vec". + Use it, in order to invalidate file caches. Check only for + `remote-tty' process property. + Implement tty setting. (Bug#4604, Bug#6360) + (tramp-file-name-for-operation): Add `call-process-region' and + `set-file-selinux-context'. + (tramp-find-foreign-file-name-handler) + (tramp-advice-make-auto-save-file-name) + (tramp-set-auto-save-file-modes): Remove superfluous check for + `stringp'. This is done inside `tramp-tramp-file-p'. + (tramp-file-name-handler): Trace 'quit. Catch the error for some + operations when we are in completion mode. This gives the user + the chance to correct the file name in the minibuffer. + (tramp-completion-mode-p): Use `non-essential'. + (tramp-handle-file-name-all-completions): Backward/ XEmacs + compatibility: Use `completion-ignore-case' if + `read-file-name-completion-ignore-case' does not exist. + (tramp-get-debug-buffer): Use `tramp-debug-outline-regexp'. + (tramp-find-shell, tramp-open-connection-setup-interactive-shell): + `tramp-open-shell'. + (tramp-action-password): Hide password prompt before next run. + (tramp-process-actions): Widen connection buffer for the trace. + (tramp-open-connection-setup-interactive-shell): Set `remote-tty' + process property. Trace stty settings if `tramp-verbose' >= 9. + Apply workaround for IRIX64 bug. Move argument of last + `tramp-send-command' where it belongs to. + (tramp-maybe-open-connection): Use `async-args' and `gw-args' in + front of `login-args'. + (tramp-get-ls-command, tramp-get-ls-command-with-dired): Run tests + on "/dev/null" instead of "/". + (tramp-get-ls-command-with-dired): Make test for "--dired" + stronger. + (tramp-set-auto-save-file-modes): Adapt version check. + (tramp-set-process-query-on-exit-flag): Fix wrong parentheses. + (tramp-handle-process-file): Call the program in a subshell, in + order to preserve working directory. + (tramp-handle-shell-command): Don't use hard-wired "/bin/sh" but + `tramp-remote-sh' from `tramp-methods'. + (tramp-get-ls-command): Make test for "--color=never" stronger. + (tramp-check-for-regexp): Use (forward-line 1). + + * net/trampver.el: Update release number. + + 2010-08-26 Chong Yidong + + * help.el (help-map): Bind `C-h P' to describe-package. + + * menu-bar.el (menu-bar-describe-menu): Add describe-package. + + * emacs-lisp/package.el (package-refresh-contents): Catch errors + when downloading archives. + (describe-package-1): Add package commentary. + (package-install-button-action): New function. + (package-menu-mode-map): Bind ? to package-menu-describe-package. + (package-menu-view-commentary): Function removed. + (package-list-packages-internal): Hide the `package' package too. + + 2010-08-25 Kenichi Handa + + * language/misc-lang.el ("Arabic"): New language environment. + Setup composition-function-table for Arabic characters. + + * international/fontset.el (setup-default-fontset): Fix typo for + arabic OTF spec (fini->fina). + + 2010-08-25 Jan Djärv + + * menu-bar.el (menu-bar-set-tool-bar-position): Set frame parameter + on all frames. + + 2010-08-24 Vinicius Jose Latorre + + * whitespace.el: Allow cleaning up blanks without blank + visualization (Bug#6651). Adjust help window for + whitespace-toggle-options (Bug#6479). Allow to use fill-column + instead of whitespace-line-column (from EmacsWiki). New version + 13.1. + (whitespace-style): Added new value 'face. Adjust docstring. + (whitespace-space, whitespace-hspace, whitespace-tab): Adjust + foreground property face. + (whitespace-line-column): Adjust docstring and type declaration. + (whitespace-style-value-list, whitespace-toggle-option-alist) + (whitespace-help-text): Adjust const initialization. + (whitespace-toggle-options, global-whitespace-toggle-options): + Adjust docstring. + (whitespace-display-window, whitespace-interactive-char) + (whitespace-style-face-p, whitespace-color-on): Adjust code. + (whitespace-help-scroll): New fun. + + 2010-08-24 Chong Yidong + + * emacs-lisp/package.el (list-packages): Alias for + package-list-packages. + + 2010-08-24 Kevin Ryde + + * textmodes/flyspell.el (flyspell-check-tex-math-command): Doc fix + (Bug#5651). + + * progmodes/ruby-mode.el (ruby): Add defgroup. + + 2010-08-24 Chong Yidong + + * progmodes/python.el: Add Ipython support (Bug#5390). + (python-shell-prompt-alist) + (python-shell-continuation-prompt-alist): New options. + (python--set-prompt-regexp): New function. + (inferior-python-mode, run-python, python-shell): Require + ansi-color. Use python--set-prompt-regexp to set the comint + prompt based on the Python interpreter. + (python--prompt-regexp): New var. + (python-check-comint-prompt) + (python-comint-output-filter-function): Use it. + (run-python): Use a pipe (Bug#5694). + + 2010-08-24 Fabian Ezequiel Gallina (tiny change) + + * progmodes/python.el (python-send-region): Send a different + Python command if Ipython is in use. + (python-check-version): Use a Python command to find the version. + + 2010-08-24 Chong Yidong + + * mouse.el (mouse-yank-primary): Avoid setting primary when + deactivating the mark (Bug#6872). + + 2010-08-23 Chris Foote (tiny change) + + * progmodes/python.el (python-block-pairs): Allow use of "finally" + with "else" (Bug#3991). + + 2010-08-23 Michael Albinus + + * net/dbus.el: Accept UNIX domain sockets as bus address. + (top): Don't initialize `dbus-registered-objects-table' anymore, + this is done in dbusbind,c. + (dbus-check-event): Adapt test for bus. + (dbus-return-values-table, dbus-unregister-service) + (dbus-event-bus-name, dbus-introspect, dbus-register-property): + Adapt doc string. + + 2010-08-23 Juanma Barranquero + + * ido.el (ido-use-virtual-buffers): Fix typo in docstring. + + 2010-08-22 Juri Linkov + + * simple.el (read-extended-command): New function with the logic + for `completing-read' moved to Elisp from `execute-extended-command'. + Use `function-called-at-point' in `minibuffer-default-add-function' + to get a command name for M-n (bug#5364, bug#5214). + + 2010-08-22 Chong Yidong + + * startup.el (command-line-1): Issue warning for ignored arguments + --unibyte, etc (Bug#6886). + + 2010-08-22 Leo + + * net/rcirc.el (rcirc-add-or-remove): Accept a list of elements. + (ignore, bright, dim, keyword): Split list of nicknames before + passing to rcirc-add-or-remove (Bug#6894). + + 2010-08-22 Chong Yidong + + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix (Bug#6880). + + 2010-08-22 Leo + + Fix buffer-list rename&refresh after killing a buffer in ido. + * ido.el: Revert Óscar's. + (ido-kill-buffer-at-head): Exit the minibuffer with ido-exit=refresh. + Remember the buffers at head, rather than their name. + * iswitchb.el (iswitchb-kill-buffer): Re-make the list. + + 2010-08-22 Kirk Kelsey (tiny change) + Stefan Monnier + + * progmodes/make-mode.el (makefile-fill-paragraph): Account for the + extra backslash added to each line (bug#6890). + + 2010-08-22 Stefan Monnier + + * subr.el (read-key): Don't echo keystrokes (bug#6883). + + 2010-08-22 Glenn Morris + + * menu-bar.el (menu-bar-games-menu): Add landmark. + + 2010-08-22 Glenn Morris + + * align.el (align-regexp): Make group and spacing arguments + use the interactive defaults when non-interactive. (Bug#6698) + + * mail/rmail.el (rmail-forward): Replace mail-text-start with its + expansion, so as not to need sendmail. + (mail-text-start): Remove declaration. + (rmail-retry-failure): Require sendmail. + + 2010-08-22 Chong Yidong + + * subr.el (read-key): Don't hide the menu-bar entries (bug#6881). + + 2010-08-22 Michael Albinus + + * progmodes/flymake.el (flymake-start-syntax-check-process): + Use `start-file-process' in order to let it run also on remote hosts. + + 2010-08-22 Kenichi Handa + + * files.el: Add `word-wrap' as safe local variable. + + 2010-08-22 Glenn Morris + + * woman.el (woman-translate): Case matters. (Bug#6849) + + 2010-08-22 Chong Yidong + + * simple.el (kill-region): Doc fix (Bug#6787). + + 2010-08-22 Glenn Morris + + * calendar/diary-lib.el (diary-header-line-format): + Fit it to the window, not the frame. + + 2010-08-22 Andreas Schwab + + * subr.el (ignore-errors): Add debug declaration. + + 2010-08-22 Geoff Gole (tiny change) + + * whitespace.el (whitespace-color-off): Remove post-command-hook + locally. + + 2010-08-21 Stefan Monnier + + * vc/add-log.el (add-log-file-name): Don't get confused by symlinks. + + 2010-08-21 Chong Yidong + + * cus-edit.el (custom-group-value-create): Add extra newline + before end line (Bug#6876). + + 2010-08-21 Chong Yidong + + * mouse.el (mouse-save-then-kill): Don't save region to kill ring + when extending it. Before killing on the second click, check if + the buffer is the correct one. Doc fix. + (mouse-secondary-save-then-kill): Allow usage without first + calling mouse-start-secondary, by defaulting to point. Don't save + an empty secondary selection. Doc fix. + + 2010-08-21 Vinicius Jose Latorre + + * whitespace.el: Fix slow cursor movement (Bug#6172). Reported by + Christoph Groth and Liu Xin . + New version 13.0. + (whitespace-empty-at-bob-regexp, whitespace-empty-at-eob-regexp): + Adjust initialization. + (whitespace-bob-marker, whitespace-eob-marker) + (whitespace-buffer-changed): New vars. + (whitespace-cleanup, whitespace-color-on, whitespace-color-off) + (whitespace-empty-at-bob-regexp, whitespace-empty-at-eob-regexp) + (whitespace-post-command-hook, whitespace-display-char-on): + Adjust code. + (whitespace-looking-back, whitespace-buffer-changed): New funs. + (whitespace-space-regexp, whitespace-tab-regexp): Fun eliminated. + + 2010-08-19 Stefan Monnier + + * files.el (locate-file-completion-table): Only list the .el and .elc + extensions if there's no other choice (bug#5955). + + * facemenu.el (facemenu-self-insert-data): New var. + (facemenu-post-self-insert-function, facemenu-set-self-insert-face): + New functions. + (facemenu-add-face): Use them. + + * simple.el (blink-matching-open): Obey forward-sexp-function. + + 2010-08-18 Stefan Monnier + + * simple.el (prog-mode-map): New var. + (prog-indent-sexp): New command. + + * progmodes/octave-mod.el (octave-mode-menu): Make toggle buttons. + + * progmodes/prolog.el (smie): Require. + + * emacs-lisp/smie.el (smie-default-backward-token) + (smie-default-forward-token): Strip properties. + (smie-next-sexp): Be more careful with associative operators. + (smie-forward-sexp-command): Generalize. + (smie-backward-sexp-command): Simplify. + (smie-closer-alist): New var. + (smie-close-block): New command. + (smie-indent-debug-log): New var. + (smie-indent-offset-rule): Add a few more cases. + (smie-indent-column): New function. + (smie-indent-after-keyword): Use it. + (smie-indent-keyword): Use it. + Fix up the opener code's point position. + (smie-indent-comment): Only applies at BOL. + (smie-indent-debug): New command. + + * emacs-lisp/autoload.el (make-autoload): Preload the macros's + declarations that are useful before running the macro. + + 2010-08-18 Joakim Verona + + * image.el (imagemagick-types-inhibit): New variable. + (imagemagick-register-types): New function. + * image-mode.el (image-transform-properties): New function. + (image-transform-set-scale, image-transform-fit-to-height) + (image-transform-set-rotation, image-transform-set-resize) + (image-transform-fit-to-width, image-transform-fit-to-height): + New functions. + (image-toggle-display-image): Support image transforms. + + 2010-08-18 Katsumi Yamaoka + + * image.el (create-animated-image): Don't add heuristic mask to image + (Bug#6839). + + 2010-08-18 Jan Djärv + + * term/ns-win.el (ns-get-pasteboard, ns-set-pasteboard): + Use QCLIPBOARD instead of QPRIMARY (Bug#6677). + + 2010-08-17 Stefan Monnier + + * emacs-lisp/lisp.el (up-list): Obey forward-sexp-function if set. + + Font-lock '...' strings, plus various simplifications and fixes. + * progmodes/octave-mod.el (octave-font-lock-keywords): Use regexp-opt. + (octave-font-lock-close-quotes): New function. + (octave-font-lock-syntactic-keywords): New var. + (octave-mode): Use it. Set beginning-of-defun-function. + (octave-mode-map): Don't override the -defun commands. + (octave-mode-menu): Pass it directly to easy-menu-define; + remove (now generic) -defun commands; use info-lookup-symbol. + (octave-block-match-alist): Fix up last change so that + octave-close-block uses the more specific keyword. + (info-lookup-mode): Silence byte-compiler. + (octave-beginning-of-defun): Not interactive any more. + Optimize slightly. + (octave-end-of-defun, octave-mark-defun, octave-in-defun-p): Remove. + (octave-indent-defun, octave-send-defun): Use mark-defun instead. + (octave-completion-at-point-function): Make sure point is within + beg..end. + (octave-reindent-then-newline-and-indent): + Use reindent-then-newline-and-indent. + (octave-add-octave-menu): Remove. + + 2010-08-17 Jan Djärv + + * mail/emacsbug.el (report-emacs-bug-insert-to-mailer) + (report-emacs-bug-can-use-xdg-email): New functions. + (report-emacs-bug): Set can-xdg-email to result of + report-emacs-bug-can-use-xdg-email. If can-xdg-email bind + \C-cm to report-emacs-bug-insert-to-mailer and add help text + about it. + + * net/browse-url.el (browse-url-default-browser): Add cond + for browse-url-xdg-open. + (browse-url-can-use-xdg-open, browse-url-xdg-open): New functions. + + 2010-08-17 Glenn Morris + + * progmodes/cc-engine.el (c-new-BEG, c-new-END) + (c-fontify-recorded-types-and-refs): Define for compiler. + * progmodes/cc-mode.el (c-new-BEG, c-new-END): Move definitions + before use. + + * calendar/icalendar.el (icalendar--convert-recurring-to-diary): + Fix format call. + + 2010-08-17 Michael Albinus + + * net/tramp.el (tramp-handle-make-symbolic-link): Flush file + properties. + (tramp-handle-process-file): Call the program in a subshell, in + order to preserve working directory. + (tramp-action-password): Hide password prompt before next run. + (tramp-process-actions): Widen connection buffer for the trace. + + 2010-08-16 Deniz Dogan + + * net/rcirc.el (rcirc-log-process-buffers): New option. + (rcirc-print): Use it. + (rcirc-generate-log-filename): New function. + (rcirc-log-filename-function): Change default to + rcirc-generate-log-filename (Bug#6828). + + 2010-08-16 Chong Yidong + + * simple.el (deactivate-mark): If select-active-regions is `only', + only set selection for temporarily active regions. + + * cus-start.el: Change defcustom for select-active-regions. + + 2010-08-15 Chong Yidong + + * mouse.el (mouse--drag-set-mark-and-point): New function. + (mouse-drag-track): Use LOCATION arg to push-mark. + Use mouse--drag-set-mark-and-point to take click-count into + consideration when updating point and mark (Bug#6840). + + 2010-08-15 Chong Yidong + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Give the Ruby rule a lower priority than Gnu (Bug#6778). + + 2010-08-14 Štěpán Němec (tiny change) + + * font-lock.el (lisp-font-lock-keywords-2): + Add combine-after-change-calls, condition-case-no-debug, + with-demoted-errors, and with-silent-modifications (Bug#6025). + + 2010-08-14 Kevin Ryde + + * emacs-lisp/copyright.el (copyright-update-year) + (copyright-update): Temporary switch-to-buffer to ensure the + buffer change being queried is visible (Bug#5394). + + 2010-08-14 Tom Tromey + + * progmodes/etags.el (tags-file-name): Mark safe if stringp + (Bug#6733). + + 2010-08-14 Eli Zaretskii + + * mouse.el (mouse-yank-primary): Fix mouse-2 on MS-Windows and + MS-DOS. (Bug#6689) + + 2010-08-13 Jan Djärv + + * menu-bar.el (menu-bar-set-tool-bar-position): New function. + (menu-bar-showhide-tool-bar-menu-customize-enable-left) + (menu-bar-showhide-tool-bar-menu-customize-enable-right) + (menu-bar-showhide-tool-bar-menu-customize-enable-top) + (menu-bar-showhide-tool-bar-menu-customize-enable-bottom): + Call menu-bar-set-tool-bar-position. + + 2010-08-12 Stefan Monnier + + * progmodes/octave-mod.el (octave-mode-syntax-table): Use the new "c" + comment style (bug#6834). + * progmodes/scheme.el (scheme-mode-syntax-table): + * emacs-lisp/lisp-mode.el (lisp-mode-syntax-table): Remove spurious + "b" flag in "' 14b" syntax. + + * progmodes/octave-mod.el (octave-mode-map): Remove special bindings + for (un)commenting the region and performing completion. + (octave-mode-menu): Use standard commands for help and completion. + (octave-mode-syntax-table): Support %{..%} comments (sort of). + (octave-mode): Use define-derived-mode. + Set completion-at-point-functions and don't set columns. + Don't disable adaptive-fill-regexp. + (octave-describe-major-mode, octave-comment-region) + (octave-uncomment-region, octave-comment-indent) + (octave-indent-for-comment): Remove. + (octave-indent-calculate): Rename from calculate-octave-indent. + (octave-indent-line, octave-fill-paragraph): Update caller. + (octave-initialize-completions): No need to make an alist. + (octave-completion-at-point-function): New function. + (octave-complete-symbol): Use it. + (octave-insert-defun): Use define-skeleton. + + * progmodes/octave-mod.el (octave-mode): Set comment-add. + (octave-mode-map): Use comment-dwim (bug#6829). + + 2010-08-12 Antoine Levitt (tiny change) + + * cus-edit.el (custom-save-variables, custom-save-faces): Fix up + indentation of inserted comment. + + 2010-08-11 Jan Djärv + + * faces.el (region): Add type gtk that uses gtk colors. + + * dynamic-setting.el (dynamic-setting-handle-config-changed-event): + Handle theme-name change. + + 2010-08-10 Michael R. Mauger + + * progmodes/sql.el: Version 2.5 + (sql-product-alist): Add :prompt-cont-regexp property for several + database products. + (sql-prompt-cont-regexp): New variable. + (sql-output-newline-count, sql-output-by-send): + New variables. Record number of newlines in input text. + (sql-send-string): Handle multiple filters and count newlines. + (sql-send-magic-terminator): Count terminator newline. + (sql-interactive-remove-continuation-prompt): Filters output to + remove continuation prompts; one for each newline. + (sql-interactive-mode): Set up new variables, prompt regexp and + output filter. + (sql-mode-sqlite-font-lock-keywords): Correct some keywords. + (sql-make-alternate-buffer-name): Correct buffer name in edge cases. + + 2010-08-10 Stefan Monnier + + * emacs-lisp/pcase.el: New file. + + 2010-08-10 Michael Albinus + + * net/tramp.el (tramp-vc-registered-read-file-names): Read input + as here-document, otherwise the command could exceed maximum + length of command line. + (tramp-handle-vc-registered): Call script accordingly. + Reported by Toru TSUNEYOSHI . + + 2010-08-10 Kenichi Handa + + * language/hebrew.el: Exclude U+05C3 (Hebrew SOF PASUQ) from the + composable pattern. + + 2010-08-09 Chong Yidong + + * emacs-lisp/package.el (package-version-split) + (package--version-first-nonzero, package-version-compare): + Functions removed. + (package-directory-list, package-load-all-descriptors) + (package--built-in, package-activate, define-package) + (package-installed-p, package-compute-transaction) + (package-read-all-archive-contents) + (package--add-to-archive-contents, package-buffer-info) + (package-tar-file-info, package-list-packages-internal): + Use version-to-list and version-list-*. + + * emacs-lisp/package-x.el (package-upload-buffer-internal): + Use version-to-list. + (package-upload-buffer-internal): Use version-list-<=. + + 2010-08-09 Kenichi Handa + + * language/hebrew.el: Exclude U+05BD (Hebrew MAQAF) from the + composable pattern. + + 2010-08-08 Chong Yidong + + * tutorial.el (tutorial--default-keys): C-d is now bound to + delete-forward-char (Bug#6826). + + * mouse.el (mouse-drag-track): Remove accidentally-removed check + for `double' value of mouse-1-click-follows-link (Bug#6807). + + 2010-08-08 Johan Bockgård + + * replace.el (replace-highlight): Bind isearch-forward and + isearch-error, ensuring that highlighting is updated if the user + switches the search direction (Bug#6808). + + * isearch.el (isearch-lazy-highlight-forward): New var. + (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search): + (isearch-lazy-highlight-update): Use it. + + 2010-08-08 Kenichi Handa + + * international/mule.el (define-charset): Store NAME as :base property. + (ctext-non-standard-encodings-table): Pay attention to charset aliases. + (ctext-pre-write-conversion): Sort ctext-standard-encodings by the + current priority. Force using the designation of the specific + charset by adding `charset' text property. Improve the whole algorithm. + + 2010-08-08 Juanma Barranquero + + * emulation/pc-select.el (pc-selection-mode-hook) + (copy-region-as-kill-nomark, beginning-of-buffer-mark) + (pc-selection-mode): Fix typos in docstrings. + + 2010-08-08 Kenichi Handa + + * language/cyrillic.el: Don't add "microsoft-cp1251" to + ctext-non-standard-encodings-alist here. + + * international/mule.el (ctext-non-standard-encodings-alist): + Add "koi8-r" and "microsoft-cp1251". + (ctext-standard-encodings): New variable. + (ctext-non-standard-encodings-table): List only elements for + non-standard encodings. + (ctext-pre-write-conversion): Adjust for the above change. + Check ctext-standard-encodings. + + * international/mule-conf.el (compound-text): Doc fix. + (ctext-no-compositions): Doc fix. + (compound-text-with-extensions): Doc fix. + + 2010-08-08 Stefan Monnier + + * simple.el (exchange-dot-and-mark): Mark obsolete, finally. + + 2010-08-08 Juanma Barranquero + + * progmodes/which-func.el (which-func-format): Split help-echo text + into lines, like other mode-line tooltips. + + * server.el (server-start): When using TCP sockets, force IPv4 + and use a literal 127.0.0.1 for localhost. (Related to bug#6781.) + + 2010-08-08 Stefan Monnier + + * bindings.el (complete-symbol): Run completion-at-point as a fallback. + + 2010-08-08 Juanma Barranquero + + * term.el (term-delimiter-argument-list): Reflow docstring. + (term-read-input-ring, term-write-input-ring, term-send-input) + (term-bol, term-erase-in-display, serial-supported-or-barf): + Fix typos in docstrings. + + 2010-08-08 Stefan Monnier + + * bindings.el (function-key-map): Add a S-tab => backtab fallback. + + 2010-08-08 Juanma Barranquero + + * dabbrev.el (dabbrev-completion): Fix typo in docstring. + + 2010-08-08 MON KEY (tiny change) + + * emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): + Fix typo in docstring (bug#6747). + + 2010-08-08 Leo + + * eshell/esh-io.el (eshell-get-target): Better detection of + read-only file (Bug#6762). + + 2010-08-08 Juanma Barranquero + + * align.el (align-default-spacing): Doc fix. + (align-region-heuristic, align-regexp): Fix typos in docstrings. + + 2010-08-08 Stephen Peters + + * calendar/icalendar.el + (icalendar--split-value): Fix splitting regexp. (Bug#6766) + (icalendar--get-weekday-numbers): New. + (icalendar--convert-recurring-to-diary): Handle multiple byday + values in weekly rules. (Bug#6766) + + 2010-08-08 Ulf Jasper + + * calendar/icalendar.el (icalendar-uid-format): Doc fix. + (icalendar--create-uid, icalendar-export-region) + (icalendar--parse-summary-and-rest): Code formatting. + + 2010-08-08 Jay Belanger + + * calc/calc.el (calc-trail-mode,calc-refresh): Use `face' property + to italicize headers. + (calc-highlight-selections-with-faces): New variable. + (calc-selected-face, calc-nonselected-face): New faces. + + * calc/calccomp.el (math-comp-highlight-string): Use + `calc-highlight-selections-with-faces' to determine how to highlight + sub-formulas. + + * calc/calc-sel.el (calc-show-selections): Change message to when + using faces to highlight selections. + + 2010-08-07 Michael R. Mauger + + * progmodes/sql.el (sql-mode-sqlite-font-lock-keywords): + Add SQLite 3 keywords, functions and datatypes. + (sql-interactive-mode): Remove `comint-process-echoes' set to t + (Bug#6686). + + 2010-08-07 Chong Yidong + + * simple.el (select-active-regions): Move to keyboard.c. + (deactivate-mark): Used saved-region-selection. + (select-active-region): Function removed. + (activate-mark, set-mark, push-mark-command) + (handle-shift-selection): Don't call it. + (keyboard-quit): Avoid adding the region to the window selection. + + * mouse.el (mouse-drag-track): Remove hacks to deal with old + select-active-regions implementation. + (mouse-yank-at-click): Doc fix. + + * cus-start.el: Add custom declaration for select-active-regions. + + 2010-08-07 Eli Zaretskii + + * simple.el (delete-forward-char): Doc fix. + + * tutorial.el (help-with-tutorial): Hack safe file-local variables + after reading the tutorial. + + 2010-08-06 Alan Mackenzie + + * progmodes/cc-cmds.el (c-mask-paragraph, c-fill-paragraph): Fix + for the case that a C style comment has its delimiters alone on + their respective lines. + + 2010-08-06 Michael Albinus + + * net/tramp.el (tramp-handle-start-file-process): Set connection + property "vec". + (tramp-process-sentinel): Use it for flushing the cache. We + cannot do it via the process buffer, the buffer could be deleted + already when running the sentinel. + + 2010-08-06 Jürgen Hötzel (tiny change) + + * comint.el (comint-mode): Make directory tracking functions + functional on remote files. (Bug#6764) + + 2010-08-06 Dan Nicolaescu + + * vc/diff-mode.el (diff-mode-shared-map): Bind g to revert-buffer. + + 2010-08-05 Eli Zaretskii + + * emacs-lisp/find-gc.el (find-gc-source-files): Rename + unexec.c => unexcoff.c. + + * emacs-lisp/authors.el (authors-fixed-entries): Rename + unexec.c => unexcoff.c. + + 2010-08-05 Michael Albinus + + * net/tramp.el (tramp-handle-dired-uncache): Flush directory + cache, not only file cache. + (tramp-process-sentinel): New defun. + (tramp-handle-start-file-process): Use it, in order to invalidate + file caches. + + 2010-08-03 Leo + + * server.el (server-start): Simplify loop. + + 2010-08-02 Stefan Monnier + + * frame.el (screen-height, screen-width, set-screen-width) + (set-screen-height): Remove ancient compatibility aliases. + + * textmodes/fill.el (justify-current-line): Don't add 1 to nspaces + when justifying. It seems useless and harmful for ncols=1 (bug#6738). + + * emacs-lisp/timer.el (timer-event-handler): Protect against timers + that change current buffer. + + 2010-08-01 YAMAMOTO Mitsuharu + + * mouse.el (mouse-fixup-help-message): Match "mouse-2" only at the + beginning of the string. Use `string-match-p'. (Bug#6765) + + 2010-08-01 Jan Djärv + + * cus-start.el (x-gtk-use-system-tooltips): New variable. + + 2010-08-01 Chong Yidong + + * emacs-lisp/package.el (package--list-packages): Fix column alignment. + (package--builtins): Tweak descriptions. + (package-print-package): Upcase descriptions if necessary. + Show all built-in packages in font-lock-builtin-face. + (package-list-packages-internal): Omit "emacs" package. + Show status of built-in packages as "built-in". + + 2010-07-31 Chong Yidong + + * mouse.el (mouse-save-then-kill): Doc fix. Deactivate mark + before killing to preserve the primary selection (Bug#6701). + + * term/x-win.el (x-select-text): Doc fix. + + 2010-07-31 Nathaniel Flath + + Enhance Java Mode to handle Java 5.0 (Tiger) and Java 6 (Mustang). + The following functions were modified or created: + + * progmodes/cc-vars.el (c-offsets-alist, c-inside-block-syms) + (objc-font-lock-extra-types): + * progmodes/cc-mode.el (c-basic-common-init): + * progmodes/cc-langs.el (c-make-mode-syntax-table) + (c++-make-template-syntax-table) + (c-identifier-syntax-modifications, c-symbol-start, c-operators) + (c-<-op-cont-regexp, c->-op-cont-regexp, c-class-decl-kwds) + (c-brace-list-decl-kwds, c-modifier-kwds, c-prefix-spec-kwds-re) + (c-type-list-kwds, c-decl-prefix-re, c-opt-type-suffix-key): + * progmodes/cc-fonts.el (c-make-inverse-face) + (c-basic-matchers-after): + * progmodes/cc-engine.el (c-forward-keyword-clause) + (c-forward-<>-arglist, c-forward-<>-arglist-recur) + (c-forward-name, c-forward-type, c-forward-decl-or-cast-1) + (c-guess-continued-construct, c-guess-basic-syntax): + + 2010-07-31 Jan Djärv + + * faces.el (face-all-attributes): Improve documentation (Bug#6767). + + 2010-07-31 Eli Zaretskii + + * files.el (bidi-paragraph-direction): Define safe local values. + + * language/hebrew.el ("Hebrew"): Add TUTORIAL.he to + language-info-alist. Remove outdated FIXME in a comment. + + 2010-07-31 Alan Mackenzie + + * progmodes/cc-cmds.el (c-mask-paragraph): Fix bug #6688: + Auto-fill broken in C/C++ modes. + ++2010-07-30 Martin Rudalics ++ ++ * help.el (temp-buffer-max-height, temp-buffer-resize-mode) ++ (resize-temp-buffer-window): Move back from window.el to avoid ++ calling define-minor-mode in window.el and choke in bootstrap. ++ ++2010-07-29 Martin Rudalics ++ ++ * loadup.el (top-level): Load window before files for the sake ++ of replace-buffer-in-windows. ++ ++ * simple.el (get-next-valid-buffer, last-buffer, next-buffer) ++ (previous-buffer): Move to window.el. ++ ++ * bindings.el (unbury-buffer): Move to window.el. ++ ++ * window.el (display-buffer): Move group definition to front of ++ display buffer section. ++ (record-window-buffer, unrecord-window-buffer) ++ (set-window-buffer-start-and-point, switch-to-prev-buffer) ++ (switch-to-next-buffer): New functions. ++ (get-next-valid-buffer, last-buffer): Move here from simple.el. ++ (next-buffer): Move here from simple.el. Call ++ switch-to-next-buffer. ++ (previous-buffer): Move here from simple.el. Call ++ switch-to-prev-buffer. ++ (bury-buffer, quit-restore-window): Switch to previous buffer ++ when window cannot be deleted. ++ (unbury-buffer): Move here from bindings.el. ++ (delete-windows-on): Switch to previous buffer if window cannot ++ be deleted. Unrecord buffer argument in all live windows. ++ (replace-buffer-in-windows): Move here from window.c. Switch to ++ previous buffer if window cannot be deleted. Unrecord argument ++ buffer in all live windows. ++ (switch-to-buffer): In doc-string warning suggest using ++ with-current-buffer instead of set-buffer. ++ 2010-07-29 Jan Djärv * menu-bar.el (menu-bar-showhide-tool-bar-menu-customize-enable-left) @@@@ -9662,81 -11783,6 -12650,12 +12841,12 @@@@ (tar-header-block-tokenize): Decode the username and groupname. (tar-chown-entry, tar-chgrp-entry): Encode the names (bug#4730). - 2009-10-17 Chong Yidong - - * cedet/srecode/srt.el: - * cedet/srecode/compile.el: - * cedet/semantic/mru-bookmark.el: - * cedet/semantic/debug.el: - * cedet/semantic/complete.el: - * cedet/semantic/analyze.el: Require CL when compiling. - + 2009-10-17 Eric Ludlam + - * cedet/semantic/scope.el - (semantic-analyze-scoped-inherited-tag-map): Wrap calculation of - tmpscope so that the regular scope will continue to work. - - * cedet/semantic/idle.el (semantic-idle-tag-highlight): - Use semantic-idle-summary-highlight-face as the highlighting. - + * emacs-lisp/eieio-base.el (eieio-persistent-save): If buffer + contains multibyte characters, choose first applicable coding + system automatically. + - * cedet/ede/project-am.el (project-run-target): New method. - (project-run-target): New method. - - * cedet/ede.el (ede-target): Add run target menu item. - (ede-project, ede-minor-keymap): Add ede-run-target binding. - (ede-run-target): New function. - (ede-target::project-run-target): New method. - - * cedet/ede/proj.el (project-run-target): New method. - - * cedet/ede/proj-shared.el (ede-gcc-libtool-shared-compiler) - (ede-g++-libtool-shared-compiler): Remove SHELL. Remove COMMANDS. - Add :rules. - (ede-proj-target-makefile-shared-object): Only libtool compilers - now available. Add linkers for libtool. - (ede-cc-linker-libtool, ede-g++-linker-libtool): New. - (ede-proj-makefile-target-name): Always use .la extension. - - * cedet/ede/proj-prog.el (project-run-target): New method. - - * cedet/ede/proj-obj.el (ede-cc-linker): Rename from ede-gcc-linker. - (ede-g++-linker): Change Change link lines. - - * cedet/ede/pmake.el (ede-pmake-insert-variable-shared): - When searching for old variables, go to the end of the buffer and - search backward from there. - (ede-proj-makefile-automake-insert-subdirs) - (ede-proj-makefile-automake-insert-extradist): New methods. - (ede-proj-makefile-create): Use them. - - * cedet/ede/pconf.el (ede-proj-configure-test-required-file): - Force FILE to expand to the current target. Use file-exists-p to - check that it exists. - - * cedet/ede/linux.el (ede-linux-version): Don't call "head". - (ede-linux-load): Wrap dir in file-name-as-directory. - Set :version slot. - - * cedet/ede/files.el (ede-get-locator-object): When enabling - locate, do so on "top". - - * cedet/ede/emacs.el (ede-emacs-file-existing): Wrap "dir" in - file-name-as-directory during compare. - (ede-emacs-version): Return Emacs/XEmacs differentiator. - Get version number from different places. Don't call egrep. - (ede-emacs-load): Set :version slot. Call file-name-as-directory - to set the directory. - - * cedet/ede/shell.el: New file. - - * cedet/inversion.el (inversion-decoders): Allow for stray . in - alpha/beta variants. - 2009-10-17 Stefan Monnier * international/mule-cmds.el (select-safe-coding-system): If the file @@@@ -10935,41 -12729,8 -13602,12 +13793,12 @@@@ * term/w32-win.el (setup-default-fontset, set-fontset-font): Remove unused declarations. - 2009-10-01 Juanma Barranquero - - * cedet/semantic/wisent/javat-wy.el - (wisent-java-tags-wy--keyword-table): Use \000 instead of literal ^@. - - 2009-09-30 Juanma Barranquero - - * cedet/srecode/expandproto.el: Fix provide statement. - + 2009-09-30 Eric Ludlam + + * emacs-lisp/eieio.el (boolean-p): Delete. + - 2009-09-30 Sascha Wilde - - * cedet/ede/srecode.el: Fix provide statement. - 2009-09-30 Glenn Morris - * cedet/ede/proj.el (ede-proj-target-makefile-miscelaneous): - * cedet/ede/proj-aux.el (ede-aux-source): - * cedet/ede/proj-misc.el (ede-proj-target-makefile-miscelaneous) - (ede-misc-source): - * cedet/semantic/mru-bookmark.el (semantic-mrub-completing-read) - (semantic-mrub-switch-tags): Fix doc typos. - - * cedet/semantic/db-global.el (data-debug-new-buffer) - (data-debug-insert-thing): Remove unneeded declarations (one broken). - (semanticdb-enable-gnu-global-databases): Fix prompt typo. - - * cedet/semantic/analyze/fcn.el (semantic-scope-find): Fix declaration. - - * cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Replace runtime - use of CL function `remove-if-not'. - * emacs-lisp/authors.el (authors-ignored-files): Add "js2-mode.el". * emacs-lisp/elint.el (elint-init-form): Report declarations where the @@@@ -11076,26 -12818,6 -13695,17 +13886,17 @@@@ * net/tramp-imap.el: New package. + 2009-09-28 Eric Ludlam + + * emacs-lisp/chart.el: + * emacs-lisp/eieio-base.el: + * emacs-lisp/eieio-comp.el: + * emacs-lisp/eieio-custom.el: + * emacs-lisp/eieio-datadebug.el: + * emacs-lisp/eieio-opt.el: + * emacs-lisp/eieio-speedbar.el: + * emacs-lisp/eieio.el: New files. + - * cedet/cedet-cscope.el: - * cedet/cedet-files.el: - * cedet/cedet-global.el: - * cedet/cedet-idutils.el: - * cedet/data-debug.el: - * cedet/inversion.el: - * cedet/mode-local.el: - * cedet/pulse.el: New files. - 2009-09-27 Vinicius Jose Latorre * whitespace.el (whitespace-trailing-regexp) diff --cc lisp/cus-start.el index 31e22c1e3d2,161de5e78ec,ceb7bcdfd1a..b3dfd9e6551 --- a/lisp/cus-start.el +++ b/lisp/cus-start.el @@@@ -304,17 -312,13 -325,15 +323,19 @@@@ since it could result in memory overflo (const :tag "Off (nil)" :value nil) (const :tag "Full screen (t)" :value t) (other :tag "Always" 1)) "22.1") -- (recenter-redisplay windows -- (choice -- (const :tag "Never (nil)" :value nil) -- (const :tag "Only on ttys" :value tty) -- (other :tag "Always" t)) -- "23.1") ++ (recenter-redisplay ++ windows (choice ++ (const :tag "Never (nil)" :value nil) ++ (const :tag "Only on ttys" :value tty) ++ (other :tag "Always" t)) "23.1") ++ (window-splits ++ windows (choice ++ (const :tag "Standard" :value nil) ++ (const :tag "Nest" :value nest) ++ (const :tag "Resize" :value resize)) "24.1") ;; xdisp.c ++ (show-trailing-whitespace whitespace-faces boolean nil nil ++ :safe booleanp) (scroll-step windows integer) (scroll-conservatively windows integer) (scroll-margin windows integer) diff --cc lisp/files.el index 341fd45540c,bb49f44fda5,d5f60b7817d..5c3e01a2df3 --- a/lisp/files.el +++ b/lisp/files.el @@@@ -762,16 -788,29 -788,30 +788,30 @@@@ one or more of those symbols. (string-dir (file-name-directory string)) (string-file (file-name-nondirectory string))) (dolist (dir dirs) - (unless dir - (setq dir default-directory)) - (if string-dir (setq dir (expand-file-name string-dir dir))) - (when (file-directory-p dir) - (dolist (file (file-name-all-completions - string-file dir)) - (push file names) - (when (string-match suffix file) - (setq file (substring file 0 (match-beginning 0))) - (push file names))))) + (unless dir + (setq dir default-directory)) + (if string-dir (setq dir (expand-file-name string-dir dir))) + (when (file-directory-p dir) + (dolist (file (file-name-all-completions + string-file dir)) + (if (not (string-match suffix file)) + (push file names) + (push file fullnames) + (push (substring file 0 (match-beginning 0)) names))))) + ;; Switching from names to names+fullnames creates a non-monotonicity + ;; which can cause problems with things like partial-completion. + ;; To minimize the problem, filter out completion-regexp-list, so that - ;; M-x load-library RET t/x.e TAB finds some files. - (if completion-regexp-list - (setq names (all-completions "" names))) ++ ;; M-x load-library RET t/x.e TAB finds some files. Also remove elements ++ ;; from `names' which only matched `string' when they still had ++ ;; their suffix. ++ (setq names (all-completions string names)) + ;; Remove duplicates of the first element, so that we can easily check + ;; if `names' really only contains a single element. + (when (cdr names) (setcdr names (delete (car names) (cdr names)))) + (unless (cdr names) + ;; There's no more than one matching non-suffixed element, so expand + ;; the list by adding the suffixed elements as well. + (setq names (nconc names fullnames))) (completion-table-with-context string-dir names string-file pred action))))) diff --cc lisp/help.el index a3f1ad8d9b0,a2e721dd6b3,6c6bd76ec4b..eb9ad94a9f8 --- a/lisp/help.el +++ b/lisp/help.el @@@@ -1037,79 -1046,158 -1044,158 +1037,79 @@@@ window. (message "%s" (substitute-command-keys (concat quit-part scroll-part))))) --(defun help-window-setup-finish (window &optional reuse keep-frame) -- "Finish setting up help window WINDOW. --Select WINDOW according to the value of `help-window-select'. --Display message telling how to scroll and eventually quit WINDOW. - -Optional argument REUSE non-nil means WINDOW has been reused by -`display-buffer'. Optional argument KEEP-FRAME non-nil means -that quitting should not delete WINDOW's frame." - (let ((number-of-windows - (length (window-list (window-frame window) 'no-mini window)))) - (cond - ((eq window (selected-window)) - ;; The help window is the selected window, probably the - ;; `pop-up-windows' nil case. - (help-window-display-message - (if reuse - "Type \"q\" to restore this window" - ;; This should not be taken. - "Type \"q\" to quit") window)) - ((= number-of-windows 1) - ;; The help window is alone on a frame and not the selected - ;; window, could be the `pop-up-frames' t case. - (help-window-display-message - (cond - (keep-frame "Type \"q\" to delete this window") - (reuse "Type \"q\" to restore this window") - (view-remove-frame-by-deleting "Type \"q\" to delete this frame") - (t "Type \"q\" to iconify this frame")) - window)) - ((and (= number-of-windows 2) - (eq (window-frame window) (window-frame (selected-window)))) - ;; There are two windows on the help window's frame and the other - ;; window is the selected one. - (if (memq help-window-select '(nil other)) - ;; Do not select the help window. - (help-window-display-message - (if reuse - ;; Offer `display-buffer' for consistency with - ;; `help-print-return-message'. This is hardly TRT when - ;; the other window and the selected window display the - ;; same buffer but has been handled this way ever since. - "Type \\[display-buffer] RET to restore the other window" - ;; The classic "two windows" configuration. - "Type \\[delete-other-windows] to delete the help window") - window t) - ;; Select help window and tell how to quit. - (select-window window) - (help-window-display-message - (if reuse - "Type \"q\" to restore this window" - "Type \"q\" to delete this window") window))) - (help-window-select - ;; Issuing a message with 3 or more windows on the same frame - ;; without selecting the help window doesn't make any sense. - (select-window window) - (help-window-display-message - (if reuse - "Type \"q\" to restore this window" - "Type \"q\" to delete this window") window))))) - -(defun help-window-setup (list-of-frames list-of-window-tuples) - "Set up help window. -LIST-OF-FRAMES and LIST-OF-WINDOW-TUPLES are the lists of frames -and window quadruples built by `with-help-window'. The help -window itself is specified by the variable `help-window'." - (let* ((help-buffer (window-buffer help-window)) - ;; `help-buffer' now denotes the help window's buffer. - (view-entry - (assq help-window - (buffer-local-value 'view-return-to-alist help-buffer))) - (help-entry (assq help-window list-of-window-tuples))) - - ;; Handle `help-window-point-marker'. - (when (eq (marker-buffer help-window-point-marker) help-buffer) - (set-window-point help-window help-window-point-marker) - ;; Reset `help-window-point-marker'. - (set-marker help-window-point-marker nil)) ++;; No matter what we do down here: There will be always a case that ++;; defeats our best intentions ;-) ++(defun help-window-setup () ++ "Set up help window." ++ (let* ((help-window (car-safe display-buffer-window-and-buffer)) ++ (help-buffer (when (window-live-p help-window) ++ (window-buffer help-window))) ++ (help-value (cdr-safe display-buffer-window-and-buffer)) ++ (number-of-windows ++ ;; FIXME: This is intuitvely wrong for compound windows. What ++ ;; we need is the number of windows eligible by `other-window' ++ ;; on this frame. ++ (length (window-list (window-frame help-window) 'no-mini)))) ++ (when help-buffer ++ ;; Handle `help-window-point-marker'. ++ (when (eq (marker-buffer help-window-point-marker) help-buffer) ++ (set-window-point help-window help-window-point-marker) ++ ;; Reset `help-window-point-marker'. ++ (set-marker help-window-point-marker nil)) - Optional argument REUSE non-nil means WINDOW has been reused by - `display-buffer'. Optional argument KEEP-FRAME non-nil means - that quitting should not delete WINDOW's frame." - (let ((number-of-windows - (length (window-list (window-frame window) 'no-mini window)))) - (cond - ((eq window (selected-window)) - ;; The help window is the selected window, probably the - ;; `pop-up-windows' nil case. - (help-window-display-message - (if reuse - "Type \"q\" to restore this window" - ;; This should not be taken. - "Type \"q\" to quit") window)) - ((= number-of-windows 1) - ;; The help window is alone on a frame and not the selected - ;; window, could be the `pop-up-frames' t case. - (help-window-display-message - (cond - (keep-frame "Type \"q\" to delete this window") - (reuse "Type \"q\" to restore this window") - (view-remove-frame-by-deleting "Type \"q\" to delete this frame") - (t "Type \"q\" to iconify this frame")) - window)) - ((and (= number-of-windows 2) - (eq (window-frame window) (window-frame (selected-window)))) - ;; There are two windows on the help window's frame and the other - ;; window is the selected one. - (if (memq help-window-select '(nil other)) - ;; Do not select the help window. - (help-window-display-message - (if reuse - ;; Offer `display-buffer' for consistency with - ;; `help-print-return-message'. This is hardly TRT when - ;; the other window and the selected window display the - ;; same buffer but has been handled this way ever since. - "Type \\[display-buffer] RET to restore the other window" - ;; The classic "two windows" configuration. - "Type \\[delete-other-windows] to delete the help window") - window t) - ;; Select help window and tell how to quit. - (select-window window) - (help-window-display-message - (if reuse - "Type \"q\" to restore this window" - "Type \"q\" to delete this window") window))) - (help-window-select - ;; Issuing a message with 3 or more windows on the same frame - ;; without selecting the help window doesn't make any sense. - (select-window window) - (help-window-display-message - (if reuse - "Type \"q\" to restore this window" - "Type \"q\" to delete this window") window))))) - - (defun help-window-setup (list-of-frames list-of-window-tuples) - "Set up help window. - LIST-OF-FRAMES and LIST-OF-WINDOW-TUPLES are the lists of frames - and window quadruples built by `with-help-window'. The help - window itself is specified by the variable `help-window'." - (let* ((help-buffer (window-buffer help-window)) - ;; `help-buffer' now denotes the help window's buffer. - (view-entry - (assq help-window - (buffer-local-value 'view-return-to-alist help-buffer))) - (help-entry (assq help-window list-of-window-tuples))) - - ;; Handle `help-window-point-marker'. - (when (eq (marker-buffer help-window-point-marker) help-buffer) - (set-window-point help-window help-window-point-marker) - ;; Reset `help-window-point-marker'. - (set-marker help-window-point-marker nil)) - -- (cond -- (view-entry -- ;; `view-return-to-alist' has an entry for the help window. (cond -- ((eq help-window (selected-window)) -- ;; The help window is the selected window, probably because the -- ;; user followed a backward/forward button or a cross reference. -- ;; In this case just purge stale entries from -- ;; `view-return-to-alist' but leave the entry alone and don't -- ;; display a message. -- (view-return-to-alist-update help-buffer)) -- ((and help-entry (eq (cadr help-entry) help-buffer)) -- ;; The help window was not selected but displayed the help -- ;; buffer. In this case reuse existing exit information but try -- ;; to get back to the selected window when quitting. Don't -- ;; display a message since the user must have seen one before. -- (view-return-to-alist-update -- help-buffer (cons help-window -- (cons (selected-window) (cddr view-entry))))) -- (help-entry -- ;; The help window was not selected, did display the help buffer -- ;; earlier, but displayed another buffer when help was invoked. -- ;; Set up things so that quitting will show that buffer again. -- (view-return-to-alist-update -- help-buffer (cons help-window -- (cons (selected-window) (cdr help-entry)))) -- (help-window-setup-finish help-window t)) ++ ;; Don't say anything if the help window displayed the same ++ ;; buffer before. ++ ((or (not help-value) (eq help-buffer help-value))) ++ ;; The following does not handle the case where the help window ++ ;; fills its frame, is not selected, but does get selected ++ ;; afterwards by external intervention. ++ ((or (eq help-window (selected-window)) ++ (and (eq help-window-select t) ++ (select-window help-window))) ++ ;; The help window is or gets selected ... ++ (help-window-display-message ++ (cond ++ ((buffer-live-p help-value) ++ ;; ... and displayed some other buffer before, ... ++ "Type \"q\" to restore previous buffer") ++ ((eq (frame-root-window (window-frame help-window)) ++ help-window) ++ (if view-remove-frame-by-deleting ++ ;; ... is on a new deletable frame, ... ++ "Type \"q\" to delete this frame" ++ ;; ... is on a new non-deletable frame, ... ++ "Type \"q\" to iconify this frame")) ++ (t ++ ;; ... is new. ++ "Type \"q\" to delete this window")) ++ help-window t)) ++ ((and (= number-of-windows 2) ++ (eq (window-frame help-window) ++ (window-frame (selected-window)))) ++ ;; There are two windows on the help window's frame and the ++ ;; other one is the selected one. ++ (if (memq help-window-select '(nil other)) ++ ;; Do not select the help window. ++ (help-window-display-message ++ (if (buffer-live-p help-value) ++ ;; Offer `display-buffer' for consistency with ++ ;; `help-print-return-message'. This is not TRT but ++ ;; handled this way ever since. ++ "Type \\[display-buffer] RET to restore previous buffer" ++ ;; The classic "two windows" configuration. ++ "Type \\[delete-other-windows] to delete the help window") ++ help-window 'other) ++ ;; Select help window and tell how to quit. ++ (select-window help-window) ++ (help-window-display-message ++ (if (buffer-live-p help-value) ++ "Type \"q\" to restore previous buffer" ++ "Type \"q\" to delete this window") help-window t))) (t -- ;; The help window is new but `view-return-to-alist' had an -- ;; entry for it. This should never happen. -- (view-return-to-alist-update -- help-buffer (cons help-window -- (cons (selected-window) 'quit-window))) -- (help-window-setup-finish help-window t)))) -- (help-entry -- ;; `view-return-to-alist' does not have an entry for help window -- ;; but `list-of-window-tuples' does. Hence `display-buffer' must -- ;; have reused an existing window. -- (if (eq (cadr help-entry) help-buffer) -- ;; The help window displayed `help-buffer' before but no -- ;; `view-return-to-alist' entry was found probably because the -- ;; user manually switched to the help buffer. Set up things -- ;; for `quit-window' although `view-exit-action' should be -- ;; able to handle this case all by itself. -- (progn -- (view-return-to-alist-update -- help-buffer (cons help-window -- (cons (selected-window) 'quit-window))) -- (help-window-setup-finish help-window t)) -- ;; The help window displayed another buffer before. Set up -- ;; things in a way that quitting can orderly show that buffer -- ;; again. The window-start and window-point information from -- ;; `list-of-window-tuples' provide the necessary information. -- (view-return-to-alist-update -- help-buffer (cons help-window -- (cons (selected-window) (cdr help-entry)))) -- (help-window-setup-finish help-window t))) -- ((memq (window-frame help-window) list-of-frames) -- ;; The help window is a new window on an existing frame. This -- ;; case must be handled specially by `help-window-setup-finish' -- ;; and `view-mode-exit' to ascertain that quitting does _not_ -- ;; inadvertently delete the frame. -- (view-return-to-alist-update -- help-buffer (cons help-window -- (cons (selected-window) 'keep-frame))) -- (help-window-setup-finish help-window nil t)) -- (t -- ;; The help window is shown on a new frame. In this case quitting -- ;; shall handle both, the help window _and_ its frame. We changed -- ;; the default of `view-remove-frame-by-deleting' to t in order to -- ;; intuitively DTRT here. -- (view-return-to-alist-update -- help-buffer (cons help-window (cons (selected-window) t))) -- (help-window-setup-finish help-window))))) ++ ;; Not much to say here. ++ (help-window-display-message ++ "Type \"q\" in help window to quit" help-window)))))) ;; `with-help-window' is a wrapper for `with-output-to-temp-buffer' ;; providing the following additional twists: diff --cc src/ChangeLog index 6ef541cb1a6,6f388cd7283,529677cb5f4..341530d31d7 --- a/src/ChangeLog +++ b/src/ChangeLog @@@@ -1,3 -1,2100 -1,2416 +1,2416 @@@@ ++ 2010-10-25 Glenn Morris ++ ++ * Makefile.in (SOME_MACHINE_LISP): Remove easymenu.elc. ++ ++ 2010-10-24 Glenn Morris ++ ++ * w32fns.c (Fx_synchronize, Fx_change_window_property) ++ (Fx_window_property, Fx_file_dialog): ++ * xfns.c (Fx_synchronize, Fx_change_window_property) ++ (Fx_window_property, Fx_file_dialog): Sync docs between w32 and X. ++ ++ 2010-10-24 Chong Yidong ++ ++ * xterm.c (x_connection_closed): Kill Emacs unconditionally. ++ ++ 2010-10-24 Eli Zaretskii ++ ++ * frame.c (Fframep, Fwindow_system): Deprecate use as a predicate. ++ ++ * dispnew.c (syms_of_display) : ++ Deprecate use as a boolean flag. ++ ++ 2010-10-24 Jim Meyering ++ ++ * emacs.c (argmatch): Don't treat "--" as "--chdir". ++ ++ 2010-10-24 Glenn Morris ++ ++ * w16select.c (syms_of_win16select) : ++ : ++ * w32select.c (syms_of_w32select) : ++ : ++ Sync docs with select.el. ++ ++ * xfaces.c (syms_of_xfaces) : Sync doc with ++ Lisp version. ++ ++ * w32term.c (syms_of_w32term) : ++ Sync doc with the xterm.c version. ++ ++ * w32term.c (syms_of_w32term) : ++ * xterm.c (syms_of_xterm) : Sync docs. ++ ++ 2010-10-23 Glenn Morris ++ ++ * buffer.c (syms_of_buffer) : ++ * frame.c (syms_of_frame) : ++ * xdisp.c (syms_of_xdisp) : ++ : Sync docs with Lisp. ++ ++ 2010-10-23 Eli Zaretskii ++ ++ Implement mouse highlight for bidi-reordered lines. ++ ++ * xdisp.c (fast_find_string_pos): #ifdef away, not used anymore. ++ (mouse_face_from_string_pos): New function, replaces ++ fast_find_string_pos. ++ (note_mouse_highlight): Call it instead of fast_find_string_pos. ++ (note_mode_line_or_margin_highlight): Support bidi-reordered ++ strings and R2L glyph rows. Fix comments. ++ (note_mouse_highlight): When bidi reordering is turned on in a ++ buffer, call next-single-property-change and ++ previous-single-property-change with last argument nil. Clear ++ mouse highlight when mouse pointer is in a R2L row on the stretch ++ glyph that stands for no text beyond the line end. ++ (row_containing_pos): Don't return too early when CHARPOS is in a ++ bidi-reordered continued line. Return immediately when the first ++ hit is found in a line that is not continued, or when an exact ++ match for CHARPOS is found. ++ (rows_from_pos_range): New function. ++ (mouse_face_from_buffer_pos): Use it instead of calling ++ row_containing_pos for START_CHARPOS and END_CHARPOS. Rewrite the ++ function to support mouse highlight in bidi-reordered lines and ++ not to assume that START_CHARPOS is always in mouse_face_beg_row. ++ If necessary, swap mouse_face_beg_row and mouse_face_end_row so ++ that the former is always above the latter or identical to it. ++ (show_mouse_face): Support drawing highlighted R2L lines. ++ (coords_in_mouse_face_p): New function, bidi-aware. ++ (cursor_in_mouse_face_p, note_mouse_highlight, erase_phys_cursor): ++ Call it instead of comparing with mouse-face members of dpyinfo. ++ (note_mode_line_or_margin_highlight): Fix confusingly swapped ++ usage of hpos and vpos. ++ ++ 2010-10-22 Jan Djärv ++ ++ * xrdb.c: Include keyboard.h for MOTIF. ++ ++ * xmenu.c: Revert 2010-07-27 change: lwlib.h is needed for ++ MOTIF (Bug#7263). ++ ++ * xfns.c: Include Xm/TextF and Xm/List. ++ (file_dialog_cb, file_dialog_unmap_cb, clean_up_file_dialog): Make ++ ANSI prototypes. ++ ++ 2010-10-22 Glenn Morris ++ ++ * Makefile.in (SOME_MACHINE_LISP): Add w32-vars. ++ Remove ccl and duplicate mouse. ++ ++ 2010-10-21 Chong Yidong ++ ++ * insdel.c (prepare_to_modify_buffer): Don't set ++ saved-region-selection if modification hooks are disabled. ++ ++ 2010-10-19 Chong Yidong ++ ++ * cmds.c (Fdelete_char): Doc fix. ++ ++ 2010-10-19 Ken Brown ++ ++ * s/cygwin.h (SIGNALS_VIA_CHARACTERS): New define (bug#7225). ++ ++ 2010-10-19 Kenichi Handa ++ ++ Fix incorrect font metrics when the same font is opened with ++ different pixelsizes. ++ ++ * xftfont.c: Include composite.h. ++ (xftfont_shape): New function. ++ (syms_of_xftfont): Set xftfont_driver.shape. ++ ++ 2010-10-18 Julien Danjou ++ ++ * frame.c (Fframe_pointer_visible_p): ++ Add `frame-pointer-visible-p' to get the pointer visibility. ++ ++ 2010-10-18 Lars Magne Ingebrigtsen ++ ++ * gnutls.c (emacs_gnutls_read): Return 0 if we get a ++ non-"EAGAIN"-like error to signal to Emacs that the socket should ++ be closed. ++ ++ 2010-10-15 Eli Zaretskii ++ ++ * unexcoff.c (make_hdr): Fix prototype according to changes in ++ 2010-10-03T13:59:56Z!dann@ics.uci.edu. ++ ++ * image.c (tiff_load): Cast 3rd argument to avoid compiler warning. ++ ++ 2010-10-15 Tassilo Horn ++ ++ * Makefile.in (really-oldXMenu): Fix typo in variable name that ++ made building the X menu fail. ++ (really-oldXMenu): Fix my previous fix. ++ ++ 2010-10-14 Damyan Pepper ++ ++ Fix handling of font properties on Windows (bug#6303). ++ * font.c (font_filter_properties): New function, refactored from ++ ftfont_filter_properties. ++ * font.h (font_filter_properties): Declare. ++ * ftfont.c (ftfont_filter_properties): Use font_filter_properties. ++ * w32font.c (w32font_booleans, w32font_non_booleans): New variables. ++ (w32font_filter_properties): New function. ++ (w32font_driver): Add w32font_filter_properties. ++ ++ 2010-10-14 Juanma Barranquero ++ ++ * font.c (Ffont_variation_glyphs): ++ * ccl.c (Fccl_execute_on_string): Fix typo in docstring. ++ ++ 2010-10-14 Juanma Barranquero ++ ++ * w32fns.c (w32_wnd_proc, file_dialog_callback): ++ * w32font.c (w32_generic_family): ++ * w32inevt.c (key_event): ++ * w32menu.c (fill_in_menu): ++ * w32proc.c (reader_thread, w32_executable_type, compare_env) ++ (merge_and_sort_env, int_from_hex, enum_locale_fn, enum_codepage_fn): ++ * w32term.c (w32_read_socket): Make static. ++ ++ 2010-10-13 Juanma Barranquero ++ ++ * image.c (DEF_IMGLIB_FN): Add argument to adapt to strict ++ prototypes; all callers changed. ++ ++ 2010-10-13 Juanma Barranquero ++ ++ * makefile.w32-in (TLIB2): Rename from TLIBW32. ++ (OBJ2): New macro. ++ (WIN32OBJ, FONTOBJ): Remove. ++ (OBJ1): Redistribute object files with OBJ2. ++ (LIBS, $(TEMACS)): Use TLIB2. ++ (make-buildobj-CMD, make-buildobj-SH): Use OBJ2. ++ ($(TLIB2), TAGS, TAGS-LISP, TAGS-gmake): Depend on OBJ2. ++ ++ 2010-10-13 Juanma Barranquero ++ ++ * emacs.c (Vdynamic_library_alist) ++ (syms_of_emacs) : Move from image.c and rename. ++ Doc fix. ++ ++ * lisp.h (Vdynamic_library_alist): Declare extern. ++ ++ * image.c (Vimage_library_alist) ++ (syms_of_image) : Move to emacs.c and rename. ++ (lookup_image_type): Use Vdynamic_library_alist. ++ (Finit_image_library): Doc fix. ++ ++ 2010-10-12 Dan Nicolaescu ++ ++ * Makefile.in (lispsource, libsrc, etc, oldxmenudir, lwlibdir) ++ (lispdir): Remove trailing /, update all uses. ++ ++ 2010-10-12 Jan Djärv ++ ++ * nsterm.m (Qleft): Declare. ++ (ns_right_alternate_modifier): New variable ++ (NSRightAlternateKeyMask): New define. ++ (EV_MODIFIERS): Parse NSRightAlternateKeyMask if ++ ns_right_alternate_modifier isn't Qleft. ++ (keyDown): If ns_right_alternate_modifier isn't Qleft, use it ++ as emacs modifier for NSRightAlternateKeyMask. ++ (syms_of_nsterm): DEFVAR_LISP ns-right-alternate-modifier. ++ ++ 2010-10-10 Lars Magne Ingebrigtsen ++ ++ * gnutls.c (emacs_gnutls_write): If we're trying to write before ++ gnutls is ready, return EAGAIN as the errno. ++ ++ 2010-10-10 Dan Nicolaescu ++ ++ * vm-limit.c: ++ * unexhp9k800.c: ++ * unexelf.c: ++ * unexaix.c: ++ * termcap.c: Remove #ifdef emacs / #ifndef emacs code, unused. ++ ++ * Makefile.in (temacs): Use $(ALL_CFLAGS) on the link line. ++ (PROFILING_LDFLAGS): Remove, not needed anymore. ++ ++ * Makefile.in: Use $(...) everywhere instead of ${...} ++ (CRT_DIR): Move near potential user. ++ (START_FILE): Move near CRT_DIR, it might use it. ++ ++ * sysdep.c (LPASS8): Remove, unused. ++ (emacs_ospeed): Change from being a global to a local in the only ++ user: init_baud_rate. ++ ++ 2010-10-09 Lars Magne Ingebrigtsen ++ ++ * gnutls.c (syms_of_gnutls): All the bootprops are keywords. ++ (emacs_gnutls_write): Remove the debuggin fsync call. ++ (emacs_gnutls_read): Return -1 if we got an error from ++ gnutls_read. This allows us to actually read lots of data from ++ the GnuTLS stream. ++ (emacs_gnutls_write): Check for GNUTLS_E_AGAIN and not EINTR. ++ According to the documentation, this is correct, and it seems to ++ make things work. ++ ++ 2010-10-09 Chong Yidong ++ ++ * xterm.c (x_draw_relief_rect): Clear corner pixels. ++ ++ 2010-10-08 Michael Albinus ++ ++ * keyboard.c: Revert last change; it was not intended to be ++ synchronized with the trunk. ++ ++ 2010-10-08 Kenichi Handa ++ ++ * coding.c (complement_process_encoding_system): Fix previous change. ++ ++ 2010-10-08 Michael Albinus ++ ++ * dbusbind.c (syms_of_dbusbind): Move putenv call ... ++ (Fdbus_init_bus): ... here. (Bug#7113) ++ ++ 2010-10-08 Glenn Morris ++ ++ * buffer.c (before-change-functions, after-change-functions): ++ Three-year overdue doc fix following 2007-08-13 change. ++ ++ 2010-10-08 Kenichi Handa ++ ++ * coding.c (coding_inherit_eol_type): If parent doesn't specify ++ eol-format, inherit from the system's default. ++ (complement_process_encoding_system): Make a new coding system ++ inherit the original eol-format. ++ ++ 2010-10-08 Kenichi Handa ++ ++ * coding.c (complement_process_encoding_system): New function. ++ ++ * coding.h (complement_process_encoding_system): Extern it. ++ ++ * callproc.c (Fcall_process): Complement the coding system for ++ encoding arguments. ++ (Fcall_process_region): Complement the coding system for encoding ++ the input to the process. ++ ++ * process.c (Fstart_process): Complement the coding system for ++ encoding arguments. ++ (send_process): Complement the coding system for encoding what ++ sent to the process. ++ ++ 2010-10-08 Kenichi Handa ++ ++ * xfont.c (xfont_open): Fix setting of font->average_width from ++ :avgwidth property (Bug#7123). ++ ++ 2010-10-08 Michael Albinus ++ ++ * dbusbind.c (syms_of_dbusbind): Use putenv instead of setenv, it ++ is more portable. ++ ++ * keyboard.c (gobble_input): Move call of xd_read_queued_messages ... ++ (kbd_buffer_get_event): ... here. This is needed for cygwin, which ++ has not defined SIGIO. ++ ++ 2010-10-08 Chong Yidong ++ ++ * xterm.c (x_draw_relief_rect): If box width is larger than 1, ++ draw the outermost line using the black relief, for legibility. ++ Omit drawing the four corner pixels. ++ + 2010-10-04 Chong Yidong + + * keyboard.c (echo_prompt): Function moved into read_key_sequence. + (read_key_sequence): Inline echo_prompt. + (echo_dash): Add a dash only if key is continued (Bug#7137). + + 2010-10-04 Dan Nicolaescu + + Remove O_RDONLY, O_WRONLY definitions, not needed. + * unexcoff.c: + * lread.c: + * fileio.c: + * doc.c: + * callproc.c: + * alloc.c: + * termcap.c: Remove O_RDONLY O_WRONLY definitions. + + 2010-10-03 Teodor Zlatanov + + * gnutls.h (GNUTLS_LOG2): Convenience macro. + + * gnutls.c: Add property list symbol holders. + (emacs_gnutls_handshake): Clarify how sockets are passed to + GnuTLS. + (gnutls_log_function2): Convenience function using GNUTLS_LOG2. + (Fgnutls_boot): Get all parameters from a plist. Require trustfiles + and keyfiles to be a list of file names. Default to "NORMAL" for + the priority string. Improve logging. + + 2010-10-03 Glenn Morris + + * fileio.c (Vdirectory_sep_char): Remove. + + 2010-10-03 Dan Nicolaescu + + * termhooks.h: Remove #ifdef CONSP. + + * xterm.c (NO_INLINE, noinline): Move definitions to ../configure.in. + + Include unconditionally. + * termcap.c: + * sysdep.c: + * lread.c: + * keyboard.c: + * filelock.c: + * fileio.c: + * doc.c: + * callproc.c: + * alloc.c: Remove include guards for , process.c already + does it. + + * process.c: Do not include , syswait.h does it. + + * sysdep.c (flush_pending_output): Remove code, does not do + anything on any platform. + + Remove unused code. + * sysdep.c (select_alarm, sys_select, read_input_waiting): Remove + select emulation, all systems support select. + (set_exclusive_use): Remove, the only user is in an #if 0 block. + * process.c (create_process): Remove #if 0 code. + + Remove unused arguments for unexec. + The third one is never used, and the last two are always passed as zero. + * emacs.c (unexec): Add declaration. + (Fdump_emacs): Only pass the first two arguments to unexec. + Simplify #ifdef. + * unexw32.c (unexec): + * unexsol.c (unexec): + * unexhp9k800.c (unexec): + * unexcw.c (unexec): Remove the last 3 arguments, unused. + * unexelf.c (unexec): Remove the last 3 arguments, unused. + (find_section): Use const. + * unexmacosx.c (unexec): Remove the last 3 arguments, unused. + (unexec_error): Declare it NO_RETURN. + * unexcoff.c (make_hdr): Assume bss_start is always zero, remove + it as an argument, remove data_start and entry_address arguments, unused. + (unexec): Remove bss_start, data_start and + entry_address arguments. + * unexaix.c (make_hdr): Assume bss_start is always zero, remove + it as an argument, remove data_start and entry_address arguments, unused. + (unexec): Remove bss_start, data_start and + entry_address arguments. + + 2010-10-03 Juanma Barranquero + + * makefile.w32-in (TAGS, TAGS-LISP, TAGS-gmake): Add $(FONTOBJ). + + * gnutls.c (emacs_gnutls_handshake, gnutls_make_error) + (gnutls_emacs_global_init, gnutls_emacs_global_deinit): Make static. + (Fgnutls_get_initstage, Fgnutls_deinit, Fgnutls_boot, Fgnutls_bye): + Fix typos in docstrings. + (Fgnutls_error_fatalp, Fgnutls_error_string): Doc fixes. + (Fgnutls_errorp): Doc fix; use ERR for the argument name. + + 2010-10-03 Chong Yidong + + * keyboard.c (command_loop_1): Make sure the mark is really alive + before using it (Bug#7044). + + 2010-10-02 Juanma Barranquero + + * makefile.w32-in (tags): Rename target to full-tags. + + 2010-10-02 Eli Zaretskii + + * emacs.c (main): Remove !WINDOWSNT conditional. + (Fkill_emacs): Don't mention exemption on MS-Windows. + + 2010-10-02 Glenn Morris + + * character.c (Fchar_bytes): Remove obsolete function. + (syms_of_character): Remove Schar_bytes. + + * emacs.c (fatal_error_signal): Also run Fkill_emacs on SIGINT. + (main) [!WINDOWSNT]: Handle SIGINT with fatal_error_signal + in batch-mode. + (Fkill_emacs): Doc fix. Also run the hook in batch mode. + (kill-emacs-hook): Doc fix. + + 2010-10-02 Lars Magne Ingebrigtsen + + * xml.c (Flibxml_parse_xml_region, Flibxml_parse_html_region) + (parse_region): Reworked to take regions instead of strings, and + renamed to reflect that these are the libxml functions. + + 2010-10-01 Eli Zaretskii + + * term.c (init_tty) [DOS_NT]: Don't call Wcm_clear after setting + screen dimensions in tty->Wcm. + + * xdisp.c (set_cursor_from_row): When the row is truncated and + point is outside the range of displayed characters, position the + cursor inside the scroll margin. (Bug#6349) + + 2010-10-01 Dan Nicolaescu + + Do not include stdlib.h and string.h, config.h does it. + * xfont.c: + * w32term.c: + * w32reg.c: + * w32inevt.c: + * w32heap.c: + * w32console.c: + * w16select.c: + * unexsol.c: + * term.c: + * sound.c: + * scroll.c (m): + * gtkutil.c: + * font.c: + * filelock.c: + * fileio.c: + * dosfns.c: + * dbusbind.c: + * bidi.c: + * callproc.c: + * process.c: + * msdos.c: + * charset.c: Do not include stdlib.h and string.h, config.h does it. + + * callproc.c (SIGCHLD): Remove conditional definition, syssignal.h defines it. + + * process.c: Move #include earlier. + (SIGCHLD): Remove conditional definition, syssignal.h defines it. + (pty_name): Move definition later. + + * nsselect.m (syms_of_nsselect): + * nsmenu.m (syms_of_nsmenu): + * nsfns.m (syms_of_nsfns): + * msdos.c (syms_of_msdos): + + * image.c (syms_of_image): + * charset.c (syms_of_charset): Use intern_c_string instead of intern. + + * point.h: Remove, unused. + + 2010-10-01 Eli Zaretskii + + * makefile.w32-in (TAGS, frc, TAGS-LISP, ../nt/TAGS, tags) + (TAGS-gmake, TAGS-nmake, TAGS-LISP-gmake, TAGS-LISP-nmake) + (nt-TAGS-gmake, nt-TAGS-nmake): New targets. + + 2010-09-30 Dan Nicolaescu + + * xml.c (parse_string): Use const. + + 2010-09-30 Lars Magne Ingebrigtsen + + * eval.c (Fbacktrace): Don't overwrite print-level on exit. Also + only override Vprint_level if it isn't already bound, and increase + the level to 8 to produce more useful backtraces for bug reports. + + 2010-09-30 Dan Nicolaescu + + * Makefile.in: ecrt0.c does not exist anymore, do not mention it. + + 2010-09-30 Juanma Barranquero + + * w32console.c (vga_stdcolor_name): Remove unused function; + presumed dead after 2007-11-30T13:57:21Z!jasonr@gnu.org. + + 2010-09-29 Lars Magne Ingebrigtsen + + * gnutls.c (emacs_gnutls_handshake): Made into internal function. + (Fgnutls_boot): Start the handshake. + (emacs_gnutls_read): Perform the handshake from the reader loop. + (Fgnutls_boot): Remove some debugging messages. + Change indentation throughout to use the Emacs style. + (emacs_gnutls_handshake): Cast the fds to something that's + possibly the expected length. + (emacs_gnutls_write): Return -1 if we try to write before handshake. + + * process.h (Lisp_Process): Add a gnutls_p field to Lisp_Process. + + * process.c (make_process): Set the gnutls_p field to zero by + default. + (read_process_output): Always call the gnutls_read function if the + stream is a gnutls stream. + (send_process): Ditto for writes. + + * gnutls.c (emacs_gnutls_write, emacs_gnutls_read): Refuse to read + or write anything until the state is GNUTLS_STAGE_READY. + (Fgnutls_boot): Mark the stream as being a gnutls stream. + + 2010-09-29 Eli Zaretskii + + * xdisp.c (reseat_1): Initialize bidi_it.paragraph_dir to + NEUTRAL_DIR. + (handle_invisible_prop, iterate_out_of_display_property) + (next_element_from_buffer): If bidi_it.first_elt is set, call + bidi_paragraph_init with NO_DEFAULT_P argument non-zero. + (Bug#7128) + + * print.c (print_object): Fix format string and argument types for + printing a Lisp_Misc_Marker. + + * xdisp.c (pos_visible_p, c_string_pos, number_of_chars) + (load_overlay_strings, get_overlay_strings_1) + (get_overlay_strings, forward_to_next_line_start) + (back_to_previous_visible_line_start, reseat, reseat_to_string) + (get_next_display_element, next_element_from_string) + (next_element_from_c_string, next_element_from_buffer) + (move_it_vertically_backward, move_it_by_lines, add_to_log) + (message_dolog, message_log_check_duplicate, message2_nolog) + (message3, message3_nolog, vmessage, set_message, set_message_1) + (hscroll_window_tree, text_outside_line_unchanged_p) + (set_cursor_from_row, set_vertical_scroll_bar, redisplay_window) + (find_last_unchanged_at_beg_row) + (find_first_unchanged_at_end_row, row_containing_pos) + (trailing_whitespace_p, display_mode_element, decode_mode_spec) + (display_count_lines, x_produce_glyphs, note_mouse_highlight): Use + EMACS_INT for buffer and string positions. + + * dispextern.h (struct it) : Declare EMACS_INT. + (row_containing_pos): Adjust prototype. + + * lisp.h (pos_visible_p, message2, message2_nolog, message3) + (message2_nolog, set_message): Adjust prototypes. + + 2010-09-28 Stefan Monnier + + * gnutls.c (Fgnutls_boot): Remove unused vars `data' and `srp_cred'. + (Fgnutls_boot): Use SDATA. + (Fgnutls_handshake): Remove unused var `max_log_level'. + + 2010-09-27 Michael Albinus + + * dbusbind.c (syms_of_dbusbind): Set $DBUS_FATAL_WARNINGS to "0". + (Bug#7113) + + 2010-09-27 Jan Djärv + + * xgselect.c (xg_select): Clear file descriptors not set from + rfds and wfds. + + * process.c (wait_reading_process_output): Add missing FD_CLR + for write_mask (must mirror connect_wait_mask). + + 2010-09-27 Teodor Zlatanov + + * gnutls.c (gnutls_log_function): Show level and "gnutls.c" + prefix. + (Fgnutls_boot): Use changed process members. Use log level with a + function parameter to set it. Bring back Emacs-level debugging + messages at log level 1 and 2. + + * process.c (make_process): Initialize gnutls_log_level. + + * process.h: Add gnutls_log_level and rename x509_cred and + anon_cred to have the gnutls_ prefix for consistency. + + * gnutls.h (GNUTLS_LOG): Add convenience macro. + + 2010-09-27 Juanma Barranquero + + * w32.c (g_b_init_get_sid_identifier_authority) + (GetSidIdentifierAuthority_Proc, get_sid_identifier_authority): + Remove, not used. + (globals_of_w32): Don't set g_b_init_get_sid_identifier_authority. + (init_winsock): Remove useless assignment. + (open_process_token, get_token_information, lookup_account_sid) + (get_sid_sub_authority, get_sid_sub_authority_count, get_file_security) + (get_security_descriptor_owner, get_security_descriptor_group) + (is_valid_sid, equal_sid, get_length_sid, copy_sid) + (get_native_system_info, get_system_times, init_user_info, crlf_to_lf) + (is_unc_volume, GetCachedVolumeInformation, get_volume_info) + (is_fat_volume, open_unc_volume, read_unc_volume, close_unc_volume) + (unc_volume_file_attributes, convert_from_time_t) + (create_toolhelp32_snapshot, process32_first, process32_next) + (open_thread_token, impersonate_self, revert_to_self) + (get_process_memory_info, get_process_working_set_size) + (global_memory_status, global_memory_status_ex, socket_to_fd) + (shutdown_handler): Make static. + + 2010-09-27 Michael Albinus + + * dbusbind.c (dbus_fd_cb, xd_get_dispatch_status) + (xd_pending_messages): Functions removed. + (xd_read_queued_messages): Add parameters fd, *data, for_read in + order to be compatible with add_read_fd. Determine bus from data, + and call xd_read_message just for this bus. + (xd_add_watch): Use xd_read_queued_messages as callback function. + Add data. + + * lisp.h (xd_pending_messages, xd_read_queued_messages): Remove. + + 2010-09-27 Lars Magne Ingebrigtsen + + * gnutls.c (gnutls_log_function): Added more debugging. + (emacs_gnutls_read): Don't infloop while reading. + + 2010-09-27 Kenichi Handa + + These changes are to remove restriction on the number of glyphs in + one composition. + + * dispextern.h (struct glyph): Change the member "slice" to union. + Remove u.cmp.from and u.cmp.to. Give more bits to u.cmp.id. + (GLYPH_SLICE_EQUAL_P): Adjusted for the above change. + + * dispnew.c (buffer_posn_from_coords): Use glyph->slice.img + instead of glyph->slice. + (marginal_area_string): Likewise. + + * term.c (encode_terminal_code): Use glyph->slice.cmp instead of + glyph->u.cmp. + (append_composite_glyph): Likewise. + + * xdisp.c (dump_glyph): Use glyph->slice.cmp instead of + glyph->u.cmp. + (fill_gstring_glyph_string, x_get_glyph_overhangs) + (append_composite_glyph): Likewise. + (fill_image_glyph_string): Use glyph->slice.img instead of + glyph->slice. + (append_glyph, produce_image_glyph, append_stretch_glyph) + (note_mouse_highlight): Likewise. + + 2010-09-26 Jan Djärv + + * process.c (add_keyboard_wait_descriptor) + (delete_keyboard_wait_descriptor): Reinstate ifdef subprocesses. + (wait_reading_process_output): Don't pass write_mask to select + if SELECT_CANT_DO_WRITE_MASK is defined. + (SELECT_CANT_DO_WRITE_MASK): Define if SELECT_CANT_DO_WRITE_MASK. + + * process.h (add_read_fd, delete_read_fd, add_write_fd) + (delete_write_fd): Declare. + + * process.c (gpm_wait_mask, max_gpm_desc): Remove. + (write_mask): New variable. + (max_input_desc): Renamed from max_keyboard_desc. + (fd_callback_info): New variable. + (add_read_fd, delete_read_fd, add_write_fd, delete_write_fd): + New functions. + (Fmake_network_process): FD_SET write_mask. + (deactivate_process): FD_CLR write_mask. + (wait_reading_process_output): Connecting renamed to Writeok. + check_connect removed. check_write is new. Remove references to gpm. + Use Writeok/check_write unconditionally (i.e. no #ifdef + NON_BLOCKING_CONNECT) instead of Connecting. + Loop over file descriptors and call callbacks in fd_callback_info + if file descriptor is ready for I/O. + (add_gpm_wait_descriptor): Just call add_keyboard_wait_descriptor. + (delete_gpm_wait_descriptor): Just call delete_keyboard_wait_descriptor. + (keyboard_bit_set): Use max_input_desc. + (add_keyboard_wait_descriptor, delete_keyboard_wait_descriptor): + Remove #ifdef subprocesses. Use max_input_desc. + (init_process): Initialize write_mask and fd_callback_info. + + * keyboard.c (readable_events, gobble_input): Remove DBUS code. + + * dbusbind.c: Include process.h. + (dbus_fd_cb, xd_find_watch_fd, xd_toggle_watch) + (xd_read_message_1): New functions. + (xd_add_watch, xd_remove_watch): Call xd_find_watch_fd. + Handle watch for both read and write. + (Fdbus_init_bus): Also register xd_toggle_watch. + (Fdbus_call_method_asynchronously, Fdbus_method_return_internal) + (Fdbus_method_error_internal, Fdbus_send_signal): Remove call + to dbus_connection_flush. + (xd_read_message): Move most of the code to xd_read_message_1. + Call xd_read_message_1 until status is COMPLETE. + + 2010-09-26 Dan Nicolaescu + + * term.c: Do not include sys/ioctl.h, not needed. + (init_tty): Reorder code to reduce the number of #ifdefs. + No code changes. + + 2010-09-26 Teodor Zlatanov + + * process.h: Set up GnuTLS support. + + * process.c (make_process, Fstart_process) + (read_process_output, send_process): Set up GnuTLS support for + process input/output file descriptors. + + * gnutls.h: The GnuTLS glue for Emacs, macros and enums. + + * gnutls.c: The source code for GnuTLS support in Emacs. + + * emacs.c: Set up GnuTLS support and call syms_of_gnutls. + + * config.in: Set up GnuTLS support. + + * Makefile.in (LIBGNUTLS_LIBS, LIBGNUTLS_CFLAGS, ALL_CFLAGS) + (obj, LIBES): Set up GnuTLS support. + + 2010-09-26 Juanma Barranquero + + * w32.c (get_emacs_configuration_options): Fix previous change. + + 2010-09-25 Chong Yidong + + * insdel.c (prepare_to_modify_buffer): Ensure the mark marker is + alive before using it (Bug#6977). + + 2010-09-25 Lars Magne Ingebrigtsen + + * xdisp.c (face_before_or_after_it_pos): EMACS_INT/int fixup. + + * dispextern.h: EMACS_INT/int fixup. + + * xdisp.c (string_pos_nchars_ahead, init_iterator): EMACS_INT/int + fixup. + + * xrdb.c (magic_file_p): EMACS_INT/int fixup. + + 2010-09-25 Eli Zaretskii + + * window.c (Fpos_visible_in_window_p, Fdelete_other_windows) + (Fselect_window, window_scroll_pixel_based) + (window_scroll_line_based, Frecenter, Fset_window_configuration): + Use EMACS_INT for buffer positions. + + * textprop.c (validate_interval_range, interval_of) + (property_change_between_p, Fadd_text_properties) + (set_text_properties_1, Fremove_text_properties) + (Fremove_list_of_text_properties, Ftext_property_any) + (Ftext_property_not_all, copy_text_properties) + (text_property_list, extend_property_ranges) + (verify_interval_modification): Use EMACS_INT for buffer + positions. + + * term.c (fast_find_position, term_mouse_highlight): Use EMACS_INT + for buffer positions. + + * process.c (read_process_output, send_process) + (Fprocess_send_region, status_notify): Use EMACS_INT for buffer + and string positions and size. + + * print.c (print_object, print_string, strout): Use EMACS_INT for + string indices. + + * minibuf.c (string_to_object): Use EMACS_INT for string position + and size. + + * marker.c (verify_bytepos): Use EMACS_INT for buffer positions. + + * lread.c + : Define EMACS_INT. + (readchar, unreadchar, read_internal_start): Use EMACS_INT for + buffer positions and string length. + + * keyboard.c : Declare + EMACS_INT. + (echo_truncate, adjust_point_for_property, read_char) + (gen_help_event, make_lispy_event, modify_event_symbol) + (Fexecute_extended_command, stuff_buffered_input): Use EMACS_INT + for buffer positions and string length. + + * keyboard.h (gen_help_event): Adjust prototype. + + * termhooks.h : Make `code' member EMACS_INT. + + * commands.h : Declare EMACS_INT. + + * xdisp.c : Define as EMACS_INT. + (truncate_echo_area): Accept EMACS_INT argument. + + * dispextern.h : Declare EMACS_INT. + + * lisp.h (truncate_echo_area): Adjust prototype. + + * composite.c (composition_adjust_point): Return EMACS_INT. + + * composite.h (composition_adjust_point): Adjust prototype. + + 2010-09-25 Juanma Barranquero + + * process.c (Fmake_network_process): When arg :host is 'local, + use address 127.0.0.1, not name "localhost". (Bug#6781) + + 2010-09-24 Eli Zaretskii + + * indent.c (Fcurrent_indentation, indented_beyond_p) + (compute_motion): Use EMACS_INT for buffer position variables. + + * lisp.h (indented_beyond_p): Adjust prototype. + + * buffer.c (overlay_strings): Return EMACS_INT. + + * buffer.h (overlay_strings): Adjust prototype. + + * region-cache.c (pp_cache): Adjust format to arguments. + + * eval.c : Declare EMACS_INT. + (call_debugger): Use EMACS_INT for specpdl_size related variables. + (verror): Use EMACS_INT for size of allocated buffer. + + * keyboard.c (make_lispy_position): Use EMACS_INT for buffer + positions. + + * xdisp.c (redisplay_internal, try_window_id) + (set_cursor_from_row, find_first_unchanged_at_end_row): Use + EMACS_INT for buffer positions. + + * dispextern.h (set_cursor_from_row): Adjust prototype. + + * dispnew.c (increment_matrix_positions) + (increment_row_positions, copy_glyph_row_contents) + (mode_line_string, marginal_area_string): Use EMACS_INT for buffer + positions. + + * dispextern.h (mode_line_string, marginal_area_string) + (increment_matrix_positions, increment_row_positions): Adjust + prototypes. + + * data.c (Faref, Faset): Use EMACS_INT for string length and + positions. + + * cmds.c (internal_self_insert): Use EMACS_INT for the count of + characters to insert. + + * ccl.c (Fccl_execute_on_string): Use EMACS_INT for string + position and size. + + * syntax.c (scan_words, update_syntax_table) + (prev_char_comend_first, back_comment, skip_chars) + (skip_syntaxes, Fforward_comment, Fbackward_prefix_chars): Use + EMACS_INT for buffer and string positions. + + * syntax.h (scan_words, update_syntax_table): Adjust prototypes. + + * casefiddle.c (operate_on_word): Use EMACS_INT for buffer + positions. + + 2010-09-24 Lars Magne Ingebrigtsen + + * scroll.c (calculate_scrolling, line_ins_del) + (calculate_direct_scrolling, scroll_cost): Fix EMACS_INT/int + conversion. + + * region-cache.c (move_cache_gap, set_cache_region, pp_cache) + (region_cache_backward, region_cache_forward) + (revalidate_region_cache, set_cache_region): FIX EMACS_INT/int + conversion. + + * xdisp.c (message_dolog): Fix EMACS_INT/int conversion. + + * eval.c (verror): Fix EMACS_INT/int conversion. + + * print.c (PRINTDECLARE, PRINTPREPARE, strout, print_string) + (print_preprocess, print_check_string_charset_prop) + (print_object): Fix EMACS_INT/int conversion. + + * xdisp.c (message_dolog): Fix EMACS_INT/int conversion. + + 2010-09-24 Eli Zaretskii + + * callproc.c (Fcall_process): Use EMACS_INT for count of + characters read from the subprocess. + + * bidi.c (struct bidi_paragraph_info): Use EMACS_INT for buffer + positions. + (bidi_cache_search, bidi_cache_find): Use EMACS_INT for buffer + positions. + + * buffer.c (struct sortvec): Use EMACS_INT for buffer positions. + (struct sortstrlist, overlay_str_len): Use EMACS_INT for string + length. + (advance_to_char_boundary, Fset_buffer_multibyte) + (overlays_at, overlays_in, mouse_face_overlay_overlaps) + (overlay_touches_p, record_overlay_string, overlay_strings) + (recenter_overlay_lists, fix_start_end_in_overlays) + (modify_overlay, Fmove_overlay, report_overlay_modification) + (evaporate_overlays): Use EMACS_INT for buffer positions. + + * lisp.h (fix_start_end_in_overlays, overlay_touches_p): Adjust + prototypes. + + * dispextern.h (struct bidi_saved_info): Use EMACS_INT for buffer + positions. + + * fns.c (Fcompare_strings, Fstring_lessp, concat) + (string_make_unibyte, Fstring_as_unibyte, Fsubstring) + (Fsubstring_no_properties, substring_both, Ffillarray) + (Fclear_string, mapcar1, Fmapconcat, Fmapcar, Fmapc) + (Fbase64_encode_region, Fbase64_encode_string, base64_encode_1) + (Fbase64_decode_region, Fbase64_decode_string, base64_decode_1) + (Fmd5): Use EMACS_INT for buffer and string positions and length + variables and arguments. + + * lisp.h (substring_both): Adjust prototype. + + 2010-09-24 Juanma Barranquero + + Remove W32 API function pointer unused since 2005-02-15 (revno 2005-02-15T23:19:26Z!jasonr@gnu.org). + * w32fns.c (clipboard_sequence_fn): Don't declare. + (globals_of_w32fns): Don't initialize it. + + 2010-09-23 Stefan Monnier + + * syntax.c (back_comment): Detect the case where a 1-char comment + starter is also the 2nd char of a 2-char comment ender. + + 2010-09-23 Jan Djärv + + * gtkutil.c (xg_tool_bar_menu_proxy): Set gtk-menu-items to TRUE. + + 2010-09-23 Lars Magne Ingebrigtsen + + * eval.c (verror): EMACS_INT/int cleanup. + + * lisp.h (SPECPDL_INDEX): Cast to int, since we're not going to + unwind_protect more than 2GB worth of functions. + + * editfns.c (Finsert_char): EMACS_INT/int cleanup. + + * lisp.h: Have oblookup take EMACS_INT to allow interning big + string and avoid compiler warnings. + (USE_SAFE_ALLOCA): Cast to int to avoid compilation warnings in + all users. + + * lread.c (oblookup): EMACS_INT/int cleanup. + + * cmds.c (Fforward_line, Fdelete_char): EMACS_INT/int cleanup. + + 2010-09-23 Eli Zaretskii + + * editfns.c (clip_to_bounds): Return an EMACS_INT value. + + * lisp.h (clip_to_bounds): Adjust prototype. + + * intervals.c (adjust_for_invis_intang): Return EMACS_INT value. + + 2010-09-23 Lars Magne Ingebrigtsen + + * lisp.h: doprnt.c EMACS_INT/int cleanup. + + * doprnt.c (doprnt): EMACS_INT/int cleanup. + + * doc.c (Fsnarf_documentation, get_doc_string): EMACS_INT/int + cleanup. + + * lisp.h: Change the definition of all marker.c functions that + take and return buffer stuff to be EMACS_INT instead of int. + + * marker.c (buf_charpos_to_bytepos, CONSIDER, set_marker_both) + (buf_charpos_to_bytepos, bytepos_to_charpos) + (buf_bytepos_to_charpos, Fbuffer_has_markers_at) + (set_marker_restricted, set_marker_both): Convert int to EMACS_INT + for all buffer positions. + + 2010-09-23 Chong Yidong + + * intervals.c (traverse_intervals, rotate_right, rotate_left) + (split_interval_right, find_interval, next_interval) + (delete_node, delete_interval, interval_deletion_adjustment) + (adjust_intervals_for_deletion, merge_interval_right) + (merge_interval_left, graft_intervals_into_buffer) + (copy_intervals): Convert EMACS_UINTs to EMACS_INT. + + * intervals.h (traverse_intervals): Update prototype. + + 2010-09-23 Eli Zaretskii + + * indent.c (compute_motion): Use EMACS_INT for arguments to + region_cache_forward. + + * region-cache.c (struct boundary, struct region_cache): Use + EMACS_INT for positions. + (find_cache_boundary, move_cache_gap, insert_cache_boundary) + (delete_cache_boundaries, set_cache_region) + (invalidate_region_cache, know_region_cache) + (region_cache_forward, region_cache_backward, pp_cache): Use + EMACS_INT for buffer positions. + + * region-cache.h (know_region_cache, invalidate_region_cache) + (region_cache_forward, region_cache_backward): Adjust prototypes. + + * search.c (string_match_1, fast_c_string_match_ignore_case) + (looking_at_1, scan_buffer, scan_newline) + (find_next_newline_no_quit, find_before_next_newline) + (search_command, trivial_regexp_p, search_buffer, simple_search) + (boyer_moore, wordify, Freplace_match): Use EMACS_INT for buffer + and string positions and length. + + * lisp.h (scan_buffer, scan_newline, find_next_newline_no_quit) + (find_before_next_newline): Adjust prototypes. + + * editfns.c (transpose_markers, update_buffer_properties) + (buildmark, clip_to_bounds, Fgoto_char, overlays_around) + (get_pos_property, Fconstrain_to_field) + (Fline_beginning_position, Fline_end_position, Fprevious_char) + (Fchar_after, Fchar_before, Finsert_char) + (Finsert_buffer_substring, Fcompare_buffer_substrings) + (Fsubst_char_in_region, Fformat, Ftranspose_regions): Use + EMACS_INT for buffer and string position variables. + (Finsert_char): Protect against too large insertions. + + * lisp.h (clip_to_bounds): Adjust prototype. + + * intervals.c (traverse_intervals, rotate_right, rotate_left) + (balance_an_interval, split_interval_right, split_interval_left) + (find_interval, next_interval, update_interval) + (adjust_intervals_for_insertion, delete_node, delete_interval) + (interval_deletion_adjustment, adjust_intervals_for_deletion) + (offset_intervals, merge_interval_right, merge_interval_left) + (graft_intervals_into_buffer, adjust_for_invis_intang) + (move_if_not_intangible, get_local_map, copy_intervals) + (copy_intervals_to_string, compare_string_intervals) + (set_intervals_multibyte_1): Use EMACS_INT for buffer positions + and for interval tree size. + + * intervals.h (traverse_intervals, split_interval_right) + (split_interval_left, find_interval, offset_intervals) + (graft_intervals_into_buffer, copy_intervals) + (copy_intervals_to_string, move_if_not_intangible, get_local_map) + (update_interval): Adjust prototypes. + + * xdisp.c (check_point_in_composition, reconsider_clip_changes): + Use EMACS_INT for buffer position variables and arguments. + + * composite.c (get_composition_id, find_composition) + (run_composition_function, compose_text) + (composition_gstring_width, autocmp_chars) + (composition_update_it, Ffind_composition_internal): Use EMACS_INT + for buffer positions and string length variables and arguments. + + * composite.h (get_composition_id, find_composition, compose_text) + (composition_gstring_width): Adjust prototypes. + + * editfns.c (Fformat): Use EMACS_INT for string size variables. + + * xdisp.c (store_mode_line_noprop, display_mode_element): Use + EMACS_INT for string positions. + + * intervals.c (get_property_and_range): Use EMACS_INT for buffer + position arguments. + + * intervals.h (get_property_and_range): Adjust prototype. + + * character.c (parse_str_as_multibyte, str_as_multibyte) + (parse_str_to_multibyte, str_to_multibyte, str_as_unibyte) + (string_count_byte8, string_escape_byte8, c_string_width) + (strwidth, lisp_string_width, multibyte_chars_in_text): Use + EMACS_INT for string length variables and arguments. + + * character.h (parse_str_as_multibyte, str_as_multibyte) + (parse_str_to_multibyte, str_to_multibyte, str_as_unibyte) + (c_string_width, strwidth, lisp_string_width): Adjust + prototypes. + + * font.c (font_intern_prop): Use EMACS_INT for string length + variables. + + * font.c (font_intern_prop): Use EMACS_INT for string length + variables. + + * fns.c (Fstring_as_multibyte): Use EMACS_INT for string length + variables. + + * alloc.c : Declare as EMACS_INT, not int. + (Fmake_string): Protect against too large strings. + (live_string_p, live_cons_p, live_symbol_p, live_float_p) + (live_misc_p): Use ptrdiff_t instead of int for pointer + differences. + (string_bytes, check_sblock, check_string_free_list) + (allocate_string_data, compact_small_strings, Fmake_string) + (Fmake_bool_vector, make_string, make_unibyte_string) + (make_multibyte_string, make_string_from_bytes) + (make_specified_string_string, Fmake_list, Fmake_vector): Use + EMACS_INT for string length variables and arguments. + (find_string_data_in_pure, make_pure_string, make_pure_c_string) + (Fpurecopy): Use EMACS_INT for string size. + (mark_vectorlike, mark_char_table, mark_object): Use EMACS_UINT + for vector size. + + * lisp.h (make_string, make_unibyte_string, make_multibyte_string) + (make_string_from_bytes, make_specified_string_string) + (make_pure_string, string_bytes, check_point_in_composition): + Adjust prototypes. + + 2010-09-22 Eli Zaretskii + + * editfns.c (Fsubst_char_in_region, Ftranslate_region_internal) + (check_translation): Use EMACS_INT for buffer positions and + length. + + * undo.c (record_marker_adjustment, record_delete) + (record_change, record_point, record_insert) + (record_property_change, Fprimitive_undo): Use EMACS_INT for + buffer positions. + + * lisp.h (record_marker_adjustment, record_delete) + (record_change, record_point, record_insert) + (record_property_change, Fprimitive_undo): Adjust prototypes. + + 2010-09-22 Juanma Barranquero + Eli Zaretskii + + * w32.c (get_emacs_configuration_options): Fix buffer overrun. + + 2010-09-22 Eli Zaretskii + + * minibuf.c (Fminibuffer_contents) + (Fminibuffer_contents_no_properties) + (Fminibuffer_completion_contents): Use EMACS_INT for minibuffer + positions. + + * keyboard.c (command_loop_1): Use EMACS_INT to compare point with + mark. + + * alloc.c (make_uninit_string, make_uninit_multibyte_string) + (allocate_string_data): Accept EMACS_INT for string length. + + * editfns.c (Ffield_string, Ffield_string_no_properties) + (make_buffer_string, make_buffer_string_both, Fbuffer_substring) + (Fbuffer_substring_no_properties, find_field, Fdelete_field) + (Ffield_string, Ffield_string_no_properties, Ffield_beginning) + (Ffield_end): Use EMACS_INT for buffer positions. + + * insdel.c (prepare_to_modify_buffer): Use EMACS_INT to compare + point with mark. + + * lisp.h (allocate_string_data, make_uninit_string) + (make_uninit_multibyte_string, make_buffer_string) + (make_buffer_string_both): Adjust prototypes. + + 2010-09-22 Chong Yidong + + * xml.c: Switch to GNU indentation. + (make_dom): Change parse tree format to match xml.el. + (Fxml_parse_html_string_internal): Rename from html-parse-string. + (Fxml_parse_string_internal): Rename from xml-parse-string. + + 2010-09-22 Kenichi Handa + + * xdisp.c (compute_stop_pos): Call composition_compute_stop_pos + only if we are not at a composition. + (set_iterator_to_next): Give it->end_charpos to + composition_compute_stop_pos. + (set_iterator_to_next, next_element_from_buffer): Likewise. + + * dispnew.c (buffer_posn_from_coords): Fix position when the + current display element is a grapheme cluster in bidi-reordered + region. + + 2010-09-21 Ari Roponen (tiny change) + + * doc.c (Fsnarf_documentation): Use memmove instead of memcpy as + the regions may overlap. + + 2010-09-21 Juanma Barranquero + + * makefile.w32-in ($(BLD)/sysdep.$(O)): Update dependencies. + + 2010-09-21 Dan Nicolaescu + + * emacs.c: Do not include sys/ioctl.h, not needed. + + * doprnt.c: Do not include stdlib.h, config.h does it. + Move #include before macro definition. + + 2010-09-20 Dan Nicolaescu + + * Makefile.in (temacs): Link using $(CC) not $(LD). + (LD_FIRSTFLAG): Define using autoconf. + (LD): Remove. + + Remove HAVE_TERMIOS definitions. + * s/usg5-4-common.h (HAVE_TERMIOS): + * s/template.h (HAVE_TERMIOS): + * s/gnu-linux.h (HAVE_TERMIOS): + * s/darwin.h (HAVE_TERMIOS): + * s/cygwin.h (HAVE_TERMIOS): + * s/bsd-common.h (HAVE_TERMIOS): + * s/aix4-2.h (HAVE_TERMIOS): + * s/hpux10-20.h (HAVE_TERMIOS): Do not define, it is assumed + defined on all non-MS platforms. + (HAVE_PSTAT_GETDYNAMIC): Do not define, autoconf does it. + + * xterm.c (xt_action_hook): Use const. + + 2010-09-20 Juanma Barranquero + + Don't make W32 code conditional on HAVE_SOCKETS, it's always defined. + * w32.c: Remove top-level uses of #ifdef HAVE_SOCKETS. + (gethostname) [!HAVE_SOCKETS]: Remove. + (SOCK_REPLACE_HANDLE): Remove macro. + (socket_to_fd, sys_close, _sys_read_ahead, sys_read, sys_write) + (term_ntproc, init_ntproc): Don't conditionalize on HAVE_SOCKETS. + * w32proc.c: Remove top-level uses of #ifdef HAVE_SOCKETS. + (syms_of_ntproc): Don't conditionalize on HAVE_SOCKETS. + + 2010-09-18 Eli Zaretskii + + * deps.mk (xml.o): Add dependencies. + + * xdisp.c (Fcurrent_bidi_paragraph_direction): + Call bidi_paragraph_init with NO_DEFAULT_P non-zero. (Bug#7038) + + * bidi.c (bidi_paragraph_init): Accept an additional argument + NO_DEFAULT_P; all callers changed. If NO_DEFAULT_P is non-zero, + search back until a paragraph with a strong directional character + is found, and use that to determine paragraph's base direction. + + * dispextern.h (bidi_paragraph_init): Update prototype. + + 2010-09-17 Eli Zaretskii + + * w32.c (_PROCESS_MEMORY_COUNTERS_EX): Don't define with versions + of w32api >= 3.15. (Bug#6989) + + 2010-09-17 Lars Magne Ingebrigtsen + + * process.c (wait_reading_process_output): Don't message about + accept-process-output unless the time limit really is zero. + + 2010-09-17 Stefan Monnier + + * frame.c (Ftool_bar_pixel_width): YAILOM (Yet another + int/Lisp_Object mixup). + + 2010-09-17 Jan Djärv + + * keyboard.c (parse_tool_bar_item): For QClabel, set TOOL_BAR_ITEM_LABEL + not HELP. + + 2010-09-17 Stephen Berman + + * frame.c (Ftool_bar_pixel_width): New function to expose tool + bar's pixel width to Lisp (Bug#7048). + + 2010-09-14 Juanma Barranquero + + * cmds.c (syms_of_cmds) : Fix typos in docstring. + + 2010-09-17 Jan Djärv + + * gtkutil.c (xg_pack_tool_bar): Call gtk_handle_box_set_handle_position + with argument top/left if tool bar is vertical/horizontal (Bug#7051). + + 2010-09-17 Kenichi Handa + + * ftfont.c (ftfont_check_otf): Fix previous change. + + 2010-09-14 Kenichi Handa + + * ftfont.c (ftfont_check_otf): Fix the case of checking just + existence of GSUB or GPOS. + + 2010-09-14 Juanma Barranquero + + * cmds.c (syms_of_cmds) : Fix typos in docstring. + + 2010-09-14 Lars Magne Ingebrigtsen + + * xml.c (parse_buffer): Renamed to parse_string(), since that's + what it does. + (parse_string): Return nil when the document can't be parsed. + + 2010-09-14 Jan Djärv + + * xterm.c (get_current_vm_state): New function. + (do_ewmh_fullscreen): Call get_current_vm_state and compare with + want_fullscreen so set_wm_state calls are few (Bug#7013). + (x_handle_net_wm_state): Move code to get_current_vm_state and + call that function. + + 2010-09-14 Courtney Bane (tiny change) + + * term.c (tty_set_terminal_modes): Don't initialize twice (bug#7002). + + 2010-09-14 Kenichi Handa + + * coding.c (encode_coding_iso_2022): Don't optimize for ASCII if + we may use designation or locking-shift. + + 2010-09-14 Kenichi Handa + + * coding.c (detect_coding_emacs_mule): Fix checking of multibyte + sequence when the source is multibyte. + + 2010-09-14 Andreas Schwab + + * xml.c (Fxml_parse_string, Fxml_parse_string): Revert last change. + Don't make first argument optional. Doc fix. + + 2010-09-14 Leo (tiny change) + + * xml.c (Fxml_parse_string, Fhtml_parse_string): Fix up the + parameters for the doc string. + + 2010-09-12 Lars Magne Ingebrigtsen + + * xml.c (Fhtml_parse_string, Fxml_parse_string): Mention BASE-URL. + + 2010-09-12 Stefan Monnier + + * fns.c (Fy_or_n_p): Move to lisp/subr.el. + (syms_of_fns): Don't defsubr Sy_or_n_p. + * lisp.h: Don't declare Fy_or_n_p. + * fileio.c (barf_or_query_if_file_exists): Fy_or_n_p -> y-or-n-p. + + 2010-09-09 Lars Magne Ingebrigtsen + + * xml.c (Fxml_parse_buffer): New function to parse XML files. + + 2010-09-08 Lars Magne Ingebrigtsen + + * xml.c: New file. + (Fhtml_parse_buffer): New function to interface to the libxml2 + html parsing function. + + 2010-09-05 Juanma Barranquero + + * biditype.h: Regenerate. + + 2010-09-04 Andreas Schwab + + * nsimage.m (ns_load_image): Check argument types. + + * image.c: Remove all uses of gcpro. + (xpm_load): Check all lisp types. + (pbm_load): Likewise. + (png_load): Likewise. + (jpeg_load): Likewise. + (tiff_load): Likewise. + (gif_load): Likewise. + (imagemagick_load_image): Likewise. + (imagemagick_load): Likewise. + (svg_load): Likewise. + (gs_load): Likewise. + + 2010-09-04 Eli Zaretskii + + * w32uniscribe.c (uniscribe_shape): Update commentary. Don't + try to reorder grapheme clusters, since LGSTRING should always + hold them in the logical order. + (uniscribe_encode_char, uniscribe_shape): Force ScriptShape to + return glyph codes in the logical order. + + 2010-09-04 Andreas Schwab + + * image.c (imagemagick_image_p): Replace bcopy by memcpy. + (imagemagick_load_image): Fix type mismatch. + (Fimagemagick_types): Likewise. Doc fix. + + 2010-09-02 Jan Djärv + + * xterm.h (struct dpyinfo): Remove cut_buffers_initialized. + + * xterm.c (x_term_init): Don't set dpyinfo->cut_buffers_initialized. + + * xselect.c: Remove declaration of cut-buffer objects and functions. + (symbol_to_x_atom): Remove mapping to XA_CUT_BUFFERn. + (x_atom_to_symbol): Remove mapping to QCUT_BUFFERn. + (Fx_get_cut_buffer_internal, Fx_store_cut_buffer_internal) + (Fx_rotate_cut_buffers_internal): Remove. + (syms_of_xselect): Remove defsubr of above. + Remove intern of QCUT_BUFFERn. + + 2010-09-01 Stefan Monnier + + * cmds.c (Vblink_paren_function): Remove. + (internal_self_insert): Make it insert N chars at a time. + Don't call blink-paren-function. + (Fself_insert_command): Adjust accordingly. + (syms_of_cmds): Don't declare blink-paren-function. + + 2010-08-31 Kenichi Handa + + * dispextern.h (FACE_FOR_CHAR): Use an ASCII face for 8-bit + characters. + + * term.c (encode_terminal_code): Fix the previous change. + (produce_glyphs): Don't set it->char_to_display here. + Don't handle unibyte-display-via-language-environment here. + (produce_special_glyphs): Set temp_it.char_to_display before + calling produce_glyphs. + + * xdisp.c (get_next_display_element): Set it->char_to_display + here. Convert all 8-bit bytes from unibyte buffer/string to 8-bit + characters. + (get_overlay_arrow_glyph_row): Set it.char_to_display too before + calling PRODUCE_GLYPHS. + (append_space_for_newline): Save and store it->char_to_display. + Set it->char_to_display before calling PRODUCE_GLYPHS. + (extend_face_to_end_of_line): Set it->char_to_display before + calling PRODUCE_GLYPHS. + (get_glyph_face_and_encoding): Set the glyph code an 8-bit + character to its byte value. + (get_char_glyph_code): New function. + (produce_stretch_glyph): Set it2.char_to_display too before + calling x_produce_glyphs. + (x_produce_glyphs): Simplify by using the same code for ASCII and + non-ASCII characters. Don't set it->char_to_display here. + Don't handle unibyte-display-via-language-environment here. For a + character of no glyph, use font->space_width instead of FONT_WIDTH. + + 2010-08-31 Stefan Monnier + + * keyboard.c (Fwindow_system): Fix compilation for USE_LISP_UNION_TYPE. + + 2010-08-31 Chong Yidong + + * keyboard.c (command_loop_1): Don't call x-set-selection on tty. + + 2010-08-30 Stefan Monnier + + * marker.c (Fcopy_marker): Make the first arg optional. + + 2010-08-30 Kenichi Handa + + * composite.c (composition_update_it): Fix computing of + cmp_it->width. + + 2010-08-29 Kenichi Handa + + * term.c (encode_terminal_code): Encode byte chars to the + corresponding bytes. + + 2010-08-29 Jan Djärv + + * nsterm.m (ns_draw_window_cursor): Draw BAR_CURSOR correct for R2L. + + 2010-08-26 Kenichi Handa + + * xdisp.c (compute_stop_pos): Pay attention to bidi scan direction + on calling composition_compute_stop_pos. + + 2010-08-25 Kenichi Handa + + * fontset.c (reorder_font_vector): Prefer a font-spec specifying + :otf. + + * composite.c (composition_compute_stop_pos): Don't break + composition at PT. + (composition_reseat_it): Likewise. Fix calculation of character + position starting a composition. + (Fcomposition_get_gstring): Don't limit the number of components + for automatic composition. + + 2010-08-25 Kenichi Handa + + * composite.c (composition_compute_stop_pos): In forward search, + pay attention to the possibility that some character after ENDPOS + will be composed with charactrs before ENDPOS. + + 2010-08-24 Chong Yidong + + * keyboard.c (command_loop_1): Don't clobber primary selection + during handle-switch-frame (Bug#6872). + + 2010-08-23 Michael Albinus + + * dbusbind.c: Accept UNIX domain sockets as bus address. + (Fdbus_close_bus): New function. + (Vdbus_registered_buses): New variable. + (xd_initialize): Implement string as bus address. + (Fdbus_init_bus): Add bus to Vdbus_registered_buses). + (Fdbus_get_unique_name, Fdbus_call_method) + (Fdbus_call_method_asynchronously, Fdbus_method_return_internal) + (Fdbus_method_error_internal, Fdbus_send_signal) + (Fdbus_register_signal, Fdbus_register_method): Remove bus type + check. This is done in xd_initialize_bus. Adapt doc string, if + necessary. + (xd_pending_messages, xd_read_queued_messages): Loop over buses in + Vdbus_registered_buses. + (Vdbus_registered_objects_table): Create hash. + + 2010-08-22 Juri Linkov + + * keyboard.c (Fexecute_extended_command): Move reading a command name + with `completing-read' to a new Elisp function `read-extended-command'. + Call it to read a command to `function' (bug#5364, bug#5214). + + 2010-08-22 Chong Yidong + + * emacs.c (main): Remove handling of --unibyte arg (Bug#6886). + + 2010-08-22 Andreas Schwab + + * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA_LISP + instead of SAFE_ALLOCA. + + 2010-08-22 Chong Yidong + + * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA + (Bug#6214). + + 2010-08-22 Jan Djärv + + * doc.c (Fsnarf_documentation): Set skip_file only if p[1] is S. + + 2010-08-22 Jan Djärv + + * doc.c (Fsnarf_documentation): Initialize skip_file before + build-files test. + + 2010-08-22 Peter O'Gorman (tiny change) + + * s/hpux10-20.h (HAVE_TERMIOS, NO_TERMIO, ORDINARY_LINK): + New definitions. + (HAVE_TERMIO): Remove. + + 2010-08-22 Eli Zaretskii + + * deps.mk (sysdep.o, msdos.o): Depend on sysselect.h. + + * sysselect.h [WINDOWSNT]: Don't define the FD_* and select stuff + for w32. + + * s/ms-w32.h (HAVE_SYS_TIMEB_H): Don't #undef HAVE_SYS_SELECT_H, + it's done in nt/config.nt. + + * makefile.w32-in ($(BLD)/sysdep.$(O)): Depend on sysselect.h. + + * unexcoff.c (report_error, make_hdr, write_segment) + (copy_text_and_data, copy_sym, mark_x, adjust_lnnoptrs, unexec): + Convert argument lists and prototypes to ANSI C. + (make_hdr, write_segment): Remove unused variables. + (unexec): Remove commented-out line. Initialize `new' to shut up + compiler warnings. + + 2010-08-22 Dan Nicolaescu + + Simplify termio code. + All non-MSDOS non-WINDOWSNT platforms define HAVE_TERMIOS, so + HAVE_TERMIO code is obsolete. + Replace HAVE_TERMIOS conditionals with !DOS_NT. + * systty.h: Do not define HAVE_TCATTR. + Remove HAVE_TERMIO, HAVE_LTCHARS and HAVE_TCHARS code. + Do not define EMACS_HAVE_TTY_PGRP. Only define + EMACS_GET_TTY_PGRP for !DOS_NT. + * sysdep.c: Include sysselect.h unconditionally. Do not include + sys/ioctl.h and termios.h, systty.h does it. Use + HAVE_SYS_UTSNAME_H instead of USG as an include guard. + (init_baud_rate): Remove HAVE_TERMIO code. + (child_setup_tty): Remove HAVE_TERMIO code. + (emacs_get_tty, emacs_set_tty): Remove HAVE_TERMIO, HAVE_TCHARS + and HAVE_LTCHARS code. Use !DOS_NT instead of HAVE_TCATTR. + (new_ltchars, new_tchars): Remove, unused. + (init_sys_modes): Remove HAVE_TERMIO, HAVE_TCHARS and HAVE_LTCHARS + code. Remove special casing for __mips__, it was a no-op. Remove + HAVE_TCATTR conditional, it is implied by HAVE_TERMIOS. + (init_sys_modes): Remove HPUX special case. + * process.c: Include stdlib.h unconditionally. Do not include + fcntl.h, systty.h does it. Remove conditional code for + HAVE_SERIAL, it is always true. + (process_send_signal): Remove HAVE_TERMIOS conditional, it's + always true when SIGNALS_VIA_CHARACTERS is true. + (Fcontinue_process, Fprocess_send_eof): Simplify conditionals: + !WINDOWSNT means HAVE_TERMIOS. + (create_process): Remove HAVE_TERMIOS, it's inside a HAVE_PTYS + conditional, which is true for all HAVE_TERMIOS systems. + * keyboard.c (init_keyboard): Do not use HAVE_TERMIO, use !DOS_NT + instead of HAVE_TERMIOS. + * emacs.c (shut_down_emacs): Use !defined DOS_NT instead of + EMACS_HAVE_TTY_PGRP. + * callproc.c (child_setup): Move EMACS_SET_TTY_PGRP use to the + non-MSDOS, non-WINDOWSNT code, it's only defined for such systems + anyway. + + 2010-08-21 Eli Zaretskii + + * dispnew.c (buffer_posn_from_coords): Fix off-by-one error in + mirroring pixel positions. + + 2010-08-20 Dan Nicolaescu + + * alloc.c (malloc_sbrk_used, malloc_sbrk_unused): Remove, + write only. + (init_alloc_once): Remove writes to malloc_sbrk_unused, and + malloc_sbrk_used, nothing uses them. + + * puresize.h: Remove code assuming PNTR_COMPARISON_TYPE is not + defined, unconditionally defined in lisp.h. + + * term.c: Do not include , systty.h does it. + + * s/unixware.h (HAVE_TCATTR): + * s/aix4-2.h (HAVE_TCATTR): Remove definitions, not needed. + systty.h defines it when HAVE_TERMIOS is defined. + + 2010-08-20 Eli Zaretskii + + * dispnew.c (buffer_posn_from_coords): Fix last change for text + terminals: add one-character offset for R2L lines. + + * emacs.c : Add a comment regarding + msdos/mainmake.v2's dependency on the syntax of this declaration. + + 2010-08-20 Eli Zaretskii + + * dispnew.c (buffer_posn_from_coords): Fix calculation of buffer + position for R2L lines by mirroring the pixel position wrt the + text are box. Improve commentary. + + 2010-08-20 Andreas Schwab + + * image.c (imagemagick_clear_image): Remove debugging output. + + 2010-08-19 Stefan Monnier + + * cmds.c (Vself_insert_face, Vself_insert_face_command): Remove. + (Qpost_self_insert_hook, Vpost_self_insert_hook): New vars. + (internal_self_insert): Run Qpost_self_insert_hook rather than handle + self-insert-face. + (syms_of_cmds): Initialize the new vars. + + 2010-08-19 Jason Rumney + + * w32menu.c (set_frame_menubar): Remove call to undefined function. + + * w32fns.c (w32_wnd_proc): Don't check context before initializing. + + 2010-08-19 Jan Djärv + + * nsselect.m (nxatoms_of_nsselect): Use "Selection" and "Secondary". + + 2010-08-18 Eli Zaretskii + + * xterm.c (x_draw_bar_cursor): + * w32term.c (x_draw_bar_cursor): If the character under cursor is + R2L, draw the bar cursor on its right rather than on its left. + + 2010-08-18 Stefan Monnier + + * eval.c (Fdefmacro): Only obey one declaration. + + * casefiddle.c (casify_region): Setup gl_state. + + 2010-08-18 Jan Djärv + + * nsterm.m (ns_define_frame_cursor): Call x_update_cursor (Bug#6868). + + 2010-08-18 Jan Djärv + + * gtkutil.c (update_frame_tool_bar): Literal strings are const char*. + + 2010-08-18 David De La Harpe Golden + + * nsselect.m (QCLIPBOARD, NXPrimaryPboard): Define. + (symbol_to_nsstring): Map QCLIPBOARD => NSGeneralPboard, + QPRIMARY => NXPrimaryPboard. + (ns_string_to_symbol): NSGeneralPboard => QCLIPBOARD, + NXPrimaryPboard => QPRIMARY. + (nxatoms_of_nsselect): NXPrimaryPboard = PrimarySelection, + NXSecondaryPboard = SecondarySelection. + (syms_of_nsselect): Intern QCLIPBOARD (Bug#6677). + + 2010-08-18 Joakim Verona + + * image.c: Add support for ImageMagick. When HAVE_IMAGEMAGICK is + defined: + (imagemagick_image_p): New function to test for ImageMagic image. + (imagemagick_load): New function to load ImageMagick image. + (imagemagick_load_image): New function, helper for imagemagick_load. + (imagemagick-types): New function. + (Qimagemagick): New Lisp_object. + (imagemagick-render-type): New variable, decides which renderer to use. + + 2010-08-17 Stefan Monnier + + * gtkutil.c (update_frame_tool_bar): Don't assume TOOL_BAR_ITEM_LABEL + is a string. + + 2010-08-17 Jan Djärv + + * nsfns.m (ns_frame_parm_handlers): Add a slot for the + x_set_tool_bar_position handler. + + 2010-08-17 Eli Zaretskii + + * w32fns.c : Add a slot for the + x_set_tool_bar_position handler, needed to support changes from + 2010-07-29T16:49:59Z!jan.h.d@swipnet.se for positioning the tool bar. (Bug#6796) + + 2010-08-16 Jan Djärv + + * nsselect.m: include keyboard.h for QPRIMARY, remove its + declaration (Bug#6863). + (syms_of_nsselect): Don't intern QPRIMARY. + + * xselect.c: Remove declaration of QPRIMARY (Bug#6864). + + * keyboard.h (QPRIMARY): Declare (Bug#6864). + + 2010-08-16 Chong Yidong + + * keyboard.c (command_loop_1): Avoid setting selection twice, + since it's done in deactivate-mark as well. + (Vselect_active_regions): Change default to t. Replace `lazy' + with non-default value `only', meaning only set PRIMARY for + temporarily active regions. + + * insdel.c (prepare_to_modify_buffer): Handle `only' value of + select-active-regions. + + 2010-08-15 Jan Djärv + + * keyboard.c (parse_tool_bar_item): Put in a bad label if :label + isn't a string. + + 2010-08-15 Andreas Schwab + + * keyboard.c (parse_tool_bar_item): Avoid excessive use of strlen. + + 2010-08-15 Jan Djärv + + * keyboard.c (parse_tool_bar_item): malloc buf. + Set TOOL_BAR_ITEM_LABEL to empty string if not set to + new_lbl (Bug#6855). + + 2010-08-14 Eli Zaretskii + + * xterm.c (x_draw_stretch_glyph_string): + * w32term.c (x_draw_stretch_glyph_string): In R2L rows, display + the cursor on the right edge of the stretch glyph. + + * xdisp.c (window_box_right_offset, window_box_right): + Fix commentary. + + * xdisp.c (Fcurrent_bidi_paragraph_direction): Fix paragraph + direction when point is inside a run of whitespace characters. + + * bidi.c (bidi_at_paragraph_end): Remove obsolete comment. + + 2010-08-14 Jason Rumney + + * keyboard.c (lispy_function_keys): Do not define VK_PACKET (bug#4836) + + 2010-08-14 Chong Yidong + + * fns.c (Fmake_hash_table): Doc fix (Bug#6851). + + 2010-08-13 Jason Rumney + + * w32menu.c (simple_dialog_show): Use unicode message box if available. + (MessageBoxW_Proc): New function typedef. + (unicode-message-box): New function pointer. + (globals_of_w32menu): Import it from user32.dll. (Bug#5629) + + 2010-08-13 Jan Djärv + + * frame.h (Qtool_bar_position): Declare. + + * xfns.c (Fx_create_frame): Call x_default_parameter for + Qtool_bar_position. + + 2010-08-13 Eli Zaretskii + + * unexcoff.c: Remove the parts used when "emacs" is not defined. + (report_error, report_error_1): Ditto. + (write_segment): Remove "#if 0" unused code. + (make_hdr): Remove code that was "#ifndef NO_REMAP" before + NO_REMAP was removed (in 2010-07-29T03:25:08Z!dann@ics.uci.edu). + (start_of_text): Remove unused function (was used only if NO_REMAP + was NOT defined). + + * msdos.c (IT_set_face): Fix format string to match argument + types. + (IT_write_glyphs, IT_note_mode_line_highlight) + (IT_set_frame_parameters): Remove unused variables. + (x_set_menu_bar_lines): Declare set_menu_bar_lines. + (IT_set_terminal_modes): Disambiguate expression in if clause. + (Fmsdos_remember_default_colors): Return Qnil. + (IT_set_frame_parameters): Add parens to disambiguate boolean + expression for logging the cursor type to termscript. + (keyboard_layout_list, keypad_translate_map) + (grey_key_translate_map): Add braces in inner initializers. + (dos_rawgetc): Add parens in condition for mouse-3 button-press. + (dos_rawgetc): Remove unused label. + (XMenuActivate): Add braces to remove ambiguous `else'. + (dos_ttraw): Always return a value. + (spawnve): Declare. + (run_msdos_command): Cast 3rd arg of spawnve to "char **". + + * dosfns.h (x_set_title): Declare. + + * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data): + Remove unused variables. + + * dosfns.c (Fint86, Fdos_memget, Fdos_memput): Remove unused + variables. + (init_dosfns): Declare get_lim_data. + (system_process_attributes): Declare Fget_internal_run_time. + + * xmenu.c (xmenu_show) [!USE_X_TOOLKIT && !USE_GTK]: Fix argument + list to be consistent with menu.h. + + * w32menu.c (add_menu_item, name_is_separator): Shut up compiler + warnings due to mixing of "char *" and "const char *". + + 2010-08-12 Stefan Monnier + + Introduce a new comment style "c" flag. + * syntax.c (SYNTAX_FLAGS_COMMENT_STYLEB) + (SYNTAX_FLAGS_COMMENT_STYLEC): New macros. + (SYNTAX_FLAGS_COMMENT_STYLE): Use them, add an argument. + (syntax_prefix_flag_p): New function. + (Fstring_to_syntax): Understand new "c" flag. + (Finternal_describe_syntax_value): Recognize new flag; use the + SYNTAX_FLAGS_* macros. + (scan_sexps_forward, Fparse_partial_sexp): Change representation of + comment style to accomodate the new styles. + (back_comment, forw_comment, Fforward_comment, scan_lists) + (scan_sexps_forward): Update code to obey the new comment style flag. + + * syntax.h: Move SYNTAX_FLAGS_FOO() macros to syntax.c. + + * casefiddle.c (casify_region): Use the new syntax_prefix_flag_p. + + 2010-08-11 Jan Djärv + + * xfns.c (x_defined_color): If USE_GTK, call xg_check_special_colors + first. + (Fx_hide_tip): Check FRAME_LIVE_P (f) before calling xg_hide_tooltip. + + * gtkutil.h (xg_check_special_colors): Declare. + + * gtkutil.c (xg_check_special_colors, style_changed_cb): New functions. + (xg_create_frame_widgets): Connect theme name changes to + style_changed_cb. + + * xterm.c (emacs_class): New char[] for EMACS_CLASS. + (xim_open_dpy, xim_initialize, xim_close_dpy): Use emacs_class. + (x_term_init): Use char[] display_opt and name_opt instead of + string literal. file is const char*. + + * xsmfns.c (NOSPLASH_OPT): Change to char[]. + (smc_save_yourself_CB): Do xstrdup on all ->type and ->name for + props. Free them at the end. + + * xselect.c (Fx_get_atom_name): Use char empty[] instead of literal "". + + * xrdb.c (get_system_app): Make path const and use char *p for + non-const char. + + * xmenu.c (Fx_popup_dialog): error_name is const char*. + (xmenu_show): error parameter is const char **. pane_string is const + char *. + (button_names): Is const char *. + (xdialog_show): error_name and pane_string is const. + + * process.h (synch_process_death): Is const char*. + + * w32menu.c (w32_menu_show): + * nsmenu.m (ns_menu_show): error parameter is const char **. + + * menu.h (w32_menu_show, ns_menu_show, xmenu_show): error parameter + is const char **. + + * menu.c (Fx_popup_menu): error_name is const. + + * keyboard.h (_widget_value): Add defined USE_GTK. Replace Boolean + with unsigned char and XtPointer with void *. + + * gtkutil.h: Replace widget_value with struct _widget_value. + (enum button_type, struct _widget_value): Remove and use the one from + keyboard.h. + + * gtkutil.c (get_utf8_string): Always return an allocated string. + Parameter is const. + (create_dialog, xg_create_one_menuitem, create_menus) + (xg_item_label_same_p, xg_update_menu_item): Free result from + get_utf8_string. + (xg_separator_p, xg_item_label_same_p): label is const. + + * font.h (font_open_by_name): Make name const. + + * font.c (font_open_by_name): Make name const. + + * floatfns.c (matherr): Use a const char* variable for x->name. + + * emacs.c (main): Pass char[] to putenv instead of literal. + + * callproc.c (synch_process_death): Make const. + (Fcall_process): Make signame const. + + * nsterm.h (parseKeyEquiv, addSubmenuWithTitle) + (addDisplayItemWithImage): Use const char*. + + * nsmenu.m (parseKeyEquiv, addSubmenuWithTitle) + (addDisplayItemWithImage, update_frame_tool_bar): Use const char*. + + * nsfont.m (ns_descriptor_to_entity): Use const char*. + + * keyboard.h (_widget_value): name, value and key are const char*. + + * unexmacosx.c (unexec_error): Use const char *. + + 2010-08-09 Dan Nicolaescu + + * font.h (font_parse_xlfd, font_parse_fcname, font_unparse_fcname) + (font_parse_name, font_open_by_name): + * font.c (font_parse_xlfd, font_parse_fcname, font_unparse_fcname) + (font_parse_name, font_open_by_name): Remove const. + + 2010-08-09 Andreas Schwab + + Use autoconf determined WORDS_BIGENDIAN instead of hardcoded + definition. + + * m/alpha.h: Don't define/undef WORDS_BIG_ENDIAN. + * m/amdx86-64.h: Likewise. + * m/arm.h: Likewise. + * m/hp800.h: Likewise. + * m/ia64.h: Likewise. + * m/ibmrs6000.h: Likewise. + * m/ibms390.h: Likewise. + * m/intel386.h: Likewise. + * m/iris4d.h: Likewise. + * m/m68k.h: Likewise. + * m/macppc.h: Likewise. + * m/mips.h: Likewise. + * m/sh3.h: Likewise. + * m/sparc.h: Likewise. + * m/template.h: Likewise. + * m/vax.h: Likewise. + * m/xtensa.h: Likewise. + * fringe.c (init_fringe_bitmap): Test WORDS_BIGENDIAN instead of + WORDS_BIG_ENDIAN. + * lisp.h: Likewise. + * md5.c: Likewise. + * sound.c (le2hl, le2hs, be2hl, be2hs): Likewise. + + 2010-08-09 Dan Nicolaescu + + Use const char* instead of char*. + Reduce the number of warnings with -Wwrite-strings. + * xrdb.c (get_environ_db, get_system_name): + * unexelf.c (find_section): + * term.c (string_cost, string_cost_one_line, per_line_cost) + (get_named_tty, init_tty): + * sysdep.c (sys_subshell): + * sound.c (sound_perror, sound_warning, vox_open, vox_init) + (alsa_sound_perror, alsa_open, alsa_configure, alsa_init): + * search.c (Freplace_match): + * process.c (Fmake_network_process, send_process, init_process): + * lread.c (Fload, init_lread): + * keymap.c (Fdescribe_buffer_bindings, describe_map_tree): + * keyboard.c (parse_tool_bar_item, struct event_head): + * gtkutil.h (xg_get_font_name): + * gtkutil.c (get_dialog_title, create_dialog, xg_get_font_name) + (make_widget_for_menu_item, make_menu_item, create_menus) + (xg_make_tool_item): + * font.c (parse_matrix, font_parse_name): + * floatfns.c (rounding_driver, float_error_fn_name): + * filelock.c (get_boot_time_1, lock_file_1): + * fileio.c (barf_or_query_if_file_exists, check_writable): + * editfns.c (get_system_name, get_operating_system_release) + (Fencode_time, Fset_time_zone_rule): + * dispextern.h (string_cost, per_line_cost, get_named_tty, init_tty): + * buffer.c (defvar_per_buffer): Use const. + + 2010-08-08 Kenichi Handa + + * charset.c: Include . + (struct charset_sort_data): New struct. + (charset_compare): New function. + (Fsort_charsets): New function. + (syms_of_charset): Declare Fsort_charsets as a Lisp function. + + * coding.c (decode_coding_iso_2022): Fix checking of dimension + number in CTEXT extended segment. + + 2010-08-08 Juanma Barranquero + + * w32fns.c (syms_of_w32fns) : Fix typo in docstring. + * xfns.c (syms_of_xfns) : Reflow docstring. + + 2010-08-08 Juanma Barranquero + + * fns.c (Fsubstring_no_properties, Fnthcdr, Ffeaturep) + (Fhash_table_size): Fix typos in docstrings. + (Fmake_hash_table): Doc fix. + + 2010-08-08 Juanma Barranquero + + * minibuf.c (syms_of_minibuf) : + Doc fix (bug#5625). + + 2010-08-08 Ken Brown + + * dired.c (DIRENTRY_NONEMPTY) [cygwin]: Use d_ino instead of + the MSDOS definition. + + 2010-08-08 Dan Nicolaescu + + Use const char* instead of char*. + * xterm.c (x_create_toolkit_scroll_bar): + * xfont.c (xfont_list_pattern): + * xfns.c (x_default_scroll_bar_color_parameter) + (xic_create_fontsetname, x_default_font_parameter) + (x_screen_planes): + * xdisp.c (c_string_pos, number_of_chars, reseat_to_string) + (store_mode_line_string, decode_mode_spec, display_string): + * menu.c (digest_single_submenu): + * keymap.h (initial_define_key, initial_define_lispy_key): + * keymap.c (initial_define_key, initial_define_lispy_key): + * image.c (image_error, image_keyword): + * gtkutil.h (xg_create_widget, xg_create_scroll_bar): + * gtkutil.c (xg_create_widget, xg_create_scroll_bar): + * ftfont.c (struct fc_charset_table, ftfont_spec_pattern) + (ftfont_list, ftfont_match): + * frame.c (frame_parm_table): + * font.h (font_intern_prop, font_parse_xlfd, font_parse_fcname) + (font_unparse_fcname, font_unparse_fcname, font_open_by_name) + (font_add_log, font_deferred_log): + * font.c (font_intern_prop, font_parse_xlfd, font_parse_fcname) + (font_unparse_fcname, font_unparse_fcname, font_open_by_name) + (font_add_log, font_deferred_log): + * emacs.c (argmatch): + * dispextern.h (struct it): + * coding.c (ENCODE_DESIGNATION): + * charset.c (define_charset_internal): Use const. + + * s/freebsd.h (DECLARE_GETPWUID_WITH_UID_T): Remove, unused. + + * xrdb.c: Remove include guard. + Remove DECLARE_GETPWUID_WITH_UID_T conditional it had no effect. + Remove #if 0 code. Replace malloc->xmalloc, free->xfree, + realloc->xrealloc instead of using #defines. + + 2010-08-08 Eli Zaretskii + + * cmds.c (Fforward_line, Fbeginning_of_line, Fend_of_line): + * editfns.c (Fline_beginning_position, Fline_end_position): + State in the doc strings that start and end of line are in the + logical order. + + * xdisp.c (display_line): Move the handling of overlay arrow after + the call to find_row_edges. (Bug#6699) + + 2010-08-07 Chong Yidong + + * keyboard.c (command_loop_1): + * insdel.c (prepare_to_modify_buffer): Don't call validate_region. + + 2010-08-07 Chong Yidong + + * insdel.c (prepare_to_modify_buffer): Save active region text to + Vsaved_region_selection. + + * xselect.c (QPRIMARY): Move to keyboard.c. + + * keyboard.c (Vselect_active_regions): Move from simple.el. + (Vsaved_region_selection, Qx_set_selection, QPRIMARY, Qlazy): New vars. + (command_loop_1): Set window selection prior to deactivating the mark. + + 2010-08-07 Juanma Barranquero + + * alloc.c (lisp_malloc): + * buffer.c (set_buffer_internal, set_buffer_internal_1): + * charset.h (emacs_mule_charset): + * dispextern.h (inhibit_free_realized_faces, redraw_frame) + (redraw_garbaged_frames, scroll_cost, update_frame, scrolling) + (bitch_at_user): + * lisp.h (Fcheck_coding_system, Fget_text_property) + (Qfunction, Qcompletion_ignore_case, QCwidth, QCsize): + Remove duplicate declarations. + + 2010-08-06 Dan Nicolaescu + + * process.c: Simplify include logic. + + * keyboard.h (quit_char): Add declaration. + * process.h (QCport, QCspeed, QCprocess, QCbytesize, QCstopbits) + (QCparity, Qodd, Qeven, QCflowcontrol, Qhw, Qsw, QCsummary): + Add declarations. + * sysdep.c: + * w32.c: Remove the above declarations. + + Remove extern declarations in .c files, .h files have them. + * xterm.c: + * xdisp.c: + * msdos.c: + * image.c: + * gtkutil.c: + * fileio.c: + * eval.c: Remove declarations. + + * frame.c (frame_params): Make const. + + * lisp.h (fatal_error_signal, emacs_root_dir): Add declaration. + + * emacs.c (emacs_copyright, emacs_version): Make static. + (Vinitial_window_system, Vauto_save_list_file_name) + (Vinhibit_redisplay): Remove declarations. + (main): Remove HAVE_SHM code, unused. Remove _I386 conditional + for AIX. + + Use const for some arrays and functions. + * xterm.h (xg_set_icon_from_xpm_data): + * xfns.c (xg_set_icon_from_xpm_data): + * term.c (fkeys): + * keyboard.c (lispy_accent_keys, lispy_function_keys) + (lispy_multimedia_keys, lispy_kana_keys, iso_lispy_function_keys) + (lispy_drag_n_drop_names, scroll_bar_parts, modify_event_symbol) + (frame.c frame_parms): + * emacs-icon.h (gnu_xpm_bits): + * callint.c (callint_argfuns): Use const. + + 2010-08-06 Jan Djärv + + * sysdep.c: Move include term.h last of includes (Bug#6812). + + 2010-08-06 Eli Zaretskii + + * dispnew.c (realloc_glyph_pool): Zero out newly allocated glyphs. + + * msdos.c (IT_display_cursor): Log cursor position on termscript. + + * .gdbinit (pgx): Display the avoid_cursor_p flag. + + 2010-08-06 Juanma Barranquero + + * makefile.w32-in ($(BLD)/xdisp.$(O)): Update dependencies. + + 2010-08-06 Jan Djärv + + * xterm.h (x_get_focus_frame): Declare. + + * keyboard.h (poll_for_input_1): Unconditionally declare. + + * nsterm.h (x_set_menu_bar_lines): Declare. + + * window.c: Don't include menu.h, it depends on lots of other .h-files. + + * xfaces.c (x_create_gc, x_free_gc): Convert to ANSI C prototypes. + + * window.c: Include menu.h. + + * unexmacosx.c (print_region_list, print_regions) + (build_region_list, find_emacs_zone_regions) + (unexec_regions_merge, read_load_commands, dump_it) + (unexec_init_emacs_zone): Convert to ANSI C prototypes. + + * term.c: Check HAVE_SYS_IOCTL_H. + + * sysdep.c: Check HAVE_TERM_H. + + * process.c: Check HAVE_UTIL_H. Include nsterm.h if HAVE_NS. + + * nsterm.m (ns_init_paths, ns_alloc_autorelease_pool) + (ns_ring_bell, ns_defined_color, hide_hourglass) + (x_display_pixel_height, x_display_pixel_width, syms_of_nsterm): + Convert to ANSI C prototypes. + (x_set_window_size, ns_draw_fringe_bitmap, judge): Move declarations + before code. + + * nsterm.h : Include sysselect.h. + (x_sync, x_get_focus_frame, x_set_mouse_position) + (x_set_mouse_pixel_position, x_make_frame_visible) + (x_make_frame_invisible, x_iconify_frame, x_char_width, x_char_height) + (x_pixel_width, x_pixel_height, x_set_frame_alpha, x_set_tool_bar_lines) + (x_activate_menubar, free_frame_menubar, ns_init_paths, ns_select) + (syms_of_nsterm, syms_of_nsfns, syms_of_nsmenu, syms_of_nsselect): + Declare. + + * nsmenu.m (popup_activated, name_is_separator) + (syms_of_nsmenu): Convert to ANSI C prototypes. + (runMenuAt): Prototypes and move declarations before code. + + * nsimage.m (ns_load_image): Move NSTRACE after declarations. + + * nsfont.m (ns_fallback_entity, syms_of_nsfont): Convert to ANSI C + prototypes. + + * nsfns.m (have_menus_p, ns_display_info_for_name) + (x_set_cursor_type, ns_appkit_version_str) + (ns_appkit_version_int, ns_do_applescript) + (x_set_scroll_bar_default_width, x_sync, compute_tip_xy) + (syms_of_nsfns): Convert to ANSI C prototypes. + + * menu.h (x_set_menu_bar_line): Declare. + (free_menubar_widget_value_tree et.al): Add HAVE_NS for these functions. + + * lisp.h (fmod_float): Declare. + + * image.c (xpm_scan, xpm_make_color_table_v) + (xpm_put_color_table_v, xpm_get_color_table_v) + (xpm_make_color_table_h, xpm_put_color_table_h) + (xpm_get_color_table_h, xpm_str_to_color_key, xpm_load_image) + (xpm_load): Convert to ANSI C prototypes. + + * emacs.c: Include nsterm.h if HAVE_NS. + + * bidi.c (bidi_dump_cached_states): Fix fprintf warning. + + 2010-08-06 Dan Nicolaescu + + * process.c: Remove HAVE_SOCKETS #ifdefs inside #ifdef + subprocesses, only MSDOS does not define HAVE_SOCKETS. + (socket_options): Use const char* for name. + + 2010-08-06 Juanma Barranquero + + Fix changes in 2010-08-05T23:15:24Z!dann@ics.uci.edu..2010-08-05T23:34:12Z!dann@ics.uci.edu for Windows build. + + * xmenu.c [USE_X_TOOLKIT || USE_GTK]: + Don't declare xmalloc_widget_value and digest_single_submenu. + + * w32font.c (Qlatin): Remove declaration. + + * menu.h (xmalloc_widget_value, digest_single_submenu): Declare. + + * dired.c (compile_pattern): Restore declaration. + + 2010-08-05 Dan Nicolaescu + + Remove extern declarations in .c files, .h files have them. + * data.c: + * dired.c: + * editfns.c: + * filelock.c: + * fns.c: + * font.c: + * fontset.c: + * frame.c: + * fringe.c: + * ftfont.c: + * gtkutil.c: + * indent.c: + * keyboard.c: + * keymap.c: + * lread.c: + * menu.c: + * print.c: + * search.c: + * sound.c: + * window.c: + * xdisp.c: + * xfaces.c: + * xfns.c: + * xfont.c: + * xftfont.c: + * xmenu.c: + * xterm.c: Remove declarations. + + Cleanup syssignal.h. + * syssignal.h (sighold, sigrelse, RETSIGTYPE): Remove, unused. + (main_thread): Move down to remove #ifdef. + (SIGMASKTYPE, SIGEMPTYMASK, SIGFULLMASK, sigmask, sigunblock): + Remove conditional definition following unconditional ones. + + * lisp.h: Remove HAVE_SHM code, unused. + (QCmap, QCrehash_size, QCrehash_threshold, QCsize, QCtest) + (QCweakness, Qabove_handle, Qbackquote, Qbar, Qbelow_handle) + (Qborder, Qbottom, Qbox, Qcircular_list, Qcomma, Qcomma_at) + (Qcomma_dot, Qcursor, Qdefault, Qdown, Qend_scroll, Qeq, Qeql) + (Qequal, Qfile_exists_p, Qfont_param, Qfringe, Qfunction) + (Qfunction_documentation, Qhandle, Qhbar, Qheader_line, Qhollow) + (Qidentity, Qleft_margin, Qmenu, Qmenu_bar_update_hook) + (Qmode_line_inactive, Qmouse, Qoverriding_local_map) + (Qoverriding_terminal_local_map, Qratio, Qregion, Qright_margin) + (Qscroll_bar, Qtool_bar, Qtop, Qup, Qvertical_border, Qwhen) + (Qwindow_scroll_functions, Vafter_load_alist) + (Vauto_save_list_file_name, Vface_alternative_font_family_alist) + (Vface_alternative_font_registry_alist, Vface_font_rescale_alist) + (Vface_ignored_fonts, Vinhibit_redisplay, Vminibuffer_list) + (Vprint_length, Vprint_level, Vscalable_fonts_allowed) + (Vshell_file_name, Vsystem_name, Vwindow_scroll_functions) + (Vwindow_system_version, Vx_no_window_manager, initial_argc) + (initial_argv, last_nonmenu_event, load_in_progress) + (noninteractive_need_newline, scroll_margin): Add declarations. + + * keyboard.h (xmalloc_widget_value, digest_single_submenu): Remove + declarations, menu.h has them. + (QCbutton, QCtoggle, QCradio, QClabel, extra_keyboard_modifiers) + (Vinput_method_function, Qinput_method_function) + (Qevent_symbol_element_mask, last_event_timestamp): + * dispextern.h (Voverflow_newline_into_fringe): + * font.h (QCantialias, Qp, syms_of_ftfont, syms_of_xfns) + (syms_of_ftxfont, syms_of_xftfont, syms_of_bdffont) + (syms_of_w32font, syms_of_nsfont): + * fontset.h (find_font_encoding, Qlatin): + * frame.h (Qtooltip, Qrun_hook_with_args, Vmenu_bar_mode) + (Vtool_bar_mode, set_frame_menubar): + * ftfont.h (ftfont_font_format, ftfont_get_fc_charset): + * xterm.h (Qx_gtk_map_stock): + * keymap.h (meta_prefix_char): Add declarations. + + * term.c: Remove dead code. + + Fix emacs -Q -f server-start & emacsclient -t on GNU/Linux. + * term.c (dissociate_if_controlling_tty): Use USG5 instead of + USG. This is equivalent to defined (USG) && !defined (BSD_PGRPS), + which is what was there before BSD_PGRPS was removed. + + 2010-08-05 Eli Zaretskii + + * deps.mk (unexcoff.o): Rename unexec.[co] => unexcoff.[co]. + + * unexcoff.c: Renamed from unexec.c. + + 2010-08-04 Stefan Monnier + + * sysdep.c (child_setup_tty): Comment-out left-over non-ICANON code. + + 2010-08-03 Johan Bockgård + + * data.c (Flocal_variable_p): Handle variable aliases correctly. + (Bug#6744) + + 2010-08-02 Jan Djärv + + * xterm.c (x_create_toolkit_scroll_bar): Only set XtNbeNiceToColormap + to TRUE if depth of screen is < 16. + + * gtkutil.c (hierarchy_ch_cb, qttip_cb): Do not define unless + USE_GTK_TOOLTIP. + (xg_prepare_tooltip): Return 0 unless USE_GTK_TOOLTIP. + (xg_show_tooltip, xg_hide_tooltip): Do nothing unless USE_GTK_TOOLTIP. + (xg_create_frame_widgets): Surround tooltip-related code with ifdef + USE_GTK_TOOLTIP. + (xg_free_frame_widgets): Don't delete ttip_* unless USE_GTK_TOOLTIP. + + * xterm.h (USE_GTK_TOOLTIP): New define. + (struct x_output): Put ttip_* inside ifdef USE_GTK_TOOLTIP. + + * sysdep.c (child_setup_tty): Enable ICANON in lflags and set VEOF + to Control-D (Bug#6771). + + 2010-08-02 Juanma Barranquero + + * editfns.c (Fregion_beginning, Fregion_end): Doc fixes (bug#6493). + Wording by Drew Adams . + + 2010-08-01 Jan Djärv + + * xterm.h (struct x_output): Add ttip_widget, ttip_window and + ttip_lbl. + + * xterm.c (x_clear_frame): Check FRAME_GTK_WIDGET (f) before + calling gtk_widget_queue_draw. + (x_free_frame_resources): Call xg_free_frame_widgets. + + * xfns.c (x_gtk_use_system_tooltips): New variable. + (Fx_show_tip): If USE_GTK and x_gtk_use_system_tooltips, call + new gtkutil tooltip functions to show the tooltip. + (Fx_hide_tip): Call xg_hide_tooltip. + (syms_of_xfns): Defvar x-gtk-use-system-tooltips. + + * gtkutil.h (xg_free_frame_widgets, xg_prepare_tooltip) + (xg_show_tooltip, xg_hide_tooltip): Declare. + + * gtkutil.c (hierarchy_ch_cb, qttip_cb, xg_prepare_tooltip) + (xg_show_tooltip, xg_hide_tooltip, xg_free_frame_widgets): + New functions. + (xg_create_frame_widgets): Set ttip_* to 0. Set a dummy tooltip + text so qttip_cb is called. Connect query-tooltip to qttip_cb. + Remove code that is commented out. + + 2010-08-01 Stefan Monnier + + * keymap.c (Fdefine_key, Flookup_key): Say what event is invalid. + + 2010-07-31 Chong Yidong + + * xselect.c (x_own_selection): Use list4. + 2010-07-30 Dan Nicolaescu * buffer.c (Qwindow): Do not define, already defined in data.c. diff --cc src/frame.c index c8e92375129,04cc1ca07da,1c9d471cfa9..9f75fd18873 --- a/src/frame.c +++ b/src/frame.c @@@@ -1171,27 -1274,6 -1285,6 +1175,17 @@@@ other_visible_frames (FRAME_PTR f return 1; } ++DEFUN ("other-visible-frames-p", Fother_visible_frames_p, Sother_visible_frames_p, 0, 1, 0, ++ doc: /* Return t if there are other visible frames beside FRAME. ++FRAME defaults to the selected frame. */) ++ (Lisp_Object frame) ++{ ++ if (NILP (frame)) ++ frame = selected_frame; ++ CHECK_LIVE_FRAME (frame); ++ return other_visible_frames (XFRAME (frame)) ? Qt : Qnil; ++} ++ - /* Error handler for `delete-frame-functions'. */ - static Lisp_Object - delete_frame_handler (Lisp_Object arg) - { - add_to_log ("Error during `delete-frame': %s", arg, Qnil); - return Qnil; - } - - extern Lisp_Object Qrun_hook_with_args; - /* Delete FRAME. When FORCE equals Qnoelisp, delete FRAME unconditionally. x_connection_closed and delete_terminal use this. Any other value of FORCE implements the semantics diff --cc src/window.c index c73a163daba,7591401ee42,7591401ee42..5de34ce3791 --- a/src/window.c +++ b/src/window.c @@@@ -51,17 -51,11 -51,11 +51,14 @@@@ along with GNU Emacs. If not, see buffer); -- SET_TEXT_POS_FROM_MARKER (top, w->start); ++ if (NILP (frame_or_window)) ++ window = SELECTED_FRAME ()->root_window; ++ else if (WINDOWP (frame_or_window)) ++ window = XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window)))->root_window; ++ else ++ { ++ CHECK_LIVE_FRAME (frame_or_window); ++ window = XFRAME (frame_or_window)->root_window; ++ } -- if (EQ (pos, Qt)) -- posint = -1; -- else if (!NILP (pos)) ++ while (NILP (XWINDOW (window)->buffer)) { -- CHECK_NUMBER_COERCE_MARKER (pos); -- posint = XINT (pos); ++ if (! NILP (XWINDOW (window)->hchild)) ++ window = XWINDOW (window)->hchild; ++ else if (! NILP (XWINDOW (window)->vchild)) ++ window = XWINDOW (window)->vchild; ++ else ++ abort (); } -- else if (w == XWINDOW (selected_window)) -- posint = PT; -- else -- posint = XMARKER (w->pointm)->charpos; -- /* If position is above window start or outside buffer boundaries, -- or if window start is out of range, position is not visible. */ -- if ((EQ (pos, Qt) -- || (posint >= CHARPOS (top) && posint <= BUF_ZV (buf))) -- && CHARPOS (top) >= BUF_BEGV (buf) -- && CHARPOS (top) <= BUF_ZV (buf) -- && pos_visible_p (w, posint, &x, &y, &rtop, &rbot, &rowh, &vpos) -- && (fully_p = !rtop && !rbot, (!NILP (partially) || fully_p))) -- in_window = Qt; ++ return window; ++} -- if (!NILP (in_window) && !NILP (partially)) ++DEFUN ("frame-selected-window", Fframe_selected_window, ++ Sframe_selected_window, 0, 1, 0, ++ doc: /* Return the selected window of FRAME_OR_WINDOW. ++If omitted, FRAME_OR_WINDOW defaults to the currently selected frame. ++Else if FRAME_OR_WINDOW denotes any window, return the selected window ++of that window's frame. If FRAME_OR_WINDOW denotes a live frame, return ++the selected window of that frame. */) ++ (Lisp_Object frame_or_window) ++{ ++ Lisp_Object window; ++ ++ if (NILP (frame_or_window)) ++ window = SELECTED_FRAME ()->selected_window; ++ else if (WINDOWP (frame_or_window)) ++ window = XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window)))->selected_window; ++ else { -- Lisp_Object part = Qnil; -- if (!fully_p) -- part = list4 (make_number (rtop), make_number (rbot), -- make_number (rowh), make_number (vpos)); -- in_window = Fcons (make_number (x), -- Fcons (make_number (y), part)); ++ CHECK_LIVE_FRAME (frame_or_window); ++ window = XFRAME (frame_or_window)->selected_window; } -- return in_window; ++ return window; } --DEFUN ("window-line-height", Fwindow_line_height, -- Swindow_line_height, 0, 2, 0, -- doc: /* Return height in pixels of text line LINE in window WINDOW. --If WINDOW is nil or omitted, use selected window. ++DEFUN ("set-frame-selected-window", Fset_frame_selected_window, ++ Sset_frame_selected_window, 2, 3, 0, ++ doc: /* Set selected window of FRAME to WINDOW. ++FRAME must be a live frame and defaults to the selected one. If FRAME ++is the selected frame, this makes WINDOW the selected window. Optional ++argument NORECORD non-nil means to neither change the order of recently ++selected windows nor the buffer list. WINDOW must denote a live window. ++Return WINDOW. */) ++ (Lisp_Object frame, Lisp_Object window, Lisp_Object norecord) ++{ ++ if (NILP (frame)) ++ frame = selected_frame; --Return height of current line if LINE is omitted or nil. Return height of --header or mode line if LINE is `header-line' and `mode-line'. --Otherwise, LINE is a text line number starting from 0. A negative number --counts from the end of the window. ++ CHECK_LIVE_FRAME (frame); ++ CHECK_LIVE_WINDOW (window); --Value is a list (HEIGHT VPOS YPOS OFFBOT), where HEIGHT is the height --in pixels of the visible part of the line, VPOS and YPOS are the --vertical position in lines and pixels of the line, relative to the top --of the first text line, and OFFBOT is the number of off-window pixels at --the bottom of the text line. If there are off-window pixels at the top --of the (first) text line, YPOS is negative. ++ if (! EQ (frame, WINDOW_FRAME (XWINDOW (window)))) ++ error ("In `set-frame-selected-window', WINDOW is not on FRAME"); --Return nil if window display is not up-to-date. In that case, use --`pos-visible-in-window-p' to obtain the information. */) -- (Lisp_Object line, Lisp_Object window) ++ if (EQ (frame, selected_frame)) ++ return Fselect_window (window, norecord); ++ else ++ return XFRAME (frame)->selected_window = window; ++} ++ ++DEFUN ("selected-window", Fselected_window, Sselected_window, 0, 0, 0, ++ doc: /* Return the selected window. ++The selected window is the window in which the standard cursor for ++selected windows appears and to which many commands apply. */) ++ (void) { -- register struct window *w; -- register struct buffer *b; -- struct glyph_row *row, *end_row; -- int max_y, crop, i, n; ++ return selected_window; ++} -- w = decode_window (window); ++int window_select_count; -- if (noninteractive -- || w->pseudo_window_p) -- return Qnil; ++/* Note that selected_window can be nil when this is called from ++ Fset_window_configuration. */ ++DEFUN ("select-window", Fselect_window, Sselect_window, 1, 2, 0, ++ doc: /* Select WINDOW. Most editing will apply to WINDOW's buffer. ++Also make WINDOW's buffer current and make WINDOW the frame's selected ++window. Return WINDOW. -- CHECK_BUFFER (w->buffer); -- b = XBUFFER (w->buffer); ++Optional second arg NORECORD non-nil means do not put this buffer at the ++front of the buffer list and do not make this window the most recently ++selected one. -- /* Fail if current matrix is not up-to-date. */ -- if (NILP (w->window_end_valid) -- || current_buffer->clip_changed -- || current_buffer->prevent_redisplay_optimizations_p -- || XFASTINT (w->last_modified) < BUF_MODIFF (b) -- || XFASTINT (w->last_overlay_modified) < BUF_OVERLAY_MODIFF (b)) -- return Qnil; ++Note that the main editor command loop sets the current buffer to the ++buffer of the selected window before each command. */) ++ (register Lisp_Object window, Lisp_Object norecord) ++{ ++ register struct window *w; ++ register struct window *ow; ++ struct frame *sf; ++ int not_selected_before = !EQ (window, selected_window); -- if (NILP (line)) -- { -- i = w->cursor.vpos; -- if (i < 0 || i >= w->current_matrix->nrows -- || (row = MATRIX_ROW (w->current_matrix, i), !row->enabled_p)) -- return Qnil; -- max_y = window_text_bottom_y (w); -- goto found_row; -- } ++ CHECK_LIVE_WINDOW (window); -- if (EQ (line, Qheader_line)) -- { -- if (!WINDOW_WANTS_HEADER_LINE_P (w)) -- return Qnil; -- row = MATRIX_HEADER_LINE_ROW (w->current_matrix); -- if (!row->enabled_p) -- return Qnil; -- return list4 (make_number (row->height), -- make_number (0), make_number (0), -- make_number (0)); -- } ++ w = XWINDOW (window); ++ w->frozen_window_start_p = 0; -- if (EQ (line, Qmode_line)) ++ if (not_selected_before) { -- row = MATRIX_MODE_LINE_ROW (w->current_matrix); -- if (!row->enabled_p) -- return Qnil; -- return list4 (make_number (row->height), -- make_number (0), /* not accurate */ -- make_number (WINDOW_HEADER_LINE_HEIGHT (w) -- + window_text_bottom_y (w)), -- make_number (0)); -- } -- -- CHECK_NUMBER (line); -- n = XINT (line); ++ sf = SELECTED_FRAME (); ++ if (XFRAME (WINDOW_FRAME (w)) != sf) ++ { ++ XFRAME (WINDOW_FRAME (w))->selected_window = window; ++ /* Use this rather than Fhandle_switch_frame ++ so that FRAME_FOCUS_FRAME is moved appropriately as we ++ move around in the state where a minibuffer in a separate ++ frame is active. */ ++ Fselect_frame (WINDOW_FRAME (w), norecord); ++ /* Fselect_frame called us back so we've done all the work already. */ ++ eassert (EQ (window, selected_window)); ++ return window; ++ } ++ else ++ sf->selected_window = window; -- row = MATRIX_FIRST_TEXT_ROW (w->current_matrix); -- end_row = MATRIX_BOTTOM_TEXT_ROW (w->current_matrix, w); -- max_y = window_text_bottom_y (w); -- i = 0; ++ /* Store the current buffer's actual point into the ++ old selected window. It belongs to that window, ++ and when the window is not selected, must be in the window. */ ++ if (!NILP (selected_window)) ++ { ++ ow = XWINDOW (selected_window); ++ if (! NILP (ow->buffer)) ++ set_marker_both (ow->pointm, ow->buffer, ++ BUF_PT (XBUFFER (ow->buffer)), ++ BUF_PT_BYTE (XBUFFER (ow->buffer))); ++ } -- while ((n < 0 || i < n) -- && row <= end_row && row->enabled_p -- && row->y + row->height < max_y) -- row++, i++; ++ selected_window = window; ++ } -- if (row > end_row || !row->enabled_p) -- return Qnil; ++ Fset_buffer (w->buffer); -- if (++n < 0) ++ if (NILP (norecord)) { -- if (-n > i) -- return Qnil; -- row += n; -- i += n; ++ ++window_select_count; ++ XSETFASTINT (w->use_time, window_select_count); ++ record_buffer (w->buffer); } -- found_row: -- crop = max (0, (row->y + row->height) - max_y); -- return list4 (make_number (row->height + min (0, row->y) - crop), -- make_number (i), -- make_number (row->y), -- make_number (crop)); --} ++ XBUFFER (w->buffer)->last_selected_window = window; ++ /* Go to the point recorded in the window. ++ This is important when the buffer is in more ++ than one window. It also matters when ++ redisplay_window has altered point after scrolling, ++ because it makes the change only in the window. */ ++ if (not_selected_before) ++ { - register int new_point = marker_position (w->pointm); +++ register EMACS_INT new_point = marker_position (w->pointm); ++ if (new_point < BEGV) ++ SET_PT (BEGV); ++ else if (new_point > ZV) ++ SET_PT (ZV); ++ else ++ SET_PT (new_point); ++ ++ windows_or_buffers_changed++; ++ } ++ return window; ++} --static struct window * --decode_window (register Lisp_Object window) ++DEFUN ("window-buffer", Fwindow_buffer, Swindow_buffer, 0, 1, 0, ++ doc: /* Return the buffer that WINDOW is displaying. ++WINDOW can be any window and defaults to the selected one. ++If WINDOW is an internal window return nil. */) ++ (Lisp_Object window) { -- if (NILP (window)) -- return XWINDOW (selected_window); ++ return decode_any_window (window)->buffer; ++} -- CHECK_LIVE_WINDOW (window); -- return XWINDOW (window); ++DEFUN ("window-parent", Fwindow_parent, Swindow_parent, 0, 1, 0, ++ doc: /* Return WINDOW's parent window. ++WINDOW can be any window and defaults to the selected one. ++Return nil if WINDOW has no parent. */) ++ (Lisp_Object window) ++{ ++ return decode_any_window (window)->parent; } --static struct window * --decode_any_window (register Lisp_Object window) ++DEFUN ("window-vchild", Fwindow_vchild, Swindow_vchild, 0, 1, 0, ++ doc: /* Return WINDOW's first vertical child window. ++WINDOW can be any window and defaults to the selected one. ++Return nil if WINDOW has no vertical child. */) ++ (Lisp_Object window) { -- if (NILP (window)) -- return XWINDOW (selected_window); ++ return decode_any_window (window)->vchild; ++} -- CHECK_WINDOW (window); -- return XWINDOW (window); ++DEFUN ("window-hchild", Fwindow_hchild, Swindow_hchild, 0, 1, 0, ++ doc: /* Return WINDOW's first horizontal child window. ++WINDOW can be any window and defaults to the selected one. ++Return nil if WINDOW has no horizontal child. */) ++ (Lisp_Object window) ++{ ++ return decode_any_window (window)->hchild; } --DEFUN ("window-buffer", Fwindow_buffer, Swindow_buffer, 0, 1, 0, -- doc: /* Return the buffer that WINDOW is displaying. --WINDOW defaults to the selected window. */) ++DEFUN ("window-next", Fwindow_next, Swindow_next, 0, 1, 0, ++ doc: /* Return WINDOW's right sibling window. ++WINDOW can be any window and defaults to the selected one. ++Return nil if WINDOW has no right sibling. */) (Lisp_Object window) { -- return decode_window (window)->buffer; ++ return decode_any_window (window)->next; } --DEFUN ("window-height", Fwindow_height, Swindow_height, 0, 1, 0, -- doc: /* Return the number of lines in WINDOW. --WINDOW defaults to the selected window. ++DEFUN ("window-prev", Fwindow_prev, Swindow_prev, 0, 1, 0, ++ doc: /* Return WINDOW's left sibling window. ++WINDOW can be any window and defaults to the selected one. ++Return nil if WINDOW has no left sibling. */) ++ (Lisp_Object window) ++{ ++ return decode_any_window (window)->prev; ++} --The return value includes WINDOW's mode line and header line, if any. ++DEFUN ("window-use-time", Fwindow_use_time, Swindow_use_time, 0, 1, 0, ++ doc: /* Return WINDOW's use time. ++WINDOW defaults to the selected window. The window with the highest use ++time is the most recently selected one. The window with the lowest use ++time is the least recently selected one. */) ++ (Lisp_Object window) ++{ ++ return decode_window (window)->use_time; ++} ++ ++DEFUN ("window-total-size", Fwindow_total_size, Swindow_total_size, 0, 2, 0, ++ doc: /* Return the total number of lines of WINDOW. ++WINDOW can be any window and defaults to the selected one. The return ++value includes WINDOW's mode line and header line, if any. If WINDOW ++is internal, the return value is the sum of the total number of lines ++of WINDOW's child windows if these are vertically combined and the ++height of WINDOW's first child otherwise. ++ ++Optional argument HORIZONTAL non-nil means return the total number of ++columns of WINDOW. In this case the return value includes any vertical ++dividers or scrollbars of WINDOW. If WINDOW is internal, the return ++value is the sum of the total number of columns of WINDOW's child ++windows if they are horizontally combined and the width of WINDOW's ++first child otherwise. */) ++ (Lisp_Object window, Lisp_Object horizontal) ++{ ++ if (NILP (horizontal)) ++ return decode_any_window (window)->total_lines; ++ else ++ return decode_any_window (window)->total_cols; ++} --Note: The function does not take into account the value of `line-spacing' --when calculating the number of lines in WINDOW. */) ++DEFUN ("window-new-total-size", Fwindow_new_total_size, Swindow_new_total_size, 0, 1, 0, ++ doc: /* Return new total size of WINDOW. ++WINDOW defaults to the selected window. */) (Lisp_Object window) { -- return decode_any_window (window)->total_lines; ++ return decode_any_window (window)->new_total; } --DEFUN ("window-width", Fwindow_width, Swindow_width, 0, 1, 0, -- doc: /* Return the number of display columns in WINDOW. --WINDOW defaults to the selected window. ++DEFUN ("window-normal-size", Fwindow_normal_size, Swindow_normal_size, 0, 2, 0, ++ doc: /* Return normal height of WINDOW. ++WINDOW can be any window and defaults to the selected one. Optional ++argument HORIZONTAL non-nil means return normal width of WINDOW. */) ++ (Lisp_Object window, Lisp_Object horizontal) ++{ ++ if (NILP (horizontal)) ++ return decode_any_window (window)->normal_lines; ++ else ++ return decode_any_window (window)->normal_cols; ++} --Note: The return value is the number of columns available for text in --WINDOW. If you want to find out how many columns WINDOW takes up, use --(let ((edges (window-edges))) (- (nth 2 edges) (nth 0 edges))). */) ++DEFUN ("window-new-normal-size", Fwindow_new_normal_size, Swindow_new_normal_size, 0, 1, 0, ++ doc: /* Return new normal size of WINDOW. ++WINDOW can be any window and defaults to the selected one. */) (Lisp_Object window) { -- return make_number (window_box_text_cols (decode_any_window (window))); ++ return decode_any_window (window)->new_normal; } --DEFUN ("window-full-width-p", Fwindow_full_width_p, Swindow_full_width_p, 0, 1, 0, -- doc: /* Return t if WINDOW is as wide as its frame. --WINDOW defaults to the selected window. */) ++DEFUN ("window-left-column", Fwindow_left_column, Swindow_left_column, 0, 1, 0, ++ doc: /* Return left column of WINDOW. ++WINDOW can be any window and defaults to the selected one. */) ++ (Lisp_Object window) ++{ ++ return decode_any_window (window)->left_col; ++} ++ ++DEFUN ("window-top-line", Fwindow_top_line, Swindow_top_line, 0, 1, 0, ++ doc: /* Return top line of WINDOW. ++WINDOW can be any window and defaults to the selected one. */) (Lisp_Object window) { -- return WINDOW_FULL_WIDTH_P (decode_any_window (window)) ? Qt : Qnil; ++ return decode_any_window (window)->top_line; ++} ++ ++/* Return the number of lines of W's body. Don't count any mode or ++ header line of W. */ ++ ++int ++window_body_lines (struct window *w) ++{ ++ int height = XFASTINT (w->total_lines); ++ ++ if (!MINI_WINDOW_P (w)) ++ { ++ if (WINDOW_WANTS_MODELINE_P (w)) ++ --height; ++ if (WINDOW_WANTS_HEADER_LINE_P (w)) ++ --height; ++ } ++ ++ return height; ++} ++ ++/* Return the number of columns of W's body. Don't count columns ++ occupied by the scroll bar or the vertical bar separating W from its ++ right sibling. On window-systems don't count fringes or display ++ margins either. */ ++ ++int ++window_body_cols (struct window *w) ++{ ++ struct frame *f = XFRAME (WINDOW_FRAME (w)); ++ int width = XINT (w->total_cols); ++ ++ if (WINDOW_HAS_VERTICAL_SCROLL_BAR (w)) ++ /* Scroll bars occupy a few columns. */ ++ width -= WINDOW_CONFIG_SCROLL_BAR_COLS (w); ++ else if (!FRAME_WINDOW_P (f) ++ && !WINDOW_RIGHTMOST_P (w) && !WINDOW_FULL_WIDTH_P (w)) ++ /* The column of `|' characters separating side-by-side windows ++ occupies one column only. */ ++ width -= 1; ++ ++ if (FRAME_WINDOW_P (f)) ++ /* On window-systems, fringes and display margins cannot be ++ used for normal text. */ ++ width -= (WINDOW_FRINGE_COLS (w) ++ + WINDOW_LEFT_MARGIN_COLS (w) ++ + WINDOW_RIGHT_MARGIN_COLS (w)); ++ ++ return width; ++} ++ ++DEFUN ("window-body-size", Fwindow_body_size, Swindow_body_size, 0, 2, 0, ++ doc: /* Return the number of lines of WINDOW's body. ++WINDOW must be a live window and defaults to the selected one. The ++return value does not include WINDOW's mode line and header line, if ++any. ++ ++Optional argument HORIZONTAL non-nil means return the number of columns ++of WINDOW's body. In this case, the return value does not include any ++vertical dividers or scroll bars owned by WINDOW. On a window-system ++the return value does not include the number of columns used for ++WINDOW's fringes or display margins either. */) ++ (Lisp_Object window, Lisp_Object horizontal) ++{ ++ struct window *w = decode_any_window (window); ++ ++ if (NILP (horizontal)) ++ return make_number (window_body_lines (w)); ++ else ++ return make_number (window_body_cols (w)); } DEFUN ("window-hscroll", Fwindow_hscroll, Swindow_hscroll, 0, 1, 0, @@@@ -1432,314 -1318,97 -1318,97 +1424,315 @@@@ overriding motion of point in order to return pos; } ++DEFUN ("pos-visible-in-window-p", Fpos_visible_in_window_p, ++ Spos_visible_in_window_p, 0, 3, 0, - doc: /* Return non-nil if position POS is currently in WINDOW. +++ doc: /* Return non-nil if position POS is currently on the frame in WINDOW. ++Return nil if that position is scrolled vertically out of view. ++If a character is only partially visible, nil is returned, unless the ++optional argument PARTIALLY is non-nil. ++If POS is only out of view because of horizontal scrolling, return non-nil. ++If POS is t, it specifies the position of the last visible glyph in WINDOW. ++POS defaults to point in WINDOW; WINDOW defaults to the selected window. --DEFUN ("window-dedicated-p", Fwindow_dedicated_p, Swindow_dedicated_p, -- 0, 1, 0, -- doc: /* Return non-nil when WINDOW is dedicated to its buffer. --More precisely, return the value assigned by the last call of --`set-window-dedicated-p' for WINDOW. Return nil if that function was --never called with WINDOW as its argument, or the value set by that --function was internally reset since its last call. WINDOW defaults to --the selected window. -- --When a window is dedicated to its buffer, `display-buffer' will refrain --from displaying another buffer in it. `get-lru-window' and --`get-largest-window' treat dedicated windows specially. --`delete-windows-on', `replace-buffer-in-windows', `quit-window' and --`kill-buffer' can delete a dedicated window and the containing frame. -- --Functions like `set-window-buffer' may change the buffer displayed by a --window, unless that window is "strongly" dedicated to its buffer, that --is the value returned by `window-dedicated-p' is t. */) -- (Lisp_Object window) ++If POS is visible, return t if PARTIALLY is nil; if PARTIALLY is non-nil, ++return value is a list of 2 or 6 elements (X Y [RTOP RBOT ROWH VPOS]), ++where X and Y are the pixel coordinates relative to the top left corner ++of the window. The remaining elements are omitted if the character after ++POS is fully visible; otherwise, RTOP and RBOT are the number of pixels ++off-window at the top and bottom of the row, ROWH is the height of the ++display row, and VPOS is the row number (0-based) containing POS. */) - (Lisp_Object pos, Lisp_Object window, Lisp_Object partially) +++ (Lisp_Object pos, Lisp_Object window, Lisp_Object partially) { -- return decode_window (window)->dedicated; --} -- --DEFUN ("set-window-dedicated-p", Fset_window_dedicated_p, -- Sset_window_dedicated_p, 2, 2, 0, -- doc: /* Mark WINDOW as dedicated according to FLAG. --WINDOW defaults to the selected window. FLAG non-nil means mark WINDOW --as dedicated to its buffer. FLAG nil means mark WINDOW as non-dedicated. --Return FLAG. ++ register struct window *w; - register int posint; +++ register EMACS_INT posint; ++ register struct buffer *buf; ++ struct text_pos top; ++ Lisp_Object in_window = Qnil; ++ int rtop, rbot, rowh, vpos, fully_p = 1; ++ int x, y; --When a window is dedicated to its buffer, `display-buffer' will refrain --from displaying another buffer in it. `get-lru-window' and --`get-largest-window' treat dedicated windows specially. --`delete-windows-on', `replace-buffer-in-windows', `quit-window' and --`kill-buffer' can delete a dedicated window and the containing --frame. ++ w = decode_window (window); ++ buf = XBUFFER (w->buffer); ++ SET_TEXT_POS_FROM_MARKER (top, w->start); --As a special case, if FLAG is t, mark WINDOW as "strongly" dedicated to --its buffer. Functions like `set-window-buffer' may change the buffer --displayed by a window, unless that window is strongly dedicated to its --buffer. If and when `set-window-buffer' displays another buffer in a --window, it also makes sure that the window is not marked as dedicated. */) -- (Lisp_Object window, Lisp_Object flag) --{ -- register struct window *w = decode_window (window); ++ if (EQ (pos, Qt)) ++ posint = -1; ++ else if (!NILP (pos)) ++ { ++ CHECK_NUMBER_COERCE_MARKER (pos); ++ posint = XINT (pos); ++ } ++ else if (w == XWINDOW (selected_window)) ++ posint = PT; ++ else ++ posint = XMARKER (w->pointm)->charpos; -- w->dedicated = flag; -- return w->dedicated; --} ++ /* If position is above window start or outside buffer boundaries, ++ or if window start is out of range, position is not visible. */ - if ((EQ (pos, Qt) || (posint >= CHARPOS (top) && posint <= BUF_ZV (buf))) +++ if ((EQ (pos, Qt) +++ || (posint >= CHARPOS (top) && posint <= BUF_ZV (buf))) ++ && CHARPOS (top) >= BUF_BEGV (buf) ++ && CHARPOS (top) <= BUF_ZV (buf) ++ && pos_visible_p (w, posint, &x, &y, &rtop, &rbot, &rowh, &vpos) ++ && (fully_p = !rtop && !rbot, (!NILP (partially) || fully_p))) ++ in_window = Qt; ++ if (!NILP (in_window) && !NILP (partially)) ++ { ++ Lisp_Object part = Qnil; ++ if (!fully_p) ++ part = list4 (make_number (rtop), make_number (rbot), ++ make_number (rowh), make_number (vpos)); ++ in_window = Fcons (make_number (x), ++ Fcons (make_number (y), part)); ++ } --DEFUN ("window-parameters", Fwindow_parameters, Swindow_parameters, -- 0, 1, 0, -- doc: /* Return the parameters of WINDOW and their values. --WINDOW defaults to the selected window. The return value is a list of --elements of the form (PARAMETER . VALUE). */) -- (Lisp_Object window) --{ -- return Fcopy_alist (decode_window (window)->window_parameters); ++ return in_window; } --DEFUN ("window-parameter", Fwindow_parameter, Swindow_parameter, -- 2, 2, 0, -- doc: /* Return WINDOW's value for PARAMETER. --WINDOW defaults to the selected window. */) -- (Lisp_Object window, Lisp_Object parameter) --{ -- Lisp_Object result; ++DEFUN ("window-line-height", Fwindow_line_height, ++ Swindow_line_height, 0, 2, 0, ++ doc: /* Return height in pixels of text line LINE in window WINDOW. ++WINDOW defaults to the selected window. -- result = Fassq (parameter, decode_window (window)->window_parameters); -- return CDR_SAFE (result); --} ++Return height of current line if LINE is omitted or nil. Return height of ++header or mode line if LINE is `header-line' or `mode-line'. ++Otherwise, LINE is a text line number starting from 0. A negative number ++counts from the end of the window. --DEFUN ("set-window-parameter", Fset_window_parameter, -- Sset_window_parameter, 3, 3, 0, -- doc: /* Set WINDOW's value of PARAMETER to VALUE. --WINDOW defaults to the selected window. Return VALUE. */) -- (Lisp_Object window, Lisp_Object parameter, Lisp_Object value) ++Value is a list (HEIGHT VPOS YPOS OFFBOT), where HEIGHT is the height ++in pixels of the visible part of the line, VPOS and YPOS are the ++vertical position in lines and pixels of the line, relative to the top ++of the first text line, and OFFBOT is the number of off-window pixels at ++the bottom of the text line. If there are off-window pixels at the top ++of the (first) text line, YPOS is negative. ++ ++Return nil if window display is not up-to-date. In that case, use ++`pos-visible-in-window-p' to obtain the information. */) ++ (Lisp_Object line, Lisp_Object window) { -- register struct window *w = decode_window (window); -- Lisp_Object old_alist_elt; ++ register struct window *w; ++ register struct buffer *b; ++ struct glyph_row *row, *end_row; ++ int max_y, crop, i, n; -- old_alist_elt = Fassq (parameter, w->window_parameters); -- if (NILP (old_alist_elt)) -- w->window_parameters = Fcons (Fcons (parameter, value), w->window_parameters); -- else -- Fsetcdr (old_alist_elt, value); -- return value; --} ++ w = decode_window (window); ++ if (noninteractive || w->pseudo_window_p) ++ return Qnil; ++ ++ CHECK_BUFFER (w->buffer); ++ b = XBUFFER (w->buffer); ++ ++ /* Fail if current matrix is not up-to-date. */ ++ if (NILP (w->window_end_valid) ++ || current_buffer->clip_changed ++ || current_buffer->prevent_redisplay_optimizations_p ++ || XFASTINT (w->last_modified) < BUF_MODIFF (b) ++ || XFASTINT (w->last_overlay_modified) < BUF_OVERLAY_MODIFF (b)) ++ return Qnil; ++ ++ if (NILP (line)) ++ { ++ i = w->cursor.vpos; ++ if (i < 0 || i >= w->current_matrix->nrows ++ || (row = MATRIX_ROW (w->current_matrix, i), !row->enabled_p)) ++ return Qnil; ++ max_y = window_text_bottom_y (w); ++ goto found_row; ++ } ++ ++ if (EQ (line, Qheader_line)) ++ { ++ if (!WINDOW_WANTS_HEADER_LINE_P (w)) ++ return Qnil; ++ row = MATRIX_HEADER_LINE_ROW (w->current_matrix); ++ if (!row->enabled_p) ++ return Qnil; ++ return list4 (make_number (row->height), ++ make_number (0), make_number (0), ++ make_number (0)); ++ } ++ ++ if (EQ (line, Qmode_line)) ++ { ++ row = MATRIX_MODE_LINE_ROW (w->current_matrix); ++ if (!row->enabled_p) ++ return Qnil; ++ return list4 (make_number (row->height), ++ make_number (0), /* not accurate */ ++ make_number (WINDOW_HEADER_LINE_HEIGHT (w) ++ + window_text_bottom_y (w)), ++ make_number (0)); ++ } ++ ++ CHECK_NUMBER (line); ++ n = XINT (line); ++ ++ row = MATRIX_FIRST_TEXT_ROW (w->current_matrix); ++ end_row = MATRIX_BOTTOM_TEXT_ROW (w->current_matrix, w); ++ max_y = window_text_bottom_y (w); ++ i = 0; ++ ++ while ((n < 0 || i < n) ++ && row <= end_row && row->enabled_p ++ && row->y + row->height < max_y) ++ row++, i++; ++ ++ if (row > end_row || !row->enabled_p) ++ return Qnil; ++ ++ if (++n < 0) ++ { ++ if (-n > i) ++ return Qnil; ++ row += n; ++ i += n; ++ } ++ ++ found_row: ++ crop = max (0, (row->y + row->height) - max_y); ++ return list4 (make_number (row->height + min (0, row->y) - crop), ++ make_number (i), ++ make_number (row->y), ++ make_number (crop)); ++} ++ ++DEFUN ("window-dedicated-p", Fwindow_dedicated_p, Swindow_dedicated_p, ++ 0, 1, 0, ++ doc: /* Return non-nil when WINDOW is dedicated to its buffer. ++More precisely, return the value assigned by the last call of ++`set-window-dedicated-p' for WINDOW. Return nil if that function was ++never called with WINDOW as its argument, or the value set by that ++function was internally reset since its last call. WINDOW defaults to ++the selected window. ++ ++When a window is dedicated to its buffer, `display-buffer' will refrain ++from displaying another buffer in it. `get-lru-window' and ++`get-largest-window' treat dedicated windows specially. ++`delete-windows-on', `replace-buffer-in-windows', `quit-window' and ++`kill-buffer' can delete a dedicated window and the containing frame. ++ ++Functions like `set-window-buffer' may change the buffer displayed by a ++window, unless that window is "strongly" dedicated to its buffer, that ++is the value returned by `window-dedicated-p' is t. */) ++ (Lisp_Object window) ++{ ++ return decode_window (window)->dedicated; ++} ++ ++DEFUN ("set-window-dedicated-p", Fset_window_dedicated_p, ++ Sset_window_dedicated_p, 2, 2, 0, ++ doc: /* Mark WINDOW as dedicated according to FLAG. ++WINDOW must be a live window and defaults to the selected one. FLAG ++non-nil means mark WINDOW as dedicated to its buffer. FLAG nil means ++mark WINDOW as non-dedicated. Return FLAG. ++ ++When a window is dedicated to its buffer, `display-buffer' will refrain ++from displaying another buffer in it. `get-lru-window' and ++`get-largest-window' treat dedicated windows specially. ++`delete-windows-on', `replace-buffer-in-windows', `quit-window', ++`quit-restore-window' and `kill-buffer' can delete a dedicated window ++and the containing frame. ++ ++As a special case, if FLAG is t, mark WINDOW as "strongly" dedicated to ++its buffer. Functions like `set-window-buffer' may change the buffer ++displayed by a window, unless that window is strongly dedicated to its ++buffer. If and when `set-window-buffer' displays another buffer in a ++window, it also makes sure that the window is no more dedicated. */) ++ (Lisp_Object window, Lisp_Object flag) ++{ ++ register struct window *w = decode_window (window); ++ ++ w->dedicated = flag; ++ return w->dedicated; ++} ++ ++DEFUN ("window-prev-buffers", Fwindow_prev_buffers, Swindow_prev_buffers, ++ 0, 1, 0, ++ doc: /* Return buffers previously shown in WINDOW. ++WINDOW must be a live window and defaults to the selected one. ++ ++The return value is either nil or a list of triples where buffer was previously shown in WINDOW. */) ++ (Lisp_Object window) ++{ ++ return decode_window (window)->prev_buffers; ++} ++ ++DEFUN ("set-window-prev-buffers", Fset_window_prev_buffers, ++ Sset_window_prev_buffers, 2, 2, 0, ++ doc: /* Set WINDOW's previous buffers to PREV-BUFFERS. ++WINDOW must be a live window and defaults to the selected one. Return ++PREV-BUFFERS. ++ ++PREV-BUFFERS should be either nil or a list of triples where buffer was previously shown in WINDOW. */) ++ (Lisp_Object window, Lisp_Object prev_buffers) ++{ ++ return decode_any_window (window)->prev_buffers = prev_buffers; ++} ++ ++DEFUN ("window-next-buffers", Fwindow_next_buffers, Swindow_next_buffers, ++ 0, 1, 0, ++ doc: /* Return list of buffers recently re-shown in WINDOW. ++WINDOW must be a live window and defaults to the selected one. */) ++ (Lisp_Object window) ++{ ++ return decode_window (window)->next_buffers; ++} ++ ++DEFUN ("set-window-next-buffers", Fset_window_next_buffers, ++ Sset_window_next_buffers, 2, 2, 0, ++ doc: /* Set WINDOW's next buffers to NEXT-BUFFERS. ++WINDOW must be a live window and defaults to the selected one. Return ++NEXT-BUFFERS. ++ ++NEXT-BUFFERS should be either nil or a list of buffers that have been ++recently re-shown in WINDOW. */) ++ (Lisp_Object window, Lisp_Object next_buffers) ++{ ++ return decode_any_window (window)->next_buffers = next_buffers; ++} ++ ++DEFUN ("window-parameters", Fwindow_parameters, Swindow_parameters, ++ 0, 1, 0, ++ doc: /* Return the parameters of WINDOW and their values. ++WINDOW defaults to the selected window. The return value is a list of ++elements of the form (PARAMETER . VALUE). */) ++ (Lisp_Object window) ++{ ++ return Fcopy_alist (decode_any_window (window)->window_parameters); ++} ++ ++DEFUN ("window-parameter", Fwindow_parameter, Swindow_parameter, ++ 2, 2, 0, ++ doc: /* Return WINDOW's value for PARAMETER. ++WINDOW defaults to the selected window. */) ++ (Lisp_Object window, Lisp_Object parameter) ++{ ++ Lisp_Object result; ++ ++ result = Fassq (parameter, decode_any_window (window)->window_parameters); ++ return CDR_SAFE (result); ++} ++ ++DEFUN ("set-window-parameter", Fset_window_parameter, ++ Sset_window_parameter, 3, 3, 0, ++ doc: /* Set WINDOW's value of PARAMETER to VALUE. ++WINDOW defaults to the selected window. Return VALUE. */) ++ (Lisp_Object window, Lisp_Object parameter, Lisp_Object value) ++{ ++ register struct window *w = decode_any_window (window); ++ Lisp_Object old_alist_elt; ++ ++ old_alist_elt = Fassq (parameter, w->window_parameters); ++ if (NILP (old_alist_elt)) ++ w->window_parameters = Fcons (Fcons (parameter, value), w->window_parameters); ++ else ++ Fsetcdr (old_alist_elt, value); ++ return value; ++} DEFUN ("window-display-table", Fwindow_display_table, Swindow_display_table, 0, 1, 0, @@@@ -2590,217 -2497,121 -2497,121 +2583,218 @@@@ previously visible in WINDOW in the sam depends on the value of (window-start WINDOW), so if calling this function in a program gives strange scrolling, make sure the window-start value is reasonable when this function is called. */) -- (Lisp_Object window) ++ (Lisp_Object window, Lisp_Object root) { -- struct window *w; ++ struct window *w, *r, *s; ++ struct frame *f; ++ Lisp_Object sibling, pwindow, swindow, delta; - int startpos, top, new_top, resize_failed; + EMACS_INT startpos; -- int top, new_top; +++ int top, new_top, resize_failed; -- if (NILP (window)) -- window = selected_window; -- else -- CHECK_LIVE_WINDOW (window); -- w = XWINDOW (window); ++ w = decode_any_window (window); ++ XSETWINDOW (window, w); ++ f = XFRAME (w->frame); -- startpos = marker_position (w->start); -- top = WINDOW_TOP_EDGE_LINE (w) - FRAME_TOP_MARGIN (XFRAME (WINDOW_FRAME (w))); ++ if (NILP (root)) ++ /* ROOT is the frame's root window. */ ++ { ++ root = FRAME_ROOT_WINDOW (f); ++ r = XWINDOW (root); ++ } ++ else ++ /* ROOT must be an ancestor of WINDOW. */ ++ { ++ r = decode_any_window (root); ++ pwindow = XWINDOW (window)->parent; ++ while (!NILP (pwindow)) ++ if (EQ (pwindow, root)) ++ break; ++ else ++ pwindow = XWINDOW (pwindow)->parent; ++ if (!EQ (pwindow, root)) ++ error ("Specified root is not an ancestor of specified window"); ++ } -- if (MINI_WINDOW_P (w) && top > 0) ++ if (EQ (window, root)) ++ /* A noop. */ ++ return Qnil; ++ /* I don't understand the "top > 0" part below. If we deal with a ++ standalone minibuffer it would have been caught by the preceding ++ test. */ ++ else if (MINI_WINDOW_P (w)) /* && top > 0) */ error ("Can't expand minibuffer to full frame"); -- window_loop (DELETE_OTHER_WINDOWS, window, 0, WINDOW_FRAME (w)); -- -- /* Try to minimize scrolling, by setting the window start to the point -- will cause the text at the old window start to be at the same place -- on the frame. But don't try to do this if the window start is -- outside the visible portion (as might happen when the display is -- not current, due to typeahead). */ -- new_top = WINDOW_TOP_EDGE_LINE (w) - FRAME_TOP_MARGIN (XFRAME (WINDOW_FRAME (w))); -- if (new_top != top -- && startpos >= BUF_BEGV (XBUFFER (w->buffer)) -- && startpos <= BUF_ZV (XBUFFER (w->buffer))) ++ if (!NILP (w->buffer)) { -- struct position pos; -- struct buffer *obuf = current_buffer; -- -- Fset_buffer (w->buffer); -- /* This computation used to temporarily move point, but that can -- have unwanted side effects due to text properties. */ -- pos = *vmotion (startpos, -top, w); ++ startpos = marker_position (w->start); ++ top = WINDOW_TOP_EDGE_LINE (w) ++ - FRAME_TOP_MARGIN (XFRAME (WINDOW_FRAME (w))); ++ /* Make sure WINDOW is the frame's selected window. */ ++ if (!EQ (window, FRAME_SELECTED_WINDOW (f))) ++ { ++ if (EQ (selected_frame, w->frame)) ++ Fselect_window (window, Qnil); ++ else ++ FRAME_SELECTED_WINDOW (f) = window; ++ } ++ } ++ else ++ { ++ /* See if the frame's selected window is a subwindow of WINDOW, by ++ finding all the selected window's parents and comparing each ++ one with WINDOW. If it isn't we need a new selected window for ++ this frame. */ ++ swindow = FRAME_SELECTED_WINDOW (f); ++ while (1) ++ { ++ pwindow = swindow; ++ while (!NILP (pwindow) && !EQ (window, pwindow)) ++ pwindow = XWINDOW (pwindow)->parent; -- set_marker_both (w->start, w->buffer, pos.bufpos, pos.bytepos); -- w->window_end_valid = Qnil; -- w->start_at_line_beg = ((pos.bytepos == BEGV_BYTE -- || FETCH_BYTE (pos.bytepos - 1) == '\n') ? Qt -- : Qnil); -- /* We need to do this, so that the window-scroll-functions -- get called. */ -- w->optional_new_start = Qt; ++ if (EQ (window, pwindow)) ++ /* If WINDOW is an ancestor of SWINDOW, then SWINDOW is ok ++ as the new selected window. */ ++ break; ++ else ++ /* Else try the previous window of SWINDOW. */ ++ swindow = Fprevious_window (swindow, Qlambda, Qnil); ++ } -- set_buffer_internal (obuf); ++ if (!EQ (swindow, FRAME_SELECTED_WINDOW (f))) ++ { ++ if (EQ (selected_frame, w->frame)) ++ Fselect_window (swindow, Qnil); ++ else ++ FRAME_SELECTED_WINDOW (f) = swindow; ++ } } -- return Qnil; --} ++ BLOCK_INPUT; ++ free_window_matrices (r); --DEFUN ("delete-windows-on", Fdelete_windows_on, Sdelete_windows_on, -- 0, 2, "bDelete windows on (buffer): ", -- doc: /* Delete all windows showing BUFFER-OR-NAME. --BUFFER-OR-NAME may be a buffer or the name of an existing buffer and --defaults to the current buffer. ++ windows_or_buffers_changed++; ++ Vwindow_list = Qnil; ++ FRAME_WINDOW_SIZES_CHANGED (f) = 1; --Optional second argument FRAME controls which frames are affected. --If optional argument FRAME is `visible', search all visible frames. --If FRAME is 0, search all visible and iconified frames. --If FRAME is nil, search all frames. --If FRAME is t, search only the selected frame. --If FRAME is a frame, search only that frame. --When a window showing BUFFER-OR-NAME is dedicated and the only window of --its frame, that frame is deleted when there are other frames left. */) -- (Lisp_Object buffer_or_name, Lisp_Object frame) --{ -- Lisp_Object buffer; ++ if (NILP (w->buffer)) ++ { ++ resize_failed = 0; ++ /* Resize subwindows vertically. */ ++ XSETINT (delta, XINT (r->total_lines) - XINT (w->total_lines)); ++ w->top_line = r->top_line; ++ resize_root_window (window, delta, Qnil, Qnil); ++ if (resize_window_check (w, 0)) ++ resize_window_apply (w, 0); ++ else ++ { ++ resize_root_window (window, delta, Qnil, Qt); ++ if (resize_window_check (w, 0)) ++ resize_window_apply (w, 0); ++ else ++ resize_failed = 1; ++ } -- /* FRAME uses t and nil to mean the opposite of what window_loop -- expects. */ -- if (NILP (frame)) -- frame = Qt; -- else if (EQ (frame, Qt)) -- frame = Qnil; ++ /* Resize subwindows horizontally. */ ++ if (!resize_failed) ++ { ++ w->left_col = r->left_col; ++ XSETINT (delta, XINT (r->total_cols) - XINT (w->total_cols)); ++ w->left_col = r->left_col; ++ resize_root_window (window, delta, Qt, Qnil); ++ if (resize_window_check (w, 1)) ++ resize_window_apply (w, 1); ++ else ++ { ++ resize_root_window (window, delta, Qt, Qt); ++ if (resize_window_check (w, 1)) ++ resize_window_apply (w, 1); ++ else ++ resize_failed = 1; ++ } ++ } -- if (NILP (buffer_or_name)) -- buffer = Fcurrent_buffer (); ++ if (resize_failed) ++ /* Play safe, if we still can ... */ ++ { ++ window = swindow; ++ w = XWINDOW (window); ++ } ++ } ++ ++ /* Cleanly unlink WINDOW from window-tree. */ ++ if (!NILP (w->prev)) ++ /* Get SIBLING above (on the left of) WINDOW. */ ++ { ++ sibling = w->prev; ++ s = XWINDOW (sibling); ++ s->next = w->next; ++ if (!NILP (s->next)) ++ XWINDOW (s->next)->prev = sibling; ++ } else ++ /* Get SIBLING below (on the right of) WINDOW. */ { -- buffer = Fget_buffer (buffer_or_name); -- CHECK_BUFFER (buffer); ++ sibling = w->next; ++ s = XWINDOW (sibling); ++ s->prev = Qnil; ++ if (!NILP (XWINDOW (w->parent)->vchild)) ++ XWINDOW (w->parent)->vchild = sibling; ++ else ++ XWINDOW (w->parent)->hchild = sibling; } -- window_loop (DELETE_BUFFER_WINDOWS, buffer, 0, frame); -- -- return Qnil; --} -- --DEFUN ("replace-buffer-in-windows", Freplace_buffer_in_windows, -- Sreplace_buffer_in_windows, -- 0, 1, "bReplace buffer in windows: ", -- doc: /* Replace BUFFER-OR-NAME with some other buffer in all windows showing it. --BUFFER-OR-NAME may be a buffer or the name of an existing buffer and --defaults to the current buffer. ++ /* Delete ROOT and all subwindows of ROOT. */ ++ if (!NILP (r->vchild)) ++ { ++ delete_all_subwindows (r->vchild); ++ r->vchild = Qnil; ++ } ++ else if (!NILP (r->hchild)) ++ { ++ delete_all_subwindows (r->hchild); ++ r->hchild = Qnil; ++ } --When a window showing BUFFER-OR-NAME is dedicated that window is --deleted. If that window is the only window on its frame, that frame is --deleted too when there are other frames left. If there are no other --frames left, some other buffer is displayed in that window. */) -- (Lisp_Object buffer_or_name) --{ -- Lisp_Object buffer; ++ replace_window (root, window, 1); -- if (NILP (buffer_or_name)) -- buffer = Fcurrent_buffer (); -- else ++ /* This must become SWINDOW anyway ....... */ ++ if (!NILP (w->buffer) && !resize_failed) { -- buffer = Fget_buffer (buffer_or_name); -- CHECK_BUFFER (buffer); ++ /* Try to minimize scrolling, by setting the window start to the ++ point will cause the text at the old window start to be at the ++ same place on the frame. But don't try to do this if the ++ window start is outside the visible portion (as might happen ++ when the display is not current, due to typeahead). */ ++ new_top = WINDOW_TOP_EDGE_LINE (w) - FRAME_TOP_MARGIN (XFRAME (WINDOW_FRAME (w))); ++ if (new_top != top ++ && startpos >= BUF_BEGV (XBUFFER (w->buffer)) ++ && startpos <= BUF_ZV (XBUFFER (w->buffer))) ++ { ++ struct position pos; ++ struct buffer *obuf = current_buffer; ++ ++ Fset_buffer (w->buffer); ++ /* This computation used to temporarily move point, but that ++ can have unwanted side effects due to text properties. */ ++ pos = *vmotion (startpos, -top, w); ++ ++ set_marker_both (w->start, w->buffer, pos.bufpos, pos.bytepos); ++ w->window_end_valid = Qnil; ++ w->start_at_line_beg = ((pos.bytepos == BEGV_BYTE ++ || FETCH_BYTE (pos.bytepos - 1) == '\n') ? Qt ++ : Qnil); ++ /* We need to do this, so that the window-scroll-functions ++ get called. */ ++ w->optional_new_start = Qt; ++ ++ set_buffer_internal (obuf); ++ } } -- window_loop (UNSHOW_BUFFER, buffer, 0, Qt); ++ adjust_glyphs (f); ++ UNBLOCK_INPUT; ++ ++ run_window_configuration_change_hook (f); return Qnil; } diff --cc src/xdisp.c index 081f75ffb64,4c007e572ce,c9af2ba88ec..14dd672d6cf --- a/src/xdisp.c +++ b/src/xdisp.c @@@@ -24064,7 -24003,7 -24335,130 +24335,130 @@@@ fast_find_string_pos (struct window *w return best_glyph != NULL; } ++ #endif /* not used */ ++ ++ /* Find the positions of the first and the last glyphs in window W's ++ current matrix that occlude positions [STARTPOS..ENDPOS] in OBJECT ++ (assumed to be a string), and return in DPYINFO's mouse_face ++ members the pixel and column/row coordinates of those glyphs. */ ++ ++ static void ++ mouse_face_from_string_pos (struct window *w, Display_Info *dpyinfo, ++ Lisp_Object object, ++ EMACS_INT startpos, EMACS_INT endpos) ++ { ++ int yb = window_text_bottom_y (w); ++ struct glyph_row *r; ++ struct glyph *g, *e; ++ int gx; ++ int found = 0; ++ ++ /* Find the glyph row with at least one position in the range ++ [STARTPOS..ENDPOS], and the first glyph in that row whose ++ position belongs to that range. */ ++ for (r = MATRIX_FIRST_TEXT_ROW (w->current_matrix); ++ r->enabled_p && r->y < yb; ++ ++r) ++ { ++ if (!r->reversed_p) ++ { ++ g = r->glyphs[TEXT_AREA]; ++ e = g + r->used[TEXT_AREA]; ++ for (gx = r->x; g < e; gx += g->pixel_width, ++g) ++ if (EQ (g->object, object) ++ && startpos <= g->charpos && g->charpos <= endpos) ++ { ++ dpyinfo->mouse_face_beg_row = r - w->current_matrix->rows; ++ dpyinfo->mouse_face_beg_y = r->y; ++ dpyinfo->mouse_face_beg_col = g - r->glyphs[TEXT_AREA]; ++ dpyinfo->mouse_face_beg_x = gx; ++ found = 1; ++ break; ++ } ++ } ++ else ++ { ++ struct glyph *g1; ++ ++ e = r->glyphs[TEXT_AREA]; ++ g = e + r->used[TEXT_AREA]; ++ for ( ; g > e; --g) ++ if (EQ ((g-1)->object, object) ++ && startpos <= (g-1)->charpos && (g-1)->charpos <= endpos) ++ { ++ dpyinfo->mouse_face_beg_row = r - w->current_matrix->rows; ++ dpyinfo->mouse_face_beg_y = r->y; ++ dpyinfo->mouse_face_beg_col = g - r->glyphs[TEXT_AREA]; ++ for (gx = r->x, g1 = r->glyphs[TEXT_AREA]; g1 < g; ++g1) ++ gx += g1->pixel_width; ++ dpyinfo->mouse_face_beg_x = gx; ++ found = 1; ++ break; ++ } ++ } ++ if (found) ++ break; ++ } + ++ if (!found) ++ return; ++ ++ /* Starting with the next row, look for the first row which does NOT ++ include any glyphs whose positions are in the range. */ ++ for (++r; r->enabled_p && r->y < yb; ++r) ++ { ++ g = r->glyphs[TEXT_AREA]; ++ e = g + r->used[TEXT_AREA]; ++ found = 0; ++ for ( ; g < e; ++g) ++ if (EQ (g->object, object) ++ && startpos <= g->charpos && g->charpos <= endpos) ++ { ++ found = 1; ++ break; ++ } ++ if (!found) ++ break; ++ } ++ ++ /* The highlighted region ends on the previous row. */ ++ r--; + ++ /* Set the end row and its vertical pixel coordinate. */ ++ dpyinfo->mouse_face_end_row = r - w->current_matrix->rows; ++ dpyinfo->mouse_face_end_y = r->y; ++ ++ /* Compute and set the end column and the end column's horizontal ++ pixel coordinate. */ ++ if (!r->reversed_p) ++ { ++ g = r->glyphs[TEXT_AREA]; ++ e = g + r->used[TEXT_AREA]; ++ for ( ; e > g; --e) ++ if (EQ ((e-1)->object, object) ++ && startpos <= (e-1)->charpos && (e-1)->charpos <= endpos) ++ break; ++ dpyinfo->mouse_face_end_col = e - g; ++ ++ for (gx = r->x; g < e; ++g) ++ gx += g->pixel_width; ++ dpyinfo->mouse_face_end_x = gx; ++ } ++ else ++ { ++ e = r->glyphs[TEXT_AREA]; ++ g = e + r->used[TEXT_AREA]; ++ for (gx = r->x ; e < g; ++e) ++ { ++ if (EQ (e->object, object) ++ && startpos <= e->charpos && e->charpos <= endpos) ++ break; ++ gx += e->pixel_width; ++ } ++ dpyinfo->mouse_face_end_col = e - r->glyphs[TEXT_AREA]; ++ dpyinfo->mouse_face_end_x = gx; ++ } ++ } /* See if position X, Y is within a hot-spot of an image. */