Tom Tromey [Fri, 11 Sep 2009 18:05:55 +0000 (20:05 +0200)]
First working draft of thread-local binding.
At least 2 of the 9 kinds of variable bindings should work ok --
defvaralias variables and ordinary variables.
All other kinds will exhibit weird behavior.
A simple program that works:
Tom Tromey [Wed, 9 Sep 2009 21:50:06 +0000 (23:50 +0200)]
Initial code for buffer locking.
Add some buffer locking; does not yet actually work.
Make current_buffer per-thread.
Turn thread_state into a vectorlike.
Arrange to populate initial specpdl; put condition-case around
thread body.
Tom Tromey [Wed, 9 Sep 2009 21:38:04 +0000 (23:38 +0200)]
Introduce threads.
Add a new thread.c file.
Move selected globals to a thread-specific structure.
Add elisp functions run-in-thread and yield.
Update GC to work with threads.
Stefan Monnier [Thu, 25 Mar 2010 00:06:08 +0000 (20:06 -0400)]
Add "union tags" in mpc.el.
* mpc.el: Remove backward compatibility code.
(mpc-browser-tags): Change default.
(mpc--find-memoize-union-tags): New var.
(mpc-cmd-flush, mpc-cmd-special-tag-p): New fun.
(mpc-cmd-find): Handle the case where the playlist does not exist.
Handle union-tags.
(mpc-cmd-list): Use mpc-cmd-special-tag-p. Handle union-tags.
(mpc-cmd-add): Use mpc-cmd-flush.
(mpc-tagbrowser-tag-name): New fun.
(mpc-tagbrowser-buf): Use it.
(mpc-songs-refresh): Use cond. Move to point-min as a fallback.
Stefan Monnier [Wed, 24 Mar 2010 23:56:43 +0000 (19:56 -0400)]
Misc cleanup.
* progmodes/make-mode.el (makefile-bsdmake-rule-action-regex):
Use replace-regexp-in-string.
(makefile-mode-abbrev-table): Merge defvar and define-abbrev-table.
(makefile-imake-mode-syntax-table): Move init into defvar.
(makefile-mode): Use define-derived-mode.
Ted Zlatanov [Wed, 24 Mar 2010 09:30:28 +0000 (04:30 -0500)]
Add a list of HTTP status code symbols and their text, mapped by number.
* url-http.el (url-http-codes): New variable to hold a mapping of
HTTP status codes' numbers, their symbolic name, and their text.
(url-http-parse-headers): Use it, leaving the original numeric
code in a comment.
Sam Steingold [Tue, 23 Mar 2010 18:22:46 +0000 (14:22 -0400)]
Fix bug#5620: recalculate all markers on compilation buffer
modifications, not on file modifications.
(buffer-modtime): New buffer-local variable:
the buffer modification time, for buffers not associated with files.
(compilation-mode): Create it.
(compilation-filter): Update it.
(compilation-next-error-function): Use it instead of
`visited-file-modtime' for timestamp.
* replace.el (occur): Doc fix.
(occur-engine): Set `begpt' to the beginning of the first line.
Set `endpt' to the end of the last match line. At first, count
line numbers between `origpt' and `begpt'. Split out code from
`out-line' variable to new let-bindings `match-prefix' and
`match-str'. In `out-line' add non-numeric prefix to all
non-first lines of multi-line matches. Finally, count lines
between `begpt' and `endpt' and add to `lines'.
Katsumi Yamaoka [Tue, 23 Mar 2010 07:37:09 +0000 (07:37 +0000)]
Synch with Gnus trunk
=====================
2010-03-23 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (canlock-verify): Autoload it for Emacs 21.
* message.el (ecomplete-setup): Autoload it for Emacs <23.
* mml-sec.el (mml-secure-cache-passphrase): Default to t that is
password-cache's default if it is not bound.
(mml-secure-passphrase-cache-expiry): Default to 16 that is
password-cache-expiry's default if it is not bound.
* pop3.el (pop3-list): Don't use 3rd arg of `split-string' which is not
available in Emacs 21.
2010-03-23 Teodor Zlatanov <tzz@lifelogs.com>
* auth-source.el (auth-sources): Fix up definition so extra parameters
are always inline.
2010-03-22 Martin Stjernholm <mast@lysator.liu.se>
* nnimap.el (nnimap-verify-uidvalidity): Fixed bug where uidvalidity
wasn't updated after mismatch. Clear cached mailbox info correctly
when uidvalidity changes.
(nnimap-group-prefixed-name): New function to avoid some code
duplication.
(nnimap-verify-uidvalidity, nnimap-group-overview-filename)
(nnimap-request-group): Use it.
(nnimap-retrieve-groups, nnimap-verify-uidvalidity)
(nnimap-update-unseen): Significantly improved speed of Gnus startup
with many imap folders. This is done by caching the group status from
the imap server persistently in a group parameter `imap-status'. (This
was cached before too if `nnimap-retrieve-groups-asynchronous' was set,
but not persistently, so every Gnus startup was still very slow.)
2010-03-20 Teodor Zlatanov <tzz@lifelogs.com>
* auth-source.el: Set up autoloads. Bump to 23.2 because of the
secrets.el dependency.
(auth-sources): Add optional user name. Add secrets.el configuration
choice (unused right now).
2010-03-20 Teodor Zlatanov <tzz@lifelogs.com>
* gnus-sum.el (gnus-summary-make-menu-bar): Let
`gnus-registry-install-shortcuts' fill in the functions.
* gnus-registry.el (gnus-summary-misc-menu): Declare to avoid
warnings.
(gnus-registry-misc-menus): Variable to hold registry mark menus.
(gnus-registry-install-shortcuts): Populate and use it in a
`gnus-summary-menu-hook' lambda, under "Gnus"->"Registry Marks".
2010-03-20 Martin Stjernholm <mast@lysator.liu.se>
* nnimap.el (nnimap-decode-group-name, nnimap-encode-group-name):
In-place substitutions for the group name encoding/decoding.
(nnimap-find-minmax-uid, nnimap-possibly-change-group)
(nnimap-retrieve-headers-progress, nnimap-possibly-change-group)
(nnimap-retrieve-headers-progress, nnimap-request-article-part)
(nnimap-update-unseen, nnimap-request-list)
(nnimap-retrieve-groups, nnimap-request-update-info-internal)
(nnimap-request-set-mark, nnimap-split-to-groups)
(nnimap-split-articles, nnimap-request-newgroups)
(nnimap-request-create-group, nnimap-request-accept-article)
(nnimap-request-delete-group, nnimap-request-rename-group)
(nnimap-acl-get, nnimap-acl-edit): Use them. Replace `mbx' with
`encoded-mbx' for consistency.
(nnimap-close-group): Call `imap-current-mailbox' instead of using the
variable `imap-current-mailbox'.
* gnus-agent.el (gnus-agent-fetch-articles, gnus-agent-fetch-headers)
(gnus-agent-regenerate-group): Use `gnus-agent-decoded-group-name'.
2010-03-20 Bojan Petrovic <bpetrovi@f.bg.ac.rs>
* pop3.el (pop3-display-message-size-flag): Display message size byte
counts during POP3 download.
(pop3-movemail): Use it.
(pop3-list): Implement listing of available messages.
2010-03-20 Mark Triggs <mst@dishevelled.net> (tiny change)
* nnir.el (nnir-get-article-nov-override-function): New function to
override the normal NOV retrieval.
(nnir-retrieve-headers): Use it.
Juri Linkov [Tue, 23 Mar 2010 07:16:57 +0000 (09:16 +0200)]
* replace.el (occur-accumulate-lines, occur-engine):
Use `occur-engine-line' instead of duplicate code.
(occur-engine-line): New function created from duplicate code
in `occur-accumulate-lines' and `occur-engine'.
Juri Linkov [Tue, 23 Mar 2010 07:11:50 +0000 (09:11 +0200)]
* finder.el: Remove TODO tasks.
* info.el (Info-finder-find-node): Add node "all"
with all package info. Handle a list of multiple keywords
separated by comma.
(info-finder): In interactive use with a prefix argument,
use `completing-read-multiple' to read a list of keywords
separated by comma.
Stefan Monnier [Tue, 23 Mar 2010 00:59:49 +0000 (20:59 -0400)]
Add a new completion style `substring'.
* minibuffer.el (completion-basic--pattern): New function.
(completion-basic-try-completion, completion-basic-all-completions): Use it.
(completion-substring--all-completions)
(completion-substring-try-completion)
(completion-substring-all-completions): New functions.
(completion-styles-alist): New style `substring'.
Dan Nicolaescu [Mon, 22 Mar 2010 19:51:59 +0000 (12:51 -0700)]
Remove dead code dealing with POSIX_SIGNALS.
* atimer.c (set_alarm): Remove dead code, all USG systems define
POSIX_SIGNALS.
* data.c (arith_error): Likewise.
* keyboard.c (input_available_signal, handle_user_signal)
(interrupt_signal): Likewise.
* process.c (sigchld_handler): Likewise.
(create_process): Remove if 0 code. Remove HPUX conditional when
!defined (POSIX_SIGNALS), it cannot be true.
* syssignal.h: Remove USG5_4 and USG conditionals when
!POSIX_SIGNALS, they cannot be true.
Jan Djärv [Mon, 22 Mar 2010 07:50:40 +0000 (08:50 +0100)]
Makefile.in (compile-main): cd to $(lisp) in a sub-shell, so we
don't do make there. When compiling with separate object dir, there
is no Makefile there.
Stefan Monnier [Mon, 22 Mar 2010 04:24:25 +0000 (00:24 -0400)]
Get rid of the ELCFILES abomination, again.
* Makefile.in (update-elclist, ELCFILES, compile-last): Remove.
(all, compile): Don't call compile-last.
(compile-main): Build the "elcfiles" list dynamically.
(compile-targets): New (internal) target.
Andreas Schwab [Sun, 21 Mar 2010 11:57:49 +0000 (12:57 +0100)]
Use absolute directory names substituted by configure
* lisp/Makefile.in (top_srcdir): Define.
(abs_top_builddir): Define.
(srcdir): Don't append `/..'.
(EMACS): Use ${abs_top_builddir}.
(all, compile, compile-always, compile-last): Don't set emacswd.
(update-subdirs, update-authors): Use $(top_srcdir) instead of
$(srcdir).
(lisp): Use $(srcdir) instead of @srcdir@.
* src/Makefile.in (abs_builddir): Define.
(bootstrap_exe): Use it.
(VPATH): Use $(srcdir) instead of @srcdir@.
Juri Linkov [Sun, 21 Mar 2010 10:52:51 +0000 (12:52 +0200)]
Fix message of multi-line occur regexps and multi-buffer header lines.
http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg00457.html
* replace.el (occur-1): Don't display regexp if it is longer
than window-width. Use `query-replace-descr' to display regexp.
(occur-engine): Don't display regexp in the buffer header for
multi-buffer occur. Display a separate header line with total
match count and regexp for multi-buffer occur.
Use `query-replace-descr' to display regexp.
Stefan Monnier [Sat, 20 Mar 2010 21:46:31 +0000 (17:46 -0400)]
Use more relative file and directory names in `lisp' make rules.
* lisp/Makefile.in (EMACS): Arrange for it to work when we chdir.
(setwins, setwins_almost, setwins_for_subdirs):
Don't `cd'; output relative names.
(all, compile, compile-always, compile-last): Set emacswd.
(custom-deps, finder-data, autoloads, update-subdirs, compile-last):
Just cd to the lisp source dir so we can use relative file names.
* src/Makefile.in (bootstrap_exe): Use an absolute name.