From: Miles Bader Date: Sat, 1 Mar 2008 01:28:31 +0000 (+0000) Subject: Merge from emacs--rel--22 X-Git-Tag: emacs-pretest-23.0.90~7551 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/51fb064bc72968e739e8dea580e58796c1a87f4c Merge from emacs--rel--22 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1090 --- 51fb064bc72968e739e8dea580e58796c1a87f4c diff --cc etc/ChangeLog index d135339277,556bf3dc25..b4ff0a3d19 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@@ -1,40 -1,6 +1,44 @@@ +2008-02-26 Reiner Steib + + * NEWS (Gnus): Mention problem with coding system `utf-8-emacs' + when using different Emacs versions. + + 2008-02-25 Jan Dj$(Q)Z(Brv + - * NEWS: Mention stock icons for Gtk+. ++ * NEWS.22: Mention stock icons for Gtk+. ++ +2008-02-22 Kenichi Handa + + * NEWS: Mention the new language environments Bengali, Punjabi, + Gujarati, Oriya, Telugu, Sinhala. Mention the removal of features + devanagari, devan-util, kannada, knd-util, malayalam, mlm-util, + tamil, and tml-util. + +2008-02-22 Michael Olson + + * NEWS: Describe nXML mode and json.el. + +2008-02-21 Kenichi Handa + + * NEWS: Improve the description about the removal of cp-...-codepage + functions. Describe the removal of the feature `devan-util'. + +2008-02-21 Glenn Morris + + * NEWS.unicode: Merge into NEWS and remove file. + +2008-02-20 Kenichi Handa + + * NEWS.unicode: Mention the removal of codepage related functions. + +2008-02-16 Glenn Morris + + * nxml/test-invalid.xml, nxml/test-valid.xml: Move here from lisp/nxml. + Rename from "test." to "test-" for doschk. + +2008-02-10 Daiki Ueno + + * NEWS: Clarify EasyPG functionalities. 2008-02-09 Eli Zaretskii diff --cc etc/NEWS.22 index d8600a6b0b,0000000000..c97ec91fb5 mode 100644,000000..100644 --- a/etc/NEWS.22 +++ b/etc/NEWS.22 @@@ -1,5526 -1,0 +1,5542 @@@ +GNU Emacs NEWS -- history of user-visible changes. + +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 + Free Software Foundation, Inc. +See the end of the file for license conditions. + +Please send Emacs bug reports to bug-gnu-emacs@gnu.org. +If possible, use M-x report-emacs-bug. + +This file is about changes in Emacs version 22. + +See files NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17 for changes +in older Emacs versions. + +You can narrow news to a specific version by calling `view-emacs-news' +with a prefix argument or by typing C-u C-h C-n. + +* About external Lisp packages + +When you upgrade to Emacs 22 from a previous version, some older +versions of external Lisp packages are known to behave badly. +So in general, it is recommended that you upgrade to the latest +versions of any external Lisp packages that you are using. + +You should also be aware that many Lisp packages have been included +with Emacs 22 (see the extensive list below), and you should remove +any older versions of these packages to ensure that the Emacs 22 +version is used. You can use M-x list-load-path-shadows to find such +older packages. + +Some specific packages that are known to cause problems are given +below. Emacs tries to warn you about these through `bad-packages-alist'. + +** Semantic (used by CEDET, ECB, JDEE): upgrade to latest version. + +** cua.el, cua-mode.el: remove old versions. + + +* Installation Changes in Emacs 22.2 + +** Emacs is now licensed under the GNU GPL version 3 (or later). + +** Support for GNU/kFreeBSD (GNU userland and FreeBSD kernel) was added. + +* Changes in Emacs 22.2 + +** `find-name-dired' now uses -iname rather than -name +for case-insensitive filesystems. The default behavior is determined +by the value of `read-file-name-completion-ignore-case'; if you don't +like that, customize the value of the new option `find-name-arg'. + +** In Image mode, whenever the displayed image is wider and/or higher +than the window, the usual keys for moving the cursor cause the image +to be scrolled horizontally or vertically instead. + ++** Emacs can use stock icons in the tool bar when compiled with Gtk+. ++However, this feature is disabled by default. To enable it, put ++ ++ (setq icon-map-list '(x-gtk-stock-map)) ++ ++in your .emacs or some other startup file. For more information, see ++the documentation for the two variables icon-map-list and x-gtk-stock-map. ++ +** Scrollbars follow the system theme on Windows XP and later. +Windows XP introduced themed scrollbars, but applications have to take +special steps to use them. Emacs now has the appropriate resources linked +in to make it use the scrollbars from the system theme. + +** focus-follows-mouse defaults to nil on MS Windows. +Previously this variable was incorrectly documented as having no effect +on MS Windows, and the default was inappropriate for the majority of +Windows installations. Users of software which modifies the behaviour of +Windows to cause focus to follow the mouse will now need to explicitly set +this variable. + +** `bad-packages-alist' will warn about external packages that are known +to cause problems in this version of Emacs. + +** The values of `dired-recursive-deletes' and `dired-recursive-copies' +have been changed to `top'. This means that the user is asked once, +before deleting/copying the indicated directory recursively. + +** `browse-url-emacs' loads a URL into an Emacs buffer. Handy for *.el URLs. + +** The command gdba has been removed as gdb works now for those cases where it +was needed. In text command mode, if you have problems before execution has +started, use M-x gud-gdb. + +** desktop.el now detects conflicting uses of the desktop file. +When loading the desktop, desktop.el can now detect that the file is already +in use. The default behavior is to ask the user what to do, but you can +customize it with the new option `desktop-load-locked-desktop'. When saving, +desktop.el warns about attempts to overwrite a desktop file if it determines +that the desktop being saved is not an update of the one on disk. + +** Compilation mode now correctly respects the value of +`compilation-scroll-output' between invocations. Previously, output +was mistakenly scrolled on compiles after the first. Customize +`compilation-scroll-output' if you want to retain the scrolling. + +* New Modes and Packages in Emacs 22.2 + +** bibtex-style-mode helps you write BibTeX's *.bst files. + +** The new package css-mode.el provides a major mode for editing CSS files. + +** The new package vera-mode.el provides a major mode for editing Vera files. + +** The new package verilog-mode.el provides a major mode for editing Verilog files. + +** The new package socks.el implements the SOCKS v5 protocol. + +** VC + +*** VC backends can provide completion of revision names. + +*** VC backends can provide extra menu entries to be added to the "Version Control" menu. +This can be used to add menu entries for backend specific functions. + +*** VC has some support for Mercurial (Hg). + +*** VC has some support for Monotone (Mtn). + +*** VC has some support for Bazaar (Bzr). + +*** VC has some support for Git. + +* Incompatible Lisp Changes in Emacs 22.2 + +** shell.el no longer defines the aliases `dirtrack-toggle' and +`dirtrack-mode' for `shell-dirtrack-mode'. These names were removed +because they clash with commands provided by dirtrack.el. Use +`shell-dirtrack-mode' instead. + +* Lisp Changes in Emacs 22.2. + +** Frame-local variables are deprecated and are slated for removal. +Use frame parameters instead. + +** The function invisible-p returns non-nil if the character +after a specified position is invisible. + ++++ +** inhibit-modification-hooks is bound to t while running modification hooks. +As a happy consequence, after-change-functions and before-change-functions +are not bound to nil any more while running an (after|before)-change-function. + +** New function `window-full-width-p' returns t if a window is as wide +as its frame. + +** The new function `image-refresh' refreshes all images associated +with a given image specification. + +** The new function `combine-and-quote-strings' concatenates a list of strings +using a specified separator. If a string contains double quotes, they +are escaped in the output. + +** The new function `split-string-and-unquote' performs the inverse operation to +`combine-and-quote-strings', i.e. splits a single string into a list +of strings, undoing any quoting added by `combine-and-quote-strings'. +(For some separator/string combinations, the original strings cannot +be recovered.) + ++* Systems that will not be supported in the future ++configure will print a warning and exit for a set of systems that are ++believed to not be in use anymore. The support has not been removed ++yet, but configure will need to be edited in order to allow ++compilation to proceed on such a system. If you are using such a ++system, please send a message to emacs-devel@gnu.org in order to take ++off the list of systems. ++ + +* Installation Changes in Emacs 22.1 + +** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk' +when you run configure. This requires Gtk+ 2.4 or newer. This port +provides a way to display multilingual text in menus (with some caveats). + +** The Emacs Lisp Reference Manual is now part of the distribution. + +The Emacs Lisp Reference Manual in Info format is built as part of the +Emacs build procedure and installed together with the Emacs User +Manual. A menu item was added to the menu bar to make it easily +accessible (Help->More Manuals->Emacs Lisp Reference). + +** The Introduction to Programming in Emacs Lisp manual is now part of +the distribution. + +This manual is now part of the standard distribution and is installed, +together with the Emacs User Manual, into the Info directory. A menu +item was added to the menu bar to make it easily accessible +(Help->More Manuals->Introduction to Emacs Lisp). + +** Leim is now part of the Emacs distribution. +You no longer need to download a separate tarball in order to build +Emacs with Leim. + +** Support for MacOS X was added. +See the files mac/README and mac/INSTALL for build instructions. + +** Mac OS 9 port now uses the Carbon API by default. You can also +create a non-Carbon build by specifying `NonCarbon' as a target. See +the files mac/README and mac/INSTALL for build instructions. + +** Support for a Cygwin build of Emacs was added. + +** Support for GNU/Linux systems on X86-64 machines was added. + +** Support for GNU/Linux systems on S390 machines was added. + +** Support for GNU/Linux systems on Tensilica Xtensa machines was added. + +** Support for FreeBSD/Alpha has been added. + +** New translations of the Emacs Tutorial are available in the +following languages: Brasilian Portuguese, Bulgarian, Chinese (both +with simplified and traditional characters), French, Russian, and +Italian. Type `C-u C-h t' to choose one of them in case your language +setup doesn't automatically select the right one. + +** New translations of the Emacs reference card are available in the +Brasilian Portuguese and Russian. The corresponding PostScript files +are also included. + +** A French translation of the `Emacs Survival Guide' is available. + +** Emacs now supports new configure options `--program-prefix', +`--program-suffix' and `--program-transform-name' that affect the names of +installed programs. + +** By default, Emacs now uses a setgid helper program to update game +scores. The directory ${localstatedir}/games/emacs is the normal +place for game scores to be stored. You can control this with the +configure option `--with-game-dir'. The specific user that Emacs uses +to own the game scores is controlled by `--with-game-user'. If access +to a game user is not available, then scores will be stored separately +in each user's home directory. + +** Emacs now includes support for loading image libraries on demand. +(Currently this feature is only used on MS Windows.) You can configure +the supported image types and their associated dynamic libraries by +setting the variable `image-library-alist'. + +** Emacs can now be built without sound support. + +** Emacs Lisp source files are compressed by default if `gzip' is available. + +** All images used in Emacs have been consolidated in etc/images and subdirs. +See also the changes to `find-image', documented below. + +** Emacs comes with a new set of icons. +These icons are displayed on the taskbar and/or titlebar when Emacs +runs in a graphical environment. Source files for these icons can be +found in etc/images/icons. (You can't change the icons displayed by +Emacs by changing these files directly. On X, the icon is compiled +into the Emacs executable; see gnu.h in the source tree. On MS +Windows, see nt/icons/emacs.ico.) + +** The `emacsserver' program has been removed, replaced with Lisp code. + +** The `yow' program has been removed. +Use the corresponding Emacs feature instead. + +** The Emacs terminal emulation in term.el uses a different terminfo name. +The Emacs terminal emulation in term.el now uses "eterm-color" as its +terminfo name, since term.el now supports color. + +** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the +contents of buffers from a core dump and save them to files easily, should +Emacs crash. + +** Building with -DENABLE_CHECKING does not automatically build with union +types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. + +** When pure storage overflows while dumping, Emacs now prints how +much pure storage it will approximately need. + + +* Startup Changes in Emacs 22.1 + +** Init file changes +If the init file ~/.emacs does not exist, Emacs will try +~/.emacs.d/init.el or ~/.emacs.d/init.elc. Likewise, if the shell init file +~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh. + +** Emacs can now be invoked in full-screen mode on a windowed display. +When Emacs is invoked on a window system, the new command-line options +`--fullwidth', `--fullheight', and `--fullscreen' produce a frame +whose width, height, or both width and height take up the entire +screen size. (For now, this does not work with some window managers.) + +** Emacs now displays a splash screen by default even if command-line +arguments were given. The new command-line option --no-splash +disables the splash screen; see also the variable +`inhibit-splash-screen' (which is also aliased as +`inhibit-startup-message'). + +** New user option `inhibit-startup-buffer-menu'. +When loading many files, for instance with `emacs *', Emacs normally +displays a buffer menu. This option turns the buffer menu off. + +** New command line option -nbc or --no-blinking-cursor disables +the blinking cursor on graphical terminals. + +** The option --script FILE runs Emacs in batch mode and loads FILE. +It is useful for writing Emacs Lisp shell script files, because they +can start with this line: + + #!/usr/bin/emacs --script + +** The -f option, used from the command line to call a function, +now reads arguments for the function interactively if it is +an interactively callable function. + +** The option --directory DIR now modifies `load-path' immediately. +Directories are added to the front of `load-path' in the order they +appear on the command line. For example, with this command line: + + emacs -batch -L .. -L /tmp --eval "(require 'foo)" + +Emacs looks for library `foo' in the parent directory, then in /tmp, then +in the other directories in `load-path'. (-L is short for --directory.) + +** When you specify a frame size with --geometry, the size applies to +all frames you create. A position specified with --geometry only +affects the initial frame. + +** Emacs built for MS-Windows now behaves like Emacs on X does, +with respect to its frame position: if you don't specify a position +(in your .emacs init file, in the Registry, or with the --geometry +command-line option), Emacs leaves the frame position to the Windows' +window manager. + +** The command line option --no-windows has been changed to +--no-window-system. The old one still works, but is deprecated. + +** If the environment variable DISPLAY specifies an unreachable X display, +Emacs will now startup as if invoked with the --no-window-system option. + +** Emacs now reads the standard abbrevs file ~/.abbrev_defs +automatically at startup, if it exists. When Emacs offers to save +modified buffers, it saves the abbrevs too if they have changed. It +can do this either silently or asking for confirmation first, +according to the value of `save-abbrevs'. + +** New command line option -Q or --quick. +This is like using -q --no-site-file, but in addition it also disables +the fancy startup screen. + +** New command line option -D or --basic-display. +Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and +the blinking cursor. + +** The default is now to use a bitmap as the icon. +The command-line options --icon-type, -i have been replaced with +options --no-bitmap-icon, -nbi to turn the bitmap icon off. + +** If the environment variable EMAIL is defined, Emacs now uses its value +to compute the default value of `user-mail-address', in preference to +concatenation of `user-login-name' with the name of your host machine. + + +* Incompatible Editing Changes in Emacs 22.1 + +** You can now follow links by clicking Mouse-1 on the link. + +See below for more details. + +** When the undo information of the current command gets really large +(beyond the value of `undo-outer-limit'), Emacs discards it and warns +you about it. + +** When Emacs prompts for file names, SPC no longer completes the file name. +This is so filenames with embedded spaces could be input without the +need to quote the space with a C-q. The underlying changes in the +keymaps that are active in the minibuffer are described below under +"New keymaps for typing file names". + +If you want the old behavior back, add these two key bindings to your +~/.emacs init file: + + (define-key minibuffer-local-filename-completion-map + " " 'minibuffer-complete-word) + (define-key minibuffer-local-must-match-filename-map + " " 'minibuffer-complete-word) + +** The completion commands TAB, SPC and ? in the minibuffer apply only +to the text before point. If there is text in the buffer after point, +it remains unchanged. + +** In incremental search, C-w is changed. M-%, C-M-w and C-M-y are special. + +See below under "incremental search changes". + +** M-g is now a prefix key. +M-g g and M-g M-g run goto-line. +M-g n and M-g M-n run next-error (like C-x `). +M-g p and M-g M-p run previous-error. + +** C-u M-g M-g switches to the most recent previous buffer, +and goes to the specified line in that buffer. + +When goto-line starts to execute, if there's a number in the buffer at +point then it acts as the default argument for the minibuffer. + +** M-o now is the prefix key for setting text properties; +M-o M-o requests refontification. + +** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer +a special case. + +Since the default input is the current directory, this has the effect +of specifying the current directory. Normally that means to visit the +directory with Dired. + +You can get the old behavior by typing C-x C-f M-n RET, which fetches +the actual file name into the minibuffer. + +** In Dired's ! command (dired-do-shell-command), `*' and `?' now +control substitution of the file names only when they are surrounded +by whitespace. This means you can now use them as shell wildcards +too. If you want to use just plain `*' as a wildcard, type `*""'; the +doublequotes make no difference in the shell, but they prevent +special treatment in `dired-do-shell-command'. + +** The info-search bindings on C-h C-f, C-h C-k and C-h C-i +have been moved to C-h F, C-h K and C-h S. + +** `apply-macro-to-region-lines' now operates on all lines that begin +in the region, rather than on all complete lines in the region. + +** line-move-ignore-invisible now defaults to t. + +** Adaptive filling misfeature removed. +It no longer treats `NNN.' or `(NNN)' as a prefix. + +** The old bindings C-M-delete and C-M-backspace have been deleted, +since there are situations where one or the other will shut down +the operating system or your X server. + +** The register compatibility key bindings (deprecated since Emacs 19) +have been removed: + C-x / point-to-register (Use: C-x r SPC) + C-x j jump-to-register (Use: C-x r j) + C-x x copy-to-register (Use: C-x r s) + C-x g insert-register (Use: C-x r i) + + +* Editing Changes in Emacs 22.1 + +** The max size of buffers and integers has been doubled. +On 32bit machines, it is now 256M (i.e. 268435455). + +** !MEM FULL! at the start of the mode line indicates that Emacs +cannot get any more memory for Lisp data. This often means it could +crash soon if you do things that use more memory. On most systems, +killing buffers will get out of this state. If killing buffers does +not make !MEM FULL! disappear, you should save your work and start +a new Emacs. + +** `undo-only' does an undo which does not redo any previous undo. + +** Yanking text now discards certain text properties that can +be inconvenient when you did not expect them. The variable +`yank-excluded-properties' specifies which ones. Insertion +of register contents and rectangles also discards these properties. + +** New command `kill-whole-line' kills an entire line at once. +By default, it is bound to C-S-. + +** M-SPC (just-one-space) when given a numeric argument N +converts whitespace around point to N spaces. + +** You can now switch buffers in a cyclic order with C-x C-left +(previous-buffer) and C-x C-right (next-buffer). C-x left and +C-x right can be used as well. The functions keep a different buffer +cycle for each frame, using the frame-local buffer list. + +** C-x 5 C-o displays a specified buffer in another frame +but does not switch to that frame. It's the multi-frame +analogue of C-x 4 C-o. + +** `special-display-buffer-names' and `special-display-regexps' now +understand two new boolean pseudo-frame-parameters `same-frame' and +`same-window'. + +** New commands to operate on pairs of open and close characters: +`insert-pair', `delete-pair', `raise-sexp'. + +** M-x setenv now expands environment variable references. + +Substrings of the form `$foo' and `${foo}' in the specified new value +now refer to the value of environment variable foo. To include a `$' +in the value, use `$$'. + +** The default values of paragraph-start and indent-line-function have +been changed to reflect those used in Text mode rather than those used +in Paragraph-Indent Text mode. + +** The default for the paper size (variable ps-paper-type) is taken +from the locale. + +** Help command changes: + +*** Changes in C-h bindings: + +C-h e displays the *Messages* buffer. + +C-h d runs apropos-documentation. + +C-h r visits the Emacs Manual in Info. + +C-h followed by a control character is used for displaying files + that do not change: + +C-h C-f displays the FAQ. +C-h C-e displays the PROBLEMS file. + +The info-search bindings on C-h C-f, C-h C-k and C-h C-i +have been moved to C-h F, C-h K and C-h S. + +C-h c, C-h k, C-h w, and C-h f now handle remapped interactive commands. +- C-h c and C-h k report the actual command (after possible remapping) + run by the key sequence. +- C-h w and C-h f on a command which has been remapped now report the + command it is remapped to, and the keys which can be used to run + that command. + +For example, if C-k is bound to kill-line, and kill-line is remapped +to new-kill-line, these commands now report: +- C-h c and C-h k C-k reports: + C-k runs the command new-kill-line +- C-h w and C-h f kill-line reports: + kill-line is remapped to new-kill-line which is on C-k, +- C-h w and C-h f new-kill-line reports: + new-kill-line is on C-k + +*** The apropos commands now accept a list of words to match. +When more than one word is specified, at least two of those words must +be present for an item to match. Regular expression matching is still +available. + +*** The new option `apropos-sort-by-scores' causes the matching items +to be sorted according to their score. The score for an item is a +number calculated to indicate how well the item matches the words or +regular expression that you entered to the apropos command. The best +match is listed first, and the calculated score is shown for each +matching item. + +*** Help commands `describe-function' and `describe-key' now show function +arguments in lowercase italics on displays that support it. To change the +default, customize face `help-argument-name' or redefine the function +`help-default-arg-highlight'. + +*** C-h v and C-h f commands now include a hyperlink to the C source for +variables and functions defined in C (if the C source is available). + +*** Help mode now only makes hyperlinks for faces when the face name is +preceded or followed by the word `face'. It no longer makes +hyperlinks for variables without variable documentation, unless +preceded by one of the words `variable' or `option'. It now makes +hyperlinks to Info anchors (or nodes) if the anchor (or node) name is +enclosed in single quotes and preceded by `info anchor' or `Info +anchor' (in addition to earlier `info node' and `Info node'). In +addition, it now makes hyperlinks to URLs as well if the URL is +enclosed in single quotes and preceded by `URL'. + +*** The new command `describe-char' (C-u C-x =) pops up a buffer with +description various information about a character, including its +encodings and syntax, its text properties, how to input, overlays, and +widgets at point. You can get more information about some of them, by +clicking on mouse-sensitive areas or moving there and pressing RET. + +*** The command `list-text-properties-at' has been deleted because +C-u C-x = gives the same information and more. + +*** New command `display-local-help' displays any local help at point +in the echo area. It is bound to `C-h .'. It normally displays the +same string that would be displayed on mouse-over using the +`help-echo' property, but, in certain cases, it can display a more +keyboard oriented alternative. + +*** New user option `help-at-pt-display-when-idle' allows you to +automatically show the help provided by `display-local-help' on +point-over, after suitable idle time. The amount of idle time is +determined by the user option `help-at-pt-timer-delay' and defaults +to one second. This feature is turned off by default. + +** Mark command changes: + +*** A prefix argument is no longer required to repeat a jump to a +previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u +C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC +to set the mark immediately after a jump. + +*** Marking commands extend the region when invoked multiple times. + +If you type C-M-SPC (mark-sexp), M-@ (mark-word), M-h +(mark-paragraph), or C-M-h (mark-defun) repeatedly, the marked region +extends each time, so you can mark the next two sexps with M-C-SPC +M-C-SPC, for example. This feature also works for +mark-end-of-sentence, if you bind that to a key. It also extends the +region when the mark is active in Transient Mark mode, regardless of +the last command. To start a new region with one of marking commands +in Transient Mark mode, you can deactivate the active region with C-g, +or set the new mark with C-SPC. + +*** Some commands do something special in Transient Mark mode when the +mark is active--for instance, they limit their operation to the +region. Even if you don't normally use Transient Mark mode, you might +want to get this behavior from a particular command. There are two +ways you can enable Transient Mark mode and activate the mark, for one +command only. + +One method is to type C-SPC C-SPC; this enables Transient Mark mode +and sets the mark at point. The other method is to type C-u C-x C-x. +This enables Transient Mark mode temporarily but does not alter the +mark or the region. + +After these commands, Transient Mark mode remains enabled until you +deactivate the mark. That typically happens when you type a command +that alters the buffer, but you can also deactivate the mark by typing +C-g. + +*** Movement commands `beginning-of-buffer', `end-of-buffer', +`beginning-of-defun', `end-of-defun' do not set the mark if the mark +is already active in Transient Mark mode. + +*** M-h (mark-paragraph) now accepts a prefix arg. + +With positive arg, M-h marks the current and the following paragraphs; +if the arg is negative, it marks the current and the preceding +paragraphs. + +** Incremental Search changes: + +*** M-% typed in isearch mode invokes `query-replace' or +`query-replace-regexp' (depending on search mode) with the current +search string used as the string to replace. + +*** C-w in incremental search now grabs either a character or a word, +making the decision in a heuristic way. This new job is done by the +command `isearch-yank-word-or-char'. To restore the old behavior, +bind C-w to `isearch-yank-word' in `isearch-mode-map'. + +*** C-y in incremental search now grabs the next line if point is already +at the end of a line. + +*** C-M-w deletes and C-M-y grabs a character in isearch mode. +Another method to grab a character is to enter the minibuffer by `M-e' +and to type `C-f' at the end of the search string in the minibuffer. + +*** Vertical scrolling is now possible within incremental search. +To enable this feature, customize the new user option +`isearch-allow-scroll'. User written commands which satisfy stringent +constraints can be marked as "scrolling commands". See the Emacs manual +for details. + +*** Isearch no longer adds `isearch-resume' commands to the command +history by default. To enable this feature, customize the new +user option `isearch-resume-in-command-history'. + +** Replace command changes: + +*** When used interactively, the commands `query-replace-regexp' and +`replace-regexp' allow \,expr to be used in a replacement string, +where expr is an arbitrary Lisp expression evaluated at replacement +time. `\#' in a replacement string now refers to the count of +replacements already made by the replacement command. All regular +expression replacement commands now allow `\?' in the replacement +string to specify a position where the replacement string can be +edited for each replacement. `query-replace-regexp-eval' is now +deprecated since it offers no additional functionality. + +*** query-replace uses isearch lazy highlighting when the new user option +`query-replace-lazy-highlight' is non-nil. + +*** The current match in query-replace is highlighted in new face +`query-replace' which by default inherits from isearch face. + +*** New user option `query-replace-skip-read-only': when non-nil, +`query-replace' and related functions simply ignore +a match if part of it has a read-only property. + +** Local variables lists: + +*** If the local variables list contains any variable-value pairs that +are not known to be safe, Emacs shows a prompt asking whether to apply +the local variables list as a whole. In earlier versions, a prompt +was only issued for variables explicitly marked as risky (for the +definition of risky variables, see `risky-local-variable-p'). + +At the prompt, you can choose to save the contents of this local +variables list to `safe-local-variable-values'. This new customizable +option is a list of variable-value pairs that are known to be safe. +Variables can also be marked as safe with the existing +`safe-local-variable' property (see `safe-local-variable-p'). +However, risky variables will not be added to +`safe-local-variable-values' in this way. + +*** The variable `enable-local-variables' controls how local variable +lists are handled. t, the default, specifies the standard querying +behavior. :safe means use only safe values, and ignore the rest. +:all means set all variables, whether or not they are safe. +nil means ignore them all. Anything else means always query. + +*** The variable `safe-local-eval-forms' specifies a list of forms that +are ok to evaluate when they appear in an `eval' local variables +specification. Normally Emacs asks for confirmation before evaluating +such a form, but if the form appears in this list, no confirmation is +needed. + +*** If a function has a non-nil `safe-local-eval-function' property, +that means it is ok to evaluate some calls to that function when it +appears in an `eval' local variables specification. If the property +is t, then any form calling that function with constant arguments is +ok. If the property is a function or list of functions, they are called +with the form as argument, and if any returns t, the form is ok to call. + +If the form is not "ok to call", that means Emacs asks for +confirmation as before. + +*** In processing a local variables list, Emacs strips the prefix and +suffix from every line before processing all the lines. + +*** Text properties in local variables. + +A file local variables list cannot specify a string with text +properties--any specified text properties are discarded. + +** File operation changes: + +*** Unquoted `$' in file names do not signal an error any more when +the corresponding environment variable does not exist. +Instead, the `$ENVVAR' text is left as is, so that `$$' quoting +is only rarely needed. + +*** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case. + +Since the default input is the current directory, this has the effect +of specifying the current directory. Normally that means to visit the +directory with Dired. + +*** C-x s (save-some-buffers) now offers an option `d' to diff a buffer +against its file, so you can see what changes you would be saving. + +*** Auto Compression mode is now enabled by default. + +*** If the user visits a file larger than `large-file-warning-threshold', +Emacs asks for confirmation. + +*** The commands copy-file, rename-file, make-symbolic-link and +add-name-to-file, when given a directory as the "new name" argument, +convert it to a file name by merging in the within-directory part of +the existing file's name. (This is the same convention that shell +commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET +/tmp RET copies ~/foo to /tmp/foo. + +*** require-final-newline now has two new possible values: + +`visit' means add a newline (as an undoable change) if it's needed +when visiting the file. + +`visit-save' means add a newline (as an undoable change) if it's +needed when visiting the file, and also add a newline if it's needed +when saving the file. + +*** The new option mode-require-final-newline controls how certain +major modes enable require-final-newline. Any major mode that's +designed for a kind of file that should normally end in a newline +sets require-final-newline based on mode-require-final-newline. +So you can customize mode-require-final-newline to control what these +modes do. + +*** When you are root, and you visit a file whose modes specify +read-only, the Emacs buffer is now read-only too. Type C-x C-q if you +want to make the buffer writable. (As root, you can in fact alter the +file.) + +*** find-file-read-only visits multiple files in read-only mode, +when the file name contains wildcard characters. + +*** find-alternate-file replaces the current file with multiple files, +when the file name contains wildcard characters. It now asks if you +wish save your changes and not just offer to kill the buffer. + +*** When used interactively, `format-write-file' now asks for confirmation +before overwriting an existing file, unless a prefix argument is +supplied. This behavior is analogous to `write-file'. + +*** The variable `auto-save-file-name-transforms' now has a third element that +controls whether or not the function `make-auto-save-file-name' will +attempt to construct a unique auto-save name (e.g. for remote files). + +*** The new option `write-region-inhibit-fsync' disables calls to fsync +in `write-region'. This can be useful on laptops to avoid spinning up +the hard drive upon each file save. Enabling this variable may result +in data loss, use with care. + +** Minibuffer changes: + +*** The completion commands TAB, SPC and ? in the minibuffer apply only +to the text before point. If there is text in the buffer after point, +it remains unchanged. + +*** The new file-name-shadow-mode is turned ON by default, so that when +entering a file name, any prefix which Emacs will ignore is dimmed. + +*** There's a new face `minibuffer-prompt'. +Emacs adds this face to the list of text properties stored in the +variable `minibuffer-prompt-properties', which is used to display the +prompt string. + +*** Enhanced visual feedback in `*Completions*' buffer. + +Completions lists use faces to highlight what all completions +have in common and where they begin to differ. + +The common prefix shared by all possible completions uses the face +`completions-common-part', while the first character that isn't the +same uses the face `completions-first-difference'. By default, +`completions-common-part' inherits from `default', and +`completions-first-difference' inherits from `bold'. The idea of +`completions-common-part' is that you can use it to make the common +parts less visible than normal, so that the rest of the differing +parts is, by contrast, slightly highlighted. + +Above fontification is always done when listing completions is +triggered at minibuffer. If you want to fontify completions whose +listing is triggered at the other normal buffer, you have to pass +the common prefix of completions to `display-completion-list' as +its second argument. + +*** File-name completion can now ignore specified directories. +If an element of the list in `completion-ignored-extensions' ends in a +slash `/', it indicates a subdirectory that should be ignored when +completing file names. Elements of `completion-ignored-extensions' +which do not end in a slash are never considered when a completion +candidate is a directory. + +*** New user option `history-delete-duplicates'. +If set to t when adding a new history element, all previous identical +elements are deleted from the history list. + +** Redisplay changes: + +*** The new face `mode-line-inactive' is used to display the mode line +of non-selected windows. The `mode-line' face is now used to display +the mode line of the currently selected window. + +The new variable `mode-line-in-non-selected-windows' controls whether +the `mode-line-inactive' face is used. + +*** The mode line position information now comes before the major mode. +When the file is maintained under version control, that information +appears between the position information and the major mode. + +*** You can now customize the use of window fringes. To control this +for all frames, use M-x fringe-mode or the Show/Hide submenu of the +top-level Options menu, or customize the `fringe-mode' variable. To +control this for a specific frame, use the command M-x +set-fringe-style. + +*** Angle icons in the fringes can indicate the buffer boundaries. In +addition, up and down arrow bitmaps in the fringe indicate which ways +the window can be scrolled. + +This behavior is activated by setting the buffer-local variable +`indicate-buffer-boundaries' to a non-nil value. The default value of +this variable is found in `default-indicate-buffer-boundaries'. + +If value is `left' or `right', both angle and arrow bitmaps are +displayed in the left or right fringe, resp. + +The value can also be an alist which specifies the presence and +position of each bitmap individually. + +For example, ((top . left) (t . right)) places the top angle bitmap +in left fringe, the bottom angle bitmap in right fringe, and both +arrow bitmaps in right fringe. To show just the angle bitmaps in the +left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)). + +*** On window systems, lines which are exactly as wide as the window +(not counting the final newline character) are no longer broken into +two lines on the display (with just the newline on the second line). +Instead, the newline now "overflows" into the right fringe, and the +cursor will be displayed in the fringe when positioned on that newline. + +The new user option 'overflow-newline-into-fringe' can be set to nil to +revert to the old behavior of continuing such lines. + +*** A window can now have individual fringe and scroll-bar settings, +in addition to the individual display margin settings. + +Such individual settings are now preserved when windows are split +horizontally or vertically, a saved window configuration is restored, +or when the frame is resized. + +*** When a window has display margin areas, the fringes are now +displayed between the margins and the buffer's text area, rather than +outside those margins. + +*** New face `escape-glyph' highlights control characters and escape glyphs. + +*** Non-breaking space and hyphens are now displayed with a special +face, either nobreak-space or escape-glyph. You can turn this off or +specify a different mode by setting the variable `nobreak-char-display'. + +*** The parameters of automatic hscrolling can now be customized. +The variable `hscroll-margin' determines how many columns away from +the window edge point is allowed to get before automatic hscrolling +will horizontally scroll the window. The default value is 5. + +The variable `hscroll-step' determines how many columns automatic +hscrolling scrolls the window when point gets too close to the +window edge. If its value is zero, the default, Emacs scrolls the +window so as to center point. If its value is an integer, it says how +many columns to scroll. If the value is a floating-point number, it +gives the fraction of the window's width to scroll the window. + +The variable `automatic-hscrolling' was renamed to +`auto-hscroll-mode'. The old name is still available as an alias. + +*** Moving or scrolling through images (and other lines) taller than +the window now works sensibly, by automatically adjusting the window's +vscroll property. + +*** Preemptive redisplay now adapts to current load and bandwidth. + +To avoid preempting redisplay on fast computers, networks, and displays, +the arrival of new input is now performed at regular intervals during +redisplay. The new variable `redisplay-preemption-period' specifies +the period; the default is to check for input every 0.1 seconds. + +*** The %c and %l constructs are now ignored in frame-title-format. +Due to technical limitations in how Emacs interacts with windowing +systems, these constructs often failed to render properly, and could +even cause Emacs to crash. + +*** If value of `auto-resize-tool-bars' is `grow-only', the tool bar +will expand as needed, but not contract automatically. To contract +the tool bar, you must type C-l. + +*** New customize option `overline-margin' controls the space between +overline and text. + +*** New variable `x-underline-at-descent-line' controls the relative +position of the underline. When set, it overrides the +`x-use-underline-position-properties' variables. + +** New faces: + +*** `mode-line-highlight' is the standard face indicating mouse sensitive +elements on mode-line (and header-line) like `highlight' face on text +areas. + +*** `mode-line-buffer-id' is the standard face for buffer identification +parts of the mode line. + +*** `shadow' face defines the appearance of the "shadowed" text, i.e. +the text which should be less noticeable than the surrounding text. +This can be achieved by using shades of grey in contrast with either +black or white default foreground color. This generic shadow face +allows customization of the appearance of shadowed text in one place, +so package-specific faces can inherit from it. + +*** `vertical-border' face is used for the vertical divider between windows. + +** Font-Lock (syntax highlighting) changes: + +*** All modes now support using M-x font-lock-mode to toggle +fontification, even those such as Occur, Info, and comint-derived +modes that do their own fontification in a special way. + +The variable `Info-fontify' is no longer applicable; to disable +fontification in Info, remove `turn-on-font-lock' from +`Info-mode-hook'. + +*** New standard font-lock face `font-lock-comment-delimiter-face'. + +*** New standard font-lock face `font-lock-preprocessor-face'. + +*** Easy to overlook single character negation can now be font-locked. +You can use the new variable `font-lock-negation-char-face' and the face of +the same name to customize this. Currently the cc-modes, sh-script-mode, +cperl-mode and make-mode support this. + +*** Font-Lock mode: in major modes such as Lisp mode, where some Emacs +features assume that an open-paren in column 0 is always outside of +any string or comment, Font-Lock now highlights any such open-paren in +bold-red if it is inside a string or a comment, to indicate that it +can cause trouble. You should rewrite the string or comment so that +the open-paren is not in column 0. + +*** M-o now is the prefix key for setting text properties; +M-o M-o requests refontification. + +*** The default settings for JIT stealth lock parameters are changed. +The default value for the user option jit-lock-stealth-time is now nil +instead of 3. This setting of jit-lock-stealth-time disables stealth +fontification: on today's machines, it may be a bug in font lock +patterns if fontification otherwise noticeably degrades interactivity. +If you find movement in infrequently visited buffers sluggish (and the +major mode maintainer has no better idea), customizing +jit-lock-stealth-time to a non-nil value will let Emacs fontify +buffers in the background when it considers the system to be idle. +jit-lock-stealth-nice is now 0.5 instead of 0.125 which is supposed to +cause less load than the old defaults. + +*** jit-lock can now be delayed with `jit-lock-defer-time'. + +If this variable is non-nil, its value should be the amount of Emacs +idle time in seconds to wait before starting fontification. For +example, if you set `jit-lock-defer-time' to 0.25, fontification will +only happen after 0.25s of idle time. + +*** contextual refontification is now separate from stealth fontification. + +jit-lock-defer-contextually is renamed jit-lock-contextually and +jit-lock-context-time determines the delay after which contextual +refontification takes place. + +*** lazy-lock is considered obsolete. + +The `lazy-lock' package is superseded by `jit-lock' and is considered +obsolete. `jit-lock' is activated by default; if you wish to continue +using `lazy-lock', activate it in your ~/.emacs like this: + (setq font-lock-support-mode 'lazy-lock-mode) + +If you invoke `lazy-lock-mode' directly rather than through +`font-lock-support-mode', it now issues a warning: + "Use font-lock-support-mode rather than calling lazy-lock-mode" + +** Menu support: + +*** A menu item "Show/Hide" was added to the top-level menu "Options". +This menu allows you to turn various display features on and off (such +as the fringes, the tool bar, the speedbar, and the menu bar itself). +You can also move the vertical scroll bar to either side here or turn +it off completely. There is also a menu-item to toggle displaying of +current date and time, current line and column number in the mode-line. + +*** Speedbar has moved from the "Tools" top level menu to "Show/Hide". + +*** The menu item "Open File..." has been split into two items, "New File..." +and "Open File...". "Open File..." now opens only existing files. This is +to support existing GUI file selection dialogs better. + +*** The file selection dialog for Gtk+, Mac, W32 and Motif/LessTif can be +disabled by customizing the variable `use-file-dialog'. + +*** The pop up menus for Lucid now stay up if you do a fast click and can +be navigated with the arrow keys (like Gtk+, Mac and W32). + +*** The menu bar for Motif/LessTif/Lucid/Gtk+ can be navigated with keys. +Pressing F10 shows the first menu in the menu bar. Navigation is done with +the arrow keys, select with the return key and cancel with the escape keys. + +*** The Lucid menus can display multilingual text in your locale. You have +to explicitly specify a fontSet resource for this to work, for example +`-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'. + +*** Dialogs for Lucid/Athena and LessTif/Motif now pop down on pressing +ESC, like they do for Gtk+, Mac and W32. + +*** For the Gtk+ version, you can make Emacs use the old file dialog +by setting the variable `x-gtk-use-old-file-dialog' to t. Default is to use +the new dialog. + +*** You can exit dialog windows and menus by typing C-g. + +** Buffer Menu changes: + +*** The new options `buffers-menu-show-directories' and +`buffers-menu-show-status' let you control how buffers are displayed +in the menu dropped down when you click "Buffers" from the menu bar. + +`buffers-menu-show-directories' controls whether the menu displays +leading directories as part of the file name visited by the buffer. +If its value is `unless-uniquify', the default, directories are +shown unless uniquify-buffer-name-style' is non-nil. The value of nil +and t turn the display of directories off and on, respectively. + +`buffers-menu-show-status' controls whether the Buffers menu includes +the modified and read-only status of the buffers. By default it is +t, and the status is shown. + +Setting these variables directly does not take effect until next time +the Buffers menu is regenerated. + +*** New command `Buffer-menu-toggle-files-only' toggles display of file +buffers only in the Buffer Menu. It is bound to T in Buffer Menu +mode. + +*** `buffer-menu' and `list-buffers' now list buffers whose names begin +with a space, when those buffers are visiting files. Normally buffers +whose names begin with space are omitted. + +** Mouse changes: + +*** You can now follow links by clicking Mouse-1 on the link. + +Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2 +click to follow a link, whereas most other applications use a Mouse-1 +click for both purposes, depending on whether you click outside or +inside a link. Now the behavior of a Mouse-1 click has been changed +to match this context-sensitive dual behavior. (If you prefer the old +behavior, set the user option `mouse-1-click-follows-link' to nil.) + +Depending on the current mode, a Mouse-2 click in Emacs can do much +more than just follow a link, so the new Mouse-1 behavior is only +activated for modes which explicitly mark a clickable text as a "link" +(see the new function `mouse-on-link-p' for details). The Lisp +packages that are included in release 22.1 have been adapted to do +this, but external packages may not yet support this. However, there +is no risk in using such packages, as the worst thing that could +happen is that you get the original Mouse-1 behavior when you click +on a link, which typically means that you set point where you click. + +If you want to get the original Mouse-1 action also inside a link, you +just need to press the Mouse-1 button a little longer than a normal +click (i.e. press and hold the Mouse-1 button for half a second before +you release it). + +Dragging the Mouse-1 inside a link still performs the original +drag-mouse-1 action, typically copy the text. + +You can customize the new Mouse-1 behavior via the new user options +`mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'. + +*** If you set the new variable `mouse-autoselect-window' to a non-nil +value, windows are automatically selected as you move the mouse from +one Emacs window to another, even within a frame. A minibuffer window +can be selected only when it is active. + +*** On X, when the window manager requires that you click on a frame to +select it (give it focus), the selected window and cursor position +normally changes according to the mouse click position. If you set +the variable x-mouse-click-focus-ignore-position to t, the selected +window and cursor position do not change when you click on a frame +to give it focus. + +*** Emacs normally highlights mouse sensitive text whenever the mouse +is over the text. By setting the new variable `mouse-highlight', you +can optionally enable mouse highlighting only after you move the +mouse, so that highlighting disappears when you press a key. You can +also disable mouse highlighting. + +*** You can now customize if selecting a region by dragging the mouse +shall not copy the selected text to the kill-ring by setting the new +variable mouse-drag-copy-region to nil. + +*** Under X, mouse-wheel-mode is turned on by default. + +*** Emacs ignores mouse-2 clicks while the mouse wheel is being moved. + +People tend to push the mouse wheel (which counts as a mouse-2 click) +unintentionally while turning the wheel, so these clicks are now +ignored. You can customize this with the mouse-wheel-click-event and +mouse-wheel-inhibit-click-time variables. + +*** mouse-wheels can now scroll a specific fraction of the window +(rather than a fixed number of lines) and the scrolling is `progressive'. + +** Multilingual Environment (Mule) changes: + +*** You can disable character translation for a file using the -*- +construct. Include `enable-character-translation: nil' inside the +-*-...-*- to disable any character translation that may happen by +various global and per-coding-system translation tables. You can also +specify it in a local variable list at the end of the file. For +shortcut, instead of using this long variable name, you can append the +character "!" at the end of coding-system name specified in -*- +construct or in a local variable list. For example, if a file has the +following header, it is decoded by the coding system `iso-latin-1' +without any character translation: +;; -*- coding: iso-latin-1!; -*- + +*** Language environment and various default coding systems are setup +more correctly according to the current locale name. If the locale +name doesn't specify a charset, the default is what glibc defines. +This change can result in using the different coding systems as +default in some locale (e.g. vi_VN). + +*** The keyboard-coding-system is now automatically set based on your +current locale settings if you are not using a window system. This +can mean that the META key doesn't work but generates non-ASCII +characters instead, depending on how the terminal (or terminal +emulator) works. Use `set-keyboard-coding-system' (or customize +keyboard-coding-system) if you prefer META to work (the old default) +or if the locale doesn't describe the character set actually generated +by the keyboard. See Info node `Unibyte Mode'. + +*** The new command `set-file-name-coding-system' (C-x RET F) sets +coding system for encoding and decoding file names. A new menu item +(Options->Mule->Set Coding Systems->For File Name) invokes this +command. + +*** The new command `revert-buffer-with-coding-system' (C-x RET r) +revisits the current file using a coding system that you specify. + +*** New command `recode-region' decodes the region again by a specified +coding system. + +*** The new command `recode-file-name' changes the encoding of the name +of a file. + +*** New command `ucs-insert' inserts a character specified by its +unicode. + +*** New command quail-show-key shows what key (or key sequence) to type +in the current input method to input a character at point. + +*** Limited support for character `unification' has been added. +Emacs now knows how to translate between different representations of +the same characters in various Emacs charsets according to standard +Unicode mappings. This applies mainly to characters in the ISO 8859 +sets plus some other 8-bit sets, but can be extended. For instance, +translation works amongst the Emacs ...-iso8859-... charsets and the +mule-unicode-... ones. + +By default this translation happens automatically on encoding. +Self-inserting characters are translated to make the input conformant +with the encoding of the buffer in which it's being used, where +possible. + +You can force a more complete unification with the user option +unify-8859-on-decoding-mode. That maps all the Latin-N character sets +into Unicode characters (from the latin-iso8859-1 and +mule-unicode-0100-24ff charsets) on decoding. Note that this mode +will often effectively clobber data with an iso-2022 encoding. + +*** New language environments (set up automatically according to the +locale): Belarusian, Bulgarian, Chinese-EUC-TW, Croatian, Esperanto, +French, Georgian, Italian, Latin-7, Latvian, Lithuanian, Malayalam, +Russian, Russian, Slovenian, Swedish, Tajik, Tamil, UTF-8,Ukrainian, +Welsh,Latin-6, Windows-1255. + +*** New input methods: latin-alt-postfix, latin-postfix, latin-prefix, +belarusian, bulgarian-bds, bulgarian-phonetic, chinese-sisheng (for +Chinese Pinyin characters), croatian, dutch, georgian, latvian-keyboard, +lithuanian-numeric, lithuanian-keyboard, malayalam-inscript, rfc1345, +russian-computer, sgml, slovenian, tamil-inscript, ukrainian-computer, +ucs, vietnamese-telex, welsh. + +*** There is support for decoding Greek and Cyrillic characters into +either Unicode (the mule-unicode charsets) or the iso-8859 charsets, +when possible. The latter are more space-efficient. + This is controlled by user option utf-fragment-on-decoding. + +*** Improved Thai support. A new minor mode `thai-word-mode' (which is +automatically activated if you select Thai as a language +environment) changes key bindings of most word-oriented commands to +versions which recognize Thai words. Affected commands are + M-f (forward-word) + M-b (backward-word) + M-d (kill-word) + M-DEL (backward-kill-word) + M-t (transpose-words) + M-q (fill-paragraph) + +*** Indian support has been updated. +The in-is13194 coding system is now Unicode-based. CDAC fonts are +assumed. There is a framework for supporting various Indian scripts, +but currently only Devanagari, Malayalam and Tamil are supported. + +*** The utf-8/16 coding systems have been enhanced. +By default, untranslatable utf-8 sequences are simply composed into +single quasi-characters. User option `utf-translate-cjk-mode' (it is +turned on by default) arranges to translate many utf-8 CJK character +sequences into real Emacs characters in a similar way to the Mule-UCS +system. As this loads a fairly big data on demand, people who are not +interested in CJK characters may want to customize it to nil. +You can augment/amend the CJK translation via hash tables +`ucs-mule-cjk-to-unicode' and `ucs-unicode-to-mule-cjk'. The utf-8 +coding system now also encodes characters from most of Emacs's +one-dimensional internal charsets, specifically the ISO-8859 ones. +The utf-16 coding system is affected similarly. + +*** A UTF-7 coding system is available in the library `utf-7'. + +*** A new coding system `euc-tw' has been added for traditional Chinese +in CNS encoding; it accepts both Big 5 and CNS as input; on saving, +Big 5 is then converted to CNS. + +*** Many new coding systems are available in the `code-pages' library. +These include complete versions of most of those in codepage.el, based +on Unicode mappings. `codepage-setup' is now obsolete and is used +only in the MS-DOS port of Emacs. All coding systems defined in +`code-pages' are auto-loaded. + +*** New variable `utf-translate-cjk-unicode-range' controls which +Unicode characters to translate in `utf-translate-cjk-mode'. + +*** iso-10646-1 (`Unicode') fonts can be used to display any range of +characters encodable by the utf-8 coding system. Just specify the +fontset appropriately. + +** Customize changes: + +*** Custom themes are collections of customize options. Create a +custom theme with M-x customize-create-theme. Use M-x load-theme to +load and enable a theme, and M-x disable-theme to disable it. Use M-x +enable-theme to enable a disabled theme. + +*** The commands M-x customize-face and M-x customize-face-other-window +now look at the character after point. If a face or faces are +specified for that character, the commands by default customize those +faces. + +*** The face-customization widget has been reworked to be less confusing. +In particular, when you enable a face attribute using the corresponding +check-box, there's no longer a redundant `*' option in value selection +for that attribute; the values you can choose are only those which make +sense for the attribute. When an attribute is de-selected by unchecking +its check-box, then the (now ignored, but still present temporarily in +case you re-select the attribute) value is hidden. + +*** When you set or reset a variable's value in a Customize buffer, +the previous value becomes the "backup value" of the variable. +You can go back to that backup value by selecting "Use Backup Value" +under the "[State]" button. + +** Dired mode: + +*** In Dired's ! command (dired-do-shell-command), `*' and `?' now +control substitution of the file names only when they are surrounded +by whitespace. This means you can now use them as shell wildcards +too. If you want to use just plain `*' as a wildcard, type `*""'; the +double quotes make no difference in the shell, but they prevent +special treatment in `dired-do-shell-command'. + +*** The Dired command `dired-goto-file' is now bound to j, not M-g. +This is to avoid hiding the global key binding of M-g. + +*** New faces dired-header, dired-mark, dired-marked, dired-flagged, +dired-ignored, dired-directory, dired-symlink, dired-warning +introduced for Dired mode instead of font-lock faces. + +*** New Dired command `dired-compare-directories' marks files +with different file attributes in two dired buffers. + +*** New Dired command `dired-do-touch' (bound to T) changes timestamps +of marked files with the value entered in the minibuffer. + +*** In Dired, the w command now stores the current line's file name +into the kill ring. With a zero prefix arg, it stores the absolute file name. + +*** In Dired-x, Omitting files is now a minor mode, dired-omit-mode. + +The mode toggling command is bound to M-o. A new command +dired-mark-omitted, bound to * O, marks omitted files. The variable +dired-omit-files-p is obsoleted, use the mode toggling function +instead. + +*** The variables dired-free-space-program and dired-free-space-args +have been renamed to directory-free-space-program and +directory-free-space-args, and they now apply whenever Emacs puts a +directory listing into a buffer. + +** Comint changes: + +*** The new INSIDE_EMACS environment variable is set to "t" in subshells +running inside Emacs. This supersedes the EMACS environment variable, +which will be removed in a future Emacs release. Programs that need +to know whether they are started inside Emacs should check INSIDE_EMACS +instead of EMACS. + +*** The comint prompt can now be made read-only, using the new user +option `comint-prompt-read-only'. This is not enabled by default, +except in IELM buffers. The read-only status of IELM prompts can be +controlled with the new user option `ielm-prompt-read-only', which +overrides `comint-prompt-read-only'. + +The new commands `comint-kill-whole-line' and `comint-kill-region' +support editing comint buffers with read-only prompts. + +`comint-kill-whole-line' is like `kill-whole-line', but ignores both +read-only and field properties. Hence, it always kill entire +lines, including any prompts. + +`comint-kill-region' is like `kill-region', except that it ignores +read-only properties, if it is safe to do so. This means that if any +part of a prompt is deleted, then the entire prompt must be deleted +and that all prompts must stay at the beginning of a line. If this is +not the case, then `comint-kill-region' behaves just like +`kill-region' if read-only properties are involved: it copies the text +to the kill-ring, but does not delete it. + +*** The new command `comint-insert-previous-argument' in comint-derived +modes (shell-mode, etc.) inserts arguments from previous command lines, +like bash's `ESC .' binding. It is bound by default to `C-c .', but +otherwise behaves quite similarly to the bash version. + +*** `comint-use-prompt-regexp-instead-of-fields' has been renamed +`comint-use-prompt-regexp'. The old name has been kept as an alias, +but declared obsolete. + +** M-x Compile changes: + +*** M-x compile has become more robust and reliable + +Quite a few more kinds of messages are recognized. Messages that are +recognized as warnings or informational come in orange or green, instead of +red. Informational messages are by default skipped with `next-error' +(controlled by `compilation-skip-threshold'). + +Location data is collected on the fly as the *compilation* buffer changes. +This means you could modify messages to make them point to different files. +This also means you can not go to locations of messages you may have deleted. + +The variable `compilation-error-regexp-alist' has now become customizable. If +you had added your own regexps to this, you'll probably need to include a +leading `^', otherwise they'll match anywhere on a line. There is now also a +`compilation-mode-font-lock-keywords' and it nicely handles all the checks +that configure outputs and -o options so you see at a glance where you are. + +The new file etc/compilation.txt gives examples of each type of message. + +*** New user option `compilation-environment'. +This option allows you to specify environment variables for inferior +compilation processes without affecting the environment that all +subprocesses inherit. + +*** New user option `compilation-disable-input'. +If this is non-nil, send end-of-file as compilation process input. + +*** New options `next-error-highlight' and `next-error-highlight-no-select' +specify the method of highlighting of the corresponding source line +in new face `next-error'. + +*** A new minor mode `next-error-follow-minor-mode' can be used in +compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the +modes that can use `next-error'). In this mode, cursor motion in the +buffer causes automatic display in another window of the corresponding +matches, compilation errors, etc. This minor mode can be toggled with +C-c C-f. + +*** When the left fringe is displayed, an arrow points to current message in +the compilation buffer. + +*** The new variable `compilation-context-lines' controls lines of leading +context before the current message. If nil and the left fringe is displayed, +it doesn't scroll the compilation output window. If there is no left fringe, +no arrow is displayed and a value of nil means display the message at the top +of the window. + +** Occur mode changes: + +*** The new command `multi-occur' is just like `occur', except it can +search multiple buffers. There is also a new command +`multi-occur-in-matching-buffers' which allows you to specify the +buffers to search by their filenames or buffer names. Internally, +Occur mode has been rewritten, and now uses font-lock, among other +changes. + +*** You can now use next-error (C-x `) and previous-error to advance to +the next/previous matching line found by M-x occur. + +*** In the *Occur* buffer, `o' switches to it in another window, and +C-o displays the current line's occurrence in another window without +switching to it. + +** Grep changes: + +*** Grep has been decoupled from compilation mode setup. + +There's a new separate package grep.el, with its own submenu and +customization group. + +*** `grep-find' is now also available under the name `find-grep' where +people knowing `find-grep-dired' would probably expect it. + +*** New commands `lgrep' (local grep) and `rgrep' (recursive grep) are +more user-friendly versions of `grep' and `grep-find', which prompt +separately for the regular expression to match, the files to search, +and the base directory for the search. Case sensitivity of the +search is controlled by the current value of `case-fold-search'. + +These commands build the shell commands based on the new variables +`grep-template' (lgrep) and `grep-find-template' (rgrep). + +The files to search can use aliases defined in `grep-files-aliases'. + +Subdirectories listed in `grep-find-ignored-directories' such as those +typically used by various version control systems, like CVS and arch, +are automatically skipped by `rgrep'. + +*** The grep commands provide highlighting support. + +Hits are fontified in green, and hits in binary files in orange. Grep buffers +can be saved and automatically revisited. + +*** New option `grep-highlight-matches' highlights matches in *grep* +buffer. It uses a special feature of some grep programs which accept +--color option to output markers around matches. When going to the next +match with `next-error' the exact match is highlighted in the source +buffer. Otherwise, if `grep-highlight-matches' is nil, the whole +source line is highlighted. + +*** New key bindings in grep output window: +SPC and DEL scrolls window up and down. C-n and C-p moves to next and +previous match in the grep window. RET jumps to the source line of +the current match. `n' and `p' shows next and previous match in +other window, but does not switch buffer. `{' and `}' jumps to the +previous or next file in the grep output. TAB also jumps to the next +file. + +*** M-x grep now tries to avoid appending `/dev/null' to the command line +by using GNU grep `-H' option instead. M-x grep automatically +detects whether this is possible or not the first time it is invoked. +When `-H' is used, the grep command line supplied by the user is passed +unchanged to the system to execute, which allows more complicated +command lines to be used than was possible before. + +*** The new variables `grep-window-height' and `grep-scroll-output' override +the corresponding compilation mode settings, for grep commands only. + +** Cursor display changes: + +*** Emacs can produce an underscore-like (horizontal bar) cursor. +The underscore cursor is set by putting `(cursor-type . hbar)' in +default-frame-alist. It supports variable heights, like the `bar' +cursor does. + +*** The variable `cursor-in-non-selected-windows' can now be set to any +of the recognized cursor types. + +*** Display of hollow cursors now obeys the buffer-local value (if any) +of `cursor-in-non-selected-windows' in the buffer that the cursor +appears in. + +*** On text terminals, the variable `visible-cursor' controls whether Emacs +uses the "very visible" cursor (the default) or the normal cursor. + +*** The X resource cursorBlink can be used to turn off cursor blinking. + +*** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is +now controlled by the variable `blink-cursor-alist'. + +** X Windows Support: + +*** Emacs now supports drag and drop for X. Dropping a file on a window +opens it, dropping text inserts the text. Dropping a file on a dired +buffer copies or moves the file to that directory. + +*** Under X11, it is possible to swap Alt and Meta (and Super and Hyper). +The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym', +and `x-super-keysym' can be used to choose which keysyms Emacs should +use for the modifiers. For example, the following two lines swap +Meta and Alt: + (setq x-alt-keysym 'meta) + (setq x-meta-keysym 'alt) + +*** The X resource useXIM can be used to turn off use of XIM, which can +speed up Emacs with slow networking to the X server. + +If the configure option `--without-xim' was used to turn off use of +XIM by default, the X resource useXIM can be used to turn it on. + +*** The new variable `x-select-request-type' controls how Emacs +requests X selection. The default value is nil, which means that +Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING, +and use the more appropriately result. + +*** The scrollbar under LessTif or Motif has a smoother drag-scrolling. +On the other hand, the size of the thumb does not represent the actual +amount of text shown any more (only a crude approximation of it). + +** Xterm support: + +*** If you enable Xterm Mouse mode, Emacs will respond to mouse clicks +on the mode line, header line and display margin, when run in an xterm. + +*** Improved key bindings support when running in an xterm. +When Emacs is running in an xterm more key bindings are available. +The following should work: +{C,S,C-S,A}-{right,left,up,down,prior,next,delete,insert,F1-12}. +These key bindings work on xterm from X.org 6.8 (and later versions), +they might not work on some older versions of xterm, or on some +proprietary versions. +The various keys generated by xterm when the "modifyOtherKeys" +resource is set are also supported. + +** Character terminal color support changes: + +*** The new command-line option --color=MODE lets you specify a standard +mode for a tty color support. It is meant to be used on character +terminals whose capabilities are not set correctly in the terminal +database, or with terminal emulators which support colors, but don't +set the TERM environment variable to a name of a color-capable +terminal. "emacs --color" uses the same color commands as GNU `ls' +when invoked with "ls --color", so if your terminal can support colors +in "ls --color", it will support "emacs --color" as well. See the +user manual for the possible values of the MODE parameter. + +*** Emacs now supports several character terminals which provide more +than 8 colors. For example, for `xterm', 16-color, 88-color, and +256-color modes are supported. Emacs automatically notes at startup +the extended number of colors, and defines the appropriate entries for +all of these colors. + +*** Emacs now uses the full range of available colors for the default +faces when running on a color terminal, including 16-, 88-, and +256-color xterms. This means that when you run "emacs -nw" on an +88-color or 256-color xterm, you will see essentially the same face +colors as on X. + +*** There's a new support for colors on `rxvt' terminal emulator. + +** ebnf2ps changes: + +*** New option `ebnf-arrow-extra-width' which specify extra width for arrow +shape drawing. +The extra width is used to avoid that the arrowhead and the terminal border +overlap. It depends on `ebnf-arrow-shape' and `ebnf-line-width'. + +*** New option `ebnf-arrow-scale' which specify the arrow scale. +Values lower than 1.0, shrink the arrow. +Values greater than 1.0, expand the arrow. + +* New Modes and Packages in Emacs 22.1 + +** CUA mode is now part of the Emacs distribution. + +The new cua package provides CUA-like keybindings using C-x for +cut (kill), C-c for copy, C-v for paste (yank), and C-z for undo. +With cua, the region can be set and extended using shifted movement +keys (like pc-selection-mode) and typed text replaces the active +region (like delete-selection-mode). Do not enable these modes with +cua-mode. Customize the variable `cua-mode' to enable cua. + +The cua-selection-mode enables the CUA keybindings for the region but +does not change the bindings for C-z/C-x/C-c/C-v. It can be used as a +replacement for pc-selection-mode. + +In addition, cua provides unified rectangle support with visible +rectangle highlighting: Use C-return to start a rectangle, extend it +using the movement commands (or mouse-3), and cut or copy it using C-x +or C-c (using C-w and M-w also works). + +Use M-o and M-c to `open' or `close' the rectangle, use M-b or M-f, to +fill it with blanks or another character, use M-u or M-l to upcase or +downcase the rectangle, use M-i to increment the numbers in the +rectangle, use M-n to fill the rectangle with a numeric sequence (such +as 10 20 30...), use M-r to replace a regexp in the rectangle, and use +M-' or M-/ to restrict command on the rectangle to a subset of the +rows. See the commentary in cua-base.el for more rectangle commands. + +Cua also provides unified support for registers: Use a numeric +prefix argument between 0 and 9, i.e. M-0 .. M-9, for C-x, C-c, and +C-v to cut or copy into register 0-9, or paste from register 0-9. + +The last text deleted (not killed) is automatically stored in +register 0. This includes text deleted by typing text. + +Finally, cua provides a global mark which is set using S-C-space. +When the global mark is active, any text which is cut or copied is +automatically inserted at the global mark position. See the +commentary in cua-base.el for more global mark related commands. + +The features of cua also works with the standard Emacs bindings for +kill, copy, yank, and undo. If you want to use cua mode, but don't +want the C-x, C-c, C-v, and C-z bindings, you can customize the +`cua-enable-cua-keys' variable. + +Note: This version of cua mode is not backwards compatible with older +versions of cua.el and cua-mode.el. To ensure proper operation, you +must remove older versions of cua.el or cua-mode.el as well as the +loading and customization of those packages from the .emacs file. + +** Tramp is now part of the distribution. + +This package is similar to Ange-FTP: it allows you to edit remote +files. But whereas Ange-FTP uses FTP to access the remote host, +Tramp uses a shell connection. The shell connection is always used +for filename completion and directory listings and suchlike, but for +the actual file transfer, you can choose between the so-called +`inline' methods (which transfer the files through the shell +connection using base64 or uu encoding) and the `out-of-band' methods +(which invoke an external copying program such as `rcp' or `scp' or +`rsync' to do the copying). + +Shell connections can be acquired via `rsh', `ssh', `telnet' and also +`su' and `sudo'. Ange-FTP is still supported via the `ftp' method. + +If you want to disable Tramp you should set + + (setq tramp-default-method "ftp") + +Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x +tramp-unload-tramp. + +** The image-dired.el package allows you to easily view, tag and in +other ways manipulate image files and their thumbnails, using dired as +the main interface. Image-Dired provides functionality to generate +simple image galleries. + +** Image files are normally visited in Image mode, which lets you toggle +between viewing the image and viewing the text using C-c C-c. + +** The new python.el package is used to edit Python and Jython programs. + +** The URL package (which had been part of W3) is now part of Emacs. + +** Calc is now part of the Emacs distribution. + +Calc is an advanced desk calculator and mathematical tool written in +Emacs Lisp. The prefix for Calc has been changed to `C-x *' and Calc +can be started with `C-x * *'. The Calc manual is separate from the +Emacs manual; within Emacs, type "C-h i m calc RET" to read the +manual. A reference card is available in `etc/calccard.tex' and +`etc/calccard.ps'. + +** Org mode is now part of the Emacs distribution + +Org mode is a mode for keeping notes, maintaining ToDo lists, and +doing project planning with a fast and effective plain-text system. +It also contains a plain-text table editor with spreadsheet-like +capabilities. + +The Org mode table editor can be integrated into any major mode by +activating the minor mode, Orgtbl mode. + +The documentation for org-mode is in a separate manual; within Emacs, +type "C-h i m org RET" to read that manual. A reference card is +available in `etc/orgcard.tex' and `etc/orgcard.ps'. + +** ERC is now part of the Emacs distribution. + +ERC is a powerful, modular, and extensible IRC client for Emacs. + +To see what modules are available, type +M-x customize-option erc-modules RET. + +To start an IRC session with ERC, type M-x erc, and follow the prompts +for server, port, and nick. + +** Rcirc is now part of the Emacs distribution. + +Rcirc is an Internet relay chat (IRC) client. It supports +simultaneous connections to multiple IRC servers. Each discussion +takes place in its own buffer. For each connection you can join +several channels (many-to-many) and participate in private +(one-to-one) chats. Both channel and private chats are contained in +separate buffers. + +To start an IRC session using the default parameters, type M-x irc. +If you type C-u M-x irc, it prompts you for the server, nick, port and +startup channel parameters before connecting. + +** The new package ibuffer provides a powerful, completely +customizable replacement for buff-menu.el. + +** Newsticker is now part of the Emacs distribution. + +Newsticker asynchronously retrieves headlines (RSS) from a list of news +sites, prepares these headlines for reading, and allows for loading the +corresponding articles in a web browser. Its documentation is in a +separate manual. + +** The wdired.el package allows you to use normal editing commands on Dired +buffers to change filenames, permissions, etc... + +** Ido mode is now part of the Emacs distribution. + +The ido (interactively do) package is an extension of the iswitchb +package to do interactive opening of files and directories in addition +to interactive buffer switching. Ido is a superset of iswitchb (with +a few exceptions), so don't enable both packages. + +** The new global minor mode `file-name-shadow-mode' modifies the way +filenames being entered by the user in the minibuffer are displayed, so +that it's clear when part of the entered filename will be ignored due to +Emacs' filename parsing rules. The ignored portion can be made dim, +invisible, or otherwise less visually noticeable. The display method can +be displayed by customizing the variable `file-name-shadow-properties'. + +** Emacs' keyboard macro facilities have been enhanced by the new +kmacro package. + +Keyboard macros are now defined and executed via the F3 and F4 keys: +F3 starts a macro, F4 ends the macro, and pressing F4 again executes +the last macro. While defining the macro, F3 inserts a counter value +which automatically increments every time the macro is executed. + +There is now a keyboard macro ring which stores the most recently +defined macros. + +The C-x C-k sequence is now a prefix for the kmacro keymap which +defines bindings for moving through the keyboard macro ring, +C-x C-k C-p and C-x C-k C-n, editing the last macro C-x C-k C-e, +manipulating the macro counter and format via C-x C-k C-c, +C-x C-k C-a, and C-x C-k C-f. See the commentary in kmacro.el +for more commands. + +The original macro bindings C-x (, C-x ), and C-x e are still +available, but they now interface to the keyboard macro ring too. + +The C-x e command now automatically terminates the current macro +before calling it, if used while defining a macro. + +In addition, when ending or calling a macro with C-x e, the macro can +be repeated immediately by typing just the `e'. You can customize +this behavior via the variables kmacro-call-repeat-key and +kmacro-call-repeat-with-arg. + +Keyboard macros can now be debugged and edited interactively. +C-x C-k SPC steps through the last keyboard macro one key sequence +at a time, prompting for the actions to take. + +** The new keypad setup package provides several common bindings for +the numeric keypad which is available on most keyboards. The numeric +keypad typically has the digits 0 to 9, a decimal point, keys marked ++, -, /, and *, an Enter key, and a NumLock toggle key. The keypad +package only controls the use of the digit and decimal keys. + +By customizing the variables `keypad-setup', `keypad-shifted-setup', +`keypad-numlock-setup', and `keypad-numlock-shifted-setup', or by +using the function `keypad-setup', you can rebind all digit keys and +the decimal key of the keypad in one step for each of the four +possible combinations of the Shift key state (not pressed/pressed) and +the NumLock toggle state (off/on). + +The choices for the keypad keys in each of the above states are: +`Plain numeric keypad' where the keys generates plain digits, +`Numeric keypad with decimal key' where the character produced by the +decimal key can be customized individually (for internationalization), +`Numeric Prefix Arg' where the keypad keys produce numeric prefix args +for Emacs editing commands, `Cursor keys' and `Shifted Cursor keys' +where the keys work like (shifted) arrow keys, home/end, etc., and +`Unspecified/User-defined' where the keypad keys (kp-0, kp-1, etc.) +are left unspecified and can be bound individually through the global +or local keymaps. + +** The printing package is now part of the Emacs distribution. + +If you enable the printing package by including (require 'printing) in +the .emacs file, the normal Print item on the File menu is replaced +with a Print sub-menu which allows you to preview output through +ghostview, use ghostscript to print (if you don't have a PostScript +printer) or send directly to printer a PostScript code generated by +`ps-print' package. Use M-x pr-help for more information. + +** The new package longlines.el provides a minor mode for editing text +files composed of long lines, based on the `use-hard-newlines' +mechanism. The long lines are broken up by inserting soft newlines, +which are automatically removed when saving the file to disk or +copying into the kill ring, clipboard, etc. By default, Longlines +mode inserts soft newlines automatically during editing, a behavior +referred to as "soft word wrap" in other text editors. This is +similar to Refill mode, but more reliable. To turn the word wrap +feature off, set `longlines-auto-wrap' to nil. + +** SES mode (ses-mode) is a new major mode for creating and editing +spreadsheet files. Besides the usual Emacs features (intuitive command +letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers +viral immunity and import/export of tab-separated values. + +** The new package table.el implements editable, WYSIWYG, embedded +`text tables' in Emacs buffers. It simulates the effect of putting +these tables in a special major mode. The package emulates WYSIWYG +table editing available in modern word processors. The package also +can generate a table source in typesetting and markup languages such +as latex and html from the visually laid out text table. + +** Filesets are collections of files. You can define a fileset in +various ways, such as based on a directory tree or based on +program files that include other program files. + +Once you have defined a fileset, you can perform various operations on +all the files in it, such as visiting them or searching and replacing +in them. + +** The minor mode Reveal mode makes text visible on the fly as you +move your cursor into hidden regions of the buffer. +It should work with any package that uses overlays to hide parts +of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ... + +There is also Global Reveal mode which affects all buffers. + +** New minor mode, Visible mode, toggles invisibility in the current buffer. +When enabled, it makes all invisible text visible. When disabled, it +restores the previous value of `buffer-invisibility-spec'. + +** The new package flymake.el does on-the-fly syntax checking of program +source files. See the Flymake's Info manual for more details. + +** savehist saves minibuffer histories between sessions. +To use this feature, turn on savehist-mode in your `.emacs' file. + +** The ruler-mode.el library provides a minor mode for displaying an +"active" ruler in the header line. You can use the mouse to visually +change the `fill-column', `window-margins' and `tab-stop-list' +settings. + +** The file t-mouse.el is now part of Emacs and provides access to mouse +events from the console. It still requires gpm to work but has been updated +for Emacs 22. In particular, the mode-line is now position sensitive. + +** The new package scroll-lock.el provides the Scroll Lock minor mode +for pager-like scrolling. Keys which normally move point by line or +paragraph will scroll the buffer by the respective amount of lines +instead and point will be kept vertically fixed relative to window +boundaries during scrolling. + +** The new global minor mode `size-indication-mode' (off by default) +shows the size of accessible part of the buffer on the mode line. + +** The new package conf-mode.el handles thousands of configuration files, with +varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value, +var : value, var value or keyword var value) and sections ([section] or +section { }). Many files under /etc/, or with suffixes like .cf through +.config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are +recognized. + +** GDB-Script-mode is used for files like .gdbinit. + +** The new package dns-mode.el adds syntax highlighting of DNS master files. +It is a modern replacement for zone-mode.el, which is now obsolete. + +** `cfengine-mode' is a major mode for editing GNU Cfengine +configuration files. + +** The TCL package tcl-mode.el was replaced by tcl.el. +This was actually done in Emacs-21.1, and was not documented. + +* Changes in Specialized Modes and Packages in Emacs 22.1: + +** Changes in Dired + +*** Bindings for Image-Dired added. +Several new keybindings, all starting with the C-t prefix, have been +added to Dired. They are all bound to commands in Image-Dired. As a +starting point, mark some image files in a dired buffer and do C-t d +to display thumbnails of them in a separate buffer. + +** Info mode changes + +*** Images in Info pages are supported. + +Info pages show embedded images, in Emacs frames with image support. +Info documentation that includes images, processed with makeinfo +version 4.7 or newer, compiles to Info pages with embedded images. + +*** `Info-index' offers completion. + +*** http and ftp links in Info are now operational: they look like cross +references and following them calls `browse-url'. + +*** isearch in Info uses Info-search and searches through multiple nodes. + +Before leaving the initial Info node isearch fails once with the error +message [initial node], and with subsequent C-s/C-r continues through +other nodes. When isearch fails for the rest of the manual, it wraps +around the whole manual to the top/final node. The user option +`Info-isearch-search' controls whether to use Info-search for isearch, +or the default isearch search function that wraps around the current +Info node. + +*** New search commands: `Info-search-case-sensitively' (bound to S), +`Info-search-backward', and `Info-search-next' which repeats the last +search without prompting for a new search string. + +*** New command `info-apropos' searches the indices of the known +Info files on your system for a string, and builds a menu of the +possible matches. + +*** New command `Info-history-forward' (bound to r and new toolbar icon) +moves forward in history to the node you returned from after using +`Info-history-back' (renamed from `Info-last'). + +*** New command `Info-history' (bound to L) displays a menu of visited nodes. + +*** New command `Info-toc' (bound to T) creates a node with table of contents +from the tree structure of menus of the current Info file. + +*** New command `Info-copy-current-node-name' (bound to w) copies +the current Info node name into the kill ring. With a zero prefix +arg, puts the node name inside the `info' function call. + +*** New face `info-xref-visited' distinguishes visited nodes from unvisited +and a new option `Info-fontify-visited-nodes' to control this. + +*** A numeric prefix argument of `info' selects an Info buffer +with the number appended to the `*info*' buffer name (e.g. "*info*<2>"). + +*** Info now hides node names in menus and cross references by default. + +If you prefer the old behavior, you can set the new user option +`Info-hide-note-references' to nil. + +*** The default value for `Info-scroll-prefer-subnodes' is now nil. + +** Emacs server changes + +*** You can have several Emacs servers on the same machine. + + % emacs --eval '(setq server-name "foo")' -f server-start & + % emacs --eval '(setq server-name "bar")' -f server-start & + % emacsclient -s foo file1 + % emacsclient -s bar file2 + +*** The `emacsclient' command understands the options `--eval' and +`--display' which tell Emacs respectively to evaluate the given Lisp +expression and to use the given display when visiting files. + +*** User option `server-mode' can be used to start a server process. + +** Locate changes + +*** By default, reverting the *Locate* buffer now just runs the last +`locate' command back over again without offering to update the locate +database (which normally only works if you have root privileges). If +you prefer the old behavior, set the new customizable option +`locate-update-when-revert' to t. + +** Desktop package + +*** Desktop saving is now a minor mode, `desktop-save-mode'. + +*** The variable `desktop-enable' is obsolete. + +Customize `desktop-save-mode' to enable desktop saving. + +*** Buffers are saved in the desktop file in the same order as that in the +buffer list. + +*** The desktop package can be customized to restore only some buffers +immediately, remaining buffers are restored lazily (when Emacs is +idle). + +*** New command line option --no-desktop + +*** New commands: + - desktop-revert reverts to the last loaded desktop. + - desktop-change-dir kills current desktop and loads a new. + - desktop-save-in-desktop-dir saves desktop in the directory from which + it was loaded. + - desktop-lazy-complete runs the desktop load to completion. + - desktop-lazy-abort aborts lazy loading of the desktop. + +*** New customizable variables: + - desktop-save. Determines whether the desktop should be saved when it is + killed. + - desktop-file-name-format. Format in which desktop file names should be saved. + - desktop-path. List of directories in which to lookup the desktop file. + - desktop-locals-to-save. List of local variables to save. + - desktop-globals-to-clear. List of global variables that `desktop-clear' will clear. + - desktop-clear-preserve-buffers-regexp. Regexp identifying buffers that `desktop-clear' + should not delete. + - desktop-restore-eager. Number of buffers to restore immediately. Remaining buffers are + restored lazily (when Emacs is idle). + - desktop-lazy-verbose. Verbose reporting of lazily created buffers. + - desktop-lazy-idle-delay. Idle delay before starting to create buffers. + +*** New hooks: + - desktop-after-read-hook run after a desktop is loaded. + - desktop-no-desktop-file-hook run when no desktop file is found. + +** Recentf changes + +The recent file list is now automatically cleaned up when recentf mode is +enabled. The new option `recentf-auto-cleanup' controls when to do +automatic cleanup. + +The ten most recent files can be quickly opened by using the shortcut +keys 1 to 9, and 0, when the recent list is displayed in a buffer via +the `recentf-open-files', or `recentf-open-more-files' commands. + +The `recentf-keep' option replaces `recentf-keep-non-readable-files-p' +and provides a more general mechanism to customize which file names to +keep in the recent list. + +With the more advanced option `recentf-filename-handlers', you can +specify functions that successively transform recent file names. For +example, if set to `file-truename' plus `abbreviate-file-name', the +same file will not be in the recent list with different symbolic +links, and the file name will be abbreviated. + +To follow naming convention, `recentf-menu-append-commands-flag' +replaces the misnamed option `recentf-menu-append-commands-p'. The +old name remains available as alias, but has been marked obsolete. + +** Auto-Revert changes + +*** You can now use Auto Revert mode to `tail' a file. + +If point is at the end of a file buffer before reverting, Auto Revert +mode keeps it at the end after reverting. Similarly if point is +displayed at the end of a file buffer in any window, it stays at the end +of the buffer in that window. This allows you to "tail" a file: just +put point at the end of the buffer and it stays there. This rule +applies to file buffers. For non-file buffers, the behavior can be mode +dependent. + +If you are sure that the file will only change by growing at the end, +then you can tail the file more efficiently by using the new minor +mode Auto Revert Tail mode. The function `auto-revert-tail-mode' +toggles this mode. + +*** Auto Revert mode is now more careful to avoid excessive reverts and +other potential problems when deciding which non-file buffers to +revert. This matters especially if Global Auto Revert mode is enabled +and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert +mode only reverts a non-file buffer if the buffer has a non-nil +`revert-buffer-function' and a non-nil `buffer-stale-function', which +decides whether the buffer should be reverted. Currently, this means +that auto reverting works for Dired buffers (although this may not +work properly on all operating systems) and for the Buffer Menu. + +*** If the new user option `auto-revert-check-vc-info' is non-nil, Auto +Revert mode reliably updates version control info (such as the version +control number in the mode line), in all version controlled buffers in +which it is active. If the option is nil, the default, then this info +only gets updated whenever the buffer gets reverted. + +** Changes in Shell Mode + +*** Shell output normally scrolls so that the input line is at the +bottom of the window -- thus showing the maximum possible text. (This +is similar to the way sequential output to a terminal works.) + +** Changes in Hi Lock + +*** hi-lock-mode now only affects a single buffer, and a new function +`global-hi-lock-mode' enables Hi Lock in all buffers. By default, if +hi-lock-mode is used in what appears to be the initialization file, a +warning message suggests to use global-hi-lock-mode instead. However, +if the new variable `hi-lock-archaic-interface-deduce' is non-nil, +using hi-lock-mode in an initialization file will turn on Hi Lock in all +buffers and no warning will be issued (for compatibility with the +behavior in older versions of Emacs). + +** Changes in Allout + +*** Topic cryptography added, enabling easy gpg topic encryption and +decryption. Per-topic basis enables interspersing encrypted-text and +clear-text within a single file to your heart's content, using symmetric +and/or public key modes. Time-limited key caching, user-provided +symmetric key hinting and consistency verification, auto-encryption of +pending topics on save, and more, make it easy to use encryption in +powerful ways. Encryption behavior customization is collected in the +allout-encryption customization group. + +*** Default command prefix was changed to "\C-c " (control-c space), to +avoid intruding on user's keybinding space. Customize the +`allout-command-prefix' variable to your preference. + +*** Some previously rough topic-header format edge cases are reconciled. +Level 1 topics use the mode's comment format, and lines starting with the +asterisk - for instance, the comment close of some languages (eg, c's "*/" +or mathematica's "*)") - at the beginning of line are no longer are +interpreted as level 1 topics in those modes. + +*** Many or most commonly occurring "accidental" topics are disqualified. +Text in item bodies that looks like a low-depth topic is no longer mistaken +for one unless its first offspring (or that of its next sibling with +offspring) is only one level deeper. + +For example, pasting some text with a bunch of leading asterisks into a +topic that's followed by a level 3 or deeper topic will not cause the +pasted text to be mistaken for outline structure. + +The same constraint is applied to any level 2 or 3 topics. + +This settles an old issue where typed or pasted text needed to be carefully +reviewed, and sometimes doctored, to avoid accidentally disrupting the +outline structure. Now that should be generally unnecessary, as the most +prone-to-occur accidents are disqualified. + +*** Allout now refuses to create "containment discontinuities", where a +topic is shifted deeper than the offspring-depth of its container. On the +other hand, allout now operates gracefully with existing containment +discontinuities, revealing excessively contained topics rather than either +leaving them hidden or raising an error. + +*** Navigation within an item is easier. Repeated beginning-of-line and +end-of-line key commands (usually, ^A and ^E) cycle through the +beginning/end-of-line and then beginning/end of topic, etc. See new +customization vars `allout-beginning-of-line-cycles' and +`allout-end-of-line-cycles'. + +*** New or revised allout-mode activity hooks enable creation of +cooperative enhancements to allout mode without changes to the mode, +itself. + +See `allout-exposure-change-hook', `allout-structure-added-hook', +`allout-structure-deleted-hook', and `allout-structure-shifted-hook'. + +`allout-exposure-change-hook' replaces the existing +`allout-view-change-hook', which is being deprecated. Both are still +invoked, but `allout-view-change-hook' will eventually be ignored. +`allout-exposure-change-hook' is called with explicit arguments detailing +the specifics of each change (as are the other new hooks), making it easier +to use than the old version. + +There is a new mode deactivation hook, `allout-mode-deactivate-hook', for +coordinating with deactivation of allout-mode. Both that and the mode +activation hook, `allout-mode-hook' are now run after the `allout-mode' +variable is changed, rather than before. + +*** Allout now uses text overlay's `invisible' property for concealed text, +instead of selective-display. This simplifies the code, in particular +avoiding the need for kludges for isearch dynamic-display, discretionary +handling of edits of concealed text, undo concerns, etc. + +*** There are many other fixes and refinements, including: + + - repaired inhibition of inadvertent edits to concealed text, without + inhibiting undo; we now reveal undo changes within concealed text. + - auto-fill-mode is now left inactive when allout-mode starts, if it + already was inactive. also, `allout-inhibit-auto-fill' custom + configuration variable makes it easy to disable auto fill in allout + outlines in general or on a per-buffer basis. + - allout now tolerates fielded text in outlines without disruption. + - hot-spot navigation now is modularized with a new function, + `allout-hotspot-key-handler', enabling easier use and enhancement of + the functionality in allout addons. + - repaired retention of topic body hanging indent upon topic depth shifts + - bulleting variation is simpler and more accommodating, both in the + default behavior and in ability to vary when creating new topics + - mode deactivation now does cleans up effectively, more properly + restoring affected variables and hooks to former state, removing + overlays, etc. see `allout-add-resumptions' and + `allout-do-resumptions', which replace the old `allout-resumptions'. + - included a few unit-tests for interior functionality. developers can + have them automatically run at the end of module load by customizing + the option `allout-run-unit-tests-on-load'. + - many, many other, more minor tweaks, fixes, and refinements. + - version number incremented to 2.2 + +** Hideshow mode changes + +*** New variable `hs-set-up-overlay' allows customization of the overlay +used to effect hiding for hideshow minor mode. Integration with isearch +handles the overlay property `display' specially, preserving it during +temporary overlay showing in the course of an isearch operation. + +*** New variable `hs-allow-nesting' non-nil means that hiding a block does +not discard the hidden state of any "internal" blocks; when the parent +block is later shown, the internal blocks remain hidden. Default is nil. + +** FFAP changes + +*** New ffap commands and keybindings: + +C-x C-r (`ffap-read-only'), +C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'), +C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'), +C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame'). + +*** FFAP accepts wildcards in a file name by default. + +C-x C-f passes the file name to `find-file' with non-nil WILDCARDS +argument, which visits multiple files, and C-x d passes it to `dired'. + +** Changes in Skeleton + +*** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction. + +`@' has reverted to only setting `skeleton-positions' and no longer +sets `skeleton-point'. Skeletons which used @ to mark +`skeleton-point' independent of `_' should now use `-' instead. The +updated `skeleton-insert' docstring explains these new features along +with other details of skeleton construction. + +*** The variables `skeleton-transformation', `skeleton-filter', and +`skeleton-pair-filter' have been renamed to +`skeleton-transformation-function', `skeleton-filter-function', and +`skeleton-pair-filter-function'. The old names are still available +as aliases. + +** HTML/SGML changes + +*** Emacs now tries to set up buffer coding systems for HTML/XML files +automatically. + +*** SGML mode has indentation and supports XML syntax. +The new variable `sgml-xml-mode' tells SGML mode to use XML syntax. +When this option is enabled, SGML tags are inserted in XML style, +i.e., there is always a closing tag. +By default, its setting is inferred on a buffer-by-buffer basis +from the file name or buffer contents. + +*** The variable `sgml-transformation' has been renamed to +`sgml-transformation-function'. The old name is still available as +alias. + +*** `xml-mode' is now an alias for `sgml-mode', which has XML support. + +** TeX modes + +*** New major mode Doctex mode, for *.dtx files. + +*** C-c C-c prompts for a command to run, and tries to offer a good default. + +*** The user option `tex-start-options-string' has been replaced +by two new user options: `tex-start-options', which should hold +command-line options to feed to TeX, and `tex-start-commands' which should hold +TeX commands to use at startup. + +*** verbatim environments are now highlighted in courier by font-lock +and super/sub-scripts are made into super/sub-scripts. + +** RefTeX mode changes + +*** Changes to RefTeX's table of contents + +The new command keys "<" and ">" in the TOC buffer promote/demote the +section at point or all sections in the current region, with full +support for multifile documents. + +The new command `reftex-toc-recenter' (`C-c -') shows the current +section in the TOC buffer without selecting the TOC window. +Recentering can happen automatically in idle time when the option +`reftex-auto-recenter-toc' is turned on. The highlight in the TOC +buffer stays when the focus moves to a different window. A dedicated +frame can show the TOC with the current section always automatically +highlighted. The frame is created and deleted from the toc buffer +with the `d' key. + +The toc window can be split off horizontally instead of vertically. +See new option `reftex-toc-split-windows-horizontally'. + +Labels can be renamed globally from the table of contents using the +key `M-%'. + +The new command `reftex-goto-label' jumps directly to a label +location. + +*** Changes related to citations and BibTeX database files + +Commands that insert a citation now prompt for optional arguments when +called with a prefix argument. Related new options are +`reftex-cite-prompt-optional-args' and `reftex-cite-cleanup-optional-args'. + +The new command `reftex-create-bibtex-file' creates a BibTeX database +with all entries referenced in the current document. The keys "e" and +"E" allow to produce a BibTeX database file from entries marked in a +citation selection buffer. + +The command `reftex-citation' uses the word in the buffer before the +cursor as a default search string. + +The support for chapterbib has been improved. Different chapters can +now use BibTeX or an explicit `thebibliography' environment. + +The macros which specify the bibliography file (like \bibliography) +can be configured with the new option `reftex-bibliography-commands'. + +Support for jurabib has been added. + +*** Global index matched may be verified with a user function. + +During global indexing, a user function can verify an index match. +See new option `reftex-index-verify-function'. + +*** Parsing documents with many labels can be sped up. + +Operating in a document with thousands of labels can be sped up +considerably by allowing RefTeX to derive the type of a label directly +from the label prefix like `eq:' or `fig:'. The option +`reftex-trust-label-prefix' needs to be configured in order to enable +this feature. While the speed-up is significant, this may reduce the +quality of the context offered by RefTeX to describe a label. + +*** Miscellaneous changes + +The macros which input a file in LaTeX (like \input, \include) can be +configured in the new option `reftex-include-file-commands'. + +RefTeX supports global incremental search. + +** BibTeX mode + +*** The new command `bibtex-url' browses a URL for the BibTeX entry at +point (bound to C-c C-l and mouse-2, RET on clickable fields). + +*** The new command `bibtex-entry-update' (bound to C-c C-u) updates +an existing BibTeX entry by inserting fields that may occur but are not +present. + +*** New `bibtex-entry-format' option `required-fields', enabled by default. + +*** `bibtex-maintain-sorted-entries' can take values `plain', +`crossref', and `entry-class' which control the sorting scheme used +for BibTeX entries. `bibtex-sort-entry-class' controls the sorting +scheme `entry-class'. TAB completion for reference keys and +automatic detection of duplicates does not require anymore that +`bibtex-maintain-sorted-entries' is non-nil. + +*** The new command `bibtex-complete' completes word fragment before +point according to context (bound to M-tab). + +*** In BibTeX mode the command `fill-paragraph' (M-q) fills +individual fields of a BibTeX entry. + +*** The new variable `bibtex-autofill-types' contains a list of entry +types for which fields are filled automatically (if possible). + +*** The new commands `bibtex-find-entry' and `bibtex-find-crossref' +locate entries and crossref'd entries (bound to C-c C-s and C-c C-x). +Crossref fields are clickable (bound to mouse-2, RET). + +*** The new variables `bibtex-files' and `bibtex-file-path' define a set +of BibTeX files that are searched for entry keys. + +*** The new command `bibtex-validate-globally' checks for duplicate keys +in multiple BibTeX files. + +*** If the new variable `bibtex-autoadd-commas' is non-nil, +automatically add missing commas at end of BibTeX fields. + +*** The new command `bibtex-copy-summary-as-kill' pushes summary +of BibTeX entry to kill ring (bound to C-c C-t). + +*** If the new variable `bibtex-parse-keys-fast' is non-nil, +use fast but simplified algorithm for parsing BibTeX keys. + +*** The new variables bibtex-expand-strings and +bibtex-autokey-expand-strings control the expansion of strings when +extracting the content of a BibTeX field. + +*** The variables `bibtex-autokey-name-case-convert' and +`bibtex-autokey-titleword-case-convert' have been renamed to +`bibtex-autokey-name-case-convert-function' and +`bibtex-autokey-titleword-case-convert-function'. The old names are +still available as aliases. + +** GUD changes + +*** The new package gdb-ui.el provides an enhanced graphical interface to +GDB. You can interact with GDB through the GUD buffer in the usual way, but +there are also further buffers which control the execution and describe the +state of your program. It can separate the input/output of your program from +that of GDB and watches expressions in the speedbar. It also uses features of +Emacs 21/22 such as the toolbar, and bitmaps in the fringe to indicate +breakpoints. + +To use this package just type M-x gdb. See the Emacs manual if you want the +old behaviour. + +*** GUD mode has its own tool bar for controlling execution of the inferior +and other common debugger commands. + +*** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program +counter to the specified source line (the one where point is). + +*** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be +toggled independently of normal tooltips with the minor mode +`gud-tooltip-mode'. + +*** In graphical mode, with a C program, GUD Tooltips have been extended to +display the #define directive associated with an identifier when program is +not executing. + +*** GUD mode improvements for jdb: + +**** Search for source files using jdb classpath and class information. +Fast startup since there is no need to scan all source files up front. +There is also no need to create and maintain lists of source +directories to scan. Look at `gud-jdb-use-classpath' and +`gud-jdb-classpath' customization variables documentation. + +**** The previous method of searching for source files has been +preserved in case someone still wants/needs to use it. +Set `gud-jdb-use-classpath' to nil. + +**** Supports the standard breakpoint (gud-break, gud-clear) +set/clear operations from Java source files under the classpath, stack +traversal (gud-up, gud-down), and run until current stack finish +(gud-finish). + +**** Supports new jdb (Java 1.2 and later) in addition to oldjdb +(Java 1.1 jdb). + +*** Added jdb Customization Variables + +**** `gud-jdb-command-name'. What command line to use to invoke jdb. + +**** `gud-jdb-use-classpath'. Allows selection of java source file searching +method: set to t for new method, nil to scan `gud-jdb-directories' for +java sources (previous method). + +**** `gud-jdb-directories'. List of directories to scan and search for Java +classes using the original gud-jdb method (if `gud-jdb-use-classpath' +is nil). + +*** Minor Improvements + +**** The STARTTLS wrapper (starttls.el) can now use GNUTLS +instead of the OpenSSL based `starttls' tool. For backwards +compatibility, it prefers `starttls', but you can toggle +`starttls-use-gnutls' to switch to GNUTLS (or simply remove the +`starttls' tool). + +**** Do not allow debugger output history variable to grow without bounds. + +** Lisp mode changes + +*** Lisp mode now uses `font-lock-doc-face' for doc strings. + +*** C-u C-M-q in Emacs Lisp mode pretty-prints the list after point. + +*** New features in evaluation commands + +**** The function `eval-defun' (C-M-x) called on defface reinitializes +the face to the value specified in the defface expression. + +**** Typing C-x C-e twice prints the value of the integer result +in additional formats (octal, hexadecimal, character) specified +by the new function `eval-expression-print-format'. The same +function also defines the result format for `eval-expression' (M-:), +`eval-print-last-sexp' (C-j) and some edebug evaluation functions. + +** Changes to cmuscheme + +*** Emacs now offers to start Scheme if the user tries to +evaluate a Scheme expression but no Scheme subprocess is running. + +*** If the file ~/.emacs_NAME or ~/.emacs.d/init_NAME.scm (where NAME +is the name of the Scheme interpreter) exists, its contents are sent +to the Scheme subprocess upon startup. + +*** There are new commands to instruct the Scheme interpreter to trace +procedure calls (`scheme-trace-procedure') and to expand syntactic forms +(`scheme-expand-current-form'). The commands actually sent to the Scheme +subprocess are controlled by the user options `scheme-trace-command', +`scheme-untrace-command' and `scheme-expand-current-form'. + +** Ewoc changes + +*** The new function `ewoc-delete' deletes specified nodes. + +*** `ewoc-create' now takes optional arg NOSEP, which inhibits insertion of +a newline after each pretty-printed entry and after the header and footer. +This allows you to create multiple-entry ewocs on a single line and to +effect "invisible" nodes by arranging for the pretty-printer to not print +anything for those nodes. + +For example, these two sequences of expressions behave identically: + +;; NOSEP nil +(defun PP (data) (insert (format "%S" data))) +(ewoc-create 'PP "start\n") + +;; NOSEP t +(defun PP (data) (insert (format "%S\n" data))) +(ewoc-create 'PP "start\n\n" "\n" t) + +** CC mode changes + +*** The CC Mode manual has been extensively revised. +The information about using CC Mode has been separated from the larger +and more difficult chapters about configuration. + +*** New Minor Modes +**** Electric Minor Mode toggles the electric action of non-alphabetic keys. +The new command c-toggle-electric-mode is bound to C-c C-l. Turning the +mode off can be helpful for editing chaotically indented code and for +users new to CC Mode, who sometimes find electric indentation +disconcerting. Its current state is displayed in the mode line with an +'l', e.g. "C/al". + +**** Subword Minor Mode makes Emacs recognize word boundaries at upper case +letters in StudlyCapsIdentifiers. You enable this feature by C-c C-w. It can +also be used in non-CC Mode buffers. :-) Contributed by Masatake YAMATO. + +*** Support for the AWK language. +Support for the AWK language has been introduced. The implementation is +based around GNU AWK version 3.1, but it should work pretty well with +any AWK. As yet, not all features of CC Mode have been adapted for AWK. +Here is a summary: + +**** Indentation Engine +The CC Mode indentation engine fully supports AWK mode. + +AWK mode handles code formatted in the conventional AWK fashion: `{'s +which start actions, user-defined functions, or compound statements are +placed on the same line as the associated construct; the matching `}'s +are normally placed under the start of the respective pattern, function +definition, or structured statement. + +The predefined line-up functions haven't yet been adapted for AWK +mode, though some of them may work serendipitously. There shouldn't +be any problems writing custom indentation functions for AWK mode. + +**** Font Locking +There is a single level of font locking in AWK mode, rather than the +three distinct levels the other modes have. There are several +idiosyncrasies in AWK mode's font-locking due to the peculiarities of +the AWK language itself. + +**** Comment and Movement Commands +These commands all work for AWK buffers. The notion of "defun" has +been augmented to include AWK pattern-action pairs - the standard +"defun" commands on key sequences C-M-a, C-M-e, and C-M-h use this +extended definition. + +**** "awk" style, Auto-newline Insertion and Clean-ups +A new style, "awk" has been introduced, and this is now the default +style for AWK code. With auto-newline enabled, the clean-up +c-one-liner-defun (see above) is useful. + +*** Font lock support. +CC Mode now provides font lock support for all its languages. This +supersedes the font lock patterns that have been in the core font lock +package for C, C++, Java and Objective-C. Like indentation, font +locking is done in a uniform way across all languages (except the new +AWK mode - see below). That means that the new font locking will be +different from the old patterns in various details for most languages. + +The main goal of the font locking in CC Mode is accuracy, to provide a +dependable aid in recognizing the various constructs. Some, like +strings and comments, are easy to recognize while others like +declarations and types can be very tricky. CC Mode can go to great +lengths to recognize declarations and casts correctly, especially when +the types aren't recognized by standard patterns. This is a fairly +demanding analysis which can be slow on older hardware, and it can +therefore be disabled by choosing a lower decoration level with the +variable font-lock-maximum-decoration. + +Note that the most demanding font lock level has been tuned with lazy +fontification in mind; Just-In-Time-Lock mode should be enabled for +the highest font lock level (by default, it is). Fontifying a file +with several thousand lines in one go can take the better part of a +minute. + +**** The (c|c++|objc|java|idl|pike)-font-lock-extra-types variables +are now used by CC Mode to recognize identifiers that are certain to +be types. (They are also used in cases that aren't related to font +locking.) At the maximum decoration level, types are often recognized +properly anyway, so these variables should be fairly restrictive and +not contain patterns for uncertain types. + +**** Support for documentation comments. +There is a "plugin" system to fontify documentation comments like +Javadoc and the markup within them. It's independent of the host +language, so it's possible to e.g. turn on Javadoc font locking in C +buffers. See the variable c-doc-comment-style for details. + +Currently three kinds of doc comment styles are recognized: Sun's +Javadoc, Autodoc (which is used in Pike) and GtkDoc (used in C). (The +last was contributed by Masatake YAMATO). This is by no means a +complete list of the most common tools; if your doc comment extractor +of choice is missing then please drop a note to bug-cc-mode@gnu.org. + +**** Better handling of C++ templates. +As a side effect of the more accurate font locking, C++ templates are +now handled much better. The angle brackets that delimit them are +given parenthesis syntax so that they can be navigated like other +parens. + +This also improves indentation of templates, although there still is +work to be done in that area. E.g. it's required that multiline +template clauses are written in full and then refontified to be +recognized, and the indentation of nested templates is a bit odd and +not as configurable as it ought to be. + +**** Improved handling of Objective-C and CORBA IDL. +Especially the support for Objective-C and IDL has gotten an overhaul. +The special "@" declarations in Objective-C are handled correctly. +All the keywords used in CORBA IDL, PSDL, and CIDL are recognized and +handled correctly, also wrt indentation. + +*** Changes in Key Sequences +**** c-toggle-auto-hungry-state is no longer bound to C-c C-t. + +**** c-toggle-hungry-state is no longer bound to C-c C-d. +This binding has been taken over by c-hungry-delete-forwards. + +**** c-toggle-auto-state (C-c C-t) has been renamed to c-toggle-auto-newline. +c-toggle-auto-state remains as an alias. + +**** The new commands c-hungry-backspace and c-hungry-delete-forwards +have key bindings C-c C-DEL (or C-c DEL, for the benefit of TTYs) and +C-c C-d (or C-c C- or C-c ) respectively. These +commands delete entire blocks of whitespace with a single +key-sequence. [N.B. "DEL" is the key.] + +**** The new command c-toggle-electric-mode is bound to C-c C-l. + +**** The new command c-subword-mode is bound to C-c C-w. + +*** C-c C-s (`c-show-syntactic-information') now highlights the anchor +position(s). + +*** New syntactic symbols in IDL mode. +The top level constructs "module" and "composition" (from CIDL) are +now handled like "namespace" in C++: They are given syntactic symbols +module-open, module-close, inmodule, composition-open, +composition-close, and incomposition. + +*** New functions to do hungry delete without enabling hungry delete mode. +The new functions `c-hungry-backspace' and `c-hungry-delete-forward' +provide hungry deletion without having to toggle a mode. They are +bound to C-c C-DEL and C-c C-d (and several variants, for the benefit +of different keyboard setups. See "Changes in key sequences" above). + +*** Better control over `require-final-newline'. + +The variable `c-require-final-newline' specifies which of the modes +implemented by CC mode should insert final newlines. Its value is a +list of modes, and only those modes should do it. By default the list +includes C, C++ and Objective-C modes. + +Whichever modes are in this list will set `require-final-newline' +based on `mode-require-final-newline'. + +*** Format change for syntactic context elements. + +The elements in the syntactic context returned by `c-guess-basic-syntax' +and stored in `c-syntactic-context' has been changed somewhat to allow +attaching more information. They are now lists instead of single cons +cells. E.g. a line that previously had the syntactic analysis + +((inclass . 11) (topmost-intro . 13)) + +is now analyzed as + +((inclass 11) (topmost-intro 13)) + +In some cases there are more than one position given for a syntactic +symbol. + +This change might affect code that calls `c-guess-basic-syntax' +directly, and custom lineup functions if they use +`c-syntactic-context'. However, the argument given to lineup +functions is still a single cons cell with nil or an integer in the +cdr. + +*** API changes for derived modes. + +There have been extensive changes "under the hood" which can affect +derived mode writers. Some of these changes are likely to cause +incompatibilities with existing derived modes, but on the other hand +care has now been taken to make it possible to extend and modify CC +Mode with less risk of such problems in the future. + +**** New language variable system. +These are variables whose values vary between CC Mode's different +languages. See the comment blurb near the top of cc-langs.el. + +**** New initialization functions. +The initialization procedure has been split up into more functions to +give better control: `c-basic-common-init', `c-font-lock-init', and +`c-init-language-vars'. + +*** Changes in analysis of nested syntactic constructs. +The syntactic analysis engine has better handling of cases where +several syntactic constructs appear nested on the same line. They are +now handled as if each construct started on a line of its own. + +This means that CC Mode now indents some cases differently, and +although it's more consistent there might be cases where the old way +gave results that's more to one's liking. So if you find a situation +where you think that the indentation has become worse, please report +it to bug-cc-mode@gnu.org. + +**** New syntactic symbol substatement-label. +This symbol is used when a label is inserted between a statement and +its substatement. E.g: + + if (x) + x_is_true: + do_stuff(); + +*** Better handling of multiline macros. + +**** Syntactic indentation inside macros. +The contents of multiline #define's are now analyzed and indented +syntactically just like other code. This can be disabled by the new +variable `c-syntactic-indentation-in-macros'. A new syntactic symbol +`cpp-define-intro' has been added to control the initial indentation +inside `#define's. + +**** New lineup function `c-lineup-cpp-define'. + +Now used by default to line up macro continuation lines. The behavior +of this function closely mimics the indentation one gets if the macro +is indented while the line continuation backslashes are temporarily +removed. If syntactic indentation in macros is turned off, it works +much line `c-lineup-dont-change', which was used earlier, but handles +empty lines within the macro better. + +**** Automatically inserted newlines continues the macro if used within one. +This applies to the newlines inserted by the auto-newline mode, and to +`c-context-line-break' and `c-context-open-line'. + +**** Better alignment of line continuation backslashes. +`c-backslash-region' tries to adapt to surrounding backslashes. New +variable `c-backslash-max-column' puts a limit on how far out +backslashes can be moved. + +**** Automatic alignment of line continuation backslashes. +This is controlled by the new variable `c-auto-align-backslashes'. It +affects `c-context-line-break', `c-context-open-line' and newlines +inserted in Auto-Newline mode. + +**** Line indentation works better inside macros. +Regardless whether syntactic indentation and syntactic indentation +inside macros are enabled or not, line indentation now ignores the +line continuation backslashes. This is most noticeable when syntactic +indentation is turned off and there are empty lines (save for the +backslash) in the macro. + +*** indent-for-comment is more customizable. +The behavior of M-; (indent-for-comment) is now configurable through +the variable `c-indent-comment-alist'. The indentation behavior is +based on the preceding code on the line, e.g. to get two spaces after +#else and #endif but indentation to `comment-column' in most other +cases (something which was hardcoded earlier). + +*** New function `c-context-open-line'. +It's the open-line equivalent of `c-context-line-break'. + +*** New clean-ups + +**** `comment-close-slash'. +With this clean-up, a block (i.e. c-style) comment can be terminated by +typing a slash at the start of a line. + +**** `c-one-liner-defun' +This clean-up compresses a short enough defun (for example, an AWK +pattern/action pair) onto a single line. "Short enough" is configurable. + +*** New lineup functions + +**** `c-lineup-string-cont' +This lineup function lines up a continued string under the one it +continues. E.g: + +result = prefix + "A message " + "string."; <- c-lineup-string-cont + +**** `c-lineup-cascaded-calls' +Lines up series of calls separated by "->" or ".". + +**** `c-lineup-knr-region-comment' +Gives (what most people think is) better indentation of comments in +the "K&R region" between the function header and its body. + +**** `c-lineup-gcc-asm-reg' +Provides better indentation inside asm blocks. + +**** `c-lineup-argcont' +Lines up continued function arguments after the preceding comma. + +*** Added toggle for syntactic indentation. +The function `c-toggle-syntactic-indentation' can be used to toggle +syntactic indentation. + +*** Better caching of the syntactic context. +CC Mode caches the positions of the opening parentheses (of any kind) +of the lists surrounding the point. Those positions are used in many +places as anchor points for various searches. The cache is now +improved so that it can be reused to a large extent when the point is +moved. The less it moves, the less needs to be recalculated. + +The effect is that CC Mode should be fast most of the time even when +opening parens are hung (i.e. aren't in column zero). It's typically +only the first time after the point is moved far down in a complex +file that it'll take noticeable time to find out the syntactic +context. + +*** Statements are recognized in a more robust way. +Statements are recognized most of the time even when they occur in an +"invalid" context, e.g. in a function argument. In practice that can +happen when macros are involved. + +*** Improved the way `c-indent-exp' chooses the block to indent. +It now indents the block for the closest sexp following the point +whose closing paren ends on a different line. This means that the +point doesn't have to be immediately before the block to indent. +Also, only the block and the closing line is indented; the current +line is left untouched. + +** Changes in Makefile mode + +*** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake. + +The former two couldn't be differentiated before, and the latter three +are new. Font-locking is robust now and offers new customizable +faces. + +*** The variable `makefile-query-one-target-method' has been renamed +to `makefile-query-one-target-method-function'. The old name is still +available as alias. + +** Sql changes + +*** The variable `sql-product' controls the highlighting of different +SQL dialects. This variable can be set globally via Customize, on a +buffer-specific basis via local variable settings, or for the current +session using the new SQL->Product submenu. (This menu replaces the +SQL->Highlighting submenu.) + +The following values are supported: + + ansi ANSI Standard (default) + db2 DB2 + informix Informix + ingres Ingres + interbase Interbase + linter Linter + ms Microsoft + mysql MySQL + oracle Oracle + postgres Postgres + solid Solid + sqlite SQLite + sybase Sybase + +The current product name will be shown on the mode line following the +SQL mode indicator. + +The technique of setting `sql-mode-font-lock-defaults' directly in +your `.emacs' will no longer establish the default highlighting -- Use +`sql-product' to accomplish this. + +ANSI keywords are always highlighted. + +*** The function `sql-add-product-keywords' can be used to add +font-lock rules to the product specific rules. For example, to have +all identifiers ending in `_t' under MS SQLServer treated as a type, +you would use the following line in your .emacs file: + + (sql-add-product-keywords 'ms + '(("\\<\\w+_t\\>" . font-lock-type-face))) + +*** Oracle support includes keyword highlighting for Oracle 9i. + +Most SQL and PL/SQL keywords are implemented. SQL*Plus commands are +highlighted in `font-lock-doc-face'. + +*** Microsoft SQLServer support has been significantly improved. + +Keyword highlighting for SqlServer 2000 is implemented. +sql-interactive-mode defaults to use osql, rather than isql, because +osql flushes its error stream more frequently. Thus error messages +are displayed when they occur rather than when the session is +terminated. + +If the username and password are not provided to `sql-ms', osql is +called with the `-E' command line argument to use the operating system +credentials to authenticate the user. + +*** Postgres support is enhanced. +Keyword highlighting of Postgres 7.3 is implemented. Prompting for +the username and the pgsql `-U' option is added. + +*** MySQL support is enhanced. +Keyword highlighting of MySql 4.0 is implemented. + +*** Imenu support has been enhanced to locate tables, views, indexes, +packages, procedures, functions, triggers, sequences, rules, and +defaults. + +*** Added SQL->Start SQLi Session menu entry which calls the +appropriate `sql-interactive-mode' wrapper for the current setting of +`sql-product'. + +*** sql.el supports the SQLite interpreter--call 'sql-sqlite'. + +** Fortran mode changes + +*** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow). +It cannot deal with every code format, but ought to handle a sizeable +majority. + +*** F90 mode and Fortran mode have new navigation commands +`f90-end-of-block', `f90-beginning-of-block', `f90-next-block', +`f90-previous-block', `fortran-end-of-block', +`fortran-beginning-of-block'. + +*** Fortran mode does more font-locking by default. Use level 3 +highlighting for the old default. + +*** Fortran mode has a new variable `fortran-directive-re'. +Adapt this to match the format of any compiler directives you use. +Lines that match are never indented, and are given distinctive font-locking. + +*** The new function `f90-backslash-not-special' can be used to change +the syntax of backslashes in F90 buffers. + +** Miscellaneous programming mode changes + +*** In sh-script, a continuation line is only indented if the backslash was +preceded by a SPC or a TAB. + +*** Perl mode has a new variable `perl-indent-continued-arguments'. + +*** The old Octave mode bindings C-c f and C-c i have been changed +to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate +bindings on control characters--thus, C-c C-i C-b is the same as +C-c C-i b, and so on. + +*** Prolog mode has a new variable `prolog-font-lock-keywords' +to support use of font-lock. + +** VC Changes + +*** New backends for Subversion and Meta-CVS. + +*** The new variable `vc-cvs-global-switches' specifies switches that +are passed to any CVS command invoked by VC. + +These switches are used as "global options" for CVS, which means they +are inserted before the command name. For example, this allows you to +specify a compression level using the `-z#' option for CVS. + +*** The key C-x C-q only changes the read-only state of the buffer +(toggle-read-only). It no longer checks files in or out. + +We made this change because we held a poll and found that many users +were unhappy with the previous behavior. If you do prefer this +behavior, you can bind `vc-toggle-read-only' to C-x C-q in your +`.emacs' file: + + (global-set-key "\C-x\C-q" 'vc-toggle-read-only) + +The function `vc-toggle-read-only' will continue to exist. + +*** VC-Annotate mode enhancements + +In VC-Annotate mode, you can now use the following key bindings for +enhanced functionality to browse the annotations of past revisions, or +to view diffs or log entries directly from vc-annotate-mode: + + P: annotates the previous revision + N: annotates the next revision + J: annotates the revision at line + A: annotates the revision previous to line + D: shows the diff of the revision at line with its previous revision + L: shows the log of the revision at line + W: annotates the workfile (most up to date) version + +** pcl-cvs changes + +*** In pcl-cvs mode, there is a new `d y' command to view the diffs +between the local version of the file and yesterday's head revision +in the repository. + +*** In pcl-cvs mode, there is a new `d r' command to view the changes +anyone has committed to the repository since you last executed +`checkout', `update' or `commit'. That means using cvs diff options +-rBASE -rHEAD. + +** Diff changes + +*** M-x diff uses Diff mode instead of Compilation mode. + +*** Diff mode key bindings changed. + +These are the new bindings: + +C-c C-e diff-ediff-patch (old M-A) +C-c C-n diff-restrict-view (old M-r) +C-c C-r diff-reverse-direction (old M-R) +C-c C-u diff-context->unified (old M-U) +C-c C-w diff-refine-hunk (old C-c C-r) + +To convert unified to context format, use C-u C-c C-u. +In addition, C-c C-u now operates on the region +in Transient Mark mode when the mark is active. + +** EDiff changes. + +*** When comparing directories. +Typing D brings up a buffer that lists the differences between the contents of +directories. Now it is possible to use this buffer to copy the missing files +from one directory to another. + +*** When comparing files or buffers. +Typing the = key now offers to perform the word-by-word comparison of the +currently highlighted regions in an inferior Ediff session. If you answer 'n' +then it reverts to the old behavior and asks the user to select regions for +comparison. + +*** The new command `ediff-backup' compares a file with its most recent +backup using `ediff'. If you specify the name of a backup file, +`ediff-backup' compares it with the file of which it is a backup. + +** Etags changes. + +*** New regular expressions features + +**** New syntax for regular expressions, multi-line regular expressions. + +The syntax --ignore-case-regexp=/regex/ is now undocumented and retained +only for backward compatibility. The new equivalent syntax is +--regex=/regex/i. More generally, it is --regex=/TAGREGEX/TAGNAME/MODS, +where `/TAGNAME' is optional, as usual, and MODS is a string of 0 or +more characters among `i' (ignore case), `m' (multi-line) and `s' +(single-line). The `m' and `s' modifiers behave as in Perl regular +expressions: `m' allows regexps to match more than one line, while `s' +(which implies `m') means that `.' matches newlines. The ability to +span newlines allows writing of much more powerful regular expressions +and rapid prototyping for tagging new languages. + +**** Regular expressions can use char escape sequences as in GCC. + +The escaped character sequence \a, \b, \d, \e, \f, \n, \r, \t, \v, +respectively, stand for the ASCII characters BEL, BS, DEL, ESC, FF, NL, +CR, TAB, VT. + +**** Regular expressions can be bound to a given language. + +The syntax --regex={LANGUAGE}REGEX means that REGEX is used to make tags +only for files of language LANGUAGE, and ignored otherwise. This is +particularly useful when storing regexps in a file. + +**** Regular expressions can be read from a file. + +The --regex=@regexfile option means read the regexps from a file, one +per line. Lines beginning with space or tab are ignored. + +*** New language parsing features + +**** New language HTML. + +Tags are generated for `title' as well as `h1', `h2', and `h3'. Also, +when `name=' is used inside an anchor and whenever `id=' is used. + +**** New language PHP. + +Functions, classes and defines are tags. If the --members option is +specified to etags, variables are tags also. + +**** New language Lua. + +All functions are tagged. + +**** The `::' qualifier triggers C++ parsing in C file. + +Previously, only the `template' and `class' keywords had this effect. + +**** The GCC __attribute__ keyword is now recognized and ignored. + +**** In C and derived languages, etags creates tags for #undef + +**** In Makefiles, constants are tagged. + +If you want the old behavior instead, thus avoiding to increase the +size of the tags file, use the --no-globals option. + +**** In Perl, packages are tags. + +Subroutine tags are named from their package. You can jump to sub tags +as you did before, by the sub name, or additionally by looking for +package::sub. + +**** In Prolog, etags creates tags for rules in addition to predicates. + +**** New default keywords for TeX. + +The new keywords are def, newcommand, renewcommand, newenvironment and +renewenvironment. + +*** Honor #line directives. + +When Etags parses an input file that contains C preprocessor's #line +directives, it creates tags using the file name and line number +specified in those directives. This is useful when dealing with code +created from Cweb source files. When Etags tags the generated file, it +writes tags pointing to the source file. + +*** New option --parse-stdin=FILE. + +This option is mostly useful when calling etags from programs. It can +be used (only once) in place of a file name on the command line. Etags +reads from standard input and marks the produced tags as belonging to +the file FILE. + +** Ctags changes. + +*** Ctags now allows duplicate tags + +** Rmail changes + +*** Support for `movemail' from GNU mailutils was added to Rmail. + +This version of `movemail' allows you to read mail from a wide range of +mailbox formats, including remote POP3 and IMAP4 mailboxes with or +without TLS encryption. If GNU mailutils is installed on the system +and its version of `movemail' can be found in exec-path, it will be +used instead of the native one. + +*** The new commands rmail-end-of-message and rmail-summary end-of-message, +by default bound to `/', go to the end of the current mail message in +Rmail and Rmail summary buffers. + +*** Rmail now displays 5-digit message ids in its summary buffer. + +** Gnus package + +*** Gnus now includes Sieve and PGG + +Sieve is a library for managing Sieve scripts. PGG is a library to handle +PGP/MIME. + +*** There are many news features, bug fixes and improvements. + +See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. + +** MH-E changes. + +Upgraded to MH-E version 8.0.3. There have been major changes since +version 5.0.2; see MH-E-NEWS for details. + +** Miscellaneous mail changes + +*** The new variable `mail-default-directory' specifies +`default-directory' for mail buffers. This directory is used for +auto-save files of mail buffers. It defaults to "~/". + +*** The mode line can indicate new mail in a directory or file. + +See the documentation of the user option `display-time-mail-directory'. + +** Calendar changes + +*** There is a new calendar package, icalendar.el, that can be used to +convert Emacs diary entries to/from the iCalendar format. + +*** The new package cal-html.el writes HTML files with calendar and +diary entries. + +*** The new functions `diary-from-outlook', `diary-from-outlook-gnus', +and `diary-from-outlook-rmail' can be used to import diary entries +from Outlook-format appointments in mail messages. The variable +`diary-outlook-formats' can be customized to recognize additional +formats. + +*** The procedure for activating appointment reminders has changed: +use the new function `appt-activate'. The new variable +`appt-display-format' controls how reminders are displayed, replacing +`appt-issue-message', `appt-visible', and `appt-msg-window'. + +*** The function `simple-diary-display' now by default sets a header line. +This can be controlled through the variables `diary-header-line-flag' +and `diary-header-line-format'. + +*** Diary sexp entries can have custom marking in the calendar. +Diary sexp functions which only apply to certain days (such as +`diary-block' or `diary-cyclic') now take an optional parameter MARK, +which is the name of a face or a single-character string indicating +how to highlight the day in the calendar display. Specifying a +single-character string as @var{mark} places the character next to the +day in the calendar. Specifying a face highlights the day with that +face. This lets you have different colors or markings for vacations, +appointments, paydays or anything else using a sexp. + +*** The meanings of C-x < and C-x > have been interchanged. +< means to scroll backward in time, and > means to scroll forward. + +*** You can now use < and >, instead of C-x < and C-x >, to scroll +the calendar left or right. + +*** The new function `calendar-goto-day-of-year' (g D) prompts for a +year and day number, and moves to that date. Negative day numbers +count backward from the end of the year. + +*** The new Calendar function `calendar-goto-iso-week' (g w) +prompts for a year and a week number, and moves to the first +day of that ISO week. + +*** The functions `holiday-easter-etc' and `holiday-advent' now take +optional arguments, in order to only report on the specified holiday +rather than all. This makes customization of variables such as +`christian-holidays' simpler. + +*** The new variable `calendar-minimum-window-height' affects the +window generated by the function `generate-calendar-window'. + +** Speedbar changes + +*** Speedbar items can now be selected by clicking mouse-1, based on +the `mouse-1-click-follows-link' mechanism. + +*** The new command `speedbar-toggle-line-expansion', bound to SPC, +contracts or expands the line under the cursor. + +*** New command `speedbar-create-directory', bound to `M'. + +*** The new commands `speedbar-expand-line-descendants' and +`speedbar-contract-line-descendants', bound to `[' and `]' +respectively, expand and contract the line under cursor with all of +its descendents. + +*** The new user option `speedbar-use-tool-tips-flag', if non-nil, +means to display tool-tips for speedbar items. + +*** The new user option `speedbar-query-confirmation-method' controls +how querying is performed for file operations. A value of 'always +means to always query before file operations; 'none-but-delete means +to not query before any file operations, except before a file +deletion. + +*** The new user option `speedbar-select-frame-method' specifies how +to select a frame for displaying a file opened with the speedbar. A +value of 'attached means to use the attached frame (the frame that +speedbar was started from.) A number such as 1 or -1 means to pass +that number to `other-frame'. + +*** SPC and DEL are no longer bound to scroll up/down in the speedbar +keymap. + +*** The frame management code in speedbar.el has been split into a new +`dframe' library. Emacs Lisp code that makes use of the speedbar +should use `dframe-attached-frame' instead of +`speedbar-attached-frame', `dframe-timer' instead of `speedbar-timer', +`dframe-close-frame' instead of `speedbar-close-frame', and +`dframe-activity-change-focus-flag' instead of +`speedbar-activity-change-focus-flag'. The variables +`speedbar-update-speed' and `speedbar-navigating-speed' are also +obsolete; use `dframe-update-speed' instead. + +** battery.el changes + +*** display-battery-mode replaces display-battery. + +*** battery.el now works on recent versions of OS X. + +** Games + +*** The game `mpuz' is enhanced. + +`mpuz' now allows the 2nd factor not to have two identical digits. By +default, all trivial operations involving whole lines are performed +automatically. The game uses faces for better visual feedback. + +** Obsolete and deleted packages + +*** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead. + +*** iso-acc.el is now obsolete. Use one of the latin input methods instead. + +*** zone-mode.el is now obsolete. Use dns-mode.el instead. + +*** cplus-md.el has been deleted. + +** Miscellaneous + +*** The variable `woman-topic-at-point' is renamed +to `woman-use-topic-at-point' and behaves differently: if this +variable is non-nil, the `woman' command uses the word at point +automatically, without asking for a confirmation. Otherwise, the word +at point is suggested as default, but not inserted at the prompt. + +*** You can now customize `fill-nobreak-predicate' to control where +filling can break lines. The value is now normally a list of +functions, but it can also be a single function, for compatibility. + +Emacs provide two predicates, `fill-single-word-nobreak-p' and +`fill-french-nobreak-p', for use as the value of +`fill-nobreak-predicate'. + +*** M-x view-file and commands that use it now avoid interfering +with special modes such as Tar mode. + +*** `global-whitespace-mode' is a new alias for `whitespace-global-mode'. + +*** The saveplace.el package now filters out unreadable files. + +When you exit Emacs, the saved positions in visited files no longer +include files that aren't readable, e.g. files that don't exist. +Customize the new option `save-place-forget-unreadable-files' to nil +to get the old behavior. The new options `save-place-save-skipped' +and `save-place-skip-check-regexp' allow further fine-tuning of this +feature. + +*** Commands `winner-redo' and `winner-undo', from winner.el, are now +bound to C-c and C-c , respectively. This is an +incompatible change. + +*** The type-break package now allows `type-break-file-name' to be nil +and if so, doesn't store any data across sessions. This is handy if +you don't want the `.type-break' file in your home directory or are +annoyed by the need for interaction when you kill Emacs. + +*** `ps-print' can now print characters from the mule-unicode charsets. + +Printing text with characters from the mule-unicode-* sets works with +`ps-print', provided that you have installed the appropriate BDF +fonts. See the file INSTALL for URLs where you can find these fonts. + +*** New command `strokes-global-set-stroke-string'. +This is like `strokes-global-set-stroke', but it allows you to bind +the stroke directly to a string to insert. This is convenient for +using strokes as an input method. + +*** In Outline mode, `hide-body' no longer hides lines at the top +of the file that precede the first header line. + +*** `hide-ifdef-mode' now uses overlays rather than selective-display +to hide its text. This should be mostly transparent but slightly +changes the behavior of motion commands like C-e and C-p. + +*** In Artist mode the variable `artist-text-renderer' has been +renamed to `artist-text-renderer-function'. The old name is still +available as alias. + +*** In Enriched mode, `set-left-margin' and `set-right-margin' are now +by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' +and `C-c C-r'. + +*** `partial-completion-mode' now handles partial completion on directory names. + +*** You can now disable pc-selection-mode after enabling it. + +M-x pc-selection-mode behaves like a proper minor mode, and with no +argument it toggles the mode. Turning off PC-Selection mode restores +the global key bindings that were replaced by turning on the mode. + +*** `uniquify-strip-common-suffix' tells uniquify to prefer +`file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'. + +*** New user option `add-log-always-start-new-record'. + +When this option is enabled, M-x add-change-log-entry always +starts a new record regardless of when the last record is. + +*** M-x compare-windows now can automatically skip non-matching text to +resync points in both windows. + +*** PO translation files are decoded according to their MIME headers +when Emacs visits them. + +*** Telnet now prompts you for a port number with C-u M-x telnet. + +*** calculator.el now has radix grouping mode. + +To enable this, set `calculator-output-radix' non-nil. In this mode a +separator character is used every few digits, making it easier to see +byte boundaries etc. For more info, see the documentation of the +variable `calculator-radix-grouping-mode'. + +*** LDAP support now defaults to ldapsearch from OpenLDAP version 2. + +*** The terminal emulation code in term.el has been improved; it can +run most curses applications now. + +*** Support for `magic cookie' standout modes has been removed. + +Emacs still works on terminals that require magic cookies in order to +use standout mode, but they can no longer display mode-lines in +inverse-video. + + +* Changes in Emacs 22.1 on non-free operating systems + +** The HOME directory defaults to Application Data under the user profile. + +If you used a previous version of Emacs without setting the HOME +environment variable and a `.emacs' was saved, then Emacs will continue +using C:/ as the default HOME. But if you are installing Emacs afresh, +the default location will be the "Application Data" (or similar +localized name) subdirectory of your user profile. A typical location +of this directory is "C:\Documents and Settings\USERNAME\Application Data", +where USERNAME is your user name. + +This change means that users can now have their own `.emacs' files on +shared computers, and the default HOME directory is less likely to be +read-only on computers that are administered by someone else. + +** Images are now supported on MS Windows. + +PBM and XBM images are supported out of the box. Other image formats +depend on external libraries. All of these libraries have been ported +to Windows, and can be found in both source and binary form at +http://gnuwin32.sourceforge.net/. Note that libpng also depends on +zlib, and tiff depends on the version of jpeg that it was compiled +against. For additional information, see nt/INSTALL. + +** Sound is now supported on MS Windows. + +WAV format is supported on all versions of Windows, other formats such +as AU, AIFF and MP3 may be supported in the more recent versions of +Windows, or when other software provides hooks into the system level +sound support for those formats. + +** Tooltips now work on MS Windows. + +See the Emacs 21.1 NEWS entry for tooltips for details. + +** Pointing devices with more than 3 buttons are now supported on MS Windows. + +The new variable `w32-pass-extra-mouse-buttons-to-system' controls +whether Emacs should handle the extra buttons itself (the default), or +pass them to Windows to be handled with system-wide functions. + +** Passing resources on the command line now works on MS Windows. + +You can use --xrm to pass resource settings to Emacs, overriding any +existing values. For example: + + emacs --xrm "Emacs.Background:red" --xrm "Emacs.Geometry:100x20" + +will start up Emacs on an initial frame of 100x20 with red background, +irrespective of geometry or background setting on the Windows registry. + +** Emacs takes note of colors defined in Control Panel on MS-Windows. + +The Control Panel defines some default colors for applications in much +the same way as wildcard X Resources do on X. Emacs now adds these +colors to the colormap prefixed by System (eg SystemMenu for the +default Menu background, SystemMenuText for the foreground), and uses +some of them to initialize some of the default faces. +`list-colors-display' shows the list of System color names, in case +you wish to use them in other faces. + +** Running in a console window in Windows now uses the console size. + +Previous versions of Emacs erred on the side of having a usable Emacs +through telnet, even though that was inconvenient if you use Emacs in +a local console window with a scrollback buffer. The default value of +w32-use-full-screen-buffer is now nil, which favors local console +windows. Recent versions of Windows telnet also work well with this +setting. If you are using an older telnet server then Emacs detects +that the console window dimensions that are reported are not sane, and +defaults to 80x25. If you use such a telnet server regularly at a size +other than 80x25, you can still manually set +w32-use-full-screen-buffer to t. + +** Different shaped mouse pointers are supported on MS Windows. + +The mouse pointer changes shape depending on what is under the pointer. + +** On MS Windows, the "system caret" now follows the cursor. + +This enables Emacs to work better with programs that need to track the +cursor, for example screen magnifiers and text to speech programs. +When such a program is in use, the system caret is made visible +instead of Emacs drawing its own cursor. This seems to be required by +some programs. The new variable w32-use-visible-system-caret allows +the caret visibility to be manually toggled. + +** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations. + +Those systems use Unicode internally, so this allows Emacs to share +multilingual text with other applications. On other versions of +MS Windows, Emacs now uses the appropriate locale coding-system, so +the clipboard should work correctly for your local language without +any customizations. + +** On Mac OS, `keyboard-coding-system' changes based on the keyboard script. + +** The variable `mac-keyboard-text-encoding' and the constants +`kTextEncodingMacRoman', `kTextEncodingISOLatin1', and +`kTextEncodingISOLatin2' are obsolete. + +** The variable `mac-command-key-is-meta' is obsolete. Use +`mac-command-modifier' and `mac-option-modifier' instead. + +* Incompatible Lisp Changes in Emacs 22.1 + +** Mode line display ignores text properties as well as the +:propertize and :eval forms in the value of a variable whose +`risky-local-variable' property is nil. + +The function `comint-send-input' now accepts 3 optional arguments: + + (comint-send-input &optional no-newline artificial) + +Callers sending input not from the user should use bind the 3rd +argument `artificial' to a non-nil value, to prevent Emacs from +deleting the part of subprocess output that matches the input. + +** The `read-file-name' function now returns a null string if the +user just types RET. + +** The variables post-command-idle-hook and post-command-idle-delay have +been removed. Use run-with-idle-timer instead. + +** A hex or octal escape in a string constant forces the string to +be multibyte or unibyte, respectively. + +** The explicit method of creating a display table element by +combining a face number and a character code into a numeric +glyph code is deprecated. + +Instead, the new functions `make-glyph-code', `glyph-char', and +`glyph-face' must be used to create and decode glyph codes in +display tables. + +** `suppress-keymap' now works by remapping `self-insert-command' to +the command `undefined'. (In earlier Emacs versions, it used +`substitute-key-definition' to rebind self inserting characters to +`undefined'.) + +** The third argument of `accept-process-output' is now milliseconds. +It used to be microseconds. + +** The function find-operation-coding-system may be called with a cons +(FILENAME . BUFFER) in the second argument if the first argument +OPERATION is `insert-file-contents', and thus a function registered in +`file-coding-system-alist' is also called with such an argument. + +** When Emacs receives a USR1 or USR2 signal, this generates +input events: sigusr1 or sigusr2. Use special-event-map to +handle these events. + +** The variable `memory-full' now remains t until +there is no longer a shortage of memory. + +** Support for Mocklisp has been removed. + + +* Lisp Changes in Emacs 22.1 + +** General Lisp changes: + +*** New syntax: \s now stands for the SPACE character. + +`?\s' is a new way to write the space character. You must make sure +it is not followed by a dash, since `?\s-...' indicates the "super" +modifier. However, it would be strange to write a character constant +and a following symbol (beginning with `-') with no space between +them. + +`\s' stands for space in strings, too, but it is not really meant for +strings; it is easier and nicer just to write a space. + +*** New syntax: \uXXXX and \UXXXXXXXX specify Unicode code points in hex. + +For instance, you can use "\u0428" to specify a string consisting of +CYRILLIC CAPITAL LETTER SHA, or `"U0001D6E2" to specify one consisting +of MATHEMATICAL ITALIC CAPITAL ALPHA (the latter is greater than +#xFFFF and thus needs the longer syntax). + +This syntax works for both character constants and strings. + +*** New function `unsafep' determines whether a Lisp form is safe. + +It returns nil if the given Lisp form can't possibly do anything +dangerous; otherwise it returns a reason why the form might be unsafe +(calls unknown function, alters global variable, etc.). + +*** The function `eql' is now available without requiring the CL package. + +*** The new function `memql' is like `memq', but uses `eql' for comparison, +that is, floats are compared by value and other elements with `eq'. + +*** New functions `string-or-null-p' and `booleanp'. + +`string-or-null-p' returns non-nil if OBJECT is a string or nil. +`booleanp' returns non-nil if OBJECT is t or nil. + +*** `makehash' is now obsolete. Use `make-hash-table' instead. + +*** Minor change in the function `format'. + +Some flags that were accepted but not implemented (such as "*") are no +longer accepted. + +*** `add-to-list' takes an optional third argument, APPEND. + +If APPEND is non-nil, the new element gets added at the end of the +list instead of at the beginning. This change actually occurred in +Emacs 21.1, but was not documented then. + +*** New function `add-to-ordered-list' is like `add-to-list' but +associates a numeric ordering of each element added to the list. + +*** New function `add-to-history' adds an element to a history list. + +Lisp packages should use this function to add elements to their +history lists. + +If `history-delete-duplicates' is non-nil, it removes duplicates of +the new element from the history list it updates. + +*** New function `copy-tree' makes a copy of a tree. + +It recursively copies through both CARs and CDRs. + +*** New function `delete-dups' deletes `equal' duplicate elements from a list. + +It modifies the list destructively, like `delete'. Of several `equal' +occurrences of an element in the list, the one that's kept is the +first one. + +*** New function `rassq-delete-all'. + +(rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose +CDR is `eq' to the specified value. + +*** Functions `get' and `plist-get' no longer give errors for bad plists. + +They return nil for a malformed property list or if the list is +cyclic. + +*** New functions `lax-plist-get' and `lax-plist-put'. + +They are like `plist-get' and `plist-put', except that they compare +the property name using `equal' rather than `eq'. + +*** The function `number-sequence' makes a list of equally-separated numbers. + +For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). By +default, the separation is 1, but you can specify a different +separation as the third argument. (number-sequence 1.5 6 2) returns +(1.5 3.5 5.5). + +*** New variables `most-positive-fixnum' and `most-negative-fixnum'. + +They hold the largest and smallest possible integer values. + +*** The function `expt' handles negative exponents differently. +The value for `(expt A B)', if both A and B are integers and B is +negative, is now a float. For example: (expt 2 -2) => 0.25. + +*** The function `atan' now accepts an optional second argument. + +When called with 2 arguments, as in `(atan Y X)', `atan' returns the +angle in radians between the vector [X, Y] and the X axis. (This is +equivalent to the standard C library function `atan2'.) + +*** New macro `with-case-table' + +This executes the body with the case table temporarily set to a given +case table. + +*** New macro `with-local-quit' temporarily allows quitting. + +A quit inside the body of `with-local-quit' is caught by the +`with-local-quit' form itself, but another quit will happen later once +the code that has inhibited quitting exits. + +This is for use around potentially blocking or long-running code +inside timer functions and `post-command-hook' functions. + +*** New macro `define-obsolete-function-alias'. + +This combines `defalias' and `make-obsolete'. + +*** New macro `eval-at-startup' specifies expressions to +evaluate when Emacs starts up. If this is done after startup, +it evaluates those expressions immediately. + +This is useful in packages that can be preloaded. + +*** New function `macroexpand-all' expands all macros in a form. + +It is similar to the Common-Lisp function of the same name. +One difference is that it guarantees to return the original argument +if no expansion is done, which can be tested using `eq'. + +*** A function or macro's doc string can now specify the calling pattern. + +You put this info in the doc string's last line. It should be +formatted so as to match the regexp "\n\n(fn .*)\\'". If you don't +specify this explicitly, Emacs determines it from the actual argument +names. Usually that default is right, but not always. + +*** New variable `print-continuous-numbering'. + +When this is non-nil, successive calls to print functions use a single +numbering scheme for circular structure references. This is only +relevant when `print-circle' is non-nil. + +When you bind `print-continuous-numbering' to t, you should +also bind `print-number-table' to nil. + +*** `list-faces-display' takes an optional argument, REGEXP. + +If it is non-nil, the function lists only faces matching this regexp. + +*** New hook `command-error-function'. + +By setting this variable to a function, you can control +how the editor command loop shows the user an error message. + +*** `debug-on-entry' accepts primitive functions that are not special forms. + +** Lisp code indentation features: + +*** The `defmacro' form can contain indentation and edebug declarations. + +These declarations specify how to indent the macro calls in Lisp mode +and how to debug them with Edebug. You write them like this: + + (defmacro NAME LAMBDA-LIST [DOC-STRING] [DECLARATION ...] ...) + +DECLARATION is a list `(declare DECLARATION-SPECIFIER ...)'. The +possible declaration specifiers are: + +(indent INDENT) + Set NAME's `lisp-indent-function' property to INDENT. + +(edebug DEBUG) + Set NAME's `edebug-form-spec' property to DEBUG. (This is + equivalent to writing a `def-edebug-spec' for the macro, + but this is cleaner.) + +*** cl-indent now allows customization of Indentation of backquoted forms. + +See the new user option `lisp-backquote-indentation'. + +*** cl-indent now handles indentation of simple and extended `loop' forms. + +The new user options `lisp-loop-keyword-indentation', +`lisp-loop-forms-indentation', and `lisp-simple-loop-indentation' can +be used to customize the indentation of keywords and forms in loop +forms. + +** Variable aliases: + +*** New function: defvaralias ALIAS-VAR BASE-VAR [DOCSTRING] + +This function defines the symbol ALIAS-VAR as a variable alias for +symbol BASE-VAR. This means that retrieving the value of ALIAS-VAR +returns the value of BASE-VAR, and changing the value of ALIAS-VAR +changes the value of BASE-VAR. + +DOCSTRING, if present, is the documentation for ALIAS-VAR; else it has +the same documentation as BASE-VAR. + +*** The macro `define-obsolete-variable-alias' combines `defvaralias' and +`make-obsolete-variable'. + +*** New function: indirect-variable VARIABLE + +This function returns the variable at the end of the chain of aliases +of VARIABLE. If VARIABLE is not a symbol, or if VARIABLE is not +defined as an alias, the function returns VARIABLE. + +It might be noteworthy that variables aliases work for all kinds of +variables, including buffer-local and frame-local variables. + +** defcustom changes: + +*** The package-version keyword has been added to provide +`customize-changed-options' functionality to packages in the future. +Developers who make use of this keyword must also update the new +variable `customize-package-emacs-version-alist'. + +*** The new customization type `float' requires a floating point number. + +** String changes: + +*** A hex escape in a string constant forces the string to be multibyte. + +*** An octal escape in a string constant forces the string to be unibyte. + +*** New function `string-to-multibyte' converts a unibyte string to a +multibyte string with the same individual character codes. + +*** `split-string' now includes null substrings in the returned list if +the optional argument SEPARATORS is non-nil and there are matches for +SEPARATORS at the beginning or end of the string. If SEPARATORS is +nil, or if the new optional third argument OMIT-NULLS is non-nil, all +empty matches are omitted from the returned list. + +*** The new function `assoc-string' replaces `assoc-ignore-case' and +`assoc-ignore-representation', which are still available, but have +been declared obsolete. + +*** New function `substring-no-properties' returns a substring without +text properties. + +** Displaying warnings to the user. + +See the functions `warn' and `display-warning', or the Lisp Manual. +If you want to be sure the warning will not be overlooked, this +facility is much better than using `message', since it displays +warnings in a separate window. + +** Progress reporters. + +These provide a simple and uniform way for commands to present +progress messages for the user. + +See the new functions `make-progress-reporter', +`progress-reporter-update', `progress-reporter-force-update', +`progress-reporter-done', and `dotimes-with-progress-reporter'. + +** Buffer positions: + +*** Function `compute-motion' now calculates the usable window +width if the WIDTH argument is nil. If the TOPOS argument is nil, +the usable window height and width is used. + +*** The `line-move', `scroll-up', and `scroll-down' functions will now +modify the window vscroll to scroll through display rows that are +taller that the height of the window, for example in the presence of +large images. To disable this feature, bind the new variable +`auto-window-vscroll' to nil. + +*** The argument to `forward-word', `backward-word' is optional. + +It defaults to 1. + +*** Argument to `forward-to-indentation' and `backward-to-indentation' is optional. + +It defaults to 1. + +*** `field-beginning' and `field-end' take new optional argument, LIMIT. + +This argument tells them not to search beyond LIMIT. Instead they +give up and return LIMIT. + +*** New function `window-line-height' is an efficient way to get +information about a specific text line in a window provided that the +window's display is up-to-date. + +*** New function `line-number-at-pos' returns the line number of a position. + +It an optional buffer position argument that defaults to point. + +*** Function `pos-visible-in-window-p' now returns the pixel coordinates +and partial visibility state of the corresponding row, if the PARTIALLY +arg is non-nil. + +*** New functions `posn-at-point' and `posn-at-x-y' return +click-event-style position information for a given visible buffer +position or for a given window pixel coordinate. + +*** New function `mouse-on-link-p' tests if a position is in a clickable link. + +This is the function used by the new `mouse-1-click-follows-link' +functionality. + +** Text modification: + +*** The new function `buffer-chars-modified-tick' returns a buffer's +tick counter for changes to characters. Each time text in that buffer +is inserted or deleted, the character-change counter is updated to the +tick counter (`buffer-modified-tick'). Text property changes leave it +unchanged. + +*** The new function `insert-for-yank' normally works like `insert', but +removes the text properties in the `yank-excluded-properties' list +and handles the `yank-handler' text property. + +*** The new function `insert-buffer-substring-as-yank' is like +`insert-for-yank' except that it gets the text from another buffer as +in `insert-buffer-substring'. + +*** The new function `insert-buffer-substring-no-properties' is like +`insert-buffer-substring', but removes all text properties from the +inserted substring. + +*** The new function `filter-buffer-substring' extracts a buffer +substring, passes it through a set of filter functions, and returns +the filtered substring. Use it instead of `buffer-substring' or +`delete-and-extract-region' when copying text into a user-accessible +data structure, such as the kill-ring, X clipboard, or a register. + +The list of filter function is specified by the new variable +`buffer-substring-filters'. For example, Longlines mode adds to +`buffer-substring-filters' to remove soft newlines from the copied +text. + +*** Function `translate-region' accepts also a char-table as TABLE +argument. + +*** The new translation table `translation-table-for-input' +is used for customizing self-insertion. The character to +be inserted is translated through it. + +*** Text clones. + +The new function `text-clone-create'. Text clones are chunks of text +that are kept identical by transparently propagating changes from one +clone to the other. + +*** The function `insert-string' is now obsolete. + +** Filling changes. + +*** In determining an adaptive fill prefix, Emacs now tries the function in +`adaptive-fill-function' _before_ matching the buffer line against +`adaptive-fill-regexp' rather than _after_ it. + +** Atomic change groups. + +To perform some changes in the current buffer "atomically" so that +they either all succeed or are all undone, use `atomic-change-group' +around the code that makes changes. For instance: + + (atomic-change-group + (insert foo) + (delete-region x y)) + +If an error (or other nonlocal exit) occurs inside the body of +`atomic-change-group', it unmakes all the changes in that buffer that +were during the execution of the body. The change group has no effect +on any other buffers--any such changes remain. + +If you need something more sophisticated, you can directly call the +lower-level functions that `atomic-change-group' uses. Here is how. + +To set up a change group for one buffer, call `prepare-change-group'. +Specify the buffer as argument; it defaults to the current buffer. +This function returns a "handle" for the change group. You must save +the handle to activate the change group and then finish it. + +Before you change the buffer again, you must activate the change +group. Pass the handle to `activate-change-group' afterward to +do this. + +After you make the changes, you must finish the change group. You can +either accept the changes or cancel them all. Call +`accept-change-group' to accept the changes in the group as final; +call `cancel-change-group' to undo them all. + +You should use `unwind-protect' to make sure the group is always +finished. The call to `activate-change-group' should be inside the +`unwind-protect', in case the user types C-g just after it runs. +(This is one reason why `prepare-change-group' and +`activate-change-group' are separate functions.) Once you finish the +group, don't use the handle again--don't try to finish the same group +twice. + +To make a multibuffer change group, call `prepare-change-group' once +for each buffer you want to cover, then use `nconc' to combine the +returned values, like this: + + (nconc (prepare-change-group buffer-1) + (prepare-change-group buffer-2)) + +You can then activate the multibuffer change group with a single call +to `activate-change-group', and finish it with a single call to +`accept-change-group' or `cancel-change-group'. + +Nested use of several change groups for the same buffer works as you +would expect. Non-nested use of change groups for the same buffer +will lead to undesirable results, so don't let it happen; the first +change group you start for any given buffer should be the last one +finished. + +** Buffer-related changes: + +*** The new function `buffer-local-value' returns the buffer-local +binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not +have a buffer-local binding in buffer BUFFER, it returns the default +value of VARIABLE instead. + +*** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST. + +If it is non-nil, it specifies which buffers to list. + +*** `kill-buffer-hook' is now a permanent local. + +*** The function `frame-or-buffer-changed-p' now lets you maintain +various status records in parallel. + +It takes a variable (a symbol) as argument. If the variable is non-nil, +then its value should be a vector installed previously by +`frame-or-buffer-changed-p'. If the frame names, buffer names, buffer +order, or their read-only or modified flags have changed, since the +time the vector's contents were recorded by a previous call to +`frame-or-buffer-changed-p', then the function returns t. Otherwise +it returns nil. + +On the first call to `frame-or-buffer-changed-p', the variable's +value should be nil. `frame-or-buffer-changed-p' stores a suitable +vector into the variable and returns t. + +If the variable is itself nil, then `frame-or-buffer-changed-p' uses, +for compatibility, an internal variable which exists only for this +purpose. + +*** The function `read-buffer' follows the convention for reading from +the minibuffer with a default value: if DEF is non-nil, the minibuffer +prompt provided in PROMPT is edited to show the default value provided +in DEF before the terminal colon and space. + +** Searching and matching changes: + +*** New function `looking-back' checks whether a regular expression matches +the text before point. Specifying the LIMIT argument bounds how far +back the match can start; this is a way to keep it from taking too long. + +*** The new variable `search-spaces-regexp' controls how to search +for spaces in a regular expression. If it is non-nil, it should be a +regular expression, and any series of spaces stands for that regular +expression. If it is nil, spaces stand for themselves. + +Spaces inside of constructs such as `[..]' and inside loops such as +`*', `+', and `?' are never replaced with `search-spaces-regexp'. + +*** New regular expression operators, `\_<' and `\_>'. + +These match the beginning and end of a symbol. A symbol is a +non-empty sequence of either word or symbol constituent characters, as +specified by the syntax table. + +*** `skip-chars-forward' and `skip-chars-backward' now handle +character classes such as `[:alpha:]', along with individual +characters and ranges. + +*** In `replace-match', the replacement text no longer inherits +properties from surrounding text. + +*** The list returned by `(match-data t)' now has the buffer as a final +element, if the last match was on a buffer. `set-match-data' +accepts such a list for restoring the match state. + +*** Functions `match-data' and `set-match-data' now have an optional +argument `reseat'. When non-nil, all markers in the match data list +passed to these functions will be reseated to point to nowhere. + +*** rx.el has new corresponding `symbol-start' and `symbol-end' elements. + +*** The default value of `sentence-end' is now defined using the new +variable `sentence-end-without-space', which contains such characters +that end a sentence without following spaces. + +The function `sentence-end' should be used to obtain the value of the +variable `sentence-end'. If the variable `sentence-end' is nil, then +this function returns the regexp constructed from the variables +`sentence-end-without-period', `sentence-end-double-space' and +`sentence-end-without-space'. + +** Undo changes: + +*** `buffer-undo-list' allows programmable elements. + +These elements have the form (apply FUNNAME . ARGS), where FUNNAME is +a symbol other than t or nil. That stands for a high-level change +that should be undone by evaluating (apply FUNNAME ARGS). + +These entries can also have the form (apply DELTA BEG END FUNNAME . ARGS) +which indicates that the change which took place was limited to the +range BEG...END and increased the buffer size by DELTA. + +*** If the buffer's undo list for the current command gets longer than +`undo-outer-limit', garbage collection empties it. This is to prevent +it from using up the available memory and choking Emacs. + +** Killing and yanking changes: + +*** New `yank-handler' text property can be used to control how +previously killed text on the kill ring is reinserted. + +The value of the `yank-handler' property must be a list with one to four +elements with the following format: + (FUNCTION PARAM NOEXCLUDE UNDO). + +The `insert-for-yank' function looks for a yank-handler property on +the first character on its string argument (typically the first +element on the kill-ring). If a `yank-handler' property is found, +the normal behavior of `insert-for-yank' is modified in various ways: + + When FUNCTION is present and non-nil, it is called instead of `insert' +to insert the string. FUNCTION takes one argument--the object to insert. + If PARAM is present and non-nil, it replaces STRING as the object +passed to FUNCTION (or `insert'); for example, if FUNCTION is +`yank-rectangle', PARAM should be a list of strings to insert as a +rectangle. + If NOEXCLUDE is present and non-nil, the normal removal of the +`yank-excluded-properties' is not performed; instead FUNCTION is +responsible for removing those properties. This may be necessary +if FUNCTION adjusts point before or after inserting the object. + If UNDO is present and non-nil, it is a function that will be called +by `yank-pop' to undo the insertion of the current object. It is +called with two arguments, the start and end of the current region. +FUNCTION can set `yank-undo-function' to override the UNDO value. + +*** The functions `kill-new', `kill-append', and `kill-region' now have an +optional argument to specify the `yank-handler' text property to put on +the killed text. + +*** The function `yank-pop' will now use a non-nil value of the variable +`yank-undo-function' (instead of `delete-region') to undo the previous +`yank' or `yank-pop' command (or a call to `insert-for-yank'). The function +`insert-for-yank' automatically sets that variable according to the UNDO +element of the string argument's `yank-handler' text property if present. + +*** The function `insert-for-yank' now supports strings where the +`yank-handler' property does not span the first character of the +string. The old behavior is available if you call +`insert-for-yank-1' instead. + +** Syntax table changes: + +*** The new function `syntax-ppss' provides an efficient way to find the +current syntactic context at point. + +*** The new function `syntax-after' returns the syntax code +of the character after a specified buffer position, taking account +of text properties as well as the character code. + +*** `syntax-class' extracts the class of a syntax code (as returned +by `syntax-after'). + +*** The macro `with-syntax-table' no longer copies the syntax table. + +** File operation changes: + +*** New vars `exec-suffixes' and `load-suffixes' used when +searching for an executable or an Emacs Lisp file. + +*** New function `locate-file' searches for a file in a list of directories. +`locate-file' accepts a name of a file to search (a string), and two +lists: a list of directories to search in and a list of suffixes to +try; typical usage might use `exec-path' and `load-path' for the list +of directories, and `exec-suffixes' and `load-suffixes' for the list +of suffixes. The function also accepts a predicate argument to +further filter candidate files. + +One advantage of using this function is that the list of suffixes in +`exec-suffixes' is OS-dependant, so this function will find +executables without polluting Lisp code with OS dependencies. + +*** The new function `file-remote-p' tests a file name and returns +non-nil if it specifies a remote file (one that Emacs accesses using +its own special methods and not directly through the file system). +The value in that case is an identifier for the remote file system. + +*** The new hook `before-save-hook' is invoked by `basic-save-buffer' +before saving buffers. This allows packages to perform various final +tasks. For example, it can be used by the copyright package to make +sure saved files have the current year in any copyright headers. + +*** `file-chase-links' now takes an optional second argument LIMIT which +specifies the maximum number of links to chase through. If after that +many iterations the file name obtained is still a symbolic link, +`file-chase-links' returns it anyway. + +*** Functions `file-name-sans-extension' and `file-name-extension' now +ignore the leading dots in file names, so that file names such as +`.emacs' are treated as extensionless. + +*** If `buffer-save-without-query' is non-nil in some buffer, +`save-some-buffers' will always save that buffer without asking (if +it's modified). + +*** `buffer-auto-save-file-format' is the new name for what was +formerly called `auto-save-file-format'. It is now a permanent local. + +*** `visited-file-modtime' and `calendar-time-from-absolute' now return +a list of two integers, instead of a cons. + +*** The precedence of file name handlers has been changed. + +Instead of choosing the first handler that matches, +`find-file-name-handler' now gives precedence to a file name handler +that matches nearest the end of the file name. More precisely, the +handler whose (match-beginning 0) is the largest is chosen. In case +of ties, the old "first matched" rule applies. + +*** A file name handler can declare which operations it handles. + +You do this by putting an `operation' property on the handler name +symbol. The property value should be a list of the operations that +the handler really handles. It won't be called for any other +operations. + +This is useful for autoloaded handlers, to prevent them from being +autoloaded when not really necessary. + +*** The function `make-auto-save-file-name' is now handled by file +name handlers. This will be exploited for remote files mainly. + +*** The function `file-name-completion' accepts an optional argument +PREDICATE, and rejects completion candidates that don't satisfy PREDICATE. + +*** The new primitive `set-file-times' sets a file's access and +modification times. Magic file name handlers can handle this +operation. + +** Input changes: + +*** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that +display a prompt but don't use the minibuffer, now display the prompt +using the text properties (esp. the face) of the prompt string. + +*** The functions `read-event', `read-char', and `read-char-exclusive' +have a new optional argument SECONDS. If non-nil, this specifies a +maximum time to wait for input, in seconds. If no input arrives after +this time elapses, the functions stop waiting and return nil. + +*** An interactive specification can now use the code letter `U' to get +the up-event that was discarded in case the last key sequence read for a +previous `k' or `K' argument was a down-event; otherwise nil is used. + +*** The new interactive-specification `G' reads a file name +much like `F', but if the input is a directory name (even defaulted), +it returns just the directory name. + +*** (while-no-input BODY...) runs BODY, but only so long as no input +arrives. If the user types or clicks anything, BODY stops as if a +quit had occurred. `while-no-input' returns the value of BODY, if BODY +finishes. It returns nil if BODY was aborted by a quit, and t if +BODY was aborted by arrival of input. + +*** `recent-keys' now returns the last 300 keys. + +** Minibuffer changes: + +*** The new function `minibufferp' returns non-nil if its optional +buffer argument is a minibuffer. If the argument is omitted, it +defaults to the current buffer. + +*** New function `minibuffer-selected-window' returns the window which +was selected when entering the minibuffer. + +*** The `read-file-name' function now takes an additional argument which +specifies a predicate which the file name read must satisfy. The +new variable `read-file-name-predicate' contains the predicate argument +while reading the file name from the minibuffer; the predicate in this +variable is used by read-file-name-internal to filter the completion list. + +*** The new variable `read-file-name-function' can be used by Lisp code +to override the built-in `read-file-name' function. + +*** The new variable `read-file-name-completion-ignore-case' specifies +whether completion ignores case when reading a file name with the +`read-file-name' function. + +*** The new function `read-directory-name' is for reading a directory name. + +It is like `read-file-name' except that the defaulting works better +for directories, and completion inside it shows only directories. + +*** The new variable `history-add-new-input' specifies whether to add new +elements in history. If set to nil, minibuffer reading functions don't +add new elements to the history list, so it is possible to do this +afterwards by calling `add-to-history' explicitly. + +** Completion changes: + +*** The new function `minibuffer-completion-contents' returns the contents +of the minibuffer just before point. That is what completion commands +operate on. + +*** The functions `all-completions' and `try-completion' now accept lists +of strings as well as hash-tables additionally to alists, obarrays +and functions. Furthermore, the function `test-completion' is now +exported to Lisp. The keys in alists and hash tables can be either +strings or symbols, which are automatically converted with to strings. + +*** The new macro `dynamic-completion-table' supports using functions +as a dynamic completion table. + + (dynamic-completion-table FUN) + +FUN is called with one argument, the string for which completion is required, +and it should return an alist containing all the intended possible +completions. This alist can be a full list of possible completions so that FUN +can ignore the value of its argument. If completion is performed in the +minibuffer, FUN will be called in the buffer from which the minibuffer was +entered. `dynamic-completion-table' then computes the completion. + +*** The new macro `lazy-completion-table' initializes a variable +as a lazy completion table. + + (lazy-completion-table VAR FUN) + +If the completion table VAR is used for the first time (e.g., by passing VAR +as an argument to `try-completion'), the function FUN is called with no +arguments. FUN must return the completion table that will be stored in VAR. +If completion is requested in the minibuffer, FUN will be called in the buffer +from which the minibuffer was entered. The return value of +`lazy-completion-table' must be used to initialize the value of VAR. + +** Abbrev changes: + +*** `define-abbrev' now accepts an optional argument SYSTEM-FLAG. + +If non-nil, this marks the abbrev as a "system" abbrev, which means +that it won't be stored in the user's abbrevs file if he saves the +abbrevs. Major modes that predefine some abbrevs should always +specify this flag. + +*** The new function `copy-abbrev-table' copies an abbrev table. + +It returns a new abbrev table that is a copy of a given abbrev table. + +** Enhancements to keymaps. + +*** Cleaner way to enter key sequences. + +You can enter a constant key sequence in a more natural format, the +same one used for saving keyboard macros, using the macro `kbd'. For +example, + +(kbd "C-x C-f") => "\^x\^f" + +Actually, this format has existed since Emacs 20.1. + +*** Interactive commands can be remapped through keymaps. + +This is an alternative to using `defadvice' or `substitute-key-definition' +to modify the behavior of a key binding using the normal keymap +binding and lookup functionality. + +When a key sequence is bound to a command, and that command is +remapped to another command, that command is run instead of the +original command. + +Example: +Suppose that minor mode `my-mode' has defined the commands +`my-kill-line' and `my-kill-word', and it wants C-k (and any other key +bound to `kill-line') to run the command `my-kill-line' instead of +`kill-line', and likewise it wants to run `my-kill-word' instead of +`kill-word'. + +Instead of rebinding C-k and the other keys in the minor mode map, +command remapping allows you to directly map `kill-line' into +`my-kill-line' and `kill-word' into `my-kill-word' using `define-key': + + (define-key my-mode-map [remap kill-line] 'my-kill-line) + (define-key my-mode-map [remap kill-word] 'my-kill-word) + +When `my-mode' is enabled, its minor mode keymap is enabled too. So +when the user types C-k, that runs the command `my-kill-line'. + +Only one level of remapping is supported. In the above example, this +means that if `my-kill-line' is remapped to `other-kill', then C-k still +runs `my-kill-line'. + +The following changes have been made to provide command remapping: + +- Command remappings are defined using `define-key' with a prefix-key + `remap', i.e. `(define-key MAP [remap CMD] DEF)' remaps command CMD + to definition DEF in keymap MAP. The definition is not limited to + another command; it can be anything accepted for a normal binding. + +- The new function `command-remapping' returns the binding for a + remapped command in the current keymaps, or nil if not remapped. + +- `key-binding' now remaps interactive commands unless the optional + third argument NO-REMAP is non-nil. + +- `where-is-internal' now returns nil for a remapped command (e.g. + `kill-line', when `my-mode' is enabled), and the actual key binding for + the command it is remapped to (e.g. C-k for my-kill-line). + It also has a new optional fifth argument, NO-REMAP, which inhibits + remapping if non-nil (e.g. it returns "C-k" for `kill-line', and + "" for `my-kill-line'). + +- The new variable `this-original-command' contains the original + command before remapping. It is equal to `this-command' when the + command was not remapped. + +*** The definition of a key-binding passed to define-key can use XEmacs-style +key-sequences, such as [(control a)]. + +*** New keymaps for typing file names + +Two new keymaps, `minibuffer-local-filename-completion-map' and +`minibuffer-local-must-match-filename-map', apply whenever +Emacs reads a file name in the minibuffer. These key maps override +the usual binding of SPC to `minibuffer-complete-word' (so that file +names with embedded spaces could be typed without the need to quote +the spaces). + +*** New function `current-active-maps' returns a list of currently +active keymaps. + +*** New function `describe-buffer-bindings' inserts the list of all +defined keys and their definitions. + +*** New function `keymap-prompt' returns the prompt string of a keymap. + +*** If text has a `keymap' property, that keymap takes precedence +over minor mode keymaps. + +*** The `keymap' property now also works at the ends of overlays and +text properties, according to their stickiness. This also means that it +works with empty overlays. The same hold for the `local-map' property. + +*** `key-binding' will now look up mouse-specific bindings. The +keymaps consulted by `key-binding' will get adapted if the key +sequence is started with a mouse event. Instead of letting the click +position be determined from the key sequence itself, it is also +possible to specify it with an optional argument explicitly. + +*** `define-key-after' now accepts keys longer than 1. + +*** (map-keymap FUNCTION KEYMAP) applies the function to each binding +in the keymap. + +*** New variable `emulation-mode-map-alists'. + +Lisp packages using many minor mode keymaps can now maintain their own +keymap alist separate from `minor-mode-map-alist' by adding their +keymap alist to this list. + +*** Dense keymaps now handle inheritance correctly. + +Previously a dense keymap would hide all of the simple-char key +bindings of the parent keymap. + +** Enhancements to process support + +*** Adaptive read buffering of subprocess output. + +On some systems, when Emacs reads the output from a subprocess, the +output data is read in very small blocks, potentially resulting in +very poor performance. This behavior can be remedied to some extent +by setting the new variable `process-adaptive-read-buffering' to a +non-nil value (the default), as it will automatically delay reading +from such processes, allowing them to produce more output before +Emacs tries to read it. + +*** Processes now have an associated property list where programs can +maintain process state and other per-process related information. + +Use the new functions `process-get' and `process-put' to access, add, +and modify elements on this property list. Use the new functions +`process-plist' and `set-process-plist' to access and replace the +entire property list of a process. + +*** Function `list-processes' now has an optional argument; if non-nil, +it lists only the processes whose query-on-exit flag is set. + +*** New fns `set-process-query-on-exit-flag' and `process-query-on-exit-flag'. + +These replace the old function `process-kill-without-query'. That +function is still supported, but new code should use the new +functions. + +*** The new function `call-process-shell-command'. + +This executes a shell command synchronously in a separate process. + +*** The new function `process-file' is similar to `call-process', but +obeys file handlers. The file handler is chosen based on +`default-directory'. + +*** Function `signal-process' now accepts a process object or process +name in addition to a process id to identify the signaled process. + +*** Function `accept-process-output' has a new optional fourth arg +JUST-THIS-ONE. If non-nil, only output from the specified process +is handled, suspending output from other processes. If value is an +integer, also inhibit running timers. This feature is generally not +recommended, but may be necessary for specific applications, such as +speech synthesis. + +*** A process filter function gets the output as multibyte string +if the process specifies t for its filter's multibyteness. + +That multibyteness is decided by the value of +`default-enable-multibyte-characters' when the process is created, and +you can change it later with `set-process-filter-multibyte'. + +*** The new function `set-process-filter-multibyte' sets the +multibyteness of the strings passed to the process's filter. + +*** The new function `process-filter-multibyte-p' returns the +multibyteness of the strings passed to the process's filter. + +*** If a process's coding system is `raw-text' or `no-conversion' and its +buffer is multibyte, the output of the process is at first converted +to multibyte by `string-to-multibyte' then inserted in the buffer. +Previously, it was converted to multibyte by `string-as-multibyte', +which was not compatible with the behavior of file reading. + +** Enhanced networking support. + +*** The new `make-network-process' function makes network connections. +It allows opening of stream and datagram connections to a server, as well as +create a stream or datagram server inside Emacs. + +- A server is started using :server t arg. +- Datagram connection is selected using :type 'datagram arg. +- A server can open on a random port using :service t arg. +- Local sockets are supported using :family 'local arg. +- IPv6 is supported (when available). You may explicitly select IPv6 + using :family 'ipv6 arg. +- Non-blocking connect is supported using :nowait t arg. +- The process' property list can be initialized using :plist PLIST arg; + a copy of the server process' property list is automatically inherited + by new client processes created to handle incoming connections. + +To test for the availability of a given feature, use featurep like this: + (featurep 'make-network-process '(:type datagram)) + (featurep 'make-network-process '(:family ipv6)) + +*** The old `open-network-stream' now uses `make-network-process'. + +*** `process-contact' has an optional KEY argument. + +Depending on this argument, you can get the complete list of network +process properties or a specific property. Using :local or :remote as +the KEY, you get the address of the local or remote end-point. + +An Inet address is represented as a 5 element vector, where the first +4 elements contain the IP address and the fifth is the port number. + +*** New functions `stop-process' and `continue-process'. + +These functions stop and restart communication through a network +connection. For a server process, no connections are accepted in the +stopped state. For a client process, no input is received in the +stopped state. + +*** New function `format-network-address'. + +This function reformats the Lisp representation of a network address +to a printable string. For example, an IP address A.B.C.D and port +number P is represented as a five element vector [A B C D P], and the +printable string returned for this vector is "A.B.C.D:P". See the doc +string for other formatting options. + +*** New function `network-interface-list'. + +This function returns a list of network interface names and their +current network addresses. + +*** New function `network-interface-info'. + +This function returns the network address, hardware address, current +status, and other information about a specific network interface. + +*** New functions `process-datagram-address', `set-process-datagram-address'. + +These functions are used with datagram-based network processes to get +and set the current address of the remote partner. + +*** Deleting a network process with `delete-process' calls the sentinel. + +The status message passed to the sentinel for a deleted network +process is "deleted". The message passed to the sentinel when the +connection is closed by the remote peer has been changed to +"connection broken by remote peer". + +** Using window objects: + +*** You can now make a window as short as one line. + +A window that is just one line tall does not display either a mode +line or a header line, even if the variables `mode-line-format' and +`header-line-format' call for them. A window that is two lines tall +cannot display both a mode line and a header line at once; if the +variables call for both, only the mode line actually appears. + +*** The new function `window-inside-edges' returns the edges of the +actual text portion of the window, not including the scroll bar or +divider line, the fringes, the display margins, the header line and +the mode line. + +*** The new functions `window-pixel-edges' and `window-inside-pixel-edges' +return window edges in units of pixels, rather than columns and lines. + +*** New function `window-body-height'. + +This is like `window-height' but does not count the mode line or the +header line. + +*** The new function `adjust-window-trailing-edge' moves the right +or bottom edge of a window. It does not move other window edges. + +*** The new macro `with-selected-window' temporarily switches the +selected window without impacting the order of `buffer-list'. +It saves and restores the current buffer, too. + +*** `select-window' takes an optional second argument NORECORD. + +This is like `switch-to-buffer'. + +*** `save-selected-window' now saves and restores the selected window +of every frame. This way, it restores everything that can be changed +by calling `select-window'. It also saves and restores the current +buffer. + +*** `set-window-buffer' has an optional argument KEEP-MARGINS. + +If non-nil, that says to preserve the window's current margin, fringe, +and scroll-bar settings. + +*** The new function `window-tree' returns a frame's window tree. + +*** The functions `get-lru-window' and `get-largest-window' take an optional +argument `dedicated'. If non-nil, those functions do not ignore +dedicated windows. + +** Customizable fringe bitmaps + +*** There are new display properties, `left-fringe' and `right-fringe', +that can be used to show a specific bitmap in the left or right fringe +bitmap of the display line. + +Format is `display (left-fringe BITMAP [FACE])', where BITMAP is a +symbol identifying a fringe bitmap, either built-in or defined with +`define-fringe-bitmap', and FACE is an optional face name to be used +for displaying the bitmap instead of the default `fringe' face. +When specified, FACE is automatically merged with the `fringe' face. + +*** New buffer-local variables `fringe-indicator-alist' and +`fringe-cursor-alist' maps between logical (internal) fringe indicator +and cursor symbols and the actual fringe bitmaps to be displayed. +This decouples the logical meaning of the fringe indicators from the +physical appearance, as well as allowing different fringe bitmaps to +be used in different windows showing different buffers. + +*** New function `define-fringe-bitmap' can now be used to create new +fringe bitmaps, as well as change the built-in fringe bitmaps. + +*** New function `destroy-fringe-bitmap' deletes a fringe bitmap +or restores a built-in one to its default value. + +*** New function `set-fringe-bitmap-face' specifies the face to be +used for a specific fringe bitmap. The face is automatically merged +with the `fringe' face, so normally, the face should only specify the +foreground color of the bitmap. + +*** New function `fringe-bitmaps-at-pos' returns the current fringe +bitmaps in the display line at a given buffer position. + +** Other window fringe features: + +*** Controlling the default left and right fringe widths. + +The default left and right fringe widths for all windows of a frame +can now be controlled by setting the `left-fringe' and `right-fringe' +frame parameters to an integer value specifying the width in pixels. +Setting the width to 0 effectively removes the corresponding fringe. + +The actual default fringe widths for the frame may deviate from the +specified widths, since the combined fringe widths must match an +integral number of columns. The extra width is distributed evenly +between the left and right fringe. To force a specific fringe width, +specify the width as a negative integer (if both widths are negative, +only the left fringe gets the specified width). + +Setting the width to nil (the default), restores the default fringe +width which is the minimum number of pixels necessary to display any +of the currently defined fringe bitmaps. The width of the built-in +fringe bitmaps is 8 pixels. + +*** Per-window fringe and scrollbar settings + +**** Windows can now have their own individual fringe widths and +position settings. + +To control the fringe widths of a window, either set the buffer-local +variables `left-fringe-width', `right-fringe-width', or call +`set-window-fringes'. + +To control the fringe position in a window, that is, whether fringes +are positioned between the display margins and the window's text area, +or at the edges of the window, either set the buffer-local variable +`fringes-outside-margins' or call `set-window-fringes'. + +The function `window-fringes' can be used to obtain the current +settings. To make `left-fringe-width', `right-fringe-width', and +`fringes-outside-margins' take effect, you must set them before +displaying the buffer in a window, or use `set-window-buffer' to force +an update of the display margins. + +**** Windows can now have their own individual scroll-bar settings +controlling the width and position of scroll-bars. + +To control the scroll-bar of a window, either set the buffer-local +variables `scroll-bar-mode' and `scroll-bar-width', or call +`set-window-scroll-bars'. The function `window-scroll-bars' can be +used to obtain the current settings. To make `scroll-bar-mode' and +`scroll-bar-width' take effect, you must set them before displaying +the buffer in a window, or use `set-window-buffer' to force an update +of the display margins. + +** Redisplay features: + +*** `sit-for' can now be called with args (SECONDS &optional NODISP). + +*** Iconifying or deiconifying a frame no longer makes sit-for return. + +*** New function `redisplay' causes an immediate redisplay if no input is +available, equivalent to (sit-for 0). The call (redisplay t) forces +an immediate redisplay even if input is pending. + +*** New function `force-window-update' can initiate a full redisplay of +one or all windows. Normally, this is not needed as changes in window +contents are detected automatically. However, certain implicit +changes to mode lines, header lines, or display properties may require +forcing an explicit window update. + +*** (char-displayable-p CHAR) returns non-nil if Emacs ought to be able +to display CHAR. More precisely, if the selected frame's fontset has +a font to display the character set that CHAR belongs to. + +Fontsets can specify a font on a per-character basis; when the fontset +does that, this value cannot be accurate. + +*** You can define multiple overlay arrows via the new +variable `overlay-arrow-variable-list'. + +It contains a list of variables which contain overlay arrow position +markers, including the original `overlay-arrow-position' variable. + +Each variable on this list can have individual `overlay-arrow-string' +and `overlay-arrow-bitmap' properties that specify an overlay arrow +string (for non-window terminals) or fringe bitmap (for window +systems) to display at the corresponding overlay arrow position. +If either property is not set, the default `overlay-arrow-string' or +'overlay-arrow-fringe-bitmap' will be used. + +*** New `line-height' and `line-spacing' properties for newline characters + +A newline can now have `line-height' and `line-spacing' text or overlay +properties that control the height of the corresponding display row. + +If the `line-height' property value is t, the newline does not +contribute to the height of the display row; instead the height of the +newline glyph is reduced. Also, a `line-spacing' property on this +newline is ignored. This can be used to tile small images or image +slices without adding blank areas between the images. + +If the `line-height' property value is a positive integer, the value +specifies the minimum line height in pixels. If necessary, the line +height it increased by increasing the line's ascent. + +If the `line-height' property value is a float, the minimum line +height is calculated by multiplying the default frame line height by +the given value. + +If the `line-height' property value is a cons (FACE . RATIO), the +minimum line height is calculated as RATIO * height of named FACE. +RATIO is int or float. If FACE is t, it specifies the current face. + +If the `line-height' property value is a cons (nil . RATIO), the line +height is calculated as RATIO * actual height of the line's contents. + +If the `line-height' value is a cons (HEIGHT . TOTAL), HEIGHT specifies +the line height as described above, while TOTAL is any of the forms +described above and specifies the total height of the line, causing a +varying number of pixels to be inserted after the line to make it line +exactly that many pixels high. + +If the `line-spacing' property value is an positive integer, the value +is used as additional pixels to insert after the display line; this +overrides the default frame `line-spacing' and any buffer local value of +the `line-spacing' variable. + +If the `line-spacing' property is a float or cons, the line spacing +is calculated as specified above for the `line-height' property. + +*** The buffer local `line-spacing' variable can now have a float value, +which is used as a height relative to the default frame line height. + +*** Enhancements to stretch display properties + +The display property stretch specification form `(space PROPS)', where +PROPS is a property list, now allows pixel based width and height +specifications, as well as enhanced horizontal text alignment. + +The value of these properties can now be a (primitive) expression +which is evaluated during redisplay. The following expressions +are supported: + +EXPR ::= NUM | (NUM) | UNIT | ELEM | POS | IMAGE | FORM +NUM ::= INTEGER | FLOAT | SYMBOL +UNIT ::= in | mm | cm | width | height +ELEM ::= left-fringe | right-fringe | left-margin | right-margin + | scroll-bar | text +POS ::= left | center | right +FORM ::= (NUM . EXPR) | (OP EXPR ...) +OP ::= + | - + +The form `NUM' specifies a fractional width or height of the default +frame font size. The form `(NUM)' specifies an absolute number of +pixels. If a symbol is specified, its buffer-local variable binding +is used. The `in', `mm', and `cm' units specifies the number of +pixels per inch, milli-meter, and centi-meter, resp. The `width' and +`height' units correspond to the width and height of the current face +font. An image specification corresponds to the width or height of +the image. + +The `left-fringe', `right-fringe', `left-margin', `right-margin', +`scroll-bar', and `text' elements specify to the width of the +corresponding area of the window. + +The `left', `center', and `right' positions can be used with :align-to +to specify a position relative to the left edge, center, or right edge +of the text area. One of the above window elements (except `text') +can also be used with :align-to to specify that the position is +relative to the left edge of the given area. Once the base offset for +a relative position has been set (by the first occurrence of one of +these symbols), further occurrences of these symbols are interpreted as +the width of the area. + +For example, to align to the center of the left-margin, use + :align-to (+ left-margin (0.5 . left-margin)) + +If no specific base offset is set for alignment, it is always relative +to the left edge of the text area. For example, :align-to 0 in a +header line aligns with the first text column in the text area. + +The value of the form `(NUM . EXPR)' is the value of NUM multiplied by +the value of the expression EXPR. For example, (2 . in) specifies a +width of 2 inches, while (0.5 . IMAGE) specifies half the width (or +height) of the specified image. + +The form `(+ EXPR ...)' adds up the value of the expressions. +The form `(- EXPR ...)' negates or subtracts the value of the expressions. + +*** Normally, the cursor is displayed at the end of any overlay and +text property string that may be present at the current window +position. The cursor can now be placed on any character of such +strings by giving that character a non-nil `cursor' text property. + +*** The display space :width and :align-to text properties are now +supported on text terminals. + +*** Support for displaying image slices + +**** New display property (slice X Y WIDTH HEIGHT) can be used with +an image property to display only a specific slice of the image. + +**** Function `insert-image' has new optional fourth arg to +specify image slice (X Y WIDTH HEIGHT). + +**** New function `insert-sliced-image' inserts a given image as a +specified number of evenly sized slices (rows x columns). + +*** Images can now have an associated image map via the :map property. + +An image map is an alist where each element has the format (AREA ID PLIST). +An AREA is specified as either a rectangle, a circle, or a polygon: +A rectangle is a cons (rect . ((X0 . Y0) . (X1 . Y1))) specifying the +pixel coordinates of the upper left and bottom right corners. +A circle is a cons (circle . ((X0 . Y0) . R)) specifying the center +and the radius of the circle; R can be a float or integer. +A polygon is a cons (poly . [X0 Y0 X1 Y1 ...]) where each pair in the +vector describes one corner in the polygon. + +When the mouse pointer is above a hot-spot area of an image, the +PLIST of that hot-spot is consulted; if it contains a `help-echo' +property it defines a tool-tip for the hot-spot, and if it contains +a `pointer' property, it defines the shape of the mouse cursor when +it is over the hot-spot. See the variable `void-area-text-pointer' +for possible pointer shapes. + +When you click the mouse when the mouse pointer is over a hot-spot, +an event is composed by combining the ID of the hot-spot with the +mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'. + +*** The function `find-image' now searches in etc/images/ and etc/. +The new variable `image-load-path' is a list of locations in which to +search for image files. The default is to search in etc/images, then +in etc/, and finally in the directories specified by `load-path'. +Subdirectories of etc/ and etc/images are not recursively searched; if +you put an image file in a subdirectory, you have to specify it +explicitly; for example, if an image is put in etc/images/foo/bar.xpm: + + (defimage foo-image '((:type xpm :file "foo/bar.xpm"))) + +Note that all images formerly located in the lisp directory have been +moved to etc/images. + +*** New function `image-load-path-for-library' returns a suitable +search path for images relative to library. This function is useful in +external packages to save users from having to update +`image-load-path'. + +*** The new variable `max-image-size' defines the maximum size of +images that Emacs will load and display. + +*** The new variable `display-mm-dimensions-alist' can be used to +override incorrect graphical display dimensions returned by functions +`display-mm-height' and `display-mm-width'. + +** Mouse pointer features: + +*** The mouse pointer shape in void text areas (i.e. after the end of a +line or below the last line in the buffer) of the text window is now +controlled by the new variable `void-text-area-pointer'. The default +is to use the `arrow' (non-text) pointer. Other choices are `text' +(or nil), `hand', `vdrag', `hdrag', `modeline', and `hourglass'. + +*** The mouse pointer shape over an image can now be controlled by the +:pointer image property. + +*** The mouse pointer shape over ordinary text or images can now be +controlled/overridden via the `pointer' text property. + +** Mouse event enhancements: + +*** All mouse events now include a buffer position regardless of where +you clicked. For mouse clicks in window margins and fringes, this is +a sensible buffer position corresponding to the surrounding text. + +*** Mouse events for clicks on window fringes now specify `left-fringe' +or `right-fringe' as the area. + +*** Mouse events include actual glyph column and row for all event types +and all areas. + +*** Mouse events can now indicate an image object clicked on. + +*** Mouse events include relative X and Y pixel coordinates relative to +the top left corner of the object (image or character) clicked on. + +*** Mouse events include the pixel width and height of the object +(image or character) clicked on. + +*** Function `mouse-set-point' now works for events outside text area. + +*** `posn-point' now returns buffer position for non-text area events. + +*** New function `posn-area' returns window area clicked on (nil means +text area). + +*** New function `posn-actual-col-row' returns the actual glyph coordinates +of the mouse event position. + +*** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'. + +These return the image or string object of a mouse click, the X and Y +pixel coordinates relative to the top left corner of that object, and +the total width and height of that object. + +** Text property and overlay changes: + +*** Arguments for `remove-overlays' are now optional, so that you can +remove all overlays in the buffer with just (remove-overlays). + +*** New variable `char-property-alias-alist'. + +This variable allows you to create alternative names for text +properties. It works at the same level as `default-text-properties', +although it applies to overlays as well. This variable was introduced +to implement the `font-lock-face' property. + +*** New function `get-char-property-and-overlay' accepts the same +arguments as `get-char-property' and returns a cons whose car is the +return value of `get-char-property' called with those arguments and +whose cdr is the overlay in which the property was found, or nil if +it was found as a text property or not found at all. + +*** The new function `remove-list-of-text-properties'. + +It is like `remove-text-properties' except that it takes a list of +property names as argument rather than a property list. + +** Face changes + +*** The variable `facemenu-unlisted-faces' has been removed. +Emacs has a lot more faces than in the past, and nearly all of them +needed to be excluded. The new variable `facemenu-listed-faces' lists +the faces to include in the face menu. + +*** The new face attribute condition `min-colors' can be used to tailor +the face color to the number of colors supported by a display, and +define the foreground and background colors accordingly so that they +look best on a terminal that supports at least this many colors. This +is now the preferred method for defining default faces in a way that +makes a good use of the capabilities of the display. + +*** New function `display-supports-face-attributes-p' can be used to test +whether a given set of face attributes is actually displayable. + +A new predicate `supports' has also been added to the `defface' face +specification language, which can be used to do this test for faces +defined with `defface'. + +*** The special treatment of faces whose names are of the form `fg:COLOR' +or `bg:COLOR' has been removed. Lisp programs should use the +`defface' facility for defining faces with specific colors, or use +the feature of specifying the face attributes :foreground and :background +directly in the `face' property instead of using a named face. + +*** The first face specification element in a defface can specify +`default' instead of frame classification. Then its attributes act as +defaults that apply to all the subsequent cases (and can be overridden +by them). + +*** The function `face-differs-from-default-p' now truly checks +whether the given face displays differently from the default face or +not (previously it did only a very cursory check). + +*** `face-attribute', `face-foreground', `face-background', `face-stipple'. + +These now accept a new optional argument, INHERIT, which controls how +face inheritance is used when determining the value of a face +attribute. + +*** New functions `face-attribute-relative-p' and `merge-face-attribute' +help with handling relative face attributes. + +*** The priority of faces in an :inherit attribute face list is reversed. + +If a face contains an :inherit attribute with a list of faces, earlier +faces in the list override later faces in the list; in previous +releases of Emacs, the order was the opposite. This change was made +so that :inherit face lists operate identically to face lists in text +`face' properties. + +*** The variable `face-font-rescale-alist' specifies how much larger +(or smaller) font we should use. For instance, if the value is +'((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10 +point, we actually use a font of 13 point if the font matches +SOME-FONTNAME-PATTERN. + +*** On terminals, faces with the :inverse-video attribute are displayed +with swapped foreground and background colors even when one of them is +not specified. In previous releases of Emacs, if either foreground +or background color was unspecified, colors were not swapped. This +was inconsistent with the face behavior under X. + +*** `set-fontset-font', `fontset-info', `fontset-font' now operate on +the default fontset if the argument NAME is nil.. + +** Font-Lock changes: + +*** New special text property `font-lock-face'. + +This property acts like the `face' property, but it is controlled by +M-x font-lock-mode. It is not, strictly speaking, a builtin text +property. Instead, it is implemented inside font-core.el, using the +new variable `char-property-alias-alist'. + +*** font-lock can manage arbitrary text-properties beside `face'. + +**** the FACENAME returned in `font-lock-keywords' can be a list of the +form (face FACE PROP1 VAL1 PROP2 VAL2 ...) so you can set other +properties than `face'. + +**** `font-lock-extra-managed-props' can be set to make sure those +extra properties are automatically cleaned up by font-lock. + +*** jit-lock obeys a new text-property `jit-lock-defer-multiline'. + +If a piece of text with that property gets contextually refontified +(see `jit-lock-defer-contextually'), then all of that text will +be refontified. This is useful when the syntax of a textual element +depends on text several lines further down (and when `font-lock-multiline' +is not appropriate to solve that problem). For example in Perl: + + s{ + foo + }{ + bar + }e + +Adding/removing the last `e' changes the `bar' from being a piece of +text to being a piece of code, so you'd put a `jit-lock-defer-multiline' +property over the second half of the command to force (deferred) +refontification of `bar' whenever the `e' is added/removed. + +*** `font-lock-extend-region-functions' makes it possible to alter the way +the fontification region is chosen. This can be used to prevent rounding +up to whole lines, or to extend the region to include all related lines +of multiline constructs so that such constructs get properly recognized. + +** Major mode mechanism changes: + +*** New variable `magic-mode-alist' determines major mode for a file by +looking at the file contents. It takes precedence over `auto-mode-alist'. + +*** New variable `magic-fallback-mode-alist' determines major mode for a file by +looking at the file contents. It is handled after `auto-mode-alist', +only if `auto-mode-alist' (and `magic-mode-alist') says nothing about the file. + +*** XML or SGML major mode is selected when file starts with an ` ) + (if (boundp 'foo) form +won't produce a warning if it's not defined as a function, and in the +second case, using `foo' as a variable won't produce a warning if it's +unbound. The test must be in exactly one of the above forms (after +macro expansion), but such tests can be nested. Note that `when' and +`unless' expand to `if', but `cond' doesn't. + +*** `(featurep 'xemacs)' is treated by the compiler as nil. This +helps to avoid noisy compiler warnings in code meant to run under both +Emacs and XEmacs and can sometimes make the result significantly more +efficient. Since byte code from recent versions of XEmacs won't +generally run in Emacs and vice versa, this optimization doesn't lose +you anything. + +*** The local variable `no-byte-compile' in Lisp files is now obeyed. + +*** When a Lisp file uses CL functions at run-time, compiling the file +now issues warnings about these calls, unless the file performs +(require 'cl) when loaded. + +** Frame operations: + +*** New functions `frame-current-scroll-bars' and `window-current-scroll-bars'. + +These functions return the current locations of the vertical and +horizontal scroll bars in a frame or window. + +*** The new function `modify-all-frames-parameters' modifies parameters +for all (existing and future) frames. + +*** The new frame parameter `tty-color-mode' specifies the mode to use +for color support on character terminal frames. Its value can be a +number of colors to support, or a symbol. See the Emacs Lisp +Reference manual for more detailed documentation. + +*** When using non-toolkit scroll bars with the default width, +the `scroll-bar-width' frame parameter value is nil. + +** Mode line changes: + +*** New function `format-mode-line'. + +This returns the mode line or header line of the selected (or a +specified) window as a string with or without text properties. + +*** The new mode-line construct `(:propertize ELT PROPS...)' can be +used to add text properties to mode-line elements. + +*** The new `%i' and `%I' constructs for `mode-line-format' can be used +to display the size of the accessible part of the buffer on the mode +line. + +*** Mouse-face on mode-line (and header-line) is now supported. + +** Menu manipulation changes: + +*** To manipulate the File menu using easy-menu, you must specify the +proper name "file". In previous Emacs versions, you had to specify +"files", even though the menu item itself was changed to say "File" +several versions ago. + +*** The dummy function keys made by easy-menu are now always lower case. +If you specify the menu item name "Ada", for instance, it uses `ada' +as the "key" bound by that key binding. + +This is relevant only if Lisp code looks for the bindings that were +made with easy-menu. + +*** `easy-menu-define' now allows you to use nil for the symbol name +if you don't need to give the menu a name. If you install the menu +into other keymaps right away (MAPS is non-nil), it usually doesn't +need to have a name. + +** Mule changes: + +*** Already true in Emacs 21.1, but not emphasized clearly enough: + +Multibyte buffers can now faithfully record all 256 character codes +from 0 to 255. As a result, most of the past reasons to use unibyte +buffers no longer exist. We only know of three reasons to use them +now: + +1. If you prefer to use unibyte text all of the time. + +2. For reading files into temporary buffers, when you want to avoid +the time it takes to convert the format. + +3. For binary files where format conversion would be pointless and +wasteful. + +*** The new variable `auto-coding-functions' lets you specify functions +to examine a file being visited and deduce the proper coding system +for it. (If the coding system is detected incorrectly for a specific +file, you can put a `coding:' tags to override it.) + +*** The new variable `ascii-case-table' stores the case table for the +ascii character set. Language environments (such as Turkish) may +alter the case correspondences of ASCII characters. This variable +saves the original ASCII case table before any such changes. + +*** The new function `merge-coding-systems' fills in unspecified aspects +of one coding system from another coding system. + +*** New coding system property `mime-text-unsuitable' indicates that +the coding system's `mime-charset' is not suitable for MIME text +parts, e.g. utf-16. + +*** New function `decode-coding-inserted-region' decodes a region as if +it is read from a file without decoding. + +*** New CCL functions `lookup-character' and `lookup-integer' access +hash tables defined by the Lisp function `define-translation-hash-table'. + +*** New function `quail-find-key' returns a list of keys to type in the +current input method to input a character. + +*** `set-buffer-file-coding-system' now takes an additional argument, +NOMODIFY. If it is non-nil, it means don't mark the buffer modified. + +** Operating system access: + +*** The new primitive `get-internal-run-time' returns the processor +run time used by Emacs since start-up. + +*** Functions `user-uid' and `user-real-uid' now return floats if the +user UID doesn't fit in a Lisp integer. Function `user-full-name' +accepts a float as UID parameter. + +*** New function `locale-info' accesses locale information. + +*** On MS Windows, locale-coding-system is used to interact with the OS. +The Windows specific variable w32-system-coding-system, which was +formerly used for that purpose is now an alias for locale-coding-system. + +*** New function `redirect-debugging-output' can be used to redirect +debugging output on the stderr file handle to a file. + +** GC changes: + +*** New variable `gc-cons-percentage' automatically grows the GC cons threshold +as the heap size increases. + +*** New variables `gc-elapsed' and `gcs-done' provide extra information +on garbage collection. + +*** The normal hook `post-gc-hook' is run at the end of garbage collection. + +The hook is run with GC inhibited, so use it with care. + +** Miscellaneous: + +*** A number of hooks have been renamed to better follow the conventions: + +`find-file-hooks' to `find-file-hook', +`find-file-not-found-hooks' to `find-file-not-found-functions', +`write-file-hooks' to `write-file-functions', +`write-contents-hooks' to `write-contents-functions', +`x-lost-selection-hooks' to `x-lost-selection-functions', +`x-sent-selection-hooks' to `x-sent-selection-functions', +`delete-frame-hook' to `delete-frame-functions'. + +In each case the old name remains as an alias for the moment. + +*** Variable `local-write-file-hooks' is marked obsolete. + +Use the LOCAL arg of `add-hook'. + +*** New function `x-send-client-message' sends a client message when +running under X. + +* New Packages for Lisp Programming in Emacs 22.1 + +** The new library button.el implements simple and fast `clickable +buttons' in Emacs buffers. Buttons are much lighter-weight than the +`widgets' implemented by widget.el, and can be used by lisp code that +doesn't require the full power of widgets. Emacs uses buttons for +such things as help and apropos buffers. + +** The new library tree-widget.el provides a widget to display a set +of hierarchical data as an outline. For example, the tree-widget is +well suited to display a hierarchy of directories and files. + +** The new library bindat.el provides functions to unpack and pack +binary data structures, such as network packets, to and from Lisp +data structures. + +** master-mode.el implements a minor mode for scrolling a slave +buffer without leaving your current buffer, the master buffer. + +It can be used by sql.el, for example: the SQL buffer is the master +and its SQLi buffer is the slave. This allows you to scroll the SQLi +buffer containing the output from the SQL buffer containing the +commands. + +This is how to use sql.el and master.el together: the variable +sql-buffer contains the slave buffer. It is a local variable in the +SQL buffer. + +(add-hook 'sql-mode-hook + (function (lambda () + (master-mode t) + (master-set-slave sql-buffer)))) +(add-hook 'sql-set-sqli-hook + (function (lambda () + (master-set-slave sql-buffer)))) + +** The new library benchmark.el does timing measurements on Lisp code. + +This includes measuring garbage collection time. + +** The new library testcover.el does test coverage checking. + +This is so you can tell whether you've tested all paths in your Lisp +code. It works with edebug. + +The function `testcover-start' instruments all functions in a given +file. Then test your code. The function `testcover-mark-all' adds +overlay "splotches" to the Lisp file's buffer to show where coverage +is lacking. The command `testcover-next-mark' (bind it to a key!) +will move point forward to the next spot that has a splotch. + +Normally, a red splotch indicates the form was never completely +evaluated; a brown splotch means it always evaluated to the same +value. The red splotches are skipped for forms that can't possibly +complete their evaluation, such as `error'. The brown splotches are +skipped for forms that are expected to always evaluate to the same +value, such as (setq x 14). + +For difficult cases, you can add do-nothing macros to your code to +help out the test coverage tool. The macro `noreturn' suppresses a +red splotch. It is an error if the argument to `noreturn' does +return. The macro `1value' suppresses a brown splotch for its argument. +This macro is a no-op except during test-coverage -- then it signals +an error if the argument actually returns differing values. + + + +---------------------------------------------------------------------- +This file is part of GNU Emacs. + +GNU Emacs is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3, or (at your option) +any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. + + +Local variables: +mode: outline +paragraph-separate: "[ ]*$" +end: + +arch-tag: 1aca9dfa-2ac4-4d14-bebf-0007cee12793 diff --cc lib-src/ChangeLog index f8650c8cc7,089d979381..d726ec108a --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@@ -1,86 -1,7 +1,90 @@@ + 2008-02-27 Yuri Shtil (tiny change) + + * etags.c (Perl_functions): Fix call to skip_spaces. + +2008-02-24 Dan Nicolaescu + + * Makefile.in (NO_SHORTNAMES): + * emacsclient.c (NO_SHORTNAMES): + * fakemail.c (NO_SHORTNAMES): + * make-docfile.c (NO_SHORTNAMES): + * movemail.c (NO_SHORTNAMES): + * pop.c (NO_SHORTNAMES): Remove references to obsolete variable. + +2008-02-23 Jason Rumney + + * makefile.w32-in (MOUSE_SUPPORT): Remove duplicate tooltip.elc. + (MSDOS_SUPPORT, VMS_SUPPORT): Remove. + (OTHER_PLATFORM_SUPPORT): Replace above. Add X specific files too. + (lisp2): Add new languages. + ($(DOC)): Use OTHER_PLATFORM_SUPPORT. + +2008-02-22 Juanma Barranquero + + * makefile.w32-in (lisp2): Remove devanagari.el, kannada.el, + malayalam.el, and tamil.el. Add sinhala.el. + +2008-02-20 Juanma Barranquero + + * emacsclient.c (main) [WINDOWSNT]: Understand DRIVE:NAME, + where NAME is relative to DRIVE'S current directory. + +2008-02-15 Juanma Barranquero + + * emacsclient.c (print_help_and_exit): Show -d option on Windows. + +2008-02-10 Dan Nicolaescu + + * fakemail.c: Undo previous change. + +2008-02-09 Dan Nicolaescu + + * fakemail.c (MAIL_PROGRAM_NAME): Remove unused conditional. + (main): Replace MAIL_PROGRAM_NAME with its value. + + * Makefile.in (REGEXP_IN_LIBC): Remove reference to obsolete variable. + +2008-02-08 Stefan Monnier + + * emacsclient.c (decode_options): Pass --display implicitly if -c + is specified. Only set tty if -t or -c is specified. + +2008-02-04 Jason Rumney + + * makefile.w32-in (lisp1): Use (), not {}. + +2008-02-04 Tom Tromey + + * etags.c: Add "GTY" as synonym for __attribute__. + Update gperf output. + +2008-02-01 Jason Rumney + + * makefile.w32-in (obj): Sync with src/Makefile.in + (TOOLTIP_SUPPORT, WINDOW_SUPPORT): New definitions. + (WINNT_SUPPORT): Add term/w32-win.elc. + (lisp1, lisp2): Sync with lisp in src/Makefile.in. + +2008-02-01 Jason Rumney + + * makefile.w32-in (obj): Add font.o and w32font.o. + +2008-02-01 Zhang Wei (tiny change) + + * lib-src/makefile.w32-in (lisp1): Delete ucs-tables.elc, + utf-8.elc, and latin-*.el. + +2008-01-26 Stefan Monnier + + * emacsclient.c (decode_options): Default to NULL display, as Emacs-22. + Allow the -d option under w32 again, for those rare cases where it + actually does make sense. + +2008-01-25 Juanma Barranquero + + * emacsclient.c (set_tcp_socket): Don't send "\n" after + the authentication string; there's no need to haste. + 2008-01-22 Chong Yidong * pop.c (pop_stat, pop_last): Fix last fix. diff --cc lisp/ChangeLog index 6dc48287ab,df98bb937e..9b9b7eaee7 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,43 -1,3 +1,84 @@@ ++2008-03-01 Stefan Monnier ++ ++ * diff-mode.el (diff-sanity-check-hunk): Only accept an empty line if ++ we still expect more lines. ++ ++2008-03-01 Stefan Monnier ++ ++ * textmodes/fill.el (fill-comment-paragraph): Don't try to do ++ comment-paragraph filling if the commark doesn't match ++ comment-start-skip. ++ ++2008-03-01 Daiki Ueno ++ ++ * international/utf-7.el (utf-7-encode): Never skip the trailing - for ++ the `imap' variant. ++ ++2008-03-01 Jason Rumney ++ ++ * files.el (make-auto-save-file-name): Encode more characters in ++ non-file buffer names. Use url-encoding. ++ ++2008-03-01 Juanma Barranquero ++ ++ * net/net-utils.el (ftp-program): Fix typo in docstring. ++ (ifconfig-program-options, netstat-program-options) ++ (arp-program-options, route-program-options, nslookup-program-options) ++ (ftp-program-options, smbclient-program-options) ++ (dns-lookup-program-options, arp, route): Doc fixes. ++ ++ * progmodes/gdb-ui.el (gdb-pc-address, gdb-source-file-list) ++ (gdb-cpp-define-alist-program, gdb-mouse-jump, gdb-get-buffer-create) ++ (gdb-set-gud-minor-mode-existing-buffers-1, gdb-debug-log): ++ Fix typos in docstrings. ++ (gdb-pending-triggers): Reflow docstring. ++ (gdb, gdb-init-1): Fix typos in docstrings of gud-def definitions. ++ ++2008-03-01 Alan Mackenzie ++ ++ * progmodes/cc-mode.el (c-neutralize-syntax-in-CPP): Fix a bug on ++ typing "#" at EOB. ++ +2008-03-01 Juanma Barranquero + + * emulation/cua-base.el (cua-remap-control-z): Fix typo in docstring. + +2008-02-29 Kim F. Storm + + * emulation/cua-base.el (cua-remap-control-v) + (cua-remap-control-z): New defcustoms. + (cua-mode): Add them to set-after property. + (cua--init-keymaps): Use them. + Add C-x/C-c home, end, next, and prior to cua--prefix-repeat-keymap. + + * help.el (view-emacs-todo): Rename from view-todo. + (describe-gnu-project): Rename from describe-project. Users changed. + (view-help-file): New helper function. + (describe-distribution, describe-copying, describe-gnu-project) + (view-todo, view-order-manuals, view-emacs-problems): Use it. + (view-emacs-debugging, view-external-packages): New commands. + (help-map): Move describe-distribution to C-h C-o (ordering). + Move view-emacs-problems to C-h C-p (problems). + Bind view-emacs-debugging to C-h C-d (debugging). + Bind view-external-packages to C-h C-e (extras). + (help-for-help-internal): Cleanup and align descriptions. + Remove command names to reduce clutter. + +2008-02-29 Nick Roberts + + * vc.el (vc-set-mode-line-busy-indicator): Use shorter message + and quieter face (not a warning). + +2008-02-29 Dan Nicolaescu + + * vc.el (vc-status-crt-marked): New variable. + (vc-status-mode): Make it local. + (vc-status-refresh): Use it to save the marked files. + (vc-update-vc-status-buffer): Use it to restore the marked files. + + * vc-svn.el (vc-svn-after-dir-status): + * vc-hg.el (vc-hg-after-dir-status): Clean up the temporary buffer. + 2008-02-29 Glenn Morris * allout.el (allout-topic-encryption-bullet) diff --cc src/ChangeLog index 7b85671a02,30395e9d61..5e99294d87 --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,9450 -1,28935 +1,9454 @@@ -2008-02-29 Chong Yidong - - * xdisp.c (get_overlay_strings_1): Add missing argument type. - -2008-02-27 YAMAMOTO Mitsuharu - - * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64. - -2008-02-27 Chong Yidong - - * process.c (wait_reading_process_output): Check for window - changes caused by timers. - Suggested by Johan Bockg,Ae(Brd. - -2008-02-26 Chong Yidong - - * editfns.c (Fformat): Doc fix. - -2008-02-25 Chong Yidong - - * keyboard.c (command_loop_1): Revert 2006-10-09 change. - -2008-02-24 Jason Rumney - - * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode. - -2008-02-24 Ulrich Neumerkel (tiny change) - - * xterm.c (x_set_offset): Don't change the gravity if - CHANGE_GRAVITY is -1. - -2008-02-19 Stefan Monnier - - * intervals.h (INT_LISPLIKE): Remove. It may misfire. - (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it. - -2008-02-18 Jason Rumney - - * w32fns.c (Fw32_shell_execute): Encode parameters. - -2008-02-15 Jason Rumney - - * w32term.c (x_draw_glyph_string_background): Clear the background - manually when cleartype is in use. - (x_draw_glyph_string_foreground): Draw text transparently when - cleartype is in use. - -2008-02-09 Eli Zaretskii - - * fileio.c (syms_of_fileio) : Doc fix. - -2008-02-05 Jason Rumney - - * w32term.c (w32_read_socket) : Use locale-coding-system - instead of using mule-unicode-* charsets directly. - -2008-02-05 Juanma Barranquero - - * unexec.c (make_hdr): - * unexhp9k800.c (read_header): Replace `legal' with `valid'. - -2008-02-04 YAMAMOTO Mitsuharu - - * macterm.c [MAC_OSX] (fn_keycode_to_keycode_table): Add more entries - that ignore kEventKeyModifierFnMask. - (XTread_socket) [MAC_OSX]: Move code for ignoring - kEventKeyModifierFnMask for some keys ... - (mac_mapped_modifiers) [MAC_OSX]: ... to here. Add argument KEY_CODE. - All callers changed. - (mac_to_emacs_modifiers): New argument UNMAPPED_MODS. - All callers changed. - (mac_quit_char_key_p, XTread_socket): Get Emacs modifiers from - mapped modifiers together with original ones. - -2008-02-01 Kenichi Handa - - * ccl.c (CCL_WRITE_CHAR): Fix overflow checking. - (CCL_WRITE_MULTIBYTE_CHAR): Likewise. - -2008-01-31 Kenichi Handa - - * keyboard.c (make_ctrl_char): If C is a multibyte character, just - return it ORed with ctrl_modifier. - -2008-01-26 Thien-Thi Nguyen - - * fns.c (Fclrhash): Return TABLE. - -2008-01-21 YAMAMOTO Mitsuharu - - * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p. - (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p - is set even without positional changes. - (x_scroll_bar_clear): Set bar->redraw_needed_p. - - * macterm.h (struct scroll_bar): New member `redraw_needed_p'. - -2008-01-19 Kenichi Handa - - * coding.c (detect_coding_iso2022): New arg latin_extra_code_state. - Allow Latin extra codes only when *latin_extra_code_state is nonzero. - (detect_coding_mask): If there is a NULL byte, detect the encoding - as UTF-16 or binary. If Latin extra codes exist, detect the encoding - as ISO-2022 only when no other proper encoding is found. - -2008-01-17 Jason Rumney - - * xterm.c (handle_one_xevent): Revert to counting chars not bytes. - - * w32term.c (w32_read_socket) : Decode characters outside - the unicode range available in MULE by locale-coding-system. - Improve dbcs lead byte detection. Set event timestamp and modifiers - earlier. - -2008-01-17 Glenn Morris - - * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according - to HAVE_X86_64_LIB64_DIR. - -2008-01-11 YAMAMOTO Mitsuharu - - * mac.c (mac_emacs_pid) [MAC_OSX]: New variable. - [MAC_OSX] (init_mac_osx_environment): Initialize it. - [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0 - when used on child processes. - -2008-01-10 Chong Yidong - - * process.c (wait_reading_process_output): Check for window - changes caused by timers. - -2008-01-08 Glenn Morris - - * emacs.c (main): Set copyright year to 2008. - -2008-01-07 YAMAMOTO Mitsuharu - - * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of - #ifdef MAC_OS. - -2008-01-04 Richard Stallman - - * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes. - -2007-12-24 YAMAMOTO Mitsuharu - - * process.c (make_process): Initialize pty_flag to Qnil instead of 0 - as it is not a bit field on Emacs 22 yet. - - * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area. - -2007-12-23 YAMAMOTO Mitsuharu - - * macmenu.c (fill_menubar) [MAC_OSX]: Add workaround for Mac OS X 10.5 - about not changing Help menu title. - -2007-12-22 Eli Zaretskii - - * callint.c (syms_of_callint) : Add reference to - history-length in the doc string. - -2007-12-17 Jason Rumney - - * w32fns.c (w32_wnd_proc) : Cast char to unsigned - before passing as wParam. - -2007-12-14 Jason Rumney - - * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT - for characters above 127. - -2007-12-13 Jason Rumney - - * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check - before dereferencing array. - (lookup_vk_code): Remove zero comparison. - -2007-12-02 Magnus Henoch - - * process.c (make_process): Initialize pty_flag to 0. - -2007-12-02 Jason Rumney - - * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly - specified XBMs. - -2007-12-01 Richard Stallman - - * xdisp.c (syms_of_xdisp) : Doc fix. - -2007-11-30 YAMAMOTO Mitsuharu - - * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]: - New variable. - (mac_try_close_socket) [MAC_OSX]: New function. - [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: - Update cfsockets_for_select. Replace invalid CFRunLoop source. - - * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]: - Use mac_try_close_socket. - -2007-11-28 Petr Salinger (tiny change) - - * s/gnu-kfreebsd.h: New file. - -2007-11-27 YAMAMOTO Mitsuharu - - * unexmacosx.c (unrelocate): New argument BASE. Use it instead of - reloc_base. - (copy_dysymtab): Compute relocation base here. - (rebase_reloc_address) [__ppc64__]: New function. - (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be - changed. - -2007-11-26 Jason Rumney - - * w32proc.c (sys_spawnve): Quote args with wildcards. - -2007-11-26 Andreas Schwab - - * process.c (list_processes_1): Fix indentation level of the - command column. - -2007-11-24 YAMAMOTO Mitsuharu - - * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and - __objc_* sections. - (unrelocate) [_LP64]: Set relocation base to address of data segment. - -2007-11-23 Andreas Schwab - - * editfns.c (Fformat): Handle %c specially since it requires the - argument to be of type int. - -2007-11-22 Jan Dj,Ad(Brv - - * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if - file for image is nil. - -2007-11-19 Jason Rumney - - * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font): CreateFileMapping - returns NULL on failure. - -2007-11-16 Stefan Monnier - - * search.c (Fset_match_data): Remove the `evaporate' feature. - (unwind_set_match_data): Don't use the `evaporate' feature. - -2007-11-15 Andreas Schwab - - * editfns.c (Fformat): Correctly format EMACS_INT values. - Also take precision into account when formatting an integer. - -2007-11-15 Juanma Barranquero - - * macfns.c (Fx_create_frame, Fx_display_pixel_width) - (Fx_display_pixel_height, Fx_display_planes) - (Fx_display_color_cells, Fx_server_max_request_size) - (Fx_server_vendor, Fx_server_version, Fx_display_backing_store) - (Fx_display_visual_class, Fx_display_save_under): - * w32fns.c (Fx_create_frame, Fx_display_pixel_width) - (Fx_display_pixel_height, Fx_display_planes) - (Fx_display_color_cells, Fx_server_max_request_size) - (Fx_server_vendor, Fx_server_version, Fx_display_screens) - (Fx_display_mm_height, Fx_display_mm_width) - (Fx_display_backing_store, Fx_display_visual_class) - (Fw32_select_font, Fx_display_save_under): - * xfns.c (Fx_create_frame, Fx_display_pixel_width) - (Fx_display_pixel_height, Fx_display_planes) - (Fx_display_color_cells, Fx_server_max_request_size) - (Fx_server_vendor, Fx_server_version, Fx_display_backing_store) - (Fx_display_save_under): Fix typos in docstrings. - -2007-11-14 Juanma Barranquero - - * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values - corresponding to deleted entries; they are an implementation detail. - (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits): - Remove variables. - (Fw32_define_rgb_color, Fw32_load_color_file): Fix typos in docstrings. - (Fx_server_version): Reflow docstring. - (Fw32_shell_execute): Doc fixes. - -2007-11-13 Juanma Barranquero - - * w32fns.c (Fw32_register_hot_key): Don't try to register hot key - if w32_parse_hot_key returned nil. - -2007-11-10 Juri Linkov - - * puresize.h (BASE_PURESIZE): Increase to 1130000. - -2007-11-10 Stefan Monnier - - * xdisp.c (load_overlay_strings): Fix copy&paste typo. - -2007-11-07 Chong Yidong - - * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE - twice. - - * xdisp.c (handle_face_prop): Fix last change. - -2007-11-06 Jan Dj,Ad(Brv - - * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and - abort with a message on unhandled store_type values. - -2007-11-04 Richard Stallman - - * xdisp.c (handle_face_prop): Test for strings that came from overlays, - not just for after-strings and before-strings. - Call face_for_overlay_string and pass the overlay to it. - (handle_display_prop): Determine whether property came from an overlay. - Pass OVERLAY arg to handle_single_display_spec. - (handle_single_display_spec): New arg OVERLAY sets it->from_overlay. - (load_overlay_strings): Fill in it->string_overlays. - (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays. - - * xfaces.c (face_for_overlay_string): Function renamed from - face_at_buffer_position_no_overlays, and add arg OVERLAY. - - * dispextern.h (struct it): New elt string_overlays. - New elt from_overlay, also in stack. - Rearrange a few elements. - (face_for_overlay_string): Decl renamed from - face_at_buffer_position_no_overlays, and add argument. - -2007-11-03 Richard Stallman - - * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays - to get the base face for an overlay string. - - * dispextern.h (face_at_buffer_position_no_overlays): Add decl. - - * xfaces.c (face_at_buffer_position_no_overlays): New function. - - * xdisp.c (handle_stop): Move some code out of loop. - -2007-11-01 Johan Bockg,Ae(Brd - - * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string): - Don't set s->stippled_p here, since it has already been set by - x_set_glyph_string_gc from x_draw_glyph_string. - -2007-10-31 YAMAMOTO Mitsuharu - - * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes): - Fix conversion from Lisp object to ATSUFontID. - -2007-10-30 Jason Rumney - - * xdisp.c (Fformat_mode_line): Do nothing when noninteractive. - -2007-10-30 YAMAMOTO Mitsuharu - - * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge): - Don't assume regions are aligned to page boundary. - (print_load_command_name): Add LC_UUID if defined. - -2007-10-30 Richard Stallman - - * emacs.c (syms_of_emacs) : Reflow docstring. - -2007-10-29 Juanma Barranquero - - * emacs.c (syms_of_emacs) : Fix typo in docstring. - : Reflow docstring. - -2007-10-26 Martin Rudalics - - * window.c (window_min_size_2): Don't count header-line. - -2007-10-25 Juanma Barranquero - - * w32.c (init_environment): Fix tiny memory leak. - (w32_get_resource): Remove unused variable `ok'. - -2007-10-24 Jason Rumney - - * w32fns.c: Include math.h. - -2007-10-24 Richard Stallman - - * frame.c (x_figure_window_size): For fullscreen case, - set USPosition | PPosition without clobbering rest of window_prompting. - - * keyboard.c (Fcurrent_idle_time): Doc fix. - - * print.c (Fwith_output_to_temp_buffer): Doc fix. - -2007-10-19 Juanma Barranquero - - * process.c (Fset_process_filter): Doc fix. - -2007-10-17 Glenn Morris - - * minibuf.c (Qcompletion_ignore_case): New Lisp_Object. - (syms_of_minibuf): Add Qcompletion_ignore_case. - * dired.c (Qcompletion_ignore_case): Change to external. - (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case. - * fileio.c (Qcompletion_ignore_case): New external Lisp_Object. - (Fread_file_name): Use it rather than intern'ing. - - * coding.c (Qcompletion_ignore_case): New external Lisp_Object. - (Fread_coding_system): Ignore case of user input. - -2007-10-16 YAMAMOTO Mitsuharu - - * xdisp.c (handle_display_prop): Ignore display specs after - replacing one when string text is being replaced. - (handle_single_display_spec): Pretend as if characters with display - property haven't been consumed only when buffer text is being replaced. - -2007-10-14 Juanma Barranquero - - * eval.c (do_autoload): Don't save autoloads. - - * data.c (Ffset): Save autoload of the function being set. - -2007-10-07 John Paul Wallington - - * xfns.c (x_create_tip_frame): Set the `display-type' frame - parameter before setting up faces. - -2007-10-13 Eli Zaretskii - - * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving - selected frame'' on MSDOS). - -2007-10-12 Martin Rudalics - - * frame.c (Qexplicit_name): New variable. - (x_report_frame_params): Report it in parameter alist. - (syms_of_frame): Intern and staticpro it. - -2007-10-09 Jason Rumney - - * w32term.c (x_set_window_size): Disable code that attempts to tell - Lisp code about a size change before it actually happens. - -2007-10-09 Richard Stallman - - * xdisp.c (handle_invisible_prop): After setting up an ellipsis, - return HANDLED_RETURN. - -2007-10-06 Martin Rudalics - - * keyboard.c (kbd_buffer_get_event): Break loop waiting for input - when there's an unread command event. - - * frame.c (focus_follows_mouse): Moved here from frame.el to allow - window autoselection act appropriately when leaving selected frame. - (syms_of_frame): Initialize focus_follows_mouse. - * frame.h (focus_follows_mouse): Extern it. - * macterm.c (XTread_socket): When focus_follows_mouse is nil - make SELECT_WINDOW_EVENT only if we don't leave the selected - frame. - * msdos.c (dos_rawgetc): Likewise. - * w32term.c (w32_read_socket): Likewise. - * xterm.c (handle_one_xevent): Likewise. - * xdisp.c (syms_of_xdisp): In doc-string of - mouse-autoselect-window mention focus-follows-mouse. - -2007-10-06 Andreas Schwab - - * fileio.c (Fwrite_region): Ignore EINVAL error from fsync. - -2007-10-05 YAMAMOTO Mitsuharu - - * macterm.c (mac_load_query_font): Fix missing return value. - [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap): - Add BLOCK_INPUT. - -2007-10-04 Juanma Barranquero - - * image.c (syms_of_image) : Fix typo in docstring. - -2007-10-02 Richard Stallman - - * xdisp.c (get_window_cursor_type): Implement documented behavior - for cursor-in-non-selected-windows = t. - -2007-10-01 Juanma Barranquero - - * lread.c (Fload): Fix typo in docstring. - -2007-09-29 Juri Linkov - - * emacs.c (standard_args): Change priority of "--no-splash" - from 40 to 3. Add "--no-desktop" with the same priority. - -2007-09-29 Jason Rumney - - * w32.c (w32_get_resource): Always close registry keys. - -2007-09-27 Jason Rumney - - * makefile.w32-in (LIBS): Add COMCTL32. - - * w32fns.c (globals_of_w32fns): Init common controls. - -2007-09-21 Richard Stallman - - * image.c (our_memory_buffer): Renamed from omfib_buffer. - -2007-09-21 Juanma Barranquero - - * w32term.c (x_draw_glyph_string): Use strike_through_color, not - underline_color, to draw strike-through. - -2007-09-20 Glenn Morris - - * process.c (Fmake_network_process): Doc fix. - -2007-09-19 Richard Stallman - - * buffer.c (Foverlays_at): Doc fix. - -2007-09-18 Stefan Monnier - - * fns.c (Fplist_put): Preserve uneven tail data. - -2007-09-16 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf - when we have no file name for the icon. - (xg_tool_bar_expose_callback): Remove. - (xg_create_tool_bar): Don't connect expose signal to - xg_tool_bar_expose_callback. - -2007-09-16 Andreas Schwab - - * alloc.c (reset_malloc_hooks): Set the hooks to the previous - values instead of zapping them. - -2007-09-15 Glenn Morris - - * s/hpux.h: No longer define `static' as nothing. - -2007-09-14 Glenn Morris - - * fringe.c (init_fringe_bitmap) : Move to file scope. - * gtkutil.c (xg_separator_p) : Move to file scope. - * image.c (our_memory_fill_input_buffer) : Move to file - scope and rename to omfib_buffer for clarity. - (gif_load) : Move to file scope. - -2007-09-14 Peter O'Gorman (tiny change) - - * gtkutil.c (xg_get_file_with_chooser): Move GCPRO1 after declarations. - - * termhooks.h (enum event_kind): Remove trailing comma. - - * frame.h (enum): Remove trailing comma. - -2007-09-14 Jan Dj,Ad(Brv - - * keyboard.c, xterm.c, xfaces.c (abs): #undef before #define. - -2007-09-12 Glenn Morris - - * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity. - (menu_grab_callback): All uses changed. - - * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity. - (x_reply_selection_request): All uses changed. - -2007-09-06 Pixel (tiny change) - - * image.c (gif_load): Fix bug: Handle nonexistent colormap. - -2007-09-06 Glenn Morris - - * gtkutil.c (menu_grab_callback) : - * xselect.c (x_reply_selection_request) : Move static - variable to file scope. - -2007-09-02 Dhuvra Krishnamurthy (tiny change) - - * w32proc.c (delete_child): Don't terminate threads of zombies. - -2007-09-02 Jan Dj,Ad(Brv - - * keyboard.c: Qrtl is new. - (parse_tool_bar_item): Handle :rtl keyword. - (syms_of_keyboard): Intern :rtl keyword. - - * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE. - - * gtkutil.c (file_for_image, find_rtl_image): New functions. - (xg_get_image_for_pixmap): Use file_for_image - (update_frame_tool_bar): If direction is RTL, use RTL image if - defined. Use Gtk stock images or named theme icons if defined. - -2007-08-29 Martin Rudalics - - * keyboard.h (struct kboard): New elt Vlast_repeatable_command. - - * keyboard.c (syms_of_keyboard): Set up new Lisp variable - last-repeatable-command. - (init_kboard): Initialize Vlast_repeatable_command. - (command_loop_1): Set it to real_this_command unless that was - bound to an input event. - (mark_kboards): Mark it. - -2007-08-28 Juanma Barranquero - - * image.c (syms_of_image) : - Doc fixes. - -2007-08-28 Jan Dj,Ad(Brv - - * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED - so no Lisp code is executed. - -2007-08-27 YAMAMOTO Mitsuharu - - * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle - for nonexistent or zero-width glyph in composition glyph. - -2007-08-27 Richard Stallman - - * eval.c (condition-case): Doc fix. - -2007-08-27 Masatake YAMATO - - * xfaces.c (tty_supports_face_attributes_p): Fix code - for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code - was copied and not edited. - -2007-08-23 Stefan Monnier - - * lread.c (load_warn_old_style_backquotes): Fix up array size typo. - -2007-08-22 Stefan Monnier - - * lread.c (Qold_style_backquotes): New var. - (syms_of_lread): Init and staticpro it. - (load_warn_old_style_backquotes): New fun. - (Fload): Use them to warn about old style backquotes. - (end_of_file_error, Fload): Remove unused vars. - - * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare. - - * lread.c (Vold_style_backquotes): New var. - (syms_of_lread): Init and export it to Elisp. - (read1): Set it when we find an old-style (back)quote. - -2007-08-22 Jason Rumney - - * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator. - -2007-08-21 Stefan Monnier - - * insdel.c (reset_var_on_error): New fun. - (signal_before_change, signal_after_change): - Use it to reset (after|before)-change-functions to nil in case of error. - Bind inhibit-modification-hooks to t. - Don't bind (after|before)-change-functions to nil while they run. - -2007-08-19 Andreas Schwab - - * alloc.c (pure): Round PURESIZE up. - -2007-08-17 Jan Dj,Ad(Brv - - * xterm.c (handle_one_xevent): Remove check that mouse click is in - active frame. - -2007-08-15 Philippe Waroquiers - - * term.c (tty_default_color_capabilities): Declare static - variables in file scope, to avoid HPUX compiler problem. - -2007-08-13 Jan Dj,Ad(Brv - - * gtkutil.c (update_frame_tool_bar): Use -1 as index - to gtk_toolbar_insert. - -2007-08-11 YAMAMOTO Mitsuharu - - * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when - filling pixmap with stippled background. - -2007-08-10 Stefan Monnier - - * print.c (new_backquote_output): Rename from old_backquote_output. - (print): Inverse its logic (according to its name) so as to match the - behavior of new_backquote_flag in lread.c. - -2007-08-09 YAMAMOTO Mitsuharu - - * gmalloc.c (posix_memalign): New function. - -2007-08-08 Glenn Morris - - * Replace `iff' in doc-strings and comments. - -2007-08-07 Chong Yidong - - * dispextern.h (struct image): New members. - - * image.c: Sync to trunk version. - (search_image_cache, uncache_image, image-refresh): New functions. - Check for fg and bg colors. - (lookup_image): Use search_image_cache. Cache fg and bg colors. - (pbm_load): Another check for invalid image data. - (png_load): Ignore default background field. - - * xdisp.c (move_it_by_lines): Remove incorrect optimization. - -2007-08-07 Jan Dj,Ad(Brv - - * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed. - -2007-08-07 Sam Steingold - - * gmalloc.c (__morecore): Fix the declaration to comply with the - definition. - -2007-08-07 YAMAMOTO Mitsuharu - - * emacs.c (main) - [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: - Call malloc_enable_thread on interactive startup. - - * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable. - (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS) - [USE_PTHREAD]: Conditionalize with it. - (malloc_atfork_handler_prepare, malloc_atfork_handler_parent) - (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]: - New functions. - -2007-08-06 Chong Yidong - - * xdisp.c (redisplay_window): When restoring original buffer - position, make sure it is still valid. - -2007-08-06 Martin Rudalics - - * window.c (window_min_size_2): New function. - (window_min_size_1, size_window, Fdisplay_buffer) - (Fsplit_window, adjust_window_trailing_edge): Use it to avoid - windows without mode- or header-lines when window-min-height is - too small. - (size_window): Reset nodelete_p after testing it, following an - earlier note by Kim F. Storm. - (display_buffer): Do not set split_height_threshold to twice the - value of window_min_height to avoid changing the value of a - customizable variable. Rather explicitly check whether the - height of the window that shall be splitted is at least as large - as split_height_threshold. - (Fwindow_full_width_p): New defun. - (syms_of_window): Defsubr it. - - * window.h: Add EXFUN for Fwindow_full_width_p. - -2007-08-06 Andreas Schwab - - * window.c (Fdisplay_buffer): Use NILP. - (Fset_window_scroll_bars): Likewise. - -2007-08-03 Richard Stallman - - * fileio.c (Fvisited_file_modtime): Use make_time. - -2007-08-01 Ryo Yoshitake (tiny change) - - * mac.c (init_mac_osx_environment): Adjust load-path on self-contained - build. - -2007-07-30 Stefan Monnier - - * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400. - -2007-07-25 Glenn Morris - - * Relicense all FSF files to GPLv3 or later. - - * COPYING: Switch to GPLv3. - -2007-07-24 Jason Rumney - - * w32fns.c (x_real_positions): Get real position from OS instead of - calculating it. - -2007-07-23 Jason Rumney - - * filelock.c (current_lock_owner): Allow for @ sign in username. - -2007-07-20 Eli Zaretskii - - * makefile.w32-in (clean): Don't delete *~. - - * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32): - Define if not defined. - -2007-07-18 Jason Rumney - - * w32proc.c (w32_executable_type): Handle 64 bit executables. - -2007-07-16 Juanma Barranquero - - * coding.c (Ffind_operation_coding_system): - * eval.c (For, Fand, Fprogn): - * keyboard.c (Ftrack_mouse): - * print.c (Fwith_output_to_temp_buffer): - * window.c (Fsave_window_excursion): Doc fixes (some reported - by Johan Bockg,Ae(Brd). - -2007-07-15 Richard Stallman - - * data.c (Fsetq_default): Doc fix. - - * eval.c (Fsetq): Doc fix. - -2007-07-11 Jason Rumney - - * makefile.w32-in (LIBS): Include OLE32. - - * w32fns.c (w32_msg_pump) : Initialize COM. - (w32_msg_pump) : Uninitialize COM. - -2007-06-28 YAMAMOTO Mitsuharu - - * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event): - Check WINDOWP before using XWINDOW. - -2007-06-27 Juanma Barranquero - - * buffer.c (syms_of_buffer) : Fix typo in docstring. - -2007-06-26 YAMAMOTO Mitsuharu - - * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h. - (_aligned_blocks_mutex) [USE_PTHREAD]: New variable. - (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros. - (_free_internal, memalign): Use them. - (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]: - Initialize to PTHREAD_MUTEX_INITIALIZER. - (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex. - (morecore_nolock): Rename from morecore. All uses changed. - Use only nolock versions of internal allocation functions. - (_malloc_internal_nolock, _realloc_internal_nolock) - (_free_internal_nolock): New functions created from - _malloc_internal, _realloc_internal, and _free_internal. - (_malloc_internal, _realloc_internal, _free_internal): Use them. - Copy hook value to automatic variable before its use. - (memalign): Copy hook value to automatic variable before its use. - -2007-06-21 Jason Rumney - - * image.c (convert_mono_to_color_image): Swap fore and background. - -2007-06-20 Jason Rumney - - * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished. - (w32_free_bdf_font): Unmap memory not handle. - -2007-06-20 Juanma Barranquero - - * w32.c (_wsa_errlist): Fix typo in error message. - (init_environment): Ignore any environment variable from the - registry having a null value. - -2007-06-17 Jason Rumney - - * w32menu.c (add_menu_item): Don't use multibyte string functions on - unicode strings. - -2007-06-17 Juanma Barranquero - - * xdisp.c (syms_of_xdisp) : - Fix typo in docstring. - -2007-06-16 Eli Zaretskii - - * w32menu.c (add_menu_item): Escape `&' characters in menu items - and their keybindings. - -2007-06-14 Chong Yidong - - * composite.c (update_compositions): Check validity of compositions. - -2007-06-10 Jason Rumney - - * w32fns.c (Fx_file_dialog): Take size from struct not pointer. - -2007-06-06 Jason Rumney - - * s/ms-w32.h: Don't define HAVE_TZNAME. - -2007-06-06 Chong Yidong - - * image.c (xpm_load): Remove spurious call to - xpm_init_color_cache. - -2007-06-06 Martin Rudalics - - * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD. - -2007-06-05 Dan Nicolaescu - - * xfaces.c (syms_of_xfaces): Delete stray semicolon. - * xdisp.c (next_element_from_buffer): - * window.c (delete_window): - * term.c (term_mouse_highlight): - * msdos.c (getdefdir): - * macterm.c (mac_create_bitmap_from_bitmap_data) - (init_font_name_table): - * fns.c (Fsxhash): - * data.c (Fmake_local_variable): - * ccl.c (ccl_driver): Likewise. - -2007-06-04 Juanma Barranquero - - * window.c (Fshrink_window): Reflow docstring. - -2007-06-02 Chong Yidong - - * Version 22.1 released. - - * xfns.c (x_set_name_internal): Undo last change. - -2007-06-01 Richard Stallman - - * xfns.c (x_encode_text): Add GCPRO. - (x_set_name_internal): Separate USE_GTK and non-USE_GTK cases. - -2007-06-01 YAMAMOTO Mitsuharu - - * xfns.c (x_set_name_internal): Save encoded name before - x_encode_text in case string data is relocated. - -2007-05-31 Richard Stallman - - * buffer.c (syms_of_buffer): Doc fix. - -2007-05-28 YAMAMOTO Mitsuharu - - * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t - around current_column call. - -2007-05-24 Chong Yidong - - * xdisp.c (redisplay_window): If first window line is a - continuation line, recompute the new window start instead of - recentering. - -2007-05-24 YAMAMOTO Mitsuharu - - * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event): - Call mac_wakeup_from_rne on window size change. - -2007-05-22 Richard Stallman - - * xterm.c (x_connection_closed): Remove NO_RETURN. - -2007-05-19 Stefan Monnier - - * syntax.c (skip_chars): Update syntax-table only after we checked that - the new location is valid. - -2007-05-19 YAMAMOTO Mitsuharu - - * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around - mac_get_window_bounds. - -2007-05-17 Glenn Morris - - * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD. - -2007-05-16 YAMAMOTO Mitsuharu - - * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert - dead key repeat and up events. - -2007-05-13 Chong Yidong - - * xterm.c (XTread_socket): Revert last change. - -2007-05-12 Chong Yidong - - * image.c (pbm_load): Correctly check image size for greyscale pbm. - - * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC). - -2007-05-07 Stefan Monnier - - * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object mixup (YAILOM) - -2007-05-06 Richard Stallman - - * process.c: Undo May 3 change. - -2007-05-03 Per Cederqvist (tiny change) - - * process.c (Faccept_process_output): Revert 2006-03-22 change so - that the third argument once again is in microseconds (not - milliseconds). This makes it compatible with Emacs 21 and - earlier. Problem found by Henrik Rindl,Av(Bw. - -2007-05-01 YAMAMOTO Mitsuharu - - * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c. - (Fx_popup_dialog) [MAC_OSX]: Likewise. - -2007-04-29 Richard Stallman - - * insdel.c (replace_range): For undo, record insertion first. - -2007-04-29 YAMAMOTO Mitsuharu - - * xdisp.c (try_window_reusing_current_matrix): Fix number of - disabled lines. - -2007-04-27 Jan Dj,Ad(Brv - - * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog. - - * gtkutil.c (xg_update_menubar, create_menus): Create empty - submenu for menu bar items. - -2007-04-24 Chong Yidong - - * xdisp.c (redisplay_window): Use BEG_UNCHANGED and END_UNCHANGED - values of the actual window. - -2007-04-23 Richard Stallman - - * process.c (Fstart_process): Doc fix. - -2007-04-23 Eli Zaretskii - - * process.c (Fstart_process): Doc fix. - -2007-04-22 Richard Stallman - - * abbrev.c (Fdefine_abbrev): Doc fix. - - * keymap.c (Fdefine_key): Minor doc fix. - -2007-04-21 Glenn Morris - - * keymap.c (Fdefine_key): Fix info ref in doc string. - -2007-04-20 Glenn Morris - - * sysdep.c (init_system_name): Don't accept localhost.localdomain. - -2007-04-19 Juanma Barranquero - - * minibuf.c (Fminibuffer_contents, Fminibuffer_contents_no_properties) - (Fminibuffer_completion_contents, Fdelete_minibuffer_contents): - Doc fixes. - -2007-04-16 Chong Yidong - - * dispnew.c (adjust_frame_glyphs_for_frame_redisplay): - Set garbaged flag in presence of window margins. - (showing_window_margins_p): New function. - - * xdisp.c (cursor_row_p): Only end row on newline if it's a - display string. Suggested by Lennart Borgman. - -2007-04-16 YAMAMOTO Mitsuharu - - * alloc.c (mem_insert): Set min_heap_address and max_heap_address - if they are not yet initialized. - -2007-04-15 Chong Yidong - - * xdisp.c (redisplay_window): When deciding whether or not to - recenter, don't use the reset values of BEG_UNCHANGED and - END_UNCHANGED. - -2007-04-13 Kim F. Storm - - * buffer.c (Fkill_buffer): gcpro BUF during kill_buffer_processes - and check that buffer is still alive upon return. - -2007-04-13 YAMAMOTO Mitsuharu - - * macterm.c [!TARGET_API_MAC_CARBON]: Include Displays.h. - (mac_screen_config_changed): New variable. - (mac_handle_dm_notification, init_dm_notification_handler) - (mac_get_screen_info): New functions. - [MAC_OS8] (main): Call init_dm_notification_handler. - (mac_initialize) [MAC_OSX]: Likewise. - (XTread_socket): Call mac_get_screen_info if screen config changed. - (mac_initialized): Make static. - (mac_initialize_display_info): Remove function. - (mac_term_init): Call mac_get_screen_info. Add partial contents of - mac_initialize_display_info. - -2007-04-12 YAMAMOTO Mitsuharu - - * mac.c (xrm_get_preference_database, Fmac_get_preference) - [TARGET_API_MAC_CARBON]: Use CFPreferencesAppSynchronize. - - * macterm.c [TARGET_API_MAC_CARBON] (mac_post_mouse_moved_event): - Use GetGlobalMouse instead of GetMouse and LocalToGlobal. - (mac_initialize_display_info) [MAC_OSX]: Use CGRectZero. - (mac_initialize_display_info) [!MAC_OSX]: dpyinfo->height and - dpyinfo->width are those of whole screen. - -2007-04-10 Chong Yidong - - * xdisp.c (note_mode_line_or_margin_highlight): Don't decrement - glyph pointer before start of glyph row. - -2007-04-09 YAMAMOTO Mitsuharu - - * s/darwin.h (__restrict, struct kboard): Remove outdated workarounds. - (C_SWITCH_SYSTEM): Remove `-I../mac/src'. - -2007-04-09 Martin Rudalics - - * indent.c (Fmove_to_column): Set next_boundary with correct start pt. - -2007-04-08 Richard Stallman - - * xdisp.c (syms_of_xdisp) : Default 100. - -2007-04-07 Chong Yidong - - * editfns.c (Ftranspose_regions): Validate interval before setting - text properties. - -2007-04-03 Eli Zaretskii - - * emacs.c (main): Fix instructions for building Emacs for profiling. - -2007-04-03 Jan Dj,Ad(Brv - - * gtkutil.c (xg_update_menubar): Call g_list_next after moving - menu bar item. - -2007-04-02 Juanma Barranquero - - * print.c (Fprin1_to_string): Use macro SPECPDL_INDEX. - -2007-04-01 Chong Yidong - - * keymap.c (Fcommand_remapping): New optional argument. - (where_is_internal): Use new keymaps argument. - (Fkey_binding): Caller changed. - - * keyboard.c (command_loop_1): Caller changed. - -2007-03-31 Eli Zaretskii - - * window.c (Fget_lru_window): Doc fix. - -2007-03-30 Chong Yidong - - * undo.c (Fprimitive_undo): Give clearer error message when trying - to change text properties outside accessible part of buffer. - -2007-03-29 Kim F. Storm - - * process.c (wait_reading_process_output) [HAVE_PTYS]: - When EIO happens, clear channel from descriptor masks before raising - SIGCHLD signal to avoid busy loop between read and sigchld_handler. - (sigchld_handler): Remove sleep (2007-03-11 & 2007-03-26 changes). - -2007-03-29 Juanma Barranquero - - * buffer.c (Fset_buffer_major_mode): Check that BUFFER is valid. - - * process.c (Fformat_network_address): Return nil when the - argument vector contains invalid values. - -2007-03-28 YAMAMOTO Mitsuharu - - * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Define USE_PTHREAD. - [USE_PTHREAD]: Include pthread.h. - (malloc_init_once_control, _malloc_mutex) [USE_PTHREAD]: New variables. - (malloc_initialize_1): New function created from __malloc_initialize. - (__malloc_initialize): Use it. - (LOCK, UNLOCK): New macros to make malloc etc. thread safe. - (_malloc_internal, _free_internal, _realloc_internal): Use them. - - * lread.c (readchar): Extend BLOCK_INPUT block to ferror/clearerr. - -2007-03-27 Juanma Barranquero - - * process.c (Fformat_network_address): Make args array big enough - to format IPv6 addresses. - -2007-03-27 Glenn Morris - - * m/hp800.h: Restore HP-UX support (removed 2007-01-29). - -2007-03-26 YAMAMOTO Mitsuharu - - * macfns.c (Fx_display_mm_height, Fx_display_mm_width): Scale whole - screen size in pixels by millimeters per pixel of main display. - - * macselect.c (get_scrap_target_type_list, x_own_selection): - Move assignments outside predicate macros. - (Vselection_converter_alist): Doc fix. - - * macterm.c (create_text_encoding_info_alist): Move assignments - outside predicate macros. - (mac_initialize_display_info) [MAC_OSX]: dpyinfo->height and - dpyinfo->width are those of whole screen. - -2007-03-26 Sam Steingold - - * process.c (sigchld_handler): Delay by 1ms instead of 1s to - alleviate sluggishness (the original problem is still fixed). - -2007-03-25 Kim F. Storm - - * intervals.c (merge_properties): Use explicit loop instead of - Fplist_member to avoid QUIT. Don't use Fcdr. - (intervals_equal): Likewise. Rewrite loop to perform length check - on the fly rather than calling Flength. Don't use Fcar. - -2007-03-24 Eli Zaretskii - - * editfns.c (Fgoto_char): Doc fix. - - * indent.c (Findent_to): Doc fix. - -2007-03-24 Chong Yidong - - * editfns.c (Ftranspose_regions): Use set_text_properties_1 - instead of Fset_text_properties to avoid GC. Signal after change. - -2007-03-24 Eli Zaretskii - - * xfns.c (Fx_show_tip): Doc fix. - - * macfns.c (Fx_show_tip): Doc fix. - - * w32fns.c (Fx_show_tip): Doc fix. - -2007-03-23 Kim F. Storm - - * intervals.c (merge_properties, intervals_equal): - Use Fplist_member instead of Fmemq to find properties. - -2007-03-23 Glenn Morris - - * unexhp9k800.c: Restore file with clarified legal status. - * m/sr2k.h: Restore since dependency unexhp9k800.c is restored. - -2007-03-22 Chong Yidong - - * widget.c (EmacsFrameSetCharSize): Catch X errors. - -2007-03-22 Kenichi Handa - - * fileio.c (Fcopy_file): Call barf_or_query_if_file_exists with - non-encoded file name. - (Frename_file): Likewise. - (Fadd_name_to_file): Likewise. - (Fmake_symbolic_link): Likewise. - -2007-03-20 YAMAMOTO Mitsuharu - - * Makefile.in (alloca.o, gtkutil.o): Depend on systime.h. - (dired.o, editfns.o, fileio.o, msdos.o): Depend on atimer.h. - (dosfns.o, window.o, fns.o, macselect.o): Depend on atimer.h and - systime.h. - (term.o, print.o, lread.o): Depend on blockinput.h, atimer.h, and - systime.h. - (macfns.o): Remove duplicate dependency on systime.h. - - * dispnew.c (Fopen_termscript): Add BLOCK_INPUT around fclose. - (Fsend_string_to_terminal): Add BLOCK_INPUT around fwrite. - - * fileio.c (do_auto_save_unwind): Add BLOCK_INPUT around fclose. - (Fdo_auto_save): Add BLOCK_INPUT around fwrite. - - * keyboard.c (record_char): Add BLOCK_INPUT around fwrite. - (Fopen_dribble_file): Add BLOCK_INPUT around fclose. - - * lread.c: Include blockinput.h. - (readchar, Fget_file_char): Add BLOCK_INPUT around getc. - (unreadchar): Add BLOCK_INPUT around ungetc. - (load_unwind): Add BLOCK_INPUT around fclose. - - * print.c: Include blockinput.h. - (Fredirect_debugging_output): Add BLOCK_INPUT around fclose. - - * process.c (Fmake_network_process) [HAVE_GETADDRINFO]: - Clear immediate_quit before calling freeaddrinfo. - Add BLOCK_INPUT around freeaddrinfo. - - * term.c: Include blockinput.h. - (write_glyphs, insert_glyphs): Add BLOCK_INPUT around fwrite. - -2007-03-19 Richard Stallman - - * keyboard.c (NUM_RECENT_KEYS): Bump up to 300. - - * buffer.c (syms_of_buffer): Doc fix. - -2007-03-18 Chong Yidong - - * image.c (pbm_load): Signal error for invalid image size. - -2007-03-18 YAMAMOTO Mitsuharu - - * macterm.c (note_mouse_movement): Don't return immediately for - LeaveNotify case. - - * macmenu.c (popup_activated_flag): New variable. - (x_activate_menubar, mac_menu_show): Set it during menu tracking. - (popup_activated): New function. - - * xdisp.c (redisplay_internal, note_mouse_highlight): - Check popup_activated for MAC_OS. - -2007-03-17 Juanma Barranquero - - * buffer.c (syms_of_buffer) : Doc fix. - Reported by Nikolaj Schumacher . - -2007-03-17 Richard Stallman - - * dired.c (file_name_completion): gcpro NAME. - -2007-03-17 Chong Yidong - - * xdisp.c (try_window_id): Increment matrix positions if the - buffer's byte count has increased, but not the character count. - -2007-03-12 Andreas Schwab - - * lisp.h: Declare check_obarray. - - * process.c (Fdelete_process): Properly handle deletion of first - element of deleted_pid_list. - (create_process): Declare pid as pid_t. - -2007-03-12 Kim F. Storm - - * process.c (sigchld_handler): Change type of pid to pid_t. - Scan deleted_pid_list explicitly to avoid using Fmember which don't - know about mark bits and make_fixnum_or_float which may malloc. - Reported by Andreas Schwab. - - * keyboard.c (read_key_sequence): Store original event into keybuf - when replaying sequence with local keymap(s) from string. - -2007-03-12 Glenn Morris - - * editfns.c (Fdecode_time, Fencode_time): Doc fix ("daylight - savings" to "daylight saving"). - -2007-03-11 Sam Steingold - - * process.c (sigchld_handler): Sleep before wait3 to avoid a busyloop. - -2007-03-11 YAMAMOTO Mitsuharu - - * macfns.c (Fx_server_vendor): Change vendor string to "Apple Inc.". - -2007-03-10 YAMAMOTO Mitsuharu - - * macterm.c [USE_CARBON_EVENTS] (mac_handle_mouse_event): - Ignore mouse wheel movement on title bar or tool bar. - -2007-03-10 Chong Yidong - - * keyboard.c (help_form_saved_window_configs): New var. - (read_char_help_form_unwind): New function. - (read_char): Don't restore window configuration if a mouse click - arrives while the help form is being displayed. - -2007-03-10 Kim F. Storm - - * xdisp.c (redisplay_window): Don't automatically select a new window - start for a contination line during mouse-click. - -2007-03-09 Jan Dj,Ad(Brv - - * xterm.c (handle_one_xevent): Ignore buttons > 3 for the tool bar. - -2007-03-09 Juanma Barranquero - - * keymap.c (Fdescribe_buffer_bindings): Check that BUFFER is valid. - -2007-03-08 Richard Stallman - - * keyboard.c (syms_of_keyboard): Doc fix. - -2007-03-08 Chong Yidong - - * minibuf.c (Ftry_completion): Don't short circuit if - completion-ignore-case is non-nil. - -2007-03-07 YAMAMOTO Mitsuharu - - * macfns.c (mac_set_scroll_bar_width, mac_frame_parm_handlers): - Undo 2006-03-06 changes. - - * macterm.c (XTset_vertical_scroll_bar) [MAC_OSX]: Don't show scroll - bar if its width is smaller than that of Aqua small scroll bar. - -2007-03-07 Stefan Monnier - - * minibuf.c (read_minibuf): Bind inhibit-read-only a bit longer so as - to handle correctly prompts with read-only property. - -2007-03-06 Jan Dj,Ad(Brv - - * sound.c (wav_play): Check header->data_length to see how much we - shall read. - (alsa_period_size): Convert ALSA period size in frames to bytes. - (alsa_write): Return if frames is zero. - -2007-03-06 Kenichi Handa - - * xselect.c (Vselection_coding_system): Documentation improved. - -2007-03-05 YAMAMOTO Mitsuharu - - * macterm.c (x_scroll_bar_create, XTread_socket): Replace #if - USE_TOOLKIT_SCROLL_BARS with #ifdef USE_TOOLKIT_SCROLL_BARS. - (x_set_window_size): Call SET_FRAME_GARBAGED. Clear window if - internal border width has changed. - - * macterm.h (struct mac_output): New member `internal_border_width'. - -2007-03-04 Richard Stallman - - * window.c (Fdisplay_buffer): Doc fix. - -2007-03-03 Glenn Morris - - * Makefile.in: Don't clear out LIB_X11_LIB, since XFT_LIBS does - not include -lX11 on Solaris. - -2007-03-02 Stuart D. Herring - - * keymap.c (Fkey_binding): Don't consider one-element lists as events. - -2007-03-01 Kenichi Handa - - * process.c (send_process_object): Check the process status and - signal an error if something is wrong. - -2007-02-28 Chong Yidong - - * insdel.c (Fcombine_after_change_execute): Return nil if - combine_after_change_buffer has been invalidated. - -2007-02-25 Dan Nicolaescu - - * m/xtensa.h: New file. - -2007-02-24 Nick Roberts - - * .gdbinit (xprintstr): Ensure GDB (> 6.6) prints symbol name - as strings and not character arrays. - -2007-02-24 YAMAMOTO Mitsuharu - - * macterm.c [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_drag) - (x_set_toolkit_scroll_bar_thumb): Add bar->min_handle as margin to - scroll bar handle size in order to avoid `scroll backward' problem. - (x_scroll_bar_create, XTset_vertical_scroll_bar) - [USE_TOOLKIT_SCROLL_BARS]: Initialize bar->min_handle. - - * macterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: - New member `min_handle'. - -2007-02-23 Kim F. Storm - - * print.c (print): Reset print_number_index if Vprint_number_table - is nil. - -2007-02-23 Eli Zaretskii - - * w32.c (stat, get_long_basename, is_unc_volume): Use _mbspbrk - instead of strpbrk. - -2007-02-23 YAMAMOTO Mitsuharu - - * macmenu.c (mac_menu_show): Call unbind_to early. Use variable - `menu_item_selection' as in W32 version. - [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Add explicit - braces to avoid ambiguous `else'. - - * macterm.c (mac_display_info_for_display): Remove function. - (mac_flush_display_optional) [USE_CG_DRAWING]: New function. - (x_redisplay_interface) [USE_CG_DRAWING]: Set it as handler for - flush_display_optional. - [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_press): - New argument MOUSE_POS. All uses changed. Set bar->dragging to - negative integer if scroll bar handle is pressed. - [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_release): - Negative bar->dragging means scroll bar handle is not dragged. - [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_drag): Get initial - offset of scroll bar handle from negative bar->dragging. - (XTread_socket) [USE_TOOLKIT_SCROLL_BARS]: Modifiers for scroll - bar click is compared against mapped one. Set down/up_modifier - for scroll bar click event with control key. - - * macterm.h (x_display_info_for_display): Remove extern. - (SCROLL_BAR_UNPACK, SET_SCROLL_BAR_CONTROL_HANDLE): Don't limit - value to be unpacked to 32-bit on LP64 model. - -2007-02-23 Kenichi Handa - - * process.c (send_process_object_unwind): New function. - (send_process_object): New function. - (Fprocess_send_region): Call send_process_object. - (Fprocess_send_string): Likewise. - -2007-02-22 Jason Rumney - - * w32menu.c (w32_menu_show): Mark the frame's menu as inactive - when popup menu finishes. - - * w32fns.c (menubar_in_use): New flag. - (w32_wnd_proc) : - Use it. - - * w32menu.c (Fx_popup_menu): Don't free menu strings here. - (w32_menu_show): Do it here instead. - - * w32fns.c (w32_wnd_proc) : Set menubar_active frame - parameter. - - * w32menu.c (current_popup_menu): Make available globally. - (menubar_selection_callback): Free menu strings before pushing the - menu event into the keyboard buffer. Remove menu_command_in_progress. - - * w32fns.c (current_popup_menu): Use from w32menu.c. - (w32_wnd_proc) : Use menubar_active - and current_popup_menu to determine whether a menubar menu has - been cancelled. - - * w32term.h (w32_output): Remove menu_command_in_progress. - -2007-02-22 Kim F. Storm - - * dispnew.c (update_frame, update_single_window): Set force_p here if - redisplay_dont_pause is set or Vredisplay_preemption_period is nil... - (update_window, update_frame_1): ... instead of here. - (update_text_area): Clear mouse face on header lines. - -2007-02-21 Kim F. Storm - - * minibuf.c (Fassoc_string): Doc fix. Allow symbol for KEY too. - -2007-02-21 YAMAMOTO Mitsuharu - - * macterm.c (WINDOW_RESOURCE, TERM_WINDOW_RESOURCE): Remove macros. - [USE_MAC_TSM] (mac_handle_text_input_event): Remove unused variable - `mapped_modifiers'. - (XTread_socket) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1020]: Use Keyboard - Layout Services routines to get current Unicode keyboard layout. - -2007-02-20 Chong Yidong - - * frame.c (x_set_screen_gamma): Apply gamma value to the frame's - bgcolor. - -2007-02-19 Kim F. Storm - - * minibuf.c (Fassoc_string): Allow symbols as keys. - - * w32term.c (w32_set_scroll_bar_thumb): Don't resize scroll-bar - handle while dragging, except when we get close to eob. - Fix position and size calculations so we don't scroll backwards - just by clicking on the handle. - -2007-02-17 YAMAMOTO Mitsuharu - - * Makefile.in (${emacsapp}Contents/Resources/Emacs.rsrc) - [HAVE_CARBON]: Remove target. - (macosx-app) [HAVE_CARBON]: Don't depend on it. - -2007-02-17 Juanma Barranquero - - * callproc.c (syms_of_callproc) : - : - (Fgetenv_internal): Fix typos in docstrings. - - * doc.c (Fsubstitute_command_keys): Fix typo in docstring. - -2007-02-16 Andreas Schwab - - * frame.c (Fmodify_frame_parameters): Return a value. - - * editfns.c (Fformat): Add support for '+' flag. - * doprnt.c (doprnt1): Likewise. Fix overflow checking. - -2007-02-14 Chong Yidong - - * s/umips.h: Unused file removed. - -2007-02-14 Juanma Barranquero - - * xfaces.c (Fcolor_distance): Don't continue checking a color for - errors after it has been correctly parsed as an RGB list. - -2007-02-14 Jan Dj,Ad(Brv - - * xterm.c (do_ewmh_fullscreen): Also check for _NET_WM_STATE_FULLSCREEN. - -2007-02-13 YAMAMOTO Mitsuharu - - * macfns.c (Fx_focus_frame): Move current process to foreground if - it is not. - [TARGET_API_MAC_CARBON] (Fx_file_dialog): Replace #if MAC_OSX with - #ifdef MAC_OSX. - (Fmac_set_font_panel_visible_p) [USE_MAC_FONT_PANEL]: Rename from - Fmac_set_font_panel_visibility. All uses changed. Rename argument - VISIBLE to FLAG. - - * macterm.c (MakeMeTheFrontProcess) [MAC_OSX]: Remove function. - (mac_initialize) [MAC_OSX]: Call SetFrontProcess instead of - MakeMeTheFrontProcess. - -2007-02-12 Chong Yidong - - * frame.c (x_set_screen_gamma): Clear face cache. - -2007-02-11 Juanma Barranquero - - * buffer.c (Fgenerate_new_buffer_name, Fbuffer_modified_tick): - Reflow docstrings. - -2007-02-10 Eli Zaretskii - - * window.c (Fwindow_height, Fwindow_hscroll) - (Fwindow_redisplay_end_trigger, Fwindow_point, Fwindow_start) - (Fwindow_end, Fwindow_display_table, Fwindow_text_height): - Document the effect of WINDOW arg being nil. - -2007-02-08 Kim F. Storm - - * minibuf.c (read_minibuf): Fix 2007-01-30 change. - Use Qlambda as interim value of Vminibuffer_completing_file_name. - (Fcompleting_read): Use non-filename maps if value is Qlambda (or Qnil). - (syms_of_minibuf) : Document lambda. - -2007-02-07 Juanma Barranquero - - * makefile.w32-in ($(TRES)): Use literal "../nt/emacs.rc" instead - of $(ALL_DEPS). - -2007-02-07 Eli Zaretskii - - * makefile.w32-in ($(TRES)): Depend on stamp_BLD, since $(TRES) is - put into $(BLD). - -2007-02-06 Chong Yidong - - * frame.c (Fmodify_frame_parameters): Don't bind - Qinhibit_default_face_x_resources, which has no effect. - (Qinhibit_default_face_x_resources): Symbol deleted. - -2007-02-03 Eli Zaretskii - - * indent.c (Fmove_to_column): Document that the argument COLUMN is - taken from prefix numeric argument. - -2007-02-03 Juanma Barranquero - - * lread.c (syms_of_lread) : Doc fix. - -2007-01-29 Andreas Seltenreich (tiny change) - - * xterm.c [!USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_expose): - Use the foreground color of the scroll-bar face when drawing - the scroll-bar's border. - -2007-02-02 Jan Dj,Ad(Brv - - * xterm.c (do_ewmh_fullscreen): Check that what != NULL before - calling wm_supports. - -2007-02-01 Juanma Barranquero - - * lread.c (syms_of_lread) : Doc fix. - Wording by Eli Zaretskii. - -2007-01-31 Jan Dj,Ad(Brv - - * gtkutil.c (update_frame_tool_bar): Initialize h/vmargin to 0. - -2007-01-30 Richard Stallman - - * minibuf.c (read_minibuf): - Save and clear Vminibuffer_completing_file_name. - (read_minibuf_unwind): Restore it. - (Vminibuffer_completion_table, Qminibuffer_completion_table) - (Vminibuffer_completion_predicate, Qminibuffer_completion_predicate) - (Vminibuffer_completion_confirm, Qminibuffer_completion_confirm) - (Vminibuffer_completing_file_name): Definitions moved up. - -2007-01-29 Chong Yidong - - * m/hp800.h: Restore, removing HP-UX support. - -2007-01-29 Jan Dj,Ad(Brv - - * Makefile.in: Use a variable, XFT_LIBS, instead #define LIB_X11_LIB. - -2007-01-28 Richard Stallman - - * minibuf.c (Ftry_completion, Fall_completions) - (Fcompleting_read, Ftest_completion): - Rename arg ALIST or TABLE to COLLECTION. - -2007-01-27 Chong Yidong - - * unexhp9k800.c: Remove due to lack of legal papers. - - * m/sr2k.h, m/hp800.h: Remove due to dependence on above. - -2007-01-27 Eli Zaretskii - - * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Doc fix. - - * minibuf.c (Fcompleting_read): Doc fix. - -2007-01-26 Jan Dj,Ad(Brv - - * gtkutil.c (xg_initialize): Call XftInit if HAVE_XFT. - - * Makefile.in: Use XFT_LIBS if defined. - -2007-01-26 YAMAMOTO Mitsuharu - - * alloc.c (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Use - BLOCK_INPUT/UNBLOCK_INPUT. - - * blockinput.h (interrupt_input_blocked): Declare volatile. - - * keyboard.c (interrupt_input_blocked): Declare volatile. - - * syssignal.h (SIGNAL_THREAD_CHECK): Use pthread_equal. - -2007-01-24 Kim F. Storm - - * keymap.c (describe_map): Don't consider prefix keys to be shadowed. - -2007-01-23 Juanma Barranquero - - * editfns.c (Finsert_char): Doc fix. - (Fget_internal_run_time, Fdecode_time): Fix typos in docstrings. - -2007-01-22 YAMAMOTO Mitsuharu - - * macselect.c [TARGET_API_MAC_CARBON] (mac_do_receive_drag): - Don't pass keyboard modifiers to mac_store_drag_event, but put - them as kEventParamKeyModifiers Apple event parameter. - -2007-01-21 Chong Yidong - - * xdisp.c (try_window): Revert previous change. - - * dispnew.c (update_text_area): Revert 2006-09-17 change. - Always redraw non-mode-line rows with mouse-face. - -2007-01-20 Chong Yidong - - * xdisp.c (try_window): Clear mouse-face highlights first. - - * window.c (set_window_buffer): Revert 2006-11-22 change. - -2007-01-20 Eli Zaretskii - - * .gdbinit (ppt, xtype, xmisctype, xint, xptr, xmarker, xframe) - (xbuffer, xcons, xcar, xcdr): Fix doc strings. - -2007-01-20 Chong Yidong - - * keyboard.c (read_key_sequence): Extract local map only if the - given position is in an accessible buffer region. - -2007-01-19 Nick Roberts - - * .gdbinit: Reformat documentation so that first sentence - displays properly with "help user-defined" (like apropos). - -2007-01-18 Bruno Haible (tiny change) - - * epaths.in: Move PATH_DOC from local/info to local/share/info. - -2007-01-15 YAMAMOTO Mitsuharu - - * macmenu.c (create_and_show_dialog) [TARGET_API_MAC_CARBON]: - Create movable modal window instead of movable alert window. - (create_and_show_dialog) [!MAC_OSX]: Use DeactivateControl instead - of DisableControl. - - * macselect.c (Fmac_resume_apple_event): Set error number when - descriptor type of reply is non-null. - -2007-01-14 YAMAMOTO Mitsuharu - - * macmenu.c (create_and_show_dialog) [TARGET_API_MAC_CARBON]: - Use DisableControl for disabled items. Set default button to first - enabled one. Use icon of application in execution. - -2007-01-13 Eli Zaretskii - - * process.c (Fdelete_process, Fprocess_id, sigchld_handler): - Copy PID into EMACS_INT to avoid GCC warnings. - - * fns.c (maybe_resize_hash_table): Copy new size of hash table - into EMACS_INT to avoid GCC warnings. - - * editfns.c (Fuser_uid, Fuser_real_uid): Copy values returned by - geteuid and getuid into EMACS_INT to avoid GCC warnings. - - * dired.c (Ffile_attributes): Fix last change. - -2007-01-12 Eli Zaretskii - - * dired.c (Ffile_attributes): Copy some members of `struct stat' - into int's to avoid GCC warnings about limited range of short in - arguments to FIXNUM_OVERFLOW_P. - -2007-01-12 YAMAMOTO Mitsuharu - - * macmenu.c (HAVE_DIALOGS): Define if TARGET_API_MAC_CARBON. - (mac_handle_dialog_event, install_dialog_event_handler) - (create_and_show_dialog) [TARGET_API_MAC_CARBON]: New functions. - (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN) - (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH) - (DIALOG_MAX_INNER_WIDTH, DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE) - (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH) - (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE) - (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN) - (DIALOG_ICON_TOP_MARGIN) [TARGET_API_MAC_CARBON]: New macros. - (mac_dialog) [TARGET_API_MAC_CARBON]: Remove function. - (mac_dialog_show) [TARGET_API_MAC_CARBON]: Use create_and_show_dialog. - - * macterm.c (x_free_frame_resources) [USE_CG_DRAWING]: - Call mac_prepare_for_quickdraw. - (quit_char, make_ctrl_char) [TARGET_API_MAC_CARBON]: Move externs - outside #ifdef MAC_OSX. - (mac_quit_char_key_p) [TARGET_API_MAC_CARBON]: Move function - outside #ifdef MAC_OSX. - (mac_check_bundle) [MAC_OSX]: Remove unused function. - - * macterm.h (mac_quit_char_key_p): Move extern outside #ifdef MAC_OSX. - (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Parenthesize definitions. - -2007-01-11 Jan Dj,Ad(Brv - - * alloc.c (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Use pthread_equal, - block/unblock SIGIO. - -2007-01-10 Stefan Monnier - - * editfns.c (Fformat): Allow integer-format to work with floats of size - larger than most-positive-fixnum (but still smaller than MAXINT). - - * dired.c (Ffile_attributes): Use floats for large uids/gids. - -2007-01-09 Eli Zaretskii - - * emacs.c (syms_of_emacs) : Doc fix. - -2007-01-09 YAMAMOTO Mitsuharu - - * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Add BLOCK_INPUT - around mkstemp. - - * image.c (XDrawLine) [MAC_OS]: Remove macro. - (XCreateGC_pixmap) [!HAVE_NTGUI]: Likewise. - (x_disable_image) [!HAVE_NTGUI]: Use XCreateGC instead of - XCreateGC_pixmap. - - * macgui.h (Display): Typedef to opaque type. - - * macmenu.c (mac_dialog_modal_filter) [MAC_OSX]: New function. - (Fx_popup_dialog) [MAC_OSX]: Use standard alert if called from - Fmessage_box, Fyes_or_no_p, or Fy_or_n_p. - [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030] (menu_quit_handler): - Use mac_quit_char_key_p. - - * macterm.c (XDrawLine): Rename from mac_draw_line_to_pixmap. - (XCreateGC): Change type of 2nd argument to void *. - (XFreeGC) [USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: - Fix last change. - (mac_to_emacs_modifiers): Change return type to int. - [USE_CARBON_EVENTS] (mac_event_to_emacs_modifiers): Likewise. - (mac_mapped_modifiers): New function. - (XTread_socket): Use it. - [USE_TSM] (mac_handle_text_input_event): Likewise. - (do_window_update) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw. - (mac_quit_char_modifiers, mac_quit_char_keycode) [MAC_OSX]: - Remove variables. - (mac_determine_quit_char_modifiers, init_quit_char_handler) - [MAC_OSX]: Remove functions. - (make_ctrl_char) [MAC_OSX]: Add extern. - (mac_quit_char_key_p) [MAC_OSX]: New function. - (mac_initialize) [MAC_OSX]: Don't call init_quit_char_handler. - - * macterm.h (FONT_MAX_WIDTH): Remove unused macro. - (XCreateGC): Change type in extern. - (XDrawLine): Rename from mac_draw_line_to_pixmap. - (mac_quit_char_key_p) [MAC_OSX]: Add extern. - -2007-01-08 Jan Dj,Ad(Brv - - * keyboard.c (init_keyboard): Initialize interrupt_input_blocked and - interrupt_input_pending. - - * xterm.h (x_display_info): New: net_supported_atoms, - nr_net_supported_atoms and net_supported_window. - - * xterm.c (last_user_time): New variable. - (handle_one_xevent): Set last_user_time from events that have Time. - Set net_supported_window to 0 when reparented. - (wm_supports): New function. - (do_ewmh_fullscreen): Use wm_supports to check for _NET_WM_STATE. - (x_term_init): Initialize net_supported_atoms, nr_net_supported_atoms - and net_supported_window. - -2007-01-05 Kim F. Storm - - * indent.c (Fvertical_motion): Fix it overshoot check for overlay - strings without embedded newlines immediately followed by newline. - -2007-01-05 YAMAMOTO Mitsuharu - - * editfns.c (Fformat_time_string, Fdecode_time, Fencode_time) - (Fcurrent_time_string, Fcurrent_time_zone): Add BLOCK_INPUT around - gmtime/localtime/emacs_memftimeu/mktime. - - * mac.c (Fmac_set_file_creator): Use MAC_EMACS_CREATOR_CODE - instead of 'EMAx'. - [!MAC_OSX] (sys_open, sys_creat, sys_fopen): Likewise. - - * macgui.h (struct _XGC) [USE_CG_DRAWING - && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New members cg_fore_color - and cg_back_color. - - * macmenu.c (Vshow_help_function) [TARGET_API_MAC_CARBON]: Add extern. - (restore_show_help_function, menu_target_item_handler) - [TARGET_API_MAC_CARBON]: New functions. - (install_menu_target_item_handler): New function. - (add_menu_item) [TARGET_API_MAC_CARBON]: Set help string as menu - item property. - - * macterm.c (CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR) - (CG_SET_FILL_COLOR_WITH_GC_FOREGROUND) - (CG_SET_FILL_COLOR_WITH_GC_BACKGROUND) - (CG_SET_STROKE_COLOR_MAYBE_WITH_CGCOLOR) - (CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND): New macros. - (mac_cg_color_space_rgb) [USE_CG_DRAWING]: New variable. - (mac_cg_color_black) [USE_CG_DRAWING - && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New variable. - (init_cg_color) [USE_CG_DRAWING]: New function. - (mac_draw_line, mac_draw_rectangle) [USE_CG_DRAWING]: Use - CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND instead of CG_SET_STROKE_COLOR. - (mac_erase_rectangle, mac_clear_window, mac_draw_cg_image) - (mac_fill_rectangle, mac_draw_image_string_cg) [USE_CG_DRAWING]: - Use CG_SET_FILL_COLOR_WITH_GC_FOREGROUND or - CG_SET_FILL_COLOR_WITH_GC_BACKGROUND instead of CG_SET_FILL_COLOR. - (mac_draw_string_common) [MAC_OSX && USE_ATSUI]: Likewise. - (XCreateGC, XFreeGC, XSetForeground, XSetBackground) [USE_CG_DRAWING - && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Use gc->cg_fore_color and/or - gc->cg_back_color. - (install_drag_handler, remove_drag_handler): Make extern. - (install_menu_target_item_handler): Add extern. - (install_window_handler): Call install_menu_target_item_handler. - [MAC_OS8] (main): Use MAC_EMACS_CREATOR_CODE instead of 'EMAx'. - (mac_initialize) [USE_CG_DRAWING]: Call init_cg_color. - - * macterm.h (MAC_EMACS_CREATOR_CODE): New enumerator. - -2007-01-04 Juanma Barranquero - - * window.c (Fwindow_end): Fix use of >= operator. - -2007-01-03 Richard Stallman - - * window.c (Fwindow_end): Check BUF_OVERLAY_MODIFF like BUF_MODIFF. - -2007-01-02 Jan Dj,Ad(Brv - - * gtkutil.h (xg_menu_item_cb_data_): Remove highlight_id and - unhighlight_id. - - * gtkutil.c (menuitem_highlight_callback): Invoked widget is the - parent of the menu item. Get menu item widget from event. - (xg_create_one_menuitem, xg_update_menu_item): highlight_id and - unhighlight_id has been removed. - (create_menus): Connect enter/leave-notify-event to the menu instead - of individual items. - -2006-12-31 Jan Dj,Ad(Brv - - * gtkutil.c (update_frame_tool_bar): Connect create-menu-proxy with - xg_tool_bar_menu_proxy. - (xg_tool_bar_menu_proxy): New function. - (xg_tool_bar_proxy_callback): New function. - -2006-12-30 Jan Dj,Ad(Brv - - * gtkutil.c (xg_tool_bar_button_cb): Save last modifier on widget. - (xg_tool_bar_callback): Remove check for button. - (update_frame_tool_bar): Put an event box in the tool bar and a button - in the event box. Attach enter/leave-notify-event to the event box. - -2006-12-30 Richard Stallman - - * keymap.c (Fdefine_key): Doc fix. - -2006-12-29 Kim F. Storm - - * frame.h (struct frame): New member minimize_tool_bar_window_p. - - * xdisp.c (auto_resize_tool_bars_p): Replace with ... - (Vauto_resize_tool_bars): ... this. - (syms_of_xdisp): DEFVAR_LISP and initialize it. Update doc string - to describe new value `grow-only', and use of C-l. - (display_tool_bar_line): Only use default face for border below - toolbar if not grow-only (to get acceptable visual appearence). - Explicitly set visible_height for empty toolbar lines. - (redisplay_tool_bar): Handle `grow-only' setting. Check and clear - minimize_tool_bar_window_p flag. - - * window.c (Frecenter): Set minimize_tool_bar_window_p flag - when called without arg to redraw with minimum toolbar height. - Update doc string. - -2006-12-29 Jason Rumney - - * s/ms-w32.h (tzname): Do not define in msvc8. - (utime): Do not define in msvc8. - - * regex.c (regerror): Change parameter name err_code. - -2006-12-26 Richard Stallman - - * search.c (Fsearch_forward): Doc fix. - - * callint.c (Finteractive): Doc fix. - -2006-12-25 Kim F. Storm - - * s/ms-w32.h (BROKEN_DATAGRAM_SOCKETS): Define it. - -2006-12-23 Eli Zaretskii - - * keyboard.c (some_mouse_moved): Fix last change. - -2006-12-22 Eli Zaretskii - - * callproc.c (syms_of_callproc) : Doc fix. - -2006-12-22 Mark Davies - - * m/amdx86-64.h, m/hp800.h: Add support for NetBSD. - * m/sh3el.h: New file. - -2006-12-22 Eli Zaretskii - - * makefile.w32-in (emacs, temacs): Depend on stamp_BLD instead of - $(BLD). - ($(OBJ0) $(OBJ1) $(WIN32OBJ)): New dependency on stamp_BLD. - (bootstrap-temacs): Pass $(XMFLAGS) to sub-make. - ($(OBJ0) $(OBJ1) $(WIN32OBJ)): Add lastfile.$(O) and firstfile.$(O). - (clean): Delete stamp_BLD. - -2006-12-22 YAMAMOTO Mitsuharu - - * macfns.c (mac_update_title_bar) [TARGET_API_MAC_CARBON]: - Call mac_update_proxy_icon also when buffer modification flag changed. - [TARGET_API_MAC_CARBON] (mac_update_proxy_icon): Don't update alias, - but compare FSRef/FSSpec of resolved alias. - -2006-12-21 Kim F. Storm - - * w32.c (_sys_wait_accept): Fix handle leak. - -2006-12-20 Jan Dj,Ad(Brv - - * sound.c: Include if ALSA_SUBDIR_INCLUDE is - defined. - -2006-12-20 Kim F. Storm - - * s/ms-w32.h (BROKEN_NON_BLOCKING_CONNECT): Define it. - -2006-12-19 Juanma Barranquero - - * keyboard.c (syms_of_keyboard) : - * mac.c (Fmac_code_convert_string): - * search.c (Fsearch_forward): Doc fixes. - -2006-12-19 Kim F. Storm - - Rework 2006-12-04 change. A SIGUSR1 (SIGUSR2) signal now generates - a sigusr1 event instead of [signal usr1] sequence, and signal events - are now supposed to be handled via special-event-map. - - * keyboard.c (kbd_buffer_store_event_hold): Undo 2006-12-04 change. - (make_lispy_event): Don't generate Qsignal prefix for code 0. - Abort if signal code is unknown. - (store_user_signal_events): Don't make Qsignal prefix (code 0). - (Qsignal): Move declaration back to process.c. - (syms_of_keyboard): Don't intern or staticpro it here. - - * process.c (Qsignal): Declare here. - (syms_of_process): Intern or staticpro it. - - * emacs.c (main): Rename user signals to sigusr1 and sigusr2. - - * .gdbinit: Pass on SIGUSR1 and SIGUSR2 to Emacs. - -2006-12-19 Juanma Barranquero - - * buffer.c (syms_of_buffer) : - : Doc fixes. - -2006-12-17 Richard Stallman - - * fileio.c (Fread_file_name_internal): Pass Vread_file_name_predicate - to Ffile_name_completion. - - * dired.c (file_name_completion): New arg PREDICATE. Some cleanup. - (Ffile_name_completion): New arg PREDICATE. - -2006-12-17 Juanma Barranquero - - * buffer.c (Fkill_buffer): Doc fix. - (syms_of_buffer) : Doc fix. - -2006-12-16 Juanma Barranquero - - * minibuf.c (Ftry_completion): Check that obarray buckets are symbols. - -2006-12-16 Eli Zaretskii - - * w32fns.c (w32-window-exists-p): New function. - (syms_of_w32fns): Defsubr it. - - * prefix-args.c [STDC_HEADERS]: Include stdlib.h. - -2006-12-16 Juanma Barranquero - - * minibuf.c (Ftry_completion): Use `check_obarray' if ALIST is a vector. - -2006-12-15 Eli Zaretskii - - * emacs.c (USAGE3): Clarify documentation of --color. - -2006-12-15 YAMAMOTO Mitsuharu - - * mac.c (wakeup_from_rne_enabled_p) [TARGET_API_MAC_CARBON]: - New variable. - (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE): New macros. - [!MAC_OSX] (select): Use them. - [MAC_OSX] (select_and_poll_event, sys_select): Likewise. - (mac_wakeup_from_rne) [TARGET_API_MAC_CARBON]: New function. - - * macfns.c (mac_atsu_font_face_attributes) [USE_ATSUI]: Add extern. - (Fmac_atsu_font_face_attributes) [USE_ATSUI]: New function. - (syms_of_macfns) [USE_ATSUI]: Defsubr it. - - * macselect.c [TARGET_API_MAC_CARBON] (mac_do_receive_drag): - Use mac_wakeup_from_rne instead of mac_post_mouse_moved_event. - - * macterm.c (mac_query_char_extents) [USE_ATSUI]: Don't call - ATSUGetGlyphBounds if not necessary. - (Vmac_atsu_font_table) [USE_ATSUI]: Remove variable. - (syms_of_macterm) [USE_ATSUI]: Don't defvar it. - (fm_get_style_from_font, atsu_find_font_from_family_name) - (atsu_find_font_family_name, mac_atsu_font_face_attributes) - [USE_ATSUI]: New functions. - (init_font_name_table) [USE_ATSUI]: Use atsu_find_font_family_name. - (mac_load_query_font) [USE_ATSUI]: Use atsu_find_font_from_family_name. - Don't get metrics for Latin-1 right half characters. - (mac_load_query_font): Don't load font if space width is not positive. - [TARGET_API_MAC_CARBON] (mac_store_event_ref_as_apple_event): - Use mac_wakeup_from_rne instead of mac_post_mouse_moved_event. - (XTread_socket): Call SelectWindow when unfocused frame is clicked. - - * macterm.h (mac_wakeup_from_rne) [TARGET_API_MAC_CARBON]: Add extern. - -2006-12-15 Kim F. Storm - - * keyboard.c (ignore_mouse_drag_p): New global var. - (some_mouse_moved): Return 0 if it is non-zero. - (make_lispy_event): Generate click event on mouse up if - ignore_mouse_drag_p is non-zero, even if mouse moved. - Clear ignore_mouse_drag_p on mouse down/up. - - * xdisp.c (redisplay_window): Set ignore_mouse_drag_p if tool-bar - is resized to avoid generating a mouse drag event. - -2006-12-14 Juanma Barranquero - - * w32fns.c (w32_wnd_proc): Force non-tooltip frames to respect the - minimum tracking size. Remove non-working old hack to do the same. - -2006-12-14 YAMAMOTO Mitsuharu - - * emacs.c (handle_user_signal): Move function to keyboard.c. - (main): Use add_user_signal for SIGUSR1 and SIGUSR2. - - * keyboard.c (make_lispy_event): Use find_user_signal_name. - (read_avail_input): Store pending user signal events. - (struct user_signal_info): New struct. - (user_signals): New variable. - (add_user_signal, store_user_signal_events) - (find_user_signal_name): New functions. - (handle_user_signal): Move function from emacs.c. Don't store - USER_SIGNAL_EVENT here, but increment number of pending signals. - - * keyboard.h (add_user_signals): Add extern. - -2006-12-11 Juanma Barranquero - - * buffer.c (syms_of_buffer) : - : - : Doc fixes. - - * xdisp.c (syms_of_xdisp) : Doc fix. - -2006-12-10 Kim F. Storm - - * xdisp.c (show_mouse_face): Never use text cursor in tool-bar. - -2006-12-10 Juanma Barranquero - - * abbrev.c (syms_of_abbrev) : - * buffer.c (syms_of_buffer) : - * keymap.c (Flookup_key): - * lread.c (Feval_buffer, Feval_region): - * macterm.c (syms_of_macterm) : - : - * marker.c (Fmarker_insertion_type): - * minibuf.c (syms_of_minibuf) : - * msdos.c (syms_of_msdos) : - * w32term.c (syms_of_w32term) : - : - * xdisp.c (format-mode-line): - * xterm.c (syms_of_xterm) : - : Doc fixes. - -2006-12-10 Andreas Schwab - - * systime.h (EMACS_GET_TIME): Remove check for - HAVE_STRUCT_TIMEZONE which is never defined. - -2006-12-10 Alan Mackenzie - - * syntax.c (Fpartial_parse_sexp): Correct Docco: Elt 8 of the - result is now neither the last elt nor optional for OLDSTATE. - -2006-12-09 Eli Zaretskii - - * process.c (Fsignal_process): Doc fix. Use XFLOAT_DATA to - extract the process ID from a Lisp float. - -2006-12-09 Chong Yidong - - * xterm.c (XTframe_raise_lower): Comment out _NET_ACTIVE_WINDOW code. - -2006-12-08 Eli Zaretskii - - * frame.h (PIX_TYPE): Redefine as `unsigned long', for 64-bit - platforms where long is 64-bit. - - * msdos.h (PIX_TYPE): Redefine as `unsigned long'. - -2006-12-08 NAKAJI Hiroyuki (tiny change) - - * m/amdx86-64.h: Add support for Solaris 10 on x86-64. - -2006-12-08 Kenichi Handa - - * xterm.c (x_query_font): Use xstricmp instead off strcasecmp. - -2006-12-08 Juanma Barranquero - - * emacs.c (syms_of_emacs) : Doc fix. - -2006-12-07 Kim F. Storm - - * process.c (parse_signal): Use xstricmp instead of strcasecmp. - (Fsignal_process): Don't use strncasecmp. - -2006-12-05 Glenn Morris - - * abbrev.c (Qforce): New Lisp_Object. - (Fdefine_abbrev): Do not overwrite non-system abbrevs with system - abbrevs, unless 'force is applied. - (syms_of_abbrev): Add Qforce. - -2006-12-04 Kim F. Storm - - * process.c (parse_signal): Rename macro from handle_signal. - (Fsignal_process): Also accept lower-case variants of signal - names (to align with signal names generated by Emacs itself). - - * emacs.c (handle_USR1_signal, handle_USR2_signal): Replace by... - (handle_user_signal): ... this, which generates two USER_SIGNAL_EVENTs - first with code == 0 [signal] and one with code == sig number. - (main): Use it as handler for SIGUR1 and SIGUSR2. - - * keyboard.c (kbd_buffer_store_event_hold): Don't throw-on-input - if first event in [signal xxx] sequence. - (lispy_user_signals, Qusr1_signal, Qusr2_signal): Remove. - (syms_of_keyboard): Don't intern and staticpro them. - (Qsignal): Declare here. - (syms_of_keyboard): Intern and staticpro it. - (make_lispy_event): Use it. Intern symbols on the fly for other - USER_SIGNAL_EVENTs events. - - * process.c (Qsignal): Declare extern. - (syms_of_process): Don't intern/staticpro it here. - - * process.c (read_process_output): Abort if carryover < 0. - -2006-12-04 YAMAMOTO Mitsuharu - - * config.in: Regenerate. - - * fileio.c [__NetBSD__]: Don't define `unix'. - (Funix_sync, syms_of_fileio): Use `#ifdef HAVE_SYNC' instead of - `#ifdef unix'. - -2006-12-04 Glenn Morris - - * Makefile.in (version): New variable, set by configure. - (bootstrapclean, mostlyclean): Also remove emacs-${version}. - -2006-12-03 Jan Dj,Ad(Brv - - * gtkutil.c (update_frame_tool_bar): Handle modifying a toolbar item - without an image. - -2006-12-01 Eli Zaretskii - - * w32fns.c (Fw32_shell_execute): Doc fix. - -2006-11-30 Chong Yidong - - * xdisp.c (move_it_to): Correctly count tab glyphs for continued - lines ending in tab. - -2006-11-30 Jan Dj,Ad(Brv - - * xterm.c (x_raise_frame): Move setting of _NET_ACTIVE_WINDOW - property ... - (XTframe_raise_lower): ... to here. - -2006-11-30 Kenichi Handa - - * regex.c (regex_compile): Fix previous change. - -2006-11-29 Juanma Barranquero - - * sound.c (Fplay_sound_internal): Remove spurious newline in docstring. - -2006-11-28 Chong Yidong - - * config.in: Regenerate. - -2006-11-28 Kenichi Handa - - * regex.c (regex_compile): Don't call SET_LIST_BIT with a - multibyte character. - -2006-11-27 Chong Yidong - - * s/aix4-2.h: Undefine _NO_PROTO. Suggested by Joe Buehler. - -2006-11-27 Kim F. Storm - - * window.c (set_window_buffer): Refactor recent changes. - -2006-11-27 Jason Rumney - - * w32term.c (w32_msg_worker): Declare correctly. - (w32_initialize): Don't cast w32_msg_worker. - - * w32fns.c (w32_msg_worker): Define as WINAPI and arg as void pointer. - -2006-11-26 Chong Yidong - - * m/amdx86-64.h: Look for standard libs in /usr/lib64 only if that - directory exists. - -2006-11-25 Eli Zaretskii - - * w16select.c (Fw16_set_clipboard_data): Fix the call to sit_for - as per the calling sequence change on 2006-07-11. - -2006-11-25 Chong Yidong - - * window.c (set_window_buffer): Use BLOCK_INPUT. - -2006-11-24 Juanma Barranquero - - * fns.c (substring_both): Add missing address operator. - -2006-11-24 Stefan Monnier - - * fns.c: Use AREF/ASIZE macros. - (concat): Provide the full ANSI prototype. - -2006-11-24 Juanma Barranquero - - * buffer.c (syms_of_buffer) : Doc fix. - -2006-11-23 William Smith (tiny change) - - * strftime.c (HAVE_SYS__MBSTATE_T_H): Fix typo. - -2006-11-22 Alfred M. Szmidt (tiny change) - - * s/openbsd.h (LD_SWITCH_SYSTEM): Remove /usr/pkg/lib and - /usr/pkg/lib from the library search path. - (LD_SWITCH_X_DEFAULT): New macro. - -2006-11-22 Chong Yidong - - * window.c (set_window_buffer): Clear mouse highlight if it is in - this window. - -2006-11-21 Chong Yidong - - * xfaces.c (realize_default_face): Check if the default font name - exists on this display before trying to use it. - -2006-11-21 Richard Stallman - - * fileio.c: Break line before &&, not after. - -2006-11-20 Eli Zaretskii - - * fns.c (concat) [!__GNUC__]: Add prototype. - -2006-11-20 Kenichi Handa - - * fileio.c (Fread_file_name_internal): Use SBYTES (not SCHARS) to - check the tailing slash of a filename. - -2006-11-20 KOBAYASHI Yasuhiro (tiny change) - - * indent.c (Fvertical_motion): Include composition in the case of - overshoot expected. - -2006-11-19 Andreas Schwab - - * xfaces.c (Fdisplay_supports_face_attributes_p): Initialize supports. - - * xmenu.c (Fx_popup_menu): Initialize selection. - -2006-11-18 Andreas Schwab - - * s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Update call to mark_memory. - -2006-11-17 Tetsurou Okazaki (tiny change) - - * xterm.c (do_ewmh_fullscreen): Declare variable before XSETFRAME - to avoid gcc 2.96 error. - -2006-11-17 NIIMI Satoshi (tiny change) - - * search.c (simple_search): In the loop of backward searching, - check also the byte position against the limit. - -2006-11-14 Romain Francoise - - * minibuf.c (Fcompleting_read): Fix typo in docstring. - -2006-11-14 Kenichi Handa - - * coding.c (code_convert_region): Initialize coding->heading_ascii. - (decode_coding_string, code_convert_region): Likewise. - -2006-11-14 YAMAMOTO Mitsuharu - - * config.in: Regenerate. - - * macfns.c (Fx_display_mm_height, Fx_display_mm_width) - [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 - && MAC_OS_X_VERSION_MIN_REQUIRED == 1020]: Check if - CGDisplayScreenSize is available. - - * macmenu.c (menu_quit_handler, install_menu_quit_handler): - Replace `#ifdef HAVE_CANCELMENUTRACKING' with - `#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030'. - (install_menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 - && MAC_OS_X_VERSION_MIN_REQUIRED == 1020]: Check if - CancelMenuTracking is available. - - * macterm.c [USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg) - [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 - && MAC_OS_X_VERSION_MIN_REQUIRED == 1020]: Check if - CGContextShowGlyphsWithAdvances is available. - -2006-11-13 Jason Rumney - - * s/ms-w32.h: Define HAVE_INET_SOCKETS. - -2006-11-13 Nozomu Ando - - * alloc.c (mark_memory): New argument OFFSET. All uses changed. - Fix address calculations for case END < START. - (mark_stack): Impose Lisp_Object alignment on jmp_buf. - -2006-11-12 Juanma Barranquero - - * coding.c (Fencode_sjis_char, Fencode_big5_char): - Improve argument/docstring consistency. - - * editfns.c (Fmessage): Doc fixes. - - * process.c (syms_of_process) : Doc fix. - -2006-11-12 Chong Yidong - - * xmenu.c (popup_activated): Define outside HAVE_MENUS. - -2006-11-12 Romain Francoise - - * xselect.c (selection-coding-system): Fix docstring. - -2006-11-12 Juanma Barranquero - - * category.c (Fchar_category_set): Improve arg/docstring consistency. - - * data.c (Flogxor): - * fns.c (Frandom, Flength, Fsafe_length, Fstring_bytes) - (Fstring_equal, Fcompare_strings, Fstring_lessp, Fcopy_sequence) - (Fstring_make_unibyte): Fix typos in docstrings. - -2006-11-10 Jan Dj,Ad(Brv - - * xterm.h (struct x_display_info): Fix indentation. - - * xterm.c (do_ewmh_fullscreen, XTfullscreen_hook): New functions. - (x_check_fullscreen): Call do_ewmh_fullscreen. - (x_initialize): Set fullscreen_hook to XTfullscreen_hook. - - * frame.c (x_set_fullscreen): Call fullscreen_hook if set. - - * term.c: Define fullscreen_hook. - (syms_of_term): Initialize fullscreen_hook to NULL. - - * termhooks.h: Add fullscreen_hook. - -2006-11-08 Juanma Barranquero - - * bytecode.c (Fbyte_code): - * data.c (Fmakunbound): Use SYMBOL_CONSTANT_P macro. - -2006-11-06 Juanma Barranquero - - * lread.c (syms_of_lread): - * xsmfns.c (syms_of_xsmfns): Fix typo in docstring. - -2006-11-06 Martin Rudalics - - * macmenu.c (Fmenu_or_popup_active_p): Define outside HAVE_MENUS. - - * w32menu.c (Fmenu_or_popup_active_p): Define outside HAVE_MENUS. - Return nil if building without menus. - - * xmenu.c (Fmenu_or_popup_active_p): Define outside HAVE_MENUS. - Return nil if building without menus. - -2006-11-05 Mark Davies (tiny change) - - * s/netbsd.h (POSIX_SIGNALS): Define. - -2006-11-05 Martin Rudalics - - * macmenu.c (Fmenu_or_popup_active_p): New function. - (syms_of_macmenu): Defsubr it. - - * w32menu.c (Fmenu_or_popup_active_p): New function. - (syms_of_w32menu): Defsubr it. - (popup_activated_flag, popup_activated): Remove. - - * xdisp.c (note_mouse_highlight) [HAVE_NTGUI]: Don't bother to - check popup_activated. - - * xmenu.c (Fmenu_or_popup_active_p): New function. - (syms_of_xmenu): Defsubr it. - -2006-11-05 YAMAMOTO Mitsuharu - - * unexmacosx.c (malloc_cookie): Remove unused variable. - (region_list_head, region_list_tail, lca, nlc, infile_lc_highest_addr) - (text_seg_lowest_offset, mh, curr_header_offset, infd, outfd) - (emacs_zone, data_segment_old_fileoff, data_segment_scp) - (num_unexec_regions, unexec_regions): Make variables static. - (print_regions, find_emacs_zone_regions): Make static. - (unexec_region_info): New typedef. - (unexec_regions): Change type from vm_range_t[] to unexec_region_info[]. - All uses changed. - (unexec_regions_recorder): Subtract size of trailing null pages from - filesize. Show filesize. - (unexec_regions_merge): Don't merge if null pages of preceding region - is not too small. Use long format in printf. - (copy_segment, copy_data_segment): Show filesize. - (copy_data_segment): Write filesize bytes of region data. - Adjust filesize in segment command accordingly. - (dump_it): Use long format in printf. - -2006-11-05 Juanma Barranquero - - * dosfns.c (Finsert_startup_screen): - * fns.c (Ffeaturep, syms_of_fns): - * frame.c (syms_of_frame): Fix typos in docstrings. - - * unexcw.c (unexec): Fix typo in output message. - -2006-11-04 Ralf Angeli - - * w32fns.c (w32_createwindow): Remove code for handling -geometry - command line option and `initial-frame-alist' which is superfluous - after the last change to `w32_createwindow'. - -2006-11-04 Slawomir Nowaczyk (tiny change) - - * w32proc.c (sys_wait): Only wait for processes with fd<0. - Others should be handled by sys_select instead. Fixes problems - with (progn (start-process "" nil "ls") (call-process "ls")). - -2006-11-04 Giorgos Keramidas (tiny change) - - * xmenu.c (Fmenu_bar_open): Declare variable before BLOCK_INPUT to - avoid gcc 2.95 error. - -2006-11-04 Chong Yidong - - * gtkutil.c (update_frame_tool_bar): If icon image is invalid and - wicon is null, insert an empty button. - -2006-11-03 Jan Dj,Ad(Brv - - * xterm.c (x_raise_frame): Send _NET_ACTIVE_WINDOW when raising the - window. - -2006-11-02 Juanma Barranquero - - * emacs.c (Fkill_emacs): Fix typo in docstring. - -2006-11-02 Nozomu Ando - - * unexmacosx.c (mach_header, segment_command, vm_region, section) - [_LP64]: New defines. - (VM_REGION_BASIC_INFO_COUNT, VM_REGION_BASIC_INFO, LC_SEGMENT) - (MH_MAGIC) [_LP64]: Redefine. - (delta): Remove variable. - (curr_file_offset, pagesize): New variables. - (ROUNDUP_TO_PAGE_BOUNDARY): New macro. - (data_segment_old_fileoff): Initialize explicitly. - (print_region, unexec_regions_recorder, print_load_command_name) - (copy_segment, copy_data_segment): Use long format in printf. - (MAX_UNEXEC_REGIONS): Increase to 400. - (unexec_regions_recorder): Don't warn too many regions here. - (find_emacs_zone_regions): Warn too many regions here. - (print_load_command_name) [_LP64]: Show correct load command name. - (copy_segment, copy_data_segment): Use variable `curr_file_offset'. - Show starting virtual memory address. Don't show ending file offset. - (copy_symtab, copy_dysymtab, copy_twolevelhints): New argument DELTA. - (dump_it): Use new local variable `linkedit_delta' and pass to them. - Error if trying to handle multiple DATA segments. - (unexec): Initialize variable `pagesize'. - -2006-11-01 Juanma Barranquero - - * eval.c (Fcatch): Doc fix. - -2006-10-31 YAMAMOTO Mitsuharu - - * image.c [MAC_OS] (image_load_qt_1, 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): Add const qualifier to arguments. - [MAC_OS] (xpm_color_key_strings): Make static const. - - * mac.c (create_apple_event_from_event_ref) - (create_apple_event_from_drag_ref, skip_white_space, parse_comment) - (parse_include_file, parse_binding, parse_component) - (parse_resource_name, parse_value, parse_resource_line) - (xrm_merge_string_database, xrm_get_resource) - (xrm_get_preference_database): Add const qualifier to arguments. - [MAC_OSX] (sys_select): Make variable `context' static const. - - * macfns.c (mac_color_map): Make static const. - (mac_color_map_lookup): Add const qualifier to arguments. - - * macmenu.c (install_menu_quit_handler): Make variable `typesList' - static const. - (name_is_separator): Add const qualifier to arguments. - - * macselect.c (init_service_handler): Make variable `specs' static - const. - - * macterm.c (mac_create_bitmap_from_bitmap_data): Make variable - `swap_nibbles' static const. - (atsu_get_text_layout_with_text_ptr): Make variables `lengths', - `tags', `sizes', `values' static const. - (mac_draw_string_common): Make variables `context' static. - Make variables `tags', `sizes', and `values' static const. - (pcm_get_status, x_detect_focus_change, x_scroll_bar_handle_click) - (xlfdpat_create, xlfdpat_block_match_1, xlfdpat_match) - (mac_to_x_fontname, parse_x_font_name, add_mac_font_name) - (mac_do_list_fonts, is_fully_specified_xlfd, do_grow_window) - (mac_store_event_ref_as_apple_event, mac_make_rdb): Add const - qualifier to arguments. - (xlfd_scalable_fields, keycode_to_xkeysym_table) - (fn_keycode_to_keycode_table): Make static const. - (mac_load_query_font): Make variables `tags', `sizes', `values', - `types', and `selectors' static const. - (mac_handle_command_event, mac_handle_window_event): - Make variables `names' and `types' static const. - (init_command_handler, install_window_handler): Make variables - `specs*' static const. - (mac_handle_font_event, mac_handle_text_input_event) - (mac_store_service_event): Make variables `names' and `types' - const. Make variables `names_*' and `types_*' static const. - - * macterm.h (create_apple_event_from_event_ref) - (create_apple_event_from_drag_ref, xrm_merge_string_database) - (xrm_get_resource, xrm_get_preference_database): Add const - qualifier to arguments in externs. - -2006-10-31 Kenichi Handa - - * xfns.c (xic_create_xfontset): Fix previous change. - -2006-10-30 Chong Yidong - - * s/openbsd.h (LD_SWITCH_SYSTEM): Add /usr/pkg/lib and - /usr/pkg/lib to library search path. - -2006-10-29 Mark Davies (tiny change) - - * ralloc.c (relinquish): Use a long for excess space counter to - handle 64-bit case correctly. - -2006-10-29 Jeramey Crawford - - * m/amdx86-64.h: Add defines for OpenBSD x86-64. - -2006-10-29 Juanma Barranquero - - * window.c (Fdisplay_buffer): Fix typo in docstring. - -2006-10-27 Ben North (tiny change) - - * w32term.c (x_draw_glyph_string_foreground): Set background mode - to TRANSPARENT before using overstrike to simulate bold faces. - - * xfaces.c (best_matching_font): Fix logic to decide whether to - use overstriking to simulate bold-face (it was reversed). - -2006-10-23 Kim F. Storm - - * xdisp.c (remember_mouse_glyph): Do nothing if glyphs are not - initialized. - - * keyboard.c (read_char): Make an element (t . EVENT) in - unread-command-events add EVENT to the current command's key sequence. - (syms_of_keyboard) : Update doc. - -2006-10-21 Richard Stallman - - * minibuf.c (Vread_expression_map): Define here. - (Qread_expression_history): New variable. - (syms_of_minibuf): Initialize them. - (Feval_minibuffer): Use Vread_expression_map and - Qread_expression_history. - -2006-10-21 Kenichi Handa - - * xfns.c (xic_create_fontsetname): If ADSTYLE field is not a wild - card, change it to "*". - (xic_create_xfontset): Call XCreateFontSet for each single - fontname in fontsetname. - -2006-10-19 Chong Yidong - - * callint.c (callint_message): Convert to a Lisp string. - (syms_of_callint): Initialize it. - (callint_message_size): Var deleted. - (Fcall_interactively): Use Fformat instead of doprnt to construct - prompt string. - -2006-10-19 YAMAMOTO Mitsuharu - - * xdisp.c (display_mode_line): Clear enabled_p flag on mode-line row. - -2006-10-19 YAMAMOTO Mitsuharu - - * macfns.c (Vmac_carbon_version_string) [TARGET_API_MAC_CARBON]: - New variable. - (syms_of_macfns) [TARGET_API_MAC_CARBON]: Defvar it. - -2006-10-19 Jan Dj,Ad(Brv - - * xselect.c (x_handle_selection_request): If the converted_selection - is nil or XCDR (converted_selection) is nil, decline the request. - -2006-10-16 Jan Dj,Ad(Brv - - * gtkutil.c (get_utf8_string): Remove warnings with casts. - (xg_tool_bar_button_cb): Ditto. - (xg_tool_bar_callback): Ditto. - -2006-10-16 YAMAMOTO Mitsuharu - - * dispnew.c (adjust_frame_glyphs_for_frame_redisplay): Remove unused - variable ch_dim. - (adjust_frame_glyphs_for_window_redisplay): Likewise. Don't allocate - menu bar window matrices on non-X systems. - - * mac.c (Fmac_get_preference, Fmac_code_convert_string): Add GCPROs. - - * macterm.c (mac_query_char_extents): Don't return glyph ID if layout - adjustment is needed. - (mac_load_query_font): Check if width and height are positive. - -2006-10-14 Richard Stallman - - * sysdep.c (init_sys_modes): Delete DEFVAR_LISP in the wrong place. - -2006-10-13 Chong Yidong - - * xdisp.c (decode_mode_spec): Ignore %c and %l constructs in frame - title. - -2006-10-12 Chong Yidong - - * keymap.c (Fkey_binding): Check Lisp_Object types before doing - XCAR and XINT. - -2006-10-12 Romain Francoise - - * image.c (xbm_read_bitmap_data): Delete extra semicolon. - -2006-10-10 Stefan Monnier - - * eval.c: Include xterm.h for x_fully_uncatch_errors and friends. - - * dispextern.h: Declare x_create_bitmap_from_xpm_data. - - * xterm.c (x_check_expected_move): Remove unused var `count'. - - * xmenu.c (syms_of_xmenu): Use Ffset rather than Fdefalias, since - Fdefalias is not declared in any *.h file. - -2006-10-09 Chong Yidong - - * dispnew.c (sit_for): Sit forever if TIMEOUT is t. - - * keyboard.c (command_loop_1): Handle non-number values of - `minibuffer-message-timeout'. - (Fexecute_extended_command): Fix typo. - - * minibuf.c (temp_echo_area_glyphs): Sit for - `minibuffer-message-timeout' seconds. - -2006-10-08 YAMAMOTO Mitsuharu - - * macterm.c (mac_draw_image_string, mac_draw_image_string_16): - Add argument OVERSTRIKE_P. - (mac_draw_string_common, mac_draw_image_string_cg): Likewise. - Support overstrike. - (mac_draw_string, mac_draw_string_16): Remove functions. - (x_draw_glyph_string_foreground): Use overstrike when needed. - (x_draw_composite_glyph_string_foreground): Likewise. - Use mac_draw_image_string_16 instead of mac_draw_string_16. - (mac_load_query_font): Rename from XLoadQueryFont. Take argument - F instead of DPY. All uses changed. Don't save/restore font. - -2006-10-07 Ralf Angeli - - * w32fns.c (w32_createwindow): Honour left and top positions if - supplied explicitly. - -2006-10-06 Kim F. Storm - - * xdisp.c (pos_visible_p): Fix value when EOB is visible. - -2006-10-05 Chong Yidong - - * frame.c (Qinhibit_face_set_after_frame_default): New var. - (syms_of_frame): Initialize it. - (x_set_frame_parameters): Avoid resetting :font attributes to the - new-frame defaults. - -2006-10-03 Stefan Monnier - - * lisp.h (clear_regexp_cache): Declare. - - * search.c (compile_pattern): Only check `cp->syntax_table' if needed. - (compile_pattern_1): Remember `used_syntax' in `cp->syntax_table'. - (clear_regexp_cache): Only flush those regexps which depend on - a syntax-table. - - * regex.c (regex_compile): Set the new `used_syntax' bit. - - * regex.h: Remove file local variables. - (struct re_pattern_buffer): New field `used_syntax'. - -2006-10-03 Kim F. Storm - - * process.c (list_processes_1): Run sentinels before removing dead - processes. Also remove `closed' network connections. - -2006-10-01 Stefan Monnier - - * xdisp.c (handle_fontified_prop): Don't fontify at EOB. - -2006-09-30 Eli Zaretskii - - * config.in: Regenerated. - -2006-09-29 Juri Linkov - - * buffer.c (syms_of_buffer): Reorder coding systems in the - docstring of %z to the real order displayed in the modeline. - -2006-09-28 Stefan Monnier - - * keymap.c (Fdefine_key): Yet another int/Lisp_Object mixup (YAILOM). - -2006-09-26 Chong Yidong - - * indent.c (Fvertical_motion): Do move back if the Lisp string - being displayed contains newlines. - -2006-09-26 YAMAMOTO Mitsuharu - - * macterm.c (mac_compute_glyph_string_overhangs, XLoadQueryFont) - [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw before QDTextBounds. - -2006-09-26 Kenichi Handa - - * keymap.c (Fsingle_key_description): For an invalid char, return - "Invalid char code NNNNN". - -2006-09-25 Chong Yidong - - * callint.c (Fcall_interactively): Doc fix. - -2006-09-25 YAMAMOTO Mitsuharu - - * macterm.c (x_underline_at_descent_line): New variable. - (syms_of_macterm): DEFVAR_BOOL it. - (x_draw_glyph_string): Use it. - (XLoadQueryFont): Calculate min_bounds.descent and max_bounds.descent. - -2006-09-25 Kenichi Handa - - * keymap.c (Fsingle_key_description): Return unique names for - generic characters. - -2006-09-24 Richard Stallman - - * search.c (compile_pattern_1): Don't BLOCK_INPUT. - -2006-09-24 Eli Zaretskii - - * makefile.w32-in ($(BLD)/fns.$(O), $(BLD)/w32proc.$(O)): - Depend on nt/inc/langinfo.h and nt/inc/nl_types.h. - - * w32proc.c (nl_langinfo): New function. - - * w32fns.c (w32-pass-alt-to-system, w32-alt-is-meta) - (w32-pass-lwindow-to-system, w32-enable-num-lock) - (w32-enable-caps-lock, w32-scroll-lock-modifier) - (w32-lwindow-modifier, w32-rwindow-modifier) - (w32-apps-modifier, w32-mouse-button-tolerance): Doc fix. - -2006-09-23 Juanma Barranquero - - * minibuf.c (Finternal_complete_buffer, Fread_minibuffer) - (Fdisplay_completion_list): Fix typos in docstrings. - -2006-09-23 Romain Francoise - - * s/gnu-linux.h (MAIL_USE_FLOCK): Check for HAVE_LIBLOCKFILE too. - -2006-09-23 Kenichi Handa - - * keymap.c (Fmap_keymap): Docstring mentions about generic character. - -2006-09-22 Stefan Monnier - - * regex.c (analyse_first): For eight-bit-control chars, mark both the - char's value and its leading byte in the fastmap. - (re_search_2): When fast-scanning without translation, be careful to - check that we only match the leading byte of a multibyte char. - - * charset.h (PREV_CHAR_BOUNDARY): Make it work from within a char's - byte sequence. - (AT_CHAR_BOUNDARY): New macro. - -2006-09-22 Kenichi Handa - - * fns.c (optimize_sub_char_table): Don't optimize a sub-char-table - whose default value is non-nil. - -2006-09-22 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_file_with_chooser): Only show C-l help for - Gtk+ versions < 2.10. - - * xfns.c (syms_of_xfns): Fix typo in help text for - x-gtk-file-dialog-help-text. - -2006-09-21 Kim F. Storm - - * fns.c (Fmemq): Refill doc string. - (Fmemql): New defun, like memq but using eql. - (syms_of_fns): Defsubr it. - -2006-09-20 Kim F. Storm - - * xdisp.c (pos_visible_p): CHARPOS < 0 means return info for - last visible glyph in window. - - * window.c (Fset_window_hscroll, Fwindow_line_height): - Doc fix. Use "off-window" instead of "off-screen". - (Fpos_visible_in_window_p): Likewise. - If POS is t, return info for last visible glyph in window. - -2006-09-19 Chong Yidong - - * search.c (struct regexp_cache): New entry syntax_table. - (compile_pattern_1): Set it. - (syms_of_search): Initialize it. - (compile_pattern): Require the syntax_table entry of the cache - element to match the current syntax table entry. - -2006-09-19 Stefan Monnier - - * window.c (Fwindow_end): Fix recent change. - -2006-09-19 Kim F. Storm - - * window.c (Fset_window_hscroll, Fpos_visible_in_window_p): - Doc fix. Use "off-screen" instead of "invisible". - (Fwindow_line_height): Make line numbers 0-based. Make line arg - optional; if nil, use current cursor row. Handle text terminals - properly. Return nil if non-interactive or pseudo-window. - -2006-09-19 Stefan Monnier - - * keymap.c: Include alloca.h if available. - (Fkey_binding): Only use AREF after checking it's a vector. - Remove unused var `window'. - -2006-09-19 YAMAMOTO Mitsuharu - - * emacs.c (shut_down_emacs) [!subprocesses]: Don't set - inhibit_sentinels. - - * mac.c [!MAC_OSX] (select): Fix argument name. - - * macmenu.c (enum mac_menu_kind, min_menu_id): New enumerator and - menu ID for Apple menu. - (menubar_selection_callback): Remove function. - (find_and_call_menu_selection): New function from xmenu.c. - (x_activate_menubar): Use it. - (set_frame_menubar): Don't use f->output_data.mac->menubar_active. - - * macterm.c (menubar_selection_callback): Remove extern. - (M_APPLE): Change to 234. - (do_apple_menu) [!TARGET_API_MAC_CARBON]: Make non-static. - (do_menu_choice): Remove function. - - * macterm.h (struct mac_output): Remove member menubar_active. - (do_menu_choice): Remove extern. - (do_apple_menu) [!TARGET_API_MAC_CARBON]: Add extern. - -2006-09-18 Jan Dj,Ad(Brv - - * xfns.c (syms_of_xfns): Rename x_gtk_show_chooser_help_text to - x_gtk_file_dialog_help_text. - - * gtkutil.c (xg_uses_old_file_dialog): Rename x-use-old-gtk-file-dialog - to x-gtk-use-old-file-dialog. - (xg_get_file_with_chooser): Rename x_gtk_show_chooser_help_text to - x_gtk_file_dialog_help_text. - - * xfns.c (syms_of_xfns): Ditto. - -2006-09-18 Kim F. Storm - - * window.c (Fwindow_line_visibility): Remove. - (Fwindow_line_height): New defun replacing it. - (syms_of_window): Defsubr it. - -2006-09-18 YAMAMOTO Mitsuharu - - * mac.c (SELECT_USE_CFSOCKET) [MAC_OSX]: Set default to 1. - [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Fix pointer type. - -2006-09-17 Jay Belanger - - * gmalloc.c: - * md5.c: - * md5.h: - * strftime.c: Replace "GNU Library General Public License" by "GNU - General Public License" throughout. - -2006-09-17 Kim F. Storm - - * dispnew.c (update_text_area): Undo 2000-07-18 change. - Always redrawing whole row if line has mouse-face in it causes - excessive flickering of the mode line. - -2006-09-17 Chong Yidong - - * search.c (clear_regexp_cache): New function. - - * syntax.c (Fmodify_syntax_entry): Clear regexp cache. - -2006-09-16 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_file_with_chooser): - Check x-gtk-show-chooser-help-text before adding the help text. - - * xfns.c (syms_of_xfns): New variable: x-gtk-show-chooser-help-text. - - * gtkutil.c (get_utf8_string): Try harder to convert to UTF8. Gtk+ - will simply crash if we fail. - -2006-09-16 Richard Stallman - - * regex.c (re_compile_pattern): Set gl_state.current_syntax_table. - -2006-09-15 Kim F. Storm - - * window.c (Fwindow_line_visibility): New defun for line-move-partial. - (syms_of_window): Defsubr it. - (Fwindow_end): Use window's buffer rather than current buffer. - -2006-09-15 Jay Belanger - - * COPYING: Replace "Library Public License" by "Lesser Public - License" throughout. - -2006-09-15 David Kastrup - - * Makefile.in (keymap.o): Add "keymap.h" and "window.h" dependencies. - - * keymap.c: include "window.h". - (Fcommand_remapping): New optional POSITION argument. - (Fkey_binding): New optional POSITION argument. Completely rework - handling of mouse clicks to get the same order of keymaps as - `read-key-sequence' and heed POSITION. Also temporarily switch - buffers to location of mouse click and back. - - * keyboard.c (command_loop_1): Adjust call of `Fcommand_remapping' - for additional argument. - (parse_menu_item): Adjust call of `Fkey_binding' for additional - argument. - (read_key_sequence): If there are both `local-map' and `keymap' - text properties at some buffer position, heed both. - - * keymap.h: Declare additional optional arguments of - `Fcommand_remapping' and `Fkey_binding'. - -2006-09-15 Juanma Barranquero - - * indent.c (Fcurrent_column, Findent_to): Fix typos in docstring. - -2006-09-14 Andreas Schwab - - * print.c: Whitespace fixup. - -2006-09-14 Kim F. Storm - - * xdisp.c (produce_image_glyph): Automatically crop wide images at - right window edge so we can draw the cursor on the same row to - avoid confusing redisplay by placing the cursor outside the visible - window area. - -2006-09-13 YAMAMOTO Mitsuharu - - * xterm.c (x_initialize): Don't install Xt event timer here. - (x_timeout_atimer_activated_flag): New var. - (x_activate_timeout_atimer): New function to install Xt timer. - (x_send_scroll_bar_event, x_process_timeouts): Use it. - - * xmenu.c (x_menu_set_in_use, popup_activate_callback) - (create_and_show_popup_menu, create_and_show_dialog): Use it. - - * xterm.h (x_activate_timeout_atimer): Add prototype. - -2006-09-13 Richard Stallman - - * print.c (print_string): When printcharfun is t, - copy string contents and call strout on the copy. - - * keyboard.c (read_char): If end_time specified, don't put the - event into this_command_keys. - (read_key_sequence): If Voverriding_terminal_local_map is specified, - don't check Voverriding_local_map at all. - -2006-09-12 Stefan Monnier - - * textprop.c (Fnext_property_change, Fnext_single_property_change) - (Fprevious_property_change, Fprevious_single_property_change): - Avoid changing limit, so we can correctly catch the case where the - property is constant up to limit. - -2006-09-12 YAMAMOTO Mitsuharu - - * macfns.c (mac_window) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: - * macterm.c (XTread_socket) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: - Undo 2006-09-08 change. - -2006-09-11 Chong Yidong - - * keymap.c (Fkey_binding): Use string position for string objects. - -2006-09-11 Kim F. Storm - - * keymap.c (Fkey_binding): Fix last change. - - * editfns.c (Fmessage): Recommend using (message "%s" ...). - -2006-09-10 Chong Yidong - - * keymap.c (Fkey_binding): Check for local keymap for mouse click - events. - -2006-09-10 Kim F. Storm - - * keyboard.c (Finput_pending_p): Check Vunread_input_method_events - and Vunread_post_input_method_events. - - * dispnew.c (Fredisplay): Document return value. - -2006-09-10 Jan Dj,Ad(Brv - - * xfns.c (Fx_close_connection): Call xg_display_close when USE_GTK. - - * gtkutil.c (xg_display_close): Always change default display if needed, - check for < Gtk+ version 2.10 before calling gdk_display_close. - -2006-09-10 YAMAMOTO Mitsuharu - - * mac.c [MAC_OSX] (sys_select): Check argument `nfds' more rigidly. - Make variable `ofds' static. Remove variable `maxfd'. - - * macfns.c (Fx_file_dialog): Remove unused variable `f'. - Call check_mac. - - * macmenu.c (Vmenu_updating_frame, syms_of_macmenu): - * w32menu.c (Vmenu_updating_frame, syms_of_w32menu): - Apply 2006-09-08 change for xmenu.c. - - * xfns.c (Fx_file_dialog): Call check_x. - -2006-09-10 Kim F. Storm - - * xdisp.c (get_window_cursor_type): Use hollow cursor on - non-transparent images. - -2006-09-09 Eli Zaretskii - - * editfns.c (Fsystem_name): Mention "host" in the doc string. - (syms_of_editfns) : Likewise. - -2006-09-08 Martin Rudalics - - * xdisp.c (mouse_autoselect_window): Remove. - (Vmouse_autoselect_window): New variable. DEFVAR_LISP it. - - * dispextern.h (mouse_autoselect_window): Remove extern. - (Vmouse_autoselect_window): Add extern. - - * macterm.c (XTread_socket): Test Vmouse_autoselect_window - instead of mouse_autoselect_window. - - * msdos.c (dos_rawgetc): Likewise. - - * w32term.c (w32_read_socket): Likewise. - - * xterm.c (handle_one_xevent): Likewise. - -2006-09-08 Richard Stallman - - * xdisp.c (Vmenu_updating_frame): Define here. - (syms_of_xdisp): DEFVAR it here. - (update_menu_bar): Always return hooks_run. - Set Vmenu_updating_frame. - - * xdisp.c (redisplay_internal): Test Vinhibit_redisplay - before calculating SELECTED_FRAME. - - * xmenu.c (Vmenu_updating_frame): Don't define here. - (syms_of_xmenu): Don't DEFVAR it here. - - * xterm.c (x_error_quitter): For BadName error, just return. - - * eval.c (find_handler_clause): Give up on debugger if INPUT_BLOCKED_P. - - * casetab.c (init_casetab_once): Call set_case_table. - - * emacs.c (shut_down_emacs): Set inhibit_sentinels. - - * process.c (inhibit_sentinels): New variable. - (exec_sentinel): Test inhibit_sentinels. - (init_process): Initialize it. - - * process.h (inhibit_sentinels): Add decl. - - * search.c (looking_at_1, string_match_1, search_command): - Make syntax table's canon table point to eqv table. - -2006-09-08 Andreas Schwab - - * print.c (strout): Fix whitespace. - -2006-09-08 Kim F. Storm - - * xterm.c (x_draw_glyph_string): Fix 2006-08-24 change. - -2006-09-08 YAMAMOTO Mitsuharu - - * mac.c [!MAC_OSX]: Don't include keyboard.h. - [!MAC_OSX] (select): Try detect_input_pending before ReceiveNextEvent - in the same BLOCK_INPUT block, in case that some input has already - been read asynchronously. Pretend to be interrupted by a signal - if some input is available. - [MAC_OSX] (select_and_poll_event, sys_select): Likewise. - (SELECT_POLLING_PERIOD_USEC) [SELECT_USE_CFSOCKET]: Change to 100000. - Now used for ReceiveNextEvent timeout instead of select timeout. - (EVENT_CLASS_SOCK) [SELECT_USE_CFSOCKET]: Remove macro. - [SELECT_USE_CFSOCKET] (socket_callback): Add non-blocking connect - support. Quit event loop. - [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Add non-blocking - connect support. Reuse previously allocated CFRunLoopSource. - (Fmac_process_hi_command) [TARGET_API_MAC_CARBON]: New function. - (syms_of_mac) [TARGET_API_MAC_CARBON]: Defsubr it. - - * macfns.c (mac_window) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: - Specify kWindowAsyncDragAttribute. - - * macterm.c (mac_handle_origin_change, mac_handle_size_change) - (mac_get_ideal_size): New functions. - (x_set_offset, x_set_window_size, x_make_frame_visible) - (do_zoom_window, mac_handle_window_event, XTread_socket): Use them. - (install_window_handler, mac_handle_window_event) - [USE_CARBON_EVENTS]: Handle kEventWindowGetIdealSize and - kEventWindowBoundsChanged. - (XTread_socket) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Don't call - DragWindow. - -2006-09-07 Andreas Schwab - - * m/ibms390x.h (START_FILES, LIB_STANDARD): Override to - use lib64 instead of lib. - -2006-09-06 Stefan Monnier - - * Makefile.in: Avoid double quotes when possible. - -2006-09-06 Kenichi Handa - - * editfns.c (Fformat_time_string): Use make_unibyte_string to make - a Lisp string from the result of emacs_memftimeu call. - -2006-09-06 Kim F. Storm - - * xdisp.c (pos_visible_p): Remove exact_mode_line_heights_p arg; - so calculate heights even when pos-visible-in-window-p is called - with partially = t. Don't overshoot last_visible_y in move_it_to. - Return row height and row number in new rowh and vpos args. - (cursor_row_fully_visible_p): First line is always "fully visible". - (try_window): Don't clear matrix if vscrolled. - - * lisp.h (pos_visible_p): Update prototype. - - * window.c (Fpos_visible_in_window_p): Adapt to new pos_visible_p. - Return row height and row number for partially visible rows. - Modify return value to a 2 element list for fully visible rows and - 6 for partially visible row. - (window_scroll_pixel_based): Use pos_visible_p directly instead of - Fpos_visible_in_window_p. Fix auto vscrolling for partially - visible lines. Only vscroll backwards if already vscrolled - forwards. Unconditionally vscroll forwards if PT is first (and - only) line. Set new window start instead of scrolling at - start/end of tall line. - -2006-09-05 YAMAMOTO Mitsuharu - - * macterm.c (install_window_handler, mac_handle_window_event) - [USE_CARBON_EVENTS]: Handle kEventWindowClose. - [USE_MAC_TSM] (mac_handle_text_input_event): Set modifiers for - ASCII keystroke event. - -2006-09-04 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_file_with_chooser): Don't mention specific keys in - the file chooser message. Only call gtk_file_chooser_set_current_name - when action is SAVE. - -2006-09-04 Andreas Schwab - - * Makefile.in: Double all single and back quotes in C-style - comments to help fontifier. - -2006-09-03 Jason Rumney - - * w32.c (shutdown_handler): New function to exit cleanly on shutdown. - (globals_of_w32): Register it as a signal handler. - -2006-09-02 Juri Linkov - - * marker.c (Fmarker_position): Doc fix. - -2006-09-03 Eli Zaretskii - - * window.c (syms_of_window) : - : Doc fix. - -2006-09-02 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_file_with_chooser): Change file chooser message - for writing files. Call gtk_file_chooser_set_current_name to keep - default filename. - - * minibuf.c (Finternal_complete_buffer): Move after DEFUN:s it calls - -2006-09-02 Jindrich Makovicka (tiny change) - - * fns.c (concat) [__GNUC__]: Declare with - `__attribute__((noinline))'. - - * eval.c (apply1, call2) [__GNUC__]: Declare with - `__attribute__((noinline))'. - -2006-09-02 Stuart D. Herring - - * minibuf.c (Finternal_complete_buffer): New function. - (syms_of_minibuf): Defsubr it. - (Fread_buffer): Use it, instead of Vbuffer_alist. - -2006-09-01 Martin Rudalics - - * buffer.h (struct buffer_text): New field chars_modiff. - (CHARS_MODIFF, BUF_CHARS_MODIFF): New macros. - * buffer.c (Fbuffer_chars_modified_tick): New function returning - value of BUF_CHARS_MODIFF. - (syms_of_buffer): Defsubr it. - (Fget_buffer_create): Initialize BUF_CHARS_MODIFF. - * insdel.c (modify_region): New argument preserve_chars_modiff. - Set CHARS_MODIFF to MODIFF provided preserve_chars_modiff is zero. - (insert_1_both, insert_from_string_1, insert_from_buffer_1) - (adjust_after_replace, adjust_after_replace_noundo) - (replace_range, replace_range_2, del_range_2): Reset CHARS_MODIFF. - * lisp.h (modify_region): Add fourth argument in extern. - * casefiddle.c (casify_region): Call modify_region with fourth - argument zero to assert that CHARS_MODIFF is updated. - * editfns.c (Fsubst_char_in_region, Ftranslate_region_internal) - (Ftranspose_regions): Likewise. - * textprop.c (Fadd_text_properties, Fset_text_properties) - (Fremove_text_properties, Fremove_list_of_text_properties): - Call modify_region with fourth argument 1 to avoid that - CHARS_MODIFF is updated. - -2006-08-31 Richard Stallman - - * editfns.c (Fformat): Don't sign-extend for %o or %x. - -2006-08-29 Chong Yidong - - * indent.c (Fvertical_motion): Don't move back if we were - displaying a Lisp string, either. - -2006-08-28 Kim F. Storm - - * xdisp.c (get_window_cursor_type) [!HAVE_WINDOW_SYSTEM]: - Don't attempt to replace cursor on image glyphs. - -2006-08-28 Kenichi Handa - - * coding.c (Fdetect_coding_region, Fdetect_coding_string): - Fix docstring about ISO-2022 control characters. - -2006-08-28 Kim F. Storm - - * xdisp.c (get_window_cursor_type): Replace BOX cursor on images - with a hollow box cursor if image is larger than 32x32 (or the default - frame font if that is bigger). Replace any other cursor on images - with hollow box cursor, as redisplay doesn't support bar and hbar - cursors on images. - -2006-08-27 YAMAMOTO Mitsuharu - - * alloc.c (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Undo previous - change. Move mutex lock/unlock operations inside BLOCK_INPUT. - - * dired.c (directory_files_internal_unwind, directory_files_internal) - (file_name_completion): Add BLOCK_INPUT around opendir/closedir. - - * image.c [MAC_OS] (image_load_qt_1): Use ComponentResult instead - of OSErr. - - * keyboard.c (in_sighandler): Remove variable. - (Fcurrent_idle_time): Add missing `doc:'. - (input_available_signal, init_keyboard): Undo previous change. - - * keyboard.h (in_sighandler): Remove extern. - - * mac.c (create_apple_event_from_event_ref, select) - (Fmac_get_file_creator, Fmac_get_file_type, Fmac_set_file_creator) - (Fmac_set_file_type, cfstring_create_normalized) - (mac_get_system_locale, select_and_poll_event, sys_select): - Use OSStatus instead of OSErr. - - * macfns.c [TARGET_API_MAC_CARBON] (mac_update_proxy_icon): - Don't use FRAME_FILE_NAME. Use (FS)UpdateAlias. - (Fx_create_frame): Apply 2006-07-03 for xfns.c. - - * macselect.c (get_scrap_from_symbol, clear_scrap, put_scrap_string) - (put_scrap_private_timestamp, scrap_has_target_type, get_scrap_string) - (get_scrap_private_timestamp, get_scrap_target_type_list) - (x_own_selection, x_get_foreign_selection) - (Fx_disown_selection_internal, Fx_selection_owner_p) - (Fx_selection_exists_p): Use OSStatus instead of OSErr. - - * macterm.c (mac_draw_string_common, mac_query_char_extents) - (x_iconify_frame, XLoadQueryFont, install_window_handler) - (mac_handle_command_event, init_command_handler, init_menu_bar): - Use OSStatus instead of OSErr. - (x_free_frame_resources) [TARGET_API_MAC_CARBON]: Don't use - FRAME_FILE_NAME. - (x_query_font): Apply 2006-08-04 change for xterm.c. - (Qhi_command): Rename from Qhicommand. All uses changed. - - * macterm.h (struct mac_output) [TARGET_API_MAC_CARBON]: Remove member - file_name. - (FRAME_FILE_NAME): Remove macro. - (install_window_handler, create_apple_event_from_event_ref): - Return OSStatus instead of OSErr. - -2006-08-26 Kim F. Storm - - * buffer.c (Fset_buffer_multibyte): - * editfns.c (Fcurrent_time, Fget_internal_run_time): - * macfns.c (Fxw_color_values): - * w32fns.c (Fxw_color_values): - * xfns.c (Fxw_color_values): Simplify; use list3. - - * fileio.c (Fmake_directory_internal, Fdelete_directory) - (Fdelete_file): Simplify; use list1. - (Frename_file, Fadd_name_to_file, Fmake_symbolic_link): - Simplify; remove NO_ARG_ARRAY stuff, use list2. - -2006-08-25 Richard Stallman - - * buffer.c (Fswitch_to_buffer): Fix previous change. - -2006-08-25 Kim F. Storm - - * keyboard.c (Fcurrent_idle_time): Simplify. - -2006-08-25 Richard Stallman - - * fns.c (sxhash_string): Rotate properly; don't lose bits. - -2006-08-24 Francesc Rocher - - * xdisp.c (overline_margin): New variable. - (x_produce_glyphs): Use it. - (syms_of_xdisp): DEFVAR_INT it. - - * xterm.c (x_underline_at_descent_line): New variable. - (syms_of_xterm): DEFVAR_BOOL it. - (x_draw_glyph_string): Use it. - Draw underline and overline up to the end of line if the face - extends to the end of line. - - * macterm.c: Likewise. - - * w32term.c: Likewise. - -2006-08-24 Nick Roberts - - * buffer.c (Fswitch_to_buffer): Move buffer to front of - buffer-alist if necessary. - -2006-08-22 Kim F. Storm - - * xdisp.c (update_tool_bar): Redisplay toolbar also when only - number of items changes. - -2006-08-22 Stefan Monnier - - * buffer.c (Fset_buffer_multibyte): Record proper undo entry. - -2006-08-21 Jan Dj,Ad(Brv - - * keyboard.c: Clarify difference between in_sighandler and - handling_signal. - -2006-08-21 Kim F. Storm - - * macterm.c (x_draw_stretch_glyph_string): - * w32term.c (x_draw_stretch_glyph_string): - * xterm.c (x_draw_stretch_glyph_string): It is ok to draw a - stretch glyph in left marginal areas on header and mode lines. - -2006-08-21 Kenichi Handa - - * keyboard.c (syms_of_keyboard): Docstring of - Vunread_post_input_method_events and Vunread_input_method_events - fixed. - -2006-08-20 Chong Yidong - - * keyboard.c (show_help_echo): Preserve mouse movement flag if - tracking mouse. - -2006-08-20 Richard Stallman - - * xfaces.c (load_pixmap): Add quotes in error message. - - * keyboard.c (Fcurrent_idle_time): New function. - (syms_of_keyboard): defsubr it. - -2006-08-18 Nick Roberts - - * window.c (Fset_window_fringes): Do nothing on a tty. - (Fwindow_fringes): Put ? operator after the line break. - -2006-08-16 Andreas Schwab - - * print.c (debug_output_compilation_hack): Fix return type. - -2006-08-16 Richard Stallman - - * print.c (debug_output_compilation_hack): New function. - -2006-08-16 Kenichi Handa - - * fileio.c (choose_write_coding_system): Use LF for end-of-line - in auto-saving. - -2006-08-15 Chong Yidong - - * keyboard.c (read_char): Don't change idle timer state at all if - end_time is supplied. - -2006-08-15 Kenichi Handa - - * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New arg RET. If SRC - is exhausted, return with RET. - (detect_coding_emacs_mule, detect_coding_iso2022) - (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8) - (detect_coding_utf_16, detect_coding_ccl): Adjusted for the above - change. - -2006-08-14 Chong Yidong - - * keyboard.c (read_char): Don't reset idle timers if a time limit - is supplied. - -2006-08-14 Kim F. Storm - - * .gdbinit (pitx): Print iterator position. - Limit stack dump in case iterator is not initialized. - -2006-08-12 Eli Zaretskii - - * frame.c (Fmouse_position, Fmouse_pixel_position) - (Fset_mouse_position, Fset_mouse_pixel_position): Doc fix. - -2006-08-11 Jan Dj,Ad(Brv - - * xselect.c (Fx_register_dnd_atom): New function. - (syms_of_xselect): Defsubr it. - (x_handle_dnd_message): Check that message_type is in - dpyinfo->x_dnd_atoms before generating lisp event. - - * xterm.h (struct x_display_info): Add x_dnd_atoms* to keep track - of drag and drop Atoms. - - * xterm.c (x_term_init): Initialize dpyinfo->x_dnd_atoms* - -2006-08-10 Jan Dj,Ad(Brv - - * keyboard.c: Define in_sighandler. - (input_available_signal): Set in_sighandler. - (init_keyboard): Initialize in_sighandler. - - * keyboard.h: Declare in_sighandler. - - * alloc.c (UNBLOCK_INPUT_ALLOC, BLOCK_INPUT_ALLOC): Use in_sighandler - to check if mutex should be locked or not. - -2006-08-09 Richard Stallman - - * keyboard.c (keyremap_step): No-op if fkey->parent = nil. - (read_key_sequence): Always start fkey.start and fkey.end at 0, - and likewise for keytran. - -2006-08-09 Kenichi Handa - - * coding.c (syms_of_coding): Improve the docstring - of file-coding-system-alist. - -2006-08-07 Andreas Schwab - - * puresize.h (BASE_PURESIZE): Increase to 1120000. - -2006-08-06 Chong Yidong - - * buffer.c (Vchange_major_mode_hook, Qchange_major_mode_hook): New vars. - (Fkill_all_local_variables): Use it. - (syms_of_buffer): Defvar it. - -2006-08-05 Eli Zaretskii - - * w32.c (w32_valid_pointer_p): New function. - - * w32.h: Add prototype for w32_valid_pointer_p. - - * alloc.c: Include w32.h. - (valid_lisp_object_p) [WINDOWSNT]: Call w32_valid_pointer_p to do - the job. - - * keyboard.c (kbd_buffer_get_event): Return Qnil when current time - is exactly equal to end_time, not only when it is past that. - -2006-08-04 Chong Yidong - - * keyboard.c (read_char): Rebalance specpdl after receiving jump. - - * process.c: Reapply 2006-08-01 change. - -2006-08-04 Eli Zaretskii - - * w32fns.c (w32_query_font): Fix last change: use stricmp. - -2006-08-04 Stefan Monnier - - * editfns.c (Fsubst_char_in_region): Redo the setup work after running - the before-change-functions since they may have altered the buffer. - -2006-08-04 Ralf Angeli - - * w32fns.c (w32_createwindow): Handle -geometry command line option - and the geometry settings in the Registry. - -2006-08-04 Kenichi Handa - - * w32fns.c (w32_query_font): Compare names by ignoring case. - - * xterm.c (x_query_font): Compare names by ignoring case. - -2006-08-03 Jason Rumney - - * w32menu.c (w32_menu_show, w32_dialog_show): Call Fsignal to quit - when no option selected. - -2006-08-03 Chong Yidong - - * process.c: Revert last change. - -2006-08-01 Kim F. Storm - - * process.c (wait_reading_process_output_unwind): New function. - Restores waiting_for_user_input_p to saved value. - (wait_reading_process_output): Unwind protect waiting_for_user_input_p - instead of save/restore old value on stack. - -2006-07-30 Thien-Thi Nguyen - - * editfns.c: Undo 2006-06-27 change. - -2006-07-29 Eli Zaretskii - - * coding.c (Ffind_operation_coding_system): Revert the change from - 2006-05-29. - - * alloc.c [WINDOWSNT]: Include fcntl.h, to fix last change. - -2006-07-28 Richard Stallman - - * xfaces.c (lookup_named_face, Fdisplay_supports_face_attributes_p): - Add conditional aborts for clarity. - - * xdisp.c (update_menu_bar): New arg HOOKS_RUN. Callers changed. - Used to avoid running the hooks over and over for each frame. - (prepare_menu_bars): Pass value from update_menu_bar - as HOOKS_RUN of next call. - - * keyboard.c (safe_run_hooks_1): Don't crash if Vrun_hooks is nil. - -2006-07-28 Kim F. Storm - - * alloc.c (valid_pointer_p): New function (from valid_lisp_object_p). - (valid_lisp_object_p): Use it to check for valid SUBRP obj. - -2006-07-26 Chong Yidong - - * keyboard.c (read_char): New arg END_TIME specifying timeout. - All callers changed. Turn off echoing if END_TIME is non-NULL. - (kbd_buffer_get_event): New arg END_TIME. - - * lread.c (read_filtered_event): New arg SECONDS to wait until. - (Fread_char, Fread_event, Fread_char_exclusive): New arg SECONDS. - - * lisp.h: Update read-char, read-event, and read_filtered_event - prototypes. - - * keyboard.h: Include systime.h. Update read_char prototype. - -2006-07-25 YAMAMOTO Mitsuharu - - * alloc.c (find_string_data_in_pure): New function. - (make_pure_string): Use it to reuse existing string data if possible. - - * puresize.h (BASE_PURESIZE): Decrease to 1102000. - -2006-07-22 Stefan Monnier - - * keymap.c (Fdefine_key): If the key binding definition looks like an - XEmacs-style key sequence, convert it to Emacs's format. - -2006-07-22 Ralf Angeli - - * w32fns.c (w32_createwindow): If `left' and/or `top' frame - parameters are bound to some values, use that instead of - CW_USEDEFAULT. - -2006-07-21 Eli Zaretskii - - * w32.c (convert_time): Use explicit long double constants to - ensure long double arithmetics is used throughout. - -2006-07-20 YAMAMOTO Mitsuharu - - * alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp): New vars. - (init_alloc_once): Initialize them. - (pure_alloc): Allocate non-Lisp objects from the end of pure storage - without alignment. - - * puresize.h (BASE_PURESIZE): Decrease to 1141000. - -2006-07-18 Francis Litterio - - * w32term.c (x_calc_absolute_position): Fix frame positioning - with negative X/Y coordinates. - -2006-07-18 Dan Nicolaescu - - * xterm.c (x_connection_closed, x_error_quitter): Mark as NO_RETURN. - - * textprop.c (text_read_only): Likewise. - - * lread.c (end_of_file_error): Likewise. - - * lisp.h (circular_list_error, memory_full, buffer_memory_full): - Likewise. - - * eval.c (unwind_to_catch): Likewise. - - * buffer.h (buffer_slot_type_mismatch): Likewise. - -2006-07-18 Kim F. Storm - - Cleanup Fsignal calls that never returns; now only use it for Qquit. - - * eval.c (xsignal): New func. Like Fsignal, but marked no-return. - (xsignal0, xsignal1, xsignal2, xsignal3): New no-return functions. - (signal_error): New no-return function (from xfaces.c). - (Fthrow): Use xsignal2 instead of Fsignal + abort. - (error): Use xsignal1 instead of Fsignal + abort. - (FletX, Flet, grow_specpdl): Use signal_error. - (Feval, Ffuncall, funcall_lambda): Use xsignal1, xsignal2. - - * alloc.c (buffer_memory_full, memory_full): Use xsignal. Remove loop. - (list1): New function. - - * lisp.h (list1): Add EXFUN. - (xsignal, xsignal0, xsignal1, xsignal2, xsignal3, signal_error): - Add prototypes. Mark them as no-return. - - * buffer.c (Fbuffer_local_value, Fbarf_if_buffer_read_only): - Use xsignal1. - - * callint.c (check_mark): Use xsignal0. - - * casefiddle.c (casify_object): wrong_type_argument is no-return. - - * cmds.c (Fforward_char, Fdelete_char): Use xsignal0. - - * coding.c (Fcheck_coding_system): Use xsignal1. Remove loop. - (Fdefine_coding_system_internal): Use xsignal1. - - * data.c (circular_list_error): Use xsignal. - (wrong_type_argument): Use xsignal2. Don't care about return value. - (args_out_of_range, args_out_of_range_3): Use xsignal2, xsignal3. - Remove loop around Fsignal. - (indirect_variable, Fsymbol_value, set_internal, Fdefault_value) - (indirect_function, Findirect_function, Fstring_to_number) - (Fmakunbound, Ffmakunbound, Fsymbol_function, Ffset): Use xsignal1. - (arith_driver, float_arith_driver, Frem, Fmod, arith_error): - Use xsignal0. - - * doc.c (Fdocumentation): Use xsignal1. - - * editfns.c (region_limit, Fget_internal_run_time): Use xsignal0. - - * fileio.c (report_file_error): Use xsignal. - (barf_or_query_if_file_exists, Fcopy_file, Fdelete_file) - (Finsert_file_contents): Use xsignal2. - (syms_of_fileio): Use list2, list3. - - * floatfns.c (arith_error, range_error, domain_error): Use xsignal2. - (range_error2, domain_error2): Use xsignal3. - (rounding_driver, fmod_float): Use xsignal0. - (float_error): Use xsignal1. - (matherr): Use xsignal. - - * fns.c (Flength): wrong_type_argument is no-return. - (hashfn_user_defined, Fmake_hash_table): Use signal_error. - (Fmd5): Use xsignal1. - - * frame.c (x_set_line_spacing, x_set_screen_gamma): Use signal_error. - - * keyboard.c (recursive_edit_1): Use xsignal1. - - * keymap.c (Fmap_keymap): Use xsignal1. - - * lread.c (Fload): Use xsignal2, signal_error. - (end_of_file_error): Use xsignal0, xsignal1. - (read0): Use xsignal1. - (invalid_syntax): New error function marked no-return. - (read_integer, read1, read_list): Use it. - - * macselect.c (x_get_local_selection): Use signal_error. - - * msdos.c (Fmsdos_set_mouse_buttons): Use xsignal2. - - * search.c (compile_pattern_1): Use xsignal1. - (signal_failure): Remove (was only called once). - (search_command): Use xsignal1 instead of signal_failure. - - * syntax.c (scan_lists): Use xsignal3. - - * textprop.c (text_read_only): Use xsignal0, xsignal1. - - * unexsol.c (unexec): Use xsignal. - - * window.c (window_scroll_pixel_based, window_scroll_line_based): - Use xsignal0. - - * xfaces.c (signal_error): Move to eval.c. - (resolve_face_name): Use xsignal1. - - * xfns.c (x_decode_color): Use signal_error. - - * xselect.c (x_get_local_selection, copy_multiple_data) - (x_get_window_property_as_lisp_data) - (lisp_data_to_selection_data, CHECK_CUT_BUFFER) - (Fx_get_cut_buffer_internal): Use signal_error. - -2006-07-18 YAMAMOTO Mitsuharu - - * macterm.c (XTread_socket): Undo previous change. - -2006-07-18 YAMAMOTO Mitsuharu - - * macterm.c (keycode_to_xkeysym): Remove function. All uses now - directly lookup keycode_to_xkeysym_table. - [USE_MAC_TSM] (mac_handle_text_input_event): Don't construct - ASCII_KEYSTROKE_EVENT for non-zero keycode_to_xkeysym_table entries. - (XTread_socket): Use character codes to construct keypad key events. - (mac_initialize_display_info) [MAC_OSX]: Use CGDisplaySamplesPerPixel. - (x_delete_display): Apply 2006-07-04 change for xterm.c. - -2006-07-17 Richard Stallman - - * keyboard.c (Vcommand_error_function): New variable. - (syms_of_keyboard): Defvar it. - (cmd_error_internal): Simplify, and handle Vcommand_error_function. - - * dispnew.c (init_display): Mention DISPLAY as well as TERM in err msg. - -2006-07-17 Kim F. Storm - - * xdisp.c (handle_single_display_spec): Ensure the right value of - it->position is saved by push_it. - (pop_it): Restore it->object for GET_FROM_BUFFER and GET_FROM_STRING. - (reseat_1): Don't setup it->object twice. - (set_iterator_to_next): No need to set it->object after pop_it. - (move_it_to): Explicitly check to see if last move reached to_charpos. - -2006-07-17 Thien-Thi Nguyen - - * xdisp.c (display_mode_line): Preserve match data. - -2006-07-14 Kim F. Storm - - * w32.c (pfn_WSACreateEvent, pfn_WSACloseEvent): New func ptrs. - (init_winsock): Load them. Use ws2_32.dll. - (sys_listen): Undo last change. Just set FILE_LISTEN flag. - (sys_accept): Undo last change. Instead, set child status to - STATUS_READ_ACKNOWLEDGED and reset char_avail event so next - sys_select will wakeup the reader thread. - (_sys_wait_accept): New function used by reader thread to wait for - an incoming connection on a server socket. - - * w32.h (_sys_read_ahead, _sys_wait_accept): Add prototypes. - - * w32proc.c (reader_thread): Use _sys_wait_accept to wait on a - server socket (FILE_LISTEN flag). - -2006-07-14 Jan Dj,Ad(Brv - - * sound.c (alsa_init): Call snd_pcm_close after successful snd_pcm_open. - -2006-07-14 Kim F. Storm - - * w32.c: Fix high cpu load for server sockets. - (pfn_WSAEventSelect): New function ptr. - (init_winsock): Load it. - (sys_listen): Set FILE_LISTEN flag. Set event mask for socket's - char_avail event object to FD_ACCEPT. - (sys_accept): Check FILE_LISTEN flag. Set event mask on new - socket's char_avail event object to FD_READ|FD_CLOSE. - - * w32.h (FILE_LISTEN): New filedesc flag value. - -2006-07-13 Kim F. Storm - - * bytecode.c (Fbyte_code): Use CAR, CDR for Bcar, Bcdr. - Use CAR_SAFE, CDR_SAFE for Bcar_safe, Bcdr_safe. - Simplify loops and use CAR for Bnth and Belt. - - * data.c (Findirect_function): Optimize for no indirection. - - * eval.c (Fthrow): Remove loop around Fsignal. - (Feval, Fapply, Ffuncall): Optimize for no function indirection. - Use original function name in all signaled errors. - Simplify Fsignal calls (no return). - (funcall_lambda): Simplify Fsignal calls (no return). - -2006-07-13 Andreas Schwab - - * syntax.c (scan_sexps_forward): Use EMACS_INT for out_bytepos and - out_charpos. - -2006-07-13 Kenichi Handa - - * editfns.c (Fformat): Fix calculation of text property positions - of format string. - -2006-07-12 Kim F. Storm - - * lisp.h (CHECK_TYPE): New macro for generic type checking. - (CAR_SAFE, CDR_SAFE): New macros. - (ARRAYP, CHECK_ARRAY): New macros. - (CHECK_VECTOR_OR_STRING, CHECK_SUBR): New macros. - (CHECK_WINDOW_CONFIGURATION): New macro. - (CHECK_LIST_CONS, CHECK_LIST_END): New checks for list traversal. - (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST) - (CHECK_STRING, CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL) - (CHECK_CHAR_TABLE, CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE) - (CHECK_BUFFER, CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS) - (CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, CHECK_OVERLAY) - (CHECK_NUMBER_COERCE_MARKER, CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT) - (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER): Use CHECK_TYPE. - - * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): - * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Use CHECK_TYPE. - - * callint.c (Fcall_interactively): - * casefiddle.c (casify_object): - * editfns.c (general_insert_function): - * fns.c (Flength, Felt, Ffillarray): - * data.c (Fcar, Fcdr): Remove loop around wrong_type_argument. - - * data.c (wrong_type_argument): Remove loop around Fsignal. - (Farrayp, Fsequencep): Use ARRAYP. - (Fcar): Use CAR. - (Fcar_safe): Use CAR_SAFE. - (Fcdr): Use CDR. - (Fcdr_safe): Use CDR_SAFE. - (Fsetcar, Fsetcdr): Use CHECK_CONS. - (Fsubr_arity, Fsubr_name): Use CHECK_SUBR. - (Faset): Use CHECK_ARRAY. - - * fns.c (Felt): Use CHECK_ARRAY. - (concat): Use CHECK_NUMBER. - (Fsubstring, substring_both): Use CHECK_VECTOR_OR_STRING. - (Fmemq): Use CHECK_LIST. - (Fassq, Fassoc, Frassq, Frassoc): Use CAR. - (assq_no_quit): Use CAR_SAFE. - (Fnthcdr, Fmember, Fdelq, Fdelete, Fnreverse, Fnconc): - Use CHECK_LIST_CONS. - (Freverse, Fplist_get, Flax_plist_get): Use CHECK_LIST_END. - - * bytecode.c (Fbyte_code): Use CHECK_VECTOR. - - * casetab.c (check_case_table): - * category.c (check_category_table): - * marker.c (Fcopy_marker): - * syntax.c (check_syntax_table): - * xfaces.c (load_pixmap): Use CHECK_TYPE. - - * fns.c (Fcopy_sequence, concat): - * fringe.c (Fdefine_fringe_bitmap): - * lread.c (check_obarray): Cleanup wrong_type_argument use. - - * keyboard.c (access_keymap_keyremap): Use ARRAYP. - - * keymap.c (Fdefine_key, Flookup_key): - * macros.c (Fstart_kbd_macro): Use CHECK_VECTOR_OR_STRING. - - * mac.c (Fmac_get_preference): Use CHECK_LIST_END. - - * search.c (Fset_match_data): Use CHECK_LIST. - - * sunfns.c (sun_item_create): Use CHECK_LIST_CONS. - - * window.c (Fwindow_configuration_frame, Fset_window_configuration): - (compare_window_configurations): Use CHECK_WINDOW_CONFIGURATION. - -2006-07-12 YAMAMOTO Mitsuharu - - * Makefile.in (dired.o, editfns.o, fileio.o): Depend on blockinput.h. - - * dired.c: Include blockinput.h. - (Ffile_attributes): Add BLOCK_INPUT around getpwuid/getgrgid. - - * editfns.c: Include blockinput.h. - (Fuser_login_name, Fuser_full_name): Add BLOCK_INPUT around - getpwuid/getpwnam. - - * fileio.c: Include blockinput.h. - (Fexpand_file_name, search_embedded_absfilename): Add BLOCK_INPUT - around getpwnam. - (search_embedded_absfilename): Remove spurious xfree. - -2006-07-11 Kim F. Storm - - * dispnew.c (sit_for): Reduce number of args from 5 to 3. - Now just one TIMEOUT arg that can be a Lisp float or Lisp int. - Combine args DISPLAY and INITIAL_DISPLAY into one arg DO_DISPLAY. - Signal error if TIMEOUT is not a number. - Undo 2006-06-14 change for non-preemptive display if TIMEOUT < 0. - The rework of sit_for args also fixes several incorrect Qt args - which should have been 1. - (Fredisplay): Pass 1 instead of Qt to swallow_events and - detect_input_pending_run_timers. - - * lisp.h (sit_for): Update prototype. - (Fredisplay): Add EXFUN. - - * dispextern.h (sit_for): Remove prototype. - - * callint.c (Fcall_interactively): - * minibuf.c (temp_echo_area_glyphs): - * keyboard.c (command_loop_1, read_char, Fexecute_extended_command): - * fileio.c (Fdo_auto_save): Update/simplify sit_for calls. - -2006-07-11 Stefan Monnier - - * syntax.c (forw_comment): Also use EMACS_INT for buffer positions. - -2006-07-11 Kim F. Storm - - * dispnew.c (Fredisplay): Add FORCE argument to force redisplay when - input is available. Fix test for redisplay_dont_pause non-nil. - Specbind redisplay-dont-pause to t if FORCE non-nil. - -2006-07-10 Chong Yidong - - * puresize.h (BASE_PURESIZE): Increment to 1211000. - - * dispnew.c (Fredisplay): New function, equivalent to (sit-for 0). - (Fsit_for): Function deleted. - - * keyboard.c (command_loop_1, Fexecute_extended_command): - Call sit_for instead of Fsit_for. - - * minibuf.c (temp_echo_area_glyphs): Likewise. - -2006-07-09 Stefan Monnier - - * syntax.c (Fforward_comment): Revert the reversion. - (back_comment, scan_lists): Also use EMACS_INT for buffer positions. - -2006-07-09 John Paul Wallington - - * syntax.c (Fforward_comment): Revert previous change. - -2006-07-09 Kim F. Storm - - * window.c (Fforce_window_update): Doc fix. - -2006-07-08 Stephen Gildea - - * fileio.c (do_auto_save_make_dir): Make the auto-save-list-file - directory unreadable for better user privacy. - -2006-07-07 Stefan Monnier - - * syntax.c (Fforward_comment): Fix int-32 vs EMACS_INT-64 mixup. - - * lread.c (read_filtered_event): Remove `register' qualifier because it - causes compilation problem with gcc-4.0.2-20051125 on amd64. - (readevalloop): Remove unused var `bpos'. - Yet another int/Lisp_Object mixup (YAILOM). - -2006-07-07 Eli Zaretskii - - * keyboard.c (Fexecute_extended_command): Mention the argument - PREFIXARG in the doc string. - -2006-07-07 Kim F. Storm - - * fringe.c (Fdefine_fringe_bitmap): Doc fix. - -2006-07-05 Chong Yidong - - * insdel.c (prepare_to_modify_buffer): For an indirect buffer, do - clash detection using the base buffer. - - * puresize.h (BASE_PURESIZE): Increment to 1210500. - -2006-07-04 Kim F. Storm - - * xterm.c (x_delete_display): Don't free or derefence NULL pointers. - -2006-07-04 Kenichi Handa - - * fontset.c (Fset_overriding_fontspec_internal): Check if we need - to update Voverriding_fontspec_alist. - -2006-07-03 Richard Stallman - - * xfns.c (Fx_create_frame): Move unwind_create_frame setup down. - - * xfaces.c (Fface_attribute_relative_p): Doc fix. - - * textprop.c (Fget_char_property_and_overlay): Doc fix. - - * eval.c (Fdefvaralias): Doc fix. - -2006-07-03 Kim F. Storm - - * dispnew.c (sit_for): Fix preempt condition. - -2006-07-02 Stefan Monnier - - * lread.c (read_filtered_event): Treat select-window just like - switch-frame. - -2006-07-02 Kim F. Storm - - * xdisp.c (display_tool_bar_line): Skip glyphs which are too big - to ever fit the tool-bar, - (MAX_FRAME_TOOL_BAR_HEIGHT): New macro. - (tool_bar_lines_needed): Use unused mode-line row as temp_row. - (redisplay_tool_bar): Only clear desired matrix if we actually - change the tool-bar window height. Only try to make the tool-bar - window bigger if there is actually room for it. - -2006-06-30 Ralf Angeli - - * w32term.c (x_make_frame_visible): Use SystemParametersInfo with - SPI_GETWORKAREA to find the dimensions of the screen work area, - and adjust vertical position of the frame in order to avoid being - covered by the task bar. - - * w32fns.c (w32_createwindow): Use CW_USEDEFAULT instead of - f->left_pos and SH_SHOW instead of f->top_pos in the call to - CreateWindow. Record the actual position in f->left_pos and - f->top_pos. - -2006-06-30 John Paul Wallington - - * w32console.c (syms_of_ntterm) : - Doc fix - default value has changed. - -2006-06-28 YAMAMOTO Mitsuharu - - * mac.c [!TARGET_API_MAC_CARBON]: Don't include FixMath.h or Scrap.h. - - * macfns.c (Fx_create_frame): Apply 2006-06-24 change for xfns.c. - - * macgui.h (USE_MAC_TSM) [TARGET_API_MAC_CARBON]: Set default to 1. - - * macterm.c (Qeql): Add extern. - (x_set_mouse_pixel_position) [MAC_OSX]: Use CGWarpMouseCursorPosition. - (fm_style_face_attributes_alist) [USE_ATSUI]: New variable. - (syms_of_macterm) [USE_ATSUI]: Initialize and staticpro it. - Change keys of Vmac_atsu_font_table from strings to numbers. - (fm_style_to_face_attributes) [USE_ATSUI]: New function. - (init_font_name_table) [USE_ATSUI]: Use it. - (saved_ts_script_language_on_focus) [USE_MAC_TSM]: New variable. - (syms_of_macterm) [USE_MAC_TSM]: Initialize and staticpro it. - [USE_MAC_TSM] (mac_tsm_resume): Restore script and language codes - only when saved_ts_script_language_on_focus coincides with - Vmac_ts_script_language_on_focus. - [USE_MAC_TSM] (mac_tsm_suspend): Save value of - Vmac_ts_script_language_on_focus to saved_ts_script_language_on_focus. - (XTread_socket) [USE_MAC_TSM]: Add Mac OS Classic support. - [USE_MAC_TSM] (mac_handle_text_input_event, init_tsm): Likewise. - -2006-06-27 Chong Yidong - - * editfns.c (Fdelete_field, Ffield_string, Ffield_beginning) - (Ffield_string_no_properties, Ffield_end): Mention - args-out-of-range error condition in docstring. - -2006-06-27 Kim F. Storm - - * xdisp.c (handle_composition_prop): Set stop_charpos before push_it. - -2006-06-25 Kim F. Storm - - * s/gnu-linux.h (SIGNALS_VIA_CHARACTERS): Define for Linux kernel - version 2.4 and later. - -2006-06-24 Chong Yidong - - * xfns.c (Fx_create_frame): Set font parameter directly instead of - using x_default_parameter, since x_get_args clears the parm alist. - -2006-06-24 Eli Zaretskii - - * dired.c (directory_files_internal) [WINDOWSNT]: Find files - case-insensitively. - -2006-06-24 Aidan Kehoe - - * lread.c (read_escape): When an unknown Unicode code point is - encountered as a string or character escape, signal an error. - -2006-06-23 Kim F. Storm - - * .gdbinit (pitx): Dump iterator stack. - - * xdisp.c (handle_composition_prop): Push iterator on stack. - (set_iterator_to_next): Pop iterator at end of composition. - -2006-06-23 Martin Rudalics - - * fileio.c (Frename_file) [DOS_NT]: Don't try to move directory to - itself on DOS_NT platforms, if the old and new names are identical - but for the letter-case. - -2006-06-21 Kim F. Storm - - * dispextern.h (struct it): Add `position' member to iterator stack. - Rename `pos' member to `current'. Rearrange and add comments. - - * xdisp.c (handle_stop): Set it->ignore_overlay_strings_at_pos_p - if we get any overlays. - (set_cursor_from_row): Don't clobber `end' if we rescan from - start_string. - (push_it, pop_it): Save it->position. - -2006-06-19 Richard Stallman - - * window.c (size_window): New arg FIRST_ONLY. All callers changed. - (adjust_window_trailing_edge): Specially compute FIRST_PARALLEL - for the case of a top-level window and the following minibuffer. - Don't exit because of no `next' when there is a parent. - Use the FIRST_ONLY feature when resizing following windows. - - * syntax.c (init_syntax_once): Give most control chars' syntax Spunct. - -2006-06-17 Kim F. Storm - - * dispnew.c (update_frame): Check for input pending on entry. - (update_window, update_frame_1): Break loop if input is detected. - -2006-06-16 Francis Litterio - - * xterm.c (x_check_expected_move, handle_one_xevent) - (x_set_offset, x_check_fullscreen): Extensive changes to make - frame positioning deterministic under X. - - * xterm.h (x_output): Add members left_before_move and - top_before_move. Removed members expected_left and expected_top. - -2006-06-16 Kim F. Storm - - * dispextern.h (struct it): Add union to iterator stack to save - image, composition, and stretch specific paramters. - - * xdisp.c (next_overlay_string): Fix assert. - (push_it, pop_it): Handle composition and stretch specific values. - Only handle it->slice in image (for now). - (back_to_previous_visible_line_start): Continue search if newline is - part of a compisition. Simplify. - (reseat_1): Set it->object to buffer. - (set_iterator_to_next): Set it->object to string or buffer, when - setting it->method to GET_FROM_STRING or GET_FROM_BUFFER. - (next_element_from_composition): Set it->object to buffer if not - from string. - (set_cursor_from_row): Only save start of string if not already - done to handle multiple strings in a row. - - * .gdbinit (pitx): Show composition parameters. - (pgx, pg): New commands to print a glyph structure. - (pgi, pgn): New commands to print specific/next glyph. - (pgrowx, pgrow): New commands to print all glyphs in a row. - -2006-06-16 YAMAMOTO Mitsuharu - - * macfns.c (Fx_display_mm_height, Fx_display_mm_width) - [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Use CGDisplayScreenSize. - - * macterm.c (do_app_resume, do_app_suspend): Remove functions. - (mac_tsm_resume, mac_tsm_suspend) [USE_MAC_TSM]: New functions. - (mac_handle_window_event, XTread_socket) [USE_MAC_TSM]: Use them. - (Vmac_ts_script_language_on_focus) [USE_MAC_TSM]: New variable. - (syms_of_macterm) [USE_MAC_TSM]: Defvar it. - (saved_ts_language, saved_ts_component) [USE_MAC_TSM]: New variables. - (mac_initialize_display_info) [MAC_OSX]: Use Quartz Display - Services functions to get size of main display in pixels. - -2006-06-14 Chong Yidong - - * xdisp.c (back_to_previous_visible_line_start): - Reset it->continuation_lines_width. - -2006-06-14 Richard Stallman - - * eval.c (Fdefconst): Mark variable as risky. - - * callproc.c (Fcall_process): Doc fix. - - * window.c (adjust_window_trailing_edge): Don't break out of the loop - because there's no next window, if there are parallel windows. - Do break out when WINDOW is nil. - -2006-06-14 Kim F. Storm - - * dispextern.h (IT_STACK_SIZE): New macro specifying size of - iterator stack (instead of hardcoded number). Increase from 2 to - 4 to make room for propertized overlay strings before and after a - display string, image or composition. - (struct it): Add image_id and method members to iterator stack. - - * xdisp.c (init_from_display_pos): Don't set it->method and - overlay_string_index after pop_it. Add asserts. - (handle_stop): Look for overlay strings around a display string, - image, or composition. Handle properties on those strings. - (next_overlay_string): Don't set string, pos or method after pop_it. - (get_overlay_strings_1): Split from get_overlay_strings; don't - modify it if no overlay strings are found. - (get_overlay_strings): Use get_overlay_strings_1. Always set - it->string and it->method. - (push_it): Push it->image_id and it->method. Push it->object - instead of it->string if method is GET_FROM_IMAGE. - (pop_it): Pop it->image_id and it->method. Ppo it->object - instead of it->string if method is GET_FROM_IMAGE. - Reset it->current.string_pos if popped it->string is nil. - (reseat_1): Remove comment dated 19 May 2003. It expressed doubt - whether a given change was correct; but the change is correct. - Clear it->string_from_display_prop_p. - (set_iterator_to_next): Rely on it->method and it->image_id from - iterator stack, instead of setting them explicitly after pop_it. - - * dispnew.c (sit_for): Undo 2006-06-01 change. Instead, a - negative time forces redisplay even when input is available. - (Fsit_for): Doc fix. - -2006-06-13 Kim F. Storm - - * dispnew.c: Modify preemptive redisplay to be based on periodic - checks for input. - (PERIODIC_PREEMPTION_CHECKING): Define to 1 iff EMACS_HAS_USECS. - (Vredisplay_preemption_period): New variable. - (syms_of_display): DEFVAR_LISP and initialize it. - (preemption_period, preemption_next_check): New variables. - (update_frame, update_single_window): Initialize them based on - Vredisplay_preemption_period if !force_p. - (update_window, update_frame_1): Use them to determine when to - check for input. - -2006-06-03 Aidan Kehoe - - * lread.c (read_escape): Provide a Unicode character escape - syntax; \u followed by exactly four or \U followed by exactly - eight hex digits in a comment or string is read as a Unicode - character with that code point. - -2006-06-09 Eli Zaretskii - - * window.c (window_scroll_pixel_based): Signal "Beginning of - buffer" when scroll-down at the beginning of an empty buffer. - -2006-06-06 YAMAMOTO Mitsuharu - - * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event): - Exclude 0x7f from ASCII range. - -2006-06-05 Jason Rumney - - * w32term.c (w32_set_scroll_bar_thumb, x_scroll_bar_create) - (w32_set_vertical_scroll_bar, w32_scroll_bar_handle_click) - (x_scroll_bar_report_motion): Remove workarounds for - versions of Windows NT < 3.51. - [!SIF_ALL]: Remove. - (pfnSetScrollInfo, pfnGetScrollInfo): Remove. - (w32_initialize): Don't dynamically load Get/SetScrollInfo. - -2006-06-04 David Kastrup - - * dispnew.c: Mention `redisplay-dont-pause' in doc string of - `sit-for'. - -2006-06-03 YAMAMOTO Mitsuharu - - * macfns.c (x_set_icon_name): Apply 2006-06-02 change for xfns.c. - - * macgui.h (USE_MAC_TSM): Set default to 1 on Mac OS X. - - * macterm.c (tsm_document_id) [USE_MAC_TSM]: New variable. - (Qtext_input, Qupdate_active_input_area, Qunicode_for_key_event) - [USE_MAC_TSM]: Likewise. - (syms_of_macterm) [USE_MAC_TSM]: Intern and staticpro them. - (Qbefore_string) [USE_MAC_TSM]: Add extern. - (do_app_resume, do_app_suspend) [USE_MAC_TSM]: Call - ActivateTSMDocument/DeactivateTSMDocument. - (mac_store_event_ref_as_apple_event): Call mac_post_mouse_moved_event. - (mac_handle_window_event) [USE_MAC_TSM]: Handle - kEventWindowFocusAcquired/kEventWindowFocusRelinquish. - (mac_handle_text_input_event) [USE_MAC_TSM]: New function. - (install_window_handler) [USE_MAC_TSM]: Install it. Register - kEventWindowFocusAcquired/kEventWindowFocusRelinquish. - (keycode_to_xkeysym_table): Add entry for f16. - (XTread_socket) [USE_MAC_TSM]: Set/reset read_socket_inev - before/after passing keystroke event to toolbox dispatcher. - (init_tsm) [USE_MAC_TSM]: New function. - (mac_initialize) [USE_MAC_TSM]: Call it. - (Vmac_ts_active_input_overlay) [USE_MAC_TSM]: New defvar. - - * macterm.h (EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER): New enumerator. - -2006-06-02 John Paul Wallington - - * xfns.c (x_set_name_internal): Set icon to `text', derived from - name, when frame's icon_name isn't a string rather than only when - it is nil. - -2006-06-03 Eli Zaretskii - - * w32fns.c (x_set_icon_name): Don't use arg if it's not a string - and not nil. - -2006-06-02 Chong Yidong - - * xfns.c (x_set_icon_name): No-op if arg is non-nil and not a - string. - -2006-06-02 YAMAMOTO Mitsuharu - - * xdisp.c (next_element_from_composition): Set it->object to - it->string if composition is coming from string. - (set_cursor_from_row): Don't return 0 unless row displays a - continued line. - (dump_glyph): Dump composite glyph. - -2006-06-02 Jan Dj,Ad(Brv - - * gtkutil.c (menu_nav_ended): Check that menubar_widget is not NULL. - -2006-06-01 Richard Stallman - - * window.c (Fsplit_window): Doc fix. - -2006-06-01 Micha,Ak(Bl Cadilhac - - * process.c (deleted_pid_list): New variable to store the pids - of deleted processes. Declare it only if SIGCHLD is defined. - (init_process): Initialize it. - (syms_of_process): Staticpro it. - (Fdelete_process): Add pid of the deleted process to it. Check after - the addition and before the kill if the process is already stopped, - in which case it is deleted from the list and not killed. - (sigchld_handler): Define it only if SIGCHLD is. Search the process - that signaled Emacs in `deleted_pid_list' before `Vprocess_alist'. - Original idea by Stefan Monnier. - -2006-06-01 Kim F. Storm - - * dispnew.c (sit_for): Perform redisplay even if input is pending - when redisplay-dont-pause is non-nil. - -2006-06-01 YAMAMOTO Mitsuharu - - * macterm.c (mac_handle_visibility_change): Set buf.arg to Qnil. - (XTread_socket): Remove obsolete comment. - -2006-06-01 Jan Dj,Ad(Brv - - * xmenu.c (syms_of_xmenu): Make accelerate-menu an alias for - menu-bar-open. - -2006-06-01 Jan Dj,Ad(Brv - - * xmenu.c (Fmenu_bar_open, syms_of_xmenu): Change menu-bar-start to - menu-bar-open. - - * gtkutil.c (menu_nav_ended): Change x-menu-bar-start to menu-bar-open. - -2006-05-31 Juri Linkov - - * minibuf.c (Vhistory_add_new_input): New variable. - (read_minibuf): Use it. - (syms_of_minibuf) : New Lisp variable. - (syms_of_minibuf) : Doc fix. - -2006-05-31 Kim F. Storm - - * process.c (select_wrapper): Add wrapper around select to work around - "incomplete backtrace" bug in gdb 5.3, when emacs is stopped inside - select called from wait_reading_process_output. - -2006-05-30 Andreas Schwab - - * xmenu.c (Fmenu_bar_start): Return a value. - -2006-05-30 Richard Stallman - - * coding.c (Ffind_operation_coding_system): Doc fix. - -2006-05-30 Eli Zaretskii - - * w32term.c (x_draw_hollow_cursor): Fix last change. - -2006-05-29 Kim F. Storm - - * w32term.c (x_draw_stretch_glyph_string): Fix last change. - -2006-05-29 Eli Zaretskii - - * coding.c (Ffind_operation_coding_system): Doc fix. - -2006-05-29 YAMAMOTO Mitsuharu - - * macfns.c [USE_MAC_FONT_PANEL] (Fmac_set_font_panel_visibility): - Call mac_set_font_info_for_selection if font panel is made visible. - - * macterm.c (font_panel_shown_p) [USE_MAC_FONT_PANEL]: New variable. - (mac_font_panel_visible_p, mac_show_hide_font_panel) - [USE_MAC_FONT_PANEL]: New functions. - [USE_MAC_FONT_PANEL] (mac_set_font_info_for_selection): - Return immediately if font panel is not visible. - - * macterm.h (mac_font_panel_visible_p, mac_show_hide_font_panel): - Add externs. - -2006-05-29 Dan Nicolaescu - - * search.c (matcher_overflow): Mark as NO_RETURN. - - * xterm.c (x_connection_closed): Likewise. - - * sysdep.c (croak): Likewise. - - * sound.c (sound_perror, alsa_sound_perror): Likewise. - - * lisp.h (die, nsberror): Likewise. - -2006-05-29 Jan Dj,Ad(Brv - - * sound.c (alsa_open, alsa_configure, alsa_write): - Move assignment to err out of if-statement. - - * gtkutil.c (menu_nav_ended): New function. - (create_menus): Connect menu_nav_ended to "selection-done" to fix - grabs. - - * xmenu.c (Fmenu_bar_start): New function for USE_GTK and USE_X_TOOLKIT. - -2006-05-28 Dan Nicolaescu - - * charset.h (invalid_character): Mark as NO_RETURN. - -2006-05-29 Kenichi Handa - - * coding.c (Ffind_operation_coding_system): Call a function by - safe_call1 instead of call1. - -2006-05-28 Stefan Monnier - - * window.c (struct saved_window): Add `dedicated'. - (Fset_window_configuration, save_window_save): Save/restore the - `dedicated' flag. - -2006-05-28 Kim F. Storm - - * xdisp.c (set_cursor_from_row): If cursor cannot be set in row, - don't update w->cursor and return 0. Return 1 on success. - (try_cursor_movement): Repeat set_cursor_from_row on successive rows - until it succeeds. - - * dispextern.h (set_cursor_from_row): Update prototype. - -2006-05-28 Kim F. Storm - - * xdisp.c (get_phys_cursor_geometry): Return computed x and y through - parameters. Adjust x and width in case cursor in on a partially - visible stretch glyph on the left edge. - (erase_phys_cursor): Don't erase into left fringe/margin in case - previous cursor glyph is a partially visible stretch glyph on left. - - * dispextern.h (get_phys_cursor_geometry): Update prototype. - - * xterm.c (x_draw_stretch_glyph_string): Fix problems with invisible - cursor and erasing cursor on partially visible stretch glyph on left. - (x_draw_hollow_cursor): Compute x via get_phys_cursor_geometry. - - * macterm.c: Likewise. - - * w32term.c: Likewise. - -2006-05-27 YAMAMOTO Mitsuharu - - * macselect.c (mac_handle_apple_event): - Return errAEEventNotHandled if key binding is not found. - -2006-05-26 Eli Zaretskii - - * emacs.c (main) [PROFILING]: Enable also for __MINGW32__. - [__MINGW32__]: MinGW-specific declaration of `etext'. - - * w32heap.c (etext, edata): Remove unused definitions. - -2006-05-26 Chong Yidong - - * fileio.c (Fcopy_file): Delete argument MUSTBENEW. - Incorporate the exclusive file-opening functionality into the behavior - when OK-IF-ALREADY-EXISTS is nil. - (Frename_file): Call Fcopy_file without MUSTBENEW argument. - -2006-05-26 Jan Dj,Ad(Brv - - * sound.c (alsa_configure): Move get period/buffer_size after - setting hwparams. - -2006-05-26 Kenichi Handa - - * coding.c (Ffind_operation_coding_system): Allow (FILENAME - . BUFFER) in TARGET. - -2006-05-25 Chong Yidong - - * image.c (png_load): Don't call fclose on NULL. - -2006-05-25 Luc Teirlinck - - * fns.c (Fyes_or_no_p): - * callint.c (Fcall_interactively): Fread_from_minibuffer now takes - only seven args. - -2006-05-25 Juri Linkov - - * lisp.h (Fread_from_minibuffer): Decrement number of args. - - * minibuf.c (read_minibuf): Remove arg KEEP_ALL. Callers changed. - (Fread_from_minibuffer): Remove arg KEEP_ALL. Callers changed. - - * buffer.c (mode-line-format): Fix docstring. - -2006-05-25 Richard Stallman - - * emacs.c (main, Fdump_emacs): Don't test __linux or __linux__. - -2006-05-24 Luc Teirlinck - - * puresize.h (BASE_PURESIZE): Increase to 1210000. - -2006-05-24 Alan Mackenzie - - * lread.c (Vload_history): Enhance doc-string to say that the file - is the absolute truename of the loaded file. - - * lread.c (Vafter_load_alist): doc-string: state that an element - now has a regexp to match file names, not a file name as such. - - * lread.c (readevalloop): Call file-truename on the name for - load-history, except at preloading time. - - * lread.c (Fload): At preloading time, preserve the extension of - the filename which goes into load-history. New var hist_file_name. - - * lread.c (Fload): Do eval-after-load stuff by calling the lisp - function do-after-load-evaluation. - -2006-05-24 YAMAMOTO Mitsuharu - - * mac.c (ae_attr_table): New variable. - (syms_of_mac): Intern and staticpro its elements. - (mac_aelist_to_lisp): Also convert Apple event attributes. - (mac_ae_put_lisp): New function. - (create_apple_event_from_event_ref) [MAC_OSX]: Use typeUTF8Text. - - * macfns.c (Fx_server_version): Use gestaltSystemVersionMajor etc. - - * macselect.c (Qemacs_suspension_id): New variable. - (syms_of_macselect): Intern and staticpro it. - (struct suspended_ae_info): New struct. - (deferred_apple_events, defer_apple_events) - (Fmac_process_deferred_apple_events): Use it. - (suspended_apple_events): New variable. - (mac_handle_apple_event_1): New function. - (mac_handle_apple_event): Use it. Don't process previously - suspended events. - (cleanup_suspended_apple_events, get_suspension_id) - (cleanup_all_suspended_apple_events): New functions. - (init_apple_event_handler): Call cleanup_all_suspended_apple_events - at exit. - (Fmac_cleanup_expired_apple_events, Fmac_ae_set_reply_parameter) - (Fmac_resume_apple_event): New defuns. - (syms_of_macselect): Defsubr them. - - * macterm.c (fn_keycode_to_keycode_table, XTread_socket) [MAC_OSX]: - Fix last change. Don't map `fn' modifier if pressed with F1 ... F12. - - * macterm.h (TYPE_FILE_NAME): Change from macro to enumerator. - (KEY_EMACS_SUSPENSION_ID_ATTR): New enumerator. - (keyReplyRequestedAttr) [MAC_OS_X_VERSION_MAX_ALLOWED < 1030]: Likewise. - (gestaltSystemVersionMajor, gestaltSystemVersionMinor) - (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]: - Likewise. - (typeUTF8Text, kEventParamWindowMouseLocation) - [MAC_OSX && MAC_OS_X_VERSION_MAX_ALLOWED < 1020]: Likewise. - (x_get_focus_frame, mac_ae_put_lisp): Add externs. - -2006-05-23 YAMAMOTO Mitsuharu - - * macterm.c (fn_keycode_to_xkeysym_table, convert_fn_keycode): Remove. - (fn_keycode_to_keycode_table) [MAC_OSX]: New variable. - (mac_set_unicode_keystroke_event) [TARGET_API_MAC_CARBON]: New function. - (XTread_socket) [TARGET_API_MAC_CARBON]: Use it. - (XTread_socket) [MAC_OSX]: Try 'uchr' Unicode keyboard-layout - resource to backtranslate key with modifiers. - (XTread_socket): Don't set read_socket_inev around AEProcessAppleEvent. - -2006-05-23 Jan Dj,Ad(Brv - - * xterm.c: Remove declarations already in xterm.h - - * xterm.h: Add extern declarations for x_clear_errors, - x_fully_uncatch_errors, x_catching_errors and - x_alloc_lighter_color_for_widget. Remove duplicated declarations. - -2006-05-21 Richard Stallman - - * xfaces.c (best_matching_font): Abort for best == NULL - before we start to use it. - - * buffer.c (syms_of_buffer, Fmake_overlay): Doc fixes. - -2006-05-20 Kim F. Storm - - * xfaces.c (best_matching_font): Fix crash in 2006-05-17 change. - -2006-05-20 YAMAMOTO Mitsuharu - - * macterm.c (convert_fn_keycode): Fix last change. - -2006-05-19 Eli Zaretskii - - * w32.c (init_environment): Perform the processing of environment - variables on a copy of default variables and their values, not on - the original. Simplify code that calls ExpandEnvironmentStrings - and make buf1[] and buf2[] more visible for easier debugging. - -2006-05-19 YAMAMOTO Mitsuharu - - * frame.c (x_set_border_width): Remove #ifndef MAC_OS. - - * image.c [MAC_OS] (gif_load): Allocate Lisp string first. - - * macfns.c (Fx_focus_frame): Don't check dpyinfo->x_focus_frame. - - * macterm.c (XTread_socket) [TARGET_API_MAC_CARBON && MAC_OSX]: - Forward keyUp events to toolbox_dispatcher. - - * window.c (foreach_window): Check WINDOWP (FRAME_ROOT_WINDOW (f)). - -2006-05-18 Jan Dj,Ad(Brv - - * config.in: Regenerated (HAVE_ALSA). - - * sound.c (alsa_sound_perror, alsa_open, alsa_period_size) - (alsa_configure, alsa_close, alsa_choose_format, alsa_write) - (snd_error_quiet, alsa_init): New functions. - (vox_init): Return 0 if unable to open device. - (Fplay_sound_internal): Test for alsa first and use vox (oss) as - a fallback. - (struct sound_device): Add period_size. - (wav_play, au_play): Use period_size if set. - - * Makefile.in (CFLAGS_SOUND): New flags for ALSA. - (ALL_CFLAGS): Add CFLAGS_SOUND. - -2006-05-18 Kenichi Handa - - * callproc.c (Fcall_process): Reject encoding arguments by - ascii-incompatible coding systems (e.g. utf-16). - - * coding.c (Qascii_incompatible): New variable. - (syms_of_coding): Setup Qascii_incompatible. - (setup_coding_system): Be sure to initialize coding->common_flags. - Check `ascii-incompatible' property of the coding system. - - * coding.h (CODING_ASCII_INCOMPATIBLE_MASK): New macro. - -2006-05-18 Kim F. Storm - - * xdisp.c (display_tool_bar_line): Restore entire tool-bar - geometry when backtracking in case last image doesn't fit on line. - -2006-05-18 MIYOSHI Masanori (tiny change) - - * xdisp.c (display_tool_bar_line): Don't adjust tool-bar height by - more than height of one frame default line. - -2006-05-17 Richard Stallman - - * xfaces.c (better_font_p): Any font beats no font. - (best_matching_font): Simplify based on above change. - - * buffer.c (Fprevious_overlay_change, Fnext_overlay_change): Doc fixes. - -2006-05-16 Kim F. Storm - - * xterm.c (handle_one_xevent): Check that f is not NULL before - calling x_kill_gs_process. - -2006-05-14 Richard Stallman - - * textprop.c (Fnext_single_char_property_change) - (Fprevious_single_char_property_change): Don't allow returning - value beyond LIMIT in any cases. - (Fnext_char_property_change, Fprevious_char_property_change): Doc fix. - - * intervals.c (get_local_map): Abort if POSITION outside BEGV, ZV. - -2006-05-14 Jan Dj,Ad(Brv - - * xterm.c (handle_one_xevent): Check that f is not NULL before - calling _XEditResCheckMessages. - -2006-05-14 Kim F. Storm - - * xterm.c (handle_one_xevent): Fix crash in 2006-03-24 change. - -2006-05-13 Eli Zaretskii - - * frame.c (x_set_border_width): Fix error message to say "frame", - not "window". - - * Makefile.in (SOME_MACHINE_LISP): Add fringe.elc. - -2006-05-12 Chong Yidong - - * intervals.c (set_point_both): Fix mixup before before and after - in variable names. - - * editfns.c (Fline_beginning_position): Inhibit point-motion hooks - while setting point temporarily. - -2006-05-11 Richard Stallman - - * lread.c (readevalloop): Abort if START non-nil for non-buffer input. - -2006-05-11 Kim F. Storm - - * xdisp.c (redisplay_tool_bar): Handle large tool-bar-border values. - -2006-05-11 Kenichi Handa - - * fileio.c (Finsert_file_contents): Fix for the case of IO error - while handling replace operation. - -2006-05-10 Kenichi Handa - - * xfaces.c (realize_default_face) [HAVE_X_WINDOWS]: If the font - chosen for the default face was different from the frame font, - adjust the frame font. - -2006-05-10 YAMAMOTO Mitsuharu - - * image.c (Qduration) [MAC_OS]: Undo previous change. - (syms_of_image) [MAC_OS]: Likewise. - [MAC_OS] (gif_load): Emulate Graphic Control Extension block. - - * macfns.c (x_to_mac_color): Fix shift amount change. - (mac_set_font) [USE_MAC_FONT_PANEL]: Use x_get_focus_frame. - [USE_MAC_FONT_PANEL] (Fmac_set_font_panel_visibility): Doc fix. - - * macselect.c (Vmac_service_selection) [MAC_OSX]: Rename from - Vmac_services_selection. All uses changed. - (mac_store_service_event): Rename from mac_store_services_event in - extern and calls. - - * macterm.c (Qservice) [MAC_OSX]: Rename from Qservices. All uses - changed. - [MAC_OSX] (mac_store_service_event): Rename from - mac_store_services_event. All callers changed. - [USE_MAC_FONT_PANEL] (mac_set_font_info_for_selection): Add args - FACE_ID and C. All callers changed. - (x_free_frame_resources) [USE_MAC_FONT_PANEL]: Call - mac_set_font_info_for_selection when focus frame is destroyed. - (XTread_socket): Revert to FrontNonFloatingWindow/FrontWindow. - - * macterm.h (mac_set_font_info_for_selection): Add 2nd and 3rd - args in extern. - -2006-05-09 Chong Yidong - - * keymap.c (describe_map): Avoid generating duplicate entries if - the shadowed binding has the same definition. - -2006-05-09 Kenichi Handa - - * keymap.c (push_key_description): Handle invalid character key. - -2006-05-08 Kenichi Handa - - * callproc.c (Fcall_process): Use system_eol_type for encoding - arguments if eol_type is not yet decided. - - * coding.h (system_eol_type): Extern it. - - * coding.c (setup_coding_system): For invalid coding-system, set - coding->eol_type to CODING_EOL_UNDECIDED. - (encode_coding): Cancel previous change. - (shrink_encoding_region): Likewise. - (code_convert_region1): Likewise. - (code_convert_string1): Likewise. - (code_convert_string_norecord): Likewise. - - * fileio.c (choose_write_coding_system): Use system_eol_type for - encoding if eol_type is not yet decided. - - * process.c (setup_process_coding_systems): Use system_eol_type - for encoding if eol_type is not yet decided. - (read_process_output): Likewise. - (send_process): Likewise. - -2006-05-07 Juanma Barranquero - - * minibuf.c (syms_of_minibuf) : Fix typo in doc. - -2006-05-07 YAMAMOTO Mitsuharu - - * mac.c (Fmac_clear_font_name_table): Move defun to macfns.c. - (syms_of_mac): Likewise for defsubr. - - * macfns.c (mac_set_font): New function. - (mac_frame_parm_handlers, syms_of_macfns): Replace x_set_font with it. - (mac_window) [TARGET_API_MAC_CARBON && MAC_OSX]: Specify - kWindowToolbarButtonAttribute when creating window. - (Fmac_clear_font_name_table): Move from macfns.c. - (syms_of_macfns): Likewise for defsubr. - [USE_MAC_FONT_PANEL] (Fmac_set_font_panel_visibility): New defun. - (syms_of_macfns) [USE_MAC_FONT_PANEL]: Defsubr it. - - * macgui.h (USE_MAC_FONT_PANEL): Define to 1 if USE_ATSUI is set - and build is done on Mac OS X 10.2 and later. - - * macselect.c (mac_do_receive_drag): Remove unused variable `index'. - (mac_store_services_event): Change return type in extern. - - * macterm.c (XLoadQueryFont) [USE_ATSUI]: Set font->mac_fontnum to - FMFontFamily value. - [USE_MAC_FONT_PANEL] (mac_set_font_info_for_selection): New function. - (x_new_focus_frame) [USE_MAC_FONT_PANEL]: Use it. - (QCfamily, QCweight, QCslant, Qnormal, Qbold, Qitalic): Add extern. - (QWindow) [MAC_OSX]: Likewise. - (Qfont) [USE_MAC_FONT_PANEL]: Likewise. - (Vmac_atsu_font_table) [USE_ATSUI]: New variable. - (syms_of_macterm) [USE_ATSUI]: Defvar it. - (Qtoolbar_switch_mode) [MAC_OSX]: New variable. - (Qpanel_closed, Qselection) [USE_MAC_FONT_PANEL]: Likewise. - (syms_of_macterm): Intern and staticpro them. - (init_font_name_table) [USE_ATSUI]: Add data to Vmac_atsu_font_table. - [TARGET_API_MAC_CARBON] (mac_store_event_ref_as_apple_event): - New function. - [USE_CARBON_EVENTS] (mac_handle_command_event): Use it. - [MAC_OSX] (mac_store_services_event): Likewise. - [USE_CARBON_EVENTS] (mac_handle_window_event) [MAC_OSX]: Handle - kEventWindowToolbarSwitchMode event. - (install_window_handler) [USE_CARBON_EVENTS && MAC_OSX]: Register it. - [MAC_OSX] (mac_store_services_event): Change return type to OSStatus. - [USE_MAC_FONT_PANEL] (mac_handle_font_event): New function. - (install_window_handler) [USE_MAC_FONT_PANEL]: Install it. - (XTread_socket): Select window on mouse click if x_focus_frame is NULL. - - * macterm.h (mac_set_font_info_for_selection): Add extern. - -2006-05-06 YAMAMOTO Mitsuharu - - * image.c (Qduration) [MAC_OS]: New variable. - (syms_of_image) [MAC_OS]: Intern and staticpro it. - [MAC_OS] (gif_load): Save image extension data in img->data.lisp_val. - [MAC_OSX] (image_load_quartz2d): Use cfstring_create_with_utf8_cstring - instead of cfstring_create_with_string. - -2006-05-06 Kim F. Storm - - * .gdbinit (xframe): Print frame name. - (xlist): New command to print a list (max 10 elements). - (xpr): Print lisp object of any type. - (pitx): Print it->pixel_width. - -2006-05-05 Kenichi Handa - - * xdisp.c (handle_composition_prop): Fix for the case of empty - composition component. - -2006-05-05 YAMAMOTO Mitsuharu - - * keyboard.c (make_lispy_event) [MAC_OS]: Get Apple event info - from event->arg. - - * termhooks.h (enum event_kind) [MAC_OS]: Update comment for - MAC_APPLE_EVENT. - - * macterm.h (mac_make_lispy_event_code): Remove extern. - (mac_post_mouse_moved_event): Add extern. - (mac_aelist_to_lisp, mac_aedesc_to_lisp): Change arg 1 to - `const AEDesc *' in externs. - (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]: New extern. - - * mac.c (mac_aelist_to_lisp, mac_aedesc_to_lisp): Change arg 1 to - `const AEDesc *'. - [TARGET_API_MAC_CARBON] (create_apple_event): New function. - [TARGET_API_MAC_CARBON] (create_apple_event_from_event_ref): Use it. - Use xrealloc instead of repeated xmalloc/xfree. - [TARGET_API_MAC_CARBON] (create_apple_event_from_drag_ref): - New function. - - * macmenu.c (restore_menu_items, cleanup_popup_menu): Return a value. - - * macselect.c: Update copyright year. - (mac_store_apple_event): Change return type to void in extern. - (mac_handle_apple_event): Don't get return value from - mac_store_apple_event. - [TARGET_API_MAC_CARBON] (Vmac_dnd_known_types): New variable. - (syms_of_macselect) [TARGET_API_MAC_CARBON]: Defvar it. - [TARGET_API_MAC_CARBON] (mac_do_track_drag): Move function from - macterm.c. Use Vmac_dnd_known_types as acceptable flavors. - [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise. New - implementation using create_apple_event_from_drag_ref. - [TARGET_API_MAC_CARBON] (mac_do_track_dragUPP) - (mac_do_receive_dragUPP): Move variables from macterm.c. - (install_drag_handler, remove_drag_handler): New functions. - - * macterm.c (XTread_socket) [TARGET_API_MAC_CARBON]: Try window - path select also for proxy icon click. - [TARGET_API_MAC_CARBON] (mac_post_mouse_moved_event): New function. - [USE_TOOLKIT_SCROLL_BARS] (scroll_bar_timer_callback): Use it. - (xlfdpat_create): Remove unused label `error' and trailing sentences. - (mac_do_track_drag, mac_do_receive_drag): Move functions to macselect.c. - (mac_do_track_dragUPP, mac_do_receive_dragUPP): Move variables to - macselect.c. - (install_drag_handler, remove_drag_handler): Add extern. - (mac_store_apple_event): Change return type to void. All uses changed. - Create Lisp object from Apple event and store it into input event. - (mac_make_lispy_event_code): Remove function. - [TARGET_API_MAC_CARBON] (mac_store_drag_event): New function. - (install_window_handler): Call install_drag_handler. - (remove_window_handler): Call remove_drag_handler. - -2006-05-03 Richard Stallman - - * sound.c (Fplay_sound_internal): Dynamically allocate - current_sound_device and current_sound. - (sound_cleanup): Free them. - - * minibuf.c (read_minibuf): Don't use read_minibuf_noninteractive - when inside a keyboard macro. - -2006-05-02 Andreas Schwab - - * xmenu.c (restore_menu_items): Return a value. - -2006-05-01 Martin Rudalics - - * syntax.c (Fforward_comment): Detect generic comment at beginning of - buffer when moving backwards. - -2006-05-01 YAMAMOTO Mitsuharu - - * dispnew.c (update_window): Don't set changed_p when mode/header - line is updated. - - * xdisp.c (prepare_menu_bars) [MAC_OS]: Call mac_update_title_bar. - (get_glyph_face_and_encoding, get_char_face_and_encoding): - Don't distinguish known faces from others. - - * mac.c (mac_coerce_file_name_ptr): Try typeFSRef if coercion - through typeFileURL failed. - - * macfns.c (mac_update_title_bar): New function. - [TARGET_API_MAC_CARBON] (mac_update_proxy_icon): New function. - (show_hourglass, hide_hourglass) [USE_CG_DRAWING]: - Call mac_prepare_for_quickdraw. - - * macgui.h (USE_ATSUI): Set default to 1 if MAC_OSX is defined. - (USE_CG_DRAWING): Don't define if compiled on Mac OS X 10.1. - (enum pcm_status): New enum. - (XCHARSTRUCTROW_CHAR_VALID_P, XCHARSTRUCTROW_SET_CHAR_VALID) - (XCharStructRow): Remove. Now validity is represented by - non-negativeness of sum of ascent and descent. - (struct MacFontStruct): Change type of member `rows'. - (struct _XGC) [USE_CG_DRAWING]: Add member `clip_rects'. - - * macterm.c (mac_draw_line, mac_draw_line_to_pixmap): - Adjust endpoints of strictly horizontal/vertical lines. - (mac_set_clip_rectangles) [USE_CG_DRAWING]: Set clip_rects. - (pcm_init, pcm_get_status): New functions. - (x_per_char_metric, XLoadQueryFont): Use them instead of - XCharStructRow and related macros. - (x_draw_relief_rect): Don't adjust arguments of mac_draw_line. - (x_free_frame_resources) [TARGET_API_MAC_CARBON]: Free FRAME_FILE_NAME. - (XTread_socket) [TARGET_API_MAC_CARBON]: Handle proxy icon drag - and window path pop-up menu on title bar. - (mac_use_core_graphics) [USE_CG_DRAWING]: Set default to 1. - - * macterm.h (mac_update_title_bar): Add extern. - (struct mac_output) [TARGET_API_MAC_CARBON]: New member `file_name'. - (FRAME_FILE_NAME): New macro. - - * unexmacosx.c (unexec): Error if trying unexec from dumped executable. - -2006-04-30 Richard Stallman - - * keymap.c (Fdefine_key): Improve error message - when KEY begins with a non-prefix key. - -2006-04-30 Martin Rudalics - - * syntax.c (Fforward_comment): Don't forget to break out of the loop - when we skipped backward over a generic comment. - -2006-04-27 Nick Roberts - - * .gdbinit (pp1, pv1): Only print value as expression is now - printed out by gud-print. - (pv1): Correct doc string. - -2006-04-26 Stefan Monnier - - * keymap.c (store_in_keymap): Change `def' arg to not be `register'. - Seems to trigger a bug in gcc-amd64 4.0.2 20051125 (Red Hat 4.0.2-8): - keymap.c:895: error: address of register variable `def' requested. - -2006-04-26 Jason Rumney - - * w32term.c (construct_mouse_wheel): Handle negative coordinates. - - * w32fns.c (w32_wnd_proc) : - : Call signal_user_input in the cases - where we preempt mouse_button_timer. - -2006-04-25 Miles Bader - - * editfns.c (Ffield_beginning, find_field): Undo change of 2006-04-23. - -2006-04-24 Stefan Monnier - - * process.h: Include headers for pid_t. - -2006-04-24 Kim F. Storm - - * xdisp.c (fill_stretch_glyph_string): Set s->nchars = 1 for code which - does last_glyph=s->first_glyph+s->nchars-1, e.g. if stretch has relief. - (produce_stretch_glyph): Assume that face box height and width is - already included in stretch glyph size so caller doesn't have to - consider the extra space otherwise added (fixes problem in ses.el). - - * frame.c (x_set_font): Clear f->n_tool_bar_rows and current frame - matrices to force recalculation of tool-bar height after font change. - - * xdisp.c (tool_bar_lines_needed): New local `temp_row' for clarity. - Clear it when done, so we don't accidentally draw a second copy of - the tool-bar after resetting f->n_tool_bar_rows. - (redisplay_tool_bar): Update tool-bar-lines frame parameter whenever - we recalculate f->n_tool_bar_rows. - -2006-04-23 Lars Hansen - - * editfns.c (find_field): Fix comment. - (Ffield_beginning): Fix bug when POS is at field beginning. - -2006-04-22 Eli Zaretskii - - * puresize.h (BASE_PURESIZE): Increase to 1205000. - -2006-04-21 Kim F. Storm - - * xdisp.c (redisplay_window): Fix last change. Don't recenter if - window start is at BEGV. - - * dispextern.h (struct image): New member `corners'. - (TOP_CORNER, LEFT_CORNER, BOT_CORNER, RIGHT_CORNER): New macros. - - * image.c (four_corners_best): New arg CORNERS specifies what pixels - to look at in case image has margin. - (x_create_bitmap_mask): Pass NULL for CORNERS to four_corners_best. - (image_background, image_background_transparent) - (x_build_heuristic_mask): Pass img->corners to four_corners_best. - (gif_load): Set img->corners according to image's margin spec. - Use img->corners values directly where applicable. - Save image extension data in img->data.lisp_val. - (gif_clear_image): New function to free img->data.lisp_val. - (gif_type): Use it instead of generic x_clear_image. - (Fimage_extension_data): New defun. - (syms_of_image): Defsubr it. - -2006-04-21 John Sullivan (tiny change) - - * window.c (Fdisplay_buffer): Doc fix. - -2006-04-21 Eli Zaretskii - - * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Increase to 25000. - -2006-04-21 YAMAMOTO Mitsuharu - - * image.c [MAC_OS] (xpm_load_image): Fill in background field - while we have ximg handy. - - * macmenu.c (restore_menu_items, save_menu_items): New functions - from xmenu.c. - (set_frame_menubar, digest_single_submenu): Apply 2006-04-18 - changes for xmenu.c. - - * macterm.c (x_per_char_metric): Return NULL if glyph width is 0. - (add_mac_font_name): New function. - (init_font_name_table): Use it. Adopt the first found font from - those having the same family name. - -2006-04-21 Nick Roberts - - * xdisp.c (note_mouse_highlight): Use build_string. - -2006-04-20 Lars Hansen - - * textprop.c (Fremove_list_of_text_properties): - Ensure modify_region is called only when buffer is modified and that - signal_after_change is allways called in that case. - - * print.c (PRINTFINISH): Call signal_after_change. - -2006-04-20 Kim F. Storm - - * xdisp.c (redisplay_window): Fix last change. - - * xdisp.c (redisplay_window): If current window start is not at the - beginning of a line, select a new window start if buffer is modified - and window start is in the modified region, but the first change is - before window start. - -2006-04-18 Richard Stallman - - * xmenu.c (restore_menu_items, save_menu_items): New fns. - (set_frame_menubar): Use save_menu_items. Save updated vector in - the frame before unwinding it. Don't use unuse_menu_items. - Don't use discard_menu_items. - (digest_single_submenu): Abort if an item is not in a pane. - (init_menu_items): Put the error check at the top. - - * keymap.c (describe_map): Make "shadowed" warning more verbose. - - * window.c (adjust_window_trailing_edge): Correctly distinguish - series vs parallel cases, even when window has no parent. - - * abbrev.c (record_symbol): New function. - (Finsert_abbrev_table_description): Sort the abbrevs alphabetically. - -2006-04-18 YAMAMOTO Mitsuharu - - * image.c (x_create_bitmap_from_data) [MAC_OS]: Don't check return - value of xmalloc. - - * mac.c (mac_coerce_file_name_ptr, mac_coerce_file_name_desc) - (create_apple_event_from_event_ref, xrm_get_preference_database) - (cfstring_create_normalized): Don't check return value of xmalloc. - - * macselect.c (get_scrap_target_type_list, defer_apple_events) - (copy_scrap_flavor_data, mac_handle_service_event): Don't check - return value of xmalloc/xrealloc. - - * macterm.c (XCreateGC, x_per_char_metric, xlfdpat_create) - (init_font_name_table, init_font_name_table, mac_do_list_fonts) - (XLoadQueryFont, mac_store_apple_event): Don't check return value - of xmalloc. - -2006-04-17 Kim F. Storm - - * window.c (coordinates_in_window): On the vertical border, - calculate the row number measured from the top of the window, not - the top of the frame. - (window_loop): Test w->dedicated with !NILP instead of EQ Qt. - (window_scroll_pixel_based): Fix off-by-one bug in 2002-12-23 change. - -2006-04-16 Eli Zaretskii - - * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Reduce to 24000. - -2006-04-16 Romain Francoise - - * puresize.h (BASE_PURESIZE): Decrement back to 1200000. - -2006-04-16 Andreas Schwab - - * puresize.h (PURESIZE_RATIO): Reduce to 10/6. - -2006-04-15 Romain Francoise - - * puresize.h (BASE_PURESIZE): Increment to 1210000. - -2006-04-13 Micha,Ak(Bl Cadilhac - - * print.c (Fprin1_to_string): Mention in the `doc' that the - behavior is modified by `print-level' and `print-length'. - -2006-04-13 Kenichi Handa - - * coding.c (setup_coding_system): If eol-type is not yet decided - and system_eol_type is not LF, set CODING_REQUIRE_ENCODING_MASK. - If coding_system is nil, return 0. - (code_convert_region1): Even if coding_system is nil, don't skip - conversion if system_eol_type is not LF. - (code_convert_string1): Likewise. - (code_convert_string_norecord): Likewise. - -2006-04-13 Kenichi Handa - - * coding.c (setup_coding_system): Fix previous change. - (encode_coding): If eol_type is not yet decided, use system_eol_type. - (shrink_encoding_region): If eol_type is not yet decided and - system_eol_type is not LF, don't shrink. - -2006-04-13 Nick Roberts - - * xdisp.c (note_mouse_highlight): Add help echo for dragging vertical - line. - -2006-04-12 Richard Stallman - - * keyboard.c (read_key_sequence): Explicitly avoid keybuf[-1]. - - * process.c (conv_lisp_to_sockaddr): If FAMILY unknown, just return. - (Fprocess_send_eof): Abort if fail to open null device. - -2006-04-12 YAMAMOTO Mitsuharu - - * fns.c [HAVE_MENUS && MAC_OS]: Include macterm.h. - - * image.c [MAC_OS] (xpm_load_image): Add parentheses around - assignment used as truth value. Add explicit braces to avoid - ambiguous `else'. - [MAC_OS] (gif_load): Remove unused variable `gcpro1'. - - * lisp.h (syms_of_fontset, Fset_fontset_font): Put extern and - EXFUN in #ifdef HAVE_WINDOW_SYSTEM. - (syms_of_xfns, syms_of_xsmfns, syms_of_xselect, syms_of_xterm): - Put externs in #ifdef HAVE_X_WINDOWS. - (syms_of_macfns, syms_of_macselect, syms_of_macterm) - (syms_of_macmenu, syms_of_mac) [MAC_OS]: Add externs. - (init_mac_osx_environment) [MAC_OSX]: Add extern. - - * mac.c (init_process): Remove undef. - (select) [MAC_OSX]: Undefine before including sysselect.h. - (posix_pathname_to_fsspec, fsspec_to_posix_pathname) [MAC_OSX]: - Remove functions and prototypes. - (parse_value): Add parentheses around + inside shift. - (path_from_vol_dir_name): Make static. - (get_temp_dir_name): Remove unused variables `cpb' and `dir_name'. - [!MAC_OSX] (get_path_to_system_folder): Likewise. - (Fmac_get_file_creator, Fmac_get_file_type): Remove unused - variable `cCode'. - (Fmac_coerce_ae_data): Remove unused variables `fref' and `fs'. - (Fmac_get_preference): Add explicit braces to avoid ambiguous `else'. - - * macfns.c (x_to_mac_color): Remove unused variable `tail'. - (x_set_mouse_color): Remove unused variable `dpy'. - (Fx_create_frame): Remove unused variable `x_frame_count'. - (Fx_server_version): Add explicit braces to avoid ambiguous `else'. - (x_sync): Move from macterm.c. - (Fx_file_dialog): Remove unused variable `default_filter_index'. - - * macmenu.c (min_menu_id): Make element type explicit. - - * macselect.c (get_flavor_type_from_symbol): Remove unused - variable `val'. - (get_scrap_private_timestamp, x_get_foreign_selection) - (copy_scrap_flavor_data): Add explicit braces to avoid ambiguous `else'. - (Fmac_process_deferred_apple_events): Remove unused variables - `keyword', `reply', `apple_event', `count', and `err'. - - * macterm.c: Don't include gnu.h. - (x_io_error_quitter, x_draw_image_foreground_1): Remove prototypes. - (x_sync): Move to macfns.c. - [USE_CG_DRAWING] (mac_define_fringe_bitmap): Remove unused - variable `mask_bits'. - (mac_compute_glyph_string_overhangs): Avoid ambiguous `else'. - (x_draw_image_glyph_string): Remove unused variable `pixmap'. - (x_mac_to_emacs_modifiers): Remove function. - (XTset_vertical_scroll_bar, mac_handle_visibility_change) - (x_make_frame_visible, xlfdpat_create, mac_handle_command_event): - Add explicit braces to avoid ambiguous `else'. - (x_make_frame_visible): Remove unused variables `type', - `original_top', and `original_left'. - (mac_do_list_fonts, XTread_socket): Add parentheses around && within ||. - (x_load_font): Remove unused variables `full_name', and `value'. - (do_get_menus, do_init_managers, do_check_ram_size) [!MAC_OS8]: - Remove functions. - (do_zoom_window): Reorganize variables with respect to conditionals. - (init_command_handler): Remove unused variable `err'. - [MAC_OSX] (mac_check_bundle): Remove unused variable `child'. - - * macterm.h (x_set_mouse_position, x_set_mouse_pixel_position) - (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources) - (x_destroy_window, x_wm_set_size_hint, x_delete_display, XFreeGC) - (do_menu_choice, have_menus_p, x_real_positions) - (x_set_menu_bar_lines, x_pixel_width, x_pixel_height, x_char_width) - (x_char_height, x_sync, x_set_tool_bar_lines, x_activate_menubar) - (free_frame_menubar): Add externs. - - * unexmacosx.c: Include config.h before using HAVE_MALLOC_MALLOC_H. - (malloc, realloc, free): Add undefs. - (read_load_commands): Remove unused variable `n' and `j'. - (copy_data_segment): Remove unused variable `r'. - - * xdisp.c (get_glyph_string_clip_rects): Add parentheses around && - within ||. Add explicit braces to avoid ambiguous `else'. - (dump_glyph_row): Remove label for `inverse_p' from legend. - - * xfaces.c (Finternal_merge_in_global_face, try_font_list): - Add explicit braces to avoid ambiguous `else'. - -2006-04-11 Micha,Ak(Bl Cadilhac - - * dispnew.c (init_display): Don't init X display if the user asked - for a non-X display. - -2006-04-12 Kenichi Handa - - * coding.c (setup_coding_system): Use system_eol_type for default - coding->eol_type. - -2006-04-11 Dan Nicolaescu - - * lisp.h (wrong_type_argument): Mark as NO_RETURN. - - * data.c (wrong_type_argument): Try to avoid compiler warnings due - to the fact the function is now marked as NO_RETURN. - -2006-04-10 Eli Zaretskii - - * s/ms-w32.h (pid_t) [_MSC_VER]: New typedef. - -2006-04-10 Romain Francoise - - * xrdb.c (gethomedir): Use xstrdup. - -2006-04-10 Andreas Schwab - - * xrdb.c (gethomedir): Make sure to always return a pointer that - can be passed to free. - -2006-04-09 Richard Stallman - - * lisp.h (Fkill_emacs): Undo previous change. - -2006-04-08 Richard Stallman - - * search.c (boyer_moore): Test ch >= 0400, not >. - -2006-04-09 Dan Nicolaescu - - * puresize.h (pure_write_error): Mark as NO_RETURN. - - * lisp.h (args_out_of_range, args_out_of_range_3) - -2006-04-08 Eli Zaretskii - - * w32fns.c (w32_wnd_proc) : Ignore mouse movements - if a menu is active on this frame. - -2006-04-08 Dan Nicolaescu - - * lisp.h (report_file_error): Mark as NO_RETURN. - -2006-04-08 Eli Zaretskii - - * alloc.c [STDC_HEADERS]: Include stddef.h. - - * lisp.h (PSEUDOVECSIZE): Fix last change. - -2006-04-08 Stefan Monnier - - * process.h (struct Lisp_Process): Replace Lisp_Objects `pid', - `raw_status_high', and `raw_status_low' with plain integers, and move - them to the end of the structure. - - * alloc.c (allocate_process): Use PSEUDOVECSIZE to initialize the - pseudovector's size field so only the Lisp_Object fields get GC'd. - - * process.c (update_status, make_process, Fdelete_process) - (Fprocess_status, list_processes_1, start_process_unwind) - (create_process, Fmake_network_process, server_accept_connection) - (wait_reading_process_output, send_process, Fprocess_running_child_p) - (process_send_signal, proc_encode_coding_system, Fprocess_send_eof) - (sigchld_handler, status_notify): Adjust to new non-Lisp fields for - `pid' and `raw_status'. - (Fprocess_id, Fsignal_process): Same, and additionally use floats when - representing PIDs that are larger than most-positive-fixnum. - - * keymap.c (describe_map): Only use XINT if we checked INTEGERP. - - * lisp.h (OFFSETOF, PSEUDOVECSIZE): New macros. - -2006-04-08 Eli Zaretskii - - * w32fns.c (Fx_show_tip): Add 3 to the 5th arg of SetWindowPos. - -2006-04-03 Paul Eggert - - * editfns.c (TM_YEAR_IN_ASCTIME_RANGE): New macro, identical to - ../lib-src/b2m.c and ../lib-src/editfns.c. - (Fcurrent_time_string): Use it. - Document that the year might not consume 4 columns if it's outside - the range 1000-9999. - Check for asctime failure. - Don't assume that the output string length is always exactly 24. - -2006-04-03 YAMAMOTO Mitsuharu - - * macterm.c (XTread_socket): Initialize variable `f' before its use. - -2006-04-03 Kenichi Handa - - * image.c: Include "charset.h" and "coding.h". - (x_find_image_file): Return an encoded file name. - -2006-04-01 Eli Zaretskii - - * configure: Regenerated. - -2006-03-31 Kenichi Handa - - * xfns.c (xg_set_icon): Delete superfluous UNGCPRO. - -2006-03-30 Dan Nicolaescu - - * xdisp.c (syms_of_xdisp): Fix variable name. - -2006-03-30 Kenichi Handa - - * xterm.c (x_term_init): Delete superfluous UNGCPRO. - -2006-03-29 Juanma Barranquero - - * keyboard.c (process_tool_bar_item): Reorder dummy args. - -2006-03-29 Stefan Monnier - - * keyboard.c (tool_bar_items): Use map_keymap. - (process_tool_bar_item): Add dummy args to fit the required interface. - -2006-03-25 Eli Zaretskii - - * .gdbinit (pr, pp, pp1, pv, pv1): Force print_output_debug_flag - to zero before calling debug_print or safe_debug_print. - - * print.c (print_output_debug_flag): New global variable. - (Fexternal_debugging_output) [WINDOWSNT]: Don't call - OutputDebugString if print_output_debug_flag is zero. - -2006-03-24 Paul Eggert - - * editfns.c (TM_YEAR_BASE): Move up, so the changes below can use it. - (Fdecode_time, Fencode_time): Use TM_YEAR_BASE instead of 1900. - (Fdecode_time): Cast tm_year to EMACS_INT. - (Fcurrent_time_string): Report an invalid time specification if - the argument is invalid. Also, check for out-of-range time stamps. - -2006-03-24 Kim F. Storm - - * xterm.c (handle_one_xevent): - * w32term.c (w32_read_socket): - * macterm.c (XTread_socket): Don't let key-press clear mouse face - on in toolbar window if mouse-highlight is an integer. - - * fns.c (sxhash_list): Include last non-nil CDR in hash. - -2006-03-24 YAMAMOTO Mitsuharu - - * macmenu.c (enum mac_menu_kind): New enum. - (min_menu_id): New variable. - (POPUP_SUBMENU_ID, MIN_POPUP_SUBMENU_ID, MIN_MENU_ID) - (MIN_SUBMENU_ID): Remove defines. All uses are replaced with - min_menu_id and enumerators in enum mac_menu_kind. - (fill_menu, dispose_menus, install_menu_quit_handler): New arg KIND. - All uses changed. Add range check for menu ID. - (fill_menubar): Add range check for menu ID. - [HAVE_CANCELMENUTRACKING] (menu_quit_handler): Check error code of - GetEventParameter. - (set_frame_menubar, mac_menu_show): Call install_menu_quit_handler - for each menu kind. - -2006-03-22 Kim F. Storm - - * xdisp.c: Undo 2006-03-21 change. - - * term.c: Define aliases for append_glyph and produce_stretch_glyph - when `static' is defined to avoid name clash with those in xdisp.c. - - * process.c (Faccept_process_output): Fix to comply with lisp - reference. Change arg "timeout" to "seconds" and allow both - integer and float value. Change arg "timeout-msec" to "millisec" - and interpret" as milliseconds rather than microseconds. Fix doc - string accordingly. - -2006-03-21 Ken Raeburn - - * xdisp.c (store_next_glyph): Rename from append_glyph. - (generate_stretch_glyph): Rename from produce_stretch_glyph. - All callers changed accordingly. - -2006-03-21 Jan Dj,Ad(Brv - - * xterm.c: x_session_initialized new variable. - (x_term_init): Use x_session_initialized to check if - x_session_initialize should be called. - (x_initialize): Initialize x_session_initialized. - -2006-03-21 Kim F. Storm - - * fringe.c (draw_fringe_bitmap): Don't calculate default overlay arrow - bitmap here, but ... - (update_window_fringes): ... here, so we can test if it has changed. - -2006-03-20 Andreas Schwab - - * dispnew.c (init_display): Check DISPLAY here. - - * emacs.c (main): Don't check here. - - * xterm.c (x_display_ok): Don't use DISPLAY env var. - -2006-03-20 Stefan Monnier - - * window.c (window_scroll_pixel_based): Yet another int/Lisp_Object - mixup (YAILOM). - -2006-03-20 Eli Zaretskii - - * emacs.c (main): Fix last change. - -2006-03-20 Kenichi Handa - - * fileio.c (Fwrite_region): Set visit_file to Qnil before GCPRO it. - - * keymap.c (map_keymap): Set tail to Qnil before GCPRO it. - - * xfns.c (xg_set_icon): Remove unnecessary GCPRO. - - * xterm.c (x_term_init): Remove unnecessary GCPRO. - -2006-03-19 Kim F. Storm - - * xdisp.c (set_cursor_from_row): Fix cursor property on overlay string, - so it doesn't associate overlay string with following glyph by default. - Allow integer property value to specify explicit number of buffer - positions associate with overlay string. - -2006-03-18 Chong Yidong - - * xterm.c (x_display_ok): Fix minor bug and compilation warnings. - -2006-03-18 Nozomu Ando - - * m/pmax.h (BROKEN_NOCOMBRELOC) [__NetBSD__]: Define. - (LIB_STANDARD, START_FILES) [__NetBSD__]: Don't define. - (START_FILES, RUN_TIME_REMAP, UNEXEC) [__NetBSD__, __OpenBSD__]: - Don't redefine. - - * m/mips.h: Don't use unexmips on NetBSD. - (LIBS_MACHINE): Move definition lower, so it doesn't use - LD_SWITCH_MACHINE, START_FILES, LIB_STANDARD, LIBS_TERMCAP, - C_SWITCH_MACHINE, and C_DEBUG_SWITCH. - - * unexelf.c [BROKEN_NOCOMBRELOC]: Include assert.h. - (unexec) [BROKEN_NOCOMBRELOC]: Handle platforms whose nocombreloc - option is broken (e.g., MIPS/NetBSD). - -2006-03-18 Craig McDaniel (tiny change) - - * sheap.c (STATIC_HEAP_SIZE): Enlarge STATIC_HEAP_SIZE to 12MB. - Remove the HAVE_X_WINDOWS conditional. - -2006-03-18 Vivek Dasmohapatra (tiny change) - - * emacs.c (main): If user asks for a display that is unavailable, - simulate -nw. - - * xterm.c (x_display_ok): New function. - - * xterm.h: Add prototype for x_display_ok. - -2006-03-18 Eli Zaretskii - - * w32fns.c (Fw32_select_font): Doc fix. - -2006-03-16 YAMAMOTO Mitsuharu - - * image.c [MAC_OS] (XPutPixel, XGetPixel) - [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]: Don't use specialized - version when depth is 32. - (mac_create_cg_image_from_image) [MAC_OS && USE_CG_DRAWING]: - New function. - (prepare_image_for_display) [MAC_OS && USE_CG_DRAWING]: Use it. - (x_clear_image_1) [MAC_OS && USE_CG_DRAWING]: Release CGImage. - - * macterm.c (XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]: - Create GWorld in ARGB pixel format. - (mac_copy_area, mac_copy_area_with_mask) [USE_CG_DRAWING]: - Remove functions. - (x_draw_image_foreground) [USE_CG_DRAWING]: Use mac_draw_cg_image - instead of mac_copy_area/mac_copy_area_with_mask. - -2006-03-15 Kim F. Storm - - * xdisp.c (extend_face_to_end_of_line): Always add space glyph to - empty row. Fixes memory corruption revealed by 2006-03-02 change. - (display_tool_bar_line): Skip empty tool-bar line if HEIGHT < 0. - (tool_bar_lines_needed): Fix tool-bar display in case the tool-bar - width is exactly the same as the window width. Don't count a final - empty tool-bar line (pass HEIGHT = -1 to display_tool_bar_line). - -2006-03-15 Juanma Barranquero - - * fringe.c (w32_init_fringe, w32_reset_fringes): Revert to being - conditional on HAVE_NTGUI, not WINDOWS_NT. - -2006-03-15 YAMAMOTO Mitsuharu - - * dispextern.h (mac_init_fringe) [MAC_OS]: Add prototype. - - * fringe.c (mac_init_fringe) [MAC_OS]: New function. - - * macterm.c (mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe. - (max_fringe_bmp, fringe_bmp) [USE_CG_DRAWING]: New variables. - (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap) - (mac_draw_cg_image) [USE_CG_DRAWING]: New functions. - (mac_draw_bitmap) [USE_CG_DRAWING]: Remove function. - (x_draw_fringe_bitmap) [USE_CG_DRAWING]: Use mac_draw_cg_image - instead of mac_draw_bitmap. - (x_redisplay_interface) [USE_CG_DRAWING]: Set handlers for - define_fringe_bitmap and destroy_fringe_bitmap. - -2006-03-14 Chong Yidong - - * xterm.c (x_uncatch_errors): Block input for entire function. - -2006-03-12 Jason Rumney - - * w32fns.c (Fx_create_frame): Remove call to - Qface_set_after_frame_default (from xfns.c 2003-05-26). - - * w32menu.c (Fx_popup_menu): Call w32_free_menu_strings when - finished with the menu. - - * w32term.c: Sync 2005-10-24 xterm.c changes. - (last_mouse_glyph_frame): New var. - (note_mouse_movement): Say mouse moved if current frame differs - from last_mouse_glyph_frame, and update last_mouse_glyph_frame. - (w32_mouse_position): Set last_mouse_glyph_frame. - Remove OLD_REDISPLAY_CODE block. - -2006-03-12 YAMAMOTO Mitsuharu - - * macgui.h [USE_ATSUI && MAC_OSX]: Define USE_CG_TEXT_DRAWING to 1. - - * macterm.h (struct mac_output) [USE_CG_DRAWING]: New member cg_context. - (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Add prototype. - - * mac.c (sys_select) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw. - - * macfns.c (x_create_tip_frame): Apply 2006-03-11 change for xfns.c. - - * macterm.c (mac_draw_rectangle, x_draw_glyph_string_foreground) - (x_draw_composite_glyph_string_foreground) - (x_draw_image_foreground): Undo previous changes. - (x_draw_hollow_cursor): Likewise. Subtract 1 from the last - argument of mac_draw_rectangle. - (CG_SET_FILL_COLOR, CG_SET_STROKE_COLOR): New macros. - (mac_draw_string_common, mac_draw_image_string_cg): Use them. - (FRAME_CG_CONTEXT) [USE_CG_DRAWING]: New macro. - (mac_begin_cg_clip, mac_end_cg_clip, mac_prepare_for_quickdraw) - [USE_CG_DRAWING]: New functions. - (mac_draw_line, mac_erase_rectangle, mac_clear_window) - (mac_fill_rectangle, mac_draw_rectangle, mac_draw_string_common) - (mac_draw_image_string_cg) [USE_CG_DRAWING]: Add Quartz 2D drawing part. - (mac_draw_bitmap, mac_invert_rectangle, mac_draw_string_common) - (mac_copy_area, mac_scroll_area, x_scroll_bar_create) - (x_scroll_bar_remove, XTset_vertical_scroll_bar, x_set_window_size) - (XTread_socket) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw. - -2006-03-12 L$,1 q(Brentey K,Aa(Broly - - * xfns.c (x_icon): Disable redundant call to `x_wm_set_window_state'. - -2006-03-11 Jason Rumney - - * w32fns.c (signal_user_input): New function. - (post_character_message): Use it for keyboard input. - (w32_msg_pump): Use it for mouse input. - -2006-03-11 Luc Teirlinck - - * window.c: Rename preserve_y to window_scroll_pixel_based_preserve_y. - (window_scroll_pixel_based, syms_of_window): Adapt to above change. - -2006-03-11 Eli Zaretskii - - * w32fns.c (w32_wnd_proc): Ignore middle and extra button events - if a menu is already active (the menubar_active flag is on). - -2006-03-11 David Ponce - - * xfns.c (x_create_tip_frame): Preserve received parms by copying them. - -2006-03-11 Eli Zaretskii - - * w32term.c: Add x_fully_uncatch_errors and x_catching_errors to - the list of unused display error handling functions. - - * eval.c (unwind_to_catch): Call x_fully_uncatch_errors only if - HAVE_X_WINDOWS. - (internal_condition_case, internal_condition_case_1) - (internal_condition_case_2): Call x_catching_errors only if - HAVE_X_WINDOWS. - - * vm-limit.c [HAVE_GETRLIMIT]: Don't define unconditionally. - Don't include sys/resource.h unless defined. - -2006-03-11 Richard Stallman - - * keymap.c (describe_map): Shorten string to indicate shadowed binding. - - * vm-limit.c (get_lim_data, lim_data, data_space_start): - Move from mem-limits.h. - (enum warnlevel): New data type. - (check_memory_limits): Rewrite the logic about warnings. - Use standard `struct rlimit'. Check return values for nonsense. - (memory_warnings): Always clear lim_data. - - * mem-limits.h (get_lim_data, lim_data, data_space_start): - Move to vm-limit.c. - - * xterm.c (x_fully_uncatch_errors, x_catching_errors): New functions. - - * eval.c (unwind_to_catch): Call x_fully_uncatch_errors. - (internal_condition_case_1, internal_condition_case_2): - Abort if within unclosed x_catch_errors. - -2006-03-11 Romain Francoise - - * process.c (Vprocess_adaptive_read_buffering): Doc fix. - -2006-03-11 Giorgos Keramidas (tiny change) - - * lisp.h: Remove duplicate prototypes. Make the prototype of - getloadavg be conditioned on HAVE_GETLOADAVG being undefined. - -2006-03-11 Eli Zaretskii - - * xterm.c (x_draw_hollow_cursor): Subtract 1 from the last - argument of XDrawRectangle. - - * xdisp.c (get_phys_cursor_geometry): Don't decrease height by 1. - - * macterm.c (mac_draw_rectangle): Don't add 1 to width and height. - (x_draw_glyph_string_foreground) - (x_draw_composite_glyph_string_foreground) - (x_draw_image_foreground): Don't subtract 1 from width and height - arguments to mac_draw_rectangle. - (x_draw_hollow_cursor): Add 1 to w->phys_cursor_width. - -2006-03-10 Kim F. Storm - - * alloc.c (USE_POSIX_MEMALIGN): Fix last change. - -2006-03-09 Stefan Monnier - - * alloc.c (USE_POSIX_MEMALIGN): New macro. - (ABLOCKS_BASE, lisp_align_malloc, lisp_align_free): Use it. - -2006-03-09 Kenichi Handa - - * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Fix decoding - ASCII component of a composition. - -2006-03-08 Luc Teirlinck - - * window.c: Declare preserve_y as a static global variable. - (window_scroll_pixel_based): No longer declare preserve_y; - it is global now. - (syms_of_window): Set preserve_y to -1. - -2006-03-08 YAMAMOTO Mitsuharu - - * image.c [MAC_OS] (XPutPixel): Set alpha channel bits if pixmap - depth is 32. - [MAC_OS] (XGetPixel): Strip off alpha channel bits if pixmap - depth is 32. - -2006-03-06 Chong Yidong - - * xdisp.c (handle_invisible_prop): Don't update it->position with - a buffer position if we're in a display string. - -2006-03-06 YAMAMOTO Mitsuharu - - * macterm.h (MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH) - (MAC_AQUA_SMALL_VERTICAL_SCROLL_BAR_WIDTH): New defines. - - * macfns.c (x_default_scroll_bar_color_parameter) - (x_set_scroll_bar_foreground, x_set_scroll_bar_background): - Remove unnecessary prototypes. - (x_set_scroll_bar_default_width): - Use MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH. - (mac_set_scroll_bar_width): New function. - (mac_frame_parm_handlers): Set it as handler for scroll-bar-width. - - * macterm.c (get_control_part_bounds): Fix type of return value. - (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create) - (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: Don't show - scroll bar if it is not tall enough to display scroll bar thumb. - [USE_CARBON_EVENTS] (mac_convert_event_ref) - (mac_handle_command_event, mac_handle_window_event) - (mac_handle_mouse_event): Check error code of GetEventParameter. - (convert_fn_keycode) [MAC_OSX]: Likewise. - -2006-03-05 Andreas Schwab - - * xselect.c (x_catch_errors_unwind): Fix missing return value. - -2006-03-02 Kim F. Storm - - * frame.h (struct frame): New member n_tool_bar_rows. - - * xdisp.c: Minimize the unpleasent visual impact of the requirement - that non-toolkit tool-bars must occupy an integral number of screen - lines, by distributing the rows evenly over the tool-bar screen area. - (Vtool_bar_border): New variable. - (syms_of_xdisp): DEFVAR_LISP it. - (display_tool_bar_line): Add HEIGHT arg for desired row height. - Make tool-bar row the desired height. Use default face for border - below tool-bar. - (tool_bar_lines_needed): Add N_ROWS arg. Use it to return number of - actual tool-bar rows. - (redisplay_tool_bar): Calculate f->n_tool_bar_rows initially. - Adjust the height of the tool-bar rows to fill tool-bar screen area. - (redisplay_tool_bar): Calculate f->n_tool_bar_rows when tool-bar area - is resized. - -2006-03-01 Luc Teirlinck - - * search.c (Fregexp_quote): Do not precede a literal `]' with two - backslashes to try to make clear that it has a literal meaning; it - does not do that. (It could close a character alternative - containing a backslash.) - -2006-02-28 Chong Yidong - - * xselect.c (x_catch_errors_unwind): New function. - (x_reply_selection_request): Put x_uncatch_errors in an unwind. - (Fx_get_atom_name): Call x_uncatch_errors earlier. - - * window.c (Qscroll_up, Qscroll_down): New syms. - (window_scroll_pixel_based): Make preserve_y static to avoid - getting point stuck when scrolling 1 line. - -2006-02-26 Chong Yidong - - * xterm.h, xterm.c (x_uncatch_errors): Delete unneccessary argument. - - * xterm.c (x_load_font, x_term_init, XTmouse_position) - (handle_one_xevent, x_connection_closed, x_list_fonts): - No arg for x_uncatch_errors. - - * xselect.c (x_own_selection, x_decline_selection_request) - (x_reply_selection_request, x_get_foreign_selection) - (Fx_get_atom_name, Fx_send_client_event): Likewise. - - * xfns.c (x_real_positions, x_set_mouse_color, Fx_focus_frame): - Likewise. - -2006-02-26 Luc Teirlinck - - * lread.c: Declare Vload_file_rep_suffixes instead of - deleted variable default_suffixes. - (Fget_load_suffixes): New function. - (Fload): Use Fget_load_suffixes and Vload_file_rep_suffixes. - No longer use deleted variable default_suffixes. Update docstring. - (syms_of_lread): defsubr Sget_load_suffixes. - Expand `load-suffixes' docstring. - Delete default_suffixes and DEFVAR_LISP the new variable - `load-file-rep-suffixes'. - - * w32.c (check_windows_init_file): Use Fget_load_suffixes instead - of Vload_suffixes. - - * lisp.h: EXFUN Fget_load_suffixes. - Extern Vload_file_rep_suffixes. - - * eval.c (specpdl_ptr): Remove volatile qualifier for consistency - with lisp.h. - -2006-02-26 Stefan Monnier - - * lisp.h (struct specbinding, specpdl_ptr): Remove the volatile - qualifier which was trying to avoid the bug that was fixed by - yesterday's changes to xterm.c. - -2006-02-25 Chong Yidong - - * xterm.h (x_catch_errors) Return value changed to void. - (x_uncatch_errors): Delete unused count argument. - - * xterm.c (x_catch_errors): Don't use record_unwind_protect, since - it can be called in a signal handler. - (x_catch_errors_unwind): Function deleted. - (x_uncatch_errors): Deallocate last x_error_message_stack struct. - (x_check_errors): Call x_uncatch_errors before signalling error. - - (x_load_font, x_term_init, XTmouse_position, handle_one_xevent) - (x_connection_closed, x_list_fonts): Use new versions of - x_catch_errors and x_uncatch_errors. - - * xselect.c (x_own_selection, x_decline_selection_request) - (x_reply_selection_request, x_get_foreign_selection) - (Fx_get_atom_name, Fx_send_client_event): Likewise. - - * xfns.c (x_real_positions, x_set_mouse_color, Fx_focus_frame): - Likewise. - - * eval.c (record_unwind_protect): Add an assertion. - -2006-02-25 Stefan Monnier - - * process.c (Fmake_network_process): Init the process's mark. - -2006-02-25 Kim F. Storm - - * buffer.c (modify_overlay): Force redisplay if we modify an - overlay at the end of the buffer. - -2006-02-24 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_image_for_pixmap): If x_find_image_file returns - nil the image file has been removed, in that case use the (cached) - pixmap. - -2006-02-24 Kenichi Handa - - * fileio.c (Finsert_file_contents): When a text is replaced - partially, be sure to set point before the inserted characters. - -2006-02-23 Zhang Wei (tiny change) - - * xfns.c (Fx_file_dialog): Return a decoded file name. - -2006-02-23 YAMAMOTO Mitsuharu - - * dispnew.c (update_text_area): Avoid needless redraw of rightmost - glyph whose face is extended to the text area end. - - * macterm.c (x_set_toolkit_scroll_bar_thumb): Don't set control - values if control is not visible or values are not changed. - -2006-02-22 Stefan Monnier - - * window.c (Fwindow_list): Check `window' before doing XWINDOW. - The default `window' should not be "on a different frame". - -2006-02-22 Kim F. Storm - - * indent.c (Fvertical_motion): Only try to move back if we can. - -2006-02-22 YAMAMOTO Mitsuharu - - * macgui.h (struct _XGC) [!MAC_OSX || !USE_ATSUI]: New member - n_clip_rects. - - * macmenu.c (digest_single_submenu): Apply 2006-02-19 change for - xmenu.c. - - * macterm.c (GC_CLIP_REGION): Remove macro. - (mac_begin_clip, mac_end_clip): Take arg GC instead of REGION. - All uses changed. Don't do clipping if n_clip_rects is zero. - (mac_set_clip_rectangles): Use xassert instead of abort. - Set n_clip_rects. Don't make clip_region empty when number of - clipping rectangles is zero. - (mac_reset_clip_rectangles): Set n_clip_rects directly instead of - calling mac_set_clip_rectangles. - (x_set_toolkit_scroll_bar_thumb): Temporarily hide scroll bar to - avoid multiple redraws. - -2006-02-22 Kim F. Storm - - * fringe.c (draw_fringe_bitmap): Fix overlay-arrow display. - -2006-02-21 Kim F. Storm - - * fringe.c (syms_of_fringe) : Doc fix. - -2006-02-21 Zhang Wei - - * xfns.c (Fx_file_dialog, Motif and GTK): DECODE_FILE before - returning it. - -2006-02-21 Giorgos Keramidas (tiny change) - - * fringe.c (horizontal_bar_bits): Rename from `horisontal_bar_bits'. - (standard_bitmaps): Use it. - -2006-02-21 YAMAMOTO Mitsuharu - - * macterm.c (mac_draw_string_common): Remove arg MODE. New arg - BG_WIDTH. All uses changed. Draw background if BG_WIDTH is not zero. - (mac_draw_image_string, mac_draw_image_string_16): New arg BG_WIDTH. - [USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg): Rename from - mac_draw_string_cg. New arg BG_WIDTH. All uses changed. - Draw background if BG_WIDTH is not zero. Use float constants as - divisors instead of double. Use alloca instead of xmalloc/xfree. - (x_draw_glyph_string_background, x_draw_glyph_string_foreground) - [!MAC_OS8 || USE_ATSUI]: Background may be drawn using - mac_draw_image_string* functions. - (XLoadQueryFont) [MAC_OS8 && USE_ATSUI]: Don't adjust heights of - some fonts when srcCopy text transfer mode might be used. - (mac_begin_clip, mac_end_clip): Check if region is empty. - (mac_set_clip_rectangles): When resetting clip region, make it - empty instead of disposing of it. - -2006-02-20 Kim F. Storm - - * Makefile.in: Add fringe.elc to WINDOW_SUPPORT. - - * buffer.h (struct buffer): New members fringe_indicator_alist and - fringe_cursor_alist. - - * buffer.c (init_buffer_once): Set dummy default values for - fringe-indicator-alist and fringe-cursor-alist. The proper - default values are set by pre-loading fringe.el. - (syms_of_buffer): defvar_per_buffer new fringe-indicator-alist and - fringe-cursor-alist buffer-local variables and defvar_lisp_nopro - corresponding default- variables. - - * fringe.c (enum fringe_bitmap_type): Remove. Change all uses - to use `int'. - (NO_FRINGE_BITMAP, UNDEF_FRINGE_BITMAP, MAX_STANDARD_FRINGE_BITMAPS): - Define explicitly. - (Qtruncation, Qcontinuation, Qempty_line, Qtop_bottom) - (Qhollow_small): New variables. - (syms_of_fringe): Intern and staticpro them. - (question_mark_bits): Rename from unknown_bits. - (left_curly_arrow_bits): Rename from continuation_bits. - (right_curly_arrow_bits): Rename from continued_bits. - (left_triangle_bits): Rename from ov_bits. - (right_triangle_bits): Add. - (filled_rectangle_bits): Rename from filled_box_cursor_bits. - (hollow_rectangle_bits): Rename from hollow_box_cursor_bits. - (filled_square_bits): Add. - (vertical_bar_bits): Rename from bar_cursor_bits. - (horizontal_bar_bits): Rename from hbar_cursor_bits. - (empty_line_bits): Rename from zv_bits. - (standard_bitmaps): Update to use new names. - (draw_fringe_bitmap_1): Make static. - (get_logical_cursor_bitmap, get_logical_fringe_bitmap): New functions - to map from logical cursors and indicators to physical bitmaps. - (draw_fringe_bitmap): Resolve fringe cursor and overlay-arrow - bitmaps using symbol names instead of bitmap numbers. - (update_window_fringes): Use logical indicator symbol names - instead of bitmap numbers for logical. Add bitmap cache. - (LEFT_FRINGE, RIGHT_FRINGE): New helper macros. - -2006-02-20 Chong Yidong - - * regex.c: Revert 2006-02-19 change. - (xmalloc, xrealloc): Define these when not linked to Emacs. - Redefine malloc -> xmalloc, realloc -> xrealloc as in Emacs case. - -2006-02-19 Luc Teirlinck - - * regex.c (extend_range_table_work_area): Fix typo. - -2006-02-19 Richard M. Stallman - - * xterm.c (x_catch_errors): Use xmalloc. - - * regex.c (extend_range_table_work_area): Call xmalloc and xrealloc. - (regex_compile): Likewise. - (regcomp): Use xmalloc. - - * gtkutil.c (malloc_widget_value): Use xmalloc. - - * vm-limit.c [HAVE_GETRLIMIT]: Include sys/resource.h. - (check_memory_limits) [HAVE_GETRLIMIT]: Use getrlimit. - - * xmenu.c (digest_single_submenu): When pane_string is empty, - do initialize save_wv. - -2006-02-19 YAMAMOTO Mitsuharu - - * xdisp.c (update_menu_bar) [MAC_OS]: Don't set - w->update_mode_line if arg F is not the selected frame. - - * macmenu.c (popup_activated_flag, submenu_id) - (next_menubar_widget_id): Remove variables. - (initialize_frame_menubar): Remove function. - (pop_down_menu, mac_menu_show): Simplify save value. - (dispose_menus): New function. - (pop_down_menu, fill_menubar): Use it. - (fill_submenu): Remove function. All uses changed to fill_menu. - (add_menu_item): Remove args SUBMENU and FORCE_DISABLE. New arg - POS. Don't call SetMenuItemHierarchicalID here. - (fill_menu): Add arg SUBMENU_ID. Return submenu_id that is to be - used next. Call SetMenuItemHierarchicalID here. - (fill_menubar): Add arg DEEP_P. All uses changed. Clean up menu - objects if needed. Reuse existing menu bar titles if possible. - (set_frame_menubar): Don't clean up menu objects here. - -2006-02-18 Chong Yidong - - * window.c (window_min_size_1): Ensure room for the scroll bar and - fringes. - -2006-02-17 Romain Francoise - - * puresize.h (BASE_PURESIZE): Increment to 1200000. - -2006-02-17 Stefan Monnier - - * alloc.c (Fmake_symbol): Comment-out left-over assert from before the - addition of the BLOCK_INPUTs. - -2006-02-17 Juanma Barranquero - - * window.c (Fset_window_scroll_bars): Doc fix. - -2006-02-17 Kenichi Handa - - * xdisp.c (display_mode_element): Call display_string with correct - PREC arg (which must be a number of characters, not column width). - -2006-02-15 YAMAMOTO Mitsuharu - - * frame.c (x_get_arg): Clear out PARAM in ALIST also on Mac. - - * macfns.c (x_set_menu_bar_lines): Menu bar is always shown on Mac. - - * macmenu.c (set_frame_menubar): Don't call DrawMenuBar. - -2006-02-14 Richard M. Stallman - - * frame.c (x_get_arg): Clear out all occurrences of PARAM in ALIST. - - * m/ibms390x.h: New file. - -2006-02-14 Jan Dj,Ad(Brv - - * gtkutil.c (xg_tool_bar_detach_callback): Set show-arrow to the - value of x-gtk-whole-detached-tool-bar. - (xg_tool_bar_attach_callback): Set show-arrow to TRUE. - - * xfns.c (syms_of_xfns): New variable: x-gtk-whole-detached-tool-bar. - -2006-02-14 Jan Dj,Ad(Brv - - * xterm.c (x_x_to_emacs_modifiers): Make non-static. - - * xterm.h: Declare x_x_to_emacs_modifiers. - - * gtkutil.c (xg_tool_bar_button_cb): New function. - (xg_tool_bar_callback): Call x_x_to_emacs_modifiers to - store modifiers in event. - (update_frame_tool_bar): Connect button-release-event to - xg_tool_bar_button_cb. - -2006-02-13 Richard M. Stallman - - * .gdbinit (xwindow): Update the code to show the window box. - -2006-02-13 Jan Dj,Ad(Brv - - * xterm.c (note_mouse_movement): Check for NULL FRAME_X_OUTPUT (frame). - -2006-02-12 Richard M. Stallman - - * cmds.c (internal_self_insert): Handle weird auto-fill-function. - -2006-02-11 Eli Zaretskii - - * keyboard.c (Venable_disabled_menus_and_buttons): New variable. - (syms_of_keyboard): DEVFAR_LISP and initialize it. - (parse_tool_bar_item, parse_menu_item): If that variable is - non-nil, don't disable menu items and tool-bar buttons. - -2006-02-11 Juanma Barranquero - - * doc.c (Fsubstitute_command_keys): Doc fix. - -2006-02-10 Thien-Thi Nguyen - - * data.c (Findirect_function): Rewrite docstring. - Fix omission bug: Declare new arg NOERROR. - -2006-02-10 YAMAMOTO Mitsuharu - - * macfns.c (x_set_mouse_color): Don't call rif->define_frame_cursor - if window_desc is not set yet. - (Fx_create_frame): Remove variable x_frame_name. Apply 2005-12-07 - and 2006-01-26 changes for xfns.c. Call x_iconify_frame if frame - parameter `visibility' is `icon'. - (Fx_create_frame, x_create_tip_frame): Use "fontset-standard" - instead of "fontset-mac". - (Fx_focus_frame): New defun. - (syms_of_macfns): Defsubr it. - - * macterm.c (mac_define_frame_cursor): Don't change pointer shape - for unfocused frame. - (x_raise_frame): Call BringToFront instead of SelectWindow. - (x_lower_frame): Use NULL instead of nil. - (x_make_frame_visible): Don't call SelectWindow. - (XTread_socket): Increment handling_signal at the start, decrement - it at the end. - [USE_CG_TEXT_DRAWING] (init_cg_text_anti_aliasing_threshold): Use - CFPreferencesGetAppIntegerValue instead of Fmac_get_preference. - -2006-02-10 Kim F. Storm - - * data.c (Findirect_function): Add NOERROR arg. All callers changed - to pass Qnil for NOERROR. - - * keymap.c (current_minor_maps_error): Remove. - (current_minor_maps): Pass Qt for NOERROR to Findirect_function - instead of using internal_condition_case_1+current_minor_maps_error. - -2006-02-09 Jan Dj,Ad(Brv - - * xterm.c (handle_one_xevent): Must note mouse movement even for nil - frames for GTK, in that case it is the tool bar. This is so that - highlighted text get reset properly. - -2006-02-09 Juanma Barranquero - - * alloc.c (Fmake_bool_vector, Fpurecopy): Doc fixes. - -2006-02-08 Jan Dj,Ad(Brv - - * window.c (adjust_window_trailing_edge): Check that shrinking - does not set a window to size zero or less. - -2006-02-08 Miles Bader - - * editfns.c (Fconstrain_to_field): Use Fget_char_property instead - of Fget_text_property (other field functions work with overlays as - well as text-properties). - -2006-02-07 Kenichi Handa - - * dispextern.h (unibyte_display_via_language_environment): Extern it. - - * xterm.h (unibyte_display_via_language_environment): - * w32term.h (unibyte_display_via_language_environment): - * macterm.h (unibyte_display_via_language_environment): Delete extern. - -2006-02-07 Kenichi Handa - - * term.c (append_glyph): Refer to it->char_to_display instead of it->c. - (produce_glyphs): Set the character to print in - it->char_to_display. Handle unibyte-display-via-language-environment. - (produce_stretch_glyph): Set character to print in it->char_to_display. - -2006-02-06 Kenichi Handa - - * lread.c (openp): Initialize encoded_fn before GCPRO it. - -2006-02-05 Ken Raeburn - - * editfns.c (Fconstrain_to_field): Fix int/Lisp_Object mixup. - - * lisp.h (XPNTR) [!NO_UNION_TYPE && !HAVE_SHM && !DATA_SEG_BITS]: - Cast bitfield value to EMACS_INT, to suppress gcc warning. - - * xrdb.c (malloc, realloc, free) [emacs]: Undefine macros before - defining. - -2006-02-03 Kim F. Storm - - * xdisp.c: Cache last merged escape glyph face. - (last_escape_glyph_frame, last_escape_glyph_face_id) - (last_escape_glyph_merged_face_id): New variables. - (get_next_display_element): Use/update them. - (redisplay_internal): Reset them before redisplay. - - * xdisp.c (set_iterator_to_next): Optimize 2004-12-13 fix. - Only recheck faces after displaying ellipsis. - -2006-02-02 Kenichi Handa - - * coding.c (decode_composition_emacs_mule): Fix handling of - incorrect format data. - -2006-01-31 Jan Dj,Ad(Brv - - * gtkutil.c (update_frame_tool_bar): Use new tool bar function - gtk_toolbar_insert() so we can have tool bars of different sizes. - -2006-01-30 Luc Teirlinck - - * data.c (Flistp): Doc fix. - -2006-01-30 Juanma Barranquero - - * window.c (Fother_window, Fwindow_vscroll, Fset_window_vscroll): - Fix typos in docstrings. - -2006-01-28 Luc Teirlinck - - * data.c (Fcar, Fcdr): Add links to Elisp manual to the docstrings. - -2006-01-27 Chong Yidong - - * alloc.c (make_interval, allocate_string) - (allocate_string_data, make_float, Fcons, allocate_vectorlike) - (Fmake_symbol, allocate_misc): Use BLOCK_INPUT when accessing - global variables. - -2006-01-27 Eli Zaretskii - - * dired.c (DIRENTRY_NONEMPTY) [__CYGWIN__]: Don't use d_ino; use - the MSDOS definition. - -2006-01-26 Richard M. Stallman - - * alloc.c (check_pure_size): Make overflow message an "error message". - - * keymap.c (Fmap_keymap): Doc fix. - - * xfns.c (Fx_create_frame): Put all specified parms into f->param_alist - unless they were cleared out. - - * frame.c (x_get_arg): "Clear out" the parm in ALIST if found there. - -2006-01-26 L$,1 q(Brentey K,Aa(Broly - - * editfns.c (Fconstrain_to_field): Fix behaviour on field boundaries. - (find_field): Set before_field to after_field when pos is at BEGV. - (Fline_beginning_position, Fline_end_position): - Clarify confusing doc string. - - * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify confusing doc - string. - -2006-01-26 Kenichi Handa - - * callproc.c (Fcall_process): GCPRO error_file. Encode infile, - current_dir, and error_file. On reporting an error, decode them - back. - -2006-01-24 Stefan Monnier - - * regex.c (IMMEDIATE_QUIT_CHECK): Use it with SYNC_INPUT as well. - (re_match_2_internal) : - Don't check for quit, since any loop will go through fail or jump. - -2006-01-24 Chong Yidong - - * alloc.c (allocate_string_data): Update next_free immediately, to - reduce risk of memory clobberage. - -2006-01-24 L$,1 q(Brentey K,Aa(Broly - - * xdisp.c (handle_invisible_prop): Set it->position to fix cursor - display when point moves across an ellipsis. If there are - adjacent invisible texts, don't lose the second one's ellipsis. - (x_produce_glyphs): Doc fix. - -2006-01-23 Stefan Monnier - - * xterm.c (x_catch_errors_unwind): Yet another int/Lisp_Object mixup. - -2006-01-23 Kim F. Storm - - * xdisp.c (handle_single_display_spec): Fix handling of space - property on char from string: set *position rather than - it->current.pos. - (produce_stretch_glyph): Reduce width of stretch glyphs so they - don't get wider than the window (unless truncate-lines is on). - -2006-01-22 Stefan Monnier - - * xterm.c: Avoid allocating Lisp data from a signal handler. - (x_error_message): New var to replace x_error_message_string. - (x_error_catcher, x_catch_errors, x_catch_errors_unwind) - (x_check_errors, x_had_errors_p, x_clear_errors, x_error_handler) - (syms_of_xterm): Use it instead of x_error_message_string. - - * alloc.c (lisp_align_free): Add an assertion. - (make_interval, allocate_string, make_float, Fcons, Fmake_symbol) - (allocate_misc): If ENABLE_CHECKING is on, check we're not called from - a signal handler. - -2006-01-21 Luc Teirlinck - - * dired.c (syms_of_dired) : Doc fix. - -2006-01-21 Romain Francoise - - * xdisp.c (get_window_cursor_type): Fix last change. - Update copyright year. - -2006-01-20 Eli Zaretskii - - * lread.c (Fload): Don't leak the file descriptor returned by - openp if we are going to signal an error. - - * w32.c (sys_close): If FD is outside [0..MAXDESC) limits, pass it - directly to _close. - (sys_dup): Protect against new_fd larger than fd_info[] can handle. - (sys_read): If FD is outside [0..MAXDESC) limits, pass it directly - to _read. - (sys_write): If FD is outside [0..MAXDESC) limits, pass it - directly to _write. - - * .gdbinit: Don't dereference Vsystem_type's Lisp_Symbol pointer - if it is NULL. - -2006-01-20 Kenichi Handa - - * puresize.h (BASE_PURESIZE): Increment to 1190000. - -2006-01-19 Chong Yidong - - * xdisp.c (get_window_cursor_type): Use cursor type specified by - the selected buffer for the echo area too. - -2006-01-19 Richard M. Stallman - - * keymap.c (Fmap_keymap): Doc fix. - - * s/irix6-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): New definitions. - - * keyboard.c (echo_char): Don't omit the space between first two - echoed chars. - - * minibuf.c (read_minibuf): Fix previous change. - -2006-01-19 Kenichi Handa - - * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF. - -2006-01-17 Richard M. Stallman - - * frame.c (x_frame_get_and_record_arg): Don't record Qunbound - value in f->param_alist. - -2006-01-15 Andreas Schwab - - * search.c (Freplace_match): Use UPPERCASEP instead of !NOCASEP. - -2006-01-13 Richard M. Stallman - - * Makefile.in: Define new macro WINDOW_SUPPORT. - (lisp): Use it. - (SOME_MACHINE_LISP): Add conditionally loaded files. - -2006-01-12 YAMAMOTO Mitsuharu - - * macterm.c [USE_ATSUI] (atsu_get_text_layout_with_text_ptr) - [MAC_OS_X_VERSION_MAX_ALLOWED >= 1020]: Specify kATSLineUseQDRendering. - (XLoadQueryFont) [USE_ATSUI]: Display diacritical marks in - decomposed form. - - * process.c [HAVE_INTTYPES_H]: Include inttypes.h. - (ifflag_table): Fix typo (IFF_OACTIV -> IFF_OACTIVE). - (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ_IFR_NETMASK - macro. Also try member ifr_addr when getting netmask. - -2006-01-10 Stefan Monnier - - * fileio.c (Fexpand_file_name): Remove redundant tests. - Fix elimination of // so that it doesn't prevent elimination of an - immediately following /. or /.. - -2006-01-09 Jan Dj,Ad(Brv - - * gtkutil.c (xg_toggle_notify_cb): New function. - (xg_toggle_visibility_cb): Move setting of x_gtk_show_hidden_files to - xg_toggle_notify_cb. - (xg_get_file_with_chooser): Add callback to xg_toggle_notify_cb when - parameter value changes so the toggle button gets updated. - -2006-01-06 Nick Roberts - - * .gdbinit: Fix typo. - -2006-01-05 Eli Zaretskii - - * .gdbinit: Fix last change. - -2006-01-05 Kim F. Storm - - * process.c (Fmake_network_process): Use AF_INET instead of - AF_UNSPEC when AF_INET6 is not defined. - -2006-01-05 YAMAMOTO Mitsuharu - - * mac.c (mac_coerce_file_name_ptr, mac_coerce_file_name_desc): - Don't check that the other type is known file-related one. - - * macfns.c (Fx_server_version): Use gestaltSystemVersionMajor, - gestaltSystemVersionMinor, and gestaltSystemVersionBugFix on Mac - OS X 10.4 and later. - -2006-01-04 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_image_for_pixmap): If the image is from a file, - let GTK do all image processing. Importing Emacs own pixmaps to GTK - looks bad for inactive tool bar items with some Gnome themes. - -2006-01-04 Eli Zaretskii - - * .gdbinit: Avoid a warning message when x_error_quitter is not - compiled in. - - * process.c [WINDOWSNT]: Undef AF_INET6 to disable IPv6 support - for w32. - -2006-01-04 Kim F. Storm - - * process.c: Add IPv6 support. - (Qipv4, Qipv6): New vars. - (syms_of_process): Intern and staticpro them. - (Fformat_network_address): Handle 9 or 8 element vector as IPv6 address - with or without port number. Handle 4 element vector as IPv4 address - without port number. - (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size) - (conv_lisp_to_sockaddr): Handle IPv6 addresses. - (Fmake_network_process): Use :family 'ipv4 and 'ipv6 to explicitly - request that address family only. :family nil or omitted means to - determine address family from the specified :host and :service. - (ifflag_table): Add missing OpenBSD IFF_ flags. - (server_accept_connection): Handle IPv6 addresses. - (init_process): Add (:family ipv4) and (:family ipv6) sub-features. - - * .gdbinit: Undo last change. Instead, look at Vsystem_type to - determine which breakpoints to set. - -2006-01-03 Stefan Monnier - - * keymap.c (describe_map_compare): Yet another int/Lisp_Object mixup. - - * window.h (Fwindow_minibuffer_p): Declare (for use in minibuf.c). - -2006-01-03 Romain Francoise - - * emacs.c (main): Update copyright year. - -2006-01-03 Ken Raeburn - - * callproc.c (delete_temp_file): Bind file-name-handler-alist to - nil for the call to internal_delete_file. - -2006-01-01 Ken Raeburn - - * callproc.c (Fcall_process_region): Bind file-name-handler-alist - to nil for the call to Fwrite_region. - -2005-12-31 Richard M. Stallman - - * minibuf.c (read_minibuf): Clear out all other minibuffer windows. - -2005-12-31 Eli Zaretskii - - * emacs.c (gdb_pvec_type): A dummy variable for GDB's sake. - -2005-12-30 Luc Teirlinck - - * textprop.c (set_text_properties): Reword description of return value. - Return Qnil if caller wants to remove all text properties from a - string and the string already has no intervals. - -2005-12-30 Stefan Monnier - - * term.c (visible_cursor): New boolean var. - (set_terminal_modes, tty_show_cursor): Use "vs" or "ve" depending on - visible_cursor. - (syms_of_term): Export the new var as "visible-cursor". - -2005-12-30 Eli Zaretskii - - * .gdbinit: Tell users not to worry about GDB warnings that some - functions do not exist in the binary. - -2005-12-30 Andreas Schwab - - * process.c (Fnetwork_interface_info): Correctly terminate the - loop over ifflag_table. - -2005-12-29 Richard M. Stallman - - * lread.c (readevalloop): Test for reading a whole buffer - before actually reading anything. Handle all cases, including - START = END = nil and an already-narrowed buffer. - Convert END to a marker if it is a number. - - * keymap.c (describe_map): Put sparse map elements into an array, - sort them, then output a sequence of identical bindings on one line. - (struct describe_map_elt): New data type. - (describe_map_compare): New function. - -2005-12-28 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_file_with_chooser): Change message shown - in file chooser. - -2005-12-27 Richard M. Stallman - - * lread.c (readevalloop): Set PT and ZV in the proper buffer, - not the current one. - - * minibuf.c (Fminibuffer_message): Doc fix. - (read_minibuf): Set current_buffer->enable_multibyte_characters sooner. - - * eval.c (do_autoload): Ignore elements of Vautoload_queue - where car is not symbol. - -2005-12-27 Kenichi Handa - - * charset.c (lisp_string_width): Check multibyteness of STRING. - -2005-12-27 Jan Dj,Ad(Brv - - * xfns.c (x_show_hidden_files): New variable. - (syms_of_xfns): Defvar it. - - * gtkutil.c (xg_toggle_visibility_cb): New function. - (xg_get_file_with_chooser): Add toggle hidden files and a message - to the new file chooser dialog. Show hidden files if - x_show_hidden_files is non-zero. - -2005-12-26 Richard M. Stallman - - * keyboard.h: Undo previous change. - - * Makefile.in (undo.o): Undo previous change. - - * undo.c: Undo previous change. - -2005-12-26 Luc Teirlinck - - * keyboard.h: extern last_point_position_window. - - * undo.c: include keyboard.h. - - * Makefile.in (undo.o): Depend on keyboard.h. - -2005-12-26 Richard M. Stallman - - * commands.h (last_point_position_window): Declare. - - * undo.c: Depend on window.h. - (record_point): Save old point from the correct window. - - * keyboard.c (last_point_position_window): New variable. - (command_loop_1): Set last_point_position_window. - (syms_of_keyboard): Init it. - - * Makefile.in (undo.o): Depend on window.h. - -2005-12-25 Richard M. Stallman - - * eval.c (un_autoload): Expect (0 . OFEATURES) in Vautoload_queue - to undo a `provide'. - - * fns.c (Fprovide): Store (0 . OFEATURES) in Vautoload_queue. - -2005-12-25 Giorgos Keramidas - - * m/amdx86-64.h [__FreeBSD__] (START_FILES, LIB_STANDARD): - define for FreeBSD on this platform. - -2005-12-24 YAMAMOTO Mitsuharu - - * macterm.h (TYPE_FILE_NAME): New define. - (posix_pathname_to_fsspec, fsspec_to_posix_pathname): Remove externs. - - * mac.c (posix_pathname_to_fsspec, fsspec_to_posix_pathname): - Add prototypes. Make static. - (mac_aedesc_to_lisp): Initialize err to noErr. - (mac_coerce_file_name_ptr, mac_coerce_file_name_desc) - (init_coercion_handler): New functions. - (Fmac_coerce_ae_data): Use coercion of Apple event data for - translation from/to file names. - - * macterm.c: Don't include sys/param.h. - (init_coercion_handler): Add extern. - [MAC_OS8] (main): Call init_coercion_handler. - (mac_initialize) [MAC_OSX]: Likewise. - [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Use coercion of - Apple event data for translation from/to file names. - - * macfns.c [TARGET_API_MAC_CARBON] (Fx_file_dialog): Likewise. - - * image.c [MAC_OS] (find_image_fsspec): Likewise. - -2005-12-23 Martin Rudalics - - * insdel.c (insert, insert_and_inherit, insert_before_markers) - (insert_before_markers_and_inherit): Make sure FROM is correct - when `after-change-functions' are called. - -2005-12-23 Jan Dj,Ad(Brv - - * xfns.c (Fx_uses_old_gtk_dialog): New function. - - * gtkutil.c (xg_uses_old_file_dialog): New function. - (xg_get_file_name): Use xg_uses_old_file_dialog. - - * gtkutil.h: Declare xg_uses_old_file_dialog. - -2005-12-22 Richard M. Stallman - - * xmenu.c (xmenu_show): Call inhibit_garbage_collection. - -2005-12-22 YAMAMOTO Mitsuharu - - * mac.c (Fmac_coerce_ae_data) [MAC_OSX]: Fix memory leak. - - * macgui.h (XCharStruct): Remove member `valid_p'. - (STORE_XCHARSTRUCT): Don't set member `valid_p'. - (XCharStructRow): New typedef. - (XCHARSTRUCTROW_CHAR_VALID_P, XCHARSTRUCTROW_SET_CHAR_VALID): - New macros. - (struct MacFontStruct): Add member `bounds'. Remove member - `per_char'. All uses for QuichDraw Text fonts are changed to - `bounds.per_char'. ATSUI font bounds are represented as an array - `bounds.rows' of XCharStructRow's, each of which consists of a - bitmap of valid entries and an array of char bounds. - - * macterm.c (mac_per_char_metric): Add prototype. - (x_per_char_metric) [USE_CG_TEXT_DRAWING]: Remove prototype. - (mac_query_char_extents): New function. - (x_per_char_metric): Use it. - (XLoadQueryFont): Likewise. Consolidate min/max_bounds calculations. - [USE_CG_TEXT_DRAWING] (mac_draw_string_cg): - Use mac_per_char_metric instead of x_per_char_metric. - (mac_text_extents_16): New function. - (mac_compute_glyph_string_overhangs): Use it. - (mac_unload_font): Free member `bounds' in struct MacFontStruct. - -2005-12-21 Stefan Monnier - - * minibuf.c (Fdisplay_completion_list): Use XCAR/XCDR. - (Fminibuffer_completion_help): Remove duplicates before display. - -2005-12-21 L$,1 q(Brentey K,Aa(Broly - - * print.c (print_preprocess): Don't lose print_depth levels while - iterating. - -2005-12-21 YAMAMOTO Mitsuharu - - * macmenu.c (Qmac_apple_event): Add extern. - (set_frame_menubar, mac_menu_show keymp_panes) - (single_keymap_panes, list_of_panes, list_of_item) - (single_menu_item): Add argument types to prototypes. - (mac_dialog_show) [HAVE_DIALOGS]: Likewise. - (struct skp): New struct (from xmenu.c). - (single_keymap_panes, single_menu_item, list_of_panes) - (list_of_item): Sync with xmenu.c. - (Fx_popup_menu, Fx_popup_dialog): Likewise. Don't get window from - POSITION if it is mac-apple-event event. - (menubar_selection_callback): Don't use menu_command_in_progress. - (set_frame_menubar): First parse all submenus, then make - widget_value trees from them. Don't allocate any widget_value - objects until we are done with the parsing. - (parse_single_submenu, digest_single_submenu): New functions. - (single_submenu): Function deleted, replaced by those two. - (install_menu_quit_handler) [HAVE_CANCELMENUTRACKING]: Don't create - or dispose of EventHandlerUPP. Install hander to all submenus. - (mac_menu_show) [!HAVE_MULTILINGUAL_MENU]: Use ENCODE_MENU_STRING - instead of ENCODE_SYSTEM. - (free_frame_menubar, fill_submenu, fill_menu): Don't use NULL for - integer values. - [HAVE_DIALOGS] (mac_dialog_show): Sync with xdialog_show (in xmenu.c). - (add_menu_item) [TARGET_API_MAC_CARBON]: Use CFString functions to - format menu item string. Don't use NULL for integer value. - - * macterm.h (struct mac_output): Remove unused member - menu_command_in_progress. - -2005-12-20 Juri Linkov - - * xmenu.c (Fx_popup_menu): Set Vmenu_updating_frame to f if - position is non-nil, else set it to nil. - - * macmenu.c (Fx_popup_menu): Add `else' to set - Vmenu_updating_frame to nil only if position is nil. - - * w32menu.c (Fx_popup_menu): Add `else' to set - Vmenu_updating_frame to nil only if position is nil. - -2005-12-19 YAMAMOTO Mitsuharu - - * keyboard.c (make_lispy_event): Drag-and-drop items are now - stored in member `args' of struct input_event. - - * termhooks.h (struct input_event): Fix comment for DRAG_N_DROP_EVENT. - - * xselect.c (x_handle_dnd_message): Drag-and-drop items are now - stored in member `args' of struct input_event. - - * w32term.c (construct_drag_n_drop): Likewise. - - * macterm.c (mac_do_receive_drag): Likewise. - (x_use_underline_position_properties): Undo 2005-07-13 change. - (syms_of_macterm) : Likewise. - (mac_use_core_graphics, mac_wheel_button_is_mouse_2) - (mac_pass_command_to_system, mac_pass_control_to_system): - New boolean variables renamed from Lisp_Object ones - Vmac_use_core_graphics, Vmac_wheel_button_is_mouse_2, - Vmac_pass_command_to_system, and Vmac_pass_control_to_system. - All uses changed. - (syms_of_macterm): DEFVAR_BOOL them. Remove previous DEFVAR_LISPs. - Make them user options. - (mac_handle_command_event, mac_store_services_event): - Call create_apple_event_from_event_ref without 5th argument. - (backtranslate_modified_keycode): Mask off modifier keys that are - mapped to some Emacs modifiers before passing it to KeyTranslate. - (syms_of_macterm): Make variables `mac-emulate-three-button-mouse', - `mac-wheel-button-is-mouse-2', and `mac-*-modifier' user options. - Fix docstrings of `mac-*-modifier'. - - * mac.c (create_apple_event_from_event_ref): Remove arg `types'. - (do_applescript): Change argument types to Lisp_Object. - All uses changed. - - * macterm.h (create_apple_event_from_event_ref): Remove 5th - argument from extern. - -2005-12-18 Dan Nicolaescu - - * xfns.c (Fx_backspace_delete_keys_p): In case we cannot determine - the answer, return `lambda', not nil. - -2005-12-17 Eli Zaretskii - - * makefile.w32-in (bootstrap-temacs): Warn that parts of commands - enclosed in $(ARGQUOTE)s should not be split between two lines, as - that will break with GNU Make >3.80, when sh.exe is used and - arg quoting is with '..'. - -2005-12-17 Chong Yidong - - * print.c (print_preprocess): Just signal an error if print_depth - is exceeded. - -2005-12-17 Eli Zaretskii - - * .gdbinit: Set a breakpoint on w32_abort. - -2005-12-16 Juri Linkov - - * minibuf.c (Fminibuffer_completion_contents): New Lisp function - created from minibuffer_completion_contents. - (minibuffer_completion_contents): Remove. - (do_completion, Fminibuffer_complete_word) - (Fminibuffer_completion_help): Replace minibuffer_completion_contents - with Fminibuffer_completion_contents. - (syms_of_minibuf): Add Sminibuffer_completion_contents. - (Fdisplay_completion_list): Doc fix. - (display_completion_list_1): Use `nil' for second arg of - `Fdisplay_completion_list'. - -2005-12-14 Jan Dj,Ad(Brv - - * xfns.c (compute_tip_xy): Handle negative dx and dy. - - * w32fns.c (compute_tip_xy): Ditto. - - * macfns.c (compute_tip_xy): Ditto. - -2005-12-14 Chong Yidong - - * print.c (print_preprocess): Go to a deeper print_depth to avoid - print_object loop. - -2005-12-14 Kyotaro HORIGUCHI (tiny change) - - * coding.c (code_convert_region_unwind): GCPRO arg. - -2005-12-12 Jan Dj,Ad(Brv - - * xfns.c (compute_tip_xy): Calculate root_y the same way as root_x, - i.e. dy is offset from top of frame instead of bottom. - - * macfns.c (compute_tip_xy): Ditto. - - * w32fns.c (compute_tip_xy): Ditto. - - * gtkutil.c (SSDATA): New macro to remove compiler warnings. - (xg_get_image_for_pixmap, xg_create_frame_widgets) - (xg_get_file_with_chooser): Use SSDATA instead of SDATA. - - * xmenu.c (menubar_selection_callback): Do nothing if the callback - is for an unselected radio menu item. - -2005-12-11 Richard M. Stallman - - * xdisp.c (syms_of_xdisp) : Doc fix. - - * lisp.h [! NO_UNION_TYPE] (EQ): Use == so args are computed just once. - - * keymap.c (Fset_keymap_parent, store_in_keymap): Use CHECK_IMPURE. - (Flookup_key): Doc fix. - (syms_of_keymap) : Doc fix. - - * fns.c (Frequire): Treat evaluating from a source file - like loading the file. - - * floatfns.c (Flog): Doc fix. - - * fileio.c (Finsert_file_contents): Set Vdeactivate_mark - when we change the buffer. - -2005-12-11 Juri Linkov - - * minibuf.c (display_completion_list_1): - Call `minibuffer_completion_contents' instead of using `nil' as - second arg of `Fdisplay_completion_list'. - (keys_of_minibuf): Unbind SPC in - Vminibuffer_local_filename_completion_map (see also related - change on 2005-12-06). - -2005-12-11 YAMAMOTO Mitsuharu - - * emacs.c (main) [MAC_OS8]: Undo previous change. - - * macselect.c (syms_of_macselect) : - Initialize to nil. Keymap is now created in lisp/term/mac-win.el. - -2005-12-10 YAMAMOTO Mitsuharu - - * Makefile.in (macselect.o): Depend on keymap.h. - - * emacs.c (main) [MAC_OS8]: Call syms_of_keymap before - syms_of_macselect. - - * image.c (init_image) [MAC_OS]: Don't call EnterMovies. - [!HAVE_GIF && MAC_OS] (gif_load): Call EnterMovies. - - * keyboard.c (Qmac_apple_event) [MAC_OS]: New variable. - (syms_of_keyboard) [MAC_OS]: Initialize it. - (make_lispy_event) [MAC_OS]: Build lisp event for MAC_APPLE_EVENT. - - * mac.c (Qundecoded_file_name): New variable. - (syms_of_mac): Initialize it. - (mac_aelist_to_lisp, mac_aedesc_to_lisp): New functions. - [TARGET_API_MAC_CARBON] (create_apple_event_from_event_ref): New fun. - (Fmac_coerce_ae_data): New defun. - (syms_of_mac): Defsubr it. - - * macselect.c: Include keymap.h. - (mac_ready_for_apple_events): New variable. - (Vmac_apple_event_map, Qmac_apple_event_class) - (Qmac_apple_event_id): New variables. - (syms_of_macselect): Initialize them. - (Qundefined, mac_store_apple_event): Add externs. - (struct apple_event_binding): New struct. - (find_event_binding_fun, find_event_binding) - (mac_find_apple_event_spec, defer_apple_events) - (mac_handle_apple_event, init_apple_event_handler) - (copy_scrap_flavor_data): New functions. - (Fmac_process_deferred_apple_events): New defun. - (syms_of_macselect): Defsubr it. - (mac_store_services_event): Fix extern. - (mac_handle_service_event): Don't allocate Lisp objects during - asynchronous input processing. Use mac_store_services_event - instead of mac_store_application_menu_event. - - * macterm.c (Qmac_ready_for_drag_n_drop, Qapplication, Qabout) - (Qpreferences): Remove variables. - (syms_of_macterm): Don't initialize them. - (Qhicommand) [USE_CARBON_EVENTS]: New variable. - (syms_of_macterm) [USE_CARBON_EVENTS]: Initialize it. - (init_required_apple_events, do_ae_open_application) - (do_ae_print_documents, do_ae_open_documents) - (do_ae_quit_application): Remove functions and prototypes. - (mac_ready_for_apple_events, Qundefined, init_apple_event_handler) - (mac_find_apple_event_spec): Add externs. - (mac_store_application_menu_event): Remove function. - (mac_store_apple_event, mac_make_lispy_event_code): New functions. - (mac_handle_command_event): Create Apple event from Carbon event. - Use mac_store_apple_event instead of mac_store_application_menu_event. - [MAC_OSX] (mac_store_services_event): Likewise. - (struct SelectionRange, SelectionRange): Remove struct and typedef. - [MAC_OS8] (main): Call init_apple_event_handler instead of - init_required_apple_events. - (mac_initialize) [MAC_OSX]: Likewise. - [!USE_CARBON_EVENTS] (mac_wait_next_event): - Use mac_ready_for_apple_events instead of Qmac_ready_for_drag_n_drop. - - * macterm.h (mac_make_lispy_event_code, mac_aedesc_to_lisp): - Add externs. - (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]: Likewise. - (Fmac_get_preference): Add EXFUN. - - * termhooks.h (enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT - event. - -2005-12-09 Richard M. Stallman - - * xfns.c (Fx_create_frame): Reinstate previous change. - -2005-12-09 Eli Zaretskii - - * w32fns.c (w32_abort) [__GNUC__]: Add instructions for attaching - GDB to the abort dialog. - -2005-12-09 Kyotaro HORIGUCHI (tiny change) - - * indent.c (Fvertical_motion): Force move if starting on - stretch glyph. - -2005-12-08 Richard M. Stallman - - * lread.c (read_escape) <\s>: Don't treat strings specially. - - * xfns.c (Fx_create_frame): Comment out previous change. - -2005-12-07 L$,1 q(Brentey K,Aa(Broly - - * xfns.c (Fx_create_frame): Initialize Vdefault_minibuffer_frame, - when needed. - -2005-12-06 Stefan Monnier - - * minibuf.c (keys_of_minibuf): Just unbind SPC in - Vminibuffer_local_filename_completion_map rather than forcing it - explicitly to the same binding as the global map. - -2005-12-06 Ken Raeburn - - * buffer.c (Fkill_buffer): Avoid dangerous side effects in NILP args. - * bytecode.c (Fbyte_code): Likewise. - * fileio.c (internal_delete_file, Fread_file_name_internal): Likewise. - * minibuf.c (Fminibuffer_complete_and_exit): Likewise. - * undo.c (truncate_undo_list): Likewise. - -2005-12-05 Richard M. Stallman - - * window.c (enlarge_window): Eliminate arg preserve_before. - Assume it is 0. All callers changed. - (Fenlarge_window, Fshrink_window): Likewise. - -2005-12-02 Eli Zaretskii - - * w32fns.c (compute_tip_xy): Put tip above pointer if it doesn't - fit below. - -2005-12-02 Jan Dj,Ad(Brv - - * xterm.h: Add prototype for xg_set_icon_from_xpm_data. - - * xfns.c (x_real_positions): int ign => unsigned int. - (xg_set_icon_from_xpm_data): Remove unused variable err. - (x_set_name_internal, Fx_create_frame, xg_set_icon): Add cast - to remove compiler warning. - (compute_tip_xy): Put tip above pointer if it doesn't fit below. - -2005-12-02 David Reitter - - * minibuf.c (Fcompleting_read): If Vminibuffer_completing_file_name is - non-nil, use the new keymaps Vminibuffer_local_filename_completion_map - and Vminibuffer_local_must_match_filename_map keymaps. - (keys_of_minibuf): Bind SPC in the new file-name completion keymaps. - - * keymap.c (Vminibuffer_local_filename_completion_map) - (Vminibuffer_local_must_match_filename_map): New variables. - (syms_of_keymap): DEFVAR_LISP them, initialize them, and set their - parent to be Vminibuffer_local_completion_map and - Vminibuffer_local_must_match_map, respectively. - - * commands.h (Vminibuffer_local_filename_completion_map) - (Vminibuffer_local_must_match_filename_map): Declare the new keymaps. - -2005-12-01 Stefan Monnier - - * window.c (Fset_window_configuration): Don't accidentally copy the - window-point of one window to another. - -2005-11-30 L$,1 q(Brentey K,Aa(Broly - - * buffer.c (Fpop_to_buffer): Remove superfluous call to record_buffer. - -2005-11-30 Kim F. Storm - - * alloc.c: Include fcntl.h. Define O_WRONLY if not defined. - (valid_lisp_object_p) [!GC_MARK_STACK]: Validate pointer by - passing it to `emacs_write'. - -2005-11-29 Ari Roponen (tiny change) - - * atimer.c (stop_other_atimers): Fix loop to correctly compute `prev'. - -2005-11-27 Richard M. Stallman - - * window.c (adjust_window_trailing_edge): New function. - (Fadjust_window_trailing_edge): New function. - (syms_of_window): Defsubr it. - (window_deletion_count): New variable. - (delete_window): Update window_deletion_count. - -2005-11-26 Eli Zaretskii - - * minibuf.c (syms_of_minibuf): Mention the extension of - `completion-auto-help's meaning by complete.el. - -2005-11-26 Henrik Enberg - - * xfaces.c (Finternal_set_lisp_face_attribute_from_resource): - Handle :inherit property as a lisp expression. - -2005-11-24 YAMAMOTO Mitsuharu - - * macterm.c (Qcontrol): Rename from Qctrl. All uses changed. - (syms_of_macterm): Staticpro Qcontrol, Qmeta, Qalt, Qhyper, - Qsuper, and Qmodifier_value. - (Vmac_control_modifier, Vmac_option_modifier) - (Vmac_command_modifier, Vmac_function_modifier) - (Vmac_emulate_three_button_mouse, Vmac_wheel_button_is_mouse_2) - (Vmac_pass_command_to_system, Vmac_pass_control_to_system) - (Vmac_charset_info_alist): Doc fixes. - -2005-11-23 YAMAMOTO Mitsuharu - - * emacs.c (main) [MAC_OSX]: Change working directory to home - directory if `-psn_*' option is specified. - - * mac.c (DECODE_UTF_8): Remove macro. - [TARGET_API_MAC_CARBON] (cfstring_to_lisp_nodecode): New function - created from cfstring_to_lisp. - [TARGET_API_MAC_CARBON] (cfstring_to_lisp): Use it. - (xrm_get_preference_database) [TARGET_API_MAC_CARBON]: Likewise. - - * macterm.h (cfstring_to_lisp_nodecode) [TARGET_API_MAC_CARBON]: - Add prototype. - -2005-11-21 Ken Raeburn - - * keymap.c (shadow_lookup): Use make_number to pass a number to - Fsubstring. - -2005-11-21 Juri Linkov - - * puresize.h (BASE_PURESIZE): Increment to 1180000. - -2005-11-20 Chong Yidong - - * xfaces.c (Finternal_set_lisp_face_attribute): - Use :ignore-defface for new frame defaults when `unspecified' is - supplied. - (Finternal_get_lisp_face_attribute): Hide :ignore-defface. - (merge_face_vectors): Don't do :ignore-defface overwriting here. - (Finternal_merge_in_global_face): Do it here. - -2005-11-20 Juri Linkov - - * charset.c (invalid_character): Use Lisp-readable syntax - for octal and hex. Reorder decimal, octal and hex values. - -2005-11-20 Nick Roberts - - * lisp.h: Use typedef when Lisp_Object is EMACS_INT so that - this type is recognised when debugging. - -2005-11-19 Andreas Schwab - - * .gdbinit (nextcons, xcdr, xfloat): Update for changes in - Lisp_Cons and Lisp_Float. - -2005-11-19 YAMAMOTO Mitsuharu - - * macterm.c [USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): - New variable. - [USE_CG_TEXT_DRAWING] (init_cg_text_anti_aliasing_threshold): New fun. - (init_font_name_table) [USE_ATSUI && USE_CG_TEXT_DRAWING]: Use it. - [USE_CG_TEXT_DRAWING] (mac_draw_string_cg): Don't do antialiasing if - font size is smaller than or equal to cg_text_anti_aliasing_threshold. - -2005-11-17 Chong Yidong - - * image.c (x_create_bitmap_from_xpm_data): Free attributes on fail. - - * xfaces.c (Qignore_defface): New variable. - (syms_of_xfaces): Provide `:ignore-defface'. - (IGNORE_DEFFACE_P): New macro. - (check_lface_attrs, lface_fully_specified_p) - (Finternal_set_lisp_face_attribute) - (Fface_attribute_relative_p, Fmerge_face_attribute): - Handle Qignore_defface as a possible value. - (merge_face_vectors): The merged face is `unspecified' if the - mergee specifies `:ignore-defface'. - -2005-11-16 Stefan Monnier - - * lread.c (readevalloop): Add missing GCPROs. - -2005-11-16 Chong Yidong - - * xfns.c (xg_set_icon_from_xpm_data): New function. - - * gnu.h (gnu_xpm_bits): Rename from gnu_bits. - (gnu_xbm_bits): Rename from gnu_bits (xbm version). - - * xterm.c (x_bitmap_icon): Use the xpm if available. - - * image.c (x_create_bitmap_from_xpm_data): New function. - (x_create_bitmap_from_xpm_data): Initialize XpmAttributes. - -2005-11-15 Luc Teirlinck - - * Makefile.in (lisp, shortlisp): Add rfn-eshadow. - -2005-11-16 Nick Roberts - - * .gdbinit: Make SIGTSTP work like SIGINT normally does. - -2005-11-15 Andreas Schwab - - * lisp.h (struct Lisp_Cons): Make cdr a union. - (XCDR_AS_LVALUE): Adjust. - (struct Lisp_Float): Make data a union. - (XFLOAT_DATA): Adjust. - - * alloc.c (free_float): Make free list chaining aliasing-safe. - (make_float): Likewise. - (free_cons): Likewise. - (Fcons): Likewise. - (check_cons_list): Likewise. - (Fmake_symbol): Likewise. - (allocate_misc): Likewise. - (free_misc): Likewise. - (gc_sweep): Likewise. - -2005-11-15 YAMAMOTO Mitsuharu - - * mac.c (HASHKEY_QUERY_CACHE): New define. - (xrm_create_database, xrm_q_put_resource): Empty query cache. - (xrm_get_resource): Use query cache. - - * image.c (init_image) [MAC_OS]: Don't call EnterMovies if - inhibit_window_system is set. - -2005-11-13 YAMAMOTO Mitsuharu - - * macgui.h (USE_CG_TEXT_DRAWING): New define. - (struct MacFontStruct) [USE_CG_TEXT_DRAWING]: New members cg_font - and cg_glyphs. - - * macterm.c [USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function. - (x_draw_glyph_string_foreground) [USE_CG_TEXT_DRAWING]: Use it. - (XLoadQueryFont) [USE_CG_TEXT_DRAWING]: Set members cg_font and - cg_glyphs in struct MacFontStruct if synthesized bold or italic is - not used and font substitution never occurs for ASCII and Latin-1 - characters. - (XLoadQueryFont): Maximum and minimum metrics are now those among - ASCII characters. - (XLoadQueryFont) [!MAC_OS8 || USE_ATSUI]: Apply WebKit-style - height adjustments for Courier, Helvetica, and Times. - - * s/darwin.h (LIBS_CARBON) [!HAVE_CARBON]: Remove `-framework Carbon'. - -2005-11-11 David Reitter - - * macterm.c (syms_of_macterm): Remove macCtrlKey, macShiftKey, - macMetaKey, macAltKey. Introduce Qctrl, Qmeta, - Vmac_control_modifier / mac-control-modifier, - Vmac_option_modifier / mac-option-modifier, - Vmac_command_modifier / mac-command-modifier. - (mac_to_emacs_modifiers): Use the new style modifier - variables. Return UInt32 (modifiers are longs now.) - (backtranslate_modified_keycode): New function (refactoring). - (XTread_socket): Use new modifier variables and refactored function. - (mac_determine_quit_char_modifiers): Remove macMetaKey (there is - no dedicated meta key. Not in use anyway.) - (convert_fn_keycode): Map Fn-keys to their original keycode - using a table (english keyboard only). - -2005-11-11 Kim F. Storm - - * .gdbinit (pitx): Fix output format if n_overlay_strings > 0. - Add post hook to "backtrace" to always dump lisp call stack to - increase chance of people sending it to us when reporting bugs. - - * doc.c (Fsubstitute_command_keys): Doc fix. - - * dispextern.h (struct it): New member ignore_overlay_strings_at_pos_p. - - * xdisp.c (handle_stop): Skip overlay string handling if - ignore_overlay_strings_at_pos_p is set. - (set_iterator_to_next): At end of display vector, set - ignore_overlay_strings_at_pos_p if dpvec came from an overlay - string, so we skip those overlay strings at current pos. - -2005-11-10 Lars Hansen - - * fileio.c (file-regular-p): Doc fix. - -2005-11-10 Kim F. Storm - - * alloc.c (valid_lisp_object_p): New function to validate that - an object is really a valid Lisp_Object. - - * lisp.h (valid_lisp_object_p): Add prototype. - - * print.c (safe_debug_print): New function to be called from gdb - to print Lisp objects; use valid_lisp_object_p to avoid crashing - if user tries to print something which is not a Lisp object. - - * .gdbinit (pp, pp1): Use safe_debug_print. - (pv, pv1): New commands to print value of a lisp variable. - -2005-11-10 Nick Roberts - - * .gdbinit (pp1): New user-defined function. - -2005-11-09 YAMAMOTO Mitsuharu - - * image.c [MAC_OSX] (image_load_quartz2d): Fix memory leak. - - * mac.c [MAC_OSX] (init_mac_osx_environment): Reinitialize locale - related variables for dumped executable. - - * unexmacosx.c (unexec_write_zero): New function. - (copy_data_segment): Clear uninitialized local variables in - statically linked libraries. - - * s/darwin.h (C_SWITCH_SYSTEM): Remove -fno-common. - -2005-11-09 Juri Linkov - - * keymap.c (shadow_lookup): If Flookup_key returns a number, - call it again with a sub-key-sequence, and if its return value - is non-nil (sub-key is bound), return nil. - -2005-11-08 Kim F. Storm - - * process.c (Fsignal_process): Recognize signal names with and - without SIG prefix, e.g. SIGHUP and HUP. - - * search.c (search_buffer): No need to initialize base_pat. - -2005-11-04 Stefan Monnier - - * window.c (Fget_lru_window, Fget_largest_window, window_loop): - Don't abuse the `mini' arg. Use the `obj' arg instead. - -2005-11-04 Kim F. Storm - - * xdisp.c (show_mouse_face): Clear mouse face to eol. - -2005-11-03 Dan Nicolaescu - - * Makefile.in (lisp, shortlisp): Add emacs-lisp/syntax.elc, - font-lock.elc and jit-lock.elc. - -2005-11-03 Richard M. Stallman - - * window.c (Fenlarge_window): Rename SIDE to HORIZONTAL. - (enlarge_window): Rename WIDTHFLAG to HORIZ_FLAG. - (CURBEG, CURSIZE): Use HORIZ_FLAG instead of WIDTHFLAG. - - * sheap.c (STATIC_HEAP_SIZE): Increment both definitions. - - * alloc.c (refill_memory_reserve): Move decl out of conditionals. - -2005-11-03 Stefan Monnier - - * window.c (Fdisplay_buffer): Fix last change to not use - a dedicated window. - -2005-11-01 Kim F. Storm - - * fringe.c (update_window_fringes): Undo 2005-10-27 change. - Instead, rotate the bottom angle bitmap 180 degrees to indicate - that the bottom row does not end in a newline. - -2005-11-01 Andreas Schwab - - * unexelf.c (unexec): Handle .plt section in BSS segment. - -2005-11-01 Stefan Monnier - - * lread.c (readevalloop): Yet another int/Lisp_Object mixup (YAILOM). - - * window.c (window_loop): For LRU and LARGEST, let the `mini' argument - determine whether to consider dedicated windows as well. - (Fget_lru_window, Fget_largest_window): Add `dedicated' argument. - (Fdisplay_buffer): Do consider dedicated windows in those cases where - we will split the window rather than reuse it. - Don't try to use windows on other displays. - -2005-10-31 Dan Nicolaescu - - * puresize.h (BASE_PURESIZE): Increment to 1170000. - -2005-10-31 Romain Francoise - - * macfns.c: Update copyright year. - * m/gould.h: Likewise. - -2005-10-30 Kim F. Storm - - * xdisp.c (display_line): Restore it->current_x and call - extend_face_to_end_of_line when last glyph doesn't fit on line. - (set_glyph_string_background_width): Remove specific tests here - to see if face background should extend to end of line. Simplify. - -2005-10-30 Richard M. Stallman - - * alloc.c (BYTES_USED): Use uordblks, not arena. - (bytes_used_when_reconsidered): New variable. - (emacs_blocked_free): Set that. - -2005-10-29 Chong Yidong - - * alloc.c (emacs_blocked_free): Fix typo. - -2005-10-29 Richard M. Stallman - - * data.c (Fmake_variable_frame_local): Doc fix. - - * xdisp.c (handle_fontified_prop): Do nothing if memory full. - (format_mode_line_unwind_data): New arg SAVE_PROPTRANS - controls whether to save and restore mode_line_proptrans_alist. - Callers changed. - (unwind_format_mode_line): Work with that feature. - (redisplay_internal): Don't call prepare_menu_bars if memory full. - (move_elt_to_front): New function. - (display_mode_element): Use move_elt_to_front. - Don't bother munging text props on a null string. - Delete obsolete elts from mode_line_proptrans_alist. - (decode_mode_spec): Test Vmemory_full, not spare_memory. - (Fformat_mode_line): Clear mode_line_proptrans_alist after saving. - - * lisp.h (memory_full_cons_threshold): Declare. - (internal_lisp_condition_case): Declare. - - * alloc.c (syms_of_alloc) : Doc fix. - (Fmemory_full_p): Function deleted. - (syms_of_alloc): Don't defsubr it. - (memory_full_cons_threshold): New variable. - (spare_memory): Now a vector of 7 elts. - (buffer_memory_full): Don't set Vmemory_full here. - (xfree): Don't try to refill here. - (emacs_blocked_free): Record BYTES_USED in local var. - (memory_full): Now free all the slots in spare_memory. - (refill_memory_reserve): Allocate each slot in spare_memory. - (init_alloc_once): Call refill_memory_reserve. - - * keyboard.c (command_loop_1): Don't set Vmemory_full here. - - * eval.c (internal_lisp_condition_case): New function. - (Fcondition_case): Use internal_lisp_condition_case. - (Feval): Test Vmemory_full and memory_full_cons_threshold. - (Ffuncall): Likewise. - - * bytecode.c (Fbyte_code): Use internal_lisp_condition_case. - -2005-10-29 Stefan Monnier - - * syntax.c (Fparse_partial_sexp): Fix docstring. - -2005-10-28 Romain Francoise - - * puresize.h (BASE_PURESIZE): Increment to 1130000. - -2005-10-28 Richard M. Stallman - - * xfns.c (syms_of_xfns): Provide `x' as feature. - - * xdisp.c (decode_mode_spec): Define %e to indicate memory full. - - * editfns.c (Fformat): Don't include string padding - between info[n].start and info[n].end. - - * alloc.c (spare_memory): No longer static. - (xfree) [!SYSTEM_MALLOC]: Call refill_memory_reserve. - - * puresize.h (BASE_PURESIZE): Increment to 1120000. - -2005-10-27 Chong Yidong - - * data.c (Fmake_variable_frame_local): Add clarification to docstring. - - * fringe.c (update_window_fringes): Handle case where buffer ends - with a newline. - -2005-10-27 Kenichi Handa - - * coding.h (DECODE_SYSTEM): Fix argument name; name->str. - -2005-10-24 Kenichi Handa - - * charset.h (charset_mule_unicode_0100_24ff) - (charset_mule_unicode_2500_33ff, charset_mule_unicode_e000_ffff): - Extern them. - - * charset.c (charset_mule_unicode_0100_24ff) - (charset_mule_unicode_2500_33ff, charset_mule_unicode_e000_ffff): - New variables. - (Fsetup_special_charsets): Initialize them. - - * xterm.c (handle_one_xevent): Handle keysyms directly mapped to - supported Unicode characters. - -2005-10-25 Jason Rumney - - * w32fns.c (w32_to_x_font): Avoid forcing font widths. - -2005-10-25 YAMAMOTO Mitsuharu - - * image.c [MAC_OS] (image_load_qt_1): Check image size. - Use GraphicsImportGetImageDescription instead of - GraphicsImportGetNaturalBounds. - [MAC_OSX] (image_load_quartz2d): Check image size. - [MAC_OS] (xpm_load_image): Likewise. - - * macterm.c (last_mouse_glyph_frame): New var. - (note_mouse_movement): Say mouse moved if current frame differs - from last_mouse_glyph_frame, and update last_mouse_glyph_frame. - (XTmouse_position): Set last_mouse_glyph_frame. - (XTread_socket): Clear last_mouse_glyph_frame on mouse up/down event. - (mac_draw_string_common) [USE_ATSUI && WORDS_BIG_ENDIAN]: Fix typo. - Use EndianU16_BtoN. - (mac_draw_string_common) [MAC_OSX]: Don't use ATSUClearLayoutControls. - (x_per_char_metric, XLoadQueryFont) - [MAC_OS_X_VERSION_MAX_ALLOWED < 1020]: Use device origins to get - glyph bounds. - (mac_to_x_fontname, mac_do_list_fonts) - (mac_initialize_display_info): Change screen resolutions to 72dpi. - -2005-10-25 Masatake YAMATO - - * minibuf.c (Fdisplay_completion_list): Small doc fix. - -2005-10-24 Kim F. Storm - - * xterm.c: Undo 2005-10-23 change. - (last_mouse_glyph_frame): New var. - (note_mouse_movement): Say mouse moved if current frame differs - from last_mouse_glyph_frame, and update last_mouse_glyph_frame. - (XTmouse_position): Set last_mouse_glyph_frame. - (handle_one_xevent): Clear last_mouse_glyph_frame [instead of - last_mouse_glyph] on mouse up/down event. - - * editfns.c (Fcompare_buffer_substrings): Fix last change. - -2005-10-23 Stefan Monnier - - * editfns.c (Fcompare_buffer_substrings): Handle multibyte chars. - -2005-10-23 Jan Dj,Ad(Brv - - * xterm.c (note_mouse_movement): Always call note_mouse_highlight - so tool tips don't interfere with press on tool bar button. - -2005-10-23 Richard M. Stallman - - * casetab.c (Fset_case_table): Doc fix. - - * lread.c (build_load_history): Replace STREAM arg with ENTIRE. - (readevalloop): Compute ENTIRE properly. - (syms_of_lread) : Doc fix. - -2005-10-21 Richard M. Stallman - - * lread.c (Fload): Simplify gcpro structure. - Gcpro FOUND as well as FILE, but not EFOUND. - Unless preloading, record FOUND instead of FILE in Vload_history. - Rename repeat local FILE to MSG_FILE. - (syms_of_lread) : Doc fix. - -2005-10-21 Kenichi Handa - - * search.c (boyer_moore): Add parens to fix and/or precedence bug. - -2005-10-20 Kim F. Storm - - * buffer.c (clone_per_buffer_values): Remove unused var tem. - (init_buffer): Remove unused vars dotstat, pwdstat. - - * ccl.c (check_ccl_update): Remove unused var vp. - - * fileio.c (auto_save_error): Call SAFE_FREE. - - * fns.c (Fchar_table_range): Remove unused var i. - - * minibuf.c (display_completion_list_1): New wrapper function - for Fdisplay_completion_list. - (Fminibuffer_completion_help): Use it. - - * term.c (encode_terminal_code): Remove unused var src_start. - - * window.c (Fwindow_tree): Remove unused var alist. - - * xterm.c (x_calc_absolute_position): Remove unused vars win_x, win_y. - -2005-10-20 Aubrey Jaffer (tiny change) - - * unexelf.c (unexec): Fix calls to `fatal' with less than 3 arguments. - -2005-10-20 Olli Savia (tiny change) - - * syssignal.h [__Lynx__]: Undef SIGPOLL along with SIGIO. - -2005-10-20 Andreas Schwab - - * minibuf.c (Fdisplay_completion_list): Doc fix. - -2005-10-19 Kim F. Storm - - * image.c (check_image_size): Handle integer Vmax_image_size value - directly as max pixel value. Use default frame size for null frame. - (syms_of_image) : Describe integer value. - -2005-10-19 Romain Francoise - - * emacs.c (main): Update copyright year. - -2005-10-18 Chong Yidong - - * image.c (Vmax_image_size): New variable. - (check_image_size): New function. - (xbm_read_bitmap_data, pbm_load, png_load, jpeg_load, tiff_load) - (gif_load, gs_load): Use it. - (lookup_image): Try loading again if previous load failed. - (xbm_read_bitmap_data): Add a new argument, a pointer to the frame - to display in, NULL if none. - (xbm_load_image, xbm_file_p): Pass xbm_read_bitmap_data the new - argument. - -2005-10-18 Richard M. Stallman - - * search.c (Fstring_match): Doc fix. - -2005-10-18 YAMAMOTO Mitsuharu - - * macterm.c (note_mouse_movement): Use PtInRect. - (XTread_socket): Also ignore mouse motion just before a button - release event. Don't process button release event when mouse is - not grabbed. - -2005-10-16 Masatake YAMATO - - * minibuf.c (Fdisplay_completion_list): Add new optional - argument COMMON_SUBSTRING. Bind `completion-common-substring' - to the optional argument during running `completion-setup-hook'. - -2005-10-16 YAMAMOTO Mitsuharu - - * mac.c [TARGET_API_MAC_CARBON] (get_cfstring_encoding_from_lisp): - Allow nil as argument. - [TARGET_API_MAC_CARBON] (Fmac_code_convert_string): Regard nil - for encoding arguments as UTF-16 in native byte order, no BOM. - - * macfns.c (Fx_create_frame): Add debugging code. - (Fx_show_tip): Set frame pixel width and height. - - * macterm.c (MAC_WINDOW_NORMAL_GC): Remove macro. - (FRAME_NORMAL_GC): New macro. - (mac_draw_line, mac_clear_area, mac_clear_window) - (mac_fill_rectangle, mac_draw_string, mac_draw_string_16) - (mac_draw_image_string, mac_draw_image_string_16): Rename from - XDrawLine, XClearArea, XClearWindow, XFillRectangle, XDrawString, - XDrawString16, XDrawImageString, and XDrawImageString16, respectively. - All uses changed. - (mac_draw_line, mac_erase_rectangle, mac_clear_area) - (mac_clear_window, mac_draw_bitmap, mac_draw_rectangle) - (mac_invert_rectangle, mac_draw_string_common, mac_draw_string) - (mac_draw_string_16, mac_draw_image_string) - (mac_draw_image_string_16, mac_copy_area, mac_copy_area_with_mask) - (mac_scroll_area): Drawing functions now take frame as destination. - All uses changed. - (mac_draw_string_common): Get port height with FRAME_PIXEL_HEIGHT. - (x_draw_fringe_bitmap): Set clipping area in face->gc. - - * macterm.h (mac_clear_area): Add extern. - -2005-10-14 YAMAMOTO Mitsuharu - - * macterm.c (note_mouse_movement, XTread_socket): Apply 2005-10-14 - changes for xterm.c. - - * w32term.c (note_mouse_movement, w32_read_socket): Likewise. - -2005-10-14 Kenichi Handa - - * search.c (search_buffer): Give up BM search on case-fold-search - if one of a target character has a case-equivalence of different - charset even if that target charcter is an ASCII. - - * casefiddle.c (casify_object): Fix for the case that case - conversion change the byte length. - -2005-10-14 Kim F. Storm - - * xterm.c (note_mouse_movement): Return 1 if mouse moved; 0 otherwise. - (handle_one_xevent): Only clear help_echo_string; restore it if - note_mouse_movement didn't record any mouse movement. - - * xdisp.c (pos_visible_p): Convert w->hscroll to pixels before use. - (remember_mouse_glyph): Clear RECT if mouse is over an image glyph. - - * keyboard.c (make_lispy_position): Adjust wx for left margin if - ON_TEXT. - (Fposn_at_x_y): Fix calculation of x coordinate. - (Fposn_at_point): Return nil if point is hscrolled out of view. - -2005-10-13 Andreas Schwab - - * sysdep.c (request_sigio, unrequest_sigio): Do nothing in - non-interactive mode. - -2005-10-12 YAMAMOTO Mitsuharu - - * xterm.c, w32term.c, macterm.c (note_mouse_movement): Undo last change. - -2005-10-12 Kim F. Storm - - * xterm.c (handle_one_xevent): Clear last_mouse_glyph on mouse up/down. - -2005-10-12 Romain Francoise - - * buffer.c (init_buffer): Rename `rc' to `len' for clarity. - -2005-10-12 YAMAMOTO Mitsuharu - - * xdisp.c (remember_mouse_glyph): Use MATRIX_BOTTOM_TEXT_ROW to - get end of text rows. Obtain header-line/mode-line rows directly. - - * xterm.c, w32term.c, macterm.c (note_mouse_movement): - Restore help_echo_string if mouse is moved inside last_mouse_glyph. - -2005-10-12 Kim F. Storm - - * xdisp.c (remember_mouse_glyph): New generic version based on - glyph_rect and remember_mouse_glyph from xterm.c enhanced to - properly handle all different window areas. - - * dispextern.h (remember_mouse_glyph): Add prototype. - - * xterm.c (glyph_rect, remember_mouse_glyph): Remove X versions. - (note_mouse_movement, XTmouse_position): Use generic - remember_mouse_glyph, add last_mouse_glyph arg. - - * w32term.c (note_mouse_movement): Fix last_mouse_glyph check. - (glyph_rect, remember_mouse_glyph): Remove w32 specific versions. - (note_mouse_movement, w32_mouse_position): Use generic - remember_mouse_glyph, add last_mouse_glyph arg. - - * macterm.c (note_mouse_movement): Add call to remember_mouse_glyph. - (glyph_rect, remember_mouse_glyph): Remove mac specific versions. - (XTmouse_position): Adapt to use generic remember_mouse_glyph - instead of pixel_to_glyph_coords. - - * window.c (coordinates_in_window): Fix x position for ON_RIGHT_MARGIN. - Fix x position for ON_TEXT when left margin width > 0. - -2005-10-11 Kim F. Storm - - * window.c (coordinates_in_window): Fix y position for ON_SCROLL_BAR. - - * keyboard.c (make_lispy_position): Fix buffer calculations for - mouse click or movement in right fringe and the margins. - -2005-10-11 Juanma Barranquero - - * image.c (fn_jpeg_stdio_src): Don't define it. - (init_jpeg_functions): Don't initialize `fn_jpeg_stdio_src'. - (our_common_init_source): Rename from `our_init_source'. - (our_common_term_source): Rename from `our_term_source'. - (our_memory_fill_input_buffer): Rename from - `our_fill_input_buffer'. - (our_memory_skip_input_data): Rename from `our_skip_input_data'. - (jpeg_memory_src): Use the new names. - (struct jpeg_stdio_mgr): New struct. - (JPEG_STDIO_BUFFER_SIZE): New constant. - (our_stdio_fill_input_buffer, our_stdio_skip_input_data) - (jpeg_file_src): New functions. - (jpeg_load): Use `jpeg_file_src' instead of `fn_jpeg_stdio_src'. - -2005-10-11 YAMAMOTO Mitsuharu - - * macterm.c (PER_CHAR_METRIC): Remove unused macro. - (fm_font_family_alist): New variable. - (syms_of_macterm): Initialize and staticpro it. - (decode_mac_font_name): Replace '-' in family name with '_' if it - occurs just once. Lower family name. - (parse_x_font_name): Rename from x_font_name_to_mac_font_name. - All uses changed. Remove argument MF and code conversion for it. - Add argument SIZE. Rename argument MF_DECODED to FAMILY, and CS - to CHARSET. Parse font size. Lower family name. Return integer - value for status of parsing. - (init_font_name_table) [USE_ATSUI]: Use decode_mac_font_name. - Don't use Fdowncase because family name is already lowered by - decode_mac_font_name. - (init_font_name_table): Always call decode_mac_font_name. - Add pair of family name and its reference to fm_font_family_alist. - (mac_clear_font_name_table): Clear fm_font_family_alist. - (XLoadQueryFont): Move font size parsing part to parse_x_font_name. - Lookup fm_font_family_alist to get font family reference. - (XLoadQueryFont) [USE_ATSUI]: Don't use Fdowncase because family - name is already lowered by parse_x_font_name. - -2005-10-11 Kim F. Storm - - * xterm.c (glyph_rect): Return 0 if position is outside text area. - - * keyboard.c (make_lispy_position): Fix buffer position calculation for - mouse click or movement in fringe. - -2005-10-10 Jason Rumney - - * xterm.c (remember_mouse_glyph): New function. - (note_mouse_movement): Use it to remember the current glyph if changed. - (XTmouse_position): Fix calculation of fake glyph under mouse. - Move code to calculate glyph under mouse into remember_mouse_glyph. - -2005-10-10 Jan Dj,Ad(Brv - - * emacs.c (USAGE3, standard_args): -nb => -nbi. - -2005-10-10 Juanma Barranquero - - * frame.c (Fredirect_frame_focus): Fix typos in docstring. - (next_frame, prev_frame, set_term_frame_name): Make static. - - * window.c (Fwindow_tree): Fix spelling. - -2005-10-09 Romain Francoise - - * window.c (Fwindow_end): Don't try to redisplay if non-interactive. - -2005-10-09 Jan Dj,Ad(Brv - - * emacs.c (standard_args): Remove options -i, -itype, --icon-type. - Add options -nb, --no-bitmap-icon. - - * xfns.c (Fx_create_frame): Make bitmapIcon have default on. - -2005-10-08 YAMAMOTO Mitsuharu - - * macgui.h (MAX_CLIP_RECTS): New define. - (struct _XGC): New member clip_region. - (struct _XGC) [MAC_OSX && USE_ATSUI]: New members n_clip_rects and - clip_rects. - - * macterm.c (GC_CLIP_REGION): New macro. - (saved_port_clip_region): New variable. - (mac_begin_clip, mac_end_clip): New functions. - (XDrawLine, mac_erase_rectangle, mac_draw_bitmap, XFillRectangle) - (mac_draw_rectangle, mac_draw_string_common, mac_copy_area) - (mac_copy_area_with_mask, mac_scroll_area): Use them. - (mac_set_clip_rectangle, mac_reset_clipping): Remove functions. - [USE_ATSUI] (atsu_get_text_layout_with_text_ptr) - [MAC_OS_X_VERSION_MAX_ALLOWED < 1020]: Specify kATSLineFractDisable. - (mac_draw_string_common) [MAC_OSX && USE_ATSUI]: Clip to clipping - rectangles stored in gc. - (XFreeGC): Dispose of clipping region. - (mac_set_clip_rectangles, mac_reset_clip_rectangles): New functions. - (x_draw_fringe_bitmap, x_set_glyph_string_clipping) - (x_draw_relief_rect, x_draw_box_rect, x_draw_stretch_glyph_string) - (x_draw_glyph_string, x_clip_to_row, x_draw_hollow_cursor) - (x_draw_bar_cursor): Use them. - (x_set_glyph_string_clipping): Use get_glyph_string_clip_rects to - get multiple clipping rectangles. - - * macterm.h (mac_term_init): Add types to extern. - (struct mac_output): Remove members mWP and pending_menu_activation. - Put members scroll_bar_foreground_pixel and - scroll_bar_background_pixel in #if 0. - (FRAME_MAC_WINDOW, FRAME_X_WINDOW): Use window_desc. - - * xfaces.c (x_create_gc, x_free_gc) [MAC_OS]: Add BLOCK_INPUT. - Add debugging code. - -2005-10-08 Kim F. Storm - - * window.c (window_tree, Fwindow_tree): Rename fns added 2005-10-04. - -2005-10-07 Kim F. Storm - - * dispnew.c (redraw_overlapped_rows, redraw_overlapping_rows) - [!HAVE_WINDOW_SYSTEM]: Don't declare them... - (update_window) [!HAVE_WINDOW_SYSTEM]: ...and don't call them. - -2005-10-07 YAMAMOTO Mitsuharu - - * dispextern.h (struct glyph_string): Rename member for_overlaps_p - to for_overlaps. Now occupy 3 bits. - (OVERLAPS_PRED, OVERLAPS_SUCC, OVERLAPS_BOTH) - (OVERLAPS_ERASED_CURSOR): New defines. - (struct redisplay_interface): Add new OVERLAPS arg to member - fix_overlapping_area. - (x_fix_overlapping_area): Add new OVERLAPS arg. - (get_glyph_string_clip_rects): Add extern. - - * dispnew.c (redraw_overlapping_rows): - Call rif->fix_overlapping_area with new OVERLAPS arg as redrawn part. - - * xdisp.c: Rename member for_overlaps_p in struct glyph_string to - for_overlaps. - (get_glyph_string_clip_rects): New function created from - get_glyph_string_clip_rect. Set clipping rectangles according to the - value of for_overlaps. Enable to store multiple clipping rectangles. - (get_glyph_string_clip_rect): Use get_glyph_string_clip_rects. - (fill_composite_glyph_string, fill_glyph_string, draw_glyphs): - Rename argument OVERLAPS_P to OVERLAPS. All uses in macros changed. - (x_fix_overlapping_area): Add OVERLAPS arg. Pass it to draw_glyphs. - (draw_phys_cursor_glyph): Set width of erased cursor to use it for - calculating clipping rectangles later. Call x_fix_overlapping_area - with new OVERLAPS arg to draw only erased cursor area. - (expose_overlaps): Call x_fix_overlapping_area with new OVERLAPS arg - to draw overlaps in both preceding and succeeding rows. - - * xterm.c, w32term.c, macterm.c: Rename member for_overlaps_p in - struct glyph_string to for_overlaps. - -2005-10-04 Richard M. Stallman - - * alloc.c (refill_memory_reserve): Conditionalize the body, - not the function's existence. - -2005-10-04 Kim F. Storm - - * window.c (window_split_tree): New function. - (Fwindow_split_tree): New defun. - (syms_of_window): Defsubr it. - -2005-10-04 YAMAMOTO Mitsuharu - - * macterm.c (mac_invert_rectangle): New function. - (XTflash): Use it. - -2005-10-04 Stefan Monnier - - * regex.h (re_char): Don't expose it in the interface. - (re_set_whitespace_regexp): Adjust the arg's type to not use it. - - * regex.c (re_char): Move it back here. - (re_set_whitespace_regexp): Change the arg's type to not use it. - - * keyboard.c (make_lispy_event): If point has moved between down and up - event, make it a drag, not a click, to mirror what - mouse-drag-region expects. - -2005-10-02 Dan Nicolaescu - - * lisp.h (fatal): Undo previous change. - * term.c (fatal): Undo previous change. - -2005-10-01 Richard M. Stallman - - * xfaces.c (face_color_gray_p): Colors close to black count as gray. - -2005-10-01 Kim F. Storm - - * xdisp.c (try_window): Skip scroll-margin check if ZV is visible. - -2005-10-01 YAMAMOTO Mitsuharu - - * keyboard.c (init_keyboard) [MAC_OSX]: Don't install SIGINT handler. - - * macfns.c (start_hourglass): Apply 2005-05-07 change for xfns.c. - (x_create_tip_frame) [GLYPH_DEBUG]: Uncomment debugging code. - (Fx_create_frame, x_create_tip_frame) [USE_ATSUI]: - Try ATSUI-compatible 12pt Monaco font first. - - * macgui.h (struct _XCharStruct): New member valid_p. - (STORE_XCHARSTRUCT): Set valid_p. - (struct MacFontStruct) [USE_ATSUI]: New member mac_style. - - * macterm.c (mac_draw_string_common, x_per_char_metric) - (mac_compute_glyph_string_overhangs, init_font_name_table) - (XLoadQueryFont, mac_unload_font) [USE_ATSUI]: Add ATSUI support. - (atsu_get_text_layout_with_text_ptr) [USE_ATSUI]: New function. - (x_draw_glyph_string_background) - (x_draw_glyph_string_foreground) [MAC_OS8 && USE_ATSUI]: Don't use - XDrawImageString. Always draw background and foreground separately. - (x_draw_glyph_string_foreground) [USE_ATSUI]: Don't use 8-bit - functions for one-byte chars when using ATSUI-compatible fonts. - (atsu_font_id_hash) [USE_ATSUI]: New variable. - (syms_of_macterm) [USE_ATSUI]: Initialize and staticpro it. - (XLoadQueryFont): Set min_byte1, max_byte1, min_char_or_byte2, and - max_char_or_byte2 more in detail. - (quit_char_comp, mac_check_for_quit_char) [MAC_OSX]: Remove functions. - -2005-09-30 Dan Nicolaescu - - * image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct type. - * xterm.c (handle_one_xevent, handle_one_xevent): Likewise. - - * unexelf.c (fatal): Fix prototype. - - * term.c (fatal): Implement using varargs. - - * regex.c (re_char): Move typedef ... - * regex.h (re_char): ... here. - (re_iswctype, re_wctype, re_set_whitespace_regexp): New prototypes. - - * emacs.c (malloc_set_state): Fix return type. - (endif): Fix type. - - * lisp.h (fatal): Add argument types. - - * dispextern.h (fatal): Delete prototype. - - * systime.h (make_time): Prototype moved from ... - * editfns.c (make_time): ... here. - - * editfns.c: Move systime.h include after lisp.h. - * dired.c: - * xsmfns.c: - * process.c: Likewise. - - * alloc.c (old_malloc_hook, old_realloc_hook, old_realloc_hook): - Add parameter types. - (__malloc_hook, __realloc_hook, __free_hook): Fix prototypes. - (emacs_blocked_free): Change definition to match __free_hook. - (emacs_blocked_malloc): Change definition to match __malloc_hook. - (emacs_blocked_realloc): Change definition to match __realloc_hook. - -2005-09-30 Romain Francoise - - * minibuf.c (Fread_buffer): Follow convention for reading from the - minibuffer with a default value. Doc fix. - -2005-09-29 Juri Linkov - - * editfns.c (Fmessage, Fmessage_box, Fmessage_or_box): - Rename argument name `string' to `format-string'. - (Fformat): Doc fix. - -2005-09-28 Kim F. Storm - - * image.c (gif_load): Fix size of allocated image buffer - for images where a sub-image may be larger than the image's - total height/width specifications. - -2005-09-28 YAMAMOTO Mitsuharu - - * macgui.h (struct _XCharStruct): Each member now takes short value. - -2005-09-27 Dan Nicolaescu - - * xfaces.c (lookup_derived_face): Add parameter type. - - * xdisp.c (cursor_row_fully_visible_p): Add parameter type. - - * marker.c (verify_bytepos): Add parameter type. - - * process.c (get_operating_system_release): Move prototype ... - - * systime.h (get_operating_system_release): ... here. - - * xterm.c (handle_one_xevent): Refer to union field to match the - type required by the function definition. - (set_vertical_scroll_bar): Move prototype ... - - * xterm.h: ... here. - - * fns.c (internal_equal, seed_random): Fix prototypes. - (internal_equal): Add missing parameter. - -2005-09-25 Richard M. Stallman - - * keyboard.c (update_menu_bindings): Variable deleted. - (syms_of_keyboard): Don't defvar it. - (parse_menu_item): Don't test it. - -2005-09-23 Richard M. Stallman - - * editfns.c (Fformat): Explicitly test for end of format string - and don't use `index'. - -2005-09-23 Dan Nicolaescu - - * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): - Define BROKEN_GET_CURRENT_DIR_NAME. - - * sysdep.c (get_current_dir_name): Also define if - BROKEN_GET_CURRENT_DIR_NAME. - - * m/ibmrs6000.h: Test for USG5, not USG5_4. - -2005-09-22 Kim F. Storm - - * xdisp.c (message_dolog): Add warning about GC and Lisp strings. - (message2): Fix commentary. Ok to use alloca'ed memory. - Still not ok to use Lisp string data (because of GC). - (set_message): Add comment why GC cannot happen. - -2005-09-22 YAMAMOTO Mitsuharu - - * macterm.c (xlfdpat_block_match_1): Fix assertion. - (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't add style - variants for a scalable font multiple times. - -2005-09-21 YAMAMOTO Mitsuharu - - * process.c (create_process) [RTU || UNIPLUS || DONT_REOPEN_PTY]: - Setup slave tty options before forking. - -2005-09-20 Jan Dj,Ad(Brv - - * gtkutil.c (xg_set_geometry): Do a gtk_window_move if program - positions have been set for the frame (as is done for frames in - special-display-buffer-names). - -2005-09-19 Kim F. Storm - - * editfns.c (Fformat): Don't scan past end of format string that - ends in %. Reported by Johan Bockg,Ae(Brd. - -2005-09-18 Andreas Schwab - - * window.h (struct window): Remove height_fixed_p, no longer set. - - * window.c (make_window): Don't initialize height_fixed_p. - (window_fixed_size_p): Don't use it. - -2005-09-18 John Paul Wallington - - * data.c (Fdefalias): Signal an error if SYMBOL is not a symbol. - -2005-09-18 YAMAMOTO Mitsuharu - - * Makefile.in (SOME_MACHINE_OBJECTS): Undo previous change. - - * macfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: - New variables. - [TARGET_API_MAC_CARBON] (Fx_file_dialog): Don't allow multiple - file selection. - - * sysdep.c [MAC_OS8]: Don't include stdlib.h. Include sys/param.h. - -2005-09-17 Eli Zaretskii - - * Makefile.in (XMENU_OBJ) [!HAVE_CARBON]: Reinstate variable. - (obj): Use XMENU_OBJ, not a literal xmenu.o. - -2005-09-16 Romain Francoise - - * fileio.c (syms_of_fileio) : Doc fix. - -2005-09-15 Richard M. Stallman - - * xdisp.c (overlay_arrow_at_row): Add HAVE_WINDOW_SYSTEM conditional. - (display_mode_element): Instead of `lisp_string' and `this', - record `offset' and increment that. - `last_offset' replaces `last'. - - * Makefile.in (XMENU_OBJ): Variable deleted. - (obj): Use xmenu.o unconditionally. - (SOME_MACHINE_OBJECTS): Delete xmenu.o. - - * emacs.c (main): Don't conditionalize syms_of_xmenu on HAVE_XMENU. - -2005-09-15 Kim F. Storm - - * xdisp.c (move_it_vertically): Don't try to fetch byte BEGV-1. - (reseat_at_next_visible_line_start): Likewise (in xassert). - -2005-09-14 Romain Francoise - - * fileio.c (write_region_inhibit_fsync): New variable. - (Fwrite_region): Use it to skip call to fsync. - (syms_of_fileio): Initialize it. - -2005-09-14 Kenichi Handa - - * coding.c (code_convert_region_unwind): Argument format changed. - (run_pre_post_conversion_on_str): If pre-write-conversion function - changed the current buffer, delete the new buffer. - (run_pre_write_conversin_on_c_str): Likewise. - - * fileio.c (Fexpand_file_name): Check multibyteness of - default_directory. - -2005-09-13 Kenichi Handa - - * composite.c (compose_chars_in_text): Delete it. - - * composite.h (compose_chars_in_text): Delete extern. - -2005-09-13 Kim F. Storm - - * print.c (print_error_message): Fix last change. - -2005-09-12 Kim F. Storm - - * composite.c (compose_chars_in_text): Fix setup of `pend'. - Unconditionally reload `ptr' and `pend' after eval. - - * xdisp.c (message3): Pass copy of lisp string to message_dolog. - - * print.c (print_error_message): Pass copy of caller name to - message_dolog. - - * fileio.c (auto_save_error): Pass copy of lisp string to message2. - -2005-09-12 Kenichi Handa - - * xdisp.c (display_mode_element): Be sure to make variables THIS - and LISP_STRING point into a string data of ELT. - -2005-09-12 Kim F. Storm - - * editfns.c (Ftranslate_region_internal): Reload `tt' after - signal_after_change that may have GC'ed. - (Fmessage, Fmessage_box, Fmessage_or_box): Doc fix. - - * keymap.c (Fdescribe_buffer_bindings): Reload `translate' - after insert while runs signal_after_change. - - * minibuf.c (Fminibuffer_complete_word): Move `completion_string' - declaration to where it is used. - - * w32.c (check_windows_init_file): Fix allocation of error buffer. - - * xfns.c (x_encode_text): Declare static. Add FREEP arg. - (x_set_name_internal): Call x_encode_text with new FREEP arg to - know if xfree is needed instead of guessing. - - * xterm.h (x_encode_text): Remove prototype. - -2005-09-11 Chris Prince (tiny change) - - * w32term.c (x_bitmap_icon): Load small icons too. - -2005-09-10 Romain Francoise - - * buffer.c (init_buffer): Grow buffer to add directory separator - and terminal zero. Fix typos. - -2005-09-10 Eli Zaretskii - - * buffer.c (init_buffer): Fix error message for failed call to - get_current_dir_name. - (get_current_dir_name): Remove prototype. - - * xsmfns.c (get_current_dir_name): Remove prototype. - - * lisp.h (get_current_dir_name) [!HAVE_GET_CURRENT_DIR_NAME]: - Add prototype. - - * sysdep.c [WINDOWSNT]: Add prototype for getwd. - Don't #undef NULL after including blockinput.h. - - * config.in: Regenerated. - -2005-09-10 Giuseppe Scrivano - - Remove the MAXPATHLEN limitations: - - * sysdep.c (get_current_dir_name) [!HAVE_GET_CURRENT_DIR_NAME]: - New function. - - * buffer.c (init_buffer): Use it. - - * xsmfns.c (smc_save_yourself_CB): Ditto. - -2005-09-09 Kim F. Storm - - * doc.c (Fsubstitute_command_keys): Lookup key binding for - commands that are remapped from some other command. - - * xdisp.c (try_window_reusing_current_matrix): Clear mode_line_p - flag in disabled rows below the window. - - * frame.h (struct frame): New member updated_p. - - * xdisp.c (redisplay_internal): Mark updated frames in new updated_p - member. Remove local `updated' array and associated variables. - -2005-09-07 Kim F. Storm - - * xdisp.c (handle_display_prop): Respect overlay window property. - - * xdisp.c (try_window): Remove superfluous cursor_height calculation. - Fixes crash reported by YAMAMOTO Mitsuharu. - -2005-09-06 YAMAMOTO Mitsuharu - - * macterm.c (struct xlfdpat_block, struct xlfdpat): New structs. - (xlfdpat_destroy, xlfdpat_create, xlfdpat_exact_p) - (xlfdpat_block_match_1, xlfdpat_match): New functions. - (xlfdpat_block_match): New macro. - (mac_to_x_fontname): Don't use tolower for non-ASCII characters. - (x_font_name_to_mac_font_name): Set coding.dst_multibyte to 0. - (add_font_name_table_entry): Increase font_name_table_size more - rapidly. - (mac_c_string_match): Remove function. - (mac_do_list_fonts): Use XLFD pattern match instead of regular - expression match. - - * xfaces.c (xstrlwr): Don't use tolower for non-ASCII characters. - -2005-09-03 Richard M. Stallman - - * xdisp.c (redisplay_internal): Make UPDATED as long as needed. - (move_it_in_display_line_to): Stop after last char on line even - on a windowing terminal, if that's the specified stop position. - - * fns.c (Fsort): Doc fix. - - * editfns.c (Fpropertize): Don't insist that properties be symbols. - -2005-09-02 Stefan Monnier - - * dired.c (directory_files_internal_unwind, directory_files_internal) - (file_name_completion): Use a Save_Value object rather than a cons of - two 16bit ints to store the DIR*. - (directory_files_internal, file_name_completion): Handle both EINTR and - EAGAIN consistently after `readdir'. - -2005-09-01 Stefan Monnier - - * intervals.c (update_interval): Add position info in error. - - * dispnew.c (window_to_frame_hpos, update_window): - Avoid gcc warning about unused variable `f'. - -2005-08-31 Jason Rumney - - * w32menu.c (add_menu_item): If unicode_append_menu returns an - error, revert to using AppendMenu. - -2005-08-31 YAMAMOTO Mitsuharu - - * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN): Remove argument. - All uses changed. - [MAC_OS] (XPutPixel, XGetPixel): Add efficient versions for common - cases. - (x_create_x_image_and_pixmap) [MAC_OS]: Don't call x_destroy_x_image. - [MAC_OS] (find_image_fsspec) [!MAC_OSX]: Don't use FSRef. - Use posix_pathname_to_fsspec. - [MAC_OS] (xpm_load_image): Fill in background_transparent field - while we have mask. - - * macgui.h [!TARGET_API_MAC_CARBON] (GetPixDepth): New define. - - * macterm.h (PIX_MASK_DRAW, PIX_MASK_RETAIN): Move defines to image.c. - -2005-08-29 Stefan Monnier - - * syntax.c (update_syntax_table): Properly reproduce the special +1 - setting of e_property at the end of the buffer when bumping into the - INTERVALS_AT_ONCE limit. - -2005-08-27 Eli Zaretskii - - * emacs.c (USAGE1): Fix the description of the -Q option. - -2005-08-26 Stefan Monnier - - * xdisp.c (pos_visible_p): Yet another int/Lisp_Object mixup (YAILOM). - -2005-08-26 Kim F. Storm - - * xdisp.c (resize_mini_window): Fix 2005-08-20 change. - Don't move PT to new window start. - -2005-08-25 YAMAMOTO Mitsuharu - - * keyboard.c (kbd_buffer_get_event) [MAC_OS]: Make events for - ICONIFY/DEICONIFY_EVENT. - - * macterm.c (mac_copy_area, mac_copy_area_with_mask): - Restore background color. - (mac_handle_visibility_change): New function. - (x_make_frame_invisible, x_iconify_frame) - (XTread_socket) [!USE_CARBON_EVENTS]: Use it. - [USE_CARBON_EVENTS] (mac_handle_window_event) - (install_window_handler): Handle visibility change events. - (x_make_frame_visible): Don't reposition window if it is iconified - or asked for visible before. Select and uncollapse window when it - is made visible. - (x_make_frame_invisible): Don't reset x_highlight_frame. - (x_iconify_frame): Likewise. Make invisible frame visible before - it is iconified. - (read_socket_inev): Move variable outside #if USE_CARBON_EVENTS. - (do_window_update): Don't change visibility of invisible frame. - -2005-08-22 Juri Linkov - - * term.c (turn_on_face): Check for TS_set_foreground and - TS_set_background depending on standout_mode. Simplify. - -2005-08-21 Kim F. Storm - - * fringe.c (update_window_fringes): Only put TOP and BOTTOM - bitmaps on fully visible rows. - - * fringe.c (update_window_fringes): Replace FORCE_P arg with - KEEP_CURRENT_P arg; if non-zero, don't update current row fringes, - and return 0. - - * xdisp.c (redisplay_window): Call update_window_fringes with - KEEP_CURRENT_P non-0 if we are going to refresh fringes later. - -2005-08-20 Richard M. Stallman - - * xdisp.c (display_echo_area_1): Get display start pos from w->start. - (resize_mini_window): Set w->start, and PT, so as to display the tail - end of the buffer, if it doesn't all fit. - -2005-08-18 Kim F. Storm - - * xdisp.c (calc_pixel_width_or_height): Use actual display - resolution when available instead of Vdisplay_pixels_per_inch. - -2005-08-17 Kim F. Storm - - * xdisp.c (pos_visible_p): Adjust X value if window is hscrolled. - - * dispnew.c (buffer_posn_from_coords): Check that target row is - within matrix. - -2005-08-16 Jan Dj,Ad(Brv - - * xterm.c (x_wm_set_icon_pixmap): Move GTK specific code to - xg_set_frame_icon and call it. - - * gtkutil.c (xg_set_frame_icon): New function. - - * gtkutil.h (xg_set_frame_icon): Declare it. - -2005-08-16 Kim F. Storm - - * dispnew.c (increment_row_positions): Skip non-enabled rows. - - * window.c (SAVED_WINDOW_VECTOR_SIZE): Remove dangerous define. - (Fcurrent_window_configuration): Use VECSIZE macro instead. - -2005-08-15 Richard M. Stallman - - * xdisp.c (message3_nolog): Clear echo_message_buffer. - -2005-08-15 Kim F. Storm - - * lisp.h (QUIT) [!SYNC_INPUT]: Throw t to Vthrow_on_input. - - * process.c (deactivate_process, status_notify, read_process_output) - (update_status, status_convert, decode_status, allocate_pty) - (make_process, remove_process, list_processes_1) - (create_process_1, unwind_request_sigio, read_process_output) - (send_process, keyboard_bit_set): Declare static. - (Fdelete_process): Simplify. Pass process to status_notify, so we - don't try to read output from it. - (status_notify): New arg deleting_process--don't try to read - output from that process. - - * lisp.h (deactivate_process, status_notify, read_process_output): - Remove prototypes. - -2005-08-14 Richard M. Stallman - - * image.c (syms_of_image): Init Qxbm, Qpbm before calling - define_image_type. - -2005-08-13 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_pixbuf_from_pix_and_mask): New function. - (xg_get_image_for_pixmap): Move some code to - xg_get_pixbuf_from_pix_and_mask, and call it. - - * gtkutil.h (xg_get_pixbuf_from_pix_and_mask): Declare. - - * xterm.c (x_wm_set_icon_pixmap): Call xg_get_pixbuf_from_pix_and_mask - to get an GTK icon and set it with GTK functions to avoid having GTK - override an icon set with just X functions. - -2005-08-11 Richard M. Stallman - - * image.c (syms_of_image): Init image_types here, and call - define_image_type. - (init_image): Not here. - -2005-08-09 Richard M. Stallman - - * bytecode.c (BYTE_CODE_QUIT): Throw t to Vthrow_on_input. - - * lisp.h (QUIT): Throw t to Vthrow_on_input. - -2005-08-09 Thien-Thi Nguyen - - * floatfns.c (Fexpt): Use floats for negative exponent. - -2005-08-08 Jan Dj,Ad(Brv - - * gtkutil.c (xg_modify_menubar_widgets): Remove semicolon that - should not be there, causing menu display errors with GTK 2.6.9. - -2005-08-07 Richard M. Stallman - - * floatfns.c (Fexpt): Undo previous change. - - * dispnew.c (Fframe_or_buffer_changed_p): Take an arg - so it can be used with various state vectors. - - * emacs.c (endif): Convert -script into -scriptload. - (standard_args): Add -scriptload. Allow -basic-display with one dash. - - * fns.c (syms_of_fns): Add `emacs' to features. - - * term.c (set_terminal_modes): If no TS_termcap_modes string, - output newlines to scroll the old screen contents off the screen. - -2005-08-06 Thien-Thi Nguyen - - * floatfns.c (Fexpt): Use floats for negative exponent. - Reported by D Goel. - -2005-08-02 Richard M. Stallman - - * frame.c (Fframe_char_width): Doc fix. - -2005-07-30 Juanma Barranquero - - * xdisp.c (syms_of_xdisp) : - Defvar it. - -2005-07-28 Juanma Barranquero - - * w32fns.c (my_set_window_pos, my_show_window): Don't declare. - (my_create_window, my_create_tip_window): Make static. - - * w32term.c (my_show_window, my_set_window_pos, my_set_focus) - (my_set_foreground_window, my_destroy_window): Make static. - -2005-07-26 Paul Eggert - - Merge gnulib getopt implementation into Emacs. - - * s/cygwin.h (C_SWITCH_SYSTEM): Remove, since gettext.h is - now part of lib-src. - -2005-07-26 Stefan Monnier - - * eval.c (Fdefvar): Allow (defvar enable-multibyte-characters). - -2005-07-25 Jason Rumney - - * w32menu.c (w32_menu_display_help): Suppress tooltip when - navigating menus with the keyboard. - -2005-07-23 Richard M. Stallman - - * insdel.c (syms_of_insdel): staticpro combine_after_change_buffer. - - * bytecode.c (MAYBE_GC): Test gc_cons_threshold and - gc_relative_threshold, one by one. - - * keyboard.c (read_char): Test gc_cons_threshold. - (syms_of_keyboard): staticpro Qecho_area_clear_hook. - - * eval.c (Feval, Ffuncall): Test gc_cons_threshold and - gc_relative_threshold, one by one. - - * alloc.c (gc_cons_threshold): Not static. - (gc_cons_combined_threshold): Var deleted. - (gc_relative_threshold): New variable. - (Fgarbage_collect, init_alloc_once): Compute gc_relative_threshold - instead of gc_cons_combined_threshold. - - * lisp.h (gc_cons_threshold, gc_relative_threshold): Declare. - (gc_cons_combined_threshold): Declaration deleted. - -2005-07-23 YAMAMOTO Mitsuharu - - * mac.c: Don't include stdlib.h or string.h. - (Fdo_applescript, Fmac_file_name_to_posix) - (Fmac_file_name_to_posix): Doc fixes. - [TARGET_API_MAC_CARBON] (Fmac_get_preference) - (Fmac_code_convert_string): Likewise. - [MAC_OSX] (init_mac_osx_environment): Fall back on terminal mode - if the executable is not contained in a bundle. - - * macfns.c: Don't include stdlib.h or string.h. Include atimer.h. - (gray_width, gray_height): Remove defines. - (gray_bits, gray_bitmap_width, gray_bitmap_height) - (gray_bitmap_bits): Remove variables. - (lispy_function_keys): Remove extern. - (free_frame_menubar): Add extern. - (x_window_to_frame): Remove function. - (unwind_create_tip_frame): Add declaration. - (x_set_name_internal): New function. - (x_set_name, x_set_title): Use it. - (Fx_create_frame, Fx_display_grayscale_p, Fx_display_pixel_width) - (Fx_display_pixel_height, Fx_display_planes) - (Fx_display_color_cells, Fx_server_max_request_size) - (Fx_server_vendor, Fx_server_version, Fx_display_screens) - (Fx_display_mm_height, Fx_display_mm_width) - (Fx_display_backing_store, Fx_display_visual_class) - (Fx_display_save_under, Fx_synchronize, Fx_show_tip): Doc fixes. - - * macmenu.c (Fx_popup_menu, Fx_popup_dialog): Doc fixes. - - * macselect.c (Fx_own_selection_internal): Follow error conventions. - (Fx_get_selection_internal, Fx_selection_owner_p) - (Fx_selection_exists_p): Doc fixes. - (syms_of_macselect) : Likewise. - -2005-07-21 Juanma Barranquero - - * buffer.c (syms_of_buffer) : Doc fix. - - * ccl.c (Fregister_ccl_program): Fix typos in docstring. - (Fccl_execute_on_string): Likewise; add usage info. - - * composite.c (Fcompose_region_internal) - (Fcompose_string_internal): - Improve argument/docstring consistency. - - * minibuf.c (Fminibuffer_prompt_end, Feval_minibuffer): - Fix typos in docstrings. - - * textprop.c (Fnext_char_property_change) - (Fprevious_char_property_change): Doc fixes. - - * window.c (Fset_window_margins, Fset_window_fringes): - Improve argument/docstring consistency. - - * xfaces.c (Finternal_lisp_face_p): Doc fix. - -2005-07-21 Andreas Schwab - - * eval.c (restore_stack_limits): Return a value. - -2005-07-20 Juanma Barranquero - - * eval.c (Fdefvar): Doc fix. - -2005-07-20 Kim F. Storm - - * fileio.c (Fdo_auto_save, do_auto_save_unwind): - Use make_save_value to unwind protect stream. - - * lread.c (Fload, load_unwind): - Use make_save_value to unwind protect stream. - -2005-07-19 Juanma Barranquero - - * eval.c (Fprog2, Fcalled_interactively_p), - (syms_of_eval) : Doc fixes. - (syms_of_eval) : - (Finteractive_p): Fix typos in docstrings. - -2005-07-19 Kim F. Storm - - * w32fns.c (Vx_hand_shape): Variable removed. - (syms_of_w32fns): Intern and staticpro Qw32_charset_default. - -2005-07-19 Kenichi Handa - - * fns.c (Fstring_as_multibyte): Escape backslashes in the docstring. - -2005-07-18 Stefan Monnier - - * buffer.h (Fgenerate_new_buffer_name): Declare (for use in coding.c). - -2005-07-18 Kim F. Storm - - * frame.h (struct frame): New member already_hscrolled_p. - - * xdisp.c (redisplay_internal): Only try to hscroll each frame once - to avoid redisplay looping hscrolling back and forth ad infinitum. - -2005-07-18 Juri Linkov - - * buffer.c (scroll-up-aggressively, scroll-down-aggressively): - * keymap.c (Fminor_mode_key_binding): - * macterm.c (mac-emulate-three-button-mouse): - Delete duplicate duplicate words. - -2005-07-18 Ken Raeburn - - * minibuf.c (Ftest_completion): Fix odd syntax in test. - -2005-07-18 YAMAMOTO Mitsuharu - - * macfns.c (x_set_cursor_color): Use XSetBackground and XSetForeground. - - * macgui.h (struct _XGC): New struct. - (GC): Use it. - (GCForeground, GCBackground, GCFont): Use X11 mask values. - (XCreateGC, XParseGeometry): Move externs to macterm.h. - - * macterm.c (x_bitmap_icon, x_make_frame_visible): Remove declarations. - (XSetFont): Add declaration. - (mac_set_forecolor, mac_set_backcolor, mac_set_colors): - Remove functions. - (GC_FORE_COLOR, GC_BACK_COLOR, GC_FONT, MAC_WINDOW_NORMAL_GC): - New defines. - (XDrawLine, mac_draw_line_to_pixmap, XClearWindow) - (mac_draw_bitmap, XCreatePixmapFromBitmapData, XFillRectangle) - (mac_draw_rectangle, mac_draw_string_common, mac_scroll_area): - Use them. - (mac_erase_rectangle): New function. - (XClearArea, x_draw_fringe_bitmap, x_clear_glyph_string_rect) - (x_draw_stretch_glyph_string): Use it. - (XChangeGC, XCreateGC, XGetGCValues, XSetForeground) - (XSetBackground, XSetFont): Adjust for new GC implementation. - (x_draw_fringe_bitmap, x_draw_box_rect): Use GC to set colors. - (XTset_vertical_scroll_bar): Clear area under scroll bar. - - * macterm.h (struct mac_display_info): Change types of - scratch_cursor_gc black_relief.gc, and white_relief.gc to GC. - (XCreateGC, XParseGeometry): Move externs from macgui.h. - - * xfaces.c [MAC_OS] (XCreateGC): Remove extern. - -2005-07-16 Richard M. Stallman - - * buffer.c (Fmake_overlay): Doc fix. - -2005-07-16 Eli Zaretskii - - * w32proc.c (syms_of_ntproc): staticpro Qhigh, Qlow, - Vw32_valid_locale_ids, and Vw32_valid_codepages. - -2005-07-16 YAMAMOTO Mitsuharu - - * mac.c [TARGET_API_MAC_CARBON] (Fmac_code_convert_string): - Use Fstring_as_unibyte instead of string_make_unibyte. - -2005-07-15 Richard M. Stallman - - * xdisp.c (select_frame_for_redisplay): Use find_symbol_value. - -2005-07-15 Kim F. Storm - - * xdisp.c: Fix redisplay loop in last change. - (IT_POS_VALID_AFTER_MOVE_P): New macro. - (move_it_vertically_backward, move_it_by_lines): Use it. - -2005-07-14 Jason Rumney - - * w32.c (init_environment): Default HOME directory to user's - appdata directory if possible. - -2005-07-14 Kim F. Storm - - * .gdbinit (pitx): Fix output format. Print string charpos. - - * lread.c (syms_of_lread): Initialize seen_list. - - * search.c (syms_of_search): Staticpro searchbuf.whitespace_regexp. - - * syntax.c (syms_of_syntax): Staticpro lisp objects in gl_state. - Staticpro re_match_object. - -2005-07-14 YAMAMOTO Mitsuharu - - * macselect.c (get_scrap_target_type_list): Avoid NULL pointer - dereference. - - * macterm.c (mac_window_to_frame): Remove duplicate define. - -2005-07-14 Kenichi Handa - - * coding.c (code_convert_region_unwind): ARG is changed to a cons. - (code_convert_region): Adjust for the above change. - (set_conversion_work_buffer): If the work buffer is already in - use, generate a new buffer and return it. Otherwise return Qnil. - (run_pre_post_conversion_on_str): Adjust for the above change. - (run_pre_write_conversin_on_c_str): Likewise. - -2005-07-13 Kim F. Storm - - * xdisp.c (start_display): Don't reseat to next visible line start - if current start position is in a string or image. - (move_it_vertically_backward): Be sure to move out of strings and - images when moving it2 forward. - (move_it_by_lines): When moving forward, move to next buffer - position if we end up in a string or image. When moving backward, - count rows moved over when moving to start of current row in case - row starts in middle of a string or image. Also move further - backward if we end up in a string or image. - (try_cursor_movement): If overlay string spans multiple lines, - move backward to set cursor on start of an overlay string. - (cursor_row_p): Row is ok if cursor is at newline from string, but - string starts on this line (so we always position cursor at start - of string). - - * indent.c (Fvertical_motion): If start position is on an image, - don't move back if we move too far (that's almost certain to happen). - - * xdisp.c (cursor_row_fully_visible_p): Allow partially visible - row in minibuffer windows. - (try_window): Don't check margins in minibuffer windows. - -2005-07-13 YAMAMOTO Mitsuharu - - * macterm.c: Don't include stdlib.h or composite.h. - (x_use_underline_position_properties, last_mouse_press_frame) - (x_noop_count, Qvendor_specific_keysyms): Remove unused variables. - (syms_of_macterm, mac_initialize): Don't initialize them. - (waiting_for_input, initial_argv, initial_argc) - (Vcommand_line_args, Vx_no_window_manager, errno, window_scroll) - (set_frame_menubar, path_from_vol_dir_name): Remove externs. - (extra_keyboard_modifiers): Fix type in extern. - (x_window_to_frame, x_window_to_scroll_bar): Remove declarations. - (x_scroll_bar_report_motion): Add argument types to declaration. - (mac_compute_glyph_string_overhangs): Add declaration. - (disable_mouse_highlight): Remove unused variable. - [USE_TOOLKIT_SCROLL_BARS] (construct_scroll_bar_click) - (x_scroll_bar_handle_press, x_scroll_bar_handle_release) - (x_scroll_bar_handle_drag): Remove argument `timestamp'. - All callers changed. - [USE_TOOLKIT_SCROLL_BARS] (construct_scroll_bar_click): Don't set - timestamp. - [USE_CARBON_EVENTS] (mac_handle_mouse_event): Likewise. - (x_scroll_bar_create, XTset_vertical_scroll_bar): Show scroll bar - only when its width is less than the height. - (XTredeem_scroll_bar): Sync with xterm.c. - (font_name_table, font_name_table_size, font_name_count): - Make static. - (drag_and_drop_file_list): Remove variable. Previous use is now - local to function. - (do_ae_open_documents): Move DRAG_N_DROP event construction part - from XTread_socket. - (XTread_socket): Consolidate setting of event timestamp. - Move DRAG_N_DROP event construction part to do_ae_open_documents. - Support extra_keyboard_modifiers. - - * xfaces.c (try_font_list) [MAC_OS]: Try font family name - beginning with that for ASCII. - -2005-07-13 Stefan Monnier - - * alloc.c (gc_cons_combined_threshold, Vgc_cons_percentage): New vars. - (Fgarbage_collect, init_alloc_once): Set gc_cons_combined_threshold. - (syms_of_alloc): Declare gc-cons-percentage. - - * eval.c (Feval, Ffuncall): - * keyboard.c (read_char): - * bytecode.c (MAYBE_GC): Use gc_cons_combined_threshold. - - * lisp.h (gc_cons_combined_threshold): Declare. - -2005-07-12 Kim F. Storm - - * coding.c (Qprocess_argument): - * coding.h (Qprocess_argument): Remove unused var. - - * xselect.c (intern): Remove dup. intern and staticpro for QTIMESTAMP. - -2005-07-12 YAMAMOTO Mitsuharu - - * mac.c [!TARGET_API_MAC_CARBON]: Include charset.h, coding.h, and - Endian.h. - [!MAC_OSX] (fchmod, fchown): New functions. - (mac_get_code_from_arg): Don't accept Lisp integer as argument. - Use SBYTES and EndianU32_BtoN. - (mac_get_object_from_code): Return 4 byte string even if argument - is 0. Use make_unibyte_string and EndianU32_NtoB. - (Fmac_get_file_creator, Fmac_get_file_type, Fmac_set_file_creator) - (Fmac_set_file_type): Fix documents and argument declarations. - Don't specify kFSCatInfoNodeFlags. Support Mac OS Classic. - -2005-07-11 Stefan Monnier - - * window.c (Frecenter): Yet another int/Lisp_Object mixup (YAILOM). - -2005-07-11 Jan Dj,Ad(Brv - - * xfaces.c (x_update_menu_appearance): Use fontSet resource for - Lucid if X_I18N, font otherwise. - -2005-07-10 Steven Tamm - - * mac.c (Fmac_get_file_type, Fmac_get_file_creator): Add. - (Fmac_set_file_type, Fmac_set_file_creator): Add. - (mac_get_object_from_code, mac_get_code_from_arg): Add. - -2005-07-10 Richard M. Stallman - - * lread.c (Qeval_buffer_list, Veval_buffer_list): New vars. - (syms_of_lread): Set up eval-buffer-list. - (Feval_buffer, Feval_region): Bind eval-buffer-list. - -2005-07-08 Richard M. Stallman - - * eval.c (Fdefvar): Allow defvaring a constant to itself quoted. - -2005-07-08 Kim F. Storm - - * keyboard.c (menu_bar_items): Don't GCPRO menu_bar_items_vector here. - (syms_of_keyboard): Initialize and staticpro menu_bar_items_vector. - -2005-07-07 Kim F. Storm - - * window.c (Frecenter): Fix last change (set iarg before use). - -2005-07-06 Richard M. Stallman - - * window.c (Frecenter): When arg is inside the scroll margin, - move it out of the margin. - -2005-07-06 Jason Rumney - - * w32console.c (initialize_w32_display): Detect when the console - dimensions are insane, and default to 80x25 instead. - (w32_use_full_screen_buffer): Default to nil. - -2005-07-06 YAMAMOTO Mitsuharu - - * macterm.c (mac_draw_vertical_window_border): Use foreground of - VERTICAL_BORDER_FACE_ID for vertical border line. - (mac_encode_char): Call check_ccl_update in advance. - (mac_to_x_fontname, x_font_name_to_mac_font_name) - (init_font_name_table, mac_do_list_fonts, XLoadQueryFont): - Don't assume that font family length is less than 32. - (x_compute_min_glyph_bounds): Make static. - (x_load_font): Never set fonts_changed_p to zero. - -2005-07-04 Lute Kamstra - - * Update FSF's address in GPL notices. - -2005-07-03 Richard M. Stallman - - * xdisp.c (try_window): Fix previous change in how it handles - a partially-visible line or one only partly past the margin. - - * window.c (window_scroll_pixel_based): Take account - of this_scroll_margin when finding point when scrolling up. - -2005-06-29 Ralf Angeli - - * window.c (window_scroll_pixel_based, window_scroll_line_based): - Handle `scroll-preserve-screen-position' non-nil, non-t specially. - (syms_of_window) : Doc fix. - -2005-07-02 Juri Linkov - - * w32term.c (w32_draw_vertical_window_border): Use foreground of - VERTICAL_BORDER_FACE_ID for vertical border line. - -2005-07-02 Eli Zaretskii - - * fileio.c (Fcopy_file): Rearrange the code that calls fchown and - fchmod so that chmod doesn't get called on MSDOS before the file - is closed. - -2005-07-01 Jason Rumney - - * w32term.c (cleartype_active): New flag for enabling sub-pixel - workaround. - (w32_initialize): Initialize it. - (w32_native_per_char_metric): Allow a couple of extra pixels when - Cleartype is active. - - * w32term.c (w32_initialize): Move check for screen reader here - from syms_of_w32term. - -2005-06-30 Jan Dj,Ad(Brv - - * xterm.c (handle_one_xevent): bzero compose_status when nbytes - is not zero. - -2005-07-01 Masatake YAMATO - - * emacs.c (main): Passing ADD_NO_RANDOMIZE to `personality'. - -2005-06-30 Juri Linkov - - * xdisp.c (x_draw_vertical_border): If left fringe is not present - decrease x coord of vertical border by 1 pixel to not occupy text - area of the right window. - - * xterm.c (x_draw_vertical_window_border): Use foreground of - VERTICAL_BORDER_FACE_ID for vertical border line. - - * term.c (turn_on_face): In standout mode apply specified - fg to bg, and specified bg to fg (this makes the logic of - inversion on terminal consistent with X). - -2005-06-29 Juanma Barranquero - - * eval.c (user_variable_p_eh): New function. - (Fuser_variable_p): Use it. Clarify docstring. - Return t for aliases of user options, nil for alias loops. - -2005-06-27 Richard M. Stallman - - * eval.c (Fdefvar): Improve error message. - -2005-06-27 YAMAMOTO Mitsuharu - - * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Fix last - change. - -2005-06-27 Juanma Barranquero - - * eval.c (Fdefvar): Don't try to set constant symbols. - -2005-06-25 Richard M. Stallman - - * macfns.c (Fx_show_tip): Pass new arg to try_window. - - * w32fns.c (Fx_show_tip): Pass new arg to try_window. - - * xfns.c (Fx_show_tip): Pass new arg to try_window. - - * xdisp.c (try_window): New arg CHECK_MARGINS. Calls changed. - (redisplay_window): Handle try_window reporting point in scroll margin. - - * dispextern.h (try_window): Declare new arg. - - * fileio.c (Fcopy_file): New arg PRESERVE_UID_GID. - Use fchmod to copy the file modes. - (Frename_file): Don't copy UID and GID here; - instead, specify t for PRESERVE_UID_GID when calling Fcopy_file. - - * eval.c (call_debugger): Take full care of extending stack limits - to make space for the debugger, and restore the change afterward. - Bind debug-on-error to nil. - (restore_stack_limits): New subroutine. - (Fsignal): Extend specpdl bound along with eval depth bound, - for calling edebug. Don't do either one, for calling debugger. - (find_handler_clause): Don't bind debug-on-error here. - Don't unbind anything either. - Temporarily advance max_specpdl_size for calling - internal_with_output_to_temp_buffer. - (grow_specpdl): Don't alter max_specpdl_size before signaling - an error. - (syms_of_eval) : Doc fix. - - * lread.c (read1): 0.0e+NaN should make a "positive" NaN. - -2005-06-24 Eli Zaretskii - - * fileio.c (Frename_file): Undo last change: no need to ifdef away - chown on DOS_NT platforms. - - * w32.c (sys_chown): New function. - - * s/ms-w32.h (chown): New; define to sys_chown. - -2005-06-24 Juanma Barranquero - - * xdisp.c (syms_of_xdisp) : Doc fix. - (syms_of_xdisp) : Doc fix. - - * fileio.c (Frename_file)[!DOS_NT]: Don't call chown on MSDOS/Windows. - -2005-06-23 Richard M. Stallman - - * xdisp.c (get_next_display_element): Finish reversing the tests of - Vnobreak_char_display. - - * xdisp.c (Vnobreak_char_display): Rename from Vshow_nonbreak_escape. - All uses changed. - (Qnobreak_space): Rename from Qno_break_space. All uses changed. - (syms_of_xdisp): Define nobreak-char-display and nobreak-space. - - * fileio.c (Frename_file): Preserve owner and group, if possible, - when copying. - -2005-06-23 Juanma Barranquero - - * abbrev.c (Funexpand_abbrev): - * category.c (Fmake_category_set): - * dispnew.c (Fsleep_for, Fsit_for): - * editfns.c (Fsubst_char_in_region): - * eval.c (Fdefvar, Fdefconst, Feval, Ffuncall): - * frame.c (make_frame_without_minibuffer): - * lread.c (read_vector): - * macfns.c (check_x_frame): - * process.c (Fstop_process, Fcontinue_process): - * search.c (Freplace_match): - * syntax.c (Fstring_to_syntax): - * w32fns.c (check_x_frame, check_x_display_info): - * xfaces.c (x_supports_face_attributes_p): - * xselect.c (Fx_own_selection_internal): Follow error conventions. - - * image.c (fn_png_init_io): Don't define it. - (init_png_functions) [HAVE_NTGUI]: Don't initialize fn_png_init_io. - (png_read_from_file): New function, based on png_read_from_memory. - (png_load): Use it, instead of fn_png_init_io. - -2005-06-23 Kim F. Storm - - * search.c (Fmatch_data): Remove evaporate option. - (Fset_match_data): Do not mention evaporate option in doc string. - Add commentary explaining evaporate arg (for internal use only). - (unwind_set_match_data): Add comment on evaporate use. - -2005-06-22 Miles Bader - - * xfaces.c (Qvertical_border): Rename from `Qvertical_divider'. - (realize_basic_faces, syms_of_xfaces): Update references to it. - * dispextern.h (enum face_id): Rename `VERTICAL_DIVIDER_FACE_ID' - to `VERTICAL_BORDER_FACE_ID'. - * dispnew.c (build_frame_matrix_from_leaf_window): Update references. - -2005-06-21 Juri Linkov - - * dispextern.h: Add extern Qframe_set_background_mode. - - * xfaces.c: Rename obsolete function Qframe_update_face_colors to - Qframe_set_background_mode. - - * frame.c (Fmodify_frame_parameters): - Call frame-set-background-mode after changing the background color - on non-window non-dos branch. - -2005-06-21 Juanma Barranquero - - * fns.c (Fchar_table_range): - * process.c (Fmake_network_process): Fix spellings. - -2005-06-20 Kim F. Storm - - * fns.c (Fsort): Doc fix. - -2005-06-20 Miles Bader - - * xfaces.c (Qvertical_divider): New variable. - (realize_basic_faces): Realize its face. - (syms_of_xfaces): Initialize it. - - * dispextern.h (enum face_id): Add `VERTICAL_DIVIDER_FACE_ID'. - - * dispnew.c (build_frame_matrix_from_leaf_window): Display vertical - window-separator on ttys using `vertical-divider' face by default. - -2005-06-17 Richard M. Stallman - - * xdisp.c (get_next_display_element): - Reverse test of Vshow_nonbreak_escape. - - * term.c (produce_special_glyphs): Use spec_glyph_lookup_face. - (Ftty_no_underline): New function. - (syms_of_term): defsubr it. - - * keyboard.c (read_char): Call restore_getcjmp after jump occurs. - - * dispnew.c (spec_glyph_lookup_face): New function. - (build_frame_matrix_from_leaf_window): Use it. - - * dispextern.h (spec_glyph_lookup_face): Add declaration. - - * buffer.c (syms_of_buffer) : Doc fix. - -2005-06-12 Richard M. Stallman - - * keyboard.c (read_char): After catching a longjmp, - call restore_getcjmp. - -2005-06-17 Juanma Barranquero - - * xselect.c (lisp_data_to_selection_data): Fix spelling. - -2005-06-15 YAMAMOTO Mitsuharu - - * macterm.c (mac_compute_glyph_string_overhangs): Don't set - overhangs unless the given glyph type is noncomposite CHAR_GLYPH. - [USE_CARBON_EVENTS] (mac_convert_event_ref): Convert dead key down - events. - (XTread_socket): Don't pass keyboard events with the option - modifier to the system when Vmac_command_key_is_meta is nil or - Vmac_option_modifier is non-nil. - [USE_CARBON_EVENTS] (read_socket_inev): New variable. - [USE_CARBON_EVENTS] (init_command_handler): Fix argument. - [USE_CARBON_EVENTS] (mac_handle_mouse_event): New Carbon event - handler function. - (install_window_handler) [USE_CARBON_EVENTS]: Install it. - (XTread_socket) [USE_CARBON_EVENTS]: Move mouse wheel event - handler part to mac_handle_mouse_event. - -2005-06-14 Juanma Barranquero - - * eval.c (Fdefvaralias): Rename arguments SYMBOL and ALIASED to - NEW-ALIAS and BASE-VARIABLE, respectively. - -2005-06-13 Stefan Monnier - - * xdisp.c (note_mode_line_or_margin_highlight): Lisp_Object/int mixup. - (get_phys_cursor_geometry, format_mode_line_unwind_data) - (get_line_height_property, x_produce_glyphs): Remove unused vars. - - * coding.c (run_pre_post_conversion_on_str): Remove unused var `buf'. - -2005-06-13 Eli Zaretskii - - * w32term.c (x_use_underline_position_properties): New variable. - (x_draw_glyph_string): Remind in a comment to change doc string of - x-use-underline-position-properties if/when underline positioning - is implemented. - (syms_of_w32term): DEFVAR_BOOL x-use-underline-position-properties, - and initialize it to nil. - -2005-06-12 Jason Rumney - - * w32fns.c (NEWOPENFILENAME): New struct. - (Fx_file_dialog): Use it to trick the system into giving us up to - date dialogs on systems that are documented to support it. - Do not set OFN_FILEMUSTEXIST flag if looking for a directory. - -2005-06-12 Eli Zaretskii - - * w32fns.c (w32_abort): Use the MB_YESNO dialog instead of - MB_ABORTRETRYIGNORE. Never return, even if DebugBreak does. - -2005-06-11 Eli Zaretskii - - * image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Cast 4th arg - to CreateDIBSection to avoid a compiler warning. - (pbm_load): Cast 3rd arg to IMAGE_BACKGROUND to avoid a compiler - warning. - (png_load): Cast return values of fn_png_create_read_struct and - fn_png_create_info_struct, to avoid compiler warnings on W32. - Cast 3rd arg to IMAGE_BACKGROUND and image_background_transparent - to avoid compiler warnings. - (jpeg_load): Cast return value of fn_jpeg_std_error to avoid a - compiler warning on W32. Cast 3rd arg to IMAGE_BACKGROUND to - avoid a compiler warning. - (tiff_load): Cast return values of fn_TIFFOpen and - fn_TIFFClientOpen to avoid compiler warning on W32. Cast 3rd arg - to IMAGE_BACKGROUND to avoid a compiler warning. - (gif_load): Cast return values of fn_DGifOpenFileName and - fn_DGifOpen to avoid compiler warnings on W32. Cast 3rd arg to - IMAGE_BACKGROUND to avoid a compiler warning. - (DrawText) [HAVE_NTGUI || MAC_OS]: If already defined, undef - before redefining. - - * w32bdf.c (create_offscreen_bitmap): Cast `bitsp' to `void **' in - the call to CreateDIBSection, to avoid a compiler warning. - -2005-06-11 Jason Rumney - - * w32fns.c (Fx_file_dialog): Unblock input before falling back to - minibuffer. - * macfns.c (Fx_file_dialog): Likewise. - -2005-06-10 Eli Zaretskii - - * makefile.w32-in ($(TEMACS)): Depend on addsection.exe. - -2005-06-10 Juanma Barranquero - - * process.c (syms_of_process) [ADAPTIVE_READ_BUFFERING]: - * w32fns.c (syms_of_w32fns): Fix spellings. - -2005-06-10 Eli Zaretskii - - * unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Add a new argument - `verbose'; print diagnostic messages only if it is non-zero. - All callers changed to pass a zero value unless DEBUG_DUMP is defined - in the environment. - (copy_executable_and_dump_data): Print section names with %.8s. - -2005-06-10 Masatake YAMATO - - * xdisp.c (note_mode_line_or_margin_highlight): Call clear_mouse_face - when mouse_face is not given. - -2005-06-09 Luc Teirlinck - - * window.c (Fselect_window): Adapt call to Fselect_frame. - - * lisp.h: Update EXFUN of Fselect_frame. - - * keyboard.c (command_loop_1): Adapt call to Fselect_frame. - - * frame.c (Fhandle_switch_frame, Fselect_frame): Delete unused arg - no_enter. - (Fset_mouse_position, Fset_mouse_pixel_position, Ficonify_frame): - Adapt to above change. - -2005-06-10 Juanma Barranquero - - * fns.c (Fmemq, Fmaphash): Doc fixes. - -2005-06-09 Juanma Barranquero - - * xfaces.c (Fdisplay_supports_face_attributes_p): - Fix typo in docstring. - -2005-06-08 Steven Tamm - - * unexmacosx.c (copy_data_segment): Copy __la_sym_ptr2 section - used by gcc4 on intel mac. - -2005-06-09 Kim F. Storm - - * search.c (Fmatch_data): Add optional RESEAT arg. Unchain markers - in REUSE list if non-nil; free them if equal to evaporate. - (Fset_match_data): Add optional RESEAT arg. Unchain markers in LIST - if non-nil; free them if equal to evaporate. Use XCAR/XCDR. - (restore_search_regs): Rename from restore_match_data. Uses changed. - (unwind_set_match_data): New function. - (record_unwind_save_match_data): New function like save-match-data. - - * lisp.h (Fmatch_data, Fset_match_data): Fix EXFUN. - (record_unwind_save_match_data): Add prototype. - (restore_search_regs): Rename from restore_match_data. - - * composite.c (compose_chars_in_text): - * eval.c (do_autoload): - * macmenu.c (set_frame_menubar): - * process.c (read_process_output, exec_sentinel): - * xmenu.c (set_frame_menubar): - * xdisp.c (prepare_menu_bars, update_menu_bar, update_tool_bar): - * w32menu.c (set_frame_menubar): - Use record_unwind_save_match_data. - -2005-06-08 Richard M. Stallman - - * xdisp.c (get_next_display_element): Alter previous change: - Distinguish Vshow_nonbreak_escape = t or not t. - For t, use escape_glyph once again, as before previous change. - Use space or hyphen for display, instead of the non-ASCII char. - (syms_of_xdisp) : Doc fix. - - * process.c (Fstart_process): Don't touch command_channel_p slot. - - * process.h (struct process): Delete command_channel_p. - -2005-06-07 Masatake YAMATO - - * xdisp.c (note_mode_line_or_margin_highlight): - Check the overlapping of re-rendering area to avoid flickering. - (note_mouse_highlight): Call clear_mouse_face if PART - is not ON_MODE_LINE nor ON_HEADER_LINE. - -2005-06-07 Kim F. Storm - - * process.c: Improve commentary for adaptive read buffering. - -2005-06-06 Stefan Monnier - - * xterm.c (x_create_toolkit_scroll_bar): Use XtNarrowScrollbars - if available. - -2005-06-06 Jan Dj,Ad(Brv - - * macmenu.c (menu_quit_handler, install_menu_quit_handler): - New functions for popping down menus on C-g. - (set_frame_menubar, mac_menu_show): Call install_menu_quit_handler. - - * macterm.c: Make mac_quit_char_modifiers and mac_quit_char_keycode - non-static. - - * config.in: Add HAVE_CANCELMENUTRACKING. - -2005-06-06 Eli Zaretskii - - * w32heap.h (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_PTR): Remove macros. - - * unexw32.c (RVA_TO_PTR): Move here from w32heap.h. - - * w32proc.c (RVA_TO_PTR): New macro. - - * w32heap.c (RVA_TO_PTR): No need to #undef now. - - * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/w32select.$(O)): - Depend on w32heap.h. - -2005-06-06 Luc Teirlinck - - * keyboard.c (command_loop_1): Update Vthis_original_command. - -2005-06-06 Richard M. Stallman - - * xmenu.c (popup_get_selection): Undo previous change. - -2005-06-06 Juri Linkov - - * xdisp.c (Qno_break_space): New variable. - (syms_of_xdisp): Initialize it. - (get_next_display_element): Add no-break space and soft hypen - codes for iso8859-2 and iso8859-5. Don't add `\' for them. - Use `no-break-space' face for no-break spaces. - -2005-06-06 Jan Dj,Ad(Brv - - * window.c (delete_window): Handle the case where a h/vchild has - a h/vchild. - -2005-06-05 Eli Zaretskii - - * w32.c (sys_setsockopt): Change arg 4 to `const void *'. In the - call to pfn_setsockopt, cast optval to `const char *'. - -2005-06-04 Eli Zaretskii - - * w32.c (gettimeofday): Use struct _timeb, not struct timeb. - (open_unc_volume): Cast return value of map_w32_filename, to avoid - compiler warnings. - - * s/ms-w32.h (fileno): Don't define if already defined. - - * emacs.c: Include w32heap.h, to avoid compiler warning about sbrk. - - * makefile.w32-in (DOC): Define to point to the generated DOC-X. - -2005-06-04 Richard M. Stallman - - * xmenu.c (popup_get_selection): Click not in menu deactivates menu. - -2005-06-04 Jan Dj,Ad(Brv - - * macmenu.c (cleanup_popup_menu): New function. - (Fx_popup_menu): Unwind protect cleanup_popup_menu in case - mac_menu_show Quit:s. - (mac_menu_show): Quit on cancel if not popped up on click (i.e. - a dialog). - -2005-06-04 Kim F. Storm - - * coding.c (decode_coding_string): Handle CODING_FINISH_INTERRUPT. - - * callproc.c (Fcall_process): Don't use alloca to gradually - increase size of buf, as it effectively uses twice the necessary - space on the stack. Instead, pre-allocate buf of full size, and - gradually increase the read size. - - * bytecode.c (BYTE_CODE_QUIT): Check Vthrow_on_input. - - * eval.c (unbind_to): Preserve value of Vquit_flag. - - * xterm.c (handle_one_xevent): Also ignore mouse motion just - before a button release event. - -2005-06-03 Juanma Barranquero - - * xfaces.c (Finternal_lisp_face_equal_p): Really report - on faces in a frame, if the argument FRAME is non-nil. - Improve argument/docstring consistency. - -2005-06-02 Kim F. Storm - - * xdisp.c (MODE_LINE_NOPROP_LEN): New macro. - (x_consider_frame_title, Fformat_mode_line): Save offset into - mode_line_noprop_buf rather than pointer, in case buffer is relocated. - -2005-06-01 Kim F. Storm - - * fns.c (mapcar1): Maybe exit loop if original sequence was modified. - -2005-06-01 YAMAMOTO Mitsuharu - - * macterm.c (mac_to_x_fontname, mac_do_list_fonts): Set XLFD - resolution fields for scalable fonts to 0. - - * xfaces.c (build_scalable_font_name): Round pixel size to the - nearest integer. - -2005-06-01 Kim F. Storm - - * xdisp.c (display_mode_line): Support nested calls to redisplay - and format-mode-line. Set mode_line_target to MODE_LINE_DISPLAY. - -2005-05-31 Stefan Monnier - - * fileio.c (Finsert_file_contents): - * xdisp.c (note_mode_line_or_margin_highlight): Lisp_Object/int mixup. - -2005-05-31 Kim F. Storm - - * xdisp.c (mode_line_noprop_buf, mode_line_noprop_buf_end) - (mode_line_noprop_ptr): Rename from frame_title_*. - (store_mode_line_noprop_char): Rename from store_frame_title_char. - (store_mode_line_noprop): Rename from store_frame_title. - (mode_line_target): New enum to specify current output target - for mode line formatting. - (display_mode_element): Test it rather than frame_title_ptr and - mode_line_string_list to determine where output should go. - (mode_line_proptrans_alist, mode_line_string_alist): Make static. - (Vmode_line_unwind_vector): New variable. - (format_mode_line_unwind_data, unwind_format_mode_line): - New functions for unwind protection in mode line formatting. - (x_consider_frame_title): Use them and new local var 'title_start' - to support nested calls to format-mode-line and redisplay. - Set mode_line_target to MODE_LINE_TITLE. - (Fformat_mode_line): Use them and new local var 'string_start' to - support nested calls to format-mode-line and redisplay. - Set mode_line_target to MODE_LINE_NOPROP or MODE_LINE_STRING. - Don't trim trailing dashes. - (decode_mode_spec): Don't make infinite number of trailing dashes - for MODE_LINE_NOPROP and MODE_LINE_STRING targets. - (syms_of_xdisp): Initialize and staticpro mode_line_string_face, - mode_line_string_face_prop, and Vmode_line_unwind_vector. - (init_xdisp): Initialize mode_line_noprop_ptr to start of _buf. - Initialize mode_line_target to MODE_LINE_DISPLAY. - -2005-05-29 Richard M. Stallman - - * buffer.c (Fbuffer_local_value): Call indirect_variable. - -2005-05-28 Masatake YAMATO - - * xdisp.c (note_mode_line_or_margin_highlight): Change the - pointer to a hand cursor when hoovering over a mouse-face. - -2005-05-27 Kenichi Handa - - * xterm.c (x_encode_char): Call check_ccl_update in advance. - - * ccl.c: Now an element of Vccl_program_table is a vector of - length 4, not 3. - (ccl_get_compiled_code): New arg idx. Caller changed. - Adjust for the change of Vccl_program_table. - (setup_ccl_program): Adjust for the change of Vccl_program_table. - (check_ccl_update): New function. - (Fregister_ccl_program): Use ASET to set an element of a vector. - Adjusted for the change of Vccl_program_table. - - * ccl.h (struct ccl_program): New member idx. - (check_ccl_update): Extern it. - -2005-05-27 Juanma Barranquero - - * image.c (Vimage_library_alist): Move from image.el. - (syms_of_image): Defvar it. - (lookup_image_type): Use it. - - * buffer.c (Fbuffer_local_value): Make argument name match its use - in docstring. - -2005-05-26 Juanma Barranquero - - * keyboard.c (Frecursive_edit): Fix typo in docstring. - (Fposn_at_x_y): Make argument name match its use in docstring. - -2005-05-26 Lute Kamstra - - * eval.c (Frun_hooks): Mention run-mode-hooks in docstring. - -2005-05-24 Masatake YAMATO - - * xdisp.c (note_mode_line_or_margin_highlight): Use b and e - as loop sentinels. - -2005-05-24 Nick Roberts - - * xmenu.c (Fx_popup_dialog): Add a third boolean argument to - select frame title ("Question"/"Information"). - (xdialog_show): Use it. - - * macmenu.c (Fx_popup_dialog, mac_dialog_show): As for xmenu.c. - - * w32menu.c (Fx_popup_dialog, w32_dialog_show): As for xmenu.c. - - * fns.c (Fyes_or_no_p, Fy_or_n_p): Call Fx_popup_dialog with - a third argument (Qnil). - - * lisp.h: x-popup-dialog can have three arguments. - - * editfns.c (Fmessage_box): Use "Information" for frame title. - -2005-05-23 Thien-Thi Nguyen - - * termcap.c [VMS]: Include . - -2005-05-23 Masatake YAMATO - - * xdisp.c (note_mode_line_or_margin_highlight): Add code - for mouse-face. Change the type of the first argument from `window' - to `Lisp_Object'. - (note_mouse_highlight): Call note_mode_line_or_margin_highlight with - window instead of w. - -2005-05-22 Andreas Schwab - - * process.c (send_process): Move misplaced volatile. - -2005-05-21 Richard M. Stallman - - * xdisp.c (display_mode_element): If we're processing a list and - padding is specified, put it after the last element. - -2005-05-21 Eli Zaretskii - - * fileio.c (Fexpand_file_name) [DOS_NT]: Don't try to support - "superroot" on DOS_NT systems. - -2005-05-21 David Hunter (tiny change) - - * process.c (send_process): Restore the SIGPIPE handler if we - catch a SIGPIPE. - -2005-05-20 Juanma Barranquero - - * image.c (lookup_image, png_read_from_memory): Remove hacks (and - misleading comments). - (DEF_IMGLIB_FN): Use C calling convention for image libraries. - -2005-05-20 KOBAYASHI Yasuhiro - - * window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges): - Correct the right value. - -2005-05-19 Nick Roberts - - * keyboard.c (syms_of_keyboard): Remove Lisp variables - post-command-idle-hook and post-command-idle-delay. - (command_loop_1): Don't try to execute post-command-idle-hook. - -2005-05-16 Kim F. Storm - - * xdisp.c (handle_display_prop): Handle empty replacement. - (handle_single_display_spec): Return -1 for empty replacement. - - * keyboard.c (adjust_point_for_property): Skip empty overlay string. - - * .gdbinit (pitx): Print more info about iterator. - -2005-05-16 Andreas Schwab - - * unexmacosx.c (unexec_realloc): Move declarations before statements. - -2005-05-14 Richard M. Stallman - - * xdisp.c (message3): Call cancel_echoing. - - * alloc.c (Fmemory_full_p): New function. - (syms_of_alloc): defsubr it. - - * process.c (send_process_trap): Unblock SIGPIPE. - (send_process): Reset SIGPIPE handler before reporting error. - -2005-05-14 Nick Roberts - - * emacs.c (syms_of_emacs): Fix doc string for system-type. - -2005-05-13 Richard M. Stallman - - * fileio.c (Ffind_file_name_handler): Handle lambda-exp as handler. - (Finsert_file_contents): If we read 0 bytes from a special file, - unlock the visited file if we locked it. - (Fmake_symbolic_link, Frecent_auto_save_p): Doc fixes. - (Ffile_exists_p, Ffile_symlink_p): Doc fixes. - -2005-05-13 YAMAMOTO Mitsuharu - - * emacs.c (main) [MAC_OS8]: Call init_atimer before mac_term_init. - - * keyboard.c (readable_events) [USE_TOOLKIT_SCROLL_BARS]: - Regard toolkit scroll bar thumb drag events as squeezable and prevent - redisplay from being paused by them. - - * mac.c [!MAC_OSX]: Include keyboard.h and syssignal.h. - [!MAC_OSX] (target_ticks): Remove variable. - [!MAC_OSX] (check_alarm, pause, index): Remove functions. - [!MAC_OSX && __MRC__] (sys_strftime): Likewise. - [!MAC_OSX] (select): If fd 0 is not set in rfds and some input - event occurs before timeout, behave as if the function were interrupted. - [!MAC_OSX] (sigblock, sigsetmask, alarm): Simulate SIGALRM - handling using Time Manager routines. - [!MAC_OSX] (mac_atimer_task, mac_atimer_qlink, signal_mask): - New variables. - [!MAC_OSX] (mac_atimer_handler, set_mac_atimer, remove_mac_atimer) - (setitimer): New functions. - - * macfns.c, macmenu.c: Don't include signal.h. - - * macterm.c [USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds): - Rename from get_control_part_bound. All callers changed. - (x_scroll_bar_clear): New function. - (x_clear_frame): Use it. - (XTset_vertical_scroll_bar): Don't call Draw1Control. - (x_scroll_bar_handle_click): Change type of second argument from - int to ControlPartCode. - (check_alarm): Remove declaration. - (XTread_socket) [!TARGET_API_MAC_CARBON]: Don't call it. - (XTread_socket): Use ControlPartCode instead of SInt16. - -2005-05-13 Nozomu Ando - - * unexmacosx.c: Include assert.h. - (MACOSX_MALLOC_MULT16): New define. - [MACOSX_MALLOC_MULT16] (ptr_in_unexec_regions): Determine whether - ptr is in unexec regions by checking it is multiple of 16. - (unexec_malloc_header_t): New typedef. - (unexec_malloc, unexec_realloc, unexec_free): Store and use - allocated size information in unexec_malloc_header. - -2005-05-10 Richard M. Stallman - - * xterm.c (noinclude): Add #undef. - - * image.c, xfns.c, xmenu.c: Don't include signal.h. - -2005-05-09 Juanma Barranquero - - * fileio.c (Fexpand_file_name, Frename_file, Fadd_name_to_file) - (Fmake_symbolic_link, Faccess_file, Frecent_auto_save_p): - Doc fixes. - - * dired.c (Ffile_name_completion): Make argument name - match its use in docstring. - -2005-05-08 Luc Teirlinck - - * eval.c (Fdefvaralias): Remove any pre-existing - variable-documentation property of the alias. - -2005-05-07 Thien-Thi Nguyen - - * xfns.c (start_hourglass): Do nothing when running on a tty. - -2005-05-07 Juanma Barranquero - - * fns.c (Fchar_table_range): Fix typos in docstring. - -2005-05-06 Stefan Monnier - - * fns.c (Fchar_table_range): Yet Another Int/Lisp_Object Mixup. - -2005-05-06 Eli Zaretskii - - * lread.c (Flocate_file_internal): Doc fix. - - * Makefile.in (lisp, shortlisp): Add jka-cmpr-hook.elc. - -2005-05-06 YAMAMOTO Mitsuharu - - * macselect.c (x_own_selection): Accept Lisp string as result of - selection converter function. - (x_clear_frame_selections): Don't call x-lost-selection-functions - if Emacs is not owner of the selection. - (Vmac_services_selection): Put variable and initialization in - #ifdef MAC_OSX. - (syms_of_macselect) [MAC_OSX]: Set default value of - Vmac_services_selection to PRIMARY. - - * macterm.c (toolkit_scroll_bar_interaction): Remove unused variable. - (mac_handle_tool_bar_click): Remove unused function and declaration. - [USE_TOOLKIT_SCROLL_BARS] (scroll_bar_timer_callback) - (install_scroll_bar_timer, set_scroll_bar_timer) - (control_part_code_to_scroll_bar_part, construct_scroll_bar_click) - (get_control_part_bound, x_scroll_bar_handle_press) - (x_scroll_bar_handle_release, x_scroll_bar_handle_drag) - (x_set_toolkit_scroll_bar_thumb): New functions and declarations. - [USE_TOOLKIT_SCROLL_BARS] (last_scroll_bar_part, scroll_bar_timer) - (scroll_bar_timer_event_posted_p): New variables. - [USE_TOOLKIT_SCROLL_BARS] (SCROLL_BAR_FIRST_DELAY) - (SCROLL_BAR_CONTINUOUS_DELAY): New macros. - (x_scroll_bar_create): Set control reference with NewControl. - (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: - Initialize track_top and track_height to nil. - (x_scroll_bar_set_handle, x_scroll_bar_note_movement): - Put functions in #ifndef USE_TOOLKIT_SCROLL_BARS. - (XTset_vertical_scroll_bar): Don't make space between scroll bar - and associated window. - (XTset_vertical_scroll_bar) [MAC_OSX]: Get scroll bar area width - from window config. - (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: - Set track_top and track_height to nil when scroll bar size is changed. - Recalculate them if they are nil. - (XTread_socket) [MAC_OSX]: Use control kind to determine if the - clicked control is a scroll bar. - (XTread_socket) [USE_TOOLKIT_SCROLL_BARS]: Use toolkit scroll bar - event handler functions. Don't add modifiers to scroll bar click - events. Call scroll bar release handler when window is deactivated. - (mac_initialize): Remove unused code for X toolkit. - (syms_of_macterm) [!USE_TOOLKIT_SCROLL_BARS]: - Initialize Vx_toolkit_scroll_bars to nil. - - * macterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: - New members track_top and track_height. - - * sysselect.h [DARWIN || MAC_OSX]: Temporarily undefine - init_process when including sys/select.h. - -2005-05-05 Luc Teirlinck - - * eval.c (Fdefvaralias): Doc fix. - - * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Doc fixes. - -2005-05-05 Kim F. Storm - - * buffer.c (init_buffer_once): Set cursor_in_non_selected_windows - default value. - (syms_of_buffer): Add default-cursor-in-non-selected-windows. - Fix type of cursor-in-non-selected-windows. - -2005-05-03 Jan Dj,Ad(Brv - - * mac.c: #undef init_process so not to conflict with system headers. - -2005-05-02 Richard M. Stallman - - * buffer.c (syms_of_buffer): Define cursor-in-non-selected-windows. - - * buffer.h (struct buffer): Add cursor_in_non_selected_windows slot. - - * xdisp.c (Vcursor_in_non_selected_windows) - (Qcursor_in_non_selected_windows): Vars deleted. - (syms_of_xdisp): Don't initialize them. - (get_window_cursor_type): Use cursor_in_non_selected_windows - buffer slot. - -2005-05-02 Kim F. Storm - - * macros.c (executing_kbd_macro_index): Rename from - executing_macro_index. All uses changed. - (executing_kbd_macro_iterations): Rename from - executing_macro_iterations. All uses changed. - (executing_kbd_macro): Rename from executing_macro. - All uses changed. - (syms_of_macros): Rename Lisp var executing-macro-index to - executing-kbd-macro-index. - - * xdisp.c (move_it_in_display_line_to): Fix last change. - -2005-05-01 Luc Teirlinck - - * xmenu.c (Fx_popup_menu): Doc fix. - - * charset.c (syms_of_charset): Delete defsubr for Schars_in_region. - -2005-05-02 Jason Rumney - - * emacs.c (USAGE3, USAGE4): Keep strings below 2048 bytes. - -2005-05-02 Nozomu Ando - - * sysselect.h: Fix typo. - -2005-05-02 Nick Roberts - - * charset.c (Fchars_in_region): Remove as obsolete. - -2005-05-01 Kim F. Storm - - * xdisp.c (move_it_in_display_line_to): Stop if we move beyond - TO_CHARPOS. This may happen if last glyphs was an image or stretch - glyph. - -2005-05-01 Luc Teirlinck - - * dispnew.c (sit_for): Vexecuting_macro -> Vexecuting_kbd_macro. - -2005-05-01 Richard M. Stallman - - * xmenu.c [not HAVE_X_TOOLKIT] (xmenu_show): - If user cancels the menu, quit unless FOR_CLICK. - - * macros.c (Vexecuting_kbd_macro): Rename from Vexecuting_macro. - All uses changed. - (syms_of_macros): Define only executing-kbd-macro, not executing-macro. - * keyboard.c: Change Vexecuting_macro to Vexecuting_kbd_macro. - * macros.h (Vexecuting_kbd_macro): Declare instead of Vexecuting_macro. - * commands.h (Vexecuting_kbd_macro): Likewise. - -2005-05-01 Thien-Thi Nguyen - - * sysdep.c (get_frame_size) [VMS]: Use a fresh i/o channel. - -2005-04-30 Richard M. Stallman - - * fileio.c (Ffind_file_name_handler): Handle the `operations' - property of the file name handler. - (Qoperations): New variable. - (syms_of_fileio): Initialize and staticpro it. - - * xdisp.c (set_message_1): Delete xassert. - -2005-04-29 YAMAMOTO Mitsuharu - - * mac.c: Don't include time.h. Include sysselect.h after systime.h. - - * macfns.c (Fx_server_version): Add BLOCK_INPUT around Gestalt. - - * macgui.h [HAVE_CARBON && MAC_OSX]: Don't undefine/define mktime - before/after including Carbon.h if there is a working mktime. - -2005-04-28 Kim F. Storm - - * xfaces.c (resolve_face_name): Add arg SIGNAL_P. Calls changed. - Fix cyclic alias check. If alias loop is detected, signal - circular-list error if SIGNAL_P, and return Qdefault if !SIGNAL_P. - -2005-04-28 Lute Kamstra - - * eval.c (do_autoload): Record only autoloads in the autoload - property of symbols. - -2005-04-28 Nick Roberts - - * emacs.c (USAGE1): Add --basic-display and --quick options. - -2005-04-27 Kim F. Storm - - * data.c (syms_of_data) Staticpro Qcyclic_variable_indirection. - -2005-04-26 Richard M. Stallman - - * window.c (Fsame_window_p, Fspecial_display_p): Doc fixes. - (syms_of_window): Doc fixes. - - * indent.c (Fvertical_motion): Undo previous change. - -2005-04-26 Kenichi Handa - - * fns.c (char_table_range): New function. - (Fchar_table_range): Signal an error if characters in the range - have inconsistent values. Don't check the parent. - -2005-04-25 Kenichi Handa - - * fontset.c (fontset_set): Fix previous change. - -2005-04-24 Richard M. Stallman - - * indent.c (Fvertical_motion): Bind fontification-functions to nil. - -2005-04-24 Eli Zaretskii - - * regex.c (re_search_2, re_match_2_internal): Convert second arg - of RE_TRANSLATE to int, to shut up GCC warnings. - - * fileio.c (Fcopy_file): Doc fix. - [MSDOS]: Fix call to emacs_open: buffer_file_type not defined and - not needed. - -2005-04-24 YAMAMOTO Mitsuharu - - * Makefile.in [HAVE_CARBON] (MAC_OBJ): Add macselect.o. - (SOME_MACHINE_OBJECTS): Likewise. - (mac.o): Depend on ccl.h. - (macselect.o): New target. - - * emacs.c (main) [MAC_OS8 || MAC_OSX && HAVE_CARBON]: - Call syms_of_macselect. - - * frame.c (Fdelete_frame) [MAC_OS]: Call x_clear_frame_selections. - - * mac.c [!TARGET_API_MAC_CARBON]: Don't include charset.h or coding.h. - (QCLIPBOARD): Remove variable. - (syms_of_mac): Don't initialize it. - (Fmac_paste_function, Fmac_cut_function, Fx_selection_exists_p): - Remove functions. - (syms_of_mac): Don't defsubr them. - [TARGET_API_MAC_CARBON] (Qmime_charset, QNFD, QNFKD, QNFC, QNFKC) - (QHFS_plus_D, QHFS_plus_C): New variables. - (syms_of_mac) [TARGET_API_MAC_CARBON]: Initialize them. - [TARGET_API_MAC_CARBON] (get_cfstring_encoding_from_lisp) - (cfstring_create_normalized): New functions. - [TARGET_API_MAC_CARBON] (Fmac_code_convert_string): Likewise. - (syms_of_mac) [TARGET_API_MAC_CARBON]: Defsubr it. - - * macterm.c (handling_window_update, terminate_flag): - Remove variables. - (do_window_update, do_ae_quit_application, XTread_socket): - Don't use them. - (WNE_SLEEP_AT_SUSPEND, WNE_SLEEP_AT_RESUME): Don't define. - [USE_CARBON_EVENTS && MAC_OSX] (mac_handle_service_event) - (init_service_handler): Move to macselect.c. Remove declarations. - [USE_CARBON_EVENTS && MAC_OSX] (init_service_handler): Add extern. - (Qapplication, Qabout): New variables. - (syms_of_mac): Initialize them. - [USE_CARBON_EVENTS && MAC_OSX] (Qpreferences, Qservices, Qpaste) - (Qperform): New variables. - (syms_of_mac) [USE_CARBON_EVENTS && MAC_OSX]: Initialize them. - (do_get_menus) [TARGET_API_MAC_CARBON]: Don't call AppendResMenu. - (do_menu_choice): Unhighlight menu bar also when menu_id is 0. - (mac_store_application_menu_event, init_menu_bar): New functions. - [USE_CARBON_EVENTS] (mac_handle_command_event) - (init_command_handler): New functions. - (mac_handle_window_event): Return noErr on window update event. - (do_ae_quit_application): Call mac_store_application_menu_event. - (mac_initialize) [USE_CARBON_EVENTS]: Call init_command_handler - and init_menu_bar. - - * macterm.h (x_clear_frame_selections): Add extern. - - * macselect.c: New file for selection processing on Mac OS. - -2005-04-23 Richard M. Stallman - - * fileio.c (Fcopy_file): New arg MUSTBENEW. - (Frename_file): Pass new arg to Fcopy_file. - - * window.c (window_size_fixed): Variable deleted. - (syms_of_window): Initialize window-size-fixed to nil. - But don't DEFVAR window_size_fixed. - -2005-04-23 Andreas Schwab - - * m/macppc.h (LD_SWITCH_MACHINE) [LINUX]: Don't define. - (START_FILES, LIB_STANDARD) [LINUX && _ARCH_PPC64]: Override to - use lib64 instead of lib. - (_LP64) [_ARCH_PPC64]: Define if not defined. - -2005-04-23 David Hunter (tiny change) - - * s/ms-w32.h (HAVE_PWD_H): Define. - -2005-04-22 Kenichi Handa - - * fns.c (copy_sub_char_table): Explicitly copy the default value - of the sub-chartable. - - * fontset.c (fontset_set): When a sub-chartable is created, - explicitly sets the defalt value. - -2005-04-22 Kim F. Storm - - * fns.c (Fplist_get): Replace by Fsafe_plist_get. - (Fsafe_plist_get): Rename to Fplist_get. - (Fsafe_get): Remove, as Fget now uses safe Fplist_get. - (defsubr): Remove defsubr for Fsafe_plist_get and Fsafe_get. - - * lisp.h (Fsafe_plist_get, Fsafe_get): Remove EXFUN. - - * xdisp.c (store_mode_line_string, produce_stretch_glyph) - (note_mode_line_or_margin_highlight, note_mouse_highlight): - Use Fplist_get instead of Fsafe_plist_get. - - * xfaces.c (resolve_face_name): Use Fget instead of Fsafe_get. - -2005-04-21 Miles Bader - - * xdisp.c (dump_glyph_row): Don't display overlay_arrow_p field. - -2005-04-20 Thien-Thi Nguyen - - * sysdep.c: Remove reference to defunct vms-pwd.h. - * dired.c: Likewise. Also, for pwd.h, use HAVE_PWD_H, not !VMS. - * editfns.c, fileio.c, filelock.c, sysdep.c, xrdb.c: Likewise. - - * config.in: Regenerate. - -2005-04-20 Kenichi Handa - - * lisp.h (CHAR_TABLE_DEFAULT_SLOT_ASCII): New macro. - (CHAR_TABLE_DEFAULT_SLOT_8_BIT_CONTROL): New macro. - (CHAR_TABLE_DEFAULT_SLOT_8_BIT_GRAPHIC): New macro. - - * alloc.c (make_sub_char_table): Argument changed to initial - value of the slots. - - * data.c (Faref): Handle special slots used as default values of - ascii, eight-bit-control, eight-bit-control. Don't ignore a - default value set for a group of characters. - (Faset): Signal an error if IDXVAL is not a valid character code. - Make a sub-chartable with correct initial value. - - * fns.c (Fset_char_table_range): Don't set slots used as default - values for ascii, eight-bit-control, eight-bit-graphic. - Don't call Faref with charset-id. - (Fset_char_table_default): Document how to treat normal character - argument. Handle special slots used as default values of ascii, - eight-bit-control, eight-bit-control. Make a sub chartable if - necessary. - -2005-04-20 Kenichi Handa - - * search.c (boyer_moore): Fix previous change. - -2005-04-19 Kim F. Storm - - * xdisp.c (setup_for_ellipsis): Reset saved_face_id to use default - face unless last visible char and first invisible char have the - same face. Also use default face if saved_face_id is undefined. - -2005-04-19 YAMAMOTO Mitsuharu - - * macgui.h (MacFontStruct): Remove member `fontname'. Add member - `full_name'. - [TARGET_API_MAC_CARBON] (MacFontStruct): Use type int for - mac_scriptcode member. - - * macterm.c (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables. - (syms_of_mac): Don't initialize them. - (Vmac_charset_info_alist): New variable. - (syms_of_mac): Defvar it. - (create_text_encoding_info_alist): New function. - (decode_mac_font_name, mac_to_x_fontname) - (x_font_name_to_mac_font_name, init_font_name_table): Don't hard - code the correspondence among XLFD charsets, Mac script codes, and - Emacs coding systems. Use Vmac_charset_info_alist and result of - create_text_encoding_info_alist instead. - (init_font_name_table) [TARGET_API_MAC_CARBON]: Use Font Manager - routines also on Mac OS Classic. - (init_font_name_table) [!TARGET_API_MAC_CARBON]: - Use add_font_name_table_entry. - (mac_do_list_fonts): Regard 0 in XLFD scaleble fields as - specified. Derive unspecified scalable fields from specified one. - (x_list_fonts): Consider Valternate_fontname_alist. - (kDefaultFontSize): Change value from 9 to 12. - (XLoadQueryFont): Get decoded font family, font face, and charset - from x_font_name_to_mac_font_name. Set full name of loaded font. - (mac_unload_font): Free `full_name' member. - (x_load_font): Don't try XLoadQueryFont if x_list_fonts returns - NULL. Copy full_name member of struct MacFontStruct to that of - struct font_info. - -2005-04-19 Kim F. Storm - - * xdisp.c (handle_stop): Set saved_face_id to current face if - selective_display_ellipsis_p so ellipsis will be shown in same - face as preceding text. - (setup_for_ellipsis): Don't set saved_face_id here. - (next_element_from_display_vector): Default to saved_face_id. - - * fns.c (Fsafe_get): New function. - (syms_of_fns): Defsubr it. - - * lisp.h (Fsafe_get): EXFUN it. - - * xfaces.c (resolve_face_name): Use Fsafe_get to avoid redisplay - loops in case of bad face property lists. Limit number of face - alias lookups to 10 (in case of face alias loops). - -2005-04-18 Kim F. Storm - - * dispextern.h (struct glyph_row): New member overlay_arrow_bitmap. - It replaces the corresponding member from struct window, as a - window may now show multiple overlay arrows. - Remove member overlay_arrow_p, superseeded by overlay_arrow_bitmap. - - * dispnew.c (row_equal_p, update_window_line, scrolling_window): - Compare overlay_arrow_bitmap than overlay_arrow_p members. - - * fringe.c (draw_fringe_bitmap): Use overlay_arrow_bitmap from row - rather than from window. - (update_window_fringes): Compare overlay_arrow_bitmap rather than - overlay_arrow_p members. - (Ffringe_bitmaps_at_pos): Return fringe overlay_arrow_bitmap name - if not default. - - * window.h (struct window): Remove member overlay_arrow_bitmap. - - * window.c (make_window): Don't initialize overlay_arrow_bitmap. - - * xdisp.c (overlay_arrow_string_or_property): Remove PBITMAP arg. - Calls changed. Don't check for overlay-arrow-bitmap property here. - (overlay_arrow_at_row): Remove PBITMAP arg. Instead, if left - fringe is present, return Lisp integer for bitmap (or -1 for default). - Fix value of overlay-arrow-bitmap property to be a symbol, use - lookup_fringe_bitmap to parse it. - (display_line): Change call to overlay_arrow_at_row. Store integer - return value as overlay bitmap in row rather than window. - Only show overlay arrow if row displays text, or if no other overlay - arrow is seen in window (if overlay marker is at point-max). - -2005-04-18 Thien-Thi Nguyen - - * xfaces.c (realize_x_face) [!HAVE_WINDOW_SYSTEM]: Return NULL. - -2005-04-18 Lute Kamstra - - * lread.c (Vloads_in_progress): Static. - * fns.c (Vloads_in_progress): Remove extern. - (load_in_progress): Add extern. - (Frequire): Use load_in_progress instead of Vloads_in_progress. - -2005-04-18 Thien-Thi Nguyen - - * xmenu.c (Fx_popup_menu): Initialize error_name to NULL. - -2005-04-18 YAMAMOTO Mitsuharu - - * macterm.c (XTread_socket): Don't beep on keyboard input even if - no frame is visible. - -2005-04-16 Dan Nicolaescu - - * term.c (struct keys): Add support for shifted keys. - -2005-04-16 Richard M. Stallman - - * xdisp.c (with_echo_area_buffer): Delete WHICH < 0 case. - (set_message): Call with_echo_area_buffer with WHICH = 0. - (set_message_1): Erase the echo area buffer first thing. - (echo_area_display): Don't clear echo_message_buffer. - -2005-04-16 YAMAMOTO Mitsuharu - - * Makefile.in (mac.o): Depend on charset.h and coding.h. - - * mac.c: Include charset.h and coding.h. - [TARGET_API_MAC_CARBON] (Qutf_8): Remove extern. - [TARGET_API_MAC_CARBON] (cfstring_create_with_string): New function. - [TARGET_API_MAC_CARBON] (Fmac_get_preference): Use it. - - * macfns.c [TARGET_API_MAC_CARBON] (Fx_file_dialog): Likewise. - - * image.c [MAC_OSX] (image_load_quartz2d): Likewise. - - * macterm.c (x_autoselect_window_p): Remove variable. - (last_window): New variable. - (XTreassert_line_highlight, x_change_line_highlight): - Remove declarations. - (mac_focus_changed, x_detect_focus_change): New functions and - declarations. - (XTextExtents16, front_emacs_window): Remove function. - (mac_focus_frame): New function. - (XTmouse_position, do_menu_choice, do_zoom_window, XTread_socket) - (mac_check_for_quit_char): Use it instead of front_emacs_window. - (x_scroll_bar_report_motion): Obtain window from control owner. - (x_make_frame_invisible): Set window manager size hint. - (do_mouse_moved): Remove function. - (XTread_socket): Move its contents here. Generate select-window - event on mouse movement if needed. Use x_detect_focus_change on - activate/deactivate events. Don't deiconify frame or invalidate - window rectangle when dnd items are dropped. - Don't activate/deactivate root control. - (frame_highlight, frame_unhighlight): Activate/deactivate root - control here. - (syms_of_macterm): Delete DEFVAR_BOOL for x_autoselect_window_p. - - * macterm.h (cfstring_create_with_string) [TARGET_API_MAC_CARBON]: - New extern. - -2005-04-15 Luc Teirlinck - - * Makefile.in: Define new macro TOOLTIP_SUPPORT. - (lisp): Use it. - (SOME_MACHINE_LISP): Add tooltip. - -2005-04-14 YAMAMOTO Mitsuharu - - * mac.c [!TARGET_API_MAC_CARBON]: Include MacLocales.h. - Don't include TextEncodingConverter.h. - (mac_system_script_code, Vmac_system_locale): New variables. - (syms_of_mac): Defvar them. - (mac_get_system_locale): New function. - - * macfns.c (x_set_name, x_set_title) [!TARGET_API_MAC_CARBON]: - Use ENCODE_SYSTEM to encode title bar string. - (x_create_tip_frame): Apply 2005-03-18 change for xfns.c. - (Fx_file_dialog) [TARGET_API_MAC_CARBON && !MAC_OSX]: - Use CFStringGetSystemEncoding to get system default string encoding. - - * macterm.c [!TARGET_API_MAC_CARBON]: Don't include - TextEncodingConverter.h. - -2005-04-13 Steven Tamm - - * macterm.c (syms_of_macterm): Remove redundant definition of - mac-pass-control-to-system. - -2005-04-12 Stefan Monnier - - * window.c (Fset_window_configuration): Be careful when you choose - among several possible points for the new_current_buffer. - -2005-04-12 YAMAMOTO Mitsuharu - - * keyboard.c (poll_for_input) [SYNC_INPUT]: Don't call - poll_for_input_1. Set interrupt_input_pending to 1 instead. - (Qlanguage_change) [MAC_OS]: New variable. - (syms_of_keyboard) [MAC_OS]: Intern and staticpro it. - (kbd_buffer_get_event) [MAC_OS]: Make event for LANGUAGE_CHANGE_EVENT. - - * macterm.c (mac_keyboard_text_encoding) - (current_mac_keyboard_text_encoding): Remove variables. - (XTread_socket): Store language-change event if keyboard script change - is detected. Don't convert input to `mac_keyboard_text_encoding'. - (syms_of_macterm): Delete DEFVAR_INT for mac-keyboard-text-encoding. - - * termhooks.h (enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT. - -2005-04-10 Richard M. Stallman - - * emacs.c (standard_args): Rename --bare-bones to --quick. - Add -D aka --basic-display. - - * buffer.c (Fmake_indirect_buffer): Clear out some local variables. - -2005-04-09 Richard M. Stallman - - * keymap.c (where_is_internal): Convert a string used as event type - into "(any string)". - - * lread.c (Vloads_in_progress): Not static. - * fns.c (Vloads_in_progress): Add extern. - (Frequire): Don't do LOADHIST_ATTACH if Vloads_in_progress is nil. - -2005-04-09 Thien-Thi Nguyen - - * dispnew.c (mirror_line_dance): Avoid crash if W2 is null. - -2005-04-09 Lute Kamstra - - * print.c (PRINTPREPARE): Check if the marker PRINTCHARFUN is - within the accessible part of the buffer. - -2005-04-09 Kim F. Storm - - * lread.c (readevalloop): Add args START and END as region in - current buffer to read. Callers changed. - When specified, narrow to this region only when reading, - not during eval. Track next point to read from during eval. - Also restore point to "real" buffer position before eval. - (Feval_region): Don't save excursion and restriction here, and - don't narrow to region. Just pass region to readevalloop. - Note: Point is now preserved even when PRINTFLAG is nil. - -2005-04-08 Kim F. Storm - - * xdisp.c (syms_of_xdisp): Init overlay-arrow-string to "=>". - -2005-04-06 Kim F. Storm - - * emacs.c (standard_args): Add -Q, --bare-bones, -bare-bones. - -2005-04-06 YAMAMOTO Mitsuharu - - * mac.c (cfdate_to_lisp): Add `const' for variable `epoch_gdate'. - (Fmac_get_preference): Doc fix. - - * macfns.c (Fx_create_frame, x_create_tip_frame): - Add "fontset-mac" to fallback font/fontsets. - -2005-04-04 Kim F. Storm - - * alloc.c (Fgarbage_collect): Call CHECK_CONS_LIST before and after gc. - - * eval.c (Ffuncall): Always call CHECK_CONS_LIST on entry. - Call it again after autoload. - -2005-04-02 Jan Dj,Ad(Brv - - * alloc.c (allocate_string_data): Call BLOCK_INPUT before calling - mallopt. - - * ralloc.c (r_alloc_init): Ditto. - -2005-04-01 Kenichi Handa - - * lisp.h (Vascii_upcase_table, Vascii_canon_table) - (Vascii_eqv_table): Extern them. - - * casetab.c (set_case_table): If standard is nonzero, setup - Vascii_upcase_table, Vascii_canon_table, and Vascii_eqv_table. - - * search.c (looking_at_1): Use current_buffer->case_canon_table, - not DOWNCASE_TABLE. - (string_match_1): Likewise. - (fast_c_string_match_ignore_case): Use Vascii_canon_table, not - Vascii_downcase_table. - (fast_string_match_ignore_case): Likewise. - (search_buffer): Fix checking of boyer-moore usability. - (boyer_moore): Calculate translate_prev_byte1/2/3 in advance. - No need of tranlating characters in PAT. Fix calculation of - simple_translate. - -2005-03-31 Stefan Monnier - - * xterm.c [HAVE_XAW3D]: Include ThreeD.h for XtNbeNiceToColormap. - (x_create_toolkit_scroll_bar): Test XtNbeNiceToColormap before using it. - Use XtNtopShadowPixel and XtNbottomShadowPixel. - (x_set_toolkit_scroll_bar_thumb): Remove ugly old hack that didn't - really work and that breaks with some versions of Xaw3d. - -2005-03-31 Kenichi Handa - - * coding.c (syms_of_coding): Fix previous change. - -2005-03-30 Stefan Monnier - - * fileio.c (search_embedded_absfilename): Fix last change. - -2005-03-25 Kenichi Handa - - * coding.c (syms_of_coding): Suggest to use set-coding-category in - the docstring of coding-category-list. - -2005-03-31 Kim F. Storm - - * keyboard.c (Qmouse_fixup_help_message): New var. - (syms_of_keyboard): Intern and staticpro it. - (show_help_echo): Apply mouse-fixup-help-message to help string. - -2005-03-30 Kim F. Storm - - * xdisp.c (display_line): Allow multiple overlay arrows in window. - -2005-03-28 Stefan Monnier - - * fileio.c (Fexpand_file_name): Use IS_DEVICE_SEP. - (file_name_absolute_p): New fun, extracted from Ffile_name_absolute_p. - (Ffile_name_absolute_p): Use it. - (search_embedded_absfilename): New fun, extracted from - Fsubstitute_in_file_name. Use file_name_absolute_p. - Free the pw data after use. - (Fsubstitute_in_file_name): Use it. - After cutting a prefix, re-check file-name-handler. - -2005-03-26 Lennart Borgman - - * w32term.h (x_output): Add focus_state. - - * w32term.c (x_focus_changed, w32_detect_focus_change): New functions. - (w32_read_socket) : Call w32_detect_focus_change. - -2005-03-25 Stefan Monnier - - * minibuf.c (Fminibuffer_complete_and_exit, Fself_insert_and_exit): - Use Fexit_minibuffer. - (Fexit_minibuffer): Mark it as no-return, deactivate the mark. - -2005-03-24 Stefan Monnier - - * dired.c (Ffile_attributes): Add a missing gcpro. - - * alloc.c (make_number): The arg can be bigger than `int'. - * lisp.h (make_number): Make prototype more precise. - - * process.c, dired.c (Vfile_name_coding_system) - (Vdefault_file_name_coding_system): - * callproc.c (Vdoc_file_name, Vfile_name_coding_system) - (Vdefault_file_name_coding_system): Remove unused declarations. - -2005-03-24 Jan Dj,Ad(Brv - - * xmenu.c (create_and_show_popup_menu): Just remove menu and return - if it failed to pop up (Gnome "show pointer on ctrl" option makes - menus fail to pop up). - -2005-03-24 Stefan Monnier - - * xdisp.c (get_next_display_element): Also use `\ ' & `\-' for latin-9. - Just prepend a backslash without replacing the NBSP by an SPC. - -2005-03-22 Kim F. Storm - - * xfaces.c (lookup_derived_face): Add arg SIGNAL_P. - * dispextern.h (lookup_derived_face): Fix prototype. - * msdos.c (XMenuActivate): Fix call to lookup_derived_face. - - * xdisp.c (handle_single_display_spec): Derive left-fringe and - right-fringe face from fringe face. - - * fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face): - Derive face from fringe face. - -2005-03-22 Jan Dj,Ad(Brv - - * xrdb.c (x_load_resources): Undo previous change (2005-03-18). - -2005-03-22 David Kastrup - - * textprop.c (Fnext_char_property_change) - (Fprevious_char_property_change): Allow marker as limit. - (Fnext_single_char_property_change) - (Fprevious_single_char_property_change): Check that limit is a - number in strings. - (Fnext_single_char_property_change): Coerce position to integer. - (Fprevious_single_char_property_change): Same here. - -2005-03-21 Thien-Thi Nguyen - - * s/openbsd.h (LD_SWITCH_SYSTEM_tmp): Define if undefined. - -2005-03-19 Stefan Monnier - - * frame.c (Fignore_event): Remove. - (syms_of_frame): Don't defsubr it. - - * keyboard.c (keys_of_keyboard): Just use `ignore' instead of the - redundant `ignore-event'. - -2005-03-19 Eli Zaretskii - - * unexec.c (write_segment, unexec): Move these functions to avoid - forward references (which cause errors with "gcc -gcoff"). - -2005-03-18 Jan Dj,Ad(Brv - - * xfns.c (x_create_tip_frame): Remove setting of Vx_resource_name so - that it doesn't become "tooltip". The specbind is enough. - - * xrdb.c (x_load_resources): Use different char *helv when I18N - is present. - -2005-03-17 Kenichi Handa - - * coding.c (syms_of_coding): Docstring of coding-category-list fixed. - -2005-03-17 Stefan Monnier - - * xfaces.c (x_update_menu_appearance) [HAVE_X_I18N]: - Use xic_create_fontsetname even for non-Motif menus. - Don't forget to free the fontsetname. - - * xfns.c (xic_create_fontsetname): Add a final catch-all font pattern. - -2005-03-17 Richard M. Stallman - - * dispnew.c (mirror_line_dance): Set W2 according to FRAME_FROM. - - * fileio.c (Fcopy_file, Frename_file, Fadd_name_to_file) - (Fmake_symbolic_link): Use G to read the new file name. - - * callint.c (Finteractive): Document G option. - (Fcall_interactively): Implement G option. - - * buffer.c (buffer_lisp_local_variables): New function, - broken out from Fbuffer_local_variables. - (clone_per_buffer_values): Use buffer_lisp_local_variables. - -2005-03-17 Stefan Monnier - - * xfns.c (xic_create_fontsetname): Add `motif' argument. - Always return a freshly allocated string. - (xic_create_xfontset): Adjust call. - - * xfaces.c (x_update_menu_appearance) [USE_MOTIF]: - Use xic_create_fontsetname to create a fontset so utf-8 locales work. - (dump_realized_face): Fix warning. - - * emacs.c (Fkill_emacs): YAILOM. - - * frame.c (Fignore_event): Fix ancient obscure C-u handling bug. - -2005-03-17 YAMAMOTO Mitsuharu - - * mac.c (HASHKEY_TERMINAL): Remove. - (HASHKEY_MAX_NID): New macro. - (xrm_q_get_resource_1): Rename from xrm_q_get_resource. Add extra - argument. - (xrm_q_get_resource): Call xrm_q_get_resource_1 with extra argument. - (xrm_create_database, xrm_q_put_resource) - (xrm_merge_string_database, xrm_q_get_resource_1) - (xrm_q_get_resource): Change resource database representation so - that it may not use multiple hash tables for a single database. - [TARGET_API_MAC_CARBON] (xrm_cfproperty_list_to_value): YAILOM. - -2005-03-16 Stefan Monnier - - * xmenu.c (ENCODE_MENU_STRING) [HAVE_X_I18N]: Use ENCODE_SYSTEM. - - * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [!WINDOWSNT]: Use the - locale-coding-system, as was already done for WINDOWSNT. - - * keyboard.c (read_char): Only do the 7-bit-meta -> 27-bit-meta - translation for chars in the 0-255 range. - -2005-03-16 Lute Kamstra - - * floatfns.c (Ffloor): Doc fix. - -2005-03-16 YAMAMOTO Mitsuharu - - * mac.c: Include macterm.h instead of directly including Carbon.h. - [TARGET_API_MAC_CARBON] (Qstring, Qnumber, Qboolean, Qdate, Qdata) - (Qarray, Qdictionary): New variables. - (syms_of_mac) [TARGET_API_MAC_CARBON]: Initialize them. - [TARGET_API_MAC_CARBON] (Qutf_8): Add extern. - [TARGET_API_MAC_CARBON] (DECODE_UTF_8): New macro. - [TARGET_API_MAC_CARBON] (struct cfdict_context): New struct used - in callback for CFDictionaryApplyFunction. - [TARGET_API_MAC_CARBON] (cfdata_to_lisp, cfstring_to_lisp) - (cfnumber_to_lisp, cfdate_to_lisp, cfboolean_to_lisp) - (cfobject_desc_to_lisp, cfdictionary_add_to_list) - (cfdictionary_puthash, cfproperty_list_to_lisp): New functions. - [TARGET_API_MAC_CARBON] (Fmac_get_preference): New function. - (syms_of_mac) [TARGET_API_MAC_CARBON]: Defsubr it. - (P, LOOSE_BINDING, SINGLE_COMPONENT, HASHKEY_TERMINAL): New macro. - (skip_white_space, parse_comment, parse_include_file) - (parse_binding, parse_component, parse_resource_name, parse_value) - (parse_resource_line, xrm_create_database, xrm_q_put_resource) - (xrm_merge_string_database, xrm_q_get_resource, xrm_get_resource) - (xrm_cfproperty_list_to_value, xrm_get_preference_database): - New functions. - - * macfns.c (mac_get_rdb_resource): Remove function. - (x_get_string_resource): Use xrm_get_resource. - - * macgui.h (XrmDatabase): Typedef to Lisp_Object. - - * macterm.c (x_list_fonts): FONT-LIST-CACHE is now cadr part of - name_list_element. - (mac_make_rdb): Create resource database from preferences and - argument string. - (mac_term_init): Save resource database to cddr part of - name_list_element. - - * macterm.h (xrm_merge_string_database, xrm_get_resource) - (xrm_get_preference_database): Add externs. - [TARGET_API_MAC_CARBON] (cfdata_to_lisp, cfstring_to_lisp) - (cfnumber_to_lisp, cfdate_to_lisp, cfboolean_to_lisp) - (cfobject_desc_to_lisp, cfproperty_list_to_lisp): Likewise. - - * process.c (init_process): Change `#ifdef DARWIN' to `#if - defined (DARWIN) || defined (MAC_OSX)' - - * s/darwin.h (DARWIN): Don't define. - -2005-03-16 YAMAMOTO Mitsuharu - - * macfns.c (Qhyper, Qsuper, Qmeta, Qalt, Qctrl, Qcontrol, Qshift): - Remove unused variables. - (syms_of_macfns): Don't initialize them. Likewise for - Qface_set_after_frame_default. Defvar and initialize - Vx_window_horizontal_drag_shape. - (x_set_mouse_color): Change mouse pointer shape. - (mac_window) [!MAC_OSX]: Create root control. - (Fx_create_frame): Remove initializations of mouse pointer shapes. - (hourglass_started): New function (from xfns.c). - (start_hourglass, cancel_hourglass): Put function body in #ifdef - MAC_OSX. - (show_hourglass) [TARGET_API_MAC_CARBON]: Create progress - indicator for each non-tooltip frame if needed, and show it. - (hide_hourglass) [TARGET_API_MAC_CARBON]: Hide progress indicators. - - * macgui.h [!TARGET_API_MAC_CARBON]: Include Appearance.h and - Controls.h. Use ThemeCursor instead of CursHandle. - - * macterm.c (activate_scroll_bars, deactivate_scroll_bars): - Remove functions and declarations. - (mac_set_colors): Take argument for saving background color. - All callers changed. - (XDrawLine, XClearArea, mac_draw_bitmap, XFillRectangle) - (mac_draw_rectangle, mac_draw_string_common): Save and Restore - background color. - (x_update_end, mac_do_track_drag): Don't reset background color. - (mac_define_frame_cursor) [!TARGET_API_MAC_CARBON]: - Use SetThemeCursor. - (x_set_window_size) [TARGET_API_MAC_CARBON]: Move progress - indicator control to the upper-right corner of the window. - (arrow_cursor) [!TARGET_API_MAC_CARBON]: Remove variable. - (do_init_managers) [!TARGET_API_MAC_CARBON]: Don't initialize it. - (do_window_update): Update controls after updating content area. - (mac_handle_window_event): Remove unused extern. - (XTread_socket): Check both control handle and control part code - to determine whether a scroll bar is clicked. Activate/deactivate - root control instead of contained scroll bar controls. - (make_mac_terminal_frame): Use ThemeCursor constants. - - * macterm.h (struct mac_output) [TARGET_API_MAC_CARBON]: - New member hourglass_control. - (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): New defines. - (activate_scroll_bars, deactivate_scroll_bars): Remove declarations. - -2005-03-15 YAMAMOTO Mitsuharu - - * macterm.c (keycode_to_xkeysym_table): Change mapping so that it - coincides with that in Apple X11 except `clear', `enter' on - laptops, and fn + `enter' on laptops. - -2005-03-12 Stefan Monnier - - * xmenu.c (ENCODE_MENU_STRING): Explicitly use string_make_unibyte. - (list_of_panes, list_of_items, Fx_popup_menu): Use XCAR/XCDR. - (digest_single_submenu, xmenu_show): Use ENCODE_MENU_STRING. - - * xfns.c (xic_defaut_fontset): New constant. - (xic_create_fontsetname): New function. - Extracted from create_frame_xic. Try to generate a slightly - better fontset. - (xic_create_xfontset): Use it. - (create_frame_xic): Simplify. - -2005-03-11 Stefan Monnier - - * fileio.c (Fmake_symbolic_link): Fix last change. - -2005-03-11 Richard M. Stallman - - * fileio.c (Frename_file, Fadd_name_to_file) - (Fmake_symbolic_link): If NEWNAME or LINKNAME is a directory, - expand the basename of FILE relative to it. - -2005-03-11 Kenichi Handa - - * fileio.c (Finsert_file_contents): Call Fcheck_coding_system - before calling setup_coding_system so that autoloading of a coding - system work. - -2005-03-10 Jan Dj,Ad(Brv - - * xfns.c (hourglass_started): New function. - - * dispextern.h: Declare hourglass_started. - - * keyboard.c (Fexecute_extended_command): Restart hourglass - after call to Fcompleting_read if already started. - - * gtkutil.c (xg_update_scrollbar_pos): Call x_sync so that the - GTK main loop is entered in xterm.c, thus doing the redraw. - -2005-03-10 Kim F. Storm - - * xdisp.c (pos_visible_p): Fix X value in last line of buffer. - -2005-03-08 Kenichi Handa - - * frame.c (x_set_font): Call set_default_ascii_font if an - available font is found. - - * fontset.c (set_default_ascii_font): New function. - (syms_of_fontset): Don't set FONTSET_ASCII (Vdefault_fontset) here. - - * fontset.h (set_default_ascii_font): Extern it. - -2005-03-07 Kim F. Storm - - * xdisp.c (CLEAR_IMAGE_CACHE_COUNT): New const. - (clear_image_cache_count): New var. - (redisplay_internal): Don't clear face and image caches in the - middle of redisplay; do it afterwards. - - * blockinput.h (TOTALLY_UNBLOCK_INPUT): Avoid dangling else. - - * xdisp.c (notice_overwritten_cursor): Check that phys_cursor.vpos - is valid. If not, clear phys_cursor_on_p and return. - -2005-03-07 Andreas Schwab - - * blockinput.h (UNBLOCK_INPUT_TO): Always call UNBLOCK_INPUT. - -2005-03-06 Richard M. Stallman - - * keyboard.c (Ftop_level): Let Fthrow deal with UNBLOCK_INPUT. - - * eval.c (unwind_to_catch): Use UNBLOCK_INPUT_TO. - (Feval, Ffuncall): Use CHECK_CONS_LIST. - - * lisp.h (CHECK_CONS_LIST): New macro (two definitions). - - * blockinput.h (UNBLOCK_INPUT_TO): New macro. - (TOTALLY_UNBLOCK_INPUT): Handle a pending signal if any. - -2005-03-05 Juri Linkov - - * emacs.c (USAGE1): Replace Info node name "command arguments" - with "emacs invocation". - (USAGE3): Fix usage of `--color=MODE' which actually doesn't - allow arguments `--color' and `MODE' to be separated by space. - Add --no-blinking-cursor, -nbc. - (standard_args): Add -nbc, --no-blinking-cursor. - -2005-03-04 Thien-Thi Nguyen - - * s/vms.h: Define NO_HYPHENS_IN_FILENAMES. - * s/vms4-4.h, s/vms5-5.h: Undefine NO_HYPHENS_IN_FILENAMES. - * fileio.c (Fexpand_file_name) [VMS]: - Use NO_HYPHENS_IN_FILENAMES, not VMS4_4. - * doc.c (munge_doc_file_name) [VMS]: Likewise. - (Fsnarf_documentation): Call munge_doc_file_name. - -2005-03-04 Thien-Thi Nguyen - - * s/vms.h (FILE_SYSTEM_CASE): New macro. - * fileio.c (Fexpand_file_name) [VMS]: Don't upcase the name - "manually"; this is now handled generally via FILE_SYSTEM_CASE. - -2005-03-04 YAMAMOTO Mitsuharu - - * emacs.c (main): Change `#ifdef HAVE_CARBON' to `#if - defined (MAC_OSX) && defined (HAVE_CARBON)'. - - * image.c [!MAC_OSX && TARGET_API_MAC_CARBON]: Include QuickTime.h. - - * mac.c [!MAC_OSX && HAVE_CARBON]: Include Carbon.h. - [!MAC_OSX] (select) [TARGET_API_MAC_CARBON]: Use ReceiveNextEvent. - (posix_pathname_to_fsspec, fsspec_to_posix_pathname): New functions. - (mac_clear_font_name_table): Move extern to macterm.h. - - * macfns.c (install_window_handler): Move extern to macterm.h. - (Fx_file_dialog): Check STRINGP (default_filename) to see it is - valid. Don't check !NILP (dir) because it is already checked with - CHECK_STRING. - (Fx_file_dialog) [!MAC_OSX]: Use FSSpec instead of FSRef for - specifying the default location and obtaining the selected filename. - - * macgui.h [!MAC_OSX && HAVE_CARBON]: Include Carbon.h. - - * macmenu.c [TARGET_API_MAC_CARBON]: Don't include headers that - are included via Carbon.h. - - * macterm.c [TARGET_API_MAC_CARBON && !MAC_OSX]: - Define USE_CARBON_EVENTS to 1. - (qd) [__MRC__ && TARGET_API_MAC_CARBON]: Don't declare. - (x_free_frame_resources): Call remove_window_handler for - non-tooltip windows. - [TARGET_API_MAC_CARBON]: Don't include headers that are included - via Carbon.h. - [TARGET_API_MAC_CARBON] (mac_do_track_dragUPP) - (mac_do_receive_dragUPP): New variables. - (mac_handle_service_event, init_service_handler): Put declarations - and definitions in #ifdef MAC_OSX. - (install_window_handler) [TARGET_API_MAC_CARBON]: Create UPPs for - drag-and-drop handler functions and register them. - (remove_window_handler): New function. - (do_ae_open_documents, mac_do_receive_drag) [!MAC_OSX]: - Use fsspec_to_posix_pathname. - (main): Change #if !TARGET_API_MAC_CARBON to #ifdef MAC_OS8. - (XTread_socket) [!MAC_OSX]: Don't pass keyboard events to TSM. - [MAC_OS8] (make_mac_terminal_frame) [TARGET_API_MAC_CARBON]: - Set default cursors. - (mac_initialize) [USE_CARBON_EVENTS && !MAC_OSX]: Don't call - init_service_handler or init_quit_char_handler. - (mac_initialize) [!MAC_OSX]: Don't call MakeMeTheFrontProcess. - - * macterm.h (install_window_handler, remove_window_handler) - (posix_pathname_to_fsspec, fsspec_to_posix_pathname) - (mac_clear_font_name_table): New externs. - -2005-03-03 Thien-Thi Nguyen - - * fileio.c (FILE_SYSTEM_CASE): Define macro if not already defined. - (Ffile_name_directory): Use FILE_SYSTEM_CASE unconditionally. - (Fexpand_file_name): Likewise. - -2005-03-03 Thien-Thi Nguyen - - * emacs.c (Fkill_emacs): Use EXIT_SUCCESS; - no longer special-case VMS. Add bogus return value. - -2005-03-02 Kim F. Storm - - * dispextern.h (XASSERTS): Define to 0 if not already defined. - (xassert) [!XASSERTS]: Define dummy version. - -2005-03-02 Kim F. Storm - - * xdisp.c (redisplay_window): YABX (yet another bogus xassert). - Reported by David Kastrup. - -2005-03-01 Ehud Karni - - * xdisp.c (get_next_display_element): Fix control and escape - glyph from display vector. - -2005-03-01 Stefan Monnier - - * keyboard.c (Fposn_at_x_y): Check integerness of X and Y. - -2005-02-27 Richard M. Stallman - - * xdisp.c (fast_find_position): Rename END to BEG. - (syms_of_xdisp) : Doc fix. - -2005-02-27 Jan Dj,Ad(Brv - - * gtkutil.c (xg_resize_outer_widget): Remove unneeded call to - gtk_window_resize and x_wm_set_size_hint. - -2005-02-25 Kim F. Storm - - * dispextern.h (OVERLAY_STRING_CHUNK_SIZE): Increase from 3 to 16. - - * xdisp.c (init_from_display_pos): Don't read past end of - it->overlay_strings array. - -2005-02-25 Stephan Stahl (tiny change) - - * buffer.c (syms_of_buffer): Fix typo. - -2005-02-23 Lute Kamstra - - * buffer.c (Foverlay_buffer): Doc fix. - -2005-02-22 Kim F. Storm - - * minibuf.c (Ftry_completion, Fall_completions): Allow both string - and symbol keys in alists and hash tables. - - * xdisp.c (fast_find_position): Fix search for start of overlay. - -2005-02-21 Kim F. Storm - - * window.c (window_scroll_pixel_based): When scrolling backwards, - handle partial visible line at end of window even when we hit PT. - -2005-02-21 Stefan Monnier - - * keymap.h: Declare Fcurrent_active_maps, used in doc.c. - -2005-02-21 Kim F. Storm - - * xdisp.c (move_it_vertically_backward): Eliminate two xasserts. - I think those asserts are bogus if buffer contains invisible text - or images. - -2005-02-21 David Kastrup - - * gtkutil.c (xg_create_frame_widgets): UNBLOCK_INPUT on error. - -2005-02-20 Kim F. Storm - - * xdisp.c (pos_visible_p): Be sure to move to the specified - position. Always get the full ascent / descent of the - corresponding row, to return reliable rtop and rbot values. - (back_to_previous_visible_line_start): Fix 2005-01-18 change. - Must look one character back, as back_to_previous_line_start - returns position after the newline. - (move_it_vertically_backward): Fix heuristic for when to move further - back in case line_height * 2/3 is larger than window height. - (cursor_row_fully_visible_p): Rename make_cursor_line_fully_visible_p - as it does not do anything anymore. Add arg current_matrix_p to - use current matrix rather than desired matrix when set. - (try_cursor_movement): Don't scroll to make cursor row fully - visible if cursor didn't move. This avoids unexpected recentering - in case of blinking cursor or accepting process output. - Use current matrix to check cursor row visibility. - (redisplay_window): Fix whether to recenter or move to top in case - cursor line is taller than window height. - (find_first_unchanged_at_end_row): Stop search if we reach a row - which not enabled (instead of abort). - -2005-02-18 Kim F. Storm - - * xfaces.c (Finternal_set_lisp_face_attribute): Allow :color property - to be nil in a :box attribute value list; customize prints that - as lisp value when no box color is specified. - - * .gdbinit (pitx, pit): Pretty print display iterator. - (prowx, prow): Pretty print glyph row. - (pcursorx, pcursor): Pretty print a window cursor. - (pwinx, pwin): Pretty print struct window. - -2005-02-18 Stefan Monnier - - * alloc.c (BLOCK_BYTES): Harmless typo. - -2005-02-17 Andreas Schwab - - * xfns.c (hack_wm_protocols): Use correct type for last parameter - of XGetWindowProperty to avoid aliasing issues. - (Fx_window_property): Likewise. - - * xselect.c (Fx_disown_selection_internal): Use union of struct - input_event and struct selection_input_event to avoid aliasing issues. - - * xterm.c (handle_one_xevent): Use union of struct input_event and - struct selection_input_event to avoid aliasing issues. - (SET_SAVED_MENU_EVENT): Adapt reference to inev. - -2005-02-17 Kim F. Storm - - * dispextern.h (enum it_method): New enum. - (GET_FROM_*): Its members. - (struct it): Change member method from function pointer to enum. - - * xdisp.c (check_it, init_from_display_pos, handle_stop) - (setup_for_ellipsis, handle_single_display_spec) - (handle_composition_prop, next_overlay_string) - (get_overlay_strings, reseat_1, reseat_to_string) - (next_element_from_ellipsis, BUFFER_POS_REACHED_P) - (in_display_vector_p, display_line, get_next_display_element): - Change it->method from function pointer to enum. - (get_next_element): New array to map it->method to function. - (get_next_display_element): Use it. - (set_iterator_to_next): Use switch instead of if/else chain. - -2005-02-15 Benjamin Riefenstahl - - * w32select.c: Summary: Thorough rework to implement Unicode - clipboard operations and delayed rendering. - - Drop last_clipboard_text and related code, keep track of - ownership via clipboard_owner instead. Drop old #if0 sections. - - (DEFAULT_LCID, ANSICP, OEMCP, QUNICODE, QANSICP, QOEMCP) - (clipboard_owner, modifying_clipboard, cfg_coding_system) - (cfg_codepage, cfg_lcid, cfg_clipboard_type, current_text) - (current_coding_system, current_requires_encoding) - (current_num_nls, current_clipboard_type, current_lcid): - New static variables. - - (convert_to_handle_as_ascii, convert_to_handle_as_coded) - (render, render_all, run_protected, lisp_error_handler) - (owner_callback, create_owner, setup_config) - (enum_locale_callback, cp_from_locale, coding_from_cp): - New local functions. - - (term_w32select, globals_of_w32select): New global functions. - - (Fw32_set_clipboard_data): Ignore parameter FRAME, use - clipboard_owner instead. Use delayed rendering and provide - all text formats. Provide CF_LOCALE if necessary. - - (Fw32_get_clipboard_data): Handle CF_UNICODETEXT and - CF_LOCALE. Fall back to CF_TEXT, if CF_UNICODETEXT is not - available. Force DOS line-ends for decoding. - - (Fx_selection_exists_p): Handle CF_UNICODETEXT. - - (syms_of_w32select): Init and register new variables. - - * w32.h: Add prototypes for globals_of_w32select and - term_w32select. Make the neighboring K&R declarations into - prototypes, too. - - * emacs.c: Include w32.h to get function prototypes. - (main): Call globals_of_w32select. - - * w32.c (term_ntproc): Call term_w32select. - - * s/ms-w32.h: Guard MSC-specific #pragmas with an #ifdef. - -2005-02-16 Kim F. Storm - - * xdisp.c (BUFFER_POS_REACHED_P): Return true if pos reached and - at end of display vector. - -2005-02-15 Richard M. Stallman - - * xdisp.c (get_next_display_element): Fix escape-glyph criterion - for mode and header lines. - - * lread.c (syms_of_lread) : Doc fix. - - * keymap.h (describe_map_tree): Change decl. - - * keyboard.c (command_loop_1): Always use safe_run_hooks - to run Qdeferred_action_function. - - * keymap.c (describe_map_tree): New arg MENTION_SHADOW. Calls changed. - (describe_map, describe_vector): Likewise. When it's 1, - don't omit shadowed bindings, instead mark them as shadowed. - - * doc.c (Fsubstitute_command_keys): Compute list of shadowing maps - for describe_map_tree. Pass 1 for MENTION_SHADOW. - - * data.c (Fsetq_default): Allow no arg case. - -2005-02-14 Kenichi Handa - - * coding.c (encode_coding_string): Always return a unibyte string. - If NOCOPY is nonzero and there's no need of encoding, make STR - unibyte directly. - - * xselect.c (lisp_data_to_selection_data): If OBJ is a non-ASCII - multibyte string, signal an error instead of aborting. - -2005-02-12 Dan Nicolaescu - - * keyboard.c: If HAVE_FCNTL_H include fcntl.h. - -2005-02-12 Kim F. Storm - - * xdisp.c (expose_window): Don't fix overlaps for mode lines. - -2005-02-10 Kim F. Storm - - * xdisp.c (try_window_id): Set first_unchanged_at_end_row to NULL - if it moves outside window or it doesn't display text. - -2005-02-09 Kim F. Storm - - * undo.c (Fprimitive_undo): Check that undo function does not - switch buffer. - -2005-02-08 Jan Dj,Ad(Brv - - * xselect.c (selection_data_to_lisp_data): For the special case - type == XA_ATOM, data contains array of int, not array of Atom. - (x_property_data_to_lisp, selection_data_to_lisp_data): - Comment update: data must be array of int for format == 32. - -2005-02-08 Stefan Monnier - - * undo.c (Fprimitive_undo): Check veracity of delta,start,end. - -2005-02-07 Jan Dj,Ad(Brv - - * xfns.c (Fx_change_window_property): Use long array when format is 32. - (Fx_window_property): If format is 32 and long is bigger than 32 bits, - convert long array returned from XGetWindowProperty to an int array. - (x_set_tool_bar_lines): Check that width and height is greater than - zero before clearing area. - - * xselect.c (x_reply_selection_request): Pass long array to - XChangeProperty so that 64 bit longs are handeled correctly. - (x_get_window_property): If format is 32 and long is bigger than 32 - bits convert data from XGetWindowProperty from long array to int array. - (lisp_data_to_selection_data): When the input is a vector and the - format is 32, allocate a long array even if long is bigger than 32 bits. - (x_fill_property_data): Use char, short and long as the man page - for XChangeProperty specifies. This way the data returned is OK for - both 32 and 64 bit machines. - (x_handle_dnd_message): Calculate size correctly even for 64 bit - machines. - (Fx_send_client_event): Undo change from 2005-02-05, - x_fill_property_data now handles that case. - - * xfns.c (Fx_backspace_delete_keys_p): Add comment about the - reason for the approach in the code. - -2005-02-07 Kim F. Storm - - * undo.c (Fprimitive_undo): Record max one dummmy apply element. - -2005-02-06 Richard M. Stallman - - * eval.c (Frun_hook_with_args) - (Frun_hook_with_args_until_success) - (Frun_hook_with_args_until_failure): Doc fixes. - -2005-02-05 Andreas Schwab - - * sysdep.c (sys_subshell): Properly terminate execlp argument list. - -2005-02-05 Jan Dj,Ad(Brv - - * xselect.c (Fx_send_client_event, x_handle_dnd_message): Handle - the longs in a XClientMessageEvent correctly when long is 64 bits. - -2005-02-05 Eli Zaretskii - - * xfaces.c (face_color_supported_p): Use HAVE_WINDOW_SYSTEM - instead of HAVE_X_WINDOWS, for non-X windowed sessions. - -2005-02-03 Jan Dj,Ad(Brv - - * xmenu.c (menubar_selection_callback): Force out GTK buffered - events so the menu event comes after them. This is to prevent sit-for - from exiting on buffered events directly after a menu selection, - lisp code for Help => About Emacs uses sit-for. - - * gtkutil.c (create_menus): Connect selection-done event instead of - the deactivate event to deactivate_cb. This will make the last - leave event come before the call to deactivate_cb, so the leave - event does not make sit-for exit after a menu selection. - -2005-02-03 Kim F. Storm - - * dispnew.c (build_frame_matrix_from_leaf_window) - [!GLYPH_DEBUG]: Fix xassert. - - * xfaces.c (x_free_gc) [!GLYPH_DEBUG]: Fix xassert. - - * xfns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert. - -2005-02-03 YAMAMOTO Mitsuharu - - * mac.c: Use MAC_OS_X_VERSION_MAX_ALLOWED to conditionalize by - the compiling OS version. - - * macfns.c (x_create_tip_frame): Likewise. - - * macterm.c (mac_draw_string_common, x_make_frame_visible): Likewise. - -2005-02-03 Richard M. Stallman - - * xterm.c (x_error_quitter): On GCC 3 and up, specify noinline. - - * xdisp.c (echo_area_display): Clear echo_message_buffer. - - * buffer.c (Fbury_buffer): Doc fix. - -2005-02-02 Steven Tamm - - * macfns.c (unwind_create_frame): Fix compile error due to - xassert being uncondition, but predicate is. - * dispnew.c (update_window): Fix compile error due to - xassert being uncondition, but predicate is. - -2005-02-02 Miles Bader - - * dispextern.h (xassert): Enable unconditionally. - -2005-02-02 Kim F. Storm - - * undo.c (Fprimitive_undo): Fix dummy apply undo entry. - -2005-02-02 Kenichi Handa - - * casefiddle.c (casify_object): Enable changing characters of - different byte length. - (casify_region): Fix loop condition, args to replace_range_2, and - update opoint_byte. - - * insdel.c (replace_range_2): Fix bugs in adjusting markers and point. - -2005-02-01 Kim F. Storm - - * xdisp.c (back_to_previous_visible_line_start): Reset iterator - stack before calling handle_display_prop. - -2005-01-31 Kim F. Storm - - * undo.c (Qapply): New lisp var. - (syms_of_undo): Intern and staticpro it. - (Fprimitive_undo): Support formats (apply FUNNAME . ARGS) and - (apply DELTA BEG END FUNNAME . ARGS) instead of (FUNNAME . ARGS). - - * buffer.c (syms_of_buffer) : Doc fix. - -2005-01-30 Jesper Harder - - * macterm.c (syms_of_macterm) - : Fix docstring indentation. - -2005-01-29 Luc Teirlinck - - * undo.c (syms_of_undo) : Doc update. - Increase value to 3 Meg. - -2005-01-29 Jan Dj,Ad(Brv - - * xfns.c (show_hourglass): Use FRAME_X_WINDOW as parent for GTK, - button events are not received otherwise. - -2005-01-29 Richard M. Stallman - - * buffer.c (syms_of_buffer) : Doc fix. - - * undo.c (Fprimitive_undo): Handle (FUNNAME . ARGS) by calling FUNNAME. - -2005-01-28 Stefan Monnier - - * keymap.c (access_keymap): YAILOM. - -2005-01-27 Kim F. Storm - - * xdisp.c (get_phys_cursor_geometry): New function to calculate - phys cursor position and size for hollow cursor. Position is - aligned with get_glyph_string_clip_rect and ensures that a hollow - cursor is shown, even when the actual glyph is not visible. - - * dispextern.h (get_phys_cursor_geometry): Add prototype. - - * xterm.c (x_clip_to_row): Ensure y >= 0. - (x_draw_hollow_cursor): Use get_phys_cursor_geometry. - - * w32term.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry. - - * macterm.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry. - -2005-01-27 Stefan Monnier - - * xterm.c (x_error_quitter): Add a prototype. Make it static again. - -2005-01-27 Kim F. Storm - - * xdisp.c (get_glyph_string_clip_rect): Always show a cursor - glyph, even when row is only partially visible and actual cursor - position is not visible. - -2005-01-24 Richard M. Stallman - - * xterm.c (x_error_quitter): No longer static, and moved after - x_error_handler. - -2005-01-24 Kim F. Storm - - * xdisp.c (move_it_by_lines): If we move forward after going too - far back, cancel move if end position is same as start position. - -2005-01-24 YAMAMOTO Mitsuharu - - * dispextern.h (struct glyph_string): New members clip_head and - clip_tail. - - * xdisp.c (get_glyph_string_clip_rect): Restrict horizontal clip - region to the area between clip_head and clip_tail. - (draw_glyphs): Record the area that need to be actually redrawn to - the new variables clip_head and clip_tail when there are - overhangs. Set values of these variables to the corresponding - members in struct glyph_string. Refine x coordinates for - notice_overwritten_cursor using clip_head and clip_tail. - - * macgui.h (STORE_XCHARSETSTRUCT): New macro. - - * macterm.c (mac_compute_glyph_string_overhangs): Implement with - QDTextBounds. - (x_draw_glyph_string): Don't fill the background of the successor - of a glyph with a right overhang if the successor will draw a cursor. - (XLoadQueryFont): Obtain font metrics using QDTextBounds. - (x_redisplay_interface): Add entry for compute_glyph_string_overhangs. - -2005-01-24 Kim F. Storm - - * window.c (window_scroll_pixel_based): Fix scrolling in the wrong - direction if window height was smaller than next-screen-context-lines. - Now always scroll at least one line in the requested direction. - Ensure that we actually do scroll backwards when requested to do so. - - * xdisp.c (redisplay_window): Only try to make cursor line fully - visible once (to avoid redisplay loop). - -2005-01-23 Kim F. Storm - - * window.c (Fpos_visible_in_window_p): Simplify return value for - partially visible rows. - (window_scroll_pixel_based): Adapt to that change. - - * window.c (window_scroll_pixel_based): Force moving to next line - if scrolling doesn't move start point, e.g. if looking at tall image. - - * xdisp.c (pos_visible_p): Return 0 if non-interactive. - Clear last_height before calling line_bottom_y to get real height. - Fix calculation of y. - -2005-01-22 Steven Tamm - - * s/darwin.h: Removed PTY_ITERATION from here. - (DARWIN): Define. - - * process.c (init_process): Default process-connection-type to - nil on darwin 6 or less, t if it is 7 or higher. This way the - broken pty behavior is still allowed on darwin 6 for interactive - processes for people that know what they are doing. - -2005-01-22 Kim F. Storm - - * window.c (auto_window_vscroll_p): New boolean. - (syms_of_window): DEFVAR_BOOL it. - (Fpos_visible_in_window_p): Extend return value to include RTOP - and RBOT values if FULLY is nil. - (window_scroll_pixel_based): Adjust vscroll for partially visible - rows if auto_window_vscroll_p is set. - (Fset_window_vscroll): Do nothing if vscroll is not modified. - - * xdisp.c (pos_visible_p): Replace FULLY arg by RTOP and RBOT args - to return number of partially invisible pixels at top and bottom - of the dislay row at POS. - - * lisp.h (pos_visible_p): Fix prototype. - -2005-01-21 Richard M. Stallman - - * fileio.c (Fcopy_file): Doc fix. - -2005-01-21 Jan Dj,Ad(Brv - - * gtkutil.c (xg_tool_bar_detach_callback): Remove unused variable bw. - (xg_get_file_name): Move declaration ofx_use_old_gtk_file_dialog to - start of function for older compilers. - -2005-01-20 Richard M. Stallman - - * editfns.c (Fmessage): If arg is "", return "" (as before). - - * keymap.c (access_keymap): Protect from bad value of meta_prefix_char. - - * .gdbinit (xgetptr, xgetint, xgettype): Copy $arg0 into a temp - variable. - -2005-01-20 Steven Tamm - - * editfns.c (Voperating_system_release): Add. - (init_editfns): Assign new variable operating-system-release - based on call to uname if available. - (get_operating_system_release): Add function to - allow c-level access to operating system release. - - * config.h: Regenerated. - - * s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or less. - (MIN_PTY_KERNEL_VERSION): Define minimum kernel version for - using ptys as '7'. - -2005-01-20 Kim F. Storm - - * alloc.c (STRING_MARKED_P, VECTOR_MARKED_P): Return boolean. - - * xterm.c (x_draw_glyph_string_box): Fix last_x for full width rows. - Thanks to Chong Yidong for debugging this. - - * macterm.c (x_draw_glyph_string_box): Likewise. - - * w32term.c (x_draw_glyph_string_box): Likewise. - - * indent.c (Fvertical_motion): Temporarily disable selective display. - -2005-01-19 Kim F. Storm - - * xdisp.c (note_mode_line_or_margin_highlight): Fix :pointer - image property. - - * fns.c (sweep_weak_table): Advance prev pointer when we keep a pair. - -2005-01-18 Kim F. Storm - - * xdisp.c (fast_find_position): Backtrack to find first row if - charpos is inside a display overlay that spans multiple lines. - -2005-01-18 Kenichi Handa - - * coding.c (decode_coding_iso2022): Translate invalid codes if - translation-table is specified. - -2005-01-18 Kim F. Storm - - * xdisp.c (back_to_previous_visible_line_start): Undo 2004-12-28 - change. If handle_display_prop indicates newline is replaced by - image or text, move back to start of relevant overlay or interval - and continue scan from there. Simplify. - -2005-01-17 Kim F. Storm - - * dispnew.c (mode_line_string, marginal_area_string): - Fix off-by-one error in search for glyph. - -2005-01-16 Kim F. Storm - - * macterm.c (syms_of_macterm) : Doc fix. - -2005-01-16 Steven Tamm - - * macterm.c (mac_to_x_fontname): Remove spurious argument. - -2005-01-16 Andreas Schwab - - * macterm.c (mac_draw_string_common): Fix compilation on OSX 10.1. - -2005-01-16 Jan Dj,Ad(Brv - - * fringe.c (Fdefine_fringe_bitmap, init_fringe): When assigning - fringe_faces, cast result from xmalloc/xrealloc to Lisp_Object *. - -2005-01-16 YAMAMOTO Mitsuharu - - * keyboard.c (READABLE_EVENTS_DO_TIMERS_NOW) - (READABLE_EVENTS_FILTER_EVENTS, READABLE_EVENTS_IGNORE_SQUEEZABLES): - New flags for readable_events. - (get_filtered_input_pending, readable_filtered_events): Remove. - (tracking_off): Call readable_events and get_input_pending with - flag READABLE_EVENTS_DO_TIMERS_NOW. - (readable_events): Move code from old readable_filtered_events here, - but check new READABLE_EVENTS_* in argument flags instead of previous - two boolean arguments do_timers_now and filter_events. - If we are doing mouse tracking and the mouse moved, return only if - READABLE_EVENTS_IGNORE_SQUEEZABLES is not set in flags. - (swallow_events): Call get_input_pending with flag - READABLE_EVENTS_DO_TIMERS_NOW. - (get_input_pending): Move code from old get_filtered_input_pending - here. Replace boolean arguments do_timers_now, filter_events with - flags, and pass flags to readable_events. Document new - READABLE_EVENTS_* flags. - (detect_input_pending_ignore_squeezables): New function. - (detect_input_pending_run_timers): Call get_input_pending with flag - READABLE_EVENTS_DO_TIMERS_NOW. - (Finput_pending_p): Call get_input_pending with flags - READABLE_EVENTS_DO_TIMERS_NOW and READABLE_EVENTS_FILTER_EVENTS. - - * dispnew.c (update_window, update_frame_1): Replace calls to - detect_input_pending with detect_input_pending_ignore_squeezables - so that redisplay is not paused if the event queue contains only - mouse movements. - - * lisp.h: Declare detect_input_pending_ignore_squeezables. - -2005-01-15 Steven Tamm - - * macterm.c (Vmac_use_core_graphics): Declare variable for - mac-allow-anti-aliasing. - (syms_of_macterm): DEFVAR_LISP and initialize it. - (mac_draw_string_common): Use core graphics text rendering if - mac-allow-anti-aliasing is enabled. - - * macfns.c (Fx_file_dialog): Save As dialog includes only the - file name in the text box. - -2005-01-15 YAMAMOTO Mitsuharu - - * macfns.c (x_set_foreground_color, x_set_background_color): - Sync with xfns.c. - (mac_window, x_create_tip_frame): Use XSetWindowBackground. - * macterm.c (XSetBackground, XSetWindowBackground): New functions. - * macterm.h (XSetBackground, XSetWindowBackground): Add externs. - -2005-01-14 Kim F. Storm - - * keyboard.c (Fposn_at_x_y): Add optional arg WHOLE. - -2005-01-13 Richard M. Stallman - - * keymap.c (Fcurrent_active_maps): Ignore Voverriding_local_map - if Voverriding_terminal_local_map is non-nil. - - * keyboard.c (syms_of_keyboard): Doc fix. - -2005-01-13 Kim F. Storm - - * xdisp.c (Fformat_mode_line): Fix last change. Remove NO_PROPS arg - (specify 0 for FACE instead). Reorder arg list. Doc fix. - -2005-01-12 Richard M. Stallman - - * xdisp.c (Fformat_mode_line): New arg FACE specifies a default - face property for characters that don't specify one. - - * fns.c (Frequire): Record in load-history unconditionally. - -2005-01-10 Kim F. Storm - - * dispextern.h (merge_faces): Rename from merge_into_realized_face. - - * xfaces.c (merge_faces): Rename from merge_into_realized_face. - Callers changed. - Add support to merge with lisp face id too (if face_name is t). - - * xdisp.c (get_next_display_element, next_element_from_display_vector): - Don't lookup lface_id from display table glyphs here; instead use - merge_faces to merge the lisp face id into current face. - -2005-01-09 Kim F. Storm - - * dispextern.h (struct it): New member dpvec_face_id. - (merge_into_realized_face): Add prototype. - - * xfaces.c (merge_into_realized_face): New function. Used to - merge escape-glyph face or face from display table into current face. - - * xdisp.c (Vshow_nonbreak_escape): New lisp var. - (syms_of_xdisp): DEFVAR_LISP it. - (escape_glyph_face): Remove var. - (redisplay_window): Don't initialize it. - (setup_for_ellipsis, get_next_display_element): - Set it->dpvec_face_id to -1. - (get_next_display_element): Test Vshow_nonbreak_escape. - Do not setup escape_glyph_face. - Properly merge escape-glyph face or face from display table with - current face for escape and control characters. - Set it->dpvec_face_id to relevant face id instead of adding it to each - element of display vector. - (next_element_from_display_vector): If it->dpvec_face_id is set, - use that instead of lface_id from glyph itself. - -2005-01-08 Jan Dj,Ad(Brv - - * xterm.h (struct x_output): New member, toolbar_detached. - - * gtkutil.c (xg_create_frame_widgets): Set initial tool bar height to - 38. - (xg_tool_bar_detach_callback): Set toolbar_detached to 1. - (xg_tool_bar_attach_callback): Set toolbar_detached to 0. - (xg_create_tool_bar): Initialize toolbar_detached. - (update_frame_tool_bar): Only set FRAME_TOOLBAR_HEIGHT (f) if - toolbar_detached is zero. - -2005-01-07 Jan Dj,Ad(Brv - - * xmenu.c (create_and_show_popup_menu): Pass zero as button to - gtk_menu_popup if not for_click, so callbacks for the menu are called. - - * gtkutil.c (xg_gtk_scroll_destroy, xg_create_scroll_bar) - (xg_tool_bar_callback, xg_tool_bar_help_callback) - (update_frame_tool_bar): Cast to EMACS_INT to avoid compiler warning. - - * xselect.c (x_get_foreign_selection, x_fill_property_data) - (Fx_get_atom_name, Fx_send_client_event): Replace XFLOAT with - XFLOAT_DATA to get extract number from Lisp object. - -2005-01-07 Kim F. Storm - - * xdisp.c (set_iterator_to_next): Fix 2004-12-13 change. - Set stop_charpos to current charpos instead of 0. - -2005-01-06 Nick Roberts - - * xdisp.c (Fformat_mode_line): First arg now required. - -2005-01-06 YAMAMOTO Mitsuharu - - * macterm.c (XLoadQueryFont): Correctly handle 0 size - font widths that are returned from some Japanese fonts. - -2005-01-06 Kim F. Storm - - * fringe.c (fringe_faces): Change to Lisp_Object pointer. - (draw_fringe_bitmap_1): Lookup user defined fringe faces here. - (destroy_fringe_bitmap): Set fringe_faces element to nil. - (Fdefine_fringe_bitmap, init_fringe): Change allocation of - fringe_faces array and init elements to nil. - (Fset_fringe_bitmap_face): Set fringe_faces to face name instead of - non-persistent face id. - (mark_fringe_data): New function for GC. - - * alloc.c (mark_fringe_data): Declare extern. - (Fgarbage_collect): Call mark_fringe_data. - - * alloc.c (overrun_check_free): Invalidate freed memory if - XMALLOC_CLEAR_FREE_MEMORY is defined. - -2005-01-05 YAMAMOTO Mitsuharu - - * macfns.c: Include sys/param.h. - [TARGET_API_MAC_CARBON] (mac_nav_event_callback): New declaration - and function. - [TARGET_API_MAC_CARBON] (Fx_file_dialog): Use MAXPATHLEN for size - of filename string. Set event callback function when creating - dialog boxes. Add code conversions for filenames. Don't dispose - of apple event descriptor record if failed to create it. - - * macterm.c: Include sys/param.h. - [USE_CARBON_EVENTS] (mac_handle_window_event): Add handler for - kEventWindowUpdate. - (install_window_handler) [USE_CARBON_EVENTS]: Register it. - (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Get FSRef instead - of FSSpec from apple event descriptor record. - (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Use MAXPATHLEN for - size of filename string. - [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise. - [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Return error when a - file dialog is in action. - [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise. - Reject only when there are no filename items. Set background color - before (un)highlighting the window below the dragged items. - (XTread_socket) [USE_CARBON_EVENTS]: Don't call do_window_update. - -2005-01-05 Romain Francoise - - * term.c (encode_terminal_code): Fix buffer size computation. - -2005-01-04 Richard M. Stallman - - * xdisp.c (Fformat_mode_line): Doc fix. - -2005-01-04 Stefan Monnier - - * alloc.c (refill_memory_reserve): Move. - (emacs_blocked_free, emacs_blocked_malloc, emacs_blocked_realloc) - (reset_malloc_hooks, uninterrupt_malloc) [SYNC_INPUT]: Don't define. - -2005-01-03 Richard M. Stallman - - * window.c (window_scroll_pixel_based): Don't correct preserve_y - for CURRENT_HEADER_LINE_HEIGHT when moving backwards. - -2005-01-03 Jason Rumney - - * w32bdf.c (w32_load_bdf_font): Set fontp->average_width and - fontp->space_width to FONT_WIDTH so they are valid. - - * w32fns.c (w32_load_system_font): Set FONT_WIDTH to maximum, not - average width. Set fontp->average_width and fontp->space_width to - their appropriate values. - - * w32term.c (x_new_font): Set FRAME_COLUMN_WIDTH to - fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to - fontp->space_width. - -2005-01-03 YAMAMOTO Mitsuharu - - * macterm.c (x_new_font): Set FRAME_SPACE_WIDTH. - (x_font_min_bounds, XLoadQueryFont): Use the correct font width - metrics for max and min bounds. - (x_load_font): Correctly calculate average font width metrics. - -2005-01-02 Richard M. Stallman - - * alloc.c (Fgarbage_collect): Don't truncate_undo_list on dead buffers. - -2004-12-31 Jan Dj,Ad(Brv - - * xterm.c (handle_one_xevent): Clear area in expose event for GTK. - -2004-12-31 Richard M. Stallman - - * xdisp.c (setup_for_ellipsis, get_next_display_element): - Set it->ellipsis_p to 1 or 0. - (display_line): Record whether row ends in mid-ellipsis. - (set_cursor_from_row): If ends in ellipsis, find start of it. - (cursor_row_p): If PT's at the end of the ellipsis the row - ends within, don't display cursor on this row. - - * dispextern.h (struct it): New element ellipsis_p. - (struct glyph_row): New element ends_in_ellipsis_p. - - * xdisp.c (BUFFER_POS_REACHED_P): We haven't reached the specified - position if we're reading from something other than the buffer. - - * window.c (window_scroll_pixel_based): Only look at - Vscroll_preserve_screen_position if the old PT can't be kept. - (syms_of_window) : Doc fix. - -2004-12-30 Kim F. Storm - - * xdisp.c (get_line_height_property): New function extracted from - original calc_line_height_property. - (calc_line_height_property): Rework. Handle t and (nil . ratio). - (x_produce_glyphs): Use them to handle line-height and - line-spacing according to new height spec. - (Qtotal): Remove. - (syms_of_xdisp): Remove intern and staticpro for Qtotal. - -2004-12-30 Kenichi Handa - - * fileio.c (Finsert_file_contents): Don't use - current_buffer->buffer_file_coding_system even if REPLACE is - non-nil. Call Qafter_insert_file_set_coding with the second arg VISIT. - - * fontset.h (struct font_info): New members space_width and - average_width. - - * frame.h (struct frame): New member space_width. - (FRAME_SPACE_WIDTH): New macro. - - * xterm.h (struct x_display_info): New member Xatom_AVERAGE_WIDTH. - - * xterm.c (x_new_font): Set FRAME_COLUMN_WIDTH to - fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to - fontp->space_width. - (x_load_font): Calculate fontp->space_width and fontp->average_width. - (x_term_init): Initialize dpyinfo->Xatom_AVERAGE_WIDTH. - - * xdisp.c (x_produce_glyphs): Calculate tab width by - FRAME_SPACE_WIDTH, not FRAME_COLUMN_WIDTH. - -2004-12-29 Sanghyuk Suh - - * macterm.c (SelectionRange): Add Xcode position apple event struct. - (do_ae_open_documents): Handle Xcode-style file position open events. - -2004-12-29 Luc Teirlinck - - * buffer.c (syms_of_buffer) : Correct typo. - -2004-12-29 Richard M. Stallman - - * buffer.c (syms_of_buffer) : Doc fix. - -2004-12-29 YAMAMOTO Mitsuharu - - * macfns.c (install_window_handler): Modify extern to return OSErr - value. - (mac_window): Handle return value of install_window_handler. - - * macterm.c (reflect_byte): Remove function. - (mac_create_bitmap_from_bitmap_data): Don't call reflect_byte. - Lookup table instead. - (mac_do_font_lists): Simplify calculation of the longest - nonspecial string. - (init_mac_drag_n_drop): Remove function and declaration. - (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call - init_mac_drag_n_drop. - (mac_do_track_drag): New function and declaration. - (install_window_handler): Return OSErr value. - (install_window_handler) [TARGET_API_MAC_CARBON]: - Register handlers for tracking/receiving drag-and-drop items. - (do_ae_open_documents): Generate unibyte strings for filenames. - (mac_do_receive_drag) [TARGET_API_MAC_CARBON]: Likewise. - Reject only non-filename items. Set event modifiers, and return value. - -2004-12-28 Dan Nicolaescu - - * coding.c (decode_coding): Fix previous change. - -2004-12-28 Richard M. Stallman - - * xdisp.c (back_to_previous_visible_line_start): - Don't call handle_display_prop. - -2004-12-28 Dan Nicolaescu - - * coding.c (decode_coding_XXX, decode_composition_emacs_mule) - (decode_coding_emacs_mule, encode_coding_emacs_mule) - (decode_coding_iso2022, encode_designation_at_bol) - (encode_coding_iso2022, decode_coding_sjis_big5, decode_eol) - (decode_coding): Constify arguments and local vars. - -2004-12-27 Jan Dj,Ad(Brv - - * xmenu.c (popup_get_selection): Only pop down dialogs - on C-g and Escape. - (popup_get_selection): Remove parameter down_on_keypress. - (create_and_show_popup_menu, create_and_show_dialog): - Remove parameter down_on_keypress to popup_get_selection. - -2004-12-27 YAMAMOTO Mitsuharu - - * dispextern.h: Change HAVE_CARBON to MAC_OS. - (struct glyph_string): Likewise. - - * emacs.c (main) [MAC_OS8]: Call mac_term_init instead of - mac_initialize. - - * fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name): - Change TARGET_API_MAC_CARBON to HAVE_CARBON. - - * fns.c (vector): Change MAC_OSX to MAC_OS. - - * frame.c (x_set_frame_parameters, x_report_frame_params) - (x_set_fullscreen): Remove #ifndef HAVE_CARBON. - (x_set_border_width, Vdefault_frame_scroll_bars): - Change HAVE_CARBON to MAC_OS. - - * image.c [MAC_OS]: Include sys/stat.h. - [MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and - QuickTimeComponents.h. - - * mac.c [!MAC_OSX] (mac_wait_next_event): Add extern. - [!MAC_OSX] (select): Use mac_wait_next_event. - [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to Vexec_suffixes. - [!MAC_OSX] (select, run_mac_command): Change `#ifdef - TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'. - (mac_clear_font_name_table): Add extern. - (Fmac_clear_font_name_table): New defun. - (syms_of_mac): Defsubr it. - [MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define. - [MAC_OSX] (select_and_poll_event): New function. - [MAC_OSX] (sys_select): Use it. - [MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function. - [MAC_OSX && SELECT_USE_CFSOCKET] - (SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines. - [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and - RunLoop for simultaneously monitoring two kinds of inputs, window - events and process outputs, without periodically polling. - - * macfns.c (mac_initialized): Remove extern. - (stricmp): Put in #if 0. All callers changed to use xstricmp in - xfaces.c. - (strnicmp): Decrement `n' at the end of each loop, not the beginning. - (check_mac): Use the term "Mac native windows" instead of "Mac OS". - (check_x_display_info, x_display_info_for_name): Sync with xfns.c. - (mac_get_rdb_resource): New function (from w32reg.c). - (x_get_string_resource): Use it. - (install_window_handler): Add extern. - (mac_window): New function. - (Fx_create_frame): Use it instead of make_mac_frame. - Set parameter for Qfullscreen. Call x_wm_set_size_hint. - (Fx_open_connection, Fx_close_connection): New defuns. - (syms_of_macfns): Defsubr them. - (x_create_tip_frame) [TARGET_API_MAC_CARBON]: - Add kWindowNoUpdatesAttribute to the window attribute. - (x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow. - (x_create_tip_frame): Don't call ShowWindow. - (Fx_show_tip): Call ShowWindow. - (Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if - TARGET_API_MAC_CARBON'. - (mac_frame_parm_handlers): Set handlers for Qfullscreen. - (syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0. - - * macgui.h [!MAC_OSX]: Don't include Controls.h. Include Windows.h. - (Window): Typedef to WindowPtr and move outside `#if - TARGET_API_MAC_CARBON'. - (XSizeHints): New struct. - - * macterm.c (x_update_begin, x_update_end) - [TARGET_API_MAC_CARBON]: Disable screen updates during update of a - frame. - (x_draw_glyph_string_background, x_draw_glyph_string_foreground) - [MAC_OS8]: Use XDrawImageString/XDrawImageString16. - (construct_mouse_click): Put in #if 0. - (x_check_fullscreen, x_check_fullscreen_move): Remove decls. - (x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef - TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'. - (activate_scroll_bars, deactivate_scroll_bars) - [!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl. - (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window - if the position is neither user-specified nor program-specified. - (x_free_frame_resources): Free size_hints. - (x_wm_set_size_hint): Allocate size_hints if needed. Set size_hints. - (mac_clear_font_name_table): New function. - (mac_do_list_fonts): Initialize font_name_table if needed. - (x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT - around mac_do_list_fonts. - (mac_unload_font): New function. - (x_load_font): Add BLOCK_INPUT around XLoadQueryFont. - (init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations - and definitions with #if TARGET_API_MAC_CARBON. - [USE_CARBON_EVENTS] (mac_handle_window_event): Add decl. - (install_window_handler): Add decl. - (do_window_update): Add BeginUpdate/EndUpdate for the tooltip - window. Use UpdateControls. Get the rectangle that should be - updated and restrict the target of expose_frame to it. - (do_grow_window): Set minimum height/width according to size_hints. - (do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow. - (do_zoom_window): Don't use x_set_window_size. - [USE_CARBON_EVENTS] (mac_handle_window_event): New function. - (install_window_handler): New function. - [!USE_CARBON_EVENTS] (mouse_region): New variable. - [!USE_CARBON_EVENTS] (mac_wait_next_event): New function. - (XTread_socket) [USE_CARBON_EVENTS]: Move call to - GetEventDispatcherTarget inside BLOCK_INPUT. - (XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event. - Update mouse_region when mouse is moved. - (make_mac_frame): Remove. - (make_mac_terminal_frame): Put in #ifdef MAC_OS8. - Initialize mouse pointer shapes. Change values of f->left_pos and - f->top_pos. Don't use make_mac_frame. Use NewCWindow. - Don't call ShowWindow. - (mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from - Vinvocation_name and Vsystem_name. - (mac_make_rdb): New function (from w32term.c). - (mac_term_init): Use it. Add BLOCK_INPUT. Error if display has - already been opened. Don't pass argument to - mac_initialize_display_info. Don't set dpyinfo->height/width. - Add entries to x_display_list and x_display_name_list. - (x_delete_display): New function. - (mac_initialize): Don't call mac_initialize_display_info. - (syms_of_macterm) [!MAC_OSX]: Don't call Fprovide. - - * macterm.h (check_mac): Add extern. - (struct mac_output): New member size_hints. - (FRAME_SIZE_HINTS): New macro. - (mac_unload_font): Add extern. - - * xdisp.c (expose_window, expose_frame): Remove kludges for Mac. - - * xfaces.c (clear_font_table) [MAC_OS]: Call mac_unload_font. - -2004-12-27 Richard M. Stallman - - * buffer.c (Fbuffer_disable_undo): Delete (move to simple.el). - (syms_of_buffer): Don't defsubr it. - - * process.c (list_processes_1): Set undo_list instead - of calling Fbuffer_disable_undo. - - * xdisp.c (single_display_spec_string_p): Rename from - single_display_prop_string_p. - (single_display_spec_intangible_p): Rename from - single_display_prop_intangible_p. - (handle_single_display_spec): Rename from handle_single_display_prop. - Rewritten to be easier to understand. - - Change in load-history format. Functions now get (defun . NAME), - and variables get just NAME. - - * data.c (Fdefalias): Use (defun . FN_NAME) in LOADHIST_ATTACH. - - * eval.c (Fdefun, Fdefmacro): Use (defun . FN_NAME) in LOADHIST_ATTACH. - (Fdefvaralias, Fdefvar, Fdefconst): Use just SYM in LOADHIST_ATTACH. - (Qdefvar): Var deleted. - (syms_of_eval): Don't initialze it. - - * lread.c (syms_of_lread) : Doc fix. - -2004-12-27 Jan Dj,Ad(Brv - - * xmenu.c (popup_get_selection): Pop down on C-g. - (set_frame_menubar): Install translations for Lucid/Motif/Lesstif that - pops down menu on C-g. - (xdialog_show): If dialog popped down and no button in the dialog was - pushed, call Fsignal to quit. - (xmenu_show): In no toolkit version, if menu returns NO_SELECT call - Fsignal to quit. - - * xfns.c (Fx_file_dialog): Motif/Lesstif version: Pop down on C-g. - - * gtkutil.c (xg_initialize): Install bindings for C-g so that - dialogs and menus pop down. - -2004-12-27 Kenichi Handa - - * coding.c (code_convert_region): Fix calculation of `ratio'. - -2004-12-25 Jan Dj,Ad(Brv - - * gtkutil.c (update_frame_tool_bar): Make the value of - tool-bar-button-margin control margins of images in tool bar. - - * alloc.c (check_depth): New variable. - (overrun_check_malloc, overrun_check_realloc): Only add - overhead and write check pattern if check_depth is 1 (to handle - recursive calls). Increase/decrease check_depth in entry/exit. - (overrun_check_free): Only check for overhead if check_depth is 1. - Increase/decrease check_depth in entry/exit. - -2004-12-23 Jan Dj,Ad(Brv - - * keyboard.c (input_available_signal): Call SIGNAL_THREAD_CHECK - before touching input_available_clear_time, to avoid accessing it - from multiple threads. - -2004-12-23 Jason Rumney - - * image.c (__WIN32__) [HAVE_NTGUI]: Define for correct behaviour - of JPEG library. - -2004-12-22 Richard M. Stallman - - * emacs.c (main): If batch mode, set Vundo_outer_limit to nil. - - * lisp.h (Vundo_outer_limit): Fix decl. - - * undo.c (Vundo_outer_limit): Replaces undo_outer_limit. - Uses changed. - (syms_of_undo): Initialize appropriately. - (truncate_undo_list): If it's nil, there's no limit. - -2004-12-22 Kenichi Handa - - * xselect.c (Fx_get_cut_buffer_internal): Return a unibyte string. - -2004-12-21 Richard M. Stallman - - * eval.c (unwind_to_catch): Clear immediate_quit. - - * xdisp.c (get_next_display_element): Display codes 8a0 and 8ad - specially as `\ ' and `\-'. - - * keyboard.c (kbd_buffer_store_event_hold): - In the code for while-no-input, handle immediate_quit. - - * alloc.c (Fgarbage_collect): Update call to truncate_undo_list. - Call that at the very start. - (undo_limit, undo_strong_limit, undo_outer_limit): Move to undo.c. - (syms_of_alloc): Don't define undo-limit, - undo-strong-limit and undo-outer-limit here. - - * undo.c (truncate_undo_list): Return void. - Take just one argument, the buffer. - Make it current, and inhibit recursive GC. - Access and update the undo list directly; return void. - Refer to the undo...limit variables directly. - Test undo_outer_limit only after counting the whole current command. - When it's exceeded, call the function in undo-outer-limit-function. - (undo_limit, undo_strong_limit, undo_outer_limit): From alloc.c. - (Vundo_outer_limit_function): New variable. - (syms_of_undo): Define undo-limit, undo-strong-limit - and undo-outer-limit here, and undo-outer-limit-function. - Doc fixes. - - * lisp.h (truncate_undo_list): Update decl. - -2004-12-21 Piet van Oostrum - - * fileio.c (Fread_file_name): Delete duplicates in - file-name-history when history_delete_duplicates is true. - -2004-12-20 YAMAMOTO Mitsuharu - - * macterm.c (mac_do_list_fonts): Fix memory leak - -2004-12-20 Richard M. Stallman - - * regex.c (re_match_2_internal) : - Fix calls to UPDATE_SYNTAX_TABLE_FORWARD. - -2004-12-18 YAMAMOTO Mitsuharu - - * macterm.c (endif, x_font_name_to_mac_font_name): - Use maccentraleurroman instead of maccentraleuropean - (mac_c_string_match, mac_do_list_fonts): Speed up font search by - quickly finding a specific font without needing regexps. - -2004-12-15 Jan Dj,Ad(Brv - - * syssignal.h: Declare main_thread. - (SIGNAL_THREAD_CHECK): New macro. - - * keyboard.c (input_available_signal): Move thread checking code - to macro SIGNAL_THREAD_CHECK and call that macro. - (interrupt_signal): Call SIGNAL_THREAD_CHECK. - - * alloc.c (uninterrupt_malloc): Move main_thread to emacs.c. - - * emacs.c: Define main_thread. - (main): Initialize main_thread. - (handle_USR1_signal, handle_USR2_signal, fatal_error_signal) - (memory_warning_signal): Call SIGNAL_THREAD_CHECK. - - * floatfns.c (float_error): Call SIGNAL_THREAD_CHECK. - - * dispnew.c (window_change_signal): Call SIGNAL_THREAD_CHECK. - - * sysdep.c (select_alarm): Call SIGNAL_THREAD_CHECK. - - * process.c (send_process_trap, sigchld_handler): - Call SIGNAL_THREAD_CHECK. - - * data.c (arith_error): Call SIGNAL_THREAD_CHECK. - - * atimer.c (alarm_signal_handler): Call SIGNAL_THREAD_CHECK. - - * xterm.c (xg_scroll_callback): Update XG_LAST_SB_DATA before - returning when xg_ignore_gtk_scrollbar is true. - -2004-12-14 Kim F. Storm - - * keyboard.c (read_char): Save and restore echo_string when - handling input method. - -2004-12-13 Richard M. Stallman - - * eval.c (syms_of_eval) : Doc fix. - - * keyboard.c (Vthrow_on_input): New variable. - (syms_of_keyboard): Defvar and initialize it. - (kbd_buffer_store_event_hold): Handle Vthrow_on_input. - - * lisp.h (QUIT): Check for Vthrow_on_input. - (Vthrow_on_input): Declare it. - -2004-12-13 Kim F. Storm - - * xdisp.c (set_iterator_to_next): Reset stop_charpos after display - vector. - -2004-12-12 Richard M. Stallman - - * indent.c (Fvertical_motion): Call move_it_by_lines even if LINES = 0. - - * minibuf.c (Fall_completions): Add var `zero' and use it in loop. - (Ftry_completion): Really use outer `zero'; eliminate inner one. - -2004-12-12 Kenichi Handa - - * term.c (encode_terminal_code): Fix previous change. - -2004-12-11 Stefan Monnier - - * keyboard.c (handle_async_input): Remove pthread mutex handling. - (input_available_signal): Move pthread thingy to !SYNC_INPUT branch. - - * syntax.c (Fforward_word): Avoid non-idempotent side-effects - in macro arguments. - - * minibuf.c (Ftry_completion, Fall_completions): Don't use - XFASTINT blindly. - - * emacs.c (main, Fdump_emacs): Don't touch malloc hooks if SYNC_INPUT. - -2004-12-11 Jan Dj,Ad(Brv - - * w32term.c (x_calc_absolute_position): Remove calculation of - difference between inner and outer window. Don't subtract difference - for left and top calculations. - - * xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff - for left and top calculations. Remove call to x_real_positions. - [Bug report by Drew Adams in November.] - (x_check_expected_move): Do not set change_gravity to 1 when calling - x_set_offset. - -2004-12-08 Richard M. Stallman - - * xdisp.c (get_next_display_element): Use `escape-glyph' for - control chars and escaped octal codes. - (Qescape_glyph): New variable. - (syms_of_xdisp): Initialize it. - (escape_glyph_face): New variable. - (redisplay_window): Initialize it. - -2004-12-07 Paul Eggert - - * image.c (our_fill_input_buffer, jpeg_load, CHECK_LIB_AVAILABLE) - (init_image): Use 1 rather than TRUE. TRUE's not always defined. - -2004-12-07 Jan Dj,Ad(Brv - - * emacs.c (Fdump_emacs): Add ! defined (SYSTEM_MALLOC) around - reset_malloc_hooks. - - * keyboard.c (handle_async_input, input_available_signal): - Add ! defined (SYSTEM_MALLOC) around thread code. - - * alloc.c: Add comment about the reason for (UN)BLOCK_INPUT_ALLOC. - -2004-12-07 Stefan Monnier - - * eval.c (init_eval_once): Increase max_specpdl_size to 1000. - - * config.in: Regenerate. - -2004-12-07 Jan Dj,Ad(Brv - - * xmenu.c (Fx_popup_menu): Correct documentation about position. - (xmenu_show): Do not call XTranslateCoordinates. Adjust position - if not given by a mouse click to correspond with x-popup-menu - documentation. - - * config.in: Regenerate. - - * gtkutil.c: Include signal.h and syssignal.h. - (xg_get_file_name): Block and unblock __SIGRTMIN if defined. - - * alloc.c: If HAVE_GTK_AND_PTHREAD, include pthread.h, - new variables main_thread and alloc_mutex, - define (UN)BLOCK_INPUT_ALLOC to use alloc_mutex to protect - emacs_blocked_* calls and only do (UN)BLOCK_INPUT in the main thread. - If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same - as (UN)BLOCK_INPUT. - (emacs_blocked_free, emacs_blocked_malloc) - (emacs_blocked_realloc): Use (UN)BLOCK_INPUT_ALLOC. - (uninterrupt_malloc): Initialize main_thread and alloc_mutex. - (reset_malloc_hooks): New function. - - * lisp.h: Declare reset_malloc_hooks. - - * emacs.c (Fdump_emacs): Call reset_malloc_hooks. - - * keyboard.c: Conditionally include pthread.h. - (handle_async_input, input_available_signalt): If not in the main - thread, block signal, send signal to main thread and return. - - * gtkutil.c (xg_get_file_with_chooser): Handle local files only. - Set current folder in file chooser if default_filename is a directory. - -2004-12-05 Stefan Monnier - - * regex.c (GET_UNSIGNED_NUMBER): Signal an error when reaching the end. - Remove redundant correctness checks. - (regex_compile): Fix up error codes for \{..\} expressions. - -2004-12-05 Richard M. Stallman - - * regex.c (regex_compile): Fix end-of-pattern case for space. - -2004-12-03 YAMAMOTO Mitsuharu - - * macterm.h (cfstring_create_with_utf8_cstring): Add prototype. - * mac.c (cfstring_create_with_utf8_cstring): Add to prevent - crashes with invalid characters. - * macmenu.c (add_menu_item): Use it. - * image.c (image_load_quartz2d): Likewise. - * macfns.c (x_set_name, x_set_title): Likewise. - (Fx_file_dialog): Likewise. Use constant CFRefs instead of - creating them each time for labels. - -2004-12-02 Richard M. Stallman - - * config.in (RE_TRANSLATE_P): If make_number is not a macro, - don't use it here. - - * eval.c (Fcalled_interactively_p): Don't check INTERACTIVE. - (interactive_p): Skip Scalled_interactively_p frames - like Sinteractive_p frames. - (unwind_to_catch): Clear handling_signal. - - * data.c (Fmake_variable_buffer_local): Doc fix. - (Fmake_local_variable): Doc fix. - - * insdel.c (insert_from_string_before_markers) - (insert_from_string): Don't modify buffer on empty insertion. - - * window.c (Fget_lru_window, Fget_largest_window): Doc fixes. - -2004-12-01 YAMAMOTO Mitsuharu - - * macmenu.c (add_menu_item): Fallback on MacRoman if encoding - menu text as UTF8 fails. - -2004-12-01 Kim F. Storm - - * alloc.c: Add commentary for last change. - (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): New macros to handle - sizeof(size_t) != 4. - (overrun_check_malloc, overrun_check_realloc, overrun_check_free): - Use them. Also clear header and trailer of freed memory. - (GC_STRING_OVERRUN_COOKIE_SIZE): Rename from GC_STRING_EXTRA. - (string_overrun_cookie): Rename from string_overrun_pattern. - (GC_STRING_EXTRA): Define from GC_STRING_OVERRUN_COOKIE_SIZE. - -2004-12-01 Andreas Schwab - - * lisp.h: Declare string_to_multibyte. - -2004-12-01 Kenichi Handa - - * w32console.c (w32con_write_glyphs): Decide coding here. - Adjusted for the change of encode_terminal_code. - - * term.c (encode_terminal_code): Don't make it "static". - -2004-11-30 Kenichi Handa - - * term.c (encode_terminal_buf, encode_terminal_bufsize): New variables. - (encode_terminal_code): Argument changed. Encode all - characters at once, and return a pointer to the result of encoding. - (write_glyphs): Decide coding here. Adjusted for the above change. - (insert_glyphs): Likewise. - (term_init): Initialize encode_terminal_bufsize to 0. - - * coding.c (Vcode_conversion_workbuf_name): New variable. - (syms_of_coding): Initialize and staticpro it. - (set_conversion_work_buffer): New function. - (run_pre_post_conversion_on_str): Use it. - (run_pre_write_conversin_on_c_str): New function. - - * coding.h (run_pre_write_conversin_on_c_str): Extern it. - -2004-11-30 YAMAMOTO Mitsuharu - - * keyboard.c: Don't undef SIGIO - * s/darwin.h (NO_SOCK_SIGIO): Define NO_SOCK_SIGIO on carbon - * Makefile.in (mac.o): Depend on blockinput.h and atimer.h. - (macfns.o): Don't depend on ccl.h. - * macfns.c (mac_frame_parm_handlers): Set handlers for - Qleft_fringe and Qright_fringe. - * macterm.c (mac_fill_rectangle_to_pixmap) - (mac_draw_rectangle_to_pixmap, mac_copy_area_to_pixmap) - (mac_copy_area_with_mask_to_pixmap, x_draw_image_foreground_1): - Put in #if 0. - (mac_scroll_area) [TARGET_API_MAC_CARBON]: Use ScrollWindowRect. - (x_flush) [TARGET_API_MAC_CARBON]: Don't traverse frames. - (XFlush) [TARGET_API_MAC_CARBON]: Define to an empty replacement. - (x_draw_glyph_string_background, x_draw_glyph_string_foreground) - [!MAC_OS8]: Added ifdef'd out code for os8. Don't use - XDrawImageString. Always draw background and foreground separately. - (x_draw_image_foreground): Use clipping instead of computing the - intersection rectangle. - (x_draw_image_glyph_string): Don't draw an image with mask to a - pixmap. - (x_redisplay_interface): Set flush_display_optional member to 0. - (XTread_socket): Correctly reset the TEConverter - object. - -2004-11-30 Kim F. Storm - - * lisp.h: New defines to enable buffer overrun checking. - (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST) - (XMALLOC_OVERRUN_CHECK, GC_CHECK_CONS_LIST): Add. - - * alloc.c: Add more checks for buffer overruns. - (XMALLOC_OVERRUN_CHECK_SIZE, xmalloc_overrun_check_header) - xmalloc_overrun_check_trailer, overrun_check_malloc) - overrun_check_realloc, overrun_check_free): Add. - (GC_STRING_EXTRA, string_overrun_pattern): Add. - (check_sblock, allocate_string_data, compact_small_strings): - Set and check string_overrun_pattern if GC_CHECK_STRING_OVERRUN. - (check_cons_list): Condition on GC_CHECK_CONS_LIST. - (check_string_free_list): Add. - (allocate_string, sweep_strings): Call check_string_free_list. - - * emacs.c (malloc_initialize_hook): Don't free malloc_state_ptr if - XMALLOC_OVERRUN_CHECK to avoid crash during load. - -2004-11-29 Kim F. Storm - - * fns.c (concat): Use SAFE_ALLOCA. - -2004-11-29 Stefan Monnier - - * sysdep.c (emacs_write): Don't use QUIT. - -2004-11-29 Kenichi Handa - - * buffer.c (init_buffer): Set current_buffer->directory to a - multibyte string made by string_to_multibyte. - - * emacs.c (init_cmdargs): Set unibyte strings in Vcommand_line_args. - -2004-11-27 Andreas Schwab - - * alloc.c (mark_stack): Call GC_MARK_SECONDARY_STACK if defined. - - * s/gnu-linux.h: Enable no-op gcpros on ia64. - (GC_MARK_SECONDARY_STACK) [__ia64__]: Define. - - * filelock.c (lock_file_1): Call get_boot_time early. - Increase buffer size. - -2004-11-27 Eli Zaretskii - - * lisp.h (DECL_ALIGN): Define non-trivially only if NO_DECL_ALIGN - is not defined. - -2004-11-27 Kim F. Storm - - * search.c (syms_of_search) : Move 'doc:' - marker out of doc string. - -2004-11-26 Stefan Monnier - - * s/darwin.h (POSIX_SIGNALS): Undo the removal of 2002-08-25, - which was not mentioned in the log. - -2004-11-26 Kim F. Storm - - * fringe.c (update_window_fringes): Prefer truncation bitmaps over - angle bitmaps at top/bottom line. - - * xdisp.c: Undo recent changes for restoring saved_face_id. Instead, - set it when it->method is set to next_element_from_display_vector. - (setup_for_ellipsis): Add LEN argument. Callers changed. - Set it->saved_face_id. - (get_next_display_element): Use loop instead of recursion. - Set it->saved_face_id. Combine duplicate code for ctr chars. - (next_element_from_display_vector): Do not set it->saved_face_id. - (next_element_from_ellipsis): Use setup_for_ellipsis. - -2004-11-26 Eli Zaretskii - - * eval.c (Fdefvar): Declare pdl from last change as `volatile' to - prevent compiler warnings. - -2004-11-25 Stefan Monnier - - * keyboard.c (command_loop_1): Print a message describing the key - the user just pressed when this key has no binding. - - * sysdep.c (sys_signal): Don't use SA_RESTART if SYNC_INPUT is set. - (emacs_open, emacs_read, emacs_write): Check QUIT when interrupted. - - * lread.c (readchar): Check QUIT when `getc' is interrupted. - -2004-11-24 Richard M. Stallman - - * coding.c (run_pre_post_conversion_on_str): Bind Qinhibit_read_only. - - * buffer.c (syms_of_buffer) : Doc fix. - -2004-11-24 Kim F. Storm - - * xdisp.c (move_it_in_display_line_to, display_line): - Restore saved_face_id also when truncate-lines or hscrolled. - -2004-11-23 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_file_name): Rename use-old-gtk-file-dialog to - x-use-old-gtk-file-dialog. - - * xfns.c: Define x_use_old_gtk_file_dialog. - (syms_of_xfns): Rename use-old-gtk-file-dialog to x-... Move it - outside ifdef USE_GTK. - -2004-11-23 Stefan Monnier - - * coding.h (ENCODE_FILE, DECODE_FILE, ENCODE_SYSTEM, DECODE_SYSTEM): - Don't use XFASTINT blindly. - - * config.in (RE_TRANSLATE_P): Don't use XFASTINT blindly. - - * indent.c (skip_invisible): Avoid non-idempotent side-effects - in macro arguments. - - * keymap.c (Flookup_key): Check INTEGERP before XINT. - - * lread.c (oblookup): Don't use XFASTINT blindly. - - * window.c (Fset_window_scroll_bars): Don't use XINT if it isn't int. - (decode_next_window_args, window_loop): Don't use XFASTINT blindly. - -2004-11-23 Kim F. Storm - - * dispextern.h (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P) - (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Not if dpvec_index is zero. - - * xfaces.c (lookup_named_face): Add signal_p arg. Return -1 if - signal_p is zero and face name is unknown. - (Fx_list_fonts): Don't signal error in lookup_named_face. - (Fface_font): Signal error in lookup_named_face. - (ascii_face_of_lisp_face): Likewise. - - * dispextern.h (lookup_named_face): Fix prototype. - - * xdisp.c (handle_single_display_prop): Don't signal error in - lookup_named_face for unknown fringe face name. - (highlight_trailing_whitespace): Don't signal error in - lookup_named_face if trailing-whitespace face unknown. - (calc_line_height_property): Don't signal error in - lookup_named_face if specified face name is unknown. - - * fringe.c (update_window_fringes): Show top row indicator if - window has header-line. Don't show arrow at bob and eob - if the boundary indicators are not used. - (Fset_fringe_bitmap_face): Signal error in lookup_named_face. - - * window.c (set_window_buffer): Clear display_error_modiff. - -2004-11-22 Kim F. Storm - - * fringe.c (update_window_fringes): Provide sensible fall-back - value for non-nil indicate-buffer-boundaries setting. - -2004-11-22 Markus Rost - - * minibuf.c (Fminibuffer_complete_and_exit): Fix previous change. - -2004-11-22 Stefan Monnier - - * eval.c (Fdefvar): Warn when var is let-bound but globally void. - -2004-11-21 Kim F. Storm - - * xdisp.c (erase_phys_cursor): Clear hollow cursor inside TEXT_AREA. - - * xterm.c (x_clip_to_row): Add area arg. Callers changed. - (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA. - - * w32term.c (w32_clip_to_row): Add area arg. Callers changed. - (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA. - - * macterm.c (x_clip_to_row): Add area arg. Callers changed. - (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA. - - * xdisp.c (move_it_in_display_line_to, display_line): - Restore saved_face_id if overflow-newline-into-fringe is enabled and - line is continued before or in middle of element from display vector. - - * indent.c (Fvertical_motion): Fix last change. Use another - method to detect if iterator moved too far ahead after reseat. - - * xdisp.c (IT_EXPAND_MATRIX_WIDTH): New macro. Do not - expand matrix width for overflow in zero-width area. - (append_glyph, append_composite_glyph, produce_image_glyph) - (append_stretch_glyph): Use it to avoid loop in redisplay. - (note_mode_line_or_margin_highlight): Don't let help-echo from - string override help-echo from image map. - -2004-11-20 Luc Teirlinck - - * fns.c (Fyes_or_no_p): Call Fread_from_minibuffer with extra argument. - * callint.c (Fcall_interactively): Ditto. - -2004-11-20 Stefan Monnier - - * minibuf.c (Fminibuffer_complete_and_exit): - Fixup the case of the completed value, for case-indep completion. - -2004-11-20 Richard M. Stallman - - * lisp.h (Fread_from_minibuffer): Add arg in decl. - - * minibuf.c (read_minibuf): New arg KEEP_ALL. Callers changed. - (Fread_from_minibuffer): New arg KEEP_ALL. Callers changed. - - * search.c (Vsearch_spaces_regexp): - Rename from Vsearch_whitespace_regexp. All uses changed. - -2004-11-20 Thien-Thi Nguyen - - * eval.c (init_eval_once): Increase `max_specpdl_size' to 650. - -2004-11-19 Richard M. Stallman - - * search.c (Vsearch_whitespace_regexp): New variable. - (syms_of_search): Defvar it. - (compile_pattern_1): Call re_set_whitespace_regexp with it. - (search_buffer): No regexp is trivial if Vsearch_whitespace_regexp - is non-nil. - (struct regexp_cache): New element whitespace_regexp. - (syms_of_search): Initialize whitespace_regexp elements. - (compile_pattern): Compare whitespace_regexp elements. - (compile_pattern_1): Set whitespace_regexp elements. - - * regex.c (regex_compile): Substitute whitespace_regexp - for spaces, if it is nonzero. - (whitespace_regexp): New variable. - (re_set_whitespace_regexp): New function. - -2004-11-19 Kim F. Storm - - * indent.c (Fvertical_motion): Fix last change. - -2004-11-18 Kim F. Storm - - * indent.c (Fvertical_motion): Undo 2004-11-16 change. - Instead, move back again if reseating moves too far ahead. - -2004-11-17 Luc Teirlinck - - * xdisp.c (message3): Call clear_message. - -2004-11-17 Kim F. Storm - - * xdisp.c (erase_phys_cursor): Adjust cursor row visible height. - -2004-11-16 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_file_name): Typo in HAVE_GTK_FILE_SELECTION_NEW. - - * xmenu.c (x_menu_in_use): Remove. - (x_menu_set_in_use): Also set popup_activated_flag. - - * xfns.c (Fx_file_dialog): Call popup_activated instead of - x_menu_in_use. Call x_menu_set_in_use in Motif version also. - - * xterm.h (x_menu_in_use): Remove. - -2004-11-16 Richard M. Stallman - - * keymap.c (Fmap_keymap): New arg SORT-FIRST. - Use map-keymap-internal to implement that. - - * indent.c (Fvertical_motion): In batch mode, use vmotion directly. - -2004-11-16 Stefan Monnier - - * xdisp.c (get_glyph_string_clip_rect, init_glyph_string): Check it's - a window before using XWINDOW. - - * window.c (make_window, Fselect_window, make_dummy_parent) - (save_window_save): - * frame.c (make_frame): - * fns.c (concat): Avoid side-effects inside XSETFASTINT's arguments. - - * lisp.h (NILP): Use EQ rather than XFASTINT. - -2004-11-16 Kim F. Storm - - * fringe.c (Fdefine_fringe_bitmap): Always set 'h'. Simplify. - - * indent.c (Fvertical_motion): Fix last change. Only reseat when - moving backwards. - -2004-11-16 Luc Teirlinck - - * dispextern.h: Extern reseat_at_previous_visible_line_start. - -2004-11-16 Kenichi Handa - - * xdisp.c (display_mode_element): Fix previous change (calculate - end position of substring to display correctly). - -2004-11-16 Kim F. Storm - - * keyboard.c (Fposn_at_point): Remove extra */ after doc string. - Reported by Andrew M. Scott. - -2004-11-15 Kim F. Storm - - * fns.c (Fsafe_plist_get): New defun. - (syms_of_fns): Defsubr it. - - * lisp.h (Fsafe_plist_get): Add EXFUN. - - * xdisp.c (store_mode_line_string, produce_stretch_glyph): - Use Fsafe_plist_get. - (note_mode_line_or_margin_highlight, note_mouse_highlight): - Fix image map element parsing. Use Fsafe_plist_get. - -2004-11-15 Richard M. Stallman - - * xdisp.c (get_next_display_element): Fix previous change. - -2004-11-14 Jan Dj,Ad(Brv - - * window.c (shrink_windows): Handle special case of one window left - when trying to shrink the final reminder. Grow windows if - total_removed is less than total_shrink. - - * xmenu.c (pop_down_menu): Remove global variable current_menu, - extract pointer from arg with XSAVE_VALUE. - (create_and_show_popup_menu, create_and_show_dialog, xmenu_show): - Construct arg to record_unwind_protect with make_save_value. - -2004-11-13 Richard M. Stallman - - * xdisp.c (reseat_at_previous_visible_line_start): No longer static. - (get_next_display_element): Fix previous change to apply only to \n. - - * indent.c (Fvertical_motion): Scan to PT from start of line to - make iterator consistent. - - * minibuf.c (syms_of_minibuf) : Doc fix. - -2004-11-14 Jan Dj,Ad(Brv - - * gtkutil.c (pop_down_file_dialog): Add BLOCK_INPUT. - - * xfns.c (Fx_file_dialog): Call x_menu_in_use and x_menu_set_in_use. - Record unwind with clean_up_file_dialog. - - * xterm.h (x_menu_in_use, x_menu_set_in_use, x_menu_wait_for_event): - Declare. - - * xmenu.c (x_menu_in_use, x_menu_set_in_use): New functions. - -2004-11-13 Jan Dj,Ad(Brv - - * gtkutil.c (xg_file_sel_ok, xg_file_sel_cancel) - (xg_file_sel_destroy): Remove. - (xg_file_response_cb, pop_down_file_dialog) - (xg_get_file_name_from_chooser, xg_get_file_name_from_selector): - New functions. - (xg_get_file_with_chooser, xg_get_file_with_selection): - Take new arg func, set it to xg_get_file_name_from_chooser/selector. - Move common code to xg_get_file_name. Return widget created. - (xg_get_file_name): Set name, transient for, modal and destroy - with parent here. Connect response signal to xg_file_response_cb, - connect delete-event to gtk_true. Record pop_down_file_dialog - for unwind. Do event loop and call x_menu_wait_for_event in loop. - (xg_create_widget): Make dialogs modal. - - * xmenu.c (unuse_menu_items, pop_down_menu): Arg is of type - Lisp_Object. - (popup_get_selection): Move unwind protect ... - (create_and_show_popup_menu, create_and_show_dialog): ... to here. - Move destroy of widget to pop_down_menu. - (popup_widget_loop): Move unwind protect ... - (create_and_show_popup_menu, create_and_show_dialog): ... to here. - Move destroy of widget to pop_down_menu. - (pop_down_menu): BLOCK_INPUT and destroy widget/window. - (xmenu_show): Record unwind pop_down_menu. Move XMenuDestroy, - x_mouse_leave and grabbed = 0 to pop_down_menu. - -2004-11-13 Kim F. Storm - - * xdisp.c (make_cursor_line_fully_visible_p): New variable. - (syms_of_xdisp): DEFVAR_BOOL it. - (make_cursor_line_fully_visible, try_cursor_movement) - (try_window_id): Use it. - -2004-11-12 Kim F. Storm - - * dispextern.h (struct glyph_row): New member extra_line_spacing. - (struct it): New member max_extra_line_spacing. - (MR_PARTIALLY_VISIBLE, MR_PARTIALLY_VISIBLE_AT_TOP) - (MR_PARTIALLY_VISIBLE_AT_BOTTOM): New helper macros. - (MATRIX_ROW_PARTIALLY_VISIBLE_P): Fix to return false if invisible - part of last line is only extra line spacing (so the text on the - line is fully visible). Use helper macros. - Add W arg (to use them). All callers changed. - (MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P) - (MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P): Use helper macros. - - * window.c (window_scroll_pixel_based, Frecenter): - Use move_it_vertically_backward directly. - (Frecenter): Fix calculation of new start pos for negative arg. - Before, the new start pos was sometimes chosen too far back, so - the last line became only partially visible, and thus would be - either only semi-visible or automatically scrolled to the middle - of the window by redisplay. - - * xdisp.c (init_iterator): Clear it.max_extra_line_spacing. - (move_it_vertically_backward): Don't recure to move further back. - (move_it_vertically): Remove superfluous condition. - (move_it_by_lines): Clear last_height when moved 0 lines. - (resize_mini_window): Use it.max_extra_line_spacing. - (display_tool_bar_line): Clear row->extra_line_spacing. - (try_scrolling): Use move_it_vertically_backward directly. - (redisplay_window): Likewise. - (compute_line_metrics): Set row->extra_line_spacing. - (display_line, display_string): Likewise. - (x_produce_glyphs): Update it->max_extra_line_spacing. - - * xmenu.c (pop_down_menu): Return nil. - -2004-11-12 Jan Dj,Ad(Brv - - * xmenu.c (x_menu_wait_for_event): New function. - (popup_get_selection, popup_widget_loop): Call x_menu_wait_for_event - to handle timers. - (popup_widget_loop): Add argument do_timers. - (create_and_show_popup_menu, create_and_show_dialog): Pass 1 for - do_timers to popup_widget_loop. - (xmenu_show): Call XMenuActivateSetWaitFunction so that - x_menu_wait_for_event is called by XMenuActivate. - (create_and_show_popup_menu): Pass 1 for do_timers to - popup_get_selection. - (pop_down_menu): New function. - (popup_get_selection, popup_widget_loop): Unwind protect to - pop_down_menu. - (popup_widget_loop): Add argument widget. - (create_and_show_popup_menu, create_and_show_dialog): Pass new - argument widget to popup_widget_loop. - -2004-11-10 Stefan Monnier - - * keymap.c (Fkeymap_prompt): Accept symbol keymaps. - -2004-11-09 Kim F. Storm - - * xselect.c: Include and (for getpid). - Fix various comments referring to XEvents instead of input events. - (x_queue_event): Fix format strings. - (x_stop_queuing_selection_requests): Likewise. - - * xdisp.c (produce_image_glyph): Remove unused variable 'face_ascent'. - (pint2hrstr): Add extra braces to silence compiler. - - * print.c (print_object): Fix format string. - - * lread.c (read1): Fix next_char matching. - - * lisp.h (Fdelete): Add EXFUN. - (replace_range_2): Add prototype. - - * keyboard.c (read_avail_input): Remove unused variable 'discard'. - - * intervals.h (NULL_INTERVAL_P): Add separate version when - ENABLE_CHECKING is not defined to silence compiler. - (compare_string_intervals): Add prototype. - - * fringe.c (destroy_fringe_bitmap): Fix return type. - (Ffringe_bitmaps_at_pos): Remove unused var 'old_buffer'. - - * emacs.c (Fdump_emacs): Fix format string. - - * doc.c: Include . - (Fsubstitute_command_keys): Remove unused variable 'firstkey'. - - * data.c (store_symval_forwarding): Remove unused variables. - - * callint.c (Fcall_interactively): Remove unused variable 'funcar'. - -2004-11-09 Jan Dj,Ad(Brv - - * Makefile.in (stamp-oldxmenu): If HAVE_GTK, don't add dependencies - to ${OLDXMENU}. - -2004-11-09 Kim F. Storm - - * process.c (Fmake_network_process): Remove kludge for interrupted - connects on BSD. If connect is interrupted, just close socket and - start over rather than sleeping and retry with same socket. - -2004-11-09 Jan Dj,Ad(Brv - - * .cvsignore: Add buildobj.lst. - - * doc.c: New variable Vbuild_files. - (Fsnarf_documentation): If Vbuild_files is nil, populate it with - file names from buildobj.lst. Only attach docstrings from files - that are in Vbuild_files. - (syms_of_doc): Defvar Vbuild_files. - - * Makefile.in (SOME_MACHINE_OBJECTS): Add fringe.o, image.o - and w32*.o. - (temacs${EXEEXT}): Generate buildobj.lst when temacs is linked. - (mostlyclean): Rm buildobj.lst - - * makefile.w32-in ($(TEMACS)): Generate buildobj.lst when temacs - is linked. - -2004-11-09 Kim F. Storm - - * fringe.c (update_window_fringes): Update fringe bitmaps if - cur and row ends_at_zv_p differs. If bitmaps of a row is updated, - also update previous row to get rid of misc. artifacts. - -2004-11-08 Kim F. Storm - - * xdisp.c (fast_find_position): Fix start pos if header line present. - (note_mouse_highlight): Clear mouse face if we move out of text area. - -2004-11-08 Eli Zaretskii - - * editfns.c: Move #include "systime.h" before . - Don't include explicitly. - Include unconditionally, not just on MacOS. - -2004-11-08 Kenichi Handa - - * fontset.c (fontset_pattern_regexp): Cancel my previous change; - don't pay attention to '\' before '*'. - (fontset_pattern_regexp): Change the meaning of the second arg. - (Fnew_fontset): Call fs_query_fontset, not Fquery_fontset. - (check_fontset_name): Try NAME as literal at first, and if it - failes, try NAME as pattern. - -2004-11-07 Jan Dj,Ad(Brv - - * emacs.c (Fdump_emacs): Only output warning on GNU/Linux. - -2004-11-07 Andreas Schwab - - * lisp.h (Fmsdos_downcase_filename): Declare. - * dired.c (Fmsdos_downcase_filename): Don't declare here. - * fileio.c: Likewise. - -2004-11-07 Jan Dj,Ad(Brv - - * dosfns.c (Fdos_memget, Fdos_memput): Use integer variable offs in - comparisons with integers instead of Lisp_Object address. - (Fmsdos_set_keyboard): Declare argument allkeys. - - * msdos.c (IT_set_frame_parameters): Use EQ, not ==, for Lisp_Object:s. - - * dired.c (Fmsdos_downcase_filename): Declare extern on MSDOS to avoid - int/Lisp_Object mixup. - - * fileio.c: Ditto. - -2004-11-06 Steven Tamm - - * editfns.c: Need to include sys/time.h before resource.h on darwin. - -2004-11-06 Richard M. Stallman - - * callint.c (Fcall_interactively): Avoid reusing EVENT for other data. - - * xfaces.c (merge_named_face): GCPRO the face_name in the - named_merge_point struct that we make. - (merge_face_heights): Eliminate GCPRO arg. All callers changed. - - * keyboard.c (command_loop_1): Change Vtransient_mark_mode - before deciding whether to inactivate mark. - -2004-11-06 Lars Brinkhoff - - * config.in: Regenerate (add HAVE_GETRUSAGE). - * editfns.c (Fget_internal_run_time): New function. - (syms_of_data): Defsubr it. - * fns.c (sxhash): As far as possible, merge calculation of - hash code for symbols and strings. - -2004-11-06 Eli Zaretskii - - * frame.c (syms_of_frame): Fix the example in the doc string. - -2004-11-06 Jan Dj,Ad(Brv - - * eval.c (Feval): Remove check for INPUT_BLOCKED_P. - - * xmenu.c (popup_get_selection, create_and_show_popup_menu) - (create_and_show_dialog): Revert change from 2004-10-31. - -2004-11-05 Luc Teirlinck - - * macros.c (syms_of_macros) : Doc fix. - -2004-11-05 Kim F. Storm - - * print.c (print_object): Print Lisp_Misc_Save_Value objects. - - * fileio.c (Ffile_modes): Doc fix. - (auto_save_1): Check for Ffile_modes nil value. - -2004-11-05 Kim F. Storm - - * xselect.c (struct selection_event_queue, selection_queue) - (x_queue_selection_requests, x_queue_event) - (x_start_queuing_selection_requests) - (x_stop_queuing_selection_requests): Add new queue for selection - input events to replace previous XEvent queue in xterm.c. - (queue_selection_requests_unwind): Adapt to new queue. - (x_reply_selection_request): Adapt to new queue. - Unexpect wait_object in case of x errors (memory leak). - (x_handle_selection_request, x_handle_selection_clear): Make static. - (x_handle_selection_event): New function. May queue selection events. - (wait_for_property_change_unwind): Use save_value instead of cons. - Clear property_change_reply_object. - (wait_for_property_change): Abort if already waiting. - Use save_value instead of cons for unwind data. - (x_handle_property_notify): Skip events already arrived, but don't - free them, as "arrived" field is checked by wait_for_property_change, - and it will be freed by unwind or explicit unexpect_property_change. - (x_get_foreign_selection): Add to new queue. - (receive_incremental_selection): Don't unexpect wait_object when done - as it has already been freed by previous wait_for_property_change. - - * xterm.h (x_start_queuing_selection_requests) - (x_stop_queuing_selection_requests, x_handle_selection_request) - (x_handle_selection_clear): Remove prototypes. - (x_handle_selection_event): Add prototype. - - * xterm.c (handle_one_xevent): Don't queue X selection events - here, it may be too late if we start queuing after we have already - stored some selection events into the kbd buffer. - (struct selection_event_queue, queue, x_queue_selection_requests) - (x_queue_event, x_unqueue_events, x_start_queuing_selection_requests) - (x_stop_queuing_selection_requests): Remove/move to xselect.c. - (x_catch_errors_unwind): Block input around final XSync. - - * keyboard.h (kbd_buffer_unget_event): Add prototype. - - * keyboard.c (kbd_buffer_store_event_hold): Remove obsolete code. - (kbd_buffer_unget_event): New function. - (kbd_buffer_get_event, swallow_events): Combine SELECTION events - and use x_handle_selection_event. - (mark_kboards): Don't mark x and y of SELECTION_CLEAR_EVENT. - -2004-11-05 Jan Dj,Ad(Brv - - * xselect.c (TRACE3): New debug macro. - (x_reply_selection_request): Use it. - (receive_incremental_selection): In call to TRACE0, the name of - a symbol is in xname. - -2004-11-05 Kim F. Storm - - * fontset.c (fontset_pattern_regexp): Use unsigned char. - -2004-11-04 Jan Dj,Ad(Brv - - * fileio.c (Fnext_read_file_uses_dialog_p): New function. - - * gtkutil.h (use_old_gtk_file_dialog): Declare. - - * gtkutil.c: Make use_old_gtk_file_dialog non-static. - (xg_initialize): Move DEFVAR_BOOL for use_old_gtk_file_dialog ... - * xfns.c (syms_of_xfns): ... to here. - - * gtkutil.c (xg_get_file_with_chooser): Expand DEFAULT_FILENAME if - it doesn't start with /. - -2004-11-04 Kenichi Handa - - * fontset.c (fontset_pattern_regexp): If '*' is preceded by '\', - treat it as a literal character. - -2004-11-03 Kim F. Storm - - * .gdbinit (ppt): New function. - -2004-11-02 Jan Dj,Ad(Brv - - * xterm.c (x_window_to_scroll_bar): Only call - xg_get_scroll_id_for_window if toolkit scroll bars are used. - - * gtkutil.c (xg_get_file_with_chooser): Use GTK_STOCK_OK instead - of save. - -2004-11-02 Andreas Schwab - - * window.c (Fscroll_right): Fix last change. - -2004-11-02 Kim F. Storm - - * Makefile.in (callproc.o): Depend on blockinput.h, atimer.h, systime.h. - -2004-11-02 YAMAMOTO Mitsuharu - - * callproc.c (Fcall_process): Block input around vfork. - -2004-11-02 Kim F. Storm - - * eval.c (Fcalled_interactively_p): Rename from Fcall_interactive_p. - (syms_of_eval): Defsubr it. - -2004-11-02 Richard M. Stallman - - * insdel.c (replace_range_2): New function. - - * casefiddle.c (casify_region): Handle changes in byte-length - using replace_range_2. - - * emacs.c (USAGE3): Delete --horizontal-scroll-bars, -hb. - - * xdisp.c (back_to_previous_visible_line_start): - Subtract 1 from pos when checking previous newline for invisibility. - - * window.c (window_scroll_pixel_based): Update preserve_y - for header line if any. - (Fscroll_left, Fscroll_right): Don't call interactive_p; - use a new second argument instead. - - * eval.c (Fcall_interactive_p): New function. - (interactive_p): Don't test INTERACTIVE here. - (Finteractive_p): Doc fix. - - * eval.c (Feval): Abort if INPUT_BLOCKED_P. - -2004-11-02 KOBAYASHI Yasuhiro - - * w32fns.c (w32_font_match): Use fast_string_match_ignore_case for - comparing font names. - -2004-11-02 Jan Dj,Ad(Brv - - * fileio.c (Fread_file_name): Pass Qt as fifth parameter to - Fx_file_dialog if only directories should be read. - - * lisp.h: Fx_file_dialog takes 5 parameters. - - * xfns.c (Fx_file_dialog): Both Motif and GTK version: - Add parameter only_dir_p. - In Motif version, don't put DEFAULT_FILENAME in filter part of the - dialog, just text field part. Do not add DEFAULT_FILENAME - to list of files if it isn't there. - In GTK version, pass only_dir_p parameter to xg_get_file_name. - - * macfns.c (Fx_file_dialog): Add parameter only_dir_p. - Check only_dir_p instead of comparing prompt to "Dired". When using - a save dialog, add option kNavDontConfirmReplacement, change title - to "Enter name", change text for save button to "Ok". - - * w32fns.c (Fx_file_dialog): Add parameter only_dir_p. - Check only_dir_p instead of comparing prompt to "Dired". - - * gtkutil.c (xg_get_file_with_chooser, xg_get_file_with_selection): - New functions, only defined ifdef HAVE_GTK_FILE_CHOOSER_DIALOG_NEW - and HAVE_GTK_FILE_SELECTION_NEW respectively. - (xg_get_file_name): Add parameter only_dir_p. - Call xg_get_file_with_chooser or xg_get_file_with_selection - depending on HAVE_GTK_FILE* and the value of use_old_gtk_file_dialog. - (xg_initialize): New DEFVAR_BOOL use_old_gtk_file_dialog. - - * gtkutil.h (xg_get_file_name): Add parameter only_dir_p. - - * config.in: Rebuild (added HAVE_GTK_FILE_*). - -2004-11-01 Kim F. Storm - - * process.c (connect_wait_mask, num_pending_connects): - Only declare and use them if NON_BLOCKING_CONNECT is defined. - (init_process): Initialize them if NON_BLOCKING_CONNECT defined. - (IF_NON_BLOCKING_CONNECT): New helper macro. - (wait_reading_process_output): Only declare and use local vars - Connecting and check_connect when NON_BLOCKING_CONNECT is defined. - -2004-11-01 Andy Petrusenco (tiny change) - - * w32term.c (x_scroll_run): Delete region objects after use. - -2004-10-31 Jan Dj,Ad(Brv - - * xmenu.c: Add prototypes for forward function declarations. - (popup_get_selection): Remove parameter do_timers, remove call to - timer_check. - (create_and_show_popup_menu, create_and_show_dialog): - Remove parameter do_timers from call to popup_get_selection. - - * xdisp.c (update_tool_bar): Pass a copy of f->tool_bar_items to - tool_bar_items and assign the result to f->tool_bar_items if - not equal. Move BLOCK/UNBLOCK_INPUT from around call to - tool_bar_items to assignment of result. - - * atimer.c (alarm_signal_handler): Do not call set_alarm if - pending_atimers is non-zero. - -2004-10-31 Kim F. Storm - - * dispnew.c (margin_glyphs_to_reserve): Don't use ncols_scale_factor. - -2004-10-28 Will - - * macterm.c: Allow user to assign key modifiers to the Mac Option - key via a 'mac-option-modifier' variable. - -2004-10-28 Stefan Monnier - - * xselect.c (Vx_lost_selection_functions, Vx_sent_selection_functions): - Rename from Vx_lost_selection_hooks and Vx_sent_selection_hooks. - (x_handle_selection_request, x_handle_selection_clear) - (x_clear_frame_selections, syms_of_xselect): Adjust accordingly. - -2004-10-28 Richard M. Stallman - - * w32fns.c (Fx_server_vendor, Fx_server_version): Doc fixes. - - * xfns.c (Fx_server_vendor, Fx_server_version): Doc fixes. - -2004-10-27 Stefan Monnier - - * syntax.c (scan_sexps_forward): Give precedence to a 2-char - comment-starter over a 1-char one. - -2004-10-27 Richard M. Stallman - - * xdisp.c (get_next_display_element): In mode lines, - treat newline and tab like other control characters. - - * editfns.c (Fmessage): Doc fix. - - * indent.c (vmotion): When moving up, check the newline before. - Make prevline an int, not a Lisp_Object. - -2004-10-27 Kim F. Storm - - * editfns.c (Fformat): Allocate discarded table with SAFE_ALLOCA. - Only allocate info and discarded tables once. - - * lisp.h (USE_SAFE_ALLOCA): Add and init sa_must_free integer. - (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Increment it when malloc is used. - (SAFE_FREE): Test it to determine if we need to unwind to free. - Remove size arg. All users changed. - (SAFE_FREE_LISP) Remove. All users changed to use SAFE_FREE. - -2004-10-26 Jan Dj,Ad(Brv - - * gtkutil.c: Put empty line between comment and function body. - (xg_destroy_widgets): Rename from remove_from_container. - Just destroy all widgets in list. Argument wcont removed. - (xg_update_menubar, xg_update_submenu): Call xg_destroy_widgets - instead of remove_from_container. - (xg_display_close, xg_create_tool_bar, update_frame_tool_bar) - (free_frame_tool_bar): Add comment. - - * xfns.c (xic_create_xfontset): Check that FRAME_XIC_BASE_FONTNAME - is not NULL before strcmp. - -2004-10-26 Kim F. Storm - - * callint.c (Fcall_interactively): Add 'U' code to get the - up-event discarded by a previous 'k' or 'K' argument. - -2004-10-26 David Kastrup - - * buffer.c (syms_of_buffer): Fix a few typos. - -2004-10-26 Jan Dj,Ad(Brv - - * xsmfns.c: Put empty line between comment and function body. - Use two spaces before comment end. - -2004-10-25 Kenichi Handa - - * fontset.c (fontset_pattern_regexp): Optimize for the case that - PATTERN is full XLFD. - -2004-10-24 Kenichi Handa - - * regex.h (enum reg_errcode_t): New value REG_ERANGEX. - - * regex.c (re_error_msgid): Add an entry for REG_ERANGEX. - (regex_compile): Return REG_ERANGEX if appropriate. - -2004-10-22 Kenichi Handa - - * editfns.c (Ftranslate_region_internal): New function. - (syms_of_editfns): Defsubr it. - -2004-10-22 Jan Dj,Ad(Brv - - * xfns.c (xic_create_xfontset): Initialize missing_list to NULL. - -2004-10-21 K,Aa(Broly L$,1 q(Brentey - - * xterm.h (x_output): New member `xic_base_fontname'. - (FRAME_XIC_BASE_FONTNAME): New macro. - (xic_free_xfontset): Declare. - - * xfns.c (xic_create_xfontset): Share fontsets between frames - based on base_fontname. - (xic_free_xfontset): New function. - (free_frame_xic): Use it. - (xic_set_xfontset): Ditto. - - * xterm.c (xim_destroy_callback): Ditto. - -2004-10-20 B. Anyos (tiny change) - - * w32term.c (x_draw_glyph_string): Use overline_color for overlines. - -2004-10-20 Jan Dj,Ad(Brv - - * xterm.h (XSync): If USE_GTK, define XSync as process_all and then - XSync. - - * emacs.c (my_heap_start, heap_bss_diff, MAX_HEAP_BSS_DIFF): - New variables and constant. - (main): Calculate heap_bss_diff. If we are dumping and the - heap_bss_diff is greater than MAX_HEAP_BSS_DIFF, set PER_LINUX32 - and exec ourself again. - (Fdump_emacs): If heap_bss_diff is greater than MAX_HEAP_BSS_DIFF - print a warning. - - * lastfile.c: Make my_endbss and my_endbss_static available on all - platforms. - - * Makefile.in (RUN_TEMACS): Remove @SETARCH@. - * config.in (HAVE_PERSONALITY_LINUX32): Regenerate. - -2004-10-19 Luc Teirlinck - - * data.c (Flocal_variable_if_set_p): Doc fix. - -2004-10-19 Jason Rumney - - * w32.c (init_environment): Set emacs_dir correctly when running - emacs from the build directory. - -2004-10-19 Richard M. Stallman - - * editfns.c (Fdelete_and_extract_region): - If region is empty, return null string. - -2004-10-19 Jan Dj,Ad(Brv - - * gtkutil.h (xg_update_scrollbar_pos): Remove arguments real_left - and canon_width. - (xg_frame_cleared): Remove. - - * gtkutil.c (xg_frame_cleared, xg_fixed_handle_expose) - (xg_find_top_left_in_fixed): Remove. - (xg_create_scroll_bar): Put an event box widget between - the scroll bar widget and the edit widget. - (xg_show_scroll_bar): Show the parent widget (the event box). - (xg_remove_scroll_bar): Destroy parent (the event box) also. - (xg_update_scrollbar_pos): Remove arguments real_left and canon_width. - Move the parent (the event box) widget inside the fixed widget. - Move window clear to xterm.c. - - * gtkutil.h (xg_frame_cleared): Remove. - - * xterm.c (x_clear_frame): Remove call to xg_frame_cleared - (x_scroll_bar_create, XTset_vertical_scroll_bar): - Remove arguments left and width to xg_update_scrollbar_pos. - (XTset_vertical_scroll_bar): Do x_clear_area for USE_GTK also. - -2004-10-19 Kenichi Handa - - * xdisp.c (display_mode_element): Fix display of wide chars. - -2004-10-18 Jan Dj,Ad(Brv - - * gtkutil.c (xg_update_scrollbar_pos): Change XClearWindow to - gdk_window_clear and move gdk_window_process_all_updates after - clear so events are sent to the X server in correct order. - -2004-10-18 Kenichi Handa - - * fontset.c (fs_load_font): Use fast_string_match_ignore_case for - comparing font names. - (fs_query_fontset): Use fast_string_match for comparing fontset names. - (list_fontsets): Likewise. - - * search.c (fast_string_match_ignore_case): New function. - - * lisp.h (fast_string_match_ignore_case): Extern it. - -2004-10-17 Kim F. Storm - - * xdisp.c (overlay_arrow_at_row): Return overlay string rather - than bitmap if there is not left fringe. - (get_overlay_arrow_glyph_row): Also used on windows system. - (display_line): Display overlay string if no left fringe. - -2004-10-16 Jason Rumney - - * w32fns.c (w32_font_match): Encode font name being matched. - -2004-10-16 Richard M. Stallman - - * window.c (Fspecial_display_p): Doc fix. - -2004-10-15 Stefan Monnier - - * doc.c (Fsubstitute_command_keys): Fix remap-handling. - Don't ignore menus, because where-is-internal already does it for us. - -2004-10-15 Kim F. Storm - - * xdisp.c (redisplay_window): Only update fringes and vertical - border on window frames. - -2004-10-14 Andreas Schwab - - * m/ia64.h (DATA_SEG_BITS): Don't define. - -2004-10-14 Kim F. Storm - - * xterm.h: Include Xutil.h after keysym.h to work around bug - in some X versions. - -2004-10-13 Stefan Monnier - - * fns.c (map_char_table): Add missing gcpros. - -2004-10-13 Stefan Monnier - - * keymap.c (get_keymap): An autoload form is not a keymap. - - * textprop.c (syms_of_textprop): Make `syntax-table' nonsticky. - -2004-10-13 Kim F. Storm - - * callproc.c (Fcall_process): Simplify handling of display arg. - Resume `display_on_the_fly' once a coding system is determined. - - * xdisp.c (redisplay_preserve_echo_area): Fix last change. - -2004-10-12 Kim F. Storm - - * xdisp.c (redisplay_preserve_echo_area): Flush display in case - caller, such as call-process, is not going to poll for input. - (calc_line_height_property): Handle case where it->object is nil. - - * xterm.c (x_redisplay_interface): Fix flush_display_optional. - -2004-10-12 Kenichi Handa - - * xdisp.c (get_next_display_element): - If unibyte_display_via_language_environment is zero, display 8-bit - chars in octal in unibyte buffer. - -2004-10-12 Kim F. Storm - - * doc.c (Fsubstitute_command_keys): Ignore remappings unless there - are no ordinary bindings. - -2004-10-11 Jan Dj,Ad(Brv - - * xfns.c (syms_of_xfns): Defsubr x-file-dialog for GTK also. - -2004-10-10 YAMAMOTO Mitsuharu - - * macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow. - (x_lower_frame): Add BLOCK_INPUT around SendBehind. - (make_mac_frame): Add BLOCK_INPUT around the making of a - terminal frame. - (mac_initialize): Add BLOCK_INPUT around carbon initialization. - * macgui.h (mktime): Use emacs_mktime. - * macfns.c (Fx_file_dialog): Add BLOCK_INPUT around more code. - Make a cancel file-open dialog be like C-g. - * mac.c (mktime): Use emacs_mktime. - (Fdo_applescript): Add BLOCK_INPUT around do_applescript. - (Fmac_paste_function): Add better error handling for carbon cut/paste. - -2004-10-10 Kim F. Storm - - * keyboard.c (timer_resume_idle): New function to resume idle - timer without resetting timers on the idle list. - (read_char): Use timer_resume_idle. Remove local var last_idle_start. - (timer_start_idle, timer_stop_idle): Declare static. - (read_key_sequence): Use timer_resume_idle instead of timer_start_idle. - - * keyboard.h (timer_start_idle, timer_stop_idle): Remove prototypes. - -2004-10-08 Steven Tamm - - * config.in (HAVE_MALLOC_MALLOC_H): Regenerate. - * macterm.c (mac_check_for_quit_char): Remove warning for using - NULL where 0 should be used. - * unexmacosx.c: Use malloc/malloc.h on Tiger instead of - objc/malloc.h - * mac.c: Include time.h for Tiger compatibility. - -2004-10-07 Kim F. Storm - - * xdisp.c (redisplay_window): Fix flicker on vertical line between - windows. Update vertical line after drawing window fringes, but - only if actually drawing any bitmaps--or there is no fringe. - - * xterm.c (x_update_window_end): Likewise. - * macterm.c (x_update_window_end): Likewise. - * w32term.c (x_update_window_end): Likewise. - - * fringe.c (draw_window_fringes): Return value now indicates if - any fringe bitmaps were redrawn (or there are no fringes). - - * dispextern.h (draw_window_fringes): Update prototype. - -2004-10-06 YAMAMOTO Mitsuharu - - * macfns.c (mac_get_window_bounds): Add extern. - (x_real_positions): Use mac_get_window_bounds. - - * macmenu.c (update_submenu_strings): Apply 2004-09-07 change for - xmenu.c (YAILOM). - - * macterm.c [!MAC_OSX]: Include Windows.h. - (front_emacs_window): Rename from mac_front_window. All uses - changed. Return the frontmost non-tooltip emacs window. - (mac_get_window_bounds): New function. - (x_calc_absolute_position): Use the difference of width and height - between the inner and outer window. - (x_set_offset): Specify window position by the coordinae of the - outer window. Adjust the position if the title bar is completely - outside the screen. - (app_is_suspended, app_sleep_time): Remove unused variables. - (do_app_resume, do_app_suspend): Remove their contents because - window-activate/deactivate events will do the job. - (do_zoom_window): Remove unused variables. Make compliant to the - standard way of zooming. Set f->left_pos and f->top_pos. - (XTread_socket): Don't use argument `expected'. Don't use - FrontWindow to determine the clicked window. Exclude unprocessed - mouseUp cases in the early stage. Add parentheses to fix operator - precedence. - (XTread_socket) [TARGET_API_MAC_CARBON]: Don't specify drag area. - -2004-10-05 Jan Dj,Ad(Brv - - * config.in: Regenerate. - - * Makefile.in (RUN_TEMACS): Check HAVE_RANDOM_HEAPSTART instead of - HAVE_EXECSHIELD. - -2004-10-05 Jan Dj,Ad(Brv - - * xterm.c (x_find_modifier_meanings): Ignore any Super or Hyper for - a row if Alt or Meta has been found for that row. Also stop scanning - for Keysyms for that row. - -2004-10-04 Kim F. Storm - - * fringe.c (Ffringe_bitmaps_at_pos): Change return value from cons - to list. Include overlay arrow bitmap in return value. - - * xterm.c (XTset_vertical_scroll_bar): Improve handling of scroll - bars with fractional column width. If scroll bar separates two - windows, move it towards the window it belongs to. Only update - the padding area below the scroll bar widget when necessary, - i.e. when scroll bar widget is created, moved, or resized. - - * xdisp.c (define_frame_cursor1): Do not change frame cursor - while tracking/dragging mouse. - (x_draw_vertical_border): Do not draw line if frame has scroll bars. - - * window.c (coordinates_in_window): Relax check for cursor - on vertial border between mode lines. - (Fset_window_fringes): Do not allow negative widths. - (Fset_window_scroll_bars): Likewise. - - * .gdbinit (pp): Shorthand for p ARG + pr. - (ff): New command: flush frame updates (X only). - -2004-10-03 Michael Albinus - - * fileio.c (auto_save_1) Call Ffile_modes for remote files. - -2004-09-30 Kenichi Handa - - * process.c (send_process): Free composition data. - - * fileio.c (Finsert_file_contents): Free composition data. - - * coding.c (code_convert_region): Don't skip ASCIIs if there are - compositions to encode. - (encode_coding_string): Likewise. Free composition data. - -2004-09-30 Florian Weimer - - * coding.c (code_convert_region): Free composition data. - -2004-09-29 Kim F. Storm - - * fringe.c: Remove limit on number of bitmaps. - (fringe_bitmaps, fringe_faces): Change to pointers. - (max_fringe_bitmaps): New var. - (Fdefine_fringe_bitmap): Expand fringe_bitmaps and fringe_faces. - (init_fringe): Allocate fringe_bitmaps and fringe_faces. - - * dispextern.h (FRINGE_ID_BITS): Increase to 16 bits (64K bitmaps). - (struct glyph_row): Reorder fringe_bitmap related fields. - (struct it): Likewise. - - * w32term.c (fringe_bmp): Change to pointer. - (max_fringe_bmp): New var. - (w32_define_fringe_bitmap): Expand fringe_bmp. - (w32_draw_fringe_bitmap): Check max_fringe_bmp. - (w32_destroy_fringe_bitmap): Likewise. - -2004-09-29 Kim F. Storm - - * fringe.c: Simplify last change. - (lookup_fringe_bitmap): New function. - (valid_fringe_bitmap_p, resolve_fringe_bitmap): Remove. - (Fdestroy_fringe_bitmap): Use lookup_fringe_bitmap. - Keep standard bitmaps in Vfringe_bitmaps. - (Fdefine_fringe_bitmap): Use lookup_fringe_bitmap. - (Fset_fringe_bitmap_face): Likewise. - - * dispextern.h (lookup_fringe_bitmap): Add prototype. - (valid_fringe_bitmap_p): Remove prototype. - - * xdisp.c (handle_single_display_prop): Use lookup_fringe_bitmap. - -2004-09-29 Kim F. Storm - - * fringe.c (destroy_fringe_bitmap, init_fringe_bitmap) - (w32_init_fringe, w32_reset_fringes): Fix bootstrap (NULL rif). - - * dispextern.h (valid_fringe_bitmap_p): Fix prototype. - - * fringe.c (Vfringe_bitmaps): New variable. - (syms_of_fringe): DEFVAR_LISP it. - (valid_fringe_bitmap_p): Rename from valid_fringe_bitmap_id_p. - Change arg to Lisp_Object and fail if not an integer. - (get_fringe_bitmap_name, resolve_fringe_bitmap) - (destroy_fringe_bitmap): New functions. - (Fdestroy_fringe_bitmap): Change arg to bitmap symbol. - Use destroy_fringe_bitmap. Remove symbol from Vfringe_bitmaps and - clear its fringe property. - (init_fringe_bitmap): Use destroy_fringe_bitmap instead of - Fdestroy_fringe_bitmap. - (Fdefine_fringe_bitmap): Add BITMAP arg specifying new or existing - bitmap symbol; remove WHICH arg. Add symbol to Vfringe_bitmaps - and set fringe property. Signal error if no free slots. - (Fset_fringe_bitmap_face): Change arg to bitmap symbol. - (Ffringe_bitmaps_at_pos): Return bitmap symbols instead of numbers. - - * xdisp.c (handle_single_display_prop): Fringe bitmaps are now - symbols with a fringe property. - -2004-09-27 Kim F. Storm - - * buffer.c (syms_of_buffer) : - Doc fix. Format may now be a symbol or alist, not a cons. - - * fringe.c (update_window_fringes): Handle new formats of - indicate-buffer-boundaries (symbol or alist). No longer - allow a simple cons. - (Ffringe_bitmaps_at_pos): Use nil value for no bitmap. - -2004-09-25 Jan Dj,Ad(Brv - - * config.in: Rebuild. - -2004-09-24 Jan Dj,Ad(Brv - - * config.in: Rebuild. - - * Makefile.in: Run setarch i386 ./temacs if exec-shield is present. - -2004-09-18 Stefan Monnier - - * xterm.c (x_term_init): Work around a bug in some X servers. - -2004-09-18 Richard M. Stallman - - * buffer.c (syms_of_buffer) : Doc fix. - - * xdisp.c (try_window_reusing_current_matrix): - Handle the case where we reach the old displayed text, - out of sync with the old line boundary. - -2004-09-14 Stefan Monnier - - * fileio.c (Finsert_file_contents): Fix case of replacement in a - narrowed buffer. - -2004-09-14 Kim F. Storm - - * puresize.h (PURESIZE_RATIO): Define based on BITS_PER_EMACS_INT. - - * xfaces.c (Qface_no_inherit): New var. - (syms_of_xfaces): Intern and staticpro it. - (Finternal_make_lisp_face, Finternal_set_lisp_face_attribute) - (Finternal_copy_lisp_face, update_face_from_frame_parameter): - Don't increment face_change_count when face has non-nil - face-no-inherit property. - -2004-09-13 Stefan Monnier - - * bytecode.c (BYTE_CODE_QUIT): Add missing AFTER_POTENTIAL_GC. - (Fbyte_code): Remove dead code after `wrong_type_argument'. - - * alloc.c (Fgarbage_collect): Mark keyboards, gtk data, and specpdl - before doing the mark_stack_check_gcpros since they're not on the stack. - -2004-09-12 Kim F. Storm - - * editfns.c (Fformat): Handle format strings with multiple text - properties. Reverse text property list from the format string, - so the positions are in increasing order. - -2004-09-10 Jan Dj,Ad(Brv - - * xselect.c (x_reply_selection_request): XSync and UNBLOCK before - x_uncatch_errors so that possible protocol errors are delivered. - -2004-09-10 Eli Zaretskii - - * Makefile.in (msdos.o): Depend on buffer.h, commands.h, and - blockinput.h. - (dosfns.o): Depend on blockinput.h, window.h, dispextern.h, - charset.h, and coding.h - (w16select.o): Depend on buffer.h, charset.h, coding.h, and composite.h. - (term.o): Depend on window.h and keymap.h. - (abbrev.o): Depend on syntax.h. - (callint.o): Depend on keymap.h. - (casefiddle.o): Depend on charset.h and keymap.h. - (category.o): Depend on keymap.h. - (coding.o): Depend on dispextern.h. - (cmds.o): Depend on keyboard.h and keymap.h. - (dispnew.o): Depend on indent.h and intervals.h. - (doc.o): Depend on keymap.h. - (editfns.o): Depend on frame.h. - (emacs.o): Depend on dispextern.h. - (fileio.o): Don't depend on ccl.h. - (filelock.o): Depend on charset.h and coding.h. - (frame.o): Depend on w32term.h and macterm.h. - (insdel.o): Depend on region-cache.h. - (keyboard.o): Depend on keymap.h, w32term.h, and macterm.h. - (minibuf.o): Depend on $(INTERVALS_SRC) and keymap.h. - (search.o): Depend on $(INTERVALS_SRC). - (syntax.o): Depend on keymap.h, regex.h, and $(INTERVALS_SRC). - (window.o): Depend on keymap.h, blockinput.h, $(INTERVALS_SRC), - xterm.h, w32term.h, and macterm.h. - (xdisp.o): Depend on keyboard.h, $(INTERVALS_SRC), xterm.h, - w32term.h, and macterm.h. - (xfaces.o): Depend on keyboard.h, $(INTERVALS_SRC), - region-cache.h, xterm.h, w32term.h, and macterm.h. - (bytecode.o): Depend on dispextern.h, frame.h, and xterm.h. - (data.o): Depend on frame.h. - (fns.o): Depend on keymap.h, xterm.h, and blockinput.h. - (print.o): Depend on termchar.h and $(INTERVALS_SRC). - (lread.o): Depend on $(INTERVALS_SRC), termhooks.h, and coding.h. - (intervals.o): Depend on keymap.h. - - * msdos.c (msdos_set_cursor_shape, IT_display_cursor): - Add debugging print-out to termscript. - -2004-09-09 Richard M. Stallman - - * xdisp.c (decode_mode_spec): Use current buffer for most purposes. - -2004-09-08 Richard M. Stallman - - * window.c (Fset_window_buffer): Doc fix. - - * xdisp.c (Fformat_mode_line): New arg BUFFER says which buffer to use. - -2004-09-08 Dan Nicolaescu - - * minibuf.c (history_delete_duplicates): New variable. - (read_minibuf): Use it. - (syms_of_minibuf): Create the corresponding lisp variable. - -2004-09-08 Kim F. Storm - - * xdisp.c (set_cursor_from_row): Also look at 'cursor' property in - overlay just before point. - -2004-09-07 Luc Teirlinck - - * buffer.h (struct buffer): Add auto_save_file_format field. - * buffer.c (reset_buffer, init_buffer_once): - Handle auto_save_file_format field. - (syms_of_buffer): Add DEFVAR_PER_BUFFER for - `buffer-auto-save-file-format'. - * fileio.c: Delete declaration for removed Vauto_save_file_format. - (build_annotations): Adapt to replacement of - `auto-save-file-format' with the new buffer-local variable - `buffer-auto-save-file-format'. - (syms_of_fileio): Delete DEFVAR_LISP for auto-save-file-format. - -2004-09-07 Jason Rumney - - * w32term.h (AppendMenuW_Proc): Move declaration from w32menu.c. - - * w32fns.c (w32_wnd_proc) : - Handle Unicode menu titles. - -2004-09-07 Kim F. Storm - - * xdisp.c (set_cursor_from_row): Fix last change. Only use 'cursor' - property from text property or overlay strings at point. - -2004-09-07 Stefan Monnier - - * xmenu.c (update_submenu_strings): YAILOM. - (set_frame_menubar): Make sure last_i is initialized. - -2004-09-03 Jason Rumney - - * w32menu.c (_widget_value): Add lname and lkey. - (digest_single_submenu): Set lname and lkey in widget_value - instead of name and key. - (update_submenu_strings): New function. - (set_frame_menubar): Remove call to inhibit_garbage_collection, - call update_submenu_strings. - - * w32menu.c (globals_of_w32menu): Check for Unicode API. - (digest_single_submenu, w32_menu_show): Encode menu strings as - UTF-8 if Unicode API is available. - (utf8to16): New function. - (add_menu_item): Use it when calling Unicode API. - -2004-09-03 Kim F. Storm - - * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property - in overlay or text-property strings; set cursor on corresponding - glyph rather than at end of the string. - -2004-09-02 YAMAMOTO Mitsuharu - - * macfns.c (x_real_positions): Save the current window port and - set a new one before obtaining the global coordinate. - Use FRAME_MAC_WINDOW. - (x_set_name, x_set_title): Encode title to UTF8. - Use SetWindowTitleWithCFString. - (Fx_server_version): Get correct OS version. - - * macmenu.c (add_menu_item): Remove unused variable `i'. - Don't let separator items destroy refence constants of other menu items. - - * macterm.c (x_update_end): Move SetPortWindowPort to inside - BLOCK_INPUT. - (x_set_offset): Use FRAME_MAC_WINDOW. - - * xdisp.c (note_mouse_highlight): Set the mouse pointer shape to - nontext_cursor if it is on a scroll bar. - - * s/darwin.h (LIBS_CARBON): New define to specify libraries for - Carbon support. - (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++. - Use LIBS_CARBON. - -2004-09-02 Jan Dj,Ad(Brv - - * xfns.c (x_set_name_internal): New function. Check if we shall call - xfree before ENCODE_UTF_8. - (x_set_name, x_set_title): Call x_set_name_internal. - -2004-08-31 NAKAMURA Toshikazu (tiny change) - - * w32fns.c (w32_load_font): If a BDF font is already loaded, do not - reload it. - -2004-08-30 Jan Dj,Ad(Brv - - * macmenu.c (_widget_value): Add lname and lkey. - (single_submenu): Set lname and lkey in widget_value - instead of name and key. - (update_submenu_strings): New function. - (set_frame_menubar): Remove call to inhibit_garbage_collection, - call update_submenu_strings. - - * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value - instead of name and key. - (update_submenu_strings): New function. - (set_frame_menubar): Remove call to inhibit_garbage_collection, - call update_submenu_strings. - - * gtkutil.h (_widget_value): Added lname and lkey. - -2004-08-30 Steven Tamm - - * macmenu.c (mac_menu_show): Remove shadowing of menu variable - by using different names for inner loop variables. - -2004-08-27 Jan Dj,Ad(Brv - - * xmenu.c (set_frame_menubar): Reintroduce inhibit_garbage_collection - from 2002-07-15T00:01:34Z!raeburn@raeburn.org so that strings from ENCODE_UTF_8 isn't GC:ed before used. - - * gtkutil.c (xg_create_frame_widgets): Compensate for tool bar when - tool bar items is 0. - -2004-08-26 YAMAMOTO Mitsuharu - - * macmenu.c (ENCODE_MENU_STRING): Added to handle multibyte - strings in menu items. - (single_submenu): Use ENCODE_MENU_STRING - (mac_menu_show): Use ENCODE_MENU_STRING. Reset grabbed because - button release isn't passed to event loop - (add_menu_item): Use SetMenuItemWithCFString - -2004-08-26 Steven Tamm - - * fileio.c (Fread_file_name): Call x_file_dialog on carbon on - tool-bar/menu click. - * macfns.c (Fx_file_dialog): Implement using NavServices. - -2004-08-24 Jan Dj,Ad(Brv - - * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed. - - * xfns.c (x_window_to_frame, x_any_window_to_frame) - (x_non_menubar_window_to_frame, x_menubar_window_to_frame) - (x_top_window_to_frame): Return 0 if wdesc is None. - -2004-08-22 Richard M. Stallman - - * process.c (process_send_signal) [SIGNALS_VIA_CHARACTERS, - HAVE_TERMIOS]: If there's no char for this signal, drop through - and use system calls. - - * bytecode.c (Fbyte_code) : Cannot GC. - -2004-08-20 Kim F. Storm - - * process.c (wait_reading_process_output): Rename from - wait_reading_process_input. All uses changed. - (wait_reading_process_output_1): Rename from - wait_reading_process_input_1. All uses changed. - - * dispnew.c (Fsleep_for): Remove obsolete code. - -2004-08-20 Kenichi Handa - - * syntax.c (skip_chars): Fix for unibyte case. - -2004-08-19 Stefan Monnier - - * syntax.c (char_quoted): Mixup byte/char pos. - (back_comment): Fixup globals in all cases. - -2004-08-19 Jan Dj,Ad(Brv - - * xfns.c (x_set_name, x_set_title): Encode title to UTF8 before - passing it to gtk_window_set_title. - -2004-08-19 Kim F. Storm - - * process.c (wait_reading_process_input): Clean up. - Add wait_for_cell, wait_proc, and just_wait_proc args - to avoid overloading `read_kbd' and `do_display' args. - Change read_kbd arg to int. All callers changed. - - * process.c (process_send_signal): Use CDISABLE. - - * sysdep.c (child_setup_tty, init_sys_modes): Use CDISABLE. - -2004-08-18 Kim F. Storm - - * process.c (Faccept_process_output): Add arg JUST-THIS-ONE; - forward to wait_reading_process_input via DO_DISPLAY arg. - (wait_reading_process_input): If DO_DISPLAY < 0 for a process - object, only process output from that process; also inhibit - running timers if DO_DISPLAY==-2. - -2004-08-17 Kim F. Storm - - * process.c (process_send_signal): Fix last change--use - _POSIX_VDISABLE instead of CVDISABLE when available. - -2004-08-16 Richard M. Stallman - - * sysdep.c (child_setup_tty) [SIGNALS_VIA_CHARACTERS]: - Set VQUIT and VINTR chars to the standard ones if they are unset. - [AIX]: Don't do that here. And don't force VINTR to standard - when SIGNALS_VIA_CHARACTERS. - - * process.c (process_send_signal) - [SIGNALS_VIA_CHARACTERS, HAVE_TERMIOS]: Clean up. - Do nothing if the character is CVDISABLE. - - * xfaces.c (merge_face_ref): Specifying `unspecified' is a no-op. - - * intervals.c (move_if_not_intangible): - Force POSITION to be between BEGV and ZV. - -2004-08-14 John Paul Wallington - - * buffer.c (Frestore_buffer_modified_p): Doc fix. - - * fileio.c (Fread_file_name): Doc fix. - - * minibuf.c (syms_of_minibuf) : Doc fix. - -2004-08-09 Luc Teirlinck - - * keymap.c (Fmake_keymap, Fmap_keymap, Fwhere_is_internal): Doc fixes. - -2004-08-08 Luc Teirlinck - - * keyboard.c: Declare Qdisabled_command_function instead of - Qdisabled_command_hook. - (Fcommand_execute): Use Qdisabled_command_function instead of - Qdisabled_command_hook. - (syms_of_keyboard): Ditto. - -2004-08-07 Luc Teirlinck - - * keymap.c (Flocal_key_binding, Fglobal_key_binding) - (syms_of_keymap) : Doc fixes. - -2004-08-07 Stefan Monnier - - * window.c (window_list_1): YAILOM. - - * fileio.c (make_temp_name): Handle multibyte prefixes. - -2004-08-06 Luc Teirlinck - - * keyboard.c (syms_of_keyboard) : - Doc fix. - -2004-08-03 Kenichi Handa - - * coding.c (decode_coding_string): Adjust coding->consumed, and - etc. with shrinked_bytes. - -2004-08-03 Kim F. Storm - - * indent.c (compute_motion): Fix check for full width window - in non-window case. Do not count left truncation glyph on - window systems. - -2004-08-02 Luc Teirlinck - - * data.c (Finteractive_form): Doc fix. - -2004-08-02 Kim F. Storm - - * indent.c (compute_motion): Use actual window width if WIDTH is -1, - properly accounting for continuation glyph on non-window systems. - (Fcompute_motion): Use actual window width if WIDTH is nil, and - actual window width/height if TOPOS is nil, properly accounting for - continuation glyphs on non-window systems, and optional header lines. - (vmotion): Let compute_motion calculate actual window width. - - * window.c (window_scroll_line_based): Let compute_motion - calculate actual window width. - -2004-08-02 Kim F. Storm - - * process.c (read_process_output): Use whole read buffer. - Don't trigger adaptive read buffering on errors. - -2004-07-31 Luc Teirlinck - - * keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes. - - * keyboard.c (syms_of_keyboard) : Doc fix. - - * callint.c (Fcall_interactively): Doc fix. - -2004-07-30 Richard M. Stallman - - * abbrev.c (Fexpand_abbrev): Undo previous change. - -2004-07-30 Kim F. Storm - - * editfns.c (Fformat): Allocate extra (dummy) element in info. - -2004-07-28 Luc Teirlinck - - * eval.c (Fdefvar, Fdefconst): Doc fixes. - -2004-07-27 Kim F. Storm - - * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after - we have ensured that the glyph fits on the current line (or returned - MOVE_LINE_CONTINUED otherwise). - -2004-07-26 Kim F. Storm - - * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe - is enabled, return MOVE_LINE_CONTINUED rather than MOVE_POS_MATCH_OR_ZV - if target position is at end of display line but char is not a newline. - -2004-07-25 Richard M. Stallman - - * window.c (coordinates_in_window): Return ON_SCROLL_BAR - instead of ON_VERTICAL_BORDER, when on scroll bar. - (Fcoordinates_in_window_p): Handle ON_SCROLL_BAR--return nil. - - * dispextern.h (enum window_part): Add ON_SCROLL_BAR. - - * window.c (Fcoordinates_in_window_p): - Take account of FRAME_INTERNAL_BORDER_WIDTH. - - * alloc.c (check_cons_list): New function (contents commented out). - -2004-07-24 Luc Teirlinck - - * xfaces.c (Fcolor_supported_p): Doc fix. - - * frame.c (Fselect_frame, Fset_frame_selected_window) - (Fframe_visible_p, Fraise_frame): Doc fixes. - -2004-07-24 Richard M. Stallman - - * keyboard.h (not_single_kboard_state): Declare. - - * fileio.c (Fwrite_region): Doc fix. - - * window.c (Fwindow_at): Take account of FRAME_INTERNAL_BORDER_WIDTH. - - * abbrev.c (Fexpand_abbrev): Run Qpre_abbrev_expand_hook - only when a real abbrev is present. - - * xfns.c (x_icon_verify): New function. - (Fx_create_frame): Use it. - -2004-07-22 Barry Fishman (tiny change) - - * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined. - -2004-07-21 Kim F. Storm - - * window.h (struct glyph_matrix): New members nrows_scale_factor - and ncols_scale_factor. - - * window.c (make_window): Initialize nrows_scale_factor and - ncols_scale_factor members. - - * dispnew.c (margin_glyphs_to_reserve): Apply ncols_scale_factor. - (allocate_matrices_for_frame_redisplay): Fix left/right margin mix-up. - (required_matrix_height): Apply nrows_scale_factor. - (required_matrix_width): Apply ncols_scale_factor. - - * xdisp.c (display_line): Increment nrows_scale_factor and set - fonts_changed_p if past last allocated row. - (append_glyph, append_composite_glyph, produce_image_glyph) - (append_stretch_glyph): Increment ncols_scale_factor and set - fonts_changed_p if current area is full. - -2004-07-21 Jan Dj,Ad(Brv - - * widget.c (EmacsFrameDestroy): Don't abort if normal_gc is 0. - -2004-07-19 Luc Teirlinck - - * window.c (Fpos_visible_in_window_p, Fset_window_hscroll) - (Fwindow_inside_pixel_edges, Fwindow_end, Fset_window_point) - (Fset_window_start, Fscroll_up, Fscroll_down) - (Fother_window_for_scrolling, Fscroll_other_window) - (Fsave_window_excursion, Fset_window_vscroll) - (syms_of_window) : Doc fixes. - -2004-07-19 KOBAYASHI Yasuhiro - - * w32fns.c (Fx_file_dialog): Use ENCODE_FILE instead of - ENCODE_SYSTEM for filenames. - -2004-07-18 YAMAMOTO Mitsuharu - - * mac.c (sys_select): Block input around call to - ReceiveNextEvent to prevent breakage. Correctly handle - blocking on event queue only by calling ReceiveNextEvent - instead of select (since GUI events aren't on an fd). - (sys_read): Remove function - * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON - -2004-07-18 YAMAMOTO Mitsuharu - - * mac.c (sys_select): Redo sys_select to use alarm-based - polling instead of 1 sec timeouts (like solaris). - - * macterm.c (x_make_frame_visible): Comment in polling on - frame creation. - - * keyboard.c: Undef SIGIO on Carbon - - * atimer.c (alarm_signal_handler): Call alarm handlers after - scheduling. - - * eval.c (Feval): Remove quit_char test - - * process.c (wait_reading_process_input): Remove clearing - stdin for select call on process input. - -2004-07-18 Luc Teirlinck - - * xdisp.c (syms_of_xdisp) : Correct - capitalization error in docstring. - -2004-07-17 Juanma Barranquero - - * keyboard.c (not_single_kboard_state): Do nothing unless - MULTI_KBOARD is defined. - -2004-07-17 Richard M. Stallman - - * window.c (coordinates_in_window): Inside the window but outside - its box to the L or R, return ON_VERTICAL_BORDER. - (window_list_1): Rotate the list to start with WINDOW. - - * print.c (print_preprocess): Test for print_depth at limit - before entering in being_printed. - - * keyboard.c (not_single_kboard_state): New function. - (stuff_buffered_input): Now no-op only if no SIGTSTP. - - * frame.c (Fdelete_frame): If we're in single_bboard_state on - this kboard, and we delete its last frame, go to any_kboard_state. - - * buffer.c (syms_of_buffer) : Doc fix. - -2004-07-15 KOBAYASHI Yasuhiro - - * w32fns.c (Fx_file_dialog): Encode strings in system coding - system before passing them to OS functions for display. - -2004-07-15 David Kastrup - - * search.c (syms_of_search): Staticpro `saved_last_thing_searched'. - Apparently fixes an abort condition. - -2004-07-14 Luc Teirlinck - - * fileio.c (Fvisited_file_modtime): Return a list of two integers, - instead of a cons. - -2004-07-14 K,Aa(Broly L$,1 q(Brentey - - * keyboard.c (echo_dash): Do nothing if there already is a dash - at the end of the echo string. - -2004-07-12 Kim F. Storm - - * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value - if GC_MARK_STACK. - -2004-07-10 Luc Teirlinck - - * buffer.c (Fswitch_to_buffer, Fpop_to_buffer): Doc fixes. - - * window.c (Fwindow_buffer, Fother_window, Fget_lru_window) - (Fget_largest_window, Fget_buffer_window, Fdelete_windows_on) - (Freplace_buffer_in_windows, Fset_window_buffer) - (Fselect-window, Fdisplay-buffer, Fsplit_window): Doc fixes. - (syms_of_window): Expand docstring of `display-buffer-function'. - -2004-07-09 Luc Teirlinck - - * editfns.c (Ffloat_time, Fformat_time_string, Fdecode_time) - (Fcurrent_time_string, Fcurrent_time_zone): Mention in docstrings - that time values of the type (HIGH . LOW) are considered obsolete. - -2004-07-06 Luc Teirlinck - - * keyboard.c (syms_of_keyboard): Fix `keyboard-translate-table' - docstring. - - * fns.c (Fclear_string): Declare `len' before call to CHECK_STRING. - -2004-07-06 John Paul Wallington - - * eval.c (Fdefmacro): Signal an error if NAME is not a symbol. - - * fns.c (Fclear_string): Signal an error if STRING is not a string. - -2004-07-05 Jan Dj,Ad(Brv - - * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList - instead of CGMainDisplayID (only in OSX 10.2 and later). - -2004-07-04 John Paul Wallington - - * fileio.c (read_file_name_completion_ignore_case): New variable. - (syms_of_fileio): Declare and initialise it. - (Fread_file_name): Bind `completion-ignore-case' to respect it. - -2004-07-03 Eli Zaretskii - - * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects - for event.x and event.y. - -2004-07-01 Kenichi Handa - - * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly - after getting a new string by pre-write-conversion. - -2004-06-30 Stefan Monnier - - * xterm.c (x_detect_focus_change): Remove unused var `nr_events'. - (x_calc_absolute_position): Remove unused var `child'. - - * xfaces.c (x_supports_face_attributes_p) - (Fdisplay_supports_face_attributes_p): YAILOM. - (tty_supports_face_attributes_p): Remove unused var `i'. - - * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and - back_unibyte_ok. - - * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM. - - * fontset.c (Fset_fontset_font): Remove unused vars `family' and - `registry'. - - * Makefile.in (${etc}DOC): Fix file name of make-docfile. - -2004-06-30 Andreas Schwab - - * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES. - (Finit_image_library): Pass LIBRARIES through to - CHECK_LIB_AVAILABLE. Declare parameters. Doc fix. - (lookup_image_type): Pass Qnil as second argument to - Finit_image_library. - - * lisp.h (Finit_image_library): Declare. - -2004-06-29 YAMAMOTO Mitsuharu - - * macterm.c (do_window_activate, do_window_deactivate): Remove. - (XTread_socket): Send mouse button events to the toolbox - dispatcher even when the mouse is grabbed. Don't process window - activate events for non-Emacs windows. Replace function calls to - do_window_activate and do_window_deactivate with their contents. - Reset mouse grabbing status when a window is deactivated. - -2004-06-29 Steven Tamm - - * macterm.c (mac_get_emulated_btn) - (mac_event_to_emacs_modifiers): Fix emulated mouse button - support to correctly mask out modifiers. - -2004-06-29 David Kastrup - - * search.c (Fset_match_data): Allow buffer before end of list - which can happen if set-match-data is using a pre-consed list. - -2004-06-28 Steven Tamm - - * macterm.c (XTread_socket): Correctly set the frame position - after the window is moved. - -2004-06-28 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on - gpix and gmask just before return to avoid memory leak. - (xg_get_image_for_pixmap): Add workaround for monochrome displays - so insensitive and activated icons look ok. - -2004-06-27 Jason Rumney - - * w32fns.c (file_dialog_callback): Disable edit control if set - to directories only on CDN_INITDONE message. - (Fx_file_dialog): Default to directories only when prompt starts - with "Dired". - -2004-06-25 Kim F. Storm - - * alloc.c (allocate_misc): Update total_free_markers. - (free_misc): New function. - (safe_alloca_unwind, free_marker): Use it. - - * lisp.h (free_misc): Add prototype. - - * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs. - -2004-06-24 Richard M. Stallman - - * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted. - (syms_of_emacs): Lisp variables deleted. - -2004-06-23 David Kastrup - - * search.c (Freplace_match): Adjust the match-data more thoroughly - when replacing strings in the buffer. - (Fmatch_data): When INTEGERS is non-nil and the last match was in - a buffer, add the buffer as last element to the match data. - (Fset_match_data): If an additional element of the match-data is a - buffer, restore it to last_thing_searched. - (save_search_regs): Save last_thing_searched as part of the match data. - (restore_match_data): Restore it again. - -2004-06-23 Luc Teirlinck - - * keymap.c (Ftext_char_description): Doc fix. - * doc.c (Fsnarf_documentation): Doc fix. - -2004-06-22 Kim F. Storm - - * fns.c (Fmapcar, Fmapconcat): GCPRO the args array. - - * lisp.h (struct Lisp_Save_Value): New member dogc. - (SAFE_ALLOCA_LISP): Change second arg to number of elements. - Set dogc member in Lisp_Save_Value object so it will be GC'ed. - (SAFE_FREE_LISP): New macro. - - * alloc.c (safe_alloca_unwind): Clear dogc and pointer members. - (make_save_value): Init new dogc member. - (mark_object): Mark Lisp_Save_Value pointer array if dogc is set. - - * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and - SAFE_FREE_LISP macros. - -2004-06-22 Kim F. Storm - - * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects. - Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects - in that memory area are unknown to GC. Add comments. - - * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP. - -2004-06-21 Kim F. Storm - - * lisp.h (MAX_ALLOCA): Define here. - (safe_alloca_unwind): Add prototype. - (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros. - - * alloc.c (safe_alloca_unwind): New function. - - * casefiddle.c (casify_object): Use SAFE_ALLOCA. - - * charset.c (Fstring): Use SAFE_ALLOCA. - - * coding.c (MAX_ALLOCA): Remove define. - - * data.c (MAX_ALLOCA): Remove define. - (Faset): Use SAFE_ALLOCA. - - * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA. - - * fns.c (string_make_multibyte, string_to_multibyte) - (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA. - (MAX_ALLOCA): Remove define. - (Fbase64_encode_region, Fbase64_encode_string) - (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA. - (Fbase64_encode_region, Fbase64_encode_string): Fix potential - memory leak if encoding fails. - - * xdisp.c (add_to_log): Use SAFE_ALLOCA. - -2004-06-21 Eli Zaretskii - - * print.c (Fwith_output_to_temp_buffer): Doc fix. - -2004-06-20 Richard M. Stallman - - * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix. - - * search.c (match_limit): Cleaner err msg when no match data available. - - * window.c (syms_of_window): Doc fix. - - * keyboard.c (command_loop_1): Handle values `only' and `identity' - for Vtransient_mark_mode. - - * buffer.c (syms_of_buffer): Doc fix. - -2004-06-21 David Kastrup - - * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding - and unbinding of `case-fold-search' according to - `completion-ignore-case' around calls of string-match and - predicates, respectively. Should give satisfactory performance - in all relevant cases. - -2004-06-17 Jan Dj,Ad(Brv - - * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from - clip_x/y_origin. - - * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca. - - * macfns.c (Fx_display_color_cells): Do not limit return value to 256. - - * macterm.c (mac_initialize_display_info): Initialize n_planes correctly - on Mac OSX. - -2004-06-16 Luc Teirlinck - - * buffer.c (syms_of_buffer): Clarify `fill-column' docstring. - -2004-06-16 Kim F. Storm - - * dispextern.h (Vimage_types): Remove extern. - -2004-06-16 Miles Bader - - * image.c (lookup_image_type): Initialize image type if necessary. - -2004-06-15 Kim F. Storm - - * xdisp.c (try_cursor_movement): Exclude header line from scroll - margin at top of window. - (try_window_reusing_current_matrix): Calculate proper cursor position - after scrolling up with non-zero scroll margin, as the old cursor - position corresponds to value of PT before executing this command. - (try_window_id): Consider scroll margin at bottom of window too; - otherwise we fail to scroll when hl-line-mode is enabled. - - * syntax.c (skip_chars): Only recognize [:class:] when it has the - proper format and class is a lower-case word. - -2004-06-14 Jan Dj,Ad(Brv - - * gtkutil.c (xg_get_image_for_pixmap): New function. - (xg_get_gdk_pixmap_and_mask): Remove. - (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of - xg_get_gdk_pixmap_and_mask. - - * xterm.h (struct x_display_info): Typo in comment fixed. - -2004-06-14 Juanma Barranquero - - * dispextern.h (Vimage_types): Make it conditional on - HAVE_WINDOW_SYSTEM. - - * image.c (Vimage_types): Move from xdisp.c. - (Vimage_type_cache): New variable. - (define_image_type): New argument indicating whether an image - library was loaded; cache loaded status and return t on success, - nil otherwise. - (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros. - (w32_delayed_load): New function to load an image library from a - list of possible filenames. - (init_xpm_functions, init_png_functions, init_jpeg_functions) - (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'. - (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument. - (Finit_image_library): New function, extracted from `init_image'. - Try to initialize an image library on demand and cache whether we - were successful or not. - (syms_of_image): Initialize `Vimage_types' and - `Vimage_type_cache'. Add recognized image types to Vimage_types. - Export `init-image-library'. - (init_image): Remove initialization of all image types, except xbm - and pbm. - - * xdisp.c (Vimage_types): Delete (moved to image.c). - -2004-06-14 Andreas Schwab - - * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion): - Avoid calling specbind when completion-regexp-list is empty. - -2004-06-13 Richard M. Stallman - - * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t) - (re_wctype, re_iswctype, re_wctype_to_bit): - Non-function definitions moved here from regex.c. - - * regex.c (re_wctype, re_iswctype): Function defs longer static. - (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t) - (re_wctype, re_iswctype, re_wctype_to_bit): - Non-function definitions moved to regex.h. - - * window.c (Fselect_window): Doc fix. - - * syntax.c: Include regex.h. - (skip_chars): New arg HANDLE_ISO_CLASSES. Callers changed. - If requested, make a list of classes, then check the scanned - chars for membership in them. - (in_classes): New function. - Doc fix. - - * keyboard.c (cmd_error): Don't call any_kboard_state - if inside a recursive edit level. - -2004-06-13 K,Aa(Broly L$,1 q(Brentey - - * keyboard.c (command_loop): Call any_kboard_state before - command_loop_2 when at top level. - -2004-06-13 Andreas Schwab - - * print.c (print_object): Always use %ld for printing EMACS_INT. - - * keyboard.c (cancel_hourglass_unwind): Return a value. - (modify_event_symbol): Always use %ld for printing EMACS_INT. - (Fexecute_extended_command): Likewise. - - * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to - avoid clashes. - (SYNTAX): Likewise. - (SYNTAX_WITH_FLAGS): Likewise. - (SYNTAX_MATCH): Likewise. - - * syntax.c (char_quoted): Avoid warning about undefined operation. - (find_defun_start): Likewise. - (scan_lists): Likewise. - (INC_FROM): Likewise. - (scan_sexps_forward): Likewise. - - * image.c: Include . - - * xfaces.c (face_attr_equal_p): Declare parameters. - -2004-06-13 Kenichi Handa - - * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1. - -2004-06-12 Matthew Mundell - - * eval.c (Fdefun): Signal an error if NAME is not a symbol. - -2004-06-12 Kenichi Handa - - * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in - ccl_prog_stack_struct and update it. - (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook. - (CCL_READ_CHAR): Get instruction counter from eof_ic, not from - ccl->eof_ic on EOF. - (ccl_debug_hook): New function. - (struct ccl_prog_stack): New member eof_ic. - (ccl_driver): Handle EOF in subrountine call correctly. - -2004-06-11 Kenichi Handa - - * coding.c (encode_coding_string): Check CODING_FINISH_INTERRUPT. - -2004-06-11 Kim F. Storm - - * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown. - -2004-06-11 Juanma Barranquero - - * keyboard.c (Fposn_at_point): Doc fix. - -2004-06-11 David Kastrup - - * search.c (match_limit): Don't flag an error if match-data - exceeding the allocated search_regs.num_regs gets requested, just - return Qnil. - -2004-06-08 Miles Bader - - * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected. - -2004-06-07 Juanma Barranquero - - * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time) - (Fcurrent_time_string, Fcurrent_time_zone) - (Finsert_buffer_substring, Ftranspose_regions): Doc fixes. - -2004-06-07 Miles Bader - - * xfaces.c (struct named_merge_point): New type. - (push_named_merge_point): New function. - (merge_named_face): New function. - (merge_face_ref, face_at_buffer_position, face_at_string_position): - Use `merge_named_face'. - (merge_face_inheritance): Function removed. - (merge_face_ref): Rename from `merge_face_vector_with_property'. - Add new `err_msgs' and `named_merge_points' args. Return error - status. Only print error messages if ERR_MSGS is true. Don't try to - do :inherit attribute validation. - (merge_face_heights): Handle `unspecified' in both directions. - (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'. - Call `merge_face_ref' instead of `merge_face_inheritance'. - (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector) - (compute_char_face, face_at_buffer_position) - (face_at_string_position): Call `merge_face_ref' instead of - `merge_face_vector_with_property'. - -2004-06-07 Kenichi Handa - - * coding.c (find_safe_codings): Check NILP (safe_codings) only at - the necessary places. - -2004-06-07 Kim F. Storm - - * process.c (Fdelete_process): Undo 2004-05-28 change. - Instead, call status_notify also for network process. - (status_message): Use process instead of status as arg. - Give messages "deleted" or "connection broken by remote peer" for - an exited network process. - (status_notify): Change call to status_message. - (read_process_output): Increase readmax to 4096. Do not increase - buffer size for datagram channels (default is now large enough). - -2004-06-06 Steven Tamm - - * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation - problem due to newly defined variable. - -2004-06-06 Miles Bader - - * xfaces.c (Fdisplay_supports_face_attributes_p): Give up - immediately if non-interactive or not initialized. - -2004-06-05 Richard M. Stallman - - * minibuf.c (Fcompleting_read): Doc fix. - -2004-06-05 Andreas Schwab - - * macfns.c (x_create_tip_frame): Fix declaration after statement. - -2004-06-05 Juanma Barranquero - - * keymap.c (Fdescribe_vector): Fix docstring. - (Fkey_description, Fglobal_key_binding): Fix typo in docstring. - -2004-06-05 Miles Bader - - * xfaces.c (tty_supports_face_attributes_p): Make sure the specified - attributes have different values than the default face. - -2004-06-04 Eli Zaretskii - - * xfaces.c (x_supports_face_attributes_p): Make this function - conditional on HAVE_WINDOW_SYSTEM. - (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]: - Don't call x_supports_face_attributes_p if it was not compiled in. - -2004-06-04 Miles Bader - - * xfaces.c (tty_supports_face_attributes_p): New function, mostly - from Ftty_supports_face_attributes_p. - (x_supports_face_attributes_p): New function. - (Ftty_supports_face_attributes_p): Function deleted. - (Fdisplay_supports_face_attributes_p): New function. - (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p. - (face_attr_equal_p): New function. - (lface_equal_p): Use it. - -2004-06-03 Juanma Barranquero - - * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command) - (Vw32_color_map): Fix typo in docstring. - (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip) - (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key): - Make argument names match their use in docstring. - -2004-06-02 Juanma Barranquero - - Work around bugs/problems with MinGW builds of graphics libraries - called from MSVC builds of Emacs. - - * image.c (lookup_image): Make pointer to img static. - (png_read_from_memory): Disable "global" optimization. - -2004-06-01 Stefan Monnier - - * eval.c (Fcondition_case): Fix usage. Simplify. - - * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true. - -2004-05-29 YAMAMOTO Mitsuharu - - * macfns.c: Don't include ccl.h. - [MAC_OSX]: Don't include QuickTime/QuickTime.h. - [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or - TextUtils.h. - (Fx_create_frame): Sync with xfns.c. Initialize cursor descriptors. - (Fx_display_mm_height, Fx_display_mm_width): Calculate length from - display height/width. - (compute_tip_xy, Vx_max_tooltip_size): Declare. - (unwind_create_tip_frame, compute_tip_xy): New functions. - (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c. - (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size, - and last_show_tip_args. - - * macgui.h [!MAC_OSX]: Include Gestalt.h. - (Cursor, No_Cursor): New defines. - [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro. - [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare. - - * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort. - - * macterm.c: Don't include Gestalt.h. - (enum mouse_tracking_type, mouse_tracking_in_progress): Remove. - (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap) - (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap) - (XFillRectangle, mac_draw_rectangle, mac_draw_string_common) - (mac_copy_area, mac_copy_area_with_mask, x_update_end) - (construct_mouse_click, XTmouse_position) - (x_scroll_bar_report_motion, x_calc_absolute_position) - (do_mouse_moved, do_zoom_window, mac_do_receive_drag) - (XTread_socket, make_mac_frame): Use SetPortWindowPort. - (note_mouse_movement): Clear the mouse face and reset the pointer - shape when the pointer goes outside the frame without grabbing. - (mac_front_window): New function. - (mac_window_to_frame): New macro. - (XTmouse_position, x_scroll_bar_report_motion, do_window_update) - (do_window_activate, do_window_deactivate, do_app_resume) - (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window) - (do_zoom_window, mac_do_receive_drag, XTread_socket) - (mac_check_for_quit_char): Use mac_front_window and/or - mac_window_to_frame. - (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a - scroll-bar click event. - (mac_define_frame_cursor): Change the pointer shape. - (x_free_frame_resources): Reset tip_window to NULL when it is - disposed of. - [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable. - [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor. - (do_window_update): Don't do anything if the updated window is the - tooltip window. - (do_mouse_moved): Handle mouse movement events here (previously in - XTread_socket). Clear the mouse face if - dpyinfo->mouse_face_hidden is set. - (do_os_event, do_events): Remove (now in XTread_socket). - (XTread_socket): Immediately return if interrupt_input_blocked. - Loop until all the events in the queue are processed. - Rearrange codes for mouse grabbing. Add tooltip support. Include the - contents of do_os_event and do_events. Remove mouse movement - handling (now in do_mouse_moved). Add the case where - Vmouse_highlight has an integer value. - (NewMacWindow): Remove. - (make_mac_frame): Do what NewMacWindow previously did. Don't do - excess initializations. - (make_mac_terminal_frame): Previous initializations in - make_mac_frame are moved here. - (mac_initialize_display_info): - Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden. - - * xdisp.c [MAC_OS] (No_Cursor): Remove variable. - (define_frame_cursor1): Don't treat HAVE_CARBON as a special case. - -2004-05-29 Richard M. Stallman - - * lisp.h (truncate_undo_list): Update decl. - - * alloc.c (undo_outer_limit): New variable. - (syms_of_alloc): Defvar it. - (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list. - - * undo.c (truncate_undo_list): New arg LIMITSIZE. - - * alloc.c (lisp_align_malloc): Check for base == 0 - regardless of HAVE_POSIX_MEMALIGN. - Clean up HAVE_POSIX_MEMALIGN handling of `err'. - -2004-05-28 Stefan Monnier - - * alloc.c: Undo Kim's recent changes and fix the same bug differently. - (marker_blocks_pending_free): Remove. - (Fgarbage_collect): Sweep after cleaning up undo-lists. - Mark the undo lists after claning them up. - Don't free block in marker_blocks_pending_free. - (mark_buffer): Don't mark undo_list. - (gc_sweep): Sweep hash-tables and strings first. - Do free marker blocks that are empty. - -2004-05-28 Jim Blandy - - * regex.c (print_partial_compiled_pattern): Add missing 'break' - after 'case wordend'. For symbeg and symend, print to stderr, - like the other cases. - -2004-05-28 Noah Friedman - - * process.c (Fdelete_process): Do not call remove_process. - -2004-05-28 Stefan Monnier - - * alloc.c (struct backtrace): Remove. - (Fgarbage_collect): Use the new mark_backtrace. - - * eval.c (mark_backtrace): New function. - - * minibuf.c (run_exit_minibuf_hook): New function. - (read_minibuf_unwind): Don't run exit-minibuffer-hook any more. - (read_minibuf): Use separate unwind handler to run exit-minibuf-hook. - -2004-05-27 Kim F. Storm - - * xdisp.c (back_to_previous_visible_line_start): Skip backwards - over display properties, e.g. images, that replace buffer text. - -2004-05-25 Kim F. Storm - - * alloc.c (marker_blocks_pending_free): New var. - (gc_sweep): Store free marker blocks on that list. - (Fgarbage_collect): Free them after undo-list cleanup. - - * process.c (wait_reading_process_input): Check connect_wait_mask - before actually accepting connection in case it has already been - accepted due to recursion. - -2004-05-23 K,Aa(Broly L$,1 q(Brentey - - * coding.c (Fset_safe_terminal_coding_system_internal): - Set suppress_error in safe_terminal_coding, not terminal_coding. - -2004-05-22 Richard M. Stallman - - * alloc.c (Fmake_string): Doc fix. - - * buffer.c (clone_per_buffer_values): Copy the alist of local vars, - and the alist pairs too. - - * casefiddle.c (casify_object): Return OBJ unchanged if not real char. - - * emacs.c (main): Update copyright year. - - * fileio.c (Fread_file_name): Expand DIR if not absolute. - - * insdel.c (del_range_2, replace_range): Don't write an anchor - if the gap is empty. - - * xdisp.c (try_scrolling): If scroll-up-aggressively or - scroll-down-aggressively is small but positive, put point - near the screen edge. - -2004-05-22 Juanma Barranquero - - * keymap.c (Fdefine_key): Doc fix. - -2004-05-22 Kim F. Storm - - * alloc.c (struct backtrace): Add debug_on_exit member. - (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep. - Identify those markers as Lisp_Misc_Free objects. Clear car and cdr of - the removed cons cells. - (mark_object): Undo previous change - disallow Lisp_Misc_Free objects. - (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have - any cons cells pointing to unallocated stings. - Do not lisp_free any marker blocks, as there may still be pointers - to them from buffer undo lists at this stage of GC. - - * keyboard.c (struct backtrace): Add debug_on_exit member. - (Fcommand_execute): Clear it. - -2004-05-20 Luc Teirlinck - - * intervals.c (lookup_char_property): Do not prematurely return nil. - -2004-05-19 Jim Blandy - - Add support for new '\_<' and '\_>' regexp operators, matching the - beginning and end of symbols. - - * regex.c (enum syntaxcode): Add Ssymbol. - (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword. - (re_opcode_t): New opcodes `symbeg' and `symend'. - (print_partial_compiled_pattern): Print the new opcodes properly. - (regex_compile): Parse the new operators. - (analyse_first): Skip sym(beg|end) (they match only the empty string). - (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and - \sw; `symbeg' is mutually exclusive with \S_ and \Sw. - (re_match_2_internal): Match symbeg and symend. - - * search.c (trivial_regexp_p): \_ is no longer a trivial regexp. - -2004-05-19 Kim F. Storm - - * .gdbinit (xsymbol): Fix last change. - -2004-05-18 Stefan Monnier - - * .gdbinit (xprintstr): New fun. - (xstring, xprintsym): Use it. - - * w32proc.c (create_child): Use INTMASK. - - * alloc.c (Fgarbage_collect): Do all the marking before flushing - unmarked elements of the undo list. - -2004-05-18 David Ponce - - * print.c (print): Reset print_depth before to call print_object. - -2004-05-18 Jason Rumney - - * w32console.c: Prefix RIF functions with w32con_ to avoid - namespace clash with functions in term.c and w32term.c. - - * w32menu.c (add_menu_item, w32_menu_display_help) - [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member. - - * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype. - -2004-05-18 Eli Zaretskii - - * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems. - - * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph - with make_number. - (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph - with XINT. - -2004-05-18 Kim F. Storm - - * blockinput.h (INPUT_BLOCKED_P): New macros. - - * keyboard.c (Frecursive_edit): Return immediately if input blocked. - (Ftop_level): Unblock input if blocked. - - * buffer.h (GET_OVERLAYS_AT): New macro. - * msdos.c (IT_note_mouse_highlight): Use it. - * textprop.c (get_char_property_and_overlay): Use it. - * xdisp.c (next_overlay_change, note_mouse_highlight): Use it. - * xfaces.c (face_at_buffer_position): Use it. - - * print.c (print_object): Increase buf size. - -2004-05-17 Jason Rumney - - * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key) - (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from - Lisp_Object using i member. - (w32_quit_key): Rename from Vw32_quit_key, and make an int. - (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int - consistently. - - * w32proc.c (create_child): Use make_number instead of masking pid. - - * w32fns.c (w32_color_map_lookup): Return a Lisp_Object. - (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets): - Use EQ to compare Lisp_Objects. - (w32_parse_hot_key): Use int for lisp_modifiers consistently. - - * w32term.c (w32_num_mouse_buttons): Rename from - Vw32_num_mouse_buttons and make it an int. - - * w32.c (init_environment): Use it. - - * w32fns.c (w32_wnd_proc): Likewise. - - * w32proc.c (w32_pipe_read_delay): Rename from - Vw32_pipe_read_delay and make it an int. - - * w32.c (_sys_read_ahead): Use it. - - * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition. - - * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid. - - * w32inevt.c (w32_console_mouse_position, do_mouse_event) - (key_event): Don't mix Lisp_Object and int. - - * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location. - - * keyboard.c (kbd_buffer_get_event): Don't use event->code and - modifiers in language change event. - -2004-05-17 Kim F. Storm - - * alloc.c (mark_object): Ignore Lisp_Misc_Free objects. - Such objects may be freed markers which still exist on an undo list. - -2004-05-16 Juanma Barranquero - - * data.c (Fset_default): Make argument names match their use in - docstring. - -2004-05-15 Andreas Schwab - - * emacs.c (gdb_array_mark_flag): Define. - * .gdbinit: Mask off gdb_array_mark_flag from vector sizes. - -2004-05-15 Eli Zaretskii - - * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use - __attribute__((__aligned__)), so that USE_LSB_TAG would not become - defined for the MS-DOS build. - -2004-05-14 Stefan Monnier - - * w32fns.c (Fw32_define_rgb_color): Avoid XSET. - -2004-05-14 Kenichi Handa - - * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS. - -2004-05-14 YAMAMOTO Mitsuharu - - * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c - section to frame.c section. - (Fxw_display_color_p, Fx_file_dialog): Declare if - HAVE_WINDOW_SYSTEM defined. - - * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup. - - * macmenu.c (set_frame_menubar): Use NILP to test a lisp value. - - * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers) - (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values. - (XTread_socket): Fix int/Lisp_Object mixup. - (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup. - - * macterm.h (struct frame, struct face, struct image) - (display_x_get_resource, Fx_display_color_p) - (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs): - Add prototypes. - -2004-05-14 Kim F. Storm - - * process.c (wait_reading_process_input): Make reentrant. - Make Available and Connecting non-static. Save and restore value - of waiting_for_user_input_p. - -2004-05-13 Kim F. Storm - - * keyboard.c (mark_kboards): Don't mark x and y members - that are overloaded in selection request events. - -2004-05-13 Stefan Monnier - - * lisp.h (USE_LSB_TAG): Make it the default when it is known to work. - -2004-05-13 Glenn Morris - - * window.c (Fdisplay_buffer, Fsplit_window) - (split-height-threshold): Doc fix. - -2004-05-13 Juanma Barranquero - - * xfaces.c (Ftty_supports_face_attributes_p) - (Finternal_copy_lisp_face): Fix typo in docstring. - (Finternal_get_lisp_face_attribute): Fix docstring. - -2004-05-12 Jan Dj,Ad(Brv - - * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK. - -2004-05-11 Steven Tamm - - * macfns.c (Fx_create_frame): Default to using tool-bar by - setting tool-bar-lines to 1 in default-frame-alist. - -2004-05-11 YAMAMOTO Mitsuharu - - * 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) - (syms_of_image): Support XPM on Carbon Emacs. Does not - depend on libXpm, but only supports XPM version 3 without extensions. - -2004-05-11 YAMAMOTO Mitsuharu - - * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P - instead of FRAME_X_P - -2004-05-11 Kim F. Storm - - * process.c (read_process_output): Grow decoding_buf when needed; - this could cause a crash in allocate_string and compact_small_strings. - -2004-04-29 Jim Blandy - - * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2 - against proper opcode. - -2004-05-10 Juanma Barranquero - - * process.c (Fstart_process): Fix docstring. - - * charset.c (Fget_unused_iso_final_char): Fix typos in docstring. - (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction) - (Fsplit_char, Fchar_charset): Make argument names match their use - in docstring. - -2004-05-10 Richard M. Stallman - - * print.c (print_preprocess): Use being_printed, loop_count and - halftail to detect overdeep nesting and cyclic cdr chains. - -2004-05-10 Andreas Schwab - - * lisp.h (Fmake_symbolic_link): Declare. - - * fileio.c (Frename_file): Remove extra argument in call to - Fmake_symbolic_link. - -2004-05-10 Kim F. Storm - - * xdisp.c (calc_line_height_property): Use string position when - object is a string. - -2004-05-10 Kenichi Handa - - * print.c (temp_output_buffer_setup): Bind inhibit-read-only and - inhibit-modification-hooks to t temporarily before calling - Ferase_buffer. - - * xfns.c (x_create_tip_frame): Bind inhibit-read-only and - inhibit-modification-hooks to t temporarily before calling - Ferase_buffer. - - * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and - inhibit-modification-hooks to t temporarily before calling - Ferase_buffer. - - * fns.c (count_combining): Delete it. - (concat): Don't check combining bytes. - -2004-05-09 Jason Rumney - - * w32fns.c (Vw32_ansi_code_page): New Lisp variable. - (globals_of_w32fns): Set it. - -2004-05-09 Piet van Oostrum - - * data.c (Fquo): Simplify. - -2004-05-08 Peter Whaite (tiny change) - - * data.c (Fquo): If any argument is float, do the computation in - floating point. - -2004-05-08 Juanma Barranquero - - * process.c (Fwaiting_for_user_input_p, Fmake_network_process) - (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering): - Fix spelling of Emacs on docstring. - (Fset_process_coding_system, Fprocess_coding_system) - (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p): - Make argument names match their use in docstring. - (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process): - Fix docstring. - - * editfns.c (Finsert_buffer_substring): Make argument names match their - use in docstring. - - * syntax.c (Fmodify_syntax_entry): Fix docstring. - -2004-05-07 Steven Tamm - - * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT - around call to ReceiveEvent to avoid certain crashes. - -2004-05-07 YAMAMOTO Mitsuharu - - * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData) - (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap) - (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap): - Save/restore the current graphics port and device handle when - drawing into an offscreen graphics world. - - * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1) - (gif_load): Likewise. - -2004-05-07 Juanma Barranquero - - * window.c (Fset_window_buffer): Fix docstring. - -2004-05-06 Thien-Thi Nguyen - - * emacs.c (main) [VMS]: Fix var ref. - -2004-05-06 Romain Francoise - - * data.c (Fsetq_default): Fix docstring. - -2004-05-06 Jason Rumney - - * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h - to avoid name clash. - -2004-05-04 Jan Dj,Ad(Brv - - * fileio.c (barf_or_query_if_file_exists): Use lstat. - (Frename_file): Handle renaming of symlinks across file systems. - (Frename_file): Put symlink handling inside #ifdef S_IFLNK. - -2004-05-04 Kim F. Storm - - * xdisp.c (Qtotal): New var. - (syms_of_xdisp): Intern and staticpro it. - (calc_line_height_property): New arg total. Set it if - line-spacing property has format (total . VALUE). - (x_produce_glyphs): Ignore line-spacing if line-height is 0. - Handle total line-spacing property. - -2004-05-03 Jan Dj,Ad(Brv - - * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear - "under" scroll bar when size/position changes. - -2004-05-03 Jason Rumney - - * makefile.nt: Remove. - -2004-05-02 Eli Zaretskii - - * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT): - Avoid compiler warnings. - - * Makefile.in (region-cache.o): Depend on config.h. - -2004-05-02 Romain Francoise - - * indent.c (compute_motion): Save vpos in prev_vpos when dealing - with continuation lines, too. - -2004-05-02 Thien-Thi Nguyen - - * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'. - -2004-05-01 Stefan Monnier - - * xdisp.c (calc_line_height_property): YAILOM (yet another - int/Lisp_Object mixup). - -2004-05-01 Eli Zaretskii - - * msdos.c (top-level): Add "#pragma pack(0)" after , to - undo bad effect of pack(4) in some versions of system headers. - -2004-05-01 Jason Rumney - - * w32term.c (x_draw_hollow_cursor): Sync with xterm.c - -2004-04-30 Kim F. Storm - - * buffer.c (syms_of_buffer) : Allow float value. - (syms_of_buffer) : Doc fix. - - * dispextern.h (struct it): Remove member use_default_face. - Add members override_ascent, override_descent, override_boff. - - * xdisp.c (init_iterator): Handle line-spacing float value. - Initialize override_ascent member. - (append_space_for_newline): Reset override_ascent. - Remove use_default_face. - (calc_line_height_property): New function to calculate value of - line-height and line-spacing properties. Look at overlays, too. - Set override_ascent, override_descent, override_boff members when - using another face than the current face. Float values are now - relative to the frame default font, by default; accept a cons - of ratio and face name to specify value relative to a specific face. - (x_produce_glyphs): Use calc_line_height_property. - Use override_ascent etc. when set to handle different face heights. - A negative line-spacing property value is interpreted as a total - line height, rather than inter-line spacing. - (note_mouse_highlight): Allocate room for 40 overlays initially. - -2004-04-29 Stefan Monnier - - * data.c (Fsubr_name): New fun. - (syms_of_data): Defsubr it. - -2004-04-29 Kim F. Storm - - * xdisp.c (null_glyph_slice): New var. - (append_glyph, append_composite_glyph, append_stretch_glyph): - Use it to initialize glyph slice. - -2004-04-27 Stefan Monnier - - * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup. - (on_hot_spot_p): Make sure we always return a value. - (Flookup_image_map): Remove unused var ix and iy. - (note_mode_line_or_margin_highlight): Remove unused var `image'. - -2004-04-27 Eli Zaretskii - - * msdos.c (init_environment): If one of the TMP... environment - variables is set to a drive letter without a trailing slash, - append a slash. - -2004-04-27 Matthew Mundell - - * editfns.c (lisp_time_argument): Provide externally. - - * fileio.c (Fset_file_times): New function. - (syms_of_fileio): Intern and staticpro it. - -2004-04-27 Kim F. Storm - - * xdisp.c (x_produce_glyphs): Fix last change; handle newline in - header line strings. - - * dispextern.h (struct it): New member use_default_face. - - * xdisp.c (Qline_height): New variable. - (syms_of_xdisp): Intern and staticpro it. - (append_space_for_newline): Partially undo 2004-04-25 change; - add default_face_p arg, and restore callers. - Clear it->use_default_face after use. - (x_produce_glyphs): Set default font for ascii char if - it->use_default_font is set. Change line-spacing property to set - just extra line spacing. Handle new line-height property. - -2004-04-26 Andreas Schwab - - * print.c (print_object): Print non-ascii characters in bool - vector representation as octal escapes. - - * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define. - * print.c (print_object): Use it instead of BITS_PER_CHAR for - bool vectors. - * lread.c (read1): Likewise. - * alloc.c (Fmake_bool_vector): Likewise. - * data.c (Faref, Faset): Likewise. - * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray) - (mapcar1): Likewise. - -2004-04-26 Steven Tamm - - * lread.c (init_lread): Fix typo in HAVE_CARBON test logic. - -2004-04-26 Miles Bader - - * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c. - -2004-04-26 Juanma Barranquero - - * buffer.c (Fpop_to_buffer): Fix docstring. - -2004-04-26 Steven Tamm - - * lread.c (init_lread): Don't display missing lisp directory - warnings with Carbon Emacs because self-contained bundled Emacs - may be built without correct installation path. - -2004-04-25 Kim F. Storm - - * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines. - - * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines. - - * xdisp.c (append_space_for_newline): Rename from append_space. - Remove DEFAULT_FACE_P arg; always use current face. Callers changed. - (x_produce_glyphs): Handle line-spacing property on newline char. - If value is t, adjust ascent and descent to fit current row height. - If value is an integer or float, set extra_line_spacing to integer - value, or to float value x current line height. - -2004-04-23 Kenichi Handa - - * fontset.c (Finternal_char_font): If POSITION is nil, return - font for displaying CH with the default face. - -2004-04-23 Juanma Barranquero - - * makefile.w32-in: Add "-*- makefile -*-" mode tag. - -2004-04-21 Stefan Monnier - - * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]: - Don't make assumptions about the relative place of i and val. - (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well. - -2004-04-21 Kim F. Storm - - * dispextern.h (struct glyph_slice): New struct. - (struct glyph): New member slice. - (GLYPH_SLICE_EQUAL_P): New macro. - (GLYPH_EQUAL_P): Use it. - (struct glyph_string): New member slice. - (struct it_slice): New struct. - (struct it): New member slice, add member to stack too. - New member constrain_row_ascent_descent_p. - (image_ascent): Add prototype. - - * dispnew.c (buffer_posn_from_coords): Return full image width - and height even for image slices (posn is relative to full image). - (marginal_area_string): Adjust x0,y0 for image slice. - - * image.c (image_ascent): Add slice arg; calculate ascent for - image slice (or full image). - - * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns. - (syms_of_keyboard): Defsubr them. - - * lisp.h (pos_visible_p): Fix prototype. - - * macterm.c (x_draw_relief_rect): Add top_p and bot_p args. - (x_draw_glyph_string_box): Fix call to x_draw_relief_rect. - (x_draw_image_foreground, x_draw_image_relief) - (x_draw_image_foreground_1, x_draw_image_glyph_string): - Draw sliced images. - - * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args. - (x_draw_glyph_string_box): Fix call to x_draw_relief_rect. - (x_draw_image_foreground, x_draw_image_relief) - (w32_draw_image_foreground_1, x_draw_image_glyph_string): - Draw sliced images. - - * w32term.h (image_ascent): Remove prototype. - - * window.c (Fpos_visible_in_window_p): Return pixel position if - PARTIALLY arg is non-nil. Simplify. Doc fix. - (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg - to return/set vscroll in pixels. - - * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN. - - * xdisp.c (Qslice): New variable. - (syms_of_xdisp): Intern and staticpro it. - (pos_visible_p): Return pixel position in new x and y args. - (init_iterator): Reset it->slice info. - (handle_display_prop): Parse (slice ...) property. - (push_it, pop_it): Save/restore slice info. - (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not - force repositioning of tall row if window is vscrolled, as that - would reset vscroll. - (append_space): Set it->constrain_row_ascent_descent_p to avoid - increasing row height if row is non-empty. - (fill_image_glyph_string): Copy slice info. - (take_vertical_position_into_account): Simplify. - (produce_image_glyph): Handle iterator slice info, setup glyph - slice info. Do not force minimum line height. - (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set, - do not increase height (ascent/descent) of non-empty row when - adding normal character glyph; instead reduce glyph ascent/descent - appropriately; if row is higher than current glyph, adjust glyph - descent/ascent to reposition glyph within the existing row. - Likewise, when char is newline, only set ascent/descent if row is - currently empty. - (note_mouse_highlight): Handle hotspots with sliced image. - - * xterm.c (x_draw_relief_rect): Add top_p and bot_p args. - (x_draw_glyph_string_box): Fix call to x_draw_relief_rect. - (x_draw_image_foreground, x_draw_image_relief) - (x_draw_image_foreground_1, x_draw_image_glyph_string): - Draw sliced images. - - * xterm.h (image_ascent): Remove prototype. - -2004-04-20 Stefan Monnier - - * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup. - -2004-04-20 John Paul Wallington - - * fns.c (Fassoc, Feql): Fix indentation. - - * fontset.c (regularize_fontname): Rename from regulalize_fontname. - -2004-04-19 John Paul Wallington - - * fns.c (Feql): New function. - (syms_of_fns): Defsubr it. - -2004-04-18 Jason Rumney - - * w32select.c (Fw32_set_clipboard_data): Get sequence number - after closing the clipboard. - -2004-04-16 Luc Teirlinck - - * buffer.c (Fbuffer_base_buffer): Doc fix. - -2004-04-17 Kim F. Storm - - * keymap.c (Fkey_description): Add optional PREFIX arg. - Combine prefix with KEYS to make up the full key sequence to describe. - Correlate meta_prefix_char and following (simple) key to describe - as meta modifier. All callers changed. - (describe_map): Rename arg `keys' to `prefix'. Remove local - `elt_prefix' var. Use Fkey_description with prefix instead of - elt_prefix combined with Fsingle_key_description. - (describe_vector): Declare static. Replace arg `elt_prefix' with - `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it - if !KEYMAP_P. Use Fkey_description with prefix instead of - Fsingle_key_description. - - * keymap.h (Fkey_description): Fix prototype. - (describe_vector): Remove prototype. - - * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0. - - * image.c (PNG_BG_COLOR_SHIFT): Remove. - (png_load): Fix calculation of transparent background color on X - and W32 platforms. - -2004-04-16 Juanma Barranquero - - * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is - not too large before computing how much to scroll. - -2004-04-15 Stefan Monnier - - * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler. - -2004-04-14 Luc Teirlinck - - * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime): - Add hyperlink to Elisp manual to the docstring. - -2004-04-14 Stefan Monnier - - * callint.c (fix_command): Use XDCR. - -2004-04-14 Nick Roberts - - * window.c (Fget_lru_window): Doc fix. - -2004-04-14 Kim F. Storm - - * editfns.c (Fformat): Fix allocation size of precision array. - - * dispnew.c (update_window): Only set changed_p if - scrolling_window actually did scroll. - (scrolling_window): Only return 1 if we actually did scroll. - - * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor - height to glyph height when cursor row is not fully visible. - (make_cursor_line_fully_visible): Add FORCE_P arg to return - failure in case row is higher than window. Callers changed. - (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd). - Try to scroll partially visible, higher-than-window cursor row. - (redisplay_window): Always try to scroll partially visible, - higher-than-window cursor row - both initially and again with - centering_position = 0. - Clear desired matrix before retrying with centering_position = 0. - -2004-04-13 Stefan Monnier - - * syntax.c (scan_lists): Simplify backward string scan. - Fix off-by-one boundary check for string and comment fences. - -2004-04-13 Joe Buehler - - * sheap.c, unexcw.c: New files. - -2004-04-12 Luc Teirlinck - - * buffer.c (Fmake_indirect_buffer): Throw an error if the intended - base buffer has been killed. Correct the error message if the - base buffer does not exist. - -2004-04-12 Joe Buehler - - * s/cygwin.h: Changes for Cygwin unexec() support, changes in - Cygwin itself. Add support for Xaw3d scrollbars. - - * puresize.h: Set up PURE_P() for Cygwin unexec() support. - - * lastfile.c: Define my_endbss[] for Cygwin unexec() support. - - * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(), - before Cygwin unexec. - - * Makefile.in: Link changes for Cygwin unexec() support. - -2004-04-12 Andreas Schwab - - * buffer.c (Fmake_indirect_buffer): Check that NAME is a string. - -2004-04-11 Luc Teirlinck - - * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if - IGNORE argument equals NAME. Doc fix. - -2004-04-11 Masatake YAMATO - - * buffer.c (fix_start_end_in_overlays): Make overlays - empty if they are backwards. - -2004-04-09 Stefan Monnier - - * xfaces.c (face_color_supported_p): Fix compilation without X11. - -2004-04-07 Stefan Monnier - - * doc.c (Fsnarf_documentation): Ignore new file name entries. - -2004-04-06 Kim F. Storm - - * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden. - (dos_rawgetc): Set mouse_face_hidden after clearing highlight. - - * w32term.c (w32_read_socket): Set mouse_face_hidden after - clearing highlight. - - * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden. - - * xterm.c (handle_one_xevent): Set mouse_face_hidden after - clearing highlight. - - * indent.c (vmotion): Do not reserve one column for continuation - marks on window frames. - -2004-04-04 Eli Zaretskii - - * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings - from GCC. - -2004-04-03 Stefan Monnier - - * .gdbinit-union: Remove. - - * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION. - (xgetptr, xgetint, xgettype): New funs. Use them everywhere. - ($nonvalbits): Remove. - ($valmask): Set it by calling xreload to avoid redundancy. - - * emacs.c (gdb_use_union, gdb_use_lsb): New vars. - (gdb_emacs_intbits): Remove. - -2004-03-31 Jan Dj,Ad(Brv - - * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes. - -2004-03-30 Kenichi Handa - - * editfns.c (Fformat): Fix initialization of the array info. - -2004-03-30 Kim F. Storm - - * xterm.c (x_mouse_click_focus_ignore_position): New var. - (syms_of_xterm): DEFVAR_BOOL it. - (ignore_next_mouse_click_timeout): New var. - (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify. - Use it to filter mouse clicks following focus event. - -2004-03-29 David Ponce - - * callint.c (Fcall_interactively): Fix last change. - -2004-03-28 Stefan Monnier - - * eval.c (Fcommandp): Simplify. - - * data.c (Finteractive_form): Rename from Fsubr_interactive_form. - Extend to handle all kinds of functions. - - * lisp.h (Finteractive_form): Declare. - - * callint.c (Fcall_interactively): Use it. - -2004-03-26 Kim F. Storm - - * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error - to catch errors in calc_pixel_width_or_height during redisplay. - -2004-03-26 Masatake YAMATO - - * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range. - - * lisp.h (fix_start_end_in_overlays): Likewise. - - * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays. - - * editfns.c (Ftranspose_regions): Likewise. - -2004-03-20 Jan Dj,Ad(Brv - - * xterm.c (handle_one_xevent): Do not pass key press events to GTK. - -2004-03-19 Richard M. Stallman - - * s/sol2-6.h: Delete previous change. - -2004-03-19 Kim F. Storm - - * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when - to_charpos corresponds to newline in right fringe. Use local - BUFFER_POS_REACHED_P macro. - -2004-03-19 Jan Dj,Ad(Brv - - * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM - to compile on non-window system. - -2004-03-19 Kim F. Storm - - * dispextern.h (calc_pixel_width_or_height): Add prototype. - - * image.c (Qcenter): Move to xdisp.c. - - * xdisp.c (Qcenter): Declare here. - (syms_of_xdisp): Intern and staticpro it. - (handle_single_display_prop): Allow space display property on all - platforms. - (display_mode_line): Set mode_line_p before displaying line. - (calc_pixel_width_or_height): Declare extern. Add separate :align-to - handling. Remove complex cases for fringes and scroll-bars. - Add left, right, and center alignment positions. Add text (area) - width/height. Return width or height for image specs. - (produce_stretch_glyph): Improve handling of :align-to. Is now - relative to left of text area by default, but other base offsets - can be specified -- also for text lines. - - * term.c (produce_glyphs): Handle IT_STRETCH. - (produce_stretch_glyph): New function to handle space width and - align-to display properties on non-window systems. - -2004-03-17 Stefan Monnier - - * fileio.c (Fread_file_name): Set completion-ignore-case for - case-insensitive systems. - -2004-03-14 Masatake YAMATO - - * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE - when keymap and cursor are setup. - -2004-03-14 Steven Tamm - - * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o. - -2004-03-14 Kim F. Storm - - * dispextern.h (x_find_image_file): Add prototype. - - * image.c (x_find_image_file): Make extern. - - * xfns.c (x_find_image_file): Remove prototype. - -2004-03-13 Eli Zaretskii - - * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined. - - * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined. - -2004-03-12 Richard M. Stallman - - * fns.c (internal_equal): New arg PROPS controls comparing - text properties. All callers changed. - (Fequal_including_properties): New function. - (syms_of_fns): defsubr it. - -2004-03-12 Kim F. Storm - - Fix image support on MAC. From YAMAMOTO Mitsuharu. - - * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs. - (image_background, image_background_transparent): Fix prototypes. - - * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h. - - * macfns.c (x_list_fonts, x_get_font_info, x_load_font) - (x_query_font, x_find_ccl_program, x_set_window_size) - (x_make_frame_visible, mac_initialize, XCreatePixmap) - (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground) - (mac_draw_line_to_pixmap): Move prototypes to macterm.h. - - * macterm.h (x_list_fonts, x_get_font_info, x_load_font) - (x_query_font, x_find_ccl_program, x_set_window_size) - (x_make_frame_visible, mac_initialize, XCreatePixmap) - (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground) - (mac_draw_line_to_pixmap): Add prototypes. - -2004-03-12 YAMAMOTO Mitsuharu - - * macterm.c (XTread_socket): Fix mouse click on tool bar. - -2004-03-11 Kim F. Storm - - * dispextern.h: Move image related prototypes from xfns.c section - to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than - HAVE_X_WINDOWS. - - * Makefile.in (XOBJ): Consolidate into one list. Add image.o. - Move gtkutil.o to new GTK_OBJ list. - (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place. - (GTK_OBJ) [USE_GTK]: New declaration. - (obj): Add $(GTK_OBJ) to list. - -2004-03-11 Steven Tamm - - * image.c [MAC_OSX]: Include sys/stat.h. - - * macfns.c (syms_of_macfns): Remove definitions of things now - defined in image.c. - -2004-03-11 Kim F. Storm - - The following changes consolidates the identical/similar image - support code previously found in xfns.c, w32fns.c, and macfns.c - into a new file image.c. - - * makefile.w32-in (OBJ1): Add image.o. - ($(BLD)/image.$(O)): Add dependencies. - - * Makefile.in (XOBJ, MAC_OBJ): Add image.o. - (image.o): Add dependencies. - - * image.c: New file with consolidated image support code. - (COLOR_TABLE_SUPPORT): New define to control whether - color table support is available (X only). - (Bitmap_Record): Common name for x_bitmap_record, - w32_bitmap_record, and mac_bitmap_record. - (XImagePtr): Common name for pointer to XImage or equivalent. - (XImagePtr_or_DC): New type to simplify code sharing; equivalent - to XImagePtr on X+MAC, and to HDC on W32. - (GET_PIXEL): Wrapper for XGetPixel or equivalent. - (NO_PIXMAP): Common name for "None" or equivalent. - (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors. - (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value. - (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c). - (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen): - Define with suitable equivalents on W32 and MAC for code sharing. - (XDrawLine): Define on MAC for code sharing. - (Destroy_Image, Free_Pixmap): Wrappers for code sharing. - (IF_LIB_AVAILABLE): Macro to simplify code sharing. - (Vx_bitmap_file_path, Vimage_cache_eviction_delay) - (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap) - (x_reference_bitmap, x_create_bitmap_from_data) - (x_create_bitmap_from_file, x_destroy_bitmap) - (x_destroy_all_bitmaps, x_create_bitmap_mask) - (XGetImage, XPutPixel, XGetPixel, XDestroyImage) - (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols) - (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask) - (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter) - (define_image_type, lookup_image_type, valid_image_p) - (image_error, enum image_value_type, struct image_keyword) - (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p) - (make_image, free_image, prepare_image_for_display, image_ascent) - (four_corners_best, image_background, image_background_transparent) - (x_clear_image_1, x_clear_image, x_alloc_image_color) - (make_image_cache, free_image_cache, clear_image_cache) - (Fclear_image_cache, postprocess_image, lookup_image, cache_image) - (forall_images_in_image_cache, x_create_x_image_and_pixmap) - (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file) - (find_image_fsspec, image_load_qt_1, image_load_quicktime) - (init_image_func_pointer, image_load_quartz2d) - (struct ct_color, init_color_table, free_color_table) - (lookup_rgb_color, lookup_pixel_color, colors_in_color_table) - (cross_disabled_images, x_to_xcolors, x_from_xcolors) - (x_detect_edges, x_emboss, x_laplace, x_edge_detection) - (x_disable_image, x_build_heuristic_mask) - (XBM support, XPM support, PBM support, PNG support, JPEG support) - (TIFF support, GIF support, Ghostscript support): Consolidate image - code from xfns.c, w32fns.c, and macfns.c. - (syms_of_image): Consolidate image related symbol setup here. - (init_image): Consolidate image related initializations here. - - * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image - and init_image. Remove call to init_xfns. - - * macterm.h (struct mac_bitmap_record): Add file member. - Not currently used, but simplifies code sharing. - - * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay) - (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap) - (x_reference_bitmap, x_create_bitmap_from_data) - (x_create_bitmap_from_file, x_destroy_bitmap) - (x_destroy_all_bitmaps, x_create_bitmap_mask) - (XGetImage, XPutPixel, XGetPixel, XDestroyImage) - (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols) - (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask) - (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter) - (define_image_type, lookup_image_type, valid_image_p) - (image_error, enum image_value_type, struct image_keyword) - (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p) - (make_image, free_image, prepare_image_for_display, image_ascent) - (four_corners_best, image_background, image_background_transparent) - (x_clear_image_1, x_clear_image, x_alloc_image_color) - (make_image_cache, free_image_cache, clear_image_cache) - (Fclear_image_cache, postprocess_image, lookup_image, cache_image) - (forall_images_in_image_cache, x_create_x_image_and_pixmap) - (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file) - (find_image_fsspec, image_load_qt_1, image_load_quicktime) - (init_image_func_pointer, image_load_quartz2d) - (struct ct_color, init_color_table, free_color_table) - (lookup_rgb_color, lookup_pixel_color, colors_in_color_table) - (cross_disabled_images, x_to_xcolors, x_from_xcolors) - (x_detect_edges, x_emboss, x_laplace, x_edge_detection) - (x_disable_image, x_build_heuristic_mask) - (XBM support, XPM support, PBM support, PNG support, JPEG support) - (TIFF support, GIF support, Ghostscript support): Merge with image - code from xfns.c and macfns.c into image.c. - (syms_of_xfns): Move image related symbols to image.c. - (init_external_image_libraries, init_xfns): Remove; initialization - moved to init_image in image.c. - - * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay) - (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap) - (x_reference_bitmap, x_create_bitmap_from_data) - (x_create_bitmap_from_file, x_destroy_bitmap) - (x_destroy_all_bitmaps, x_create_bitmap_mask) - (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols) - (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask) - (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter) - (define_image_type, lookup_image_type, valid_image_p) - (image_error, enum image_value_type, struct image_keyword) - (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p) - (make_image, free_image, prepare_image_for_display, image_ascent) - (four_corners_best, image_background, image_background_transparent) - (x_clear_image_1, x_clear_image, x_alloc_image_color) - (make_image_cache, free_image_cache, clear_image_cache) - (Fclear_image_cache, postprocess_image, lookup_image, cache_image) - (forall_images_in_image_cache, x_create_x_image_and_pixmap) - (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file) - (struct ct_color, init_color_table, free_color_table) - (lookup_rgb_color, lookup_pixel_color, colors_in_color_table) - (cross_disabled_images, x_to_xcolors, x_from_xcolors) - (x_detect_edges, x_emboss, x_laplace, x_edge_detection) - (x_disable_image, x_build_heuristic_mask) - (XBM support, XPM support, PBM support, PNG support, JPEG support) - (TIFF support, GIF support, Ghostscript support): Merge with image - code from xfns.c and macfns.c into image.c. - (syms_of_xfns): Move image related symbols to image.c. - (init_external_image_libraries, init_xfns): Remove; initialization - moved to init_image in image.c. - - * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay) - (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap) - (x_reference_bitmap, x_create_bitmap_from_data) - (x_create_bitmap_from_file, x_destroy_bitmap) - (x_destroy_all_bitmaps, x_create_bitmap_mask) - (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols) - (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask) - (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter) - (define_image_type, lookup_image_type, valid_image_p) - (image_error, enum image_value_type, struct image_keyword) - (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p) - (make_image, free_image, prepare_image_for_display, image_ascent) - (four_corners_best, image_background, image_background_transparent) - (x_clear_image_1, x_clear_image, x_alloc_image_color) - (make_image_cache, free_image_cache, clear_image_cache) - (Fclear_image_cache, postprocess_image, lookup_image, cache_image) - (forall_images_in_image_cache, x_create_x_image_and_pixmap) - (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file) - (struct ct_color, init_color_table, free_color_table) - (lookup_rgb_color, lookup_pixel_color, colors_in_color_table) - (cross_disabled_images, x_to_xcolors, x_from_xcolors) - (x_detect_edges, x_emboss, x_laplace, x_edge_detection) - (x_disable_image, x_build_heuristic_mask) - (XBM support, XPM support, PBM support, PNG support, JPEG support) - (TIFF support, GIF support, Ghostscript support): Merge with - w32fns.c and macfns.c image code into image.c. - (syms_of_xfns): Move image related symbols to image.c. - (init_xfns): Remove; initialization moved to init_image in image.c. - - * lisp.h (syms_of_image, init_image): Add protoypes. - (init_xfns): Remove prototype. - - * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap) - (x_reference_bitmap, x_create_bitmap_from_data) - (x_create_bitmap_from_file, x_destroy_bitmap) - (x_create_bitmap_mask): Move prototypes from dispextern.h. - (gamma_correct) [MAC_OS]: Add prototype. - - * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap) - (x_reference_bitmap, x_create_bitmap_from_data) - (x_create_bitmap_from_file, x_destroy_bitmap) - (x_create_bitmap_mask): Move prototypes to dispextern.h. - -2004-03-09 Kenichi Handa - - * coding.c (decode_coding_emacs_mule): Handle insufficent source - correctly. - -2004-03-04 Richard M. Stallman - - * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition. - - * window.c (Fdisplay_buffer): Doc fix. - - * buffer.c (Fpop_to_buffer): Doc fix. - -2004-03-03 Kim F. Storm - - * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row. - -2004-03-02 Stefan Monnier - - * editfns.c (Ftranslate_region): Lisp_Object/int mixup. - -2004-03-02 Richard M. Stallman - - * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc. - -2004-03-02 Kenichi Handa - - * doc.c (Fsubstitute_command_keys): Fix counding bytes. - -2004-03-02 Kim F. Storm - - * window.h (struct window): New member overlay_arrow_bitmap. - - * window.c (make_window): Initialize overlay_arrow_bitmap. - - * xdisp.c (Voverlay_arrow_variable_list): New variable to properly - implement and integrate multiple overlay arrows with redisplay. - (syms_of_xdisp): DEFVAR_LISP and initialize it. - (last_arrow_position, last_arrow_string): Replace by properties. - (Qlast_arrow_position, Qlast_arrow_string) - (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables. - (syms_of_xdisp): Intern and staticpro them. - (overlay_arrow_string_or_property, update_overlay_arrows) - (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p) - (overlay_arrow_at_row): New functions for multiple overlay arrows. - (redisplay_internal): Use them instead of directly accessing - Voverlay_arrow_position etc. for multiple overlay arrows. - (mark_window_display_accurate): Use update_overlay_arrows. - (try_cursor_movement): Use overlay_arrow_in_current_buffer_p. - (try_window_id): Use overlay_arrows_changed_p. - (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg. - (display_line): Use overlay_arrow_at_row to check multiple - overlay arrows, and get relevant overlay-arrow-string and - overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly. - (produce_image_glyph): Set pixel_width = 0 for fringe bitmap. - (syms_of_xdisp): Remove last_arrow_position and last_arrow_string. - - * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set. - (update_window_fringes): Remove unused code. - -2004-03-01 Jason Rumney - - * w32term.c (w32_read_socket): Fix last change to ButtonPress handling. - -2004-03-01 Juanma Barranquero - - * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring. - - * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies. - -2004-03-01 Jan Dj,Ad(Brv - - * xfns.c (Fx_display_color_cells): Use number of planes to calculate - how many colors can be displayed. - -2004-03-01 Kenichi Handa - - * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE - correctly. - -2004-02-28 Kim F. Storm - - * dispnew.c (update_window): Update header line also if there are - no other changes in window (move code after set_cursor label). - - * lisp.h (mark_window_display_accurate): Remove prototype. - - * window.c (window_loop, Fforce_window_update): Force mode line - updates by setting prevent_redisplay_optimizations_p and - update_mode_lines. - -2004-02-28 Jan Dj,Ad(Brv - - * xfns.c (x_window): Fix indentation. - - * xterm.c (x_calc_absolute_position): Call x_real_positions - to get WM window sizes and use those to calculate position. - (x_set_offset): Remove code commented out. - -2004-02-28 Miles Bader - - * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert. - -2004-02-28 Kim F. Storm - - * keyboard.c (kbd_buffer_store_event_hold): New function to store - an event into kbd fifo, but with special handling of quit event; - a quit event is saved for later, and further events are discarded - until the saved quit event has been processed. - (kbd_buffer_store_event): Use kbd_buffer_store_event_hold. - (gen_help_event): Store help event in kbd fifo. - (NREAD_INPUT_EVENTS): Remove. - (read_avail_input): Adapt to new read_socket_hook interface. - Remove allocation and initialization of local input_event buffer, - as read_socket_hook stores events directly in fifo. Allocate and - initialize local hold_quit event to handle postponed quit event - (and store it if set by kbd_buffer_store_event_hold). - - * keyboard.h (kbd_buffer_store_event_hold): Add prototype. - (gen_help_event): Fix prototype. - - * macterm.c (XTread_socket): Remove bufp_r and - numcharsp args. Add hold_quit arg. - Rework to use just one, local, inev input_event. Store inev - directly in fifo using kbd_buffer_store_event_hold. - - * sysdep.c (BUFFER_SIZE_FACTOR): Remove. - (read_input_waiting): Adapt to new read_socket_hook interface. - Remove allocation and initialization of local input_event buffer, - as read_socket_hook stores events directly in fifo. Allocate and - initialize local hold_quit event to handle postponed quit event - (and store it if set by kbd_buffer_store_event_hold). - - * term.c (read_socket_hook): Fix arg list. - - * termhooks.h (read_socket_hook): Fix prototype. - - * w32inevt.c (w32_console_read_socket): Remove bufp_r and - numcharsp args. Add hold_quit arg. - Rework to use just one, local, inev input_event. Store inev - directly in fifo using kbd_buffer_store_event_hold. - - * w32inevt.h (w32_console_mouse_position): Fix prototype. - - * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args. - Add hold_quit arg. Rework to use just one, local, inev - input_event. Store inev directly in fifo using - kbd_buffer_store_event_hold. Update count in one place. - Postpone call to gen_help_event until inev is stored; use new - local do_help for this. - Remove local emacs_event in handing of ButtonPress event; just use - inev instead (so no reason to copy it later). - - * xsmfns.c (x_session_check_input): Remove numchars arg. - - * xterm.c (x_focus_changed, x_detect_focus_change): - Remove numchars arg. Always store event into bufp arg. - Return nothing. Callers changed accordingly. - (glyph_rect): Simplify. - (STORE_KEYSYM_FOR_DEBUG): New macro. - (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc. - (current_bufp, current_numcharsp) [USE_GTK]: Remove. - (current_hold_quit) [USE_GTK]: Add. - (event_handler_gdk): Adapt to new handle_one_xevent. - (handle_one_xevent): Remove bufp_r and numcharsp args. - Add hold_quit arg. Rework to use just one, local, inev - input_event. Store inev directly in fifo using - kbd_buffer_store_event_hold. Update count in one place. - Postpone call to gen_help_event until inev is stored; use new - local do_help for this. - Simplify handling of keysyms (consolidate common code). Fix bug - where count was updated with nchars instead of nbytes. - Remove local emacs_event in handing of ButtonPress event; just use - inev instead (so no reason to copy it later). - Remove `out' label. Rename label `ret' to `done'; add various - `goto done' to clarify code flow in deeply nested blocks. - (x_dispatch_event): Simplify as handle_one_xevent now calls - kbd_buffer_store_event itself. - (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit - arg. Call handle_one_xevent with new arglist. Store event from - x_session_check_input in fifo. - [USE_GTK]: Setup current_hold_quit. - Decrement handling_signal before unblocking input. - (x_initialize) [USE_GTK]: Initialize current_count. - - * xterm.h (x_session_check_input): Fix prototype. - -2004-02-26 YAMAMOTO Mitsuharu - - * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'. - - * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in - macgui.h). - - * emacs.c (main) [HAVE_CARBON]: Call init_xfns. - - * macgui.h [MAC_OSX]: Include Carbon/Carbon.h. - (mktime, DEBUG, Z, free, malloc, realloc, max, min) - (init_process) [MAC_OSX]: Avoid conflicts with Carbon/Carbon.h. - [!MAC_OSX]: Include QDOffscreen.h and Controls.h. - (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h. - (Bitmap): Remove typedef. - (Pixmap): Change int to GWorldPtr. - - * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h). - - * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h). - (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG): - New #define to extract 16-bit depth color components from unsigned - long representation. - (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel - colors used for masks. - (struct mac_display_info): Add color_p. Remove n_cbits. - - * macfns.c: Include sys/types.h and sys/stat.h. - [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h). - Include QuickTime/QuickTime.h. - (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap) - (XSetForeground, mac_draw_line_to_pixmap): Add externs for - functions defined in macterm.c. - (XImagePtr): New typedef. Corresponds to XImage * in xfns.c. - (ZPixmap): New #define for compatibility with xfns.c. - (XGetImage, XPutPixel, XGetPixel, XDestroyImage) - (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image) - (find_image_fsspec, image_load_qt_1, image_load_quicktime): - New functions. - (four_corners_best, x_create_x_image_and_pixmap) - (x_destroy_x_image, unwind_create_frame, x_disable_image) - (x_edge_detection, init_color_table, colors_in_color_table) - (lookup_rgb_color, lookup_pixel_color, postprocess_image) - (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image) - (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors) - (x_from_xcolors, x_detect_edges): New declarations (from xfns.c). - (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned - long mixup. - (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc. - (x_decode_color): Don't use n_cbits (in struct mac_display_info). - (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c. - (x_set_cursor_type, Fxw_color_values, valid_image_p) - (image_value_type, parse_image_spec, image_ascent, x_clear_image) - (x_alloc_image_color, clear_image_cache, lookup_image) - (x_find_image_file, xbm_read_bitmap_file_data) - (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan) - (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number) - (enum pbm_keyword_index, pbm_format, enum png_keyword_index) - (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format) - (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p) - (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c. - (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with - #if 0. - (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with - #if 0. Free white_relief.gc and black_relief.gc. - (unwind_create_frame, x_emboss, x_laplace, x_edge_detection): - New functions (from xfns.c). - (Fx_create_frame): Record unwind_create_frame. - (Fxw_display_color_p): Use dpyinfo->color_p. - (Fx_display_grayscale_p, Fx_display_planes): Don't use - dpyinfo->n_cbits. - (Fx_display_color_cells): Use dpyinfo->n_planes; - (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection) - (Qheuristic, cross_disabled_images, emboss_matrix) - (laplace_matrix): New variables (from xfns.c). - (Fimage_size, Fimage_mask_p, four_corners_best, image_background) - (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image) - (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges) - (image_background_transparent): New function (from xfns.c). - Use PIX_MASK_DRAW/PIX_MASK_RETAIN. - (image_load_quicktime): Add declaration. - [MAC_OSX] (image_load_quartz2d): Likewise. - [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef. - [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable. - [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs. - (xbm_load_image_from_file, x_laplace_read_row) - (x_laplace_write_row, pbm_read_file): Remove functions. - [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p) - (xpm_load): Sync with xfns.c (although XPM is not supported yet). - (colors_in_color_table): Sync with xfns.c (although not used). - (lookup_rgb_color): Don't lookup color table. Just do gamma - correction. - (COLOR_INTENSITY): New #define (from xfns.c). - (x_disable_image): New function (from xfns.c). - Use PIX_MASK_DRAW/PIX_MASK_RETAIN. - (x_build_heuristic_mask): Sync with xfns.c. - Use PIX_MASK_DRAW/PIX_MASK_RETAIN. - (HAVE_PBM): Remove #ifdef. - (pbm_load): Sync with xfns.c. Set img->width and img->height - before IMAGE_BACKGROUND. - (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG. - (Qpng, enum png_keyword_index, png_format, png_type, png_image_p): - Don't enclose with #if HAVE_PNG. - [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a - symbol _CGImageCreateWithPNGDataProvider is defined. - Otherwise use image_load_quicktime. - [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime. - [HAVE_PNG] (png_load): Sync with xfns.c. - Use PIX_MASK_DRAW/PIX_MASK_RETAIN. - (jpeg_image_p, jpeg_load): Don't enclose declarations with #if - HAVE_JPEG. - (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type) - (jpeg_image_p): Don't enclose with #if HAVE_JPEG. - [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d. - [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime. - [HAVE_JPEG] (jpeg_load): Sync with xfns.c. - (tiff_image_p, tiff_load): Don't enclose declarations with #if - HAVE_TIFF. - (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type) - (tiff_image_p): Don't enclose with #if HAVE_TIFF. - [!HAVE_TIFF] (tiff_load): Use image_load_quicktime. - [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler): - New functions (from xfns.c). - [HAVE_TIFF] (tiff_load): Sync with xfns.c. - (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF. - (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p): - Don't enclose with #if HAVE_GIF. - [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is - animated gif. Otherwise use image_load_quicktime. - [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as - gif_DrawText to avoid conflict with QuickdrawText.h. - [HAVE_GIF] (gif_load): Sync with xfns.c. - (enum gs_keyword_index, gs_format, gs_image_p, gs_load) - [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although - Ghostscript is not supported yet). - (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic, - QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL - cross_disabled_images (from xfns.c). Remove #if 0 for supported - image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and - HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p. - (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and - HAVE_PNG. Call EnterMovies to support animated gifs. - Call init_image_func_pointer to bind a symbol - _CGImageCreateWithPNGDataProvider if it is defined. - - * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h). - (x_draw_bar_cursor): Sync declaration with xterm.c. - (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area) - (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen - graphics). - (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc. - (mac_draw_line_to_pixmap, XCreatePixmap) - (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap) - (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap): - New functions. - (mac_draw_bitmap) [TARGET_API_MAC_CARBON]: - Use GetPortBitMapForCopyBits instead of the cast to Bitmap *. - Cast bits to char *. - (reflect_byte): New function (from w32fns.c). - (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits - due to byte alignment. - (mac_scroll_area) [TARGET_API_MAC_CARBON]: - Use GetPortBitMapForCopyBits instead of the cast to Bitmap *. - (XSetForeground): Remove static (now used in macfns.c). - (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c). - (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c. - (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect) - (x_draw_glyph_string_box, x_draw_image_foreground) - (x_draw_image_foreground_1, x_draw_image_glyph_string) - (x_draw_stretch_glyph_string, x_draw_glyph_string) - (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor): - Sync with xterm.c. - (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter - than the xterm.c version when a strictly horizontal or vertical - line is drawn. - (XTset_terminal_window): Add static. - (x_make_frame_visible): Add UNBLOCK_INPUT. - (x_free_frame_resources): New funcion (from xterm.c). - (XTread_socket): Call handle_tool_bar_click if mouse up/down event - occurs in tool bar area. - (mac_initialize_display_info): Remove dpyinfo->n_cbits. - Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth. - Initialize image cache. - (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match): - Enclose unused functions with #if 0. - (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables. - (decode_mac_font_name): New function to apply code conversions - from a mac font name to an XLFD font name according to its script code. - (x_font_name_to_mac_font_name): Apply code conversion from an XLFD - font name to a mac font name according to REGISTRY and ENCODING fields. - (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font - whose name starts with `.'. - (init_font_name_table): Use decode_mac_font_name. Add both - jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code - of a font is smJapanese. - (mac_do_list_fonts): New function to list fonts that match a given - pattern. - (x_list_fonts, XLoadQueryFont): Use it. - (XLoadQueryFont): Set rbearing field for each variable width - character to avoid needless redraw. - (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr. - -2004-02-26 Kim F. Storm - - * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512 - as read_socket_hook handler on X aborts if buffer is too small - and W32 handler doesn't always check buffer limit. - - * xdisp.c (handle_single_display_prop): Handle left-fringe and - right-fringe similar to a display margin image. Specifically, - the characters having the fringe prop are no longer shown, and - we use IT_IMAGE/next_element_from_image with image_id = -1 to - do this. Set fringe bitmap face_id in it->face_id. - (produce_image_glyph): Handle image_id < 0 as "no image" case, but - still realize it->face (i.e. the fringe bitmap face). - -2004-02-25 Miles Bader - - * xdisp.c (check_it): Check string/string_pos consistency. - (init_iterator): Initialize string-related fields properly. - -2004-02-11 Miles Bader - - * xdisp.c (produce_image_glyph): Force negative descents to zero. - -2004-02-10 Miles Bader - - * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked); - BLOCK_INPUT can be nested, so it doesn't make much sense. - -2004-02-24 Michael Mauger - - * w32fns.c (slurp_file, xbm_scan, xbm_load_image) - (xbm_read_bitmap_data): Use unsigned char for image data. - -2004-02-23 Luc Teirlinck - - * abbrev.c (Finsert_abbrev_table_description): Doc fix. - -2004-02-22 Jason Rumney - - * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps - correctly over other bitmaps. - -2004-02-21 Eli Zaretskii - - * emacs.c (USAGE1): Split into two halves. - (USAGE2): Second half of the old USAGE1. - (USAGE3): Rename from USAGE2. - (USAGE4): Rename from USAGE3. - -2004-02-21 Juri Linkov - - * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2. - Fix --multibyte. Move --help, --version to USAGE2. Add alias - --file. Fix -f, -l. Sort options. Untabify. - (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify. - -2004-02-19 Luc Teirlinck - - * category.c (Fdefine_category, Fcategory_docstring) - (Fget_unused_category, Fset_category_table) - (Fcategory_set_mnemonics): Doc fixes. - -2004-02-20 Kim F. Storm - - * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes. - The following changes are relative to the 2004-01-21 revision. - (NREAD_INPUT_EVENTS): Define as max number of input events to read - in one call to read_socket_hook. Value is 8. - (read_avail_input): Separate and rework handling of read_socket_hook - and non-read_socket_hook cases. Use smaller input_event buffer - in read_socket_hook case, and repeat if full buffer is read. - Use new local variable 'discard' to skip input after C-g. - In non-read_socket_hook case, just use a single input_event, and - call kbd_buffer_store_event on the fly for each character. - -2004-02-19 Stefan Monnier - - * lisp.h (union Lisp_Object): Give a more precise type for `type'. - Remove unused `gu' alternative. - -2004-02-19 Andreas Schwab - - * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid - warning. - -2004-02-18 Kim F. Storm - - * xdisp.c (get_window_cursor_type, display_and_set_cursor): - Fix last change. - -2004-02-17 Kim F. Storm - - * xdisp.c (fast_find_position): Fix return value of new version; - it was inverted compared to the 21.1 version. - (get_window_cursor_type): Don't look at glyph if NULL. - (display_and_set_cursor): Set glyph to NULL if cursor in fringe. - - * keyboard.c: Rework previous change; it didn't consider that the - buf array was allocated on the stack. - (prev_read): Remove variable. - (read_avail_input_buf): New static event buffer array. - (in_read_avail_input): New static variable to handle re-entrancy. - (read_avail_input): Change buf to pinter to read_avail_input_buf. - Use in_read_avail_input to handle re-entrance; when re-entered, - fully initialize and use tmp_buf array instead of read_avail_input_buf. - Do not initialize read_avail_input_buf in full here; instead assume it - is always cleared on entry. To ensure that, we clear (just) the - entries that were used before we return. - (init_keyboard): Initialize read_avail_input_buf here. - -2004-02-16 Jesper Harder - - * cmds.c (Fend_of_line): Doc fix. - -2004-02-16 Dmitry Antipov (tiny change) - - * keyboard.c (prev_read): New static variable. - (read_avail_input): Use it to zero out only those slots in buf[] - that were used last time we were called. - -2004-02-16 Eli Zaretskii - - * Makefile.in (obj): Move fringe.o from here... - (XOBJ, MAC_OBJ): ...to here. - -2004-02-16 Stephen Eglen - - * fringe.c (init_fringe_bitmap): Define j in MAC_OS code. - -2004-02-15 Stefan Monnier - - * data.c (Fbyteorder): - * fringe.c (Fdefine_fringe_bitmap): - * xdisp.c (handle_single_display_prop): - * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup. - -2004-02-16 Jason Rumney - - * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps. - -2004-02-15 Steven Tamm - - * macterm.c (Vmac_emulate_three_button_mouse): New variable for - controlling emulation of a three button mouse with option and - command keys. - (Qreverse, mac_get_enumlated_btn): Handle the emulation. - (mac_event_to_emacs_modifiers, XTread_socket): Ditto. - -2004-02-15 Kim F. Storm - - * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries. - - * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]: - Perform byte-swapping. - -2004-02-14 Kim F. Storm - - * dispextern.h (struct draw_fringe_bitmap_params): Change member - bits from char to short to facilitate wider bitmaps. - (struct redisplay_interface): Fix prototype of define_fringe_bitmap - member. - - * fringe.c (struct fringe_bitmap): Change member bits from char to - short to facilitate 16 bits wide bitmaps. Modify all standard - bitmaps accordingly. - (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros. - (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof. - (draw_fringe_bitmap): Ditto. - (init_fringe_bitmap) [MAC_OS]: Don't bitswap. - (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to - handle up to 16 bits wide bitmaps. - (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps. - (Ffringe_bitmaps_at_pos): Add missing arg declarations. - - * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly. - (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer - need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap. - - * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide, - so it is no longer necessary to expand them here. - - * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits). - -2004-02-12 Kim F. Storm - - * window.c (Fwindow_fringes): Doc fix. - -2004-02-10 Jan Dj,Ad(Brv - - * xselect.c (x_get_foreign_selection): Add new optional parameter - time_stamp. - (Fx_get_selection_internal): Ditto, pass time_stamp to - x_get_foreign_selection. - - * data.c (Fbyteorder): New function. - -2004-02-09 Jan Dj,Ad(Brv - - * atimer.c: Move include stdio.h to same place as in other files. - - * region-cache.c: Ditto. - - * sysdep.c: Ditto. - - * xfaces.c: Ditto. - -2004-02-09 Sam Steingold - - * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch. - -2004-02-09 Kim F. Storm - - * fringe.c: New file. Move original fringe related declarations - and code from dispextern.h and xdisp.c here. - Rework code to support user defined fringe bitmaps, redefining - standard bitmaps, ability to overlay user defined bitmap with - overlay arrow bitmap, and add faces to bitmaps. - (Voverflow_newline_into_fringe): Declare here. - (enum fringe_bitmap_align): New enum. - (..._bits): All bitmaps are now defined without bitswapping; that - is now done in init_fringe_once (if necessary). - (standard_bitmaps): New array with specifications for the - standard fringe bitmaps. - (fringe_faces): New array. - (valid_fringe_bitmap_id_p): New function. - (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap. - (draw_fringe_bitmap): New function which draws fringe bitmap, - possibly overlaying bitmap with cursor in right fringe or the - overlay arrow in the left fringe. - (update_window_fringes): Do not handle overlay arrow here. - Compare and copy fringe bitmap faces. - (init_fringe_bitmap): New function. - (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to - define and destroy user defined fringe bitmaps. - (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap. - (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps. - (syms_of_fringe): New function. Defsubr new DEFUNs. - DEFVAR_LISP Voverflow_newline_into_fringe. - (init_fringe_once, init_fringe): New functions. - (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions. - - * Makefile.in (obj): Add fringe.o. - (fringe.o): New dependencies. - - * dispextern.h (FRINGE_ID_BITS): New definition for number of - bits allocated to hold a fringe number. Increase number of bits - from 4 to 8 to allow user defined fringe bitmaps. - (struct glyph_row, struct it): New members left_user_fringe_bitmap, - left_user_fringe_face_id, right_user_fringe_bitmap, - right_user_fringe_face_id. - (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps): - Move to new file fringe.c. - (MAX_FRINGE_BITMAPS): Define here. - (struct draw_fringe_bitmap_params): New members bits, cursor_p, - and overlay_p. Change member which to int. - (struct redisplay_interface): New members define_fringe_bitmap - and destroy_fringe_bitmap. - (valid_fringe_bitmap_id_p): Add prototype. - (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes. - - * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay - arrows. - (update_frame): Do flush_display if force_flush_display_p to - ensure display (specifically fringes) are updated in a timely - manner when resizing the frame by dragging the mouse. - (update_window_line): Update row if overlay arrow changed. - (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces - or overlay arrow changed. - - * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once, - syms_of_fringe, and init_fringe. - - * frame.h (struct frame): New member force_flush_display_p. - - * lisp.h (syms_of_fringe, init_fringe, init_fringe_once): - Add prototypes. - - * macterm.c (mac_draw_bitmap): Add overlay_p arg. - (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps; - thanks to YAMAMOTO Mitsuharu for advice on how to do this. - Use cursor color for displaying cursor in fringe. - (x_redisplay_interface): Add null handlers for - define_fringe_bitmap and destroy_fringe_bitmap functions. - - * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from - xterm.c to handle overlayed fringe bitmaps and to use cursor color - for displaying cursor in fringe. - (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32 - specific functions to define and destroy fringe bitmaps in fringe_bmp. - (w32_redisplay_interface): Add them to redisplay_interface. - (w32_term_init): Call w32_init_fringe instead of explicitly - defining fringe bitmaps in fringe_bmp array. - (x_delete_display): Call w32_reset_fringes instead of explicitly - destroying fringe bitmaps in fringe_bmp array. - - * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp) - (left_bits, right_bits, up_arrow_bits, down_arrow_bits) - (continued_bits, continuation_bits, ov_bits, first_line_bits) - (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits) - (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits) - (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps) - (draw_window_fringes, compute_fringe_widths, update_window_fringes): - Move fringe handling vars and code to new file fringe.c. - (handle_display_prop): Handle left-fringe and right-fringe - display properties; store user fringe bitmaps in iterator. - (move_it_in_display_line_to): Handle cursor in fringe at eob. - (clear_garbaged_frames): Set force_flush_display_p if resized. - (redisplay_window): Redraw fringe bitmaps if not just_this_one_p. - (display_line): Handle cursor in fringe at eob. - (display_line): Set row user fringe bitmaps from iterator. - - * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps. - Use cursor color for displaying cursor in fringe. - (x_redisplay_interface): Add null handlers for - define_fringe_bitmap and destroy_fringe_bitmap functions. - -2004-02-07 Jan Dj,Ad(Brv - - * macfns.c (Fx_change_window_property): Make doc string and - parameters same as for X version. - - * w32fns.c (Fx_change_window_property): Ditto. - -2004-02-07 Kim F. Storm - - * xdisp.c (hscroll_window_tree): Position cursor near to right - margin in hscrolled window when jumping to end of line (rather - than centering cursor). - - * process.c (wait_reading_process_input): Don't do adaptive read - buffering if waiting for a specific process. - -2004-02-05 Luc Teirlinck - - * minibuf.c (Fminibufferp, Fread_from_minibuffer) - (Fread_minibuffer, Feval_minibuffer) - (Fread_string, Fread_no_blanks_input) - (Fcompleting_read): Doc fixes. - (syms_of_minibuf): Doc fixes for minibuffer-completion-table and - completion-regexp-list. Define Qcase_fold_search and staticpro it. - (read_minibuf): Fix initial comment. - (Ftry_completion, Fall_completions, Ftest_completion): Bind - case-fold-search to the value of completion-ignore-case when - checking completion-regexp-list. - (Fdisplay_completion_list): Make it handle arguments that are - symbols. Doc fix. - -2004-02-05 Jan Dj,Ad(Brv - - * xterm.h: Add declaration of free_frame_menubar. - - * xfns.c (x_create_bitmap_mask): Removed unused variable depth. - (x_set_menu_bar_lines): Added ! defined USE_GTK for olines. - (Fx_change_window_property): Add declaration of parameters type and - format. Remove unused variable cons. - - * xselect.c: Include stdio.h. - -2004-02-05 Kenichi Handa - - * fns.c (Fset_char_table_range): Fix previous change. - - * buffer.c (Fset_buffer_multibyte): Fix docstring. - -2004-02-04 Luc Teirlinck - - * editfns.c (Fchar_after, Fchar_before): Doc fixes. - -2004-02-04 Stefan Monnier - - * keymap.c (Vmouse_events): Rename from Vmenu_events. - (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it. - -2004-02-04 Kenichi Handa - - * fns.c (Fset_char_table_range): Handle charsets ascii, - eight-bit-control, and eight-bit-graphic correctly. - -2004-02-03 Jason Rumney - - * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe. - - * w32fns.c (x_to_w32_font): Likewise. - -2004-02-03 Jan Dj,Ad(Brv - - * xterm.h: Add x_handle_dnd_message, x_check_property_data, - x_fill_property_data, x_property_data_to_lisp and check_x_display_info. - - * xterm.c (handle_one_xevent): Call x_handle_dnd_message for - ClientMessages. - - * xselect.c: Include termhooks.h and X11/Xproto.h. - (x_check_property_data, x_fill_property_data) - (x_property_data_to_lisp, mouse_position_for_drop) - (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support. - (Fx_send_client_event): Move here from xfns.c. - (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message. - - * xfns.c (x-send-client-message): Move to xselect.c. - (Fx_change_window_property): Add optional arguments TYPE, FORMAT and - OUTER_P. - (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P, - VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp - if vector_ret_p is true. - (syms_of_xfns): Sx_send_client_message moved to xselect.c. - -2004-02-02 Eli Zaretskii - - * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the - basename of FILE relative to it, not FILE itself. - -2004-02-02 Kenichi Handa - - * coding.c (coding_restore_composition): Check invalid - composition data more rigidly. - -2004-01-30 Luc Teirlinck - - * fileio.c (Fread_file_name_internal): Correctly handle the case - where insert-default-directory is nil. - (Fread_file_name): Always return an empty string if the user exits - with an empty minibuffer. Adapt the docstring accordingly. - (syms_of_fileio): Adapt the docstring of insert-default-directory - to the change in Fread_file_name. - -2004-01-29 Eli Zaretskii - - * alloca.c [!alloca]: Fix the prototype for xfree. - -2004-01-29 Kenichi Handa - - * fns.c (string_char_to_byte): Optimize for ASCII only string. - (string_byte_to_char): Likewise. - -2004-01-28 Peter Runestig - - * makefile.w32-in, w32fns.c: Add `default-printer-name' function. - -2004-01-27 Steven Tamm - - * unexmacosx.c (unexec_copy): Do not copy more than was - requested to prevent overwriting during unexec. - -2004-01-27 Jan Dj,Ad(Brv - - * process.c (sigchld_handler): Add comment about not calling malloc. - - * process.h: Add extern to synch_process_termsig. - -2004-01-27 Steven Tamm - - * macterm.c (make_mac_frame, make_mac_terminal_frame): - Move setting of scroll bars from make_mac_frame to - make_mac_terminal_frame to prevent clobbering of scroll-bar-mode. - -2004-01-26 Richard M. Stallman - - * search.c (Freplace_match): Handle nonexistent - back-references properly. - -2004-01-03 Richard M. Stallman - - * window.c (decode_any_window): New function. - (Fwindow_height, Fwindow_width, Fwindow_edges) - (Fwindow_pixel_edges, Fwindow_inside_edges) - (Fwindow_inside_pixel_edges): Use decode_any_window. - -2004-01-27 Jan Dj,Ad(Brv - - * process.h: synch_process_termsig new variable. - - * callproc.c: Define synch_process_termsig. - (Fcall_process): Initiate synch_process_termsig to zero and - check if non-zero and get signal name after subprocess has ended. - - * process.c (sigchld_handler): Set synch_process_termsig - if terminated by a signal. synch_process_death setting removed. - - * sysdep.c (mkdir, rmdir): Also check synch_process_termsig. - -2004-01-26 Andreas Schwab - - * print.c (print_preprocess): Declare size as EMACS_INT to not - lose bits. - (print_object): Likewise. - * alloc.c (Fpurecopy): Likewise. - -2004-01-25 Luc Teirlinck - - * window.c (Fwindow_minibuffer_p): Doc fix. - -2004-01-24 Jonathan Yavner - - * editfns.c (Fformat): Make both passes accept the same set of flags. - -2004-01-23 Kenichi Handa - - * fns.c (Fmd5): If OBJECT is a buffer different from the current - one, set buffer to OBJECT temporarily. - -2004-01-21 Stefan Monnier - - * keyboard.c (kbd_buffer_gcpro): Remove. - (kbd_buffer_store_event, clear_event, Fdiscard_input) - (stuff_buffered_input, init_keyboard, syms_of_keyboard): - Don't initialize and/or maintain the variable any more. It was made - redundant by my commit of 2003-06-15. - - * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error. - -2004-01-21 Jan Dj,Ad(Brv - - * lisp.h: Add undef DECL_ALIGN. - -2004-01-21 Stefan Monnier - - * process.c (wait_reading_process_input) [SYNC_INPUT]: - Check interrupt_input_pending explicitly. - - * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well. - - * keyboard.c (handle_async_input): New fun, - extracted from input_available_signal. - (input_available_signal, reinvoke_input_signal): Use it. - -2004-01-20 Stefan Monnier - - * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN. - - * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value - manipulation macros for when tags are in the lower bits. - (struct Lisp_Free) [USE_LSB_TAG]: Add padding. - (DECL_ALIGN): New macro. - (DEFUN): Use it. - - * lisp.h [ENABLE_CHECKING]: Don't force union type. - - * s/darwin.h (__attribute__): Remove outdated workaround. - - * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram. - - * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]: - Don't check range of malloc address. - (pure_alloc) [USE_LSB_TAG]: Enforce alignment. - - * process.c (wait_reading_process_input): Lisp_Object/int mixup. - - * dired.c (Ffile_attributes): Lisp_Object/int mixup. - -2004-01-19 Kenichi Handa - - * fontset.c (fontset_font_pattern): Fix previous change. - -2004-01-16 Miles Bader - - * xdisp.c (Voverflow_newline_into_fringe) - (move_it_in_display_line_to, redisplay_internal) - (update_window_fringes, redisplay_window, display_line, window): - Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so - that it compiles without a window-system. - * dispnew.c (direct_output_for_insert, update_window): Likewise. - -2004-01-16 Kim F. Storm - - * buffer.h (struct buffer): New member indicate_buffer_boundaries. - - * buffer.c (init_buffer_once): Set buffer_defaults and - buffer_local_flags for indicate_buffer_boundaries. - (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro - default- variable for it. - - * dispextern.h (struct glyph_row): New members left_fringe_bitmap, - right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling. - New members exact_window_width_line_p and cursor_in_fringe_p for - overflowing newlines into right fringe. - New members indicate_bob_p, indicate_top_line_p, indicate_eob_p, - and indicate_bottom_line_p for buffer boundaries and scrolling. - (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP, - FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP, - HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP, - and HOLLOW_SQUARE_BITMAP. - (draw_fringe_bitmap, draw_window_fringes, update_window_fringes): - Add prototypes. - - * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps - instead of related indicator fields. - Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators. - (direct_output_for_insert): Handle exact width lines like - contined lines. Call update_window_fringes. - (update_window): Call update_window_fringes. - (scrolling_window): Don't skip desired rows with changed bitmaps. - Check if fringe bitmaps changes when assigning scrolled rows. - - * xdisp.c (Voverflow_newline_into_fringe): New variable. - (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro. - (move_it_in_display_line_to): Overflow newline into fringe for - rows that are exactly as wide as the window. - (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits) - (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits) - (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps. - (fringe_bitmaps): Add new bitmaps. - (draw_fringe_bitmap): Make extern. Remove WHICH arg. - Select proper bitmap for cursor in fringe when appropriate. - Handle alignment of bitmap to top or bottom of row. - (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now - done by update_window_fringes. - (update_window_fringes, draw_window_fringes): New functions. - (redisplay_internal): Call update_window_fringes in case only - cursor row is updated. - (redisplay_window): Call update_window_fringes. - Explicitly call draw_window_fringes if redisplay was done using - the current matrix or the overlay arrow is in the window. - (try_window_reusing_current_matrix): Mark scrolled rows for - fringe update (to update buffer-boundaries / scrolling icons). - (find_last_unchanged_at_beg_row): Handle exact width lines line - continued lines. - (display_line): Overflow newline into fringe for rows that are - exactly as wide as the window. Don't append space for newline - in this case. - (notice_overwritten_cursor): Explicitly clear cursor bitmap - in fringe as if it had been overwritten. - (erase_phys_cursor): Erase cursor bitmap in fringe. - (syms_of_xdisp): Mark show-trailing-whitespace and - void-text-area-pointer as user options. - DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default. - - * xterm.c (x_update_window_end): Call draw_window_fringes. - (x_after_update_window_line): Just set redraw_fringe_bitmaps_p - in row instead of actually drawing fringe bitmaps. - (x_draw_fringe_bitmap): Handle bottom aligned bitmaps. - (x_draw_window_cursor): Draw cursor in fringe. - - * w32term.c (x_update_window_end): Call draw_window_fringes. - (x_after_update_window_line): Just set redraw_fringe_bitmaps_p - in row instead of actually drawing fringe bitmaps. - (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps. - (w32_draw_window_cursor): Draw cursor in fringe. - - * macterm.c (x_update_window_end): Call draw_window_fringes. - (x_after_update_window_line): Just set redraw_fringe_bitmaps_p - in row instead of actually drawing fringe bitmaps. - (x_draw_fringe_bitmap): Handle bottom aligned bitmaps. - (mac_draw_window_cursor): Draw cursor in fringe. - -2004-01-16 Jan Dj,Ad(Brv - - * xterm.c (handle_one_xevent): Don't handle characters that are part - of an old style (XLookupString) compose sequence. - -2004-01-15 Kenichi Handa - - * search.c (Freplace_match): Use make_multibyte_string or - make_unibyte_string according to the buffer multibyteness. - -2004-01-14 Stefan Monnier - - * alloc.c (struct interval_block, struct string_block) - (struct symbol_block, struct marker_block, live_string_p) - (live_cons_p, live_symbol_p, live_float_p, live_misc_p): - Better preserve alignment for objects in blocks. - (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding. - - * lread.c (defvar_per_buffer): Remove dead declaration. - - * macterm.c (do_check_ram_size): Don't hardcode the lisp address - space size. - -2004-01-12 Jan Dj,Ad(Brv - - * xmenu.c (popup_get_selection): Check new parameter down_on_keypress - if a key press should pop down. Only pop down if a key is pressed - outside the menu/dialog. - (create_and_show_popup_menu): Pass 0 for down_on_keypress to - popup_get_selection. - (create_and_show_dialog): Pass 1 for down_on_keypress to - popup_get_selection. - -2004-01-11 Jan Dj,Ad(Brv - - * alloc.c (allocate_vectorlike): Surround calls to mallopt with - BLOCK/UNBLOCK_INPUT. - -2004-01-08 Jan Dj,Ad(Brv - - * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are - specified. - -2004-01-08 Kenichi Handa - - * editfns.c (Fformat): Fix '&' to '&&'. - -2004-01-08 Andreas Schwab - - * print.c (print_preprocess) : Only mask - size if PSEUDOVECTOR_FLAG is set. - -2004-01-07 Kenichi Handa - - * charset.c (Fdeclare_equiv_charset): Fix docstring. - - * fontset.c (fontset_ref_via_base): Fix previous change. - -2004-01-07 Kim F. Storm - - * process.c (read_process_output): Only activate adaptive - buffering if we read less than 256 bytes at a time. - -2004-01-06 Kim F. Storm - - * dispnew.c (buffer_posn_from_coords): Return both buffer/string - object and image object. Return glyph width and height. - (mode_line_string, marginal_area_string): Ditto. - - * dispextern.h (buffer_posn_from_coords, mode_line_string) - (marginal_area_string): Fix prototypes. - - * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from - POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed. - (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros. - - * keyboard.c (make_lispy_position): Use modified mode_line_string, - buffer_posn_from_coords, and marginal_area_string functions to - include both string object and image object in the lispy position. - Also add actual glyph width and height to position. - (read_key_sequence): Use real buffer position from mouse - event to find keymap property even when click is in marginal area. - - * xdisp.c (note_mode_line_or_margin_highlight): Use modified - mode_line_string and marginal_area_string functions to handle - both string object and image object properties. - -2004-01-06 Andreas Schwab - - * syntax.c (skip_chars): Treat '-' at end of string as ordinary - character. - -2004-01-02 Andreas Schwab - - * macterm.c (emacs_options, x_initialized, same_x_server): - Remove unused (and duplicated) definitions. - -2004-01-02 Kim F. Storm - - * process.h (struct Lisp_Process): New members for adaptive read - buffering: adaptive_read_buffering, read_output_delay, and - read_output_skip. - - * process.c (ADAPTIVE_READ_BUFFERING): New conditional. - (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX) - (READ_OUTPUT_DELAY_MAX_MAX): New constants. - (process_output_delay_count, process_output_skip): New vars. - (Vprocess_adaptive_read_buffering): New variable. - (make_process): Initialize adaptive read buffering members. - (Fstart_process): Set adaptive_read_buffering member. - (deactivate_process): Cleanup adaptive read buffering. - (wait_reading_process_input): Temporarily omit delayed - subprocesses from the set of file descriptors to read from; - adjust the select timeout if we skipped any subprocesses. - (read_process_output): Increase adaptive read buffering delay if - we read less than a full buffer; reduce delay when we read a - full buffer. - (send_process): Simplify using local Lisp_Process var. - Reset adaptive read buffering delay after write. - (init_process): Initialize process_output_delay_count and - process_output_skip. - (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering. - -2004-01-01 Jason Rumney - - * w32term.c (w32_text_out): Use s->font, for consistency with callers. - -2003-12-30 Luc Teirlinck - - * print.c (Ferror_message_string): Add hyperlink in the docstring - to the definition of `signal' in the Elisp manual. - * eval.c (Fsignal): Ditto. - -2003-12-29 James Clark - - * fns.c (internal_equal): Return t for two NaN arguments. - -2003-12-29 Richard M. Stallman - - * data.c (store_symval_forwarding): Handle setting - default-fill-column, etc., by changing the value in - buffers that use the default. - - * minibuf.c (Fset_minibuffer_window): Doc fix. - - * fileio.c (choose_write_coding_system): Ignore auto_saving - if using the visited file for auto saves. - (Fwrite_region): Don't update SAVE_MODIFF - if auto-saving in visited file. - -2003-12-29 Kenichi Handa - - * dispextern.h (face_font_available_p): Extern it. - - * fontset.c (Voverriding_fontspec_alist): New variable. - (lookup_overriding_fontspec): New function. - (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary. - (fontset_font_pattern): Likewise. - (regulalize_fontname): New function. - (Fset_fontset_font): Call regulalize_fontname. - (Fset_overriding_fontspec_internal): New function. - (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist. - Defsubr Sset_overriding_fontspec_internal. - - * xfaces.c (face_font_available_p): New function. - -2003-12-28 Richard M. Stallman - - * buffer.c (Fother_buffer): Don't crash if BUF is nil - or if its name is nil. - - * buffer.c (Fkill_buffer): Don't delete auto-save file - if it's the same as the visited file. - -2003-12-28 Luc Teirlinck - - * coding.c (Fcheck_coding_system): Doc fix. - -2003-12-28 Kim F. Storm - - * Makefile.in (eval.o): Depend on dispextern.h. - - * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for - image glyph using image's ascent. - (mode_line_string): Return image glyph as object clicked on. - Adjust y0 for image glyph using image's ascent. - - * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines. - (struct glyph): New members, ascent and descent. Used to save - this glyph's ascent and descent, instead of having. - (struct glyph): Declare member face_id using FACE_ID_BITS. - (find_hot_spot): Add prototype. - - * keyboard.c (Qimage): Remove extern (now in lisp.h). - (QCmap): Declare extern. - (make_lispy_position): When position is inside image hot-spot, - use hot-spot element's id as posn element. - - * lisp.h (IMAGEP): New macro to test for image object type. - (Qimage): Declare extern. - - * macfns.c (Qimage): Remove extern (now in lisp.h). - (valid_image_p, parse_image_spec): Use IMAGEP macro. - - * macterm.c (Qface, Qmouse_face): Remove unused externs. - - * w32fns.c (Qimage): Remove extern (now in lisp.h). - (valid_image_p, parse_image_spec): Use IMAGEP macro. - - * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs. - - * w32term.c (Qface, Qmouse_face): Remove unused externs. - - * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for - pointer types. - (Qrelative_width, Qalign_to): Remove unused variables. - (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void. - (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for image - maps. - (x_y_to_hpos_vpos): Return glyph relative coordinates through new - dx and dy args. Remove buffer_only_p arg (always 0). Simplify - code accordingly. - (get_glyph_string_clip_rect): Draw cursor using glyph's rather - than row's ascent and height, to get sensible height on tall rows. - (build_desired_tool_bar_string): Remove Qimage extern. - (get_tool_bar_item): Fix call to x_y_to_hpos_vpos. - (produce_image_glyph): Adjust it.ascent to minimum row ascent if - image glyph is alone on the last line. - (append_glyph, append_composite_glyph, produce_image_glyph) - (append_stretch_glyph): Set glyph's ascent and descent. - (on_hot_spot_p): New function to check if position is inside an - rectangular, circular, or polygon-shaped image hot-spot, - (find_hot_spot): New function to search for image hot-spot. - (Flookup_image_map): New defun to search for image hot-spot. - (define_frame_cursor1): New aux function to determine frame - pointer. - (note_mode_line_or_margin_highlight, note_mouse_highlight): Handle - `pointer' text property and :pointer image property to control - frame pointer shape. Detect image hot-spots for pointer and - help_echo properties. Use define_frame_cursor1. - (note_mouse_highlight): Use Vvoid_text_area_pointer. - (syms_of_xdisp): Defsubr new defun. Intern and staticpro new - variables. DEFVAR_LISP Vvoid_text_area_pointer instead of - Vshow_text_cursor_in_void. - - * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID. - - * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call. - (Qimage): Remove extern (now in lisp.h). - (valid_image_p, parse_image_spec): Use IMAGEP macro. - - * xmenu.c (show_help_event): Remove unused code. - - * xterm.c (Qface, Qmouse_face): Remove unused externs. - (x_draw_hollow_cursor): Draw cursor using glyph's rather than - row's ascent and descent, to get a sensible height on tall rows. - -2003-12-25 Luc Teirlinck - - * minibuf.c (Fcompleting_read): Undo previous change. - -2003-12-25 Lars Hansen - - * dired.c (Fdirectory_files, Fdirectory_files_and_attributes): - Arguments GCPRO'ed in call to file name handler. - -2003-12-25 Thien-Thi Nguyen - - * termcap.c (tgetst1): Scan for "%pN"; if all - N are continuous in [1,9], remove all "%pN". - -2003-12-24 Jan Dj,Ad(Brv - - * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint. - - * xfaces.c (lface_fully_specified_p): Take into account that - MAC OS always have unspecified stipple. - -2003-12-24 Thien-Thi Nguyen - - * tparam.c (tparam1): Add handling for `%pN', which - means use param N for the next substitution. - -2003-12-24 Thien-Thi Nguyen - - * xfaces.c (Fcolor_gray_p): Fix omission bug: - In case `frame' is nil, consult the selected frame. - (Fcolor_supported_p): Likewise. - -2003-12-23 Luc Teirlinck - - * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range): - Doc fixes. - - * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string - and an integer. Adapt the introductory comment accordingly. - (Fread_from_minibuffer): Delete code moved into read_minibuf. - Doc fix. - (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in - read_minibuf. - (Fcompleting_read): Delete code moved into read_minibuf. - (Ftest_completion): Make it handle obarrays and hash tables correctly. - -2003-12-03 Kenichi Handa - - * coding.c (decode_coding_iso2022): Fix for preserving UTF-8 - encoding sequence. - -2003-12-01 Kenichi Handa - - * composite.c (syms_of_composite): Don't make the compostion hash - table week. - -2003-11-30 Luc Teirlinck - - * intervals.h: Add EXFUN for Fget_char_property_and_overlay. - * textprop.c (Fget_char_property_and_overlay): New function. - (syms_of_textprop): Defsubr it. - -2003-11-29 Jan Dj,Ad(Brv - - * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM - to compile on terminal configuration. - - * fileio.c (Fread_file_name): Check use_file_dialog also before - calling Fx_file_dialog. - - * fns.c (use_file_dialog): New variable. - (syms_of_fns): DEFVAR_BOOL use-file-dialog. - -2003-11-29 Kim F. Storm - - * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern. - (syms_of_msdos): Don't intern and staticpro them. - -2003-11-27 Kim F. Storm - - * dispnew.c (buffer_posn_from_coords): Calculate and return pixel - coordinates relative to glyph at posn. If glyph is an image, - return that as object at posn. Callers changed. - (mode_line_string, marginal_area_string): Calculate and return - pixel coordinates relative to glyph. Callers changed. - - * dispextern.h (buffer_posn_from_coords, mode_line_string) - (marginal_area_string): Fix prototypes. - (window_box_left_offset, window_box_right_offset): Add prototypes. - - * frame.h (get_specified_cursor_type, get_window_cursor_type): - Remove prototypes. - - * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines. - - * keyboard.c (make_lispy_position): Add x and y coordinates - relative to the current glyph as 7th element of position. - If glyph is an image, return it in the object element. - (read_key_sequence): Skip checks for keymap property in cases - where POSN_STRING is not a string (e.g. an image). - - * xdisp.c (Vdisplay_pixels_per_inch): New variable. - (Vshow_text_cursor_in_void): New variable. - (glyph_to_pixel_coords): Don't use negative hpos. - (x_y_to_hpos_vpos): Fix for partially visible first glyph. - (append_stretch_glyph): Change ascent arg to be actual value - in pixels rather than ratio to height. Callers changed. - (calc_pixel_width_or_height): New aux function, implementing - pixel based artihmetic for glyph widths and heights. - (produce_stretch_glyph): Use calc_pixel_width_or_height for - :width, :height, :align-to, and :ascent, thus allowing these to - be specified in pixels as well as multiples of characters. - Don't produce stretch glyphs with zero width or height. - (get_specified_cursor_type): Declare static. - (get_window_cursor_type): Declare static. Add glyph arg to be - able to know when cursor is on an image; always substitute - hollow-box cursor for filled-box cursor on images, to avoid - negative images and flicker when blinking the cursor. - (display_and_set_cursor): Pass glyph to get_window_cursor_type. - (note_mode_line_or_margin_highlight): Use non-text cursor rather - than vertical scroll-bar cursor in display margins. - (note_mouse_highlight): Use non-text cursor rather than text - cursor in fringes and over images in the text area. - Use non-text cursor when mouse pointer is outside editable text, - i.e. in the void after end-of-line or end-of-buffer; this was - already done for W32, but is now standard for all systems -- - user can toggle show-text-cursor-in-void to get old behaviour. - (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and - Vdisplay_pixels_per_inch. - -2003-11-25 Andreas Schwab - - * fns.c (internal_equal) : Declare size as - EMACS_INT to not lose bits. - (Ffillarray): Don't set bits beyond the size of a bool vector. - -2003-11-25 Kim F. Storm - - * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not - define this defun on systems that cannot use stderr as lvalue. - -2003-11-24 Gerd Moellmann - - * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS) - [__FreeBSD_version >= 500042]: Define as -znocombreloc because - ld's default is incompatible with unexec. - -2003-11-23 Kim F. Storm - - * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS. - (window_loop): Handle REDISPLAY_BUFFER_WINDOWS. - (Fforce_window_update): New defun. - (syms_of_window): Defsubr it. - (Fset_window_margins, Fset_window_fringes): Doc fix. - - * print.c (Fredirect_debugging_output): New defun. - (syms_of_print): Defsubr it. - -2003-11-22 Luc Teirlinck - - * fns.c (Fset_char_table_parent): Doc fix. - -2003-11-22 Kim F. Storm - - * dispnew.c (buffer_posn_from_coords): Return actual row/column - for glyph clicked on, rather than (unused) pixel positions. - (mode_line_string, marginal_area_string): Change X and Y args to - pointers for returning actual row/column for glyph clicked on. - Simplify and optimize loops. - - * dispextern.h (mode_line_string, marginal_area_string): - Update prototypes. - - * keyboard.c (make_lispy_position): New function for generating - mouse click positions from frame and pixel coordinates. - Enhanced to return buffer position and actual row/column for - events outside the text area using updated mode_line_string and - marginal_area_string functions. - Return left-fringe and right-fringe clicks as such, rather than - clicks in text area. - (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call - pixel_to_glyph_coords, as we never use the results. - (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT, - WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code. - Eliminate unused code in WHEEL_EVENT handling. - (make_lispy_movement): Use make_lispy_position. - - * window.c (coordinates_in_window): Remove redundant tests. - Fix returned X pixel value for left-margin. - - * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new - mode_line_string and marginal_area_string parameters. - -2003-11-22 Lars Hansen - - * w32.c (struct the_group, getgrgid): Add. - * mac.c (struct my_group, getgrgid): Add. - -2003-11-21 Luc Teirlinck - - * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes. - -2003-11-21 Lars Hansen - - * dired.c (Ffile_attributes): Add parameter ID-FORMAT and - include in call to file name handler. Optionally translate numeric - UID and GID to strings. Update docstring. - (directory_files_internal): Add parameter ID-FORMAT. - (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and - include in call to file name handler and call to - directory_files_internal. Update Docstring. - (Fdirectory_files): Add dummy parameter in call to - directory_files_internal. - * lisp.h (Qinteger): Add. - (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove. - (Ffile_attributes): Add parameter. - * data.c (Qinteger): Export. - -2003-11-21 Luc Teirlinck - - * fns.c (Freverse, Fnreverse): Doc fixes. - -2003-11-19 Kim F. Storm - - * xdisp.c (init_iterator): Initialize it->start to position - before reseating (in case start position is invisible). - (init_to_row_start): Set it->start to row-start. - (redisplay_window): Accept optional_new_start if start position - is invisible (in which case IT_CHARPOS overshoots PT). - (display_line): Setup row->start from it->start (rather than - it->current which is wrong if first char on line is invisible). - When done, reseat it->start to it->current (= start of next row). - (expose_area): Fix exposure of text area when first char (e.g. TAB) - is only partially visible. - - * dispextern.h (struct it): New member start. - -2003-11-17 Stefan Monnier - - * alloc.c (make_float, Fcons): Clear the markbit at init time. - (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment - of block_index outside of the macro call. - (Fgarbage_collect): Remove null code. - - * m/amdx86-64.h: Don't redefine XPNTR. - - * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead - of VALMASK. - - * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put) - (sxhash_string, sxhash): Use INTMASK instead of VALMASK. - (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM. - - * lisp.h (VALMASK): Only define for non-union type. - (MARKBIT): Remove. - (ARRAY_MARK_FLAG): Use previous value of MARKBIT. - (XTYPE): Define unconditionally. - (XSETTYPE): Remove one more remnant. - (EQ): Define differently for the union and non-union cases. - (INTMASK): New bit mask. - (struct Lisp_Marker): Move down to prepare for upcoming patch. - (GC_EQ): Delegate to EQ. - - * coding.c (coding_restore_composition): Lisp_Object/int mixup. - -2003-11-17 Jan Dj,Ad(Brv - - * xterm.c (x_window_to_scroll_bar): Move check of display to - where window_id is compared. - -2003-11-17 Kim F. Storm - - * dispextern.h (struct it): New member first_vpos. - - * xdisp.c (start_display): Set it->first_vpos. - (try_window_id): Use first_vpos to start display in first _text_ - line if no reusable lines at start of window with header line. - -2003-11-16 Jan Dj,Ad(Brv - - * w32fns.c (XPutPixel): - * w32bdf.c (w32_init_bdf_font): - * sunfns.c (sel_read): - * process.c (Fmake_network_process): - * frame.c (store_frame_param): - * fontset.c (Fset_fontset_font): - * emacs.c (shut_down_emacs): - * ccl.c (ccl_driver): Remove period at end of error message. - - * config.in: Regenerate. - - * xfns.c (x_window_to_frame, x_any_window_to_frame) - (x_non_menubar_window_to_frame, x_menubar_window_to_frame) - (x_top_window_to_frame): Add Display* argument to xg_win_to_widget. - (x_create_bitmap_mask, xg_set_icon, create_frame_xic) - (xic_set_statusarea, x_window, gif_load): Formatting adjustments. - - * xterm.h (struct x_display_info): New field xg_cursor for GTK. - - * xterm.c: Add Display * to x_window_to_scroll_bar declaration. - (XTmouse_position, handle_one_xevent): Pass Display* to - x_window_to_scroll_bar. - (x_window_to_scroll_bar): Take a Display* argument. - Check that display for frame is equal to Display* argument. - (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from - x_display_info_for_display instead. Use Display in xev instead - of GDK_DISPLAY. - (x_dispatch_event): Call x_display_info_for_display. - (XTread_socket): Move GTK part out of loop. current_dpyinfo removed. - (x_connection_closed): Call xg_display_close for GTK. - (x_term_init): Call xg_display_open for additional displays. - Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor - for GTK. - - * xmenu.c (single_menu_item, mouse_position_for_popup) - (x_activate_menubar): Formatting adjustments. - - * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting - adjustments. - - * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open) - (xg_display_close, xg_create_default_cursor) - (xg_get_gdk_pixmap_and_mask): New functions for multiple display - handling. - (xg_left_ptr_cursor): Remove. - (xg_set_cursor): Change cursor to GdkCursor*. Do not create - cursor here. - (xg_win_to_widget): Take Display* argument, call - gdk_xid_table_lookup_for_display. - (xg_create_frame_widgets, xg_get_file_name, create_menus) - (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen. - (xg_create_widget, xg_create_scroll_bar): Use xg_cursor - in FRAME_X_DISPLAY_INFO. - (xg_get_scroll_id_for_window): Take Display* argument. - (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask. - (xg_initialize): Remove xg_left_ptr_cursor. - - * gtkutil.h (xg_get_scroll_id_for_window, xg_win_to_widget): Add - Display* argument. - (xg_display_open, xg_display_close, xg_create_default_cursor): Declare. - -2003-11-14 Jan Dj,Ad(Brv - - * xterm.c (x_detect_focus_change): Do not change focus frame for - Enter/LeaveNotify if the current focus frame has explicit focus. - -2003-11-14 Kim F. Storm - - * dispnew.c (update_text_area): Fix redisplay error when hscroll - is active and first glyph is only partially visible. - -2003-11-13 Kenichi Handa - - * xdisp.c (select_frame_for_redisplay): New function. - (redisplay_internal): Record also selected_frame for - unwind_redisplay. Call select_frame_for_redisplay before - redrawing each frame. - (unwind_redisplay): Argument changed to a cons. - -2003-11-12 Luc Teirlinck - - * fns.c (Fstring_to_multibyte): Doc fix. - -2003-11-11 Kenichi Handa - - * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts. - -2003-11-09 Jan Dj,Ad(Brv - - * xfns.c (x_window): Set XtNx and XtNy in shell widget for - program specified positions. - -2003-11-08 Jan Dj,Ad(Brv - - * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E. - -2003-11-08 Kenichi Handa - - * Makefile.in (lisp): Add kannada.el. - (shortlisp): Likewise. - -2003-11-07 Kenichi Handa - - * coding.c (coding_allocate_composition_data): - Reset coding->composing to COMPOSITION_NO. - (coding_restore_composition): Detect invalid composition data. - Give Fstring and Fvector a Lispy integer, not C int. - -2003-11-05 Stefan Monnier - - * floatfns.c (Flogb): Don't use VALMASK. - - * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove. - * m/ia64.h (VALBITS, XINT, XUINT): Remove. - - * lisp.h (XINT): Move the cast to clarify what is going on. - (GCTYPEMASK, XSETTYPE): Remove. - (XGCTYPE): Make it an alias of XTYPE. - -2003-11-03 Jan Dj,Ad(Brv - - * xterm.c (x_term_init): Fix formatting. - -2003-11-02 Jan Dj,Ad(Brv - - * gtkutil.h (xg_have_tear_offs): Declare. - (xg_keep_popup, xg_did_tearoff): Remove. - - * gtkutil.c: Remove variable xg_did_tearoff. - (xg_have_tear_offs): New function. - (tearoff_remove): Just decrease xg_detached_menus. - (tearoff_activate): Increase xg_detached_menus and call - tearoff_remove when tearoff is removed. - (xg_keep_popup): Remove function. - (create_menus): Give add_tearoff_p as argument to recursive - call to create_menus. - (xg_create_widget): Use variables instead of multiple - strcmp. Tell create_menus to create tear off only for - menu bar menus. - (xg_update_menubar): Change title for a detached menu also. - (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless - of deep_p. - (xg_initialize): Initialize xg_detached_menus, remove - initialization of xg_did_tearoff. - - * xmenu.c (set_frame_menubar): For GTK, set deep_p if - xg_have_tear_offs returns non-zero. - (create_and_show_popup_menu): Remove setting of xg_did_tearoff and - call to xg_keep_popup. - -2003-11-01 Andrew Choi - - * macterm.c (XTread_socket): Handle menubar selection and grow - window only for mouseDown events. - -2003-10-31 Jan Dj,Ad(Brv - - * xterm.c (x_term_init): For GTK part, increase x_initialized - to check for more than one display. Use error instead of return 0. - -2003-10-31 Andrew Choi - - * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando). - (copy_dysymtab): Call it. - -2003-10-31 Luc Teirlinck - - * eval.c (Fdefvaralias): Doc fix. - -2003-10-26 Luc Teirlinck - - * data.c (Fsetplist): Doc fix. - -2003-10-14 Lute Kamstra - - * window.c (Fset_window_fringes): Clarify docstring. - -2003-10-14 Kim F. Storm - - * window.c (Fset_window_margins): Simplify arg checking. - -2003-10-13 Richard M. Stallman - - * regex.c (MAX_BUF_SIZE): Reduce to 2**15. - (print_partial_compiled_pattern): Replace assert with a printout. - (skip_noops, mutually_exclusive_p): Change args, values to re_char *. - - * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full. - - * window.c (Fset_window_margins): Allow only integers as args. - (syms_of_window) : Doc fixes. - -2003-10-13 Lute Kamstra - - * window.c (Fset_window_fringes): Elaborate docstring. - -2003-10-12 Andrew Choi - - * macterm.c (XTread_socket): Call DragWindow only for mouseDown events. - - * s/darwin.h (GC_MARK_STACK): Define. - -2003-10-12 Jan Dj,Ad(Brv - - * window.c (shrink_windows): New function. - (size_window): Call shrink_windows to calculate window sizes when - shrinking frame with more than one window. - -2003-10-12 Kim F. Storm - - * xdisp.c (compute_fringe_widths): Doc fix. - -2003-10-08 Kenichi Handa - - * coding.c (Fcoding_system_p): Return t for auto-loading coding system. - -2003-10-07 Kenichi Handa - - * coding.c (Qcoding_system_define_form): New variable. - (syms_of_coding): Intern and staticpro it. - (Fcheck_coding_system): Try to autoload the definition of - CODING-SYSTEM. - -2003-10-05 Luc Teirlinck - - * fns.c (Frequire): Doc fix. - -2003-10-05 Jan Dj,Ad(Brv - - * xfns.c (Fx_send_client_event): New function as a base for - manipulating extended window manager hints. - (Fx_send_client_event): Remove unused variable s. - - * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move, - that function is removed. - - * xterm.c (x_set_offset): Use move_offset_left/top instead of - x/y_pixels_outer_diff. - (x_check_expected_move): Calculate move_offset_left/top. - - * xterm.h (struct x_output): New members: move_offset_top/left. - - * frame.c (x_set_frame_parameters): Remove x_fullscreen_move, - call x_set_offset directly. - - * frame.h (enum): FULLSCREEN_MOVE_WAIT removed. - - * frame.c (Fdelete_frame): Free decode_mode_spec_buffer. - - * xterm.c (x_delete_display): Free font names and font_encoder - in dpyinfo->font_table. - - * xfns.c (Fx_close_connection): Only call XFreeFont here. - Move xfree of font names to x_delete_display. - - * xterm.h (struct x_display_info): New member, wm_type. - (struct x_output): New members, expected_top/left and - check_expected_move. - - * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify - is received. - (handle_one_xevent): Rename x_check_expected_move from - x_check_fullscreen_move. - (x_set_offset): Only add WM decoration sizes to modified_top/left - for X_WMTYPE_A. Set check_expected_move when WM type is unknown. - (x_check_expected_move): Rename from x_check_fullscreen_move. - Removed fullscreen specific code. Use check_expected_move, - expected_left/top instead. Also, set wm_type. - (x_term_init): Initialize wm_type to unknown. - - * frame.c (x_fullscreen_move): Remove addition of WM decoration - sizes to move_x/y. - -2003-10-03 Kenichi Handa - - * macterm.c (x_load_font): Clear all members of FONTP before start - filling them. - -2003-10-02 Kenichi Handa - - * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL - before calling find_ccl_program_func. Call find_ccl_program_func - only when fontp->font_encoder is not NULL. - - * xterm.c (x_load_font): Clear all members of FONTP before start - filling them. - -2003-10-03 John Paul Wallington - - * keymap.c (map_keymap): Don't abort when binding is a vector. - -2003-10-02 Jason Rumney - - * makefile.w32-in (emacs.o, coding.o, bytecode.o): - Sync dependencies with Makefile.in. - (alloca.o): Remove. - - * w32fns.c (w32_load_system_font): Clear all members of FONTP before - filling them. - - * w32bdf.c (w32_load_bdf_font): Likewise. - -2003-09-30 Richard M. Stallman - - * term.c (set_tty_color_mode): Calculate current_mode_spec - regardless of value of VAL. - - * intervals.c (graft_intervals_into_buffer): - Set BUF_INTERVALS (buffer)->up_obj when appropriate. - Handle over_used when splitting UNDER. - -2003-09-30 YAMAMOTO Mitsuharu - - * regex.c (regex_compile): Free the stack when returning from function. - -2003-09-28 Kenichi Handa - - * fontset.c (Finternal_char_font): Change return value to - cons (FONT-NAME . GLYPH-CODE). - -2003-09-28 Eli Zaretskii - - * term.c (tty_setup_colors): Treat any negative argument as -1. - -2003-09-27 Gaute B Strokkenes (tiny change) - - * process.c (send_process): Delete unused temp_buf. - -2003-09-26 Dave Love - - * xterm.c (x_bitmap_mask): Declare. - -2003-09-25 Dave Love - - * Makefile.in (fns.o): Depend on md5.h. - -2003-09-25 Kim F. Storm - - * window.c (set_window_buffer): Fix redisplay problems when - switching between buffers with different display margin widths. - -2003-09-23 Kim F. Storm - - * process.c (set_socket_option): Fix :bindtodevice option. - (Fset_network_process_option): Update process contact list when - setting option succeeds. - (Fmake_network_process): Doc fix. - -2003-09-23 Dave Love - - * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros. - -2003-09-22 Eli Zaretskii - - * term.c (set_tty_color_mode): Use INTEGERP to test whether a - color mode is an integer number (it could be -1). - -2003-09-22 Richard M. Stallman - - * intervals.c (graft_intervals_into_buffer): Correct the main loop - in the case where OVER is longer than UNDER. - -2003-09-22 Masatake YAMATO - - * window.c (Fset_window_scroll_bars): Validate the value of - `vertical_type'. - -2003-09-21 Kim F. Storm - - * frame.c (Vdefault_frame_scroll_bars): New variable. - (x_set_vertical_scroll_bars): Use it instead of hardcoded values. - (syms_of_frame): DEFVAR_LISP it, and initialize according to - window-system default scroll bar position. - - * window.c (Fwindow_scroll_bars): Doc fix. - -2003-09-19 Jan Dj,Ad(Brv - - * xterm.c (x_set_offset): Take window manager decorations into account. - -2003-09-19 Richard M. Stallman - - * atimer.h: Don't include lisp.h. - (P_): Define it here (as well as elsewhere). - - * print.c (Fprin1_to_string): Move the PRINTPREPARE - later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks. - - * data.c (Fvariable_binding_locus): New function. - (syms_of_data): defsubr it. - (Flocal_variable_p): Delete duplicate call to indirect_variable. - -2003-09-18 Dave Love - - * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h. - - * process.c (Fnetwork_interface_info): Fix type error. - (Fnetwork_interface_list): Doc fix. - (read_process_output, read_process_output): Delete unused var. - -2003-09-17 Kim F. Storm - - * process.c (Fnetwork_interface_list, Fnetwork_interface_info): - Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns. - (Fnetwork_interface_info): Check that ifreq struct has required - fields before accessing them; this requires that those fields are - defined as macros, which may be too restrictive on some platforms, - but it is better than failing on other platforms. - (syms_of_process): Only defsubr above fns when included. - -2003-09-17 Dave Love - - * unexalpha.c: Don't include varargs.h. - -2003-09-17 Kim F. Storm - - * process.c (Fset_process_sentinel): Add sentinel to childp plist - for network process. - (socket_options): Add `:' prefix to option names. Add optbit field. - (set_socket_option): Remove no_error arg and special handling of s < 0. - Return 1< - - * Makefile.in: Depend on coding.h. - -2003-09-14 Kim F. Storm - - * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h. - (Fnetwork_interface_list, Fget_network_interface_info): New defuns. - (syms_of_process): Defsubr them. - - * config.in: Regenerate. - -2003-09-12 Stefan Monnier - - * m/sr2k.h (XMARKBIT, XUNMARK): Remove. - * m/news-r6.h (XUNMARK): Remove. - * m/mips.h (XUNMARK): Remove. - * m/mips-siemens.h (XUNMARK): Remove. - * m/iris4d.h (XUNMARK): Remove. - * m/hp800.h (XMARKBIT, XUNMARK): Remove. - -2003-09-11 Stefan Monnier - - * lisp.h (VALBITS): Don't remove 1 for the markbit. - (union Lisp_Object): Use unsigned int for types. Remove markbit. - (MARKBIT): Remove 1 from VALBITS so we still use same old val. - (XTYPE): Use unsigned right-shift. - (XMARKBIT, XMARK, XUNMARK): Remove. - - * alloc.c (init_intervals, init_symbol, init_marker): - Don't preallocate anything. - (Fgarbage_collect, mark_object): Ignore the markbit. - - * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit. - -2003-09-08 Lute Kamstra - - * xdisp.c (pint2hrstr): New function. - (decode_mode_spec): Add `%i' and `%I' specs. - * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs - for `mode-line-format'. - -2003-09-07 Andreas Schwab - - * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to - avoid warning. - -2003-09-07 Eli Zaretskii - - * editfns.c (region_limit): Support any non-zero value of BEGINNINGP. - -2003-09-03 Kim F. Storm - - * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01 - change (superseded by 2002-08-30 change); the default blink-off - cursor is now again "no cursor". - -2003-09-01 Jason Rumney - - * makefile.w32-in (alloca.o): Remove. - (coding.o): Depend on intervals.h - (emacs.o, bytecode.o): Depend on window.h - -2003-09-01 Dave Love - - * Makefile.in (alloca.o): Remove commands. - (coding.o): Depend on intervals.h composite.h window.h. - (emacs.o): Depend on window.h keyboard.h keymap.h. - (gtkutil.o): Depend on keyboard.h charset.h coding.h. - (bytecode.o): Depend on window.h. - -2003-08-31 Jason Rumney - - * w32term.c (w32_per_char_metric): Allow cached metrics to be - returned even when font_type is unknown. - - * xdisp.c (init_iterator): Remove old WINDOWSNT conditional. - -2003-08-30 Jan Dj,Ad(Brv - - * xterm.c (x_term_init): Initialize new fields in x_display_info. - - * xterm.h (struct x_display_info): Add red/green/blue_bits and - *_offset. - - * xfns.c (lookup_rgb_color): Use new fields in x_display_info to - calculate pixel value. - -2003-08-29 Gerd Moellmann - - * xdisp.c (redisplay_internal): Fix change of 2003-04-30. - Don't tell redisplay display is accurate when it's actually been - paused for pending input. - -2003-08-29 Richard M. Stallman - - * dispnew.c (adjust_glyph_matrix): Call window_box - whenever W is nonzero. - - * data.c (Fmake_variable_buffer_local, Fmake_local_variable) - (Fkill_local_variable, Fmake_variable_frame_local) - (Flocal_variable_p, Flocal_variable_if_set_p): - Use indirect_variable to trace thru variable aliases. - - * config.in: Updated. - - * callint.c (Fcall_interactively): Save and restore - Vthis_command, Vthis_original_command, real_this_command, - and current_kboard->Vlast_command. - - * abbrev.c (Fexpand_abbrev): Insert before deleting. - -2003-08-29 Gerd Moellmann - - * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially. - -2003-08-28 David Abrahams (tiny change) - - * coding.c (decode_coding_iso2022): Initialize local variable c2. - (decode_coding_sjis_big5): Likewise. - -2003-08-27 Jason Rumney - - * w32.c (sys_pipe): Protect against file descriptor overflow. - - * w32fns.c (syms_of_w32fns): Remove non-existent functions. - - * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment. - -2003-08-26 Terje Rosten - - * xfns.c (Vgtk_version_string): New variable. - (syms_of_xfns): DEFVAR_LISP it. Provide gtk. - -2003-08-24 Eli Zaretskii - - * term.c (term_init): Remove `const' from buffer_size's declaration. - - * Makefile.in (msdos.o): Depend on intervals.h. - - * msdos.c: Include intervals.h, since STRING_INTERVALS requires that. - -2003-08-21 Jan Dj,Ad(Brv - - * xterm.h (struct x_display_info): New fields: client_leader_window - and Xatom_wm_client_leader. - - * xterm.c (x_initialize): Move call to x_session_initialize to ... - (x_term_init): ... here. Initialize client_leader fields in dpyinfo. - - * xsmfns.c (create_client_leader_window): New function. - (x_session_initialize): Call create_client_leader_window, take - dpyinfo as argument. - - * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER. - - * Makefile.in (xsmfns.o): Add more depenedencies. - -2003-08-21 Dave Love - - * m/iris4d.h: Use _MIPS_SZLONG, not _LP64. - -2003-08-21 Kenichi Handa - - * term.c (term_init): Fix previous change; don't rely on the - length of `buffer' if TERMINFO is defined. - -2003-08-20 Dave Love - - * atimer.h: Include lisp.h. - - * lisp.h (EMACS_LISP_H): New. - (popup_activated_flag): Don't declare. - - * alloca.c: Some merging with gnulib. Change logic and doc - concerning (x)malloc/(x)free -- no longer Emacs-specific. - [DO_BLOCK_INPUT]: Don't include lisp.h. - (xmalloc, xfree): Declare. - (malloc): Don't declare. - - * Makefile.in (LWLIB_OPTIONS): Remove (unused). - (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on - atimer.h, blockinput.h. - - * alloc.c (lisp_align_malloc): Change type of `aligned'. - - * alloca.s: Remove. - -2003-08-19 Gerd Moellmann - - * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO, - use -lncurses. - - * term.c (term_init): Use a buffer of size 4096 for tgetent since - FreeBSD returns something longer than 2044. Abort if the end of - the buffer is overwritten. - -2003-08-19 Miles Bader - - * xterm.c (x_term_init): Correctly use result of Ffile_readable_p. - -2003-08-19 Gerd Moellmann - - * alloc.c (lisp_align_malloc): Check for memory full when - allocating ablocks, which also avoids freeing a pointer into an - ablocks structure. - - * puresize.h (BASE_PURESIZE): Increase to 1100000. - - * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally. - -2003-08-16 Richard M. Stallman - - * editfns.c (Fencode_time): Doc fix. - -2003-08-16 David Ponce - - * fileio.c (Fwrite_region): Fix conditional expression to issue - the right message. - -2003-08-16 Juri Linkov - - * syntax.c (Fforward_word): Argument changed to optional. - Set default value to 1. - -2003-08-15 Kenichi Handa - - * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not - what autoscaled. - (best_matching_font): Once we find a better scalable font, set - non_scalable_has_exact_height_p to 1. - (try_font_list): Call try_alternative_families to try any family - with the given registry. - -2003-08-09 Andreas Schwab - - * alloc.c (mark_object): Handle Lisp_Misc_Save_Value. - - * print.c (print_string): Fix printing of multibyte string with - nontrivial printcharfun. - -2003-07-31 Jan Dj,Ad(Brv - - * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2. - - * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds. - -2003-07-31 Kenichi Handa - - * process.c (read_process_output): Return the actually read bytes - instead of the result of decoding. - -2003-07-31 Kenichi Handa - - * xterm.h (struct x_bitmap_record): New member have_mask. - - * xfns.c (x_create_bitmap_from_data): Initialize have_mask member - to 0. - (x_create_bitmap_from_file): Likewise. - (x_destroy_bitmap): Check have_mask member before freeing a mask. - (x_destroy_all_bitmaps): Likewise. - (x_create_bitmap_mask): Set have_mask member to 1. - -2003-07-30 Richard M. Stallman - - * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change. - -2003-07-29 Jan Dj,Ad(Brv - - * gtkutil.c (xg_mark_data): Update calls to mark_object. - -2003-07-29 Richard M. Stallman - - * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy): - Conditionalize XIM code on HAVE_XIM. - - * fns.c (Fclear_string): New function. - (syms_of_fns): defsubr it. - -2003-07-28 KOBAYASHI Yasuhiro - - * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x. - -2003-07-22 Stefan Monnier - - * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it. - - * buffer.c (delete_all_overlays): New function. - * buffer.h (delete_all_overlays): Declare. - * coding.c (run_pre_post_conversion_on_str): - * print.c (temp_output_buffer_setup): - * fileio.c (Finsert_file_contents): - * minibuf.c (get_minibuffer): Use it. - -2003-07-22 Andrew Choi - - * unexmacosx.c (unexec_regions_sort_compare): - (unexec_regions_merge): New functions. Sort and merge unexec - regions before dumping them. - -2003-07-22 Dave Love - - * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h. - -2003-07-21 Stefan Monnier - - * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P) - (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than - MARKBIT as the gcmarkbit for strings. - -2003-07-21 Richard M. Stallman - - * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef. - - * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes. - (syms_of_fns): Corresponding change. - - * alloc.c (syms_of_alloc): Doc fixes. - -2003-07-20 Han Boetes (tiny change) - - * s/netbsd.h: Use -Wl syntax. - -2003-07-17 Richard M. Stallman - - * xterm.c (xim_initialize): Redo 6/24 change. - -2003-07-15 Stefan Monnier - - * buffer.c (copy_overlays): Use EMACS_INT for positions. - (Fswitch_to_buffer): Don't signal an error when switching to the same - buffer in a dedicated window. - - * alloc.c: Use bitmaps for cons, as was done for floats. - (init_float, init_cons): Let the normal code allocate the first block. - (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size. - (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK): - New macros. - (struct cons_block): Move conses to the beginning. Add gcmarkbits. - (Fcons): Use lisp_align_malloc and CONS_UNMARK. - (live_cons_p): Check the pointer is not past the `conses' array. - (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P. - (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK. - (survives_gc_p): Use CONS_MARKED_P and simplify. - (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free. - -2003-07-13 Paul Eggert - - GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it - puts it into BSS instead, at least on Solaris 8 and 9. - This is a valid optimization, and it may occur on other platforms, - so Emacs should not assume that initializing a static variable to - zero puts it into data. - * alloc.c (pure, staticvec): - Initialize these arrays to nonzero, so that they're not - put into BSS by that optimization. - -2003-07-13 Stefan Monnier - - * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users. - (lisp_align_malloc): Use posix_memalign is available. - (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization. - (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK - for consistency. Update users. - -2003-07-13 Richard M. Stallman - - * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them. - -2003-07-13 Terje Rosten - - * xterm.c (x_bitmap_icon, x_wm_set_icon_pixmap): Modify to add mask, - and use the Gtk+ function gtk_window_icon_from_file if available. - - * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to - handle mask of bitmaps. - (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the - mask property. - (xg_set_icon): New function, wrapper for gtk_window_icon_from_file. - - * xterm.h (xg_set_icon): New function. - -2003-07-12 Paul Eggert - - * unexelf.c (unexec): Consider a section to precede the .bss - section if its addresses overlap that of .bss. - -2003-07-12 Richard M. Stallman - - * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g. - - * config.in (HAVE_CRTIN): Add #undef. - (INLINE): Really inline only if OPTIMIZE is defined. - - * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1, - END_FILES_1. - (START_FILES_1, END_FILES_1): New macros (conditional). - (LD_SWITCH_SYSTEM_TEMACS): Define. - - * s/openbsd.h: Don't include bsd4-3.h. - (TERMINFO): Define. - (LIBS_TERMCAP): Define. - (LD_SWITCH_SYSTEM): Define (two definitions). - - * xfns.c: Include libpng/png.h instead of png.h. - -2003-07-11 Andreas Schwab - - * buffer.c (modify_overlay): Update prototype. - * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete): - Likewise. - -2003-07-09 Stefan Monnier - - * lisp.h (VALBITS): Define in terms of GCTYPEBITS. - (struct interval): Move to intervals.h. - (struct Lisp_Marker): Use EMACS_INT for position info. - (forward_point): Remove prototype of defunct function. - (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change) - (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all) - (syms_of_textprop, set_text_properties): Remove prototypes that are - already in intervals.h. - - * intervals.h (struct interval): Move from lisp.h. - Use EMACS_INT for position and size info. - - * coding.c: Include intervals.h for Fset_text_properties. - - * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for - position and length information. - -2003-07-09 Stefan Monnier - - * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for - position and length information. - -2003-07-09 Stefan Monnier - - Change overlays_after and overlays_before so the overlays themselves - are linked into lists, rather than using cons cells. After all each - Lisp_Misc already occupies 5 words, so we can add a `next' field to - Lisp_Overlay for free and save up one cons cell per overlay (not - to mention one indirection when traversing the list of overlay). - - * lisp.h (struct Lisp_Overlay): New field `next'. - - * buffer.h (struct buffer): Change overlays_before and overlays_after - from Lisp lists of overlays to pointers to overlays. - - * buffer.c (overlay_strings, recenter_overlay_lists): - Fix typo in eassert in last commit. - (unchain_overlay): New function. - (add_overlay_mod_hooklist): Use AREF. - (copy_overlays, reset_buffer, overlays_at, overlays_in) - (overlay_touches_p, overlay_strings, recenter_overlay_lists) - (fix_overlays_in_range, fix_overlays_before, Fmake_overlay) - (Fmove_overlay, Fdelete_overlay, Foverlay_lists) - (report_overlay_modification, evaporate_overlays, init_buffer_once): - Adjust to new type of overlays_(before|after). - - * alloc.c (mark_object): Mark the new `next' field of overlays. - (mark_buffer): Manually mark the overlays_(after|before) fields. - - * coding.c (run_pre_post_conversion_on_str): - * editfns.c (overlays_around): - * xdisp.c (load_overlay_strings): - * fileio.c (Finsert_file_contents): - * indent.c (current_column): - * insdel.c (signal_before_change, signal_after_change): - * intervals.c (set_point_both): - * print.c (temp_output_buffer_setup): Use new type for - overlays_(before|after). - -2003-07-08 Stefan Monnier - - * buffer.c (report_overlay_modification): Don't run hooks while - traversing the list of overlays. - - * buffer.h (struct buffer): Use an int for overlay_center. - (overlays_at, evaporate_overlays, recenter_overlay_lists) - (overlay_strings, fix_overlays_before): Use EMACS_INT for positions. - - * buffer.c (reset_buffer, recenter_overlay_lists) - (adjust_overlays_for_insert, adjust_overlays_for_delete) - (fix_overlays_in_range, Fmake_overlay, Fmove_overlay) - (evaporate_overlays, init_buffer_once): Update use of overlay_center. - (overlays_at, evaporate_overlays, recenter_overlay_lists) - (overlay_strings, fix_overlays_before): Use EMACS_INT for positions. - - * xdisp.c (fast_find_position): Remove unused var. - - * cmds.c (Qexpand_abbrev): New sym. - (syms_of_cmds): Initialize it. - (internal_self_insert): Use it to call expand-abbrev. - -2003-07-09 Kim F. Storm - - * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs - was configured with --without-xim. - (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM. - -2003-07-07 Richard M. Stallman - - * xdisp.c (reseat_1): Set it->area to TEXT_AREA. - - * alloc.c (Fgarbage_collect): Doc fix. - -2003-07-07 Nozomu Ando - - * buffer.c (Fkill_buffer): Clear charpos cache if necessary. - -2003-07-06 Stefan Monnier - - * minibuf.c (read_minibuf): UNGCPRO before returning. - (Ftry_completion, Fall_completions): Doc fix. - - * alloc.c (live_float_p): Check that p is not past the `floats' array, - now that `floats' is not the last element of the struct any more. - -2003-07-06 Jason Rumney - - * w32term.h (ClipboardSequence_Proc): New type. - - * w32fns.c (clipboard_sequence_fn): New variable. - (globals_of_w32fns): Initialize it. - - * w32select.c (last_clipboard_sequence_number): New variable. - (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence - number if possible. - -2003-07-06 Stefan Monnier - - * m/amdx86-64.h (MARKBIT): - * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare - MARKBIT and ARRAY_MARK_FLAG any more. - - * m/hp800.h (XSETMARKBIT): - * m/sr2k.h (XSETMARKBIT): - * lisp.h (XSETMARKBIT): Remove unused macro. - - * lisp.h (mark_object): Change prototype. - - * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object. - (last_marked): Change accordingly. - (mark_interval, mark_maybe_object, mark_maybe_pointer) - (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image) - (mark_buffer): Update calls to mark_object. - - * bytecode.c (mark_byte_stack): - * fns.c (sweep_weak_table): - * keyboard.c (mark_kboards): Update calls to mark_object. - -2003-07-06 Jason Rumney - - * alloc.c (struct ablock): Only include padding when there is some. - -2003-07-04 Stefan Monnier - - * alloc.c (ALIGN): Add casts to simplify usage. - (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE) - (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros. - (struct ablock, struct ablocks): New types. - (free_ablock): New global var. - (lisp_align_malloc, lisp_align_free): New functions. - (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES. - (struct float_block): Reorder and add gcmarkbits. - (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX) - (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros. - (init_float, make_float): Use lisp_align_malloc. - (free_float, live_float_p): Don't use `type' any more. - (make_float): Use FLOAT_UNMARK to access to mark bit. - (mark_maybe_object, mark_maybe_pointer, survives_gc_p): - Use FLOAT_MARKED_P to access the mark bit. - (pure_alloc): Simplify use of ALIGN. - (mark_object): Use FLOAT_MARK to access the mark bit. - (gc_sweep): Use new macros to access the float's mark bit. - (init_alloc_once): Init free_ablock. - - * lisp.h (struct Lisp_Float): Remove unused field `type'. - -2003-06-27 Stefan Monnier - - * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros. - (GC_STRING_BYTES): Don't mask markbit (it's only used on `size'). - (allocate_buffer): Move. - (string_bytes): Don't mask markbit of `size_byte'. - (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect) - (mark_object, mark_buffer, survives_gc_p, gc_sweep): - Use the `size' field of buffers (rather than the `name' field) for - the mark bit, as is done for all other vectorlike objects. - Use the new macros to access the mark bit of vectorlike objects. - -2003-06-26 Richard M. Stallman - - * puresize.h (BASE_PURESIZE): Increment base size. - - * xdisp.c (fast_find_position): Enable Gerd's new definition. - - * xterm.c (xim_initialize): Undo previous change. - -2003-06-26 Stefan Monnier - - * alloc.c (survives_gc_p): Simplify. - - * buffer.c (set_buffer_internal_1): Test CONSP for lists. - - * window.c (Fset_window_dedicated_p): Simplify. - (display_buffer_1): Don't raise the win from which minibuf was entered. - (temp_output_buffer_show): Don't assume BEG == 1. Simplify. - (Fminibuffer_selected_window): Simplify. - - * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker. - - * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker. - (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'. - - * insdel.c (check_markers, adjust_markers_for_delete) - (adjust_markers_for_insert, adjust_markers_for_replace) - (prepare_to_modify_buffer, RESTORE_VALUE): - * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos) - (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker) - (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers): - * alloc.c (Fmake_marker, free_marker, gc_sweep): - * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte): - * editfns.c (save_excursion_restore, transpose_markers): - * window.c (delete_window): - * xdisp.c (message_dolog): Update for new types. - -2003-06-26 Jan Dj,Ad(Brv - - * xfaces.c (set_font_frame_param): Set default_face_done_p to zero. - (realize_default_face): Use default_face_done_p for the force_p - argument to set_lface_from_font_name. Set default_face_done_p to one. - - * frame.c (make_frame): Initialize default_face_done_p. - - * frame.h (struct frame): Add default_face_done_p. - - * config.in: Add XRegisterIMInstantiateCallback_arg6 so it - will be defined. - -2003-06-25 Stefan Monnier - - * alloc.c (make_interval, Fmake_symbol, allocate_misc): - Initialize the new field `gcmarkbit'. - (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field. - (mark_interval_tree): Don't mark the tree separately from the nodes. - (UNMARK_BALANCE_INTERVALS): Don't unmark the tree. - (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect) - (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields. - - * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free) - (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd) - (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value) - (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay) - (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field. - -2003-06-24 Dave Love - - * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6. - - * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes - from gnulib. - -2003-06-21 Richard M. Stallman - - * fileio.c (Fwrite_region): Alternate messages - for append and partial write. - - * keyboard.c (read_key_sequence): When converting upcase fn key to - downcase, update fkey and keytran so `backspace' gets translated. - - * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode. - - * process.c (wait_reading_process_input): Don't signal SIGIO - in batch mode. - -2003-06-17 Kenichi Handa - - * Makefile.in (xselect.o): Don't depend on charset.h, coding.h, - composite.h. - - * xselect.c: Don't include charset.h, coding.h, composite.h. - (Qforeign_selection): New variable. - (syms_of_xselect): Intern and static it. - (selection_data_to_lisp_data): Return a unibyte string made from - data with `foreign-selection' text property. - -2003-06-15 Stefan Monnier - - * termhooks.h (EVENT_INIT): New macro. - - * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer. - - * alloc.c (mark_kboards): Move to keyboard.c. - - * keyboard.c (record_asynch_buffer_change, read_avail_input): - * xterm.c (x_dispatch_event): - * xmenu.c (find_and_call_menu_selection): - * xdisp.c (handle_tool_bar_click): - * w32menu.c (menubar_selection_callback): - * sysdep.c (kbd_input_ast, read_input_waiting): - * msdos.c (dos_rawgetc): - * macterm.c (mac_check_for_quit_char): - * macmenu.c (menubar_selection_callback): - * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized - data to kbd_buffer_store_event. - -2003-06-15 Kim F. Storm - - * xdisp.c (x_fix_overlapping_area): Always use area relative X - to fix redisplay problem with tall characters (such as ,AC(B). - -2003-06-13 Kai Gro,A_(Bjohann - - * fileio.c (Fcopy_file): Doc fix: copies file modes, too. - -2003-06-12 Kenichi Handa - - * fileio.c (Fwrite_region): Save and restore restriction. - -2003-06-12 Dave Love - - * alloca.c (alloca): Declare arg as size_t. - - * sysdep.c: Remove redundant include of unistd.h, stdlib.h. - Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED. - -2003-06-11 Dave Love - - * search.c (shrink_regexp_cache): Use xrealloc. - (syms_of_search): Use xmalloc. - -2003-06-10 Kim F. Storm - - * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change. - Adjust phys_cursor.x to be relative to window box, rather than - text area before checking -- to ensure cursor is redrawn when - exposing window. - Note: This also fixes a similar (older) bug if display margins - are present. - -2003-06-06 Kenichi Handa - - * coding.c (encoding_buffer_size): If coding->type is - coding_type_ccl, double magnification on CRLF encoding. - -2003-06-06 Jason Rumney - - * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant. - (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last. - - * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and - Mac too. - -2003-06-05 Dave Love - - * strftime.c: Merge changes from gnulib. - - * mktime.c (__mktime_internal): Merge changes from gnulib - involving year 69 and dst2. - - Changes to merge with gnulib version and be consistent with the - autoconf test: - - * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H. - Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION. - [HAVE_LOCALE_H]: Include locale.h. - (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale. - -2003-06-05 Kim F. Storm - - * window.c (coordinates_in_window): Convert X and Y to window - relative coordinates inside mode-line and header-line parts. - Convert X and Y to margin area relative coordinates inside left - and right display margin parts. - -2003-06-05 Jason Rumney - - * w32fns.c (add_system_logical_colors_to_map): New function. - (Fx_open_connection): Use it. - -2003-06-04 Stefan Monnier - - * process.c (allocate_pty): Revert part of the previous patch. - (Faccept_process_output): Simplify. - -2003-06-04 Jason Rumney - - * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT. - - * keyboard.c (Qmouse_wheel, mouse_wheel_syms) - (lispy_mouse_wheel_names): Remove. - (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms. - Always define drag_and_drop_syms. - - * macterm.c (XTread_socket): Map mouse wheel events to Emacs - WHEEL_EVENT events. - -2003-06-03 Stefan Monnier - - * xdisp.c (update_tool_bar): Add missing UNGCPRO. - - * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local. - -2003-06-03 Jan Dj,Ad(Brv - - * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL - menu item label. - -2003-06-03 Richard M. Stallman - - * window.c (Fwindow_edges): Doc fix. - (Fwindow_pixel_edges, Fwindow_inside_edges) - (Fwindow_inside_pixel_edges): New functions. - (syms_of_window): defsubr them. - - * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS) - (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros. - -2003-06-02 Stefan Monnier - - * dispnew.c (Fsit_for): Don't lie about the number of args. - -2003-06-02 Dave Love - - * callproc.c: Use HAVE_FCNTL_H, not USG5. - (syms_of_callproc) : Doc fix. - - * doc.c: Use HAVE_FCNTL_H, not USG5. - - * xfaces.c (font_rescale_ratio): Fix for K&R. - - * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION. - - * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H. - - * lread.c [HAVE_FCNTL_H]: Include fcntl.h. - - * gtkutil.c: Include keyboard.h, charset.h, coding.h. - (xg_create_frame_widgets): Use ENCODE_UTF_8. - - * xterm.c (Qutf_8): Move to coding.c - - * xmenu.c (ENCODE_MENU_STRING): New. - (list_of_panes, list_of_items, digest_single_submenu, xmenu_show): - Use it. - - * coding.h (ENCODE_UTF_8): New. - (Qutf_8): Declare. - - * coding.c (Qutf_8): New. - (syms_of_coding): Intern it. - - * fns.c: Doc fixes. - -2003-06-02 Kenichi Handa - - * buffer.c (Fset_buffer_multibyte): Fix previous change. - -2003-06-01 Stefan Monnier - - * lread.c (openp): Make sure STR is a string. - -2003-06-01 David Ponce - - * termhooks.h (enum event_kind): Add new WHEEL_EVENT event. - Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined. - - * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined. - (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise. - (discard_mouse_events): Discard WHEEL_EVENT events too. - (lispy_wheel_names, wheel_syms): New. - (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and - staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX defined. - (make_lispy_event): Add WHEEL_EVENT handler. - - * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT. - (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs - WHEEL_EVENT events. - -2003-05-31 John Paul Wallington - - * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and - timer are in lisp/emacs-lisp. - -2003-05-31 Kenichi Handa - - * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed - region when a buffer is changed to unibyte. - - * charset.h (VALID_LEADING_CODE_P): New macro. - (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly. - - * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags - is nonzero, accept multibyte form of eight-bit-control chars. - (decode_composition_emacs_mule): Likewise. - (decode_coding_emacs_mule): Likewise. - (encode_coding_emacs_mule): If coding->flags is nonzero, produce - multibyte form of eight-bit-control chars. - - * fileio.c (Qauto_save_coding, auto_save_coding): New variables. - (Finsert_file_contents): If coding-system-for-read is bound to - Qauto_save_coding, use the coding system emacs-mule with special - setting for recovering a file. - (choose_write_coding_system): On auto saving, use the coding - system emacs-mule with special setting for auto saving. - (syms_of_fileio) : Intern and staticpro it. - -2003-05-30 Kenichi Handa - - * coding.c (ccl_coding_driver): Set ccl->eight_bit_control - properly before calling ccl_driver. - - * ccl.h (struct ccl_program) : Comment fixed. - - * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is nonzero. - (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control. - (setup_ccl_program): Initialize ccl->eight_bit_control to zero. - -2003-05-29 Glenn Morris - - * xfaces.c (realize_default_face): Do not abort if lface is - non-existent - reverts change from 2003-05-19. - -2003-05-29 Kenichi Handa - - * coding.c (decode_coding_iso2022): Pay attention to the byte - sequence of CTEXT extended segment, and retain those bytes as is. - -2003-05-28 Kenichi Handa - - * coding.c (ENCODE_UNSAFE_CHARACTER): Adjust for the name change - of CODING_REPLACEMENT_CHARACTER. - (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set - CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and - check this flag on encoding. - (encode_coding_sjis_big5): - Check CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode. - (Fset_terminal_coding_system_internal): - Set CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode - instead of setting CODING_FLAG_ISO_SAFE flag in terminal_coding.flags. - - * coding.h (CODING_REPLACEMENT_CHARACTER): Rename from - CODING_INHIBIT_CHARACTER_SUBSTITUTION. - (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro. - -2003-05-28 Richard M. Stallman - - * print.c (syms_of_print) : Doc fix. - - * eval.c (unbind_to): Move init of this_binding to separate statement. - -2003-05-28 Kim F. Storm - - * xdisp.c (expose_window): Fix error in calculation of - window relative coordinates of area to redisplay. - -2003-05-27 Jason Rumney - - * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro. - -2003-05-27 David Ponce - - Handle W32 mouse wheel events as mouse click events, like in X. - - * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle - MOUSE_WHEEL_EVENT anymore. - - * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT. - Scrolling down/up the mouse wheel is respectively mapped to mouse - button 4 and 5. - (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs - MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as - WM_MOUSEWHEEL events. - -2003-05-27 Andreas Schwab - - * buffer.c (syms_of_buffer) : Doc fix. - - * xdisp.c (try_window_id): Avoid aborting if PT is inside a - partially visible line. - - * alloc.c (Fgarbage_collect): Fix last change. - -2003-05-26 John Paul Wallington - - * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default. - -2003-05-25 Stefan Monnier - - * window.c (Fset_window_buffer): Add type of `keep_margins'. - (Fset_window_fringes, Fset_window_scroll_bars): Declare before use. - - * window.h (window_box_text_cols): Declare. - - * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps) - (x_draw_vertical_border): Remove unused var `f'. - - * xfaces.c (build_scalable_font_name): Remove `unused var - pixel_size' warning. - - * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning. - - * unexelf.c (unexec): Remove `unused var n' warning. - - * strftime.c (my_strftime_localtime_r): Remove `defined but - unused' warning. - - * process.c (allocate_pty): Remove `unused var stb' and - `cp might be used uninitialized' warnings. - - * dispnew.c (mode_line_string): Remove unused var `f'. - - * coding.c (find_safe_codings): Remove unused var `i'. - - * bytecode.c (Fbyte_code): Remove `unused val' warning. - - * buffer.c (Fkill_buffer): Remove unused var `list'. - - * alloc.c (Fgarbage_collect): Remove `unused var tail' warning. - -2003-05-25 Jan Dj,Ad(Brv - - * frame.c (make_frame): Condition want_fullscreen with - HAVE_WINDOW_SYSTEM. - -2003-05-25 Juanma Barranquero - - * window.c (Fset_window_scroll_bars): Fix typo in argument name. - (Fwindow_scroll_bars): Fix typo in docstring. - -2003-05-24 Kim F. Storm - - The following changes serve several purposes: - - 1) Swap the position of fringes and display margins in windows, i.e. - the fringes are now displayed between the margins and the text area - (by default). - - 2) Allow fringe and scroll bar parameters to be set per-buffer and - per-window (like display margins). Such settings are now stored - in window configurations, preserved when frames are resized, and - copied when windows are split vertically or horizontally. - Several bugs related to display margins have been fixed. - - 3) Consistently use FRAME_FONT and FRAME_FONTSET macros. - - 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code - rather than FRAME_WIDTH (FRAME_FONT (f)). - - 5) Introduce a consistent naming of variables, members and macros - depending on whether their value is measured in pixels or in - canonical columns/lines. Pixel dimensions are named *_width and - *_height, while canonical columns/lines are named *_cols and - *_lines. Pixel positions are named *_x and *_y, while column/line - positions are named *_col and *_line. - - 6) Consolidate more of the X, W32, and MAC gui code by moving - common data into struct frame, and generalize it for the non-gui - case by using suitable defaults. - - 7) Cleanup and consolidate the macros controlling frame and window - layout into frame.h and window.h, and generalize the use of the - various window_box_* functions (enhanced to handle the new fringe - position and the per-window fringe and scroll bar settings). - - * frame.h (struct frame): Rename members height to text_lines, - width to text_cols, window_height to total_lines, window_width to - total_cols, new_height to new_text_lines, new_width to - new_text_cols. All uses changed. - (struct frame): New members which consolidate common members of - x_output, w32_output, and mac_output structures: left_pos, - top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff, - win_gravity, size_hint_flags, border_width, internal_border_width, - line_height, fringe_cols, left_fringe_width, right_fringe_width, - want_fullscreen. All uses changed. - (struct frame): New member column_width contaning the canonical - column width, analogue to line_height. All uses changed. - (struct frame): Rename members scroll_bar_pixel_width to - config_scroll_bar_width, and scroll_bar_cols to - config_scroll_bar_cols. All uses changed. - (struct frame): New member scroll_bar_actual_width which - consolidates and renames the vertical_scroll_bar_extra member of - x_output, w32_output, and mac_output structures. All uses changed. - (FRAME_PIXEL_HEIGHT): Rename from PIXEL_HEIGHT and moved - from x/w32/macterm.h files. All uses changed. Also change code - which referred to f->output_data...->pixel_height. - (FRAME_PIXEL_WIDTH): Rename from PIXEL_WIDTH and moved - from x/w32/macterm.h files. All uses changed. Also change code - which referred to f->output_data...->pixel_width. - (FRAME_LINES): Rename from FRAME_HEIGHT. All uses changed. - Also change code which referred to f->height. - (FRAME_COLS): Rename from FRAME_WIDTH. All uses changed. - Also change code which referred to f->width. - (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses - to update new_text_lines and new_text_cols members directly. - (FRAME_CONFIG_SCROLL_BAR_WIDTH): Rename from - FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed. - (FRAME_CONFIG_SCROLL_BAR_COLS): Rename from - FRAME_SCROLL_BAR_COLS. All uses changed. - (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS): - Rename from FRAME_LEFT_SCROLL_BAR_WIDTH and - FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed. - (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH) - (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros. - (FRAME_TOTAL_COLS): Rename from FRAME_WINDOW_WIDTH. - (SET_FRAME_COLS): Rename from SET_FRAME_WIDTH. - (FRAME_TOTAL_COLS_ARG): Rename from FRAME_WINDOW_WIDTH_ARG. - (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro. - (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro. - (FRAME_LINE_HEIGHT): Rename from CANON_Y_UNIT. - Unconditionally return line_height member (it now has proper value - also for non-window frames). - (FRAME_COLUMN_WIDTH): Rename from CANON_X_UNIT. Unconditionally - return new column_width member (rather than the default font width). - (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH) - (FRAME_RIGHT_FRINGE_WIDTH): Rename from FRAME_X_... and moved - from x/w32/macterm.h files. Unconditionally return corresponding - member of frame structure (they now have proper values also for - non-window frames). - (FRAME_TOTAL_FRINGE_WIDTH): Rename from FRAME_FRINGE_WIDTH. - Calculate return value from left and right widths. - (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return - internal_border_width member (has proper value for non-window frame). - (FRAME_PIXEL_X_FROM_CANON_X): Rename from PIXEL_X_FROM_CANON_X. - (FRAME_PIXEL_Y_FROM_CANON_Y): Rename from PIXEL_Y_FROM_CANON_Y. - (FRAME_CANON_X_FROM_PIXEL_X): Rename from CANON_X_FROM_PIXEL_X. - (FRAME_CANON_Y_FROM_PIXEL_Y): Rename from CANON_Y_FROM_PIXEL_Y. - (FRAME_LINE_TO_PIXEL_Y): Rename from CHAR_TO_PIXEL_ROW, - consolidated from xterm.h, macterm.h, and w32term.h. - (FRAME_COL_TO_PIXEL_X): Rename from CHAR_TO_PIXEL_COL, - consolidated from xterm.h, macterm.h, and w32term.h. - (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Rename from - CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h. - (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Rename from - CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h. - (FRAME_PIXEL_Y_TO_LINE): Rename from PIXEL_TO_CHAR_ROW - consolidated from x/mac/w32term.h. - (FRAME_PIXEL_X_TO_COL): Rename from PIXEL_TO_CHAR_COL - consolidated from x/mac/w32term.h. - (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Rename from - PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h. - (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Rename from - PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h. - - * window.h (struct window): Rename members left to left_col, - top to top_line, height to total_lines, width to total_cols, - left_margin_width to left_margin_cols, right_margin_width to - right_margin_cols, orig_height to orig_total_lines, orig_top to - orig_top_line. All uses changed. - (struct window): New members left_fringe_width, right_fringe_width, - fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type. - (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT): - New macros primarily used to simplify other macros. - (WINDOW_TOTAL_COLS): New macro. Change relevant code that - referred to XINT (w->width). - (WINDOW_TOTAL_LINES): New macro. Change relevant code that - referred to XINT (w->height). - (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that - referred to XINT (w->width) * canon_x_unit. - (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that - referred to XINT (w->height) * canon_y_unit. - (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that - referred to XINT (w->left). - (WINDOW_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_EDGE. Change - all uses and code that referred to XINT (w->left) + XINT (w->width). - (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that - referred to XINT (w->top). - (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that - referred to XINT (w->top) + XINT (w->height). - (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that - referred to XINT (w->left) * canon_x_unit. - (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that - referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit. - (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that - referred to XINT (w->top) * canon_y_unit. - (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that - referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit. - (WINDOW_LEFTMOST_P): New macro. - (WINDOW_BOX_LEFT_EDGE_COL): Rename from WINDOW_LEFT_MARGIN. - All uses changed. - (WINDOW_BOX_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_MARGIN. - All uses changed. - (WINDOW_BOX_LEFT_EDGE_X): Rename from - WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h. - Do not exclude left fringe width. - (WINDOW_BOX_RIGHT_EDGE_X): Rename from - WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h. - Do not exclude fringe widths. - (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH) - (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros. - Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH, - FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and - FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings. - (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro. - (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR) - (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT) - (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT) - (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS): - New macros. Change code which referenced corresponding - FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS, - FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT, - FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT, - FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to - allow per-window scroll-bar settings. - (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros. - (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that - referred to FRAME_LEFT_SCROLL_BAR_WIDTH. - (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code - that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and - FRAME_SCROLL_BAR_WIDTH. - (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH) - (WINDOW_SCROLL_BAR_AREA_X): New macros. - (WINDOW_HEADER_LINE_HEIGHT): Rename from - WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h. - (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Rename from - WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h. - (WINDOW_BOX_TEXT_HEIGHT): Rename from - WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h. - (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y) - (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y) - (WINDOW_TEXT_TO_FRAME_PIXEL_X): Move here from dispextern.h. - (WINDOW_LEFT_MARGIN_WIDTH): Rename from - WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h. - (WINDOW_RIGHT_MARGIN_WIDTH): Rename from - WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h. - (window_from_coordinates): Update prototype. - (Fset_window_buffer): Update EXFUN. - (set_window_buffer): Update prototype. - - * dispextern.h (struct glyph_matrix): Rename members window_left_x - to window_left_col, window_top_y to window_top_line. All uses - changed. - (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely - use FRAME_INTERNAL_BORDER_WIDTH macro instead as - internal_border_width is now set to 0 for non-window frames. - (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT) - (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT) - (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT) - (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X) - (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y) - (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y) - (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y) - (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH) - (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P): - Move to window.h and renamed [see window.h changes]. - (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH) - (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros. - (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P): - Use WINDOW_TOTAL_LINES. - (frame_update_line_height): Remove prototype. - - * buffer.h (struct buffer): Rename members measured in columns: - left_margin_width to left_margin_cols, right_margin_width to - right_margin_cols. All uses changed. - New members left_fringe_width, right_fringe_width, - fringes_outside_margins for per-buffer fringe settings. - New members scroll_bar_width and vertical_scroll_bar_type for - per-buffer scroll bar settings. - - * buffer.c (init_buffer_once): Set buffer_defaults and - buffer_local_flags for new buffer-local variables - left_fringe_width, right_fringe_width, fringes_outside_margins, - scroll_bar_width, and vertical_scroll_bar_type. - (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro - default-* variables for them. - - * dispnew.c: Make (many) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - (mode_line_string): No need to adjust width for mode lines, as it - is already adjusted by the caller. - (marginal_area_string): Handle fringes inside/outside margins. - - * frame.c: Make (many) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - (make_frame): Initialize left_fringe_width, right_fringe_width, - fringe_cols, scroll_bar_actual_width, border_width, - internal_border_width, column_width, line_height, x_pixels_diff, - y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity - members with values suitable for a non-window frames. - - * gtkutil.c: Make (many) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - - * indent.c: Make (few) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - - * keyboard.c: Make (many) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - (make_lispy_event): Use window positions returned from - window_from_coordinates when constructing the lisp event for - MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating - (incorrect) values locally. - (make_lispy_movement): Use window positions returned from - window_from_coordinates when constructing the lisp event, rather - than calculating (incorrect) values locally. - - * scroll.c: Make (some) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - - * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and - scroll-bars. - - * sysdep.c: Make (few) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - - * term.c: Make (some) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - - * widget.c: Make (few) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - - * window.c: Make (many) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - (make_window): Initialize new members - left_margin_cols, right_margin_cols, left_fringe_width, - right_fringe_width, fringes_outside_margins, scroll_bar_width, - and vertical_scroll_bar_type. - (coordinates_in_window): Adapt to new fringe/margin positions - and per-window fringes and scroll-bars. - Fix bug related to incorrectly adjusting coordinates by - frame's internal_border_width (the effect normally negible since - the internal_border_width is typically 0 or 1 pixel, but very - noticeable for an internal_border_width of e.g. 25 pixels). - Upon successful return (other than ON_NOTHING), the coordinates - are now always properly converted to window relative for the - given display element. - (window_from_coordinates): Add new parameters wx and wy to - return the window relative x and y position in the returned - window and part. A null arg means, don't return the position. - All callers changed. - (adjust_window_margins): New function which may reduce the width - of the display margins if a window's text area is too small after - resizing or splitting windows. - (size_window): Fix bug that did not account for display margin - widths when checking the minimum width of a window; use - adjust_window_margins. - (set_window_buffer): Call Fset_window_fringes and - Fset_window_scroll_bars to setup per-window elements. - Add new arg KEEP_MARGINS_P. Non-nil means to keep window's - existing display margin, fringe widths, and scroll bar settings - (e.g. after splitting a window or resizing the frame). - All callers changed. - (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed. - (Fsplit_window): Duplicate original window's display margin, - fringe, and scroll-bar settings; then call Fset_window_buffer with - KEEP_MARGINS non-nil. This fixes a bug which caused a split - window to only preserve the display margins in one of the windows. - When splitting horizontally, call adjust_window_margins on both - windows to ensure that the text area of the new windows is non too - narrow. This fixes a bug which could cause Emacs to trap if the - width of the split window was less than the width of the display - margins. - (window_box_text_cols): Rename from window_internal_width. - All uses changed. Adapt to per-window fringes and scroll bars. - Fix bug that caused vertical separator to be subtracted also on - window frames. Fix another bug that did not reduce the returned - value by the columns used for display margins. - (window_scroll_line_based): Fix bug related to scrolling too much - when display margins are present (implicitly fixed by the fix to - window_box_text_cols). - (scroll_left, scroll_right): Fix bug related to scrolling too far - by default when display margins are present (implicitly fixed by - the fix to window_box_text_cols). - (struct saved_window): Rename members left to left_col, top to - top_line, width to total_cols, height to total_lines, orig_top to - orig_top_line, orig_height to orig_total_lines. All uses changed. - New members left_margin_cols, right_margin_cols, - left_fringe_width, right_fringe_width, fringes_outside_margins, - scroll_bar_width, and vertical_scroll_bar_type for saving - per-window display elements. - (Fset_window_configuration): Restore display margins, fringes, - and scroll bar settings. This fixes a bug which caused display - margins to be discarded when saving and restoring a window - configuration. - (save_window_save): Save display margins, fringes, and scroll bar - settings. This fixes a bug which caused display margins to be - discarded when saving and restoring a window configuration. - (Fset_window_margins): Do nothing if display margins are not - really changed. Otherwise, call adjust_window_margins to ensure - the text area doesn't get too narrow. This fixes a bug which - could cause Emacs to trap if setting display margins wider than - the width of the window. - (Fset_window_fringes): New defun to allow user to specifically set - this window's fringe widths and position vs. display margins. - (Fwindow_fringes): New defun to return window's actual fringe settings. - (Fset_window_scroll_bars): New defun to allow user to specifically - set this window's scroll bar width and position. - (Fwindow_scroll_bars): New defun to return window's actual scroll - bar settings. - (compare_window_configurations): Also compare display margins, - fringes, and scroll bar settings. - (syms_of_window): Defsubr new defuns for fringe and scroll bars. - - * xdisp.c: Make (many) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - (window_box_width): Adapt to per-window fringes and scroll bars, - and new fringe vs. display margin position. Note that returned - value is no longer guaranteed to be a whole multiple of the frame - column width, since per-window fringes may now be any width. - (window_box_left_offset): New function like window_box_left, but - value is relative to left border of window (rather than frame). - (window_box_right_offset): New function like window_box_right, - but value is relative to left border of window. - (window_box_left): Adapt to per-window fringes and scroll bars, - and new fringe vs. display margin position. Simplify by using - WINDOW_LEFT_EDGE_X and window_box_left_offset. - (window_box): Allow null args for unnecessary return values; - change/simplify relevant callers. - (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars, - and new fringe vs. display margin position. - Use window_box_left_offset and window_box_right_offset - (get_glyph_string_clip_rect): Adapt to per-window fringes and - scroll bars, and new fringe vs. display margin position. - Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH. - (draw_fringe_bitmap): Rework to handle per-window fringes and new - fringe vs. display margin position. - (hscroll_window_tree): Use window_box_width instead of window_box. - (redisplay_window): Adapt to per-window scroll bars. - (draw_glyphs): Rework to handle per-window fringes and scroll - bars, and new fringe vs. display margin position. - Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left. - (x_clear_end_of_line): Adapt to per-window fringes and scroll - bars, and new fringe vs. display margin position. Fix bug which - increased total width of full_width rows by width of scroll bars - although window's total width already includes that. - (x_fix_overlapping_area): Simplify using window_box_left_offset. - (expose_area): Simplify using window_box_left_offset. - (x_draw_vertical_border): Handle per-window scroll bar settings, - mixing windows with left, right and no scroll bars. - - * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to - where it's used in x_list_fonts (for clarity). - (frame_update_line_height): Remove unused function; functionality - is now done directly when setting the default font in x_set_font. - - * xfns.c: Make (many) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - - * xmenu.c: Make (some) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - - * xterm.h (struct x_output): Move members left_pos, top_pos, - border_width, pixel_height, pixel_width, line_height, - internal_border_width, vertical_scroll_bar_extra, - left_fringe_width, right_fringe_width, fringe_cols, - fringes_extra, win_gravity, size_hint_flags, want_fullscreen, - x_pixels_diff, and y_pixels_diff to struct frame (frame.h). - (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h. - (FRAME_DEFAULT_FONT_WIDTH): Remove macro. - (PIXEL_WIDTH, PIXEL_HEIGHT) - (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH) - (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to - frame.h and renamed [see frame.h changes]. - (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH) - (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL) - (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h - and renamed [see frame.h changes]. - - * xterm.c: Make (several) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars. - (scroll_run): Adapt to new fringe position. - (glyph_rect): Use window coordinates returned from - window_from_coordinates rather than frame_to_window_pixel_xy. - (XTset_vertical_scroll_bar): Adapt to per-window fringes and - scroll-bars. - (handle_one_xevent): Simplify a USE_GTK conditional. - (x_clip_to_row): Remove superfluous whole_line_p arg and code - (fringes are now inside margins, i.e. always in the clipping area). - All callers changed. - (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT - directly, then call compute_fringe_widths. Don't call - frame_update_line_height. - - * w32term.h (struct w32_output): Move members left_pos, top_pos, - border_width, pixel_height, pixel_width, line_height, - internal_border_width, vertical_scroll_bar_extra, - left_fringe_width, right_fringe_width, fringe_cols, - fringes_extra, win_gravity, size_hint_flags, want_fullscreen, - x_pixels_diff, and y_pixels_diff to struct frame (frame.h). - (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h. - (FRAME_DEFAULT_FONT_WIDTH): Remove macro. - (PIXEL_WIDTH, PIXEL_HEIGHT) - (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH) - (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to - frame.h and renamed [see frame.h changes]. - (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH) - (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL) - (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h - and renamed [see frame.h changes]. - - * w32term.c: Make (several) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars. - (glyph_rect): Use window coordinates returned from - window_from_coordinates rather than frame_to_window_pixel_xy. - (XTset_vertical_scroll_bar): Adapt to per-window fringes and - scroll-bars. - (w32_clip_to_row): Remove superfluous whole_line_p arg and code - (fringes are now inside margins, i.e. always in the clipping area). - All callers changed. - (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT - directly, then call compute_fringe_widths. Don't call - frame_update_line_height. - - * w32console.c: Make (few) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - - * w32fns.c: Make (many) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - - * w32menu.c: Make (few) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - - * macterm.h (struct mac_output): Move members left_pos, top_pos, - border_width, pixel_height, pixel_width, line_height, - internal_border_width, vertical_scroll_bar_extra, - left_fringe_width, right_fringe_width, fringe_cols, - fringes_extra, win_gravity, size_hint_flags, want_fullscreen, - x_pixels_diff, y_pixels_diff to struct frame (frame.h). - (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h. - (FRAME_DEFAULT_FONT_WIDTH): Remove macro. - (PIXEL_WIDTH, PIXEL_HEIGHT) - (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH) - (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to - frame.h and renamed [see frame.h changes]. - (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH) - (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL) - (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h - and renamed [see frame.h changes]. - - * macterm.c: Make (several) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars. - (glyph_rect): Use window coordinates returned from - window_from_coordinates rather than frame_to_window_pixel_xy. - (XTset_vertical_scroll_bar): Adapt to per-window fringes and - scroll-bars. - (x_clip_to_row): Remove superfluous whole_line_p arg and code - (fringes are now inside margins, i.e. always in the clipping area). - All callers changed. - (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT - directly, then call compute_fringe_widths. Don't call - frame_update_line_height. - - * macfns.c: Make (several) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0. - - * macmenu.c: Make (few) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - - * msdos.h (struct x_output): Remove members left_pos, top_pos, - and line_height, and use corresponding new members in struct - frame. All uses changed. - (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros; - superseeded by corresponding macros in frame.h. - - * msdos.c: Make (several) trivial substitutions for renamed and - new macros in dispextern.h, frame.h and window.h. - (IT_note_mouse_highlight): Use updated window coordinates returned - by window_from_coordinates, rather than adjusting them locally. - (internal_terminal_init): No need to initialize line_height here; - it now defaults to 1. - -2003-05-24 Stefan Monnier - - * keyboard.c (read_key_sequence): Adjust fkey and keytran when - dropping `down' events. - -2003-05-24 Andreas Schwab - - * coding.c (find_safe_codings): Fix last change. - -2003-05-24 Istvan Marko (tiny change) - - * xfns.c (x_window): Fix typo from 2003-05-21 change. - -2003-05-23 Stefan Monnier - - * xdisp.c (display_mode_element): Increase max depth. - Simplify the error handling code. Use a different error string - for the case where we hit the depth limit. - - * lisp.h (Vfundamental_mode_abbrev_table): Don't declare. - - * buffer.c (reset_buffer_local_variables): Remove redundant setting. - -2003-05-21 Stefan Monnier - - * intervals.c (get_local_map): Don't get char-property of previous - point any more: get_pos_property already does it and better. - -2003-05-21 Dave Love - - [Merged from unicode branch.] - - * xfns.c (x_window, x_window): Use use_xim. - - * xterm.c (use_xim): Initialize. - (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim. - (x_term_init): Maybe set use_xim. - - * xterm.h (use_xim) [HAVE_X_I18N]: Declare. - -2003-05-21 Jason Rumney - - * unexw32.c (_start): Remove _fmode initialization. - - * emacs.c (main) [WINDOWSNT]: Move it here. - -2003-05-20 Dave Love - - * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional. - -2003-05-19 Richard M. Stallman - - * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified - as value for QCfont attribute. - (realize_default_face): lface should already exist; crash if not. - Specify 0 for FORCE_P when calling set_lface_from_font_name. - - * frame.c (Fignore_event): Doc fix. - -2003-05-19 Kenichi Handa - - * coding.c (decode_coding_string): Handle post-read-conversion - even if the coding doesn't require decoding. - -2003-05-18 Richard M. Stallman - - * callproc.c (Fcall_process_region): Doc fix. - -2003-05-17 Stefan Monnier - - * lread.c (Fload): Print a message if package is obsolete. - - * window.c (Fselect_window): Add optional `norecord' arg. - (select_window_1): Fold into Fselect_window. - (select_window_norecord): New function. - (temp_output_buffer_show): Use it. Preserve current buffer. - - * window.h (Fselect_window): Update declaration. - - * window.c (delete_window, Fother_window, Fset_window_configuration): - * minibuf.c (read_minibuf): - * macterm.c (x_new_focus_frame): - * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame): - * callint.c (Fcall_interactively): - * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window. - - * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window. - -2003-05-17 David Kastrup - - * process.c (read_process_output): Back out change from 2003-03-09. - -2003-05-17 Stefan Monnier - - * editfns.c (get_pos_property): Don't assume that `object' = nil. - - * textprop.c (text_property_stickiness): New arg `buffer'. - - * intervals.h (text_property_stickiness): New arg `buffer'. - (get_pos_property): Declare. - - * intervals.c (get_local_map): Use get_pos_property, to obey - stickiness and empty overlays. - (create_root_interval, graft_intervals_into_buffer): Use BEG. - (merge_properties, intervals_equal, merge_properties_sticky): - Use XCAR, XCDR. - (adjust_for_invis_intang): Pass new arg to text_property_stickiness. - -2003-05-17 Richard M. Stallman - - * minibuf.c (read_minibuf): If buffer is empty, record the default - in the history. - (Fminibuffer_complete_word): When deleting the overlap, take account - of its real position. - - * fns.c (map_char_table): Fix previous change. - - * syntax.c (find_defun_start): - When open_paren_in_column_0_is_defun_start, - return beginning of buffer. - - * lisp.h (map_char_table): Declare added arg. - - * fns.c (map_char_table): New arg TABLE gets the master table. - All calls changed. - Process default and inheritance, resorting to Faref if necessary. - - * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap) - (Faccessible_keymaps): Pass new arg to map_char_table. - - * fontset.c (Ffontset_info): Pass new arg to map_char_table. - - * casetab.c (set_case_table): Pass new arg to map_char_table. - - * data.c (let_shadows_buffer_binding_p): Make target of p volatile. - - * lisp.h (specbinding_func): New typedef. - (struct specbinding): Use specbinding_func, to put the `volatile' - in the right place. - - * alloc.c (Fgarbage_collect): Cast pointers into specpdl - to avoid GCC warning. - -2003-05-16 Ralph Schleicher - - * fileio.c (Fdelete_file): Handle symlinks pointing to directories. - -2003-05-15 Stefan Monnier - - * keyboard.c (apply_modifiers): Don't fill the other cache. - -2003-05-14 Stefan Monnier - - * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users. - - * window.h (Qwindowp, Qwindow_live_p, Vwindow_list) - (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer) - (Fget_buffer_window, Fsave_window_excursion, Fsplit_window) - (Fset_window_configuration, Fcurrent_window_configuration) - (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at) - (Fpos_visible_in_window_p, mark_window_cursors_off) - (window_internal_height, window_internal_width, Frecenter) - (Fscroll_other_window, Fset_window_start, temp_output_buffer_show) - (replace_buffer_in_all_windows, init_window_once, init_window) - (syms_of_window, keys_of_window): Move from lisp.h. - * lisp.h: Move window.c declarations to window.h. - - * bytecode.c: Include window.h. - * emacs.c: Include window.h. - - * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key. - (keyremap): Add `parent' field. - (keyremap_step): Use it. Remove `parent' argument. - (read_key_sequence): Setup and use the new `parent' field. - -2003-05-11 Stefan Monnier - - * keyboard.c (adjust_point_for_property): Ensure termination. - -2003-05-10 Stefan Monnier - - * keyboard.c (follow_key): Remove dead variable `did_meta'. - (access_keymap_keyremap, keyremap_step): New funs, extracted from the - duplicated handling of function-key-map and key-translation-map - in read_key_sequence. - (read_key_sequence): Use them. - - * keyboard.c (adjust_point_for_property): Try harder to move point - to the non-sticky end of an invisible property. - - * xdisp.c (single_display_prop_intangible_p): Make `space' display - property intangible as well. - -2003-05-10 Andreas Schwab - - * xmenu.c (single_menu_item): Change last parameter to void* to - avoid warning. - -2003-05-09 Richard M. Stallman - - * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc. - Bind Qinhibit_modification_hooks to t so there will be no GC. - Rename local `tem' to `save_deactivate_mark'. - - * eval.c (specpdl_ptr): Declare volatile. - (unbind_to): Copy the whole binding and decrement specpdl_ptr - before doing the work of unbinding it. - - * lisp.h (struct specbinding): Declare elements volatile. - (specpdl_ptr): Declare volatile. - - * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling. - - * alloca.c: Test DO_BLOCK_INPUT rather than `emacs' - for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h. - -2003-05-08 Dave Love - - * coding.c (Vlast_coding_system_used): Doc fix. - -2003-05-07 Jason Rumney - - * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even - when system does not support them. - -2003-05-05 Stefan Monnier - - * fileio.c (Qwrite_region_annotate_functions): New var. - (build_annotations): Use it to process the global part of the hook. - (syms_of_fileio): Init and staticpro it. - - * keyboard.c (safe_run_hooks_error): Display a message instead of - silently ignoring the error. - -2003-05-03 Stefan Monnier - - * keyboard.c (input_available_signal): Mark static. - (menu_bar_items): Use map_keymap. - (menu_bar_one_keymap): Remove. - (menu_bar_item): Adjust arglist (for use in map_keymap). - Properly hide a second binding when not both are keymaps. - - * xmenu.c (struct skp): New struct, to pass args through map_keymap. - (single_keymap_panes): Use it and map_keymap. - (single_menu_item): Use skp as well. - - * keymap.h (map_keymap_function_t): New type. - (map_keymap): Declare. - - * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap) - (map_keymap_call, Fmap_keymap): New functions. - (syms_of_keymap): Defsubr map-keymap. - -2003-05-02 Jan Dj,Ad(Brv - - * gtkutil.c (create_dialog, make_widget_for_menu_item) - (make_menu_item, create_menus, xg_update_menu_item): Don't call - ..._with_mnemonic functions for menu items. - -2003-05-01 Kenichi Handa - - * coding.c (coding_system_accept_latin_extra_p): Delete this - function. - (find_safe_codings): Pay attention to - the property tranlsation-table-for-encode of each codings. - (syms_of_coding): Give Qtranslation_table the extra slot number 2. - -2003-05-01 Stefan Monnier - - * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil. - -2003-04-30 Stefan Monnier - - * eval.c (unbind_to): Don't handle symbol = Qnil any more. - - * lisp.h (CHECK): Wrap args in parenthesis. - (specbind): Fix doc: symbol = Qnil is not supported any more. - - * bytecode.c (Fbyte_code) : - Use Fprogn rather than 0 and Qnil. - - * keyboard.c (parse_modifiers_uncached): Parse `down', `drag', - `double', and `triple' modifiers as well. - -2003-04-30 Richard M. Stallman - - * keyboard.c (echo_char): Don't clear out a dash that follows a space. - - * alloc.c (abort_on_gc): New variable. - (Fgarbage_collect): Abort if abort_on_gc is set. - - * lisp.h (abort_on_gc): Add decl. - - * eval.c (Fsignal): Clear abort_on_gc. - - * editfns.c (Fformat): Set abort_on_gc during first scan of format. - Reinit FORMAT_START and END before second scan. - - * xdisp.c (move_it_vertically_backward): Do the final big else - even if nlines is 0. - - * xdisp.c (redisplay_internal): Finish the per-frame loop - even if redisplay is suspended by input. - -2003-04-24 Andrew Choi - - * macterm.c (x_list_fonts): Return all fonts that match if - maxnames = -1. - -2003-04-25 Kenichi Handa - - * syntax.c (skip_chars): Fix previous change. - -2003-04-24 Kenichi Handa - - * syntax.c (skip_chars): Make the code faster by using the common - technique of *p, *stop, and *endp. - -2003-04-23 Jan Dj,Ad(Brv - - * xdisp.c (update_tool_bar): BLOCK_INPUT before calling - tool_bar_items so GTK tool bar expose callback does not access items - being updated. - -2003-04-19 Stefan Monnier - - * eval.c (Fapply): Undo last change and add a comment about why. - -2003-04-18 Miles Bader - - * data.c (Faset): Calculate nbytes earlier, to satisfy the now - pickier PARSE_MULTIBYTE_SEQ. - -2003-04-17 Stefan Monnier - - * eval.c (For, Fand, Fprogn, un_autoload, do_autoload): - Use XCDR, XCAR, CONSP. - (Fdefmacro): Fix docstring. Use XCAR, XCDR. - (Fapply): Remove unnecessary GCPRO. - - * doc.c (Fsubstitute_command_keys): Remove spurious casts. - - * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used. - - * buffer.h: Don't hardcode BEG==1. - - * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR. - -2003-04-16 Richard M. Stallman - - * xdisp.c (try_window, try_window_reusing_current_matrix): - When at end of window, set window_end_pos to Z-ZV. - - * buffer.c (Foverlay_recenter): Doc fix. - -2003-04-14 Stefan Monnier - - * dispnew.c (Fsit_For): Support XEmacs-style arg list. - -2003-04-14 Andrew Choi - - * macterm.c (mac_check_for_quit_char): Don't check more often than - once a second. - -2003-04-11 Stefan Monnier - - * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT - specially, so that they can't hide an implicit switch-frame event. - (make_lispy_event): Handle SELECT_WINDOW_EVENT. - (head_table): Use switch-frame as event_kind for select-window. - (keys_of_keyboard): Don't bind [select-window] in special-event-map. - - * editfns.c (Fformat): Lisp_Object/int mixup. - (format2): Remove unused var numargs. - -2003-04-11 Kenichi Handa - - * fileio.c (Vafter_insert_file_adjust_coding_function): Delete. - (Qafter_insert_file_set_coding): New variable. - (syms_of_fileio): Initialize and staticpro it. Delete declaration - for after-insert-file-adjust-coding-function. - (Finsert_file_contents): Call Qafter_insert_file_set_coding - instead of Vafter_insert_file_adjust_coding_function. - -2003-04-11 Kenichi Handa - - * lisp.h (temp_echo_area_glyphs): Adjust prototype. - - * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp - string. Callers changed. - -2003-04-10 Kenichi Handa - - * fileio.c (Vafter_insert_file_adjust_coding_function): New variable. - (syms_of_fileio): Declare it as a lisp variable. - (Finsert_file_contents): - Call Vafter_insert_file_adjust_coding_function before calling - decode-format. - -2003-04-09 Jan Dj,Ad(Brv - - * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to - get GtkAdjustment as widget now is a GtkRange. - - * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on - GtkRange to avoid memory leak. - -2003-04-09 Kenichi Handa - - * xfaces.c (Vface_font_rescale_alist): New variable. - (struct font_name): New member rescale_ratio. - (font_rescale_ratio): New function. - (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio. - (better_font_p): On comparing point sized, pay attention to - recale_ratio member of fonts. - (build_scalable_font_name): Reflect font->rescale_ratio in the - font name. - (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable. - - * lread.c (read1): Before calling index, check if the 2nd - arguemnt is in ASCII range. - -2003-04-08 Richard M. Stallman - - * fileio.c (Ffile_symlink_p): Doc fix. - - * editfns.c (Fformat): Translate positions of text properties - in the format string to apply them to the result. - - * fileio.c (Finsert_file_contents): Doc fix. - (syms_of_fileio) : Doc fix. - -2003-04-08 Ivan Zakharyaschev (tiny change) - - * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN. - -2003-04-08 Steven Tamm - - * mac.c (init_mac_osx_environment): Switch libexec and bin so - that self-contained application finds libexec files. - -2003-04-08 Kenichi Handa - - * coding.c (code_convert_region_unwind): - Set Vlast_coding_system_used to the argument. - (code_convert_region): If post-read-conversion function changed - the value of last-coding-sytem, keep the new value in - coding->symbol so that it won't be overridden. - (run_pre_post_conversion_on_str): Likewise. - (coding_system_accept_latin_extra_p): New function. - (find_safe_codings): Pay attention to characters registered in - latin-extra-code-table. - -2003-04-07 Thien-Thi Nguyen - - * Makefile.in (md5.o): Add missing dependency info. - -2003-04-06 Richard M. Stallman - - * xselect.c (x_handle_selection_request): Move UNGCPRO to very end. - - * marker.c (verify_bytepos): New function. - - * intervals.c (set_intervals_multibyte_1): When becoming - multibyte, adjust right and left child sizes to a whole set of - characters. If an interval gets zero total-length, delete it. - If an interval consists of just its children, delete one of them. - - * intervals.h (CHECK_TOTAL_LENGTH): New macro. - * intervals.c: Add many calls to CHECK_TOTAL_LENGTH. - - * alloc.c (VALIDATE_LISP_STORAGE): Macro deleted. - All calls deleted. - (lisp_malloc): Do the work here directly. - -2003-04-06 Gareth Jones (tiny change) - - * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub - char tables. - -2003-04-04 Kenichi Handa - - * editfns.c (Fformat): Use a copy of FORMAT string so that we can - destructively change "%S" to "%s". - -2003-04-03 Miles Bader - - * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is - always set. - -2003-04-01 Dave Love - - * xfns.c (xpm_lookup_color): Grok "opaque". - -2003-03-31 Andrew Choi - - * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report - parent window ID. - - * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols. - - * macterm.h (struct mac_output): Define x_pixels_diff and - y_pixels_diff. - -2003-03-31 Juanma Barranquero - - * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on - blockinput.h and files included from it. - -2003-03-31 Kim F. Storm - - The following changes consolidates the common code related to - frame-parameter handling from the xfns.c, w32fns.c, and macfns.c - files into frame.c. - - * frame.c: Include blockinput.h. - (Vx_resource_name, Vx_resource_class, Qx_frame_parameter) - (Qx_resource_name, Qface_set_after_frame_default): Define vars here. - (Qauto_raise, Qauto_lower, ...): Define all frame parameter - related vars here. - (struct frame_parm_table, frame_parms): New table for describing - frame parameters and their associated Q-variable. - The order of the parameters corresponds to the sequence of the - frame_parm_handlers table in redisplay_interface. - (x_fullscreen_move, x_set_frame_parameters) - (x_report_frame_params, x_set_fullscreen, x_set_line_spacing) - (x_set_screen_gamma, x_set_font, x_set_fringe_width) - (x_set_border_width, x_set_internal_border_width, x_set_visibility) - (x_set_autoraise, x_set_autolower, x_set_unsplittable) - (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type): - Generic functions for processing of frame parameters. - (validate_x_resource_name, xrdb_get_resource, Fx_get_resource) - (display_x_get_resource, x_get_resource_string): Functions for - generic access to X resources. - (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg) - (x_default_parameter, Fx_parse_geometry): Functions for generic - access to frame parameters. - (x_figure_window_size): Generic calculation of frame size. - Fixed to add space needed for tool bar. Also setup size_hint_flags. - (syms_of_frame): Intern and staticpro frame parameter variables. - Defvar_lisp Vx_resource_class and Vx_resource_name here. - Defsubr Sx_get_resource and Sx_parse_geometry. - - * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame - parameter related vars defined in frame.c. - (EMACS_CLASS): Define here. - (enum FULLSCREEN_*): Define here. - (x_set_scroll_bar_default_width, x_wm_set_icon_position) - (x_set_offset, x_new_font, x_new_fontset): Add prototypes. - (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params) - (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font) - (x_set_fringe_width, x_set_border_width, x_set_internal_border_width) - (x_set_visibility, x_set_autoraise, x_set_autolower) - (x_set_unsplittable, x_set_vertical_scroll_bars) - (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name) - (x_figure_window_size): Add prototypes. - - * dispextern.h (frame_parm_handler): New typedef. - (struct redisplay_interface): New member frame_parm_handlers. - (enum resource_types): Move declaration here. - (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg) - (x_default_parameter): Add prototypes. - - * window.c: Remove extern decl for frame parameter vars. - (change_window_heights): New generic function; - replaces x_change_window_heights. All users changed. - - * window.h (change_window_heights): Add prototype. - - * xfaces.c: Remove extern decl for frame parameter vars. - - * xterm.h (EMACS_CLASS): Remove. Use generic define. - (struct w32_display_info): Fix type of xrdb member. - (enum FULLSCREEN_*): Remove. - Remove prototypes for generic functions (in frame.h). - - * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame - parameters now defined in frame.h and frame.c. - (Vx_resource_name): Remove. Use generic var. - (enum x_frame_parms): Remove (bogus, unused enum). - (check_x_display_info): Make non-static (for frame.c). - (struct x_frame_parm_table, x_frame_parms): Remove. - (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params) - (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font) - (x_set_border_width, x_set_internal_border_width, x_set_visibility) - (x_change_window_heights, x_set_autoraise, x_set_autolower) - (x_set_vertical_scroll_bars, x_set_scroll_bar_width) - (validate_x_resource_name, Fx_get_resource, x_get_resource_string) - (x_default_parameter, Fx_parse_geometry, x_figure_window_size): - Remove. Use generic functions instead. - (enum resource_types): Remove. - (x_set_scroll_bar_default_width): New global function (for frame.c). - (Fx_create_frame): Depend on x_figure_window_size to add space for - toolbar and setup size_hint_flags. - (x_frame_parm_handlers): New table for redisplay_interface. - (syms_of_xfns): Don't intern/staticpro removed vars. - - * xterm.c: Remove unnecessary extern declarations. - (x_fullscreen_adjust): Remove. Use generic instead. - (x_redisplay_interface): Add x_frame_parm_handlers member. - - * w32gui.h (XrmDatabase): New (dummy) typedef. - - * w32term.h (EMACS_CLASS): Remove. Use generic define. - (struct w32_display_info): Fix type of xrdb member. - (enum FULLSCREEN_*): Remove. - (x_fullscreen_adjust): Remove prototype. - - * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame - parameters now defined in frame.h and frame.c. - (Vx_resource_name): Remove. Use generic var. - (enum x_frame_parms): Remove (bogus, unused enum). - (check_x_display_info): Make non-static (for frame.c). - (struct x_frame_parm_table, x_frame_parms): Remove. - (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params) - (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font) - (x_set_border_width, x_set_internal_border_width, x_set_visibility) - (x_change_window_heights, x_set_autoraise, x_set_autolower) - (x_set_vertical_scroll_bars, x_set_scroll_bar_width) - (validate_x_resource_name, Fx_get_resource, x_get_resource_string) - (x_default_parameter, Fx_parse_geometry, x_figure_window_size): - Remove. Use generic functions instead. - (enum resource_types): Remove. - (x_set_scroll_bar_default_width): New global function (for frame.c). - (Fx_create_frame): Depend on x_figure_window_size to add space for - toolbar and setup size_hint_flags. - (w32_frame_parm_handlers): New table for redisplay_interface. - (syms_of_w32fns): Don't intern/staticpro removed vars. - - * w32term.c: Remove unnecessary extern declarations. - (x_fullscreen_adjust): Remove. Use generic instead. - (x_redisplay_interface): Add w32_frame_parm_handlers member. - - * w32reg.c (x_get_string_resource): Use XrmDatabase. - - * macgui.h (XrmDatabase): New (dummy) typedef. - - * macterm.h (EMACS_CLASS): Remove. - (struct mac_display_info): Add xrdb member. - (struct mac_output): Add want_fullscreen member. - - * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame - parameters now defined in frame.h and frame.c. - (Vx_resource_name): Remove. Use generic var. - (check_x_display_info): Make non-static (for frame.c). - (struct x_frame_parm_table, x_frame_parms): Remove. - (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params) - (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font) - (x_set_border_width, x_set_internal_border_width, x_set_visibility) - (x_change_window_heights, x_set_autoraise, x_set_autolower) - (x_set_vertical_scroll_bars, x_set_scroll_bar_width) - (validate_x_resource_name, Fx_get_resource, x_get_resource_string) - (x_default_parameter, Fx_parse_geometry, x_figure_window_size): - Remove. Use generic functions instead. - (enum resource_types): Remove. - (x_set_scroll_bar_default_width): New global function (for frame.c). - (mac_frame_parm_handlers): New table for redisplay_interface. - (syms_of_macfns): Don't intern/staticpro removed vars. - - * macterm.c: Remove unnecessary extern declarations. - (x_redisplay_interface): Add mac_frame_parm_handlers member. - - * Makefile.in (frame.o): Add dependency on blockinput.h and files - included from it (atimer.h and systime.h). - -2003-03-30 Andreas Schwab - - * xdisp.c (x_insert_glyphs): Fix swapped width and height - parameters for shift_glyphs_for_insert. - - * macterm.c (x_redisplay_interface): Add missing entry for - draw_vertical_window_border. - -2003-03-29 Kai Gro,A_(Bjohann - - * fileio.c (Fexpand_file_name): In the no-handler case, after - expanding, look again for a handler and invoke it. This is needed - for filenames like "/foo/../user@host:/bar/../baz" -- the first - expansion produces "/user@host:/bar/../baz" which needs to be - expanded again for the finame result "/user@host:/baz". - -2003-03-28 Jan Dj,Ad(Brv - - * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size - of area to be redrawn for better performance. - -2003-03-28 Stefan Monnier - - * xterm.c (take_vertical_position_into_account): Remove. - (xt_action_hook): Call set_vertical_scroll_bar if needed. - (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0). - (xm_scroll_callback, x_create_toolkit_scroll_bar) - (x_set_toolkit_scroll_bar_thumb): Simplify. - (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS. - (XTread_socket): Remove unused var. - (x_make_frame_invisible): Replace goto with else. - - * xdisp.c (set_vertical_scroll_bar): New fun. - (redisplay_window): Use it. - -2003-03-26 Richard M. Stallman - - * xdisp.c (update_tool_bar): Recompute tool bar if - update_mode_lines is set. Set w->update_mode_line - only if the tool bar contents actually change. - (update_menu_bar): Undo previous change. - -2003-03-26 Jan Dj,Ad(Brv - - * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared. - (xg_frame_set_char_size): Calculate scroll bar width before frame - width. Call SET_FRAME_GARBAGED and cancel_mouse_face. - (xg_separator_p): Check for all documented separator types. - (xg_update_scrollbar_pos): Variable gheight not needed, use height. - (update_frame_tool_bar): Don't call gdk_window_process_all_updates. - - * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt - so tool bar gets updated. - -2003-03-26 Stefan Monnier - - * data.c (store_symval_forwarding): Re-instate part of the code - that was deleted with too much enthusiasm. - -2003-03-25 Stefan Monnier - - * data.c (store_symval_forwarding): Delete special read-only - hack for type == -1, since we now use ->constant instead. - (Fkill_local_variable): Don't use XBUFFER if it can be nil. - - * buffer.c (overlays_in): Declare static. - (syms_of_buffer) : Use the symbol's - `constant' field rather than the variable's `type' field. - -2003-03-24 Andrew Choi - - * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp. - - * dispextern.h [HAVE_CARBON]: Include Carbon.h. - - * fns.c [MAC_OSX]: Do not redefine vector. - - * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal. - - * macgui.h: Remove definition of No_Cursor. - - * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor. - - * xdisp.c: Define No_Cursor. - (x_write_glyphs, notice_overwritten_cursor) - (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight) - (note_mouse_highlight): Remove Mac-specific code. - (note_mouse_highlight): Use bcmp instead of == to compare Cursors. - -2003-03-24 John Paul Wallington - - * xdisp.c (redisplay_window): If mini window's buffer is not - empty, then redisplay it like other windows. - -2003-03-23 Kim F. Storm - - * w32term.c (w32_draw_window_cursor): Fix last change. - -2003-03-23 Kenichi Handa - - * alloc.c (make_string_from_bytes, make_specified_string): - Add `const' for the arg CONTENTS. - - * lisp.h (make_string_from_bytes, make_specified_string): - Prototypes adjusted. - -2003-03-23 Jan Dj,Ad(Brv - - * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif. - - * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos. - (XG_SB_RANGE): New define. - - * gtkutil.c (xg_fixed_handle_expose): New function. - (xg_create_frame_widgets): Call xg_fixed_handle_expose for - expose events. - (xg_update_scrollbar_pos): Take two more arguments, left and width - of scroll bar including borders. - Clear left and right part outside scroll bar separately as some - themes have bars that are not an even number of pixels. - Don't set reallocate_redraws, don't call - gdk_window_process_all_updates. - (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed, - so no need to change it. Calculate size and value with XG_SB_RANGE. - - * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar): - Pass left and width of scroll bar including borders to - xg_update_scrollbar_pos. - -2003-03-22 Thien-Thi Nguyen - - * Makefile.in: Make sure space precedes end-of-line backslashes. - -2003-03-22 Kim F. Storm - - * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords): - Add generic versions here. Remove system specific versions - defined elsewhere. - - * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords): - Add prototypes. - - * xterm.h (STORE_NATIVE_RECT): New macro. - -2003-03-21 Kim F. Storm - - * xdisp.c (get_glyph_string_clip_rect): - Use FRAME_INTERNAL_BORDER_WIDTH. - - * dispextern.h (struct redisplay_interface): Add active_p - argument to draw_window_cursor member. All uses changed. - -2003-03-21 Kim F. Storm - - The following changes consolidate code related to writing and - inserting glyphs, exposing frame, the tool bar, the mouse face, - the output cursor, and help echo from xterm.c, w32term.c and - macterm.c into xdisp.c. It also generalizes the use of the - window_part enum instead of using numeric values throughout. - - * xdisp.c: Consolidate gui-independent code here. - Include keymap.h. - (Qhelp_echo): Import. - (mouse_autoselect_window, x_stretch_cursor_p): Declare here. - (help_echo_string, help_echo_window, help_echo_object) - (previous_help_echo_string, help_echo_pos): Declare here. - (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here. - (estimate_mode_line_height): Define here. Handle windowing - systems directly (without using estimate_mode_line_height_hook). - (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight): - (update_window_cursor, update_cursor_in_window_tree) - (fast_find_position, fast_find_string_pos) - (note_mode_line_highlight, note_mode_line_or_margin_highlight) - (expose_area, expose_line, expose_overlaps, expose_window) - (expose_window_tree, phys_cursor_in_rect_p): New generic versions; - declared static as they are only used locally in xdisp.c. - (draw_glyphs): Rename from x_draw_glyphs and make static. - (tool_bar_item_info, notice_overwritten_cursor): Make static. - (frame_to_window_pixel_xy, get_glyph_string_clip_rect) - (set_output_cursor, x_cursor_to, handle_tool_bar_click) - (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line): - (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor) - (display_and_set_cursor, x_update_cursor, x_clear_cursor) - (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p) - (note_mouse_highlight, x_clear_window_mouse_face) - (cancel_mouse_face, x_draw_vertical_border, expose_frame) - (x_intersect_rectangles): New generic functions for use by xdisp.c - and GUI front-ends. - (syms_of_xdisp): Initialize and staticpro help_echo* variables. - Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here. - - * dispextern.h (Display_Info): Generic typedef for *_display_info. - (NativeRectangle): Generic typedef for rectangle type. - (enum window_part): Move here from window.c. - (struct redisplay_interface): New members flush_display_optional, - define_frame_cursor, clear_frame_area, draw_window_cursor, - draw_vertical_window_border, shift_glyphs_for_insert. - Rename member clear_mouse_face to clear_window_mouse_face. - (estimate_mode_line_height_hook): Remove hook. - (auto_raise_tool_bar_buttons_p): Don't declare extern. - (tool_bar_item_info): Remove prototype. - (help_echo_string, help_echo_window, help_echo_object) - (previous_help_echo_string, help_echo_pos) - (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window): - (x_stretch_cursor_p, output_cursor): Declare extern. - (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes. - (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line) - (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor) - (display_and_set_cursor, set_output_cursor, x_cursor_to) - (x_update_cursor, x_clear_cursor, x_draw_vertical_border) - (frame_to_window_pixel_xy, get_glyph_string_clip_rect) - (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face) - (handle_tool_bar_click, clear_mouse_face, show_mouse_face) - (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles): - Add prototypes. - (mode_line_string, marginal_area_string): Fix prototypes. - - * window.c (enum window_part): Move to dispextern.h. - (coordinates_in_window): Use enum window_part member names - instead of numbers to describe return value. - (struct check_window_data): Change part member to window_part. - (check_window_containing): Return window_part unaltered. - (window_from_coordinates): Change part arg from int to enum - window_part. Allow part arg to be null. All users changed. - - * window.h (window_from_coordinates): Fix prototype. - - * term.c (estimate_mode_line_height): Move to xdisp.c. - - * keyboard.c (make_lispy_event): Use enum window_part. - - * dispnew.c (mode_line_string, marginal_area_string): Use enum - window_part instead of int in arg list. Users changed. - - * xterm.h (No_Cursor): Declare as None for X. - (struct mac_output): Replace member cross_cursor by hand_cursor. - - * xterm.c: Remove consolidated defines and code. - (BETWEEN): Remove unused macro. - (x_draw_vertical_window_border, x_shift_glyphs_for_insert) - (x_define_frame_cursor, x_clear_frame_area) - (x_draw_window_cursor): New X-specific functions for RIF. - (x_redisplay_interface): Add new members. - - * xfns.c: Setup and use hand_cursor instead of cross_cursor. - - * w32term.h (struct w32_output): Remove cross_cursor member. - - * w32term.c: Remove consolidated defines and code. - (BETWEEN): Remove unused macro. - (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert) - (w32_define_frame_cursor, w32_clear_frame_area) - (w32_draw_window_cursor): New W32-specific functions for RIF. - (w32_redisplay_interface): Add new members. - - * w32gui.h (No_Cursor): Define as 0 for W32. - (XRectangle): Add X compatible rectangle type. - (NativeRectangle): Declare as RECT for W32. - (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros. - - * w32fns.c: Remove setup of cross_cursor (already has hand_cursor). - - * w32console.c: Remove consolidated defines and code. - - * msdos.h (Display_Info): Add generic typedef. - - * msdos.c: Remove consolidated defines and code. - (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part. - - * macterm.h (struct mac_output): Replace member cross_cursor by - hand_cursor. - (activate_scroll_bars, deactivate_scroll_bars): Add prototypes. - - * macterm.c: Remove consolidated defines and code. - (BETWEEN): Remove unused macro. - (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert) - (mac_define_frame_cursor, mac_clear_frame_area) - (mac_draw_window_cursor): New Mac-specific functions for RIF. - (x_redisplay_interface): Add new members. - - * macgui.h (No_Cursor): Define as 0 for Mac. - (XRectangle): Add X compatible rectangle type. - (NativeRectangle): Declare as Rect for Mac. - (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros. - - * macfns.c (x_set_mouse_color): Setup hand_cursor. - (x_set_cursor_color): Use x_display_and_set_cursor. - - * Makefile.in (xdisp.o): Add dependency on blockinput.h and files - included from it. Add dependency on keymap.h. - - * makefile.w32-in (xdisp.o): Add dependency on keymap.h. - -2003-03-21 Kenichi Handa - - * fileio.c (Fexpand_file_name): Fix previous change. - -2003-03-19 Kenichi Handa - - * fileio.c (Ffile_name_directory): Reconstruct file name by - make_specified_string. - (Ffile_name_nondirectory, Ffile_name_as_directory) - (Fdirectory_file_name, Fexpand_file_name) - (Fsubstitute_in_file_name): Likewise. - (Fread_file_name): Compare decoded homedir with DIR and - DEFAULT_FILENAME. - - * alloc.c (make_specified_string): If NCHARS is negative, count - the number of characters. - -2003-03-18 Jan Dj,Ad(Brv - - * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for - all widgets. - - * gtkutil.h: Removed xg_ignore_next_thumb. - -2003-03-18 Kenichi Handa - - * coding.c (Vchar_coding_system_table): Remove this variable. - (Vcoding_system_safe_chars): New variable. - (intersection): Remove this function. - (find_safe_codings): Don't use Vchar_coding_system_table, but try - all codings in SAFE_CODINGS. - (Ffind_coding_systems_region_internal): Adjust for the change of - find_safe_codings. Get generic coding systems from - Vcoding_system_safe_chars. - (Fdefine_coding_system_internal): New function. - (syms_of_coding): Defsubr Sdefine_coding_system_internal. - Initialize and staticpro Vcoding_system_safe_chars. - -2003-03-18 Jan Dj,Ad(Brv - - * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values - equal old values before updating. - - * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb. - - * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb. - -2003-03-17 Jan Dj,Ad(Brv - - * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos. - (xg_resize_widgets): Don't call foreach(handle_fixed_child). - (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos. - (scroll_bar_button_cb): Set bar->dragging to nil on button release. - (xg_create_scroll_bar): Pass bar to button event callback. - (xg_find_top_left_in_fixed): New function. - (xg_update_scrollbar_pos): Don't call gdk_window_clear on - whole scroll bar area. Get old position with - xg_find_top_left_in_fixed, calculate and only clear needed areas. - (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if - dragging is in progress. Calculate whole as for Motif. - Remove code that saved last values. Call gtk_range functions to - set scroll bar sizes. - - * gtkutil.h: Removed xg_ignore_next_thumb. - -2003-03-17 Juanma Barranquero - - * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h - and files included from it. - -2003-03-18 Stefan Monnier - - * keymap.c (accessible_keymaps_1): Break cycles but without preventing - multiple occurrences of the same keymap under different prefixes. - (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org. - -2003-03-16 Jason Rumney - - * w32gui.h: Use HDC for Display. - - * w32term.c (w32_encode_char): Prevent double-byte chars from - crashing Emacs. - - * w32fns.c (jpeg_load, png_load, slurp_file): Read image files - as binary. - -2003-03-16 Juanma Barranquero - - * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET. - -2003-03-16 Kim F. Storm - - The following changes consolidate some of the gui-independent - parts of the processing and drawing of "glyph strings" from - xterm.c, w32term.c, and macterm.c into xdisp.c. - - * dispextern.h (struct glyph): Reduce face_id member from 22 to - 21 bits (this reduces number of faces from 4M to 2M). - Replace W32 specific w32_font_type member (2 bits) by generic - font_type member (3 bits) for portability. - (FONT_TYPE_UNKNOWN): New define, default for font_type member. - (enum draw_glyphs_face): Define here. - (struct glyph_string): Define here. Merge W32 and X versions. - (struct redisplay_interface): New members per_char_metric, - encode_char, compute_glyph_string_overhangs, draw_glyph_string. - (VCENTER_BASELINE_OFFSET): Define here. - (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs) - (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here. - - * xdisp.c: Consolidate gui-independent "glyph string" code here. - (dump_glyph_string): Moved here. - (init_glyph_string, append_glyph_string_lists, append_glyph_string) - (prepend_glyph_string_lists, get_glyph_face_and_encoding) - (fill_composite_glyph_string, fill_glyph_string) - (fill_image_glyph_string, fill_stretch_glyph_string) - (left_overwritten, left_overwriting, right_overwritten) - (right_overwriting, get_char_face_and_encoding) - (set_glyph_string_background_width, compute_overhangs_and_x) - (append_glyph, append_composite_glyph, produce_image_glyph) - (take_vertical_position_into_account, append_stretch_glyph) - (produce_stretch_glyph): New generic functions (based on X version). - Call platform specific functions through rif. - (INIT_GLYPH_STRING): New macro, hides W32 details. - (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING) - (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING) - (BUILD_GLYPH_STRINGS): Generic macros (based on X version). - (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs) - (notice_overwritten_cursor): - Generic functions exported to platform modules. Users changed. - - * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET) - (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE) - (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): - New macros for consolidated code. - - * xterm.c: Remove consolidated defines and code. - (x_per_char_metric, x_encode_char) - (x_compute_glyph_string_overhangs): Adapt to RIF requirements. - (x_redisplay_interface): Add new members. - - * w32gui.h (Display): Add dummy typedef for consolidation. - (XChar2b): Define alias for wchar_t for consolidation. - (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros. - - * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY) - (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): - New macros for consolidation. - - * w32term.c: Remove consolidated defines and code. - (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed - to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead. - (w32_per_char_metric): Change font_type arg to int for RIF. - (w32_encode_char): Return int according to RIF requirements. - (w32_compute_glyph_string_overhangs): Adapt to RIF. - (w32_get_glyph_overhangs): New function for RIF. Uses generic - x_get_glyph_overhangs. - (w32_redisplay_interface): Add new members. - - * macgui.h (XChar2b): Move typedef here for consolidation. - (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros. ++2008-03-01 YAMAMOTO Mitsuharu + - * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY): - (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for - consolidation. - - * macterm.c: Remove consolidated defines and code. - (mac_per_char_metric): New function for RIF. - (mac_encode_char): Adapt to new RIF requirements. - (mac_compute_glyph_string_overhangs): Adapt for RIF. - (x_redisplay_interface): Add new members. - -2003-03-15 Stefan Monnier - - * keymap.c (Vmenu_events): New var. - (syms_of_keymap): Initialize it. - (where_is_internal): Check more carefully what is a menu event. - -2003-03-14 Richard M. Stallman - - * lread.c (read1): After #!, exit loop on eof. - -2003-03-14 Jan Dj,Ad(Brv - - * gtkutil.h: Add declaration for xg_frame_cleared. - - * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK. - - * gtkutil.c (struct xg_last_sb_pos): New structure. - (handle_fixed_child): New function. - (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets - and force a redraw on them. - (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also. - (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar - so we can avoid unneeded redraws. - (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos - and force a redraw on the scroll bar. - (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar - if xg_last_sb_pos shows the positions are up to date. - (xg_frame_cleared): New function. - -2003-03-13 Kenichi Handa - - * coding.c (Fdetect_coding_region): Fix docstring. - (Fdetect_coding_string): Fix docstring. - -2003-03-13 Andreas Schwab - - * gtkutil.c: Add prototype for create_menus. - - * data.c (long_to_cons): Fix type of top. - - * xselect.c (selection_data_to_lisp_data): Use int instead of - long for an integer of size 4. - - * gtkutil.c (xg_update_frame_menubar): Add missing return value. - (xg_tool_bar_help_callback): Likewise. - -2003-03-12 Andreas Schwab - - * xterm.c (x_term_init) [USE_GTK]: Fix typo. - -2003-03-12 Kim F. Storm - - The following changes consolidate the fringe handling from - xterm.c, w32term.c, and macterm.c into xdisp.c. - - * xdisp.c: Consolidate fringe handling code here. - (left_bits, right_bits, continued_bits, continuation_bits) - (ov_bits, zv_bits): Define fringe bitmaps. - (fringe_bitmaps): New array holding fringe bitmaps. - (draw_fringe_bitmap): Draw a specific bitmap; call display - specific drawing routine via rif->draw_fringe_bitmap. - (draw_row_fringe_bitmaps): Generic replacement for - x_draw_row_fringe_bitmaps; all callers changed. - (compute_fringe_widths): Generic replacement for - x_compute_fringe_widths; all callers changed. - - * dispextern.h (enum fringe_bitmap_type): Define here. - (struct fringe_bitmap, struct draw_fringe_bitmap_params): New. - (fringe_bitmaps): Declare extern. - (struct redisplay_interface): New member draw_fringe_bitmap. - (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern. - - * xterm.c: Remove generic fringe code. - (x_draw_fringe_bitmap): Only perform actual fringe drawing. - (x_redisplay_interface): Add x_draw_fringe_bitmap member. - - * w32term.c: Remove generic fringe code. - (w32_draw_fringe_bitmap): Only perform actual fringe drawing. - (w32_redisplay_interface): Add w32_draw_fringe_bitmap member. - - * macterm.c: Remove generic fringe code. - (x_draw_fringe_bitmap): Only perform actual fringe drawing. - (x_redisplay_interface): Add x_draw_fringe_bitmap member. - -2003-03-11 Stefan Monnier - - * print.c (Fprin1_to_string): Return unibyte string if possible. - -2003-03-09 David Kastrup - - * process.c (read_process_output): We have allocated enough space - for readmax and carryover, so actually use the alloted space. - -2003-03-09 Jan Dj,Ad(Brv - - * keyboard.c (make_lispy_event): Extend mouse_syms if needed for - toolkit scrollbar click. - - * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window - for USE_GTK. - (x_scroll_bar_handle_click): Use this function for toolkit scrollbars - also. - (handle_one_xevent): ButtonPress/Release: If event is for a toolkit - scrollbar and control is pressed, call x_scroll_bar_handle_click. - - * gtkutil.h (xg_get_scroll_id_for_window): Declare. - - * gtkutil.c (xg_get_scroll_id_for_window): New function. - (xg_tool_bar_item_expose_callback): New function. - (xg_tool_bar_expose_callback): Call update_frame_tool_bar. - (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose - on the tool bar widget. - (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback - to expose on the tool bar item widgets. - -2003-03-08 Jan Dj,Ad(Brv - - * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of - struct image* when deciding to update (struct image* may have been - deleted from the image cache). - - * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if - the event isn't for a frame (i.e. for dialogs). - -2003-03-07 Kenichi Handa - - * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of - composition components reaches the limit, terminate composing. - (COMPOSITION_OK): New macro. - (detect_coding_iso2022): Use it if an escape sequence for - composition is found. - (coding_restore_composition): Adjust the number of composition - components if it is not sane. ++ * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64. + -2003-03-06 Juanma Barranquero +2008-02-29 Chong Yidong - * w32term.h (struct w32_display_info): Add xrdb member to support - passing resources via -xrm on Windows. + * xdisp.c (next_overlay_string): Don't set + overlay_strings_at_end_processed_p if we're currently reading from + a display string. - * w32term.c (w32_make_rdb): New function. - (w32_term_init): Use it to initialize xrdb member of w32_display_info - struct. Delete leftover code. +2008-02-29 Stefan Monnier - * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check - for resources passed on the command line. + * xdisp.c (get_overlay_strings_1): Fix typo. - * w32reg.c (w32_get_rdb_resource): New function. - (x_get_string_resource): Use it, so resources passed with -xrm - supercede the ones in the registry. +2008-02-29 Chong Yidong -2003-03-04 Jan Dj,Ad(Brv + * xdisp.c (get_overlay_strings_1): Add missing argument type. - * xterm.c (x_detect_focus_change): Call x_any_window_to_frame - instead of x_top_window_to_frame. +2008-02-28 Kenichi Handa + + * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern. + + * xdisp.c (display_mode_element): Cancel the previous change. + (decode_mode_spec): Likewise. + (handle_auto_composed_prop): Don't make composition if it->string + is a string. + +2008-02-27 Kim F. Storm + + * lisp.h (GLYPH): Change type from int to struct with separate char + and face_id members. + (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros. + (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg. + (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ... + (GLYPH_CHAR, GLYPH_FACE): ... these. Change users. + (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ... + (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead. + (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P) + (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to + handle new Lisp glyph code encoding, either an integer or a cons. + + * disptab.h (GLYPH_SIMPLE_P): Rewrite. + (GLYPH_ALIAS): Delete. + (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite. + (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR. + (GLYPH_FROM_CHAR): Replace macro by ... + (SET_GLYPH_FROM_CHAR): ... this macro. Change users. + + * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify. + (GLYPH_FROM_CHAR_GLYPH): Replace macro by ... + (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users. + (GLYPH_INVALID_P): New macro. + (spec_glyph_lookup_face): Update prototype. + + * dispnew.c (line_draw_cost): Adapt to new glyph type. + (build_frame_matrix_from_leaf_window): Adapt to new glyph type and + new glyph code encoding. + (spec_glyph_lookup_face): No return value; update passed glyph instead. + (init_display): Use SET_CHAR_GLYPH to initialize space_glyph. -2003-03-03 Jan Dj,Ad(Brv + * xdisp.c (get_next_display_element, next_element_from_display_vector): + Adapt to new glyph type and new glyph code encoding. - * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options - when restarting Emacs. + * term.c (encode_terminal_code, produce_special_glyphs): Likewise. -2003-03-03 Richard M. Stallman + * indent.c (current_column, current_column_1, Fmove_to_column) + (compute_motion): Adapt to new glyph code encoding. - * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure - to run kill-buffer-query-functions. - (Qkill_buffer_query_functions): New var. - (syms_of_buffer): Init and staticpro it. + * msdos.c (IT_write_glyphs): Adapt to new glyph type. -2003-03-02 Jan Dj,Ad(Brv +2008-02-27 Chong Yidong - * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK. + * process.c (wait_reading_process_output): Check for window + changes caused by timers. + Suggested by Johan Bockg,Ae(Brd. -2003-02-25 Kim F. Storm +2008-02-27 Glenn Morris - * xdisp.c (redisplay_window): Fix infinite loop in redisplay. - If centering point failed to make whole line visible and vscroll - is non-zero, disable vscroll and try centering point again. + * emacs.c (USAGE1): Add `--disable-font-backend'. - * lread.c (read1): Accept `single space' syntax like (? x). +2008-02-27 Stefan Monnier -2003-02-25 Jan Dj,Ad(Brv + * fileio.c (Finsert_file_contents): Don't reset undo_list if no change + is made to the buffer. - * keyboard.c (cancel_hourglass_unwind): Surround with - #ifdef HAVE_X_WINDOWS. +2008-02-26 Stefan Monnier -2003-02-25 Kenichi Handa + * dispextern.h (face_at_buffer_position, face_for_overlay_string) + (face_at_string_position): + * xfaces.c (face_at_buffer_position, face_for_overlay_string) + (face_at_string_position): + * xdisp.c (display_string, next_overlay_change): + * buffer.h (overlays_at): + * buffer.c (overlays_at): Use EMACS_INT for buffer positions. + Update callers. - * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer - process only when "subprocesses" is defined. +2008-02-26 Chong Yidong -2003-02-24 Stefan Monnier + * editfns.c (Fformat): Doc fix. - * syntax.c (back_comment): Only check nestedness of 2nd char if needed. +2008-02-26 Juanma Barranquero -2003-02-24 Juanma Barranquero + * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings. + (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf) + (Ffont_otf_alternates, Fquery_font): Doc fixes. - * callint.c (fix_command): Declare as static void and move before - Fcall_interactively. +2008-02-25 Stefan Monnier - * xdisp.c (Qwhen): Declare external; it's now defined in callint.c. - (syms_of_xdisp): Don't initialize Qwhen. + * buffer.c (Fbuffer_swap_text): New function. + (syms_of_buffer): Defsubr it. -2003-02-23 Jan Dj,Ad(Brv +2008-02-25 Chong Yidong - * keyboard.c (cancel_hourglass_unwind): New function. - (command_loop_1): Cancel hourglass with unwind-protect. + * keyboard.c (command_loop_1): Revert 2006-10-09 change. -2003-02-23 Richard M. Stallman +2008-02-25 Jason Rumney - * callint.c (fix_command): New subroutine, from Fcall_interactively. - Detect (when ... (region-beginning)) etc. - (Fcall_interactively): Call fix_command. - (Qif, Qwhen): New variables. - (syms_of_callint): Init and staticpro them. + * w32font.c (w32font_draw): Draw one character at a time when padding. - * regex.c (print_partial_compiled_pattern): Output to stderr. +2008-02-25 Stefan Monnier -2003-02-23 Kai Gro,A_(Bjohann + * window.c (Fdelete_window, Fadjust_window_trailing_edge): + Handle a nil arg. Use run_window_configuration_change_hook. + (delete_window, adjust_window_trailing_edge): Don't handle nil any more. + (Fenlarge_window, Fshrink_window, Fset_window_configuration): + Use run_window_configuration_change_hook. - * dired.c (directory_files_internal): Don't expand directory. - (Fdirectory_files, Fdirectory_files_and_attributes): Do it here - instead. From Lars Hansen . +2008-02-25 Kenichi Handa -2003-02-22 Stefan Monnier + * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least + 1-pixel width. - * fns.c (string_to_multibyte): Remove unused var i. - (Flanginfo): Fix int/Lisp_Object mixup. - (void_call2): New fun. - (Fmap_char_table): Use it in place of call2. +2008-02-25 Kenichi Handa - * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup. + * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p. + (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1 + if the glyph in the font is zero pixel with. - * macros.c (Fstart_kbd_macro): Remove redundant assignment. + * dispextern.h (struct glyph_string): New member padding_p. - * keymap.c (copy_keymap_1): Make it static. + * w32font.c (w32font_draw): Pay attention to s->padding_p. - * alloc.c (Fgarbage_collect): Don't use XSETFLOAT. + * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p. -2003-02-22 David Ponce + * xfont.c (xfont_draw): Pay attention to s->padding_p. - * lread.c (Fload): Don't check STRING_MULTIBYTE. + * xftfont.c (xftfont_draw): Pay attention to s->padding_p. -2003-02-21 Jan Dj,Ad(Brv + * font.c: If the font driver doesn't have `shape' function, return Qnil. - * process.h: Removed subtty field from struct Lisp_Process. +2008-02-25 Jason Rumney - * process.c (create_process): Remove setting of subtty. - (emacs_get_tty_pgrp): New function. - (Fprocess_running_child_p, process_send_signal): - Call emacs_get_tty_pgrp instead of ioctl. - (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails. + * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode. -2003-02-21 Kai Gro,A_(Bjohann +2008-02-24 Stefan Monnier + + Allow fine-grained image-cache flushing. + * dispextern.h (struct image): Add `dependencies' field. + (clear_image_caches): Change arg to Lisp_Object. + * image.c (make_image): Initialize `dependencies' field. + (clear_image_cache): Change arg to allow fine-grained flushing. + Perform the flush even if image-cache-eviction-delay is nil. + (clear_image_caches): Change arg to Lisp_Object. + (Fclear_image_cache): Expand meaning of the argument. + (mark_image): Mark `dependencies' field. + * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches. + (lface_hash): Use XHASH rather than XFASTINT. + (face_at_buffer_position): Fix int -> EMACS_INT position. + * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position. + (select_frame_for_redisplay): Remove code duplication. + (redisplay_internal): Adapt arg to call to clear_image_caches. + +2008-02-24 Dan Nicolaescu + + * s/vms4-0.h: + * s/vms4-2.h: + * s/vms4-4.h: + * s/vms5-5.h: Remove, unused. + + * s/irix5-2.h: + * s/irix6-0.h: + * s/riscos5.h: + * s/mach-bsd4-3.h: + * m/mips4.h: Remove files for obsolete systems + + * Makefile.in: + * filelock.c: + * unexmips.c: + * m/hp9000s300.h: + * m/iris4d.h: + * s/aix3-1.h: + * s/hpux.h: + * s/msdos.h: + * s/usg5-0.h: + * s/usg5-2-2.h: + * s/usg5-2.h: + * s/usg5-3.h: Remove references to obsolete variables. + + * s/irix5-0.h: Remove, move all the contents ... + * s/irix6-5.h: ... here. Simplify. + * config.in: Regenerate. - * keymap.c (Fdefine_key): Doc fix. +2008-02-24 Jason Rumney -2003-02-21 Juanma Barranquero + * w32term.c: (x_draw_glyph_string_background): Clear the background + manually when cleartype is in use. + (x_draw_glyph_string_foreground): Draw text transparently when + cleartype is in use. - Port of patch for RC by Klaus Zeitler . + * w32font.c (w32font_text_extents): Avoid getting HDC and selecting + a font into it unless we have to. - * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not - POLLING_PROBLEM_IN_SELECT. +2008-02-19 Stefan Monnier - * s/hpux11.h: Include hpux10-20.h instead of hpux10.h. - Delete #undef of POLLING_PROBLEM_IN_SELECT. + * intervals.h (INT_LISPLIKE): Remove. It may misfire. + (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it. - * s/hpux10-20.h: New file. +2008-02-18 Jason Rumney - * process.c (wait_reading_process_input): - Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT. + * w32fns.c (Fw32_shell_execute): Encode parameters. -2003-02-20 Kenichi Handa +2008-02-09 Eli Zaretskii - * fontset.c (check_fontset_name): If NAME is nil, return the - default fontset. - (override_font_info): New function. - (Fset_fontset_font): Document that NAME nil means the default fontset. - (Ffontset_info): If FONTSET is not the default fontset, merge - FONTSET onto the copy of the default fontset, and work on that - copy. Document that NAME nil means the default fontset. - (Ffontset_font): Document that NAME nil means the default fontset. + * fileio.c (syms_of_fileio) : Doc fix. - * process.c (setup_process_coding_systems): If the process's - in/out descriptor is -1, do nothing. +2008-02-05 Juanma Barranquero -2003-02-19 Andreas Schwab + * unexhp9k800.c (read_header): Replace `legal' with `valid'. - * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte): - Add prototypes. +2008-02-24 Ulrich Neumerkel (tiny change) -2003-02-19 Kenichi Handa + * xterm.c (x_set_offset): Don't change the gravity if + CHANGE_GRAVITY is -1. - * xfaces.c (try_alternative_families): Try all scalable fonts if - Vscalable_fonts_allowed is not Qt. +2008-02-23 Chong Yidong + + * fileio.c (auto_save_error_occurred): New var. + (auto_save_error): Set it. + (Fdo_auto_save): Don't overwrite the error message if an auto-save + error occurred. + +2008-02-23 Eli Zaretskii + + * w32.c (globals_of_w32): Add initializations for + g_b_init_get_sid_sub_authority and + g_b_init_get_sid_sub_authority_count. + +2008-02-22 Stefan Monnier + + * font.c (font_match_xlfd, font_check_xlfd_parse): New funs. + (font_parse_xlfd): Use them for sanity check. + (Finternal_set_font_style_table): Make sure the table is bijective. + + Consolidate the image_cache to the terminal struct. + * termhooks.h (P_): Remove redundant def. + (struct terminal): New field `image_cache'. + * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place + of FRAME_X_IMAGE_CACHE. + * xterm.h (struct x_display_info): Remove image_cache field. + (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead. + * w32term.h (struct w32_display_info): Remove image_cache field. + (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead. + * macterm.h (struct mac_display_info): Remove image_cache field. + (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead. + * xterm.c (x_term_init): + * w32term.c (w32_term_init): + * macterm.c (mac_term_init): Set the image_cache in the terminal. + * dispextern.h (clear_image_cache, forall_images_in_image_cache): + Remove declarations. + (clear_image_caches, mark_image_cache): New declarations. + * xfaces.c (clear_face_cache): + * xdisp.c (redisplay_internal): Use clear_image_caches. + * image.c (clear_image_cache): Don't check that a frame is on + a window-system before checking if it shares the same cache. + (clear_image_caches): New function. + (Fclear_image_cache): Use it. + (mark_image): Move from allo.c. + (mark_image_cache): Move from alloc.c and forall_images_in_image_cache. + * alloc.c (mark_image, mark_image_cache): Move to image.c. + (mark_object): Don't call mark_image_cache for frames. + (mark_terminals): Call mark_image_cache. -2003-02-19 Jan Dj,Ad(Brv + * lisp.h (Fdelete_terminal): Declare. - * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found. + * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID) + (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of + wrong_type_argument. -2003-02-18 Jan Dj,Ad(Brv +2008-02-22 Kenichi Handa - * xterm.c (x_list_fonts): If maxnames is less than 0, get all font - names. + * Makefile.in (lisp): Remove devanagari.el, kannada.el, + malayalam.el, and tamil.el. Add sinhala.el. - * xfaces.c (x_face_list_fonts): Allocate struct font_name here. - (sorted_font_list): Move allocation of struct font_name to - x_face_list_fonts. - (Fx_font_family_list): Set font-list-limit to -1 to get all font names. - (Fx_list_fonts): Set maxnames to -1 to get all font names. +2008-02-21 Stefan Monnier -2003-02-18 Kim F. Storm + * xterm.c (x_connection_closed): Consolidate identical tests. + (x_delete_terminal): Don't crash if called via x_connection_closed. - * lread.c (read1): Fix last change. - "`" is not always special. Allow "?" after a character constant. +2008-02-21 Kenichi Handa -2003-02-18 Andrew Choi + * xdisp.c (decode_mode_spec): New arg string. + (display_mode_element): Adjust for the above change. - * unexmacosx.c (copy_data_segment): Also copy __cfstring section. +2008-02-19 Stefan Monnier -2003-02-18 Andreas Schwab + * callint.c (Fcall_interactively): Use AREF. - * window.c (window_scroll_pixel_based): Move outside a - multi-glyph character before setting new window start. +2008-02-18 Stefan Monnier - * xdisp.c (in_display_vector_p): New function. - * dispextern.h (in_display_vector_p): Declare. + * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs. -2003-02-18 Kim F. Storm +2008-02-18 Jan Dj$(Q)Z(Brv - * lread.c (read1): Fix and relax read syntax. - Recognize "[", ";", "#", and "?" after a dotted-pair dot. - Only recognize "," after dotted-pair dot if inside backquote. - Never include "`" or "," (inside backquote) in a symbol. - Allow dotted-pair dot after a character constant. - Allow "`" and "," (inside backquote) after a character constant. + * xfns.c (Fx_show_tip): Set string to " " if empty. -2003-02-17 Jan Dj,Ad(Brv +2008-02-17 Dan Nicolaescu - * gtkutil.c (xg_tool_bar_expose_callback): New function. - (xg_create_tool_bar): Force style of tool bar to be horizontal with - icons. Set name of tool bar to emacs-toolbar. - (update_frame_tool_bar): Connect expose event to - xg_tool_bar_expose_callback. + * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive + with Qt. -2003-02-17 Richard M. Stallman +2008-02-17 Kenichi Handa - * keyboard.c (this_command_key_count_reset): New variable. - Initiatize to 0 where this_command_key_count is set. - (read_char): Save and restore this_command_key_count_reset - around input method code. - (read_char): If this_command_key_count_reset, echo reread commands. - (Freset_this_command_lengths): Set this_command_key_count_reset to 1. + * ftfont.c (ftfont_shape): Return Lispy number. -2003-02-17 Kenichi Handa + * xfaces.c (prepare_face_for_display): Use display_info->font->fid + for GCs. + (Finternal_set_font_selection_order): Call font_update_sort_order + only when enable_font_backend is set. + (realize_x_face): Set face->font_info to that of default face only + when enable_font_backend is set. - * fns.c (string_to_multibyte): Always return a multibyte string. + * xdisp.c (handle_composition_prop): Set it->c to the fist + characte of the composed region. + (fill_composite_glyph_string): Set base_face->font_info to + s->font_info. Get a face for ascii from base_face->ascii_face. + (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string + with a face already decided. + (x_produce_glyphs): Be sure to set it->ascent and it->descent to + non-negative. + (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING, + call font_prepare_composition unconditionally. -2003-02-16 Jason Rumney + * xfns.c (x_make_gc): Use the default font id of the frame for GCs. - * w32fns.c (w32_list_bdf_fonts, w32_list_fonts): - Negative max_fonts parameter means list all. + * xterm.h (struct x_display_info): New member font. -2003-02-14 Dave Love + * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs. + (x_set_mouse_face_gc, x_new_font): Likewise. + (x_term_init): Setup display_info->font. + (x_delete_terminal): Free display_info->font. - * fns.c (Flanginfo): Doc fix. + * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT. -2003-02-13 Kim F. Storm + * ftxfont.c (ftxfont_default_fid): Delete it. + (ftxfont_open): Set xfont->fid to 0. + (ftxfont_end_for_frame): Clear data specific to the frame and the + font-driver. - * lread.c (read_escape): Interpret \s as a SPACE character, except - for \s-X in a character constant which still is the super modifier. - (read1): Signal an `invalid read syntax' error if a character - constant is immediately followed by a digit or symbol character. + * xftfont.c (xftfont_default_fid): Delete it. + (xftfont_open): Set xfont->fid to 0. - * search.c (Fmatch_data): Doc fix. Explicitly state that - match-data is undefined if last search failed. + * fontset.c (FONTSET_OBJLIST): New macro. + (fontset_find_font): Update font-object list of the fontset. + (free_realized_fontset): New function. + (free_face_fontset): Call free_realized_fontset. + (Ffont_info): Call font_close_object only when enable_font_backend + is set. - * keymap.c (Fcommand_remapping): Rename from Fremap_command. - All uses changed. + * font.c [HAVE_X_WINDOWS]: Include xterm.h. + [HAVE_NTGUI]: Include w32term.h. + [MAC_OS]: Include macterm.ch. + (font_otf_ValueRecord): Use make_number. + (font_finish_cache): Fix handling of reference count. + (font_clear_cache): Update num_fonts. + (font_open_entity): Update smallest_char_width and + smallest_font_height of the frame. + (font_close_object): Update num_fonts. + (Fclear_font_cache): Fix finding the target cache data. -2003-02-12 Juanma Barranquero +2008-02-16 Glenn Morris - * eval.c (Fdefmacro): Fix typo. + * fontset.c (Finternal_char_font): Fix compilation warning. -2003-02-12 Kim F. Storm +2008-02-16 Eli Zaretskii - * macros.c (Fstart_kbd_macro): If appending, and last keyboard - macro is a string, convert meta modifiers in string when copying - the string into a vector. + * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP + instead of char arrays. Enlarge the size of array passed to + get_token_information. -2003-02-11 Kim F. Storm + * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation + warnings. - * keymap.c (Fremap_command): Return nil if arg is not a symbol. +2008-02-15 Dan Nicolaescu -2003-02-11 Kenichi Handa + * .gdbinit: Don't set `args', it breaks gdb --args. - * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el. +2008-02-14 Stefan Monnier -2003-02-10 Kim F. Storm + * fileio.c (Finsert_file_contents): Adjust offsets when replacing + within a narrowed buffer. - * process.c: Doc fixes. - (syms_of_process): Add `:' prefix to QCfilter_multibyte. +2008-02-14 Kenichi Handa -2003-02-10 Kenichi Handa + * coding.c (decode_coding_object, encode_coding_object): + Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer. - * fns.c (Fstring_to_multibyte): Fix typo in the docstring. +2008-02-12 Stefan Monnier - * process.c (QCfilter_multibyte): New variable. - (setup_process_coding_systems): New function. - (Fset_process_buffer, Fset_process_filter): - Call setup_process_coding_systems. - (Fstart_process): Initialize the member `filter_multibyte' of - struct Lisp_Process. - (create_process): Call setup_process_coding_systems. - (Fmake_network_process): New keyward `:filter-multibyte'. - Initialize the member `filter_multibyte' of struct Lisp_Process. - Call setup_process_coding_systems. - (server_accept_connection): Call setup_process_coding_systems. - (read_process_output): If the process has a filter, decide the - multibyteness of a string to given to the filter by - `filter_multibyte' member of the process. If the process doesn't - have a filter and the result of conversion is unibyte, use - Fstring_to_multibyte (not Fstring_make_multibyte) to get the - multibyte form. - (Fset_process_coding_system): Call setup_process_coding_systems. - (Fset_process_filter_multibyte): New function. - (Fprocess_filter_multibyte_p): New function. - (syms_of_process): Intern and staticpro QCfilter_multibyte. - Defsubr Sset_process_filter_multibyte and - Sprocess_filter_multibyte_p. + * coding.c (coding_set_destination): Use BEG_BYTE rather than + hardcoding 1. + (detect_coding_system): + * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text) + (string_char_to_byte, string_byte_to_char, insert_from_gap): + * insdel.c (insert_from_gap): + * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos) + (string_char_to_byte, string_byte_to_char, string_make_multibyte) + (string_to_multibyte): + * character.c (chars_in_text, multibyte_chars_in_text): + * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions. - * process.h (struct Lisp_Process): New member filter_multibyte. + * character.h (FETCH_STRING_CHAR_ADVANCE) + (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE) + (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF. + (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1. - * lisp.h (setup_process_coding_systems): Add prototype. + * casefiddle.c (casify_region): Only call after-change and composition + functions on the part of the region that was changed. - * buffer.c (Fset_buffer_multibyte): If the current buffer has a - process, update coding systems for the process. + * keyboard.c (read_avail_input): + * frame.c (Fdelete_frame): Call Fdelete_terminal. -2003-02-09 Kenichi Handa +2008-02-11 Stefan Monnier - * fns.c (string_to_multibyte): New function. - (Fstring_to_multibyte): New function. - (syms_of_fns): Defsubr it. + * buffer.c (clone_per_buffer_values, reset_buffer_local_variables) + (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list. -2003-02-08 Andreas Schwab +2008-02-11 Juanma Barranquero - * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable - instead of the substitution. + * w32menu.c (push_submenu_start, push_submenu_end) + (push_left_right_boundary, push_menu_pane, push_menu_item): + * keyboard.c (read_key_sequence): Don't pass args with side effects + to AREF, it fails when compiling with -DENABLE_CHECKING. -2003-02-08 Jan Dj,Ad(Brv +2008-02-11 Kenichi Handa - * xterm.c (x_make_frame_visible): Call gtk_window_deiconify. + * Makefile.in (${lispsource}international/charprop.el): + Delete this target. - * xmenu.c (menu_position_func): Adjust menu popup position so that - the menu is fully visible. + * search.c (boyer_moore): Fix incorrect synching of the trunk and + emacs-unicode-2. -2003-02-07 Jan Dj,Ad(Brv +2008-02-11 Stefan Monnier - * xterm.c (x_text_icon, x_raise_frame, x_lower_frame) - (x_make_frame_invisible, x_wm_set_icon_position): - Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif. + * terminal.c (Fdelete_terminal): Clean up the `force' path. - * xfns.c (x_set_name, x_set_title): Ditto. +2008-02-10 Stefan Monnier -2003-02-04 Richard M. Stallman + * frame.c (Qnoelisp): New symbol. + (syms_of_frame): Initialize it. + (Fdelete_frame): Use it to distinguish a mere `force' passed from + someharmles Elisp code, from a strong `force' from x_connection_closed. + * frame.h (Qnoelisp): Declare. + * xterm.c (x_connection_closed): Pass `noelisp'. - * keyboard.c (echo_now): Update before_command_echo_length. - (Freset_this_command_lengths): Reset this_command_key_count etc. - immediately rather than arranging to do it later. - (before_command_key_count_1, before_command_echo_length_1) - (before_command_restore_flag): Vars deleted. - (add_command_key): Don't handle before_command_restore_flag. - (read_char, record_menu_key): Don't update before_command_key_count or - before_command_echo_length. - (read_char): Don't handle before_command_restore_flag. + * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker) + (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd) + (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type + rather than `int' for the type of `type'. - * keyboard.c (command_loop_1): Don't call adjust_point_for_property - in direct-output clauses if it wouldn't be called in the ordinary case. +2008-02-10 Dan Nicolaescu -2003-02-04 Kim F. Storm + * s/gnu-linux.h: Remove support for non-ELF and linux-1.x. - * keyboard.c (syms_of_keyboard) : Doc fix. + * Makefile.in (GNUC): Remove support for gcc-1.x. -2003-02-02 Jan Dj,Ad(Brv +2008-02-10 Richard Stallman - * gtkutil.c (remove_from_container): Copying list is not needed. - (xg_update_menubar, xg_update_menu_item, xg_update_submenu) - (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free - on list returned from gtk_container_get_children to avoid memory leak. + * lisp.h (ASET): Use AREF, not ASLOT. -2003-02-01 Jason Rumney +2008-02-10 Stefan Monnier - * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for - local malloc. - [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel - definitions in xpm.h. - (init_xpm_functions): New function. - (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm. - (init_external_image_libraries): Try to load libXpm.dll. + * lisp.h (ASET): Check bounds. - * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting - timestamp. +2008-02-10 Glenn Morris -2003-01-31 Dave Love + * buffer.c (mode-name): Doc fix. - * syntax.c (Fskip_chars_forward) - (open-paren-in-column-0-is-defun-start): Doc fix. +2008-02-09 Dan Nicolaescu -2003-01-31 Joe Buehler + * src/Makefile.in: + * src/emacs.c: + * src/gmalloc.c: + * src/keyboard.c: + * src/lisp.h: + * src/m/ibm370aix.h: + * src/process.c: + * src/regex.c: + * src/s/hpux.h: + * src/sysdep.c: + * src/sysselect.h: + * src/systty.h: + * src/unexec.c: + * src/w32term.c: + * src/xsmfns.c: + * src/xterm.c: Remove code that deals with obsolete variables. - * fileio.c: Support // at start of name for Cygwin (just added proper - preprocessor tests). + * s/msdos.h (DONT_NEED_ENVIRON): Don't define. - * keyboard.c: Port to Cygwin (just added proper preprocessor tests). + * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test, + nothing else needs it anymore. - * Makefile.in: Use @EXEEXT@ for Cygwin. +2008-02-09 Eli Zaretskii - * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin. + * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table + instead of unibyte_char_to_multibyte. - * s/cygwin.h: Added for Cygwin port. +2008-02-09 Dan Nicolaescu -2003-01-31 Juanma Barranquero + * s/gnu-linux.h: Remove commented out code. - * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows - when including gif_lib.h. - (init_gif_functions, init_tiff_functions): New functions. - (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for - Windows. Disable color table lookups. Call library functions - through pointers determined at runtime. - (init_external_image_libraries): Try to load libungif.dll and - libtiff.dll. + * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE. -2003-01-31 Kenichi Handa + * Makefile.in: Update what RMS says about using autoconf. + (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable. + (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1): + (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1) + (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional. - * xdisp.c (SKIP_GLYPHS): New macro. - (set_cursor_from_row): Skip all glyphs that comes from overlay string. +2008-02-08 Stefan Monnier -2003-01-30 Jan Dj,Ad(Brv + * keymap.c (Fkey_description): Move side effect outside of macro call. - * gtkutil.c (free_frame_tool_bar): Remove debug printf. + * xfaces.c (Finternal_make_lisp_face): + * keyboard.c (add_command_key, parse_menu_item): Use ASET. -2003-01-30 Dave Love + * fontset.c (free_face_fontset): Use FONTSET_FROM_ID. + (syms_of_fontset): Use ASET. - * alloc.c (Vgc_elapsed, gcs_done): New variables. - (Fgarbage_collect): Use them. - (init_alloc, syms_of_alloc): Set them up. + * fns.c (concat): Move side effect outside of macro call. + (hash_clear): Use ASET. -2003-01-30 Juanma Barranquero +2008-02-08 Richard Stallman - * w32fns.c (init_external_image_libraries): Add missing operator. + * frame.c (Fdelete_frame): If FORCE, don't call hooks. + If FORCE, and frame has a surrogate minibuffer for another frame, + delete the other frame first. -2003-01-29 Jason Rumney +2008-02-07 Timo Savola - * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as - an alternative name for jpeg.dll. + * xterm.c (x_detect_focus_change): Handle embed client message. + (handle_one_xevent): Ditto. + (handle_one_xevent): If embedded and we get a button press/release, + request focus. + (xembed_set_info, xembed_send_message): New functions. + (x_make_frame_visible): Call xembed_set_info if embedded. + (x_make_frame_invisible): Call xembed_set_info if embedded. + (x_term_init): Initialize Xatom_XEMBED. + (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also. + (x_iconify_frame): Ditto. -2003-01-29 Kenichi Handa + * xterm.h (struct x_display_info): Add AtomXatom_XEMBED. + (enum xembed_info, enum xerm srmbed_message, enum xembed_focus) + (enum xembed_modifier, enum xembed_accelerator): New. + (xembed_set_info, xembed_send_message): Declare. + (FRAME_X_EMBEDDED_P): New. - * xdisp.c (set_cursor_from_row): Pay attention to string display - properties. + * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call + gtk_plug_new. -2003-01-28 Benjamin Riefenstahl + * xfns.c (Fx_create_frame): Do not override the explicitly set parent + window ID of a frame. + (x_window): Reparent frame if embedded. + (Fx_create_frame): Don't set border width if embedded. - * macterm.c (keycode_to_xkeysym_table): Add , , - . - (keycode_to_xkeysym_table): Reformat and add more comments. - (XTread_socket): Drop special case for backspace. + * emacs.c (USAGE3): Add --parent-id + (standard_args): Ditto. -2003-01-28 Andrew Choi +2008-02-07 Jan Dj,Ad(Brv - * macfns.c (x_to_mac_color): Correct the order for parsing the RGB - values in old-style RGB specs. + * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)". -2003-01-27 Juanma Barranquero +2008-02-07 Jim Meyering - * w32fns.c (init_external_image_libraries): Try alternate names for the - jpeg dll. + Use "do...while (0)", not "if (1)..else" in macro definitions. + The latter provokes a warning from gcc about the empty else, when + followed by ";". Also, without that trailing semicolon, it would + silently swallow up any following statement. + * syntax.h (SETUP_SYNTAX_TABLE): + (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise. + * buffer.h (DECODE_POSITION): Likewise. + * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise. + (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise. + (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise. + (FETCH_CHAR_ADVANCE): Likewise. + (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise. -2003-01-27 Jan Dj,Ad(Brv +2008-02-07 Jim Meyering - * gtkutil.c (create_dialog, xg_separator_p) - (xg_item_label_same_p, xg_update_menu_item): Check for NULL string - before calling strcmp or strlen. + * lread.c [lint]: Don't include . -2003-01-26 Jan Dj,Ad(Brv +2008-02-07 Stefan Monnier - * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display - and handle image load failure. + * xselect.c (x_handle_dnd_message): + * xmenu.c (digest_single_submenu, xmenu_show): + * xdisp.c (with_echo_area_buffer_unwind_data) + (format_mode_line_unwind_data, unwind_format_mode_line) + (display_menu_bar): + * eval.c (Ffetch_bytecode): + * doc.c (store_function_docstring): + * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code) + (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map): + * buffer.c (add_overlay_mod_hooklist): Use ASET. -2003-01-26 Jason Rumney +2008-02-07 Kenichi Handa - * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper): - New functions. - (jpeg_load): Sync with xfns.c version. Adjust colors for Windows. - Disable color table lookups. Call jpeg library functions - through pointers determined at runtime. - (init_external_image_libraries): Try to load jpeg.dll. + * ftxfont.c (ftxfont_open): Don't set + dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0. -2003-01-25 Richard M. Stallman + * ftfont.c (ftfont_open): Fix previous change. - * lisp.h: Declare format2 instead of format1. +2008-02-06 Jason Rumney - * fileio.c (barf_or_query_if_file_exists): - Call format2 instead of format1. + * w32font.c (w32font_text_extents): Fill in lbearing metric. + Use cached metrics for ASCII characters. + (w32font_open_internal): Don't set font's owning_frame. + Cache metrics for ASCII characters. - * editfns.c (format2): New function, replaces format1 - but takes exactly two Lisp Objects as format args. + * w32font.h (struct w32font_info): Add ascii_metrics. + Remove owning_frame. - * buffer.c (Fkill_buffer): Call format2 instead of format1. +2008-02-06 Kenichi Handa -2003-01-25 Jan Dj,Ad(Brv + * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent + to negative value. - * xterm.h: Change to return value of x_dispatch_event to int. + * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info. - * xterm.c (x_filter_event): New function. - (event_handler_gdk, XTread_socket): Call x_filter_event. - (x_dispatch_event): Change to return value of finish. - (event_handler_gdk): Use return value from x_dispatch_event. + * ftfont.c (ftfont_open): Fix calculation of font->font.average_width. - * xfns.c (x_window): Call create_frame_xic for GTK version to - initialize input methods. + * charset.c (syms_of_charset): Set QCtest and Qeq. - * gtkutil.h: Add (void) prototypes. +2008-02-06 Stefan Monnier - * gtkutil.c (create_menus): Remove code that puts the help menu to - the right. + * process.c (Fstart_process): + * callproc.c (Fcall_process): Handle the case where + Funhandled_file_name_directory returns nil. -2003-01-25 Jason Rumney + * font.h (enum lgstring_indices, enum lglyph_indices): New enums. + (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros. + * font.c (check_gstring): Use them and AREF to access the vector before + we know it's really a gstring. + (Ffont_shape_text): Fix typo. + (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups. - * w32fns.c (XPutPixel): Handle monochrome images; used for masks. - [HAVE_PNG]: Sync with xfns.c version. - (png_load): Adjust colors for Windows. Use Windows - bitmaps. Disable color table lookups. - (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros. - (init_png_functions): New function. - (png_read_from_memory, png_load): Call png library functions - through pointers determined at runtime. - (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare. - (init_external_image_libraries): New function. - (init_xfns): Call it. + * composite.h (Fcompose_region_internal, Fcompose_string_internal): + Declare. -2003-01-24 Andreas Schwab + * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement. - * minibuf.c (Fminibuffer_message): Verify type of parameter. +2008-02-05 Jason Rumney -2003-01-24 Jan Dj,Ad(Brv + * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth. + Set smallest_font_height and smallest_char_width in display info. - * gtkutil.c (xg_initialize): Initialize id_to_widget here instead - of static initializer. +2008-02-05 Kenichi Handa -2003-01-24 Dave Love + * coding.c (decode_eol): Pay attention to coding->dst_multibyte. - * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more - architectures. +2008-02-05 Miles Bader - * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]: - Use __alignof__. + * xfaces.c (get_lface_attributes, merge_named_face) + (lookup_named_face, lookup_derived_face, realize_named_face): + Revert 2008-02-01 change by cyd@stupidchicken.com. -2003-01-24 Kenichi Handa +2008-02-04 Kenichi Handa - * keyboard.c (adjust_point_for_property): New second arg MODIFIED. - It it is nonzero, don't pretend that an invisible area doesn't exist. - (command_loop_1): Call adjust_point_for_property with proper - second arg. + * fontset.c (Ffontset_info): Handle the case of inhibitting the + fallback fonts. + (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names. -2003-01-22 Jason Rumney +2008-02-04 Jason Rumney - Sync changes with xterm.c and xfns.c. + * w32font.c (w32font_open_internal): Use font_unparse_fcname to + set full_name. + (w32font_open_internal): Use xmalloc, xrealloc, xfree. - * w32term.c (x_draw_glyph_string_foreground) - (x_draw_composite_glyph_string_foreground): Implement overstriking. +2008-02-03 Jason Rumney - * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current - phys_cursor's hpos is overwritten. This is still not completely - correct, as it doesn't really make sense to use hpos at all to - get the cursor glyph (as that is relative to the width of the - characters on the line, which may have changed during the update). + * makefile.w32-in (OBJ1): Include font.o here. + (FONTOBJ) [USE_FONTBACKEND]: Instead of here. - * w32term.c (notice_overwritten_cursor): Handle the special case - of the cursor being in the first blank non-text line at the - end of a window. +2008-02-02 Jason Rumney - * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor) - (x_draw_phys_cursor_glyph): Set phys_cursor_width here. - Compute from the x position returned by x_draw_glyphs. + * makefile.w32-in (temacs): Bump EMHEAP to 21. - (x_display_and_set_cursor): Don't set phys_cursor_width here, - except for NO_CURSOR and system caret, to make phys_cursor_width - contain what its name suggests. - (notice_overwritten_cursor): Consider the cursor image erased if - the output area intersects the cursor image in y-direction. +2008-02-01 Jason Rumney - * w32term.c (note_mode_line_or_margin_highlight): Rename from - note_mode_line_highlight and extend. + * s/cygwin.h: Define VIRT_ADDR_VARIES. - * w32term.c (last_window): New variable. - (w32_read_socket) : Generate SELECT_WINDOW_EVENTs. - (note_mouse_movement): Remove reimplemented code in #if 0. + * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition. - * w32fns.c (x_set_cursor_type): Set cursor_type_changed, - not update_mode_lines, and always set it to 1. +2008-02-01 Andreas Schwab -2003-01-21 Jason Rumney + * Makefile.in (shortlisp, lisp): Update for rename of + ../lisp/language/myanmar.el. - * w32fns.c (IDC_HAND): Define it if system headers don't. +2008-02-01 Chong Yidong -2003-01-21 KOBAYASHI Yasuhiro + * xfaces.c (get_lface_attributes): Delete function. + (merge_named_face, lookup_named_face, lookup_derived_face) + (realize_named_face): Call lface_from_face_name directly, and use + the fact that merge_face_vectors does not alter its FROM argument. - * w32term.h (struct w32_output): New member hand_cursor. - (WM_EMACS_SETCURSOR): New message definition. +2008-02-01 Jason Rumney - * w32term.c (note_mode_line_highlight): Delete #if 0 to enable - function w32_define_cursor. - (note_mouse_highlight): Initialize, setup cursor accoding to mouse - position, change member name output_data.x to output_data.w32 and - add function w32_define_cursor. - (show_mouse_face): Delete #if 0 to enable function w32_define_cursor - and change member name output_data.x to output_data.w32. - (w32_initialize_display_info): - Setup dpyinfo->vertical_scroll_bar_cursor. + * w32term.c (w32_read_socket) : Decode non-Unicode + input in the default locale. Handle non-Unicode multibyte input. - * w32fns.c (Vx_hand_shape): New variable. - (w32_wnd_proc): Add message entries for WM_SETCURSOR and - WM_EMACS_SETCURSOR. - (x-create-frame): Setup Cursor types. +2008-02-01 Kenichi Handa -2003-01-21 David Ponce + * fontset.c (reorder_font_vector): Exclude nil elements from the + font group. Don't try multiple fonts. + (fontset_font): Adjust for the above change. + (Finternal_char_font): Return nil if the found font doesn't + contain the character ch. - * w32term.c (w32_encode_char): For DIM=1 charset, set - ccl->reg[2] to -1 before calling ccl_driver. - (Sync. with xterm.c x_encode_char change by Kenichi Handa - on 2002-09-30.) - (w32_draw_relief_rect): Declare all args. - (w32_define_cursor): New. + * Makefile.in (lisp, shortlisp): Add cham.el. - * w32fns.c (w32_load_cursor): New function. - (w32_init_class): Use it. - (x_put_x_image): Declare all args. +2008-02-01 Kenichi Handa -2003-01-21 Richard Dawe + * font.h (FONTP): Make it return 1 also for a font-object. - * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG. + * .gdbinit (xfontset): New function. -2003-01-21 Jan Dj,Ad(Brv + * font.c (font_find_for_lface): Check if the character C is + supported or not only for the first font. - * gtkutil.c: Must include stdio.h before termhooks.h. + * fontset.c (reorder_font_vector): Fix typo. + (fontset_find_font): Don't add a font-spec specifying a script. + Use 0 (not Qt) for the indication of empty font-group. Change the + format of RFONT-DEF. Return Qt if no font in the font-group + support the character. + (fontset_font): Adjust for the above change. If no font was + found the character, remember that. + (face_for_char): Adjust for the change of RFONT-DEF. + (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify + no font for the target. + (Finternal_char_font): Adjust for the change of RFONT-DEF. -2003-01-21 Dave Love +2008-02-01 Kenichi Handa - * alloc.c (Fgc_status): Print zombie list. - (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]: - Fix assignment of zombies. - (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]: - Don't take car of non-cons. - - * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define. - - * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define. - -2003-01-20 David Ponce - - * w32menu.c (digest_single_submenu): Declare all args. - - Sync with 2002-12-23 Richard M. Stallman - changes in xmenu.c: - - (parse_single_submenu): Use individual keymap's prompt - string as pane name, if there is one. - (set_frame_menubar): Save menu_items_n_panes from each call to - parse_single_submenu and use it when calling digest_single_submenu. - -2003-01-20 Steven Tamm - - * macterm.c (XTread_socket): Check for valid, visible window - before sending a scroll-wheel event. - -2003-01-20 Richard M. Stallman - - * xdisp.c (redisplay_window): If mini window's buffer is not - a minibuffer, then redisplay it like other windows. - -2003-01-20 Jan Dj,Ad(Brv - - * gtkutil.c (xg_create_frame_widgets): Check if there is an - external tool bar before setting tool bar height. - -2003-01-19 Jan Dj,Ad(Brv - - * xterm.c (handle_one_xevent): Surround popup_activated - with #ifdef:s for non-toolkit version. - - * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK. - (gtkutil.o): New file. - (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK. - (LIBW): Set to @GTK_LIBS@ if USE_GTK. - - * gtkutil.c: New file for GTK version. - - * gtkutil.h: New file for GTK version. - - * xterm.h: Add xt_or_gtk_widget. - Include gtk files for USE_GTK. - (struct x_output): Add toolbar_height. - (struct x_output): Add GTK widgets and Gdk size_hints. - (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET) - (FRAME_OUTER_WINDOW): New macros for USE_GTK. - (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation. - - * xterm.c: Include gtkutil.h for USE_GTK. - (free_frame_menubar): Declare extern void for USE_GTK. - (note_mouse_highlight): Check popup_activated for USE_GTK. - (xt_action_hook): Don't compile if USE_GTK. - (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK. - (xg_scroll_callback): New function. - (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK. - (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb - for USE_GTK. - (x_scroll_bar_create): Call xg_update_scrollbar_pos and - xg_show_scroll_bar for USE_GTK. - (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK. - (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK. - (event_handler_gdk): New function for USE_GTK. - (handle_one_xevent): Call xg_resize_widgets for USE_GTK. - (handle_one_xevent): Make sure widget is mapped before - calling x_real_positions for USE_GTK. - (XTread_socket): Add GTK event loop for USE_GTK. - (x_set_window_size): Call xg_frame_set_char_size for USE_GTK. - (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK. - (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK. - (x_iconify_frame): Add code for USE_GTK. - (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK. - (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version - is in gtkutil.c. - (x_term_init): Add initialization for GTK. - (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK. + * font.c (font_load_for_face): Handle the case that the font in + face->lface is a string. - * xmenu.c: Include gtkutil.h for USE_GTK. - (Fx_popup_menu): Use current position if x and y are nil. - (single_menu_item, single_menu_item, Fx_popup_dialog): - Check for USE_GTK. - (popup_widget_loop): New function for USE_GTK. - (x_activate_menubar): Add code for USE_GTK. - (popup_activate_callback, popup_deactivate_callback) - (menu_highlight_callback, menubar_selection_callback): - Add USE_GTK versions. - (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK. - (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK. - (free_frame_menubar): Only compile if not USE_GTK. GTK version - is in gtkutil.c. - (popup_selection_callback): New version for USE_GTK. - (create_and_show_popup_menu): New fuction, one USE_GTK version and - one USE_X_TOOLKIT version. - (xmenu_show): Call create_and_show_popup_menu. - (dialog_selection_callback): New version for USE_GTK. - (create_and_show_dialog): New fuction, one USE_GTK version and - one USE_X_TOOLKIT version. - (xdialog_show): Call create_and_show_dialog. - - * xfns.c: Include gtkutil for USE_GTK. - (x_window_to_frame, x_any_window_to_frame) - (x_non_menubar_window_to_frame, x_menubar_window_to_frame) - (x_top_window_to_frame): Add code for USE_GTK. - (x_set_background_color): Call xg_set_background_color for GTK. - (x_set_menu_bar_lines): Check for USE_GTK. - (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK. - (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK. - (x_window): Call xg_create_frame_widgets for USE_GTK. - (Fx_create_frame): Check for USE_GTK. - (Fx_file_dialog): New implementation for USE_GTK. - - * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar. - (update_menu_bar): Add check for USE_GTK. - (update_tool_bar): Add check for USE_GTK and external tool bar. - (redisplay_tool_bar): Add check for USE_GTK and external tool bar. - (redisplay_internal): Add check for USE_GTK and popup_activated. - (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR. - (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR. - (display_menu_bar): Add check for USE_GTK - - * lisp.h (Vx_resource_name): Declare extern. - - * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT - for USE_GTK. - (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK. - - * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK. - (FRAME_EXTERNAL_TOOL_BAR): New macro. - (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK. - - * fileio.c (Fread_file_name): Add check for USE_GTK. - - * dispnew.c (adjust_frame_glyphs_for_window_redisplay): - Add check for USE_GTK. - - * config.in: Added HAVE_GTK. - - * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK. - -2003-01-18 Stefan Monnier - - * charset.h (Funibyte_char_to_multibyte): Export. - -2003-01-18 Jan Dj,Ad(Brv - - * xmenu.c (mouse_position_for_popup): New function. - (Fx_popup_menu): Call mouse_position_for_popup for X and - mouse_position_hook for others. - -2003-01-17 Kim F. Storm - - * editfns.c (Finsert): Mention `string-make-multibyte' and - `string-as-multibyte' in doc string. - -2003-01-17 Kenichi Handa - - * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here. +2008-02-01 Kenichi Handa - * editfns.c (Fformat): Convert an unibyte char argument that is - formatted by "%c" to multibyte if the total result must be a - multibyte string. + * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface. -2003-01-16 Kim F. Storm +2008-02-01 Kenichi Handa - * process.c (set-process-filter): Document unibyte/multibyte-ness - of string argument. + * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: + Fix previous change. If the frame is not on a window system, + signal an error. -2003-01-16 Kenichi Handa +2008-02-01 Kenichi Handa - * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros. + * coding.c (decode_coding_object, encode_coding_object): Adjust + marker positions after conversion. - * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY. - (re_search_2): Likewise. + * lisp.h (struct Lisp_Marker): New member need_adjustment. -2003-01-15 Kenichi Handa +2008-02-01 Kenichi Handa - * xdisp.c (message_dolog): Fix bug of the case that *Message* - buffer is unibyte. + * font.c (font_find_for_lface): Fix the handling of the return + value of font_has_char. + (Ffont_shape_text): Fix previous change. -2003-01-15 Francesco Potort,Al(B + * fontset.c (FONTSET_REF_AND_RANGE): Delete it. + (fontset_ref_and_range): Delete it. + (fontset_find_font): Call char_table_ref_and_range instead of + FONTSET_REF_AND_RANGE. + (make_fontset): Don't setup font groups of Latin here. + (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII. + (new_fontset_from_font): Make the specified font the default for + all Latin characters. - * fns.c (Fsubstring): Clarify doc string. +2008-02-01 Kenichi Handa - * textprop.c (Ftext_properties_at, Fnext_char_property_change) - (Fprevious_char_property_change) - (Fnext_single_char_property_change) - (Fprevious_single_char_property_change, Fnext_property_change) - (Fnext_single_property_change, Fprevious_property_change) - (Fprevious_single_property_change, Fadd_text_properties) - (Fput_text_property, Fset_text_properties) - (Fremove_text_properties, Fremove_list_of_text_properties) - (Ftext_property_any, Ftext_property_not_all): Clarify doc strings. + * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame + is on a window system before accessing the fontset of the frame. -2003-01-14 Kim F. Storm +2008-02-01 Kenichi Handa - * process.h (struct Lisp_Process): New member plist replaces old - member private_vars. All uses changed. + * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el. - * process.c: Reworked 2003-01-12 change -- call a plist a plist! - (QCplist): Rename from QCvars. Change all uses. - (Fprocess_plist): Replaces Fprocess_variable. Simplified. - (Fset_process_plist): Replaces Fset_process_variable. Simplify. - (syms_of_process): Intern, staticpro, defsubr these. - (Fmake_network_process): Describe :plist arg. Remove :vars arg. + * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only + when both HAVE_M17N_FLT and HAVE_LIBOTF are defined. -2003-01-14 Francesco Potort,Al(B + * font.c (Ffont_shape_text): If the font driver doesn't have a + shaper function, make zero-width glyphs to have at least one-pixel + width. Fix setting of `to' field of glyphs. - * m/delta.h: Remove (obsolete). +2008-02-01 Kenichi Handa -2003-01-13 Francesco Potort,Al(B + * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of + glyphs. - * fileio.c (Fdelete_directory, Fdelete_file): Document the - behaviour in front of symlinks. - (Fdelete_file): Raise an error on directories. + * font.h (struct font_driver): Improve docstring of member `shape'. -2003-01-13 Dave Love +2008-02-01 Kenichi Handa - * fns.c (Freverse): Use QUIT. + * composite.c (syms_of_composite): Fix docstring of + auto-composition-function. -2003-01-13 Richard M. Stallman + * font.h (LGLYPH_SIZE): New macro. - * minibuf.c (minibuffer_completion_contents): - Error if point is inside prompt. + * font.c (Ffont_fill_gstring): Stop filling when a character not + supported by the font is found. + (Ffont_shape_text): When a shape callback function returns nil, + try at most two more times with larger gstring. + (Ffont_at): Fix getting of w. Call font_at with correct 5th argument. - * keyboard.c (command_loop_1): Don't redisplay directly - if there's a post-command-hook. + * xdisp.c (handle_auto_composed_prop): Change the argument to + auto-composition-function. - * fileio.c (syms_of_fileio) : Doc fix. - (Fdo_auto_save): Add gcpros around Ffile_name_directory. + * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE. + (ftfont_shape_by_flt): If an element of lgstring is nil, make a + Lispy glyph and store it in the lgstring. -2003-01-12 Kim F. Storm + * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE. - * process.h (struct Lisp_Process): New member private_vars. + * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE. - * process.c (QCvars): New variable. - (syms_of_process): Intern and staticpro it. - (Fset_process_contact): Removed function. - (Fprocess_variable, Fset_process_variable): New functions. - (syms_of_process): Defsubr them. - (Fstart_process): Initialize private_vars plist to nil. - (Fmake_network_process): New arg :vars to setup the private - variables for new network process. - (server_accept_connection): Copy server's private variables to - client process. +2008-02-01 Kenichi Handa - * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious - crashes). Code rewritten and simplified. Now directly aligns the - pointer and recalculates pure_bytes_used, rather than aligning the - size and adjusting the pointer. + * font.c (Ffont_shape_text): Avoid unnecessary composition. -2003-01-11 Kim F. Storm + * fontset.c (Vfont_encoding_charset_alist): New variable. + (syms_of_fontset): DEFVAR it. + (reorder_font_vector, fontset_find_font): Optimize for the case of + no need of reordering. + (face_for_char): Map the charset property by + Vfont_encoding_charset_alist. - * process.c (Fset_process_contact): New function. - (syms_of_process): defsubr it. - (make-network-process): Update doc. +2008-02-01 Jason Rumney -2003-01-10 Andreas Schwab + * w32font.c (logfonts_match): Don't check adstyle here. + (font_matches_spec): Check here against physical font instead. + (add_font_entity_to_list): Avoid some substitutions. - * alloc.c (pure_alloc): Correct alignment for Lisp_Floats. - Reported by Berthold Gunreben . + * font.c (font_parse_fcname): Default weight and slant to normal. + (font_score): Prefer normal fonts if weight or slant unspecified. + (font_score) [WINDOWSNT]: Scale weight difference down to closer + match freetype scores. -2003-01-10 Dave Love +2008-02-01 Jason Rumney - * composite.c (syms_of_composite): Make composition_hash_table weak. + * w32font.c (w32font_text_extents): Don't use the frame stored in the + font, as it may have been deleted. + (w32_enumfont_pattern_entity): Map generic family to adstyle using + most common hyphenless variation. + (logfonts_match): Check generic family. + (font_matches_spec): Don't check generic family here. + (fill_in_logfont): Set generic family based on adstyle. -2003-01-09 Kim F. Storm + * w32font.h (w32font_get_cache): Update declaration. - * process.c (Fmake_network_process): Convert new port number - to host byte order for `:service t' case. From Mario Lang. +2008-02-01 Kenichi Handa -2003-01-08 Jan Dj,Ad(Brv + * ftfont.c (ftfont_get_cache): Adjust the argument type. - * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event - instead of XtAppProcessEvent. + * frame.c (x_set_font_backend): Don't call Fclear_font_cache. + If none of the new drivers are available, call font_update_drviers + with the old drivers. - * xterm.c (handle_one_xevent): New function. - (x_dispatch_event): New function. - (XTread_socket): Call handle_one_xevent. + * w32font.c (w32font_get_cache): Adjust the argument type. - * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New. + * xfont.c (xfont_get_cache): Adjust the argument type. - * xmenu.c (Fx_popup_menu): If popping up at mouse position, - call XQueryPointer to get coordinates. - (popup_get_selection): Do not set popup_activated_flag to zero, - let popup_deactivate_callback do that. Needed for Motif. - Call x_dispatch_event instead of XtDispatchEvent. - (xmenu_show): Calculate root coordinate from frame top/left position. + * font.h (struct font_driver): Change argument type of get_cache. -2003-01-08 Kim F. Storm + * xftfont.c (xftfont_start_for_frame): Delete prototype. - * process.c (server_accept_connection): Fix recording of new - connection's local address in :local property of contact info. - (Fmake_network_process): Record local network address for new - client processes in :local property of contact info. - (format-network-address): Add arg OMIT-PORT. Change callers. + * font.c (Ffont_get): Fix arguments to Fassoc. + (font_prepare_cache, font_finish_cache, font_get_cache): New functions. + (font_clear_cache): New function. + (font_list_entities, font_matching_entity): Use font_get_cache. + (font_update_drivers): Call font_clear_cache when finishing a driver. -2003-01-07 Dave Love + * fontset.c (fontset_find_font): Fix previous change. - * Makefile.in (fns.o): Depend on coding.h. +2008-02-01 Kenichi Handa -2003-01-06 Dave Love + * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access + dpyinfo->font_table. + (x_delete_display) [USE_FONT_BACKEND]: Likewise. + (x_delete_terminal) [USE_FONT_BACKEND]: Likewise. - * fns.c: Include coding.h. Use POINTER_TYPE*, not void*. - (Vlocale_coding_system): Declare. - (Qcodeset, Qdays, Qmonths, Qpaper): New. - (Flanginfo): New. - (syms_of_fns): Initialize new stuff. + * font.c (font_at): Handle the case that the arg C is negative. + Handle the unibyte case. + (Ffont_at): Call font_at with the arg C -1. -2003-01-07 Markus Rost + * xdisp.c (handle_auto_composed_prop): Don't get a character at + the position here, and call font_at with the arg C -1. + Don't check the range of the existing composition at the point. - * minibuf.c (Fread_variable): Doc fix. +2008-02-01 Kenichi Handa - * eval.c (Fuser_variable_p): Doc change. For custom variables, - use the same test as for custom-variable-p. + * fontset.c (fontset_add): New args charset_id and family. + Change caller. + (load_font_get_repertory, fontset_find_font): Assume that + font_spec is always a font-spec object. + (Fset_fontset_font): Always store a font-spec object in a fontset. -2003-01-05 Richard M. Stallman + * xdisp.c (handle_auto_composed_prop): Use Fget_text_property + instead of get_property_and_range. - * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT. - Count LAST_LINE_MISFIT in scroll margin for end of window. - Move label too_near_end before setting SCROLL_MARGIN_POS. - Set LAST_LINE_MISFIT before jumping there. +2008-02-01 Kenichi Handa - * xdisp.c (try_scrolling): Calculate amount_to_scroll better in - scroll_conservatively case. If scrolling that much doesn't change - STARTP, move it down one line. + * xftfont.c (struct xftfont_info): Delete the member ft_face. + (xftfont_open): Don't keep locking face. + (xftfont_close): Don't unlock face. + (xftfont_anchor_point, xftfont_shape): Lock and unlock face. + + * fontset.c (fontset_find_font): Don't prefer a font of + supplementary charset. + +2008-02-01 Kenichi Handa + + * ftfont.c (struct OpenTypeSpec): Rename members script_tag to + script, langsys_tag to langsys, new member script. + (OTF_TAG_STR): Terminate by '\0'. + (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the + listing to the script specified in that property. Fix arg to + OTF_check_features. + +2008-02-01 Jason Rumney + + * w32font.h: New file. + + * w32font.c: Include it. + (struct w32font_info): Add owning_frame field. Move to w32font.h. + (w32font_open): Set owning_frame. + (w32font_text_extents): Use owning_frame. + (struct font_callback_data): Add opentype_only field. + (add_font_entity_to_list): Use it to filter fonts. + Don't check against full name. + (w32font_list_internal): New function. + (w32font_list): Use it. + (w32font_match_internal): New function. + (w32font_match): Use it. + (w32font_open_internal): New function. + (w32font_open): Use it. + (w32font_get_cache, w32font_close, w32font_has_char) + (w32font_encode_char, w32font_text_extents, w32font_draw): + Make non-static. + + * makefile.w32-in (w32font.o): Depend on w32font.h. - * xdisp.c (redisplay_window): Pass last_line_misfit arg to - try_scrolling. Make it 1 after make_cursor_line_fully_visible fails. +2008-02-01 Kenichi Handa - * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no - selected frame. + * charset.c (Fdefine_charset_internal): Record a supplementary + charset at the tail of Vcharset_order_list. - * keymap.c (apropos_predicate, apropos_accumulate): Make them static. - (syms_of_keymap): Staticpro them. - (Fapropos_internal): Initialize them and clear them out. - Don't GCPRO them. + * font.c (Ffont_shape_text): Fix the return value. - * buffer.c (syms_of_buffer) : Doc fixes. + * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names. - * lisp.h: New misc type Lisp_Save_Value. - (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value. - (XSAVE_VALUE): New macro. - (struct Lisp_Save_Value): New data type. - (union Lisp_Misc): Add u_save_value alternative. - (make_save_value): Declare. + * xdisp.c (handle_auto_composed_prop): Fix previous change. - * alloc.c (make_save_value): New function. +2008-02-01 Kenichi Handa - * xterm.c (x_catch_errors): Save dpy using make_save_value. - (x_catch_errors_unwind): Call XSync. + * ftfont.c (struct OpenTypeSpec): New struct. + (OTF_SYM_TAG, OTF_TAG_STR): New macros. + (ftfont_get_open_type_spec): New function. + (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property. -2003-01-01 Richard M. Stallman + * lread.c (read1): Redo the previous change with checking Vpurify_flag. - * window.c (window_scroll_pixel_based): Partially undo last change. +2008-02-01 Jason Rumney - * keyboard.c (command_loop_1): Call adjust_point_for_property - in direct action cases for Qforward_char and Qbackward_char. - Set already_adjusted so it won't be done twice. + * w32font.c (add_font_entity_to_list): Compare only the beginning + of full name. -2002-12-30 Richard Dawe +2008-02-01 Kenichi Handa - * src/config.in (!HAVE_SIZE_T): Fix order of arguments in - type definition of size_t. + * xdisp.c (handle_auto_composed_prop): Simplify the code. + Never return HANDLED_RECOMPUTE_PROPS. -2003-01-02 Steven Tamm +2008-02-01 Kenichi Handa - * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to - distinguish Carbon GUI builds from X11 builds on darwin. + * font.c (font_gstring_produce): Delete it. -2002-12-30 Steven Tamm + * composite.h (COMPOSITION_METHOD): + Handle COMPOSITION_WITH_GLYPH_STRING. - * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2 - to default to t. +2008-02-01 Kenichi Handa -2002-12-29 Francesco Potort,Al(B + * xfont.c (Qx): Delete. + (syms_of_xfont): Don't initialize Qx. - * data.c (Fstring_to_number, Fminus): Better English in doc strings. + * composite.h (enum composition_method): + Define COMPOSITION_WITH_GLYPH_STRING unconditionally. -2002-12-28 Steven Tamm +2008-02-01 Kenichi Handa - * Makefile.in (macosx-bundle): Fix Mac OS X/Carbon port to - allow building in a different directory than source. Uses some - GNU Make extensions, but there is no other make on Mac OS X. + * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally. + (choose_face_font): Accept new form of font-spec. -2002-12-26 Francesco Potort,Al(B + * frame.h (font_driver_list): Declare it unconditionally. + (struct frame): Define members font_driver_list and font_data_list + unconditionally. - * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local) - (Fsetq_default, Fmake_local_variable, Fkill_local_variable) - (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus) - (Fstring_to_number): Mention the returned value in the doc strings. + * fontset.c: Include "font.h" unconditionally. + (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd. + (Fset_fontset_font): Accept a font-spec object. -2002-12-23 Richard M. Stallman + * font.c (font_unparse_xlfd): If pixel_size is zero, make the + PIXEL_SIZE part a wild card. - * buffer.c (syms_of_buffer) - : Doc fix. + * dispextern.h (struct glyph_string): Define members clip and + num_clips unconditionally. + (struct face): Define members font_info and extra unconditionally. - * xmenu.c (parse_single_submenu): Use individual keymap's prompt - string as pane name, if there is one. - (set_frame_menubar): Save menu_items_n_panes from each call to - parse_single_submenu and use it when calling digest_single_submenu. + * ftfont.c (ftfont_open): Set members maybe_otf and otf of + ftfont_info only when HAVE_LIBOTF is defined. - * window.c (window_scroll_pixel_based): Fix check for reaching BEGV. - Don't try to make last line fully visible if it is past end of window. +2008-02-01 Andreas Schwab -2002-12-22 Steven Tamm + * xdisp.c (back_to_previous_visible_line_start): Fix type of beg + and end. - * macmenu.c (MIN_POPUP_SUBMENU_ID): Add. - (mac_menu_show): Add support for hierarchical popup menus. - (add_menu_item): Remove indentation support. - (fill_submenu, fill_menu): Create hierarchical menus - instead of using indentation. +2008-02-01 Jason Rumney -2002-12-22 Richard M. Stallman + * w32font.c (w32font_driver): Add new fields. - * xdisp.c (try_cursor_movement): Don't call try_window here. - (redisplay_window): Never redisplay minibuffer when inactive. +2008-02-01 Kenichi Handa - * window.c (select_window_1): Undo 9/21 change. + * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@. + (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally. + (LIBES): Add @M17N_FLT_CFLAGS@. + + * composite.c (compose_text): Don't treat the new style + composition specially. + + * emacs.c (main): Call syms_of_font unconditionally. + + * font.h (FONT_ENTITY_NOT_LOADABLE) + (FONT_ENTITY_SET_NOT_LOADABLE): New macros. + (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring. + (struct font_driver): New member shape. + (font_registry_charsets): Extern it. + (font_find_for_lface, font_prepare_composition): Adjust prototype. + (font_otf_capability, font_drive_otf): Delete their externs. + + * font.c [HAVE_M17N_FLT]: Include . + (font_charset_alist, font_registry_charsets): Move from xfont.c + and rename. + (font_prop_validate_otf): New function. + (font_property_table): Register it for QCotf. + (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER) + (font_drive_otf): Delete. + (font_prepare_composition): New arg F. Adjust for the change of + lispy gstring. + (font_find_for_lface): New arg C. + (font_load_for_face): Adjust for the change of font_find_for_lface. + (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of + lispy gstring. + (Ffont_shape_text): New function. + (Fopen_font): If the font size is not given, use 12-pixel. + (Ffont_at): New arg STRING. + (syms_of_font): Initalize font_charset_alist. + Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont + conditionally. -2002-12-22 Steven Tamm + * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple + fonts of the same font-spec. Change the format of RFONT-DEF. + (face_for_char, make_fontset_for_ascii_face, Finternal_char_font): + Adjust for the change of RFONT-DEF. + (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec. + + * ftfont.h: New file. + + * ftfont.c: Don't include Freetype headers. Include "ftfont.h". + (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf. + (ftfont_open) [HAVE_LIBOTF]: Initialize the above members. + (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set + font_otf_capability and font_drive_otf, set ftfont_shape. + (ftfont_list): Adjust for the change of :otf property value. + (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct. + (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf) + (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt) + (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.s + (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro. + (otf_gstring, gstring, m17n_flt_initialized): New variables. + + * w32term.c (x_draw_composite_glyph_string_foreground): + Adjust for the change of lispy gstring. + + * xdisp.c (handle_composition_prop): Adjust for the change of + lispy gstring. Call a function for auto-composition with the + third arg it->window. + (fill_composite_glyph_string): Adjust for the change of lispy string. + (x_produce_glyphs): Adjust for the change of font_prepare_compositionl. + + * xfaces.c (set_font_frame_param): Adjust for the change of + font_find_for_lface. + + * xfont.c (x_font_charset_alist): Move to font.c and rename. + (xfont_registry_charsets): Likewise. Change caller. + (syms_of_xfont): Don't handle x_font_charset_alist. + + * xftfont.c: Include "ftfont.h". + (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf. + (xftfont_open) [HAVE_LIBOTF]: Initialize the above members. + (xftfont_close) [HAVE_LIBOTF]: Close otf. + (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function. + (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]: + Set xftfont_driver.shape to xftfont_shape. + + * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for + the change of lispy gstring. - * macterm.c (XTread_socket): Call KeyTranslate for control and - meta to deal correctly shifted non-alpha characters, like C-S-5 - being treated like C-%. Do not look for shift key to deal - with masking off control-key with mac-reverse-ctrl-meta. +2008-02-01 Kenichi Handa -2002-12-21 Richard M. Stallman + * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error. - * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS. - If it is non-nil, run timers. Use an unwind-protect to requeue - the events that were read ahead. - (popup_get_selection_unwind): New subroutine. - (popup_get_selection_queue): File-scope variable now holds that queue. - (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection. - (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection. - Use an unwind-protect to pop down the dialog box. - (xdialog_show_unwind): New subroutine implements that. +2008-02-01 Jason Rumney - * xdisp.c (row_containing_pos): Change exit test using last_y. - (try_window_id): Abort if row_containing_pos returns null. + * w32font.c (w32font_draw): Fill background manually. - * lread.c (load_error_handler): New function. - (Fload): Handle errors in Fsubstitute_in_file_name. - Don't expect Fsignal to return. +2008-02-01 Jason Rumney - * eval.c: Errors and throws work right with interrupt blocking. - (struct catchtag): New elt interrupt_input_blocked. - (unwind_to_catch): Restore interrupt_input_blocked from saved value. - (internal_catch, Fcondition_case, internal_condition_case) - (internal_condition_case_1, internal_condition_case_2): Save it. - (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT. + * font.c (Qfontp): Remove unused symbol. + (QCantialias): New symbol. + (syms_of_font): Define it. + (font_property_table): Set a validator for QCantialias. - * editfns.c (Fformat): Add parens. + * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY): + Define if not already. + (QCfamily): Share with xfaces.c. + (Qstandard, Qsubpixel, Qnatural): New symbols. + (syms_of_w32font): Define them. Don't define QCfamily here. + (w32_antialias_type, lispy_antialias_type): New functions. + (w32_enumfont_pattern_entity): New arg requested_font. + Set antialias parameter if non-default was requested. + (fill_in_logfont): Fill in lfQuality if :antialias specified. - * dired.c (file_name_completion): Fix that change. - Delete special quit-handling code; just use QUIT. +2008-02-01 Kenichi Handa -2002-12-21 Tak Ota + * lread.c (read1): Undo the previous change. - * dired.c (file_name_completion): Close directory on error - just as in directory_files_internal. +2008-02-01 CHENG Gao (tiny change) -2002-12-19 David Kastrup + * frame.c (Fdelete_frame): Call font_update_drivers only when + USE_FONT_BACKEND is defined.. - * window.c (Fset_window_configuration): Set old_point to correct - value when new_current_buffer == current_buffer. +2008-02-01 Kenichi Handa -2002-12-17 Ben Key + * font.h (struct font_bitmap): New member bits_per_pixel. + (struct font_driver): New members start_for_frame and end_for_frame. + (struct font_data_list): New struct. + (font_put_frame_data, font_get_frame_data): Extern them. - Revisited my earlier fix for the following entry in etc/PROBLEMS: - "Emacs built on Windows 9x/ME crashes at startup on Windows XP, - or Emacs builtpart of on XP crashes at startup on Windows 9x/ME." + * frame.h (struct frame): New member font_data_list. - These changes were in part based upon suggestions made by Peter - 'Luna' Runestig [peter@runestig.com]. + * font.c (font_update_drivers): Call driver->start_for_frame and + driver->end_for_frame at proper timings. + (font_put_frame_data, font_get_frame_data): New functions. + (Ffont_spec): Add usage in the docstring. - * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token) - (g_b_init_get_token_information, g_b_init_lookup_account_sid) - (g_b_init_get_sid_identifier_authority ): Add several static - global variables. + * frame.c (make_frame): Initialize f->font_data_list to NULL. + (Fdelete_frame): Call font_update_drivers. - * w32.c (globals_of_w32): New function. Used to initialize those - global variables that must always be initialized on startup even - when the global variable initialized is non zero. Its primary - purpose at this time is to set the global variables - g_b_init_is_windows_9x, g_b_init_open_process_token, - g_b_init_get_token_information, g_b_init_lookup_account_sid, and - g_b_init_get_sid_identifier_authority to 0 on startup. - Called from main. + * xftfont.c (struct xftface_info): Delete the member xft_draw. + (xftfont_prepare_face, xftfont_done_face): Adjust for the above change. + (xftfont_get_xft_draw): New function. + (xftfont_draw): Get XftDraw by xftfont_get_xft_draw. + (xftfont_end_for_frame): New function. + (syms_of_xftfont): Set xftfont_driver.end_for_frame. - * w32.c (is_windows_9x): Perform initialization only if - g_b_init_is_windows_9x is equal to 0. On initialization set - g_b_init_is_windows_9x equal to 1. + * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs. + Change argument. Cache GCs in the per-frame data. + (struct ftxfont_frame_data): New struct. + (ftxfont_draw_bitmap): New arg gc_fore and flush. + (ftxfont_prepare_face, ftxfont_done_face): Delete them. + (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs. + (ftxfont_end_for_frame): New function. + (syms_of_ftxfont): Set ftxfont_driver.end_for_frame. - * w32.c (open_process_token): Perform initialization only if - g_b_init_open_process_token is equal to 0. On initialization set - g_b_init_open_process_token equal to 1. + * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel. - * w32.c (get_token_information): Perform initialization only if - g_b_init_get_token_information is equal to 0. On initialization - set g_b_init_get_token_information equal to 1. +2008-02-01 Kenichi Handa - * w32.c (lookup_account_sid): Perform initialization only if - g_b_init_lookup_account_sid is equal to 0. On initialization - set g_b_init_lookup_account_sid equal to 1. + * xselect.c (Vselection_coding_system) + (Vnext_selection_coding_system): Delete them. + (syms_of_xselect): Don't declare selection-coding-system and + next-selection-coding-system. They are declared in select.el. - * w32.c (get_sid_identifier_authority): Perform initialization - only if g_b_init_get_sid_identifier_authority is equal to 0. - On initialization set g_b_init_get_sid_identifier_authority equal to 1. +2008-02-01 Jason Rumney - * w32fns.c (globals_of_w32fns): New function. Used to initialize - those global variables that must always be initialized on startup - even when the global variable initialized is non zero. - Its primary purpose at this time is to initialize the global variable - track_mouse_event_fn. + * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already. - * w32fns.c (w32_wnd_proc): Remove initialization of - track_mouse_event_fn from the handler for the WM_SETFOCUS message. + * w32fns.c: Include imm.h. + (get_composition_string_fn, get_ime_context_fn): New optional + system functions. + (globals_of_w32fns): Load them from imm32.dll. + (ignore_ime_char): New flag. + (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and + WM_IME_ENDCOMPOSITION messages. - * w32fns.c (syms_of_w32fns): Call globals_of_w32fns. + * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as + MULTIBYTE_CHAR_KEYSTROKE_EVENT. - * w32menu.c (globals_of_w32menu): New function. Used to - initialize those global variables that must always be initialized - on startup even when the global variable initialized is non zero. - Its primary purpose at this time is to initialize the global - variables get_menu_item_info and set_menu_item_info. +2008-02-01 Kenichi Handa - * w32menu.c (initialize_frame_menubar): Remove initialization of - get_menu_item_info and set_menu_item_info. + * lread.c (READCHAR): Call readchar with the 2nd arg NULL. + (READCHAR_REPORT_MULTIBYTE): New macro. + (readchar): New 2nd arg MULTIBYTE. + (read1): Use READCHAR_REPORT_MULTIBYTE for the first read. + Make symbol's name multibyte according to the multibyteness of the + source. - * w32menu.c (syms_of_w32menu): Call globals_of_w32menu. +2008-02-01 Kenichi Handa - * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu): - Declare them. + * xfaces.c (face_for_overlay_string): Call lookup_face with + correct arguments (fix of synching with the trunk). - * emacs.c (main): Call globals_of_w32 prior to calling - init_environment if WINDOWSNT is defined. Call globals_of_w32fns - and globals_of_w32menu if initialized is non zero and HAVE_NTGUI - is defined. +2008-02-01 Kenichi Handa - * w32term.c (x_update_window_begin): Fix Windows API error - detected by BoundsChecker. Test to determine if - w32_system_caret_hwnd is NULL prior to attempting to use - SendMessage to send the WM_EMACS_HIDE_CARET message to it. + * font.c (font_prop_validate_symbol, font_prop_validate_style) + (font_prop_validate_non_neg, font_prop_validate_spacing): + Delete argument prop_index. + (font_property_table): Change arguments to validater. Change Callers. + (font_lispy_object): Delete. + (font_at): Use font_find_object instead fo font_lispy_object. - * w32term.c (x_update_window_end): Fix Windows API error - detected by BoundsChecker. Test to determine if - w32_system_caret_hwnd is NULL prior to attempting to use - SendMessage to send the WM_EMACS_SHOW_CARET message to it. +2008-02-01 Kenichi Handa -2002-12-17 Kenichi Handa + * fileio.c (Fexpand_file_name): Adjust multibyteness of directory + and file names. - * coding.c (coding_system_require_warning): New variable. - (syms_of_coding): DEFVAR it. +2008-02-01 Jason Rumney - * coding.h (coding_system_require_warning): Extern it. + * w32font.c (add_font_name_to_list): Avoid vertical fonts. + (font_matches_spec): Remove debug output. + (add_font_entity_to_list): Avoid using substituted fonts. - * fileio.c (choose_write_coding_system): Even if - Vcoding_system_for_write is non-nil, if - coding_system_require_warning is nonzero, call - Vselect_safe_coding_system_function. +2008-02-01 Jason Rumney -2002-12-17 Markus Rost + * doc.c (Fsnarf_documentation): + * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change. - * Makefile.in (lisp, shortlisp): Add cus-face and timer. - (lisp): Add font-core. +2008-02-01 Miles Bader -2002-12-13 Stefan Monnier + * src/dispextern.h (struct glyph_row): Only define "clip" field if + HAVE_WINDOW_SYSTEM is defined. - * textprop.c (text_read_only): New arg `propval'. - (get_char_property_and_overlay): Remove unused var `next_overlay'. - (verify_interval_modification): Use text_read_only's new arg. +2008-02-01 Stefan Monnier -2002-12-13 Kenichi Handa + Fix up multi-tty merge. - * coding.c (Funencodable_char_position): Set pend correctly. + * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting + and indentation. -2002-12-12 Jason Rumney + * xfaces.c (free_realized_face, clear_face_gcs): + Include font_done_for_face in the input_blocked section, just in case. - * w32term.c (last_mousemove_x, last_mousemove_y): New variables. - (w32_read_socket) : Use them to detect non-movement. - Be more careful about when help_events are generated. + * xdisp.c (decode_mode_spec): Use terminal-local coding systems. + (get_char_face_and_encoding): Undo last change and remove the *other* + duplicate definition (i.e. keep the one that's better scoped and that + includes code for the font-backend). -2002-12-12 Steven Tamm + * terminal.c (create_terminal): Default keyboard_coding to + `no-conversion' and terminal_coding to `undecided'. - * macterm.c (mac_check_for_quit_char): Correctly set the - modifiers of the event to 0. - * mac.c (sys_select): Duplicate rfds before calling select to - ensure that rfds survive the while loop. + * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag. -2002-12-11 Kim F. Storm + * fontset.c (free_realized_fontsets): Check that the table entry does + contain a fontset before trying to compare it to `base'. - * xdisp.c (try_window_id): Don't call set_cursor_from_row if - row_containing_pos returned NULL. + * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc, + syms_of_charset, and syms_of_coding earlier because init_window_once + now needs Vcoding_system_hash_table to be setup. -2002-12-10 Steven Tamm + * coding.h (default_buffer_file_coding): Remove. - * mac.c (sys_read): Fix sys_read to not call select if IO is - non-blocking. - (sys_select): Fix sys_select to not use a timeout larger than - the one given. + * coding.c (default_buffer_file_coding): Remove. + (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather + than ->symbol, and use the terminal-local coding system. + (syms_of_coding): Don't setup the coding-systems that are not + terminal-local. + (Fdefine_coding_system_internal): Use XCAR/XCDR. -2002-12-10 Juanma Barranquero + * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table): + Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore. - * editfns.c (Fformat): Use alloca, not _alloca. + * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now + in chartab.c and were re-added here by mistake. + (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector. -2002-12-09 Richard M. Stallman + * doc.c (Fsnarf_documentation): + * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from + src to etc. - * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input - as the last thing. + * ChangeLog.10: Add mistakenly removed entry. -2002-12-09 Dave Love +2008-02-01 Dan Nicolaescu - * s/sol2-8.h: Removed. (Not necessary.) + * Makefile.in (fringe.o, minibuf.o): Fix dependencies. -2002-12-09 Matthew Swift +2008-02-01 Miles Bader - * editfns.c (Fformat): Handle precision in string conversion - specifiers like libc functions do (ie, print at most that many - characters). + * xdisp.c (get_char_face_and_encoding): Remove extraneous definition. + Add extra args to FACE_FOR_CHAR. -2002-12-08 Richard M. Stallman +2008-02-01 Kenichi Handa - * xdisp.c (row_containing_pos): Check more carefully - whether charpos is really in the row before returning it. + * keymap.c (where_is_internal_1): If key is a cons, store the copy + in sequence. -2002-12-07 Steven Tamm + * chartab.c (map_sub_char_table, map_char_table): If the range + contains just one character, call the function with that character + even if the depth is not 3. - * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read. +2008-02-01 Jason Rumney - * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at - each stack frame. This may change as it could be time consuming. + * w32font.c (w32font_text_extents): Calculate metrics for the + whole string. - * macterm.c (mac_check_for_quit_char, quit_char_comp) - (init_quit_char_handler, mac_determine_quit_char_modifiers) - (mac_initialize): Add code to check for pressing of quit_char - in the OS event queue. +2008-02-01 Jason Rumney - * mac.c (sys_select): Call mac_check_for_quit_char every second - while blocking on select. + * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages. - * mac.c (sys_read): Use sys_select to test for input first - before calling read, to allow C-g to break. +2008-02-01 Jason Rumney -2002-12-07 Richard M. Stallman + * w32term.c (x_set_glyph_string_clipping): Use + get_glyph_string_clip_rects. + (x_set_glyph_string_clipping_exactly, x_draw_glyph_string): + Adjust for the change of struct glyph_string. - * minibuf.c (Fcompleting_read): Doc fix. + * w32font.c (w32font_draw): Do clipping here. - * lread.c (syms_of_lread) : Doc fix. +2008-02-01 Kenichi Handa - * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call. + * xftfont.c (xftfont_draw): Adjust for the change of struct + glyph_string. - * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an - autoload. + * xterm.c (x_set_glyph_string_clipping): Use + get_glyph_string_clip_rects. + (x_set_glyph_string_clipping_exactly, x_draw_glyph_string): + Adjust for the change of struct glyph_string. - * data.c (Fdefalias): Record in load-history redefining an autoload. + * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to + the resulting clip(s}. + (expose_overlaps): Add arg r. Change callers. Set it to + row->clip temporarily. + (expose_window): Redraw rows overlapping the exposed area. - * alloca.c: Undo ifdef change accidentally made on 12-04. + * dispextern.h (struct glyph_row): New member clip. + (struct glyph_string): Delete members clip_x, clip_y, clip_width, + clip_height, new member clip, and num_clips. -2002-12-06 Francesco Potort,Al(B +2008-02-01 Kenichi Handa - * xfns.c (png_load): Avoid double gamma correction for PNG images. + * data.c (Fchar_or_string_p): Fix docstring. -2002-12-04 Richard M. Stallman +2008-02-01 Kenichi Handa - * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H. + * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info, + create a temporal XftDraw object. - * fileio.c (fcntl.h): Test only HAVE_FCNTL_H. +2008-02-01 Kenichi Handa - * alloca.c: Don't use #error. + * font.c (Ffontp): Fix docstring. -2002-12-03 Dave Love + * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a + strong evidence of ISO-2022. - * buffer.c (Qucs_set_table_for_input): New. - (Fget_buffer_create): Use it. - (Qset_buffer_major_mode_hook): Deleted. - (Fset_buffer_major_mode): Revert previous change. - (init_buffer_once): Intern ucs-set-table-for-input. - (syms_of_buffer): Delete Qset_buffer_major_mode_hook. - Add &Qucs_set_table_for_input. +2008-02-01 Kenichi Handa -2002-12-03 Andreas Schwab + * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not + SYNTAX_ENTRY_FOLLOW_PARENT. - * callint.c (Fcall_interactively): Use next_event only if less - than key_count. +2008-02-01 Stefan Monnier -2002-12-02 Andrew Choi + * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change + its type. + (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns): + Update to the new type of weak_hash_tables and next_weak. - * macmenu.c (add_menu_item, fill_menubar): Truncate menu item - names to 255 characters. + * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to + a plain C pointer to Lisp_Hash_Table. - * macterm.c (XTread_socket): If all frames have been collapsed, - expand the first one before handling drag-and-drop events. + * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP) + (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP) + (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP) + (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP) + (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP) + (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP) + (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP) + (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP) + (GC_EQ): Remove since they've been identical to their non-GC_ + alter-egos ever since the markbit was eradicated. - * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID, - which is detected by autoconf. + * src/alloc.c: + * src/buffer.c: + * src/buffer.h: + * src/data.c: + * src/fileio.c: + * src/filelock.c: + * src/fns.c: + * src/frame.h: + * src/lisp.h: + * src/macterm.c: + * src/print.c: + * src/process.c: + * src/w32fns.c: + * src/w32menu.c: + * src/w32term.c: + * src/xfns.c: + * src/xmenu.c: + * src/xterm.c: Replace uses of GC_* macros with the non-GC_ versions. -2002-12-01 Steven Tamm +2008-02-01 Kenichi Handa - * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the - offset in two hints table to allow prebinding to be redone and - allow the executable to be stripped. + * chartab.c (map_sub_char_table): Make it work for the top-level + char-table. Fix handling of parent char-table. + (map_char_table): Adjust for the above change. -2002-11-29 Dave Love +2008-02-01 Jason Rumney - * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was - already provided. + * w32font.c (Qgdi): Rename from Qw32. -2002-11-29 Richard M. Stallman +2008-02-01 Jason Rumney - * xdisp.c (start_display): Check more intelligently for - whether the line is continued. - (move_it_vertically_backward): Clear it->continuation_lines_width. + * w32bdf.c (get_quoted_string): Make function static. -2002-11-28 Dave Love +2008-02-01 Kenichi Handa - * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h: - * s/alliant.h, s/altos.h: Deleted. (Unused/empty.) + * xftfont.c (xftfont_open): If one of font's ASCII glyph has + bigger ascent and descent than those of the font, use them as + font's ascent and descent. -2002-11-27 Steven Tamm +2008-02-01 Kenichi Handa - * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause - more descriptive error output from lread.c:Fload upon most require - cycles during boostrapping. + * Makefile.in (${lispsource}international/charprop.el): Move this + target within "#ifdef HAVE_UNIDATA" and "#endif". -2002-11-27 Jason Rumney +2008-02-01 Kenichi Handa - * fileio.c (Finsert_file_contents): Give a more appropriate error - for files bigger than 2Gb when off_t is 32 bit. + * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el. + (shortlisp): Add ../lisp/language/tai-viet.el. - * dired.c (Ffile_attributes): Don't return negative file sizes for - files bigger than 2Gb when off_t is 32 bit. +2008-02-01 Ulrich Mueller -2002-11-27 Dave Love + * Makefile.in (${lispsource}international/charprop.el): Depend on + temacs${EXEEXT}. - * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define. +2008-02-01 Jason Rumney - * systty.h: Don't conditionally define GETPGRP_NO_ARG. - Test GETPGRP_VOID instead. - [BSD_TERMIOS]: Remove definitions (never used). + * w32font.c (w32font_close): Delete the GDI font object. - * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist): - Don't define. - (GC_SETJMP_WORKS, GC_MARK_STACK): Define. + * w32menu.c: Include character.h - * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally. + * w32proc.c: Likewise. -2002-11-25 Jason Rumney + * w32select.c: Likewise. - * w32.c (sys_write): Avoid non-blocking mode, which is not fully - supported. + * makefile.w32-in (w32proc.o): Depend on character.h -2002-11-25 Dave Love +2008-02-01 Jason Rumney - * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec. + * w32fns.c (syms_of_w32fns): Use DEFSYM macro. - * Makefile.in (TEMACS_LDFLAGS): Update last change. + * w32menu.c (syms_of_w32menu): Likewise. -2002-11-25 Andreas Schwab + * w32proc.c (syms_of_ntproc): Likewise. - * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change. + * w32select.c (syms_of_w32select): Likewise. -2002-11-24 Steven Tamm + * w32term.c (syms_of_w32term): Likewise. + +2008-02-01 Jason Rumney + + * w32font.c (w32font_draw): Delete brush after using it. + +2008-02-01 Jason Rumney + + * w32font.c (w32font_open): Don't set font_idx. + (w32font_text_extents): Try GetTextExtentPoint32W before defaulting + to font settings. + (w32font_draw): Fill background explicitly. + +2008-02-01 Jason Rumney + + * w32term.c (w32_initialize): Don't call w32font_initialize. + + * w32font.c (w32font_info): Remove subranges. + (QCsubranges, Qmodern, Qswiss, Qroman): Remove. + (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif) + (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian) + (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali) + (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada) + (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian) + (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham) + (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan) + (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun) + (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical): + New symbols. + (font_callback_data): New struct. + (w32font_list, w32font_match): Use it. + (w32font_open): Don't populate subranges. + (w32font_has_char): Use script Lisp symbols, not subrange bitmask. + (w32font_encode_char): Always return unicode code-point as-is. + (w32font_text_extents): Supply a tranformation matrix to + GetGlyphOutline. Never look up by glyph index. Avoid looping + twice. Use unicode version of GetTexExtentPoint32 instead of + glyph index version. + (set_fonts_frame): Remove + (w32_enumfont_pattern_entity): Add frame parameter, use it to + set frame parameter. Use backward compatible fake foundries. + Save generic family in extra slot under QCfamily. Make width slot + constant. Save QCspacing value. Save list of scripts instead of + binary subranges. + (w32_generic_family, logfonts_match, font_matches_spec): New functions. + (add_font_entity_to_list): Use font_callback_data struct. Filter + unwanted fonts. + (add_one_font_entity_to_list): Use font_callback_data struct. + (w32_registry): Default to iso10646_1. + (fill_in_logfont): Use dpi from extra slot. Don't bother with + string font registries. Don't fill in font name if it is a generic + family name, fill family instead. Use spacing, family and script + extra info to fill pitch, family and charset fields. + (list_all_matching_fonts): Use font_callback_data struct. + (unicode_range_for_char): Remove. + (font_supported_scripts): New function. + (w32font_initialize): Remove. + (syms_of_w32font): Update which symbols are defined. - * unexmacosx.c (unexec_realloc): Use malloc_default_zone to - determine the size of pointers alloced in unexed space instead - of using possibly invalid emacs_zone pointers. This fixes the - binary incompatibility problems caused by updates to libSystem.B. +2008-02-01 Jason Rumney -2002-11-24 Richard M. Stallman + * font.c (font_pixel_size): Reverse assq_no_quit args. - * search.c (Fstring_match): Doc fix. + * w32term.h (FONT_WIDTH): Report max width, not average. + (FONT_MAX_WIDTH): Remove. + (FONT_AVG_WIDTH): New macro. - * callint.c (Fcall_interactively): If a command fails because - `*' detects a read-only buffer, but RECORD_FLAG is set, - record it anyway if the args don't actually do tty input. + * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only + redefinition of FONT_WIDTH. -2002-11-22 Dave Love + * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH. + (w32_cache_char_metrics): Use FONT_WIDTH. - * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist. + * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH. - * keyboard.c (interrupt_signal): Provide forward declaration. - (kbd_buffer_store_event): Don't declare interrupt_signal. +2008-02-01 Jason Rumney - * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist. + * w32font.c (w32font_open): Make lfHeight negative. -2002-11-21 Richard M. Stallman + * w32fns.c (x_default_font_parameter): Use new style font name. + (Fx_create_frame, x_create_tip_frame): Initialize resx and resy. - * eval.c (interactive_p): Skip any number of bytecode - and special form frames, in any order. +2008-02-01 Jason Rumney + + * w32font.c (QCsubranges): New symbol. + (w32font_open, w32font_has_char): Get subranges from subproperty + of extra. + (w32_enumfont_pattern_entity): Set subranges as subproperty of extra. + (syms_of_w32font): Define :subranges symbol. + + * font.c (font_put_extra): Expose externally. + + * font.h (font_put_extra): Move declaration from font.c. + + * font.c (Ffont_get): Use font driver to determine otf capability. + (adjust_anchor): Check if driver defines anchor_point before using. + + * w32font.c (w32font_open): Handle size, height and pixel_size better. + (w32font_draw): Use options. + (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts. + Fix detection of truetype fonts. + (registry_to_w32_charset): Handle charsets other than iso8859-1 + expressed as lisp symbols. + (w32_registry): Express charset as lisp symbol. + (fill_in_logfont): Reverse pixel and point height logic. + Don't set width here. Set quality to default. + + * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts. + (x_to_w32_font): Fill in lfPitchAndFamily correctly. + + * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: + Remove redundant loop and allocation. + + * makefile.w32-in (font.o, w32font.o): New objects. + (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h + (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND. + + * xdisp.c (fill_composite_glyph_string): Make the first arg to + STORE_XCHARB a valid l-value. + + * w32term.c (w32_native_per_char_metric): Swap width and rbearing + calculations for non-Truetype fonts. + (x_draw_glyph_string): Sync with xterm.c. + (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: Remove + redundant code. + (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize. + + * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member. + (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h. + + * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c. + (x_to_w32_charset, w32_to_x_charset): Expose externally. + + * w32font.c: New file for w32 font backend. -2002-11-20 Jason Rumney +2008-02-01 Kenichi Handa - * w32fns.c (convert_mono_to_color_image): New function. - (xbm_load, xbm_load_image): Use it when foreground or background - is explicitly set. + * term.c: Don't include "buffer.h" twice. -2002-11-19 Dave Love +2008-02-01 Kenichi Handa - * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define. + * character.c (Funibyte_string): New function. + (syms_of_character): Defsubr it. -2002-11-18 Jason Rumney +2008-02-01 Jason Rumney - * w32fns.c (x_build_heuristic_mask): Filter palette info from color. - (XPutPixel): Swap blue and red. - (xpm_format, pbm_format, png_format, jpeg_format, tiff_format) - (gif_format, gs_format): Use IMAGE_ASCENT_VALUE. - (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p) - (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent. + * w32term.c [USE_FONT_BACKEND]: + (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc): + (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly): + (x_draw_glyph_string, x_draw_glyph_string_foreground): + (x_draw_composite_glyph_string_foreground, x_new_fontset2): + (x_free_frame_resources): Sync with xterm.c. -2002-11-18 Dave Love +2008-02-01 Andreas Schwab - * m/orion105.h (HAVE_ALLOCA): Don't define. + * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate + char-table size. - * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca. +2008-02-01 Kenichi Handa - * m/intel386.h: Don't include alloca.h or define alloca. + * font.c (check_otf_features): Define it regardless of + HAVE_LIBOTF. - * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare - malloc, realloc, calloc. +2008-02-01 Kenichi Handa - * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero) - (bcmp): Don't define. + * ftfont.c (ftfont_driver): Delete font_otf_gsub and + font_otf_gpos, add font_drive_otf. - * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define. + * fontset.c (fontset_find_font): Pay attention to font size + specified for a font. + (reorder_font_vector): Check contents of font_def. - * m/amdahl.h: Don't define LIB_STANDARD. + * font.c (struct otf_list): Delete it. + (otf_list): Make it a lisp variable.. + (otf_open): Use lispy otf_list. + (generate_otf_features): Rename from parse_gsub_gpos_spec. + (check_otf_features): New function. + (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): New + functinos. + (font_drive_otf): New function merging font_otf_gsub and + font_otf_gpos. + (font_open_for_lface): New arg spec. Change argument order. + (font_load_for_face): Adjust for the change of font_open_for_lface. + (Ffont_drive_otf): New function merging Ffont_otf_gsub and + Ffont_otf_gpos. + (syms_of_font): Staticpro otf_list. Delete defsubr of + Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf. - * m/alpha.h: Move OSF1 stuff from here to s/osf1.h. + * xfaces.c (set_font_frame_param): Adjust for the change of + font_open_for_lface. - * s/osf1.h: Move OSF1 stuff from m/alpha.h to here. + * font.h (font_open_for_lface): Adjust prototype. + (struct font_driver): Delete members otf_gsub and otf_gpos, add + member otf_drive. + (font_otf_gsub, font_otf_gpos): Delete externs. + (font_drive_otf): Extern it. - * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h: - Don't include alloca.h. +2008-02-01 Kenichi Handa - * s/aix3-2.h (HAVE_FSYNC): Don't define. + * font.c (font_at): If the window W is not on a window system, + return Qnil. - * regex.c (_GNU_SOURCE): Don't define. + * coding.c (produce_chars, encode_coding): Don't call + insert_from_gap if no characters to produce. - * process.c (_GNU_SOURCE): Don't define. +2008-02-01 Kenichi Handa - * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define. + * fontset.c (free_realized_fontsets): Avoid unnecessary call of + Fclear_face_cache. -2002-11-18 Markus Rost + * xfaces.c (face_for_font): Check also face->font==font->font.font. - * s/sol2-8.h: Include sol2-6.h. +2008-02-01 Miles Bader -2002-11-18 Miles Bader + * emacs.c (main): Change default value of `enable_font_backend' to 1. + Parse "--disable-font-backend" option. + (standard_args): Add "--disable-font-backend" option. - * dispextern.h (struct face): Add `overstrike' field. - * xterm.c (x_draw_glyph_string_foreground) - (x_draw_composite_glyph_string_foreground): Implement overstriking. - * xfaces.c (load_face_font): Set `face->overstrike' based on - result from choose_face_font. - (best_matching_font, choose_face_font): Add `needs_overstrike' - argument, and use it to return whether overstriking is desirable - for this face/font combo. - (set_font_frame_param: Pass new argument to choose_face_font. +2008-02-01 Kenichi Handa -2002-11-17 Ben Key + * fontset.c (fontset_find_font): New function. + (fontset_font): Use fontset_find_font. + (make_fontset_for_ascii_face): Don't set face ID in rfont_def. + Register the specified font for all Latin characters. + (new_fontset_from_font): Register the specified font for all Latin + characters. + (dump_fontset): For a realized fontset, include the base fontset + name in the returned vector. - This change is my fix for the following entry in etc/PROBLEMS: - "Emacs built on Windows 9x/ME crashes at startup on Windows XP, - or Emacs builtpart of on XP crashes at startup on Windows 9x/ME." +2008-02-01 Kenichi Handa - * w32.c: Added wrapper functions around the win32 API functions - OpenProcessToken, GetTokenInformation, LookupAccountSid, and - GetSidIdentifierAuthority. These wrapper functions serve two - purposes: - 1. They ensure that the wrapped function can never be called - when Emacs is running on an operating system on which they are - not supported (Microsoft Windows 95 / 98 / ME). - 2. They call the wrapped functions via function pointers rather - than calling them directly. This avoids taking advantage of the - undocumented fact that although these functions are not supported - in the 9x branch of Microsoft Windows, the functions do exist in - the version of advapi32.dll that is found in the 9x branch of - Microsoft Windows. + * character.h (CHAR_STRING): Cast C to unsigned on calling + char_string. - * w32.c (init_user_info): Replace the calls to the win32 API - functions OpenProcessToken, GetTokenInformation, LookupAccountSid, - and GetSidIdentifierAuthority with calls to the newly added - wrapper functions. + * character.c (char_string): Type of arg C changed to unsigned. + Signal an error if C is an invalid character code. - * w32.h: Added extern declarations for the following functions: - syms_of_w32term, syms_of_w32fns, syms_of_w32select, - syms_of_w32menu, and void syms_of_fontset. + * editfns.c (general_insert_function, Fchar_to_string): + Use CHARACTERP, not INTEGERP. - * w32fns.c (w32_wnd_proc): Add code to reinitialize the - function pointer track_mouse_event_fn in the handler for the - WM_SETFOCUS message. +2008-02-01 Kenichi Handa - * w32menu.c (initialize_frame_menubar): Add code to - reinitialize the function pointers set_menu_item_info and - get_menu_item_info. + * character.h (MIN_MULTIBYTE_LEADING_CODE) + (MAX_MULTIBYTE_LEADING_CODE): New macros. -2002-11-17 Ben Key + * regex.c (analyse_first): Fix for multibyte characters in "case + charset:" and "case categoryspec:". - * sound.c: Added a partial implementation of play-sound-internal - for Microsoft Windows. Added various #ifdef / #else / #endif - code blocks to separate the code that will compile under - Microsoft Windows from the code that is specific to GNU/Linux. - Moved several blocks of code around to make this separation of code - into Windows compatible and GNU/Linux compatible code blocks easier. +2008-02-01 Andreas Schwab - * makefile.w32-in: Include sound.c and link with WinMM.lib. + * Makefile.in (LIBES): Move standard libraries to the end. - * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly - added support for play-sound-internal under Windows would be - included in the build of Emacs. +2008-02-01 Kenichi Handa -2002-11-16 Jason Rumney + * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is + nonzero, don't shrink the buffer nextb. - * w32fns.c (w32_load_system_font): Don't disable Cleartype. + * buffer.h (struct buffer_text): New member inhibit_shrinking. - * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly. + * coding.c (coding_alloc_by_making_gap): New arg offset. + (alloc_destination): Call coding_alloc_by_making_gap with the arg + offset. + (decode_coding_iso_2022): Update coding->safe_charsets. + (decode_coding_gap): Temporarily set + current_buffer->text->inhibit_shrinking to 1. -2002-11-15 Stefan Monnier +2008-02-01 Kenichi Handa - * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup. - (adjust_point_for_property): Move out of display and invisible even if - we were already inside before (in case a property was added while - we weren't looking). Be more careful when handling invisible props. - Skip invisible text as if it really wasn't there at all. + * xterm.c (x_draw_composite_glyph_string_foreground): Fix + indexing into elements of s->cmp and s->char2b. -2002-11-15 Jason Rumney +2008-02-01 Juanma Barranquero - * w32term.c (x_draw_image_foreground) - (w32_draw_image_foreground_1): Use standard copy and invert - operations to draw images. + * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'. - * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for - depth of 1. - (xbm_read_bitmap_data): Invert bits as xbm is read in. - (XPutPixel): Don't invert bits here. +2008-02-01 Kenichi Handa -2002-11-15 Jason Rumney + * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable + target_multibyte instead of multibyte. + (re_match_2_internal): Call bcmp_translate with target_multibyte. + (bcmp_translate): Change the argument name from multibyte to + target_multibyte. - * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string) - (w32_draw_image_foreground_1): Handle image masks. - (x_draw_image_glyph_string): Don't BitBlt transparently. +2008-02-01 Kenichi Handa - * w32fns.c (w32_defined_color): Adjust RGB values for Emacs. - (x_from_xcolors): Adjust RGB values for W32. - (image_background, image_background_transparent) - (postprocess_image, x_to_xcolors, x_disable_image) - (x_build_heuristic_mask): Adapt for W32 and enable. - (x_create_x_image_and_pixmap): Mark images with palettes as such. - (xbm_load): Remove unused variable. - -2002-11-14 Richard M. Stallman + These changes are to compile a regexp into a pattern that can be + used both for multibyte and unibyte targets. - * buffer.c (syms_of_buffer): Doc fix. + * Makefile.in (search.o): Depend on charset.h. -2002-11-14 Dave Love + * character.c (multibyte_char_to_unibyte_safe): New function. - * alloc.c (SETJMP_WILL_NOT_WORK): Add note. + * search.c: Include "charset.h". + (compile_pattern_1): Delete argument multibyte. Don't set + cp->buf.target_multibyte here. Set cp->buf.charset_unibyte. + (compile_pattern): Don't compare cp->buf.target_multibyte. + Compare cp->buf.charset_unibyte. + (compile_pattern): Set cp->buf.target_multibyte. - * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor): - * xmenu.c (unuse_menu_items, digest_single_submenu): - * xfns.c (x_put_x_image): - * xdisp.c (message2_nolog, set_message): - * undo.c (record_point): - * terminfo.c (tparam): - * syntax.c (scan_sexps_forward): - * scroll.c (calculate_scrolling, calculate_direct_scrolling): - * composite.c (update_compositions): - * cm.c (calccost, cmgoto): - * charset.c (c_string_width): Declare all args (per C99). + * lisp.h (multibyte_char_to_unibyte_safe): Extern it. - * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare. + * regex.h (struct re_pattern_buffer): New member charset_unibyte. - * lisp.h (get_specified_cursor_type, get_window_cursor_type): - Don't declare. + * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg + multibyte. Change callers. + (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros. + (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers + to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively. + (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros. + (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table. + (regex_compile): Make the compiled pattern usable both for + multibyte and unibyte targets. + (analyse_first): Make the fastmap usable both for multibyte and + unibyte targets. + (TRANSLATE_VIA_MULTIBYTE): Delete. + (re_match_2_internal): Pay attention to the case that the + multibyteness of bufp and target may be different. - * emacs.c (main) [!VMS]: Avoid third arg. +2008-02-01 Kenichi Handa - * fns.c (Fcopy_sequence): Doc fix. - (Fmap_char_table): Cast `call2'. + * xdisp.c (x_produce_glyphs): When a font is not found, make the + empty box occupy at least one column width. -2002-11-14 Francesco Potort,Al(B +2008-02-01 Miles Bader - * s/sol2-8.h: New file. + * Makefile.in: Remove redundant HAVE_XFT clause. -2002-11-14 Kim F. Storm +2008-02-01 Kenichi Handa - * buffer.c (syms_of_buffer) : Document symbol - dependency on `risky-local-variable' and the :propertize form. + * xrdb.c (x_load_resources): Setup the default fontSet X reource. -2002-11-12 Stefan Monnier +2008-02-01 Kenichi Handa - * fns.c (Fmap_char_table): Don't use map_char_table's function arg. + * fontset.c (Finternal_char_font): Fix for the case of POSITION + being nil. - * syntax.c (scan_sexps_forward): Undo last patch. - Use a more obvious fix: check eob before updating the syntax table. +2008-02-01 Kenichi Handa -2002-11-09 Stefan Monnier + * xftfont.c (xftfont_open): Call FcConfigSubstitute. - * syntax.c (scan_sexps_forward): Update syntax table before reading - a char rather than after so we don't update the table past eob. +2008-02-01 Kenichi Handa -2002-11-09 Dave Love + * xftfont.c (xftfont_open): Don't enable antialias explicitly. - * buffer.c (Fset_buffer_major_mode): Fix last change. +2008-02-01 Kenichi Handa - * regex.c (regexec): Fix pmatch declaration. + * search.c (simple_search): Fix previous change. - * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input. +2008-02-01 Kenichi Handa - * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input - to self-inserting characters. - (syms_of_keyboard) : Doc fix. + * xftfont.c (ftfont_font_format): Extern declaration. - * coding.c (Vtranslation_table_for_input): New. - (syms_of_coding): DEFVAR it. + * frame.c (x_set_font): Fix the second arg to fs_query_fontset. -2002-11-08 Juanma Barranquero + * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0. + (xfont_list): Don't directly use Lisp_Object as an operand of &&. - * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable - window. + * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0. + (ftfont_font_format): Fix previous change. -2002-11-08 Pavel Jan,Am(Bk + * font.h (Ffont_xlfd_name): EXFUN it. - * process.c (Fformat_network_address): Remove unused locals p, - cp, and i. + * font.c (font_parse_xlfd): Fix the array size of `f'. + (register_font_driver): Use EQ to compare driver->type. -2002-11-06 Dave Love + * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function. + (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2. + (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise. - * buffer.c (Qset_buffer_major_mode_hook): New. - (Fset_buffer_major_mode): Use it. +2008-02-01 Kenichi Handa -2002-11-06 Richard M. Stallman + * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family) + (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined. - * xterm.c (x_term_init): Use turn_on_atimers, not start_polling - and stop_polling. +2008-02-01 Kenichi Handa - * process.c (wait_reading_process_input): - Test POLLING_PROBLEM_IN_SELECT, not hpux. - Avoid initialization for auto Lisp_Object var. + * xfont.c (xfont_open): Set font->format. - * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef. + * xftfont.c (xftfont_open): Set font->format. - * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined. + * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern. + (ftfont_list): Include FC_FONTFORMAT in FcObject. + (ftfont_open): Set font->format. + (ftfont_font_format): New function. -2002-11-05 Richard M. Stallman + * font.h (struct font): New memeber format. - * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef. + * font.c (Qopentype): New variable. + (syms_of_font): Defsym it. + (Fquery_font): Change the format of the last element of the return + value. - * callint.c (Fcall_interactively): New local filter_specs. - (Fcall_interactively): Check for progn as well as let. - Add a gcpro. - (Qprogn): New variable. - (syms_of_callint): Staticpro and init Qprogn. +2008-02-01 Kenichi Handa -2002-11-04 John Paul Wallington + * xfns.c (xic_create_xfontset): Try the default fontset name as a + last resort. - * lread.c (Feval_buffer): Doc fix. +2008-02-01 Kenichi Handa -2002-11-04 Dave Love + * coding.c (detect_coding_charset): Fix detection of multi-byte + charset. - * keyboard.c (read_char): Always translate iff - Vkeyboard_translate_table is a char table and c is valid. +2008-02-01 Bob Halley (tiny change) - * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table - and fix C types. + * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0. -2002-11-03 Stefan Monnier +2008-02-01 Kenichi Handa - * xdisp.c (single_display_prop_intangible_p): Strings are intangible. + * xdisp.c (get_next_display_element): Set it->face_id for the + first component of a composition. + (x_produce_glyphs): Check if the font is changed or not for composition. - * editfns.c (get_pos_property): Don't hardcode Qfield. +2008-02-01 Kenichi Handa - * keyboard.c (adjust_point_for_property): Handle `display' prop on - overlays. Also handle `invisible' prop. + (get_next_display_element): Set it->face_id for the + first component of a composition. + (x_produce_glyphs): Check if the font is changed or not for composition. -2002-11-02 Stefan Monnier +2008-02-01 Kenichi Handa - * coding.c (decode_coding_emacs_mule, decode_coding_iso2022) - (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL. + * fontset.c (Qlatin): New variable. + (syms_of_fontset): Define it as a lisp symbol. + (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII. -2002-11-01 Andreas Schwab +2008-02-01 Kenichi Handa - * editfns.c (Fmessage): Revert last change to properly handle %%. + * font.c (font_unparse_fcname): Pay attention to the case that + some of font property is a null string. -2002-11-01 Stefan Monnier +2008-02-01 Kenichi Handa - * xmenu.c (unuse_menu_items): New fun. - (menu_items_inuse): New var. - (syms_of_xmenu): Initialize it. - (init_menu_items): Use it to detect re-entrance. - (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done. - (Fx_popup_menu): Remove spurious XSETFRAME. + * term.c: Include "composite.h". + (encode_terminal_code): Output all components of composition. + Check the size of encode_terminal_src. + (produce_glyphs): For composition, call produce_composite_glyph. + (append_composite_glyph, produce_composite_glyph): New functions. - * editfns.c (find_field): Make an exception for nil fields. + * xdisp.c (x_produce_glyphs): In handling composition, if a font + is not found, get font_info from the current ascii face. -2002-11-01 Dave Love +2008-02-01 Kenichi Handa - * m/gec63.h: Deleted. + * fileio.c (Finsert_file_contents): On replacing, temporarily bind + buffer-file-name to Qnil before calling insert_from_buffer. -2002-10-31 Dave Love + * font.c (font_unparse_fcname): Pay attention to the case that + foundry is a null string. - * xterm.c (XTread_socket): Fix last change. - (xaw_scroll_callback): Cast call_data to long to avoid warning. +2008-02-01 Kenichi Handa -2002-10-31 Stefan Monnier + * ftfont.c (ftfont_list): Allow registry "unicode-sip". - * process.c (Fformat_network_address): Fix int/Lisp_Object mixup. + * font.c (Qunicode_sip): New variable. + (syms_of_font): Declare it as a Lisp symbol. -2002-10-30 Stefan Monnier + * font.h (Qunicode_sip): Extern it. - * editfns.c (overlays_around, get_pos_property): New funs. - (find_field): Use them. - Also be careful not to modify POS before its last use. - (Fmessage): Don't Fformat if there's nothing to format. +2008-02-01 Kenichi Handa -2002-10-30 Dave Love + * composite.c (get_composition_id): Pay attention to TAB component. - * process.c [HAVE_SYS_WAIT]: Include sys/wait.h. - [HAVE_PTY_H]; Include pty.h. + * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw + TAB. Adjust for the change of s->char2b which always points to + the first elememnt of allocated memory. - * lread.c (Fload) : Close fd. + * xftfont.c (xftfont_text_extents): Fix calculation of descent value. - * xterm.c (Qeql): Declare. - (Vx_keysym_table): New. - (syms_of_xterm): Initialize it. - (XTread_socket): Use it. Deal with ASCII keysyms. - (XSetIMValues) [HAVE_X11R6]: Prototype. + * xdisp.c (handle_composition_prop): Set it->c to the first + non-TAB component. + (fill_composite_glyph_string): Change argument. + (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change. + (x_produce_glyphs): Fix handling of left/right padding. - * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended. - (lispy_kana_keys): Comment out. - (make_lispy_event) [XK_kana_A]: Comment out. - (modify_event_symbol) : - Fix sprintf call. +2008-02-01 Kenichi Handa - * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by - regexp.h change). - (TERMINFO, LIBS_TERMCAP): Define. + * coding.c (detect_coding_system): Fix for handling off + inhibit_iso_escape_detection. Fix for the case that no coding + system is defined for a specific coding category. - * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY. - (bcmp): Define conditional on HAVE_BCMP. - (NO_SIOCTL_H): Don't define. - (TIOCSIGSEND): Don't make conditional on IRIX6. +2008-02-01 Kenichi Handa - * s/sol2-5.h: Don't include strings.h. - (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef. + * font.c (font_matching_entity): Delete unused local var. - * s/irix6-0.h (IRIX6): Don't define. - (bcopy, bcmp, bzero): Don't undef. + * xftfont.c (xftfont_open): Call XftDefaultSubstitute before + opening a font. - * s/irix6-5.h: Don't include strings.h. - (IRIX6): Don't define. - (bcopy, bcmp, bzero): Don't undef. + * fileio.c (Finsert_file_contents): On recovering a file, assume + Unix-like eol. + (choose_write_coding_system): On auto-saving a file, force + Unix-like eol. - * syntax.c (Fforward_comment): Doc fix. + * coding.c (setup_coding_system): Fix setting of + coding->common_flags based on eol_type. + (coding_inherit_eol_type): If PARENT is not nil, be sure to + inherit from it. -2002-10-29 Kim F. Storm +2008-02-01 Kenichi Handa - * process.c (Fsignal_process): Allow PROCESS to be specified by - name in addition to pid (as integer or string). + * alloc.c (NSTATICS): Increas to 0x600. -2002-10-28 Harald Maier (tiny change) +2008-02-01 Kenichi Handa - * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build - environments. + * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match. + (ftfont_list): Don't check :name property. + (ftfont_match): New function. + (ftfont_pattern_entity): If the pattern doesn't contain + FC_SPACING, don't assuce FC_MONO. -2002-10-27 Kim F. Storm + * font.h (struct font_driver): New member `match'. + (font_update_drivers): Adjust prototype. - * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden. + * font.c (font_parse_fcname, font_parse_name): Don't change :name + property of FONT. + (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define + them unconditionally. + (font_matching_entity): New function. + (font_open_by_name): Try font_matching_entity if exact match is + not found. + (font_update_drivers): Delete the arg FONT. Return a list of + actually used backends. Don't free faces, font caches here. + Don't store data in frame parameters. Don't call x_set_font. + (Ffont_spec): Store :name property as is. + (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability. + (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub. + (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos. + (Ffont_otf_alternates): Check if the driver has otf_gsub function. + Call font->driver->otf_gsub instead of font_otf_gsub. - * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden. + * frame.c (x_set_font_backend): Do more works that were done in + font_update_drivers before. - * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden. + * xfont.c (xfont_match): New function. + (xfont_driver): Set xfont_driver.match to xfont_match. + (xfont_draw): Set font in GC if necessary. - * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden. + * ftxfont.c (ftxfont_match): New function. + (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match. -2002-10-26 Richard M. Stallman + * xftfont.c (xftfont_match): New function. + (syms_of_xftfont): Set xftfont_driver.match to xftfont_match. - * editfns.c (Fformat): Detect invalid format letters for floats. +2008-02-01 Kenichi Handa -2002-10-25 Kenichi Handa + * font.h (struct font): New member scalable. + (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub. + (font_otf_gsub): Adjust prototype. - * xfns.c (x_set_name): Encode by Qcompound_text unconditionally. - (x_set_title): Likewise. + * font.c (font_otf_capability): Fix handling of the default langsys. + (parse_gsub_gpos_spec): Change type to void. New arg nbytes. + Check the contents of SPEC. + (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros. + (check_gstring): New function. + (REPLACEMENT_CHARACTER): New macro. + (font_otf_gsub): New arg alternate_subst. Be sure to set all + glyph codes of GSTRING. + (font_otf_gpos): Be sure to set all glyph codes of GSTRING. + (font_prepare_composition): Set cmp->glyph_len. + (font_open_entity): Set font->scalable. + (Ffont_get): Handle :otf property. + (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New + functions. + (Fquery_font): Use font->font.full_name. + (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and + Sfont_otf_alternates. + + * ftfont.c (ftfont_open): Set font->font.full_name and + font->font.name properly. Fix calculation of font->font.height + and font->min_width. + + * ftxfont.c (ftxfont_create_gcs): New function. + (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap. + (ftxfont_draw_backgrond): Fix filling region. + (ftxfont_default_fid): New function. + (ftxfont_open): Set xfotn->fid to the return value of + ftxfont_default_fid. + (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs. + (ftxfont_done_face): Free only GCs that are created by + ftxfont_create_gcs. + (ftxfont_draw): If face->gc != s->gc, create proper GCs. -2002-10-25 Juanma Barranquero + * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]: + Clip to src->width, etc (not src->clip_XXX). - * macgui.h: - * w32gui.h: Remove definition of XColor. + * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle + FontBackend frame parameter. - * dispextern.h [!HAVE_X_WINDOWS]: Define XColor. +2008-02-01 Kenichi Handa -2002-10-24 Kim F. Storm + * font.h (struct font_driver_list): New member `on'. + (Fclear_font_cache): EXFUN it. + (font_update_drivers): Extern it. - * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR. - Callers changed (supply dummy arg). + * font.c (font_unparse_fcname): Fix typo (swidth->width). + (font_list_entities): Check driver_list->on. + (register_font_driver): Initalize `on' member to 0. + (font_update_drivers): New function. + (Fclear_font_cache): Check driver_list->on. - * lisp.h (get_window_cursor_type): Update prototype. + * frame.h (Qfont_backend): Extern it. + (x_set_font_backend): Extern it. - * w32term.c (x_display_and_set_cursor): Get active_cursor from - get_window_cursor_type to track system caret. + * frame.c (Qfont_backend): New variable. + (frame_parms): New element for font-backend. + (x_set_font_backend): New function. -2002-10-24 Kim F. Storm + * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle + FontBackend frame parameter. + (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element + x_set_font_backend. - * process.c (Fformat_network_address): New function. - (syms_of_process): Defsubr it. - (list_processes_1): Use it to format :local/:remote address if - service/host is not set; before Emacs would crash in that case. - (Fmake_network_process): Don't use Ffind_operation_coding_system - to setup coding system if host or service is not set. + * xfont.c (xfont_list): Don't try listing by :name property if the + name is not for XLFD. -2002-10-23 Juanma Barranquero +2008-02-01 Kenichi Handa - Patch suggested by Jay Finger . + * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM) + (LGLYPH_SET_TO): New macros. + (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment + element of G is vector or not. + (font_at): Extern it. - * w32term.c (w32_term_init): Pass XColor to w32_define_color, not - COLORREF. + * font.c: Include window.h. + (font_lispy_object): New function. + (font_prepare_composition): Check LGLYPH_FORM (g) to detect the + end of valid glyph. + (font_close_object): Fix getting (struct font *). + (font_at): New function. + (Ffont_get): If FONT is a font-object, get entity from it. + (Ffont_make_gstring): Initialize elements of glyphs with nil. + (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix + range check. + (Ffont_at): New function. + (syms_of_font): Defsubr Sfont_at. - * macgui.h: - * w32gui.h: Add definition of XColor. + * xdisp.c (it_props): Move the entry for Qauto_composed to just + before the entry for Qcomposition. + (handle_auto_composed_prop): Call auto-composition-function with 4 args. + (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from + the font in gstring. + (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check + LGLYPH_FORM (g) to detect the end of valid glyph. + (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if + we are composing with gstring. - * macfns.c: - * w32fns.c: - * xfaces.c: Remove definition of XColor. + * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]: + Check if adjustment is vector or not. -2002-10-22 Stefan Monnier + * Makefile.in (font.o): Make it depends on window.h. - * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char. +2008-02-01 Kenichi Handa - * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>, - Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the - window if it is dedicated. - (Fshrink_window): Add preserve_before as was done for enlarge_window. - (Vspecial_display_function): Update docstring. + * xterm.c (x_draw_composite_glyph_string_foreground): Check if + adjustment is vector or not. - * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer) - (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR. - (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE; +2008-02-01 Miles Bader -2002-10-21 Stefan Monnier + * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE. - * casefiddle.c (casify_region): Don't treat a prefix char as part - of a word when at the beginning. +2008-02-01 Kenichi Handa -2002-10-17 Juanma Barranquero + * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST) + (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format. + (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros. - * lread.c (syms_of_lread): Fix typos. + * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card. + (DEVICE_DELTA): Fix typo. + (font_otf_gpos, font_prepare_compositio): Adjust for the change of + LGLYPH format. -2002-10-17 Dave Love + * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for + the change of LGLYPH format. - * Makefile.in (TEMACS_LDFLAGS): Add trailing comment. +2008-02-01 Kenichi Handa -2002-10-16 Richard M. Stallman + * ftfont.c (ftfont_list): Fix typo. + (ftfont_build_basic_charsets): Don't include letters with diacritics. - * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME. +2008-02-01 Jan Dj,Ad(Brv -2002-10-14 Juanma Barranquero + * xfaces.c (realize_non_ascii_face): Set face->extra to NULL. - * w16select.c (syms_of_win16select): Fix docstring for - `selection-coding-system'. + * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if + xftface_info is non-NULL. - * w32select.c (syms_of_w32select): Likewise. +2008-02-01 Kenichi Handa -2002-10-14 Stefan Monnier + * ftfont.c (ftfont_list): Fix typo. + (ftfont_build_basic_charsets): Don't include letters with diactrics. - * syntax.c (scan_lists): Don't get fooled by a symbol ending with - a backslash-quoted char. - (scan_lists, scan_sexps_forward): Pacify the compiler. +2008-02-01 Jan Dj,Ad(Brv -2002-10-13 Richard M. Stallman + * ftfont.c (ftfont_list): Move misplaced #endif. - * window.c (window_scroll): Set immediate_quit. +2008-02-01 Kenichi Handa - * print.c (print): When backquote form is the car of a list, - output in old style. Use old_backquote_output to output all - comma forms inside it in old style too. + * ftfont.c (ftfont_list): Pay attention to the case that + FC_CAPABILITY is not defined. - * buffer.h (struct buffer): Move `undo_list' down below `name'. +2008-02-01 Kenichi Handa -2002-10-11 Markus Rost + * xftfont.c (xftfont_open): Set charset related members to -1. - * emacs.c (syms_of_emacs) : Doc fix (not run in - batch mode). + * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of + QCname. + (ftfont_open): Set charset related members to -1. - * lread.c (Fload): Doc fix (load-suffixes). + * fontset.c (Votf_script_alist): New variable. + (syms_of_fontset): Initialize it. + (fontset_font): Delete unused variable. -2002-10-10 Steven Tamm + * fontset.h (Votf_script_alist): Extern it. - * macterm.c (syms_of_macterm, mac_get_mouse_btn): - Reverse functionality of mac-wheel-button-is-mouse-2 to be correct. - Also switch the default to Qnil from Qt. + * font.c (font_find_for_lface): Optimize code. -2002-10-08 Kenichi Handa + * font.h (font_close_object, font_merge_old_spec): Extern them. - * coding.c (code_convert_region): When we need more GAP for - conversion, pay attention to the case that coding->produced is not - greater than coding->consumed. +2008-02-01 Kenichi Handa -2002-10-07 Richard M. Stallman + * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables. + (syms_of_font): Initialize them. + (font_pixel_size): Allow float value in dpi. + (font_prop_validate_type): Delete. + (font_prop_validate_symbol, font_prop_validate_style): Change argument. + Change caller. + (font_prop_validate_non_neg): Rename from font_prop_validate_size. + (font_prop_validate_extra): Delete. + (font_prop_validate_spacing): New function. + (font_property_table): Add elements for all known properties. + (get_font_prop_index): Rename from check_font_prop_name. New + argument FROM. Change caller. + (font_prop_validate): Validate all known properties. + (font_put_extra): Delete argument force. Change caller. + (font_expand_wildcards): Make it static. Fix the way of shrinking + the possible range. + (font_parse_xlfd): Delete argument merge. Fix handling of RESX, + RESY, SPACING, and AVGWIDTH. Don't validate property values here. + Change caller. + (font_unparse_xlfd): Handle dpi, spacing, and scalable properties. + (font_parse_fcname): Delete argument merge. Fix parsing of point + size. Don't validate properties values here. Change caller. + (font_unparse_fcname): Handle dpi, spacing, and scalable properties. + (font_open_by_name): Delete unused variable. + (Ffont_spec): Likewise. Validate property values. + (Ffont_match_p): New function. - * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5. + * font.h (QCscalable): Extern it. + (font_parse_xlfd, font_parse_fcname): Adjust prototype. -2002-10-06 Andrew Choi + * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable. - * macmenu.c (mac_menu_show): Add j to count menu items; match - menu_item_selection to it to find selected item. + * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd. + (xfont_list_pattern): New function. + (xfont_list): Use xfont_list_pattern. -2002-10-06 Jan Dj,Ad(Brv +2008-02-01 Kenichi Handa - * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all - cases. The correct fix is to pass ReparentNotify to Xt. - The shell widget interprets ConfigureNotify differently depending - on if it has been reparented or not. + * font.h (Flist_fonts): EXFUN it. -2002-10-05 Markus Rost +2008-02-01 Jason Rumney - * editfns.c (Fformat_time_string): Doc fix. + * w32term.c (w32_initialize): Add back smoothing_type and + smoothing_enabled definitions. -2002-10-05 John Paul Wallington +2008-02-01 Kenichi Handa - * fns.c (Flength): Doc fix. + * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check + s->face->font on determining underline position. -2002-10-04 Stefan Monnier +2008-02-01 Kenichi Handa - * keyboard.c (keyremap): New struct. - (read_key_sequence): Use it: globally replace keytran_foo with - keytran.foo and fkey_foo with fkey.foo. Rename temp vars - keytran_next and fkey_next to just `next'. + * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field. + (font_has_char): Accept font-object too. + (font_find_for_lface): Try at first with a size specified in face. -2002-10-04 Steven Tamm +2008-02-01 Kenichi Handa - * macterm.c (keycode_to_xkeysym_table): Change return to be - treated like an X keysym. + * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to + font_open_by_name. -2002-10-03 Jan Dj,Ad(Brv +2008-02-01 Kenichi Handa - * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0, - and USE_MOTIF, call XTranslateCoordinates to get the real x and y. - This is to also handle x/y changes that occur because of a resize. + * font.h (QCspacing, QCdpi): Extern them. + (enum font_spacing): New enum. + (FONT_PIXEL_SIZE_QUANTUM): New macro. + + * font.c (POINT_TO_PIXEL): Don't divice POINT by 10. + (QCspacing, QCdpi): New variables. + (syms_of_font): Initialize them. + (font_pixel_size): New function. + (font_put_extra): New function. + (font_parse_xlfd): Fix handling of font size. Add QCdpi property + in FONT_EXTRA. + (font_parse_fcname): Handle enumenrated values (e.g. bold). Fix + handling font size. Add QCname property that contains only + unknown properties. + (font_score): Change argument. Change caller. Pay attention to + FONT_PIXEL_SIZE_QUANTUM. + (font_sort_entites, font_list_entities, font_find_for_lface) + (font_open_for_lface, font_open_by_name): Fix handling of font size. + (Ffont_spec): Add QCname property that contains only unknown properties. + + * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't + include weight in listing pattern, instead check weight of each + listed font. Don't include scalable in pattern. Pay attention to + FONT_PIXEL_SIZE_QUANTUM. + +2008-02-01 Kenichi Handa + + * font.c (font_parse_fcname): Fix parsing of point-size. + (font_unparse_fcname): Produce symbolic names for style properties. + (font_list_entities): Handle float size correctly. + (font_open_by_name): Prefer `normal' property values if the name + doesn't specify them. + + * fontset.c (Finternal_char_font): Use font_get_name, not + Ffont_xlfd_name. + + * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for + FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing + pattern. Don't force scalable. + + * xftfont.c (xftfont_open): For generating a name, start from + 96-byte buffer. + +2008-02-01 Jan Dj,Ad(Brv + + * frame.h (x_new_fontset2): Fix prototype. + +2008-02-01 Kenichi Handa + + * font.h (struct font_driver): Delete member parse_name. + (font_match_p, font_get_spec, font_parse_fcname) + (font_unparse_fcname): Extern them. + (font_get_name): Adjust prototype. + + * font.c (XLFD_SMALLNUM_MASK): Delete this macro. + (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it. + (font_expand_wildcards): Fix handling ENCODING field. Avoid + unnecessary checks for weight, slant, and swidth. + (font_parse_fcname): New function. + (font_unparse_fcname): New function. + (font_parse_name): New function. + (font_match_p): New function. + (font_get_name): Change return value to Lisp string. + (font_get_spec): New function. + (Qunspecified, Qignore_defface): Don't extern them. + (font_find_for_lface): Assume that LFACE is fully specified. + (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font + object, use it for FACE. + (font_open_by_name): Call Ffont_spec with QCname prop. Don't call + driver->parse_name. + (Ffont_spec): Call font_parse_name, not font_parse_xlfd. + + * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust + prototype. + + * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete + argument F. Don't call Fnew_fontset. Instead, directly call + make_fontset. + + * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype. + + * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change + of x_new_fontset2. + + * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans) + (Qsans__serif): New variables. + (ftfont_generic_family_list): New variable. + (syms_of_ftfont): Initialize the above variables. + (ftfont_pattern_entity): Delete argument NAME. + (ftfont_list_generic_family): New function. + (ftfont_parse_name): Delete this function. + (ftfont_list): Try generic family only when FcFontList found no font. + (ftfont_list_family): Fix args to FcObjectSetBuild. + + * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font + object in attrs[LFACE_FONT_INDEX]. + (set_lface_from_font_name): Cancel all changes for font-backend. + (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New + function. + (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a + font object in QCfont attribute. + (set_font_frame_param) [USE_FONT_BACKEND]: Likewise. + (realize_default_face) [USE_FONT_BACKEND]: Call + set_lface_from_font_and_fontset. -2002-10-02 John Paul Wallington + * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also + "fixed", and signal error here if no suitable font was found. - * frame.c (Vdelete_frame_functions): New variable. - (syms_of_frame): Initialize and defvar it. - (Fdelete_frame): Use it instead of delete-frame-hook. Don't run - it when frame's `tooltip' parameter is non-nil. + * xfont.c (xfont_parse_name): Delete this function. - * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t. + * xftfont.c (xftfont_open): Change coding style of error + handling. Generate fontconfig's fontname pattern. - * w32fns.c (x_create_tip_frame): Likewise. + * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp. + (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro. - * macfns.c (x_create_tip_frame): Likewise. + * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments. + Both args FONTSET and FONT_OBJECT must be existing ones. -2002-09-30 Kenichi Handa +2008-02-01 YAMAMOTO Mitsuharu - * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to - -1 before calling ccl_driver. + * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR. - * coding.c (decode_coding_emacs_mule): Check coding->cmp_data. - Only when it is non-nil, handle composition sequence. - (setup_coding_system) <0>: Don't force composition handling. +2008-02-01 Kenichi Handa - * Makefile.in (lisp, shortlisp): Add utf-16.elc. + * xfont.c (xfont_open, xfont_encode_char): Fix typo. -2002-09-29 Richard M. Stallman + * font.h (struct font): Fix typo. - * search.c (Freplace_match): Adjust match data for the substitution - just made in the buffer. + * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to + XLFD_XXX_INDEX. + (enum xlfd_field_mask): New enum. + (intern_font_field): Changed argument. Change caller. If digits + are followed by non-digits, return a symbol. + (font_expand_wildcards): New function. + (font_parse_xlfd): Fix wildcard handling. + (Ffont_spec): If :name is specified, reflect the info in the other + properties. - * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros. - (redisplay_internal): Use them. Do RESUME_POLLING at end of function. + * ftfont.c (ftfont_pattern_entity): Fix typo. + (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of + locale. -2002-09-27 Richard M. Stallman +2008-02-01 Kenichi Handa - * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros. - (read_char): Use them. Do all exits thru the end of the function. + * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them. -2002-09-27 Kenichi Handa + * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c. + (font_unparse_xlfd): Fix argument type declaration. Append "*" if + registry doesn't specify encoding part. + (font_find_for_lface): Pay attention to LFACE_FONT_INDEX. + (font_open_by_name): At first try parsing the name. + (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp + as Lisp symbols. - * xfaces.c (try_font_list): Pay attention to the case that FAMILY - is nil. + * fontset.c (reorder_font_vector): Pay attention to the case that + the 3rd element of font_def is nil. + (fontset_font): For the default fontset, append one more fontset + elements for a script-based font specification. Don't add script + attribute on finding a font. + (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the + font name. + (fontset_ascii_font): If a font can't be opened, return nil. -2002-09-26 Richard M. Stallman + * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c. + (ftfont_pattern_entity): New function. + (ftfont_get_cache): Assume that freetype_font_cache is already + initialized. + (ftfont_list): Handle the case that a file is specified in font + name. Use ftfont_pattern_entity to generate entities. + (ftfont_has_char): Check if the pattern contains FC_CHARSET. + (syms_of_ftfont): Initialize freetype_font_cache. - * regex.h (__restrict_arr): Don't define if already defined. + * xftfont.c (xftfont_open): Make the font name fontconfig's + style. Add BLOCK_INPUT and UNBLOCK_INPUT. + (xftfont_close): Free font->font.name if not NULL. - * coding.c (run_pre_post_conversion_on_str): - Save and restore Vdeactivate_mark. + * xfont.c (xfont_list): If script is specified for a font, return + null_vector. + (xfont_list_family): Declare argument type. -2002-09-26 John Paul Wallington + * xfaces.c (set_lface_from_font_name): If a font doesn't have a + name, set LFACE_FONT (lface) to nil. - * minibuf.c (Fminibufferp): Add an optional `buffer' argument. + * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded, + return Qnil. -2002-09-26 Kenichi Handa +2008-02-01 Kenichi Handa - * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is - nonzero, try face's family at first. Otherwise try FAMILY at first. - (choose_face_font): If C is a single byte char or latin-1, call - try_font_list with PREFER_FACE_FAMILY 1. + * emacs.c (main): Check -enable-font-backend arg after the check of -nl. + (standard_args): Add "-enable-font-backend". -2002-09-21 Richard M. Stallman +2008-02-01 Kenichi Handa - * window.c (select_window_1): Don't select frame. - Set frame's selected window only when frame itself is selected. - (Fselect_window): Doc fix. + * xftfont.c (xftfont_default_fid): Set fid_known to 1. + (struct xftdraw_list, xftdraw_list): Delete them. + (register_xftdraw, check_xftdraw): Delete them. + (xftfont_prepare_face): Don't call register_xftdraw. + (xftfont_done_face): Don't call check_xftdraw. + (xftfont_draw): Get backroudn color only when with_background is + nonzero. -2002-09-18 Kim F. Storm + * xfont.c (xfont_encode_char): Fix calculation of char2b. - * process.c (make-network-process): Doc fix (there is no - network-server-log-function hook). +2008-02-01 Kenichi Handa -2002-09-18 Richard M. Stallman + These changes are for the new font handling codes. - * print.c (print): Clear out the unused parts of Vprint_number_table. - (syms_of_print): Doc fix for `print-number-table'. + * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@, + @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@. + (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@. + (FONTSRC, FONTOBJ): New variables. + (obj): Add $(FONTOBJ). + (SOME_MACHINE_OBJECTS): Lib_X11_Lib. + (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and + @LIBOTF_LIBS@. + (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets. + (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC). - * unexelf.c (unexec): Undo previous change. + * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files. -2002-09-17 Andreas Schwab + * character.h (Vscript_representative_chars): Extern it. - * m/alpha.h [LINUX]: Don't define DATA_START. + * character.c (Vscript_representative_chars): New variable. + (syms_of_character): Declare it as a Lisp variable. -2002-09-16 Dave Love + * composite.c (get_composition_id) [USE_FONT_BACKEND]: If + enable_font_backend is nonzero, accept the composition method + COMPOSITION_WITH_GLYPH_STRING. - * unexelf.c (unexec): Deal with .got, reinstating change from - 25-08-1999. + * composite.h (enum composition_method) [USE_FONT_BACKEND]: New + enumeration COMPOSITION_WITH_GLYPH_STRING. -2002-09-13 Richard M. Stallman + * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New + members clip_x, clip_y, clip_width, and clip_height. + (struct face) [USE_FONT_BACKEND]: New members font_info and extra. - * s/sol2-6.h (UNEXEC): Comment out definition. + * emacs.c (main) [USE_FONT_BACKEND]: Handle arg + --enable-font-backend. Call syms_of_font. - * unexsol.c (unexec): Don't downcase first letter of error msg. + * fns.c (assoc_no_quit): New function. - * xfaces.c (Fcolor_supported_p): Just one arg is required. + * fontset.h (FONT_INFO_FROM_FACE): New macro. + (face_for_font, new_fontset_from_font) + (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them. -2002-09-12 Markus Rost + * fontset.c [USE_FONT_BACKEND]: Include "font.h". + (fontset_font, fontset_ascii, face_for_char) + (make_fontset_for_ascii_face, Ffont_info) + (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend + is nonzero, use font-backend mechanism. + (find_font_encoding): Make it non-static. + (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]: + New functions. - * unexsol.c: Include buffer.h, charset.h, coding.h. + * frame.h (struct frame): New members resx and resy. + (struct frame) [USE_FONT_BACKEND]: New member font_driver_list. + (x_new_fontset2) [USE_FONT_BACKEND]: Extern it. + + * frame.c [USE_FONT_BACKEND]: Include "font.h". + (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism. + + * lisp.h (assoc_no_quit): Extern it. + + * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h". + Through out the file, use FONT_INFO_FROM_FACE instead of + FONT_INFO_FROM_ID, use get_per_char_metric instead of + rif->per_char_metric. + (handle_composition_prop) [USE_FONT_BACKEND]: If the composition + method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '. + (get_glyph_face_and_encoding, fill_composite_glyph_string) + (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING) + (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is + nonzero, use font-backend mechanism. + (get_per_char_metric): New function. + + * xfaces.c [USE_FONT_BACKEND]: Include "font.h". + (set_lface_from_font_name) + (set_font_frame_param, free_realized_face) + (prepare_face_for_display, clear_face_gcs) + (Finternal_set_font_selection_order, realize_x_face) + [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use + font-backend mechanism. + (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table. + (load_face_font) [USE_FONT_BACKEND]: Abort. + (face_symbolic_value, face_symbolic_weight, face_symbolic_slant) + (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions. + + * xfns.c [USE_FONT_BACKEND]: Include "font.h". + (x_default_font_parameter) [USE_FONT_BACKEND]: New function. + (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is + nonzero, register all available font drivers. Call + x_default_font_parameter for deciding a font. + (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise. + + * xterm.c [USE_FONT_BACKEND]: Include "font.h". + (x_set_mouse_face_gc, x_set_glyph_string_clipping) + (x_set_glyph_string_clipping_exactly) + (x_compute_glyph_string_overhangs) + (x_draw_glyph_string_foreground) + (x_draw_composite_glyph_string_foreground, x_draw_glyph_string) + (x_free_frame_resources) [USE_FONT_BACKEND]: If + enable_font_backend is nonzero, use font-backend mechanism. + (x_new_fontset2) [USE_FONT_BACKEND]: New function. -2002-09-11 Richard M. Stallman +2008-02-01 Kenichi Handa - * unexsol.c: Don't use report_file_error; do it by hand - using dlerror. + * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from + system_eol_type. + (syms_of_coding): Initialize system_eol_type. - * process.c (wait_reading_process_input, both versions): - Before calling turn_on_atimers, call stop_polling. + * process.c (Fset_process_coding_system): Inherit system's eol + format if necessary. - * emacs.c (syms_of_emacs) : Doc fix. +2008-02-01 YAMAMOTO Mitsuharu - * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible - we go to too_near_end, call clear_glyph_matrix. - (redisplay_window): After make_cursor_line_fully_visible, - call clear_glyph_matrix and bypass `goto done'. + * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch. - * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0 - and we have non-toolkit scroll bars, return nil for scroll-bar-width. +2008-02-01 Kenichi Handa -2002-09-10 Richard M. Stallman + * coding.c (decode_eol): Pay attention to buffer relocation in + del_range_2. + (decode_coding): Call decode_eol before restoring undo_list. - * fileio.c (Fdo_auto_save): Catch error making directory. - Only call push_message if we need to. - At the same time, make an unwind-protect to pop it. - Rename local message_p to old_message_p. - (do_auto_save_make_dir, do_auto_save_eh): New functions. - (do_auto_save_unwind): Don't call pop_message. +2008-02-01 Kenichi Handa - * lisp.h (pop_message_unwind): Renamed from push_message_unwind. + * charset.c (Fdefine_charset_internal): Fix setting of + emacs_mule_bytes. - * keyboard.c (Fexecute_extended_command): Use pop_message_unwind. +2008-02-01 Kenichi Handa - * alloc.c (Fgarbage_collect): Use pop_message_unwind. + * keyboard.c (read_char): Check if C is a character or not before + looking up Vkeyboard_translate_table. - * xdisp.c (pop_message_unwind): Renamed from push_message_unwind. +2008-02-01 Kenichi Handa -2002-09-10 Stefan Monnier + * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix + condition to terminate the loop. - * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete. - (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1. - (re_match_2_internal): Be more careful with infinite loops. +2008-02-01 Kenichi Handa -2002-09-10 Kim F. Storm + * coding.c (produce_composition): Compare charbuf[i] instead of + args[i] against 0. + (Fterminal_coding_system): Use EQ to compare Lisp objects. - * macros.c (end_kbd_macro): New function. - (Fend_kbd_macro): Use it. +2008-02-01 Kenichi Handa - * macros.h (end_kbd_macro): Declare extern. + * coding.c (DECODE_COMPOSITION_START): If the source is short, set + coding->result to CODING_RESULT_INSUFFICIENT_SRC. + (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of + detect_coding. + (emacs_mule_char): Handle old style (Emacs 20) component character + of a composition. + (DECODE_EMACS_MULE_COMPOSITION_RULE_20) + (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a + composition rule. + (decode_coding_emacs_mule): Handle invalid bytes correctly. - * keyboard.c (Fdiscard_input): If defining keyboard macro, - end and save it instead of discarding it. +2008-02-01 Kenichi Handa -2002-09-09 Markus Rost + * coding.c (encode_coding_ccl): Allocate destination dynamically + when necessary. - * s/sol2-6.h: Fix typo. Add comment. +2008-02-01 Kenichi Handa -2002-09-09 Richard M. Stallman + * ccl.c (Fccl_execute_on_string): Fix the condition of terminating + the loop. When quitted, show a proper error message. - * regex.c (regnum_t): Use signed int, not unsigned int. +2008-02-01 Kenichi Handa - * s/sol2-6.h: New file. + * xterm.c (x_set_glyph_string_clipping_exactly): Set + src->clip_head and src->clip_tail temporarily instead of src->hl. - * s/sol2-5.h (UNEXEC): Definition deleted. + * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte + character sequence. + (Fccl_execute_on_string): Use ASET, not XSET. -2002-09-08 Kim F. Storm +2008-02-01 Kenichi Handa - * macros.c (executing_macro_index): Change type to EMACS_INT. - (syms_of_macros): DEFVAR_INT it (needed by kmacro). + * search.c (search_buffer): Fix handling of "\\" in a trivial regexp. - * macros.h (executing_macro_index): Change type to EMACS_INT. +2008-02-01 Kenichi Handa -2002-09-06 Richard M. Stallman + * coding.c (decode_coding): Fix the condition of terminating the + decoding loop. - * casetab.c (set_case_table): Make canon table point to eqv table. +2008-02-01 Kenichi Handa -2002-09-06 Juanma Barranquero + * data.c (Faset): On setting a character bigger than 255 in a + unibyte string, signal an error instead of make the string multibyte. - * coding.c (syms_of_coding): Fix spacing. +2008-02-01 Kenichi Handa - * composite.c (Fcompose_region_internal) - (Fcompose_string_internal): Likewise. + * charset.c (map_charset_chars): Fix for ascii-compatible charset + made by a mapping table. - * data.c (Flsh): Likewise. +2008-02-01 Kenichi Handa - * fontset.c (Fset_fontset_font): Likewise. + * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or + not. + (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL. + (x_produce_glyphs): If CH is TAB, set cmp->offsets properly. - * macfns.c (Fx_server_max_request_size): Likewise. + * xterm.c (x_draw_composite_glyph_string_foreground): Check + s->face is NULL or not. - * w16select.c (syms_of_win16select): Likewise. +2008-02-01 Kenichi Handa - * w32select.c (syms_of_w32select): Likewise. + * xterm.c (x_set_glyph_string_clipping_exactly): New function. + (x_draw_glyph_string): Fix drawing of right_overhang and + left_overhang around/on cursor. - * xselect.c (syms_of_xselect): Likewise. + * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs. -2002-09-05 Richard M. Stallman +2008-02-01 Kenichi Handa - * regex.c (set_image_of_range_1): In no-TRANSLATE case, - call EXTEND_RANGE_TABLE and return a proper value. - (set_image_of_range): Don't call set_image_of_range_1 - if no TRANSLATE or if range includes all of Latin-1. - Only call it for the Latin-1 part of the range. - For other cases, make two separate ranges, - one for the original specified characters and one for - their case-conversions. + * xdisp.c (x_produce_glyphs): Handle composition with TAB. -2002-09-04 Richard M. Stallman +2008-02-01 Kenichi Handa - * s/sol2-5.h (UNEXEC): Use unexsol.o. + * coding.c (Fdefine_coding_system_internal) + (Fdefine_coding_system_alias): Avoid a duplicated element in + Vcoding_system_alist. - * window.c (displayed_window_lines): Correct for one-off bug - in HEIGHT on non-window displays. +2008-02-01 Kenichi Handa - * regex.c (set_image_of_range_1): New function. - (set_image_of_range): Use set_image_of_range_1 for Latin-1. - Return a value to indicate running out of memory. - (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range. - (extend_range_table_work_area): New subroutine. - (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA. - Different calling conventions, and used from set_image_of_range{,_1}. - (IMMEDIATE_QUIT_CHECK): Definitions moved. + * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF. -2002-09-04 Juanma Barranquero + * coding.c (Qcoding_system_define_form): New variable. + (syms_of_coding): Intern and staticpro it. + (Fcoding_system_p): Check Qcoding_system_define_form. + (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM. - * makefile.w32-in: All dependencies updated. + * coding.h (CODING_SYSTEM_P): If ID is not available, call + Fcoding_system_p. + (CHECK_CODING_SYSTEM): If ID is not available, call + Fcheck_coding_system. + (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID): + Try also Fcheck_coding_system. -2002-09-01 Richard M. Stallman +2008-02-01 Kenichi Handa - * unexsol.c: New file. + * coding.c (code_conversion_restore): GCPRO arg. - * xfns.c (Qbox): Declare external, don't define. +2008-02-01 Kenichi Handa - * xdisp.c (redisplay_window) : - If point is on semi-visible last line, reposition - it at previous line. + * character.c (lisp_string_width): Check multibyteness of STRING. - * alloc.c (display_malloc_warning): Use display-warning. - (malloc_warning_1): Function deleted. +2008-02-01 YAMAMOTO Mitsuharu - * alloc.c [ALLOC_DEBUG]: #undef INLINE. + * macterm.c (mac_encode_char): Call ccl_driver with the last arg + Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS. + (decode_mac_font_name): Use decode_coding_c_string instead of + decode_coding. + (x_load_font): Initialize fontp->fontset to -1. Set + fontp->encoding_type. - * lread.c (read1): Handle #! by skipping the line. +2008-02-01 Kenichi Handa -2002-08-31 Richard M. Stallman + * search.c (search_buffer): Give up BM search on case-fold-search + if one of a target character has a case-equivalence of different + byte length even if that target charcter is an ASCII. + (simple_search): Fix calculation of byte length of matched text. + (boyer_moore): Fix handling of case-equivalent multibyte characters. - * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS. - Don't include LDFLAGS. - (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS. +2008-02-01 Kenichi Handa -2002-08-31 Eli Zaretskii + * coding.c (decode_coding): Fix handling of invalid bytes. - * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame - member of x_display_info unless we compile for some window system. +2008-02-01 Kenichi Handa -2002-08-31 Kim F. Storm + * xterm.c (handle_one_xevent): Handle keysyms directly mapped to + Unicode characters. - * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed. - (get_window_cursor_type): Don't use them. - (syms_of_xdisp): Remove intern, staticpro, and defvar for them. +2008-02-01 Kenichi Handa -2002-08-30 Kenichi Handa + * coding.c (encode_coding_object): If a pre-write-conversion + function makes a new buffer, kill it. - * xdisp.c (get_next_display_element): Fix previous change. +2008-02-01 Kenichi Handa -2002-08-30 Andrew Choi + * coding.c (QCascii_compatible_p): New variable. + (syms_of_coding): Initialize it. + (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before + calling string_char. + (record_conversion_result): Add `default:' case. + (coding_charset_list): Delete unused variable `coding_type'. + (Fdefine_coding_system_internal): Add `ascii-compatible-p' + property in the plist of the coding system. + (Fcoding_system_put): Check QCascii_compatible_p. - * macterm.c (expose_overlaps): New function (merge code from xterm.c). - (expose_window): Use it to fix the display of overlapping - rows (merge code from xterm.c). +2008-02-01 Miles Bader - * macfns.c (Qbox): Add extern declaration. + * xfaces.c (Finternal_lisp_face_equal_p): Restore previously + removed calculation of frame `f', as it's now used. -2002-08-30 Juanma Barranquero +2008-02-01 Kenichi Handa - * w32fns.c (Qbox): Make extern. - (syms_of_w32fns): Remove initialization of Qbox. + * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined. + (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally. + (UNIDATA): New variable. + (${lispsource}international/charprop.el): Depends on ${UNIDATA}. + (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run + $(RUN_TEMACS) unconditionally. -2002-08-30 Rune Kleveland (tiny change) +2008-02-01 Kenichi Handa - * xfns.c (Fx_open_connection): Fix error message. + * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary. + (admindir): New variable. + ($(lispsource)international/charprop.el): New target. -2002-08-30 Kim F. Storm +2008-02-01 Miles Bader - The following changes consolidates the handling of the cursor - type in xdisp.c, moving duplicate code and functionality from - xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c. + * character.c (chars-in-region): Remove obsolete function. + (syms_of_character): Remove its initialization. - * frame.h (enum text_cursor_kinds): Consolidated here. - Added DEFAULT_CURSOR value. - (struct frame) - : New fields. - Consolidated from output_x, output_w32 and output_mac structs. - (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR) - (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here. +2008-02-01 Benjamin Riefenstahl - * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist): - Variables consolidated here. - (Valternate_cursor_type, Qalternate_cursor_type): New variables. - (Vcursor_in_non_selected_windows): Renamed from - cursor_in_non_selected_windows and changed to Lisp_Object. - (syms_of_xdisp): Define and staticpro new and moved variables. - (get_specified_cursor_type): Renamed from x_specified_cursor_type; - consolidated here. Recognize Qhollow setting. - (set_frame_cursor_types): New function to set frame cursor types - based on the frame parameters. - (get_window_cursor_type): New function to calculate new cursor - type and width for the specified window. Based on duplicated - code consolidated here. - Enhancements: cursor-in-non-selected-windows may be a cursor type, - check buffer-local alternate-cursor-type and blink-cursor-alist - before using built-in blink off methods. - - * dispextern.h (cursor_in_non_selected_windows): Extern removed. - - * lisp.h (Qcursor_in_non_selected_windows): Extern removed. - (get_specified_cursor_type, get_window_cursor_type) - (set_frame_cursor_types): Added prototypes. + * w32select.c (validate_coding_system) + (setup_windows_coding_system): New functions. + (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use + setup_windows_coding_system. + (setup_config, Fw32_get_clipboard_data): Use + validate_coding_system. + (Fx_selection_exists): Move call to setup_config to a place + where signals are allowed. - * macfns.c (x_specified_cursor_type): Removed. - (x_set_cursor_type): Use set_frame_cursor_types. - (Qbar, Qbox): Removed. - (syms_of_macfns): Don't intern or staticpro them. + * lisp.h (Fcoding_system_base, Fcoding_system_eol_type) + (Fcheck_coding_system): Add declarations. - * macterm.c (x_specified_cursor_type): Remove prototype. - (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH. - (x_display_and_set_cursor): Use get_window_cursor_type. - Remove unused local variables cursor_non_selected, active_cursor. - Redraw cursor if hbar cursor width changes. - (make_mac_frame): Set FRAME_DESIRED_CURSOR. - - * macterm.h (enum text_cursor_kinds): Removed. - (struct output_mac) - : Members removed. - (FRAME_DESIRED_CURSOR): Macro removed. - - * w32fns.c (Vblink_cursor_alist): Removed. - (Qbar, Qhbar, Qbox, Qhollow): Removed. - (syms_of_w32fns): Don't intern, staticpro, or define them. - (x_specified_cursor_type): Removed. - (x_set_cursor_type): Use set_frame_cursor_types. - - * w32term.c (x_specified_cursor_type): Remove prototype. - (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH. - (x_display_and_set_cursor): Use get_window_cursor_type. - Remove unused local variables cursor_off_state. - Redraw cursor if hbar cursor width changes. - Changed all occurrences of w32_highlight_frame to x_highlight_frame. - - * w32term.h (enum text_cursor_kinds): Removed. - (struct output_w32) - : Members removed. - (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR) - (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed. - (struct w32_display_info) : Renamed member from - w32_highlight_frame. - - * xfns.c (Vblink_cursor_alist): Removed. - (Qbar, Qhbar, Qbox, Qhollow): Removed. - (syms_of_xfns): Don't intern, staticpro, or define them. - (x_specified_cursor_type): Removed. - (x_set_cursor_type): Use set_frame_cursor_types. - - * xterm.c (x_specified_cursor_type): Remove prototype. - (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH. - (x_display_and_set_cursor): Use get_window_cursor_type. - Remove unused local variables cursor_off_state. - Redraw cursor if hbar cursor width changes. - - * xterm.h (enum text_cursor_kinds): Removed. - (struct output_x) - : Members removed. - (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR) - (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed. - (x_specified_cursor_type): Remove prototype. - -2002-08-28 Richard M. Stallman - - * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and - FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist. - (Vblink_cursor_alist): New variable. - (syms_of_w32fns): Initialize and defvar it. - (x_specified_cursor_type): Recognize Qbox for filled box. - Exceptions are hollow boxes. - (Qbox, Qhollow): New variables. - (syms_of_w32fns): Initialize and staticpro them. - - * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH): - New macros. - (struct w32_output): New fields blink_off_cursor, - blink_off_cursor_width. - (FRAME_CURSOR_WIDTH): New macro. +2008-02-01 Kenichi Handa - * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR - and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off. + * charset.c (load_charset_map_from_vector): Fix for the first iteration. - * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH - for bar cursor. +2008-02-01 YAMAMOTO Mitsuharu - * w32term.c (expose_overlaps): New function. - (expose_window): Use it to fix the display of overlapping rows. + * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp + string as the second argument for x_new_fontset. -2002-08-28 Simon Josefsson +2008-02-01 Kenichi Handa - * xfns.c (Fx_open_connection): Improve help when X connection - fails, xhost is insecure and xauth is better. + * coding.c (decode_coding_object): Use safe_call1 instead of call1. + (encode_coding_object): Use safe_call instead of call2. -2002-08-28 Juanma Barranquero +2008-02-01 Kenichi Handa - * makefile.w32-in: Add missing dependencies on w32term.h and - composite.h. + * fontset.c (Fset_fontset_font): Check family element of a given vector. - * emacs.c (USAGE1): Add missing newline. + * Makefile.in (lisp): Include charprop.el. -2002-08-27 Andrew Choi +2008-02-01 YAMAMOTO Mitsuharu - * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO. + * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash. + Not sure if it's unnecessary. -2002-08-27 Richard M. Stallman +2008-02-01 Steven Tamm - * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and - FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist. - (Vblink_cursor_alist): New variable. - (syms_of_xfns): Initialize and defvar it. - (x_specified_cursor_type): Recognize Qbox for filled box. - Exceptions are hollow boxes. - (Qbox, Qhollow): New variables. - (syms_of_xfns): Initialize and staticpro them. + * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out + some possibly unnecessary fontset checking code that crashed + when creating a new frame. - * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH): - New macros. - (struct x_output): New fields blink_off_cursor, blink_off_cursor_width. +2008-02-01 Kenichi Handa - * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR - and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off. + * xfaces.c (merge_faces): Fix argument to lookup_derived_face and + lookup_face. - * emacs.c (main): Handle --script. - (USAGE1): Mention --script. - (standard_args): Define sort order for --script. + * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face. -2002-08-27 Gerd Moellmann + * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face. - * xdisp.c (redisplay_updating_p): Variable removed. - (inhibit_free_realized_faces, Qinhibit_free_realized_faces): - New variables. - (init_iterator): Don't free realized faces if - inhibit_free_realized_faces is set. - (redisplay_internal): Bind Qinhibit_free_realized_faces to nil. - (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces, - initialize Qinhibit_free_realized_faces. +2008-02-01 Kenichi Handa - * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces - when iterator is adding glyphs to a glyph matrix. + * coding.c: Cancel the change done in HEAD on 2008-02-01. + (coding_charset_list): New function. -2002-08-27 Kenichi Handa + * coding.h (coding_charset_list): Extern it. - * xdisp.c (get_next_display_element): In unibyte case, don't use - octal form for such eight-bit characters that can be converted to - multibyte char. +2008-02-01 Kenichi Handa -2002-08-26 Kim F. Storm + * fontset.c (Fset_fontset_font): Call find_font_encoding with + concatenation of family and registry. - * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize - foreground and background colors. From Joe Buehler. +2008-02-01 Kenichi Handa -2002-08-26 Miles Bader + * character.h (BYTE8_STRING): Fix typo. - * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it. + * editfns.c (Ftranslate_region_internal): Don't convert unibyte + string to multibyte (sync to HEAD). -2002-08-25 Andrew Choi + * casefiddle.c (casify_region): Handle changes in byte-length + using replace_range_2 (sync to HEAD). - * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is - defined instead of MAC_OSX. +2008-02-01 Andreas Schwab - * s/darwin.h (select): Define select to sys_select only if - HAVE_CARBON is defined. - (HAVE_WORKING_VFORK): #undef it. Define vfork to fork. - (DONT_REOPEN_PTY): #def it. + * chartab.c (map_char_table): GCPRO table and arg. - * macterm.c (XTread_socket): Remove code to call - SendEventToEventTarget for keys with command modifiers when - mac_command_key_is_meta is nil. +2008-02-01 Kenichi Handa -2002-08-24 Andreas Schwab + * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is + already at limit. - * eval.c (Fdefvar): Fix last change. +2008-02-01 Kenichi Handa -2002-08-23 Richard M. Stallman + * fontset.c (fs_load_font): Use fast_string_match_ignore_case + instead of fast_c_string_match_ignore_case. + (find_font_encoding): Change argument to Lisp_Object. Use + fast_string_match_ignore_case instead of + fast_c_string_match_ignore_case. Change caller. - * eval.c (Fdefvar, Fdefconst, Fdefvaralias): - Record variables in load history as (defvar . VAR). - (Fdefvar): Don't record in load history if no initial value. - (Qdefvar): New variable. - (syms_of_eval): Init and staticpro it. +2008-02-01 Kenichi Handa - * lread.c (syms_of_lread): Doc fix. - (build_load_history): Use Fmember to see if a definition - is already in the Vload_history element. + * xdisp.c (get_next_display_element): In unibyte case, decide to + display in octal form by checking a chacter by + UNIBYTE_CHAR_HAS_MULTIBYTE_P. - * process.c (Fstart_process): Remove /: from program name. + * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table. - * emacs.c (decode_env_path): Don't add /: if file name handler - has a `safe-magic' property. + * character.c (unibyte_has_multibyte_table): New variable. - * callproc.c (Fcall_process): Remove /: from program name. + * character.h (unibyte_has_multibyte_table): Extern it. + (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro. -2002-08-23 Stefan Monnier +2008-02-01 Kenichi Handa - * regex.c (PATFETCH): Remove the translating fetch. - (PATFETCH_RAW): Rename to PATFETCH. - (set_image_of_range): New fun. - (SET_RANGE_TABLE_WORK_AREA): Use it. - (regex_compile): Don't translate the pattern chars so eagerly. - Only do it when inserting an `exactn' bytecode or when handling - a char-range. - (mutually_exclusive_p): Avoid empty statement. + * coding.c (encode_coding_iso_2022): Fix handling of charset + annotation. -2002-08-22 Kim F. Storm +2008-02-01 Kenichi Handa - * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we - end up on a partially visible line; this reverts a specific part - of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty - display error which has been reported several times now. - However it introduces the problem that changes was supposed to fix. - See my comments in the source if you want to debug this further. + * coding.c (setup_coding_system): If coding_system is nil, use + Qundecided. + (Fterminal_coding_system): Return nil if terminal coding system is + `undecided'. + (syms_of_coding): Define coding-system `undecided' here. Setup + terminal_coding as `undecided'. -2002-08-20 Kenichi Handa +2008-02-01 Kenichi Handa - * abbrev.c (Fexpand_abbrev): Fix for the multibyte case. + * xdisp.c (message_dolog, set_message_1): Call + unibyte_char_to_multibyte with arg type int. -2002-08-19 Eli Zaretskii + * lread.c (read1): Fix reading of a char-table. - * msdos.c (croak): Add `void' to definition. + * print.c (print_object): Include sub char-table in cicularities + detection. - * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]: - Don't define them, they are defined in msdos.c. +2008-02-01 Kenichi Handa - * mem-limits.h [MSDOS]: Declare etext. + * keymap.c (where_is_internal_2): Fix for the case that KEY is a + cons. Append the found sequences in car of ARGS instead of prepending. - * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg' - `const' since CORRECT_DIR_SEPS modifies its target. +2008-02-01 Kenichi Handa -2002-08-19 Kim F. Storm + * fileio.c (report_file_error): Make a unibyte string from + strerror (errorno). + (Fsubstitute_in_file_name): Fix the arg to + unibyte_char_to_multibyte. It is evaluated twice. - * keyboard.c (Fclear_this_command_keys): Add optional arg - KEEP-RECORD to avoid clearing lossage when we just want to clear - the current key sequence (kmacro needs this). +2008-02-01 Kenichi Handa -2002-08-19 Kenichi Handa + * charset.h (CHAR_CHARSET): Shortcut for ASCII case. - * composite.c (run_composition_function): Call FUNC if it is fboundp. +2008-02-01 Kenichi Handa - * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a - cons, return Qnil. + * coding.c (detect_coding_utf_16): Don't set detect_info->found if + BOM is not found. + (detect_coding, detect_coding_system): Optimization for ISO-2022 + when no 8-bit data is found. -2002-08-17 Richard M. Stallman +2008-02-01 Jason Rumney - * s/sol2-5.h (BROKEN_SIGIO): Add #undef. + * w32fns.c (x_to_w32_font): Update to use new coding struct. - * sysdep.c [!VMS]: Include sys/files.h. +2008-02-01 Kenichi Handa - * editfns.c (save_restriction_restore): Defend from unchained marker. + * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of + CHARS. - * buffer.c (overlays_at): Handle extending vec uniformly. - (overlays_in): Handle extending vec from length 0 as in overlays_at. +2008-02-01 Steven Tamm -2002-08-15 Andrew Choi + * macterm.c (mac_encode_char): Add charset argument and update + to use encoding_type. + (x_new_font,x_new_fontset): Merge in changes from xterm.c; + switch to pure fontset. + (decode_mac_font_name): Temporarily remove decoding. + (x_font_name_to_mac_font_name): Temporarily remove encoding. + (x_load_font): Temporarily remove encoding. - * mac.c (init_mac_osx_environment): New function. +2008-02-01 Kenichi Handa - * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment. + * xfaces.c (Fface_font): If frame is not on a window system, + ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't + refer to face->font. + (split_font_name_into_vector, build_font_name_from_vector) + (lookup_non_ascii_face, realize_non_ascii_face): Define them only + whne HAVE_WINDOW_SYSTEM is defined. -2002-08-14 Kim F. Storm +2008-02-01 Kenichi Handa - * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit - executing macro before appending to it (when used from Lisp). - (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function - which is called prior to each iteration of macro (for kmacro.el). - (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise. + * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL. + (x_produce_glyphs): Fix setting of members of cmp in case + cmp->glyph_len is zero. - * lisp.h (Fexecute_kbd_macro): Update prototype. + * fontset.c (Fset_fontset_font): Fix docstring. + (Ffontset_info): Make it backward compatible. New arg ALL. - * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro. +2008-02-01 Kim F. Storm -2002-08-14 Kenichi Handa + * process.c (read_process_output): Grow decoding_buf when needed; + this could cause a crash in allocate_string and compact_small_strings. - * xselect.c (QUTF8_STRING): New variable. - (symbol_to_x_atom): Pay attention to QUTF8_STRING. - (x_atom_to_symbol): Likewise. - (x_get_local_selection): New argument local_request. If it is - nonzero, call handler_fn with the second arg nil. - (x_handle_selection_request): Call x_get_local_selection with - local_request 0. - (lisp_data_to_selection_data): Don't encode the string here. - (Fx_get_selection_internal): Call x_get_local_selection with - local_request 1. - (syms_of_xselect): Intern and staticpro QUTF8_STRING. +2008-02-01 Kenichi Handa - * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING. + * fileio.c (WRITE_BUF_SIZE): Delete this macro. - * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING. +2008-02-01 Kenichi Handa -2002-08-13 Richard M. Stallman + * coding.c (setup_coding_system): Set coding->common_flags + correctly for raw-text. + (consume_chars): On encoding unibyte text by raw-text, don't check + multibyte form. + (encode_coding): On encoding by raw-text, never use translation tables. - * minibuf.c (Fminibufferp): New function. - (syms_of_minibuf): Defsubr it. - (Fminibuffer_prompt_end): Handle non-minibuffers specially. + * fileio.c (e_write): Short cut for the case of no encoding. -2002-08-13 Gerd Moellmann +2008-02-01 Kenichi Handa - * coding.c (Funencodable_char_position): Lisp_Object/int mixup. + * coding.c (detect_coding, detect_coding_system): Delete unused + variables. -2002-08-12 Richard M. Stallman +2008-02-01 Kenichi Handa - * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H. - [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED) - (WSTOPSIG, WTERMSIG): Define each one independently if not defined - already. + * coding.c (encode_coding_utf_8): Fix handling of raw-byte char. + (consume_chars): Fix handling of 8-bit bytes in unibyte source. - * buffer.c (syms_of_buffer) : Doc fix. +2008-02-01 Kenichi Handa -2002-08-11 Andrew Choi + * coding.c (Ffind_coding_systems_region_internal): Include + raw-text and no-conversion in the result. - * macterm.c (XTmouse_position): Check wp with is_emacs_window. - (Vmac_pass_command_to_system): New variable. - (Vmac_pass_control_to_system): New variable. - (do_mouse_moved): Check wp with is_emacs_window. - (XTread_socket): Check window_ptr with is_emacs_window. - Call FrontNonFloatingWindow instead of FrontWindow. Send keydown - events back to Mac Toolbox for processing, depending on values of - Vmac_pass_command_to_system and Vmac_pass_control_to_system. - (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and - Vmac_pass_control_to_system. +2008-02-01 Kenichi Handa -2002-08-10 Kenichi Handa + * fontset.c (find_font_encoding): Return `ascii' for unknown encoding. + (load_font_get_repertory): Delete unnecessary check of ENCODING of + FONT_DEF. + (font_def_arg, add_arg, from_arg, to_arg): New args. + (set_fontset_font): Change argument. + (Fset_fontset_font): Fix for the case that TARGET is a script + name and charset name. + (new_fontset_from_font_name): Fix argument to Fnew_fontset. - * coding.c (unencodable_char_position): New function. - (Funencodable_char_position): New function. - (syms_of_coding): Defsubr Funencodable_char_position. +2008-02-01 Kenichi Handa -2002-08-10 Andrew Choi + * fontset.c (fontset_font): Rename from fontset_face. Change return + value. + (face_suitable_for_char_p, face_for_char): Adjust for the change + of fontset_font. + (make_fontset_for_ascii_face): Fix setting of the fontset element + for ASCII. + (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR + to get a font name. + (Ffontset_info): Adjust for the change of fontset_font. - * mac.c (sys_select) [MAC_OSX]: New function. + * coding.c (emacs_mule_char): Check invalid code more regidly. - * macterm.c (MakeMeTheFrontProcess): New function. - (mac_initialize): Call MakeMeTheFrontProcess. + * character.h (LEADING_CODE_LATIN_1_MIN) + (LEADING_CODE_LATIN_1_MAX): Delete these macros. - * s/darwin.h: Define select to sys_select. +2008-02-01 Kenichi Handa -2002-08-09 Richard M. Stallman + * editfns.c (check_translation): New function. + (Ftranslate_region_internal): Handle M:N mapping. - * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT. +2008-02-01 Kenichi Handa -2002-08-09 Gerd Moellmann + * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE]. - * xdisp.c (forward_to_next_line_start): Return 0 when reaching the - end of the buffer. +2008-02-01 Kenichi Handa -2002-08-08 Ken Raeburn + * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of + goto invalid_code. + (decode_coding_iso_2022): Fix handling of invalid designation. - * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup. + * fileio.c (Finsert_file_contents): Be sure to call unbind_to + after calling code_conversion_save. - * puresize.h (BASE_PURESIZE): Increase to 910000. +2008-02-01 Kenichi Handa -2002-08-08 Kenichi Handa + * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup. - * coding.c (Ffind_operation_coding_system): For write-region, if - VISIT is a filename, make it the target. + * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup. -2002-08-07 Richard M. Stallman + * fontset.c: Include "intervals.h". + (fontset_face): Fix comparing of Lisp_Objects. + (free_face_fontset, new_fontset_from_font_name): Fix + Lisp_Object/int mixup. - * alloc.c (mark_object): Detect long lists for debugging. - (mark_object_loop_halt): New variable. + * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup. + + * coding.c: Add many prototypes for static functions. + (get_translation_table): Allow max_lookup to be NULL. + (decode_coding,Ffind_coding_systems_region_internal) + (Funencodable_char_position, Fcheck_coding_systems_region): Call + get_translation_table with max_lookup NULL. + +2008-02-01 Kenichi Handa + + * coding.c (get_translation_table): Declare it as Lisp_Object. + (LOOKUP_TRANSLATION_TABLE): New macro. + (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE + instead of CHAR_TABLE_REF. + +2008-02-01 Kenichi Handa + + * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of + annotation data format. + (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA): + Change arguments FROM and TO to single argument NCHARS. Change caller. + (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule) + (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) + (decode_coding_ccl, decode_coding_charset): Pay attention to + coding->charbuf_used. + (get_translation): New function. + (produce_chars): New arguments translation_table and last_block. + Translate characters here. Return number of carryover chars. + Change caller. + (produce_composition): New argument pos. Change caller. + Adjust for the change of annotation data format. + (produce_charset, produce_annotation): Likewise. + (decode_coding, encode_coding): Don't call translate_chars. + (consume_chars): New arg translation_table. Change caller. + (translate_chars): Delete. + (syms_of_coding): Make translation-table's number of extra slots 2. + +2008-02-01 Kenichi Handa + + * search.c (simple_search): Fix setting this_pos_byte in backward + search. + + * coding.c (detect_coding_emacs_mule): Fix counting of encoded + byte sequence. + (detect_coding_ccl): Fix setting of the variable valids. - * s/hpux10.h (C_SWITCH_SYSTEM): #undef it. +2008-02-01 Kenichi Handa - * data.c (Fmake_variable_frame_local): Doc fix. + * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font. -2002-08-01 David Ponce + * coding.c (decode_coding_utf_16): Fix handling of surrogate pair. - * w32menu.c (local_heap, local_alloc, local_free): New macros. - (malloc_widget_value, free_widget_value) - (w32_free_submenu_strings): Use them. + * editfns.c (Ftranslate_region_internal): Rename from + Ftranslate_region. Accept a char-table in TABLE. + (syms_of_editfns): Defsubr Stranslate_region_internal. - (push_submenu_start, push_submenu_end, push_left_right_boundary) - (push_menu_pane, push_menu_item, single_keymap_panes) - (single_menu_item, Fx_popup_menu, menubar_selection_callback) - (single_submenu, set_frame_menubar) - (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE. + * xfaces.c (set_lface_from_font_name): If a font is specified for + a frame, generate a fontset from the font. + (build_scalable_font_name): If the scalable font is requested for + a specific size, don't change that size. + (try_font_list): Try a scalable font also in the case that a + pattern string is specified. - (Fx_popup_menu): Don't show pop up menu until preceding one is - actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block. +2008-02-01 Kenichi Handa - * w32menu.c: Changes adapted from xmenu.c - (set_frame_menubar): First parse all submenus, - then make widget_value trees from them. - Don't allocate any widget_value objects - until we are done with the parsing. - (parse_single_submenu): New function. - (digest_single_submenu): New function. - (single_submenu): Function deleted, replaced by those two. + * xfaces.c (Fface_font): New optional arg CHARACTER. -2002-08-04 Andrew Choi +2008-02-01 Kenichi Handa - * macterm.c (XTread_socket): Check that FrontNonFloatingWindow - returns a valid window pointer before proceeding for keyDown and - autoKey events. + * charset.h (CHARSET_OFFSET): New macro. -2002-08-03 Andrew Choi +2008-02-01 Kenichi Handa - * macterm.c (USE_CARBON_EVENTS): New macro. - (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros. - (x_iconify_frame): Call CollapseWindow. - (Vmac_reverse_ctrl_meta): New variable. - (Vmac_wheel_button_is_mouse_2): New variable. - (init_mac_drag_n_drop): New function. - (mac_do_receive_drag): New function. - (mac_handle_service_event): New function. - (init_service_handler): New function. - (mac_to_emacs_modifiers): New function. - (mac_event_to_emacs_modifiers): New function. - (mac_get_mouse_btn): New function. - (mac_convert_event_ref): New function. - (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent, - SendEventToEventTarget, mac_event_to_emacs_modifiers, and - mac_get_mouse_btn. - (mac_initialize): Call init_mac_drag_n_drop and init_service_handler. + * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset. - * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and - lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT. - (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and - TOOL_BAR_EVENT for MAC_OS as well. - (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well - as for WINDOWS_NT. - (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX. + * fontset.c (fontset_face): Handle the case that repertory is a + char-table. + (find_font_encoding): Return nil for unknown encoding. + (Fset_fontset_font): Ignore a font of unknown encoding. - * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX. +2008-02-01 Kenichi Handa -2002-08-03 Gerd Moellmann + * keymap.c (describe_vector): Handle default value of a char table. - * xdisp.c (forward_to_next_line_start): Fix a condition that - lead to a newline being skipped. + * fontset.c (fontset_face): Handle fallback fonts correctly. + (Ffontset_info): Return infomation about fallback fonts. -2002-08-02 Andrew Choi +2008-02-01 Kenichi Handa - * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p. + * fontset.c (FONTSET_DEFAULT): New macro. + (FONTSET_ADD, fontset_add): Handle the case that range is nil. + (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle + the case that it is nil. + (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK. + (syms_of_fontset): Set char-table-extra-slots property of fontset to 9. -2002-08-01 Richard M. Stallman + * charset.h (CHAR_CHARSET_P): Fix for the case that the method is + subset or superset. - * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o. +2008-02-01 Kenichi Handa -2002-07-31 Andrew Choi + * emacs.c (main): Call init_charset after syms_of_XXX. - * macfns.c: #undef init_process before #define-ing it. + * charset.c (Vcharset_map_directory): Delete. + (Vcharset_map_path): New variable + (load_charset_map_from_file): Use Vcharset_map_path instead. + (init_charset): Initialize Vcharset_map_path. + (syms_of_charset): Delete declaration of "charset-map-directory", + add declaration of "charset-map-path". - * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if - HAVE_CARBON is defined. +2008-02-01 Kenichi Handa -2002-07-31 Richard M. Stallman + * fns.c (string_char_to_byte, string_byte_to_char): Optimize for + ASCII only string. - * xmenu.c (set_frame_menubar): First parse all submenus, - then make widget_value trees from them. - Don't allocate any widget_value objects - until we are done with the parsing. - (parse_single_submenu): New function. - (digest_single_submenu): New function. - (single_submenu): Function deleted, replaced by those two. + * fileio.c (Finsert_file_contents): Avoid detecting a code twice. -2002-07-30 Juanma Barranquero + * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3. + (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.. - * w32proc.c (syms_of_ntproc): Fix docstring of - `w32-get-true-file-attributes'. +2008-02-01 Kenichi Handa -2002-07-28 Richard M. Stallman + * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros. - * s/hpux8.h (HPUX8): Define this before including hpux.h. - (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide. + * coding.c (QCmnemonic, QCdefalut_char) + (QCdecode_translation_table, QCencode_translation_table) + (QCpost_read_conversion, QCpre_write_conversion): New variables. + (get_translation_table): Return a list of translation tables if + necessary. + (decode_coding): Call get_translation_table with ENCODEP 0. + (char_encodable_p): If translation_table is non-nil, always call + translate_char. + (Fdefine_coding_system_internal): Accept list of translation + tables as :encode-translation-table and :decode-translation-table. + (Fcoding_system_put): New function. + (syms_of_coding): Declare new symbols. Defsubr + Scoding_system_put. + (decode_coding_sjis, encode_coding_sjis): Handle 4th charset, + typically JISX0212. + + * charset.c (map_charset_chars): Fix arg to map_charset_chars in + when the charset is superset type. + + * character.c (translate_char): Accept list of translation tables. + +2008-02-01 Kenichi Handa + + * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl. + (CODING_ATTR_TRANS_TBL): New macro. + + * coding.c (get_translation_table): New function. + (translate_chars): Fix the bug of skipping annotation data. + (decode_coding, encode_coding): Utilize get_translation_table. + (char_encodable_p, Funencodable_char_position): Translate char if + necessary. + (Ffind_coding_systems_region_internal) + (Fcheck_coding_systems_region): Setup translation table for encode + in a coding system attribute vector in advance. + (Fdefine_coding_system_internal): Allow a symbol as translation + table. For shift-jis type coding system, allow 4th charset. - * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8. +2008-02-01 Kenichi Handa - * keyboard.c (make_lispy_event): - Use #ifdef to test USE_TOOLKIT_SCROLL_BARS. - Explicitly clear up_modifier in event->modifiers. + * coding.c (decode_coding_sjis): Check the first byte rigidly. -2002-07-27 Richard M. Stallman + * xdisp.c (get_next_display_element): Pass -1 as POS to + FACE_FOR_CHAR if displaying a C-string. - * xterm.h (FRAME_CURSOR_WIDTH): New macro. +2008-02-01 Kenichi Handa - * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH - for bar cursor. + * composite.c (get_composition_id): Handle xoff and yoff in a + composition rule. -2002-07-26 Kenichi Handa + * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff. + (struct composition): New member lbearing and rbearing. - * coding.c (detect_coding_iso2022): While checking a byte sequence - for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check - it in the normal loop. + * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y). + (x_get_glyph_overhangs): Handle a composition glyph. + (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph. -2002-07-24 Gerd Moellmann + * xterm.c (x_compute_glyph_string_overhangs): Handle also a + composition glyph. - * xterm.c (expose_overlaps): New function. - (expose_window): Use it to fix the display of overlapping rows. +2008-02-01 Kenichi Handa - * xdisp.c (unwind_redisplay): Clear redisplay_updating_p. + * print.c: Include charset.h. + (Vprint_charset_text_property): New variable. + (Qdefault): Extern it. + (PRINT_STRING_NON_CHARSET_FOUND) + (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros. + (print_check_string_result): New variable. + (print_check_string_charset_prop): New function. + (print_prune_charset_plist): New variable. + (print_prune_string_charset): New function. + (print_object): Call print_prune_string_charset if + Vprint_charset_text_property is not t. + (print_interval): Print nothing if itnerval->plist is nil. + (syms_of_print): Declare Vprint_charset_text_property as a lisp + variable. Init and staticpro print_prune_charset_plist. -2002-07-23 Ken Raeburn +2008-02-01 Kenichi Handa - * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well, - since it only depends on XUINT. + * fontset.c (new_fontset_from_font_name): Use the specified font + for all characters in the new fontset. - * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT, - EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS, - PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR): - Macros deleted. + * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and + OBJECT args. - * mem-limits.h (start_of_data): If DATA_START is defined, prefer - its value over other approaches. - * sysdep.c (start_of_data): Don't define the function if a macro - form has been defined. + * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and + OBJECT args for composition too. -2002-07-23 Gerd Moellmann + * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and + OBJECT args. - * xdisp.c (redisplay_updating_p): New variable. - (init_iterator): Don't free realized faces when - redisplay_updating_p is set. - (redisplay_internal): Set redisplay_updating_p while updating - the display. +2008-02-01 Kenichi Handa -2002-07-23 Richard M. Stallman + * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT. - * editfns.c (Fmessage): Treat "" like nil. + * fontset.c (reorder_font_vector): Adjust for the change of + FONT_DEF format. + (fontset_face): New arg id. Change caller. + (face_for_char): New args pos and object. + (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF + format.n + (fs_query_fontset): Check NAME by Fassoc too. + (Fset_fontset_font): Allow non-XLFD font name. + (Ffontset_info): Adjust for the change of FONT_DEF format. -2002-07-23 Kenichi Handa + * fontset.h (face_for_char): Adjust prototype. - * xdisp.c (face_before_or_after_it_pos): - Call FETCH_MULTIBYTE_CHAR with byte postion, not char position. + * xdisp.c (face_before_or_after_it_pos, get_next_display_element) + (append_space, extend_face_to_end_of_line) + (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING) + (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args. + + * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with + POS and OBJECT args. -2002-07-22 Juanma Barranquero + * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with + POS and OBJECT args. - * callproc.c (init_callproc) [DOS_NT]: - Initialize Vshared_game_score_directory to nil. - (syms_of_callproc) [DOS_NT]: Likewise. +2008-02-01 Jason Rumney -2002-07-22 Gerd Moellmann + * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc + of GlobalAlloc'ed memory. - * xdisp.c (display_line): Replace an abort with xassert. +2008-02-01 Kenichi Handa -2002-07-21 Richard M. Stallman + * ccl.c (Fccl_execute_on_string): Fix the condition of loop. - * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED - and END_UNCHANGED when setting buffer_unchanged_p. - Use current_matrix_up_to_date_p to decide whether to use - try_cursor_movement. + * charset.h (charset_table_used): Delete extern. - * config.in (HAVE_SHARED_GAME_DIR): Undef deleted. + * charset.c (charset_table_used): Make it static. + (map_charset_chars): Fix args to c_function with. - * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in. + * chartab.c (map_sub_char_table_for_charset): Fix args to + c_function with. - * callproc.c (init_callproc): Set up Vshared_game_score_directory. - Set to nil if dir does not exist. - (syms_of_callproc): Init unconditionally and simply. + * coding.h (enum coding_result_code): Delete + CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC. - * buffer.c (Fbuffer_list): Doc fix. + * coding.c (Qinsufficient_source, Qinconsistent_eol) + (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables. + (Vlast_code_conversion_error): New variables. + (syms_of_coding): DEFSYM or DEFVAR_LISP them. + (ONE_MORE_BYTE): Record error if any instead of signaling an + error. If non-ASCII multibyte char is found, return the negative + value of the code. All callers changed to check it. + (ONE_MORE_BYTE_NO_CHECK): Likewise. + (record_conversion_result): New function. Change all codes setting + coding->result to call this function. + (detect_coding_utf_8, decode_coding_utf_8) + (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5): + Don't use the local variable incomplete. + (emacs_mule_char): Change the second arg to `const'. + (decode_coding): Fix of flushing out unprocessed data. + (make_conversion_work_buffer): Fix making of a work buffer. + (decode_coding_object): Return coding->dst_object; -2002-07-21 Ken Raeburn + * fontset.c (set_fontset_font): Fix args. - * sysdep.c (end_of_text, end_of_data): Unused functions deleted. + * lisp.h (CHARACTERBITS): Define as 22. - * buffer.c (mmap_realloc): When shrinking, make sure number of - pages to unmap is rounded towards zero. + * process.c (send_process): Be sure to set coding->src_multibyte. - * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted. - (XSETINT): Deleted. + * xdisp.c (handle_auto_composed_prop): Fix setting of limit. - * m/att3b.h (XINT): Don't define. - (VALBITS, VALMASK, XTYPE): Deleted. - (DATA_SEG_BITS): Define. - * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET, - ARRAY_MARK_FLAG): Deleted. - (DATA_SEG_BITS): Define. - * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted. - (DATA_SEG_BITS): Define. +2008-02-01 Kenichi Handa -2002-07-20 Richard M. Stallman + * xdisp.c (handle_auto_composed_prop): Give limit to + Fnext_single_char_property_change. - * print.c (print_error_message): New args CONTEXT and CALLER. - Calls changed. +2008-02-01 Kenichi Handa - * lisp.h (print_error_message): Declare new args. - - * keyboard.c (cmd_error_internal): Pass Vsignaling_function - and CONTEXT to print_error_message, don't print them here. - For a Quit, don't use Vsignaling_function. - Call message_log_maybe_newline. - - * Makefile.in (xsmfns.o): Don't depend on lisp.h. - -2002-07-20 Kim F. Storm - - * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p. - -2002-07-19 Ken Raeburn - - * bytecode.c (struct byte_stack): Pointers into byte string now - point to const. - * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to - const. - * charset.h (BCOPY_SHORT): Source pointer now points to const. - * coding.c (encode_eol, detect_coding, detect_eol): - (decode_coding, encode_coding, detect_coding_system): - Source strings now treated as const. - (decode_coding_string, encode_coding_string): Use STRING_COPYIN to - modify Lisp string contents. - * coding.h (decode_coding, encode_coding, detect_coding, - detect_eol): Declarations updated. - * composite.c (compose_chars_in_text): Treat Lisp string contents - as const. - * dispnew.c (safe_bcopy): Source pointer now points to const. - * lisp.h (STRING_COPYIN): New macro. - (detect_coding_system, safe_bcopy, temp_output_buffer_setup): - (internal_with_output_to_temp_buffer): Declarations updated. - * print.c (temp_output_buffer_setup): - (internal_with_output_to_temp_buffer): Buffer name argument is now - pointer to const. - * sound.c (struct sound_device): Function pointer field "write" - buffer argument now points to const. - (vox_write): Buffer argument points to const. - * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string - contents as const. - * sysdep.c (emacs_write): Buffer pointer now const. - * term.c (encode_terminal_code): Buffer pointer now const. - * xfaces.c (may_use_scalable_font_p): Argument now points to const. - (x_face_list_fonts, x_update_menu_appearance): - (hash_string_case_insensitive): Treat Lisp string contents as const. - -2002-07-19 Juanma Barranquero - - * xdisp.c (syms_of_xdisp): Remove redundant deprecation info. - - * fileio.c (syms_of_fileio): Likewise. - (Ffile_name_as_directory): Fix argument name in docstring. - (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP. - -2002-07-18 Richard M. Stallman - - * data.c (Fdefalias): Doc fix. - -2002-07-17 Dave Love - - * intervals.h (text_property_stickiness): Use P_. - - * ccl.c: Remove `emacs' conditionals. - (ccl_backtrace_table): Fix size spec. - (ccl_driver): Fix type errors. - -2002-07-16 Ken Raeburn - - * alloc.c (xstrdup, make_string, make_unibyte_string) - (make_multibyte_string, build_string): String pointer args now - point to const. - * charset.c (find_charset_in_text, c_string_width): - (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte): - * fileio.c (report_file_error): - * insdel.c (copy_text, count_size_as_multibyte, insert_1): - (count_combining_before, count_combining_after, insert_1_both): - (insert, insert_and_inherit, insert_string): - (insert_before_markers, insert_before_markers_and_inherit): - * lread.c (intern, oblookup, hash_string): - * minibuf.c (temp_echo_area_glyphs): - * search.c (fast_c_string_match_ignore_case): - * sysdep.c (emacs_open, set_file_times): - * xfaces.c (xstricmp): - * xdisp.c (store_frame_title, string_char_and_length): - (message_dolog, message2, message2_nolog, set_message): Likewise. - (set_message_1): Cast message string argument to const pointer. - * editfns.c (general_insert_function): Insertion function now - takes pointer to const for input data. - * charset.h (find_charset_in_text, c_string_width): - (parse_str_as_multibyte): Declarations updated. - * dispextern.h (xstricmp): Declaration updated. - * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text): - (count_size_as_multibyte, count_combining_before): - (count_combining_after, insert_1, insert_1_both, message_dolog): - (insert, insert_and_inherit, insert_before_markers) - (insert_before_markers_and_inherit, set_message, message2): - (message2_dolog, build_string, make_string, make_unibyte_string): - (make_multibyte_string, intern, oblookup, report_file_error): - (fast_c_string_match_ignore_case, temp_echo_area_glyphs): - (emacs_open, xstrdup): Declarations updated. - * systime.h (set_file_times): Declaration updated. - - * charset.c (find_charset_in_text, lisp_string_width): Use const - for pointer to lisp string data. - * charset.h (FETCH_STRING_CHAR_ADVANCE): - (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): - * coding.c (Ffind_coding_systems_region_interval): - * fileio.c (Ffile_name_directory, Ffile_name_nondirectory): - (Fmake_directory_internal, Fdelete_directory): - (Ffile_name_absolute_p, Fwrite_region, double_dollars): - * fontset.c (font_family_registry, fs_query_fontset): - (list_fontsets): - * frame.c (Fframe_parameter): - * keyboard.c (cmd_error_internal): - * keymap.c (Fdescribe_buffer_bindings): - * lread.c (complete_filename_p, openp): - * minibuf.c (Fminibuffer_complete_word): - * xdisp.c (string_pos_nchars_ahead, init_from_display_pos): - (face_before_or_after_it_pos, next_element_from_string): - (get_overlay_arrow_glyph_row, display_mode_element): - (decode_mode_spec_coding): - * xterm.c (same_x_server): Likewise. - - * buffer.c (reset_buffer_local_variables): Delete "#if 0" - settings of non-existent fields. - - * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to - copy a lisp value. - - * lread.c (Fintern_soft): Use string macros instead of - Lisp_String fields. - * keyboard.c (echo_char, parse_modifiers_uncached): - (parse_solitary_modifier, Fexecute_extended_command): Likewise. - * textprop.c (validate_interval_range, interval_of): Likewise. - - * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data. - - * charset.h (FETCH_STRING_CHAR_ADVANCE) - (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of - XSTRING()->size_byte. - - * lisp.h (SDATA, SREF): Produce rvalue. - (SSET): New macro. - * alloc.c (make_event_array): Use SSET for storing into a string. - * buffer.c (Fother_buffer): Use SREF when retrieving a byte from - a string. - * casefiddle.c (casify_object): Use SSET. - * charset.h (FETCH_STRING_CHAR_ADVANCE) - (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting - address of string contents. - * data.c (Faref): Use SDATA. - (Faset): Use SDATA, SSET. - * dired.c (directory_files_internal): Use SSET. - * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET. - (Fread_file_name): Use SREF, SSET. - * fns.c (concat): Use SSET. - (concat, Fdelete): Use SDATA. - * insdel.c (insert_from_string_1): Use SDATA. - * keyboard.c (Fevent_convert_list): Use SREF. - * lread.c (Fload): Use SDATA, SSET. - * macfns.c (validate_x_resource_name): Use SSET. - * process.c (status_message): Use SSET. - * search.c (wordify): Use SDATA. - (Freplace_match): Use SREF. - * w32fns.c (validate_x_resource_name): Use SSET. - * xfns.c (validate_x_resource_name): Use SSET. - * xterm.c (x_catch_errors, x_clear_errors): Use SSET. - -2002-07-16 Richard M. Stallman - - * s/hpux11.h (USG_SUBTTY_WORKS): Defined. - - * xdisp.c (reconsider_clip_changes): - Don't test prevent_redisplay_optimizations_p. - (redisplay_internal): Test prevent_redisplay_optimizations_p - along with clip_changed in some cases. - (try_window_id): Likewise. - (redisplay_window): New local var buffer_unchanged_p. - - * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass. - - * process.c (create_process): Test USG_SUBTTY_WORKS. - (process_send_signal): Clean up handling of GID. - Detect errors in ioctls meant to set GID. - - * window.c (temp_output_buffer_show): - Don't set prevent_redisplay_optimizations_p. - -2002-07-15 Juanma Barranquero - - * eval.c (Fdefvaralias): Add docstring argument. - -2002-07-15 Ken Raeburn - - * lisp.h (STRING_INTERVALS): Produce rvalue. - (STRING_SET_INTERVALS): New macro. - * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it. - * fns.c (Fstring_as_multibyte): Likewise. - * intervals.c (balance_possible_root_interval, delete_interval) - (create_root_interval, copy_intervals_to_string): Likewise. - * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL - instead of 0. - -2002-07-14 Ken Raeburn - - * lisp.h (STRING_SET_CHARS): New macro. - (SCHARS, SBYTES): Produce rvalues. - * dired.c (directory_files_internal): Use STRING_SET_CHARS. - * fns.c (concat): Likewise. - * lread.c (read_vector): Likewise. - - * lisp.h (SMBP): Delete. All uses changed to STRING_MULTIBYTE. - (STRING_SET_UNIBYTE): New macro. - (SET_STRING_BYTES): Delete. Callers (all of which supplied a - length of -1) changed to use STRING_SET_UNIBYTE. - * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, - casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c, - composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c, - dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c, - fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c, - keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c, - minibuf.c, msdos.c, print.c, process.c, search.c, sound.c, - sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c, - w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c, - w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, - xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with - STRING_BYTES or indirection changed to SCHARS, SBYTES, - STRING_INTERVALS, SREF, SDATA; explicit size_byte references left - unchanged for now. - -2002-07-13 Kim F. Storm + * composite.c (syms_of_composite): Don't make the composition hash + table weak. - * keyboard.c (command_loop_1): Invert check on Vmemory_full. + * fontset.c (Fset_fontset_font): Fix docstring. -2002-07-12 Richard M. Stallman + * lisp.h (detect_coding_system): Adjust prototype. - * fileio.c (Fwrite_region): Doc fix. - - * print.c (print_error_message): Don't handle Vsignaling_function here. + * fileio.c (kill_workbuf_unwind): Delete this function. + (Finsert_file_contents): Adjust the call of detect_coding_system. + Get conversion_buffer by code_conversion_save. Use the macor + CODING_MAY_REQUIRE_DECODING. After decoding, update + coding_system. - * keyboard.c (cmd_error_internal): Handle Vsignaling_function here. - (command_loop_1): Avoid certain actions after memory-full error. - - * eval.c (Fsignal): Don't call cancel_hourglass. - For a memory-full error, don't call Vsignal_hook_function - and don't set Vsignaling_function. + * coding.h (make_conversion_work_buffer): Delete extern. + (code_conversion_save): Extern it. - * process.c (process_send_signal): Add abort call. + * coding.c (enum iso_code_class_type): Delete ISO_carriage_return. + (CODING_GET_INFO): Delete argument eol_type. Change callers. + (decode_coding_utf_8): Don't do eol converion. + (detect_coding_utf_16): Check coding->src_chars, not + coding->src_bytes. Add heuristics for those that have no signature. + (decode_coding_emacs_mule, decode_coding_iso_2022) + (decode_coding_sjis, decode_coding_big5, decode_coding_charset): + Don't do eol converion. + (adjust_coding_eol_type): Return a new coding system. + (detect_coding): Don't detect eol. Fix for utf-16 detection. + (decode_eol): In case of CRLF->LF conversion, use del_range_2 on + each change. + (decode_coding): Pay attention to undo_list. Do eol convesion for + all types of coding-systems (if necessary). + (Vcode_conversion_work_buf_list): Delete it. + (Vcode_conversion_reused_workbuf): Rename from + Vcode_conversion_reused_work_buf. + (Vcode_conversion_workbuf_name): New variable. + (reused_workbuf_in_use): New variable. + (make_conversion_work_buffer): Delete the arg DEPTH. + (code_conversion_restore): Change argument to cons. + (code_conversion_save): Delete the argument BUFFER. Change callers. + (detect_coding_system): New argument src_chars. Change callers. + Fix for utf-16 detection. + (init_coding_once): Don't use ISO_carriage_return. + (syms_of_coding): Initialize Vcode_conversion_workbuf_name and + reused_workbuf_in_use. -2002-07-11 Markus Rost +2008-02-01 Kenichi Handa - * keymap.c (Fkey_binding): Fix typo. + * keymap.c (store_in_keymap): Pay attention to the case that idx + is a cons specifying a character range. -2002-07-11 Richard M. Stallman +2008-02-01 Kenichi Handa - * alloc.c (Vmemory_full): New variable. - (Vmemory_signal_data): Rename from memory_signal_data. - Uses changed. - (syms_of_alloc): Defvar them. - (memory_full, buffer_memory_full): Set Vmemory_full. + * xdisp.c (handle_auto_composed_prop): Fix the case of returning + HANDLED_RECOMPUTE_PROPS. - * lisp.h (Vmemory_full): Add declaration. - (current_column, indented_beyond_p): Change declaration. + * coding.c (Fdefine_coding_system_internal): Fix checking of + ascii compatibility. - * indent.c (last_known_column): Declare as double, not float. - (current_column, current_column_1, string_display_width) - (position_indentation): Return `double'. - (indented_beyond_p): Arg `column' is `double'. Callers changed. +2008-02-01 Kenichi Handa - * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil. - (back_to_previous_visible_line_start) - (reseat_at_next_visible_line_start, next_element_from_buffer): - Use `double', not `float', when calling indented_beyond_p. + * charset.c (find_charsets_in_text): Delete unused locale variable. + (Fset_charset_priority): Update Vemacs_mule_charset_list too. - * s/hpux11.h (BROKEN_SA_RESTART): Define. + * coding.c (encode_coding_emacs_mule): Emit bytes with MSB. + Resync charset_list to Vemacs_mule_charset_list. - * sysdep.c (sys_signal): Test BROKEN_SA_RESTART. + * keymap.c (store_in_keymap): Pay attention to the case that idx + is a cons specifying a character range. -2002-07-11 Juanma Barranquero +2008-02-01 Kenichi Handa - * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c, - * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c, - * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c, - * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c, - * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c, - * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense. + * composite.c (update_compositions): Bind inhibit-read-only, etc + to t before calling remove-list-of-text-properties. -2002-07-10 Juanma Barranquero + * print.c (print_object): Always print ASCII chars as is. - * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE. - All callers changed. +2008-02-01 Kenichi Handa -2002-07-09 Stefan Monnier + * keymap.c (Fdefine_key): Fix handling of Lucid style event type list. - * data.c (Fdefalias): Add an optional `docstring' argument. - (set_internal, Fsetq_default): Use XCAR/XCDR. + * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE + is a char table. - * composite.c (HASH_VALUE, HASH_KEY): - * ccl.c (HASH_VALUE): Remove (it's in lisp.h now). +2008-02-01 Kenichi Handa -2002-07-09 Kenichi Handa + * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary. - * callproc.c (Fcall_process): Fix previous change. +2008-02-01 Kenichi Handa -2002-07-07 Stefan Monnier + * xfaces.c (set_lface_from_font_name): Fix for the case that + FONTNAME is not fontset name. - * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion): - Add support for hash-tables. - (Ftry_completion): Return t even if the string appears multiple times. +2008-02-01 Kenichi Handa - * fns.c (Fnconc): Use XCDR. - (Fprovide): Use CONSP and XCDR. - (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX) - (HASH_TABLE_SIZE): Delete: moved to lisp.h. - (Fmake_hash_table): Accept `:size nil'. - (Fmakehash): Delete: moved to subr.el. - (syms_of_fns): Don't defsubr makehash. + * fns.c (base64_encode_1): Fix previous change. - * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX) - (HASH_TABLE_SIZE): Move from fns.c. +2008-02-01 Kenichi Handa -2002-07-07 Richard M. Stallman + * fontset.c (set_fontset_font): New function. + (Fset_fontset_font): If a font is specified for a charset, use + map_charset_chars to store the font spec in a fontset. - * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls. - Instead just return 0 when there is something to be done. - (try_scrolling): If make_cursor_line_fully_visible returns 0, - retry scrolling as if cursor were off the bottom. - (try_cursor_movement): If make_cursor_line_fully_visible returns 0, - return CURSOR_MOVEMENT_MUST_SCROLL. - (redisplay_window): If make_cursor_line_fully_visible returns 0, - go to try_to_scroll. +2008-02-01 Kenichi Handa - * buffer.c (Fbuffer_local_value): Store current value into its binding - so we get the up-to-date value for the binding that is loaded. + * fontset.c (fontset_face): Create a fallback fontset on demand + (make_fontset): Don't create a fallback fontset here. + (free_face_fontset): Free a fallback fontset (if any) too. + (n_auto_fontsets): Delete this variable. + (auto_fontset_alist): New variable. + (new_fontset_from_font_name): Check auto_fontset_alist. + (dump_fontset) [FONTSET_DEBUG]: Fully re-written. + (Ffontset_list_all) [FONTSET_DEBUG]: New function. + (syms_of_fontset): Initialize and staticpro auto_fontset_alist. + Defsubr Sfontset_list_all. - * eval.c (Fdefmacro): Doc fix. +2008-02-01 Kenichi Handa -2002-07-05 Dave Love + * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts. - * keyboard.c (read_key_sequence): Set initial_idleness_start_time - correctly. +2008-02-01 Kenichi Handa - * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE) - (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New. - (ccl_driver): Add cases for CCL_LookupIntConstTbl, - CCL_LookupCharConstTbl. - (syms_of_ccl): Defvar translation-hash-table-vector. + * fontset.c (Fnew_fontset): Check NAME more rigidly. -2002-07-05 Pavel Jan,Am(Bk +2008-02-01 Kenichi Handa - * xdisp.c: Remove unused variable `face'. + * editfns.c (Fgoto_char): Fix docstring. -2002-07-04 Juanma Barranquero +2008-02-01 Kenichi Handa - * keyboard.c (post_command_idle_hook): Remove redundant (and inexact) - obsolescence information. + * insdel.c (insert_from_gap): Adjust intervals correctly. -2002-07-03 Andrew Choi +2008-02-01 Jason Rumney - * macterm.c (x_list_fonts): Fix comment. Cache fonts matching - pattern. Search cache first. - (init_font_name_table): Also add entry for jisx0201.1976-0 coding - for Japanese font. - (XLoadQueryFont): Use it. + * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't. + (pfnGetFontUnicodeRanges): New dynamically loaded function. + (w32_initialize): Try to load it. + (x_get_font_repertory): Use it if available. + (w32_encode_char): Add shortcut for unicode output. -2002-07-02 Richard M. Stallman + * w32fns.c (w32_load_system_font): Default charset to -1. + (x_to_w32_charset): Match all fonts for unicode. + (w32_to_x_charset): New parameter matching. Don't return partial + or wildcard charsets. + (w32_to_all_x_charsets): Don't return partial or wildcard charsets. + (w32_codepage_for_font): Return CP_UNICODE for unicode. + (w32_to_x_font): Match charset to real charset. + (enum_font_cb2): Always list unicode versions. - * keymap.c (Fdefine_key): Doc fix. + * makefile.w32-in (temacs): Increase EMHEAP. - * xterm.c (x_term_init): Turn off polling around XtOpenDisplay. +2008-02-01 Jason Rumney -2002-07-02 Juanma Barranquero + * w32term.c (w32_encode_char): New charset parameter. + font_info.encoding becomes encoding_type. + (x_get_font_repertory): New function. Warning: stub only! + (x_new_font): Return quickly if font already set. + (x_new_fontset): fontsetname parameter is Lisp_Object. + Use new fs_query_fontset. Try new_fontset_from_font_name. Use + fontset_name for return value. - * keymap.c (syms_of_keymap): Fix typo. + * w32term.h: Declare x_get_font_repertory. -2002-07-01 Andrew Choi + * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in + place of find_charset_in_text. Use encode_coding_object in place + of encode_coding. + (Fw32_get_clipboard_data): Use decode_coding_c_string in place of + decode_coding. - * s/darwin.h: Define POSIX_SIGNALS. + * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version + of x_new_fontset. + (w32_load_system_font): Initialize charset as unicode. + font_info.encoding becomes encoding_type. + (w32_to_x_font): Use decode_coding_c_string in place of decode_coding. + (x_to_w32_font): Use encode_coding_object in place of encode_coding. + (syms_of_w32fns): Set get_font_repertory_func. - * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef - and FSRefMakePath to convert FSSpec returned with Apple Event to - Posix pathname. - (mac_initialize) [TARGET_API_MAC_CARBON]: - Call init_required_apple_events and disable the `Quit' menu item - provided automatically by the Carbon Toolbox. + * w32console.c: Include character.h. Use terminal_encode_buffer + from term.c. + (write_glyphs): Use new version of encode_terminal_code. Use + encode_coding_object in place of encode_coding. -2002-07-01 Dave Love + * w32bdf.c (w32_load_bdf_font): Clear font_info before filling. + encoding becomes encoding_type. - * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl - for K&R. + * term.c (terminal_encode_buffer): Make externally visible. - * xterm.c: Fix prototype for K&R. + * makefile.w32-in: Add character.h dependancies. + (character.o, chartab.o): New targets. - * term.c (costs_set): Declare static, non-initialized for pcc. +2008-02-01 Kenichi Handa -2002-07-01 Richard M. Stallman + * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro + CODING_ID_EOL_TYPE. - * keyboard.c (timer_last_idleness_start_time): New variable. - (timer_start_idle): Set that. - (read_key_sequence): Use that to reset timer_idleness_start_time - to previous value. +2008-02-01 Andreas Schwab - * window.c (Frecenter): With arg, set optional_new_start. + * coding.c (produce_chars): Revert last change. - * xdisp.c (redisplay_internal): Make optional_new_start really work. +2008-02-01 Kenichi Handa - * minibuf.c (Fminibuffer_complete_and_exit): Move to end of - buffer for completion. + * charset.h (charset_unicode): Extern it. -2002-06-29 Ken Raeburn + * charset.c (string_xstring_p): Check by (C >= 0x100). + (find_charsets_in_text): Change format of the arc CHARSETS. New + arg MULTIBYTE. + (Ffind_charset_region, Ffind_charset_string): Adjust for the + change of find_charsets_in_text. + (Fsplit_char): Fix doc. Never return unknown. - * xdisp.c (store_mode_line_string): Lisp_Object/int mixup. + * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP. -2002-06-28 Jan Dj,Ad(Brv + * coding.c (Fdefine_coding_system_alias): Update + Vcoding_system_list. - * keyboard.c (readable_filtered_events): New function that filters - FOCUS_IN_EVENT depending on parameter. - (readable_events): Calls readable_filtered_events, not filtering - FOCUS_IN_EVENT. - (get_filtered_input_pending): New function, filtering parameter passed - to readable_filtered_events. - (get_input_pending): Calls get_filtered_input_pending, not filtering - FOCUS_IN_EVENT. - (Finput_pending_p): Calls get_filtered_input_pending, DO filter - FOCUS_IN_EVENT. + * fontset.c (load_font_get_repertory): Pay attention to the case + that ENCODING of a font is specified by a char-table. - * xterm.h (struct x_output): Add focus_state. + * xterm.c (x_get_font_repertory): Handle the case that the + encoding of font is other than Unicode. - * xterm.c (x_focus_changed): New function. - (x_detect_focus_change): New function. - (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut - EnterNotify and LeaveNotify to track X focus changes. +2008-02-01 Kenichi Handa -2002-06-28 Andreas Schwab + * term.c (encode_terminal_code): Don't handle glyph-table. Check + if a character is encodable by the terminal coding system. If + not, produces proper number of `?'s. Update + terminal_encode_buffer and terminal_encode_buf_size if necessary. + (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P. - * lisp.h: Remove duplicate declaration of code_convert_string_norecord. +2008-02-01 Kenichi Handa -2002-06-27 Kim F. Storm + * term.c (terminal_encode_buffer, terminal_encode_buf_size): New + variables. + (encode_terminal_code): Change argument. Encode multiple + characters at once. Store the result of encoding in + terminal_encode_buffer. + (write_glyphs, insert_glyphs): Adjust for the change of + encode_terminal_code. + (term_init): Initialize terminal_encode_buffer and + terminal_encode_buf_size. - * xdisp.c (mode_line_string_list, mode_line_string_face) - (mode_line_string_face_prop): New variables. - (store_mode_line_string): New function. - (display_mode_element): Use store_mode_line_string to - add mode-line string elements to mode_line_string_list - when mode_line_string_list is non-nil. - (Fformat_mode_line): Now returns propertized string by - default. New arg NO-PROPS to ignore properties. - (decode_mode_spec): Only add two dashes for %- in propertized - mode-line string. - (syms_of_xdisp): Init and staticpro mode_line_string_list. + * coding.c (consume_chars): If coding->src_object is nil, don't + check annotation. -2002-06-27 Stefan Monnier +2008-02-01 Kenichi Handa - * minibuf.c (minibuffer_completion_contents): Add return type. + * character.c (char_string): Use ASCII_CHAR_P instead of + SINGLE_BYTE_CHAR_P. -2002-06-27 Juanma Barranquero +2008-02-01 Kenichi Handa - * charset.c (Fchar_bytes): Remove obsolescence info from docstring. + * xdisp.c (handle_auto_composed_prop): Check if the last + characters of auto-composed region is newly composed with the + following characters. + (handle_composition_prop): Fix checking of point being inside + composition. -2002-06-26 Juanma Barranquero +2008-02-01 Kenichi Handa - * fileio.c (read_file_name_cleanup): Add missing return. + * fns.c (concat): Don't change multibyteness of the result by + concatenating an 8-bit character. -2002-06-26 Richard M. Stallman + * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change + multibyteness of the result when newelt is an 8-bit character. - * window.c (Frecenter): Don't set force_start flag. +2008-02-01 Dave Love - * minibuf.c (do_completion, Fminibuffer_complete_word) - (Fminibuffer_completion_help): Complete just the text before point. - (minibuffer_completion_contents): New function. + * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used + EMACS_INT. - * buffer.c (Fbury_buffer): Use frames_discard_buffer. + * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars. - * frame.c (frames_bury_buffer): Function deleted. + * xfaces.c (face_numeric_value): Declare dim size_t. + (Finternal_lisp_face_equal_p): Remove unused f. -2002-06-25 Miles Bader + * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor) + (MATRIX_ROW): Remove unused vars. + (draw_glyphs, x_insert_glyphs, fast_find_position) + (fast_find_position, fast_find_string_pos): Use EMACS_INT for + byte/char counts. - * callint.c (Fcall_interactively): When checking to see if doprnt hit - the end of callint_message, allow for a terminating '\0'. + * regex.c (regex_compile): Remove unused var. -2002-06-24 Juanma Barranquero + * minibuf.c (Fminibuffer_complete_word): Remove unused var. - * w32select.c: Include composite.h. + * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap) + (Faccessible_keymaps, where_is_internal): Remove unused vars. - * w16select.c: Likewise. + * keyboard.c (cancel_hourglass_unwind): Return Qnil. -2002-06-24 Kenichi Handa + * frame.c (frame_name_fnn_p): Make len EMACS_INT. - * callproc.c (Fcall_process): If code detection is necessary, - call detect_coding directly here. + * fileio.c (Fwrite_region): Remove unused var. - * coding.c (detect_eol): Preserve coding->cmp_data. + * dispnew.c (adjust_frame_glyphs_for_frame_redisplay) + (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim. - * w16select.c (Fw16_get_clipboard_data): - * w32fns.c (w32_to_x_font): - * w32select.c (Fw32_get_clipboard_data): - * xselect.c (selection_data_to_lisp_data): - * xterm.c (XTread_socket): Disable composition handling. + * composite.c (Fremove_list_of_text_properties): Declare. -2002-06-24 Stefan Monnier + * coding.c (inhibit_pre_post_conversion): Remove (unused). + (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts. + (coding_inherit_eol_type): Remove unused attrs. + (detect_coding): Cast arg of detect_eol. - * print.c (temp_output_buffer_setup): Kill all local variables. + * charset.c (syms_of_charset): Remove unused var p. + (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for + byte/char counts. -2002-06-22 Stefan Monnier + * casetab.c (set_case_table): Remove unused var. - * lread.c (Fread): Remove redundant and imprecise declaration. + * window.c (Fdisplay_buffer, Fframe_selected_window): Remove + unused vars. - * xfns.c (check_x_display_info): Use check_x_frame. +2008-02-01 Dave Love - * .gdbinit (xprintsym): Use the new `xname' field. - (xsymbol): Use it. + * xterm.c (x_bitmap_mask): Declare. -2002-06-22 Jason Rumney +2008-02-01 Dave Love - * w32fns.c (file_dialog_callback): New function. - (Fx_file_dialog): Allow selecting directories as well as files. + * xterm.c (x_term_init): Fix type error. -2002-06-21 Pavel Jan,Am(Bk + * lisp.h: Add Funibyte_char_to_multibyte. - * m/pmax.h (START_FILES): Define START_FILES for NetBSD and - OpenBSD. Add support for mipseb-*-netbsd* machines. + * coding.c (Fread_coding_system): Fix arg of XSETSTRING. + (Fset_coding_system_priority): Doc fix. -2002-06-17 Andrew Choi + * ccl.c (ccl_driver): Fix arg of CHARACTERP. - * macterm.c (mac_scroll_area): Set foreground and backcolor to - black and white before scrolling. Restore frame background and - foreground color after scrolling. - (do_window_update): Call XClearWindow before calling expose_frame. - (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and - FRAME_FOREGROUND_PIXEL of frame. + * indent.c (check_composition): Make start and end EMACS_INT. - * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil, - test Mac command key as key. + * character.c (lisp_string_width): Make ignore and end EMACS_INT. -2002-06-17 Stefan Monnier + * xdisp.c (handle_composition_prop, check_point_in_composition): + Make buffer positions EMACS_INT. - * window.c (Fset_window_configuration): Lisp_Object/int mixup. + * composite.c (find_composition, run_composition_function) + (update_compositions, Ffind_composition_internal): Make buffer + positions EMACS_INT. - * keyboard.c (read_key_sequence): Be more careful with first_unbound. - Lookup keys in function-key-map immediately so that key-translation-map - can be applied earlier. - Remove function_key_possible and key_translation_possible, replaced - by checking `keytran_start < t'. + * composite.h (find_composition, update_compositions): Make + position args EMACS_INT. - * .gdbinit (xsymbol): Use the new `xname' field. + * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT. -2002-06-17 Andrew Choi + * intervals.c (get_property_and_range): + * intervals.h (get_property_and_range): Make start and end EMACS_INT. - * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil, - test Mac command key as key. + * unexalpha.c: Don't include varargs.h. - * mac.c (do_applescript): Call initialize_applescript if necessary - when first called. Dispose of result_desc only when there is no error. - (Fdo_applescript): Use %d format specifier instead of %ld. +2008-02-01 Dave Love -2002-06-16 Andrew Choi + * coding.h (ENCODE_UTF_8): New. - * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead - of FrontWindow for cases keyDown and autoKey. + * Makefile.in (gtkutil.o): Depend on coding.h. - * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of - Vdefault_fontset to Monaco with mac-roman coding. + * coding.c (Fset_coding_system_priority): Doc fix. - * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine - init_process before and after inclusion of Carbon/Carbon.h, resp. +2008-02-01 Kenichi Handa - * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and - cursor_gc. - (add_font_name_table_entry): New function. - (init_font_name_table): Use add_font_name_table_entry; add italic, - bold, and bold-italic entries for truetype fonts. + * fileio.c (Finsert_file_contents): Call setup_coding_system in + the case of auto saving. - * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces - for Mac too. - (try_font_list) [MAC_OS]: If no font matches given registry, try - fonts with any registry matching face_family. - (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here. +2008-02-01 Andreas Schwab - * s/darwin.h: If autoconf detects the Ncurses library, define - LIBS_TERMCAP to -lncurses to use it. + * chartab.c (map_char_table, map_char_table_for_charset): Protect + `range' from GC. -2002-06-16 Eli Zaretskii +2008-02-01 Kenichi Handa - * strftime.c [__hpux]: Include sys/_mbstate_t.h. + * coding.c (decode_coding_sjis): Check bytes more rigidly. -2002-06-15 Richard M. Stallman +2008-02-01 Kenichi Handa - * window.c (Fset_window_configuration): Explicitly preserve - the point value that new_current_buffer had at the start. + * fileio.c (choose_write_coding_system): Return a decided coding system. + (Fwrite_region): Set Vlast_coding_system_used to the return value + of choose_write_coding_system. -2002-06-14 Juanma Barranquero +2008-02-01 Kenichi Handa - * composite.c (Fcompose_region_internal, Fcompose_string_internal): - Fix typos. + * charset.c (Fset_charset_priority): Pay attention to duplicated + arguments. -2002-06-14 Kim F. Storm + * coding.c (QCcategory): New variable. + (syms_of_coding): Defsym it. Set all elements of + Vcoding_category_table and their symbol values. + (Fset_coding_system_priority): Doc fix. Update symbol qvalues of + coding-category-XXX, and coding-category-list. + (Fdefine_coding_system_internal): Add category in the plist. - * insdel.c (insert_1_both, insert_from_string_1) - (insert_from_buffer_1): Recalculate END_UNCHANGED in case the - insert happened in the end_unchanged region. Otherwise, the - redisplay may be confused and duplicate the last line in the - buffer [seen after save-buffer when require-final-newline==t]. +2008-02-01 Kenichi Handa -2002-06-13 Jason Rumney + * callproc.c (Fcall_process): Handle carryover correctly. - * w32.c (init_environment): Remove EMACSLOCKDIR. - (stat): Swap _S_IFDIR and _S_IFREG. + * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes. + (raw_text_coding_system): Check NILP (coding_system). + (coding_inherit_eol_type): Check NILP (coding_system) and + NILP (parent). + (consume_chars): Fix for the case of raw-text. -2002-06-13 Pavel Jan,Am(Bk + * process.c (read_process_output): Handle carryover correctly. - * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c - * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c, - * w32menu.c, w32inevt.c: Rename enum event_kind as follows: - ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke - to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to - NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click - to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT, - language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click - to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to - W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to - SELECTION_REQUEST_EVENT, selection_clear_event to - SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT, - delete_window_event to DELETE_WINDOW_EVENT, iconify_event to - ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT, - menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to - DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and - no_event to NO_EVENT. +2008-02-01 Dave Love -2002-06-12 Pavel Jan,Am(Bk + * regex.c (re_search_2): Fix last change. - * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind. +2008-02-01 Kenichi Handa -2002-06-12 Stefan Monnier + * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not + target_multibyte. Even in a unibyte case, return a converted + multibyte char. + (GET_CHAR_AFTER): New macro. + (PATFETCH): Translate via multibyte char. + (HANDLE_UNIBYTE_RANGE): Delete this macro. + (SETUP_MULTIBYTE_RANGE): New macro. + (regex_compile): Setup compiled code so that its multibyteness + matches that of a target. Fix the handling of "[X-YZ]" using + SETUP_MULTIBYTE_RANGE. + (analyse_first) : For filling fastmap for all multibyte + characters, don't check by BASE_LEADING_CODE_P. + (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is + the same as RE_MULTIBYTE_P (bufp) now. + (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)). + (TARGET_CHAR_AND_LENGTH): Delete this macro. + (TRANSLATE_VIA_MULTIBYTE): New macro. + (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp). + It is the same as RE_MULTIBYTE_P (bufp) now. + : Translate via multibyte. + : Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't + translate it. + : Fetch a character by + RE_STRING_CHAR_AND_LENGTH. Translate via multibyte. + : Call bcmp_translate with the last arg `multibyte'. + Fetch a character + by GET_CHAR_AFTER. + (bcmp_translate): Likewise. + + * search.c (compile_pattern): Check the member target_multibyte, + not the member multibyte of buf. + + * lread.c (read1): While reading a string, set force_singlebyte + and force_multibyte correctly. + + * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting + up of unibyte_to_multibyte_table. + +2008-02-01 Kenichi Handa + + * coding.c (setup_coding_system): If coding has + post-read-conversion or pre-write-conversion, set + CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK + respectively. + (decode_coding_gap): Run post-read-conversion if any. + + * fileio.c (Finsert_file_contents): Even if we read into a + unibyte buffer, check if we must decode the result or not. + +2008-02-01 Kenichi Handa + + * coding.c (make_conversion_work_buffer): Change the work buffer + name to the same one as that of Emacs 21. + +2008-02-01 Kenichi Handa + + * coding.h (make_conversion_work_buffer): Adjust prototype. + (code_conversion_restore): Don't extern it. + + * coding.c (detected_mask): Delete unused variable. + (decode_coding_iso_2022): Pay attention to the byte sequence of + CTEXT extended segment, and retain those bytes as is. + (decode_coding_ccl): Delete unused variable `valids'. + (setup_coding_system): Delete unused variable `category'. + (consume_chars): Delete unused variable `category'. Make it work + for non-multibyte case. + (make_conversion_work_buffer): Change argument. + (saved_coding): Delete unused variable. + (code_conversion_restore): Don't check saved_coding->destination. + (code_conversion_save): New function. + (decode_coding_gap, encode_coding_gap): Call code_conversion_save + instead of record_unwind_protect. + (decode_coding_object, encode_coding_object): Likewise. Recover PT. + (detect_coding_system): Delete unused variable `mask'. + (Fdefine_coding_system_internal): Delete unused vaiable id. + + * fileio.c (kill_workbuf_unwind): New function. + (Finsert_file_contents): On replacing, call + make_conversion_work_buffer with correct args, and call + record_unwind_protect with the first arg kill_workbuf_unwind. + + * lisp.h (Fgenerate_new_buffer_name): EXFUN it. + +2008-02-01 Kenichi Handa + + * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME. + (fontset_add): Fix for the case that TO is less than TO1. + (Ffontset_info): Don't use fallback fontset on checking the + default fontset. + (dump_fontset): New function for debugging. + + * coding.c (Fdefine_coding_system_internal): Fix for the case that + coding_type is Qcharset. + +2008-02-01 Kenichi Handa + + * chartab.c (map_sub_char_table): New argument DEFAULT_VAL. + (map_char_table): Don't inherit the value from the parent on + initializing VAL. Adjust for the above change. + +2008-02-01 Kenichi Handa + + * coding.c (Qsignature, Qendian): Delete these variables. + (syms_of_coding): Don't initialize them. + (CATEGORY_MASK_UTF_16_AUTO): New macro. + (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in + detect_info->found. + (decode_coding_utf_16): Don't detect BOM here. + (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding) + is NOT utf_16_without_bom. + (setup_coding_system): For a coding system of type utf-16, check + if the attribute :endian is Qbig or not (not nil or not), and set + CODING_REQUIRE_DETECTION_MASK if BOM detection is required. + (detect_coding): If coding type is utf-16 and BOM detection is + required, detect it. + (Fdefine_coding_system_internal): For a coding system of type + utf-16, check if the attribute :endian is Qbig or not (not nil or not). + +2008-02-01 Kenichi Handa + + * coding.c (coding_set_source): Fix for the case that the current + buffer is different from coding->src_object. + (decode_coding_object): Don't use the conversion work buffer if + DST_OBJECT is a buffer. + +2008-02-01 Dave Love + + * lread.c (read_emacs_mule_char) [len==2]: Index + emacs_mule_charset correctly. + +2008-02-01 Dave Love + + * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5) + (detect_coding_big5, decode_coding_big5, encode_coding_big5) + (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer + treated specially.) + (setup_coding_system, coding_category, CATEGORY_MASK_ANY) + (detected_mask): Remove Big5 bits. + +2008-02-01 Kenichi Handa + + The following changes are to make the font rescaling facility + compatible with Emacs 21. + + * xfaces.c (Vface_font_rescale_alist): Rename from + Vface_resizing_fonts. + (struct font_name): Rename member resizing_ratio to rescale_ratio. + (font_rescale_ratio): Rename from font_resizing_ratio. + (split_font_name): Set font->rescale_ratio. + (better_font_p): Pay attention to font->rescale_ratio. + (build_scalable_font_name): Likewise. Change RESX, and RESY + fields. + (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable. - * intervals.c (textget): Don't forget to `return'. - (lookup_char_property): Use XCAR/XCDR. +2008-02-01 Kenichi Handa -2002-06-12 Juanma Barranquero + * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig) + (Qutf_16_le): Remove these variables. + (syms_of_coding): Don't DEFSYM them. + (decode_coding_utf_16): Fix handling of BOM. + (encode_coding_utf_16): Fix handling of BOM. - * xdisp.c (Fformat_mode_line): Fix typo. +2008-02-01 Kenichi Handa -2002-06-12 Kim F. Storm + * fileio.c (Finsert_file_contents): On replacing, before decoding + the file into the work buffer, set point of the work buffer to the end. - * xdisp.c (Fformat_mode_line): New function. - (frame_title_buf, frame_title_buf_end, frame_title_ptr) - (store_frame_title_char, store_frame_title): Use unconditionally. - (init_xdisp): Defsubr Fformat_mode_line. - Initialize frame_title_buf etc. unconditionally. +2008-02-01 Dave Love -2002-06-11 Stefan Monnier + * coding.c (Fcheck_coding_systems_region): Fix type errors. - * keyboard.c (read_key_sequence): - Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass - things through those maps after downcasing events. - Enforce that keytran_end <= fkey_start, i.e. that key-translation-map - applies after function-key-map. - Make sure that keytran can be done in the middle in the sequence. - Be careful not to throw away events past the one we downcase. +2008-02-01 Dave Love - * lread.c (read_integer): Remove unused var `tem'. - (read1): Fix int/Lisp_Object mixup. + * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table + and fix C types. - * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed. +2008-02-01 Kenichi Handa -2002-06-11 Richard M. Stallman + * xdisp.c (SKIP_GLYPHS): New macro. + (set_cursor_from_row): Pay attention to string display properties. - * keyboard.c (readable_events): Ignore any number of - FOCUS_IN_EVENT events and return 0 if nothing else in buffer. + * category.c (copy_category_entry): Fix for the case that RANGE + is an integer. -2002-06-09 Miles Bader + * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil. - * xfaces.c (Ftty_supports_face_attributes_p): New function. - (parse_rgb_list, tty_lookup_color): New functions. - (tty_defined_color): Use `tty_lookup_color' to do all the work. - (color_distance, Fcolor_distance): New functions. - (TTY_SAME_COLOR_THRESHOLD): New macro. - (Qtty_color_standard_values): New variable. - (syms_of_xfaces): Initialize new vars & functions. + * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil. -2002-06-08 Colin Walters +2008-02-01 Kenichi Handa - * textprop.c (Vchar_property_alias_alist): New variable. - (syms_of_textprop) : DEFVAR_LISP. + * charset.c (Fcharset_id_internal): New function. + (syms_of_charset): Defsubr it. - * intervals.c (lookup_char_property): New function for looking up - overlay and text properties, created from textget. - (textget): Use it. + * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver + with the last arg charset_list acquired from coding. + (Fdefine_coding_system_internal): For ccl-based coding system, fix + the attribute coding_attr_ccl_valids. - * intervals.h (lookup_char_property): Declare. - (Vchar_property_alias_alist): Declare. + * coding.h (enum define_coding_ccl_arg_index): Set the first + member coding_arg_ccl_decoder to coding_arg_max. - * buffer.c (Foverlay_get): Use lookup_char_property. + * ccl.h (ccl_driver): Adjust prototype. -2002-06-07 Sam Steingold + * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros. + (ccl_driver): New arg CHARSET_LIST. Use the above macros instead + of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET. + (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the + last arg Qnil. - * xselect.c (lisp_data_to_selection_data): Fix last change: - *data_ret is not a Lisp string, while unibyte_string is. +2008-02-01 Kenichi Handa -2002-06-07 Eli Zaretskii + * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET, + call encode_char. - * xselect.c (lisp_data_to_selection_data): Fix last change: - set size_ret. + * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET. -2002-06-07 Andreas Schwab +2008-02-01 Dave Love - * m/amdx86-64.h: New file. + * composite.c (syms_of_composite): Make composition_hash_table weak. -2002-06-05 Eli Zaretskii +2008-02-01 Kenichi Handa + + * dispextern.h (check_face_attributes, generate_ascii_font_name) + (font_name_registry): Don't extern them. + (split_font_name_into_vector, build_font_name_from_vector): Extern them. + + * fontset.h (Qfontset): Don't extern it. + (new_fontset_from_font_name): Extern it. + + * fontset.c: Give 8 extra slots to fontset objects. + (Qfontset_info): New variable. + (syms_of_fontset): Defsym it. + (FONTSET_FALLBACK): New macro. + (fontset_face): Try also the default fontset. + (make_fontset): Realize a fallback fontset from the default fontset. + (generate_ascii_font_name): Move from xfaces.c. Rewritten by + using split_font_name_into_vector and build_font_name_from_vector. + (Fset_fontset_font): Access the elements of font_spec by enum + FONT_SPEC_INDEX. If font_spec is a string, extract the registry + name by using split_font_name_into_vector. + (Fnew_fontset): If no ASCII font is specified in FONTLIST, + generate a proper font name from the fontset name. Update + Vfontset_alias_alist. + (n_auto_fontsets): New variable. + (new_fontset_from_font_name): New function. + (Ffont_info): Store the information about fonts generated from the + default fontset in the first extra slot of the returned char-table. + + * xfaces.c (generate_ascii_font_name): Move to fontset.c. + (font_name_registry): Delete function. + (split_font_name_into_vector): New function. + (build_font_name_from_vector): New function. + (font_list): The argument REGISTRY is now a list of registry names. + (choose_face_font): If we are choosing an ASCII font, and ATTRS + specifies an explicit font name, return the name as is. Make a + list of registy names. + + * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change + of x_new_fontset. + (Fx_create_frame): Don't call x_new_fontset here. Just use + x_list_fonts to check the existence of fonts. + + * xterm.h (x_new_fontset): Adjust prototype. + + * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp + string. Use new_fontset_from_font_name to create a fontset from a + font name. - * fns.c (Fstring_make_unibyte): Doc fix. +2008-02-01 Kenichi Handa + + * syntax.c (Vfind_word_boundary_function_table): New name for + Vnext_word_boundary_function_table. + (find-word-boundary-function-table): New name for + next-word-boundary-function-table. + +2008-02-01 Dave Love + + * Makefile.in: Fix some dependencies. + + * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but + set it to nil before returning. + + * composite.c (update_compositions): Fix type error. + + * syntax.c (skip_chars, skip_syntaxes): Fix type errors. + +2008-02-01 Kenichi Handa + + * xterm.c (x_new_font): Optimize for the case that the font is + already set for the frame. + +2008-02-01 Kenichi Handa + + * chartab.c (char_table_ascii): Check if the char table contents + is sub-char-table or not. + (char_table_set, char_table_set_range): Fix argument to + char_table_ascii. + + * coding.c (CATEGORY_MASK_RAW_TEXT): New macro. + (detect_coding_utf_8, detect_coding_utf_16) + (detect_coding_emacs_mule, detect_coding_iso_2022) + (detect_coding_sjis, detect_coding_big5) + (detect_coding_ccl, detect_coding_charset): Change argument MASK + to DETECT_INFO. Update DETECT_INFO and return 1 if the byte + sequence is valid in this coding system. Change callers. + (MAX_ANNOTATION_LENGTH): New macro. + (ADD_ANNOTATION_DATA): New macro. + (ADD_COMPOSITION_DATA): Change argument. Change callers. Call + ADD_ANNOTATION_DATA. Change the format of annotation data. + (ADD_CHARSET_DATA): New macro. + (emacs_mule_char): New argument ID. Change callers. + (decode_coding_emacs_mule, decode_coding_iso_2022) + (decode_coding_sjis, decode_coding_big5, decode_coding_charset): + Produce charset annotation data in coding->charbuf. + (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention + to charset annotation data in coding->charbuf. + (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK + coding->common_flags if the coding system is iso-2022 based and + uses designation. + (produce_composition): Adjust for the new annotation data format. + (produce_charset): New function. + (produce_annotation): Handle charset annotation. + (handle_composition_annotation, handle_charset_annotation): New + functions. + (consume_chars): Handle charset annotation. Utilize the above two + functions. + (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same + buffer, get the deleted text as a string and set + coding->src_object to that string. + (detect_coding, detect_coding_system): Use the new struct + coding_detection_info. - * xselect.c (lisp_data_to_selection_data): If the requested type - is STRING, call string_make_unibyte to encode the selected text - as a string. + * coding.h (struct coding_detection_info): New structure. + (struct coding_system): Adjust prototype of the member `detector'. + (CODING_ANNOTATE_CHARSET_MASK): New macro. - * window.c (Fset_window_hscroll): Doc fix. +2008-02-01 Kenichi Handa -2002-06-05 Pavel Jan,Am(Bk + * insdel.c (insert_from_gap): Fix argument to offset_intervals. - * fileio.c (choose_write_coding_system): - Call select-safe-coding-system properly. +2008-02-01 Dave Love -2002-06-03 Richard M. Stallman + * keymap.c (apropos_predicate, apropos_accumulate): Declare static. + (Fapropos_internal): Don't gcpro apropos_accumulate. Set result + to new local and nullify apropos_accumulate before returning. + (syms_of_keymap): Staticpro and initialize apropos_accumulate. - * xdisp.c (message_with_string): Error if STRING is not a string. +2008-02-01 Kenichi Handa - * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function. + * charset.c (Fdefine_charset_internal): Setup charset.fast_map + correctly. - * fileio.c (choose_write_coding_system): Pass FILE arg to - Vselect_safe_coding_system_function. +2008-02-01 Dave Love -2002-06-03 Ken Raeburn + * fns.c (Flanginfo): Call synchronize_system_time_locale. - * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change. +2008-02-01 Kenichi Handa -2002-06-02 Thien-Thi Nguyen + The following changes are to make character composition happen + automatically on displaying. - * bytecode.c (Fbyte_code): Cast `current_column' return value to int. - * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise. - * keymap.c (describe_command): Likewise. - * minibuf.c (read_minibuf): Likewise. + * Makefile.in (lisp, shortlisp): Add composite.elc - * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec): - Cast `current_column' return value to int. - (back_to_previous_visible_line_start) - (reseat_at_next_visible_line_start, next_element_from_buffer): - Cast `indented_beyond_p' 3rd arg to float. + * composite.h (Qauto_composed, Vauto_composition_function) + (Qauto_composition_function): Extern them. - * indent.c (last_known_column): Now a float. - (current_column_1, position_indentation, current_column) - (string_display_width): Return float. - (Fcurrent_column): Cast `current_column' return value to int. - (Fcurrent_indentation): Cast `position_indentation' retval to int. - (indented_beyond_p): Third arg now a float. - (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float. + * composite.c (Vcomposition_function_table) + (Qcomposition_function_table): Delete variables. + (Qauto_composed, Vauto_composition_function) + (Qauto_composition_function): New variables. + (run_composition_function): Don't call + compose-chars-after-function. + (update_compositions): Clear `auto-composed' text property. + (compose_chars_in_text): Delete this function. + (syms_of_composite): Staticpro Qauto_composed and + Qauto_composition_function. Declare Vauto_composition_function as + a Lisp variable. - * lisp.h (current_column): Now returns float. - (indented_beyond_p): 3rd arg now a float. + * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX. -2002-05-31 Eli Zaretskii + * xdisp.c (it_props): Add an entry for Qauto_composed. + (handle_auto_composed_prop): New function. - * xfns.c (x_encode_text): Return stringp non-NULL if coding_system - is Qcompound_text_with_extensions. + * xselect.c (selection_data_to_lisp_data): Don't call + compose_chars_in_text. - * xselect.c (lisp_data_to_selection_data): Always set selection - type as string if x_encode_text returns streingp non-NULL. +2008-02-01 Dave Love - * s/netbsd.h: Include /usr/pkg in the run time shared library path. + * keyboard.c (read_char): Modify checking around use of + Vkeyboard_translate_table. -2002-05-30 Richard M. Stallman + * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table + and fix C types. - * window.c (Fset_window_configuration): Correct the handling - of point in current buffer, to work with multiple windows. +2008-02-01 Kenichi Handa -2002-05-29 Colin Walters + * coding.c (decode_coding_utf_8, decode_coding_emacs_mule) + (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) + (decode_coding_charset, produce_chars): When eol_type is Qdos, handle + the case that the last byte is '\r' correctly. + (decode_coding): Flush out the unprocessed data correctly. + (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode. - * lread.c (Fread_from_string): Don't depend on order of evaluation - for C function parameters. +2008-02-01 Dave Love -2002-05-28 Richard M. Stallman + * xterm.c (XTread_socket): Fix changes for defined keysyms. Add + XK_ISO... case. + (xaw_scroll_callback): Revert last change. - * xterm.c (x_display_and_set_cursor): Change the cursor in the same - way for blinked-off state and for a nonselected window. +2008-02-01 Kenichi Handa - * window.c (window_scroll_pixel_based): Don't call Fbolp; - instead, see if the new start pos is at beginning of line. + * charset.c (Fset_charset_priority): Update Viso_2022_charset_list. - * fileio.c (Fwrite_region): If START is a string, don't - make any annotations. +2008-02-01 Kenichi Handa - * eval.c (syms_of_eval): Doc fix. + * xfaces.c (Vface_resizing_fonts): New variable. + (struct font_name): New member `resizing_ratio'. + (font_resizing_ratio): New function. + (split_font_name): Set font->resizing_ratio. + (better_font_p): Pay attention to font->resizing_ratio. + (build_scalable_font_name): Likewise. Don't change POINT_SIZE, + RESX, and RESY fields. + (try_alternative_families): Try scalable fonts if + Vscalable_fonts_allowed is not Qt. + (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable. -2002-05-28 Colin Walters +2008-02-01 Dave Love - * emacs.c (USAGE1): Add --no-splash. - (standard_args): Ditto. + * xterm.c (xaw_scroll_callback): Cast correctly. -2002-05-28 Colin Walters +2008-02-01 Dave Love - * lread.c (readchar_count): New variable. - (readchar): Increment it. - (unreadchar): Decrement it. - (read_multibyte): Decrement it. - (Vread_with_symbol_positions): New variable. - (Vread_symbol_positions_list): New variable. - (read_internal_start): New function, created from Fread and - Fread_from_string. Handle Vread_symbol_positions_list and - Vread_with_symbol_positions. - (readevalloop, Fread, Fread_from_string): Use it. - (read1): Use readchar_count to add symbol positions to - Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil. - (syms_of_lread): DEFVAR_LISP and initialize them. + * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend. + (lispy_kana_keys): Comment out. + (make_lispy_event) [XK_kana_A]: Comment out. - * lread.c (read0, read1, read_list, read_vector, read_multibyte) - (substitute_object_recurse, substitute_object_in_subtree) - (substitute_in_interval): Prototype. - (read_multibyte): Return c if it's less than zero. + * xterm.c (xaw_scroll_callback): Cast call_data. + (XTread_socket): Deal with ASCII keysyms. + (syms_of_xterm) : Fix args of make_hash_table. -2002-05-28 Kim F. Storm +2008-02-01 Dave Love - * fileio.c (Fread_file_name_internal): Added brute-force - speed up for using predicate file-directory-p. + * xterm.c (Vx_keysym_table): New. + (syms_of_xterm): Initialize it. + (XTread_socket): Use it. + From head: Eliminate incorrect optimization that tried to avoid + decoding the output of X*LookupString. + (x_get_font_repertory): Delete charset declaration. -2002-05-28 Kim F. Storm +2008-02-01 Kenichi Handa - * fileio.c (Vread_file_name_function, Vread_file_name_predicate): - New variables. - (syms_of_fileio): DEFVAR_LISP them. - (read_file_name_cleanup): New unwind function. - (Fread_file_name_internal): Only return completions satifying - Vread_file_name_predicate. Temporarily unwind protect and rebind - default-directory while checking completions against the predicate. - (Fread_file_name): Added PREDICATE argument. Specbind it to - Vread_file_name_predicate during completion. - Call Vread_file_name_function to read the file name if non-nil. + * coding.c (detect_coding_charset): If only ASCII bytes are found, + return 0. + (Fdefine_coding_system_internal): Setup + CODING_ATTR_ASCII_COMPAT (attrs) correctly. - * lisp.h (Fread_file_name): Now has 6 args. +2008-02-01 Dave Love - * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p - predicate for Fread_file_name when reading directory name. - Supply Qnil for predicate in other calls to Fread_file_name. + * coding.c (Fcheck_coding_system): Doc fix. -2002-05-26 Miles Bader + * editfns.c (Finsert_byte): Return a proper value. - * term.c (tty_capable_p): New function. - * dispextern.h (tty_capable_p): New function declaration. - (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM) - (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros. +2008-02-01 Kenichi Handa -2002-05-23 Stefan Monnier + * coding.c (decode_coding): Fix args to translate_chars. Pay + attention to Vstandard_translation_table_for_decode. + (encode_coding): Fix args to translate_chars. Pay attention to + Vstandard_translation_table_for_encode. - * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE. - (Finsert_file_contents, build_annotations): Use XCAR, XCDR. - (Vwrite_region_annotate_functions): Docstring fix. + * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by + SINGLE_BYTE_CHAR_P. -2002-05-23 Kim F. Storm + * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P, + not by SINGLE_BYTE_CHAR_P. - * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current - phys_cursor's hpos is overwritten. This is still not completely - correct, as it doesn't really make sense to use hpos at all to - get the cursor glyph (as that is relative to the width of the - characters on the line, which may have changed during the update). + * fns.c (concat): Check CH by ASCII_CHAR_P, not by + SINGLE_BYTE_CHAR_P. -2002-05-22 Jason Rumney + * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by + SINGLE_BYTE_CHAR_P. - * w32fns.c (enumfont_t): Remove tail, make pattern a normal - Lisp_Object. - (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts): - Use modified enumfont_t struct. + * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not + by SINGLE_BYTE_CHAR_P. - * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR. + * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by + SINGLE_BYTE_CHAR_P. - * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed. - Handle the `hbar' cursor type. - (x_display_and_set_cursor): Handle the HBAR_CURSOR case. +2008-02-01 Dave Love - * w32fns.c (Qhbar): New variable. - (x_specified_cursor_type): Use it. + * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix. -2002-05-21 Ken Raeburn +2008-02-01 Dave Love - * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for - now, when the address is needed. + * fns.c (Flanginfo): Fix typo. -2002-05-21 Colin Walters + * unexelf.c (unexec): Make last change conditional on Irix 6.5. - * Makefile.in (shortlisp): Add font-core.el. +2008-02-01 Kenichi Handa -2002-05-20 Richard M. Stallman + * coding.c (detect_coding_utf_8, detect_coding_utf_16) + (detect_coding_emacs_mule, detect_coding_iso_2022) + (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check + incomplete byte sequence. Don't update *mask when correctly detected. + (decode_coding_sjis): Fix decoding of katakana-jisx0201. + (detect_eol): Delete the argument CODING, and add the argument CATEGORY. + (detect_coding, detect_coding_system): Adjust for the changes above. - * buffer.c (syms_of_buffer) : Doc fix. +2008-02-01 Kenichi Handa - * keyboard.c (read_char_minibuf_menu_prompt): Don't list - equivalent key bindings here. + * character.c (char_string): Rename from + char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK. + (string_char): Rename from string_char. -2002-05-20 Ken Raeburn + * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string + if C is greater than MAX_3_BYTE_CHAR. + (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call + string_char instead of string_char_with_unification. - Change symbol structure to contain a lisp object for the symbol - name: - * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp - object field named "xname". - (SYMBOL_NAME): New macro. - * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and - name field. - * alloc.c (Fmake_symbol): Set symbol xname field instead of name. - (mark_object, gc_sweep): Use symbol xname field and XSTRING - instead of name field. - * buffer.c (buffer_slot_type_mismatch): Use XSTRING and - SYMBOL_NAME instead of XSYMBOL and name field. - * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME - instead of XSYMBOL and name field. - * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING - and SYMBOL_NAME instead of XSYMBOL and name field. - * coding.c (Fread_coding_system, code_convert_region1) - (code_convert_string1, code_convert_string_norecord) - (Ffind_operation_coding_system): Use SYMBOL_NAME instead of - XSYMBOL and name field. - * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding) - (Fmake_variable_buffer_local, Fmake_local_variable) - (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead - of XSYMBOL and name field. - * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of - XSYMBOL and name field. - * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING - instead of XSYMBOL and name field. - * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of - XSYMBOL and name field. - * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash): - Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field. - * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING - instead of XSYMBOL and name field. - * keyboard.c (echo_char, record_char, parse_modifiers_uncached) - (parse_modifiers, apply_modifiers, Fevent_convert_list) - (parse_solitary_modifier, Fexecute_extended_command): - Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field. - * keymap.c (silly_event_symbol_error, Fsingle_key_description) - (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead - of XSYMBOL and name field. - (describe_command, describe_translation): Use SYMBOL_NAME and - assignment instead of XSYMBOL and name field and XSETSTRING. - * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING - instead of XSYMBOL and name field. - (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and - name field and XSETSTRING. - * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead - of XSYMBOL and name field. - * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and - assignment instead of XSYMBOL and name field and XSETSTRING. - * print.c (print_error_message, print_object): Use SYMBOL_NAME and - XSTRING instead of XSYMBOL and name field. - * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME - and XSTRING instead of XSYMBOL and name field. - * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME - and XSTRING instead of XSYMBOL and name field. - * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and - XSTRING instead of XSYMBOL and name field. - * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead - of XSYMBOL and name field. - * xselect.c (symbol_to_x_atom, x_get_foreign_selection): - Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field. +2008-02-01 Dave Love -2002-05-19 Ken Raeburn - - * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR - and XCDR real rvalues in most configurations. + * coding.c (decode_coding_utf_8): Treat surrogates as invalid. - * buffer.c (fix_overlays_in_range, fix_overlays_before): - Don't take the address of the cdr part of a cons cell; instead, track - the parent cell and call XSETCDR, or set the variable for the head - of the list if we haven't started down the list yet. +2008-02-01 Kenichi Handa -2002-05-19 Richard M. Stallman + * keymap.c (push_key_description): Pay attention to force_multibyte. - * doc.c (reread_doc_file): Don't ask for confirmation. + * regex.c (re_search_2): Fix for the case of unibyte buffer. -2002-05-18 Jason Rumney +2008-02-01 Dave Love - * w32fns.c (w32_create_pixmap_from_bitmap_data): New function. - (xbm_load_image): Use it. - (xbm_load): Ditto. - (xbm_read_bitmap_data): Reverted to xfns.c version. - From David Ponce . + * charset.c (define_charset_internal): Rename `supprementary'. -2002-05-17 Eli Zaretskii + * Makefile.in (lisp, shortlisp): Remove latin-N. - * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP - 2.02 and later. +2008-02-01 Dave Love -2002-05-16 Juanma Barranquero + * xfns.c (x_window, x_window): Use use_xim. - * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo. + * xterm.c (use_xim): Initialize. + (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim. + (x_term_init): Maybe set use_xim. -2002-05-15 Stefan Monnier + * xterm.h (use_xim) [HAVE_X_I18N]: Declare. - * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more - meaningful test. - (read_char_minibuf_menu_prompt): Fix typo. +2008-02-01 Kenichi Handa -2002-05-15 Eli Zaretskii + * search.c (search_buffer): Fix case-fold-search of multibyte + characters. + (boyer_moore): Rename the last argument to char_high_bits. - * eval.c (Fcommandp): Doc fix. +2008-02-01 Kenichi Handa -2002-05-13 Stefan Monnier + * xdisp.c (display_string): Fix for the case of zero width glyph. - * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent. - (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it. - (Fset_keymap_parent): Gcpro a bit more. - (access_keymap): Gcpro around meta_map call and around the main loop. - (get_keyelt): Gcpro when following indirect references. - (copy_keymap_item): New fun, extracted from Fcopy_keymap. - (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map. - (Fdefine_key, Flookup_key): Gcpro before calling get_keymap. - Remove useless ad-hoc remap code. + * xfns.c (x_set_font): Change the error message of the case that + x_new_fontset returns Qt. -2002-05-13 Richard M. Stallman + * xfaces.c (set_lface_from_font_name): Reject the default fontset. + (Finternal_set_lisp_face_attribute): Use signal_error for the + error of invalid fontset. - * search.c (search_buffer): Give up boyer moore search if inverse - translation change charset_base. + * xterm.c (x_new_fontset): If FONTSETNAME specifies the default + fontset, return Qt. -2002-05-12 Eli Zaretskii +2008-02-01 Dave Love - * coding.c (decode_coding) : If a lone CR - characters is carried over from the previous block of text, adjust - coding->produced to account for the extra character. + * unexelf.c (unexec): Make .got handling not SGI-specific. -2002-05-11 Andreas Schwab + * syntax.c (syms_of_syntax) : Doc fix. - * coding.c (intersection): Keep the elements of the returned list - in the same order as in the first list. + * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'. -2002-05-11 Kim F. Storm + * keyboard.c (read_key_sequence): Fix type error. - * keymap.c (current_minor_maps): Fix resizing of cmm_maps; - only update cmm_size if realloc actually succeeds. - Testing with initial size of 2 elements revealed that using - realloc on GNU/Linux would cause a random trap in xmalloc - later on, so I rewrote the code to use malloc/bcopy/free instead - of realloc. + * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix + type error. -2002-05-10 Jason Rumney + * fontset.c (fontset_add): Return Lisp_Object. - * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts. +2008-02-01 Dave Love -2002-05-10 Eli Zaretskii + * charset.h (charset_ordered_list_tick): Declare extern. - * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in - parens, to ensure correct evaluation order. +2008-02-01 Kenichi Handa -2002-05-10 Kim F. Storm + The following changes (and some of 2008-02-01 changes of mine) are + for handling syntax, category, and case conversion for unibyte + characters by converting them to multibyte on the fly. With these + changes, we don't have to setup syntax and case tables for unibyte + characters in each language environment. - * keymap.c (Vemulation_mode_map_alists): New variable. - (syms_of_keymap): DEFVAR_LISP it. - (current_minor_maps): Process keymap alists in that list before - minor-mode-overriding-map-alist and minor-mode-map-alist. + * abbrev.c (Fexpand_abbrev): Convert a unibyte character to + multibyte if necessary. -2002-05-09 Richard M. Stallman + * bytecode.c (Fbyte_code): Likewise. - * search.c (Freplace_match): Doc fix. + * character.h (LEADING_CODE_LATIN_1_MIN) + (LEADING_CODE_LATIN_1_MAX): New macros. + (unibyte_to_multibyte_table): Extern it. + (unibyte_char_to_multibyte): New macro. + (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table. + (CHAR_LEADING_CODE): New macro. + (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro. + + * character.c (unibyte_to_multibyte_table): New variable. + (unibyte_char_to_multibyte): Move to character.h and define as macro. + (multibyte_char_to_unibyte): If C is an eight-bit character, + convert it to the corresponding byte value. + + * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is + not 1, singals an error. Update the elements of + unibyte_to_multibyte_table. + (init_charset_once): Initialize unibyte_to_multibyte_table. + (syms_of_charset): Define the charset `iso-8859-1'. + + * cmds.c (internal_self_insert): In a multibyte buffer, insert C + as is without converting it to unibyte. In a unibyte buffer, + convert C to multibyte before checking the syntax. + + * lisp.h (unibyte_char_to_multibyte): Delete extern. + + * minibuf.c (Fminibuffer_complete_word): Use the macro + FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE. + + * regex.h (struct re_pattern_buffer): New member target_multibyte. + + * regex.c (RE_TARGET_MULTIBYTE_P): New macro. + (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If + that is zero, convert an eight-bit char to multibyte. + (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for + non-emacs case. + (PATFETCH): Convert an eight-bit char to multibyte. + (HANDLE_UNIBYTE_RANGE): New macro. + (regex_compile): Setup the compiled pattern for multibyte chars + even if the given regex string is unibyte. Use PATFETCH_RAW + instead of PATFETCH in many places. To handle `charset' + specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap + only for ASCII chars. + (analyse_first) : Simplify because the compiled pattern + is multibyte. + : Setup fastmap from bitmap only for ASCII chars. + : Use CHAR_LEADING_CODE to get leading codes. + : If multibyte, setup fastmap only for ASCII chars here. + (re_compile_fastmap) [emacs]: Call analyse_first with the arg + multibyte always 1. + (re_search_2): In emacs, set the locale variable multibyte to 1, + otherwise to 0. New local variable target_multibyte. Check it + to decide the multibyteness of STR1 and STR2. If + target_multibyte is zero, convert unibyte chars to multibyte + before translating and checking fastmap. + (TARGET_CHAR_AND_LENGTH): New macro. + (re_match_2_internal): In emacs, set the locale variable multibyte + to 1, otherwise to 0. New local variable target_multibyte. Check + it to decide the multibyteness of STR1 and STR2. Use + TARGET_CHAR_AND_LENGTH to fetch a character from D. + : If multibyte is nonzero, check fastmap + only for ASCII chars. Call bcmp_translate with + target_multibyte, not with multibyte. + : Declare the local variable C as `unsigned'. + (bcmp_translate): Change the last arg name to target_multibyte. + + * search.c (compile_pattern_1): Don't adjust the multibyteness of + the regexp pattern and the matching target. Set cp->buf.multibyte + to the multibyteness of the regexp pattern. Set + cp->but.target_multibyte to the multibyteness of the matching target. + (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of + FETCH_STRING_CHAR_ADVANCE. + (Freplace_match): Convert unibyte chars to multibyte. + + * syntax.c (char_quoted, back_comment, scan_words) + (Fforward_comment, scan_lists, Fbackward_prefix_chars) + (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert + unibyte chars to multibyte. + (skip_chars): Delete the arg syntaxp, and move the code for + handling syntaxes to skip_syntaxes. Change callers. + Fix the case that the multibyteness of STRING and the current + buffer doesn't match. + (skip_syntaxes): New function. + (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by + SINGLE_BYTE_CHAR_P. + +2008-02-01 Kenichi Handa + + * xfaces.c (QCfontset): New variable. + (LFACE_FONTSET): New macro. + (check_lface_attrs): Check also LFACE_FONTSET_INDEX. + (set_lface_from_font_name): Setup LFACE_FONTSET (lface). + (Finternal_set_lisp_face_attribute) + (Finternal_get_lisp_face_attribute): Handle QCfontset. + (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX, + check also LFACE_FONTSET_INDEX. + (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not + attrs[LFACE_FONT_INDEX]. + (syms_of_xfaces): Intern and staticpro QCfontset. -2002-05-09 Kim F. Storm + * dispextern.h (enum lface_attribute_index): New member + LFACE_FONTSET_INDEX. - * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1): - Enlarge cursor rectangle drawn around image with non-zero relief. + * fns.c (base64_encode_1): Handle eight-bit chars correctly. - * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1): - Enlarge cursor rectangle drawn around image with non-zero relief. +2008-02-01 Kenichi Handa - * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1): - Enlarge cursor rectangle drawn around image with non-zero relief. + * coding.c (coding_set_destination): Fix coding->destination for + the case converting a region. + (encode_coding_utf_8): Encode eight-bit chars as single byte. + (encode_coding_object): Fix coding->dst_pos and + coding->dst_pos_byte for the case converting a region. -2002-05-07 Eli Zaretskii + * insdel.c (insert_from_gap): Make it work even if PT != GTP. - * xselect.c (lisp_data_to_selection_data): Don't set selection - type if comes from the Lisp object's car. If the selection - contains a pure ASCII text, always return QSTRING as its type. + * character.h (BYTE8_STRING): New macro. -2002-05-06 Pavel Jan,Am(Bk + * fns.c (base64_decode_1): Insert eight-bit chars correctly. - * mac.c (mac-cut-function): Doc fix. +2008-02-01 Kenichi Handa -2002-05-05 Richard M. Stallman + * xdisp.c (get_next_display_element): Don't display unibyte 8-bit + characters by octal form. - * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it. + * abbrev.c (Fexpand_abbrev): Fix for the multibyte case. -2002-05-04 Jason Rumney + * buffer.h (_fetch_multibyte_char_len): Delete extern. + (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use + _fetch_multibyte_char_len. + (FETCH_CHAR_AS_MULTIBYTE): New macro. - * keyboard.c (make_lispy_event) : Set count to 1 - for event-click-count. + * casetab.c (set_canon, set_identity, shuffle): Simplify. - * process.c (init_process): Only add server subfeature if we can - use non-blocking I/O. + * casefiddle.c (casify_object): Simplify. Handle the case that + the case conversion change the byte length. + (casify_region): Likewise. -2002-05-04 Andrew Choi + * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros. - * macterm.c (XTread_socket): Call WaitNextEvent once instead of - repeatedly. + * character.c (_fetch_multibyte_char_len): Delet this variable. + (syms_of_character): Setup Vprintable_chars. -2002-05-03 Jason Rumney + * editfns.c (Fchar_equal): Fix for the unibyte case. + (Finsert_byte): New function. + (syms_of_editfns): Defsubr it. - * process.c (Fmake_network_process): Only support server sockets - when we can make them non-blocking. + * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead + of direct code 0x3ffff. - * s/ms-w32.h (HAVE_SELECT): Define. + * search.c (Freplace_match): Fix for the unibyte case. - * w32.h (FILE_NDELAY): New flag. +2008-02-01 Kenichi Handa - * w32.c (sys_getpeername, fcntl): New functions. - (_sys_read_ahead): Temporarily block on non-blocking sockets. + * lread.c (safe_to_load_p): Fix the logic. - * w32proc.c: Include sys/file.h. + * syntax.c (scan_words): Don't treat characters belonging to + different scripts as constituting a word. -2002-05-03 Colin Walters + * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P. - * callproc.c (Vgame_score_directory): Renamed to - Vshared_game_score_directory. + * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script. -2002-04-30 Richard M. Stallman + * emacs.c (main): In the case of --unibyte, instead of aborting on + finding non-empty buffer, make it unibyte. - * s/gnu.h [emacs]: Include stdio.h. - (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional. +2008-02-01 Kenichi Handa - * eval.c (do_autoload): Error if called while preparing to dump. + * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font' + to create a fontset. - * fns.c (Frequire): Error if need to load while preparing to dump. +2008-02-01 Dave Love -2002-04-28 Colin Walters + * character.c (Funibyte_char_to_multibyte): Doc fix. - * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]: - Default to "~/.emacs.d/games". + * xfns.c [HAVE_STDLIB_H]: Fix last change. -2002-04-29 Stefan Monnier +2008-02-01 Kenichi Handa - * lread.c (openp): Change arg exec_only to predicate. - (build_load_history): Use XCAR/XCDR. - (Flocate_file_internal): New fun. - (syms_of_lread): Defsubr it. - (Fload): Update call to openp. + * fontset.c (fontset_add): Make the type `int'. + (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined. - * lisp.h (openp): Update prototype. + * character.c (unibyte_char_to_multibyte) + (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to + charset_unibyte, not charset_primary. - * xfns.c (x_create_bitmap_from_file, x_find_image_file): - * w32proc.c (sys_spawnve): - * w32fns.c (x_create_bitmap_from_file, x_find_image_file): - * w32.c (check_windows_init_file): - * sound.c (Fplay_sound_internal): - * process.c (Fstart_process): - * macfns.c (x_create_bitmap_from_file, x_find_image_file): - * mac.c (run_mac_command): - * emacs.c (init_cmdargs): - * callproc.c (Fcall_process): Update call to openp. + * charset.h (charset_unibyte): Extern it instead of charset_primary. - * textprop.c (remove_properties): Don't use XCAR without CONSP. + * charset.c (charset_unibyte): Rename from charset_primary. + (Funibyte_charset): Rename from Fprimary_charset. + (Fset_unibyte_charset): Rename from Fset_primary_charset. + (syms_of_charset): Adjust for the above changes. - * xterm.c (XTread_socket): Disable the Xutf8LookupString code. + * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not + SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when + it->multibyte_p is zero. -2002-04-29 Pavel Jan,Am(Bk + * lisp.h (nonascii_insert_offset, Vnonascii_translation_table): + Delete extern. - * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN) - (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values. +2008-02-01 Kenichi Handa -2002-04-28 Richard M. Stallman + * coding.c (Fdefine_coding_system_internal): Fix category setting + for a coding system of type iso-2022. - * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp. +2008-02-01 Kenichi Handa - * eval.c (Fcommandp): New arg for_call_interactively. - * lisp.h (Fcommandp): Declare new arg. + * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1. -2002-04-28 Jason Rumney +2008-02-01 Kenichi Handa - * w32proc.c (syms_of_w32proc): Get true file attributes by default. + * syntax.c (Vnext_word_boundary_function_table): New variable. + (next-word-boundary-function-table): Declare it as a Lisp variable + in syms_of_syntax. + (scan_words): Call functions in Vnext_word_boundary_function_table + if any. - * w32.c (stat, fstat): Use file index information to generate - inodes for directories where available. + * xterm.c (x_load_font): Initialize fontp->fontset to -1. -2002-04-26 Andrew Choi + * fontset.c (fs_load_font): If fontp->charset is not negative, + return fontp without setting its members. - * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add. - [HAVE_CARBON]: Include Mac object files. +2008-02-01 Dave Love - * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c, - fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c, - termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8, - MAC_OSX, and MAC_OS instead of macintosh. + * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo). - * editfns.c [MAC_OS8]: Include stdio.h. + * m/sparc.h (HAVE_ALLOCA): Delete. - * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init. + * s/irix6-5.h: Don't include strings.h. + (bcopy, bzero, bcmp): Don't undef. - * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of - Apple Monaco. + * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef. - * process.c (QCfamily, QCfilte): Declare extern. - (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before - calling select. + * s/usg5-4.h (NO_SIOCTL_H): Don't define. + (TIOCSIGSEND): Don't test IRIX6. + (bcopy, bzero, bcmp): Define conditionally. - * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent. +2008-02-01 Kenichi Handa - * tparam.c [MAC_OSX]: Don't define BC and UP. + * buffer.c (Qas, Qmake, Qto): New variables. + (Fset_buffer_multibyte): New optional arg METHOD. Change caller. + (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto. - * config.in [HAVE_CARBON]: Add. + * callproc.c (Fcall_process): Don't call insert_1_both directly if + we are inserting a process output into a multibyte buffer. - * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h: - Move here from mac/src and mac/inc. + * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call + multibyte_char_to_unibyte. - * s/darwin.h, m/powermac.h, unexmacosx.c: New files. + * character.c (Funibyte_char_to_multibyte): If C can't be decoded + by the primary charset, make it eight-bit char. + (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8. -2002-04-26 Gerd Moellmann + * charset.c (charset_eight_bit, Qeight_bit_control): New variables. + (charset_8_bit__control, charset_8_bit_graphic) + (Qeight_bit_control, Qeight_bit_graphic): Delete these variables. + (define_charset_internal): New function. + (syms_of_charset): Call define_charset_internal for pre-defined + charsets. - * xterm.c (x_draw_phys_cursor_glyph): Undo last change. - Compute phys_cursor_width from the x position returned - by x_draw_glyhs, which is cheaper. - (x_display_and_set_cursor): Compute the buffer-local value - of `cursor-in-non-selected-windows' only when needed. + * charset.h (charset_8_bit): Extern it. -2002-04-25 Gerd Moellmann + * coding.c (make_conversion_work_buffer): Adjust for the change + of Fset_buffer_multibyte. + (encode_coding_raw_text): Increment p0 in the loop. - * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box - cursor on a stretch glyph has a width that depends on - x_stretch_cursor_p. + * lisp.h (Fset_buffer_multibyte): Adjust prototype. -2002-04-25 Pavel Jan,Am(Bk + * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust + for the change of Fset_buffer_multibyte. - * abbrev.c (abbrev-start-location): Doc fix. + * fns.c (Fstring_to_multibyte): New function. + (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine. - * indent.c (Fvertical_motion): Fix last change. +2008-02-01 Dave Love -2002-04-25 Gerd Moellmann + * xfns.c (x_put_x_image): Declare args. - * indent.c (Fvertical_motion): Move to the start of the line - containing PT before moving up or down. + * xfaces.c (font_name_registry, choose_face_font): Delete unused vars. + (try_font_list): Declare an arg. -2002-04-24 Gerd Moellmann + * xdisp.c (message2_nolog, set_message): Declare an arg. - * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the - case of writing a whole row, more or less analogous to the case of - writing only parts of a row. + * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm. - * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to - 0 for NO_CURSOR. + * syntax.c (scan_sexps_forward): Declare an arg. - * xterm.c (notice_overwritten_cursor): Fix an off by 1 error. + * scroll.c (calculate_scrolling, calculate_direct_scrolling): + Declare an arg. -2002-04-23 Colin Walters + * lisp.h (Fnew_fontset): Declare. - * buffer.c (syms_of_buffer): Doc fix. + * keymap.c (push_key_description): Call CHARACTERP correctly. -2002-04-23 Gerd Moellmann + * fontset.c (fontset_add): Declare args. Call make_number correctly. + (face_for_char): Delete unused vars. + (Fset_fontset_font): Doc fix. Delete unused vars. - * xterm.c (notice_overwritten_cursor): Handle the special case - of the cursor being in the first blank non-text line at the - end of a window. + * doc.c (Fsubstitute_command_keys): Delete unused vars. - * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor) - (x_draw_phys_cursor_glyph): Set phys_cursor_width here. - (x_display_and_set_cursor): Don't set phys_cursor_width here, for - bar cursors only, to make phys_cursor_width contain what its name - suggests. - (notice_overwritten_cursor): Consider the cursor image erased if - the output area intersects the cursor image in y-direction. + * composite.c (update_compositions): Declare arg. -2002-04-23 Simon Marshall + * cm.c (calccost, cmgoto): Declare args. - * xfns.c (x_set_mouse_color): Change default for cross_cursor - to XC_hand2. + * charset.c: Remove `emacs' conditional. Doc fixes. + (map_char_table_for_charset): Declare. -2002-04-23 Pavel Jan,Am(Bk + * character.c (syms_of_character) : Doc fix. - * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'. + * ccl.c: Remove `emacs' conditional. -2002-04-22 Kim F. Storm +2008-02-01 Kenichi Handa - * textprop.c (remove_properties): Fixed trap for malformed plist. + The following changes are to allow specifying multiple font + patterns for a character range (specified by script or charset). -2002-04-22 Richard M. Stallman + * Makefile.in (abbrev.o): Depend on syntax.h. + (xfaces.o): Depend on charset.h. - * cmds.c (Fend_of_line): Handle intangible text in mid line. + * alloc.c (Fmake_string): Use ASCII_CHAR_P, not + SINGLE_BYTE_CHAR_P. - * window.c (make_window): Initialize height_fixed_p, - last_cursor_off_p, and p->cursor_off_p slots. + * ccl.c (Fccl_execute_on_string): Add `const' to local variables. -2002-04-20 Pavel Jan,Am(Bk + * character.h (Vchar_script_table): Extern it. - * fns.c (use-dialog-box): Doc fix. + * character.c (Vscript_alist): Delete. + (Vchar_script_table, Qchar_script_table): New variable. + (syms_of_character): Declare Vchar_script_table as a lisp variable + and initialize it. -2002-04-19 Pavel Jan,Am(Bk + * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't + have property char-table-extra-slots, make no extra slot. - * xterm.c (note_mode_line_or_margin_highlight): Remove unused - variables `row', `i' and `area'. - (XTread_socket) : Pass KeyPress events when in menu to - toolkit library. + * dispextern.h (struct face): Delete member `charset'. + (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not + SINGLE_BYTE_CHAR_P. + (choose_face_font, lookup_non_ascii_face, font_name_registry): + Add prototypes. + (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype. + (generate_ascii_font_name): Rename from generate_ascii_font. + + * fontset.h (get_font_repertory_func): New prototype. + (make_fontset_for_ascii_face, fs_load_font): Fix prototypes. + (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii. + + * fontset.c (Qprepend, Qappend): New variables. + (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete. + (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros. + (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset. + (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros. + (fontset_ref_and_range, fontset_add, reorder_font_vector) + (load_font_get_repertory): New functions. + (fontset_set): Delete. + (fontset_face): New arg FACE. Return face ID, not face. + Complete re-write to handle new fontset structure. Change caller. + (free_face_fontset): Use ASET istead of AREF (X) = Y. + (face_for_char): Don't call lookup_face. + (make_fontset_for_ascii_face): New arg FACE. + (fs_load_font): New arg CHARSET_ID. Don't check + Vfont_encoding_alist here. + (find_font_encoding): New function. + (list_fontsets): Use STRINGP, not ! NILP. + (accumulate_script_ranges): New function. + (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely + re-written to handle new fontset structure. + (Ffontset_font): Return a copy of element. + (syms_of_fontset): Define symbols Qprepend and Qappend. Fix + docstring of font-encoding-alist. + + * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0). + (Fset_fotset_font): Fix arguments to 5. + + * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face. + + * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line): + Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P. + (highlight_trailing_whitespace): Adjust for the change of + lookup_named_face. + + * xfaces.c: Include charset.h. + (load_face_font): Delete argument C. Change caller. + (generate_ascii_font_name): Rename from generate_ascii_font. + (font_name_registry): New function. + (cache_face): Store ascii faces before non-ascii faces in buckets. + (lookup_face): Delete arguments C and BASE_FACE. Change caller. + Lookup only ascii faces. + (lookup_non_ascii_face): New function. + (lookup_named_face): Delete argument C. Change caller. + (lookup_derived_face): Delete argument C. Change caller. + (try_font_list): New arg PATTERN. Change caller. If PATTERN is + a string, just call font_list with it. + (choose_face_font): Delete arguments FACE and C. New arg + FONT_SPEC. Change caller. + (realize_face, realize_x_face): Delete arguments C and BASE_FACE. + Change caller. + (realize_non_ascii_face): New function. + (realize_x_face): Call load_face_font here. + (realize_tty_face): Delete argument C. Change caller. + (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to + get a face ID. + (dump_realized_face): Don't print charset of FACE. + + * xfns.c (x_set_font): Always call x_new_fontset and + store_frame_parameter. + (Fx_create_frame): Call x_new_fontset, not x_new_font. + (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory. + + * xterm.h (x_get_font_repertory): Extern it. + + * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not + SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when + it->multibyte_p is zero. + (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P. + (x_new_fontset): If FONTSETNAME doesn't match any existing + fontsets, create a new one. + (x_get_font_repertory): New function. + +2008-02-01 Kenichi Handa + + * coding.c (Ffind_coding_systems_region_internal): Detect an + ASCII only string correctly. + + * lread.c (Fload): Don't load with Qload_force_doc_strings t if + version is 0. + +2008-02-01 Kenichi Handa + + * lread.c: Include "coding.h". + (Qget_emacs_mule_file_char, Qload_force_doc_strings) + (load_each_byte, unread_char): New variables. + (readchar_backlog): Delete. + (readchar): Return a character unless load_each_byte is nonzero. + Handle the case that readcharfun is Qget_emacs_mule_file_char or a + cons. If unread_char is not -1, simply return it. + (unreadchar): Handle the case that readcharfun is + Qget_emacs_mule_file_char or a cons. Set unread_char if necessary. + (read_multibyte): Delete. + (readbyte_for_lambda, readbyte_from_file, readbyte_from_string) + (read_emacs_mule_char): New functions. + (Fload): Even if the file doesn't have the extention ".elc", if + safe_to_load_p returns a positive version number, assume that the + file contains bytecompiled code. If the version is less than 22, + load the file while decoding multibyte sequences by emacs-mule. + (readevalloop): Don't use readchar_backlog. + (Fread): Likewise. Pay attention to the case that STREAM is a cons. + (Fread_from_string): Pay attention to the case that STREAM is a cons. + (read_escape): Delete the arg BYTEREP. + (read1): Set load_each_byte to 1 temporarily while handling + #@NUMBER. Don't call read_multibyte. + (read_vector): Call Fread with a cons. If readcharfun is + Qget_emacs_mule_file_char, decode the read string by emacs-mule. + (read_list): If doc_reference is 2, make the cdr part string as unibyte. + (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char + and Qload_force_doc_strings. + +2008-02-01 Kenichi Handa + + * xdisp.c (face_before_or_after_it_pos): Call + FETCH_MULTIBYTE_CHAR with byte postion, not char position. + +2008-02-01 Kenichi Handa + + * character.h (TRAILING_CODE_P): New macro. + (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset. + (string_char_with_unification): Fix prototype. + (Vscript_alist): Extern it. + + * character.c (Vscript_alist): New variable. + (string_char_with_unification, str_as_unibyte) + (string_escape_byte8): Add `const' to local variables. + (syms_of_character): Declare script-alist as a Lisp variable. + + * charset.h (Vcharset_ordered_list): Extern it. + (charset_ordered_list_tick): Extern it. + (EMACS_MULE_LEADING_CODE_PRIVATE_11) + (EMACS_MULE_LEADING_CODE_PRIVATE_12) + (EMACS_MULE_LEADING_CODE_PRIVATE_21) + (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros + (Funify_charset): Adjust for the change of Funify_charset. + + * charset.c (charset_ordered_list_tick): New variable. + (Fdefine_charset_internal): Increment charset_ordered_list_tick. + (Funify_charset): New optional arg DEUNIFY. If it is non-nil, + deunify intead of unify a charset. + (string_xstring_p): Add `const' to local variables. + (find_charsets_in_text): Add `const' to arguemnts and local variables. + (encode_char): Adjust for the change of Funify_charset. Fix + detecting of invalid code. + (Fset_charset_priority): Increment charset_ordered_list_tick. + (Fmap_charset_chars): Fix handling of default value for FROM_CODE + and TO_CODE. -2002-04-19 Stefan Monnier + * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12) + (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros. + Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc. + (decode_coding_ccl, consume_chars) + (Ffind_coding_systems_region_internal) + (Fcheck_coding_systems_region): Add `const' to local variables. - * xfaces.c (clear_font_table): Don't free the default font of - a frame even if it's on another display. - (Finternal_set_lisp_face_attribute): Don't use XFRAME on something - that could be Qt. + * print.c (print_object): Use octal form for printing the + contents of a bool vector. -2002-04-19 Juanma Barranquero +2008-02-01 Dave Love - * indent.c (Fmove_to_column): Remove unused local variable - `next_boundary_byte'. - (current_column_1): Likewise. + * lread.c (Fload) : Don't leak fd. + : Refuse to load. -2002-04-19 Eli Zaretskii +2008-02-01 Dave Love - * msdos.c (Qhbar): New variable. - (syms_of_msdos): Intern and staticpro it. - (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar' - cursor type. + * fns.c: Move coding.h. + (Qcodeset, Qdays, Qmonths): New. + (concat): Use CHARACTERP instead of INTERGERP. + (Flocale_codeset): Delete. + (Flanginfo): New function. + (syms_of_fns): Change accordingly. -2002-04-19 Dave Lambert + * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup. - Theses change implement an underscore-like (`hbar') cursor. +2008-02-01 Dave Love - * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR. + * casetab.c (init_casetab_once, init_casetab_once): Fix + CHAR_TABLE_SET call. - * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed. - Handle the `hbar' cursor type. - (x_display_and_set_cursor): Handle the HBAR_CURSOR case. + * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call. - * xfns.c (Qhbar): New variable. - (syms_of_xfns): Intern and staticpro it. - (x_specified_cursor_type): Handle `hbar' cursor. + * character.c (syms_of_character): Fix CHAR_TABLE_SET call. - * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is - not defined. + * charset.c (Fmap_charset_chars): Check args. Convert Lisp types. + (load_charset_map, Fdeclare_equiv_charset, Fencode_char) + (Fset_charset_priority, syms_of_charset): Convert Lisp types. -2002-04-18 Richard M. Stallman + * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result. - * textprop.c (remove_properties): New arg LIST allows scanning - either a list or a plist. - (interval_has_some_properties_list): New function, like - interval_has_some_properties using list instead of plist. - All callers changed. - (Fremove_list_of_text_properties): New function. - (syms_of_textprop): Defsubr it. + * coding.c (ENCODE_DESIGNATION, decode_eol) + (make_conversion_work_buffer, code_conversion_restore) + (Fdefine_coding_system_internal): Convert Lisp types. + (code_conversion_restore): Use EQ, not ==. + (Fencode_coding_string): Fix code_convert_string call. -2002-04-17 Eli Zaretskii + * coding.h (code_convert_region): Fix prototype. - * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined. + * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove. -2002-04-17 Juanma Barranquero + * fontset.c (fontset_ref, fontset_set, fs_load_font) + (Ffontset_info): Convert Lisp types. - * indent.c (Fmove_to_column): Remove unused local variable `end_byte'. + * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number. -2002-04-17 Eli Zaretskii + * xterm.c (note_mouse_movement): Fix call of window_from_coordinates. - * window.c (coordinates_in_window): Don't report on margin area - if its width is zero. + * xdisp.c (display_mode_element): Fix call of Fset_text_properties. -2002-04-16 Jason Rumney + * chartab.c: Include "...h", not <...h> in some cases. - * w32fns.c (Fx_file_dialog): Decode file name before using. + * callproc.c (Fcall_process): Remove unused variables. - * w32term.c (construct_drag_n_drop): Likewise. +2008-02-01 Dave Love -2002-04-16 Eli Zaretskii + * coding.c (Fset_coding_system_priority): Allow null arg list. - * puresize.h (BASE_PURESIZE): Increase to 830000, since we now - store load-history in pure space. +2008-02-01 Dave Love - * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000. + * minibuf.c (Fminibuffer_complete_word): Remove unused var. + (Fself_insert_and_exit): Use CHARACTERP. -2002-04-16 Stefan Monnier + * callproc.c (Fcall_process): Remove unused vars. - * xterm.c (Qlatin_1, Qutf_8): New vars. - (syms_of_xterm): Initialize them. - (XTread_socket): Eliminate incorrect optimization that tried to avoid - decoding the output of X*LookupString. - Always use latin-1 to decode the output of XLookupString. - Try Xutf8LookupString if XmbLookupString failed. + * xterm.c (XTread_socket): Add extra dead keysyms. - * region-cache.c (new_region_cache): Use BEG. + * xdisp.c (decode_mode_spec_coding): Use CHARACTERP. -2002-04-16 Gerd Moellmann + * dispextern.h: Remove prototypes for redraw_frame, + redraw_garbaged_frames. - * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system - configuration files. - (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P - returns 0. + * cmds.c (Fself_insert_command): Use CHARACTERP. -2002-04-15 Andreas Schwab + * chartab.c (make_sub_char_table): Remove unused var. + (Fset_char_table_default, Fmap_char_table): Doc fix. - * config.in: Regenerated using autoheader. + * keymap.c (access_keymap): Remove generic char code. + (push_key_description): Use CHARACTERP. - * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h, - m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h, - m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h, - m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h, - m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h, - m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h, - m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h, - m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h, - m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h - m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h, - m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h, - m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h, - m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h, - m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h, - m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h, - s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and - STACK_DIRECTION, now set by autoconf. +2008-02-01 Dave Love -2002-04-14 Pavel Jan,Am(Bk + * charset.c: Doc fixes. + (Funify_charset): Extra checking. - * dispnew.c (marginal_area_string): Sort arguments. +2008-02-01 Dave Love - * dispextern.h (marginal_area_string): Add prototype. + * lread.c: Remove some unused variables. + (safe_to_load_p): If safe, return the magic number version byte. + (Fload): Maybe use load-with-code-conversion. -2002-04-13 Richard M. Stallman +2008-02-01 Kenichi Handa - * fileio.c (Finsert_file_contents): - Don't call temp_output_buffer_setup--do just part, by hand. + * category.c (Fmodify_category_entry): Don't modify the contents + of category_set for characters out of the range. Avoid + unnecessary modification. - * coding.c (run_pre_post_conversion_on_str): - Don't call temp_output_buffer_setup--do just part, by hand. + * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of + Vchar_unify_table. The default value of the table is now nil. - * keyboard.c (command_loop_1): Don't call start_hourglass - or cancel_hourglass when executing a macro. + * character.c (syms_of_character): Setup Vchar_width_table for + eight-bit-control and raw-byte chars. - * marker.c (count_markers): New function. + * charset.h (enum define_charset_arg_index): Delete + charset_arg_parents and add charset_arg_subset and + charset_arg_superset. + (enum charset_attr_index): Delete charset_parents and add + charset_subset and charset_superset. + (enum charset_method): Delete CHARSET_METHOD_INHERIT and add + CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET. + (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete. + (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET) + (CHARSET_SUPERSET): New macros. + (charset_work): Extern it. + (ENCODE_CHAR): Use charset_work. + (CHAR_CHARSET_P): Adjust for the change of encoder format. + (map_charset_chars): Extern it. - * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist - grow without limit. Move recently used elements to the front. + * charset.c (load_charset_map): Set the default value of encoder + and deunifier char-tables to nil. + (map_charset_chars): Change argument. Change callers. Use + map_char_table_for_charset instead of map_char_table. + (Fmap_charset_chars): New optional args from_code and to_code. + (Fdefine_charset_internal): Adjust for the change of + `define-charset' (:parents -> :subset or :superset). + (charset_work): New variable. + (encode_char, syms_of_charset): Adjust for the change of + Fdefine_charset_internal. + (Ffind_charset_string): Setup the vector `charsets' correctly. -2002-04-13 Eli Zaretskii + * chartab.c (sub_char_table_ref_and_range): New arg default. Fix + the previous change. + (char_table_ref_and_range): Adjust for the above change. + (map_sub_char_table_for_charset): New function. + (map_char_table_for_charset): New function. - * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20. + * keymap.c (describe_vector): Handle a char-table directly here. + (describe_char_table): Delete. -2002-04-12 Gerd Moellmann + * lisp.h (map_charset_chars): Delete. - * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame - rows marginal areas. - (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function. - (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it. +2008-02-01 Dave Love - * dispnew.c (marginal_area_string): Check that glyph row is enabled. + * fns.c (count_combining): Comment out (unused). + (Flocale_codeset): New. + (syms_of_fns): Defsubr it. -2002-04-12 Dave Love + * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New. + (size_t): Remove. - * dispnew.c (marginal_area_string): New. +2008-02-01 Dave Love - * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN. - (Qleft_margin, Qright_margin): Declare. - (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins. + * Makefile.in (chartab.o): Depend on charset.h - * xterm.c (note_mode_line_or_margin_highlight): Renamed from - note_mode_line_highlight and extended. +2008-02-01 Kenichi Handa - * keyboard.c (Qleft_margin, Qright_margin): Declare. - (make_lispy_event): Deal with mouse events in margins. + * character.c (syms_of_character): Set the default value of + Vprintable_chars to Qnil. -2002-04-12 Stefan Monnier +2008-02-01 Dave Love - * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT. + * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el. - * keyboard.c (command_loop_1): Turn off transient-mark-mode rather - than deactivating the mark if tmm is set to `lambda'. - (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event): - Use a single event for HELP_EVENT. - (Fexecute_extended_command): Save last_point_position. +2008-02-01 Kenichi Handa -2002-04-12 Pavel Jan,Am(Bk + * charset.c (load_charset_map): Handle the case that from < to + correctly. - * lisp.h (Fpropertize): Add prototype. + * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022) + (encode_coding_sjis, encode_coding_big5, encode_coding_charset): + Pay attention to raw-8-bit chars. - * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt. +2008-02-01 Kenichi Handa -2002-04-10 Colin Walters + * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el. + It is not bytecompiled now. - * config.in: Add HAVE_SHARED_GAME_DIR. + * charset.c (charset_jisx0201_roman, charset_jisx0208_1978) + (charset_jisx0208): New variables. + (Fdefine_charset_internal): Setup them if appropriate. + (init_charset_once): Initialize them to -1. - * callproc.c (Vgame_score_directory): New variable. - (syms_of_callproc) : DEFVAR_LISP. + * charset.h (charset_jisx0201_roman, charset_jisx0208_1978) + (charset_jisx0208): Extern them. -2002-04-10 Richard M. Stallman + * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro + (CODING_ISO_FLAG_USE_OLDJIS): New macro. + (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition. + (setup_iso_safe_charsets): Fix arguments to Fassq. + (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1) + (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to + CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS. + (encode_coding_iso_2022): Change the 1st arg to + ENCODE_ISO_CHARACTER to a variable. - * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess. +2008-02-01 Kenichi Handa -2002-04-09 Stefan Monnier + * charset.h (enum define_charset_arg_index): New enums + charset_arg_min_code and charset_arg_max_code. + (struct charset): New member char_index_offset. - * minibuf.c (read_minibuf): Use empty_string. - (Ftry_completion): Allow lambda forms and lists of strings for `alist'. - Short-circuit the search as soon as it "failed". - (Fall_completions): Allow lambda forms and lists of strings for alist. - (Fcompleting_read): Set Qminibuffer_completion_confirm to nil - when require_match is nil. - (Ftest_completion): Rename from `test_completion' and export to elisp. - Call the predicate also when alist is a list. - Obey Vcompletion_regexp_list. - (do_completion, Fminibuffer_complete_and_exit): Use it. - (Fassoc_string): Rename from `assoc_for_completion'. - Allow list of strings as well and export to elisp. + * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT): + Take charset->char_index_offset into account. + (Fdefine_charset_internal): Handle args[charset_arg_min_code] and + args[charset_arg_max_code]. Setup charset.char_index_offset. + (syms_of_charset): Fix args to Fdefine_charset_internal. -2002-04-08 Stefan Monnier +2008-02-01 Dave Love - * puresize.h (BASE_PURESIZE): Increase to 900KB. + * coding.c (decode_coding_utf_8): Reject overlong sequences. -2002-04-08 Juanma Barranquero +2008-02-01 Dave Love - * w32.c (sys_accept): Don't hide variable `s'. + * coding.c: Doc fixes. + (Fcoding_system_aliases): Fix return value. + (Qmac): Remove (duplicated) definition. -2002-04-05 Gerd Moellmann +2008-02-01 Dave Love - * callint.c (Fcall_interactively): Use INTEGERP instead of - NUMBERP for checking Vhistory_length. + * charset.c (Fcharset_priority_list, Fset_charset_priority): New + functions. -2002-04-05 Pavel Jan,Am(Bk + * character.c (Fstring): Doc fix. - * sound.c (Fplay_sound_internal): Renamed from Fplay_sound. - Doc fix to reflect it. + * charset.c (Fdefine_charset_alias): Update Vcharset_list. -2002-04-04 Richard M. Stallman + * fontset.c (Ffontset_info): Doc fix. Return charset names, not + ids. + (font-encoding-alist): Doc fix. - * xdisp.c (display_mode_element): New arg RISKY. - Disregard text props found or specified within a variable - that isn't marked risky-local-variable. - (Qrisky_local_variable): New variable. - (syms_of_xdisp): Init and staticpro it. +2008-02-01 Dave Love -2002-04-04 Stefan Monnier + * term.c (costs_set): Declare static, non-initialized for pcc. + (encode_terminal_code): Remove unused var. - * undo.c (record_point): New fun. - (record_delete, record_insert): Use it. + * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl + for K&R. -2002-04-03 Juanma Barranquero + * xterm.c (xlwmenu_window_p): Fix prototype for K&R. - * doc.c (Fdocumentation): Add missing parentheses. - (Fdocumentation_property): Likewise. + * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R. + (suffixes): Move out of make_subsidiaries for K&R. -2002-04-03 Stefan Monnier + * charset.c (map_charset_chars): Fix c_function declaration for K&R. - * doc.c (Fdocumentation, Fdocumentation_property): When the doc - data is 0, just return nil. + * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'. -2002-04-03 Eli Zaretskii +2008-02-01 Dave Love - * msdos.c (syms_of_msdos): Fix last change with - mouse_autoselect_window. + * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP. -2002-04-03 Pavel Jan,Am(Bk + * category.c (Fmodify_category_entry): Doc fix. Remove unused vars. - * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to - mouse_autoselect_window. +2008-02-01 Yong Lu -2002-04-02 Stefan Monnier + * charset.c (Fdefine_charset_internal): Fix argument to bzero. - * keyboard.c (make_lispy_event): Handle unknown keysyms together - with system-specific keysyms. Use it also for unknown function keys. + * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96. - * doc.c (reread_doc_file): Return whether reload was attempted. - (Fdocumentation, Fdocumentation_property): Don't try to reload - if the doc is 0 and only ask once. +2008-02-01 Kenichi Handa - * Makefile.in (lisp, shortlisp): Add ucs-tables.elc. + * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el, + vietnamese.elc to vietnamese.el. They are not bytecompiled now. -2002-04-02 Eli Zaretskii +2008-02-01 Kenichi Handa - * keyboard.c (read_char): If the event was Qselect_window, - restore timer_idleness_start_time to its previous value. + * coding.c (decode_coding_charset): Adjust for the change of + Fdefine_coding_system_internal. + (Fdefine_coding_system_internal): For a coding system of + `charset' type, store a list of charset IDs in + `charset_attr_charset_valids' element of coding attributes. - * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required. +2008-02-01 Kenichi Handa -2002-04-01 Stefan Monnier + * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars. + (emacs_mule_char): New arg src. Delete arg `composition'. Change + caller. Handle 2-byte and 3-byte charsets correctly. + (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from + DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller. + (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro. + (DECODE_EMACS_MULE_21_COMPOSITION): Call + DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation + sequence. + (decode_coding_emacs_mule): Handle composition correctly. Rewind + `src' and `consumed_chars' correctly before calling emacs_mule_char. + (DECODE_COMPOSITION_START): Correctly handle the case of altchar + and alt&rule composition. + (decode_coding_iso_2022): Handle composition correctly. + (init_coding_once): Setup emacs_mule_bytes for private charsets. - * region-cache.c (new_region_cache): Use BEG. + * charset.c (Fdefine_charset_internal): Fix bug for the case of + re-defining a charset. If the charset has :emacs-mule-id, setup + emacs_mule_bytes. + (Fmake_char): If CODE1 is nil, use the minimum code of the charset. - * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): - Use BEG and BEG_BYTE. +2008-02-01 Kenichi Handa - * doc.c (get_doc_string): Return nil if the location is wrong. - (reread_doc_file): New fun. - (Fdocumentation, Fdocumentation_property): - Call it if get_doc_string fails. - (Fsnarf_documentation): Make it work for a dumped Emacs. + * coding.c (encode_coding_iso_2022, encode_coding_sjis) + (encode_coding_big5, encode_coding_charset): If coding requires safe + encoding, produce a character specified by + CODING_INHIBIT_CHARACTER_SUBSTITUTION. - * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE. - Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case. +2008-02-01 Dave Love - * charset.c (Fstring): Allow 0 arguments. + * xterm.c (XSetIMValues): Declare. - * xterm.c (XTread_socket): Fix int/Lisp_Object confusion. + * process.c: Conditionally include sys/wait.h, pty.h. - * process.c (DATAGRAM_CONN_P, list_processes_1) - (Fprocess_datagram_address, Fset_process_datagram_address) - (Fset_network_process_options, server_accept_connection): - Fix some int/Lisp_Object confusions (thank you union types). + * print.c (print_object): Fix print format for 64-bit systems. -2002-04-01 Pavel Jan,Am(Bk + * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems. - * msdos.c: Rename x_autoselect_window_p to autoselect_window_p. + * buffer.c (emacs_strerror): Declare. - * w32term.c: Likewise. - (note_mouse_movement): Put code for x_autoselect_window_p in #if 0. + * fontset.c (Fclear_face_cache): Declare. + (accumulate_font_info): Comment-out (unused). + (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused + variables. - * keyboard.c (Qselect_window): New symbol. - (head_table): Use it. - (keys_of_keyboard): Bound select-window event to handle-select-window. - (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT. + * character.h (string_escape_byte8): Declare. - * xterm.c: Rename x_autoselect_window_p to autoselect_window_p. - (last_window): New variable. - (XTread_socket): Generate SELECT_WINDOW_EVENTs. - (note_mouse_movement): Remove reimplemented code in #if 0. - (XTread_socket): Generate SELECT_WINDOW_EVENTs only for - Emacs windows. + * charset.c (load_charset_map, load_charset_map_from_file): Remove + unused vars. + (Fdefine_charset_internal, Fsplit_char, syms_of_charset) + (Fmap_charset_chars): Doc fix. - * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'. + * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove. + (Fset_coding_system_priority, Fset_coding_system_priority) + (Fdefine_coding_system_internal): Doc fix. -2002-03-31 Gerd Moellmann +2008-02-01 Dave Love - * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P. - Callers changed. + * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics. -2002-03-30 Richard M. Stallman +2008-02-01 Kenichi Handa - * window.c (window_scroll_pixel_based): Exit the move_it_by_lines - loop whenever it stops making progress. + * character.c (string_escape_byte8): Make multibyte string with + correct size. - * widget.c (set_frame_size): Don't call change_frame_size. + * charset.c (Fmake_char): Delete unnecessary code. -2002-03-30 Gerd Moellmann +2008-02-01 Kenichi Handa - * dispnew.c (direct_output_for_insert): - Call mark_window_display_accurate. + * xfns.c (x_encode_text): Allocate coding.destination here, and + call encode_coding_object with dst_object Qnil. -2002-03-29 Jason Rumney + * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to + multibyte form correctly. - * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths. + * fontset.c (fs_load_font): Check fontp->full_name (not fontname) + against Vfont_encoding_alist. -2002-03-29 Eli Zaretskii + * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the + handling of charset list. + (encode_coding_iso_2022): Setup coding->safe_charsets in advance. + (decode_coding_object): Move point to coding->dst_pos before + calling post-read-conversion function. + (encode_coding_object): Give correct arguments to + pre-write-conversion. Ignore the return value of + pre-write-conversion function. Pay attention to the case that + pre-write-conversion changes the current buffer. If dst_object is + Qt, even if coding->src_bytes is zero, allocate at least one byte + to coding->destination. - * Makefile.in (lread.o): Depend on coding.h. + * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2). - * lread.c (openp, Fload): Encode the file name before passing it - to `stat', `access', and `emacs_open'. - (openp): GCPRO the encoded file name. Don't recompute Lisp - strings unnecessarily. + * charset.c (Fmake_char): Make it more backward compatible. + (Fmap_charset_chars): Fix docstring. -2002-03-29 Kim F. Storm +2008-02-01 Dave Love - * fns.c (Flax_plist_put): Doc fix. + * coding.c: Doc fixes. + (Fdefine_coding_system_alias): Use names, not symbols, in + coding-system-alist. -2002-03-28 Miles Bader +2008-02-01 Kenichi Handa - * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process. + * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead + of calling free_realized_face. -2002-03-27 Pavel Jan,Am(Bk +2008-02-01 Yong Lu - * process.c (set-network-process-options): Add usage. - (make-network-process): Doc fix. + * charset.c (read_hex): Don't treat SPC as a comment starter. + (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1. + (Fdecode_char): Fix typo. -2002-03-26 Eli Zaretskii +2008-02-01 Kenichi Handa - * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed". + * charset.h (struct charset): New member `code_space_mask'. -2002-03-26 Richard M. Stallman + * coding.c (coding_set_source): Delete the local variable beg_byte. + (encode_coding_charset, Fdefine_coding_system_internal): + Delete the local variable charset. + (Fdefine_coding_system_internal): Setup + attrs[coding_attr_charset_valids] correctly. - * fns.c (Fsubstring_no_properties): New function. - (Flax_plist_get, Flax_plist_put): New functions. - (syms_of_fns): defsubr them. + * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask' + member to check if CODE is valid or not. + (Fdefine_charset_internal): Initialize `code_space_mask' member. + (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE + is within the range of charset->min_code and carset->max_code. - * xdisp.c (update_menu_bar): Test only update_mode_lines; - don't test or alter w->update_mode_line. +2008-02-01 Dave Love - * window.c (Fdisplay_buffer): Doc fix. + * syntax.h (syntax_temp) [!__GNUC__]: Declare. -2002-03-24 Richard M. Stallman + * dispextern.h (generate_ascii_font): Fix return type. - * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces. + * xfaces.c (generate_ascii_font): Fix arg declaration. -2002-03-24 Gerd Moellmann + * coding.c (coding_inherit_eol_type) + (Fset_terminal_coding_system_internal) + (Fset_safe_terminal_coding_system_internal): Fix arg declarations. - * eval.c (Qdeclare, Vmacro_declaration_function): New variables. - (Fdefmacro): Handle `(declare ...)'. - (syms_of_eval) : Initialize and staticpro. - (syms_of_eval) : DEFVAR_LISP. +2008-02-01 Kenichi Handa -2002-03-24 Jason Rumney + * coding.c (decode_coding_charset, encode_coding_charset): Handle + multiple charsets correctly. - * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data) - (xbm_file_p): Add prototypes. - (xbm_format, xbm_image_p): Sync with xfns.c. - (reflect_byte): New function. - (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows. - (xbm_load_image): Create bitmaps with a depth of 1. - (init_xfns): Enable XBM images. +2008-02-01 Kenichi Handa -2002-03-23 Jason Rumney + * search.c (boyer_moore): Fix handling of mulitbyte character + translation. - * w32term.c (w32_handle_tool_bar_click): Detect up and down events - correctly. Do not pass up_modifier to keyboard buffer. + * xdisp.c (display_mode_element): When the variable `elt' is + changed, update `this' and `lisp_string'. - * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals. +2008-02-01 Kenichi Handa -2002-03-22 Stefan Monnier + * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling. - * Makefile.in (bootstrapclean): New target. - (bootstrap-temacs, bootstrap-doc): Remove. - (bootstrap-emacs): Use a bog-standard `temacs'. - Don't bother to build a DOC file. + * callproc.c (Fcall_process): Be sure to give the current buffer + to decode_coding_c_string. Update PT and PT_BYTE after the insertion. - * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause. + * charset.c (struct charset_map_entries): New struct. + (load_charset_map): Rename from parse_charset_map. New args + entries and n_entries. Change caller. + (load_charset_map_from_file): Rename from load_charset_map. + Change caller. New arg control_flag. Call load_charset_map at + the tail. + (load_charset_map_from_vector): New function. + (Fdefine_charset_internal): Setup charset.compact_codes_p. + (encode_char): If the charset is compact, change a character index + to a code point. - * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup - in temacs even if !CANNOT_DUMP. - (standard_args): Keep --no-loadup even if !CANNOT_DUMP. + * coding.c (coding_alloc_by_making_gap): Check the case that the + source and destination are the same correctly. + (decode_coding_raw_text): Set coding->consumed_char and + coding->consumed to 0. + (produce_chars): If coding->chars_at_source is nonzero, update + coding->consumed_char and coding->consumed before calling + alloc_destination. + (Fdefine_coding_system_alias): Register ALIAS in + Vcoding_system_alist. + (syms_of_coding): Define `no-convesion' coding system at the tail. - * alloc.c (check_pure_size): Only output a warning. + * fileio.c (Finsert_file_contents): Set coding_system instead of + val. If the current buffer is multibyte, always call + decode_coding_gap. -2002-03-22 Jason Rumney + * xfaces.c (try_font_list): Give higher priority to fontset's + family than face's family. - * w32fns.c (Fx_create_frame): Enable tool-bar when images are - supported. +2008-02-01 Kenichi Handa - * w32term.c (zv_bits): Declare as short, for word alignment. - (w32_read_socket) : Fix last change. - (syms_of_w32term): Define x-use-underline-position-properties. + * callproc.c (Fcall_process): Be sure to give the current buffer + to decode_coding_c_string. - * w32fns.c (x_set_cursor_color): Set cursor_gc as well. - (clear_image_cache): Block input, fix logic, clear matrices in - all frames that share this cache. + * xfaces.c (try_font_list): Give a family specified in a fontset + higher priority than a family specified in a face. -2002-03-22 Eli Zaretskii +2008-02-01 Kenichi Handa - * emacs.c (main): Update the Copyright year in the blurb printed - by "emacs --version". + * fileio.c (Finsert_file_contents): Fix calculation of `inserted'. + Fix arguments to insert_from_buffer. - * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2. + * xdisp.c (display_mode_element): Fix calculation of `bytepos'. - * xterm.c (XTread_socket): If XK_ISO_Lock and - XK_ISO_Last_Group_Lock are defined, handle keysyms between - XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch. +2008-02-01 Kenichi Handa -2002-03-21 Kim F. Storm + * coding.c (produce_chars): Set the variable `multibytep' correctly. + (decode_coding_gap): Set coding->dst_multibyte correctly. - * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so - menu-bar bindings in keymap and local-map properties _are_ used. - But try keymap property first in accordance with 2002-01-03 patch. - Added comment describing why this is not always reliable. - (tool_bar_items): Ditto for tool-bar. +2008-02-01 Kenichi Handa -2002-03-21 Jason Rumney + * coding.c (encode_coding_utf_8): Initialize produced_chars to 0. + (decode_coding_utf_16): Fix converting high and low bytes to code-point. + (encode_coding_utf_16): Substitute coding->default_char for + non-Unicode characters. + (decode_coding): Don't call record_insert here. + (setup_coding_system): Initialize `surrogate' of + coding->spec.utf_16 to 0. + (EMIT_ONE_BYTE): Fix for multibyte case. - * w32fns.c (x_clear_image_1): Disable color table code. + * insdel.c (insert_from_gap): Call record_insert. -2002-03-21 Kim F. Storm +2008-02-01 Kenichi Handa - * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch - removed the wrong version of the DEFUN macro; fixed it. + * casefiddle.c (casify_region): Fix multibyte case. - * fns.c (Ffeaturep): Allow subfeature to be a list (test using - Fmember rather than Fmemq). - (Fprovide): Check that subfeatures is a list. + * character.c (c_string_width): Add return type `int'. + (char_string_with_unification): Delete arg ADVANCED. - * process.c (QCfeature, QCdatagram): Removed variables. - (QCtype, Qdatagram): New variables. - (network_process_featurep): Removed function. - (Fmake_network_process): Removed :feature check. - Use :type 'datagram instead of :datagram t to create a datagram - socket. This allows us to add other connection types (e.g. raw - sockets) later in a consistent manner. - (init_process) [subprocess, HAVE_SOCKETS]: Provide list of - supported subfeatures for feature make-network-process. - (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram. - Intern and staticpro QCtype and Qdatagram. - (syms_of_process) [!subprocess]: Intern and staticpro QCtype. + * character.h (CHAR_VALID_P): Don't call CHARACTERP. + (CHAR_STRING): Adjust for the change of char_string_with_unification. + (CHAR_STRING_ADVANCE): Make it do-while statement. - * xfns.c (QCtype): Remove duplicate declaration and - initialization (is now declared in process.c). + * chartab.c (sub_char_table_set_range): Optimize for the case + DEPTH == 3. Add workaround code for a GCC optimization bug. - * w32fns.c (QCtype): Remove duplicate declaration and - initialization (is now declared in process.c). + * charset.c (parse_charset_map): Remove an unused variable. -2002-03-21 Richard M. Stallman + * coding.c: Delete unused variables. - * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro. - (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT - when jumping to `fail' to avoid undoing reg changes in the - last iteration of the loop. - (GET_UNSIGNED_NUMBER): Skip spaces around the number. + * fileio.c (Finsert_file_contents): Set coding_system to Qnil + earlier. If inserted is zero and the coding system doesn't + require flushing, don't call decode_coding_gap. - * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o): - Depend on process.h. + * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number. -2002-03-20 Jason Rumney +2008-02-01 Kenichi Handa - Most of the following changes are still conditional on HAVE_IMAGES - which is not set by default on Windows. + The following changes are for using Unicode as an internal + character model, and use UTF-8 format for buffer/string + representation. - * emacs.c (main) [WINDOWSNT]: Call init_xfns. + * .gdbinit (xchartable): Adjust for the change of char table structure. + (xsubchartable, xcoding, xcharset, xcurbuf): New commands. - * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame. - (Fimage_size, Fimage_mask_p, XPutPixel): New functions. - (four_corners_best, x_clear_image_1, x_clear_image) - (x_alloc_image_color, postprocess_image) - (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image) - (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows. - (init_xfns, syms_of_w32fns): Initialize image functions and constants. + * Makefile.in (obj): Add character.o and chartab.o. + (lisp, shortlisp): Remove utf-8.elc: + (*.o): For many files, change dependency on charset.h to + character.h, and add dependency on character.h. + (character.o, chartab.o): New targets. - * w32gui.h (struct XImage): Define. + * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c: + * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c: + * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead + of "charset.h". - * w32term.c (w32_read_socket) : Use XFASTINT to - extract mouse co-ordinates. + * dired.c, filelock.c: Include "character.h". -2002-03-20 Jason Rumney + * alloc.c: Include "character.h" instead of "charset.h". + (Fmake_char_table, make_sub_char_table): Move to chartab.c. + (syms_of_alloc): Remove defsubr for Smake_char_table. - * w32.c (init_winsock): Dynamically load new server and UDP - socket functions. - (socket_to_fd): New function. - (sys_socket): Use it. - (sys_setsockopt, sys_listen, sys_getsockname, sys_accept) - (sys_recvfrom, sys_sendto): New wrapper functions. + * buffer.c: Include "character.h" instead of "charset.h", don't + include "coding.h". + (Fset_buffer_multibyte): Adjust for UTF-8. - * process.c (QCfamily, QCfilter): Remove duplicate declaration - and initialization. + * buffer.h: EXFUN Fbuffer_live_p. - * makefile.w32-in (LIBS): Remove $(WSOCK32). + * callproc.c: Include "character.h" instead of "charset.h". + (Fcall_process): Big change for the new code-conversion APIs. -2002-03-20 Eli Zaretskii + * casetab.c: Include "character.h" instead of "charset.h". + (set_canon, set_identity, shuffle): Adjust for the new + map_char_table spec. + (init_casetab_once): Call CHAR_TABLE_SET instead of directly + accessing the char table structure. - * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr): - Don't use "sun" as a variable, it's a predefined constant on Sun - machines. + * chartab.c: New file that implements char table. -2002-03-20 Pavel Jan,Am(Bk + * category.c: Include "character.h". + (copy_category_entry): New function. + (copy_category_table): Call map_char_table and copy_category_entry. + (Fmake_category_table): Initialize all top-vel slots. + (char_category_set): New function. + (modify_lower_category_set): Delete. + (Fmodify_category_entry): Call char_table_ref_and_range. - * bytecode.c (Fbyte_code): Revert last change. + * category.h (CATEGORY_SET): Just call char_category_set. -2002-03-19 Kim F. Storm + * ccl.c: Include "character.h". + (Qccl, Qcclp): New variables. + (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if + it's less than 256. + (CCL_WRITE_MULTIBYTE_CHAR): Delete. + (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC + and DST type. + (ccl_driver): Change types of argument, adjust code accordingly. + (Fccl_execute, Fccl_execute_on_string): Adjust for the change of + ccl_driver. + (syms_of_ccl): Intern and staticpro Qccl and Qcclp. - * makefile.w32-in (LIBS): Add $(WSOCK32). - From David Ponce . + * ccl.h (struct ccl_program): Delete members eol_type and multibyte. + New members src_multibyte, dst_multibyte, consumed, and produced. + (struct ccl_spec): Delete members decoder and encoder. New member ccl. + (CODING_SPEC_CCL_PROGRAM): New macro. + (ccl_driver): Update prototype. + (Qccl, Qcclp, Fccl_program_p): Extern them. + (CHECK_CCL_PROGRAM): New macro. -2002-03-18 Pavel Jan,Am(Bk + * character.c, character.h, chartab.c: New files. - * process.c (wait_reading_process_input): Move variables `pname' - and `pnamelen' down where they are used. + * charset.c: Mostly re-written. Move character and multibyte sequence + handling codes to character.c. - * bytecode.c (Fbyte_code): Discard unused computed value to - prevent gcc warning. + * charset.h: Mostly re-written. Move character and multibyte sequence + handling codes to character.h. - * lisp.h (Fplist_member): Add prototype. + * coding.c, coding.h: Mostly re-written. -2002-03-18 Kim F. Storm + * composite.c: Include "character.h" instead of "charset.h". + (CHAR_WIDTH): Move to character.h. + (HASH_KEY, HASH_VALUE): Delete. - * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT, - HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H. + * composite.h (enum composition_method): Change order of enumeration + symbols. - * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H. - Remove explicit GNU_LINUX settings for datagram support. + * data.c: Include "character.h" instead of "charset.h". + (Faref): Call CHAR_TABLE_REF for a char table. + (Faset): Call CHAR_TABLE_SET for a char table. -2002-03-18 Pavel Jan,Am(Bk + * dispextern.h (free_realized_face, check_face_attribytes) + (generate_ascii_font): Extern them. + (free_realized_multibyte_face): Delete extern. - * process.c (Fmake_network_process): Remove unused variable `sa'. - Doc fix. Add usage:. - (set_socket_options): Remove unused variables `optnum' and `opttype'. + * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char + table structure. + + * editfns.c: Include "character.h" instead of "charset.h". + (Fchar_to_string): Always call CHAR_STRING. + + * emacs.c (main): Call init_charset_once, init_charset, + syms_of_chartab, and syms_of_character. + + * fileio.c: Include "character.h" instead of "charset.h". + (Finsert_file_contents): Big change for the new code-conversion API. + (choose_write_coding_system, Fwrite_region): Likewise. + (build_annotations_2): Delete. + (e_write): Big change for the new code-conversion API. + + * fns.c: Include "character.h" instead of "charset.h". + (copy_sub_char_table): Move to chartab.c. + (Fcopy_sequence): Call copy_char_table for a char table. + (concat): Delete codes calling count_multibyte. + (string_char_to_byte, string_byte_to_char): Adjust for the new + multibyte form. + (internal_equal): Adjust for the change of char table structure. + (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent) + (Fchar_table_extra_slot, Fset_char_table_extra_slot) + (Fchar_table_range, Fset_char_table_range, Fset_char_table_default) + (char_table_translate, optimize_sub_char_table) + (Foptimize_char_table, map_char_table, Fmap_char_table): Move to + chartab.c. + (char_table_ref_and_index): Delete. + (HASH_KEY, HASH_VALUE): Move to lisp.h. + (Fmd5): Call preferred_coding_system instead of accessing + Vcoding_category_list. Adjust for the new code-conversion API. + (syms_of_fns): Move defsubr for char table related functions to + chartab.c. + + * fontset.c: Mostly re-written. + + * fontset.h (struct font_info): Change type of the member encoding_type. + (enum FONT_SPEC_INDEX): New enum. + (fontset_font_pattern, fs_load_font): Update prototype. + (FS_LOAD_FONT): Adjust for the change of fs_load_font. + + * indent.c: Include "character.h" instead of "charset.h". + (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD. + + * insdel.c: Include "character.h" instead of "charset.h". + (copy_text): Don't refer to Vnonascii_translation_table. + (insert_from_gap): New function. + + * keyboard.c: Include "character.h" instead of "charset.h". + (command_loop_1): Never call direct_output_forward_char before + a non-ASCII character. + (read_char): If Vkeyboard_translate_table is a char table, always + translate a character. + + * keymap.c: Include "character.h". + (store_in_keymap): Handle the case that IDX is a cons. + (Fdefine_key): Handle the case that KEY is a cons and the car part + is also a cons (range). + (push_key_description): Adjust for the new character code. + (describe_vector): Call describe_char_table for a char table. + (describe_char_table): New function. + + * keymap.h (describe_char_table): Extern it. + + * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE. + (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros. + (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS) + (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS): + Delete. + (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table + structure. + (CHAR_TABLE_TRANSLATE): Just call char_table_translate. + (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2) + (CHARTAB_SIZE_BITS_3): New macros. + (chartab_size): Extern it. + (struct Lisp_Char_Table): Re-design. + (struct Lisp_Sub_Char_Table): New structure. + (HASH_KEY, HASH_VALUE): Move from fns.c. + (CHARACTERBITS): Define as 22. + (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change. + (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE. + (GC_SUB_CHAR_TABLE_P): New macro. + (Fencode_coding_string, Fdecode_coding_string): Update EXFUN. + (code_convert_string_norecord): Deleted extern. + (init_character_once, syms_of_character, init_charset) + (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them. + + * lread.c: Include "character.h". + (read_multibyte): New arg NBYTES. + (read_escape): Change the meaning of returned *BYTEREP. + (to_multibyte): Delete. + (read1): Adjust the handling of char table and string. + + * print.c: Include "character.h" instead of "charset.h". + (print_string): Convert 8-bit raw bytes to octal form by + string_escape_byte8. + (print_object): Adjust for the new multibyte form. Print 8-bit + raw bytes always in octal form. Handle sub char table correctly. + + * process.c: Include "character.h" instead of "charset.h". + (read_process_output, send_process): Adjust for the new + code-conversion API. + + * puresize.h (BASE_PURESIZE): Increase. + + * regex.c: Include "character.h" instead of "charset.h". + (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros. + (regex_compile): Accept a range whose starting and ending + character have different leading bytes. + (analyse_first): Adjust for the above change. + + * search.c: Include "character.h" instead of "charset.h". + (search_buffer, boyer_moore): Adjust for the new multibyte form. + (Freplace_match): Adjust for the change of multibyte_char_to_unibyte. + + * syntax.c: Include "character.h" instead of "charset.h". + (syntax_parent_lookup): Delete. + (Fmodify_syntax_entry): Accept a cons as CHAR. + (skip_chars): Adjust for the new multibyte form. + (init_syntax_once): Call char_table_set_range instead of directly + accessing the structure of a char table. + + * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET. + (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro. + (SET_RAW_SYNTAX_ENTRY_RANGE): New macro. + (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF. + + * term.c: Include "buffer.h" and "character.h". + (encode_terminal_code, write_glyphs): Adjust for the new + code-conversion API. + (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH. + + * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT. + + * xdisp.c: Include "character.h". + (get_next_display_element): Adjust for the new multibyte form. + (disp_char_vector): Adjust for the new char table structure. + (decode_mode_spec_coding): Adjust for the new structure of + coding system. + (decode_mode_spec): Adjust for the new code-conversion API. + + * xfaces.c: Include "character.h" instead of "charset.h". + (load_face_font): Adjust for the change of choose_face_font and + FS_LOAD_FONT. + (generate_ascii_font): New function. + (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT. + (set_font_frame_param): Adjust for the change of choose_face_font. + (free_realized_face): Make it public. + (free_realized_faces_for_fontset): Rename from + free_realized_multibyte_face. Free also faces realized for ASCII. + (choose_face_font): Change arguments. Adjust for the change of + fontset_font_pattern and FS_LOAD_FONT. + + * xfns.c: Include "character.h". + (x_encode_text): Adjust for the new code-conversion API. + + * xselect.c: Don't include "charset.h". + (selection_data_to_lisp_data): Adjust for the new code conversion API. + + * xterm.c: Include "character.h". + (x_encode_char): New argument CHARSET. Change caller. + (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding): + Call ENCODE_CHAR instead of SPLIT_CHAR. + (x_produce_glyphs): Don't check Vnonascii_translation_table Call + CHAR_WIDTH instead of CHARSET_WIDTH. + (XTread_socket): Adjust for the new code-conversion API. + (x_new_font): Adjust for the change of FS_LOAD_FONT. + (x_load_font): Adjust for the change of struct font. + +2008-02-01 Stefan Monnier + + * xfaces.c (face_at_buffer_position): Remove unused vars. -2002-03-17 Richard M. Stallman +2008-02-01 Kenichi Handa - * xdisp.c (cursor_type_changed): New variable. - (redisplay_internal): Redisplay all windows if cursor_type_changed. - Clear it when clearing windows_or_buffers_changed. - (try_cursor_movement, redisplay_window, try_window_id) - (try_window_reusing_current_matrix): Test cursor_type_changed - along with windows_or_buffers_changed. + * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR): + Fix overflow checking. - * window.h (cursor_type_changed): New variable. +2008-02-01 Kenichi Handa - * xfns.c (x_set_cursor_type): Set cursor_type_changed, - not update_mode_lines, and always set it to 1. + * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver): + Cancel previous change. - * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed - if no frames needed redrawing. +2008-01-31 Kenichi Handa -2002-03-17 Kim F. Storm + * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when + ccl->eight_bit_control. Fix check for buffer overflow. + (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow. + (ccl_driver): Initialize extra_bytes to 0. - The following changes add support for network server processes, - datagram connections, and local (unix) sockets. +2008-01-31 Kenichi Handa - * process.h (struct Lisp_Process): New member log. - Doc fix: Member command used to indicate stopped network process. - Doc fix: Member childp contains plist for network process. - Doc fix: Member kill_without_query is inverse of query-on-exit flag. + * keyboard.c (make_ctrl_char): If C is a multibyte character, just + return it ORed with ctrl_modifier. - * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily) - (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery, QCstop) - (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature): New - variables. - (NETCONN1_P): New macro. - (DATAGRAM_SOCKETS): New conditional symbol. - (datagram_address): New array. - (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros. - (status_message): Use concat3. - (Fprocess_status): Add `listen' status to doc string. Return - `stop' for a stopped network process. - (Fset_process_buffer): Update contact plist for network process. - (Fset_process_filter): Ditto. Don't enable input for stopped - network processes. Server must listen, even if filter is t. - (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag): - New functions. - (Fprocess_kill_without_query): Removed. Now defined in simple.el. - (Fprocess_contact): Added KEY argument. Handle datagrams. - (list_processes_1): Optionally show only processes with the query - on exit flag set. Dynamically adjust column widths. Omit tty - column if not needed. Report stopped network processes. Identify - server and datagram network processes. - (Flist_processes): New optional arg `query-only'. - (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size) - (conv_lisp_to_sockaddr, set_socket_options) - (network_process_featurep, unwind_request_sigio): New helper - functions. - (Fprocess_datagram_address, Fset_process_datagram_address): - (Fset_network_process_options): New lisp functions. - (Fopen_network_stream): Removed. Now defined in simple.el. - (Fmake_network_process): New lisp function. Code is based on - previous Fopen_network_stream, but heavily reworked with new - property list based argument list, support for datagrams, server - processes, and local sockets in addition to old client-only - functionality. - (server_accept_connection): New function. - (wait_reading_process_input): Use it to handle incoming connects. - Do not enable input on a new connection if process is stopped. - (read_process_output): Handle datagram sockets. Use 2k buffer for - them. - (send_process): Handle datagram sockets. - (Fstop_process, Fcontinue_process): Apply to network processes. A - stopped network process is indicated by setting command field to t. - (Fprocess_send_eof): No-op if datagram connection. - (Fstatus_notify): Don't read input for a stream server socket or a - stopped network process. - (init_process): Initialize datagram_address array. - (syms_of_process): Intern and staticpro new variables, defsubr new - functions. +2008-01-29 Miles Bader -2002-03-16 Jason Rumney + * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake. - * w32fns.c (w32_to_all_x_charsets): Return correct type in - startup case. +2008-01-28 Jason Rumney -2002-03-16 Richard M. Stallman + * w32.c (stat): Don't double check for networked drive. - * xdisp.c (redisplay_internal, redisplay_windows): - Use list_of_error to call internal_condition_case_1. - (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2} - so as to catch all errors with no possibility of debugger redisplay. - (list_of_error): New variable. - (syms_of_xdisp): Init and staticpro it. +2008-01-28 Stefan Monnier - * print.c (print_object): Delete `\ ' from printed rep of frame. + * window.c (run_window_configuration_change_hook): New function. + Code extracted from set_window_buffer. Set the selected frame. + (set_window_buffer): Use it. + * window.h (run_window_configuration_change_hook): Declare. + * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer. -2002-03-15 Eli Zaretskii + * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM). - * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature, - until its implementation is fixed. +2008-01-27 Dan Nicolaescu -2002-03-14 Pavel Jan,Am(Bk + * Makefile.in: Remove references to unused macros. - * xfns.c (png_load): Remove unused variable `gamma_str'. +2008-01-26 Eli Zaretskii -2002-03-14 Richard M. Stallman + * w32.c (g_b_init_get_sid_sub_authority) + (g_b_init_get_sid_sub_authority_count): New static variables. + (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs. + (get_sid_sub_authority, get_sid_sub_authority_count): New functions. + (init_user_info): Use them to retrieve uid and gid. + Use 500/513, the Windows defaults, as Administrator's uid/gid. + (fstat): Use pw_uid and pw_gid from the_passwd structure for + st_uid and st_gid of the file. - * xfns.c (x_real_positions): Handle failure in XQueryTree. +2008-01-26 Jason Rumney -2002-03-14 Miles Bader + * w32.c (logon_network_drive): New function. + (stat): Use it. - * intervals.c (adjust_for_invis_intang): New function. - (set_point_both): Use `adjust_for_invis_intang' to do most of the - work for dealing with invisible+intangible regions. Do so before - and after both forward and backward movements, to handle both - front-sticky and rear-sticky cases. - * textprop.c (text_property_stickiness): Function moved here from - `editfns.c'. - * intervals.h (text_property_stickiness): New declaration. - * editfns.c (char_property_eq): Function removed. - (text_property_stickiness): Function moved to `textprop.c'. +2008-01-26 Chong Yidong -2002-03-13 Jason Rumney + * xdisp.c (pos_visible_p): Handle the case where charpos falls on + invisible text covered with an ellipsis. - * config.in: Add STRFTIME_NO_POSIX2. +2008-01-25 Richard Stallman - * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX - and %OX when underlying strftime does not. + * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and + jump back to beginning. Move some other initializations after that. + (Qwindow_text_change_functions, Vwindow_text_change_functions): + New variables. + (syms_of_xdisp): Init them. -2002-03-13 Stefan Monnier + * keyboard.c (read_char): Restore echo_message_buffer after redisplay. - * xterm.c (x_set_toolkit_scroll_bar_thumb) : - Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per - line) to avoid annoying flicker. - (xm_scroll_callback): Get rid of the now unnecessary kludge. - (XTread_socket): Mark it static. + * buffer.c (reset_buffer_local_variables): + Implement `permanent-local-hook'. + (Qpermanent_local_hook): New variable. + (syms_of_buffer): Init and staticpro it. - * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup. +2008-01-25 Michael Albinus -2002-03-13 Kim F. Storm + * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux. - * puresize.h (BASE_PURESIZE): Increase to 775000. +2008-01-25 Thien-Thi Nguyen -2002-03-12 Juanma Barranquero + * fns.c (Fclrhash): Return TABLE. - * editfns.c (syms_of_editfns): Fix typo. +2008-01-23 YAMAMOTO Mitsuharu -2002-03-12 Gerd Moellmann + * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p. + (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p + is set even without positional changes. + (x_scroll_bar_clear): Set bar->redraw_needed_p. - * xsmfns.c: Include stdio.h because termhooks.h needs it. - Include termopt.h for interrupt_input. + * macterm.h (struct scroll_bar): New member `redraw_needed_p'. -2002-03-11 Andreas Schwab +2008-01-23 Jason Rumney - * coding.c (syms_of_coding) : Doc fix. + * xterm.c (handle_one_xevent): Revert to counting chars not bytes. -2002-03-11 Gerd Moellmann + * w32term.c (w32_read_socket) : Decode characters outside + the unicode range available in MULE by locale-coding-system. + Improve dbcs lead byte detection. Set event timestamp and modifiers + earlier. - * xterm.c (note_mouse_movement): Put code for - x_autoselect_window_p in #if 0. +2008-01-23 YAMAMOTO Mitsuharu - * lread.c (Fload): Don't assume that message_with_string uses the - string it is given like a C string. + * mac.c (mac_emacs_pid) [MAC_OSX]: New variable. + [MAC_OSX] (init_mac_osx_environment): Initialize it. + [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0 + when used on child processes. -2002-03-10 Jan Dj,Ad(Brv +2008-01-21 Michael Albinus - * xterm.h (x_session_check_input, x_session_initialize): Declare. + * dbusbind.c (Fdbus_method_return_internal): Rename from + Fdbus_method_return. + (Fdbus_unregister_object): Move to dbus.el. + (Fdbus_call_method, Fdbus_method_return_internal) + (Fdbus_send_signal): Improve debug messages. - * xterm.c (XTread_socket): Add call to x_session_check_input and - x_session_have_connection. - (x_initialize): Add call to x_session_initialize. +2008-01-20 Martin Rudalics - * termhooks.h (enum event_kind): Add save_session_event. + * undo.c (undo_inhibit_record_point): New variable. + (syms_of_undo): Initialize it. + (record_point): Don't record point when undo_inhibit_record_point + is set. - * keyboard.c: Add Emacs event save_session_event. +2008-01-19 Stefan Monnier - * emacs.c (main): Add call to syms_of_xsmfns. + * process.c (list_processes_1): Don't use SCHARS on a nil buffer name. - * lisp.h (syms_of_xsmfns): Declare extern. + * xdisp.c (Qauto_hscroll_mode): New var. + (syms_of_xdisp): Initialize it. + (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each + window's buffer. + (hscroll_windows): Don't check automatic_hscrolling_p here. - * config.in: Add HAVE_X_SM. + * window.c (set_window_buffer): Don't unnecessarily reset hscroll and + vscroll if we're setting window-buffer to the value it already has. - * Makefile.in (LIBXT): Add -lSM -lICE - if HAVE_X_SM and not USE_X_TOOLKIT. - (XOBJ): New file xsmfns.c added. +2008-01-18 Dan Nicolaescu - * xsmfns.c: New file for X session management. + * m/intel386.h: Remove references to XENIX. -2002-03-09 Jason Rumney +2008-01-17 Andreas Schwab - * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not - read-only when setting modified time. + * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR + instead of HAVE_X86_64_LIB64_DIR. + * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise. -2002-03-08 Gerd Moellmann +2008-01-17 Glenn Morris - * xdisp.c (move_it_vertically_backward): At the end of the function, - when moving forward by lines, treat terminal frames specially. + * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according + to HAVE_X86_64_LIB64_DIR. - * keyboard.c (echo_char): Make sure to add a separator between - keys even if echo_dash hasn't been called. +2008-01-16 Dan Nicolaescu - * xdisp.c: Use new string macros. - (update_echo_area): Pass number of bytes to message3 instead of - number of chars. - (set_message_1): Don't access a string's size_byte directly. - (decode_mode_spec_coding): Use number of bytes of eoltype string - instead number of chars. + * s/irix3-3.h: + * s/irix4-0.h: + * s/386-ix.h: + * s/domain.h: + * s/hpux9-x11r4.h: + * s/hpux9shxr4.h: Remove files for systems no longer supported. - * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros. + * sysdep.c: Remove code containing references to symbols defined + by unsupported systems. -2002-03-08 Juanma Barranquero +2008-01-16 Glenn Morris - * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to - 24-bit. + * coding.c (select-safe-coding-system-function): Doc fix. -2002-03-06 Jason Rumney +2008-01-15 Glenn Morris - * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor. + * config.in: Revert 2008-01-13 change: this is a generated file. -2002-03-06 Gerd Moellmann +2008-01-13 Tom Tromey - * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now) - (cancel_echoing, echo_length, echo_truncate): Changed to - work with new kboard definition. - (echo_now): Use message3_nolog instead of message2_nolog. + * lisp.h: Fix typo. - * alloc.c (mark_kboards): Mark echo_string. +2008-01-13 Dan Nicolaescu - * keyboard.h (ECHOBUFSIZE): Removed. - (struct kboard): Member echoptr removed, member echobuf renamed - to echo_string. + * m/sequent-ptx.h: + * m/sequent.h: + * s/ptx.h: + * s/ptx4-2.h: + * s/ptx4.h: Remove files for systems no longer supported. - * xdisp.c (message_with_string): Use Fformat instead of doprnt and - message3 instead of message2 to display the message using STRING's - text properties. + * callproc.c (Fcall_process): Fix previous change. -2002-03-05 Andreas Schwab +2008-01-13 Dan Nicolaescu + + * unexsunos4.c: Remove file, system not supported anymore. + + * src/m/mips.h: + * src/m/intel386.h: + * callproc.c: + * config.in: + * ecrt0.c: + * emacs.c: + * fileio.c: + * frame.c: + * getpagesize.h: + * keyboard.c: + * lread.c: + * process.c: + * puresize.h: + * sysdep.c: + * systty.h: + * syswait.h: + * unexec.c: + * xdisp.c: + * alloc.c: Remove code containing references to symbols defined by + unsupported systems. + +2008-01-11 Kenichi Handa + + * coding.c (detect_coding_mask): Fix previous change. - * xdisp.c (hscroll_margin): Change to EMACS_INT. +2008-01-10 Chong Yidong -2002-03-05 Per Abrahamsen + * process.c (wait_reading_process_output): Check for window + changes caused by timers. - * frame.c (default-frame-alist): Explain that setting it doesn't - affect existing frames. +2008-01-09 Kenichi Handa -2002-03-05 Stefan Monnier + * coding.c (detect_coding_iso2022): New arg + latin_extra_code_state. Allow Latin extra codes only + when *latin_extra_code_state is nonzero. + (detect_coding_mask): If there is a NULL byte, detect the encoding + as UTF-16 or binary. If Latin extra codes exist, detect the + encoding as ISO-2022 only when there's no other proper encoding is + found. - * indent.c (skip_invisible): Fix my brain fart. +2008-01-08 YAMAMOTO Mitsuharu - * dispnew.c (sit_for): Don't wait if executing a kbd macro. + * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of + #ifdef MAC_OS. -2002-03-04 Stefan Monnier +2008-01-08 Richard Stallman - * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c, - * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h, - * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c, - * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition - and variables to use EMACS_INT instead of just int. + * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes. - * buffer.c (syms_of_buffer): Allow non-string `mode-name'. +2008-01-06 Nick Roberts + + * keyboard.c (parse_menu_item): Don't enclose key bindings on + menu bar in parentheses. + +2008-01-06 Dan Nicolaescu + + * m/7300.h: + * m/acorn.h: + * m/alliant-2800.h: + * m/alliant.h: + * m/alliant1.h: + * m/alliant4.h: + * m/altos.h: + * m/amdahl.h: + * m/apollo.h: + * m/att3b.h: + * m/aviion-intel.h: + * m/aviion.h: + * m/celerity.h: + * m/clipper.h: + * m/cnvrgnt.h: + * m/convex.h: + * m/cydra5.h: + * m/delta88k.h: + * m/dpx2.h: + * m/dual.h: + * m/elxsi.h: + * m/f301.h: + * m/gould-np1.h: + * m/gould.h: + * m/i860.h: + * m/ibmps2-aix.h: + * m/ibmrt-aix.h: + * m/ibmrt.h: + * m/irist.h: + * m/is386.h: + * m/isi-ov.h: + * m/mega68.h: + * m/mg1.h: + * m/news-r6.h: + * m/news-risc.h: + * m/news.h: + * m/nh3000.h: + * m/nh4000.h: + * m/ns16000.h: + * m/ns32000.h: + * m/nu.h: + * m/orion.h: + * m/orion105.h: + * m/paragon.h: + * m/pfa50.h: + * m/plexus.h: + * m/pyramid.h: + * m/pyrmips.h: + * m/sh3el.h: + * m/sps7.h: + * m/sr2k.h: + * m/stride.h: + * m/sun1.h: + * m/sun2.h: + * m/sun3-68881.h: + * m/sun3-fpa.h: + * m/sun3-soft.h: + * m/sun3.h: + * m/sun386.h: + * m/symmetry.h: + * m/tad68k.h: + * m/tahoe.h: + * m/targon31.h: + * m/tek4300.h: + * m/tekxd88.h: + * m/tower32.h: + * m/tower32v3.h: + * m/ustation.h: + * m/wicat.h: + * m/xps100.h: + * s/cxux.h: + * s/cxux7.h: + * s/dgux.h: + * s/dgux4.h: + * s/dgux5-4-3.h: + * s/dgux5-4r2.h: + * s/esix.h: + * s/esix5r4.h: + * s/hiuxmpp.h: + * s/hiuxwe2.h: + * s/iris3-5.h: + * s/iris3-6.h: + * s/isc2-2.h: + * s/isc3-0.h: + * s/isc4-0.h: + * s/isc4-1.h: + * s/newsos5.h: + * s/newsos6.h: + * s/osf1.h: + * s/osf5-0.h: + * s/riscix1-1.h: + * s/riscix12.h: + * s/sco4.h: + * s/sco5.h: + * s/sunos4-0.h: + * s/sunos4-1.h: + * s/sunos413.h: + * s/sunos4shr.h: + * s/umax.h: + * s/unipl5-2.h: + * s/xenix.h: + * cxux-crt0.s: + * unexapollo.c: + * unexconvex.c: + * unexenix.c: + * unexsni.c: Remove files for systems no longer supported. + + * m/intel386.h: Remove references to unsupported systems. + + * w32.c (get_emacs_configuration): Remove reference to i860. + + * sysdep.c: Remove dead code. + +2008-01-05 Dan Nicolaescu + + * s/rtu.h: + * m/masscomp.h: Remove files. Platform is obsolete. + +2008-01-04 Michael Albinus + + * dbusbind.c (Fdbus_method_return): New function. + (xd_read_message): Add the serial number to the event. + (Fdbus_register_method): Activate the function. + +2008-01-03 Stefan Monnier + + * keyboard.c (read_key_sequence): Fix typo. + +2008-01-03 Michael Albinus + + * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE. + (xd_signature, xd_append_arg): Handle element type detection for + empty arrays. + (Fdbus_call_method, Fdbus_send_signal): Undo type casting for + SDATA () calls; this must be solved more general. + (Fdbus_register_signal): Use SBYTES instead of strlen. + +2008-01-03 Magnus Henoch + + * dbusbind.c (xd_append_arg): Use unsigned char instead of + unsigned int for byte values (necessary for big-endian platform). + (Fdbus_call_method): Handle the case of no returned arguments. + +2007-12-31 Tom Tromey (tiny change) + + * dbusbind.c (xd_read_message): Use non-static input_event struct. + +2007-12-31 Magnus Henoch + + * dbusbind.c (xd_signature): Signature of variant is just "v". + +2007-12-30 Michael Albinus + + * dbusbind.c: Fix several errors and compiler warnings. + Reported by Tom Tromey + (XD_ERROR, XD_DEBUG_MESSAGE) + (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)". + (xd_append_arg): Part for basic D-Bus types rewitten. + (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and + DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not + appropriate. + (xd_read_message): Return Qnil. Don't signal an error; it is not + useful during event reading. + (Fdbus_register_signal): Signal an error if the check for + FUNCTIONP fails. + (Fdbus_register_method): New function. The implementation is not + complete, the call of the function signals an error therefore. + (Fdbus_unregister_object): New function, renamed from + Fdbus_unregister_signal. The initial check signals an error, if + the object is not well formed. + +2007-12-30 Richard Stallman + + * textprop.c (get_char_property_and_overlay): + Signal error if POSITION is out of range in a buffer. + +2007-12-29 Martin Rudalics + + * w32fns.c (Fx_create_frame): Make copy of frame parameters + because the original parameters are in pure storage now. -2002-03-04 Eli Zaretskii +2007-12-24 YAMAMOTO Mitsuharu - * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the - environment, pass it down with corrected value. + * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area. -2002-03-04 Pavel Jan,Am(Bk +2007-12-22 Eli Zaretskii - * lread.c (read_filtered_event): Do not call start_hourglass - before returning. + * callint.c (syms_of_callint) : Add reference to + history-length in the doc string. -2002-03-04 Juanma Barranquero +2007-12-17 Jason Rumney - * w32term.c (x_display_and_set_cursor): Fix typo. + * w32fns.c (w32_wnd_proc) : Cast char to unsigned + before passing as wParam. -2002-03-03 Richard M. Stallman +2007-12-22 Michael Albinus - * fileio.c (Fmake_temp_name): Doc fix. + * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE, + DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64, + DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE. + Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit + as number. + (Fdbus_call_method): Fix docstring. -2002-03-03 Gary Wong +2007-12-21 Michael Albinus - * termcap.c [!emacs]: Replace ospeed for building standalone - libtermcap, for binary compatibility. + * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE): + New macros. + (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE. + (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE. + Simplify. + (xd_signature): New function. + (xd_append_arg): Compute also signatures. Major rewrite. + (xd_retrieve_arg): Make debug messages friendly. + (Fdbus_call_method, Fdbus_send_signal): Extend docstring. + Check for signatures of arguments. + +2007-12-19 Michael Albinus + + * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean) + (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32) + (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64) + (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path) + (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant) + (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols. + (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro. + (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types. + (xd_retrieve_value): Remove. Functionality included in ... + (xd_append_arg): New function. + (Fdbus_call_method, Fdbus_send_signal): Apply it. + +2007-12-16 Michael Albinus + + * dbusbind.c (top): Include . + (Fdbus_call_method, Fdbus_send_signal): Apply type cast in + dbus_message_new_method_call and dbus_message_new_signal. + (Fdbus_register_signal): Rename unique_name to uname. + Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of + non-existing unique name. Fix typos in matching rule. Return an + object which is useful in Fdbus_unregister_signal. + (Fdbus_unregister_signal): Reimplementation, in order to remove + only the corresponding entry. + (Vdbus_registered_functions_table): Change the order of entries. + Apply these changes in xd_read_message and Fdbus_register_signal. + +2007-12-16 Andreas Schwab + + * fileio.c (Finsert_file_contents): Fix overflow check to not + depend on undefined integer overflow. - * tparam.c [!emacs]: Move #define of bcopy to after string.h. +2007-12-14 Jason Rumney -2002-03-03 Richard M. Stallman + * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT + for characters above 127. - * xrdb.c (file_p): Rename arg `path' to `filename'. +2007-12-13 Jason Rumney - * abbrev.c (Fexpand_abbrev): Increment plist as use count - only if it is an integer. + * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check + before dereferencing array. + (lookup_vk_code): Remove zero comparison. - * xfns.c (png_load): Set screen_gamma based on f->gamma. - If png_get_sRGB gives an answer, call png_set_gamma - using the default image gamma value. +2007-12-14 Michael Albinus - * lread.c (read1): When reading from a file, default string to - multibyte only if it has some multibyte characters. + * dbusbind.c (xd_retrieve_value, xd_retrieve_arg) + (Fdbus_call_method, Fdbus_send_signal, xd_read_message): + Use `unsigned int' instead of `uint'. + (xd_read_message, Fdbus_register_signal): Split expressions into + multiple lines before operators "&&" and "||", according to the + GNU Coding Standards. - * print.c (print_object): Output multibyte chars 128...255 - using \x even if ! print_escape_multibyte. +2007-12-14 Eli Zaretskii - * xdisp.c (display_mode_element): Move the places where - bytepos, charpos, this, and lisp_string are set. - Use lisp_string to set bytepos. + * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT. - * xdisp.c (redisplay_internal): - Call clear_image_cache only if HAVE_WINDOW_SYSTEM. +2007-12-12 Juri Linkov - * xdisp.c (display_mode_element): Merge properties specified with - :propertize onto those that come with the string. + * buffer.c (Frename_buffer): In interactive spec replace + `read-buffer' with `read-string' that uses `buffer-name-history' + as history, and the current buffer's name as default. -2002-03-03 Eli Zaretskii +2007-12-10 Stefan Monnier - * xdisp.c (syms_of_xdisp) : Renamed from - automatic-hscrolling. Users changed. - : Renamed from automatic-hscroll-margin. - Users changed. - : Renamed from automatic-hscroll-step. Users changed. + * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of + manipulating the backtrace manually. + (make_lispy_event): Merge the ASCII and MULTIBYTE cases. + (struct backtrace, backtrace_list): Remove. + (command_loop_1): Remove dead var `no_direct'. -2002-03-02 Eli Zaretskii + * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also + preserve non-built-in buffer-local variables. + (Fkill_all_local_variables): Don't re-create&re-set permanent + buffer-local variables. - * buffer.c (syms_of_buffer) : Doc fix. +2007-12-09 Juri Linkov -2002-03-02 Kim F. Storm + * buffer.c (Frename_buffer): Change interactive spec from "s" to + Lisp code that uses `read-buffer' with current buffer as default. - * window.c (Fminibuffer_selected_window): New function. - (syms_of_window): Defsubr it. +2007-12-08 Michael Albinus -2002-03-01 Kim F. Storm + * dbusbind.c (xd_read_message): Generate an event for every + registered handler. There might be several handlers registered + for the same signal. + (Fdbus_register_signal): Don't overwrite a registration for the + same signal. Add a new registration if handlers are different. + (Vdbus_registered_functions_table): Rework doc string. - * window.h (struct window): New member phys_cursor_width. +2007-12-07 Michael Albinus - * window.c (make_window, replace_window): Init phys_cursor_width. + * dbusbind.c (Fdbus_get_unique_name, xd_read_message) + (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and + DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths. + (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal): + Unify argument lists. + (xd_read_message, Fdbus_register_signal): Reorder and extend event + arguments and hash table keys. Use unique name for service. + (Fdbus_unregister_signal): Remove checks. + (Vdbus_registered_functions_table): Fix doc string. - * xterm.c (x_display_and_set_cursor): Blink box cursor using - hollow box cursor. Blink bar cursor using 1 pixel wide bar. +2007-12-05 Magnus Henoch - * w32term.c (x_display_and_set_cursor): Blink box cursor using - hollow box cursor. Blink bar cursor using 1 pixel wide bar. + * process.c (make_process): Initialize pty_flag to 0. - * lisp.h (GCPRO6): New macro. +2007-12-05 Jason Rumney - * process.c (Fopen_network_stream): Use GCPRO6. + * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly + specified XBMs. -2002-03-01 Kim F. Storm +2007-12-05 Richard Stallman - * process.c (Qconnect, Qfailed): New variables. - (syms_of_process): Intern and staticpro them. - (Fprocess_status): Document connect and failed return values. - [NON_BLOCKING_CONNECT]: New conditional. - (connect_wait_mask, num_pending_connects): New variables. - (status_message): Convert Qfailed status. - (Fopen_network_stream): Added support for non-blocking connect. - New optional args: filter, sentinel, non_blocking. Doc updated. - [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code. - (deactivate_process): Handle pending non-blocking connect. - (wait_reading_process_input): Poll for status of non-blocking - connects. Exec sentinel directly when connect succeeds. - (status_notify): Don't read process output if not yet connected. + * xdisp.c (syms_of_xdisp) : Doc fix. -2002-02-28 Kim F. Storm +2007-12-05 YAMAMOTO Mitsuharu - * window.c (minibuf_selected_window): Renamed from - Vminibuf_selected_window. Users changed. - (syms_of_window): Staticpro it. + * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]: + New variable. + (mac_try_close_socket) [MAC_OSX]: New function. + [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: + Update cfsockets_for_select. Replace invalid CFRunLoop source. -2002-02-26 Kim F. Storm + * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]: + Use mac_try_close_socket. - The following changes add a new Vminibuf_selected_window variable - which is similar to Vminibuf_scroll_window, but which is only set - on entry to the minibuffer (from a non-minibuffer window): +2007-12-05 YAMAMOTO Mitsuharu - * window.c (Vminibuf_selected_window): New variable. - (struct save_window_data): New member minibuf_selected_window. - (Fset_window_configuration): Restore Vminibuf_selected_window. - (Fcurrent_window_configuration): Save Vminibuf_selected_window. - Set minibuf_scroll_window member to nil if minibuf_level is 0. - (compare_window_configurations): Compare minibuf_selected_window. + * unexmacosx.c (unrelocate): New argument BASE. Use it instead of + reloc_base. + (copy_dysymtab): Compute relocation base here. + (rebase_reloc_address) [__ppc64__]: New function. + (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be + changed. - * window.h (Vminibuf_selected_window): Declare extern. +2007-12-05 Jason Rumney - * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first - entry to minibuffer or on entry from a non-minibuffer window. + * w32proc.c (sys_spawnve): Quote args with wildcards. - * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with - Vminibuf_selected_window instead of Vminibuf_scroll_window. +2007-12-05 YAMAMOTO Mitsuharu - * xdisp.c (init_iterator): Compare with Vminibuf_selected_window - instead of Vminibuf_scroll_window when deciding in which window - the region should be highlighted. Consequently, the region remains - highlighteded even when a completion buffer is also displayed. + * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and + __objc_* sections. + (unrelocate) [_LP64]: Set relocation base to address of data segment. -2002-02-26 Eli Zaretskii +2007-12-05 Michael Albinus - * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08. + * dbusbind.c (xd_read_message): Return value is a Lisp_Object. + Move check for Vdbus_registered_functions_table to + xd_read_queued_messages. + (xd_read_queued_messages): Protect xd_read_message calls by + internal_condition_case_1. - * xselect.c (Qcompound_text_with_extensions): Renamed from - Qcompound_text_no_extensions. - (lisp_data_to_selection_data, syms_of_xselect): Use the new name. +2007-12-04 Michael Albinus -2002-02-26 Juanma Barranquero + * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from + Qdbus_system_bus and Qdbus_session_bus, respectively. + (Vdbus_intern_symbols): Remove. + (Vdbus_registered_functions_table): New hash table. + (XD_SYMBOL_INTERN_SYMBOL): Remove. + (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal): + Rewrite in order to manage registered functions by hash table + Vdbus_registered_functions_table. - * w32proc.c (syms_of_ntproc): Doc fix. +2007-12-03 Jan Dj,Ad(Brv -2002-02-24 Pavel Jan,Am(Bk + * xterm.c: Update URL to Window Manager Specification in comment. - * intervals.h: Include "dispextern.h" unconditionally. +2007-12-02 Michael Albinus -2002-02-24 Jason Rumney + * config.in (HAVE_DBUS): Add. - * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc - and disp-table.elc. - (lisp): Add emacs-lisp/backquote.elc. + * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined. + (ALL_CFLAGS): Add ${DBUS_CFLAGS}. + (obj): Add $(DBUS_OBJ). + (LIBES): Add $(DBUS_LIBS). + (dbusbind.o): New target. -2002-02-24 Kim F. Storm + * dbusbind.c: New file. - * keymap.c (Flookup_key): Fix problem in 2001-12-28 patch: - The validation of the event type was too strict as it didn't - allow string events; buffer names are used in bindings for - menu-bar-select-buffer (see `menu-bar-update-buffers'). + * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined. -2002-02-23 Kim F. Storm + * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS". + (Qdbus_event): New Lisp symbol. + (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT. + (gobble_input): Call xd_read_queued_messages, reading D-Bus messages. + (keys_of_keyboard ): Define dbus-event. - The following changes rework my patch of 2002-02-06 which - added command remapping by entering the commands directly into - the keymaps. Now, command remapping uses an explicit `remap' - prefix in the keymaps, i.e. [remap COMMAND]. + * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined. - * keymap.c (Qremap, remap_command_vector): New variables. - (is_command_symbol): Remove function. - (Fdefine_key): No longer accept a symbol for KEY. - Added validation of [remap COMMAND] argument for KEY. - The DEF is no longer required to be a symbol when remapping a command. - (Fremap_command): New function to remap command through keymaps. - (Flookup_key): Perform command remapping initiated by - Fremap_command directly for speed. - (Fkey_binding): Use Fremap_command for command remapping. - (where_is_internal): Handle new command remapping representation. - (syms_of_keymap): Intern Qremap, initialize remap_command_vector, - staticpro them. Defsubr Fremap_command. +2007-12-01 Richard Stallman - * keymap.h (Fremap_command): Declare extern. - (is_command_symbol): Remove extern. + * search.c (syms_of_search) : Doc fix. - * keyboard.c (command_loop_1): Use Fremap_command for command - remapping; now try command remapping for all symbols. +2007-11-30 Jason Rumney -2002-02-23 Eli Zaretskii + * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window. + (w32con_reset_terminal_modes): Clear screen buffer. + (w32_face_attributes): Don't use color indexes that are out of range. + Only reverse the default colors. - * coding.h (run_pre_post_conversion_on_str): Add prototype. + * xfaces.c (map_tty_color, tty_color_name): Remove special case for + WINDOWSNT. -2002-02-23 Jason Rumney + * w32console.c, w32term.h (vga_stdcolor_name): Remove. - * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion - on the string before encoding it. - (Fw32_get_clipboard_data): Run post-read-conversion on the string - after decoding it. +2007-11-29 Jason Rumney - * w32fns.c (w32_wnd_proc) : Fix last change. + * w32console.c: Leave HAVE_WINDOW_SYSTEM defined. + (w32_face_attributes): Use Vtty_defined_color_alist to determine + if the terminal colors are initialized. + (unspecified_fg, unspecified_bg): Remove unused declarations. -2002-02-23 Pavel Jan,Am(Bk +2007-11-29 Andreas Schwab - * w32term.c (enter_timestamp): Remove unused static variable to - prevent warning. + * keyboard.c (apply_modifiers): Fix typo. - * xterm.c (enter_timestamp): Put in #if 0 to prevent warning. +2007-11-29 Richard Stallman -2002-02-23 Eli Zaretskii + * keymap.c (Fcurrent_local_map): Doc fix. - * w16select.c (Fw16_get_clipboard_data): Fix last change. +2007-11-28 Petr Salinger (tiny change) - * xselect.c (selection_data_to_lisp_data): Fix last change. + * s/gnu-kfreebsd.h: New file. -2002-02-22 Jason Rumney +2007-11-28 Stefan Monnier - * w32term.h (struct w32_output): New member menu_command_in_progress. + * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): + Don't cast redundantly. - * w32menu.c (menubar_selection_callback): Free the menu and - clear the menu_command_in_progress flag. + * keyboard.c (KEY_TO_CHAR): New macro. + (parse_modifiers, apply_modifiers): Accept integer arguments. + (read_key_sequence): Use them to unify the "shift->unshift" mapping + for chars and symbol keys. + After doing such remapping, apply function-key-map again. - * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize. - (menu_free_timer): New variable. - (MENU_FREE_ID, MENU_FREE_DELAY): New constants. - (w32_wnd_proc) : Handle menu_free_timer. - : Delay before freeing menu. Do nothing if a - menu command is in progress. - : Set the menu_command_in_progress flag. - Kill any menu_free_timer that is running. +2007-11-27 Dan Nicolaescu - * w32term.c (w32_text_out): Renamed from W32_TEXTOUT. - Call ExtTextOutA rather than ExtTextOut. + * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not + compiled anymore. -2002-02-22 Eli Zaretskii +2007-11-26 Andreas Schwab - * puresize.h (BASE_PURESIZE): Increase to 755000. + * process.c (list_processes_1): Fix indentation level of the + command column. -2002-02-22 Eli Zaretskii +2007-11-23 Andreas Schwab - * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion - on the string before encoding it. - (Fw16_get_clipboard_data): Run post-read-conversion on the string - after decoding it. + * editfns.c (Fformat): Handle %c specially since it requires the + argument to be of type int. -2002-02-22 Eli Zaretskii +2007-11-23 Markus Triska - Support for ICCCM Extended Segments in X selections: + * emacs.c (main): Call init_editfns before init_process, since + init_process sets Vprocess_connection_type depending on OS release - * xselect.c : New variable. - (syms_of_xselect): Intern and staticpro it. - (selection_data_to_lisp_data): Run post-read-conversion on decoded - selection text. - (lisp_data_to_selection_data): If next-selection-coding-system is - compound-text-no-extensions, set the type of selection to be - compound-text. +2007-11-22 Stefan Monnier - * xterm.h (x_encode_text): Update prototype. + * data.c (do_symval_forwarding): Use same code as in find_symbol_value. + (find_symbol_value): Use do_symval_forwarding. - * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all - callers changed. If SELECTIONP is non-zero, run the - pre-write-conversion function before encoding the selection text. + * data.c (set_internal): Set the value in the `cons-cell' (for + Buffer_Local_values) not only for frame-local variables. -2002-02-21 Kim F. Storm +2007-11-22 Andreas Schwab - * frame.c (syms_of_frame): Change mouse-highlight default to t. + * data.c (Fnumber_to_string): Add cast when passing EMACS_INT + values to sprintf. + * keymap.c (Fsingle_key_description): Likewise. + * print.c (print_object): Likewise. - * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: - Correct composing of language-change event. +2007-11-22 Jan Dj,Ad(Brv -2002-02-20 Kim F. Storm + * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if + file for image is nil. - * keyboard.c (menu_bar_items): Don't include keymap or local-map - bindings at PT when building menu (the menu is not updated often - enough for this to work reliable). - (tool_bar_items): Likewise. - (current_active_maps): Removed unused (and buggy) function. +2007-11-22 Dan Nicolaescu -2002-02-20 Pavel Jan,Am(Bk + * term.c: Include stdarg.h. + (fatal): Implement using varargs. + * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change). - * xfns.c (gif_load): Use correct width and height for GIF images. +2007-11-21 Stefan Monnier -2002-02-19 Eli Zaretskii + * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field. + * data.c (store_symval_forwarding): Get type from buffer_objfwd. + Update call to buffer_slot_type_mismatch. + * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove. + (buffer_slot_type_mismatch): Update. + * buffer.c (buffer_local_types): Remove. + (buffer_slot_type_mismatch): Get the symbol and type as arguments. + (defvar_per_buffer): Set the type in the buffer_objfwd. - * floatfns.c (Fatan): Accept an optional second arg and call - atan2 if passed 2 args. +2007-11-21 Jason Rumney -2002-02-18 Jason Rumney + * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font): + CreateFileMapping returns NULL on failure. - * w32term.c (glyph_rect): Determine the row and glyph more precisely. +2007-11-21 Stefan Monnier -2002-02-17 Jason Rumney + * search.c (Fset_match_data): Remove the `evaporate' feature. + (unwind_set_match_data): Don't use the `evaporate' feature. - * w32term.c (x_autoselect_window_p): New variable. - (syms_of_w32term): DEFVAR_BOOL and initialize it. - (note_mouse_movement): Use it. +2007-11-21 Jason Rumney - * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero. + * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type. - * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p. + * w32console.c (w32con_write_glyphs): Remove unused variables. - * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth): - New variables. - (syms_of_w32fns): Intern and staticpro them. - (x_frame_parms) <"fullscreen">: New parameter. - (x_fullscreen_move, x_set_fullscreen): New functions. - (x_set_frame_parameters): Support Qfullscreen. - (x_real_positions): Save x/y_pixels_diff frame params. - (x_figure_window_size): Support full-screen frames. - (Fx_create_frame): Default the fullscreen parameter. - - * w32term.c (x_check_fullscreen, x_check_fullscreen_move) - (x_fullscreen_adjust): New functions. - (w32_read_socket) : Don't resize to - fullscreen. Call x_check_fullscreen_move, and set the - want_fullscreen member of output_data.w32 - : Call x_check_fullscreen. - - * w32term.h: New enum for FULLSCREEN_* constants. - (struct w32_output): New members want_fullscreen, x_pixels_diff, - y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff. - (x-fullscreen-adjust): New prototype. - -2002-02-17 Kim F. Storm - - * frame.c (Vmouse_highlight): New variable. - (syms_of_frame): DEFVAR_LISP it. - - * frame.h (Vmouse_highlight): Declare extern. - - * xterm.h (struct x_display_info): Add mouse_face_hidden. - - * xterm.c (disable_mouse_highlight): Removed variable. - (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil. - (show_mouse_face): Don't show highlight if mouse_face_hidden is set. - (XTread_socket): Turn mouse_face_hidden off after mouse movement, - and on after keyboard input. - (x_term_init): Initialize mouse_face_hidden. - - * msdos.h (struct display_info): Add mouse_face_hidden. - - * msdos.c (disable_mouse_highlight): Removed variable. - (show_mouse_face): Don't show highlight if mouse_face_hidden is set. - (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil. - (internal_terminal_init): Initialize mouse_face_hidden. - (dos_rawgetc): Turn mouse_face_hidden off after mouse movement, - and on after keyboard input. - - * w32term.h (struct w32_display_info): Add mouse_face_hidden. - - * w32term.c (disable_mouse_highlight): Removed variable. - (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil. - (show_mouse_face): Don't show highlight if mouse_face_hidden is set. - (w32_read_socket): Turn mouse_face_hidden off after mouse movement, - and on after keyboard input. - (w32_initialize_display_info): Initialize mouse_face_hidden. - -2002-02-16 Eli Zaretskii - - * msdos.c (last_mouse_window): New variable. - (dos_rawgetc): Fix last change--if the mouse is in the same window - as recorded in last_mouse_window, don't select this window. - - * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el. - - * msdos.c (x_autoselect_window_p): New variable. - (syms_of_msdos): Defvar it. - (dos_rawgetc): If x_autoselect_window_p is set, select the window in - which the last mouse movement occured, unless it is already selected. - - * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step): - New variables. - (syms_of_xdisp): DEVFAR them. - (hscroll_window_tree): Use automatic_hscroll_margin and - Vautomatic_hscroll_step to compute the amount of window scrolling. +2007-11-20 Dan Nicolaescu -2002-02-16 Pavel Jan,Am(Bk + * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor. - * xterm.c (x-autoselect-window): New variable. - (note_mouse_movement): Use it. + * s/darwin.h (MULTI_KBOARD): Remove. - * keyboard.c: Do not include "systime.h" twice. + * macfns.c (x_create_tip_frame, Fx_create_frame) + (x_create_tip_frame): Don't deal with MULTI_KBOARD. -2002-02-15 Andreas Schwab +2007-11-19 Stefan Monnier - * puresize.h (PURESIZE_RATIO): Increase to 9/5. + * buffer.c (Fbuffer_local_value): Remove redundant test. + (swap_out_buffer_local_variables): Swap out binding in `buffer' rather + than in `current-buffer' to match the comment. + Do the swap using swap_in_global_binding. - * alloc.c (NSTATICS): Increase to 1280. + * data.c (store_symval_forwarding, set_internal): + * eval.c (specbind): Remove dead code. -2002-02-15 Kai Gro,A_(Bjohann + * coding.c (detect_coding, Fupdate_coding_systems_internal): + * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE + Since we do not want to see internal Lisp_*fwd objects here. - * alloc.c (NSTATICS): Bump to 1026. +2007-11-18 Jan Dj,Ad(Brv - * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym) - (Vx_super_keysym): New variables. - (syms_of_xterm): DEFVAR_LISP them. - (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the - variables to determine which keys to use for the various modifiers. + * sysdep.c (init_system_name): Use getaddrinfo if available. -2002-02-13 Kim F. Storm + * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click) + (x_scroll_bar_note_movement): start, end, with, height in struct + scroll_bar are integers and not Lisp_Object, so remove XINT for them. - * window.c (Vmode_line_in_non_selected_windows): Removed. - (mode_line_in_non_selected_windows): New variable. - (syms_of_window): DEFVAR_BOOL it. +2007-11-17 Dan Nicolaescu - * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): - Use mode_line_in_non_selected_windows. - (mode_line_in_non_selected_windows): Declare extern. - (Vmode_line_in_non_selected_windows): Removed extern. + * puresize.h (BASE_PURESIZE): Increase to 1190000. -2002-02-13 Richard M. Stallman +2007-11-16 Stefan Monnier - * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector) - (Fthis_single_command_keys, Fthis_single_command_raw_keys) - (Fclear_this_command_keys): Doc fixes. + * buffer.h (struct buffer): Move `undo_list' back to before `name'. + This undoes Richard's change of 14-Oct-2002. + + * alloc.c (allocate_other_vector): + * lisp.h (allocate_other_vector): Remove. + + * window.c (struct save_window_data): Move non-lisp data to the end + and make it `int' rather than Lisp_Object. + (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR. + Done wrap/unwrap integer values. + (Fset_window_configuration, compare_window_configurations): + Update use of fields to their new types. + + * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data. + Turn integer fields into `int'. Merge x_window_low and x_window_high. + (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW) + (SET_SCROLL_BAR_X_WINDOW): Remove. + (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET): + Access the new x_window field directly. + * xterm.c (x_scroll_bar_create): Use a pseudovector. + Don't wrap/unwrap integers into Lisp_Objects. + (XTset_vertical_scroll_bar, x_scroll_bar_handle_click) + (x_scroll_bar_report_motion): + Don't wrap/unwrap integers into Lisp_Objects. + (x_term_init): Use SDATA. + (x_window_to_scroll_bar, x_create_toolkit_scroll_bar) + (x_scroll_bar_set_handle, x_scroll_bar_remove) + (XTset_vertical_scroll_bar, x_scroll_bar_expose) + (x_scroll_bar_report_motion, x_scroll_bar_clear): + * xfns.c (x_set_background_color): + * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb): + Access the new x_window field directly. + + * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h. + (allocate_pseudovector): Make non-static. + + * lisp.h (enum pvec_type): New tag PVEC_OTHER. + (allocate_pseudovector): Declare. + (ALLOCATE_PSEUDOVECTOR): Move from alloc.c - * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face) - (update_face_from_frame_parameter): Increment face_change_count - and windows_or_buffers_changed to force redisplay using changed faces. +2007-11-15 Andreas Schwab - * xdisp.c (QCpropertize): New variable. - (mode_line_proptrans_alist): New variable. - (display_mode_element): New arg PROPS; all calls changed. - Implement this, for strings. - Handle literal output of strings by sharing the - main-line code for strings, using local var `literal'. - Handle :propertize feature. - (syms_of_xdisp): Initialze and staticpro QCpropertize and - mode_line_proptrans_alist. + * editfns.c (Fformat): Correctly format EMACS_INT values. + Also take precision into account when formatting an integer. -2002-02-11 Kim F. Storm + * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration. - * window.c (Vmode_line_in_non_selected_windows): New variable. - (syms_of_window): DEFVAR_LISP it. +2007-11-15 Stefan Monnier - * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro. - (CURRENT_MODE_LINE_FACE_ID): Use it. - (Vmode_line_in_non_selected_windows): Declare extern. + * keyboard.c (Fevent_symbol_parse_modifiers): New function. + (syms_of_keyboard): Defsubr it. - * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3 - to get mode line face. + * data.c (swap_in_global_binding): Fix longstanding bug where + store_symval_forwarding was not called with the right second argument, + thus causing objfwd-ing from being dropped. -2002-02-11 Eli Zaretskii +2007-11-14 Juanma Barranquero - * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these - variables; cus-start.el doesn't need them anymore. + * macfns.c (Fx_create_frame, Fx_display_pixel_width) + (Fx_display_pixel_height, Fx_display_planes) + (Fx_display_color_cells, Fx_server_max_request_size) + (Fx_server_vendor, Fx_server_version, Fx_display_backing_store) + (Fx_display_visual_class, Fx_display_save_under): + * w32fns.c (Fx_create_frame, Fx_display_pixel_width) + (Fx_display_pixel_height, Fx_display_planes) + (Fx_display_color_cells, Fx_server_max_request_size) + (Fx_server_vendor, Fx_server_version, Fx_display_screens) + (Fx_display_mm_height, Fx_display_mm_width) + (Fx_display_backing_store, Fx_display_visual_class) + (Fw32_select_font, Fx_display_save_under): + * xfns.c (Fx_create_frame, Fx_display_pixel_width) + (Fx_display_pixel_height, Fx_display_planes) + (Fx_display_color_cells, Fx_server_max_request_size) + (Fx_server_vendor, Fx_server_version, Fx_display_backing_store) + (Fx_display_save_under): Fix typos in docstrings. -2002-02-09 Kim F. Storm +2007-11-14 Juanma Barranquero - * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap - reduction. This fixes a display problem where stray newlines were - inserted in the window (corrected by C-l). Clarified code (IMHO). + * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values + corresponding to deleted entries; they are an implementation detail. + (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits): + Remove variables. + (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames) + (w32_pass_multimedia_buttons_to_system, w32_strict_painting) + (Vw32_charset_info_alist, w32_to_x_color, w32_init_class) + (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers) + (w32_grabbed_keys, cancel_all_deferred_msgs): Make static. + (Fw32_define_rgb_color, Fw32_load_color_file) + (syms_of_w32fns) : + Fix typos in docstrings. + (Fx_server_version): Reflow docstring. + (Fw32_shell_execute): Doc fixes. -2002-02-09 Eli Zaretskii +2007-11-13 Juanma Barranquero - * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change. + * w32fns.c (Fw32_register_hot_key): Don't try to register hot key + if w32_parse_hot_key returned nil. - * xdisp.c (display_mode_lines): Fix last change. +2007-11-10 Stefan Monnier -2002-02-09 Jason Rumney + * xdisp.c (load_overlay_strings): Fix copy&paste typo. - * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows - match each other. - (w32_load_system_font): Prevent Cleartype fonts from loading. - (Fx_show_tip): Ensure tip frames are above other topmost windows. +2007-11-09 Jason Rumney -2002-02-09 Kim F. Storm + * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define. - * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro. - (CURRENT_MODE_LINE_HEIGHT): Use it. - (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID. + * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT. - * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID. - (pos_visible_p, handle_face_prop): Likewise. - (display_mode_lines): Likewise, but for the real selected window. - (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID. + * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]: + Remove W32_SCROLL_BAR_CLICK_EVENT. - * xfaces.c (Qmode_line_inactive): New face variable for mode-line - in non-selected windows. - (realize_basic_faces): Realize it. - (syms_of_term): Intern and staticpro it. + * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise. + Add MULTIMEDIA_KEY_EVENT. -2002-02-08 Kim F. Storm + * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys. + (lispy_multimedia_keys) [WINDOWSNT]: New array. + (make_lispy_event) [WINDOWSNT]: Use it to translate + MULTIMEDIA_KEY_EVENT. - * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): - Changed mail addresses to emacs-devel@gnu.org. + * w32term.h (WM_APPCOMMAND): Define if not already. + (GET_APPCOMMAND_LPARAM): Likewise. -2002-02-08 Eli Zaretskii + * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from + WM_APPCOMMAND. - * fileio.c (Fsubstitute_in_file_name): If the file name includes - ~user, and there's no such user, don't discard everything before ~user. + * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option. + (syms_of_w32fns): Export and initialize it. + (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket. - * floatfns.c (Fround): Doc fix. +2007-11-09 Chong Yidong -2002-02-08 Pavel Jan,Am(Bk + * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE + twice. - * sysdep.c (init_system_name): Put unused variable `p' in #if 0. + * xdisp.c (handle_face_prop): Fix last change. -2002-02-07 Stefan Monnier +2007-11-09 Richard Stallman - * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c). + * xdisp.c (handle_face_prop): Test for strings that came from overlays, + not just for after-strings and before-strings. + Call face_for_overlay_string and pass the overlay to it. + (handle_display_prop): Determine whether property came from an overlay. + Pass OVERLAY arg to handle_single_display_spec. + (handle_single_display_spec): New arg OVERLAY sets it->from_overlay. + (load_overlay_strings): Fill in it->string_overlays. + (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays. -2002-02-07 Kim F. Storm + * xfaces.c (face_for_overlay_string): Function renamed from + face_at_buffer_position_no_overlays, and add arg OVERLAY. - * keymap.c (where_is_internal): Only check whether definition is - remapped if it fulfills is_command_symbol. + * dispextern.h (struct it): New elt string_overlays. + New elt from_overlay, also in stack. + Rearrange a few elements. + (face_for_overlay_string): Decl renamed from + face_at_buffer_position_no_overlays, and add argument. -2002-02-07 Andreas Schwab +2007-11-09 Richard Stallman - * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k. + * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays + to get the base face for an overlay string. - * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4. + * dispextern.h (face_at_buffer_position_no_overlays): Add decl. -2002-02-06 Kim F. Storm + * xfaces.c (face_at_buffer_position_no_overlays): New function. - * keymap.c (Fdefine_key): Allow symbol as KEY argument for - defining command remapping. Doc updated. - (Flookup_key): Remap command through keymap if KEY is a symbol. - (is_command_symbol): New function. - (Fkey_binding): Use it. New optional argument NO-REMAP. - Doc updated. Callers changed. Perform command remapping via - recursive call unless that arg is non-nil. - (where_is_internal): New argument no_remap. Callers changed. - Call recursively to find original key bindings for a remapped - comand unless that arg is non-nil. - (Fwhere_is_internal): New optional argument NO-REMAP. - Doc updated. Callers changed. Pass arg to where_is_internal. + * xdisp.c (handle_stop): Move some code out of loop. - * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype. - (is_command_symbol): Add prototype. +2007-11-09 YAMAMOTO Mitsuharu - * keyboard.c (Vthis_original_command): New variable. - (syms_of_keyboard): DEFVAR_LISP it. - (command_loop_1): Set it, and perform command remapping. + * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes): + Fix conversion from Lisp object to ATSUFontID. -2002-02-06 Pavel Jan,Am(Bk +2007-11-09 Jason Rumney - * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally. + * xdisp.c (Fformat_mode_line): Do nothing when noninteractive. -2002-02-06 Jason Rumney +2007-11-09 YAMAMOTO Mitsuharu - * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change. + * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge): + Don't assume regions are aligned to page boundary. + (print_load_command_name): Add LC_UUID if defined. -2002-02-06 Eli Zaretskii +2007-11-09 Richard Stallman - * charset.c (get_charset_id): Use if-else instead of ?:. + * emacs.c (syms_of_emacs) : Reflow docstring. -2002-02-06 Richard M. Stallman +2007-11-07 Jason Rumney - * filelock.c (S_ISLNK): Define if not defined. + * s/windows95.h: Remove. -2002-02-03 Richard M. Stallman +2007-11-06 Jan Dj,Ad(Brv - * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg. + * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and + abort with a message on unhandled store_type values. - * lread.c (read1): Redesign strategy for force_multibyte and - force_singlebyte. Now is_multibyte records whether read_buffer - is multibyte. Encountering any multibyte character makes it so. +2007-11-01 Jan Dj,Ad(Brv -2002-02-02 Stefan Monnier + * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h: + Remove HAVE_X11R5 and HAVE_X11R4. - * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and - with the same sequence, map that sequence to f10 rather than f0. +2007-11-01 Dan Nicolaescu -2002-02-03 Andreas Schwab + * Makefile.in: Remove references to sunfns.c and sunfns.o. - * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the - latter never being defined on GNU/Linux. +2007-11-01 Johan Bockg,Ae(Brd -2002-02-02 Eli Zaretskii + * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string): + Don't set s->stippled_p here, since it has already been set by + x_set_glyph_string_gc from x_draw_glyph_string. - * xfaces.c (realize_default_face): Don't set the weight and slant of - the default face to Qnormal, unless these attributes are unspecified. +2007-11-01 Dan Nicolaescu -2002-02-02 Pavel Jan,Am(Bk + * sunfns.c: Remove file - * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]: - Call cancel_hourglass unconditionally. + * m/sun386.h: + * m/sun2.h: + * m/sparc.h: Remove Sun windows code. - * eval.c (Fsignal): Remove duplicated declaration of - the variable `display_hourglass_p'. +2007-10-31 Stefan Monnier -2002-01-31 Richard M. Stallman + * keyboard.c (syms_of_keyboard): Initialize the initial_kboard. + (init_keyboard): Set current_kboard's window-system to nil. + (tty_read_avail_input): Typo. + * frame.c (make_initial_frame): Don't initialize the initial_kboard. - * editfns.c (region_limit): Nicer error message. +2007-10-31 Dan Nicolaescu - * coding.c (decode_composition_emacs_mule): - Give up if NCOMPONENT gets too large to index `component'. + * s/usg5-4.h: + * s/usg5-3.h: + * s/ptx.h: + * m/is386.h: + * m/ibmps2-aix.h: + * Makefile.in: Remove all mentions of X10 - * callint.c (check_mark): New arg to specify clearer error message. - Callers changed. + * dispnew.c (syms_of_display): Don't mention version 10. -2002-01-27 Richard M. Stallman +2007-10-28 Juanma Barranquero - * minibuf.c (Fcompleting_read): Doc fix. + * makefile.w32-in (OBJ1): Remove abbrev.$(O). + ($(BLD)/abbrev.$(O)): Remove. -2002-01-27 Pavel Jan,Am(Bk +2007-10-28 Stefan Monnier - * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function) - (Fread_variable, Fread_buffer, minibuffer-completion-confirm): - Fix doc-strings. + Rewrite abbrev.c in Elisp. + * image.c (Qcount): Don't declare as extern. + (syms_of_image): Initialize and staticpro `Qcount'. + * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions. + * emacs.c (main): Don't call syms_of_abbrev. + * Makefile.in (obj): Remove abbrev.o. + (abbrev.o): Remove. + * abbrev.c: Remove. -2002-01-26 Richard M. Stallman +2007-10-26 Martin Rudalics - * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively. + * window.c (window_min_size_2): Don't count header-line. - * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively - and scroll_up_aggressively. +2007-10-26 Dan Nicolaescu -2002-01-26 Pavel Jan,Am(Bk + * frame.h (struct frame): Move all bit fields after the first bit + field to take advantage of the available space. Group all the + chars together to reduce wasted space due to padding. - * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes. +2007-10-26 Juanma Barranquero -2002-01-25 Stefan Monnier + * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings. - * textprop.c (Fnext_property_change, Fnext_single_property_change) - (Fprevious_property_change, Fprevious_single_property_change): - Stay within the narrowed-buffer boundaries. + * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings) + (Vdead, dont_register_blocks, staticvec, staticidx, interval_block) + (n_interval_blocks, init_strings, check_string_bytes, check_sblock) + (init_float, free_float, n_cons_blocks, init_cons, all_vectors) + (n_vectors, symbol_block, symbol_block_index, symbol_free_list) + (n_symbol_blocks, init_symbol, marker_block, marker_free_list) + (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float) + (last_marked, mark_object_loop_halt): Make static. -2002-01-25 Eli Zaretskii + * frame.c (syms_of_frame) : + Fix typo in docstring. - * term.c (Ftty_display_color_cells): New function. - (syms_of_term): Defsubr it. - (Ftty_display_color_cells, Ftty_display_color_p): Change the - argument name to DISPLAY. Doc fix. +2007-10-25 Juanma Barranquero - * dispextern.h: Add prototype for set_tty_color_mode and - tty_setup_colors. + * w32.c (init_environment): Fix tiny memory leak. + (w32_get_resource): Remove unused variable `ok'. -2002-01-24 Jason Rumney +2007-10-25 Stefan Monnier - * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt. - If region left to draw is not what was expected, mark the frame as - garbaged. + Make `window-system' into a keyboard-local variable (rather than + frame-local as done originally by multi-tty). - * w32fns.c (w32_wnd_proc) : Initialize update_rect. - Combine the regions returned by BeginPaint and GetUpdateRect. + * keyboard.h (struct kboard): Add Vwindow_system. + * keyboard.c (init_kboard): Set a default for Vwindow_system. + (mark_kboards): Mark Vwindow_system. -2002-01-23 Jason Rumney + * dispnew.c (syms_of_display) : Declare terminal-local. + (init_display): Don't set the obsolete `window-system' frame-param. - * w32term.c (x_update_window_begin): Only hide caret if - w32_use_visible_system_caret is set. - (x_update_window_end): Only show caret if - w32_use_visible_system_caret is set. - (syms_of_w32term): Handle SystemParametersInfo call failing. + * xterm.c (x_term_init): + * w32term.c (w32_create_terminal): + * term.c (init_tty): Set Vwindow_system. + * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the + multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system. - * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd. + * xfns.c (Fx_create_frame, x_create_tip_frame): + * w32fns.c (Fx_create_frame, x_create_tip_frame): + * macfns.c (Fx_create_frame): + Don't set the obsolete `window-system' frame-param. -2002-01-22 Richard M. Stallman + * frame.h (Qwindow_system): Remove. + * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well. + (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param. - * unexelf.c (unexec): Define n so as to cause compilation error - for the code where people have often written n instead of nn. +2007-10-24 Richard Stallman - * .gdbinit (hookpost-run): Defined. + * frame.c (x_figure_window_size): For fullscreen case, + set USPosition | PPosition without clobbering rest of window_prompting. -2002-01-22 Jan Dj,Ad(Brv + * keyboard.c (Fcurrent_idle_time): Doc fix. - * xfns.c (x_set_frame_parameters): Typo in previous fix corrected. + * print.c (Fwith_output_to_temp_buffer): Doc fix. -2002-01-21 Jan Dj,Ad(Brv +2007-10-23 Stefan Monnier - * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust - if fullscreen is being set. + * process.c (unwind_request_sigio): Only define if __ultrix__. -2002-01-21 Pavel Jan,Am(Bk + * callproc.c (child_setup): Remove spurious *. - * minibuf.c (Fminibuffer_contents) - (Fminibuffer_contents_no_properties, Fread_from_minibuffer) - (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes. + * lisp.h (Fget_text_property): Declare. + (have_menus_p): Declare it here rather than in sys-dep header files. + * macterm.h (have_menus_p): + * msdos.h (have_menus_p): + * xterm.h (have_menus_p): Remove. -2002-01-21 Richard M. Stallman + * data.c (Fmake_variable_buffer_local, Fmake_local_variable) + (Fmake_variable_frame_local): Just check the variable's const-ness + rather than checking nil or t. - * window.c (check_frame_size): Fix minimum height calculation. +2007-10-22 Jason Rumney -2002-01-20 Ken Raeburn + * w32fns.c: Include math.h. + (w32_abort): Declaration moved to nt/config.nt. - * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window - height before comparison. - (WINDOW_WANTS_HEADER_LINE_P): Likewise. + * s/ms-w32.h (HAVE_STDLIB_H): Define. + (abort): Redefinition moved to nt/config.nt. -2002-01-20 Jason Rumney + * m/windowsnt.h: Remove. - * w32term.c (w32_system_caret_width): Remove. - (w32_use_visible_system_caret): New user flag. - (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether - Windows reports a screen reader running. - (x_update_window_begin): Hide the system caret. - (x_update_window_end): Show the system caret. - (x_display_and_set_cursor): Don't draw a cursor when - w32_use_visible_system_caret is set. Do not adjust width. +2007-10-22 Juanma Barranquero - * w32fns.c (w32_visible_system_caret_hwnd): New static variable. - (w32_wnd_proc) : Set it. - : Arrange for system caret to be visible if - the user requests it. Use system default width when creating. - : Handle new messages. + * emacs.c (Fdump_emacs): Fix typo in message. + (syms_of_emacs) : Fix typo in docstring. + : Reflow docstring. - * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET): - New window messages. +2007-10-22 Juri Linkov -2002-01-20 Richard M. Stallman + * minibuf.c: Allow minibuffer default to be a list of default values. + With empty input use the first element of this list as returned default. + (string_to_object) + (read_minibuf_noninteractive): If defalt is cons, set val to its car. + (read_minibuf): If defalt is cons, set histstring to its car. + (Fread_string): If default_value is cons, set val to its car. + (Fread_buffer): If def is cons, use its car. + (Fcompleting_read): If defalt is cons, set val to its car. - * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1. +2007-10-21 Michael Albinus -2002-01-20 Pavel Jan,Am(Bk + * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid. - * doprnt.c (doprnt1): Fix typos in error call. +2007-10-20 Juanma Barranquero -2002-01-20 Eli Zaretskii + * doc.c (Fdocumentation): Check for advice in all cases. - * unexelf.c (unexec) [__sgi]: Support the .got sections. +2007-10-19 Chong Yidong -2002-01-20 Jason Rumney + * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags. - * w32term.c (w32_native_per_char_metric): Don't trust the metrics - that Windows returns. If a double check fails, try to guess how - ExtTextOut is going to act. +2007-10-19 Richard Stallman - * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp - in place of stricmp. - (w32_list_synthesized_fonts): Removed. - (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions. - (struct enumfont_t): New element; list. - (enum_font_cb2): List all style and charset variations of a font. - (Fw32_select_font): New optional argument; include_proportional. - Exclude vertical fonts. Exclude proportional fonts unless - include_proportional is non-nil. - (w32_enable_synthesized_fonts): Change to a boolean. - (Fw32_send_sys_command): Doc fix. + * doc.c (Fdocumentation): Check for and handle an advised function. -2002-01-19 Pavel Jan,Am(Bk +2007-10-19 Juanma Barranquero - * dispnew.c (update_frame): Move the variable `tem' to the block - where it is used. + * process.c (Fset_process_filter): Doc fix. -2002-01-19 Jason Rumney +2007-10-18 Stefan Monnier - * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around - call to face-set-after-frame-default. + * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty + which caused key-translation-map to applied repeatedly (thus breaking + double-mode). -2002-01-18 Richard M. Stallman +2007-10-17 Stefan Monnier - * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1. - (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room. + * xselect.c (x_own_selection, x_handle_selection_clear) + (x_clear_frame_selections): + * w32menu.c (list_of_panes, list_of_items): + * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list): + * textprop.c (validate_plist, interval_has_all_properties) + (interval_has_some_properties, interval_has_some_properties_list) + (add_properties, text_property_list): + * process.c (Fget_buffer_process, list_processes_1, status_notify): + * minibuf.c (Fassoc_string): + * macselect.c (x_own_selection, x_clear_frame_selections) + (Fx_disown_selection_internal): + * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree): + Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r. -2002-01-17 Richard M. Stallman +2007-10-17 Chong Yidong - * window.c (enlarge_window): When exceeding size of parent, - directly delete all the siblings instead of trying to resize it. + * process.c: Link to libs for calling res_init() if available. + (Fmake_network_process): Call res_init() before getaddrinfo or + gethostbyname, if possible. -2002-01-17 Pavel Jan,Am(Bk +2007-10-17 Stefan Monnier - * term.c (set_tty_color_mode): Remove unused variable `tem'. + * lread.c (read1): Set pvectype for char_tables. -2002-01-16 Henrik Enberg + * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY) + (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE): + Add type checks. + (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove. - * lread.c (init_lread): Move the installed-lisp dirs later in the path. + * alloc.c (free_misc): Use XMISCTYPE. + (live_misc_p, gc_sweep): Use Lisp_Misc_Any. -2002-01-16 Kim F. Storm +2007-10-17 Glenn Morris - * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row - is invisible. This can happen if cursor is on top line of a - window, and we switch to a buffer with a header line. + * minibuf.c (Qcompletion_ignore_case): New Lisp_Object. + (syms_of_minibuf): Add Qcompletion_ignore_case. + * dired.c (Qcompletion_ignore_case): Change to external. + (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case. + * fileio.c (Qcompletion_ignore_case): New external Lisp_Object. + (Fread_file_name): Use it rather than intern'ing. - * w32term.c (x_erase_phys_cursor): Ditto. + * coding.c (Qcompletion_ignore_case): New external Lisp_Object. + (Fread_coding_system): Ignore case of user input. -2002-01-16 Pavel Jan,Am(Bk +2007-10-16 YAMAMOTO Mitsuharu - * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of - `dont_resize' only when used. + * xdisp.c (handle_display_prop): Ignore display specs after + replacing one when string text is being replaced. + (handle_single_display_spec): Pretend as if characters with display + property haven't been consumed only when buffer text is being replaced. - * xdisp.c: Remove forgotten extern declaration of `Qimage'. +2007-10-16 Stefan Monnier + + * xfns.c (Fx_create_frame, Fx_display_list): + * window.c (window_fixed_size_p, enlarge_window) + (shrink_window_lowest_first): + * macterm.c (init_font_name_table): + * macfns.c (Fx_create_frame, Fx_display_list): + * lread.c (close_load_descs): + * keyboard.c (read_char_x_menu_prompt): + * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent): + * coding.c (code_convert_region_unwind): Test the type of an object + rather than just !NILP before extracting data from it. + + * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors. + + * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value. + (XMISCANY): New macro. + (XMISCTYPE): Use it. + (struct Lisp_Misc_Any): New type. + (union Lisp_Misc): Use it. + (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit. + * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding) + (find_symbol_value, set_internal, default_value, Fset_default) + (Fmake_variable_buffer_local, Fmake_local_variable) + (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p) + (Flocal_variable_if_set_p, Fvariable_binding_locus): + The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set. + * alloc.c (allocate_buffer): Set the size and tag. + (allocate_misc, mark_maybe_object, mark_object, survives_gc_p): + Use XMISCANY. + (die): Follow the GNU convention for error messages. + * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set. + * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the + tag any more. + (set_buffer_internal_1): + * frame.c (store_frame_param): + * eval.c (specbind): + * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP. -2002-01-15 Eli Zaretskii + * doc.c (Fsnarf_documentation): Simplify. - * xdisp.c (display_mode_element): When computing charpos, depend - on multibyteness of elt, not the text in field. +2007-10-14 Juanma Barranquero -2002-01-15 Pavel Jan,Am(Bk + * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static. + (syms_of_w32term) : Fix typo in docstring. - * buffer.c (Fkill_all_local_variables): - Increment `update_mode_lines' only once. +2007-10-14 Stefan Monnier -2002-01-14 Pavel Jan,Am(Bk + * buffer.c (Fmake_indirect_buffer): Set the buffer's tag. - * lisp.h (adjust_after_replace_noundo) - (Fupdate_coding_systems_internal): Add prototypes. +2007-10-14 Juanma Barranquero - * sound.c (Fplay_sound): Initialize header_size also for :data case. + * eval.c (do_autoload): Don't save autoloads. -2002-01-14 Eli Zaretskii + * data.c (Ffset): Save autoload of the function being set. - Support for the --color command-line argument and tty-color-mode - frame parameter: +2007-10-07 John Paul Wallington - * term.c (tty_default_color_capabilities, tty_setup_colors) - (set_tty_color_mode): New functions. - (term_init): Call tty_default_color_capabilities. - (Qtty_color_mode_alist): New variable. - (syms_of_term): Intern and staticpro it. + * xfns.c (x_create_tip_frame): Set the `display-type' frame + parameter before setting up faces. - * frame.c (store_frame_param): Call set_tty_color_mode for termcap - frames. - (do_switch_frame): For termcap frames, switch the tty - color mode as specified by the frame's parameters. - (Qtty_color_mode): New variable. - (syms_of_frame): Intern and staticpro it. +2007-10-13 Eli Zaretskii - * emacs.c (USAGE2): Add the --color option. - (standard_args): Ditto. + * ccl.c (Fregister_code_conversion_map): + * keyboard.c (append_tool_bar_item): Reformat last change. -2002-01-13 Jan Dj,Ad(Brv + * lisp.h (eabs): Rename from `abs'. All callers changed. - * xterm.h (struct x_output): New members want_fullscreen, - x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and - y_pixels_outer_diff. - New enum for FULLSCREEN_* constants. - (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget - is NULL. - (x_fullscreen_adjust): Add prototype. +2007-10-05 Dmitry Antipov - * emacs.c (USAGE2): Add the new full-screen arguments. - (standard_args): Ditto. + * buffer.c (add_overlay_mod_hooklist): + * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map): + * fontset.c (make_fontset): + * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item) + (append_tool_bar_item): + * macmenu.c (grow_menu_items): + * w32menu.c (grow_menu_items): + * xmenu.c (grow_menu_items): Use larger_vector. - * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth): - New variables. - (syms_of_xfns): Intern and staticpro them. - (x_frame_parms) <"fullscreen">: New parameter. - (x_fullscreen_move, x_set_fullscreen): New functions. - (x_set_frame_parameters): Support for Qfullscreen. - (x_real_positions): More accurate computation of the frame position. - (x_figure_window_size): Support full-screen frames. - (Fx_create_frame): Default the fullscreen parameter. +2007-10-13 Eli Zaretskii - * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions. - (XTread_socket) : Call x_check_fullscreen. - : Don't resize to fullscreen. - Call x_check_fullscreen_move, and set the want_fullscreen member of - output_data.x. + * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving + selected frame'' on MSDOS). -2002-01-13 Jason Rumney +2007-10-12 Martin Rudalics - * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages - for mice with more than 3 buttons. + * frame.c (Qexplicit_name): New variable. + (x_report_frame_params): Report it in parameter alist. + (syms_of_frame): Intern and staticpro it. - * w32term.c (parse_button): New parameter xbutton. Callers changed. - (w32_read_socket): Handle new "XBUTTON" messages. +2007-10-10 Patrick Mahan (tiny change) - * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option. - (syms_of_w32fns): DEFVAR_BOOL it. - (w32_wnd_proc): Handle new "XBUTTON" messages. + * macfns.c (x_create_tip_frame): Set terminal for frame. -2002-01-13 Pavel Jan,Am(Bk +2007-10-10 Stefan Monnier - * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'. + * frame.c (Qenvironment): Remove. + (syms_of_frame) : Don't initialize. + (Fdelete_frame): Don't treat the `environment' param specially. + * frame.h (Qenvironment): Don't declare. + * callproc.c (set_initial_environment): Don't set unused frame param. -2002-01-13 Andreas Schwab + * frame.c (Fframe_with_environment): Remove. + (syms_of_frame) : Don't declare. - * xterm.c (x_load_font): Never set fonts_changed_p to zero. + * lisp.h (Fframe_with_environment): Don't declare. -2002-01-12 Andreas Schwab +2007-10-10 Juanma Barranquero - * .gdbinit (xbuffer): Remove address operator since data is now a - pointer. + * indent.c (indent_tabs_mode, last_known_column) + (last_known_column_modified): Make static. + (syms_of_indent) : Remove redundant info in docstring. -2002-01-11 Richard M. Stallman +2007-10-10 Katsumi Yamaoka - * insdel.c (adjust_after_replace_noundo): New function. + * puresize.h (BASE_PURESIZE): Increase to 1170000. - * coding.c (code_convert_region): Don't copy old text if undo disabled. +2007-10-09 Jason Rumney -2002-01-09 Jason Rumney + * w32term.c (x_set_window_size): Disable code that attempts to tell + Lisp code about a size change before it actually happens. - * xdisp.c (x_consider_frame_title): Don't count the tooltip frame - when checking for multiple frames. +2007-10-09 Richard Stallman -2002-01-08 Richard M. Stallman + * xdisp.c (handle_invisible_prop): After setting up an ellipsis, + return HANDLED_RETURN. - * window.c (delete_window): Rewrite the code for changing the - selected window to handle the case where WINDOW is not a leaf. +2007-10-08 Martin Rudalics -2002-01-07 Eli Zaretskii + * keyboard.c (kbd_buffer_get_event): Break loop waiting for input + when there's an unread command event. - * process.c (send_process): Set src_multibyte to 1 after the call - top setup_coding_system, not before the call. + * frame.c (focus_follows_mouse): Move here from frame.el to allow + window autoselection act appropriately when leaving selected frame. + (syms_of_frame): Initialize focus_follows_mouse. + * frame.h (focus_follows_mouse): Extern it. + * macterm.c (XTread_socket): When focus_follows_mouse is nil + make SELECT_WINDOW_EVENT only if we don't leave the selected frame. + * msdos.c (dos_rawgetc): Likewise. + * w32term.c (w32_read_socket): Likewise. + * xterm.c (handle_one_xevent): Likewise. + * xdisp.c (syms_of_xdisp): In doc-string of + mouse-autoselect-window mention focus-follows-mouse. -2002-01-07 Jason Rumney +2007-10-08 YAMAMOTO Mitsuharu - * xmenu.c (set_frame_menubar, xmenu_show): - (xdialog_show): Initialize wv->help to Qnil. + * macterm.c (mac_load_query_font): Fix missing return value. + [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap): + Add BLOCK_INPUT. - * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show): - (w32_dialog_show): Initialize wv->help to Qnil. +2007-10-08 Richard Stallman -2002-01-06 Jason Rumney + * xdisp.c (get_window_cursor_type): Implement documented behavior + for cursor-in-non-selected-windows = t. - * xmenu.c (single_submenu): Initialize wv->help to Qnil. +2007-10-08 Jason Rumney - * w32menu.c (w32_menu_display_help): Revert last change. + * w32.c (w32_get_resource): Always close registry keys. - * xmenu.c (menu_highlight_callback): Revert last change. +2007-10-08 Jason Rumney -2002-01-06 Andreas Schwab + * makefile.w32-in (LIBS): Add COMCTL32. - * insdel.c (make_gap_larger): Make sure buffer size does not - overflow range of int. + * w32fns.c (globals_of_w32fns): Init common controls. -2002-01-05 Jason Rumney +2007-10-08 Richard Stallman - * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if - OVERLAPS_P. + * image.c (our_memory_buffer): Rename from omfib_buffer. - * w32menu.c (w32_menu_display_help): Hide any tooltip window. +2007-10-08 Richard Stallman - * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen - to the left or to the right of the pointer, put it against - the left screen edge. - (x_frame_parms): Add missing braces around initializer. + * buffer.c (Foverlays_at): Doc fix. - * w32term.c (x_setup_relief_colors): Don't compute an image's - background color if it doesn't have a Pixmap. - (notice_overwritten_cursor): Don't depend on - output_cursor and updated_area. Compare pixel coordinates with - window's cursor pixel coordinates. - (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): - Call notice_overwritten_cursor with new arg list. - (show_mouse_face): Fix bug setting a row's mouse_face_p flag - unconditionally. - (x_draw_image_relief): Use predefined macro instead of - constant when the value of `tool_bar_button_relief' is negative. +2007-10-08 Stefan Monnier - * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types. + * fns.c (Fplist_put): Preserve uneven tail data. -2002-01-04 Richard M. Stallman +2007-10-08 Peter O'Gorman (tiny change) - * xmenu.c (menu_highlight_callback): Hide any tooltip window. + * termhooks.h (enum event_kind): Remove trailing comma. -2002-01-03 Richard M. Stallman + * frame.h (enum): Remove trailing comma. - * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first. - (Fkey_binding): Try the `keymap' property map first. - (Fdescribe_buffer_bindings): Show `keymap' property bindings before - minor mode bindings. +2007-10-08 Dhuvra Krishnamurthy (tiny change) -2002-01-03 Kim F. Storm + * w32proc.c (delete_child): Don't terminate threads of zombies. - * keyboard.c (read_key_sequence): Fix cast of submaps arg to bcopy. +2007-10-08 Martin Rudalics -2002-01-02 Richard M. Stallman + * keyboard.h (struct kboard): New elt Vlast_repeatable_command. - * keyboard.c (read_key_sequence): Handle the keymap property - before minor mode maps. + * keyboard.c (syms_of_keyboard): Set up new Lisp variable + last-repeatable-command. + (init_kboard): Initialize Vlast_repeatable_command. + (command_loop_1): Set it to real_this_command unless that was + bound to an input event. + (mark_kboards): Mark it. - * editfns.c (Fformat): Update thissize from field_width - based on the actual width, in the string case. +2007-10-08 Richard Stallman -2002-01-01 Pavel Jan,Am(Bk + * eval.c (condition-case): Doc fix. - * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment - when used as truth value to prevent gcc warnings. +2007-10-08 Masatake YAMATO - * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c, - * w32proc.c: Include . + * xfaces.c (tty_supports_face_attributes_p): Fix code + for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code + was copied and not edited. -2002-01-01 Andreas Schwab +2007-10-09 Stefan Monnier + + Add new `input-decode-map' keymap and use it for terminal + escape sequences. + * keyboard.h (struct kboard): Add Vinput_decode_map. + Remove Vlocal_key_translation_map. + * keyboard.c (read_key_sequence): Add support for input-decode-map. + (init_kboard): Init input-decode-map. + Replace local-key-translation-map back with key-translation-map. + (syms_of_keyboard): Declare input-decode-map. + Remove local-key-translation-map. Update docstrings. + (mark_kboards): Mark Vinput_decode_map. + Don't mark Vlocal_key_translation_map. + * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map. + Replace local-key-translation-map back with key-translation-map. + * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN): + Bind in input-decode-map rather than function-key-map. + + * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore. + This was made redundant by the previous introduction of XSETPVECTYPE. - * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int, - not EMACS_INT, to make them compatible with DEFVAR_INT. - * lisp.h (max_specpdl_size): Adjust declaration. +2007-10-09 Richard Stallman -2002-01-01 Richard M. Stallman + * image.c (free_bitmap_record): Rename from Free_Bitmap_Record. - * print.c (print_object): Test print_escape_nonascii only for - unibyte strings. - (PRINTPREPARE): Once again bind Qprint_escape_nonascii - when outputting to a multibyte buffer. +2007-09-29 Richard Stallman -2001-12-29 Richard M. Stallman + * eval.c (internal_condition_case_2, internal_condition_case_1) + (internal_condition_case): Reenable abort if x_catching_errors () + to see if that really happens and why. - * print.c (print_object): In multibyte string, use hex escapes. - Use octal only for unibyte strings. - (PRINTPREPARE): Don't ever set Qprint_escape_nonascii. +2007-10-06 Andreas Schwab - * lread.c (read_escape): New arg BYTEREP for reporting whether - escape forces unibyte or multibyte. - (read1): When reading a string, take note of that info. + * fileio.c (Fwrite_region): Ignore EINVAL error from fsync. -2001-12-29 Ken Raeburn +2007-10-04 Juanma Barranquero - * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero - comparison to test lisp value returned by Fget. + * image.c (syms_of_image) : Fix typo in docstring. -2001-12-29 Richard M. Stallman +2007-10-03 Stefan Monnier - * lisp.h (max_specpdl_size): Add declaration. + * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used. - * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message. +2007-10-02 Stefan Monnier - * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key. - Handle modifier bits. Correct typo in error message. + * window.h (struct window): + * window.c (struct save_window_data, struct saved_window): + * termhooks.h (struct terminal): + * process.h (struct Lisp_Process): + * frame.h (struct frame): + * buffer.h (struct buffer): + * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table) + (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table): + The size field of (pseudo)vectors is now unsigned. + (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly. -2001-12-28 Richard M. Stallman + * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end. + Turn `count' into an integer. - * abbrev.c: Use the plist of an abbrev for multiple params if nec. - (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev. - (Fdefine_global_abbrev, Fdefine_mode_abbrev): - Update calls to Fdefine_abbrev. - (write_abbrev): Update for changed data format. - Don't list "system" abbrevs. - (Fexpand_abbrev): Update use count with new data format. - (describe_abbrev): Update for changed data format. - (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG. + * fns.c (make_hash_table, hash_put, hash_remove, hash_clear) + (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count): + * print.c (print_object) : `count' is an int. + * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR. + (mark_object) : Use mark_vectorlike. - * config.in (HAVE_MBSINIT): Add #undef. + * alloc.c (allocate_pseudovector): New fun. + (ALLOCATE_PSEUDOVECTOR): New macro. + (allocate_window, allocate_terminal, allocate_frame) + (allocate_process): Use it. + (mark_vectorlike): New function. + (mark_object) : Use it. + (mark_terminals): Use it. + (Fmake_bool_vector, Fmake_char_table, make_sub_char_table) + (Fmake_byte_code): Use XSETPVECTYPE. - * strftime.c (mbsinit): Define as no-op if not available. + * frame.c (Fframe_parameters): Minor simplification. - * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen. - (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE. + * insdel.c (adjust_markers_for_insert): Generalize assertion checks. - * keymap.c (Flookup_key): Error message if key has wrong data type. - (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc. - (exclude_key): New variable. + * marker.c (Fmarker_buffer): Make test for odd case into a failure. -2001-12-28 Gerd Moellmann + * buffer.c (Fget_buffer_create, init_buffer_once): + * lread.c (defsubr): + * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE. - * xterm.c (x_setup_relief_colors): Don't compute an image's - background color if it doesn't have a Pixmap. + * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be + defined differently in the m/*.h files. + (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking. + (XSETPVECTYPE): New macro. + (XSETPSEUDOVECTOR): Use it. - * xterm.c (notice_overwritten_cursor): Don't depend on - output_cursor and updated_area. Compare pixel coordinates with - window's cursor pixel coordinates. - (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): - Call notice_overwritten_cursor with new arg list. - (show_mouse_face): Fix bug setting a row's mouse_face_p flag - unconditionally. + * buffer.c (syms_of_buffer) : Move from abbrev.c. + (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c. - * xdisp.c (try_scrolling) : Add the - height of the cursor line to the amount to scroll. + * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER): + * lread.c (defvar_per_buffer): + * abbrev.c (syms_of_abbrev) : Move to buffer.c. -2001-12-27 Richard M. Stallman + * window.c (candidate_window_p): Only consider as visible frames that + are on the same terminal. - * intervals.c (set_point_both): The position after an invisible, - intangible character is not an acceptable stopping point. + * m/ibms390x.h (MARKBIT): Remove unused macro. -2001-12-27 Ken Raeburn +2007-10-01 Juanma Barranquero - * window.c (enlarge_window): In new preserve_before code, convert - CURBEG from lisp object to integer before doing arithmetic. + * lread.c (Fload): Fix typo in docstring. -2001-12-27 Richard M. Stallman +2007-10-01 Micha,Ak(Bl Cadilhac - * bytecode.c (Fbyte_code): Undo previous change. + * floatfns.c (Fexpt): Manually check for overflows, so that a power + of a non-zero value can't yield zero. -2001-12-26 Kim F. Storm +2007-09-29 Stefan Monnier - * keyboard.c (record_char): Ignore duplicate help-echo events only - separated by mouse-movement. When tracking mouse, only record - first and last mouse-movement event in same window. - Don't record mouse-movement events in keyboard macros. + * term.c (term_clear_mouse_face, term_mouse_highlight) + (tty_write_glyphs_with_face): Only define is HAVE_GPM. -2001-12-25 Richard M. Stallman + * print.c (safe_debug_print): Use XHASH. - * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed. - (Fenlarge_window): New arg PRESERVE_BEFORE. + * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of + Lisp elements such as tags. + (XHASH): New macro. + (EQ): Use it. + (SREF, SSET, STRING_COPYIN): Use SDATA. + (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove. - * bytecode.c (Fbyte_code): Use Fstring_make_unibyte - instead of Fstring_as_unibyte. + * alloc.c (mark_terminal): Remove left-over declaration. + (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE. + (allocate_vectorlike): Remove type argument. Adjust callers. + (live_vector_p, mark_maybe_pointer, valid_lisp_object_p): + Only handle the one remaining MEM_TYPE_VECTORLIKE. -2001-12-22 Pavel Jan,Am(Bk + * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros + to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used. + (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc) + (lisp_align_free, make_interval, allocate_string, allocate_string_data) + (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc): + Use them. - The following changes remove mocklisp support: + * xfaces.c (load_face_font, free_realized_face, clear_face_gcs): + Don't let signal handlers run when a GC is freed but not yet NULL'ed. + (x_free_gc): Remove BLOCK_INPUT since it's now redundant. - * mocklisp.h, mocklisp.c: Files removed. +2007-09-28 Dan Nicolaescu - * lisp.h: Remove declarations of variables `Vmocklisp_arguments', - `Qmocklisp' and `Qmocklisp_arguments'. - Remove prototype of syms_of_mocklisp. + * Makefile.in (lisp, shortlisp): Delete server.elc, it is not + loaded by default. - * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files. +2007-09-28 Stefan Monnier - * callint.c: Do not include mocklisp.h. - (Fcall_interactively): Do not test for mocklisp case. + * term.c (Fgpm_mouse_start): Don't signal an error if already activated + on this tty. + (Fgpm_mouse_stop): Only deactivate if it was activated on this tty. - * eval.c: Remove variables `Qmocklisp_arguments', - `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply. - (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda): - Do not test for mocklisp case. - (Fwhile): Remove unused variable `tem'. - (syms_of_eval): Remove variable `moclisp-arguments'. + * term.c (mouse_face_window): Rename from Qmouse_face_window. + Update all users. + (handle_one_term_event): Use Gpm_DrawPointer. + (Fgpm_mouse_start): Rename from Fterm_open_connection. + Signal errors instead of returning nil. Always return nil. + (Fgpm_mouse_stop): Rename from Fterm_close_connection. + Make it a noop if gpm-mouse was not activated. + (syms_of_term): Update names. - * data.c (wrong_type_argument): Remove mocklisp case. +2007-09-27 Stefan Monnier - * doc.c (Fdocumentation): Remove mocklisp case. + * sysdep.c (narrow_foreground_group, widen_foreground_group): Static. + (init_sys_modes): Check that gpm_tty is the current tty. - * emacs.c (main): Do not call syms_of_mocklisp. + * alloc.c (allocate_terminal): Set the vector size to only count the + lisp fields. Initialize those to nil. + (mark_object): Don't treat terminals specially. + (mark_terminal): Remove. + (mark_terminals): Use mark_object instead. -2001-12-21 Richard M. Stallman + * termhooks.h (struct terminal): Move all Lisp_Object fields traced by + the GC to the beginning. - * xfns.c (compute_tip_xy): If tooltip won't fit on the screen - to the left or to the right of the pointer, put it against - the left screen edge. + * indent.h: + * indent.c: Use EMACS_INT for ints coming from Elisp data. -2001-12-21 Eli Zaretskii + * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions. - * Makefile.in (distclean): Remove .gdbinit if we are building - outside the source tree. +2007-09-25 Jason Rumney -2001-12-19 Eli Zaretskii + * frame.c (make_terminal_frame): Remove special case for WINDOWSNT. - * w32.c (emacs_root_dir): New function. + * w32console.c (create_w32cons_output): Remove. - * msdos.c (emacs_root_dir): New function. + * term.c (init_tty): Call init_sys_modes on WINDOWSNT also. - * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory - of the current drive as the fallback for default_directory. + * sysdep.c (init_sys_modes): Use set_terminal_modes_hook. + (reset_sys_modes): Use reset_terminal_modes_hook. - * dired.c (file_name_completion): Run the elements of - completion-ignored-extensions through ENCODE_FILE. +2007-09-24 Stefan Monnier - * lisp.h (scmp): Remove prototype, since it's now a static - function private to dired.c. + * eval.c (do_autoload): Don't output any message. -2001-12-18 Richard M. Stallman +2007-09-24 Juri Linkov - * dired.c (scmp): Function moved from minibuf.c. - Delete multibyte handling--used only on encoded strings. + * emacs.c (standard_args): Change priority of "--no-splash" + from 40 to 3. Add "--no-desktop" with the same priority. - * minibuf.c (scmp): Function moved to dired.c. +2007-09-23 Dmitry Antipov - * fns.c (merge): Add QUIT call. + * alloc.c (gc_sweep): Check cons cell mark bits word by word + and optimize the case where they are all 1. -2001-12-18 Dave Love +2007-09-23 Johannes Weiner - * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el, - language/georgian.el. + * lisp.h (abs): Define if not defined. + * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c: + Don't define `abs', since it's defined in lisp.h. -2001-12-18 Eli Zaretskii +2007-09-22 Eli Zaretskii - * Makefile.in (lisp, shortlisp): Synchronize with changes to - lisp/Makefile.in:DONTCOMPILE. + * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows. + (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero. + (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty) + (init_tty): Use DEV_TTY instead of "/dev/tty". + [WINDOWSNT]: No need to protect from NAME arg being null. -2001-12-18 Pavel Jan,Am(Bk +2007-09-21 Dan Nicolaescu - * xdisp.c (window_box_height): Do not return negative values. - From Gerd Moellmann . + * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning + up the tty state. - * keyboard.c (head_table): Add missing braces around initializer. +2007-09-21 Stefan Monnier - * term.c (keys): Likewise. + * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead. + (gpm_tty): Change its type. + * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead. + (gpm_tty): Change its type and initialize it. + (Fterm_open_connection): Check the frame is indeed a tty. + Use the new gpm_tty. + (Fterm_close_connection): Use the new gpm_tty. + * keyboard.c (tty_read_avail_input): Use the new gpm_tty. + * sysdep.c (init_sys_modes): term_gpm -> gpm_tty. - * xfns.c (x_frame_parms, visual_classes): Likewise. +2007-09-21 Juanma Barranquero -2001-12-17 Sam Steingold + * w32term.c (x_draw_glyph_string): Use strike_through_color, not + underline_color, to draw strike-through. - * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last - patch (COMPOSING_P, not COMPOSING). +2007-09-21 Stefan Monnier -2001-12-17 Richard M. Stallman + * lisp.h (allocate_terminal): Declare. - * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop. + * window.c (candidate_window_p): Consider frames that are being placed + by the user as somewhere between visible and iconified. + (window_loop): Prefer windows on the current frame. + (Fselect_window): Move the use of select-frame to the beginning so we + can just delegate all the work (it'll call us back anyway). - * coding.c (code_convert_region): Update coding->cmp_data->char_offset - before calling decode_coding. + * frame.c (Qdisplay_environment_variable): + * frame.h (Qdisplay_environment_variable): Delete. - * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal. + * .gdbinit (xbacktrace): Print the arg's address rather than the value + of the first arg, since that value may be a union. - * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding) - instead of only for COMPOSITION_DISABLED. + * callproc.c (child_setup, getenv_internal): Use the frame's `display' + parameter rather than Qdisplay_environment_variable. If all else + fails, look for DISPLAY in initial-environment. -2001-12-16 Richard M. Stallman +2007-09-21 Glenn Morris - * alloc.c (pure_alloc): After overflow, allocate just a small block. + * Makefile.in (emacstool): Remove target. + (lisp, shortlisp): Remove termdev.elc. - * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h. +2007-09-21 Markus Triska - * buffer.h (struct buffer): New field `display_error_modiff'. - * buffer.c (reset_buffer): Initialize `display_error_modiff'. + * xterm.c (x_delete_display): Compile session management conditionally. - * window.c (Frecenter): Clear display_error_modiff field. +2007-09-20 Stefan Monnier - * xdisp.c (redisplay_window_0, redisplay_window_1): New functions. - Call redisplay_window, but not if display_error_modiff field says no. - (redisplay_window_error): New function. - (displayed_buffer): New variable. - (redisplay_internal, redisplay_windows): Call the new functions - instead of redisplay_window directly. + * callproc.c (getenv_internal_1): New function. + (getenv_internal): Use it. + (Fgetenv_internal): Use it. Accept an env-list as optional arg. -2001-12-15 Richard M. Stallman + * terminal.c (get_terminal): Don't accept ints to represent terminals. + (Fterminal_name, Fterminal_parameters, Fterminal_parameter) + (Fset_terminal_parameter): Work with dead terminals as well. + (Fmodify_terminal_parameters): Remove. - * keyboard.c (syms_of_keyboard) : Doc fix. + * terminal.c (get_terminal): Handle terminals. + Make sure the terminal returned is live. + (create_terminal): Use allocate_terminal. + (mark_terminals): Move to alloc.c. + (delete_terminal): Use terminal->name as liveness status. + NULL out fields after freeing their contents. + Don't deallocate the object. + (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object + rather than an int. + (Fterminal_live_p): Accept non-integer arguments. + (Fterminal_list): Return terminal objects rather than an ints. -2001-12-14 Andrew Innes + * alloc.c (enum mem_type): New member for `terminal' objects. + (allocate_terminal): New function. + (mark_maybe_pointer, valid_lisp_object_p, mark_object): + Handle terminals. + (mark_terminal): New fun. + (mark_terminals): Move from terminal.c. - * makefile.w32-in (EMACSLOADPATH): Define. - ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs. - (bootstrap-temacs): Remove dependency on bootstrap-clean. + * term.c (get_tty_terminal): Don't treat output_initial specially. + (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints. + (delete_tty): Use terminal->name as liveness status. -2001-12-13 Eli Zaretskii + * termhooks.h (struct terminal): Make it into a pseudovector. + Remove `deleted' replaced by checking `name's nullness. - * xfns.c (x_report_frame_params): Make the scroll-bar-width frame - parameter have a numeric value all the time. + * print.c (print_object): Handle terminals. - * w32fns.c (x_report_frame_params): Likewise. + * lisp.h (enum pvec_type): New `terminal' pseudovector. + (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros. -2001-12-12 Richard M. Stallman + * frame.c (make_terminal_frame): + * keyboard.c (tty_read_avail_input): + * w32term.c (x_delete_terminal): + * xfns.c (Fx_create_frame, x_create_tip_frame): + * xterm.c (x_delete_terminal): Use terminal->name as liveness status. - * fileio.c (Fwrite_region): Doc fix. +2007-09-20 Glenn Morris - * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500. - (redisplay_internal): Call clear_image_cache only for window terminals. + * process.c (Fmake_network_process): Doc fix. -2001-12-12 Gerd Moellmann +2007-09-19 Jason Rumney - * xdisp.c (move_it_vertically_backward): Change heuristic - for the case that we didn't move far enough initially. + * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument. - * window.c (Frecenter): Simplify computation in the case of window - system frames and ARG < 0; use window_box_height. +2007-09-19 Micha,Ak(Bl Cadilhac -2001-12-11 Richard M. Stallman + * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form): + Fix a C warning regarding variable constness. - * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c: - * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX. + * xterm.c (handle_one_xevent): Fix a C warning. -2001-12-11 Andrew Innes +2007-09-18 Jason Rumney - * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if - arg is negative. + * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame. -2001-12-11 Richard M. Stallman +2007-09-17 Jan Dj,Ad(Brv - * m/hp800.h: Split the __hpux conditional into the parts - that are right for GNU/Linux too and the parts that are not. - Use the former if GNU_LINUX. - (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux. + * gtkutil.c (gdpy_def): New variable. + (xg_initialize): Initialize gdpy_def. + (xg_display_close): If no other display exists, set gdpy_def to a + new connection. - * s/gnu-linux.h (GNU_LINUX): Defined. +2007-09-16 Jan Dj,Ad(Brv -2001-12-11 Pavel Jan,Am(Bk + * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf + when we have no file name for the icon. + (xg_tool_bar_expose_callback): Remove. + (xg_create_tool_bar): Don't connect expose signal to + xg_tool_bar_expose_callback. + (xg_get_file_with_chooser): Move GCPRO1 after declarations. - * macros.c, msdos.c, w16select.c: Change doc-string comments to - `new style' [w/`doc:' keyword]. +2007-09-16 Andreas Schwab -2001-12-10 Jason Rumney + * alloc.c (reset_malloc_hooks): Set the hooks to the previous + values instead of zapping them. - * w32menu.c (w32_free_submenu_strings): Clear menu item struct - before using. +2007-09-14 Glenn Morris -2001-12-09 Pavel Jan,Am(Bk + * fringe.c (init_fringe_bitmap) : Move to file scope. + * gtkutil.c (xg_separator_p) : Move to file scope. + * image.c (our_memory_fill_input_buffer) : Move to file + scope and rename to omfib_buffer for clarity. + (gif_load) : Move to file scope. - * dosfns.c: Change doc-string comments to `new style' [w/`doc:' - keyword]. +2007-09-14 Kenichi Handa -2001-12-09 Eli Zaretskii + * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero. - * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix. +2007-09-13 Jason Rumney - * s/hpux10.h (srand48): Don't undefine. + * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument. -2001-12-09 Jason Rumney + * w32term.c (w32_term_init): Pass rif to w32_init_fringe. - * w32menu.c (_widget_value): Make `help' field a Lisp_Object. - Add comment to explain where the struct came from. - (single_submenu, w32_menu_show): Set `help' field as Lisp_Object. - (add_menu_item): Process pop-up menus first to avoid memory leak. - (add_menu_item, w32_menu_display_help): Use `help' field as - Lisp_Object. - (w32_free_submenu_strings): Only free owner-drawn strings. + * macterm.c (mac_initialize): Don't call mac_init_fringe here. + (mac_term_init): Call here instead, passing rif. -2001-12-09 Pavel Jan,Am(Bk +2007-09-13 Glenn Morris - * COPYING: Moved back. + * s/hpux.h: No longer define `static' as nothing. - * charset.c (char_to_string_1, translate_char, Fdefine_charset): - Add parentheses around && within ||. +2007-09-13 Johan Bockg,Ae(Brd - * indent.c (compute_motion): Likewise. + * callint.c (Fcall_interactively): Remove unused var `fun'. - * intervals.c (merge_properties_sticky): Likewise. +2007-09-12 Romain Francoise - * coding.c (setup_coding_system, shrink_encoding_region) - (Fdecode_sjis_char): Likewise. + * window.c (prefer_window_split_horizontally, display_buffer): + Revert 2007-09-08 change. -2001-12-07 Andreas Schwab +2007-09-12 Glenn Morris - * xdisp.c (display_mode_element): Don't read past end of string if - it ends with '%'. + * alloca.c: Remove file. + * Makefile.in (alloca): Do not undef. + (allocaobj, alloca.o): Remove. + (otherobj): Remove allocaobj. + * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block. + * regex.c (C_ALLOCA): Remove all references and code that was only + used when this was defined. + * search.c (boyer_moore): Remove #ifdef C_ALLOCA block. + * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block. + * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this. - * alloc.c (inhibit_garbage_collection): Don't exceed value an int - can hold. + * Makefile.in (SOURCES, unlock, relock): Delete. - * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): - Rename from most_positive_fixnum and most_negative_fixnum, resp., and - type changed to Lisp_Object. - (syms_of_data): DEFVAR_LISP them. + * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity. + (menu_grab_callback): All uses changed. -2001-12-07 Richard M. Stallman + * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity. + (x_reply_selection_request): All uses changed. - * callproc.c (init_callproc): Set Vdata_directory based on the source - location whenever Emacs was run uninstalled. +2007-09-11 Stefan Monnier -2001-12-06 Paul Eggert + * lread.c (load_warn_old_style_backquotes): Change message to look + better when it appears in the middle of byte-compiler messages. - * config.in (HAVE_WORKING_VFORK): New #undefs. - * process.c (create_process): - Use HAVE_WORKING_VFORK, not HAVE_VFORK. - * m/cnvrgnt.h (HAVE_VFORK): Remove #define. - * m/ibm370aix.h (HAVE_VFORK): Remove #undef. - * m/ibmps2-aix.h (HAVE_VFORK): Remove #define. - * m/intel386.h (HAVE_VFORK): Likewise. - * m/mips-siemens.h (HAVE_VFORK): Likewise. - * m/mips.h (HAVE_VFORK): Likewise. - * s/freebsd.h (vfork): Remove #define. - * s/lynxos.h (HAVE_VFORK): Remove #undef. - * s/usg5-4-2.h: Fix comment about vfork. +2007-09-10 Dan Nicolaescu -2001-12-06 Richard M. Stallman + * s/darwin.h (MULTI_KBOARD): Only define for Carbon. - * s/hpux10.h (random): Add undef. - (HAVE_RANDOM): Define it just once. + * xterm.c (x_create_terminal): Add comment. -2001-12-06 Stefan Monnier + * term.c (clear_tty_hooks, set_tty_hooks): Add comments. - * eval.c: Undo last change: the standard syntax is not wanted. +2007-09-10 Richard Stallman -2001-12-06 Eli Zaretskii + * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME. - * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the - scroll bars of the frame before deleting the frame itself. If the - frame has a widget, delete the frame with XtDestroyWidget, and do - not call XDestroyWindow before that. +2007-09-10 Micha,Ak(Bl Cadilhac -2001-12-06 Kim F. Storm + * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'. + (DEFUN): Document `intspec', use it instead of `prompt'. - * xfns.c (x_report_frame_params): Return actual fringe widths. + * eval.c (Fcommandp): Change `->prompt' to `->intspec'. - * w32fns.c (x_report_frame_params): Return actual fringe widths. + * data.c (Finteractive_form): If the interactive specification starts + with a `(', use it as a Lisp form. -2001-12-05 Andrew Innes + * fileio.c (Fset_file_modes): Add an interactive spec that reads a file + name and file modes. - * alloc.c (Fgarbage_collect): Shrink buffer gaps that are - excessively large. + * callint.c (Fcall_interactively): Comment fixes. - * insdel.c (make_gap_larger): New function. - (make_gap_smaller): New function. - (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: - Call make_gap_smaller if arg is negative. +2007-09-10 Stefan Monnier -2001-12-04 Stefan Monnier + * callint.c (Fcall_interactively): Use Finteractive_form also for subrs + and compiled functions. - * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype. - Pass a dummy argument when calling interrupt_signal. - (parse_menu_item): Mark disabled items before checking for empty def. - (read_char_minibuf_menu_prompt): Make safety more visible. - (read_key_sequence): Add a `first_unbound' variable. - Use it to detect C-c ESC ESC ESC ESC ... cases and drop the - unbound prefix as soon as we can detect it. +2007-09-08 Fredrik Axelsson - * doc.c (Fsnarf_documentation): Add prototype. - (get_doc_string): Handle negative arguments. - (Fdocumentation): Use AREF and ASIZE. - Move the calls to get_doc_string to a single place. - Don't confuse an interactive-spec for a docstring reference. - (Fdocumentation_property): Take advantage of the fact that - get_doc_string now ignores the sign of the docstring position. + * window.c (prefer_window_split_horizontally): New variable. + (display_buffer): Consider splitting window horizontally depending + on prefer_window_split_horizontally. - * eval.c: Use standard syntax for usage in docstrings. +2007-09-08 Eli Zaretskii -2001-12-03 Pavel Jan,Am(Bk + * sysdep.c [WINDOWSNT]: Don't include sysselect.h. - * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option. +2007-09-07 Stefan Monnier -2001-12-02 Pavel Jan,Am(Bk + * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking. - * xterm.c (x_draw_image_relief): Use predefined macro instead of - constant when the value of `tool_bar_button_relief' is negative. + * frame.c (x_set_frame_parameters): Check number is positive before + using XFASTINT. -2001-12-02 Richard M. Stallman + * window.c (freeze_window_start): Don't presume selected_window holds + a window object. + (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd. - * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object. - (single_submenu, xmenu_show): Set `help' field as Lisp_Object. +2007-09-07 Angelo Graziosi (tiny change) - * fileio.c (read_non_regular): Delete Fsignal call. + * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN. -2001-12-01 Stefan Monnier +2007-09-07 Stefan Monnier - * lisp.h (run_hook_list_with_args): Undo last change. + * window.c (Vsplit_window_preferred_function): New var. + (Fdisplay_buffer): Use it. + (syms_of_window): Export, and initialize it. -2001-12-01 Gerd Moellmann +2007-09-06 Pixel (tiny change) - * xterm.c (x_draw_fringe_bitmap): Always undo clipping. + * image.c (gif_load): Fix bug: Handle nonexistent colormap. -2001-12-01 Jason Rumney +2007-09-06 Glenn Morris - * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c. + * gtkutil.c (menu_grab_callback) : + * xselect.c (x_reply_selection_request) : Move static + variable to file scope. - * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT) - [!WM_MOUSELEAVE]: Define. +2007-09-06 Stefan Monnier - * w32menu.c (current_popup_menu, get_menu_item_info): - (set_menu_item_info): New vars. - (set_frame_menubar): Doc fix clarifying GC interaction with menus. - (w32_menu_show): Set current_popup_menu. - (add_menu_item): Allocate new strings for owner-drawn menu items - and help strings. - Use owner-draw for disabled menu items again. - (w32_menu_display_help): Ignore owner-drawn items and popup menus. - (w32_free_submenu_strings, w32_free_menu_strings): New functions. + * xdisp.c (redisplay_internal): Make sure Elisp code always sees + consistent values of selected_frame and selected_window. - * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars. - (w32_wnd_proc) : Notice when mouse enters frame. - : Free menu strings. - : Stop tracking mouse. - (x_create_tip_frame): Specify no minibuffer, modeline or fringes. +2007-09-04 Jason Rumney - * w32term.c (w32_read_socket) : Cancel help echo - and mouse face. + * w32console.c (initialize_w32_display): Zero unused hooks. -2001-12-01 Kim F. Storm +2007-09-04 Dan Nicolaescu - The following changes add left-fringe and right-fringe - frame parameters to adjust fringe widths, or remove one or - both fringes. + * term.c (Vsuspend_tty_functions, Vresume_tty_functions) + (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change. - * frame.h (struct frame): Remove trunc_area_pixel_width and - trunc_area_cols fields. - (Qleft_fringe, Qright_fringe): Declare. - (FRAME_RIGHT_FRINGE_WIDTH): New macro. +2007-09-04 Jason Rumney - * frame.c (Qleft_fringe, Qright_fringe): New vars. - (syms_of_frame): Initialize them. + * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible + in w32console.c. Set up input. Remove XXX comments that have been + confirmed as correct. - * window.c (coordinates_in_window): Handle separate left and right - fringe widths. + * s/ms-w32.h (MULTI_KBOARD): Define. - * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width, - and fringe_cols fields. - (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros. - (FRAME_X_FRINGE_COLS): Use fringe_cols field. - (FRAME_X_FRINGE_WIDTH): Use fringes_extra field. - (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field. - (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field. - (x_compute_fringe_widths): Add prototype. + * w32console.c (one_and_only_w32cons): Remove. + (initialize_w32_display): Take terminal argument. - * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to - fill fringe evenly with small dashes. - (x_draw_fringe_bitmap): Clear background if necessary. Align and - clip the new ZV bitmap to avoid jitter between rows. - (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear - background. Don't draw fringe bitmaps if fringe width is zero. - (x_compute_fringe_widths): New function. - (x_new_font, x_set_window_size_1): Use it. + * term.c (init_tty) [WINDOWSNT]: Pass terminal to + initialize_w32_display. + (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too. - * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms. - (x_set_frame_parameters): Process `font' parameter before other - parameters as fringe widths depend on it. - (x_set_fringe_width): New function. - (x_figure_window_size): Use x_compute_fringe_widths. - (Fx_create_frame): Process `left-fringe' and `right-fringe' frame - parameters. + * termhooks.h (enum event_kind) : New event. - * widget.c (set_frame_size): Use x_compute_fringe_widths. - (EmacsFrameSetCharSize): Ditto. + * keyboard.c (discard_mouse_events): Discard it. + (make_lispy_event): Translate it to a lisp event. + (lispy_wheel_names): Add wheel-left and right events. + (syms_of_keyboard): Enlarge wheel_syms. - * w32term.h: Merged changes from xterm.h. - * w32term.c: Merged changes from xterm.c. - * w32fns.c: Merged changes from xfns.c. + * w32fns.c (w32_wnd_proc) : Merge with WM_MOUSEWHEEL. + : Pass new system message to lisp. -2001-11-29 Pavel Jan,Am(Bk + * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't. - * COPYING: Removed. + * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT + from WM_MOUSEHWHEEL. + (w32_read_socket) : Treat as WM_MOUSEWHEEL. -2001-11-29 Dave Love + * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from + terminal. - * coding.c (syms_of_coding) : Give it an - extra extra slot. - (detect_coding_mask): Fix call of detect_coding_iso2022. + * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new + keyboard for the terminal. -2001-11-29 Pavel Jan,Am(Bk +2007-09-04 Dan Nicolaescu - * fileio.c (file-name-coding-system) - (default-file-name-coding-system): Doc fix (links to referenced - variables added). + * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions. + (Vresume_tty_hook): Rename from Vresume_tty_functions. + (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook + and resume-tty-function to resume-tty-hook. + (Fsuspend_tty, Fresume_tty): Use new names. -2001-11-28 Stefan Monnier +2007-09-02 Jan Dj,Ad(Brv - * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5): - Add dummy uses of gcproN variables. + * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon + if it starts with "n:". - * category.c (describe_category, describe_category_1) - (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.) - (syms_of_category): Don't defsubr Sdescribe_categories. +2007-08-31 Jan Dj,Ad(Brv -2001-11-28 Richard M. Stallman + * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL. - * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'. +2007-08-31 Stefan Monnier - * Makefile.in (lispdir): New variable, referring to build dir. - (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource). + * frame.h: + * frame.c (Qterm_environment_variable): Remove. + (syms_of_frame): Don't init and staticpro it. -2001-11-28 Andrew Innes + * callproc.c (getenv_internal): Remove special case for $TERM. - * w32menu.c (w32_menu_display_help): Actually add the new argument - OWNER. + * callproc.c (Vinitial_environment): New variable. + (set_initial_environment): Initialize it. + (syms_of_callproc): Declare it. + (child_setup): Don't mess with TERM via Qterm_environment_variable; the + TERM under which a process runs is never related to the TERM in which + Emacs is running. -2001-11-28 Jason Rumney +2007-08-29 Dan Nicolaescu - * w32menu.c (add_menu_item): Do not use owner-draw for disabled - menu items. From David Ponce . - (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function - conditionally. - (w32_menu_display_help): New argument OWNER. Rewritten to store a - help event in the owner frame's keyboard buffer. + * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here... + * s/darwin.h: ... do it here. - * w32fns.c (w32_wnd_proc) : Display help directly. - (Fx_show_tip): Don't subtract last width from row width. +2007-08-29 Stefan Monnier - * w32term.c (w32_read_socket) : Remove. - (w32_read_socket): Use EQ to compare frames. + * lisp.h (set_initial_environment): Rename from set_global_environment. -2001-11-28 Gerd Moellmann + * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been + removed by mistake on the multi-tty branch. - * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if - OVERLAPS_P. + * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup. + (Fmodify_frame_parameters): Return a value. -2001-11-28 Pavel Jan,Am(Bk + * image.c (png_load): Comment-out var only used in commented-out code. - * xdisp.c (message_dolog): Remove unused variables `gcpro2', - `gcpro3' and `gcpro4'. + * term.c (mark_ttys): Don't bother checking top_frame (incorrectly) + before passing it to mark_object. - * coding.c (decode_coding_string): Remove unused variable `gcpro1'. + * xfaces.c (internal_resolve_face_name): Return a value. + (internal_resolve_face_name, resolve_face_name_error): Comment out. -2001-11-28 Stefan Monnier + * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup. + (x_icon): Comment-out var only used in commented-out code. - * ccl.c: Use AREF and ASIZE. +2007-08-29 Romain Francoise -2001-11-27 Stefan Monnier + * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if + QUIT hasn't been provided. - * lisp.h (run_hook_list_with_args): Remove. - (LIST_END_P): Fix call to wrong_type_argument. - (make_fixnum_or_float): Use EMACS_INT rather than int. +2007-08-29 Dan Nicolaescu -2001-11-26 Stefan Monnier + * callproc.c (child_setup, getenv_internal): Use the + display-environment-variable and term-environment-variable frame params. + (set_initial_environment): Initialise Vprocess_environment. - * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax. - (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove. + * config.in: Disable multi-keyboard support on a mac. - * eval.c: Use AREF and ASIZE. - (Ffetch_bytecode): Add the file name to the error message. + * frame.c (Qterm_environment_variable) + (Qdisplay_environment_variable): New variables. + (syms_of_frame): Intern and staticpro them. + (Fmake_terminal_frame): Disable output method test. - * fileio.c (Ffind_file_name_handler): Give precedence to handlers - which match the end of the file-name. - (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR - is not a valid env var, but leave it as is instead. + * frame.h: Declare them here. - * keymap.c (access_keymap): Handle t bindings like nil bindings. - Make nil bindings in char-tables transparent. - (store_in_keymap): Turn a nil binding into a t binding for char-tables. + * macfns.c (x_set_mouse_color): Get rif from the frame. + (x_set_tool_bar_lines): Don't use updating_frame. + (mac_window): Add 2 new parameters for consistency with other systems. + (Fx_create_frame): Fix doc string. Rename the parameter. Set the + frame parameters following what is done in X11 and w32. Don't use + FRAME_MAC_DISPLAY_INFO. + (Fx_open_connection, start_hourglass): Remove window-system check. + (x_create_tip_frame): Get the keyboard from the terminal. -2001-11-26 Richard M. Stallman + * macmenu.c: Reorder includes. + (Fx_popup_menu): Use terminal specific mouse_position_hook. - * textprop.c (set_text_properties_1): Allow START, END in either order. - Do nothing if range is empty. + * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a + terminal parameter. + (x_clear_frame): Add a frame parameter. + (note_mouse_movement): Get rif from the frame. + (mac_term_init): Initialize the terminal. + (mac_initialize): Make static and move terminal initialization ... + (mac_create_terminal): ... to this new function. - * Makefile.in (mallocobj): Simplify logic using auxiliary vars. + * macterm.h (struct mac_display_info): Add terminal. + (mac_initialize): Delete declaration. - * Makefile.in (mostlyclean): Delete bootstrap-emacs here. - (clean): Not here. + * puresize.h (BASE_PURESIZE): Increase base value to 1164000. -2001-11-25 Stefan Monnier + * sysdep.c: Comment out text after #endif. - * textprop.c (set_text_properties_1): Clearly mark that the - interval should not be empty. + * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD + is defined. Better initialize ttys in windows. Use terminal + specific mouse_position_hook. - * intervals.c (graft_intervals_into_buffer): - Don't call set_text_properties_1 on an empty interval. + * termhooks.h (union display_info): Add mac_display_info. -2001-11-25 Richard M. Stallman + * w32fns.c (Fx_create_frame): Use kboard from the terminal. + Set the default minibuffer frame, window_system and the rest of the + frame parameters following what is done in X11. - * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss". + * w32term.c (w32_initialize): Make static. - * callproc.c (Fcall_process): When we make a bigger buffer for bufptr, - don't lose the data in it. + * xselect.c (x_handle_selection_clear): Only access + terminal->kboard when MULTI_KBOARD is defined. -2001-11-25 Juanma Barranquero + * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here. + (SYSTEM_PURESIZE_EXTRA): Only define on Carbon. - * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks. +2007-08-29 Jason Rumney - * buffer.c (Fkill_buffer): Likewise. + * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined. + (make_terminal_frame) [WINDOWSNT]: Initialize terminal. - * print.c (temp_output_buffer_setup): Likewise. + * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]: + (mac_init_fringe) [MAC_OS]: Get rif from selected_frame. -2001-11-25 Stefan Monnier + * keyboard.c (restore_kboard_configuration): Only define when + MULTI_KBOARD defined. - * xfaces.c (merge_face_heights): Coerce back to int explicitly. + * makefile.w32-in: Update dependancies from Makefile.in. + (OBJ1): Add terminal.$(O) -2001-11-25 Eli Zaretskii + * term.c (dissociate_if_controlling_tty) [WINDOWSNT]: + Don't define function body. + (init_tty) [WINDOWSNT]: Use selected_frame for initializing. - * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi - Niemitalo . + * termhooks.h (display_info) [WINDOWSNT]: Add w32. -2001-11-25 Jason Rumney + * w32.c (request_sigio, unrequest_sigio): Remove. - * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames. + * w32console.c (w32con_move_cursor, w32con_clear_to_end) + (w32con_clear_frame, w32con_clear_end_of_line) + (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs) + (w32con_delete_glyphs, w32con_set_terminal_window) + (scroll_line, w32_sys_ring_bell): Add frame arg. + (w32con_set_terminal_modes, w32con_reset_terminal_modes): + Add terminal arg. + (PICK_FRAME): Remove. + (w32con_write_glyphs): Use frame specific terminal coding. + (one_and_only_w32cons): New global variable. + (initialize_w32_display): Use it for storing hooks. + (create_w32cons_output): New function. - * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0. - (Fx_show_tip): Block input during frame creation. - (Fx_show_tip, Fx_hide_tip): Enable. + * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first + arg a frame. -2001-11-24 Richard M. Stallman + * w32fns.c (x_create_tip_frame): Set terminal and ref count. + Set window_system. + (x_set_tool_bar_lines): Don't use updating_frame. + (Fx_create_frame): Set terminal and ref count. + (Fx_open_connection): Remove window-system check. - * lread.c (Fload): Detect recursive load error for more than 3 - nestings of the same file. - (Vrecursive_load_depth_limit): Variable deleted. - (syms_of_lread) : Variable deleted. + * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook. -2001-11-24 Jason Rumney + * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor. + (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg. + (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines): + Add frame arg. + (x_delete_terminal, w32_create_terminal): New functions. + (w32_term_init): Create a terminal. + (w32_initialize): Move terminal specific initialization to + w32_create_terminal. - * xfns.c (compute_tip_xy): Initialize root_x and root_y from - mouse position if either left or top is not specified. + * w32term.h (x_output): Remove foreground_pixel and background_pixel. + (w32_clear_rect, w32_clear_area): Use background from frame. + (w32_display_info): Add terminal. + (w32_sys_ring_bell, x_delete_display): Declare here. - * w32fns.c (w32_wnd_proc) : Revert last change. - : Let tip frames resize without restriction. - (my_create_tip_window, Fx_show_tip): Adjust size for external border. - (my_create_tip_window): Assign tip_window. - (x_create_tip_frame): Use same defaults as X. - (compute_tip_xy): Remove unused variable. Use full screen width. - (Fx_show_tip): Do not double height. Call ShowWindow directly. + * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type. - * w32term.c (x_after_update_window_line): Doc fix. - (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip - frames. - : Redo mouse highlight when hiding tip frame. + * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k. - * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame - for all Windowed systems. +2007-08-29 Kalle Olavi Niemitalo (tiny change) -2001-11-23 Eli Zaretskii + * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char): + Fix get_named_tty calls for the controlling tty. - * msdos.c (IT_clear_screen): If the frame's faces are not yet - realized, use the initial screen colors to clear the screen. +2007-08-29 ARISAWA Akihiro (tiny change) -2001-11-23 Pavel Jan,Am(Bk + * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error. - * textprop.c (Fset_text_properties): Remove unused variables - `unchanged', `prev_changed', `s' and `len'. +2007-08-29 Yoshiaki Kasahara (tiny change) - * search.c (Freplace_match): Remove unused variable `inslen'. - - * keymap.c (access_keymap): Remove unused variables `c1' and `c2'. - -2001-11-22 Jason Rumney - - * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment. - (w32_wnd_proc) : Show help echo directly. - (my_create_tip_window): New function. - (x_create_tip_frame, compute_tip_xy): Adapt for Windows. - (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows. - -2001-11-20 Jason Rumney - - * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove. - (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system. - - * w32fns.c (Vw32_system_coding_system): Remove. - (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system. - -2001-11-19 Stefan Monnier - - * fileio.c (Fwrite_region): Move choose_write_coding_system to - after build_annotations. - - * syntax.c (describe_syntax): Add dummy arg. - (describe_syntax_1): Update call to describe_vector. - - * category.c (describe_category): Add dummy arg. - (describe_category_1): Update call to describe_vector. - - * keymap.c (Fdescribe_vector): Add `describer' parameter. - (describe_command, describe_translation): Add dummy second param. - (describe_map): Call elt_describer with two arguments. - (describe_vector_princ): Add `fun' parameter. - Call it instead of the hardcoded `princ'. - (describe_vector): Add arg `args'. - Pass it as a new second argument to elt_describer. + * term.c (tty_insert_glyphs): Add missing first parameter. - * keymap.h (describe_vector): Update prototype. +2007-08-29 K,Aa(Broly L$,1 q(Brentey - * frame.c: Don't include keymap.h any more. - (keys_of_frame): Remove. + * buffer.c (Fbuffer_list, Fbury_buffer): + Take frame->buried_buffer_list into account. - * lisp.h (keys_of_frame): Remove declaration. + * cm.c (current_tty): New variable, for cmputc(). + (cmputc): Use it. + (cmcheckmagic): Add tty parameter, look up terminal streams there. + (calccost): Add tty parameter. Use emacs_tputs() instead of tputs(). + (cmgoto): Add tty parameter. Pass it on to calccost(). + Use emacs_tputs() instead of tputs(). - * emacs.c (main): Don't call `keys_of_frame' any more. + * cm.h (emacs_tputs): New macro to set current_tty, and then call + tputs(). + (current_tty): New variable, for cmputc(). + (cmcheckmagic, cmputc, cmgoto): Add prototypes. -2001-11-14 Andreas Schwab + * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors. + (internal_condition_case, internal_condition_case_1) + (internal_condition_case_2): Don't abort when x_catching_errors. - * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS - if defined, 0 otherwise. - (MAP_FAILED): Define if not defined and use it to test mmap failure. - (unexec) [!MAP_ANON]: Use /dev/zero as file to map. + * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals. + (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to + prevent crashes caused by bogus longjmps in read_char. -2001-11-19 Richard M. Stallman + * keymap.h (Fset_keymap_parent): Add EXFUN. - * indent.c (current_column_1): Fix handling of scan_bytes for mb chars. + * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL) + * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): + Remove redundant definition. -2001-11-18 Jason Rumney + * macfns.c (x_set_mouse_color, x_make_gc): + Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. - * w32term.c (note_mouse_highlight): Fix type of variable `ignore'. - (x_draw_bar_cursor): If the background color of the glyph under - the cursor equals the frame's cursor color, use the glyph's - foreground color for drawing the bar cursor. - (x_after_update_window_line): Clear internal border in different - circumstances. - (w32_set_vertical_scroll_bar): Check for width and height > 0. - (w32_draw_relief_rect): Correct relief by 1 pixel. - (x_set_glyph_string_background_width): - Set extends_to_end_of_line_p if the row's fill_line_p is set and - drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}. - (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR - if cursor_in_non_selected_windows is false. - (show_mouse_face): Clean up. Recognize overwritten cursor differently. - (x_draw_glyphs): Remove parameters REAL_START and REAL_END. - Notice if cursor gets overwritten. - (notice_overwritten_cursor): Renamed from - note_overwritten_text_cursor. Rewritten to take glyph widths - into account, and to take X positions as parameters. - (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p - around call to x_draw_glyphs. - (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and - `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background - color to use for image glyph reliefs. - (x_draw_image_relief): Accept zero tool_bar_button_relief. - (glyph_rect): Remove unused variable `area'. + * w32term.c (x_free_frame_resources): + Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. + (w32_initialize): Use the accessor macros for terminal characteristics. - * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for - some items. - (x_set_internal_border_width): Set frame garbaged when window - doesn't exist yet. - (Fx_create_frame): Accept zero tool_bar_button_relief. - (x_clear_image_1, four_corners_best, image_background) - (image_background_transparent): New functions. - (xpm_format, png_format, jpeg_format, tiff_format, gif_format) - (gs_format): Add `:background' entry. - (lookup_image): Set IMG's background color if specified. - (pbm_load, xbm_load_image, png_load): Set IMG's background field - when appropriate. - (x_clear_image_1): Reset `background_valid' and - `background_transparent_valid' fields. - (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of - calculating it here. Set IMG's background_transparent field. - (enum xpm_keyword_index): Add XPM_BACKGROUND. - (enum png_keyword_index): Add PNG_BACKGROUND. - (enum jpeg_keyword_index): Add JPEG_BACKGROUND. - (enum tiff_keyword_index): Add TIFF_BACKGROUND. - (enum gif_keyword_index): Add GIF_BACKGROUND. - (enum gs_keyword_index): Add GS_BACKGROUND. - (pbm_load, png_load, jpeg_load, tiff_load, gif_load): - Pre-calculate image background color where necessary. - (x_create_x_image_and_pixmap, xbm_load, gs_load): - Use display info's n_cbits entry for screen depth. - (Fx_show_tip): Remove unused variables `buffer', `top', - `left', `max_width' and `max_height'. + * macterm.c (mac_initialize): Use Fset_input_interrupt_mode. + Use the accessor macros for terminal characteristics. + * msdos.c (internal_terminal_init): Use the accessor macros for + terminal characteristics. + (ScreenVisualBell, internal_terminal_init): + Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. - * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes. + * termopts.h (no_redraw_on_reenter): Declare. -2001-11-18 Gerd Moellmann + * alloc.c (emacs_blocked_malloc): Disable mallopt call. + (mark_terminals, mark_ttys): Declare. + (Fgarbage_collect): Call them. + (mark_object): Mark buried_buffer_list. - * puresize.h (BASE_PURESIZE): Increase to 750000. + * prefix-args.c: Include stdlib.h for exit. -2001-11-18 Pavel Jan,Am(Bk + * syssignal.h: Add comment. - * frame.c (Fframe_live_p): Doc fix. + * indent.c: Include stdio.h. -2001-11-18 Richard M. Stallman + * window.h (Vinitial_window_system): Declare. + (Vwindow_system): Delete declaration. - * xdisp.c (message_dolog_marker1, message_dolog_marker2) - (message_dolog_marker3): New static variables hold three markers. - (syms_of_xdisp): Initialize and staticpro them. - (message_dolog): Use message_dolog_marker1..3 instead of - allocating markers each time. Unchain them when done. + * fontset.c (Finternal_char_font): Use FRAME_RIF. -2001-11-17 Richard M. Stallman + * image.c (lookup_image): Don't initialize `c' until the xasserts + have been run. - * doc.c (Fsnarf_documentation): Doc fix. + * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and + FRAME_FOREGROUND_PIXEL. -2001-11-17 Andreas Schwab + * print.c (print_preprocess): Don't lose print_depth levels while + iterating. - * xterm.c (note_mouse_highlight): Fix type of variable `ignore'. + * widget.c (update_from_various_frame_slots): + Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. -2001-11-17 Richard M. Stallman + * window.c (set_window_buffer): Don't call clear_mouse_face on tty + frames. + (window_internal_height): Remove bogus make_number call. + (init_window_once): Call make_terminal_frame with two zero parameters. - * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object. + * fileio.c (Fread_file_name): Update comment. -2001-11-17 Jason Rumney + * callint.c (Fcall_interactively): + Use temporarily_switch_to_single_kboard instead of single_kboard_state. + Make sure it is correctly unwound. + + * xsmfns.c (x_session_close): New function. + + * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding): + Delete declarations. + + * xterm.h: Remove declaration for x_fully_uncatch_errors. + (x_output): Remove background_pixel and foreground_pixel fields. + (x_display_info): Add new field TERMINAL. Remove KBOARD field. + (x_delete_device): + (x_session_close): Declare. + + * lread.c: Include setjmp.h. Update declaration of `read_char'. + (read_filtered_event): Call `read_char' with a local + `wrong_kboard_jmpbuf'. + + * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard. + Don't call single_kboard_state. Use FRAME_RIF. + + * process.c (Fmake_network_process): Don't unrequest_sigio on modern + systems. + + * lisp.h (set_process_environment): Rename to `set_global_environment'. + (Fframe_with_environment, Fset_input_meta_mode) + (Fset_quit_char): EXFUN. + (x_create_device, tty_output, terminal, tty_display_info): Declare. + (init_sys_modes, reset_sys_modes): Update prototypes. + (init_all_sys_modes, reset_all_sys_modes): New prototypes. + + * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map, + Vlocal_key_translation_map, and Vkeyboard_translate_table. + (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state): + Delete declarations. + (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard) + (temporarily_switch_to_single_kboard, tty_read_avail_input): + New declarations. + + * emacs.c (main): Don't call init_sys_modes(), the new term_init() + already does that during init_display(). Call syms_of_keymap + before syms_of_keyboard. Call `syms_of_terminal'. + Call set_initial_environment, not set_process_environment. + (shut_down_emacs): Call reset_all_sys_modes() instead of + reset_sys_modes(). + + * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG. + (internal_resolve_face_name, resolve_face_name_error): New functions. + (resolve_face_name): Protect against loops and errors thrown by Fget. + (realize_default_face): Don't use FRAME_FONT unless frame is an X frame. + (Ftty_supports_face_attributes_p): Update tty_capable_p call. + + * scroll.c: Replace CURTTY() with local variables throughout the + file (where applicable). + (calculate_scrolling, calculate_direct_scrolling) + (scrolling_1, scroll_cost): Use the accessor macros for terminal + characteristics. + + * keymap.c (Vfunction_key_map): Remove. + (Fdescribe_buffer_bindings): Update references to Vfunction_key_map. + (syms_of_keymap): Remove DEFVAR for Vfunction_key_map. + (Vkey_translation_map): Remove. + (syms_of_keymap): Remove DEFVAR for key-translation-map. + (Fdescribe_buffer_bindings): + (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards): + Update for terminal-local key-translation-map. + + * Makefile.in (callproc.o): Update dependencies. + (lisp, shortlisp): Add termdev.elc. + (obj): Add terminal.o. + (terminal.o): Add dependencies. + [HAVE_CARBON]: Make terminal.o depend on macgui.h. + (data.o, fns.o): Add termhooks.h dependency. + (SOME_MACHINE_LISP): Add dnd.elc. + (minibuf.o): Fix typo. + Update dependencies. + + * data.c (do_symval_forwarding, store_symval_forwarding) + (find_symbol_value): Use the selected frame's keyboard, not + current_kboard. + + * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of + Vwindow_system. + + * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from + Fmenu_bar_open. + (syms_of_xmenu): Update defsubr. + (mouse_position_for_popup, Fx_popup_menu) + (Fx_popup_dialog, x_activate_menubar, update_frame_menubar) + (set_frame_menubar, free_frame_menubar) + (create_and_show_popup_menu, xmenu_show, ) + (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not + an X frame. + + * xselect.c (x_own_selection): Abort if not an X frame. + (some_frame_on_display): Check if it is an X frame. + (x_handle_selection_clear): Deal with MULTI_KBOARD. + + * coding.c: Include frame.h and termhooks.h. + (terminal_coding, keyboard_coding): Delete. + (Fset_terminal_coding_system_internal): + (Fset_keyboard_coding_system_internal): + (Fkeyboard_coding_system): + (Fterminal_coding_system): Add a terminal parameter. + Get terminal_coding from the terminal. + (init_coding_once): Don't call setup_coding_system here. + + * dispextern.h (set_scroll_region, turn_off_insert) + (turn_off_highlight, background_highlight, clear_end_of_line_raw) + (tty_clear_end_of_line, tty_setup_colors) + (delete_tty, updating_frame) + (produce_special_glyphs, produce_glyphs, write_glyphs) + (insert_glyphs): Remove. + (raw_cursor_to, clear_to_end, tty_turn_off_insert) + (tty_turn_off_highlight, get_tty_size): Add declaration. + (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes. + + * frame.h (enum output_method): Add output_initial. + (struct x_output): Delete. + (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): + Access foreground_pixel and background_pixel directly from the frame. + (tty_display): Delete. + (struct frame): Add buried_buffer_list, foreground_pixel, + background_pixel and terminal. Delete kboard + (union output_data): Add tty. + (FRAME_KBOARD): Get the kboard from the terminal. + (FRAME_INITIAL_P): New macro. + (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment) + (Qterm_environment_variable, Qdisplay_environment_variable) + (make_terminal_frame, Qburied_buffer_list, Qwindow_system): + New declarations. + + * termchar.h (tty_output, tty_display_info): New structures. + (tty_list): Declare. + (FRAME_TTY, CURTTY): New macros. + (must_write_spaces, min_padding_speed, fast_clear_end_of_line) + (line_ins_del_ok, char_ins_del_ok, scroll_region_ok) + (scroll_region_cost, memory_below_frame, fast_clear_end_of_line) + (dont_calculate_costs, no_redraw_on_reenter): Remove declarations. + + * callproc.c: Include frame.h and termhooks.h, for terminal + parameters. + (add_env): New function. + (child_setup): Use it. + (child_setup, getenv_internal): Handle the new Vprocess_environment. + (getenv_internal): Fix get_terminal_param call. + (Fgetenv_internal, egetenv): Update doc. + (syms_of_callproc): Initialize Vprocess_environment to nil. + Register and initialize them. Remove obsolete defvars. Update doc + strings. + (child_setup): Handle Vlocal_environment_variables. + (getenv_internal): Add terminal parameter. + Handle Vlocal_environment_variables. + (Fgetenv_internal): Add terminal parameter. + (child_setup, getenv_internal, Fgetenv_internal): Store the local + environment in a frame (not terminal) parameter. Update doc strings. + (set_initial_environment): Rename from set_global_environment. + Store Emacs environment in initial frame parameter. + + * xdisp.c (redisplay_internal): Update references to + `previous_terminal_frame'. + (display_mode_line, Fformat_mode_line): Replace calls to + `push_frame_kboard' with `push_kboard'. + (get_glyph_string_clip_rects): Add extra parentheses and + braces to prevent compiler warnings. + (calc_pixel_width_or_height): Add xassert to check that the + frame is alive. Don't call `lookup_image' on a termcap frame. + (message2_nolog, message3_nolog, redisplay_internal) + (set_vertical_scroll_bar, redisplay_window, check_x_display_info) + (x_set_scroll_bar_foreground, x_set_scroll_bar_background) + (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p) + (Fx_display_pixel_width, Fx_display_pixel_height) + (Fx_display_planes, Fx_display_color_cells) + (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version) + (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width) + (Fx_display_backing_store, Fx_display_visual_class) + (Fx_display_save_under, Fx_close_connection, x_create_tip_frame): + Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF. + + * xfns.c (x_set_foreground_color x_set_background_color) + (x_set_mouse_color, x_set_cursor_color, x_make_gc): + Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. + (Fx_create_frame, x_create_tip_frame, build_string, x_window) + (Fx_create_frame, x_create_tip_frame): Don't create frames on a + terminal that is being deleted. + (Fx_create_frame): Use `store_frame_param' to set `window-system' + frame parameter, and make sure it overrides any user-supplied setting. + (Fx_close_connection, Fx_synchronize): Unify argument names with + the rest of the DEFUNs. + + * dispnew.c (Fsend_string_to_terminal): Update call to + `get_tty_terminal'. + (Fredraw_frame, Fsend_string_to_terminal) + (Fsend_string_to_terminal, init_display): Use FRAME_RIF, + FRAME_TERMCAP_P and FRAME_TTY. + (window_change_signal): Don't believe width/height values that are + impossibly small. + (Vinitial_window_system): Rename from Vwindow_system. + (termscript, Wcm, rif): Delete. + + * termhooks.h (struct terminal): New struct containing the + previously global text display hooks and new members NAME, + DELETED and PARAM_ALIST. + (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING) + (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P) + (FRAME_RIF): New macros. + (get_terminal_param, get_device): New declarations. + (termscript): Delete declaration. + + * xterm.c (x_initialize): Use Fset_input_interrupt_mode. + (XTflash, x_free_frame_resources, x_scroll_bar_create) + (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and + FRAME_FOREGROUND_PIXEL. + (x_fully_uncatch_errors): Disable definition. + (x_scroll_bar_expose): Fix reference to foreground pixel. + (XTread_socket): Disable loop on all X displays. + (x_delete_terminal): Don't set terminal->deleted and let + delete_terminal delete the frames on the terminal. + (x_delete_display): Doc update to reflect changes in + delete_terminal. + (x_display_info) : Move member earlier in the struct. + (deleting_tty): Remove old variable. + (Fsuspend_tty): Call clear_tty_hooks. + (Fresume_tty, init_tty): Call set_tty_hooks. + (Ftty_display_color_p, Ftty_display_color_cells): Don't throw + errors on X frames. + (x_catch_errors_unwind): Abort if x_error_message is NULL. + (handle_one_xevent): Initialize `f' to NULL. + (x_delete_terminal, x_create_terminal): New functions. + (XTset_terminal_modes, XTreset_terminal_modes) + (XTread_socket, x_connection_closed, x_term_init) + (x_term_init, x_delete_display): Add terminal parameter. + (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary + X connections. + + * frame.c (Fframep): Deal with output_initial. + (Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list, Qtty) + (Qtty_type, Qwindow_system, Qenvironment) + (Qterm_environment_variable, Qdisplay_environment_variable): New vars. + (x_set_screen_gamma, store_frame_param): Fix compilation errors. + (make_terminal_frame): Don't create frames on a terminal that is + being deleted. + (make_terminal_frame): Use FRAME_BACKGROUND_PIXEL and + FRAME_FOREGROUND_PIXEL. + (store_frame_param): Check for found_for_frame before calling XFRAME. + (Fmake_terminal_frame): Handle NULL tty names correctly. + (syms_of_frame): Enhance doc string of `default-frame-alist'. + (Fdelete_frame): Remove unused variable `count'. + (Qenvironment): New variable. + (Fdelete_frame): Don't allow other frames to refer to a deleted + frame in their 'environment parameter. + (Fframe_with_environment): New function. + (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment. + (get_future_frame_param): New function. + (Fmake_terminal_frame): Use it. + (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF. + + * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames. + * sysdep.c (reset_sys_modes): Update for renames. + + * keyboard.c (tty_read_avail_input): New function. + (Fset_input_interrupt_mode, Fset_output_flow_control): New functions. + (syms_of_keyboard): Defsubr them. + (Fset_input_meta_mode, Fset_quit_char): New functions. + (Fset_input_mode): Split to above functions. + + (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf + parameter. Use it in call to `read_char'. + (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'. + Set wrong_kboard_jmpbuf correctly in recursive calls. + Use current_kboard to access Vkeyboard_translate_table. + Enhance comment before extra longjmp to wrong_kboard_jmpbuf. + Add wrong_kboard_jmpbuf parameter to allow for recursive calls. + Update longjmp invocations. Remember the original current_kboard, + and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel + changes it. Comment out unnecessary calls to + `record_single_kboard_state' and `any_kboard_state'. + Update recursive calls. + (wrong_kboard_jmpbuf): Remove global variable. + (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf. + Handle deleted interrupted_kboards correctly; that is a legal + case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp + and read_char calls. Abort if interrupted_kboard died in read_char. + (any_kboard_state, single_kboard_state) + (push_frame_kboard): Remove function. + (pop_kboard): Switch out of single_kboard mode if the kboard has + been deleted. Remove unused variable. Help debugging by not + changing current_kboard unnecessarily. Set current_kboard to the + kboard of the selected frame when the stored kboard object has + been deleted before pop_kboard. + (temporarily_switch_to_single_kboard): Change first parameter to a + frame pointer. Throw an error when caller wants to change kboards + while in single_kboard mode. Don't push_kboard if we weren't in + single kboard state. Don't pop_kboard if we popped into any + kboard state. + (restore_kboard_configuration): Abort if pop_kboard changed the + kboard in single_kboard mode. Call pop_kboard only after setting + up single_kboard mode. + (Frecursive_edit): Switch to single_kboard mode only in nested + command loops. + (cmd_error, command_loop, command_loop_1, timer_check): + Comment out unnecessary call to `any_kboard_state' and + `record_single_kboard_state'. + (delete_kboard): Exit single_kboard mode if we have just deleted + that kboard. Use FRAME_KBOARD. + (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not + `fatal_error_signal'. + (record_single_kboard_state): Don't push_kboard if we weren't in + single kboard state. Don't pop_kboard if we popped into any + kboard state. + (push_frame_kboard): Rename to push_kboard. + (kbd_buffer_get_event): Use FRAME_TERMINAL. + (read_avail_input): Read input from all terminals. + (mark_kboards): Also mark Vkeyboard_translate_table. + (kbd_buffer_store_event_hold): Simplify condition. + (read_key_sequence): Reinitialize fkey and keytran at each replay. + (Vkeyboard_translate_table): Move to struct kboard. + (init_kboard): Initialize Vkeyboard_translate_table. + (syms_of_keyboard): Use DEFVAR_KBOARD to define + Vkeyboard_translate_table. Update doc strings. Update docs of + local-function-key-map and function-key-map. + + * terminal.c: New file. + + * term.c: Include errno.h. + (Vring_bell_function, device_list, initial_device) + (next_device_id, ring_bell, update_begin, update_end) + (set_terminal_window, cursor_to, raw_cursor_to) + (clear_to_end, clear_frame, clear_end_of_line) + (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines) + (Fdisplay_name, create_device, delete_device): Move to terminal.c. + (syms_of_term): Move their initialization to terminal.c. + (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p) + (Ftty_display_color_cells) + (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output) + (clear_tty_hooks, set_tty_hooks) + (init_tty, maybe_fatal): New functions. + (Ftty_type): Return nil if terminal is not on a tty instead of + throwing an error. Doc update. + (syms_of_term) : + Doc update. Initialize new subrs and variables. + (delete_tty): Use terminal->deleted. + (tty_set_terminal_modes): Rename from set_terminal_modes. + (tty_reset_terminal_modes): Rename from reset_terminal_modes. + (set_scroll_region): Rename to `tty_set_scroll_region'. + (turn_on_insert): Rename to `tty_turn_on_insert'. + (turn_off_insert): Rename to `tty_turn_off_insert'. + (turn_off_highlight): Rename to `tty_turn_off_highlight'. + (turn_on_highlight): Rename to `tty_turn_on_highlight'. + (toggle_highligh): Rename to `tty_toggle_highlight'. + (background_highlight): Rename to `tty_background_highlight'. + (highlight_if_desired): Rename to `tty_highlight_if_desired'. + (tty_ring_bell, tty_update_end, tty_set_terminal_window) + (tty_set_scroll_region, tty_background_highlight) + (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end) + (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs) + (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines) + (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty): + Add static modifier. + (tty_reset_terminal_modes, tty_set_terminal_window) + (tty_set_scroll_region, tty_background_highlight) + (tty_highlight_if_desired, tty_cursor_to) + (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame) + (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs) + (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for + renames. - * xterm.c (notice_overwritten_cursor): Take care of end < 0 case. +2007-08-28 Jan Dj,Ad(Brv -2001-11-17 Gerd Moellmann + * keyboard.c: Qrtl is new. + (parse_tool_bar_item): Handle :rtl keyword. + (syms_of_keyboard): Intern :rtl keyword. - * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property - with invalid position. + * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE. -2001-11-16 Richard M. Stallman + * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED + so no Lisp code is executed. + (file_for_image, find_rtl_image): New functions. + (xg_get_image_for_pixmap): Use file_for_image + (update_frame_tool_bar): If direction is RTL, use RTL image if + defined. Use Gtk stock images if defined. - * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex. +2007-08-27 YAMAMOTO Mitsuharu - * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef. - * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef. - * s/hpux8.h (HAVE_SYS_WAIT_H): Define it. + * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle + for nonexistent or zero-width glyph in composition glyph. - * m/convex.h (HAVE_SYS_WAIT_H): Add #undef. +2007-08-25 Stefan Monnier -2001-11-16 Stefan Monnier + * m/amdx86-64.h: Redirect to intel386.h if compiling for i386. - * fileio.c (build_annotations): Split off the tail. - (build_annotations_2): New fun. Extracted from build_annotations. - (Fwrite_region): Split the call to build_annotations into two - calls to build_annotations and build_annotations_2. + * xdisp.c (Finvisible_p): New function. + (syms_of_xdisp): defsubr it. -2001-11-16 Pavel Jan,Am(Bk +2007-08-24 Juanma Barranquero - * sysdep.c (wait_for_kbd_input) [VMS]: Do not call - clear_waiting_for_input with argument. + * image.c (syms_of_image) : + Doc fixes. - * xterm.h (x_update_cursor): Remove duplicated prototype. +2007-08-24 YAMAMOTO Mitsuharu - * keyboard.h (clear_waiting_for_input): Remove duplicated prototype. + * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes. - * xterm.c (waiting_for_input): Remove unnecessary declaration. +2007-08-24 Martin Rudalics - * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix. + * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell + whether decoding has modified buffer contents. -2001-11-16 Stefan Monnier +2007-08-24 Jason Rumney - * fileio.c (choose_write_coding_system): New fun, extracted - from Fwrite_region. - (Fwrite_region): Use it. + * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG. + (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols. + (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them. + (init_svg_functions) [HAVE_NTGUI]: New function. + (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines. + (svg_load_image): Use them. + (svg_load_image) [HAVE_NTGUI]: Implement background. - * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT. - (funcall_lambda, run_hook_with_args): Make static and add prototype. - (ml_apply, find_handler_clause): Add prototype. +2007-08-23 YAMAMOTO Mitsuharu -2001-11-16 Eli Zaretskii + * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables. + (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@. + (LIBX): Remove @RSVG_LIBS@. + (LIBES): Add $(RSVG_LIBS). - * config.in: Add #undef HAVE_COFF_H. + * image.c (svg_load_image): Blend with specified background if exists. + Use IMAGE_BACKGROUND. Add Mac OS Support. - * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined. - Required for ISC 4.1. + * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable. + (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]: + Remove macros. + [MAC_OSX] (socket_callback): Do nothing. + [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of + ReceiveNextEvent. + [MAC_OSX] (sys_select): Likewise. Don't set context as argument to + socket_callback. + (mac_wakeup_from_rne) [MAC_OSX]: Do nothing. -2001-11-16 Eli Zaretskii +2007-08-22 Glenn Morris - * syswait.h (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by - Andrew Wiseman . + * image.c (x_find_image_file): Search in etc/images/ rather than etc/. -2001-11-16 Kim F. Storm +2007-08-22 Paul Pogonyshev - The following changes are made to clean up the various internal - references to the fringes to actually use the term `fringe' for - them. Previously, they were called `flags areas', `bitmap areas', - `left/right side of windows', or implicitly as `flags' or - `bitmaps': + * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS. - * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID. - Comments fixed. Use renamed symbols. + * image.c: Add support for SVG images. Some additional comments + by Joakim Verona . When HAVE_RSVG is defined: + (svg_image_p): New function to test for SVG image. + (svg_load): New function to load SVG image. + (svg_load_image): New function, helper for svg_load. + (Qsvg): New Lisp_object. + (svg_keyword_index): New enum. + (svg_format): New static `image_keyword' struct. + (svg_type): New static `image_type' struct. + (librsvg/rsvg.h): Include it. - * dispnew.c: Comment fix. Use renamed symbols. +2007-08-23 Stefan Monnier - * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS. - (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH. - (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH. + * lread.c (load_warn_old_style_backquotes): Fix up array size typo. - * msdos.c: Comment fix. +2007-08-22 Stefan Monnier - * w32fns.c: Use renamed symbols. + * lread.c (Qold_style_backquotes): New var. + (syms_of_lread): Init and staticpro it. + (load_warn_old_style_backquotes): New fun. + (Fload): Use them to warn about old style backquotes. + (end_of_file_error, Fload): Remove unused vars. - * w32term.c: Comment fixes. Use renamed symbols. - (fringe_bitmap_type): Renamed from bitmap_type. - (NO_FRINGE_BITMAP): Renamed from NO_BITMAP. - (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap. - (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps. + * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare. - * w32term.h: Comment fixes. Use renamed symbols. - (fringes_extra): Renamed from flags_areas_extra. - (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH. - (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT. - (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS. - (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH. - (FRAME_X_LEFT_FRINGE_WIDTH): - Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH. - (FRAME_X_RIGHT_FRINGE_WIDTH): - Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH. + * lread.c (Vold_style_backquotes): New var. + (syms_of_lread): Init and export it to Elisp. + (read1): Set it when we find an old-style (back)quote. - * widget.c: Use renamed symbols. +2007-08-22 Jason Rumney - * window.c: Comment fixes. Use renamed symbols. - (coordinates-in-window-p): Doc fix. + * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator. - * xdisp.c: Comment fixes. Use renamed symbols. +2007-08-22 Katsumi Yamaoka - * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID. + * puresize.h (BASE_PURESIZE): Increase to 1140000. - * xfns.c: Use renamed symbols. +2007-08-19 Richard Stallman - * xterm.c: Comment fixes. Use renamed symbols. - (fringe_bitmap_type): Renamed from bitmap_type. - (NO_FRINGE_BITMAP): Renamed from NO_BITMAP. - (x_draw_fringe_bitmap): Renamed from x_draw_bitmap. - (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps. + * eval.c (Ffunction, Fquote): Signal error if not 1 argument. - * xterm.h: Comment fixes. Use renamed symbols. - (fringes_extra): Renamed from flags_areas_extra. - (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH. - (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT. - (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS. - (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH. - (FRAME_X_LEFT_FRINGE_WIDTH): - Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH. - (FRAME_X_RIGHT_FRINGE_WIDTH): - Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH. +2007-08-19 Andreas Schwab -2001-11-15 Jason Rumney + * alloc.c (pure): Round PURESIZE up. - * w32menu.c (add-menu-item): Make help_echo and radio buttons - work for most menu items. From David Ponce - . +2007-08-17 Jan Dj,Ad(Brv -2001-11-15 Gerd Moellmann + * xterm.c (handle_one_xevent): Remove check that mouse click is in + active frame. - * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07. - Some x_set_* function expect to be called even if old and new - value are equal. +2007-08-16 Richard Stallman - * xdisp.c (build_desired_tool_bar_string): Accept zero - tool_bar_button_relief. + * eval.c (Fcommandp): Add parens to clarify. - * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief. + * minibuf.c (Fall_completions): Use enum for type of table. - * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief. + * emacs.c (USAGE2): Improve text. - * xterm.c (x_draw_bar_cursor): If the background color of the - glyph under the cursor equals the frame's cursor color, use - the glyph's foreground color for drawing the bar cursor. +2007-08-15 Philippe Waroquiers - * dispnew.c (direct_output_forward_char): Fix character/byte - position comparison. + * term.c (tty_default_color_capabilities): Declare static + variables in file scope, to avoid HPUX compiler problem. -2001-11-15 Miles Bader +2007-08-13 Jan Dj,Ad(Brv - * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters. - (Fdelete_field, Ffield_string, Ffield_string_no_properties): - Update arguments to find_field. - (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field. - (Fconstrain_to_field): Use LIMIT arg to shorten search time. - * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl. - * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end. + * gtkutil.c (update_frame_tool_bar): Use -1 as index + to gtk_toolbar_insert. -2001-11-14 Richard M. Stallman +2007-08-13 Stefan Monnier - * editfns.c (Fpropertize): Allow call with 1 arg. + * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup. - * dispextern.h (image_background, image_background_transparent): - Conditionalize on HAVE_X_WINDOWS. + * insdel.c (reset_var_on_error): New fun. + (signal_before_change, signal_after_change): + Use it to reset (after|before)-change-functions to nil in case of error. + Bind inhibit-modification-hooks to t. + Don't bind (after|before)-change-functions to nil while they run. -2001-11-13 Richard M. Stallman +2007-08-11 YAMAMOTO Mitsuharu - * print.c (Fprin1_to_string): Doc fix. + * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when + filling pixmap with stippled background. - * sunfns.c (Fsun_change_cursor_icon): Doc fix. +2007-08-10 YAMAMOTO Mitsuharu - * floatfns.c (Fceiling, Ffloor): Doc fixes. + * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event): + Don't use invisible frame as parent window for repositioning. - * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes. +2007-08-10 Stefan Monnier - * fileio.c (Ffile_accessible_directory_p): Doc fix. + * print.c (new_backquote_output): Rename from old_backquote_output. + (print): Inverse its logic (according to its name) so as to match the + behavior of new_backquote_flag in lread.c. - * eval.c (syms_of_eval): Doc fix. +2007-08-09 YAMAMOTO Mitsuharu - * coding.c (syms_of_coding): Doc fix. + * gmalloc.c (posix_memalign): New function. - * doc.c (Fsnarf_documentation): Doc fix. + * macterm.c (frame_highlight, frame_unhighlight): Don't call + ActivateControl/DeactivateControl here. + [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when + frame-notice-user-settings is non-nil. + [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter + for kEventParamFMFontStyle. + [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check + mac_pass_command_to_system and mac_pass_control_to_system here. + (XTread_socket): Call ActivateControl/DeactivateControl here. + (XTread_socket) [TARGET_API_MAC_CARBON]: + Check mac_pass_command_to_system and mac_pass_control_to_system here. + (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround + for window repositioning. - * dispnew.c (syms_of_display): Doc fix. +2007-08-08 Glenn Morris - * category.c (Fget_unused_category): Doc fix. + * Replace `iff' in doc-strings and comments. - * buffer.c (syms_of_buffer): Doc fixes. +2007-08-07 Chong Yidong -2001-11-14 Eli Zaretskii + * xdisp.c (move_it_by_lines): Remove incorrect optimization. - * print.c (prin1, print): Doc fix. +2007-08-07 Martin Rudalics -2001-11-14 Pavel Jan,Am(Bk + * fileio.c (Finsert_file_contents): Run format-decode and + after_insert_file_functions on entire buffer when REPLACE is + non-nil and inhibit modification_hooks and point_motion_hooks. + For consistency, run after_insert_file_functions iff something + got inserted. Move signal_after_change and update_compositions + after code running after_insert_file_functions. Make sure that + undo_list doesn't record intermediate steps of the decoding process. - * fontset.h: Remove declarations of variables - `Vhighlight_wrong_size_font' and `Vclip_large_size_font'. +2007-08-07 YAMAMOTO Mitsuharu - * fontset.c: Remove variables `Vhighlight_wrong_size_font' and - `Vclip_large_size_font'. + * emacs.c (main) + [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: + Call malloc_enable_thread on interactive startup. -2001-11-13 Jason Rumney + * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable. + (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS) + [USE_PTHREAD]: Conditionalize with it. + (malloc_atfork_handler_prepare, malloc_atfork_handler_parent) + (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]: + New functions. - * w32fns.c: Doc fix. +2007-08-06 Chong Yidong -2001-11-13 Pavel Jan,Am(Bk + * xdisp.c (redisplay_window): When restoring original buffer + position, make sure it is still valid. - * xfaces.c (Fface_attributes_as_vector): Doc fix. + * image.c (png_load): Ignore png-supplied background color. - * fns.c: Doc fix. +2007-08-06 YAMAMOTO Mitsuharu - * emacs.c: Doc fix. + * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value. + Use kCFAbsoluteTimeIntervalSince1970. - * coding.c: Doc fix. + * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: + New variable. + [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog + event loop should be quit. + [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]: + Quit dialog event loop if quit_dialog_event_loop is set. + + * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h. + (Selection): New typedef. Use instead of ScrapRef. + (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol. + (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p. + (mac_clear_selection): Rename from clear_scrap. + (get_flavor_type_from_symbol): New argument SEL and subsume function of + scrap_has_target_type. All uses changed. + (mac_get_selection_ownership_info, mac_valid_selection_value_p) + (mac_selection_has_target_p): New functions. + (mac_put_selection_value): Rename from put_scrap_string. + (mac_get_selection_value): Rename from get_scrap_string. + (mac_get_selection_target_list): Rename from get_scrap_target_type_list. + (put_scrap_private_timestamp, scrap_has_target_type) + (get_scrap_private_timestamp): Remove functions. + (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define. + (x_own_selection, x_get_local_selection): + Use mac_valid_selection_value_p. + (x_own_selection): Don't use put_scrap_private_timestamp. + Record OWNERSHIP-INFO into Vselection_alist instead. + (x_get_local_selection): Don't check type if request is local. + (Fx_selection_owner_p): Don't use get_scrap_private_timestamp. + Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead. + +2007-08-04 Jan Dj,Ad(Brv + + * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s, + add comment explaining why. - * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c, - * fontset.c, insdel.c, keymap.c: Change doc-string comments to - `new style' [w/`doc:' keyword]. +2007-08-03 Richard Stallman -2001-11-12 Richard M. Stallman + * fileio.c (Fvisited_file_modtime): Use make_time. - * xterm.c (XTread_socket): Don't update focus for EnterNotify or - LeaveNotify events. Only FocusIn and FocusOut do that now. - (x_display_and_set_cursor): Do display hollow cursors in active - minibuffer windows when they are not selected. +2007-08-01 Ryo Yoshitake (tiny change) -2001-11-12 Jason Rumney + * mac.c (init_mac_osx_environment): Adjust load-path on self-contained + build. - * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c, - * w32term.c: Change doc-string comments to `new style' - [w/`doc:' keyword]. Doc fixes. +2007-07-31 Stefan Monnier - * w32fns.c: Don't define max. - (Fx_open_connection): Only execute once. + * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT. -2001-11-12 Pavel Jan,Am(Bk +2007-07-30 Katsumi Yamaoka - * ccl.c: Change macros to use do-while block instead of if-else. - Use braces to follow GNU Coding Standards. + * puresize.h (BASE_PURESIZE): Increase to 1130000. -2001-11-11 Richard M. Stallman +2007-07-30 Richard Stallman - * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR. + * lread.c (readevalloop, read1): Treat NBSP as whitespace. - * lread.c (read_escape): Use end_of_file_error for reporting eof. +2007-07-29 Jan Dj,Ad(Brv - * insdel.c (replace_range): Use adjust_markers_for_replace - instead of adjust_markers_for_delete and adjust_markers_for_insert. + * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed. - * intervals.h (set_text_properties, set_text_properties_1): Declare. +2007-07-28 Nick Roberts - * textprop.c (set_text_properties_1): New subroutine - broken out of set_text_properties. - (set_text_properties): Use set_text_properties_1. + * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for + remote default-directory. - * intervals.c (graft_intervals_into_buffer): - Use set_text_properties_1 to clear out properties. + * buffer.c (mode-line-format): Update doc string. - * search.c (Freplace_match): Use replace_range to insert - and delete. Don't request property inheritance from - surrounding text. +2007-07-27 YAMAMOTO Mitsuharu -2001-11-10 Jason Rumney + * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to + scroll bar gap. + (x_scroll_bar_create): Set bar->fringe_extended_p. + (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars + on frame edge. Check fringe background extension. Don't clear + extended fringe background area. - * w32fns.c (enum_font_cb2): Use leading @ on face name to detect - vertical fonts. Allow them if face name is explicitly specified. - Do not give up if we find a font that cannot be converted to an xlfd. + * w32term.h (struct scroll_bar): New member fringe_extended_p. + (w32_fill_area): Enclose multiple statements with do ... while (0). -2001-11-10 Gerd Moellmann + * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]: + Extend fringe background to scroll bar gap. + (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: + Set bar->fringe_extended_p. + (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: + Put leftmost/rightmost scroll bars on frame edge. Check fringe + background extension. Don't clear extended fringe background area. - * unexelf.c (unexec): Use mmap/munmap to allocate buffers - instead of malloc/free. + * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: + New member fringe_extended_p. -2001-11-09 Pavel Jan,Am(Bk +2007-07-25 Glenn Morris - * xfaces.c (merge_face_vectors): Use braces to follow GNU - Coding Standards. - (Finternal_set_lisp_face_attribute): Likewise. + * Relicense all FSF files to GPLv3 or later. - * buffer.c (Fbury_buffer): Likewise. + * COPYING: Switch to GPLv3. - * indent.c (current_column_1): Remove unused variable `prev_col'. +2007-07-25 Stefan Monnier - * coding.c (encode_coding): Use precomputed value of `src'. - (encode_coding): Remove unused variable `src_end'. - (code_convert_region): Remove unused variables `count'. + * eval.c (Fcommandp): Pay attention to the `interactive-form' property. -2001-11-07 Jason Rumney + * data.c (Finteractive_form): Check for the presence of an + `interactive-form' symbol property more thoroughly. - * w32term.c (x_display_and_set_cursor): Do not move system caret - if cursor_glyph is NULL. + * data.c (Finteractive_form): Use an `interactive-form' property if + present, analogous to the function-documentation property. -2001-11-07 Pavel Jan,Am(Bk +2007-07-24 Jason Rumney - * keymap.c (access_keymap): Fix compilation error. + * w32fns.c (x_real_positions): Get real position from OS instead of + calculating it. -2001-11-07 Miles Bader +2007-07-23 Jason Rumney - * xfns.c (x_set_frame_parameters): Avoid infinite recursion. + * filelock.c (current_lock_owner): Allow for @ sign in username. -2001-11-07 Pavel Jan,Am(Bk +2007-07-22 Nick Roberts - * intervals.c (graft_intervals_into_buffer): - Remove #ifdef'd-out code. - (graft_intervals_into_buffer): Remove unused variable `middle'. + * xdisp.c (decode_mode_spec): Add case 'R' for to test for + remote default-directory. - * lread.c (Feval_region): Remove obsolete #ifdef'd-out - code (eval-current-buffer). - Change doc-string comments to `new style' [w/`doc:' keyword]. + * buffer.c (mode-line-format): Describe above case in doc string. -2001-11-06 Richard M. Stallman +2007-07-20 Eli Zaretskii - * keymap.c (access_keymap): Don't use initializers on Lisp_Object. + * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32): + Define if not defined. -2001-11-06 Stefan Monnier +2007-07-18 Jason Rumney - * lread.c (read1): Fix behavior with nested backquoting. + * w32proc.c (w32_executable_type): Handle 64 bit executables. - * keyboard.c (make_lispy_event): Check integerness and fix - Lisp_Object/int mixup. +2007-07-18 Richard Stallman -2001-11-06 Pavel Jan,Am(Bk + * data.c (Fsetq_default): Doc fix. - * fns.c (copy_hash_table): Remove unused variable `v'. + * eval.c (Fsetq): Doc fix. - * fontset.c (fontset_font_pattern): Remove unused variable - `family_registry'. +2007-07-18 Juanma Barranquero - * indent.c (current_column_1): Remove unused variable `prev_col'. + * coding.c (Ffind_operation_coding_system): + * eval.c (For, Fand): Doc fixes. + Reported by Johan Bockg,Ae(Brd. -2001-11-05 Richard M. Stallman +2007-07-18 Jan Dj,Ad(Brv - * m/news-risc.h (BROKEN_PROTOTYPES): Defined. + * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame. - * buffer.c (Fkill_buffer): Don't delete auto save file - if buffer is modified. + * xterm.h: Declare x_ewmh_activate_frame. -2001-11-05 Andrew Innes + * xterm.c (x_ewmh_activate_frame): New function. + (XTframe_raise_lower): Move code to x_ewmh_activate_frame. - * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and - CHECK_NUMBER_CDR. +2007-07-17 Martin Rudalics -2001-11-05 Richard M. Stallman + * window.c (Fdisplay_buffer): If largest or LRU window is the + only window, split it even if it is not eligible for splitting. + This restores the original behavior broken by the 2007-07-15 + change. - * unexelf.c (unexec): Minor changes; clean up comments. +2007-07-17 Glenn Morris -2001-11-05 Sam Steingold + * abbrev.c (abbrev_check_chars): New function. + (Fdefine_global_abbrev, Fdefine_mode_abbrev): + Call abbrev_check_chars to check abbrev characters are word + constituents. Doc fix. - * w32term.c (x_display_and_set_cursor): Fix w32 compilation error. +2007-07-17 Stefan Monnier -2001-11-05 Andreas Schwab + * process.c (Fstart_process, Fmake_network_process) + (read_process_output): Fix up last changes. - * sound.c (sound_perror): Save errno from being clobbered. +2007-07-16 Eli Zaretskii -2001-11-05 Dale Hagglund + * makefile.w32-in (clean): Don't delete *~. - * unexelf.c (unexec): Don't use `mmap'. Instead, read and write - the program image directly. +2007-07-16 Andreas Schwab -2001-11-05 Pavel Jan,Am(Bk + * window.c (Fdisplay_buffer): Use NILP. + (Fset_window_scroll_bars): Likewise. - * buffer.h (Fbuffer_local_value): Add prototype. +2007-07-15 Martin Rudalics -2001-11-04 Richard M. Stallman + * window.c (window_min_size_2): New function. + (window_min_size_1, size_window, Fdisplay_buffer) + (Fsplit_window, adjust_window_trailing_edge): Use it to avoid + windows without mode- or header-lines when window-min-height is + too small. + (size_window): Reset nodelete_p after testing it, following an + earlier note by Kim F. Storm. + (display_buffer): Do not set split_height_threshold to twice the + value of window_min_height to avoid changing the value of a + customizable variable. Rather explicitly check whether the + height of the window that shall be splitted is at least as large + as split_height_threshold. + (Fwindow_full_width_p): New defun. + (syms_of_window): Defsubr it. - * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL - and CHECK_BUFFER. + * window.h: Add EXFUN for Fwindow_full_width_p. - * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth. - (record_char): Likewise. +2007-07-14 Jason Rumney - * keyboard.c (make_lispy_event): Don't insist a drag event must - move to a different buffer position. Instead, check for moving at - least double_click_fuzz. + * process.c [WINDOWSNT]: Don't undefine AF_INET6. - * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength. +2007-07-14 Richard Stallman - * keyboard.c (echo-area-clear-hook): Undo Oct 29 change. + * eval.c (maybe_call_debugger): New function. + (find_handler_clause): Use maybe_call_debugger. + Call it when the handler says `debug'. + Eliminate DEBUGGER_VALUE_PTR. + (Fsignal): Eliminate debugger_value. + (Qdebug): New variable. + (syms_of_eval): Initialize it. - * indent.c (current_column_1, Fmove_to_column): Separate the code - for display-table glyphs from the code for buffer text, to fix - bugs in the former. +2007-07-14 Juanma Barranquero -2001-11-04 Michael Welsh Duggan + * eval.c (Fprogn): + * keyboard.c (Ftrack_mouse): + * print.c (Fwith_output_to_temp_buffer): + * window.c (Fsave_window_excursion): Doc fix. - * buffer.c (Fbuffer_local_value): New function. - (syms_of_buffer): Defsubr it. +2007-07-13 Stefan Monnier - * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local - value of `cursor-in-non-selected-windows'. + * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400. - * lisp.h (Qcursor_in_non_selected_windows): New declaration. - * xdisp.c (Qcursor_in_non_selected_windows): New variable. - (syms_of_xdisp): Initialize it. +2007-07-12 Stefan Monnier -2001-11-04 Pavel Jan,Am(Bk + * process.h (struct Lisp_Process): Turn slots infd, outfd, + kill_without_query, pty_flag, tick, update_tick, decoding_carryover, + inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering, + read_output_delay, and read_output_skip from Lisp_Objects to ints. + Remove unused encoding_carryover. + * process.c: Adjust all functions accordingly. - * xfns.c (Fx_create_frame): Doc fix. +2007-07-12 Richard Stallman - * coding.c: Change doc-string comments to `new style' [w/`doc:' - keyword]. + * term.c: Include unistd.h only if HAVE_UNISTD_H. - * eval.c (top_level_value, top_level_set): Remove commented and - #ifdef'd-out code. - (Fdefvar): Fix usage in doc-string. +2007-07-11 Jason Rumney -2001-11-03 Richard M. Stallman + * makefile.w32-in (LIBS): Include OLE32. - * xfns.c: Include unistd.h, if it exists. + * w32fns.c (w32_msg_pump) : Initialize COM. + (w32_msg_pump) : Uninitialize COM. - * editfns.c: Move the include of ctype.h after unistd.h. +2007-07-11 Stefan Monnier - * gmalloc.c: Test BROKEN_PROTOTYPES. + * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer. + * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned + from a Lisp_Object into a bare pointer. + (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns): + Adjust the code correspondingly. -2001-11-03 Ken Raeburn + * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'. - * lisp.h (CHECK_STRING_CAR): New macro. - * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of - treating XCAR and XCDR as lvalues. - (openp): Use CHECK_STRING_CAR. - (read_list): Use XSETCDR instead of treating XCDR as lvalue. + * term.c: Include unistd.h for ttyname, used in handle_one_term_event. + (term_show_mouse_face): Remove unused var `j'. + (handle_one_term_event): Remove unused vars `i' and `j'. + Don't cast return value of ttyname since it's not necessary. -2001-11-03 Eli Zaretskii +2007-07-10 Stefan Monnier - * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE. - (SIGMASKTYPE): Define. + * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using + USE_LSB_TAG. Suggested by Dmitry Antipov . - * syssignal.h (sigunblock): Don't define if already defined. + * fns.c (map_char_table): Use an array of int for `indices' rather than + an array of Lisp_Objects (which are only ever integers anyway). + (Fmap_char_table): Update caller. + * lisp.h: Update prototype. + * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap): + * fontset.c (Ffontset_info): + * casetab.c (set_case_table): Update callers. -2001-11-02 Pavel Jan,Am(Bk + * editfns.c (Ftranspose_regions): Use EMACS_INT for positions. - * eval.c (debugger_may_continue, Vdebug_ignored_errors) - (call_debugger, Fcondition_case, skip_debugger, unbind_to): - Fix typos in comments. + * keymap.c (struct accessible_keymaps_data) + (struct where_is_internal_data): New structures. + (accessible_keymaps_1, where_is_internal_1): Use them to change + interface to adhere to the one used by map_keymap. + (Faccessible_keymaps, where_is_internal): Use map_keymap. + (accessible_keymaps_char_table, where_is_internal_2): Remove. - * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented - and #ifdef'd-out code. - Fix and reindent comments. + * keymap.h (map_keymap_function_t): More informative prototype. - * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c. +2007-07-10 Guanpeng Xu - * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused - argument `i' in macros. + * search.c (Vinhibit_changing_match_data, search_regs_1): New vars. + (looking_at_1): Don't change search_regs and last_thing_searched + if `inhibit-changing-match-data' is non-nil. + (string_match_1, search_buffer, set_search_regs): Likewise. + (syms_of_search): Add Lisp level definition for + `inhibit-changing-match-data' and set it to nil. + (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute + start and end of the match, instead of using values in search_regs. - * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument - `i' in macros. +2007-07-01 Stefan Monnier - * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST) - (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE) - (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER) - (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER) - (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER) - (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT) - (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY) - (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i' - in macros. + * minibuf.c (Fcompleting_read): New value `confirm-only' + for `require-match'. - * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, - * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c, - * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c, - * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h, - * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c, - * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c, - * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c, - * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c, - * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros - (remove unused second argument). +2007-06-28 Stefan Monnier -2001-11-02 Stefan Monnier + * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as + part of the 2007-06-27 change to syms_of_fileio. - * syntax.c (describe_syntax): New wrapper. - (Finternal_describe_syntax_value): Rename from describe_syntax. - Don't insert space at front and \n at the end. - (syms_of_syntax): Defsubr Sinternal_describe_syntax_value. +2007-06-28 YAMAMOTO Mitsuharu - * regex.c (re_wctype): Try to fix some warnings. - (regcomp, regexec): Don't forget the __restrict. + * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event): + Check WINDOWP before using XWINDOW. Consolidate return statements. -2001-11-02 Richard M. Stallman +2007-06-27 Richard Stallman - * textprop.c (Fget_char_property): Doc fix. + * fileio.c (syms_of_fileio) : Doc fix. -2001-11-02 Pavel Jan,Am(Bk +2007-06-27 Juanma Barranquero - * process.c (Fstart_process): Add usage to doc-string. + * buffer.c (syms_of_buffer) : Fix typo in docstring. - * data.c (Fsetq_default): Ditto. +2007-06-26 YAMAMOTO Mitsuharu - * callint.c (Finteractive): Ditto. + * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h. + (_aligned_blocks_mutex) [USE_PTHREAD]: New variable. + (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros. + (_free_internal, memalign): Use them. + (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]: + Initialize to PTHREAD_MUTEX_INITIALIZER. + (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex. + (morecore_nolock): Rename from morecore. All uses changed. + Use only nolock versions of internal allocation functions. + (_malloc_internal_nolock, _realloc_internal_nolock) + (_free_internal_nolock): New functions created from + _malloc_internal, _realloc_internal, and _free_internal. + (_malloc_internal, _realloc_internal, _free_internal): Use them. + Copy hook value to automatic variable before its use. + (memalign): Copy hook value to automatic variable before its use. -2001-11-01 Stefan Monnier +2007-06-26 Kenichi Handa - * macros.c: Don't include keymap.h any more. + * coding.c (Ffind_operation_coding_system): Docstring improved. + (syms_of_coding): Docstring of `file-coding-system-alist' improved. -2001-11-01 Richard M. Stallman +2007-06-25 David Kastrup - * data.c (Fmake_local_variable): Doc fix. + * keymap.c (Fcurrent_active_maps): Add `position' argument. + (Fwhere_is_internal): Adjust call to `current-active-maps' to + cater for additional parameter. - * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix. - (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix. + * keymap.h: Adjust number of parameters to `current-active-maps'. - * keymap.c (Fdescribe_buffer_bindings): Print character property - bindings along with or instead of the buffer local map. - Make the overriding maps override what they should. + * doc.c (Fsubstitute_command_keys): Adjust call of + `current-active-maps'. -2001-11-01 Pavel Jan,Am(Bk +2007-06-25 David Kastrup - * window.c (grow_mini_window): Fix typo in comment. + * callint.c (Fcall_interactively): Make the parsing of interactive + specs somewhat more readable. -2001-11-01 Gerd Moellmann +2007-06-23 YAMAMOTO Mitsuharu - * xterm.c (x_scroll_bar_create): Check for width and height > 0. - (XTset_vertical_scroll_bar): Likewise. + * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background + to scroll bar gap also when bitmap fills fringe. Draw only foreground + if extended background has already been filled. - * xfns.c (x_build_heuristic_mask): Use four_corners_best - instead of IMAGE_BACKGROUND. +2007-06-22 YAMAMOTO Mitsuharu - * xfns.c (four_corners_best): Reindent. + * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI. + (USE_MAC_TOOLBAR): Require USE_CG_DRAWING. - * xfaces.c (Finternal_set_lisp_face_attribute_from_resource): - Handle :box so that it is possible to specify sexprs. + * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]: + Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p + in #if 0 as it is not compatible with y-or-n-p-with-timeout. + (timer_check) [TARGET_API_MAC_CARBON]: Add extern. + [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop + instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls. + (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function. + [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind. + Run timers during dialog popup. + (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated. -2001-10-31 Eli Zaretskii +2007-06-21 Jason Rumney - * s/hpux11.h: New file. + * image.c (convert_mono_to_color_image): Swap fore and background. -2001-10-31 Pavel Jan,Am(Bk +2007-06-20 Jason Rumney - * emacs.c (USAGE1): Show command line option --no-window-system - instead of --no-windows in usage. - (standard_args): Rename --no-windows to --no-window-system. - (bug_reporting_address): Follow Emacs coding conventions. + * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished. + (w32_free_bdf_font): Unmap memory not handle. - * eval.c (Fcommandp): Doc fix. - Change doc-string comments to `new style' [w/`doc:' keyword]. +2007-06-20 Sam Steingold - * frame.c (Fframe_live_p): Doc fix. + * gmalloc.c (__morecore): Fix the declaration to comply with the + definition. - * buffer.c (selective-display-ellipses): Doc fix. +2007-06-20 Juanma Barranquero -2001-10-31 Gerd Moellmann + * w32term.c (w32_delete_display): Remove leftover declaration. + (w32_define_cursor, w32_initialize): Make static. - * lread.c (to_multibyte): Fix computation of new read_buffer_size. + * w32.c (_wsa_errlist): Fix typo in error message. + (init_environment): Ignore any environment variable from the + registry having a null value. - * xfaces.c (realize_x_face): If C is not a single-byte character, - set the face's colors_copied_bitwise_p instead of the defaulted_p - members which have a different meaning. - (free_face_colors): Do nothing for a face whose colors have been - copied bitwise. +2007-06-20 Glenn Morris - * dispextern.h (struct face) : New member. + * Makefile.in (LIBGIF): Default to -lgif. -2001-10-31 Pavel Jan,Am(Bk +2007-06-17 Jason Rumney - * marker.c, mocklisp.c: Change doc-string comments to `new style' - [w/`doc:' keyword]. + * w32menu.c (add_menu_item): Don't use multibyte string functions on + unicode strings. -2001-10-31 Gerd Moellmann +2007-06-16 Juanma Barranquero - * fns.c (require_unwind): Return Lisp_Object. + * xdisp.c (syms_of_xdisp) : + Fix typo in docstring. -2001-10-31 Pavel Jan,Am(Bk +2007-06-16 Eli Zaretskii - * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix. - (last-input-char): Revert doc-string to be the same as the - doc-string of `last-input-event'. + * w32menu.c (add_menu_item): Escape `&' characters in menu items + and their keybindings. - * xdisp.c: Fix typos in comments. +2007-06-15 Chong Yidong -2001-10-31 Gerd Moellmann + * composite.c (update_compositions): Fix last fix. - * window.c (grow_mini_window): Handle case that the root - window is already smaller than the nominal mininum height. +2007-06-14 Jason Rumney -2001-10-30 Stefan Monnier + * w32.c (get_process_times_fn): New function pointer. + (globals_of_w32): Intialize it if present in kernel32.dll. + (w32_get_internal_run_time): New function. - * emacs.c (main): Don't call keys_of_macros any more. + * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it. - * lisp.h (keys_of_macros): Remove. +2007-06-14 Kenichi Handa - * macros.c (keys_of_macros): Remove. + * composite.c (update_compositions): Check the validness of + compositions. - * xfaces.c (Fface_attribute_relative_p): Declare args. +2007-06-14 YAMAMOTO Mitsuharu -2001-10-30 Jason Rumney + * frame.h (struct frame) [MAC_OS]: New member external_tool_bar. + (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it. - * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer. - (enum_font_cb2): Ignore fonts with vertical orientation. + * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity. + (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR. -2001-10-30 Richard M. Stallman + * macgui.h (USE_MAC_TOOLBAR): New define. - * keyboard.c (Finput_pending_p): Doc fix. + * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler): + Return immediately unless popup is activated. -2001-10-30 Gerd Moellmann + * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe + background to scroll bar gap. + (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p. + (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost + scroll bars on frame edge. Check fringe background extension. + Don't clear extended fringe background area. + (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER) + (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P) + (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID): + [USE_MAC_TOOLBAR]: New macros. + (mac_move_window_with_gravity, mac_get_window_origin_with_gravity) + (mac_handle_toolbar_event, mac_image_spec_to_cg_image) + (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar) + (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event) + [USE_MAC_TOOLBAR]: New functions. + (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window + manually if previous repositioning has failed. + (mac_handle_keyboard_event): Use precomputed event kind. + (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region + as tool bar item click. Handle mouse movement over tool bar items. - * xterm.c (x_after_update_window_line): Don't run the code - clearing in borders for rows whose visible height is 0. + * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member + toolbar_win_gravity. + (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p. + (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]: + Add externs. - * xdisp.c (clear_garbaged_frames): Redraw the frame only if its - resized_p flag is set. If not set, use the much less flickering - method previously used. + * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window) + [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display. - * dispnew.c (change_frame_size_1): Set frame's resized_p. +2007-06-14 Chong Yidong - * frame.h (struct frame) : New member. + * image.c (search_image_cache): Remove unused variable. - * lread.c (to_multibyte): Ensure read_buffer is at least twice - as large as the number of bytes to convert. +2007-06-13 Chong Yidong - * lread.c (to_multibyte): New function. - (read1): Use it. + * xfns.c, xmenu.c: Link to xaw3d if available. -2001-10-30 Eli Zaretskii +2007-06-13 YAMAMOTO Mitsuharu - * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c). + * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members + frame_foreground and frame_background. -2001-10-30 Gerd Moellmann + * image.c (lookup_image): Save frame foreground and background colors. + (search_image_cache): Check if saved and current frame colors match. - * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel. - (x_set_glyph_string_background_width): Set extends_to_end_of_line_p - if the row's fill_line_p is set and drawing the last glyph with - DRAW_IMAGE_{RAISED,SUNKEN}. +2007-06-12 Stefan Monnier - * xdisp.c (clear_garbaged_frames): Call Fredraw_frame. + * regex.c (regex_compile): Remove the `regnum' counter. + Use bufp->re_nsub instead. Add support for \(?N:RE\). -2001-10-29 Stefan Monnier +2007-06-11 Stefan Monnier - * xmenu.c: Include coding.h and charset.h. - (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT. - (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part. - (single_submenu, xmenu_show): Use ENCODE_SYSTEM. - Explicitly set wv->help. Use `TRUE' rather than `True'. - (menu_help_callback): Use empty_string. + * term.c: Include intervals.h to declare Fget_text_property. - * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos. - (Fx_popup_dialog): Explicitly init f. - (w32_menu_display_help): Use empty_string. +2007-06-10 Jason Rumney -2001-10-29 Richard M. Stallman + * w32fns.c (Fx_file_dialog): Take size from struct not pointer. - * fns.c (Frequire): Detect recursive try to require the same - feature 3 or more levels deep, and get error. - (require_unwind): New subroutine. - (require_nesting_list): New variable. - (syms_of_fns): Init and staticpro it. +2007-06-08 Juanma Barranquero - * print.c (print_object): Clarify indication of insertion type. + * callint.c (Fcall_interactively): + * editfns.c (Fdelete_and_extract_region): + * fileio.c (Fread_file_name): + * fns.c (Fmapconcat): + * keyboard.c (cmd_error_internal): + * keymap.c (Fkey_description): + * lread.c (openp): + * minibuf.c (read_minibuf): + * search.c (wordify): + * sunfns.c (sel_read): + * xdisp.c (Fformat_mode_line, syms_of_xdisp): + * xfns.c (x_default_scroll_bar_color_parameter): + * xmenu.c (menu_help_callback): + * xselect.c (Fx_get_atom_name): + * xterm.c (x_term_init): Use empty_unibyte_string. -2001-10-29 Eli Zaretskii +2007-06-08 Dmitry Antipov (tiny change) - * coding.c (syms_of_coding): Document that locale-coding-system is - used for decoding input on X. + * alloc.c (init_strings): Initialize canonical empty strings. + (make_uninit_string, make_uninit_multibyte_string): Return appropriate + canonical empty string when the requested size is 0. - * window.c (Fscroll_left, Fscroll_right): Doc fix. + * emacs.c (empty_unibyte_string): Rename from empty_string. + (empty_multibyte_string): New canonical empty string. + (syms_of_emacs): Don't initialize empty_string. -2001-10-29 Pavel Jan,Am(Bk + * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte + string, if appropriate. + (empty_unibyte_string, empty_multibyte_string): New externs. + (empty_string): Remove extern. - * keyboard.c (Finput_pending_p): Fix typo in doc-string. - (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it. + * lread.c (syms_of_lread): Use empty_unibyte_string. -2001-10-29 Gerd Moellmann +2007-06-07 Jason Rumney - * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area, - use NO_CURSOR if cursor_in_non_selected_windows is false. + * s/ms-w32.h: Don't define HAVE_TZNAME. - * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for - the slant attribute if FRAME is t. + * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows. - * xfns.c (x_set_internal_border_width): Set frame garbaged - when X window doesn't exist yet. +2007-06-07 YAMAMOTO Mitsuharu - * xterm.c (x_after_update_window_line): Clear internal border - in different circumstances. + * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT. - * xterm.c (XTread_socket) : Don't use - STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa - . + * macfns.c (mac_get_window_bounds): Move extern to macterm.h. + (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse. -2001-10-28 Eli Zaretskii + * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler): + Don't call next handler. + [TARGET_API_MAC_CARBON] (install_menu_target_item_handler): + Remove argument. Install handler to application. + (set_frame_menubar): Don't change deep_p. + (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and + FRAME_OUTER_TO_INNER_DIFF_Y. + (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P) + (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID) + [HAVE_DIALOGS]: New macros. + [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog): + Use them. + (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString. + + * macselect.c [MAC_OSX] (install_service_handler): Rename from + init_service_handler. All callers changed. Return OSStatus value. + + * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort. + All callers changed so as not to call SetPortWindowPort. + (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw. + (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from + mac_draw_string_common. + (mac_draw_image_string_qd): Likewise. + (mac_draw_string_common): Use them. Add INLINE. + (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]: + Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and + GetGlobalMouse. + (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X + and FRAME_OUTER_TO_INNER_DIFF_Y. + [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise. + [USE_MAC_TSM] (mac_handle_text_input_event): Likewise. + (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for + repositioning window to mac_handle_window_event. + (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for + saving window location to mac_handle_window_event + [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here. + (install_menu_target_item_handler): Remove argument in extern. + [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers): + Also accept command events. + (do_keystroke): New function created from XTread_socket. + (init_command_handler): Remove functions. + [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window + and save window location by kEventWindowShowing and kEventWindowHiding + handlers here. Don't call next handler for window state change and + focus events. + (mac_handle_application_event, mac_handle_keyboard_event) + [TARGET_API_MAC_CARBON]: New functions. + (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for + kEventWindowShowing and kEventWindowHiding events. Move installation + of mouse, font, text input and menu target item handlers to + install_application_handler. + (install_application_handler) [TARGET_API_MAC_CARBON]: New function. + (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: + New function. + (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: + Register it. + (XTread_socket) [TARGET_API_MAC_CARBON]: + Consolidate SendEventToEventTarget calls. + Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y. + Move application activation handler to mac_handle_application_event. + Move keyboard handler to mac_handle_keyboard_event. + (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke. + (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call + init_command_handler. Call install_application_handler. - * m/ibms390.h: New file. From Adam Thornton - . + * macterm.h (mac_get_window_bounds): Move extern from macfns.c. + (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros. -2001-10-28 Gerd Moellmann +2007-06-07 Glenn Morris - * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color. + * emacs.c (main): Use `emacs-copyright' in --version output. - * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing - a loop counter. +2007-06-06 Chong Yidong -2001-10-28 Pavel Jan,Am(Bk + * image.c (xpm_load): Remove spurious call to xpm_init_color_cache. - * emacs.c: Use argv[0] instead of "emacs" when -t was specified. +2007-06-06 YAMAMOTO Mitsuharu - * keyboard.c: Change doc-string comments to `new style' [w/`doc:' - keyword]. - Fix typos in comments. + * macfns.c (mac_window): Replace WindowPtr with WindowRef. - * emacs.c (bug_reporting_address): New function. - Use it when displaying usage message. + * macgui.h: Replace WindowPtr with WindowRef. - * minibuf.c (read_minibuf): Remove unused external declaration of - variable `Qread_only'. + * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and + GetMenuRef, respectively. Replace WindowPtr with WindowRef. + Replace ControlHandle with ControlRef. + (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU. - * keymap.c (access_keymap): Remove unused variable `charset'. + * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and + GetMenuRef, respectively. Replace WindowPtr with WindowRef. + Replace ControlHandle with ControlRef. + (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead. + [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'. -2001-10-28 Miles Bader + * macterm.h (struct scroll_bar): Rename member control_handle_low + and control_handle_high to control_ref_low and control_ref_high. + All uses changed. + (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from + SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE, + respectively. All uses changed. + (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground) + (install_window_handler, remove_window_handler): Replace WindowPtr + with WindowRef in externs. - * xfaces.c (merge_face_heights): Handle TO being relative as well. - Remove #ifdef'd-out code. - (Fface_attribute_relative_p, Fmerge_face_attribute): New functions. - (syms_of_xfaces): Initialize them. +2007-06-05 Juanma Barranquero -2001-10-27 Jason Rumney + * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops. - * w32fns.c (w32_wnd_proc) : Destroy the system caret. - : Track cursor - position using the system caret. +2007-06-03 Nick Roberts - * w32term.c (w32_system_caret_hwnd, w32_system_caret_width) - (w32_system_caret_height, w32_system_caret_x) - (w32_system_caret_y): New variables for tracking system caret. - (w32_initialize): Initialize them. - (x_display_and_set_cursor): Make system caret follow the active cursor. + * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case. - * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET): - New messages types. + * frame.c (Fmouse_position, Fmouse_pixel_position): + Condition on HAVE_GPM too. - * w32term.c (note_mouse_highlight): Clear old help_echo. + * term.c (term_mouse_highlight): Remove unused variables. + (Fterm_open_connection): Set gpm_zerobased to 1. + (term_mouse_movement, term_mouse_click, handle_one_term_event): + Use zero based co-ordinates. + (handle_one_term_event): Report a drag as mouse movement too. -2001-10-27 Pavel Jan,Am(Bk + * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM. - * xterm.c: Fix typo in a comment. +2007-06-03 Chong Yidong - * emacs.c: Fix typos in comments. - Remove unnecessary spaces. - Change doc-string comments to `new style' [w/`doc:' keyword]. - (USAGE2): Fix typos in usage string. + * image.c (search_image_cache): New function. Require background + color match if background color is unspecified in the image spec. + (uncache_image, lookup_image): Use it. - * xterm.c: Fix typo in a comment. +2007-06-01 Juanma Barranquero - * lisp.h (gdb_lisp_params): Remove code in #if 0 which is now in - emacs.c. + * window.c (Fshrink_window): Reflow docstring. -2001-10-27 Gerd Moellmann +2007-06-02 Chong Yidong - * xdisp.c (move_it_vertically_backward): Use 2/3 line_height - instead of 1/2 line_height in the heuristic for skipping - farther backward when target_y was not reached. + * Version 22.1 released. - * sound.c (sound_perror): Unblock SIGIO, turn on atimers. - Display errno only if non-zero. - (sound_warning): New function. - (vox_configure): Don't treat failing to set sample rate as error. - (various places): Improve error messages. +2007-06-01 Richard Stallman -2001-10-26 Eli Zaretskii + * xfns.c (x_encode_text): Add GCPRO. - * fileio.c (Faccess_file): Run the argument filename through - Fexpand_file_name, before using it. +2007-06-01 YAMAMOTO Mitsuharu - * dispnew.c (syms_of_display) : Add a reference to - ring-bell-function. Suggested by Alf-Ivar Holm + * xfns.c (x_set_name_internal): Save encoded name before + x_encode_text in case string data is relocated. -2001-10-26 Gerd Moellmann +2007-05-31 Richard Stallman - * insdel.c (insert_1_both): Do nothing if NCHARS == 0. + * buffer.c (syms_of_buffer): Doc fix. - * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]: - Fix clearing in the case of scroll bars on the right. +2007-05-30 Nick Roberts -2001-10-26 Juanma Barranquero + * sysdep.c (init_sys_modes): Add rather than replace with + O_NONBLOCK. - * w32gui.h (XImage): Add a dummy typedef. + * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to + term_mouse_moveto. -2001-10-26 Gerd Moellmann + * termhooks.h (term_mouse_moveto): New extern. - * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison. + * term.c (mouse_face_window): Rename... + (Qmouse_face_window): ...to this. + (term_show_mouse_face, term_clear_mouse_face) + (term_mouse_highlight): Use Qmouse_face_window. + (term_mouse_moveto): New function. + (term_mouse_position): Make it work. + (syms_of_term): Uncomment assignment to mouse_position_hook. + Staticpro Qmouse_face_window. -2001-10-25 Eli Zaretskii +2007-05-28 YAMAMOTO Mitsuharu - * frame.c (Fframe_parameter): Fix last change. + * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t + around current_column call. - * fileio.c: Revert last change (which removed old commented-out - version of expand-file-name). Add a comment that explains why - this old version should not be removed. +2007-05-26 Dan Nicolaescu -2001-10-25 Gerd Moellmann + * xfaces.c (syms_of_xfaces): Delete stray semicolon. + * xdisp.c (next_element_from_buffer): + * window.c (delete_window): + * term.c (term_mouse_highlight): + * msdos.c (getdefdir): + * macterm.c (mac_create_bitmap_from_bitmap_data) + (init_font_name_table): + * fns.c (Fsxhash): + * data.c (Fmake_local_variable): + * ccl.c (ccl_driver): Likewise. - * frame.c (Fframe_parameter): Fix a bug whereby some - ``artificial'' frame parameters, like `minibuffer' were not - obtained by calling Fframe_parameters. +2007-05-24 YAMAMOTO Mitsuharu - * xterm.c (show_mouse_face): Clean up. Recognize overwritten - cursor differently. + * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event): + Call mac_wakeup_from_rne on window size change. - * xdisp.c (move_it_vertically_backward): Compute line height - differently. Add heuristic to try to be more compatible to 20.x. +2007-05-25 Chong Yidong -2001-10-25 Stefan Monnier + * image.c (uncache_image): Fix typo. - * lisp.h (make_fixnum_or_float): Coerce double to int explicitly. +2007-05-23 Johannes Weiner (tiny change) - * editfns.c (text_property_stickiness): Fix Lisp_Object used as - boolean. + * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too. -2001-10-25 Miles Bader +2007-05-22 Richard Stallman - * xfns.c (png_load): Make sure SPECIFIED_BG is a string. - BG is a pointer to a structure, not a structure. - (gif_format, png_format): Add missing commas. + * xterm.c (x_connection_closed): Remove NO_RETURN. -2001-10-24 Richard M. Stallman +2007-05-22 Martin Rudalics - * xfaces.c (Fface_attributes_as_vector): New function. - (syms_of_xfaces): Defsubr it. + * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD. -2001-10-24 Pavel Jan,Am(Bk +2007-05-21 Chong Yidong - * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused - variable `area'. + * image.c (uncache_image): New function. + (Fimage_refresh): New function. -2001-10-25 Pavel Jan,Am(Bk +2007-05-20 Jan Dj,Ad(Brv - * search.c (scan_newline): Remove unused variable `selective_display'. + * Makefile.in: Move GPM check outside HAVE_X_WINDOWS. -2001-10-25 Miles Bader +2007-05-20 Nick Roberts - * dispextern.h (struct image): Add `background', - `background_valid', and `background_transparent' fields. - (image_background, image_background_transparent): New declarations. - (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros. - * xfns.c (image_background, image_background_transparent) - (four_corners_best): New functions. - (xpm_format, png_format, jpeg_format, tiff_format, gif_format) - (gs_format): Add `:background' entry. - (lookup_image): Set IMG's background color if specified. - (pbm_load, xbm_load_image, png_load): Set IMG's background field - when appropriate. - (x_clear_image_1): Reset `background_valid' and - `background_transparent_valid' fields. - (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of - calculating it here. Set IMG's background_transparent field. - (enum xpm_keyword_index): Add XPM_BACKGROUND. - (enum png_keyword_index): Add PNG_BACKGROUND. - (enum jpeg_keyword_index): Add JPEG_BACKGROUND. - (enum tiff_keyword_index): Add TIFF_BACKGROUND. - (enum gif_keyword_index): Add GIF_BACKGROUND. - (enum gs_keyword_index): Add GS_BACKGROUND. - (pbm_load, png_load, jpeg_load, tiff_load, gif_load): - Pre-calculate image background color where necessary. - * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and - `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background - color to use for image glyph reliefs. + * config.in, keyboard.c, Makefile.in, sysdep.c, term.c, + * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H. -2001-10-24 Gerd Moellmann +2007-05-20 Nick Roberts - * xterm.c (x_draw_glyphs): Don't check for cursor overwriting - in full-width rows. + * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT + conditional on [HAVE_GPM_H]. - * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]: - Fix clearing of area not covered by scroll bar. +2007-05-19 Stefan Monnier -2001-10-24 Pavel Jan,Am(Bk + * syntax.c (skip_chars): Update syntax-table only after we checked that + the new location is valid. - * xterm.c (x_insert_glyphs): Remove unused variables `real_end' - and `real_start'. - (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'. - (glyph_rect): Remove unused variable `area'. +2007-05-19 YAMAMOTO Mitsuharu -2001-10-24 Gerd Moellmann + * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around + mac_get_window_bounds. - * xdisp.c: Change #ifdef GLYPH_DEBUG to #if. +2007-05-20 Nick Roberts - * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos. - (row_containing_pos): Take additional argument DY. - Treat rows ending in middle of char differently. - (display_line): Handle tabs on window systems differently. + * Makefile.in (LIBGPM): Allow it to be set from configure. + If set then link Emacs with it. - * xterm.c, w32term.c (fast_find_position): Call row_containing_pos - with additional argument. + * config.in: Regenerate. - * dispextern.h (row_containing_pos): Adjust prototype. + * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): + New externs. + + * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT. + Include gpm.h. + (handle_one_term_event, term_gpm): New externs. + + * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking + and allow it to be interrupted by SIGIO. + + * process.c (gpm_wait_mask, max_gpm_desc): New variables. + (wait_reading_process_output): Wait on gpm_fd too. + (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions. + (add_gpm_wait_descriptor_called_flag): New variable. + (delete_keyboard_wait_descriptor): Check gpm_wait_mask. + + * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message) + (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved) + (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard): + Extend HAVE_MOUSE ifdefs to HAVE_GPM_H. + (make_lispy_event): Add case GPM_CLICK_EVENT. + (read_avail_input): Handle mouse input. + + * term.c (write_glyphs_with_face): New function. + [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h. + (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row) + (mouse_face_end_col, mouse_face_past_end, mouse_face_window) + (mouse_face_face_id, term_gpm, pos_x, pos_y) + (last_mouse_x, last_mouse_y): New variables. + (term_show_mouse_face, term_clear_mouse_face, fast_find_position) + (term_mouse_highlight, term_mouse_movement, term_mouse_position) + (term_mouse_click, handle_one_term_event, Fterm_open_connection) + (Fterm_close_connection): New functions. + (term_init): Initialise mouse_face_window. + +2007-05-19 Chong Yidong - * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing) - (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables. - (try_window_id, try_window_reusing_current_matrix) - (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited. - (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables. + * xdisp.c (redisplay_window): If first window line is a + continuation line, recompute the new window start instead of + recentering. -2001-10-24 Pavel Jan,Am(Bk +2007-05-18 Glenn Morris - * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of - gnuemacs). - (HAVE_BOXES): Fix typo in comment. - (push_menu_pane): Fix typo in comment. + * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD. + Suggested by Alfred M. Szmidt . - * xdisp.c (display_prop_string_p): Remove unused local declaration - of `Qwhen'. - (single_display_prop_string_p): Remove unused local declarations - of `Qwhen' and `Qmargin'. - (string_buffer_position): Remove unused variable `around'. - (store_frame_title): Remove unused variable `width'. +2007-05-17 Glenn Morris - * window.c: Don't define max. - (coordinates_in_window): Remove unused variable `uy'. + * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD. - * widget.c: Don't define max. +2007-05-16 YAMAMOTO Mitsuharu - * process.c: Don't define max. - (create_process): Remove unused variable `buffer'. + * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert + dead key repeat and up events. -2001-10-23 Gerd Moellmann +2007-05-14 Chong Yidong - * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error. + * image.c (pbm_load): Check image size for monochrome pbm. -2001-10-23 Eli Zaretskii +2007-05-13 Chong Yidong - * xfaces.c (Finternal_set_lisp_face_attribute) - [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the - frame is on a windowed display. + * xterm.c (XTread_socket): Revert last change. -2001-10-23 Gerd Moellmann +2007-05-12 Chong Yidong - * dispnew.c (sync_window_with_frame_matrix_rows): - Fix handling of windows which aren't full-width, fix handling - of marginal areas. + * image.c (pbm_load): Correctly check image size for greyscale pbm. - * lread.c (syms_of_lread) : Raise to 50. + * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC). -2001-10-23 Andreas Schwab +2007-05-07 Stefan Monnier - * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override - LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc". + * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object + mixup (YAILOM). -2001-10-23 Gerd Moellmann +2007-05-07 Andreas Schwab - * xterm.c (x_draw_glyphs): Remove parameters READ_START and - REAL_END. Notice if cursor gets overwritten. - (notice_overwritten_cursor): Take X positions as parameters. - (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p - around call to x_draw_glyphs. + * keymap.c (Flookup_key): Fix typo in last change. -2001-10-23 Pavel Jan,Am(Bk +2007-05-07 Stefan Monnier - * syntax.c (modify-syntax-entry): Fix argument names (use CHAR - instead of C) and usage. + * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier + mapping for unibyte strings. - * editfns.c (char-to-string): Fix argument names (use CHAR instead - of C) and usage. +2007-05-01 YAMAMOTO Mitsuharu - * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top', - `left', `max_width' and `max_height'. + * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c. + (Fx_popup_dialog) [MAC_OSX]: Likewise. -2001-10-23 Gerd Moellmann +2007-04-29 Richard Stallman - * xdisp.c (display_line): For a tab continued to the next line, - set row's ends_in_middle_of_char_p. + * insdel.c (replace_range): For undo, record insertion first. -2001-10-22 Gerd Moellmann +2007-04-29 Andreas Schwab - * xdisp.c (display_line): Fix computation of continuation lines - width for TABs. + * lisp.h (VECSIZE): Use OFFSETOF. -2001-10-22 Pavel Jan,Am(Bk +2007-04-29 YAMAMOTO Mitsuharu - * xdisp.c (build_desired_tool_bar_string): Remove unused variable - `Qlaplace'. + * xdisp.c (try_window_reusing_current_matrix): Fix number of + disabled lines. - * fileio.c: Remove unused code. +2007-04-28 Richard Stallman -2001-10-22 Miles Bader + * lread.c (read_escape): In a string, \s is always space. - * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL) - (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD): - Remove `DOC_STRINGS_IN_COMMENTS' cases. +2007-04-27 Jan Dj,Ad(Brv -2001-10-21 Jason Rumney + * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog. - * w32term.c (x_erase_phys_cursor): Remove inverse_p again. + * gtkutil.c (xg_update_menubar, create_menus): Create empty + submenu for menu bar items. -2001-10-21 Eli Zaretskii - - * mocklisp.c (Fml_if, Fml_provide_prefix_argument) - (Finsert_string): Avoid the multi-line string literals warning. - -2001-10-22 Miles Bader - - * doc.c (Vhelp_manyarg_func_alist): Variable removed. - (Fdocumentation): Don't use it. - (syms_of_doc): Don't initialize it. - - * keyboard.c (Ftrack_mouse): Add usage: string to doc string. - * print.c (Fwith_output_to_temp_buffer): Likewise. - * window.c (Fsave_window_excursion): Likewise. - * editfns.c (Fsave_excursion, Fsave_current_buffer) - (Fsave_restriction): Likewise. - * eval.c (Frun_hooks, Frun_hook_with_args) - (Frun_hook_with_args_until_failure) - (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif) - (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun) - (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch) - (Funwind_protect, Fcondition_case): Likewise. - * coding.c (Ffind_operation_coding_system): Likewise. - * keyboard.c (Ftrack_mouse): Likewise. - -2001-10-21 Miles Bader - - * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply) - (Fmake_hash_table): Add usage: string to doc string. - * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers) - (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat) - (Fencode_time, Finsert_and_inherit_before_markers): Likewise. - * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument) - (Fml_prefix_argument_loop): Likewise. - -2001-10-21 Pavel Jan,Am(Bk - - * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'. - - * sysdep.c (init_sys_modes): Change doc-string comments to `new - style' [w/`doc:' keyword]. - - * data.c, fileio.c, indent.c, print.c, search.c, sound.c, - * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string - comments to `new style' [w/`doc:' keyword]. - -2001-10-21 Jason Rumney - - * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName. - - * w32term.c (remember_mouse_glyph): New function. - (w32_mouse_position): Use it. - (note_mouse_movement): If the mouse moved off the glyph, remember - its new position. - - * w32term.h (struct w32_output): Correct spelling of x_compatible. - (w32_display_info): Add mouse_face_overlay. - - * w32term.c (notice_overwritten_cursor): Renamed from - note_overwritten_text_cursor. Rewritten to take glyph widths into - account. - (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P. - (fast_find_string_pos): New function. - (fast_find_position): Return the correct vpos. Add parameter - STOP. In the final row, stop before glyphs having STOP as object. - Don't consider glyphs that are not from a buffer. - (fast_find_position) [0]: Add a presumably more correct version - for after 21.1. - (expose_window_tree, expose_frame): Don't compute intersections here. - (expose_window): Do it here instead. - (expose_window_tree, expose_window, expose_line): Return 1 when - overwriting mouse-face. - (expose_window): If W is the window currently being updated, mark - the frame garbaged. - (expose_frame): If mouse-face was overwritten, redo it. - (x_use_underline_position_properties): New variable. - (syms_of_xterm): DEFVAR_BOOL it. - (x_draw_glyph_string): Add comment to use it in future. - (x_draw_glyph_string): Restore clipping after drawing box. - Fix a computation of the underline position. - (w32_get_glyph_string_clip_rect): Minor cleanup. - (x_fill_stretch_glyph_string): Remove an assertion. - (x_produce_glyphs): Don't convert multibyte characters - to unibyte characters in unibyte buffers. - (cursor_in_mouse_face_p): New function. - (x_draw_stretch_glyph_string): Use it to choose a different GC - when drawing a cursor within highlighted text. Don't draw - background again if it has already been drawn. - (x_draw_glyph_string_box): Don't draw a full-width - box just because the glyph row's full_width_p flag is set. - (x_draw_glyphs): Fix computation of rightmost x for - full-width rows. - (x_dump_glyph_string): Put in #if GLYPH_DEBUG. - (w32_draw_relief_rect): Extend left shadow to the bottom and left; - change bottom shadow accordingly. Some cleanup. - (x_update_window_end): Handle overwritten mouse face - also for tool bar windows. - (show_mouse_face): Set the glyph row's mouse_face_p flag also when - DRAW is DRAW_IMAGE_RAISED. - (clear_mouse_face): Return 1 if text with mouse face was - actually redrawn. Make the function static. - Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might - optimize away highlighting if we pass over that same overlay again. - (note_mouse_highlight): Call mouse_face_overlay_overlaps - to detect a case where we have to highlight a different region - despite not having left the currently highlighted region. - Set mouse_face_overlay in the x_display_info. Avoid changing the - mouse pointer shape when show_mouse_face has already done it, or - there is no need. Handle mouse-face and help-echo in strings. - (glyph_rect): New function. - (w32_mouse_position): Use it to raise the threshold for mouse - movement event generation. - (w32_initialize_display_info): Initialize the x_display_info's - mouse_face_overlay. - (w32_set_vertical_scroll_bar): Don't clear a zero height - or width area. - (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure - a widget to zero height. - - * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]: - Protect unibyte strings created by replacing their multibyte - equivalents in menu_items. - (w32_menu_show): Don't overwrite an item's name with its key - description in case the description is a multibyte string. - (single_submenu): Some cleanup. - - * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed. - (postprocess_image): New function. - (lookup_image): Call it for all image types except PostScript. - (x_kill_gs_process): Call postprocess_image. - (tiff_error_handler, tiff_warning_handler): New functions. - (tiff_load): Install them as handlers. - (x_kill_gs_process): Recognize if someone has cleared the image - cache under us. - (valid_image_p): Protect better against invalid image - specifications. Previous code could signal an error. - (Fx_hide_tip, Fshow_tip): Doc fix. - (Fv_max_tooltip_size): New variable. - (syns_of_xfns): DEFVAR_LISP it. - (Fx_show_tip): Add parameter TEXT. Set the tip frame's root - window buffer to *tip* right after creating the frame. Set frame's - window_width. Use a maximum tooltip size specified by - Vx_max_tooltip_size, if that has valid contents. - (compute_tip_xy): Add parameters WIDTH and HEIGHT. - Make sure the tooltip is completely visible. - (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil. - (Fx_create_frame): Adjust the frame's height for presence - of the tool bar before calling x_figure_window_size. - (x_set_tool_bar_lines): Clear the tool bar window's current matrix - when the window gets smaller. - (x_set_foreground_color): Set frame's cursor_pixel. - (x_set_foreground_color, x_set_background_color): Cleaned up. - (x_set_font): Handle case of x_new_fontset returning the same name - as before, although there was a change in fontsets. - -2001-10-21 Miles Bader - - * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior) - (Flogxor): Add usage: string to doc string. - * charset.c (Fstring): Likewise. - * callproc.c (Fcall_process_region, Fcall_process): Likewise. - * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise. - -2001-10-21 Pavel Jan,Am(Bk - - * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords. - - * alloc.c: Reindent DEFUNs with doc: keywords. - - * abbrev.c (Finsert_abbrev_table_description): Reindent. - - * frame.c: Change doc-string comments to `new style' [w/`doc:' - keyword]. - -See ChangeLog.9 for earlier changes. +See ChangeLog.10 for earlier changes. ;; Local Variables: ;; coding: iso-2022-7bit