From: Glenn Morris Date: Sat, 19 Jan 2013 20:38:13 +0000 (-0800) Subject: Merge from emacs-24; up to 2012-12-11T09:51:12Z!dmantipov@yandex.ru X-Git-Tag: emacs-24.3.90~173^2~7^2~261 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=795e7a5b3202851a89a042578ee572962a723d65;p=emacs.git Merge from emacs-24; up to 2012-12-11T09:51:12Z!dmantipov@yandex.ru --- 795e7a5b3202851a89a042578ee572962a723d65 diff --cc ChangeLog index cf2d0dc250c,cddaaa58a5f..02a0453b9ec --- a/ChangeLog +++ b/ChangeLog @@@ -1,15 -1,9 +1,20 @@@ -2013-01-16 Glenn Morris ++2013-01-19 Glenn Morris + + * Makefile.in (install-arch-indep): Put back a chmod that was + removed 2012-05-19. (Bug#13430) + -2013-01-10 Glenn Morris +2013-01-16 Paul Eggert + + Merge from gnulib, incorporating: + 2013-01-16 largefile: port better to Mac OS X 10.5 + 2013-01-15 stdint: fix build with Android's Bionic fox x86 + +2013-01-16 Paul Eggert + + * configure.ac: Document that --enable-gcc-warnings emits errors. + (Bug#13448) + +2013-01-13 Glenn Morris * make-dist: Add options for xz compression and no compression. diff --cc doc/emacs/ChangeLog index 1b5bdc8fb53,9471310f252..6e4c9fbc65b --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@@ -1,8 -1,13 +1,16 @@@ -2013-01-18 Glenn Morris ++2013-01-19 Glenn Morris + + * custom.texi (Directory Variables): Fix paren typo. + -2013-01-16 Glenn Morris - + * trouble.texi (Crashing): Not all addr2line have -p. (Bug#13445) + + * custom.texi (Custom Themes): Fix typo. + +2013-01-07 Bastien Guerry + + * help.texi (Apropos): Document `apropos-user-option' and update + the doc for `apropos-variable'. + 2013-01-05 Glenn Morris * text.texi (HTML Mode): Remove deleted nxml C-RET binding. diff --cc doc/emacs/trouble.texi index de5ed493e63,81014d7d0d2..21ac6af28da --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@@ -325,24 -320,23 +325,26 @@@ backtrace with source-code line numbers @example sed -n 's/.*\[\(.*\)]$/\1/p' @var{backtrace} | - addr2line -Cfip -e @var{bindir}/@var{emacs-binary} - addr2line -C -f -i -e @var{bindir}/emacs ++ addr2line -C -f -i -e @var{bindir}/@var{emacs-binary} @end example @noindent Here, @var{backtrace} is the name of a text file containing a copy of -the backtrace, and @var{bindir} is the name of the directory that -contains the Emacs executable.@footnote{You may wish to add the -@option{-p} option, if your version of @command{addr2line} supports it.} +the backtrace, @var{bindir} is the name of the directory that +contains the Emacs executable, and @var{emacs-binary} is the name of +the Emacs executable file, normally @file{emacs} on GNU and Unix - systems and @file{emacs.exe} on MS-Windows and MS-DOS. ++systems and @file{emacs.exe} on MS-Windows and MS-DOS.@footnote{You ++may wish to add the @option{-p} option, if your version of ++@command{addr2line} supports it.} @cindex core dump - Optionally, Emacs can generate a @dfn{core dump} when it crashes. A -core dump is a file containing voluminous data about the state of the -program prior to the crash, usually examined by loading it into a -debugger such as GDB@. On many platforms, core dumps are disabled by -default, and you must explicitly enable them by running the shell -command @samp{ulimit -c unlimited} (e.g., in your shell startup -script). + Optionally, Emacs can generate a @dfn{core dump} when it crashes, on +systems that support core files. A core dump is a file containing +voluminous data about the state of the program prior to the crash, +usually examined by loading it into a debugger such as GDB@. On many +platforms, core dumps are disabled by default, and you must explicitly +enable them by running the shell command @samp{ulimit -c unlimited} +(e.g., in your shell startup script). @node After a Crash @subsection Recovery After a Crash diff --cc doc/lispref/ChangeLog index 851f727621e,8a35dd6d4bb..111a1594512 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@@ -1,9 -1,8 +1,14 @@@ -2013-01-16 Glenn Morris ++2013-01-19 Glenn Morris + + * macros.texi (Indenting Macros): Fix order of an indent + symbol's arguments. (Bug#13450) + +2013-01-19 Paul Eggert + + Allow floating-point file offsets. + * files.texi (Reading from Files, Writing to Files): + Say that file offsets can be numbers, not just integers. + 2013-01-09 Glenn Morris * commands.texi (Interactive Codes): diff --cc lisp/ChangeLog index 8d0a61525d9,7be8224ae65..34dbe74f23f --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,289 -1,25 +1,301 @@@ -2013-01-18 Leo Liu ++2013-01-19 Leo Liu + + * dired.el (dired-get-marked-files): Prune erroneous values due to + last change. (Bug#13152) + -2013-01-17 Glenn Morris ++2013-01-19 Glenn Morris + + * progmodes/etags.el (tags-table-check-computed-list): + Preserve point in tags buffer. (Bug#13412) + -2013-01-16 Glenn Morris - + * emacs-lisp/lisp-mode.el (lisp-indent-function): Doc fix. + +2013-01-19 Christian Wittern (tiny change) + Chong Yidong + + * image-mode.el (image-next-file, image-previous-file): New + commands (Bug#8453). + (image-mode-map): Bind them to n and p. + (image-mode--images-in-directory): New helper function. + +2013-01-19 Chong Yidong + + * image-mode.el (image-mode-fit-frame): Add a frame argument. + Suggested by Drew Adams (Bug#7730). Handle window decorations; + save and restore the old window configuration. + +2013-01-18 Leo Liu + + * progmodes/js.el: Tweak autoload cookie for alias. + +2013-01-17 Michael Albinus + + * autorevert.el (auto-revert-notify-watch-descriptor): Make it + buffer local, again. This was lost with the fix on 2013-01-12. + +2013-01-17 Jürgen Hötzel + + * eshell/esh-util.el (eshell-path-env): Make it buffer local, in + order to support several eshell buffers in parallel. + +2013-01-17 Michael Albinus + + * autorevert.el (auto-revert-use-notify): In the :set function, do + not modify `kill-buffer-hook'. + (auto-revert-notify-rm-watch): Remove + `auto-revert-notify-rm-watch' from `kill-buffer-hook'. + (auto-revert-notify-add-watch): Do not call + `auto-revert-notify-rm-watch', but add it to a buffer local + `kill-buffer-hook'. + +2013-01-16 Stefan Monnier + + * emacs-lisp/trace.el (trace--read-args): Use a closure and an honest + call to `eval' rather than a backquoted lambda. + +2013-01-15 Stefan Monnier + + * emacs-lisp/nadvice.el (advice--tweak): Make it possible for `tweak' + to return an explicit nil. + (advice--remove-function): Change accordingly. + + * emacs-lisp/advice.el (ad-preactivate-advice): Adjust the cleanup to + the use of nadvice.el. + + * progmodes/which-func.el (which-function): Silence imenu errors + (bug#13433). + +2013-01-15 Michael R. Mauger + + * progmodes/sql.el: (sql-imenu-generic-expression): + (sql-mode-font-lock-object-name): Match schema qualified names. + (sql-connect): Use string keys. + (sql-product-interactive): Wait for interpreter prompt. + (sql-comint-oracle): Set process coding based on NLS_LANG. + +2013-01-15 Michael R. Mauger + + * progmodes/sql.el (sql-output-to-send): Remove, unused. + (sql-interactive-remove-continuation-prompt): + (sql-send-magic-terminator, sql-interactive-mode): Remove references. + +2013-01-14 Leo Liu + + * calendar/calendar.el (calendar-redraw): Sync window-point and point. + (Bug#13420) + +2013-01-14 Glenn Morris + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Fix interpretation of gnu line.col1-col2 format. (Bug#13335) + +2013-01-13 Fabián Ezequiel Gallina + + * progmodes/python.el (python-nav-end-of-statement): + Fix cornercase when handling multiline strings. + +2013-01-13 Richard Stallman + + * mail/sendmail.el (mail-position-on-field): Add doc string. + * mail/rmailmm.el (rmail-insert-mime-forwarded-message): - Revert 2012-12-29 change. Ref: - + Get current message boundaries and pass them to + message-forward-make-body-mime. Minor style changes. + +2013-01-13 Eli Zaretskii + + * cus-start.el (all): Avoid warnings about + scroll-bar-adjust-thumb-portion on platforms where it is not defined. + +2013-01-11 Jan Djärv + + * cus-start.el (all): Add scroll-bar-adjust-thumb-portion. + +2013-01-13 Stefan Monnier + + * jit-lock.el (jit-lock-debug-mode): New minor mode. + (jit-lock--debug-fontifying): New var. + (jit-lock--debug-fontify): New function. + * subr.el (condition-case-unless-debug): Don't prevent catching the + error, just let the debbugger run. + * emacs-lisp/timer.el (timer-event-handler): Don't prevent debugging + timer code and don't drop errors silently. + +2013-01-12 Michael Albinus + + * autorevert.el (auto-revert-notify-watch-descriptor): Give it + `permanent-local' property. + (auto-revert-notify-handler): Use `file-equal-p'. + +2013-01-12 Eli Zaretskii + + * autorevert.el (auto-revert-notify-handler): Fix filtering of + file notification by ACTION. For filtering by file name, compare + only the non-directory part of the file name. -2013-01-10 Fabián Ezequiel Gallina +2013-01-12 Stefan Monnier - * progmodes/python.el (python-nav-end-of-statement): Fix - cornercase when handling multiline strings. + * autorevert.el: Use cl-lib instead of cl. + + * vc/vc-bzr.el (vc-bzr--sanitize-header): New function (bug#13307). + (vc-bzr-checkin): Use it. + * vc/log-edit.el (log-edit-extract-headers): Don't presume FUNCTION + will preserve match-data. + +2013-01-11 Felix H. Dahlke + + * progmodes/js.el: Fix multiline declarations's indentation (bug#8576). + (js--declaration-keyword-re): New var. + (js--multi-line-declaration-indentation): New function. + (js--proper-indentation): Use it. + +2013-01-11 Aaron S. Hawley + + * calc/calc.el (calc-highlight-selections-with-faces) + (calc-dispatch): + * comint.el (comint-history-isearch-message): + * emacs-lisp/edebug.el (edebug-read, edebug-eval-defun): + * ffap.el (ffap-string-at-point-region, ffap-next) + (ffap-string-at-point, ffap-string-around) + (ffap-copy-string-as-kill, ffap-highlight-overlay) + (ffap-literally): + * font-lock.el (font-lock-keywords-alist) + (font-lock-removed-keywords-alist): + * help-mode.el (help-xref-symbol-regexp): + * info.el (Info-find-emacs-command-nodes): + * international/mule.el (add-to-coding-system-list): + * isearch.el (isearch-message-function, isearch-fail-pos): + * misearch.el (multi-isearch-next-buffer-function): + * newcomment.el (comment-box): + * printing.el (pr-txt-printer-alist, pr-ps-printer-alist) + (pr-setting-database): + * progmodes/cc-fonts.el (c-font-lock-keywords-3) + (c++-font-lock-keywords-3, objc-font-lock-keywords-3) + (java-font-lock-keywords-3, idl-font-lock-keywords-3) + (pike-font-lock-keywords-3): + * progmodes/compile.el (compile): + * progmodes/etags.el (tags-table-files) + (tags-table-files-function, tags-included-tables-function): + * progmodes/gdb-mi.el (gdb, gdb-setup-windows) + (gdb-restore-windows): + * ps-print.el (ps-even-or-odd-pages, ps-spool-buffer-with-faces) + (ps-n-up-filling-database): + * server.el (server-buffer, server-log): + * simple.el (newline, delete-backward-char, delete-forward-char) + (minibuffer-history-isearch-message, kill-line, track-eol) + (temporary-goal-column): + * textmodes/flyspell.el (flyspell-mark-duplications-flag) + (flyspell-default-deplacement-commands): + * textmodes/ispell.el (ispell-accept-output): + * textmodes/sgml-mode.el (html-tag-help): + * vc/compare-w.el (compare-ignore-whitespace) + (compare-ignore-case, compare-windows-dehighlight): + * vc/diff.el (diff): + * whitespace.el (whitespace-point) + (whitespace-font-lock-refontify, whitespace-bob-marker) + (whitespace-eob-marker): Fix ambiguous doc string cross-reference(s). + +2013-01-11 Michael Albinus + + * autorevert.el (top): Require 'cl in order to pacify byte compiler. + (auto-revert-notify-rm-watch): Ignore errors. + (auto-revert-notify-add-watch): Ignore errors. Use '(modify) for + inotify, and '(size last-write-time) for w32notify. + Set buffer-local `auto-revert-use-notify' to nil when adding a file + watch fails - this is a fallback to the file modification check. + (auto-revert-notify-event-p, auto-revert-notify-event-descriptor) + (auto-revert-notify-event-action) + (auto-revert-notify-event-file-name): New defuns. + (auto-revert-notify-handler): Use them. Implement first + plausibility checks. + (auto-revert-handler): Handle also `auto-revert-tail-mode'. + +2013-01-11 Julien Danjou + + * color.el (color-rgb-to-hsv): Fix conversion computing in case min and + max are almost equal. Also return the correct value for V which is + already between 0 and 1. + +2013-01-11 Dmitry Antipov + + * emacs-lisp/ert.el (ert-run-test): Use point-max-marker. + +2013-01-11 Eli Zaretskii + + * autorevert.el (auto-revert-notify-rm-watch) + (auto-revert-notify-add-watch): Fix typos in w32notify function + names. + +2013-01-10 Michael Albinus + + * autorevert.el (auto-revert-notify-enabled): Move up. + (auto-revert-use-notify): New defcustom. + (auto-revert-mode, global-auto-revert-mode) + (auto-revert-notify-add-watch, auto-revert-handler) + (auto-revert-buffers): Use `auto-revert-use-notify' instead of + `auto-revert-notify-enabled'. + +2013-01-10 Elias Pipping + + * files.el (auto-mode-alist): Use doc-view for djvu files (bug#13164). + * doc-view.el (doc-view-document->bitmap): + Use doc-view-single-page-converter-function instead of + single-page-converter arg; adjust callers. + +2013-01-10 Feng Li (tiny change) + + * progmodes/which-func.el (which-function): Understand Semantic's use + of overlays in imenu--index-alist. + +2013-01-10 Wolfgang Jenkner + + * man.el: Handle different "man -k" behaviors (bug#13160). Use utf-8. + (Man-man-k-use-anchor): New var. + (Man-parse-man-k): New function. + (Man-completion-table): Use it. + (man): Flush the completion cache between uses. + +2013-01-10 Michael Albinus + + * autorevert.el: Add file watch support. + (auto-revert-notify-enabled): New defconst. + (auto-revert-notify-watch-descriptor-hash-list) + (auto-revert-notify-watch-descriptor) + (auto-revert-notify-modified-p): New defvars. + (auto-revert-notify-rm-watch, auto-revert-notify-add-watch) + (auto-revert-notify-handler): New defuns. + (auto-revert-mode, global-auto-revert-mode): Remove file watches + when mode is disabled. + (auto-revert-handler): Check for `auto-revert-notify-modified-p'. + (auto-revert-buffers): Add file watches for active buffers. + +2013-01-10 Dmitry Antipov + + * cus-start.el (toplevel): Only allow float values for + scroll-up-aggressively and scroll-down-aggressively. + Allow any number for line-spacing. + +2013-01-10 Stefan Monnier + + * doc-view.el (doc-view-pdfdraw-program): Allow "pdfdraw" name. + (doc-view-pdf->png-converter-function): Use mupdf if available. + (doc-view-djvu->png-converter-function) + (doc-view-ps->png-converter-function): Remove. + (doc-view--image-file-pattern): Replace doc-view--image-file-extension. + (doc-view-goto-page, doc-view-convert-current-doc, doc-view-display) + (doc-view-already-converted-p): Adjust accordingly. + (doc-view-mode-p): Simplify. + (doc-view-enlarge): Use setq-local. + (doc-view-pdf->png-converter-ghostscript) + (doc-view-djvu->png-converter-ddjvu) + (doc-view-pdf->png-converter-mupdf): Rework to call + doc-view-start-process directly. + (doc-view-pdf/ps->png): Simplify accordingly. + (doc-view-pdf->png-1, doc-view-djvu->png-1): Remove. + (doc-view-document->bitmap): Rename from doc-view-document->png. + (doc-view-convert-current-doc): Merge pdf and djvu cases. + (doc-view-set-slice-from-bounding-box): Fix completion table. + (doc-view-mode): Use add-hook for after-revert-hook. 2013-01-10 Glenn Morris diff --cc src/ChangeLog index 2564e57a825,64ffe05921f..eb393c93c4a --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,195 -1,7 +1,199 @@@ -2013-01-17 Glenn Morris ++2013-01-19 Glenn Morris + + * fns.c (Frandom): Doc fix. + +2013-01-19 Eli Zaretskii + + * editfns.c (get_pos_property): Use SAFE_ALLOCA_LISP, to avoid + segfault when there are lots of overlays. + + * buffer.c (sort_overlays): Use SAFE_NALLOCA, to avoid segfault + when there are lots of overlays. See + http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00421.html + for the details and a way to reproduce. + +2013-01-19 Paul Eggert + + * fileio.c: Use O_APPEND to append. + This corresponds better to the natural interpretation of "append", + and avoids the need to open the output file twice, or to invoke + lseek when APPEND is neither nil nor a number. + This relies on POSIX 1003.1-1988 or later, which is OK nowadays. + (Fwrite_region): Simplify. Use O_APPEND instead of opening the + file possibly twice, and lseeking to its end; this avoids the + need to lseek on non-regular files. Do not use O_EXCL and O_TRUNC + at the same time: the combination is never needed and apparently + it doesn't work with DOS_NT. + + Fix size bug on DOS_NT introduced by CIFS workaround (Bug#13149). + * fileio.c (Fwrite_region): Use O_BINARY in checking code, too. + + Allow floating-point file offsets. + Problem reported by Vitalie Spinu in + . + * fileio.c (emacs_lseek): Remove. + (file_offset): New function. + (Finsert_file_contents, Fwrite_region): Use it. + +2013-01-19 Chong Yidong + + * emacs.c (Fkill_emacs): Set waiting_for_input to 0 to avoid + aborting on Fsignal (Bug#13289). + +2013-01-19 Eli Zaretskii + + * w32.c (acl_set_file): Treat ERROR_ACCESS_DENIED from + set_file_security as failure due to insufficient privileges. + Reported by Fabrice Popineau . + (fstat): Return owner and group like 'stat' and 'lstat' do. + +2013-01-19 Paul Eggert + + Work around bug in CIFS and vboxsf file systems (Bug#13149). + The bug was observed on Ubuntu operating inside a virtual machine, + editing files mounted via CIFS or vboxsf from the MS Windows 7 host. + The workaround introduces a race condition on non-buggy hosts, + but it's an unlikely race and anyway there's a nearly identical + nearby race that can't be fixed. + * fileio.c (valid_timestamp_file_system, timestamp_file_system): + New static vars. + (Fwrite_region): Test for file system time stamp bug. + (init_fileio): New function. + * lisp.h (init_fileio): Declare it. + * emacs.c (main): Call it. + + * fileio.c (Finsert_file_contents): Simplify new diagnostic + and make it more consistent with other stat-failure diagnostics. + +2013-01-18 Dmitry Antipov + + Fix crash when inserting data from non-regular files. See + http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00406.html + for the error description produced by valgrind. + * fileio.c (read_non_regular): Rename to read_contents. + Free Lisp_Save_Value object used to pass parameters. + (read_non_regular_quit): Rename to read_contents_quit. + (Finsert_file_contents): Redesign internal file reading loop to adjust + gap and end positions after each read and so help make_gap to work + properly. Do not signal an I/O error too early and so do not leave + not yet decoded characters in a buffer, which was the reason of + redisplay crash. Use list2 to build return value. Adjust comments. + +2013-01-17 Paul Eggert + + Close a race when statting and reading files (Bug#13149). + * fileio.c (Finsert_file_contents): Use open+fstat, not stat+open. + This avoids a race if the file is renamed between stat and open. + This race is not the problem originally noted in Bug#13149; + see and later messages in the thread. + +2013-01-17 Dmitry Antipov + + * lisp.h (toplevel): Add comment about using Lisp_Save_Value + objects, related functions and macros. + (make_save_value): Adjust prototype. + (make_save_pointer): New prototype. + (SAFE_NALLOCA): Fix indentation. Use make_save_pointer. + (SAFE_ALLOCA_LISP): Adjust make_save_value usage. + * alloc.c (format_save_value): Rename to make_save_value. + (make_save_pointer): New function. + (record_xmalloc): Use make_save_pointer. + * dired.c, editfns.c, fileio.c, font.c, gtkutil.c, lread.c: + * nsmenu.m, nsterm.m, xfns.c, xmenu.c, xselect.c, keymap.c: + Change users of make_save_value to make_save_pointer. + Likewise for format_save_value and make_save_value. + +2013-01-17 Dmitry Antipov + + * buffer.h (NARROWED, BUF_NARROWED): Drop unused macros. + (DECODE_POSITION, BUFFER_CHECK_INDIRECTION): Fix indentation. + * buffer.c (toplevel, syms_of_buffer): Drop old commented-out + debugging stubs. + +2013-01-15 Paul Eggert + + * alloc.c (free_save_value): Now static. + +2013-01-15 Dmitry Antipov + + * keymap.c (map_keymap_internal): Use format_save_value. + (map_keymap_char_table_item): Adjust accordingly. + * fileio.c (non_regular_fd, non_regular_inserted) + (non_regular_nbytes): Remove. + (Finsert_file_contents): Convert trytry to ptrdiff_t. Use + format_save_value to pass parameters to read_non_regular. + (read_non_regular): Use XSAVE_ macros to extract parameters. + Adjust comment. + * xmenu.c (xmenu_show) [!USE_X_TOOLKIT && !USE_GTK]: Use + format_save_value. + (pop_down_menu) [!USE_X_TOOLKIT && !USE_GTK]: Adjust user. + +2013-01-15 Dmitry Antipov + + * lisp.h (XSAVE_POINTER, XSAVE_INTEGER): Change to allow + extraction from any Lisp_Save_Value slot. Add type checking. + * alloc.c, dired.c, editfns.c, fileio.c, ftfont.c, gtkutil.c: + * keymap.c, lread.c, nsterm.h, nsmenu.c, xfns.c, xmenu.c: + * xselect.c: All users changed. + +2013-01-15 Dmitry Antipov + + Some convenient bits to deal with Lisp_Save_Values. + * lisp.h (XSAVE_OBJECT): New macro to extract saved objects. + (allocate_misc): Remove prototype. + (format_save_value): New prototype. + * alloc.c (allocate_misc): Revert back to static. + (format_save_value): New function to build Lisp_Save_Value + object with the specified internal structure. + (make_save_value): Reimplement using format_save_value. + * editfns.c (save_excursion_save): Use format_save_value. + (save_excursion_restore): Use XSAVE_OBJECT. + +2013-01-14 Paul Eggert + + Avoid needless casts with XSAVE_POINTER. + * alloc.c (mark_object) [GC_MARK_STACK]: + * dired.c (directory_files_internal_unwind): + * fileio.c (do_auto_save_unwind): + * gtkutil.c (pop_down_dialog): + * keymap.c (map_keymap_char_table_item): + * lread.c (load_unwind): + * nsmenu.m (pop_down_menu): + * print.c (print_object) [GC_MARK_STACK]: + * xfns.c (clean_up_file_dialog): + * xmenu.c (cleanup_widget_value_tree): + Omit casts between XSAVE_POINTER and a pointer type. + +2013-01-14 Dmitry Antipov + + Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE. + * eval.c (eval_sub): Protect `form' from being GCed before its + car and cdr becomes protected with the backtrace entry. + +2013-01-14 Dmitry Antipov + + Make Lisp_Save_Value more versatile storage for up to four objects. + * lisp.h (toplevel): Enumeration to describe types of saved objects. + (struct Lisp_Save_Value): New layout. Adjust comments. + (XSAVE_POINTER): New macro. + (XSAVE_INTEGER): Likewise. + (allocate_misc): Add prototype. + (free_misc): Likewise. + * alloc.c (allocate_misc): Now global. + (free_misc): Likewise. Adjust comment. + (make_save_value): Use new Lisp_Save_Value layout. Adjust comment. + (free_save_value): Likewise. + (mark_object): Likewise. + * editfns.c (save_excursion_save): Pack everything within + Lisp_Save_Value and so avoid xmalloc. + (save_excursion_restore): Adjust to match new layout. Use free_misc + because we do not allocate extra memory any more. Add eassert. + * print.c (print_object): New code to print Lisp_Save_Value. Do not + rely on valid_lisp_object_p if !GC_MARK_STACK. Adjust comments. + * dired.c, fileio.c, font.c, ftfont.c, gtkutil.c, keymap.c, + * lread.c, nsmenu.m, nsterm.h, xfns.c, xmenu.c, xselect.c: + Use XSAVE_POINTER and XSAVE_INTEGER where appropriate. + 2013-01-13 Jan Djärv * nsfont.m (LCD_SMOOTHING_MARGIN): New define.