* profiler.el (profiler-sampling-interval): Rename from
profiler-sample-interval.
(profiler-sampling-interval): Default to 10.
(profiler-find-profile): New command (was profiler-find-log).
(profiler-find-profile-other-window): New command.
(profiler-find-profile-other-frame): New command.
(profiler-profile): Introduce API-level data structure.
src/w32term.h (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK): Define for x64.
(SET_SCROLL_BAR_W32_WINDOW): Cast ID to intptr_t, for
compatibility with x64.
src/w32term.c (w32_draw_underwave): Don't use GCC extensions for
defining an XRectangle structure.
src/w32proc.c (RVA_TO_PTR, w32_executable_type): Fix pointer
arithmetics for compatibility with x64.
src/w32menu.c (add_menu_item): Use UINT_PTR instead of UINT, for
compatibility with x64.
src/w32heap.h: Adjust prototypes and declarations.
src/w32heap.c (RVA_TO_PTR, allocate_heap, sbrk, init_heap)
(round_heap): Use DWORD_PTR, ptrdiff_t and size_t instead of
DWORD, long, and unsigned long, for compatibility with x64.
(allocate_heap) [_WIN64]: Reserve 32GB of memory.
(sbrk): Argument is now of type ptrdiff_t.
src/w32fns.c (HMONITOR): Condition declaration on _WIN32_WINNT being
less than 0x0500.
(w32_msg_pump): Use WPARAM type for 'result'.
src/w32.c (init_environment, get_emacs_configuration): Support AMD64
architecture.
(init_ntproc): Cast arguments of _open_osfhandle to intptr_t, for
compatibility with x64.
src/vm-limit.c (lim_data): Now size_t.
(check_memory_limits): Adjust prototypes of real_morecore and
__morecore to receive argument of type ptrdiff_t. Use size_t for
five_percent and data_size.
src/unexw32.c: Use DWORD_PTR instead of DWORD for file-scope
variables, for compatibility with x64.
(rva_to_section, offset_to_section, relocate_offset)
(OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET)
(PTR_TO_RVA, RVA_TO_PTR, OFFSET_TO_PTR, get_section_info)
(copy_executable_and_dump_data): Use DWORD_PTR instead of DWORD
for compatibility with x64.
src/sysdep.c (STDERR_FILENO): Define if not already defined.
src/ralloc.c (real_morecore): Argument type is now ptrdiff_t.
(__morecore): Argument type is now ptrdiff_t.
(ROUNDUP, MEM_ROUNDUP): Use size_t instead of 'unsigned long'.
(relinquish): Use ptrdiff_t type for 'excess'.
(r_alloc_sbrk): Argument type is now ptrdiff_t.
src/makefile.w32-in (HEAPSIZE): Get value from EMACS_HEAPSIZE.
(bootstrap-temacs-CMD, bootstrap-temacs-SH): Use $(EMACS_PURESIZE)
instead of a literal number.
src/gmalloc.c [WINDOWSNT]: Include w32heap.h.
(min): Define only if not already defined.
src/frame.c (x_report_frame_params): Use EMACS_UINT for the return
value of FRAME_X_WINDOW, to fit a 64-bit pointer on 64-bit Windows
hosts.
src/image.c (x_bitmap_pixmap): Return ptrdiff_t, not int, since
'bitmaps' is a pointer.
src/dispextern.h (x_bitmap_pixmap): Adjust prototype.
src/alloc.c (gdb_make_enums_visible): Now conditional on __GNUC__.
nt/makefile.w32-in ($(TRES)): Use $(EMACS_MANIFEST).
nt/inc/sys/socket.h: Don't map Winsock error codes to standard ones
that are already defined.
nt/inc/ms-w32.h (EMACS_INT, EMACS_UINT, EMACS_INT_MAX, PRIuMAX)
(pI, _INTPTR) [_MSC_VER]: Fix definitions for MSVC.
[_MSC_VER]: Add pragmas to suppress some MSVC warnings.
nt/preprep.c (pfnCheckSumMappedFile, rva_to_section)
(offset_to_section, relocate_offset, OFFSET_TO_RVA)
(RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA)
(OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN)
(copy_executable_and_move_sections, ADJUST_IMPORT_RVA, main): Use
DWORD_PTR instead of DWORD for compatibility with x64.
nt/nmake.defs: Support AMD64.
(EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST): New macros.
nt/gmake.defs: (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST):
New macros.
nt/addsection.c (pfnCheckSumMappedFile, rva_to_section)
(offset_to_section, relocate_offset, OFFSET_TO_RVA)
(RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA)
(OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN)
(copy_executable_and_add_section, main): Use DWORD_PTR instead of
DWORD, for compatibility with x64.
nt/emacs-x64.manifest: New file.
nt/emacs-x86.manifest: Renamed from emacs.manifest.
lib-src/ntlib.c (gettimeofday): Copy from src/w32.c. lib/gettime.
needs this function.
Paul Eggert [Sun, 30 Sep 2012 21:12:04 +0000 (14:12 -0700)]
file-attributes has a new optional arg FOLLOW-SYMLINKS.
* doc/lispref/files.texi (File Attributes): Describe it.
(Magic File Names): Use it.
* etc/NEWS: Document the change.
* lisp/files.el (remote-file-name-inhibit-cache):
* lisp/time.el (display-time-file-nonempty-p): Use it.
* lisp/files.el (after-find-file): Don't chase links before calling
file-exists-p, as file-exists-p already does the right thing.
* src/dired.c (directory_files_internal, Ffile_attributes):
New arg follow_symlinks. All uses changed.
Here is the ChangeLog of the standalone version of RefTeX without
information about Makefiles and other auxiliary files. The differences to
the Emacs repository are documented in the respective ChangeLog files.
2010-11-06 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-cite.el (reftex-create-bibtex-file): Make sure that
entries with whitespace at various places are found.
(reftex-extract-bib-entries-from-thebibliography): Remove
superfluous backslash.
2010-10-16 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-cite.el
(reftex-extract-bib-entries-from-thebibliography): Use
`with-current-buffer'.
2010-09-14 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-cite.el (reftex-do-citation): Make it possible again
to insert non-existent entries.
2010-01-30 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-base.el (reftex-syntax-table-for-bib, reftex-mode):
Do not derive `reftex-syntax-table-for-bib' from
`reftex-syntax-table' because parens have to retain their paren
syntax in order for parsing of BibTeX entries like @book(...) to
work.
* lisp/reftex-toc.el (reftex-re-enlarge): Call `enlarge-window'
only if there is something to do because in Emacs the horizontal
version throws an error even if the parameter is 0.
2009-08-08 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-index.el: Suppress byte-compiler warnings. Move
provide statement to end of file.
* lisp/reftex-dcr.el: Suppress byte-compiler warnings. Move
provide statement to end of file.
* doc/reftex.texi (Creating Citations): Give a hint about how to
auto-revert the BibTeX database file when using external editors.
* lisp/reftex-cite.el (reftex-do-citation): Save match data when
asking for optional arguments.
2009-04-29 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-base.el (reftex-in-comment): Do not error out if
`comment-start-skip' is not set.
2009-03-01 Wolfgang Mayer <wmayer7@gmail.com>
* lisp/reftex-cite.el (reftex-all-used-citation-keys):
Fix regexp to correctly extract all citations in the same line.
2008-12-29 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-vars.el (reftex-vref-is-default)
(reftex-fref-is-default): Adapt doc string.
(reftex-ref-style-default-list): New name for
`reftex-ref-style-active-list'. Use :set instead of :repeat.
(reftex-vref-is-default, reftex-fref-is-default): Adapt to new
name.
* lisp/reftex-sel.el (reftex-select-cycle-ref-style-internal): Use
`reftex-ref-style-list' function.
* lisp/reftex-ref.el (reftex-reference): Use
`reftex-ref-style-list' function.
* doc/reftex.texi (Referencing Labels): Simplify section about
reference macro cycling.
(Reference Styles, Options (Referencing Labels)): Adapt to changed
implementation.
2008-12-18 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-base.el (reftex-in-comment): Deal correctly with
escaped comment characters.
2008-11-30 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-vars.el (reftex-ref-style-alist): Change structure
so that it is not possible to use multiple different package names
within a style.
(reftex-ref-style-active-list): Adapt to new structure of
`reftex-ref-style-alist'.
* lisp/reftex-sel.el (reftex-select-cycle-active-ref-styles):
Remove.
(reftex-select-cycle-ref-style-internal): Adapt to new structure
of `reftex-ref-style-alist'.
* lisp/reftex-ref.el: Adapt creation of `reftex-<package>-<macro>'
functions to new structure of `reftex-ref-style-alist'.
(reftex-reference): Adapt to new structure of
`reftex-ref-style-alist'.
* lisp/reftex-base.el (reftex-mode-menu): Adapt to new structure
of `reftex-ref-style-alist'.
* doc/reftex.texi (Options (Referencing Labels)): Adapt to new
structure of `reftex-ref-style-alist'.
2008-10-16 Ralf Angeli <angeli@caeruleus.net>
* doc/reftex.texi (Referencing Labels, Reference Styles): Document
changes in the referencing functionality.
2008-10-15 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-vars.el (reftex-ref-style-alist): Remove the symbols
for symbols for macro type distinction. Add characters for macro
selection.
(reftex-ref-macro-prompt): New variable.
* lisp/reftex-sel.el (reftex-select-cycle-ref-style-internal):
Remove code for testing macro type.
(reftex-select-toggle-numref-pageref): Remove.
(reftex-select-label-map): Remove binding for
`reftex-select-toggle-numref-pageref'.
* lisp/reftex-ref.el (reftex-reference): Prompt for a reference
macro if `reftex-ref-macro-prompt' is non-nil.
* lisp/reftex-base.el (reftex-select-with-char): Kill the RefTeX
Select buffer when done.
* lisp/reftex-cite.el (reftex-get-string-refs): Use a regexp
alternative for better performance.
* doc/reftex.texi (Commands): Mention options for definition of
header and footer in BibTeX files.
(Options (Creating Citations)): Document
`reftex-create-bibtex-header' and `reftex-create-bibtex-footer'.
* lisp/reftex-cite.el (reftex-stringref-p): Remove.
(reftex-get-string-refs): Do without `reftex-stringref-p' and use
`reftex-remove-if' instead of the cl-based `remove-if'.
(reftex-create-bibtex-file): Doc fix.
* lisp/reftex-base.el (reftex-remove-if): New function.
2008-06-07 Wolfgang Mayer <wmayer7@gmail.com>
* lisp/reftex-vars.el (reftex-create-bibtex-header)
(reftex-create-bibtex-footer): New variables.
* lisp/reftex-cite.el (reftex-parse-bibtex-entry): Accept
additional optional argument `raw' and keep quotes or braces if it
is non-nil.
(reftex-stringref-p, reftex-get-string-refs): New functions.
(reftex-create-bibtex-file): Include entries that are
cross-referenced from cited entries. Include @String definitions
in the resulting bib file. Add header and footer defined in
`reftex-create-bibtex-header' and `reftex-create-bibtex-footer'.
2008-05-03 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-parse.el (reftex-parse-from-file): Move backward one
char if a `\' was matched after a section macro.
* lisp/reftex-global.el (reftex-isearch-switch-to-next-file): Use
`reverse' instead of `nreverse' and `copy-list' in order to make
the byte compiler happy. Get rid of unused `orig-flist' variable.
* lisp/reftex-base.el (reftex-compile-variables): Revert last
change. Match `\' after a section macro.
(reftex-mapconcat-with-predicate): Remove.
2008-04-13 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-base.el (reftex-mapconcat-with-predicate): New
function.
(reftex-compile-variables): Use it. Treat environments and macros
differently in the regexp for section matching.
* lisp/reftex-parse.el (reftex-parse-from-file): Use beginning of
match instead of end as bound.
* lisp/reftex-sel.el (reftex-select-label-map): Changing binding
of reference style toggling to "s" which is not already taken.
* doc/reftex.texi (Reference Styles): Reflect change in key
binding for toggling reference styles. Some minor changes.
2008-03-27 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-vars.el: Some whitespace, doc and checkdoc fixes.
2008-03-16 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-index.el (reftex-index-selection-or-word): Use
`reftex-region-active-p'.
(reftex-index-show-entry)
(reftex-index-initialize-phrases-buffer)
(reftex-index-phrases-apply-to-region): Sync with Emacs trunk.
* lisp/reftex-dcr.el (reftex-start-itimer-once): Silence the byte
compiler.
* lisp/reftex-auc.el: Move `provide' call to bottom of file.
* lisp/reftex-base.el: Require easymenu and define autoloads
earlier to avoid compiler warnings.
(reftex-region-active-p, reftex-select-with-char)
(reftex-show-commentary): Sync with version in Emacs trunk.
(reftex-make-overlay, reftex-overlay-put, reftex-move-overlay)
(reftex-delete-overlay): Define in a way which hides the XEmacs
symbols from the byte compiler.
(reftex-info): Silence the byte compiler. Use `reftex.info'
instead of `reftex' in order to get the correct file.
2008-03-07 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-cite.el (reftex-extract-bib-entries): Check if
BibTeX file changed on disk and ask if it should be reread in case
it did.
2008-03-02 Ralf Angeli <angeli@caeruleus.net>
* doc/reftex.texi: Lots of small fixes.
(Reference Styles): New section.
(varioref (LaTeX package), fancyref (LaTeX package)): Remove.
(Options (Referencing Labels)): Remove descriptions of deprecated
variables `reftex-vref-is-default' and `reftex-fref-is-default'.
Add descriptions for `reftex-ref-style-alist' and
`reftex-ref-style-active-list'.
(Referencing Labels): Update regarding reference styles.
2008-02-17 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-ref.el (reftex-format-special): Add third argument
for refstyle possible to be passed, making the byte compiler
happy.
(reftex-reference): Pass refstyle to `reftex-format-special'.
* lisp/reftex-vars.el (reftex-ref-style-active-list): Make
creation of type compatible with Emacs 21.
(reftex-format-ref-function): Mention third argument of special
format function.
* lisp/reftex-base.el (reftex-mode-menu): Make creation of
Reference Style menu compatible with Emacs 21.
* lisp/reftex-base.el (reftex-erase-all-selection-and-index-buffers)
(reftex-access-parse-file): Use `mapc' instead of `mapcar' where
return value is not used.
* lisp/reftex-ref.el (reftex-offer-label-menu): Use `mapc' instead
of `mapcar' where return value is not used.
* lisp/reftex-sel.el (reftex-select-item, reftex-select-unmark):
Use `mapc' instead of `mapcar' where return value is not used.
* lisp/reftex-vars.el (reftex-ref-style-alist)
(reftex-ref-style-active-list): New variables.
(reftex-vref-is-default, reftex-fref-is-default): Adapt doc string
to new implementation. Mark as obsolete. Add compatibility code
for honoring the variable values in case they are set.
* lisp/reftex-base.el (reftex-mode-menu): Reference styles are now
computed from `reftex-ref-style-alist'. Fix typo.
* lisp/reftex-ref.el (reftex-reference): Determine reference macro
by looking at `reftex-ref-style-active-list' and
`reftex-ref-style-alist'. Use only one special format function.
(reftex-varioref-vref, reftex-fancyref-fref)
(reftex-fancyref-Fref): Remove definitions. The functions are now
generated from `reftex-ref-style-alist'.
(reftex-format-vref, reftex-format-Fref, reftex-format-fref):
Remove.
(reftex-format-special): New function.
* lisp/reftex-sel.el (reftex-select-toggle-varioref)
(reftex-select-toggle-fancyref): Remove.
(reftex-select-cycle-active-ref-styles)
(reftex-select-cycle-ref-style-internal)
(reftex-select-cycle-ref-style-forward)
(reftex-select-cycle-ref-style-backward)
(reftex-select-toggle-numref-pageref): New functions.
(reftex-select-label-map): Use `v' and `V' for general cycling
through reference styles. Add `p' for switching between number
and page reference types.
2008-01-06 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-cite.el (reftex-pop-to-bibtex-entry)
(reftex-extract-bib-entries-from-thebibliography): Match \bibitem
entries with spaces or tabs in front of arguments.
(reftex-insert-bib-matches): Use `mapc' instead of `mapcar'
because return value is not used.
2008-01-05 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-toc.el (reftex-make-separate-toc-frame): Hide
non-operational call to `focus-frame' in Emacs for the compilers's
sake.
2008-01-03 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-dcr.el (reftex-mouse-view-crossref): Explain why
point is set.
* lisp/reftex-toc.el (reftex-toc-do-promote): Use `mapc' instead
of `mapcar' because return value is not used.
(reftex-toggle-auto-toc-recenter): Fix typo.
* lisp/reftex-cite.el (reftex-do-citation): Use `mapc' instead of
`mapcar' because return value is not used.
2007-10-10 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-vars.el (reftex-cite-format-builtin)
(reftex-bibliography-commands): Add support for ConTeXt.
* doc/reftex.texi (Citation Styles): Mention support for ConTeXt.
* lisp/reftex-base.el (reftex-set-cite-format): Autoload.
(reftex-access-parse-file): Create parse file in a way that does
not interfere with recentf mode.
(reftex-access-parse-file): Do not risk destroying an existing
buffer.
2007-07-07 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-parse.el (reftex-nth-arg): Use `forward-comment'
instead of `comment-forward'. The latter is not always available
and the former is sufficient for LaTeX.
(reftex-nth-arg): Revert last change since moving over whitespace
and comments is done by `reftex-move-to-next-arg'.
2007-05-20 Ralf Angeli <angeli@caeruleus.net>
* doc/reftex.texi (Citation Styles): Correct some mistakes.
2007-04-03 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-cite.el: Delete trailing whitespace.
(reftex-pop-to-bibtex-entry, reftex-extract-bib-entries)
(reftex-parse-bibtex-entry, reftex-create-bibtex-file): Match
entries containing numbers and symbol constituents.
2007-03-28 Ralf Angeli <angeli@caeruleus.net>
* doc/reftex.texi: Replace BibTeX by @BibTeX{} throughout the
file.
* lisp/reftex-base.el: Remove information in comment already in
imprint or cluttering output of `finder-commentary'.
Require reftex.el.
* lisp/reftex.el: Remove. Now generated from reftex.el.in.
* lisp/reftex-dcr.el: Remove version info in header. Add
maintainer info.
* lisp/reftex-global.el Remove version info in header. Add
maintainer info.
* lisp/reftex-index.el Remove version info in header. Add
maintainer info.
* lisp/reftex-parse.el Remove version info in header. Add
maintainer info.
* lisp/reftex-ref.el Remove version info in header. Add
maintainer info.
* lisp/reftex-sel.el Remove version info in header. Add
maintainer info.
* lisp/reftex-toc.el Remove version info in header. Add
maintainer info.
* lisp/reftex-vars.el Remove version info in header. Add
maintainer info.
2007-03-08 Ralf Angeli <angeli@caeruleus.net>
* doc/reftex.texi: Include macros.texi and version.texi. Change
maintainer and version information. Express TeX, LaTeX, AUCTeX
and RefTeX with macros.
(Imprint): Change maintainer information.
2007-03-04 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex.el: Update.
* lisp/reftex-base.el (reftex-show-commentary): Look in
reftex-base.el.
(reftex-report-bug): New function.
* lisp/reftex.el: Move original content to reftex-base.el. Add
new header and automatically generated autoloads.
* lisp/reftex-base.el: New file. Insert original content of
reftex.el. Remove autoload for `reftex-index-phrases-mode'.
Delete trailing whitespace.
2007-02-26 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-index.el (reftex-index-visit-phrases-buffer): Set
marker when visiting buffer. This allows for returning from the
phrases file to the file one was just editing instead of the file
where the last phrases was added from.
2007-02-25 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-index.el (reftex-index-phrases-syntax-table): New
variable. Give ?\" punctuation syntax as it usually is not used
as string quote in TeX-related modes and may occur unmatched. The
change also prevents fontification of quoted content.
(reftex-index-phrases-mode): Use it.
* lisp/reftex-cite.el (reftex-parse-bibtex-entry): Match fields
containing hyphens (besides word constituents).
2007-02-25 David Kastrup <dak@gnu.org>
* lisp/reftex.el (reftex-uniquify, reftex-uniquify-by-car):
Replace O(n^2) algorithms with O(n log n). Introduce optional
argument SORT (not yet used). TODO: figure out callers that can
specify SORT, in order to further speed this up.
2007-02-25 Ralf Angeli <angeli@caeruleus.net>
* lisp/reftex-vars.el (reftex-cite-key-separator): New variable.
* lisp/reftex-auc.el (reftex-arg-cite): Use
`reftex-cite-key-separator'.
* lisp/reftex-cite.el (reftex-do-citation)
(reftex-figure-out-cite-format): Use `reftex-cite-key-separator'.
Enhancements for triple-quote string syntax.
* progmodes/python.el (python-syntax-propertize-function): Match
both quote cases in one regexp.
(python-syntax-stringify): Handle matches properly.
Juri Linkov [Sun, 30 Sep 2012 16:54:43 +0000 (19:54 +0300)]
* lisp/arc-mode.el (archive-summarize): Let-bind `buffer-file-truename'
to nil around the call to `add-text-properties' to prevent
directory time modification by lock_file.
* lisp/tar-mode.el (tar-summarize-buffer): Idem.
Eli Zaretskii [Sun, 30 Sep 2012 15:49:05 +0000 (17:49 +0200)]
Support atimers and CPU profiler via profile.c on MS-Windows.
src/w32proc.c (sig_mask, crit_sig): New static variables.
(sys_signal): Support SIGALRM and SIGPROF.
(sigemptyset, sigaddset, sigfillset, sigprocmask)
(pthread_sigmask, setpgrp): Moved here from w32.c. sigaddset,
sigfillset, and sigprocmask are no longer no-ops.
(sigismember): New function.
(struct itimer_data): New definition.
(ticks_now, real_itimer, prof_itimer, clocks_min, crit_real)
(crit_prof): New static variables.
(MAX_SINGLE_SLEEP): New definition.
(timer_loop, stop_timer_thread, term_timers, init_timers)
(start_timer_thread, getitimer, setitimer): New functions.
(alarm): No longer a no-op, calls setitimer.
src/w32.c (term_ntproc): Call term_timers.
(init_ntproc): Make sure all signals are unblocked at startup, to
erase any traces of dumping. Call init_timers.
src/w32fns.c (hourglass_timer, HOURGLASS_ID): Remove.
Windows-specific code to display the hourglass mouse pointer is no
longer used.
(w32_wnd_proc): Remove code that handled the WM_TIMER message due
to hourglass timer expiration.
(start_hourglass, cancel_hourglass, DEFAULT_HOURGLASS_DELAY):
Remove, no longer used.
(w32_note_current_window, show_hourglass, hide_hourglass): New
functions, in support of hourglass cursor display similar to other
window systems.
(syms_of_w32fns): Don't initialize hourglass_timer.
src/xdisp.c (start_hourglass, cancel_hourglass): Now used on
WINDOWSNT as well.
(start_hourglass) [WINDOWSNT]: Call w32_note_current_window.
src/w32.h (init_timers, term_timers): Add prototypes.
nt/inc/sys/time.h (ITIMER_REAL, ITIMER_PROF): Define.
(struct itimerval): Define.
(getitimer, setitimer): Add prototypes.
nt/inc/ms-w32.h <sigset_t> [_MSVC_VER]: Make the typedef consistent
with MinGW.
(SA_RESTART, SIGPROF): Define.
nt/config.nt (HAVE_SETITIMER): Define to 1.
* src/nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New.
(EmacsView): Add variables for fullscreen.
(handleFS, setFSValue, toggleFullScreen): New in EmacsView.
(EmacsFSWindow): New interface for fullscreen.
* src/nsterm.m (NEW_STYLE_FS): New define.
(ns_fullscreen_hook, windowWillEnterFullScreen)
(windowDidEnterFullScreen, windowWillExitFullScreen)
(windowDidExitFullScreen, toggleFullScreen, handleFS)
(setFSValue): New functions.
(EmacsFSWindow): New implementation.
(canBecomeKeyWindow): New function for EmacsFSWindow.
(ns_create_terminal): Set fullscreen_hook to ns_fullscreen_hook.
(dealloc): Release nonfs_window if in fullscreen.
(updateFrameSize:): Call windowDidMove to update top/left.
(windowWillResize:toSize:): Check if frame is still maximized.
(initFrameFromEmacs:): Initialize fs_state, fs_before_fs,
next_maximized, maximized_width, maximized_height and nonfs_window.
Call setCollectionBehavior if NEW_STYLE_FS. Initialize bwidth and
tbar_height.
(windowWillUseStandardFrame:defaultFrame:): Update frame parameter
fullscreen. Set maximized_width/height. Act on next_maximized.
lisp/ido.el (ido-max-directory-size): Default to nil.
The current default is small for POSIX systems, and impractical
on Windows 7 now that lstat returns directory sizes for NTFS.
* doc/emacs/search.texi (Special Isearch): Document the lax space search
feature and M-s SPC.
(Regexp Search): Move main search-whitespace-regexp description to
Special Isearch.
(Replace): Document replace-lax-whitespace.
* doc/emacs/misc.texi (emacsclient Options): Document the effect of
initial-buffer-choice on client frames. Document server-auth-dir.
Do not document server-host, which is bad security practice.
* doc/lispref/commands.texi (Click Events): Define "mouse position list".
Remove mention of unimplemented horizontal scroll bars.
(Drag Events, Motion Events): Refer to "mouse position list".
(Accessing Mouse): Document posnp.
* doc/lispref/errors.texi (Standard Errors): Tweak arith-error description.
Tweak markup. Remove domain-error and friends, which seem to be
unused after the floating-point code revamp.
* doc/lispref/functions.texi (Obsolete Functions): Obsolescence also affects
documentation commands. Various clarifications.
(Declare Form): New node.
* doc/lispref/loading.texi (Autoload):
* doc/lispref/help.texi (Documentation Basics): The special sequences can
trigger autoloading.
* doc/lispref/macros.texi (Defining Macros): Move description of `declare' to
Declare Form node.
* doc/lispref/numbers.texi (Integer Basics): Copyedits.
(Float Basics): Consider IEEE floating point always available.
(Random Numbers): Document actual limits.
(Arithmetic Operations): Clarify division by zero. Don't mention
the machine-independence of negative division since it does not
happen in practice.
* doc/lispref/os.texi (Idle Timers): Minor clarifications.
(User Identification): Add system-users and system-groups.
Martin Rudalics [Sun, 30 Sep 2012 09:10:59 +0000 (11:10 +0200)]
Handle window-height and window-width alist entries in `display-buffer'.
In buffer display functions handle window-height/window-width
alist entries. Suggested by Juri Linkov as fix for Bug#1806.
* window.el (window--display-buffer): New argument ALIST. Obey
window-height and window-width alist entries.
(window--try-to-split-window): New argument ALIST. Bind
window-combination-limit to t when the window's size shall be
changed and window-combination-limit equals `window-size'.
(display-buffer-in-atom-window)
(display-buffer-in-major-side-window)
(display-buffer-in-side-window, display-buffer-same-window)
(display-buffer-reuse-window, display-buffer-pop-up-frame)
(display-buffer-pop-up-window, display-buffer-below-selected)
(display-buffer-at-bottom, display-buffer-in-previous-window)
(display-buffer-use-some-window): Adjust all callers of
window--display-buffer and window--try-to-split-window.
(fit-frame-to-buffer): New option.
(fit-window-to-buffer): Can resize frames if fit-frame-to-buffer
is non-nil.
(display-buffer-in-major-side-window): Evaluate window-height /
window-width alist entries.
* help.el (temp-buffer-resize-frames)
(temp-buffer-resize-regexps): Remove options.
(temp-buffer-resize-mode): Adjust doc-string.
(resize-temp-buffer-window): Don't consult
temp-buffer-resize-regexps. Use fit-frame-to-buffer instead of
temp-buffer-resize-frames.
* dired.el (dired-mark-pop-up): Call
display-buffer-below-selected with a fit-window-to-buffer alist
entry.
* window.c (Vwindow_combination_limit): New default value.
(Qwindow_size): New symbol replacing Qtemp_buffer_resize.
* profiler.c: Don't include stdio.h, limits.h, sys/time.h,
signal.h, setjmp.h. Include systime.h instead.
(saturated_add): New function.
(record_backtrace, current_sample_interval): Use EMACS_INT, not size_t.
(record_backtrace, handle_profiler_signal): Saturate on fixnum overflow.
(profiler_timer, profiler_timer_ok) [HAVE_TIMER_SETTIME]:
New static vars.
(enum profiler_cpu_running): New enumn.
(profiler_cpu_running): Now of that enum type, not bool.
All uses changed to store the new value.
(handle_profiler_signal): Rename from sigprof_handler_1,
for consistency with other handlers. Do not check whether
cpu_log is a hash-table if garbage collecting, since it
doesn't matter in that case.
(deliver_profiler_signal): Rename from sigprof_handler,
for consistency with other handlers.
(setup_cpu_timer): New function, with much of what used to be in
Fprofiler_cpu_start. Check for out-of-range argument.
Prefer timer_settime if available, and prefer
thread cputime clocks, then process cputime clocks, then
monotonic clocks, to the old realtime clock. Use make_timeval
to round more-correctly when falling back to setitimer.
(Fprofiler_cpu_start): Use it.
(Fprofiler_cpu_stop): Prefer timer_settime if available.
Don't assume that passing NULL as the 2nd argument of setitimer
is the same as passing a pointer to all-zero storage.
Ignore SIGPROF afterwards.
(malloc_probe): Saturate at MOST_POSITIVE_FIXNUM.
* sysdep.c (emacs_sigaction_init): Also mask out SIGPROF in
non-fatal signal handlers. Ignore SIGPROF on startup.
* syssignal.h (PROFILER_CPU_SUPPORT): Define this macro here, not
in profiler.c, since sysdep.c now uses it.
Stefan Monnier [Sun, 30 Sep 2012 03:44:35 +0000 (23:44 -0400)]
* lisp/vc/pcvs.el (cvs-cleanup-collection): Keep entries that are currently
visited in a buffer.
(cvs-insert-visited-file): New function.
(find-file-hook): Use it.
* lisp/vc/pcvs-info.el (cvs-fileinfo-pp): Don't use non-existent faces.
Stefan Monnier [Sun, 30 Sep 2012 03:26:52 +0000 (23:26 -0400)]
* lisp/url/url-handlers.el (url-file-handler): Don't assume any url-FOO
function is a good handler for FOO.
(url-copy-file, url-file-local-copy, url-insert-file-contents)
(url-file-name-completion, url-file-name-all-completions)
(url-handlers-create-wrapper): Explicitly register as handler.
Remove duplication of vc-sccs-registered definition
* lisp/vc/vc-sccs.el (vc-sccs-registered): Use the progn trick to get
the full definition in loaddefs, rather than duplicating it.
Cf vc-rcs-registered.
* lisp/hippie-exp.el (hippie-expand-try-functions-list)
(hippie-expand-verbose, hippie-expand-dabbrev-skip-space)
(hippie-expand-dabbrev-as-symbol, hippie-expand-no-restriction)
(hippie-expand-max-buffers, hippie-expand-ignore-buffers)
(hippie-expand-only-buffers): Do not autoload defcustoms.
* lisp/progmodes/vhdl-mode.el (vhdl-line-expand):
Explicitly load hippie-exp, so it does not get autoloaded
while hippie-expand-try-functions-list is let-bound.
Juri Linkov [Fri, 28 Sep 2012 16:38:07 +0000 (19:38 +0300)]
Display archive errors in the echo area instead of inserting to the file buffer.
* lisp/arc-mode.el (archive-extract-by-stdout): Change arg STDERR-FILE
to STDERR-TEST that can be a regexp matching a successful output.
Create a temporary file and redirect stderr to it. Search for
STDERR-TEST in the stderr output and display it in the echo area
if no match is found.
(archive-extract-by-file): New function like
`archive-extract-by-stdout' but extracting archives to files
and looking for successful matches in stdout. Function body is
mostly copied from `archive-rar-extract'.
(archive-rar-extract): Use `archive-extract-by-file'.
(archive-7z-extract): Use `archive-extract-by-stdout'.
Stefan Monnier [Fri, 28 Sep 2012 12:18:38 +0000 (08:18 -0400)]
* lisp/emacs-lisp/pcase.el (pcase--mark-used): New.
(pcase--u1): Use it.
* lisp/custom.el (load-theme): Set buffer-file-name so the load is recorded
in load-history with the right file name.
* doc-view.el (doc-view-current-cache-doc-pdf): New function.
(doc-view-doc->txt, doc-view-convert-current-doc): Use it.
(doc-view-get-bounding-box): Make bounding box slicing work for
ODF and DVI documents.
* type-break.el (type-break-mode, type-break-interval)
(type-break-good-rest-interval, type-break-keystroke-threshold):
No need to autoload.
(type-break-good-rest-interval, type-break-keystroke-threshold):
Add :set-after.
Stefan Monnier [Thu, 27 Sep 2012 03:16:35 +0000 (23:16 -0400)]
* lisp/image-mode.el: Use lexical-binding.
(image-mode-winprops): Use t to stand for the window of a buffer that's
not displayed.
* lisp/doc-view.el (doc-view-new-window-function): Handle t in winprops.
(doc-view-enlarge): Make it a real nop if the size is not changed.
(doc-view-display): Handle the case where the buffer is not (yet?)
displayed in any window.
(doc-view-saved-settings): New var.
(doc-view-mode): Use it.
(doc-view-fallback-mode): Set it.
Stefan Monnier [Thu, 27 Sep 2012 02:10:54 +0000 (22:10 -0400)]
* lisp/minibuf-eldef.el: Make it possible to replace (default ...) with [...].
Set lexical-binding.
(minibuffer-eldef-shorten-default): New var.
(minibuffer-default-in-prompt-regexps): Use it for new default.
(minibuf-eldef-setup-minibuffer): Add replacement functionality.
Paul Eggert [Thu, 27 Sep 2012 01:06:23 +0000 (18:06 -0700)]
Check more robustly for timer_settime.
This should fix an OS X build problem reported by Ivan Andrus in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00671.html>.
* admin/merge-gnulib (GNULIB_MODULES): Add timer-time.
* configure.ac (gl_THREADLIB): Define to empty, since Emacs
does threads its own way.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* m4/timer_time.m4: New file, from gnulib.
* src/atimer.c (alarm_timer, alarm_timer_ok, set_alarm, init_atimer):
Use HAVE_TIMER_SETTIME, not SIGEV_SIGNAL, to decide whether to
call timer_settime.
Paul Eggert [Wed, 26 Sep 2012 20:00:29 +0000 (13:00 -0700)]
* character.h (MAYBE_UNIFY_CHAR): Remove.
* charset.c, charset.h (maybe_unify_char): Now static.
* charset.c (decode_char): Use maybe_unify_char, not MAYBE_UNIFY_CHAR.
Since this stuff is now private to charset.c, there's no need for
a public macro and no need to inline by hand.