Grégoire Jadi [Fri, 28 Jun 2013 19:18:47 +0000 (21:18 +0200)]
* src/xwidget.c: Replace xwidget_views by Vxwidget_view_list.
xwidget_views was an hardcoded array of fixed lenght of `struct
xwidget_view', Vxwidget_view_list is a list of Lisp_Object.
* src/xwidget.h (xwidget_view): Remove member `initialized'.
This field was only used to determine whether a given xwidget_view was
initialized or not in `xwidget_views'. Now only initialized xwidget_view
are stored in Vxwidget_view_list.
Grégoire Jadi [Fri, 28 Jun 2013 15:16:27 +0000 (17:16 +0200)]
* src/xwidget.h (xwidget_view): Convert member `model' to Lisp_Object.
(XXWIDGET_VIEW_P, XXWIDGET_VIEW): Add standard macros to manipulate xwidget_view.
* src/xwidget.c: Fix access to model in xwidget_view (now a Lisp_Object).
Grégoire Jadi [Mon, 24 Jun 2013 08:22:45 +0000 (10:22 +0200)]
Handle xwidgets like processes and delete them when their buffer is killed.
* lisp/xwidget.el (xwidget-kill-buffer-query-function): New function to
query a user before killing a buffer with xwidgets in it.
This function is stored in `kill-buffer-query-functions' and called from
`kill-buffer'.
* src/buffer.c (Fkill_buffer): Call `kill_buffer_xwidgets'.
* src/xwidget.c (kill_buffer_xwidgets): Delete xwidgets attached to the
specified buffer.
* src/xwidget.h (kill_buffer_xwidgets): Add definition.
Grégoire Jadi [Mon, 24 Jun 2013 08:22:45 +0000 (10:22 +0200)]
* src/xwidget.c (Fmake_xwidget): Store xwidget in Vxwidget_list.
(syms_of_xwidget): Rename Vxwidget_alist to Vxwidget_list and register
`get-buffer-xwidgets' as a new subr.
(Fget_buffer_xwidgets): New function to return a list of xwidgets attached
to the specified buffer.
lisp/gnus/eww.el (eww-submit): Get submit button logic right when hitting RET on non-submit buttons
lisp/gnus/shr.el: Remove shr-preliminary-table-render, since that can't really be used for anything in practice
Albert Krewinkel [Fri, 14 Jun 2013 09:48:49 +0000 (09:48 +0000)]
lisp/gnus/sieve.el: Rebind q to (sieve-bury-buffer), bind Q to (sieve-manage-quit)
doc/misc/sieve.texi: (Managing Sieve): Fix port in example, fix documentation for keys q and Q
(Standards): Reference RFC5804 as the defining document of the managesieve protocol
David Edmondson [Fri, 14 Jun 2013 03:24:05 +0000 (03:24 +0000)]
lisp/gnus/mml2015.el (mml2015-maximum-key-image-dimension): New user option to control the maximum size of photo ID image
(mml2015-epg-key-image-to-string): Respect it
lisp/gnus/shr.el (shr-tag-table-1): Mark the preliminary table renderings instead of the final one so that we can more easily distinguish them
lisp/gnus/eww.el (eww-submit): Compute the submission URL correctly
Stefan Monnier [Fri, 14 Jun 2013 03:20:18 +0000 (23:20 -0400)]
* lisp/emacs-lisp/package.el: Don't recompute dir. Use pkg-descs more.
(package-desc): Add `dir' field.
(package-desc-full-name): New function.
(package-load-descriptor): Combine the two arguments. Don't use `load'.
(package-maybe-load-descriptor): Remove.
(package-load-all-descriptors): Just call package-load-descriptor.
(package--disabled-p): New function.
(package-desc-vers, package-desc-doc): Remove aliases.
(package--dir): Remove function.
(package-activate): Check if a package is disabled.
(package-process-define-package): New function, extracted from
define-package.
(define-package): Turn into a place holder.
(package-unpack-single, package-tar-file-info):
Use package--description-file.
(package-compute-transaction): Use package--disabled-p.
(package-download-transaction): Don't call
package-maybe-load-descriptor since they're all loaded anyway.
(package-install): Change argument to be a pkg-desc.
(package-delete): Use a single pkg-desc argument.
(describe-package-1): Use package-desc-dir instead of package--dir.
Use package-desc property instead of package-symbol.
(package-install-button-action): Adjust accordingly.
(package--push): Rewrite.
(package-menu--print-info): Adjust accordingly. Change the ID format
to be a pkg-desc.
(package-menu-describe-package, package-menu-get-status)
(package-menu--find-upgrades, package-menu-mark-upgrades)
(package-menu-execute, package-menu--name-predicate):
Adjust accordingly.
* lisp/startup.el (package--description-file): New function.
(command-line): Use it.
* lisp/emacs-lisp/package-x.el (package-upload-buffer-internal):
Use package-desc-version.
Stefan Monnier [Fri, 14 Jun 2013 02:31:28 +0000 (22:31 -0400)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-force-lexical-warnings): New var.
(byte-compile-preprocess): Use it.
(byte-compile-file-form-defalias): Try a bit harder to use macros we
can't quite recognize.
(byte-compile-add-to-list): Remove.
* lisp/emacs-lisp/cconv.el (cconv-warnings-only): New function.
(cconv-closure-convert): Add assertion.
* lisp/emacs-lisp/map-ynp.el: Use lexical-binding.
(map-y-or-n-p): Remove unused vars `tail' and `object'.
Factor out some repeated code.
* etc/NEWS (utf-8 for el): Move to the incompatible section.
Stefan Monnier [Thu, 13 Jun 2013 22:24:52 +0000 (18:24 -0400)]
* lisp/subr.el (with-eval-after-load): New macro.
(eval-after-load): Allow form to be a function.
take advantage of lexical-binding.
(do-after-load-evaluation): Use dolist and adjust to new format.
* lisp/simple.el (bad-packages-alist): Use dolist and with-eval-after-load.
* doc/lispref/loading.texi (Hooks for Loading): Document with-eval-after-load
instead of eval-after-load. Don't document after-load-alist.
* src/lread.c (syms_of_lread):
* src/fns.c (Fprovide): Adjust to new format of after-load-alist.
Juri Linkov [Thu, 13 Jun 2013 22:08:45 +0000 (01:08 +0300)]
* lisp/isearch.el (isearch-query-replace): Add " symbol" and other
possible search modes from `isearch-message-prefix' to the prompt.
(isearch-occur): Use `with-isearch-suspended' to not exit Isearch
when reading a regexp to collect.
* lisp/replace.el (perform-replace): Display "symbol " and other search
modes from `isearch-message-prefix' in the *Help* buffer.
Juri Linkov [Thu, 13 Jun 2013 21:49:10 +0000 (00:49 +0300)]
* lisp/isearch.el (word-search-regexp): Match whitespace if the search
string begins or ends in whitespace. The LAX arg is applied to
both ends of the search string. Use `regexp-quote' and explicit
\< and \> instead of \b. Use \` and \' instead of ^ and $.
(isearch-symbol-regexp): Sync with `word-search-regexp' where word
boundaries are replaced with symbol boundaries, and characters
between symbols match non-word non-symbol syntax.
Vitalie Spinu [Thu, 13 Jun 2013 20:43:53 +0000 (16:43 -0400)]
* lisp/subr.el (internal-push-keymap, internal-pop-keymap): New functions.
(set-temporary-overlay-map): Use them; and take advantage of
lexical-binding.
lisp/gnus/shr.el (shr-expand-url): Expansion should chop off the bits after the last slash
lisp/gnus/eww.el (eww-tag-select): Use the first value as the default value
Michael Albinus [Thu, 13 Jun 2013 10:12:34 +0000 (12:12 +0200)]
Implement changes in Secret Service API. Make it backward compatible.
* net/secrets.el (secrets-struct-secret-content-type): New defonst.
(secrets-create-item): Use it. Prefix properties with interface.
Grégoire Jadi [Thu, 13 Jun 2013 07:42:41 +0000 (09:42 +0200)]
* lisp/xwidget.el (report-xwidget-bug): Add a function to submit a bug
with the proper address and pseudo-header.
* README.xwidget: Update the documentation to mention
`report-xwidget-bug'.
Gnus developers [Thu, 13 Jun 2013 06:07:43 +0000 (06:07 +0000)]
lisp/gnus/eww.el (eww): Prepend urls with http:// if scheme is missing
(eww-mode): Use `define-derived-mode'
(eww-parse-headers): Parse headers from beginning of buffer so that file:// links work
(eww-detect-charset): Detect charset from the <meta> tag
Eyal Lotem [Wed, 12 Jun 2013 07:18:49 +0000 (00:18 -0700)]
Respect ido-ignore-item-p in ido-wide-find-dirs-or-files (tiny change)
* lisp/ido.el (ido-delete-ignored-files): New function,
split from ido-make-file-list-1.
(ido-wide-find-dirs-or-files): Maybe ignore files.
(ido-make-file-list-1): Use ido-delete-ignored-files.
Leo Liu [Wed, 12 Jun 2013 02:37:38 +0000 (10:37 +0800)]
* progmodes/octave.el (inferior-octave-startup)
(inferior-octave-completion-table)
(inferior-octave-track-window-width-change)
(octave-eldoc-function-signatures, octave-help)
(octave-find-definition): Use single quoted strings.
(inferior-octave-startup-args): Change default value.
(inferior-octave-startup): Do not hard code "-i" and
"--no-line-editing".
(inferior-octave-resync-dirs): Add optional arg NOERROR.
(inferior-octave-directory-tracker): Use it.
(octave-goto-function-definition): Robustify.
(octave-help): Support highlighting operators in 'See also'.
(octave-find-definition): Find subfunctions only in Octave mode.
Stefan Monnier [Wed, 12 Jun 2013 02:16:02 +0000 (22:16 -0400)]
* lisp/help-fns.el (help-fns--compiler-macro): If the handler function is
named, then put a link to it.
* lisp/help-mode.el (help-function-cmacro): Adjust regexp for cl-lib names.
* lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-typep): New function.
(cl-typep): Use it.
(cl-eval-when): Simplify debug spec.
(cl-define-compiler-macro): Use eval-and-compile. Give a name to the
compiler-macro function instead of setting `compiler-macro-file'.
Stefan Monnier [Wed, 12 Jun 2013 00:49:33 +0000 (20:49 -0400)]
First part of Daniel Hackney's patch to package.el.
* lisp/emacs-lisp/package.el: Use defstruct.
(package-desc): New, main struct.
(package--bi-desc, package--ac-desc): New structs, used to describe the
format in external files.
(package-desc-vers): Replace with package-desc-version accessor.
(package-desc-doc): Replace with package-desc-summary accessor.
(package-activate-1): Remove `package' arg since the pkg-vec now
includes the name.
(define-package): Use package-desc-from-define.
(package-unpack-single): Change file-name arg to be a symbol.
(package--add-to-archive-contents): Use package-desc-create and new
accessor functions to package--ac-desc.
(package-buffer-info, package-tar-file-info): Return a package-desc.
(package-install-from-buffer): Remove `type' argument. Change pkg-info
arg to be a package-desc.
(package-install-file): Adjust accordingly. Use \' to match EOS.
(package--from-builtin): New function.
(describe-package-1, package-menu--generate): Use it.
(package--make-autoloads-and-compile): Change name arg to be a symbol.
(package-generate-autoloads): Idem and return the name of the file.
* lisp/emacs-lisp/package-x.el (package-upload-buffer-internal):
Change pkg-info arg to be a package-desc.
Use package-make-ac-desc.
(package-upload-file): Use \' to match EOS.
* lisp/finder.el (finder-compile-keywords): Use package-make-builtin.
Paul Eggert [Tue, 11 Jun 2013 18:34:06 +0000 (11:34 -0700)]
Tickle glib by waiting for Emacs itself, not for process 0.
* process.c (init_process_emacs) [HAVE_GLIB && !WINDOWSNT]:
Wait for self, not for 0. This can't hurt on GNU or similar
system, and may help with Cygwin.
Grégoire Jadi [Tue, 11 Jun 2013 13:14:43 +0000 (15:14 +0200)]
* src/xwidget.c (Fmake_xwidget): Add a docstring and add BUFFER as an optional parameter.
The docstring now lists the types accepted.
The GCPROtection has also been removed because it wasn't necessary (no
call to Feval/eval_sub either directly or indirectly).
(syms_of_xwidget): Add a comment to remind us to update the docstring of
`Fmake_xwidget' if new types are added.
Albert Krewinkel [Tue, 11 Jun 2013 07:32:25 +0000 (07:32 +0000)]
lisp/gnus/sievel-manage.el: fully support STARTTLS, fix bit rot
* Make sieve-manage-open work with STARTTLS: shorten stream managing
functions by using open-protocol-stream to do most of the work. Has
the nice benefit of enabling STARTTLS.
* Remove unneeded functions and options: the following functions and
options are neither in the API, nor called by any other function, so
they are deleted:
- sieve-manage-network-p
- sieve-manage-network-open
- sieve-manage-starttls-p
- sieve-manage-starttls-open
- sieve-manage-forward
- sieve-manage-streams
- sieve-manage-stream-alist
The options could not be applied in a meaningful way anymore; they
didn't happen to have much effect before.
* Cosmetic changes and code clean-up
* Enable Multibyte for SieveManage buffers: The parser won't properly
handle umlauts and line endings unless multibyte is turned on in the
process buffer.
* Wait for capabilities after STARTTLS: following RFC5804, the server
sends new capabilities after successfully establishing a TLS
connection with the client. The client should update the cached list
of capabilities, but we just ignore the answer for now.