Paul Eggert [Wed, 6 Jul 2011 17:58:37 +0000 (10:58 -0700)]
Add gnulib support for pthread_sigmask.
* Makefile.in (GNULIB_MODULES): Add pthread_sigmask.
(GNULIB_TOOL_FLAGS): Avoid sigprocmask. Emacs does its own
implementation of 'sigprocmask' on Windows, and it assumes
'sigprocmask' on non-Windows hosts, so it doesn't need the
sigprocmask module.
* lib/signal.in.h, m4/pthread_sigmask.m4, m4/signal_h.m4:
New files, automatically imported from gnulib.
* lib/gnulib.mk, m4/gl-comp.m4: Automatically-imported update
due to the above changes.
* .bzrignore: Add lib/signal.h.
* net/network-stream.el (network-stream-open-starttls): Try using
a plain connection even if the server offered STARTTLS, and we
kinda wanted to use it, if Emacs doesn't have any STARTTLS
capability. This should make smtpmail.el work in slightly more
configurations.
Michael Mauger [Wed, 6 Jul 2011 03:51:48 +0000 (23:51 -0400)]
* progmodes/sql.el: Version 3.0
(sql-product-alist): Added product :completion-object,
:completion-column, and :statement attributes.
(sql-mode-menu, sql-interactive-mode-map): Fixed List entries.
(sql-mode-syntax-table): Mark all punctuation.
(sql-font-lock-keywords-builder): Temporarily removed fallback on
ansi keywords.
(sql-regexp-abbrev, sql-regexp-abbrev-list): New functions.
(sql-mode-oracle-font-lock-keywords): Improved.
(sql-oracle-show-reserved-words): New function for development.
(sql-product-font-lock): Simplify for source code buffers.
(sql-product-syntax-table, sql-product-font-lock-syntax-alist):
New functions.
(sql-highlight-product): Set product specific syntax table.
(sql-mode-map): Added statement movement functions.
(sql-ansi-statement-starters, sql-oracle-statement-starters): New
variable.
(sql-statement-regexp, sql-beginning-of-statement)
(sql-end-of-statement, sql-signum): New functions.
(sql-buffer-live-p, sql=find-sqli-buffer): Added CONNECTION
parameter.
(sql-show-sqli-buffer): Bug fix.
(sql-interactive-mode): Store connection data as buffer local.
(sql-connect): Added NEW-NAME parameter. Redesigned interaction
with sql-interactive-mode.
(sql-save-connection): Save buffer local settings.
(sql-connection-menu-filter): Changed menu entry name.
(sql-product-interactive): Bug fix.
(sql-preoutput-hold): New variable.
(sql-interactive-remove-continuation-prompt): Bug fixes.
(sql-debug-redirect): New variable.
(sql-str-literal): New function.
(sql-redirect, sql-redirect-one, sql-redirect-value, sql-execute):
Redesigned.
(sql-oracle-save-settings, sql-oracle-restore-settings)
(sql-oracle-list-all, sql-oracle-list-table): New functions.
(sql-completion-object, sql-completion-column)
(sql-completion-sqlbuf): New variables.
(sql-build-completions-1, sql-build-completions)
(sql-try-completion): New functions.
(sql-read-table-name): Use them.
(sql-contains-names): New buffer local variable.
(sql-list-all, sql-list-table): Use it.
(sql-oracle-completion-types): New variable.
(sql-oracle-completion-object, sql-sqlite-completion-object)
(sql-postgres-completion-object): New functions.
gnus.texi (Filtering New Groups): Clarify how simple the "options -n" format is.
(Agent Expiry): Remove mention of `gnus-request-expire-articles', which is internal.
gnus.texi (Expiring Mail): Document gnus-auto-expirable-marks.
nnir.el (nnir-notmuch-program, nnir-notmuch-additional-switches, nnir-notmuch-remove-prefix, nnir-engines, nnir-run-notmuch): New nnir `notmuch' backend.
mm-decode.el (mm-text-html-renderer): Doc fix.
gnus-msg.el (gnus-bug): Fix the MML tag.
pop3.el (pop3-open-server): -ERR is a valid response to CAPA.
gnus-start.el (gnus-get-unread-articles): Don't connect to the secondary methods if started with `gnus-no-server'.
gnus-group.el (gnus-read-ephemeral-bug-group): Allow fetching several bug reports at once.
Ken Manheimer [Tue, 5 Jul 2011 18:54:08 +0000 (14:54 -0400)]
* allout.el (allout-post-undo-hook): New allout outline-change event hook
to signal undo activity.
(allout-post-command-business): Run allout-post-undo-hook if an undo just
occurred.
(allout-after-copy-or-kill-hook), (allout-mode): Minor docstring changes.
* allout-widgets.el (allout-widgets-after-undo-function): Ensure the
integrity of the current item's decoration after it has been in the
vicinity of an undo.
(allout-widgets-mode): Include allout-widgets-after-undo-function on the
new allout-post-undo-hook.
Stefan Monnier [Tue, 5 Jul 2011 18:26:33 +0000 (14:26 -0400)]
* lisp/emacs-lisp/lisp-mode.el (lisp-interaction-mode-abbrev-table):
Let define-derived-mode define it.
* lisp/emacs-lisp/derived.el (define-derived-mode): Try to avoid creating
cycles of abbrev-table inheritance.
* emacs-lock.el (emacs-lock-mode): Fix typo in variable name.
Fix check of `emacs-lock-unlockable-modes'.
Coerce true values of `emacs-lock--try-unlocking' to t.
* src/xsettings.c: Use both GConf and GSettings if both are available.
(store_config_changed_event): Add comment.
(dpyinfo_valid, store_font_name_changed, map_tool_bar_style)
(store_tool_bar_style_changed): New functions.
(store_monospaced_changed): Add comment. Call dpyinfo_valid.
(struct xsettings): Move font inside HAVE_XFT.
(GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines.
(GSETTINGS_MONO_FONT): Renamed from SYSTEM_MONO_FONT.
Move inside HAVE_XFT.
(something_changed_gsettingsCB): Renamed from something_changedCB.
Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME
also.
(GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines.
(GCONF_MONO_FONT): Renamed from SYSTEM_MONO_FONT. Move inside HAVE_XFT.
(something_changed_gconfCB): Renamed from something_changedCB.
Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also.
(parse_settings): Move check for font inside HAVE_XFT.
(read_settings, apply_xft_settings): Add comment.
(read_and_apply_settings): Add comment. Call map_tool_bar_style and
store_tool_bar_style_changed. Move check for font inside HAVE_XFT and
call store_font_name_changed.
(xft_settings_event): Add comment.
(init_gsettings): Add comment. Get values for GSETTINGS_TOOL_BAR_STYLE
and GSETTINGS_FONT_NAME. Move check for fonts within HAVE_XFT.
(init_gconf): Add comment. Get values for GCONF_TOOL_BAR_STYLE
and GCONF_FONT_NAME. Move check for fonts within HAVE_XFT.
(xsettings_initialize): Call init_gsettings last.
(xsettings_get_system_font, xsettings_get_system_normal_font): Add
comment.
Paul Eggert [Tue, 5 Jul 2011 02:51:15 +0000 (19:51 -0700)]
Random fixes. E.g., (random) never returned negative values.
* fns.c (Frandom): Use GET_EMACS_TIME for random seed, and add the
subseconds part to the entropy, as that's a bit more random.
Prefer signed to unsigned, since the signedness doesn't matter and
in general we prefer signed. When given a limit, use a
denominator equal to INTMASK + 1, not to VALMASK + 1, because the
latter isn't right if USE_2_TAGS_FOR_INTS.
* sysdep.c (get_random): Return a value in the range 0..INTMASK,
not 0..VALMASK. Don't discard "excess" bits that random () returns.
Ken Manheimer [Mon, 4 Jul 2011 22:16:10 +0000 (18:16 -0400)]
* allout.el (allout-encrypt-unencrypted-on-saves): Do not provide insecure
exception for current topic. Also note that auto-saves are handled
differently.
(allout-auto-save-temporarily-disabled), (allout-just-did-undo): State
variables for tracking auto-save inhibition situation.
(allout-write-contents-hook-handler): Rename from
'allout-write-file-hook-handler', and describe how it depends on
write-contents-functions sensitivity to non-nil value to prevent file
write.
(allout-auto-save-hook-handler): Remove. auto-save does not check this in
individual buffers, only in the starting buffer, so this is not the right
way for us to inhibit auto-save in a buffer according to its condition.
(allout-mode): Use new allout-write-contents-hook-handler, and only with
write-contents-functions. Remove auto-save provisions - they're
implemented elsewhere.
(allout-before-change-handler): If undo is in progress, note that for
attention of allout-post-command-business.
(allout-post-command-business): If the command we're following was an undo,
check for change in the status of encrypted items and adjust auto-save
inhibitions accordingly.
(allout-toggle-subtree-encryption): Adjust auto-save inhibition according
to whether there are or aren't any plain-text topics pending encryption.
(allout-inhibit-auto-save-info-for-decryption): Adjust buffer-saved-size
and some allout state to inhibit auto-saves if there are plain-text topics
pending encryption.
(allout-maybe-resume-auto-save-info-after-encryption): Adjust
buffer-saved-size and some allout state to not inhibit auto-saves if there
are no longer any plain-text topics pending encryption.
(allout-next-topic-pending-encryption), (allout-encrypt-decrypted): No
longer provide for exemption of the current topic.
Juri Linkov [Mon, 4 Jul 2011 22:11:40 +0000 (01:11 +0300)]
Add 7z operations to delete and save changed members.
* lisp/arc-mode.el (archive-7z-expunge, archive-7z-update):
New defcustoms.
(archive-7z-write-file-member): New function.
(archive-7z-summarize): Fix the number of dashes in the
listing output.
Michael Albinus [Mon, 4 Jul 2011 12:12:38 +0000 (14:12 +0200)]
* net/tramp-cmds.el (tramp-cleanup-this-connection): New command.
* net/tramp-sh.el (tramp-color-escape-sequence-regexp): New defconst.
(tramp-sh-handle-insert-directory, tramp-convert-file-attributes):
Use it.
(tramp-remote-path): Add "/bin" and "/usr/bin". On busyboxes,
`tramp-default-remote-path' does not exist.
(tramp-send-command-and-read): New optional argument NOERROR.
(tramp-open-connection-setup-interactive-shell)
(tramp-get-remote-path, tramp-get-remote-stat): Use it.
(tramp-get-remote-readlink): Do not mask with `ignore-errors'.
(tramp-process-sentinel): Flush also process' connection property.
(tramp-sh-handle-start-file-process): Do not set process
sentinel. It is done now ...
(tramp-maybe-open-connection): ... here. (Bug#8929)
Paul Eggert [Mon, 4 Jul 2011 06:31:40 +0000 (23:31 -0700)]
Merge: timer.el: Use time-date fns rather than rolling our own.
This is simpler and helps future-proof the code.
* emacs-lisp/timer.el (timer-until): Use time-subtract and float-time.
(timer--time-less-p): Use time-less-p.
src/gnutls.c: Remove bogus references to :verify-error.
* gnutls.c (Fgnutls_boot): Don't mention :verify-error.
(syms_of_gnutls): Remove duplicate DEFSYM for
Qgnutls_bootprop_verify_hostname_error, an error for
Qgnutls_bootprop_verify_error (which is no longer used).
* eval.c (find_handler_clause): Remove parameters `sig' and `data',
unused since 2011-01-26T20:02:07Z!monnier@iro.umontreal.ca. All callers changed.
Also (re)move comments that are misplaced or no longer relevant.
nndraft.el (nndraft-update-unread-articles): New function.
(nndraft-request-associate-buffer): Use it to update the number of unread articles for the nndraft groups in the group buffer when saving or killing a draft message.
Bill Wohler [Mon, 4 Jul 2011 00:35:48 +0000 (17:35 -0700)]
* mh-compat.el (mh-window-full-height-p): Add compatibility function
for XEmacs.
* mh-show.el (mh-show-msg): Use it, and avoid compiler warning on
XEmacs.
Bill Wohler [Mon, 4 Jul 2011 00:27:22 +0000 (17:27 -0700)]
* mh-compat.el (mh-window-full-height-p): Add compatibility function
for XEmacs.
* mh-show.el (mh-show-msg): Use it, and avoid compiler warning on
XEmacs.
Bill Wohler [Mon, 4 Jul 2011 00:09:44 +0000 (17:09 -0700)]
* mh-letter.el (mh-letter-mode-map, mh-letter-complete)
(mh-complete-word): Remove FIXME comments since these functions are
still needed in other Emacsen. However, they can probably stand to be
generalized like completion-at-point.
(mh-letter-complete-or-space): Remove unused variable.
Paul Eggert [Sun, 3 Jul 2011 23:51:42 +0000 (16:51 -0700)]
* type-break.el: Accept time formats that the builtins accept.
(timep, type-break-time-difference): Accept any format that
float-time accepts, rather than insisting on (HIGH LOW USECS) format.
This is simpler and helps future-proof the code.
(type-break-time-difference): Round rather than ignoring
subseconds components.
Bill Wohler [Sun, 3 Jul 2011 22:27:19 +0000 (15:27 -0700)]
* mh-compat.el (mh-test-completion): Add compatibility function for
systems without test-completion.
* mh-alias.el (mh-alias-letter-expand-alias): Use it
gnus.texi (Subscription Methods): Link to "Group Levels" to explain zombies. (Checking New Groups): Ditto (bug#8974).
gnus.texi (Startup Files): Clarify that we're talking about numbered backups, and not actual vc (bug#8975).
gnus-group.el (gnus-read-ephemeral-bug-group): Bind the coding systems to binary before writing and reading the mbox files.
gnus.el (gnus-summary-line-format): Link to the info node for %U instead of trying to list them all (bug#8978).
pop3.el (pop3-open-server): Use :end-of-capability.
gnus-group.el (gnus-read-ephemeral-emacs-bug-group): Make sure that the id is always a number.
gnus-group.el (gnus-read-ephemeral-emacs-bug-group): Hook into debbugs mode, if possible.
Fix how custom themes handle faces, so the multi-tty/multi-frame case works.
* lisp/custom.el (custom-push-theme): Don't record faces in `changed'
theme; this doesn't work correctly for per-frame face settings.
(disable-theme): Use face-set-after-frame-default to reset faces.
(custom--frame-color-default): New function.
* lisp/frame.el (frame-background-mode, frame-set-background-mode):
Moved from faces.el.
(frame-default-terminal-background): New function.
* src/xfaces.c (Finternal_merge_in_global_face): Modify the foreground
and background color parameters if they have been changed.