Stefan Monnier [Sun, 19 Sep 2010 14:52:37 +0000 (16:52 +0200)]
* lisp/emacs-lisp/smie.el (smie-bnf-precedence-table): Improve error message.
(smie-debug--prec2-cycle, smie-debug--describe-cycle): New functions.
(smie-prec2-levels): Use them to better diagnose precedence cycles.
(smie-blink-matching-check): Don't signal a mismatch if car is t.
(smie-blink-matching-open): Rewrite to remove assumptions, so that
something like "." can also be a closer.
(smie--associative-p, smie-indent--hanging-p, smie-indent--bolp)
(smie-indent--offset, smie-indent--offset-rule, smie-indent--column):
Rename internal functions to use "--". Update callers.
nnimap.el (nnimap-finish-retrieve-group-infos): Return data in the nntp buffer so the agent can save it.
nnimap.el (nnimap-open-shell-stream): Bind `process-connection-type' to nil, so that CRLF doesn't get translated to \n; (nnimap-open-connection): Don't make 'shell commands only send \n.
nnimap.el (nnimap-request-group): Don't make `M-g' bug out on group with no marks.
gnus-agent.el (gnus-agent-load-alist): Nix out the alist if the file doesn't exist.
nnimap.el (nnimap-finish-retrieve-group-infos): Protect against groups that have no articles.
nnimap.el (nnimap-request-article): Check that we really got an article when we requested one.
gnus-html.el (gnus-html-schedule-image-fetching): Ignore all errors from url-retrieve, for instance about invalid URLs.
gnus-agent.el: Change default of gnus-agent-auto-agentize-methods to nil.
Stefan Monnier [Sun, 19 Sep 2010 09:16:28 +0000 (11:16 +0200)]
* lisp/gnus/nnml.el (nnml-files): Add prefix to dynamic var `files'.
(nnml-generate-nov-databases-directory, nnml-generate-active-info):
Update var name.
(nnml-generate-nov-file): Use dolist.
(nnml-directory-articles, nnml-current-group-article-to-file-alist):
Use with-current-buffer.
Michael Mauger [Sun, 19 Sep 2010 02:11:18 +0000 (22:11 -0400)]
SQL Mode, Version 2.8 - sql-list-all and sql-list-table functions.
* progmodes/sql.el: Version 2.8
(sql-login-params): Updated widget structure; changes still
needed.
(sql-product-alist): Add :list-all and :list-table features for
SQLite, Postgres and MySQL products.
(sql-redirect): Handle default value.
(sql-execute, sql-execute-feature): New functions.
(sql-read-table-name): New function.
(sql-list-all, sql-list-table): New functions. User API
(sql-mode-map, sql-interactive-mode-map): Add key definitions
for above functions.
(sql-mode-menu, sql-interactive-mode-menu): Add menu definitions
for above functions.
(sql-postgres-login-params): Add user and database defaults.
(sql-buffer-live-p): Bug fix.
(sql-product-history); New variable.
(sql-read-product): New function. Use it.
(sql-set-product, sql-product-interactive): Use it.
(sql-connection-history): New variable.
(sql-read-connection): New function. Use it.
(sql-connect): New function.
(sql-for-each-login): Redesign function interface.
(sql-make-alternate-buffer-name, sql-save-connection): Use it.
(sql-get-login-ext, sql-get-login): Use it. Handle default values.
(sql-comint): Check for program. Existing live buffer.
(sql-comint-postgres): Add port parameter.
nnimap.el (nnimap-request-group): Use the stored info for the dont-check case.
nnimap.el: Use deffoo instead of defun for interface functions.
gnus-int.el (gnus-request-group): Take an optional `info' parameter.
nnimap.el: Allow nnimap-request-group to do a complete marks sync on `M-g'.
nnimap.el: Get credentials for numerical equivalents of the port numbers.
gnus-html.el (gnus-html-wash-tags): Add support for i, b and u HTML tags.
nnimap.el (nnimap-update-info): Extend the info so that we can set the marks.
nnimap.el (nnimap-open-connection): Fix typo -- should be 'shell, not 'stream.
nnimap.el: Allow PREAUTH nnimap connections to log in without credentials.
nnimap.el (nnimap-update-info): Fix off-by-one error when concatenating ranges when doing a partial update.
gnus-html.el (gnus-html-schedule-image-fetching): Use `url' rather than curl to retrieve images.
nnimap.el (nnimap-update-info): When doing partial marks update, get the range update right.
nnimap.el (nnimap-wait-for-response): Be a bit more lax in finding the end of the command we're looking for.
nnimap.el: Allow sending \n instead of \r\n on 'shell streams.
gnus-html.el (gnus-html-schedule-image-fetching): Fetch all images in parallel.
Stefan Monnier [Sat, 18 Sep 2010 16:21:16 +0000 (18:21 +0200)]
* lisp/indent.el (indent-according-to-mode): Apply syntax-propertize.
(indent-region): Use indent-according-to-mode.
* test/indent/octave.m: Remove one more `fixindent'. Use `end'.
Eli Zaretskii [Sat, 18 Sep 2010 14:13:09 +0000 (16:13 +0200)]
Fix MSDOS build broken by 2010-09-10T16:44:35Z!larsi@gnus.org, support MSDOS build with libxml2.
config.bat: Detect that libxml2 is installed and if so, build with it.
src/deps.mk (xml.o): Add dependencies.
msdos/sed1v2.inp (LIBXML2_LIBS, LIBXML2_CFLAGS): Edit to empty.
gnus-start.el (gnus-get-unread-articles): Allow the backends to update the group info. This makes the nndraft groups, for instance, go back to their old behaviour.
Eli Zaretskii [Sat, 18 Sep 2010 11:59:53 +0000 (13:59 +0200)]
Fix bug #7038 with cursor motion in paragraphs w/o strong characters.
xdisp.c (Fcurrent_bidi_paragraph_direction): Call
bidi_paragraph_init with NO_DEFAULT_P non-zero.
bidi.c (bidi_paragraph_init): Accept an additional argument
NO_DEFAULT_P; all callers changed. If NO_DEFAULT_P is non-zero,
search back until a paragraph with a strong directional character
is found, and use that to determine paragraph's base direction.
dispextern.h (bidi_paragraph_init): Update prototype.
Reimplement nnimap, and do tweaks to the rest of the code to support that.
* gnus-int.el (gnus-finish-retrieve-group-infos)
(gnus-retrieve-group-data-early): New functions.
* gnus-range.el (gnus-range-nconcat): New function.
* gnus-start.el (gnus-get-unread-articles): Support early retrieval of
data.
(gnus-read-active-for-groups): Support finishing the early retrieval of
data.
* gnus-sum.el (gnus-summary-move-article): Pass the move-to group name
if the move is internal, so that nnimap can do fast internal moves.
* gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for
nnimap usage.
* nnimap.el: Rewritten.
* nnmail.el (nnmail-inhibit-default-split-group): New internal variable
to allow the mail splitting to not return a default group. This is
useful for nnimap, which will leave unmatched mail in the inbox.
* utf7.el (utf7-encode): Autoload.
Implement shell connection.
* nnimap.el (nnimap-open-shell-stream): New function.
(nnimap-open-connection): Use it.
Get the number of lines by using BODYSTRUCTURE.
(nnimap-transform-headers): Get the number of lines in each message.
(nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the
number of lines.
Not all servers return UIDNEXT. Work past this problem.
Remove junk from end of file.
Fix typo in "bogus" section.
Make capabilties be case-insensitive.
Require cl when compiling.
Don't bug out if the LIST command doesn't have any parameters.
2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change)
* nnimap.el (nnimap-get-groups): Don't bug out if the LIST command
doesn't have any parameters.
Revert one line that was changed by mistake in the last checkin.
(nnimap-open-connection): Don't error out when we can't make a connection
nnimap-related changes to avoid bugging out if we can't contact a server.
* gnus-start.el (gnus-get-unread-articles): Don't try to scan groups
from methods that are denied.
* nnimap.el (nnimap-possibly-change-group): Return nil if we can't log
in.
(nnimap-finish-retrieve-group-infos): Make sure we're not waiting for
nothing.
* gnus-sum.el (gnus-select-newsgroup): Indent.
Stefan Monnier [Sat, 18 Sep 2010 00:35:00 +0000 (02:35 +0200)]
Fix and improve last syntax-propertize patch
* lisp/emacs-lisp/syntax.el (syntax-propertize-precompile-rules): New macro.
(syntax-propertize-rules): Add var-ref case. Fix offset computation
when adding surrounding \(..\).
* lisp/progmodes/fortran.el (fortran--font-lock-syntactic-keywords): Remove.
(fortran-make-syntax-propertize-function): New function; replaces
fortran-font-lock-syntactic-keywords.
(fortran-mode): Use it.
(fortran-line-length): Use it. Improve interactive spec.
* lisp/progmodes/js.el (js-mode): Fix last change (bug#7054).
* lisp/textmodes/tex-mode.el (tex-syntax-propertize-rules)
(latex-syntax-propertize-rules): New consts; replace
tex-font-lock-syntactic-keywords.
(tex-env-mark, latex-env-before-change): New functions.
(latex-electric-env-pair-mode): New minor mode.
(tex-font-lock-verb): Change arguments; do move point.
(tex-font-lock-syntactic-face-function): Adjust to new verbatim
representation as a form of comment.
(tex-font-lock-keywords-1): Remove workaround, now unneeded.
(doctex-syntax-propertize-rules): New const; replaces
doctex-font-lock-syntactic-keywords.
(tex-common-initialization, doctex-mode): Use syntax-propertize-rules.
Jan D [Fri, 17 Sep 2010 09:04:35 +0000 (11:04 +0200)]
Expose tool-bar pixel width to lisp and use it for speedbar (Bug#7048)
* dframe.el (dframe-reposition-frame-emacs): Use tool-bar-pixel-width
in calculating new frame position. Add more space between new and
parent on the left.
* frame.c (Ftool_bar_pixel_width): New function to expose tool
bar's pixel width to Lisp.
Stefan Monnier [Wed, 15 Sep 2010 15:30:43 +0000 (17:30 +0200)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types): New type
`lexical' for warnings related to lexical scoping.
(byte-compile-file-form-defvar, byte-compile-defvar): Warn about
global vars which don't have a prefix and could hence affect lexical
scoping in unrelated files.
Fix up the w3m/curl dependencies.
mm-decode.el (mm-text-html-renderer): Don't have gnus-article-html depend on curl, which isn't essential.
gnus-html.el (gnus-html-schedule-image-fetching, gnus-html-prefetch-images): Check for curl before using it.
* lisp/calendar/diary-lib.el (diary-included-files): New variable.
(diary-list-entries): Maybe initialize diary-included-files.
(diary-include-other-diary-files): Append to diary-included-files.
* lisp/calendar/appt.el (appt-update-list): Also check the members of
diary-included-files.
Michael Mauger [Mon, 13 Sep 2010 20:05:23 +0000 (16:05 -0400)]
SQL Mode 2.7: Code cleanup and primatives for SQL redirection
* progmodes/sql.el: Version 2.7.
(sql-buffer-live-p): Improve detection.
(sql-find-sqli-buffer, sql-set-sqli-buffer-generally)
(sql-set-sqli-buffer): Use it.
(sql-product-interactive): Run `sql-set-sqli-hook'.
(sql-rename-buffer): Code cleanup.
(sql-redirect, sql-redirect-value): New functions. More to come.
* net/tramp-cache.el (top): Set tramp-autoload cookie for
initialization forms.
(tramp-set-connection-property): Don't protect `tramp-message'
call, it isn't necessary any longer.
(tramp-dump-connection-properties): Use `ignore-errors'.
* net/tramp-compat.el (top): Require 'advice, 'format-spec,
'password-cache and 'auth-source.
* net/tramp-gw.el (tramp-gw-open-network-stream): Use `ignore-errors'.
* net/tramp-sh.el: New file, derived from tramp.el.
(top): Initialize `tramp-methods', `tramp-default-method-alist',
`tramp-default-user-alist', tramp-foreign-file-name-handler-alist.
Remove "scp1_old", "scp2_old", "ssh1_old", "ssh2_old". Use
`ignore-errors' where appropriate.
(tramp-sh-file-name-handler-alist): Renamed from
`tramp-file-name-handler-alist'.
(tramp-send-command-and-check): Return t or nil. Remove all
`zerop' checks, where called.
(tramp-handle-set-file-modes)
(tramp-do-copy-or-rename-file-directly)
(tramp-handle-delete-directory, tramp-handle-delete-file)
(tramp-maybe-send-script, ): Use `tramp-barf-unless-okay'.
(tramp-sh-file-name-handler, tramp-send-command-and-check)
(tramp-get-remote-ln): Set tramp-autoload cookie.
Jan D [Sun, 12 Sep 2010 13:23:59 +0000 (15:23 +0200)]
Fix bug 7013, only do send event if wanted state != current state.
* xterm.c (get_current_vm_state): New function.
(do_ewmh_fullscreen): Call get_current_vm_state and compare with
want_fullscreen so set_wm_state calls are few (Bug#7013).
(x_handle_net_wm_state): Move code to get_current_vm_state and
call that function.
Leo Liu [Sun, 12 Sep 2010 11:06:19 +0000 (13:06 +0200)]
* lisp/net/rcirc.el (rcirc-server-commands, rcirc-client-commands)
(rcirc-completion-start): New variables.
(rcirc-nick-completions): Rename to rcirc-completions.
(rcirc-nick-completion-start-offset): Delete.
(rcirc-completion-at-point): New function for constructing
completion data for both nicks and irc commands. Add to
completion-at-point-functions in rcirc mode.
(rcirc-complete): Rename from rcirc-nick-complete; use
rcirc-completion-at-point.
(defun-rcirc-command): Update rcirc-client-commands.
Various updates for the Bugs section of the manual.
* doc/emacs/trouble.texi (Bugs): Update the section intro.
(Known Problems): New section.
(Checklist): Misc updates. Prefer M-x report-emacs-bug.
(Sending Patches): Bug fixes are best as responses to existing bugs.
* doc/emacs/emacs.texi (Known Problems): Add menu entry for new section.
Michael Mauger [Sat, 11 Sep 2010 03:17:02 +0000 (23:17 -0400)]
SQL Mode, Version 2.6
* progmodes/sql.el: Version 2.6
(sql-dialect): Synonym for "sql-product".
(sql-find-sqli-buffer, sql-set-sqli-buffer-generally)
(sql-set-sqli-buffer, sql-show-sqli-buffer, sql-interactive-mode):
Set "sql-buffer" to buffer name not buffer object so multiple sql
interactive buffers work properly. Reverts misguided changes in
earlier work.
(sql-comint): Make sure different buffer name is used if "*SQL*"
buffer is for a different product.
(sql-make-alternate-buffer-name): Fix bug with "sql-database"
login param.
(sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql)
(sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase)
(sql-db2, sql-linter, sql-product-interactive, sql-rename-buffer):
Accept new buffer name or prompt for one.
(sql-port): Default to zero.
(sql-comint-mysql): Handle "sql-port" as a numeric.
(sql-port-history): Delete unused variable.
(sql-get-login): Default "sql-port" to a number.
(sql-product-alist): Correct Postgres prompt and terminator
regexp.
(sql-sqlite-program): Dynamically detect presence of "sqlite" or
"sqlite3" executables.
(sql-sqlite-login-params): Add "*.sqlite[23]?" database name
pattern.
(sql-buffer-live-p): New function.
(sql-mode-menu, sql-send-string): Use it.
(sql-mode-oracle-font-lock-keywords): Improve SQL*Plus REMARK
syntax pattern.
(sql-mode-postgres-font-lock-keywords): Support Postgres V9.
(sql-mode-sqlite-font-lock-keywords): Hilight sqlite commands.