[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] xwidget 13251c0 1/4: Revert "Revert changes installed by x
From: |
Joakim Verona |
Subject: |
[Emacs-diffs] xwidget 13251c0 1/4: Revert "Revert changes installed by xwidgets merge" |
Date: |
Tue, 03 Feb 2015 00:12:51 +0000 |
branch: xwidget
commit 13251c01dc5ab28b60f544070583d7066fe66223
Author: Joakim Verona <address@hidden>
Commit: Joakim Verona <address@hidden>
Revert "Revert changes installed by xwidgets merge"
This reverts commit 241260cc2819e5df254ad85953588b06388ade61.
Conflicts:
src/ChangeLog
---
ChangeLog | 4 +
README.xwidget | 2 +
configure.ac | 43 +-
etc/NEWS | 4 +-
lisp/ChangeLog | 9 +
lisp/emacs-parallel/README.org | 147 ++
lisp/emacs-parallel/parallel-remote.el | 81 ++
lisp/emacs-parallel/parallel-xwidget.el | 59 +
lisp/emacs-parallel/parallel.el | 310 +++++
lisp/ldefs-boot.el | 2292 +++++++++++++++---------------
lisp/net/browse-url.el | 13 +-
lisp/xwidget.el | 592 ++++++++
src/ChangeLog | 17 +
src/Makefile.in | 10 +
src/buffer.c | 8 +
src/dispextern.h | 27 +
src/dispnew.c | 12 +
src/emacs.c | 6 +
src/emacsgtkfixed.c | 119 ++-
src/emacsgtkfixed.h | 28 +
src/keyboard.c | 25 +
src/lisp.h | 5 +
src/print.c | 16 +
src/termhooks.h | 4 +
src/window.c | 6 +
src/xdisp.c | 259 ++++-
src/xterm.c | 15 +
src/xwidget.c | 1853 +++++++++++++++++++++++++
src/xwidget.h | 115 ++
test/ChangeLog | 8 +
test/automated/xwidget-tests.el | 121 ++
test/xwidget-test-manual.el | 204 +++
32 files changed, 5246 insertions(+), 1168 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index d7fd76c..7c2e53e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2015-02-01 Joakim Verona <address@hidden>
+ Support for the new Xwidget feature.
+ * configure.ac:
+
2015-01-28 Paul Eggert <address@hidden>
Merge from gnulib and try to repair bad merge
diff --git a/README.xwidget b/README.xwidget
new file mode 100644
index 0000000..cfde411
--- /dev/null
+++ b/README.xwidget
@@ -0,0 +1,2 @@
+-*-org-*-
+Please see https://github.com/jave/xwidget-aux for documentation.
diff --git a/configure.ac b/configure.ac
index 5776e4e..a679bd0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -374,6 +374,8 @@ otherwise for the first of `gfile' or `inotify' that is
usable.])
],
[with_file_notification=$with_features])
+OPTION_DEFAULT_OFF([xwidgets],[enable use of some gtk widgets in Emacs
buffers])
+
## For the times when you want to build Emacs but don't have
## a suitable makeinfo, and can live without the manuals.
dnl http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01844.html
@@ -2527,6 +2529,41 @@ if test "${HAVE_GTK}" = "yes"; then
term_header=gtkutil.h
fi
+
+HAVE_XWIDGETS=no
+HAVE_WEBKIT=no
+HAVE_GIR=no
+
+if test "${with_xwidgets}" != "no" && test "${USE_GTK_TOOLKIT}" = "GTK3" &&
test "$window_system" != "none" ; then
+ echo "xwidgets enabled, checking webkit, and others"
+ HAVE_XWIDGETS=yes
+ AC_DEFINE(HAVE_XWIDGETS, 1, [Define to 1 if you have xwidgets support.])
+dnl xwidgets
+dnl - enable only if GTK3 is enabled, and we have a window system
+dnl - check for webkit and gobject introspection
+
+
+#webkit version for gtk3.
+ WEBKIT_REQUIRED=1.4.0
+ WEBKIT_MODULES="webkitgtk-3.0 >= $WEBKIT_REQUIRED"
+
+ if test "${with_gtk3}" = "yes"; then
+ PKG_CHECK_MODULES(WEBKIT, $WEBKIT_MODULES, HAVE_WEBKIT=yes, HAVE_WEBKIT=no)
+ if test $HAVE_WEBKIT = yes; then
+ AC_DEFINE(HAVE_WEBKIT_OSR, 1, [Define to 1 if you have webkit_osr
support.])
+ fi
+ fi
+
+ GIR_REQUIRED=1.32.1
+ GIR_MODULES="gobject-introspection-1.0 >= $GIR_REQUIRED"
+ PKG_CHECK_MODULES(GIR, $GIR_MODULES, HAVE_GIR=yes, HAVE_GIR=no)
+ if test $HAVE_GIR = yes; then
+ AC_DEFINE(HAVE_GIR, 1, [Define to 1 if you have GIR support.])
+ fi
+
+
+fi
+
CFLAGS=$OLD_CFLAGS
LIBS=$OLD_LIBS
@@ -4806,7 +4843,7 @@ TOOLKIT_LIBW=
case "$USE_X_TOOLKIT" in
MOTIF) TOOLKIT_LIBW="$MOTIF_LIBW" ;;
LUCID) TOOLKIT_LIBW="$LUCID_LIBW" ;;
- none) test "x$HAVE_GTK" = "xyes" && TOOLKIT_LIBW="$GTK_LIBS" ;;
+ none) test "x$HAVE_GTK" = "xyes" && TOOLKIT_LIBW="$GTK_LIBS -lXcomposite" ;;
esac
AC_SUBST(TOOLKIT_LIBW)
@@ -5127,6 +5164,10 @@ echo " Does Emacs use -lxft?
${HAVE_XFT}"
echo " Does Emacs directly use zlib? ${HAVE_ZLIB}"
echo " Does Emacs use toolkit scroll bars?
${USE_TOOLKIT_SCROLL_BARS}"
+
+echo " Does Emacs support Xwidgets?
${HAVE_XWIDGETS}"
+echo " Does xwidgets support webkit(requires gtk3)? ${HAVE_WEBKIT}"
+echo " Does xwidgets support gobject introspection? ${HAVE_GIR}"
echo
if test -n "${EMACSDATA}"; then
diff --git a/etc/NEWS b/etc/NEWS
index 4b0a268..4371a01 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -65,7 +65,9 @@ so if you want to use it, you can always take a copy from an
older Emacs.
* Changes in Emacs 25.1
-
+** Xwidgets : A new feature for embedding native widgets
+inside Emacs buffers. If you have gtk3 and webkit-devel installed,
+you can try the embedded webkit browser with m-x xwidget-webkit-browse-url.
** `package-install-from-buffer' and `package-install-file' work on
directories.
This follows the same rules as installing from a .tar file, except the
-pkg file is optional.
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 0a3c7c9..b9570ba 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,12 @@
+2015-02-01 Joakim Verona <address@hidden>
+ Support for the new Xwidget feature.
+ * xwidget.el:
+
+2015-02-01 Grégoire Jadi <address@hidden>
+ Support for testing xwidgets
+ * emacs-parallel/parallell-remote.el,
emacs-parallel/parallell-xwidget.el:
+ * emacs-parallel/parallell.el:
+
2015-01-31 Stefan Monnier <address@hidden>
* emacs-lisp/eieio.el (defclass): Use new eieio-make-class-predicate
diff --git a/lisp/emacs-parallel/README.org b/lisp/emacs-parallel/README.org
new file mode 100644
index 0000000..dd08381
--- /dev/null
+++ b/lisp/emacs-parallel/README.org
@@ -0,0 +1,147 @@
+* Emacs Parallel
+
+ Emacs Parallel is yet another library to simulate parallel
+ computations in Emacs (because it lacks threads support in Elisp).
+
+* STARTED HowTo
+
+ You can execute a simple function a retrive the result like this:
+ #+BEGIN_SRC emacs-lisp
+ (parallel-get-result (parallel-start (lambda () (* 42 42))))
+ ⇒ 1764
+ #+END_SRC
+
+ Though you won't benefit from the parallelism because
+ ~parallel-get-result~ is blocking, that is it waits for the function
+ to be executed.
+
+ So you can use define a callback to be called when the function is
+ finished:
+ #+BEGIN_SRC emacs-lisp
+ (parallel-start (lambda () (sleep-for 4.2) "Hello World")
+ :post-exec (lambda (results _status)
+ (message (first results))))
+ ⊣ Hello World
+ #+END_SRC
+
+ Here, why ~(first results)~ and not ~result~? Because you can send
+ data from the remote instance while it's running with
+ ~parallel-remote-send~:
+ #+BEGIN_SRC emacs-lisp
+ (parallel-start (lambda ()
+ (parallel-remote-send "Hello")
+ (sleep-for 4.2)
+ "World")
+ :post-exec (lambda (results _status)
+ (message "%s"
+ (mapconcat #'identity (reverse
results) " "))))
+ ⊣ Hello World
+ #+END_SRC
+ As you may have noticed the results are pushed in a list, so the
+ first element is the result returned by the function called, the
+ second is the last piece of data send, and so on...
+
+ And of course you can execute some code when you receive data from
+ the remote instance:
+ #+BEGIN_SRC emacs-lisp
+ (parallel-start (lambda ()
+ (parallel-remote-send 42)
+ (sleep-for 4.2) ; heavy computation to compute PI
+ pi)
+ :on-event (lambda (data)
+ (message "Received %S" data)))
+ ⊣ Received 42
+ ⊣ Received 3.141592653589793
+ #+END_SRC
+
+ Because the function is executed in another Emacs instance (in Batch
+ Mode by default), the environment isn't the same. However you can
+ send some data with the ~env~ parameter:
+ #+BEGIN_SRC emacs-lisp
+ (let ((a 42)
+ (b 12))
+ (parallel-get-result (parallel-start (lambda (a b) (+ a b))
+ :env (list a b))))
+ ⇒ 54
+ #+END_SRC
+
+ By default, the remote Emacs instance is exited when the function is
+ executed, but you can keep it running with the
+ ~:continue-when-executed~ option and send new code to be executed
+ with ~parellel-send~.
+ #+BEGIN_SRC emacs-lisp
+ (let ((task (parallel-start (lambda () 42)
+ :continue-when-executed t)))
+ (sleep-for 4.2)
+ (parallel-send task (lambda () (setq parallel-continue-when-executed
nil) 12))
+ (parallel-get-results task))
+ ⇒ (12 42)
+ #+END_SRC
+
+ As you can see, to stop the remote instance you have to set the
+ variable ~parallel-continue-when-executed~ to nil.
+
+* Modules
+
+** Parallel XWidget
+
+ [[http://www.emacswiki.org/emacs/EmacsXWidgets][Emacs XWidget]] is an
experimental branch which permits to embed GTK+
+ widget inside Emacs buffers. For instance, it is possible to use it
+ to render an HTML page using the webkit engine within an Emacs
+ buffer.
+
+ With this module, you can configure your "main" Emacs to use
+ another one to render web pages.
+
+ Let's assume that you've cloned
[[https://github.com/jave/xwidget-emacs][the Emacs XWidget repository]] in
+ ~$HOME/src/emacs-xwidget/~. Once you've compiled it, an Emacs
+ executable is available ~$HOME/src/emacs-xwidget/src/emacs~.
+
+ Configure ~parallel-xwidget~ to use it:
+ #+BEGIN_SRC emacs-lisp
+ (setq parallel-xwidget-config (list :emacs-path
+ (concat (getenv "HOME")
+
"/src/emacs-xwidget/src/emacs")))
+ #+END_SRC
+
+ Then configure your current Emacs to use it:
+ #+BEGIN_SRC emacs-lisp
+ (setq browse-url-browser-function 'parallel-xwidget-browse-url)
+ #+END_SRC
+
+ You can check it out with M-x browse-url RET google.com RET.
+
+* Tips & Tricks
+
+ If your windows manager is smart enough (like StumpwWM) you can use
+ it to move graphical windows (Emacs frames) in another desktop.
+
+ For example, I use this to move Emacs frames (with the title
+ "emacs-debug") to the group (aka desktop) 9:
+ #+BEGIN_SRC lisp
+ (define-frame-preference "9"
+ (0 nil t :title "emacs-debug"))
+ #+END_SRC
+
+ And this to specify the title of the frame:
+ #+BEGIN_SRC emacs-lisp
+ (parallel-start (lambda () 42)
+ :no-batch t
+ :emacs-args '("-T" "emacs-debug"))
+ #+END_SRC
+
+* TODO How does it work?
+
+* Known limitations
+
+ You can only send data to the remote (with the ~env~ parameter) or
+ from the remote (with ~parallel-send~ and ~parallel-remote-send~)
+ that have a printed representation (see
[[info:elisp#Printed%20Representation][info:elisp#Printed
+ Representation]]).
+
+ So you can pass around numbers, symbols, strings, lists, vectors,
+ hash-table but you can't pass buffers, windows, frames...
+
+
+ It lacks documentation, tests and probably a clean API, but I'm
+ working on it!
diff --git a/lisp/emacs-parallel/parallel-remote.el
b/lisp/emacs-parallel/parallel-remote.el
new file mode 100644
index 0000000..54626af
--- /dev/null
+++ b/lisp/emacs-parallel/parallel-remote.el
@@ -0,0 +1,81 @@
+;; -*- mode: emacs-lisp; lexical-binding: t; -*-
+;;; parallel-remote.el ---
+
+;; Copyright (C) 2013 Grégoire Jadi
+
+;; Author: Grégoire Jadi <address@hidden>
+
+;; This program is free software: you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation, either version 3 of
+;; the License, or (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'cl)
+
+(defvar parallel-service nil)
+(defvar parallel-task-id nil)
+(defvar parallel-client nil)
+(defvar parallel--executed nil)
+(defvar parallel-continue-when-executed nil)
+
+(defun parallel-remote-send (data)
+ (process-send-string parallel-client
+ (format "%S " (cons parallel-task-id data))))
+
+(defun parallel-remote--init ()
+ (setq parallel-client (make-network-process :name "emacs-parallel"
+ :buffer nil
+ :server nil
+ :service parallel-service
+ :host "localhost"
+ :family 'ipv4))
+ (set-process-filter parallel-client #'parallel-remote--filter)
+ (parallel-remote-send 'code)
+ (when noninteractive ; Batch Mode
+ ;; The evaluation is done in the `parallel--filter' but in Batch
+ ;; Mode, Emacs doesn't wait for the input, it stops as soon as
+ ;; `parallel--init' has been executed.
+ (while (null parallel--executed)
+ (sleep-for 10)))) ; arbitrary chosen
+
+(defun parallel-remote--filter (_proc output)
+ (dolist (code (parallel--read-output output))
+ (parallel-remote-send
+ (if (or noninteractive
+ (not debug-on-error))
+ (condition-case err
+ (eval code)
+ (error err))
+ (eval code))))
+ (unless parallel-continue-when-executed
+ (setq parallel--executed t)
+ (kill-emacs)))
+
+(defun parallel--read-output (output)
+ "Read lisp forms from output and return them as a list."
+ (loop with output = (replace-regexp-in-string
+ "\\`[ \t\n]*" ""
+ (replace-regexp-in-string "[ \t\n]*\\'" "" output)) ;
trim string
+ with start = 0
+ with end = (length output)
+ for ret = (read-from-string output start end)
+ for data = (first ret)
+ do (setq start (rest ret))
+ collect data
+ until (= start end)))
+
+(provide 'parallel-remote)
+
+;;; parallel-remote.el ends here
diff --git a/lisp/emacs-parallel/parallel-xwidget.el
b/lisp/emacs-parallel/parallel-xwidget.el
new file mode 100644
index 0000000..7e23863
--- /dev/null
+++ b/lisp/emacs-parallel/parallel-xwidget.el
@@ -0,0 +1,59 @@
+;;; parallel-xwidget.el ---
+
+;; Copyright (C) 2013 Grégoire Jadi
+
+;; Author: Grégoire Jadi <address@hidden>
+
+;; This program is free software: you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation, either version 3 of
+;; the License, or (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'parallel)
+(require 'browse-url)
+
+(defgroup parallel-xwidget nil
+ "Browse the web in another emacs instance with XWidget."
+ :group 'emacs)
+
+(defvar parallel-xwidget--task nil)
+
+(defcustom parallel-xwidget-config nil
+ "Parallel configuration."
+ :type 'alist
+ :group 'parallel-xwidget)
+
+(defun parallel-xwidget--init ()
+ (setq parallel-xwidget--task
+ (parallel-start (lambda ()
+ (require 'xwidget))
+ :graphical t
+ :continue-when-executed t
+ :config parallel-xwidget-config)))
+
+(defun parallel-xwidget-browse-url (url &optional new-session)
+ "Browse URL in another Emacs instance."
+ (interactive (browse-url-interactive-arg "xwidget-webkit URL: "))
+ (unless (and parallel-xwidget--task
+ (eq 'run (parallel-status parallel-xwidget--task)))
+ (parallel-xwidget--init))
+ (parallel-send parallel-xwidget--task
+ (lambda (url new-session)
+ (xwidget-webkit-browse-url url new-session))
+ (url-tidy url) new-session))
+
+(provide 'parallel-xwidget)
+
+;;; parallel-xwidget.el ends here
diff --git a/lisp/emacs-parallel/parallel.el b/lisp/emacs-parallel/parallel.el
new file mode 100644
index 0000000..a6c77ea
--- /dev/null
+++ b/lisp/emacs-parallel/parallel.el
@@ -0,0 +1,310 @@
+;; -*- lexical-binding: t; -*-
+;;; parallel.el ---
+
+;; Copyright (C) 2013 Grégoire Jadi
+
+;; Author: Grégoire Jadi <address@hidden>
+
+;; This program is free software: you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation, either version 3 of
+;; the License, or (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'cl)
+(require 'parallel-remote)
+
+(defgroup parallel nil
+ "Execute stuff in parallel"
+ :group 'emacs)
+
+(defcustom parallel-sleep 0.05
+ "How many sec should we wait while polling."
+ :type 'number
+ :group 'parallel)
+
+(defcustom parallel-config nil
+ "Global config setting to use."
+ :type 'plist
+ :group 'parallel)
+
+(defvar parallel--server nil)
+(defvar parallel--tasks nil)
+(defvar parallel--tunnels nil)
+
+;; Declare external function
+(declare-function parallel-send "parallel-remote")
+
+(defun parallel-make-tunnel (username hostname)
+ (parallel--init-server)
+ (let ((tunnel (find-if (lambda (tun)
+ (and (string= username
+ (process-get tun 'username))
+ (string= hostname
+ (process-get tun 'hostname))))
+ parallel--tunnels)))
+ (unless tunnel
+ (setq tunnel (start-process "parallel-ssh" nil "ssh"
+ "-N" "-R" (format "0:localhost:%s"
+ (process-contact
parallel--server :service))
+ (format "address@hidden" username hostname)))
+ (process-put tunnel 'username username)
+ (process-put tunnel 'hostname hostname)
+ (set-process-filter tunnel #'parallel--tunnel-filter)
+ (while (null (process-get tunnel 'service))
+ (sleep-for 0.01))
+ (push tunnel parallel--tunnels))
+ tunnel))
+
+(defun parallel-stop-tunnel (tunnel)
+ (setq parallel--tunnels (delq tunnel parallel--tunnels))
+ (delete-process tunnel))
+
+(defun parallel--tunnel-filter (proc output)
+ (if (string-match "\\([0-9]+\\)" output)
+ (process-put proc 'service (match-string 1 output))))
+
+(defmacro parallel--set-option (place config)
+ `(setf ,place (or ,place
+ (plist-get ,config ,(intern (format ":%s" (symbol-name
place))))
+ (plist-get parallel-config ,(intern (format ":%s"
(symbol-name place)))))))
+
+(defmacro parallel--set-options (config &rest options)
+ `(progn
+ ,@(loop for option in options
+ collect `(parallel--set-option ,option ,config))))
+
+(defun* parallel-start (exec-fun &key post-exec env timeout
+ emacs-path library-path emacs-args
+ graphical debug on-event
continue-when-executed
+ username hostname hostport
+ config)
+ (parallel--init-server)
+
+ ;; Initialize parameters
+ (parallel--set-options config
+ post-exec
+ env
+ timeout
+ emacs-args
+ graphical
+ debug
+ on-event
+ continue-when-executed
+ username
+ hostname
+ hostport)
+
+ (setq emacs-path (or emacs-path
+ (plist-get config :emacs-path)
+ (plist-get parallel-config :emacs-path)
+ (expand-file-name invocation-name
+ invocation-directory))
+ library-path (or library-path
+ (plist-get config :library-path)
+ (plist-get parallel-config :library-path)
+ (locate-library "parallel-remote")))
+
+ (let ((task (parallel--new-task))
+ proc tunnel ssh-args)
+ (push task parallel--tasks)
+ (put task 'initialized nil)
+ (put task 'exec-fun exec-fun)
+ (put task 'env env)
+ (when (functionp post-exec)
+ (put task 'post-exec post-exec))
+ (when (functionp on-event)
+ (put task 'on-event on-event))
+ (put task 'results nil)
+ (put task 'status 'run)
+ (put task 'queue nil)
+
+ ;; We need to get the tunnel if it exists so we can send the right
+ ;; `service' to the remote.
+ (when (and username hostname)
+ (if hostport
+ (setq ssh-args (list "-R" (format "%s:localhost:%s" hostport
+ (process-contact parallel--server
:service)))
+ tunnel t)
+ (setq tunnel (parallel-make-tunnel username hostname)
+ hostport (process-get tunnel 'service)))
+ (setq ssh-args (append
+ ssh-args
+ (if graphical (list "-X"))
+ (list (format "address@hidden" username hostname)))))
+ (setq emacs-args (remq nil
+ (list* "-Q" "-l" library-path
+ (if graphical nil "-batch")
+ "--eval" (format "(setq parallel-service
'%S)"
+ (if tunnel
+ hostport
+ (process-contact
parallel--server :service)))
+ "--eval" (format "(setq parallel-task-id
'%S)" task)
+ "--eval" (format "(setq debug-on-error '%S)"
debug)
+ "--eval" (format "(setq
parallel-continue-when-executed '%S)" continue-when-executed)
+ "-f" "parallel-remote--init"
+ emacs-args)))
+
+ ;; Reformat emacs-args if we use a tunnel (escape string)
+ (when tunnel
+ (setq emacs-args (list (mapconcat (lambda (string)
+ (if (find ?' string)
+ (prin1-to-string string)
+ string))
+ emacs-args " "))))
+ (setq proc (apply #'start-process "parallel" nil
+ `(,@(when tunnel
+ (list* "ssh" ssh-args))
+ ,emacs-path
+ ,@emacs-args)))
+ (put task 'proc proc)
+ (set-process-sentinel (get task 'proc) #'parallel--sentinel)
+ (when timeout
+ (run-at-time timeout nil (lambda ()
+ (when (memq (parallel-status task)
+ '(run stop))
+ (parallel-stop task)))))
+ task))
+
+(defun parallel--new-task ()
+ "Generate a new task by enforcing a unique name."
+ (let ((symbol-name (make-temp-name "parallel-task-")))
+ (while (intern-soft symbol-name)
+ (setq symbol-name (make-temp-name "parallel-task-")))
+ (intern symbol-name)))
+
+(defun parallel--init-server ()
+ "Initialize `parallel--server'."
+ (when (or (null parallel--server)
+ (not (eq (process-status parallel--server)
+ 'listen)))
+ (setq parallel--server
+ (make-network-process :name "parallel-server"
+ :buffer nil
+ :server t
+ :host "localhost"
+ :service t
+ :family 'ipv4
+ :filter #'parallel--filter
+ :filter-multibyte t))))
+
+(defun parallel--get-task-process (proc)
+ "Return the task running the given PROC."
+ (find-if (lambda (task)
+ (eq (get task 'proc) proc))
+ parallel--tasks))
+
+(defun parallel--sentinel (proc _event)
+ "Sentinel to watch over the remote process.
+
+This function do the necessary cleanup when the remote process is
+finished."
+ (when (memq (process-status proc) '(exit signal))
+ (let* ((task (parallel--get-task-process proc))
+ (results (get task 'results))
+ (status (process-status proc)))
+ ;; 0 means that the remote process has terminated normally (no
+ ;; SIGNUM 0).
+ (if (zerop (process-exit-status proc))
+ (setq status 'success)
+ ;; on failure, push the exit-code or signal number on the
+ ;; results stack.
+ (push (process-exit-status proc) results))
+ (put task 'results results)
+ (put task 'status status)
+
+ (when (functionp (get task 'post-exec))
+ (funcall (get task 'post-exec)
+ results status))
+ (setq parallel--tasks (delq task parallel--tasks)))))
+
+(defun parallel--call-with-env (fun env)
+ "Return a string which can be READ/EVAL by the remote process
+to `funcall' FUN with ENV as arguments."
+ (format "(funcall (read %S) %s)"
+ (prin1-to-string fun)
+ (mapconcat (lambda (obj)
+ ;; We need to quote it because the remote
+ ;; process will READ/EVAL it.
+ (format "'%S" obj)) env " ")))
+
+(defun parallel--filter (connection output)
+ "Server filter used to retrieve the results send by the remote
+process and send the code to be executed by it."
+ (dolist (data (parallel--read-output output))
+ (parallel--process-output connection (first data) (rest data))))
+
+(defun parallel--process-output (connection task result)
+ (put task 'connection connection)
+ (cond ((and (not (get task 'initialized))
+ (eq result 'code))
+ (apply #'parallel-send
+ task
+ (get task 'exec-fun)
+ (get task 'env))
+ (let ((code nil))
+ (while (setq code (pop (get task 'queue)))
+ (apply #'parallel-send task (car code) (cdr code))))
+ (put task 'initialized t))
+ (t
+ (push result (get task 'results))
+ (if (functionp (get task 'on-event))
+ (funcall (get task 'on-event) result)))))
+
+(defun parallel-ready-p (task)
+ "Determine whether TASK is finished and if the results are
+available."
+ (memq (parallel-status task) '(success exit signal)))
+
+(defun parallel-get-result (task)
+ "Return the last result send by the remote call, that is the
+result returned by exec-fun."
+ (first (parallel-get-results task)))
+
+(defun parallel-get-results (task)
+ "Return all results send during the call of exec-fun."
+ (parallel-wait task)
+ (get task 'results))
+
+(defun parallel-success-p (task)
+ "Determine whether TASK has ended successfully."
+ (parallel-wait task)
+ (eq (parallel-status task) 'success))
+
+(defun parallel-status (task)
+ "Return TASK status."
+ (get task 'status))
+
+(defun parallel-wait (task)
+ "Wait for TASK."
+ (while (not (parallel-ready-p task))
+ (sleep-for parallel-sleep))
+ t) ; for REPL
+
+(defun parallel-stop (task)
+ "Stop TASK."
+ (delete-process (get task 'proc)))
+
+(defun parallel-send (task fun &rest env)
+ "Send FUN to be evaluated by TASK in ENV."
+ (let ((connection (get task 'connection)))
+ (if connection
+ (process-send-string
+ connection
+ (parallel--call-with-env fun env))
+ (push (cons fun env) (get task 'queue)))))
+
+(provide 'parallel)
+
+;;; parallel.el ends here
diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el
index 8341c38..8fc14de 100644
--- a/lisp/ldefs-boot.el
+++ b/lisp/ldefs-boot.el
@@ -3,7 +3,7 @@
;;; Code:
-;;;### (autoloads nil "5x5" "play/5x5.el" (21710 32133 703297 588000))
+;;;### (autoloads nil "5x5" "play/5x5.el" (21670 32331 385639 720000))
;;; Generated autoloads from play/5x5.el
(autoload '5x5 "5x5" "\
@@ -65,8 +65,8 @@ should return a grid vector array that is the new solution.
;;;***
-;;;### (autoloads nil "ada-mode" "progmodes/ada-mode.el" (21710 32133
-;;;;;; 713297 640000))
+;;;### (autoloads nil "ada-mode" "progmodes/ada-mode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/ada-mode.el
(autoload 'ada-add-extensions "ada-mode" "\
@@ -85,8 +85,8 @@ Ada mode is the major mode for editing Ada code.
;;;***
-;;;### (autoloads nil "ada-stmt" "progmodes/ada-stmt.el" (21710 32133
-;;;;;; 713297 640000))
+;;;### (autoloads nil "ada-stmt" "progmodes/ada-stmt.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/ada-stmt.el
(autoload 'ada-header "ada-stmt" "\
@@ -96,8 +96,8 @@ Insert a descriptive header at the top of the file.
;;;***
-;;;### (autoloads nil "ada-xref" "progmodes/ada-xref.el" (21710 32133
-;;;;;; 714297 645000))
+;;;### (autoloads nil "ada-xref" "progmodes/ada-xref.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/ada-xref.el
(autoload 'ada-find-file "ada-xref" "\
@@ -108,8 +108,8 @@ Completion is available.
;;;***
-;;;### (autoloads nil "add-log" "vc/add-log.el" (21710 32133 814298
-;;;;;; 165000))
+;;;### (autoloads nil "add-log" "vc/add-log.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from vc/add-log.el
(put 'change-log-default-name 'safe-local-variable 'string-or-null-p)
@@ -238,8 +238,8 @@ old-style time formats for entries are supported.
;;;***
-;;;### (autoloads nil "advice" "emacs-lisp/advice.el" (21710 32133
-;;;;;; 447296 257000))
+;;;### (autoloads nil "advice" "emacs-lisp/advice.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/advice.el
(defvar ad-redefinition-action 'warn "\
@@ -374,7 +374,7 @@ usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST]
FLAG...)
;;;***
-;;;### (autoloads nil "align" "align.el" (21710 32133 376295 888000))
+;;;### (autoloads nil "align" "align.el" (21670 32330 885624 725000))
;;; Generated autoloads from align.el
(autoload 'align "align" "\
@@ -477,7 +477,7 @@ A replacement function for `newline-and-indent', aligning
as it goes.
;;;***
-;;;### (autoloads nil "allout" "allout.el" (21710 32133 379295 903000))
+;;;### (autoloads nil "allout" "allout.el" (21670 32330 885624 725000))
;;; Generated autoloads from allout.el
(push (purecopy '(allout 2 3)) package--builtin-versions)
@@ -837,8 +837,8 @@ for details on preparing Emacs for automatic allout
activation.
;;;***
-;;;### (autoloads nil "allout-widgets" "allout-widgets.el" (21710
-;;;;;; 32133 377295 893000))
+;;;### (autoloads nil "allout-widgets" "allout-widgets.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from allout-widgets.el
(push (purecopy '(allout-widgets 1 0)) package--builtin-versions)
@@ -896,8 +896,8 @@ outline hot-spot navigation (see `allout-mode').
;;;***
-;;;### (autoloads nil "ange-ftp" "net/ange-ftp.el" (21710 32133 627297
-;;;;;; 192000))
+;;;### (autoloads nil "ange-ftp" "net/ange-ftp.el" (21696 56380 925320
+;;;;;; 624000))
;;; Generated autoloads from net/ange-ftp.el
(defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir)
@@ -918,8 +918,8 @@ directory, so that Emacs will know its current contents.
;;;***
-;;;### (autoloads nil "animate" "play/animate.el" (21710 32133 704297
-;;;;;; 593000))
+;;;### (autoloads nil "animate" "play/animate.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from play/animate.el
(autoload 'animate-string "animate" "\
@@ -951,8 +951,8 @@ the buffer *Birthday-Present-for-Name*.
;;;***
-;;;### (autoloads nil "ansi-color" "ansi-color.el" (21710 32133 379295
-;;;;;; 903000))
+;;;### (autoloads nil "ansi-color" "ansi-color.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from ansi-color.el
(push (purecopy '(ansi-color 3 4 2)) package--builtin-versions)
@@ -978,8 +978,8 @@ This is a good function to put in
`comint-output-filter-functions'.
;;;***
-;;;### (autoloads nil "antlr-mode" "progmodes/antlr-mode.el" (21710
-;;;;;; 32133 715297 650000))
+;;;### (autoloads nil "antlr-mode" "progmodes/antlr-mode.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from progmodes/antlr-mode.el
(push (purecopy '(antlr-mode 2 2 3)) package--builtin-versions)
@@ -1015,8 +1015,8 @@ Used in `antlr-mode'. Also a useful function in
`java-mode-hook'.
;;;***
-;;;### (autoloads nil "appt" "calendar/appt.el" (21710 32133 399296
-;;;;;; 7000))
+;;;### (autoloads nil "appt" "calendar/appt.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from calendar/appt.el
(autoload 'appt-add "appt" "\
@@ -1037,8 +1037,8 @@ ARG is positive, otherwise off.
;;;***
-;;;### (autoloads nil "apropos" "apropos.el" (21710 32133 380295
-;;;;;; 908000))
+;;;### (autoloads nil "apropos" "apropos.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from apropos.el
(autoload 'apropos-read-pattern "apropos" "\
@@ -1153,8 +1153,8 @@ Returns list of symbols and documentation found.
;;;***
-;;;### (autoloads nil "arc-mode" "arc-mode.el" (21710 32133 380295
-;;;;;; 908000))
+;;;### (autoloads nil "arc-mode" "arc-mode.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from arc-mode.el
(autoload 'archive-mode "arc-mode" "\
@@ -1174,7 +1174,7 @@ archive.
;;;***
-;;;### (autoloads nil "array" "array.el" (21710 32133 381295 913000))
+;;;### (autoloads nil "array" "array.el" (21670 32330 885624 725000))
;;; Generated autoloads from array.el
(autoload 'array-mode "array" "\
@@ -1245,8 +1245,8 @@ Entering array mode calls the function `array-mode-hook'.
;;;***
-;;;### (autoloads nil "artist" "textmodes/artist.el" (21710 32133
-;;;;;; 788298 29000))
+;;;### (autoloads nil "artist" "textmodes/artist.el" (21704 50495
+;;;;;; 455324 752000))
;;; Generated autoloads from textmodes/artist.el
(push (purecopy '(artist 1 2 6)) package--builtin-versions)
@@ -1452,8 +1452,8 @@ Keymap summary
;;;***
-;;;### (autoloads nil "asm-mode" "progmodes/asm-mode.el" (21710 32133
-;;;;;; 715297 650000))
+;;;### (autoloads nil "asm-mode" "progmodes/asm-mode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/asm-mode.el
(autoload 'asm-mode "asm-mode" "\
@@ -1480,8 +1480,8 @@ Special commands:
;;;***
-;;;### (autoloads nil "auth-source" "gnus/auth-source.el" (21710
-;;;;;; 32133 514296 605000))
+;;;### (autoloads nil "auth-source" "gnus/auth-source.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from gnus/auth-source.el
(defvar auth-source-cache-expiry 7200 "\
@@ -1493,8 +1493,8 @@ let-binding.")
;;;***
-;;;### (autoloads nil "autoarg" "autoarg.el" (21710 32133 381295
-;;;;;; 913000))
+;;;### (autoloads nil "autoarg" "autoarg.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from autoarg.el
(defvar autoarg-mode nil "\
@@ -1554,8 +1554,8 @@ This is similar to `autoarg-mode' but rebinds the keypad
keys
;;;***
-;;;### (autoloads nil "autoconf" "progmodes/autoconf.el" (21710 32133
-;;;;;; 715297 650000))
+;;;### (autoloads nil "autoconf" "progmodes/autoconf.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/autoconf.el
(autoload 'autoconf-mode "autoconf" "\
@@ -1565,8 +1565,8 @@ Major mode for editing Autoconf configure.ac files.
;;;***
-;;;### (autoloads nil "autoinsert" "autoinsert.el" (21710 32133 381295
-;;;;;; 913000))
+;;;### (autoloads nil "autoinsert" "autoinsert.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from autoinsert.el
(autoload 'auto-insert "autoinsert" "\
@@ -1604,8 +1604,8 @@ insert a template for the file depending on the mode of
the buffer.
;;;***
-;;;### (autoloads nil "autoload" "emacs-lisp/autoload.el" (21710
-;;;;;; 32133 448296 262000))
+;;;### (autoloads nil "autoload" "emacs-lisp/autoload.el" (21673
+;;;;;; 8506 69195 402000))
;;; Generated autoloads from emacs-lisp/autoload.el
(put 'generated-autoload-file 'safe-local-variable 'stringp)
@@ -1656,8 +1656,8 @@ should be non-nil).
;;;***
-;;;### (autoloads nil "autorevert" "autorevert.el" (21710 32133 381295
-;;;;;; 913000))
+;;;### (autoloads nil "autorevert" "autorevert.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from autorevert.el
(autoload 'auto-revert-mode "autorevert" "\
@@ -1745,7 +1745,7 @@ specifies in the mode line.
;;;***
-;;;### (autoloads nil "avoid" "avoid.el" (21710 32133 381295 913000))
+;;;### (autoloads nil "avoid" "avoid.el" (21670 32330 885624 725000))
;;; Generated autoloads from avoid.el
(defvar mouse-avoidance-mode nil "\
@@ -1783,8 +1783,8 @@ definition of \"random distance\".)
;;;***
-;;;### (autoloads nil "bat-mode" "progmodes/bat-mode.el" (21710 32133
-;;;;;; 715297 650000))
+;;;### (autoloads nil "bat-mode" "progmodes/bat-mode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/bat-mode.el
(add-to-list 'auto-mode-alist '("\\.\\(bat\\|cmd\\)\\'" . bat-mode))
@@ -1802,8 +1802,8 @@ Run script using `bat-run' and `bat-run-args'.
;;;***
-;;;### (autoloads nil "battery" "battery.el" (21710 32133 382295
-;;;;;; 919000))
+;;;### (autoloads nil "battery" "battery.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from battery.el
(put 'battery-mode-line-string 'risky-local-variable t)
@@ -1838,8 +1838,8 @@ seconds.
;;;***
-;;;### (autoloads nil "benchmark" "emacs-lisp/benchmark.el" (21710
-;;;;;; 32133 448296 262000))
+;;;### (autoloads nil "benchmark" "emacs-lisp/benchmark.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from emacs-lisp/benchmark.el
(autoload 'benchmark-run "benchmark" "\
@@ -1875,8 +1875,8 @@ For non-interactive use see also `benchmark-run' and
;;;***
-;;;### (autoloads nil "bibtex" "textmodes/bibtex.el" (21710 32133
-;;;;;; 790298 40000))
+;;;### (autoloads nil "bibtex" "textmodes/bibtex.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from textmodes/bibtex.el
(autoload 'bibtex-initialize "bibtex" "\
@@ -1968,7 +1968,7 @@ A prefix arg negates the value of
`bibtex-search-entry-globally'.
;;;***
;;;### (autoloads nil "bibtex-style" "textmodes/bibtex-style.el"
-;;;;;; (21710 32133 788298 29000))
+;;;;;; (21670 32331 885635 586000))
;;; Generated autoloads from textmodes/bibtex-style.el
(autoload 'bibtex-style-mode "bibtex-style" "\
@@ -1978,8 +1978,8 @@ Major mode for editing BibTeX style files.
;;;***
-;;;### (autoloads nil "binhex" "mail/binhex.el" (21710 32133 599297
-;;;;;; 47000))
+;;;### (autoloads nil "binhex" "mail/binhex.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from mail/binhex.el
(defconst binhex-begin-line
"^:...............................................................$" "\
@@ -2003,8 +2003,8 @@ Binhex decode region between START and END.
;;;***
-;;;### (autoloads nil "blackbox" "play/blackbox.el" (21710 32133
-;;;;;; 704297 593000))
+;;;### (autoloads nil "blackbox" "play/blackbox.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from play/blackbox.el
(autoload 'blackbox "blackbox" "\
@@ -2123,8 +2123,8 @@ a reflection.
;;;***
-;;;### (autoloads nil "bookmark" "bookmark.el" (21710 32133 383295
-;;;;;; 924000))
+;;;### (autoloads nil "bookmark" "bookmark.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from bookmark.el
(define-key ctl-x-r-map "b" 'bookmark-jump)
(define-key ctl-x-r-map "m" 'bookmark-set)
@@ -2317,8 +2317,8 @@ Incremental search of bookmarks, hiding the non-matches
as we go.
;;;***
-;;;### (autoloads nil "browse-url" "net/browse-url.el" (21710 32384
-;;;;;; 457601 257000))
+;;;### (autoloads nil "browse-url" "net/browse-url.el" (21710 2878
+;;;;;; 794621 967000))
;;; Generated autoloads from net/browse-url.el
(defvar browse-url-browser-function 'browse-url-default-browser "\
@@ -2633,7 +2633,7 @@ from `browse-url-elinks-wrapper'.
;;;***
-;;;### (autoloads nil "bs" "bs.el" (21710 32133 383295 924000))
+;;;### (autoloads nil "bs" "bs.el" (21670 32330 885624 725000))
;;; Generated autoloads from bs.el
(push (purecopy '(bs 1 17)) package--builtin-versions)
@@ -2674,8 +2674,8 @@ name of buffer configuration.
;;;***
-;;;### (autoloads nil "bubbles" "play/bubbles.el" (21710 32133 704297
-;;;;;; 593000))
+;;;### (autoloads nil "bubbles" "play/bubbles.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from play/bubbles.el
(autoload 'bubbles "bubbles" "\
@@ -2697,7 +2697,7 @@ columns on its right towards the left.
;;;***
;;;### (autoloads nil "bug-reference" "progmodes/bug-reference.el"
-;;;;;; (21710 32133 715297 650000))
+;;;;;; (21670 32331 385639 720000))
;;; Generated autoloads from progmodes/bug-reference.el
(put 'bug-reference-url-format 'safe-local-variable (lambda (s) (or (stringp
s) (and (symbolp s) (get s 'bug-reference-url-format)))))
@@ -2717,8 +2717,8 @@ Like `bug-reference-mode', but only buttonize in comments
and strings.
;;;***
-;;;### (autoloads nil "bytecomp" "emacs-lisp/bytecomp.el" (21710
-;;;;;; 32133 451296 277000))
+;;;### (autoloads nil "bytecomp" "emacs-lisp/bytecomp.el" (21696
+;;;;;; 56380 925320 624000))
;;; Generated autoloads from emacs-lisp/bytecomp.el
(put 'byte-compile-dynamic 'safe-local-variable 'booleanp)
(put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp)
@@ -2838,8 +2838,8 @@ and corresponding effects.
;;;***
-;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (21710
-;;;;;; 32133 399296 7000))
+;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from calendar/cal-china.el
(put 'calendar-chinese-time-zone 'risky-local-variable t)
@@ -2848,8 +2848,8 @@ and corresponding effects.
;;;***
-;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (21710 32133
-;;;;;; 400296 12000))
+;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from calendar/cal-dst.el
(put 'calendar-daylight-savings-starts 'risky-local-variable t)
@@ -2860,8 +2860,8 @@ and corresponding effects.
;;;***
-;;;### (autoloads nil "cal-hebrew" "calendar/cal-hebrew.el" (21710
-;;;;;; 32133 400296 12000))
+;;;### (autoloads nil "cal-hebrew" "calendar/cal-hebrew.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from calendar/cal-hebrew.el
(autoload 'calendar-hebrew-list-yahrzeits "cal-hebrew" "\
@@ -2873,7 +2873,7 @@ from the cursor position.
;;;***
-;;;### (autoloads nil "calc" "calc/calc.el" (21710 32133 396295 992000))
+;;;### (autoloads nil "calc" "calc/calc.el" (21670 32330 885624 725000))
;;; Generated autoloads from calc/calc.el
(define-key ctl-x-map "*" 'calc-dispatch)
@@ -2959,8 +2959,8 @@ See Info node `(calc)Defining Functions'.
;;;***
-;;;### (autoloads nil "calc-undo" "calc/calc-undo.el" (21710 32133
-;;;;;; 394295 981000))
+;;;### (autoloads nil "calc-undo" "calc/calc-undo.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from calc/calc-undo.el
(autoload 'calc-undo "calc-undo" "\
@@ -2970,8 +2970,8 @@ See Info node `(calc)Defining Functions'.
;;;***
-;;;### (autoloads nil "calculator" "calculator.el" (21710 32133 399296
-;;;;;; 7000))
+;;;### (autoloads nil "calculator" "calculator.el" (21702 8774 274627
+;;;;;; 813000))
;;; Generated autoloads from calculator.el
(autoload 'calculator "calculator" "\
@@ -2982,8 +2982,8 @@ See the documentation for `calculator-mode' for more
information.
;;;***
-;;;### (autoloads nil "calendar" "calendar/calendar.el" (21710 32133
-;;;;;; 403296 28000))
+;;;### (autoloads nil "calendar" "calendar/calendar.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from calendar/calendar.el
(autoload 'calendar "calendar" "\
@@ -3026,8 +3026,8 @@ This function is suitable for execution in an init file.
;;;***
-;;;### (autoloads nil "canlock" "gnus/canlock.el" (21710 32133 514296
-;;;;;; 605000))
+;;;### (autoloads nil "canlock" "gnus/canlock.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from gnus/canlock.el
(autoload 'canlock-insert-header "canlock" "\
@@ -3044,8 +3044,8 @@ it fails.
;;;***
-;;;### (autoloads nil "cc-engine" "progmodes/cc-engine.el" (21710
-;;;;;; 32133 721297 681000))
+;;;### (autoloads nil "cc-engine" "progmodes/cc-engine.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from progmodes/cc-engine.el
(autoload 'c-guess-basic-syntax "cc-engine" "\
@@ -3055,8 +3055,8 @@ Return the syntactic context of the current line.
;;;***
-;;;### (autoloads nil "cc-guess" "progmodes/cc-guess.el" (21710 32133
-;;;;;; 722297 686000))
+;;;### (autoloads nil "cc-guess" "progmodes/cc-guess.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/cc-guess.el
(defvar c-guess-guessed-offsets-alist nil "\
@@ -3154,8 +3154,8 @@ the absolute file name of the file if STYLE-NAME is nil.
;;;***
-;;;### (autoloads nil "cc-mode" "progmodes/cc-mode.el" (21710 32133
-;;;;;; 724297 697000))
+;;;### (autoloads nil "cc-mode" "progmodes/cc-mode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/cc-mode.el
(autoload 'c-initialize-cc-mode "cc-mode" "\
@@ -3312,8 +3312,8 @@ Key bindings:
;;;***
-;;;### (autoloads nil "cc-styles" "progmodes/cc-styles.el" (21710
-;;;;;; 32133 724297 697000))
+;;;### (autoloads nil "cc-styles" "progmodes/cc-styles.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from progmodes/cc-styles.el
(autoload 'c-set-style "cc-styles" "\
@@ -3364,8 +3364,8 @@ and exists only for compatibility reasons.
;;;***
-;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (21710 32133
-;;;;;; 725297 702000))
+;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/cc-vars.el
(put 'c-basic-offset 'safe-local-variable 'integerp)
(put 'c-backslash-column 'safe-local-variable 'integerp)
@@ -3373,8 +3373,8 @@ and exists only for compatibility reasons.
;;;***
-;;;### (autoloads nil "ccl" "international/ccl.el" (21710 32133 564296
-;;;;;; 865000))
+;;;### (autoloads nil "ccl" "international/ccl.el" (21682 23484 726747
+;;;;;; 991000))
;;; Generated autoloads from international/ccl.el
(autoload 'ccl-compile "ccl" "\
@@ -3667,8 +3667,8 @@ See the documentation of `define-ccl-program' for the
detail of CCL program.
;;;***
-;;;### (autoloads nil "cconv" "emacs-lisp/cconv.el" (21710 32133
-;;;;;; 451296 277000))
+;;;### (autoloads nil "cconv" "emacs-lisp/cconv.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/cconv.el
(autoload 'cconv-closure-convert "cconv" "\
@@ -3687,15 +3687,15 @@ Add the warnings that closure conversion would
encounter.
;;;***
-;;;### (autoloads nil "cedet" "cedet/cedet.el" (21710 32133 409296
-;;;;;; 59000))
+;;;### (autoloads nil "cedet" "cedet/cedet.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from cedet/cedet.el
(push (purecopy '(cedet 2 0)) package--builtin-versions)
;;;***
-;;;### (autoloads nil "cfengine" "progmodes/cfengine.el" (21710 32133
-;;;;;; 725297 702000))
+;;;### (autoloads nil "cfengine" "progmodes/cfengine.el" (21695 35516
+;;;;;; 595262 313000))
;;; Generated autoloads from progmodes/cfengine.el
(push (purecopy '(cfengine 1 3)) package--builtin-versions)
@@ -3724,15 +3724,15 @@ Choose `cfengine2-mode' or `cfengine3-mode' by buffer
contents.
;;;***
-;;;### (autoloads nil "chart" "emacs-lisp/chart.el" (21710 32133
-;;;;;; 451296 277000))
+;;;### (autoloads nil "chart" "emacs-lisp/chart.el" (21679 47292
+;;;;;; 556033 759000))
;;; Generated autoloads from emacs-lisp/chart.el
(push (purecopy '(chart 0 2)) package--builtin-versions)
;;;***
;;;### (autoloads nil "check-declare" "emacs-lisp/check-declare.el"
-;;;;;; (21710 32133 451296 277000))
+;;;;;; (21670 32330 885624 725000))
;;; Generated autoloads from emacs-lisp/check-declare.el
(autoload 'check-declare-file "check-declare" "\
@@ -3749,8 +3749,8 @@ Returns non-nil if any false statements are found.
;;;***
-;;;### (autoloads nil "checkdoc" "emacs-lisp/checkdoc.el" (21710
-;;;;;; 32133 452296 283000))
+;;;### (autoloads nil "checkdoc" "emacs-lisp/checkdoc.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from emacs-lisp/checkdoc.el
(push (purecopy '(checkdoc 0 6 2)) package--builtin-versions)
(put 'checkdoc-force-docstrings-flag 'safe-local-variable #'booleanp)
@@ -3950,8 +3950,8 @@ checking of documentation strings.
;;;***
-;;;### (autoloads nil "china-util" "language/china-util.el" (21710
-;;;;;; 32133 574296 917000))
+;;;### (autoloads nil "china-util" "language/china-util.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from language/china-util.el
(autoload 'decode-hz-region "china-util" "\
@@ -3988,8 +3988,8 @@ Encode the text in the current buffer to HZ.
;;;***
-;;;### (autoloads nil "chistory" "chistory.el" (21710 32133 434296
-;;;;;; 189000))
+;;;### (autoloads nil "chistory" "chistory.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from chistory.el
(autoload 'repeat-matching-complex-command "chistory" "\
@@ -4028,8 +4028,8 @@ and runs the normal hook `command-history-hook'.
;;;***
-;;;### (autoloads nil "cl-indent" "emacs-lisp/cl-indent.el" (21710
-;;;;;; 32133 453296 288000))
+;;;### (autoloads nil "cl-indent" "emacs-lisp/cl-indent.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from emacs-lisp/cl-indent.el
(autoload 'common-lisp-indent-function "cl-indent" "\
@@ -4112,8 +4112,8 @@ instead.
;;;***
-;;;### (autoloads nil "cl-lib" "emacs-lisp/cl-lib.el" (21710 32133
-;;;;;; 453296 288000))
+;;;### (autoloads nil "cl-lib" "emacs-lisp/cl-lib.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/cl-lib.el
(push (purecopy '(cl-lib 1 0)) package--builtin-versions)
@@ -4143,8 +4143,8 @@ a future Emacs interpreter will be able to use it.")
;;;***
-;;;### (autoloads nil "cmacexp" "progmodes/cmacexp.el" (21710 32133
-;;;;;; 725297 702000))
+;;;### (autoloads nil "cmacexp" "progmodes/cmacexp.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/cmacexp.el
(autoload 'c-macro-expand "cmacexp" "\
@@ -4164,8 +4164,8 @@ For use inside Lisp programs, see also
`c-macro-expansion'.
;;;***
-;;;### (autoloads nil "cmuscheme" "cmuscheme.el" (21710 32133 434296
-;;;;;; 189000))
+;;;### (autoloads nil "cmuscheme" "cmuscheme.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from cmuscheme.el
(autoload 'run-scheme "cmuscheme" "\
@@ -4185,7 +4185,7 @@ is run).
;;;***
-;;;### (autoloads nil "color" "color.el" (21710 32133 435296 194000))
+;;;### (autoloads nil "color" "color.el" (21670 32330 885624 725000))
;;; Generated autoloads from color.el
(autoload 'color-name-to-rgb "color" "\
@@ -4204,7 +4204,7 @@ If FRAME cannot display COLOR, return nil.
;;;***
-;;;### (autoloads nil "comint" "comint.el" (21710 32133 436296 200000))
+;;;### (autoloads nil "comint" "comint.el" (21670 32330 885624 725000))
;;; Generated autoloads from comint.el
(defvar comint-output-filter-functions '(ansi-color-process-output
comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\
@@ -4305,8 +4305,8 @@ REGEXP-GROUP is the regular expression group in REGEXP to
use.
;;;***
-;;;### (autoloads nil "compare-w" "vc/compare-w.el" (21710 32133
-;;;;;; 814298 165000))
+;;;### (autoloads nil "compare-w" "vc/compare-w.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from vc/compare-w.el
(autoload 'compare-windows "compare-w" "\
@@ -4342,8 +4342,8 @@ on third call it again advances points to the next
difference and so on.
;;;***
-;;;### (autoloads nil "compile" "progmodes/compile.el" (21710 32133
-;;;;;; 726297 707000))
+;;;### (autoloads nil "compile" "progmodes/compile.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/compile.el
(defvar compilation-mode-hook nil "\
@@ -4524,8 +4524,8 @@ This is the value of `next-error-function' in Compilation
buffers.
;;;***
-;;;### (autoloads nil "completion" "completion.el" (21710 32133 436296
-;;;;;; 200000))
+;;;### (autoloads nil "completion" "completion.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from completion.el
(defvar dynamic-completion-mode nil "\
@@ -4547,8 +4547,8 @@ if ARG is omitted or nil.
;;;***
-;;;### (autoloads nil "conf-mode" "textmodes/conf-mode.el" (21710
-;;;;;; 32133 790298 40000))
+;;;### (autoloads nil "conf-mode" "textmodes/conf-mode.el" (21670
+;;;;;; 32331 885635 586000))
;;; Generated autoloads from textmodes/conf-mode.el
(autoload 'conf-mode "conf-mode" "\
@@ -4703,8 +4703,8 @@ For details see `conf-mode'. Example:
;;;***
-;;;### (autoloads nil "cookie1" "play/cookie1.el" (21710 32133 704297
-;;;;;; 593000))
+;;;### (autoloads nil "cookie1" "play/cookie1.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from play/cookie1.el
(autoload 'cookie "cookie1" "\
@@ -4732,8 +4732,8 @@ and subsequent calls on the same file won't go to disk.
;;;***
-;;;### (autoloads nil "copyright" "emacs-lisp/copyright.el" (21710
-;;;;;; 32133 455296 298000))
+;;;### (autoloads nil "copyright" "emacs-lisp/copyright.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from emacs-lisp/copyright.el
(put 'copyright-at-end-flag 'safe-local-variable 'booleanp)
(put 'copyright-names-regexp 'safe-local-variable 'stringp)
@@ -4771,8 +4771,8 @@ If FIX is non-nil, run `copyright-fix-years' instead.
;;;***
-;;;### (autoloads nil "cperl-mode" "progmodes/cperl-mode.el" (21710
-;;;;;; 32133 729297 723000))
+;;;### (autoloads nil "cperl-mode" "progmodes/cperl-mode.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from progmodes/cperl-mode.el
(put 'cperl-indent-level 'safe-local-variable 'integerp)
(put 'cperl-brace-offset 'safe-local-variable 'integerp)
@@ -4970,8 +4970,8 @@ Run a `perldoc' on the word around point.
;;;***
-;;;### (autoloads nil "cpp" "progmodes/cpp.el" (21710 32133 729297
-;;;;;; 723000))
+;;;### (autoloads nil "cpp" "progmodes/cpp.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from progmodes/cpp.el
(autoload 'cpp-highlight-buffer "cpp" "\
@@ -4989,8 +4989,8 @@ Edit display information for cpp conditionals.
;;;***
-;;;### (autoloads nil "crm" "emacs-lisp/crm.el" (21710 32133 455296
-;;;;;; 298000))
+;;;### (autoloads nil "crm" "emacs-lisp/crm.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emacs-lisp/crm.el
(autoload 'completing-read-multiple "crm" "\
@@ -5016,8 +5016,8 @@ with empty strings removed.
;;;***
-;;;### (autoloads nil "css-mode" "textmodes/css-mode.el" (21710 32133
-;;;;;; 790298 40000))
+;;;### (autoloads nil "css-mode" "textmodes/css-mode.el" (21669 40225
+;;;;;; 825176 608000))
;;; Generated autoloads from textmodes/css-mode.el
(autoload 'css-mode "css-mode" "\
@@ -5033,8 +5033,8 @@ Major mode to edit \"Sassy CSS\" files.
;;;***
-;;;### (autoloads nil "cua-base" "emulation/cua-base.el" (21710 32133
-;;;;;; 469296 371000))
+;;;### (autoloads nil "cua-base" "emulation/cua-base.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emulation/cua-base.el
(defvar cua-mode nil "\
@@ -5079,8 +5079,8 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v
bindings.
;;;***
-;;;### (autoloads nil "cua-rect" "emulation/cua-rect.el" (21710 32133
-;;;;;; 470296 376000))
+;;;### (autoloads nil "cua-rect" "emulation/cua-rect.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emulation/cua-rect.el
(autoload 'cua-rectangle-mark-mode "cua-rect" "\
@@ -5091,8 +5091,8 @@ Activates the region if needed. Only lasts until the
region is deactivated.
;;;***
-;;;### (autoloads nil "cus-edit" "cus-edit.el" (21710 32133 438296
-;;;;;; 210000))
+;;;### (autoloads nil "cus-edit" "cus-edit.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from cus-edit.el
(defvar custom-browse-sort-alphabetically nil "\
@@ -5411,8 +5411,8 @@ The format is suitable for use with `easy-menu-define'.
;;;***
-;;;### (autoloads nil "cus-theme" "cus-theme.el" (21710 32133 439296
-;;;;;; 215000))
+;;;### (autoloads nil "cus-theme" "cus-theme.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from cus-theme.el
(autoload 'customize-create-theme "cus-theme" "\
@@ -5445,8 +5445,8 @@ omitted, a buffer named *Custom Themes* is used.
;;;***
-;;;### (autoloads nil "cvs-status" "vc/cvs-status.el" (21710 32133
-;;;;;; 815298 170000))
+;;;### (autoloads nil "cvs-status" "vc/cvs-status.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from vc/cvs-status.el
(autoload 'cvs-status-mode "cvs-status" "\
@@ -5456,8 +5456,8 @@ Mode used for cvs status output.
;;;***
-;;;### (autoloads nil "cwarn" "progmodes/cwarn.el" (21710 32133 729297
-;;;;;; 723000))
+;;;### (autoloads nil "cwarn" "progmodes/cwarn.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from progmodes/cwarn.el
(push (purecopy '(cwarn 1 3 1)) package--builtin-versions)
@@ -5501,8 +5501,8 @@ See `cwarn-mode' for more information on Cwarn mode.
;;;***
-;;;### (autoloads nil "cyril-util" "language/cyril-util.el" (21710
-;;;;;; 32133 574296 917000))
+;;;### (autoloads nil "cyril-util" "language/cyril-util.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from language/cyril-util.el
(autoload 'cyrillic-encode-koi8-r-char "cyril-util" "\
@@ -5530,8 +5530,8 @@ If the argument is nil, we return the display table to
its standard state.
;;;***
-;;;### (autoloads nil "dabbrev" "dabbrev.el" (21710 32133 439296
-;;;;;; 215000))
+;;;### (autoloads nil "dabbrev" "dabbrev.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from dabbrev.el
(put 'dabbrev-case-fold-search 'risky-local-variable t)
(put 'dabbrev-case-replace 'risky-local-variable t)
@@ -5577,8 +5577,8 @@ See also `dabbrev-abbrev-char-regexp' and
\\[dabbrev-completion].
;;;***
-;;;### (autoloads nil "data-debug" "cedet/data-debug.el" (21710 32133
-;;;;;; 409296 59000))
+;;;### (autoloads nil "data-debug" "cedet/data-debug.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from cedet/data-debug.el
(autoload 'data-debug-new-buffer "data-debug" "\
@@ -5588,7 +5588,7 @@ Create a new data-debug buffer with NAME.
;;;***
-;;;### (autoloads nil "dbus" "net/dbus.el" (21710 32133 628297 198000))
+;;;### (autoloads nil "dbus" "net/dbus.el" (21670 32331 385639 720000))
;;; Generated autoloads from net/dbus.el
(autoload 'dbus-handle-event "dbus" "\
@@ -5601,8 +5601,8 @@ If the HANDLER returns a `dbus-error', it is propagated
as return message.
;;;***
-;;;### (autoloads nil "dcl-mode" "progmodes/dcl-mode.el" (21710 32133
-;;;;;; 729297 723000))
+;;;### (autoloads nil "dcl-mode" "progmodes/dcl-mode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/dcl-mode.el
(autoload 'dcl-mode "dcl-mode" "\
@@ -5728,8 +5728,8 @@ There is some minimal font-lock support (see vars
;;;***
-;;;### (autoloads nil "debug" "emacs-lisp/debug.el" (21710 32133
-;;;;;; 455296 298000))
+;;;### (autoloads nil "debug" "emacs-lisp/debug.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/debug.el
(setq debugger 'debug)
@@ -5772,8 +5772,8 @@ To specify a nil argument interactively, exit with an
empty minibuffer.
;;;***
-;;;### (autoloads nil "decipher" "play/decipher.el" (21710 32133
-;;;;;; 705297 598000))
+;;;### (autoloads nil "decipher" "play/decipher.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from play/decipher.el
(autoload 'decipher "decipher" "\
@@ -5801,8 +5801,8 @@ The most useful commands are:
;;;***
-;;;### (autoloads nil "delim-col" "delim-col.el" (21710 32133 440296
-;;;;;; 220000))
+;;;### (autoloads nil "delim-col" "delim-col.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from delim-col.el
(push (purecopy '(delim-col 2 1)) package--builtin-versions)
@@ -5827,7 +5827,7 @@ START and END delimits the corners of text rectangle.
;;;***
-;;;### (autoloads nil "delsel" "delsel.el" (21710 32133 440296 220000))
+;;;### (autoloads nil "delsel" "delsel.el" (21670 32330 885624 725000))
;;; Generated autoloads from delsel.el
(defalias 'pending-delete-mode 'delete-selection-mode)
@@ -5855,8 +5855,8 @@ point regardless of any selection.
;;;***
-;;;### (autoloads nil "derived" "emacs-lisp/derived.el" (21710 32133
-;;;;;; 456296 304000))
+;;;### (autoloads nil "derived" "emacs-lisp/derived.el" (21703 29629
+;;;;;; 608890 826000))
;;; Generated autoloads from emacs-lisp/derived.el
(autoload 'define-derived-mode "derived" "\
@@ -5924,8 +5924,8 @@ the first time the mode is used.
;;;***
-;;;### (autoloads nil "descr-text" "descr-text.el" (21710 32133 440296
-;;;;;; 220000))
+;;;### (autoloads nil "descr-text" "descr-text.el" (21695 35516 595262
+;;;;;; 313000))
;;; Generated autoloads from descr-text.el
(autoload 'describe-text-properties "descr-text" "\
@@ -5974,8 +5974,7 @@ This function is meant to be used as a value of
;;;***
-;;;### (autoloads nil "desktop" "desktop.el" (21710 32133 441296
-;;;;;; 225000))
+;;;### (autoloads nil "desktop" "desktop.el" (21691 38459 74604 918000))
;;; Generated autoloads from desktop.el
(defvar desktop-save-mode nil "\
@@ -6180,8 +6179,8 @@ Revert to the last loaded desktop.
;;;***
-;;;### (autoloads nil "deuglify" "gnus/deuglify.el" (21710 32133
-;;;;;; 514296 605000))
+;;;### (autoloads nil "deuglify" "gnus/deuglify.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/deuglify.el
(autoload 'gnus-article-outlook-unwrap-lines "deuglify" "\
@@ -6213,8 +6212,8 @@ Deuglify broken Outlook (Express) articles and redisplay.
;;;***
-;;;### (autoloads nil "diary-lib" "calendar/diary-lib.el" (21710
-;;;;;; 32133 403296 28000))
+;;;### (autoloads nil "diary-lib" "calendar/diary-lib.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from calendar/diary-lib.el
(autoload 'diary "diary-lib" "\
@@ -6256,7 +6255,7 @@ Major mode for editing the diary file.
;;;***
-;;;### (autoloads nil "diff" "vc/diff.el" (21710 32133 815298 170000))
+;;;### (autoloads nil "diff" "vc/diff.el" (21670 32331 885635 586000))
;;; Generated autoloads from vc/diff.el
(defvar diff-switches (purecopy "-c") "\
@@ -6304,8 +6303,8 @@ This requires the external program `diff' to be in your
`exec-path'.
;;;***
-;;;### (autoloads nil "diff-mode" "vc/diff-mode.el" (21710 32133
-;;;;;; 815298 170000))
+;;;### (autoloads nil "diff-mode" "vc/diff-mode.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from vc/diff-mode.el
(autoload 'diff-mode "diff-mode" "\
@@ -6337,7 +6336,7 @@ the mode if ARG is omitted or nil.
;;;***
-;;;### (autoloads nil "dig" "net/dig.el" (21710 32133 628297 198000))
+;;;### (autoloads nil "dig" "net/dig.el" (21670 32331 385639 720000))
;;; Generated autoloads from net/dig.el
(autoload 'dig "dig" "\
@@ -6348,7 +6347,7 @@ Optional arguments are passed to `dig-invoke'.
;;;***
-;;;### (autoloads nil "dired" "dired.el" (21710 32133 443296 236000))
+;;;### (autoloads nil "dired" "dired.el" (21670 32624 385626 484000))
;;; Generated autoloads from dired.el
(defvar dired-listing-switches (purecopy "-al") "\
@@ -6468,8 +6467,8 @@ Keybindings:
;;;***
-;;;### (autoloads nil "dirtrack" "dirtrack.el" (21710 32133 444296
-;;;;;; 241000))
+;;;### (autoloads nil "dirtrack" "dirtrack.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from dirtrack.el
(autoload 'dirtrack-mode "dirtrack" "\
@@ -6499,8 +6498,8 @@ from `default-directory'.
;;;***
-;;;### (autoloads nil "disass" "emacs-lisp/disass.el" (21710 32133
-;;;;;; 456296 304000))
+;;;### (autoloads nil "disass" "emacs-lisp/disass.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/disass.el
(autoload 'disassemble "disass" "\
@@ -6514,8 +6513,8 @@ redefine OBJECT if it is a symbol.
;;;***
-;;;### (autoloads nil "disp-table" "disp-table.el" (21710 32133 444296
-;;;;;; 241000))
+;;;### (autoloads nil "disp-table" "disp-table.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from disp-table.el
(autoload 'make-display-table "disp-table" "\
@@ -6636,8 +6635,8 @@ in `.emacs'.
;;;***
-;;;### (autoloads nil "dissociate" "play/dissociate.el" (21710 32133
-;;;;;; 705297 598000))
+;;;### (autoloads nil "dissociate" "play/dissociate.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from play/dissociate.el
(autoload 'dissociated-press "dissociate" "\
@@ -6653,7 +6652,7 @@ Default is 2.
;;;***
-;;;### (autoloads nil "dnd" "dnd.el" (21710 32133 444296 241000))
+;;;### (autoloads nil "dnd" "dnd.el" (21670 32330 885624 725000))
;;; Generated autoloads from dnd.el
(defvar dnd-protocol-alist `((,(purecopy "^file:///") . dnd-open-local-file)
(,(purecopy "^file://") . dnd-open-file) (,(purecopy "^file:") .
dnd-open-local-file) (,(purecopy "^\\(https?\\|ftp\\|file\\|nfs\\)://") .
dnd-open-file)) "\
@@ -6673,8 +6672,8 @@ if some action was made, or nil if the URL is ignored.")
;;;***
-;;;### (autoloads nil "dns-mode" "textmodes/dns-mode.el" (21710 32133
-;;;;;; 790298 40000))
+;;;### (autoloads nil "dns-mode" "textmodes/dns-mode.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from textmodes/dns-mode.el
(autoload 'dns-mode "dns-mode" "\
@@ -6697,8 +6696,8 @@ Locate SOA record and increment the serial field.
;;;***
-;;;### (autoloads nil "doc-view" "doc-view.el" (21710 32133 444296
-;;;;;; 241000))
+;;;### (autoloads nil "doc-view" "doc-view.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from doc-view.el
(autoload 'doc-view-mode-p "doc-view" "\
@@ -6744,8 +6743,8 @@ See the command `doc-view-mode' for more information on
this mode.
;;;***
-;;;### (autoloads nil "doctor" "play/doctor.el" (21710 32133 705297
-;;;;;; 598000))
+;;;### (autoloads nil "doctor" "play/doctor.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from play/doctor.el
(autoload 'doctor "doctor" "\
@@ -6755,7 +6754,7 @@ Switch to *doctor* buffer and start giving psychotherapy.
;;;***
-;;;### (autoloads nil "double" "double.el" (21710 32133 445296 246000))
+;;;### (autoloads nil "double" "double.el" (21670 32330 885624 725000))
;;; Generated autoloads from double.el
(autoload 'double-mode "double" "\
@@ -6771,8 +6770,8 @@ strings when pressed twice. See `double-map' for details.
;;;***
-;;;### (autoloads nil "dunnet" "play/dunnet.el" (21710 32133 706297
-;;;;;; 603000))
+;;;### (autoloads nil "dunnet" "play/dunnet.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from play/dunnet.el
(push (purecopy '(dunnet 2 1)) package--builtin-versions)
@@ -6783,8 +6782,8 @@ Switch to *dungeon* buffer and start game.
;;;***
-;;;### (autoloads nil "easy-mmode" "emacs-lisp/easy-mmode.el" (21710
-;;;;;; 32133 456296 304000))
+;;;### (autoloads nil "easy-mmode" "emacs-lisp/easy-mmode.el" (21708
+;;;;;; 47547 478182 210000))
;;; Generated autoloads from emacs-lisp/easy-mmode.el
(defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
@@ -6925,8 +6924,8 @@ CSS contains a list of syntax specifications of the form
(CHAR . SYNTAX).
;;;***
-;;;### (autoloads nil "easymenu" "emacs-lisp/easymenu.el" (21710
-;;;;;; 32133 456296 304000))
+;;;### (autoloads nil "easymenu" "emacs-lisp/easymenu.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from emacs-lisp/easymenu.el
(autoload 'easy-menu-define "easymenu" "\
@@ -7064,8 +7063,8 @@ To implement dynamic menus, either call this from
;;;***
-;;;### (autoloads nil "ebnf2ps" "progmodes/ebnf2ps.el" (21710 32133
-;;;;;; 732297 738000))
+;;;### (autoloads nil "ebnf2ps" "progmodes/ebnf2ps.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/ebnf2ps.el
(push (purecopy '(ebnf2ps 4 4)) package--builtin-versions)
@@ -7330,8 +7329,8 @@ See `ebnf-style-database' documentation.
;;;***
-;;;### (autoloads nil "ebrowse" "progmodes/ebrowse.el" (21710 32133
-;;;;;; 733297 744000))
+;;;### (autoloads nil "ebrowse" "progmodes/ebrowse.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/ebrowse.el
(autoload 'ebrowse-tree-mode "ebrowse" "\
@@ -7479,8 +7478,8 @@ Display statistics for a class tree.
;;;***
-;;;### (autoloads nil "ebuff-menu" "ebuff-menu.el" (21710 32133 445296
-;;;;;; 246000))
+;;;### (autoloads nil "ebuff-menu" "ebuff-menu.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from ebuff-menu.el
(autoload 'electric-buffer-list "ebuff-menu" "\
@@ -7512,8 +7511,8 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry.
;;;***
-;;;### (autoloads nil "echistory" "echistory.el" (21710 32133 445296
-;;;;;; 246000))
+;;;### (autoloads nil "echistory" "echistory.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from echistory.el
(autoload 'Electric-command-history-redo-expression "echistory" "\
@@ -7524,8 +7523,8 @@ With prefix arg NOCONFIRM, execute current line as-is
without editing.
;;;***
-;;;### (autoloads nil "ecomplete" "gnus/ecomplete.el" (21710 32133
-;;;;;; 514296 605000))
+;;;### (autoloads nil "ecomplete" "gnus/ecomplete.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/ecomplete.el
(autoload 'ecomplete-setup "ecomplete" "\
@@ -7535,7 +7534,7 @@ With prefix arg NOCONFIRM, execute current line as-is
without editing.
;;;***
-;;;### (autoloads nil "ede" "cedet/ede.el" (21710 32133 410296 64000))
+;;;### (autoloads nil "ede" "cedet/ede.el" (21679 47292 556033 759000))
;;; Generated autoloads from cedet/ede.el
(push (purecopy '(ede 1 2)) package--builtin-versions)
@@ -7561,8 +7560,8 @@ an EDE controlled project.
;;;***
-;;;### (autoloads nil "edebug" "emacs-lisp/edebug.el" (21710 32133
-;;;;;; 457296 309000))
+;;;### (autoloads nil "edebug" "emacs-lisp/edebug.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/edebug.el
(defvar edebug-all-defs nil "\
@@ -7626,7 +7625,7 @@ Toggle edebugging of all forms.
;;;***
-;;;### (autoloads nil "ediff" "vc/ediff.el" (21710 32133 820298 196000))
+;;;### (autoloads nil "ediff" "vc/ediff.el" (21670 32331 885635 586000))
;;; Generated autoloads from vc/ediff.el
(push (purecopy '(ediff 2 81 4)) package--builtin-versions)
@@ -7898,8 +7897,8 @@ With optional NODE, goes to that node.
;;;***
-;;;### (autoloads nil "ediff-help" "vc/ediff-help.el" (21710 32133
-;;;;;; 816298 175000))
+;;;### (autoloads nil "ediff-help" "vc/ediff-help.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from vc/ediff-help.el
(autoload 'ediff-customize "ediff-help" "\
@@ -7909,8 +7908,8 @@ With optional NODE, goes to that node.
;;;***
-;;;### (autoloads nil "ediff-mult" "vc/ediff-mult.el" (21710 32133
-;;;;;; 817298 180000))
+;;;### (autoloads nil "ediff-mult" "vc/ediff-mult.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from vc/ediff-mult.el
(autoload 'ediff-show-registry "ediff-mult" "\
@@ -7922,8 +7921,8 @@ Display Ediff's registry.
;;;***
-;;;### (autoloads nil "ediff-util" "vc/ediff-util.el" (21710 32133
-;;;;;; 819298 191000))
+;;;### (autoloads nil "ediff-util" "vc/ediff-util.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from vc/ediff-util.el
(autoload 'ediff-toggle-multiframe "ediff-util" "\
@@ -7942,8 +7941,8 @@ To change the default, set the variable
`ediff-use-toolbar-p', which see.
;;;***
-;;;### (autoloads nil "edmacro" "edmacro.el" (21710 32133 446296
-;;;;;; 252000))
+;;;### (autoloads nil "edmacro" "edmacro.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from edmacro.el
(push (purecopy '(edmacro 2 1)) package--builtin-versions)
@@ -7992,8 +7991,8 @@ or nil, use a compact 80-column format.
;;;***
-;;;### (autoloads nil "edt" "emulation/edt.el" (21710 32133 471296
-;;;;;; 381000))
+;;;### (autoloads nil "edt" "emulation/edt.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emulation/edt.el
(autoload 'edt-set-scroll-margins "edt" "\
@@ -8010,7 +8009,7 @@ Turn on EDT Emulation.
;;;***
-;;;### (autoloads nil "ehelp" "ehelp.el" (21710 32133 446296 252000))
+;;;### (autoloads nil "ehelp" "ehelp.el" (21670 32330 885624 725000))
;;; Generated autoloads from ehelp.el
(autoload 'with-electric-help "ehelp" "\
@@ -8046,15 +8045,15 @@ BUFFER is put back into its original major mode.
;;;***
-;;;### (autoloads nil "eieio" "emacs-lisp/eieio.el" (21710 32133
-;;;;;; 459296 319000))
+;;;### (autoloads nil "eieio" "emacs-lisp/eieio.el" (21708 47547
+;;;;;; 478182 210000))
;;; Generated autoloads from emacs-lisp/eieio.el
(push (purecopy '(eieio 1 4)) package--builtin-versions)
;;;***
-;;;### (autoloads nil "eieio-core" "emacs-lisp/eieio-core.el" (21710
-;;;;;; 32133 458296 314000))
+;;;### (autoloads nil "eieio-core" "emacs-lisp/eieio-core.el" (21708
+;;;;;; 47547 478182 210000))
;;; Generated autoloads from emacs-lisp/eieio-core.el
(push (purecopy '(eieio-core 1 4)) package--builtin-versions)
@@ -8070,8 +8069,8 @@ It creates an autoload function for CNAME's constructor.
;;;***
-;;;### (autoloads nil "elec-pair" "elec-pair.el" (21710 32133 446296
-;;;;;; 252000))
+;;;### (autoloads nil "elec-pair" "elec-pair.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from elec-pair.el
(defvar electric-pair-text-pairs '((34 . 34)) "\
@@ -8106,8 +8105,8 @@ closing parenthesis. (Likewise for brackets, etc.).
;;;***
-;;;### (autoloads nil "elide-head" "elide-head.el" (21710 32133 446296
-;;;;;; 252000))
+;;;### (autoloads nil "elide-head" "elide-head.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from elide-head.el
(autoload 'elide-head "elide-head" "\
@@ -8122,8 +8121,8 @@ This is suitable as an entry on `find-file-hook' or
appropriate mode hooks.
;;;***
-;;;### (autoloads nil "elint" "emacs-lisp/elint.el" (21710 32133
-;;;;;; 460296 324000))
+;;;### (autoloads nil "elint" "emacs-lisp/elint.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/elint.el
(autoload 'elint-file "elint" "\
@@ -8158,8 +8157,8 @@ optional prefix argument REINIT is non-nil.
;;;***
-;;;### (autoloads nil "elp" "emacs-lisp/elp.el" (21710 32133 460296
-;;;;;; 324000))
+;;;### (autoloads nil "elp" "emacs-lisp/elp.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emacs-lisp/elp.el
(autoload 'elp-instrument-function "elp" "\
@@ -8193,8 +8192,8 @@ displayed.
;;;***
-;;;### (autoloads nil "emacs-lock" "emacs-lock.el" (21710 32133 468296
-;;;;;; 366000))
+;;;### (autoloads nil "emacs-lock" "emacs-lock.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emacs-lock.el
(autoload 'emacs-lock-mode "emacs-lock" "\
@@ -8221,8 +8220,8 @@ Other values are interpreted as usual.
;;;***
-;;;### (autoloads nil "emacsbug" "mail/emacsbug.el" (21710 32133
-;;;;;; 600297 52000))
+;;;### (autoloads nil "emacsbug" "mail/emacsbug.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/emacsbug.el
(autoload 'report-emacs-bug "emacsbug" "\
@@ -8235,8 +8234,8 @@ Prompts for bug subject. Leaves you in a mail buffer.
;;;***
-;;;### (autoloads nil "emerge" "vc/emerge.el" (21710 32133 820298
-;;;;;; 196000))
+;;;### (autoloads nil "emerge" "vc/emerge.el" (21607 54478 800121
+;;;;;; 42000))
;;; Generated autoloads from vc/emerge.el
(autoload 'emerge-files "emerge" "\
@@ -8296,8 +8295,8 @@ Emerge two RCS revisions of a file, with another revision
as ancestor.
;;;***
-;;;### (autoloads nil "enriched" "textmodes/enriched.el" (21710 32133
-;;;;;; 791298 45000))
+;;;### (autoloads nil "enriched" "textmodes/enriched.el" (21691 38459
+;;;;;; 74604 918000))
;;; Generated autoloads from textmodes/enriched.el
(autoload 'enriched-mode "enriched" "\
@@ -8332,7 +8331,7 @@ Commands:
;;;***
-;;;### (autoloads nil "epa" "epa.el" (21710 32133 475296 402000))
+;;;### (autoloads nil "epa" "epa.el" (21670 32330 885624 725000))
;;; Generated autoloads from epa.el
(autoload 'epa-list-keys "epa" "\
@@ -8520,8 +8519,8 @@ Insert selected KEYS after the point.
;;;***
-;;;### (autoloads nil "epa-dired" "epa-dired.el" (21710 32133 475296
-;;;;;; 402000))
+;;;### (autoloads nil "epa-dired" "epa-dired.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from epa-dired.el
(autoload 'epa-dired-do-decrypt "epa-dired" "\
@@ -8546,8 +8545,8 @@ Encrypt marked files.
;;;***
-;;;### (autoloads nil "epa-file" "epa-file.el" (21710 32133 475296
-;;;;;; 402000))
+;;;### (autoloads nil "epa-file" "epa-file.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from epa-file.el
(autoload 'epa-file-handler "epa-file" "\
@@ -8567,8 +8566,8 @@ Encrypt marked files.
;;;***
-;;;### (autoloads nil "epa-mail" "epa-mail.el" (21710 32133 475296
-;;;;;; 402000))
+;;;### (autoloads nil "epa-mail" "epa-mail.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from epa-mail.el
(autoload 'epa-mail-mode "epa-mail" "\
@@ -8645,7 +8644,7 @@ if ARG is omitted or nil.
;;;***
-;;;### (autoloads nil "epg" "epg.el" (21710 32133 476296 407000))
+;;;### (autoloads nil "epg" "epg.el" (21670 32330 885624 725000))
;;; Generated autoloads from epg.el
(push (purecopy '(epg 1 0 0)) package--builtin-versions)
@@ -8656,8 +8655,8 @@ Return a context object.
;;;***
-;;;### (autoloads nil "epg-config" "epg-config.el" (21710 32133 475296
-;;;;;; 402000))
+;;;### (autoloads nil "epg-config" "epg-config.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from epg-config.el
(autoload 'epg-configuration "epg-config" "\
@@ -8677,7 +8676,7 @@ Look at CONFIG and try to expand GROUP.
;;;***
-;;;### (autoloads nil "erc" "erc/erc.el" (21710 32133 487296 465000))
+;;;### (autoloads nil "erc" "erc/erc.el" (21670 32330 885624 725000))
;;; Generated autoloads from erc/erc.el
(autoload 'erc-select-read-args "erc" "\
@@ -8725,36 +8724,36 @@ Otherwise, connect to HOST:PORT as USER and /join
CHANNEL.
;;;***
-;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (21710
-;;;;;; 32133 480296 428000))
+;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from erc/erc-autoaway.el
(autoload 'erc-autoaway-mode "erc-autoaway")
;;;***
-;;;### (autoloads nil "erc-button" "erc/erc-button.el" (21710 32133
-;;;;;; 481296 433000))
+;;;### (autoloads nil "erc-button" "erc/erc-button.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from erc/erc-button.el
(autoload 'erc-button-mode "erc-button" nil t)
;;;***
-;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (21710 32133
-;;;;;; 481296 433000))
+;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from erc/erc-capab.el
(autoload 'erc-capab-identify-mode "erc-capab" nil t)
;;;***
-;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (21710 32133
-;;;;;; 481296 433000))
+;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from erc/erc-compat.el
(autoload 'erc-define-minor-mode "erc-compat")
;;;***
-;;;### (autoloads nil "erc-dcc" "erc/erc-dcc.el" (21710 32133 481296
-;;;;;; 433000))
+;;;### (autoloads nil "erc-dcc" "erc/erc-dcc.el" (21696 56380 925320
+;;;;;; 624000))
;;; Generated autoloads from erc/erc-dcc.el
(autoload 'erc-dcc-mode "erc-dcc")
@@ -8784,14 +8783,14 @@ that subcommand.
;;;***
;;;### (autoloads nil "erc-desktop-notifications"
"erc/erc-desktop-notifications.el"
-;;;;;; (21710 32133 481296 433000))
+;;;;;; (21670 32330 885624 725000))
;;; Generated autoloads from erc/erc-desktop-notifications.el
(autoload 'erc-notifications-mode "erc-desktop-notifications" "" t)
;;;***
-;;;### (autoloads nil "erc-ezbounce" "erc/erc-ezbounce.el" (21710
-;;;;;; 32133 482296 439000))
+;;;### (autoloads nil "erc-ezbounce" "erc/erc-ezbounce.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from erc/erc-ezbounce.el
(autoload 'erc-cmd-ezb "erc-ezbounce" "\
@@ -8853,8 +8852,8 @@ Add EZBouncer convenience functions to ERC.
;;;***
-;;;### (autoloads nil "erc-fill" "erc/erc-fill.el" (21710 32133 482296
-;;;;;; 439000))
+;;;### (autoloads nil "erc-fill" "erc/erc-fill.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from erc/erc-fill.el
(autoload 'erc-fill-mode "erc-fill" nil t)
@@ -8866,8 +8865,8 @@ You can put this on `erc-insert-modify-hook' and/or
`erc-send-modify-hook'.
;;;***
-;;;### (autoloads nil "erc-identd" "erc/erc-identd.el" (21710 32133
-;;;;;; 482296 439000))
+;;;### (autoloads nil "erc-identd" "erc/erc-identd.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from erc/erc-identd.el
(autoload 'erc-identd-mode "erc-identd")
@@ -8888,8 +8887,8 @@ system.
;;;***
-;;;### (autoloads nil "erc-imenu" "erc/erc-imenu.el" (21710 32133
-;;;;;; 482296 439000))
+;;;### (autoloads nil "erc-imenu" "erc/erc-imenu.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from erc/erc-imenu.el
(autoload 'erc-create-imenu-index "erc-imenu" "\
@@ -8899,22 +8898,22 @@ system.
;;;***
-;;;### (autoloads nil "erc-join" "erc/erc-join.el" (21710 32133 482296
-;;;;;; 439000))
+;;;### (autoloads nil "erc-join" "erc/erc-join.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from erc/erc-join.el
(autoload 'erc-autojoin-mode "erc-join" nil t)
;;;***
-;;;### (autoloads nil "erc-list" "erc/erc-list.el" (21710 32133 482296
-;;;;;; 439000))
+;;;### (autoloads nil "erc-list" "erc/erc-list.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from erc/erc-list.el
(autoload 'erc-list-mode "erc-list")
;;;***
-;;;### (autoloads nil "erc-log" "erc/erc-log.el" (21710 32133 483296
-;;;;;; 444000))
+;;;### (autoloads nil "erc-log" "erc/erc-log.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from erc/erc-log.el
(autoload 'erc-log-mode "erc-log" nil t)
@@ -8943,8 +8942,8 @@ You can save every individual message by putting this
function on
;;;***
-;;;### (autoloads nil "erc-match" "erc/erc-match.el" (21710 32133
-;;;;;; 483296 444000))
+;;;### (autoloads nil "erc-match" "erc/erc-match.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from erc/erc-match.el
(autoload 'erc-match-mode "erc-match")
@@ -8990,15 +8989,15 @@ Delete dangerous-host interactively to
`erc-dangerous-hosts'.
;;;***
-;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (21710 32133 483296
-;;;;;; 444000))
+;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from erc/erc-menu.el
(autoload 'erc-menu-mode "erc-menu" nil t)
;;;***
-;;;### (autoloads nil "erc-netsplit" "erc/erc-netsplit.el" (21710
-;;;;;; 32133 483296 444000))
+;;;### (autoloads nil "erc-netsplit" "erc/erc-netsplit.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from erc/erc-netsplit.el
(autoload 'erc-netsplit-mode "erc-netsplit")
@@ -9009,8 +9008,8 @@ Show who's gone.
;;;***
-;;;### (autoloads nil "erc-networks" "erc/erc-networks.el" (21710
-;;;;;; 32133 483296 444000))
+;;;### (autoloads nil "erc-networks" "erc/erc-networks.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from erc/erc-networks.el
(autoload 'erc-determine-network "erc-networks" "\
@@ -9027,8 +9026,8 @@ Interactively select a server to connect to using
`erc-server-alist'.
;;;***
-;;;### (autoloads nil "erc-notify" "erc/erc-notify.el" (21710 32133
-;;;;;; 483296 444000))
+;;;### (autoloads nil "erc-notify" "erc/erc-notify.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from erc/erc-notify.el
(autoload 'erc-notify-mode "erc-notify" nil t)
@@ -9046,36 +9045,36 @@ with args, toggle notify status of people.
;;;***
-;;;### (autoloads nil "erc-page" "erc/erc-page.el" (21710 32133 483296
-;;;;;; 444000))
+;;;### (autoloads nil "erc-page" "erc/erc-page.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from erc/erc-page.el
(autoload 'erc-page-mode "erc-page")
;;;***
-;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (21710
-;;;;;; 32133 484296 449000))
+;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from erc/erc-pcomplete.el
(autoload 'erc-completion-mode "erc-pcomplete" nil t)
;;;***
-;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (21710 32133
-;;;;;; 484296 449000))
+;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from erc/erc-replace.el
(autoload 'erc-replace-mode "erc-replace")
;;;***
-;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (21710 32133 484296
-;;;;;; 449000))
+;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from erc/erc-ring.el
(autoload 'erc-ring-mode "erc-ring" nil t)
;;;***
-;;;### (autoloads nil "erc-services" "erc/erc-services.el" (21710
-;;;;;; 32133 484296 449000))
+;;;### (autoloads nil "erc-services" "erc/erc-services.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from erc/erc-services.el
(autoload 'erc-services-mode "erc-services" nil t)
@@ -9092,15 +9091,15 @@ When called interactively, read the password using
`read-passwd'.
;;;***
-;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (21710 32133
-;;;;;; 484296 449000))
+;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from erc/erc-sound.el
(autoload 'erc-sound-mode "erc-sound")
;;;***
-;;;### (autoloads nil "erc-speedbar" "erc/erc-speedbar.el" (21710
-;;;;;; 32133 484296 449000))
+;;;### (autoloads nil "erc-speedbar" "erc/erc-speedbar.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from erc/erc-speedbar.el
(autoload 'erc-speedbar-browser "erc-speedbar" "\
@@ -9111,22 +9110,22 @@ This will add a speedbar major display mode.
;;;***
-;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (21710
-;;;;;; 32133 484296 449000))
+;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from erc/erc-spelling.el
(autoload 'erc-spelling-mode "erc-spelling" nil t)
;;;***
-;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (21710 32133
-;;;;;; 484296 449000))
+;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from erc/erc-stamp.el
(autoload 'erc-timestamp-mode "erc-stamp" nil t)
;;;***
-;;;### (autoloads nil "erc-track" "erc/erc-track.el" (21710 32133
-;;;;;; 485296 454000))
+;;;### (autoloads nil "erc-track" "erc/erc-track.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from erc/erc-track.el
(defvar erc-track-minor-mode nil "\
@@ -9151,8 +9150,8 @@ keybindings will not do anything useful.
;;;***
-;;;### (autoloads nil "erc-truncate" "erc/erc-truncate.el" (21710
-;;;;;; 32133 485296 454000))
+;;;### (autoloads nil "erc-truncate" "erc/erc-truncate.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from erc/erc-truncate.el
(autoload 'erc-truncate-mode "erc-truncate" nil t)
@@ -9171,8 +9170,8 @@ Meant to be used in hooks, like `erc-insert-post-hook'.
;;;***
-;;;### (autoloads nil "erc-xdcc" "erc/erc-xdcc.el" (21710 32133 485296
-;;;;;; 454000))
+;;;### (autoloads nil "erc-xdcc" "erc/erc-xdcc.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from erc/erc-xdcc.el
(autoload 'erc-xdcc-mode "erc-xdcc")
@@ -9183,8 +9182,8 @@ Add a file to `erc-xdcc-files'.
;;;***
-;;;### (autoloads nil "ert" "emacs-lisp/ert.el" (21710 32133 461296
-;;;;;; 329000))
+;;;### (autoloads nil "ert" "emacs-lisp/ert.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emacs-lisp/ert.el
(autoload 'ert-deftest "ert" "\
@@ -9253,8 +9252,8 @@ Display the documentation for TEST-OR-TEST-NAME (a symbol
or ert-test).
;;;***
-;;;### (autoloads nil "ert-x" "emacs-lisp/ert-x.el" (21710 32133
-;;;;;; 460296 324000))
+;;;### (autoloads nil "ert-x" "emacs-lisp/ert-x.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/ert-x.el
(put 'ert-with-test-buffer 'lisp-indent-function 1)
@@ -9266,8 +9265,8 @@ Kill all test buffers that are still live.
;;;***
-;;;### (autoloads nil "esh-mode" "eshell/esh-mode.el" (21710 32133
-;;;;;; 490296 480000))
+;;;### (autoloads nil "esh-mode" "eshell/esh-mode.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from eshell/esh-mode.el
(autoload 'eshell-mode "esh-mode" "\
@@ -9277,8 +9276,8 @@ Emacs shell interactive mode.
;;;***
-;;;### (autoloads nil "eshell" "eshell/eshell.el" (21710 32133 491296
-;;;;;; 485000))
+;;;### (autoloads nil "eshell" "eshell/eshell.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from eshell/eshell.el
(push (purecopy '(eshell 2 4 2)) package--builtin-versions)
@@ -9313,8 +9312,8 @@ corresponding to a successful execution.
;;;***
-;;;### (autoloads nil "etags" "progmodes/etags.el" (21710 32133 734297
-;;;;;; 749000))
+;;;### (autoloads nil "etags" "progmodes/etags.el" (21696 56380 925320
+;;;;;; 624000))
;;; Generated autoloads from progmodes/etags.el
(defvar tags-file-name nil "\
@@ -9629,8 +9628,8 @@ for \\[find-tag] (which see).
;;;***
-;;;### (autoloads nil "ethio-util" "language/ethio-util.el" (21710
-;;;;;; 32133 575296 922000))
+;;;### (autoloads nil "ethio-util" "language/ethio-util.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from language/ethio-util.el
(autoload 'setup-ethiopic-environment-internal "ethio-util" "\
@@ -9798,7 +9797,7 @@ With ARG, insert that many delimiters.
;;;***
-;;;### (autoloads nil "eudc" "net/eudc.el" (21710 32133 629297 203000))
+;;;### (autoloads nil "eudc" "net/eudc.el" (21704 50495 455324 752000))
;;; Generated autoloads from net/eudc.el
(autoload 'eudc-set-server "eudc" "\
@@ -9852,8 +9851,8 @@ This does nothing except loading eudc by autoload
side-effect.
;;;***
-;;;### (autoloads nil "eudc-bob" "net/eudc-bob.el" (21710 32133 628297
-;;;;;; 198000))
+;;;### (autoloads nil "eudc-bob" "net/eudc-bob.el" (21704 50495 455324
+;;;;;; 752000))
;;; Generated autoloads from net/eudc-bob.el
(autoload 'eudc-display-generic-binary "eudc-bob" "\
@@ -9888,8 +9887,8 @@ Display a button for the JPEG DATA.
;;;***
-;;;### (autoloads nil "eudc-export" "net/eudc-export.el" (21710 32133
-;;;;;; 629297 203000))
+;;;### (autoloads nil "eudc-export" "net/eudc-export.el" (21704 50495
+;;;;;; 455324 752000))
;;; Generated autoloads from net/eudc-export.el
(autoload 'eudc-insert-record-at-point-into-bbdb "eudc-export" "\
@@ -9905,8 +9904,8 @@ Call `eudc-insert-record-at-point-into-bbdb' if on a
record.
;;;***
-;;;### (autoloads nil "eudc-hotlist" "net/eudc-hotlist.el" (21710
-;;;;;; 32133 629297 203000))
+;;;### (autoloads nil "eudc-hotlist" "net/eudc-hotlist.el" (21704
+;;;;;; 50495 455324 752000))
;;; Generated autoloads from net/eudc-hotlist.el
(autoload 'eudc-edit-hotlist "eudc-hotlist" "\
@@ -9916,8 +9915,8 @@ Edit the hotlist of directory servers in a specialized
buffer.
;;;***
-;;;### (autoloads nil "ewoc" "emacs-lisp/ewoc.el" (21710 32133 461296
-;;;;;; 329000))
+;;;### (autoloads nil "ewoc" "emacs-lisp/ewoc.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emacs-lisp/ewoc.el
(autoload 'ewoc-create "ewoc" "\
@@ -9943,7 +9942,7 @@ fourth arg NOSEP non-nil inhibits this.
;;;***
-;;;### (autoloads nil "eww" "net/eww.el" (21710 32133 630297 208000))
+;;;### (autoloads nil "eww" "net/eww.el" (21702 8774 274627 813000))
;;; Generated autoloads from net/eww.el
(autoload 'eww "eww" "\
@@ -9977,8 +9976,8 @@ Display the bookmarks.
;;;***
-;;;### (autoloads nil "executable" "progmodes/executable.el" (21710
-;;;;;; 32133 734297 749000))
+;;;### (autoloads nil "executable" "progmodes/executable.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from progmodes/executable.el
(autoload 'executable-command-find-posix-p "executable" "\
@@ -10019,7 +10018,7 @@ file modes.
;;;***
-;;;### (autoloads nil "expand" "expand.el" (21710 32133 492296 491000))
+;;;### (autoloads nil "expand" "expand.el" (21670 32330 885624 725000))
;;; Generated autoloads from expand.el
(autoload 'expand-add-abbrevs "expand" "\
@@ -10068,8 +10067,8 @@ This is used only in conjunction with
`expand-add-abbrevs'.
;;;***
-;;;### (autoloads nil "f90" "progmodes/f90.el" (21710 32133 735297
-;;;;;; 754000))
+;;;### (autoloads nil "f90" "progmodes/f90.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from progmodes/f90.el
(autoload 'f90-mode "f90" "\
@@ -10136,8 +10135,8 @@ with no args, if that value is non-nil.
;;;***
-;;;### (autoloads nil "face-remap" "face-remap.el" (21710 32133 492296
-;;;;;; 491000))
+;;;### (autoloads nil "face-remap" "face-remap.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from face-remap.el
(autoload 'face-remap-add-relative "face-remap" "\
@@ -10296,8 +10295,8 @@ Besides the choice of face, it is the same as
`buffer-face-mode'.
;;;***
-;;;### (autoloads nil "feedmail" "mail/feedmail.el" (21710 32133
-;;;;;; 601297 57000))
+;;;### (autoloads nil "feedmail" "mail/feedmail.el" (21607 54478
+;;;;;; 300138 641000))
;;; Generated autoloads from mail/feedmail.el
(push (purecopy '(feedmail 11)) package--builtin-versions)
@@ -10351,7 +10350,7 @@ you can set `feedmail-queue-reminder-alist' to nil.
;;;***
-;;;### (autoloads nil "ffap" "ffap.el" (21710 32133 494296 501000))
+;;;### (autoloads nil "ffap" "ffap.el" (21696 56380 925320 624000))
;;; Generated autoloads from ffap.el
(autoload 'ffap-next "ffap" "\
@@ -10414,8 +10413,8 @@ Evaluate the forms in variable `ffap-bindings'.
;;;***
-;;;### (autoloads nil "filecache" "filecache.el" (21710 32133 494296
-;;;;;; 501000))
+;;;### (autoloads nil "filecache" "filecache.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from filecache.el
(autoload 'file-cache-add-directory "filecache" "\
@@ -10472,8 +10471,8 @@ the name is considered already unique; only the second
substitution
;;;***
-;;;### (autoloads nil "filenotify" "filenotify.el" (21710 32133 494296
-;;;;;; 501000))
+;;;### (autoloads nil "filenotify" "filenotify.el" (21704 50495 455324
+;;;;;; 752000))
;;; Generated autoloads from filenotify.el
(autoload 'file-notify-handle-event "filenotify" "\
@@ -10488,8 +10487,8 @@ Otherwise, signal a `file-notify-error'.
;;;***
-;;;### (autoloads nil "files-x" "files-x.el" (21710 32133 494296
-;;;;;; 501000))
+;;;### (autoloads nil "files-x" "files-x.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from files-x.el
(autoload 'add-file-local-variable "files-x" "\
@@ -10554,8 +10553,8 @@ Copy directory-local variables to the -*- line.
;;;***
-;;;### (autoloads nil "filesets" "filesets.el" (21710 32133 497296
-;;;;;; 517000))
+;;;### (autoloads nil "filesets" "filesets.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from filesets.el
(autoload 'filesets-init "filesets" "\
@@ -10566,8 +10565,8 @@ Set up hooks, load the cache file -- if existing -- and
build the menu.
;;;***
-;;;### (autoloads nil "find-cmd" "find-cmd.el" (21710 32133 497296
-;;;;;; 517000))
+;;;### (autoloads nil "find-cmd" "find-cmd.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from find-cmd.el
(push (purecopy '(find-cmd 0 6)) package--builtin-versions)
@@ -10587,8 +10586,8 @@ result is a string that should be ready for the command
line.
;;;***
-;;;### (autoloads nil "find-dired" "find-dired.el" (21710 32133 497296
-;;;;;; 517000))
+;;;### (autoloads nil "find-dired" "find-dired.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from find-dired.el
(autoload 'find-dired "find-dired" "\
@@ -10628,8 +10627,8 @@ use in place of \"-ls\" as the final argument.
;;;***
-;;;### (autoloads nil "find-file" "find-file.el" (21710 32133 498296
-;;;;;; 522000))
+;;;### (autoloads nil "find-file" "find-file.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from find-file.el
(defvar ff-special-constructs `((,(purecopy "^#\\s *\\(include\\|import\\)\\s
+[<\"]\\(.*\\)[>\"]") lambda nil (buffer-substring (match-beginning 2)
(match-end 2)))) "\
@@ -10719,8 +10718,8 @@ Visit the file you click on in another window.
;;;***
-;;;### (autoloads nil "find-func" "emacs-lisp/find-func.el" (21710
-;;;;;; 32133 461296 329000))
+;;;### (autoloads nil "find-func" "emacs-lisp/find-func.el" (21700
+;;;;;; 53432 444919 658000))
;;; Generated autoloads from emacs-lisp/find-func.el
(autoload 'find-library "find-func" "\
@@ -10878,8 +10877,8 @@ Define some key bindings for the find-function family
of functions.
;;;***
-;;;### (autoloads nil "find-lisp" "find-lisp.el" (21710 32133 498296
-;;;;;; 522000))
+;;;### (autoloads nil "find-lisp" "find-lisp.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from find-lisp.el
(autoload 'find-lisp-find-dired "find-lisp" "\
@@ -10899,7 +10898,7 @@ Change the filter on a `find-lisp-find-dired' buffer to
REGEXP.
;;;***
-;;;### (autoloads nil "finder" "finder.el" (21710 32133 498296 522000))
+;;;### (autoloads nil "finder" "finder.el" (21670 32330 885624 725000))
;;; Generated autoloads from finder.el
(push (purecopy '(finder 1 0)) package--builtin-versions)
@@ -10921,8 +10920,8 @@ Find packages matching a given keyword.
;;;***
-;;;### (autoloads nil "flow-ctrl" "flow-ctrl.el" (21710 32133 498296
-;;;;;; 522000))
+;;;### (autoloads nil "flow-ctrl" "flow-ctrl.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from flow-ctrl.el
(autoload 'enable-flow-control "flow-ctrl" "\
@@ -10943,8 +10942,8 @@ to get the effect of a C-q.
;;;***
-;;;### (autoloads nil "flow-fill" "gnus/flow-fill.el" (21710 32133
-;;;;;; 514296 605000))
+;;;### (autoloads nil "flow-fill" "gnus/flow-fill.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/flow-fill.el
(autoload 'fill-flowed-encode "flow-fill" "\
@@ -10959,8 +10958,8 @@ to get the effect of a C-q.
;;;***
-;;;### (autoloads nil "flymake" "progmodes/flymake.el" (21710 32133
-;;;;;; 736297 759000))
+;;;### (autoloads nil "flymake" "progmodes/flymake.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/flymake.el
(push (purecopy '(flymake 0 3)) package--builtin-versions)
@@ -10990,8 +10989,8 @@ Turn flymake mode off.
;;;***
-;;;### (autoloads nil "flyspell" "textmodes/flyspell.el" (21710 32133
-;;;;;; 792298 50000))
+;;;### (autoloads nil "flyspell" "textmodes/flyspell.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from textmodes/flyspell.el
(autoload 'flyspell-prog-mode "flyspell" "\
@@ -11061,14 +11060,14 @@ Flyspell whole buffer.
;;;***
-;;;### (autoloads nil "foldout" "foldout.el" (21710 32133 498296
-;;;;;; 522000))
+;;;### (autoloads nil "foldout" "foldout.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from foldout.el
(push (purecopy '(foldout 1 10)) package--builtin-versions)
;;;***
-;;;### (autoloads nil "follow" "follow.el" (21710 32133 499296 527000))
+;;;### (autoloads nil "follow" "follow.el" (21670 32330 885624 725000))
;;; Generated autoloads from follow.el
(autoload 'turn-on-follow-mode "follow" "\
@@ -11136,8 +11135,8 @@ selected if the original window is the first one in the
frame.
;;;***
-;;;### (autoloads nil "footnote" "mail/footnote.el" (21710 32133
-;;;;;; 601297 57000))
+;;;### (autoloads nil "footnote" "mail/footnote.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/footnote.el
(push (purecopy '(footnote 0 19)) package--builtin-versions)
@@ -11156,7 +11155,7 @@ play around with the following keys:
;;;***
-;;;### (autoloads nil "forms" "forms.el" (21710 32133 500296 532000))
+;;;### (autoloads nil "forms" "forms.el" (21670 32330 885624 725000))
;;; Generated autoloads from forms.el
(autoload 'forms-mode "forms" "\
@@ -11192,8 +11191,8 @@ Visit a file in Forms mode in other window.
;;;***
-;;;### (autoloads nil "fortran" "progmodes/fortran.el" (21710 32133
-;;;;;; 736297 759000))
+;;;### (autoloads nil "fortran" "progmodes/fortran.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/fortran.el
(autoload 'fortran-mode "fortran" "\
@@ -11270,8 +11269,8 @@ with no args, if that value is non-nil.
;;;***
-;;;### (autoloads nil "fortune" "play/fortune.el" (21710 32133 706297
-;;;;;; 603000))
+;;;### (autoloads nil "fortune" "play/fortune.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from play/fortune.el
(autoload 'fortune-add-fortune "fortune" "\
@@ -11319,8 +11318,8 @@ and choose the directory as the fortune-file.
;;;***
-;;;### (autoloads nil "frameset" "frameset.el" (21710 32133 502296
-;;;;;; 543000))
+;;;### (autoloads nil "frameset" "frameset.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from frameset.el
(defvar frameset-session-filter-alist '((name . :never) (left .
frameset-filter-iconified) (minibuffer . frameset-filter-minibuffer) (top .
frameset-filter-iconified)) "\
@@ -11506,15 +11505,15 @@ Interactively, reads the register using
`register-read-with-preview'.
;;;***
-;;;### (autoloads nil "gamegrid" "play/gamegrid.el" (21710 32133
-;;;;;; 706297 603000))
+;;;### (autoloads nil "gamegrid" "play/gamegrid.el" (21696 56380
+;;;;;; 925320 624000))
;;; Generated autoloads from play/gamegrid.el
(push (purecopy '(gamegrid 1 2)) package--builtin-versions)
;;;***
-;;;### (autoloads nil "gdb-mi" "progmodes/gdb-mi.el" (21710 32133
-;;;;;; 738297 770000))
+;;;### (autoloads nil "gdb-mi" "progmodes/gdb-mi.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/gdb-mi.el
(defvar gdb-enable-debug nil "\
@@ -11591,8 +11590,8 @@ detailed description of this mode.
;;;***
-;;;### (autoloads nil "generic" "emacs-lisp/generic.el" (21710 32133
-;;;;;; 461296 329000))
+;;;### (autoloads nil "generic" "emacs-lisp/generic.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/generic.el
(defvar generic-mode-list nil "\
@@ -11672,8 +11671,8 @@ regular expression that can be used as an element of
;;;***
-;;;### (autoloads nil "glasses" "progmodes/glasses.el" (21710 32133
-;;;;;; 738297 770000))
+;;;### (autoloads nil "glasses" "progmodes/glasses.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/glasses.el
(autoload 'glasses-mode "glasses" "\
@@ -11687,8 +11686,8 @@ add virtual separators (like underscores) at places
they belong to.
;;;***
-;;;### (autoloads nil "gmm-utils" "gnus/gmm-utils.el" (21710 32133
-;;;;;; 515296 610000))
+;;;### (autoloads nil "gmm-utils" "gnus/gmm-utils.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gmm-utils.el
(autoload 'gmm-regexp-concat "gmm-utils" "\
@@ -11742,7 +11741,7 @@ DEFAULT-MAP specifies the default key map for ICON-LIST.
;;;***
-;;;### (autoloads nil "gnus" "gnus/gnus.el" (21710 32133 534296 709000))
+;;;### (autoloads nil "gnus" "gnus/gnus.el" (21670 32330 885624 725000))
;;; Generated autoloads from gnus/gnus.el
(push (purecopy '(gnus 5 13)) package--builtin-versions)
(when (fboundp 'custom-autoload)
@@ -11792,8 +11791,8 @@ prompt the user for the name of an NNTP server to use.
;;;***
-;;;### (autoloads nil "gnus-agent" "gnus/gnus-agent.el" (21710 32133
-;;;;;; 516296 615000))
+;;;### (autoloads nil "gnus-agent" "gnus/gnus-agent.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-agent.el
(autoload 'gnus-unplugged "gnus-agent" "\
@@ -11883,8 +11882,8 @@ CLEAN is obsolete and ignored.
;;;***
-;;;### (autoloads nil "gnus-art" "gnus/gnus-art.el" (21710 32133
-;;;;;; 518296 626000))
+;;;### (autoloads nil "gnus-art" "gnus/gnus-art.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-art.el
(autoload 'gnus-article-prepare-display "gnus-art" "\
@@ -11894,8 +11893,8 @@ Make the current buffer look like a nice article.
;;;***
-;;;### (autoloads nil "gnus-bookmark" "gnus/gnus-bookmark.el" (21710
-;;;;;; 32133 518296 626000))
+;;;### (autoloads nil "gnus-bookmark" "gnus/gnus-bookmark.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from gnus/gnus-bookmark.el
(autoload 'gnus-bookmark-set "gnus-bookmark" "\
@@ -11918,8 +11917,8 @@ deletion, or > if it is flagged for displaying.
;;;***
-;;;### (autoloads nil "gnus-cache" "gnus/gnus-cache.el" (21710 32133
-;;;;;; 519296 631000))
+;;;### (autoloads nil "gnus-cache" "gnus/gnus-cache.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-cache.el
(autoload 'gnus-jog-cache "gnus-cache" "\
@@ -11960,8 +11959,8 @@ supported.
;;;***
-;;;### (autoloads nil "gnus-delay" "gnus/gnus-delay.el" (21710 32133
-;;;;;; 520296 636000))
+;;;### (autoloads nil "gnus-delay" "gnus/gnus-delay.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-delay.el
(autoload 'gnus-delay-article "gnus-delay" "\
@@ -11996,8 +11995,8 @@ Checking delayed messages is skipped if optional arg
NO-CHECK is non-nil.
;;;***
-;;;### (autoloads nil "gnus-diary" "gnus/gnus-diary.el" (21710 32133
-;;;;;; 520296 636000))
+;;;### (autoloads nil "gnus-diary" "gnus/gnus-diary.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-diary.el
(autoload 'gnus-user-format-function-d "gnus-diary" "\
@@ -12012,8 +12011,8 @@ Checking delayed messages is skipped if optional arg
NO-CHECK is non-nil.
;;;***
-;;;### (autoloads nil "gnus-dired" "gnus/gnus-dired.el" (21710 32133
-;;;;;; 520296 636000))
+;;;### (autoloads nil "gnus-dired" "gnus/gnus-dired.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-dired.el
(autoload 'turn-on-gnus-dired-mode "gnus-dired" "\
@@ -12023,8 +12022,8 @@ Convenience method to turn on gnus-dired-mode.
;;;***
-;;;### (autoloads nil "gnus-draft" "gnus/gnus-draft.el" (21710 32133
-;;;;;; 520296 636000))
+;;;### (autoloads nil "gnus-draft" "gnus/gnus-draft.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-draft.el
(autoload 'gnus-draft-reminder "gnus-draft" "\
@@ -12034,8 +12033,8 @@ Reminder user if there are unsent drafts.
;;;***
-;;;### (autoloads nil "gnus-fun" "gnus/gnus-fun.el" (21710 32133
-;;;;;; 520296 636000))
+;;;### (autoloads nil "gnus-fun" "gnus/gnus-fun.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-fun.el
(autoload 'gnus--random-face-with-type "gnus-fun" "\
@@ -12100,8 +12099,8 @@ Insert a random Face header from `gnus-face-directory'.
;;;***
-;;;### (autoloads nil "gnus-gravatar" "gnus/gnus-gravatar.el" (21710
-;;;;;; 32133 521296 641000))
+;;;### (autoloads nil "gnus-gravatar" "gnus/gnus-gravatar.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from gnus/gnus-gravatar.el
(autoload 'gnus-treat-from-gravatar "gnus-gravatar" "\
@@ -12118,8 +12117,8 @@ If gravatars are already displayed, remove them.
;;;***
-;;;### (autoloads nil "gnus-group" "gnus/gnus-group.el" (21710 32133
-;;;;;; 522296 647000))
+;;;### (autoloads nil "gnus-group" "gnus/gnus-group.el" (21702 8774
+;;;;;; 274627 813000))
;;; Generated autoloads from gnus/gnus-group.el
(autoload 'gnus-fetch-group "gnus-group" "\
@@ -12136,8 +12135,8 @@ Pop up a frame and enter GROUP.
;;;***
-;;;### (autoloads nil "gnus-html" "gnus/gnus-html.el" (21710 32133
-;;;;;; 522296 647000))
+;;;### (autoloads nil "gnus-html" "gnus/gnus-html.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-html.el
(autoload 'gnus-article-html "gnus-html" "\
@@ -12152,8 +12151,8 @@ Pop up a frame and enter GROUP.
;;;***
-;;;### (autoloads nil "gnus-kill" "gnus/gnus-kill.el" (21710 32133
-;;;;;; 523296 652000))
+;;;### (autoloads nil "gnus-kill" "gnus/gnus-kill.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-kill.el
(defalias 'gnus-batch-kill 'gnus-batch-score)
@@ -12166,8 +12165,8 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f
gnus-batch-score
;;;***
-;;;### (autoloads nil "gnus-ml" "gnus/gnus-ml.el" (21710 32133 523296
-;;;;;; 652000))
+;;;### (autoloads nil "gnus-ml" "gnus/gnus-ml.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from gnus/gnus-ml.el
(autoload 'turn-on-gnus-mailing-list-mode "gnus-ml" "\
@@ -12190,8 +12189,8 @@ Minor mode for providing mailing-list commands.
;;;***
-;;;### (autoloads nil "gnus-mlspl" "gnus/gnus-mlspl.el" (21710 32133
-;;;;;; 523296 652000))
+;;;### (autoloads nil "gnus-mlspl" "gnus/gnus-mlspl.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-mlspl.el
(autoload 'gnus-group-split-setup "gnus-mlspl" "\
@@ -12291,8 +12290,8 @@ Calling (gnus-group-split-fancy nil nil
\"mail.others\") returns:
;;;***
-;;;### (autoloads nil "gnus-msg" "gnus/gnus-msg.el" (21710 32133
-;;;;;; 524296 657000))
+;;;### (autoloads nil "gnus-msg" "gnus/gnus-msg.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-msg.el
(autoload 'gnus-msg-mail "gnus-msg" "\
@@ -12319,7 +12318,7 @@ Like `message-reply'.
;;;***
;;;### (autoloads nil "gnus-notifications" "gnus/gnus-notifications.el"
-;;;;;; (21710 32133 524296 657000))
+;;;;;; (21670 32330 885624 725000))
;;; Generated autoloads from gnus/gnus-notifications.el
(autoload 'gnus-notifications "gnus-notifications" "\
@@ -12335,8 +12334,8 @@ This is typically a function to add in
;;;***
-;;;### (autoloads nil "gnus-picon" "gnus/gnus-picon.el" (21710 32133
-;;;;;; 524296 657000))
+;;;### (autoloads nil "gnus-picon" "gnus/gnus-picon.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-picon.el
(autoload 'gnus-treat-from-picon "gnus-picon" "\
@@ -12359,8 +12358,8 @@ If picons are already displayed, remove them.
;;;***
-;;;### (autoloads nil "gnus-range" "gnus/gnus-range.el" (21710 32133
-;;;;;; 524296 657000))
+;;;### (autoloads nil "gnus-range" "gnus/gnus-range.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-range.el
(autoload 'gnus-sorted-difference "gnus-range" "\
@@ -12427,8 +12426,8 @@ Add NUM into sorted LIST by side effect.
;;;***
-;;;### (autoloads nil "gnus-registry" "gnus/gnus-registry.el" (21710
-;;;;;; 32133 525296 662000))
+;;;### (autoloads nil "gnus-registry" "gnus/gnus-registry.el" (21707
+;;;;;; 26689 135319 638000))
;;; Generated autoloads from gnus/gnus-registry.el
(autoload 'gnus-registry-initialize "gnus-registry" "\
@@ -12443,8 +12442,8 @@ Install the registry hooks.
;;;***
-;;;### (autoloads nil "gnus-sieve" "gnus/gnus-sieve.el" (21710 32133
-;;;;;; 526296 667000))
+;;;### (autoloads nil "gnus-sieve" "gnus/gnus-sieve.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-sieve.el
(autoload 'gnus-sieve-update "gnus-sieve" "\
@@ -12471,8 +12470,8 @@ See the documentation for these variables and functions
for details.
;;;***
-;;;### (autoloads nil "gnus-spec" "gnus/gnus-spec.el" (21710 32133
-;;;;;; 526296 667000))
+;;;### (autoloads nil "gnus-spec" "gnus/gnus-spec.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-spec.el
(autoload 'gnus-update-format "gnus-spec" "\
@@ -12482,8 +12481,8 @@ Update the format specification near point.
;;;***
-;;;### (autoloads nil "gnus-start" "gnus/gnus-start.el" (21710 32133
-;;;;;; 527296 673000))
+;;;### (autoloads nil "gnus-start" "gnus/gnus-start.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-start.el
(autoload 'gnus-declare-backend "gnus-start" "\
@@ -12493,8 +12492,8 @@ Declare back end NAME with ABILITIES as a Gnus back end.
;;;***
-;;;### (autoloads nil "gnus-sum" "gnus/gnus-sum.el" (21710 32133
-;;;;;; 530296 688000))
+;;;### (autoloads nil "gnus-sum" "gnus/gnus-sum.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-sum.el
(autoload 'gnus-summary-bookmark-jump "gnus-sum" "\
@@ -12505,8 +12504,8 @@ BOOKMARK is a bookmark name or a bookmark record.
;;;***
-;;;### (autoloads nil "gnus-sync" "gnus/gnus-sync.el" (21710 32133
-;;;;;; 531296 693000))
+;;;### (autoloads nil "gnus-sync" "gnus/gnus-sync.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-sync.el
(autoload 'gnus-sync-initialize "gnus-sync" "\
@@ -12521,8 +12520,8 @@ Install the sync hooks.
;;;***
-;;;### (autoloads nil "gnus-win" "gnus/gnus-win.el" (21710 32133
-;;;;;; 533296 704000))
+;;;### (autoloads nil "gnus-win" "gnus/gnus-win.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gnus-win.el
(autoload 'gnus-add-configuration "gnus-win" "\
@@ -12532,8 +12531,8 @@ Add the window configuration CONF to
`gnus-buffer-configuration'.
;;;***
-;;;### (autoloads nil "gnutls" "net/gnutls.el" (21710 32133 630297
-;;;;;; 208000))
+;;;### (autoloads nil "gnutls" "net/gnutls.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from net/gnutls.el
(defvar gnutls-min-prime-bits 256 "\
@@ -12549,8 +12548,8 @@ A value of nil says to use the default GnuTLS value.")
;;;***
-;;;### (autoloads nil "gomoku" "play/gomoku.el" (21710 32133 707297
-;;;;;; 608000))
+;;;### (autoloads nil "gomoku" "play/gomoku.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from play/gomoku.el
(autoload 'gomoku "gomoku" "\
@@ -12576,8 +12575,8 @@ Use \\[describe-mode] for more info.
;;;***
-;;;### (autoloads nil "goto-addr" "net/goto-addr.el" (21710 32133
-;;;;;; 630297 208000))
+;;;### (autoloads nil "goto-addr" "net/goto-addr.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from net/goto-addr.el
(define-obsolete-function-alias 'goto-address-at-mouse 'goto-address-at-point
"22.1")
@@ -12618,8 +12617,8 @@ Like `goto-address-mode', but only for comments and
strings.
;;;***
-;;;### (autoloads nil "gravatar" "gnus/gravatar.el" (21710 32133
-;;;;;; 534296 709000))
+;;;### (autoloads nil "gravatar" "gnus/gravatar.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/gravatar.el
(autoload 'gravatar-retrieve "gravatar" "\
@@ -12635,8 +12634,8 @@ Retrieve MAIL-ADDRESS gravatar and returns it.
;;;***
-;;;### (autoloads nil "grep" "progmodes/grep.el" (21710 32133 738297
-;;;;;; 770000))
+;;;### (autoloads nil "grep" "progmodes/grep.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from progmodes/grep.el
(defvar grep-window-height nil "\
@@ -12800,7 +12799,7 @@ file name to `*.gz', and sets `grep-highlight-matches'
to `always'.
;;;***
-;;;### (autoloads nil "gs" "gs.el" (21710 32133 552296 802000))
+;;;### (autoloads nil "gs" "gs.el" (21670 32331 385639 720000))
;;; Generated autoloads from gs.el
(autoload 'gs-load-image "gs" "\
@@ -12813,8 +12812,8 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if
successful.
;;;***
-;;;### (autoloads nil "gud" "progmodes/gud.el" (21710 32133 739297
-;;;;;; 775000))
+;;;### (autoloads nil "gud" "progmodes/gud.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from progmodes/gud.el
(autoload 'gud-gdb "gud" "\
@@ -12909,8 +12908,8 @@ it if ARG is omitted or nil.
;;;***
-;;;### (autoloads nil "gv" "emacs-lisp/gv.el" (21710 32133 462296
-;;;;;; 335000))
+;;;### (autoloads nil "gv" "emacs-lisp/gv.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emacs-lisp/gv.el
(autoload 'gv-get "gv" "\
@@ -13012,8 +13011,8 @@ binding mode.
;;;***
-;;;### (autoloads nil "handwrite" "play/handwrite.el" (21710 32133
-;;;;;; 707297 608000))
+;;;### (autoloads nil "handwrite" "play/handwrite.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from play/handwrite.el
(autoload 'handwrite "handwrite" "\
@@ -13030,8 +13029,8 @@ Variables: `handwrite-linespace' (default 12)
;;;***
-;;;### (autoloads nil "hanoi" "play/hanoi.el" (21710 32133 708297
-;;;;;; 614000))
+;;;### (autoloads nil "hanoi" "play/hanoi.el" (21607 54478 800121
+;;;;;; 42000))
;;; Generated autoloads from play/hanoi.el
(autoload 'hanoi "hanoi" "\
@@ -13058,8 +13057,8 @@ to be updated.
;;;***
-;;;### (autoloads nil "hashcash" "mail/hashcash.el" (21710 32133
-;;;;;; 601297 57000))
+;;;### (autoloads nil "hashcash" "mail/hashcash.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/hashcash.el
(autoload 'hashcash-insert-payment "hashcash" "\
@@ -13101,8 +13100,8 @@ Prefix arg sets default accept amount temporarily.
;;;***
-;;;### (autoloads nil "help-at-pt" "help-at-pt.el" (21710 32133 552296
-;;;;;; 802000))
+;;;### (autoloads nil "help-at-pt" "help-at-pt.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from help-at-pt.el
(autoload 'help-at-pt-string "help-at-pt" "\
@@ -13229,8 +13228,8 @@ different regions. With numeric argument ARG, behaves
like
;;;***
-;;;### (autoloads nil "help-fns" "help-fns.el" (21710 32133 553296
-;;;;;; 808000))
+;;;### (autoloads nil "help-fns" "help-fns.el" (21690 17600 745361
+;;;;;; 875000))
;;; Generated autoloads from help-fns.el
(autoload 'describe-function "help-fns" "\
@@ -13308,8 +13307,8 @@ Produce a texinfo buffer with sorted doc-strings from
the DOC file.
;;;***
-;;;### (autoloads nil "help-macro" "help-macro.el" (21710 32133 553296
-;;;;;; 808000))
+;;;### (autoloads nil "help-macro" "help-macro.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from help-macro.el
(defvar three-step-help nil "\
@@ -13323,8 +13322,8 @@ gives the window that lists the options.")
;;;***
-;;;### (autoloads nil "help-mode" "help-mode.el" (21710 32133 553296
-;;;;;; 808000))
+;;;### (autoloads nil "help-mode" "help-mode.el" (21690 17600 745361
+;;;;;; 875000))
;;; Generated autoloads from help-mode.el
(autoload 'help-mode "help-mode" "\
@@ -13423,8 +13422,8 @@ BOOKMARK is a bookmark name or a bookmark record.
;;;***
-;;;### (autoloads nil "helper" "emacs-lisp/helper.el" (21710 32133
-;;;;;; 462296 335000))
+;;;### (autoloads nil "helper" "emacs-lisp/helper.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/helper.el
(autoload 'Helper-describe-bindings "helper" "\
@@ -13439,7 +13438,7 @@ Provide help for current mode.
;;;***
-;;;### (autoloads nil "hexl" "hexl.el" (21710 32133 554296 813000))
+;;;### (autoloads nil "hexl" "hexl.el" (21695 35516 595262 313000))
;;; Generated autoloads from hexl.el
(autoload 'hexl-mode "hexl" "\
@@ -13533,8 +13532,8 @@ This discards the buffer's undo information.
;;;***
-;;;### (autoloads nil "hi-lock" "hi-lock.el" (21710 32133 555296
-;;;;;; 818000))
+;;;### (autoloads nil "hi-lock" "hi-lock.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from hi-lock.el
(autoload 'hi-lock-mode "hi-lock" "\
@@ -13701,8 +13700,8 @@ be found in variable `hi-lock-interactive-patterns'.
;;;***
-;;;### (autoloads nil "hideif" "progmodes/hideif.el" (21710 32133
-;;;;;; 740297 780000))
+;;;### (autoloads nil "hideif" "progmodes/hideif.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/hideif.el
(autoload 'hide-ifdef-mode "hideif" "\
@@ -13749,8 +13748,8 @@ Several variables affect how the hiding is done:
;;;***
-;;;### (autoloads nil "hideshow" "progmodes/hideshow.el" (21710 32133
-;;;;;; 740297 780000))
+;;;### (autoloads nil "hideshow" "progmodes/hideshow.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/hideshow.el
(defvar hs-special-modes-alist (mapcar 'purecopy '((c-mode "{" "}" "/[*/]" nil
nil) (c++-mode "{" "}" "/[*/]" nil nil) (bibtex-mode ("@\\S(*\\(\\s(\\)" 1))
(java-mode "{" "}" "/[*/]" nil nil) (js-mode "{" "}" "/[*/]" nil))) "\
@@ -13812,8 +13811,8 @@ Unconditionally turn off `hs-minor-mode'.
;;;***
-;;;### (autoloads nil "hilit-chg" "hilit-chg.el" (21710 32133 555296
-;;;;;; 818000))
+;;;### (autoloads nil "hilit-chg" "hilit-chg.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from hilit-chg.el
(autoload 'highlight-changes-mode "hilit-chg" "\
@@ -13944,8 +13943,8 @@ See `highlight-changes-mode' for more information on
Highlight-Changes mode.
;;;***
-;;;### (autoloads nil "hippie-exp" "hippie-exp.el" (21710 32133 555296
-;;;;;; 818000))
+;;;### (autoloads nil "hippie-exp" "hippie-exp.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from hippie-exp.el
(push (purecopy '(hippie-exp 1 6)) package--builtin-versions)
@@ -13977,8 +13976,8 @@ argument VERBOSE non-nil makes the function verbose.
;;;***
-;;;### (autoloads nil "hl-line" "hl-line.el" (21710 32133 555296
-;;;;;; 818000))
+;;;### (autoloads nil "hl-line" "hl-line.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from hl-line.el
(autoload 'hl-line-mode "hl-line" "\
@@ -14027,8 +14026,8 @@ Global-Hl-Line mode uses the functions
`global-hl-line-unhighlight' and
;;;***
-;;;### (autoloads nil "holidays" "calendar/holidays.el" (21710 32133
-;;;;;; 404296 33000))
+;;;### (autoloads nil "holidays" "calendar/holidays.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from calendar/holidays.el
(defvar holiday-general-holidays (mapcar 'purecopy '((holiday-fixed 1 1 "New
Year's Day") (holiday-float 1 1 3 "Martin Luther King Day") (holiday-fixed 2 2
"Groundhog Day") (holiday-fixed 2 14 "Valentine's Day") (holiday-float 2 1 3
"President's Day") (holiday-fixed 3 17 "St. Patrick's Day") (holiday-fixed 4 1
"April Fools' Day") (holiday-float 5 0 2 "Mother's Day") (holiday-float 5 1 -1
"Memorial Day") (holiday-fixed 6 14 "Flag Day") (holiday-float 6 0 3 "Father's
Day") (holiday-fixed 7 [...]
@@ -14138,8 +14137,8 @@ The optional LABEL is used to label the buffer created.
;;;***
-;;;### (autoloads nil "html2text" "gnus/html2text.el" (21710 32133
-;;;;;; 534296 709000))
+;;;### (autoloads nil "html2text" "gnus/html2text.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from gnus/html2text.el
(autoload 'html2text "html2text" "\
@@ -14149,8 +14148,8 @@ Convert HTML to plain text in the current buffer.
;;;***
-;;;### (autoloads nil "htmlfontify" "htmlfontify.el" (21710 32133
-;;;;;; 556296 823000))
+;;;### (autoloads nil "htmlfontify" "htmlfontify.el" (21670 32624
+;;;;;; 385626 484000))
;;; Generated autoloads from htmlfontify.el
(push (purecopy '(htmlfontify 0 21)) package--builtin-versions)
@@ -14183,8 +14182,8 @@ You may also want to set `hfy-page-header' and
`hfy-page-footer'.
;;;***
-;;;### (autoloads nil "ibuf-macs" "ibuf-macs.el" (21710 32133 557296
-;;;;;; 829000))
+;;;### (autoloads nil "ibuf-macs" "ibuf-macs.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from ibuf-macs.el
(autoload 'define-ibuffer-column "ibuf-macs" "\
@@ -14286,8 +14285,8 @@ bound to the current value of the filter.
;;;***
-;;;### (autoloads nil "ibuffer" "ibuffer.el" (21710 32133 557296
-;;;;;; 829000))
+;;;### (autoloads nil "ibuffer" "ibuffer.el" (21670 32624 385626
+;;;;;; 484000))
;;; Generated autoloads from ibuffer.el
(autoload 'ibuffer-list-buffers "ibuffer" "\
@@ -14326,8 +14325,8 @@ FORMATS is the value to use for `ibuffer-formats'.
;;;***
-;;;### (autoloads nil "icalendar" "calendar/icalendar.el" (21710
-;;;;;; 32133 404296 33000))
+;;;### (autoloads nil "icalendar" "calendar/icalendar.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from calendar/icalendar.el
(push (purecopy '(icalendar 0 19)) package--builtin-versions)
@@ -14380,8 +14379,8 @@ buffer `*icalendar-errors*'.
;;;***
-;;;### (autoloads nil "icomplete" "icomplete.el" (21710 32133 558296
-;;;;;; 834000))
+;;;### (autoloads nil "icomplete" "icomplete.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from icomplete.el
(defvar icomplete-mode nil "\
@@ -14420,8 +14419,8 @@ completions:
;;;***
-;;;### (autoloads nil "icon" "progmodes/icon.el" (21710 32133 740297
-;;;;;; 780000))
+;;;### (autoloads nil "icon" "progmodes/icon.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from progmodes/icon.el
(autoload 'icon-mode "icon" "\
@@ -14461,8 +14460,8 @@ with no args, if that value is non-nil.
;;;***
-;;;### (autoloads nil "idlw-shell" "progmodes/idlw-shell.el" (21710
-;;;;;; 32133 742297 790000))
+;;;### (autoloads nil "idlw-shell" "progmodes/idlw-shell.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from progmodes/idlw-shell.el
(autoload 'idlwave-shell "idlw-shell" "\
@@ -14487,8 +14486,8 @@ See also the variable `idlwave-shell-prompt-pattern'.
;;;***
-;;;### (autoloads nil "idlwave" "progmodes/idlwave.el" (21710 32133
-;;;;;; 745297 806000))
+;;;### (autoloads nil "idlwave" "progmodes/idlwave.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/idlwave.el
(push (purecopy '(idlwave 6 1 22)) package--builtin-versions)
@@ -14617,7 +14616,7 @@ The main features of this mode are
;;;***
-;;;### (autoloads nil "ido" "ido.el" (21710 32133 559296 839000))
+;;;### (autoloads nil "ido" "ido.el" (21694 14651 747488 989000))
;;; Generated autoloads from ido.el
(defvar ido-mode nil "\
@@ -14879,7 +14878,7 @@ DEF, if non-nil, is the default value.
;;;***
-;;;### (autoloads nil "ielm" "ielm.el" (21710 32133 559296 839000))
+;;;### (autoloads nil "ielm" "ielm.el" (21695 35516 595262 313000))
;;; Generated autoloads from ielm.el
(autoload 'ielm "ielm" "\
@@ -14891,7 +14890,7 @@ See `inferior-emacs-lisp-mode' for details.
;;;***
-;;;### (autoloads nil "iimage" "iimage.el" (21710 32133 559296 839000))
+;;;### (autoloads nil "iimage" "iimage.el" (21670 32331 385639 720000))
;;; Generated autoloads from iimage.el
(define-obsolete-function-alias 'turn-on-iimage-mode 'iimage-mode "24.1")
@@ -14907,7 +14906,7 @@ the mode if ARG is omitted or nil, and toggle it if ARG
is `toggle'.
;;;***
-;;;### (autoloads nil "image" "image.el" (21710 32133 561296 849000))
+;;;### (autoloads nil "image" "image.el" (21670 32331 385639 720000))
;;; Generated autoloads from image.el
(autoload 'image-type-from-data "image" "\
@@ -15100,8 +15099,8 @@ If Emacs is compiled without ImageMagick support, this
does nothing.
;;;***
-;;;### (autoloads nil "image-dired" "image-dired.el" (21710 32133
-;;;;;; 560296 844000))
+;;;### (autoloads nil "image-dired" "image-dired.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from image-dired.el
(push (purecopy '(image-dired 0 4 11)) package--builtin-versions)
@@ -15238,8 +15237,8 @@ easy-to-use form.
;;;***
-;;;### (autoloads nil "image-file" "image-file.el" (21710 32133 560296
-;;;;;; 844000))
+;;;### (autoloads nil "image-file" "image-file.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from image-file.el
(defvar image-file-name-extensions (purecopy '("png" "jpeg" "jpg" "gif" "tiff"
"tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm" "svg")) "\
@@ -15301,8 +15300,8 @@ An image file is one whose name has an extension in
;;;***
-;;;### (autoloads nil "image-mode" "image-mode.el" (21710 32133 560296
-;;;;;; 844000))
+;;;### (autoloads nil "image-mode" "image-mode.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from image-mode.el
(autoload 'image-mode "image-mode" "\
@@ -15349,7 +15348,7 @@ on these modes.
;;;***
-;;;### (autoloads nil "imenu" "imenu.el" (21710 32133 561296 849000))
+;;;### (autoloads nil "imenu" "imenu.el" (21670 32331 385639 720000))
;;; Generated autoloads from imenu.el
(defvar imenu-sort-function nil "\
@@ -15487,8 +15486,8 @@ for more information.
;;;***
-;;;### (autoloads nil "ind-util" "language/ind-util.el" (21710 32133
-;;;;;; 580296 948000))
+;;;### (autoloads nil "ind-util" "language/ind-util.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from language/ind-util.el
(autoload 'indian-compose-region "ind-util" "\
@@ -15518,8 +15517,8 @@ Convert old Emacs Devanagari characters to UCS.
;;;***
-;;;### (autoloads nil "inf-lisp" "progmodes/inf-lisp.el" (21710 32133
-;;;;;; 745297 806000))
+;;;### (autoloads nil "inf-lisp" "progmodes/inf-lisp.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/inf-lisp.el
(autoload 'inferior-lisp "inf-lisp" "\
@@ -15537,7 +15536,7 @@ of `inferior-lisp-program'). Runs the hooks from
;;;***
-;;;### (autoloads nil "info" "info.el" (21710 32133 563296 860000))
+;;;### (autoloads nil "info" "info.el" (21670 32331 385639 720000))
;;; Generated autoloads from info.el
(defcustom Info-default-directory-list (let* ((config-dir
(file-name-as-directory (or (and (featurep 'ns) (let ((dir (expand-file-name
"../info" data-directory))) (if (file-directory-p dir) dir)))
configure-info-directory))) (prefixes (prune-directory-list '("/usr/local/"
"/usr/" "/opt/" "/"))) (suffixes '("share/" "" "gnu/" "gnu/lib/"
"gnu/lib/emacs/" "emacs/" "lib/" "lib/emacs/")) (standard-info-dirs (apply
#'nconc (mapcar (lambda (pfx) (let ((dirs (mapcar (lambda (sfx) (concat pfx sfx
[...]
@@ -15749,8 +15748,8 @@ completion alternatives to currently visited manuals.
;;;***
-;;;### (autoloads nil "info-look" "info-look.el" (21710 32133 562296
-;;;;;; 854000))
+;;;### (autoloads nil "info-look" "info-look.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from info-look.el
(autoload 'info-lookup-reset "info-look" "\
@@ -15797,8 +15796,8 @@ Perform completion on file preceding point.
;;;***
-;;;### (autoloads nil "info-xref" "info-xref.el" (21710 32133 562296
-;;;;;; 854000))
+;;;### (autoloads nil "info-xref" "info-xref.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from info-xref.el
(push (purecopy '(info-xref 3)) package--builtin-versions)
@@ -15881,8 +15880,8 @@ the sources handy.
;;;***
-;;;### (autoloads nil "informat" "informat.el" (21710 32133 564296
-;;;;;; 865000))
+;;;### (autoloads nil "informat" "informat.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from informat.el
(autoload 'Info-tagify "informat" "\
@@ -15927,8 +15926,8 @@ For example, invoke \"emacs -batch -f
batch-info-validate $info/ ~/*.info\"
;;;***
-;;;### (autoloads nil "inline" "emacs-lisp/inline.el" (21710 32133
-;;;;;; 462296 335000))
+;;;### (autoloads nil "inline" "emacs-lisp/inline.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/inline.el
(autoload 'define-inline "inline" "\
@@ -15942,8 +15941,8 @@ For example, invoke \"emacs -batch -f
batch-info-validate $info/ ~/*.info\"
;;;***
-;;;### (autoloads nil "inversion" "cedet/inversion.el" (21710 32133
-;;;;;; 414296 85000))
+;;;### (autoloads nil "inversion" "cedet/inversion.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from cedet/inversion.el
(push (purecopy '(inversion 1 3)) package--builtin-versions)
@@ -15955,8 +15954,8 @@ Only checks one based on which kind of Emacs is being
run.
;;;***
-;;;### (autoloads nil "isearch-x" "international/isearch-x.el" (21710
-;;;;;; 32133 565296 870000))
+;;;### (autoloads nil "isearch-x" "international/isearch-x.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from international/isearch-x.el
(autoload 'isearch-toggle-specified-input-method "isearch-x" "\
@@ -15976,8 +15975,8 @@ Toggle input method in interactive search.
;;;***
-;;;### (autoloads nil "isearchb" "isearchb.el" (21710 32133 573296
-;;;;;; 912000))
+;;;### (autoloads nil "isearchb" "isearchb.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from isearchb.el
(push (purecopy '(isearchb 1 5)) package--builtin-versions)
@@ -15991,8 +15990,8 @@ accessed via isearchb.
;;;***
-;;;### (autoloads nil "iso-cvt" "international/iso-cvt.el" (21710
-;;;;;; 32133 566296 875000))
+;;;### (autoloads nil "iso-cvt" "international/iso-cvt.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from international/iso-cvt.el
(autoload 'iso-spanish "iso-cvt" "\
@@ -16083,15 +16082,15 @@ Add submenus to the File menu, to convert to and from
various formats.
;;;***
;;;### (autoloads nil "iso-transl" "international/iso-transl.el"
-;;;;;; (21710 32133 566296 875000))
+;;;;;; (21670 32331 385639 720000))
;;; Generated autoloads from international/iso-transl.el
(define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map)
(autoload 'iso-transl-ctl-x-8-map "iso-transl" "Keymap for C-x 8 prefix." t
'keymap)
;;;***
-;;;### (autoloads nil "ispell" "textmodes/ispell.el" (21710 32133
-;;;;;; 793298 56000))
+;;;### (autoloads nil "ispell" "textmodes/ispell.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from textmodes/ispell.el
(put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t
exclusive))))
@@ -16324,8 +16323,8 @@ You can bind this to the key C-c i in GNUS or mail by
adding to
;;;***
-;;;### (autoloads nil "japan-util" "language/japan-util.el" (21710
-;;;;;; 32133 580296 948000))
+;;;### (autoloads nil "japan-util" "language/japan-util.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from language/japan-util.el
(autoload 'setup-japanese-environment-internal "japan-util" "\
@@ -16402,8 +16401,8 @@ If non-nil, second arg INITIAL-INPUT is a string to
insert before reading.
;;;***
-;;;### (autoloads nil "jka-compr" "jka-compr.el" (21710 32133 573296
-;;;;;; 912000))
+;;;### (autoloads nil "jka-compr" "jka-compr.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from jka-compr.el
(defvar jka-compr-inhibit nil "\
@@ -16426,8 +16425,7 @@ by `jka-compr-installed'.
;;;***
-;;;### (autoloads nil "js" "progmodes/js.el" (21710 32133 746297
-;;;;;; 811000))
+;;;### (autoloads nil "js" "progmodes/js.el" (21681 2618 385332 620000))
;;; Generated autoloads from progmodes/js.el
(push (purecopy '(js 9)) package--builtin-versions)
@@ -16441,14 +16439,14 @@ Major mode for editing JavaScript.
;;;***
-;;;### (autoloads nil "json" "json.el" (21710 32133 573296 912000))
+;;;### (autoloads nil "json" "json.el" (21670 32331 385639 720000))
;;; Generated autoloads from json.el
(push (purecopy '(json 1 4)) package--builtin-versions)
;;;***
-;;;### (autoloads nil "keypad" "emulation/keypad.el" (21710 32133
-;;;;;; 471296 381000))
+;;;### (autoloads nil "keypad" "emulation/keypad.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emulation/keypad.el
(defvar keypad-setup nil "\
@@ -16503,8 +16501,8 @@ the decimal key on the keypad is mapped to DECIMAL
instead of `.'
;;;***
-;;;### (autoloads nil "kinsoku" "international/kinsoku.el" (21710
-;;;;;; 32133 566296 875000))
+;;;### (autoloads nil "kinsoku" "international/kinsoku.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from international/kinsoku.el
(autoload 'kinsoku "kinsoku" "\
@@ -16525,8 +16523,8 @@ the context of text formatting.
;;;***
-;;;### (autoloads nil "kkc" "international/kkc.el" (21710 32133 566296
-;;;;;; 875000))
+;;;### (autoloads nil "kkc" "international/kkc.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from international/kkc.el
(defvar kkc-after-update-conversion-functions nil "\
@@ -16548,7 +16546,7 @@ and the return value is the length of the conversion.
;;;***
-;;;### (autoloads nil "kmacro" "kmacro.el" (21710 32133 574296 917000))
+;;;### (autoloads nil "kmacro" "kmacro.el" (21670 32331 385639 720000))
;;; Generated autoloads from kmacro.el
(global-set-key "\C-x(" 'kmacro-start-macro)
(global-set-key "\C-x)" 'kmacro-end-macro)
@@ -16660,8 +16658,8 @@ If kbd macro currently being defined end it before
activating it.
;;;***
-;;;### (autoloads nil "korea-util" "language/korea-util.el" (21710
-;;;;;; 32133 580296 948000))
+;;;### (autoloads nil "korea-util" "language/korea-util.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from language/korea-util.el
(defvar default-korean-keyboard (purecopy (if (string-match "3" (or (getenv
"HANGUL_KEYBOARD_TYPE") "")) "3" "")) "\
@@ -16675,8 +16673,8 @@ The kind of Korean keyboard for Korean input method.
;;;***
-;;;### (autoloads nil "landmark" "play/landmark.el" (21710 32133
-;;;;;; 708297 614000))
+;;;### (autoloads nil "landmark" "play/landmark.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from play/landmark.el
(push (purecopy '(landmark 1 0)) package--builtin-versions)
@@ -16707,8 +16705,8 @@ Use \\[describe-mode] for more info.
;;;***
-;;;### (autoloads nil "lao-util" "language/lao-util.el" (21710 32133
-;;;;;; 581296 953000))
+;;;### (autoloads nil "lao-util" "language/lao-util.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from language/lao-util.el
(autoload 'lao-compose-string "lao-util" "\
@@ -16745,8 +16743,8 @@ Transcribe Romanized Lao string STR to Lao character
string.
;;;***
-;;;### (autoloads nil "latexenc" "international/latexenc.el" (21710
-;;;;;; 32133 567296 881000))
+;;;### (autoloads nil "latexenc" "international/latexenc.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from international/latexenc.el
(defvar latex-inputenc-coding-alist (purecopy '(("ansinew" . windows-1252)
("applemac" . mac-roman) ("ascii" . us-ascii) ("cp1250" . windows-1250)
("cp1252" . windows-1252) ("cp1257" . cp1257) ("cp437de" . cp437) ("cp437" .
cp437) ("cp850" . cp850) ("cp852" . cp852) ("cp858" . cp858) ("cp865" . cp865)
("latin1" . iso-8859-1) ("latin2" . iso-8859-2) ("latin3" . iso-8859-3)
("latin4" . iso-8859-4) ("latin5" . iso-8859-5) ("latin9" . iso-8859-15)
("next" . next) ("utf8" . utf-8) ("utf8x" . [...]
@@ -16778,7 +16776,7 @@ coding system names is determined from
`latex-inputenc-coding-alist'.
;;;***
;;;### (autoloads nil "latin1-disp" "international/latin1-disp.el"
-;;;;;; (21710 32133 567296 881000))
+;;;;;; (21670 32331 385639 720000))
;;; Generated autoloads from international/latin1-disp.el
(defvar latin1-display nil "\
@@ -16819,8 +16817,8 @@ use either \\[customize] or the function
`latin1-display'.")
;;;***
-;;;### (autoloads nil "ld-script" "progmodes/ld-script.el" (21710
-;;;;;; 32133 746297 811000))
+;;;### (autoloads nil "ld-script" "progmodes/ld-script.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from progmodes/ld-script.el
(autoload 'ld-script-mode "ld-script" "\
@@ -16830,8 +16828,8 @@ A major mode to edit GNU ld script files
;;;***
-;;;### (autoloads nil "let-alist" "let-alist.el" (21710 32133 598297
-;;;;;; 42000))
+;;;### (autoloads nil "let-alist" "let-alist.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from let-alist.el
(push (purecopy '(let-alist 1 0 3)) package--builtin-versions)
@@ -16870,7 +16868,7 @@ displayed in the example above.
;;;***
-;;;### (autoloads nil "life" "play/life.el" (21710 32133 708297 614000))
+;;;### (autoloads nil "life" "play/life.el" (21670 32331 385639 720000))
;;; Generated autoloads from play/life.el
(autoload 'life "life" "\
@@ -16883,7 +16881,7 @@ generations (this defaults to 1).
;;;***
-;;;### (autoloads nil "linum" "linum.el" (21710 32133 598297 42000))
+;;;### (autoloads nil "linum" "linum.el" (21670 32331 385639 720000))
;;; Generated autoloads from linum.el
(push (purecopy '(linum 0 9 24)) package--builtin-versions)
@@ -16920,8 +16918,8 @@ See `linum-mode' for more information on Linum mode.
;;;***
-;;;### (autoloads nil "loadhist" "loadhist.el" (21710 32133 598297
-;;;;;; 42000))
+;;;### (autoloads nil "loadhist" "loadhist.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from loadhist.el
(autoload 'unload-feature "loadhist" "\
@@ -16952,7 +16950,7 @@ something strange, such as redefining an Emacs function.
;;;***
-;;;### (autoloads nil "locate" "locate.el" (21710 32133 599297 47000))
+;;;### (autoloads nil "locate" "locate.el" (21670 32331 385639 720000))
;;; Generated autoloads from locate.el
(defvar locate-ls-subdir-switches (purecopy "-al") "\
@@ -17004,8 +17002,8 @@ except that FILTER is not optional.
;;;***
-;;;### (autoloads nil "log-edit" "vc/log-edit.el" (21710 32133 821298
-;;;;;; 201000))
+;;;### (autoloads nil "log-edit" "vc/log-edit.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from vc/log-edit.el
(autoload 'log-edit "log-edit" "\
@@ -17036,8 +17034,8 @@ done. Otherwise, it uses the current buffer.
;;;***
-;;;### (autoloads nil "log-view" "vc/log-view.el" (21710 32133 821298
-;;;;;; 201000))
+;;;### (autoloads nil "log-view" "vc/log-view.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from vc/log-view.el
(autoload 'log-view-mode "log-view" "\
@@ -17047,7 +17045,7 @@ Major mode for browsing CVS log output.
;;;***
-;;;### (autoloads nil "lpr" "lpr.el" (21710 32133 599297 47000))
+;;;### (autoloads nil "lpr" "lpr.el" (21670 32331 385639 720000))
;;; Generated autoloads from lpr.el
(defvar lpr-windows-system (memq system-type '(ms-dos windows-nt)) "\
@@ -17142,8 +17140,8 @@ for further customization of the printer command.
;;;***
-;;;### (autoloads nil "ls-lisp" "ls-lisp.el" (21710 32133 599297
-;;;;;; 47000))
+;;;### (autoloads nil "ls-lisp" "ls-lisp.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from ls-lisp.el
(defvar ls-lisp-support-shell-wildcards t "\
@@ -17154,8 +17152,8 @@ Otherwise they are treated as Emacs regexps (for
backward compatibility).")
;;;***
-;;;### (autoloads nil "lunar" "calendar/lunar.el" (21710 32133 405296
-;;;;;; 38000))
+;;;### (autoloads nil "lunar" "calendar/lunar.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from calendar/lunar.el
(autoload 'lunar-phases "lunar" "\
@@ -17167,8 +17165,8 @@ This function is suitable for execution in an init file.
;;;***
-;;;### (autoloads nil "m4-mode" "progmodes/m4-mode.el" (21710 32133
-;;;;;; 746297 811000))
+;;;### (autoloads nil "m4-mode" "progmodes/m4-mode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/m4-mode.el
(autoload 'm4-mode "m4-mode" "\
@@ -17178,7 +17176,7 @@ A major mode to edit m4 macro files.
;;;***
-;;;### (autoloads nil "macros" "macros.el" (21710 32133 599297 47000))
+;;;### (autoloads nil "macros" "macros.el" (21670 32331 385639 720000))
;;; Generated autoloads from macros.el
(autoload 'name-last-kbd-macro "macros" "\
@@ -17267,8 +17265,8 @@ and then select the region of un-tablified names and use
;;;***
-;;;### (autoloads nil "mail-extr" "mail/mail-extr.el" (21710 32133
-;;;;;; 602297 62000))
+;;;### (autoloads nil "mail-extr" "mail/mail-extr.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/mail-extr.el
(autoload 'mail-extract-address-components "mail-extr" "\
@@ -17298,8 +17296,8 @@ Convert mail domain DOMAIN to the country it
corresponds to.
;;;***
-;;;### (autoloads nil "mail-hist" "mail/mail-hist.el" (21710 32133
-;;;;;; 602297 62000))
+;;;### (autoloads nil "mail-hist" "mail/mail-hist.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/mail-hist.el
(autoload 'mail-hist-define-keys "mail-hist" "\
@@ -17328,8 +17326,8 @@ This function normally would be called when the message
is sent.
;;;***
-;;;### (autoloads nil "mail-utils" "mail/mail-utils.el" (21710 32133
-;;;;;; 602297 62000))
+;;;### (autoloads nil "mail-utils" "mail/mail-utils.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/mail-utils.el
(defvar mail-use-rfc822 nil "\
@@ -17403,8 +17401,8 @@ matches may be returned from the message body.
;;;***
-;;;### (autoloads nil "mailabbrev" "mail/mailabbrev.el" (21710 32133
-;;;;;; 602297 62000))
+;;;### (autoloads nil "mailabbrev" "mail/mailabbrev.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/mailabbrev.el
(defvar mail-abbrevs-mode nil "\
@@ -17453,8 +17451,8 @@ double-quotes.
;;;***
-;;;### (autoloads nil "mailalias" "mail/mailalias.el" (21710 32133
-;;;;;; 602297 62000))
+;;;### (autoloads nil "mailalias" "mail/mailalias.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/mailalias.el
(defvar mail-complete-style 'angles "\
@@ -17507,8 +17505,8 @@ current header, calls `mail-complete-function' and
passes prefix ARG if any.
;;;***
-;;;### (autoloads nil "mailclient" "mail/mailclient.el" (21710 32133
-;;;;;; 602297 62000))
+;;;### (autoloads nil "mailclient" "mail/mailclient.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/mailclient.el
(autoload 'mailclient-send-it "mailclient" "\
@@ -17520,8 +17518,8 @@ The mail client is taken to be the handler of mailto
URLs.
;;;***
-;;;### (autoloads nil "make-mode" "progmodes/make-mode.el" (21710
-;;;;;; 32133 747297 816000))
+;;;### (autoloads nil "make-mode" "progmodes/make-mode.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from progmodes/make-mode.el
(autoload 'makefile-mode "make-mode" "\
@@ -17638,8 +17636,8 @@ An adapted `makefile-mode' that knows about imake.
;;;***
-;;;### (autoloads nil "makesum" "makesum.el" (21710 32133 609297
-;;;;;; 99000))
+;;;### (autoloads nil "makesum" "makesum.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from makesum.el
(autoload 'make-command-summary "makesum" "\
@@ -17650,7 +17648,7 @@ Previous contents of that buffer are killed first.
;;;***
-;;;### (autoloads nil "man" "man.el" (21710 32133 609297 99000))
+;;;### (autoloads nil "man" "man.el" (21670 32331 385639 720000))
;;; Generated autoloads from man.el
(defalias 'manual-entry 'man)
@@ -17706,7 +17704,7 @@ Default bookmark handler for Man buffers.
;;;***
-;;;### (autoloads nil "master" "master.el" (21710 32133 609297 99000))
+;;;### (autoloads nil "master" "master.el" (21670 32331 385639 720000))
;;; Generated autoloads from master.el
(push (purecopy '(master 1 0 2)) package--builtin-versions)
@@ -17729,8 +17727,8 @@ yourself the value of `master-of' by calling
`master-show-slave'.
;;;***
-;;;### (autoloads nil "mb-depth" "mb-depth.el" (21710 32133 609297
-;;;;;; 99000))
+;;;### (autoloads nil "mb-depth" "mb-depth.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from mb-depth.el
(defvar minibuffer-depth-indicate-mode nil "\
@@ -17757,13 +17755,13 @@ recursion depth in the minibuffer prompt. This is
only useful if
;;;***
-;;;### (autoloads nil "md4" "md4.el" (21710 32133 609297 99000))
+;;;### (autoloads nil "md4" "md4.el" (21670 32331 385639 720000))
;;; Generated autoloads from md4.el
(push (purecopy '(md4 1 0)) package--builtin-versions)
;;;***
-;;;### (autoloads nil "message" "gnus/message.el" (21710 32133 537296
+;;;### (autoloads nil "message" "gnus/message.el" (21706 5826 304666
;;;;;; 725000))
;;; Generated autoloads from gnus/message.el
@@ -17929,8 +17927,8 @@ which specify the range to operate on.
;;;***
-;;;### (autoloads nil "meta-mode" "progmodes/meta-mode.el" (21710
-;;;;;; 32133 747297 816000))
+;;;### (autoloads nil "meta-mode" "progmodes/meta-mode.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from progmodes/meta-mode.el
(push (purecopy '(meta-mode 1 0)) package--builtin-versions)
@@ -17946,8 +17944,8 @@ Major mode for editing MetaPost sources.
;;;***
-;;;### (autoloads nil "metamail" "mail/metamail.el" (21710 32133
-;;;;;; 603297 68000))
+;;;### (autoloads nil "metamail" "mail/metamail.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/metamail.el
(autoload 'metamail-interpret-header "metamail" "\
@@ -17990,8 +17988,8 @@ redisplayed as output is inserted.
;;;***
-;;;### (autoloads nil "mh-comp" "mh-e/mh-comp.el" (21710 32133 615297
-;;;;;; 130000))
+;;;### (autoloads nil "mh-comp" "mh-e/mh-comp.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from mh-e/mh-comp.el
(autoload 'mh-smail "mh-comp" "\
@@ -18081,7 +18079,7 @@ delete the draft message.
;;;***
-;;;### (autoloads nil "mh-e" "mh-e/mh-e.el" (21710 32133 616297 135000))
+;;;### (autoloads nil "mh-e" "mh-e/mh-e.el" (21670 32331 385639 720000))
;;; Generated autoloads from mh-e/mh-e.el
(push (purecopy '(mh-e 8 6)) package--builtin-versions)
@@ -18098,8 +18096,8 @@ Display version information about MH-E and the MH mail
handling system.
;;;***
-;;;### (autoloads nil "mh-folder" "mh-e/mh-folder.el" (21710 32133
-;;;;;; 617297 141000))
+;;;### (autoloads nil "mh-folder" "mh-e/mh-folder.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mh-e/mh-folder.el
(autoload 'mh-rmail "mh-folder" "\
@@ -18180,8 +18178,8 @@ perform the operation on all messages in that region.
;;;***
-;;;### (autoloads nil "midnight" "midnight.el" (21710 32133 621297
-;;;;;; 161000))
+;;;### (autoloads nil "midnight" "midnight.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from midnight.el
(autoload 'clean-buffer-list "midnight" "\
@@ -18207,8 +18205,8 @@ to its second argument TM.
;;;***
-;;;### (autoloads nil "minibuf-eldef" "minibuf-eldef.el" (21710 32133
-;;;;;; 621297 161000))
+;;;### (autoloads nil "minibuf-eldef" "minibuf-eldef.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from minibuf-eldef.el
(defvar minibuffer-electric-default-mode nil "\
@@ -18237,7 +18235,7 @@ is modified to remove the default indication.
;;;***
-;;;### (autoloads nil "misc" "misc.el" (21710 32133 623297 172000))
+;;;### (autoloads nil "misc" "misc.el" (21670 32331 385639 720000))
;;; Generated autoloads from misc.el
(autoload 'butterfly "misc" "\
@@ -18265,8 +18263,8 @@ The return value is always nil.
;;;***
-;;;### (autoloads nil "misearch" "misearch.el" (21710 32133 623297
-;;;;;; 172000))
+;;;### (autoloads nil "misearch" "misearch.el" (21691 38459 74604
+;;;;;; 918000))
;;; Generated autoloads from misearch.el
(add-hook 'isearch-mode-hook 'multi-isearch-setup)
@@ -18351,8 +18349,8 @@ whose file names match the specified wildcard.
;;;***
-;;;### (autoloads nil "mixal-mode" "progmodes/mixal-mode.el" (21710
-;;;;;; 32133 747297 816000))
+;;;### (autoloads nil "mixal-mode" "progmodes/mixal-mode.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from progmodes/mixal-mode.el
(push (purecopy '(mixal-mode 0 1)) package--builtin-versions)
@@ -18363,8 +18361,8 @@ Major mode for the mixal asm language.
;;;***
-;;;### (autoloads nil "mm-encode" "gnus/mm-encode.el" (21710 32133
-;;;;;; 538296 730000))
+;;;### (autoloads nil "mm-encode" "gnus/mm-encode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from gnus/mm-encode.el
(autoload 'mm-default-file-encoding "mm-encode" "\
@@ -18374,8 +18372,8 @@ Return a default encoding for FILE.
;;;***
-;;;### (autoloads nil "mm-extern" "gnus/mm-extern.el" (21710 32133
-;;;;;; 538296 730000))
+;;;### (autoloads nil "mm-extern" "gnus/mm-extern.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from gnus/mm-extern.el
(autoload 'mm-extern-cache-contents "mm-extern" "\
@@ -18393,8 +18391,8 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing
after replacing.
;;;***
-;;;### (autoloads nil "mm-partial" "gnus/mm-partial.el" (21710 32133
-;;;;;; 538296 730000))
+;;;### (autoloads nil "mm-partial" "gnus/mm-partial.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from gnus/mm-partial.el
(autoload 'mm-inline-partial "mm-partial" "\
@@ -18407,8 +18405,8 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing
after replacing.
;;;***
-;;;### (autoloads nil "mm-url" "gnus/mm-url.el" (21710 32133 538296
-;;;;;; 730000))
+;;;### (autoloads nil "mm-url" "gnus/mm-url.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from gnus/mm-url.el
(autoload 'mm-url-insert-file-contents "mm-url" "\
@@ -18424,8 +18422,8 @@ Insert file contents of URL using `mm-url-program'.
;;;***
-;;;### (autoloads nil "mm-uu" "gnus/mm-uu.el" (21710 32133 539296
-;;;;;; 735000))
+;;;### (autoloads nil "mm-uu" "gnus/mm-uu.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from gnus/mm-uu.el
(autoload 'mm-uu-dissect "mm-uu" "\
@@ -18444,7 +18442,7 @@ Assume text has been decoded if DECODED is non-nil.
;;;***
-;;;### (autoloads nil "mml" "gnus/mml.el" (21710 32133 540296 740000))
+;;;### (autoloads nil "mml" "gnus/mml.el" (21670 32331 385639 720000))
;;; Generated autoloads from gnus/mml.el
(autoload 'mml-to-mime "mml" "\
@@ -18469,8 +18467,8 @@ body) or \"attachment\" (separate from the body).
;;;***
-;;;### (autoloads nil "mml1991" "gnus/mml1991.el" (21710 32133 540296
-;;;;;; 740000))
+;;;### (autoloads nil "mml1991" "gnus/mml1991.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from gnus/mml1991.el
(autoload 'mml1991-encrypt "mml1991" "\
@@ -18485,8 +18483,8 @@ body) or \"attachment\" (separate from the body).
;;;***
-;;;### (autoloads nil "mml2015" "gnus/mml2015.el" (21710 32133 541296
-;;;;;; 745000))
+;;;### (autoloads nil "mml2015" "gnus/mml2015.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from gnus/mml2015.el
(autoload 'mml2015-decrypt "mml2015" "\
@@ -18526,16 +18524,16 @@ body) or \"attachment\" (separate from the body).
;;;***
-;;;### (autoloads nil "mode-local" "cedet/mode-local.el" (21710 32133
-;;;;;; 415296 90000))
+;;;### (autoloads nil "mode-local" "cedet/mode-local.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from cedet/mode-local.el
(put 'define-overloadable-function 'doc-string-elt 3)
;;;***
-;;;### (autoloads nil "modula2" "progmodes/modula2.el" (21710 32133
-;;;;;; 748297 822000))
+;;;### (autoloads nil "modula2" "progmodes/modula2.el" (21607 54478
+;;;;;; 800121 42000))
;;; Generated autoloads from progmodes/modula2.el
(defalias 'modula-2-mode 'm2-mode)
@@ -18568,8 +18566,8 @@ followed by the first character of the construct.
;;;***
-;;;### (autoloads nil "morse" "play/morse.el" (21710 32133 708297
-;;;;;; 614000))
+;;;### (autoloads nil "morse" "play/morse.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from play/morse.el
(autoload 'morse-region "morse" "\
@@ -18594,8 +18592,8 @@ Convert NATO phonetic alphabet in region to ordinary
ASCII text.
;;;***
-;;;### (autoloads nil "mouse-drag" "mouse-drag.el" (21710 32133 623297
-;;;;;; 172000))
+;;;### (autoloads nil "mouse-drag" "mouse-drag.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from mouse-drag.el
(autoload 'mouse-drag-throw "mouse-drag" "\
@@ -18642,7 +18640,7 @@ To test this function, evaluate:
;;;***
-;;;### (autoloads nil "mpc" "mpc.el" (21710 32133 625297 182000))
+;;;### (autoloads nil "mpc" "mpc.el" (21670 32331 385639 720000))
;;; Generated autoloads from mpc.el
(autoload 'mpc "mpc" "\
@@ -18652,7 +18650,7 @@ Main entry point for MPC.
;;;***
-;;;### (autoloads nil "mpuz" "play/mpuz.el" (21710 32133 708297 614000))
+;;;### (autoloads nil "mpuz" "play/mpuz.el" (21670 32331 385639 720000))
;;; Generated autoloads from play/mpuz.el
(autoload 'mpuz "mpuz" "\
@@ -18662,7 +18660,7 @@ Multiplication puzzle with GNU Emacs.
;;;***
-;;;### (autoloads nil "msb" "msb.el" (21710 32133 625297 182000))
+;;;### (autoloads nil "msb" "msb.el" (21670 32331 385639 720000))
;;; Generated autoloads from msb.el
(defvar msb-mode nil "\
@@ -18687,8 +18685,8 @@ different buffer menu using the function `msb'.
;;;***
-;;;### (autoloads nil "mule-diag" "international/mule-diag.el" (21710
-;;;;;; 32133 569296 891000))
+;;;### (autoloads nil "mule-diag" "international/mule-diag.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from international/mule-diag.el
(autoload 'list-character-sets "mule-diag" "\
@@ -18820,8 +18818,8 @@ The default is 20. If LIMIT is negative, do not limit
the listing.
;;;***
-;;;### (autoloads nil "mule-util" "international/mule-util.el" (21710
-;;;;;; 32133 569296 891000))
+;;;### (autoloads nil "mule-util" "international/mule-util.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from international/mule-util.el
(defsubst string-to-list (string) "\
@@ -18952,8 +18950,8 @@ per-character basis, this may not be accurate.
;;;***
-;;;### (autoloads nil "net-utils" "net/net-utils.el" (21710 32133
-;;;;;; 632297 218000))
+;;;### (autoloads nil "net-utils" "net/net-utils.el" (21704 50495
+;;;;;; 455324 752000))
;;; Generated autoloads from net/net-utils.el
(autoload 'ifconfig "net-utils" "\
@@ -19047,8 +19045,8 @@ Open a network connection to HOST on PORT.
;;;***
-;;;### (autoloads nil "netrc" "net/netrc.el" (21710 32133 632297
-;;;;;; 218000))
+;;;### (autoloads nil "netrc" "net/netrc.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from net/netrc.el
(autoload 'netrc-credentials "netrc" "\
@@ -19060,8 +19058,8 @@ listed in the PORTS list.
;;;***
-;;;### (autoloads nil "network-stream" "net/network-stream.el" (21710
-;;;;;; 32133 632297 218000))
+;;;### (autoloads nil "network-stream" "net/network-stream.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from net/network-stream.el
(autoload 'open-network-stream "network-stream" "\
@@ -19157,8 +19155,8 @@ asynchronously, if possible.
;;;***
-;;;### (autoloads nil "newst-backend" "net/newst-backend.el" (21710
-;;;;;; 32133 633297 224000))
+;;;### (autoloads nil "newst-backend" "net/newst-backend.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from net/newst-backend.el
(autoload 'newsticker-running-p "newst-backend" "\
@@ -19180,7 +19178,7 @@ Run `newsticker-start-hook' if newsticker was not
running already.
;;;***
;;;### (autoloads nil "newst-plainview" "net/newst-plainview.el"
-;;;;;; (21710 32133 634297 229000))
+;;;;;; (21670 32331 385639 720000))
;;; Generated autoloads from net/newst-plainview.el
(autoload 'newsticker-plainview "newst-plainview" "\
@@ -19190,8 +19188,8 @@ Start newsticker plainview.
;;;***
-;;;### (autoloads nil "newst-reader" "net/newst-reader.el" (21710
-;;;;;; 32133 634297 229000))
+;;;### (autoloads nil "newst-reader" "net/newst-reader.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from net/newst-reader.el
(autoload 'newsticker-show-news "newst-reader" "\
@@ -19201,8 +19199,8 @@ Start reading news. You may want to bind this to a key.
;;;***
-;;;### (autoloads nil "newst-ticker" "net/newst-ticker.el" (21710
-;;;;;; 32133 634297 229000))
+;;;### (autoloads nil "newst-ticker" "net/newst-ticker.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from net/newst-ticker.el
(autoload 'newsticker-ticker-running-p "newst-ticker" "\
@@ -19222,8 +19220,8 @@ running already.
;;;***
-;;;### (autoloads nil "newst-treeview" "net/newst-treeview.el" (21710
-;;;;;; 32133 634297 229000))
+;;;### (autoloads nil "newst-treeview" "net/newst-treeview.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from net/newst-treeview.el
(autoload 'newsticker-treeview "newst-treeview" "\
@@ -19233,8 +19231,8 @@ Start newsticker treeview.
;;;***
-;;;### (autoloads nil "nndiary" "gnus/nndiary.el" (21710 32133 541296
-;;;;;; 745000))
+;;;### (autoloads nil "nndiary" "gnus/nndiary.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from gnus/nndiary.el
(autoload 'nndiary-generate-nov-databases "nndiary" "\
@@ -19244,8 +19242,8 @@ Generate NOV databases in all nndiary directories.
;;;***
-;;;### (autoloads nil "nndoc" "gnus/nndoc.el" (21710 32133 542296
-;;;;;; 750000))
+;;;### (autoloads nil "nndoc" "gnus/nndoc.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from gnus/nndoc.el
(autoload 'nndoc-add-type "nndoc" "\
@@ -19259,8 +19257,8 @@ symbol in the alist.
;;;***
-;;;### (autoloads nil "nnfolder" "gnus/nnfolder.el" (21710 32133
-;;;;;; 542296 750000))
+;;;### (autoloads nil "nnfolder" "gnus/nnfolder.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from gnus/nnfolder.el
(autoload 'nnfolder-generate-active-file "nnfolder" "\
@@ -19271,7 +19269,7 @@ This command does not work if you use short group names.
;;;***
-;;;### (autoloads nil "nnml" "gnus/nnml.el" (21710 32133 546296 771000))
+;;;### (autoloads nil "nnml" "gnus/nnml.el" (21670 32331 385639 720000))
;;; Generated autoloads from gnus/nnml.el
(autoload 'nnml-generate-nov-databases "nnml" "\
@@ -19281,7 +19279,7 @@ Generate NOV databases in all nnml directories.
;;;***
-;;;### (autoloads nil "novice" "novice.el" (21710 32133 645297 286000))
+;;;### (autoloads nil "novice" "novice.el" (21670 32331 385639 720000))
;;; Generated autoloads from novice.el
(define-obsolete-variable-alias 'disabled-command-hook
'disabled-command-function "22.1")
@@ -19313,8 +19311,8 @@ future sessions.
;;;***
-;;;### (autoloads nil "nroff-mode" "textmodes/nroff-mode.el" (21710
-;;;;;; 32133 793298 56000))
+;;;### (autoloads nil "nroff-mode" "textmodes/nroff-mode.el" (21670
+;;;;;; 32331 885635 586000))
;;; Generated autoloads from textmodes/nroff-mode.el
(autoload 'nroff-mode "nroff-mode" "\
@@ -19328,14 +19326,14 @@ closing requests for requests that are used in
matched pairs.
;;;***
-;;;### (autoloads nil "ntlm" "net/ntlm.el" (21710 32133 635297 234000))
+;;;### (autoloads nil "ntlm" "net/ntlm.el" (21670 32331 385639 720000))
;;; Generated autoloads from net/ntlm.el
(push (purecopy '(ntlm 1 0)) package--builtin-versions)
;;;***
-;;;### (autoloads nil "nxml-glyph" "nxml/nxml-glyph.el" (21710 32133
-;;;;;; 645297 286000))
+;;;### (autoloads nil "nxml-glyph" "nxml/nxml-glyph.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from nxml/nxml-glyph.el
(autoload 'nxml-glyph-display-string "nxml-glyph" "\
@@ -19347,8 +19345,8 @@ Return nil if the face cannot display a glyph for N.
;;;***
-;;;### (autoloads nil "nxml-mode" "nxml/nxml-mode.el" (21710 32133
-;;;;;; 646297 291000))
+;;;### (autoloads nil "nxml-mode" "nxml/nxml-mode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from nxml/nxml-mode.el
(autoload 'nxml-mode "nxml-mode" "\
@@ -19408,8 +19406,8 @@ Many aspects this mode can be customized using
;;;***
-;;;### (autoloads nil "nxml-uchnm" "nxml/nxml-uchnm.el" (21710 32133
-;;;;;; 647297 296000))
+;;;### (autoloads nil "nxml-uchnm" "nxml/nxml-uchnm.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from nxml/nxml-uchnm.el
(autoload 'nxml-enable-unicode-char-name-sets "nxml-uchnm" "\
@@ -19421,8 +19419,8 @@ the variable `nxml-enabled-unicode-blocks'.
;;;***
-;;;### (autoloads nil "octave" "progmodes/octave.el" (21710 32133
-;;;;;; 748297 822000))
+;;;### (autoloads nil "octave" "progmodes/octave.el" (21695 35516
+;;;;;; 595262 313000))
;;; Generated autoloads from progmodes/octave.el
(autoload 'octave-mode "octave" "\
@@ -19459,8 +19457,8 @@ startup file, `~/.emacs-octave'.
;;;***
-;;;### (autoloads nil "opascal" "progmodes/opascal.el" (21710 32133
-;;;;;; 749297 827000))
+;;;### (autoloads nil "opascal" "progmodes/opascal.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/opascal.el
(define-obsolete-function-alias 'delphi-mode 'opascal-mode "24.4")
@@ -19495,7 +19493,7 @@ Coloring:
;;;***
-;;;### (autoloads nil "org" "org/org.el" (21710 32133 694297 541000))
+;;;### (autoloads nil "org" "org/org.el" (21670 32331 385639 720000))
;;; Generated autoloads from org/org.el
(autoload 'org-babel-do-load-languages "org" "\
@@ -19716,8 +19714,8 @@ Call the customize function with org as argument.
;;;***
-;;;### (autoloads nil "org-agenda" "org/org-agenda.el" (21710 32133
-;;;;;; 676297 447000))
+;;;### (autoloads nil "org-agenda" "org/org-agenda.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from org/org-agenda.el
(autoload 'org-toggle-sticky-agenda "org-agenda" "\
@@ -19990,8 +19988,8 @@ to override `appt-message-warning-time'.
;;;***
-;;;### (autoloads nil "org-capture" "org/org-capture.el" (21710 32133
-;;;;;; 678297 458000))
+;;;### (autoloads nil "org-capture" "org/org-capture.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from org/org-capture.el
(autoload 'org-capture-string "org-capture" "\
@@ -20033,8 +20031,8 @@ Set `org-capture-templates' to be similar to
`org-remember-templates'.
;;;***
-;;;### (autoloads nil "org-colview" "org/org-colview.el" (21710 32133
-;;;;;; 679297 463000))
+;;;### (autoloads nil "org-colview" "org/org-colview.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from org/org-colview.el
(autoload 'org-columns-remove-overlays "org-colview" "\
@@ -20097,8 +20095,8 @@ Turn on or update column view in the agenda.
;;;***
-;;;### (autoloads nil "org-compat" "org/org-compat.el" (21710 32133
-;;;;;; 679297 463000))
+;;;### (autoloads nil "org-compat" "org/org-compat.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from org/org-compat.el
(autoload 'org-check-version "org-compat" "\
@@ -20108,8 +20106,8 @@ Try very hard to provide sensible version strings.
;;;***
-;;;### (autoloads nil "org-macs" "org/org-macs.el" (21710 32133 684297
-;;;;;; 489000))
+;;;### (autoloads nil "org-macs" "org/org-macs.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from org/org-macs.el
(autoload 'org-load-noerror-mustsuffix "org-macs" "\
@@ -20119,8 +20117,8 @@ Load FILE with optional arguments NOERROR and
MUSTSUFFIX. Drop the MUSTSUFFIX a
;;;***
-;;;### (autoloads nil "org-version" "org/org-version.el" (21710 32133
-;;;;;; 687297 504000))
+;;;### (autoloads nil "org-version" "org/org-version.el" (21607 54478
+;;;;;; 800121 42000))
;;; Generated autoloads from org/org-version.el
(autoload 'org-release "org-version" "\
@@ -20137,8 +20135,8 @@ The Git version of org-mode.
;;;***
-;;;### (autoloads nil "outline" "outline.el" (21710 32133 702297
-;;;;;; 582000))
+;;;### (autoloads nil "outline" "outline.el" (21708 47547 478182
+;;;;;; 210000))
;;; Generated autoloads from outline.el
(put 'outline-regexp 'safe-local-variable 'stringp)
(put 'outline-heading-end-regexp 'safe-local-variable 'stringp)
@@ -20181,8 +20179,8 @@ See the command `outline-mode' for more information on
this mode.
;;;***
-;;;### (autoloads nil "package" "emacs-lisp/package.el" (21710 32133
-;;;;;; 464296 345000))
+;;;### (autoloads nil "package" "emacs-lisp/package.el" (21695 35516
+;;;;;; 595262 313000))
;;; Generated autoloads from emacs-lisp/package.el
(push (purecopy '(package 1 0 1)) package--builtin-versions)
@@ -20260,7 +20258,7 @@ The list is displayed in a buffer named `*Packages*'.
;;;***
-;;;### (autoloads nil "paren" "paren.el" (21710 32133 702297 582000))
+;;;### (autoloads nil "paren" "paren.el" (21670 32331 385639 720000))
;;; Generated autoloads from paren.el
(defvar show-paren-mode nil "\
@@ -20286,8 +20284,8 @@ matching parenthesis is highlighted in
`show-paren-style' after
;;;***
-;;;### (autoloads nil "parse-time" "calendar/parse-time.el" (21710
-;;;;;; 32133 405296 38000))
+;;;### (autoloads nil "parse-time" "calendar/parse-time.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from calendar/parse-time.el
(put 'parse-time-rules 'risky-local-variable t)
@@ -20300,8 +20298,8 @@ unknown are returned as nil.
;;;***
-;;;### (autoloads nil "pascal" "progmodes/pascal.el" (21710 32133
-;;;;;; 749297 827000))
+;;;### (autoloads nil "pascal" "progmodes/pascal.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/pascal.el
(autoload 'pascal-mode "pascal" "\
@@ -20350,8 +20348,8 @@ See also the user variables `pascal-type-keywords',
`pascal-start-keywords' and
;;;***
-;;;### (autoloads nil "password-cache" "password-cache.el" (21710
-;;;;;; 32133 702297 582000))
+;;;### (autoloads nil "password-cache" "password-cache.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from password-cache.el
(defvar password-cache t "\
@@ -20372,8 +20370,8 @@ Check if KEY is in the cache.
;;;***
-;;;### (autoloads nil "pcase" "emacs-lisp/pcase.el" (21710 32133
-;;;;;; 465296 350000))
+;;;### (autoloads nil "pcase" "emacs-lisp/pcase.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/pcase.el
(autoload 'pcase "pcase" "\
@@ -20455,8 +20453,8 @@ Define a pcase UPattern macro.
;;;***
-;;;### (autoloads nil "pcmpl-cvs" "pcmpl-cvs.el" (21710 32133 702297
-;;;;;; 582000))
+;;;### (autoloads nil "pcmpl-cvs" "pcmpl-cvs.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from pcmpl-cvs.el
(autoload 'pcomplete/cvs "pcmpl-cvs" "\
@@ -20466,8 +20464,8 @@ Completion rules for the `cvs' command.
;;;***
-;;;### (autoloads nil "pcmpl-gnu" "pcmpl-gnu.el" (21710 32133 702297
-;;;;;; 582000))
+;;;### (autoloads nil "pcmpl-gnu" "pcmpl-gnu.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from pcmpl-gnu.el
(autoload 'pcomplete/gzip "pcmpl-gnu" "\
@@ -20494,8 +20492,8 @@ Completion for the GNU tar utility.
;;;***
-;;;### (autoloads nil "pcmpl-linux" "pcmpl-linux.el" (21710 32133
-;;;;;; 702297 582000))
+;;;### (autoloads nil "pcmpl-linux" "pcmpl-linux.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from pcmpl-linux.el
(autoload 'pcomplete/kill "pcmpl-linux" "\
@@ -20515,8 +20513,8 @@ Completion for GNU/Linux `mount'.
;;;***
-;;;### (autoloads nil "pcmpl-rpm" "pcmpl-rpm.el" (21710 32133 702297
-;;;;;; 582000))
+;;;### (autoloads nil "pcmpl-rpm" "pcmpl-rpm.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from pcmpl-rpm.el
(autoload 'pcomplete/rpm "pcmpl-rpm" "\
@@ -20526,8 +20524,8 @@ Completion for the `rpm' command.
;;;***
-;;;### (autoloads nil "pcmpl-unix" "pcmpl-unix.el" (21710 32133 703297
-;;;;;; 588000))
+;;;### (autoloads nil "pcmpl-unix" "pcmpl-unix.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from pcmpl-unix.el
(autoload 'pcomplete/cd "pcmpl-unix" "\
@@ -20582,8 +20580,8 @@ Includes files as well as host names followed by a
colon.
;;;***
-;;;### (autoloads nil "pcmpl-x" "pcmpl-x.el" (21710 32133 703297
-;;;;;; 588000))
+;;;### (autoloads nil "pcmpl-x" "pcmpl-x.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from pcmpl-x.el
(autoload 'pcomplete/tlmgr "pcmpl-x" "\
@@ -20607,8 +20605,8 @@ Completion for the `ag' command.
;;;***
-;;;### (autoloads nil "pcomplete" "pcomplete.el" (21710 32133 703297
-;;;;;; 588000))
+;;;### (autoloads nil "pcomplete" "pcomplete.el" (21688 62278 418203
+;;;;;; 119000))
;;; Generated autoloads from pcomplete.el
(autoload 'pcomplete "pcomplete" "\
@@ -20665,7 +20663,7 @@ Setup `shell-mode' to use pcomplete.
;;;***
-;;;### (autoloads nil "pcvs" "vc/pcvs.el" (21710 32133 822298 206000))
+;;;### (autoloads nil "pcvs" "vc/pcvs.el" (21670 32331 885635 586000))
;;; Generated autoloads from vc/pcvs.el
(autoload 'cvs-checkout "pcvs" "\
@@ -20740,8 +20738,8 @@ The exact behavior is determined also by
`cvs-dired-use-hook'." (when (stringp d
;;;***
-;;;### (autoloads nil "pcvs-defs" "vc/pcvs-defs.el" (21710 32133
-;;;;;; 821298 201000))
+;;;### (autoloads nil "pcvs-defs" "vc/pcvs-defs.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from vc/pcvs-defs.el
(defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key
m [status] `(menu-item ,(purecopy "Directory Status") cvs-status :help
,(purecopy "A more verbose status of a workarea"))) (define-key m [checkout]
`(menu-item ,(purecopy "Checkout Module") cvs-checkout :help ,(purecopy "Check
out a module from the repository"))) (define-key m [update] `(menu-item
,(purecopy "Update Directory") cvs-update :help ,(purecopy "Fetch updates from
the repository"))) (define-key m [ex [...]
@@ -20749,8 +20747,8 @@ Global menu used by PCL-CVS.")
;;;***
-;;;### (autoloads nil "perl-mode" "progmodes/perl-mode.el" (21710
-;;;;;; 32133 749297 827000))
+;;;### (autoloads nil "perl-mode" "progmodes/perl-mode.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from progmodes/perl-mode.el
(put 'perl-indent-level 'safe-local-variable 'integerp)
(put 'perl-continued-statement-offset 'safe-local-variable 'integerp)
@@ -20811,8 +20809,8 @@ Turning on Perl mode runs the normal hook
`perl-mode-hook'.
;;;***
-;;;### (autoloads nil "picture" "textmodes/picture.el" (21710 32133
-;;;;;; 794298 61000))
+;;;### (autoloads nil "picture" "textmodes/picture.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from textmodes/picture.el
(autoload 'picture-mode "picture" "\
@@ -20892,8 +20890,8 @@ they are not by default assigned to keys.
;;;***
-;;;### (autoloads nil "plstore" "gnus/plstore.el" (21710 32133 548296
-;;;;;; 782000))
+;;;### (autoloads nil "plstore" "gnus/plstore.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from gnus/plstore.el
(autoload 'plstore-open "plstore" "\
@@ -20908,8 +20906,8 @@ Major mode for editing PLSTORE files.
;;;***
-;;;### (autoloads nil "po" "textmodes/po.el" (21710 32133 794298
-;;;;;; 61000))
+;;;### (autoloads nil "po" "textmodes/po.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from textmodes/po.el
(autoload 'po-find-file-coding-system "po" "\
@@ -20920,7 +20918,7 @@ Called through `file-coding-system-alist', before the
file is visited for real.
;;;***
-;;;### (autoloads nil "pong" "play/pong.el" (21710 32133 708297 614000))
+;;;### (autoloads nil "pong" "play/pong.el" (21670 32331 385639 720000))
;;; Generated autoloads from play/pong.el
(autoload 'pong "pong" "\
@@ -20936,7 +20934,7 @@ pong-mode keybindings:\\<pong-mode-map>
;;;***
-;;;### (autoloads nil "pop3" "gnus/pop3.el" (21710 32133 549296 787000))
+;;;### (autoloads nil "pop3" "gnus/pop3.el" (21670 32331 385639 720000))
;;; Generated autoloads from gnus/pop3.el
(autoload 'pop3-movemail "pop3" "\
@@ -20947,8 +20945,8 @@ Use streaming commands.
;;;***
-;;;### (autoloads nil "pp" "emacs-lisp/pp.el" (21710 32133 465296
-;;;;;; 350000))
+;;;### (autoloads nil "pp" "emacs-lisp/pp.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emacs-lisp/pp.el
(autoload 'pp-to-string "pp" "\
@@ -20998,8 +20996,8 @@ Ignores leading comment characters.
;;;***
-;;;### (autoloads nil "printing" "printing.el" (21710 32133 711297
-;;;;;; 629000))
+;;;### (autoloads nil "printing" "printing.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from printing.el
(push (purecopy '(printing 6 9 3)) package--builtin-versions)
@@ -21587,7 +21585,7 @@ are both set to t.
;;;***
-;;;### (autoloads nil "proced" "proced.el" (21710 32133 711297 629000))
+;;;### (autoloads nil "proced" "proced.el" (21670 32331 385639 720000))
;;; Generated autoloads from proced.el
(autoload 'proced "proced" "\
@@ -21605,8 +21603,8 @@ Proced buffers.
;;;***
-;;;### (autoloads nil "profiler" "profiler.el" (21710 32133 712297
-;;;;;; 634000))
+;;;### (autoloads nil "profiler" "profiler.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from profiler.el
(autoload 'profiler-start "profiler" "\
@@ -21634,8 +21632,8 @@ Open profile FILENAME.
;;;***
-;;;### (autoloads nil "prolog" "progmodes/prolog.el" (21710 32133
-;;;;;; 751297 837000))
+;;;### (autoloads nil "prolog" "progmodes/prolog.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/prolog.el
(autoload 'prolog-mode "prolog" "\
@@ -21668,7 +21666,7 @@ With prefix argument ARG, restart the Prolog process if
running before.
;;;***
-;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (21710 32133 766297 915000))
+;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (21670 32331 885635 586000))
;;; Generated autoloads from ps-bdf.el
(defvar bdf-directory-list (if (memq system-type '(ms-dos windows-nt)) (list
(expand-file-name "fonts/bdf" installation-directory))
'("/usr/local/share/emacs/fonts/bdf")) "\
@@ -21679,8 +21677,8 @@ The default value is
'(\"/usr/local/share/emacs/fonts/bdf\").")
;;;***
-;;;### (autoloads nil "ps-mode" "progmodes/ps-mode.el" (21710 32133
-;;;;;; 751297 837000))
+;;;### (autoloads nil "ps-mode" "progmodes/ps-mode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/ps-mode.el
(push (purecopy '(ps-mode 1 1 9)) package--builtin-versions)
@@ -21726,8 +21724,8 @@ Typing \\<ps-run-mode-map>\\[ps-run-goto-error] when
the cursor is at the number
;;;***
-;;;### (autoloads nil "ps-print" "ps-print.el" (21710 32133 768297
-;;;;;; 925000))
+;;;### (autoloads nil "ps-print" "ps-print.el" (21670 32624 385626
+;;;;;; 484000))
;;; Generated autoloads from ps-print.el
(push (purecopy '(ps-print 7 3 5)) package--builtin-versions)
@@ -21924,15 +21922,15 @@ If EXTENSION is any other symbol, it is ignored.
;;;***
-;;;### (autoloads nil "pulse" "cedet/pulse.el" (21710 32133 415296
-;;;;;; 90000))
+;;;### (autoloads nil "pulse" "cedet/pulse.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from cedet/pulse.el
(push (purecopy '(pulse 1 0)) package--builtin-versions)
;;;***
-;;;### (autoloads nil "python" "progmodes/python.el" (21710 32133
-;;;;;; 752297 842000))
+;;;### (autoloads nil "python" "progmodes/python.el" (21704 50495
+;;;;;; 455324 752000))
;;; Generated autoloads from progmodes/python.el
(push (purecopy '(python 0 24 4)) package--builtin-versions)
@@ -21969,7 +21967,7 @@ Major mode for editing Python files.
;;;***
-;;;### (autoloads nil "qp" "gnus/qp.el" (21710 32133 549296 787000))
+;;;### (autoloads nil "qp" "gnus/qp.el" (21670 32331 385639 720000))
;;; Generated autoloads from gnus/qp.el
(autoload 'quoted-printable-decode-region "qp" "\
@@ -21988,8 +21986,8 @@ them into characters should be done separately.
;;;***
-;;;### (autoloads nil "quail" "international/quail.el" (21710 32133
-;;;;;; 571296 901000))
+;;;### (autoloads nil "quail" "international/quail.el" (21673 8506
+;;;;;; 69195 402000))
;;; Generated autoloads from international/quail.el
(autoload 'quail-title "quail" "\
@@ -22219,8 +22217,8 @@ of each directory.
;;;***
-;;;### (autoloads nil "quail/hangul" "leim/quail/hangul.el" (21710
-;;;;;; 32133 593297 16000))
+;;;### (autoloads nil "quail/hangul" "leim/quail/hangul.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from leim/quail/hangul.el
(autoload 'hangul-input-method-activate "quail/hangul" "\
@@ -22233,7 +22231,7 @@ HELP-TEXT is a text set in
`hangul-input-method-help-text'.
;;;***
;;;### (autoloads nil "quail/uni-input" "leim/quail/uni-input.el"
-;;;;;; (21710 32133 597297 37000))
+;;;;;; (21670 32331 385639 720000))
;;; Generated autoloads from leim/quail/uni-input.el
(autoload 'ucs-input-activate "quail/uni-input" "\
@@ -22247,8 +22245,8 @@ While this input method is active, the variable
;;;***
-;;;### (autoloads nil "quickurl" "net/quickurl.el" (21710 32133 635297
-;;;;;; 234000))
+;;;### (autoloads nil "quickurl" "net/quickurl.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from net/quickurl.el
(defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn
(require 'quickurl) (add-hook 'local-write-file-hooks (lambda ()
(quickurl-read) nil)))\n;; End:\n" "\
@@ -22319,8 +22317,8 @@ Display `quickurl-list' as a formatted list using
`quickurl-list-mode'.
;;;***
-;;;### (autoloads nil "rcirc" "net/rcirc.el" (21710 32133 636297
-;;;;;; 239000))
+;;;### (autoloads nil "rcirc" "net/rcirc.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from net/rcirc.el
(autoload 'rcirc "rcirc" "\
@@ -22358,8 +22356,8 @@ if ARG is omitted or nil.
;;;***
-;;;### (autoloads nil "re-builder" "emacs-lisp/re-builder.el" (21710
-;;;;;; 32133 465296 350000))
+;;;### (autoloads nil "re-builder" "emacs-lisp/re-builder.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from emacs-lisp/re-builder.el
(defalias 'regexp-builder 're-builder)
@@ -22377,8 +22375,8 @@ matching parts of the target buffer will be highlighted.
;;;***
-;;;### (autoloads nil "recentf" "recentf.el" (21710 32133 769297
-;;;;;; 931000))
+;;;### (autoloads nil "recentf" "recentf.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from recentf.el
(defvar recentf-mode nil "\
@@ -22404,7 +22402,7 @@ were operated on recently.
;;;***
-;;;### (autoloads nil "rect" "rect.el" (21710 32133 769297 931000))
+;;;### (autoloads nil "rect" "rect.el" (21670 32331 885635 586000))
;;; Generated autoloads from rect.el
(autoload 'delete-rectangle "rect" "\
@@ -22544,8 +22542,8 @@ Activates the region if needed. Only lasts until the
region is deactivated.
;;;***
-;;;### (autoloads nil "refill" "textmodes/refill.el" (21710 32133
-;;;;;; 795298 66000))
+;;;### (autoloads nil "refill" "textmodes/refill.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from textmodes/refill.el
(autoload 'refill-mode "refill" "\
@@ -22565,8 +22563,8 @@ For true \"word wrap\" behavior, use `visual-line-mode'
instead.
;;;***
-;;;### (autoloads nil "reftex" "textmodes/reftex.el" (21710 32133
-;;;;;; 799298 87000))
+;;;### (autoloads nil "reftex" "textmodes/reftex.el" (21704 50495
+;;;;;; 455324 752000))
;;; Generated autoloads from textmodes/reftex.el
(autoload 'reftex-citation "reftex-cite" nil t)
(autoload 'reftex-all-document-files "reftex-parse")
@@ -22619,8 +22617,8 @@ This enforces rescanning the buffer on next use.
;;;***
-;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (21710
-;;;;;; 32133 798298 81000))
+;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (21670
+;;;;;; 32331 885635 586000))
;;; Generated autoloads from textmodes/reftex-vars.el
(put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x)
(symbolp x))))
(put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x)
(symbolp x))))
@@ -22629,8 +22627,8 @@ This enforces rescanning the buffer on next use.
;;;***
-;;;### (autoloads nil "regexp-opt" "emacs-lisp/regexp-opt.el" (21710
-;;;;;; 32133 465296 350000))
+;;;### (autoloads nil "regexp-opt" "emacs-lisp/regexp-opt.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from emacs-lisp/regexp-opt.el
(autoload 'regexp-opt "regexp-opt" "\
@@ -22659,15 +22657,15 @@ This means the number of non-shy regexp grouping
constructs
;;;***
-;;;### (autoloads nil "regi" "emacs-lisp/regi.el" (21710 32133 465296
-;;;;;; 350000))
+;;;### (autoloads nil "regi" "emacs-lisp/regi.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emacs-lisp/regi.el
(push (purecopy '(regi 1 8)) package--builtin-versions)
;;;***
-;;;### (autoloads nil "remember" "textmodes/remember.el" (21710 32133
-;;;;;; 799298 87000))
+;;;### (autoloads nil "remember" "textmodes/remember.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from textmodes/remember.el
(push (purecopy '(remember 2 0)) package--builtin-versions)
@@ -22721,7 +22719,7 @@ to turn the *scratch* buffer into your notes buffer.
;;;***
-;;;### (autoloads nil "repeat" "repeat.el" (21710 32133 769297 931000))
+;;;### (autoloads nil "repeat" "repeat.el" (21670 32331 885635 586000))
;;; Generated autoloads from repeat.el
(push (purecopy '(repeat 0 51)) package--builtin-versions)
@@ -22744,8 +22742,8 @@ recently executed command not bound to an input event\".
;;;***
-;;;### (autoloads nil "reporter" "mail/reporter.el" (21710 32133
-;;;;;; 603297 68000))
+;;;### (autoloads nil "reporter" "mail/reporter.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/reporter.el
(autoload 'reporter-submit-bug-report "reporter" "\
@@ -22776,8 +22774,8 @@ mail-sending package is used for editing and sending
the message.
;;;***
-;;;### (autoloads nil "reposition" "reposition.el" (21710 32133 770297
-;;;;;; 936000))
+;;;### (autoloads nil "reposition" "reposition.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from reposition.el
(autoload 'reposition-window "reposition" "\
@@ -22803,7 +22801,7 @@ first comment line visible (if point is in a comment).
;;;***
-;;;### (autoloads nil "reveal" "reveal.el" (21710 32133 770297 936000))
+;;;### (autoloads nil "reveal" "reveal.el" (21670 32331 885635 586000))
;;; Generated autoloads from reveal.el
(autoload 'reveal-mode "reveal" "\
@@ -22838,8 +22836,8 @@ the mode if ARG is omitted or nil.
;;;***
-;;;### (autoloads nil "ring" "emacs-lisp/ring.el" (21710 32133 465296
-;;;;;; 350000))
+;;;### (autoloads nil "ring" "emacs-lisp/ring.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emacs-lisp/ring.el
(autoload 'ring-p "ring" "\
@@ -22854,8 +22852,8 @@ Make a ring that can contain SIZE elements.
;;;***
-;;;### (autoloads nil "rlogin" "net/rlogin.el" (21710 32133 636297
-;;;;;; 239000))
+;;;### (autoloads nil "rlogin" "net/rlogin.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from net/rlogin.el
(autoload 'rlogin "rlogin" "\
@@ -22899,8 +22897,8 @@ variable.
;;;***
-;;;### (autoloads nil "rmail" "mail/rmail.el" (21710 32133 605297
-;;;;;; 78000))
+;;;### (autoloads nil "rmail" "mail/rmail.el" (21670 32623 885622
+;;;;;; 218000))
;;; Generated autoloads from mail/rmail.el
(defvar rmail-file-name (purecopy "~/RMAIL") "\
@@ -23097,8 +23095,8 @@ Set PASSWORD to be used for retrieving mail from a POP
or IMAP server.
;;;***
-;;;### (autoloads nil "rmailout" "mail/rmailout.el" (21710 32133
-;;;;;; 606297 83000))
+;;;### (autoloads nil "rmailout" "mail/rmailout.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/rmailout.el
(put 'rmail-output-file-alist 'risky-local-variable t)
@@ -23162,8 +23160,8 @@ than appending to it. Deletes the message after
writing if
;;;***
-;;;### (autoloads nil "rng-cmpct" "nxml/rng-cmpct.el" (21710 32133
-;;;;;; 647297 296000))
+;;;### (autoloads nil "rng-cmpct" "nxml/rng-cmpct.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from nxml/rng-cmpct.el
(autoload 'rng-c-load-schema "rng-cmpct" "\
@@ -23174,8 +23172,8 @@ Return a pattern.
;;;***
-;;;### (autoloads nil "rng-nxml" "nxml/rng-nxml.el" (21710 32133
-;;;;;; 648297 302000))
+;;;### (autoloads nil "rng-nxml" "nxml/rng-nxml.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from nxml/rng-nxml.el
(autoload 'rng-nxml-mode-init "rng-nxml" "\
@@ -23187,8 +23185,8 @@ Validation will be enabled if
`rng-nxml-auto-validate-flag' is non-nil.
;;;***
-;;;### (autoloads nil "rng-valid" "nxml/rng-valid.el" (21710 32133
-;;;;;; 649297 307000))
+;;;### (autoloads nil "rng-valid" "nxml/rng-valid.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from nxml/rng-valid.el
(autoload 'rng-validate-mode "rng-valid" "\
@@ -23218,8 +23216,8 @@ to use for finding the schema.
;;;***
-;;;### (autoloads nil "rng-xsd" "nxml/rng-xsd.el" (21710 32133 649297
-;;;;;; 307000))
+;;;### (autoloads nil "rng-xsd" "nxml/rng-xsd.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from nxml/rng-xsd.el
(put 'http://www\.w3\.org/2001/XMLSchema-datatypes 'rng-dt-compile
'rng-xsd-compile)
@@ -23246,8 +23244,8 @@ must be equal.
;;;***
-;;;### (autoloads nil "robin" "international/robin.el" (21710 32133
-;;;;;; 571296 901000))
+;;;### (autoloads nil "robin" "international/robin.el" (21607 54478
+;;;;;; 300138 641000))
;;; Generated autoloads from international/robin.el
(autoload 'robin-define-package "robin" "\
@@ -23279,7 +23277,7 @@ Start using robin package NAME, which is a string.
;;;***
-;;;### (autoloads nil "rot13" "rot13.el" (21710 32133 770297 936000))
+;;;### (autoloads nil "rot13" "rot13.el" (21670 32331 885635 586000))
;;; Generated autoloads from rot13.el
(autoload 'rot13 "rot13" "\
@@ -23316,8 +23314,8 @@ Toggle the use of ROT13 encoding for the current window.
;;;***
-;;;### (autoloads nil "rst" "textmodes/rst.el" (21710 32133 800298
-;;;;;; 92000))
+;;;### (autoloads nil "rst" "textmodes/rst.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from textmodes/rst.el
(add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode)))
@@ -23347,8 +23345,8 @@ for modes derived from Text mode, like Mail mode.
;;;***
-;;;### (autoloads nil "ruby-mode" "progmodes/ruby-mode.el" (21710
-;;;;;; 32133 753297 848000))
+;;;### (autoloads nil "ruby-mode" "progmodes/ruby-mode.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from progmodes/ruby-mode.el
(push (purecopy '(ruby-mode 1 2)) package--builtin-versions)
@@ -23365,8 +23363,8 @@ Major mode for editing Ruby code.
;;;***
-;;;### (autoloads nil "ruler-mode" "ruler-mode.el" (21710 32133 771297
-;;;;;; 941000))
+;;;### (autoloads nil "ruler-mode" "ruler-mode.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from ruler-mode.el
(push (purecopy '(ruler-mode 1 6)) package--builtin-versions)
@@ -23384,8 +23382,8 @@ if ARG is omitted or nil.
;;;***
-;;;### (autoloads nil "rx" "emacs-lisp/rx.el" (21710 32133 466296
-;;;;;; 355000))
+;;;### (autoloads nil "rx" "emacs-lisp/rx.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emacs-lisp/rx.el
(autoload 'rx-to-string "rx" "\
@@ -23696,15 +23694,15 @@ enclosed in `(and ...)'.
;;;***
-;;;### (autoloads nil "sasl-ntlm" "net/sasl-ntlm.el" (21710 32133
-;;;;;; 636297 239000))
+;;;### (autoloads nil "sasl-ntlm" "net/sasl-ntlm.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from net/sasl-ntlm.el
(push (purecopy '(sasl 1 0)) package--builtin-versions)
;;;***
-;;;### (autoloads nil "savehist" "savehist.el" (21710 32133 771297
-;;;;;; 941000))
+;;;### (autoloads nil "savehist" "savehist.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from savehist.el
(push (purecopy '(savehist 24)) package--builtin-versions)
@@ -23736,8 +23734,8 @@ histories, which is probably undesirable.
;;;***
-;;;### (autoloads nil "scheme" "progmodes/scheme.el" (21710 32133
-;;;;;; 753297 848000))
+;;;### (autoloads nil "scheme" "progmodes/scheme.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/scheme.el
(autoload 'scheme-mode "scheme" "\
@@ -23776,8 +23774,8 @@ that variable's value is a string.
;;;***
-;;;### (autoloads nil "score-mode" "gnus/score-mode.el" (21710 32133
-;;;;;; 550296 792000))
+;;;### (autoloads nil "score-mode" "gnus/score-mode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from gnus/score-mode.el
(autoload 'gnus-score-mode "score-mode" "\
@@ -23790,8 +23788,8 @@ This mode is an extended emacs-lisp mode.
;;;***
-;;;### (autoloads nil "scroll-all" "scroll-all.el" (21710 32133 771297
-;;;;;; 941000))
+;;;### (autoloads nil "scroll-all" "scroll-all.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from scroll-all.el
(defvar scroll-all-mode nil "\
@@ -23816,8 +23814,8 @@ one window apply to all visible windows in the same
frame.
;;;***
-;;;### (autoloads nil "scroll-lock" "scroll-lock.el" (21710 32133
-;;;;;; 771297 941000))
+;;;### (autoloads nil "scroll-lock" "scroll-lock.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from scroll-lock.el
(autoload 'scroll-lock-mode "scroll-lock" "\
@@ -23833,16 +23831,16 @@ vertically fixed relative to window boundaries during
scrolling.
;;;***
-;;;### (autoloads nil "secrets" "net/secrets.el" (21710 32133 637297
-;;;;;; 244000))
+;;;### (autoloads nil "secrets" "net/secrets.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from net/secrets.el
(when (featurep 'dbusbind)
(autoload 'secrets-show-secrets "secrets" nil t))
;;;***
-;;;### (autoloads nil "semantic" "cedet/semantic.el" (21710 32133
-;;;;;; 415296 90000))
+;;;### (autoloads nil "semantic" "cedet/semantic.el" (21679 47292
+;;;;;; 556033 759000))
;;; Generated autoloads from cedet/semantic.el
(push (purecopy '(semantic 2 2)) package--builtin-versions)
@@ -23900,7 +23898,7 @@ Semantic mode.
;;;***
;;;### (autoloads nil "semantic/bovine/grammar"
"cedet/semantic/bovine/grammar.el"
-;;;;;; (21710 32133 418296 106000))
+;;;;;; (21670 32330 885624 725000))
;;; Generated autoloads from cedet/semantic/bovine/grammar.el
(autoload 'bovine-grammar-mode "semantic/bovine/grammar" "\
@@ -23911,7 +23909,7 @@ Major mode for editing Bovine grammars.
;;;***
;;;### (autoloads nil "semantic/wisent/grammar"
"cedet/semantic/wisent/grammar.el"
-;;;;;; (21710 32133 430296 168000))
+;;;;;; (21670 32330 885624 725000))
;;; Generated autoloads from cedet/semantic/wisent/grammar.el
(autoload 'wisent-grammar-mode "semantic/wisent/grammar" "\
@@ -23921,8 +23919,8 @@ Major mode for editing Wisent grammars.
;;;***
-;;;### (autoloads nil "sendmail" "mail/sendmail.el" (21710 32133
-;;;;;; 607297 89000))
+;;;### (autoloads nil "sendmail" "mail/sendmail.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/sendmail.el
(defvar mail-from-style 'default "\
@@ -24203,14 +24201,14 @@ Like `mail' command, but display mail buffer in
another frame.
;;;***
-;;;### (autoloads nil "seq" "emacs-lisp/seq.el" (21710 32133 466296
-;;;;;; 355000))
+;;;### (autoloads nil "seq" "emacs-lisp/seq.el" (21691 38459 74604
+;;;;;; 918000))
;;; Generated autoloads from emacs-lisp/seq.el
(push (purecopy '(seq 1 0)) package--builtin-versions)
;;;***
-;;;### (autoloads nil "server" "server.el" (21710 32133 772297 946000))
+;;;### (autoloads nil "server" "server.el" (21670 32331 885635 586000))
;;; Generated autoloads from server.el
(put 'server-host 'risky-local-variable t)
@@ -24277,7 +24275,7 @@ only these files will be asked to be saved.
;;;***
-;;;### (autoloads nil "ses" "ses.el" (21710 32133 773297 952000))
+;;;### (autoloads nil "ses" "ses.el" (21670 32331 885635 586000))
;;; Generated autoloads from ses.el
(autoload 'ses-mode "ses" "\
@@ -24321,8 +24319,8 @@ formula:
;;;***
-;;;### (autoloads nil "sgml-mode" "textmodes/sgml-mode.el" (21710
-;;;;;; 32133 801298 97000))
+;;;### (autoloads nil "sgml-mode" "textmodes/sgml-mode.el" (21670
+;;;;;; 32331 885635 586000))
;;; Generated autoloads from textmodes/sgml-mode.el
(autoload 'sgml-mode "sgml-mode" "\
@@ -24387,8 +24385,8 @@ To work around that, do:
;;;***
-;;;### (autoloads nil "sh-script" "progmodes/sh-script.el" (21710
-;;;;;; 32133 754297 853000))
+;;;### (autoloads nil "sh-script" "progmodes/sh-script.el" (21704
+;;;;;; 50495 455324 752000))
;;; Generated autoloads from progmodes/sh-script.el
(push (purecopy '(sh-script 2 0 6)) package--builtin-versions)
(put 'sh-shell 'safe-local-variable 'symbolp)
@@ -24451,8 +24449,8 @@ with your script for an edit-interpret-debug cycle.
;;;***
-;;;### (autoloads nil "shadow" "emacs-lisp/shadow.el" (21710 32133
-;;;;;; 466296 355000))
+;;;### (autoloads nil "shadow" "emacs-lisp/shadow.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/shadow.el
(autoload 'list-load-path-shadows "shadow" "\
@@ -24501,8 +24499,8 @@ function, `load-path-shadows-find'.
;;;***
-;;;### (autoloads nil "shadowfile" "shadowfile.el" (21710 32133 773297
-;;;;;; 952000))
+;;;### (autoloads nil "shadowfile" "shadowfile.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from shadowfile.el
(autoload 'shadow-define-cluster "shadowfile" "\
@@ -24540,7 +24538,7 @@ Set up file shadowing.
;;;***
-;;;### (autoloads nil "shell" "shell.el" (21710 32133 774297 957000))
+;;;### (autoloads nil "shell" "shell.el" (21678 26426 225333 737000))
;;; Generated autoloads from shell.el
(defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\
@@ -24588,7 +24586,7 @@ Otherwise, one argument `-i' is passed to the shell.
;;;***
-;;;### (autoloads nil "shr" "net/shr.el" (21710 32133 637297 244000))
+;;;### (autoloads nil "shr" "net/shr.el" (21704 50495 455324 752000))
;;; Generated autoloads from net/shr.el
(autoload 'shr-render-region "shr" "\
@@ -24605,8 +24603,8 @@ DOM should be a parse tree as generated by
;;;***
-;;;### (autoloads nil "sieve" "gnus/sieve.el" (21710 32133 550296
-;;;;;; 792000))
+;;;### (autoloads nil "sieve" "gnus/sieve.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from gnus/sieve.el
(autoload 'sieve-manage "sieve" "\
@@ -24631,8 +24629,8 @@ DOM should be a parse tree as generated by
;;;***
-;;;### (autoloads nil "sieve-mode" "gnus/sieve-mode.el" (21710 32133
-;;;;;; 550296 792000))
+;;;### (autoloads nil "sieve-mode" "gnus/sieve-mode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from gnus/sieve-mode.el
(autoload 'sieve-mode "sieve-mode" "\
@@ -24647,8 +24645,8 @@ Turning on Sieve mode runs `sieve-mode-hook'.
;;;***
-;;;### (autoloads nil "simula" "progmodes/simula.el" (21710 32133
-;;;;;; 755297 858000))
+;;;### (autoloads nil "simula" "progmodes/simula.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from progmodes/simula.el
(autoload 'simula-mode "simula" "\
@@ -24696,8 +24694,8 @@ with no arguments, if that value is non-nil.
;;;***
-;;;### (autoloads nil "skeleton" "skeleton.el" (21710 32133 777297
-;;;;;; 972000))
+;;;### (autoloads nil "skeleton" "skeleton.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from skeleton.el
(defvar skeleton-filter-function 'identity "\
@@ -24815,8 +24813,8 @@ symmetrical ones, and the same character twice for the
others.
;;;***
-;;;### (autoloads nil "smerge-mode" "vc/smerge-mode.el" (21710 32133
-;;;;;; 823298 212000))
+;;;### (autoloads nil "smerge-mode" "vc/smerge-mode.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from vc/smerge-mode.el
(autoload 'smerge-ediff "smerge-mode" "\
@@ -24843,8 +24841,8 @@ If no conflict maker is found, turn off `smerge-mode'.
;;;***
-;;;### (autoloads nil "smiley" "gnus/smiley.el" (21710 32133 550296
-;;;;;; 792000))
+;;;### (autoloads nil "smiley" "gnus/smiley.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from gnus/smiley.el
(autoload 'smiley-region "smiley" "\
@@ -24861,8 +24859,8 @@ interactively. If there's no argument, do it at the
current buffer.
;;;***
-;;;### (autoloads nil "smtpmail" "mail/smtpmail.el" (21710 32133
-;;;;;; 607297 89000))
+;;;### (autoloads nil "smtpmail" "mail/smtpmail.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/smtpmail.el
(autoload 'smtpmail-send-it "smtpmail" "\
@@ -24877,8 +24875,8 @@ Send mail that was queued as a result of setting
`smtpmail-queue-mail'.
;;;***
-;;;### (autoloads nil "snake" "play/snake.el" (21710 32133 709297
-;;;;;; 619000))
+;;;### (autoloads nil "snake" "play/snake.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from play/snake.el
(autoload 'snake "snake" "\
@@ -24901,8 +24899,8 @@ Snake mode keybindings:
;;;***
-;;;### (autoloads nil "snmp-mode" "net/snmp-mode.el" (21710 32133
-;;;;;; 638297 250000))
+;;;### (autoloads nil "snmp-mode" "net/snmp-mode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from net/snmp-mode.el
(autoload 'snmp-mode "snmp-mode" "\
@@ -24931,8 +24929,8 @@ then `snmpv2-mode-hook'.
;;;***
-;;;### (autoloads nil "solar" "calendar/solar.el" (21710 32133 405296
-;;;;;; 38000))
+;;;### (autoloads nil "solar" "calendar/solar.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from calendar/solar.el
(autoload 'sunrise-sunset "solar" "\
@@ -24947,8 +24945,8 @@ This function is suitable for execution in an init file.
;;;***
-;;;### (autoloads nil "solitaire" "play/solitaire.el" (21710 32133
-;;;;;; 709297 619000))
+;;;### (autoloads nil "solitaire" "play/solitaire.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from play/solitaire.el
(autoload 'solitaire "solitaire" "\
@@ -25023,7 +25021,7 @@ Pick your favorite shortcuts:
;;;***
-;;;### (autoloads nil "sort" "sort.el" (21710 32133 777297 972000))
+;;;### (autoloads nil "sort" "sort.el" (21670 32331 885635 586000))
;;; Generated autoloads from sort.el
(put 'sort-fold-case 'safe-local-variable 'booleanp)
@@ -25198,7 +25196,7 @@ is non-nil, it also prints a message describing the
number of deletions.
;;;***
-;;;### (autoloads nil "spam" "gnus/spam.el" (21710 32133 552296 802000))
+;;;### (autoloads nil "spam" "gnus/spam.el" (21670 32331 385639 720000))
;;; Generated autoloads from gnus/spam.el
(autoload 'spam-initialize "spam" "\
@@ -25212,8 +25210,8 @@ installed through `spam-necessary-extra-headers'.
;;;***
-;;;### (autoloads nil "spam-report" "gnus/spam-report.el" (21710
-;;;;;; 32133 551296 797000))
+;;;### (autoloads nil "spam-report" "gnus/spam-report.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from gnus/spam-report.el
(autoload 'spam-report-process-queue "spam-report" "\
@@ -25255,8 +25253,8 @@ Spam reports will be queued with the method used when
;;;***
-;;;### (autoloads nil "speedbar" "speedbar.el" (21710 32133 778297
-;;;;;; 977000))
+;;;### (autoloads nil "speedbar" "speedbar.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from speedbar.el
(defalias 'speedbar 'speedbar-frame-mode)
@@ -25280,8 +25278,8 @@ selected. If the speedbar frame is active, then select
the attached frame.
;;;***
-;;;### (autoloads nil "spook" "play/spook.el" (21710 32133 709297
-;;;;;; 619000))
+;;;### (autoloads nil "spook" "play/spook.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from play/spook.el
(autoload 'spook "spook" "\
@@ -25296,8 +25294,8 @@ Return a vector containing the lines from
`spook-phrases-file'.
;;;***
-;;;### (autoloads nil "sql" "progmodes/sql.el" (21710 32133 756297
-;;;;;; 863000))
+;;;### (autoloads nil "sql" "progmodes/sql.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from progmodes/sql.el
(push (purecopy '(sql 3 4)) package--builtin-versions)
@@ -25763,15 +25761,15 @@ Run vsql as an inferior process.
;;;***
-;;;### (autoloads nil "srecode" "cedet/srecode.el" (21710 32133 431296
-;;;;;; 173000))
+;;;### (autoloads nil "srecode" "cedet/srecode.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from cedet/srecode.el
(push (purecopy '(srecode 1 2)) package--builtin-versions)
;;;***
;;;### (autoloads nil "srecode/srt-mode" "cedet/srecode/srt-mode.el"
-;;;;;; (21710 32133 434296 189000))
+;;;;;; (21670 32330 885624 725000))
;;; Generated autoloads from cedet/srecode/srt-mode.el
(autoload 'srecode-template-mode "srecode/srt-mode" "\
@@ -25783,8 +25781,8 @@ Major-mode for writing SRecode macros.
;;;***
-;;;### (autoloads nil "starttls" "gnus/starttls.el" (21710 32133
-;;;;;; 552296 802000))
+;;;### (autoloads nil "starttls" "gnus/starttls.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from gnus/starttls.el
(autoload 'starttls-open-stream "starttls" "\
@@ -25807,8 +25805,8 @@ GnuTLS requires a port number.
;;;***
-;;;### (autoloads nil "strokes" "strokes.el" (21710 32133 779297
-;;;;;; 983000))
+;;;### (autoloads nil "strokes" "strokes.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from strokes.el
(autoload 'strokes-global-set-stroke "strokes" "\
@@ -25921,8 +25919,8 @@ Read a complex stroke and insert its glyph into the
current buffer.
;;;***
-;;;### (autoloads nil "studly" "play/studly.el" (21710 32133 709297
-;;;;;; 619000))
+;;;### (autoloads nil "studly" "play/studly.el" (21607 54478 800121
+;;;;;; 42000))
;;; Generated autoloads from play/studly.el
(autoload 'studlify-region "studly" "\
@@ -25942,8 +25940,8 @@ Studlify-case the current buffer.
;;;***
-;;;### (autoloads nil "subword" "progmodes/subword.el" (21710 32133
-;;;;;; 756297 863000))
+;;;### (autoloads nil "subword" "progmodes/subword.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from progmodes/subword.el
(define-obsolete-function-alias 'capitalized-words-mode 'subword-mode "25.1")
@@ -26035,8 +26033,8 @@ See `superword-mode' for more information on Superword
mode.
;;;***
-;;;### (autoloads nil "supercite" "mail/supercite.el" (21710 32133
-;;;;;; 608297 94000))
+;;;### (autoloads nil "supercite" "mail/supercite.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/supercite.el
(autoload 'sc-cite-original "supercite" "\
@@ -26068,8 +26066,8 @@ and `sc-post-hook' is run after the guts of this
function.
;;;***
-;;;### (autoloads nil "t-mouse" "t-mouse.el" (21710 32133 781297
-;;;;;; 993000))
+;;;### (autoloads nil "t-mouse" "t-mouse.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from t-mouse.el
(define-obsolete-function-alias 't-mouse-mode 'gpm-mouse-mode "23.1")
@@ -26097,7 +26095,7 @@ It relies on the `gpm' daemon being activated.
;;;***
-;;;### (autoloads nil "tabify" "tabify.el" (21710 32133 781297 993000))
+;;;### (autoloads nil "tabify" "tabify.el" (21670 32331 885635 586000))
;;; Generated autoloads from tabify.el
(autoload 'untabify "tabify" "\
@@ -26126,8 +26124,8 @@ The variable `tab-width' controls the spacing of tab
stops.
;;;***
-;;;### (autoloads nil "table" "textmodes/table.el" (21710 32133 803298
-;;;;;; 108000))
+;;;### (autoloads nil "table" "textmodes/table.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from textmodes/table.el
(defvar table-cell-map-hook nil "\
@@ -26719,7 +26717,7 @@ converts a table into plain text without frames. It is
a companion to
;;;***
-;;;### (autoloads nil "talk" "talk.el" (21710 32133 781297 993000))
+;;;### (autoloads nil "talk" "talk.el" (21670 32331 885635 586000))
;;; Generated autoloads from talk.el
(autoload 'talk-connect "talk" "\
@@ -26734,8 +26732,8 @@ Connect to the Emacs talk group from the current X
display or tty frame.
;;;***
-;;;### (autoloads nil "tar-mode" "tar-mode.el" (21710 32133 782297
-;;;;;; 998000))
+;;;### (autoloads nil "tar-mode" "tar-mode.el" (21704 50495 455324
+;;;;;; 752000))
;;; Generated autoloads from tar-mode.el
(autoload 'tar-mode "tar-mode" "\
@@ -26758,8 +26756,8 @@ See also: variables `tar-update-datestamp' and
`tar-anal-blocksize'.
;;;***
-;;;### (autoloads nil "tcl" "progmodes/tcl.el" (21710 32133 757297
-;;;;;; 868000))
+;;;### (autoloads nil "tcl" "progmodes/tcl.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from progmodes/tcl.el
(autoload 'tcl-mode "tcl" "\
@@ -26807,8 +26805,8 @@ Prefix argument means invert sense of
`tcl-use-smart-word-finder'.
;;;***
-;;;### (autoloads nil "telnet" "net/telnet.el" (21710 32133 639297
-;;;;;; 255000))
+;;;### (autoloads nil "telnet" "net/telnet.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from net/telnet.el
(autoload 'telnet "telnet" "\
@@ -26833,7 +26831,7 @@ Normally input is edited in Emacs and sent a line at a
time.
;;;***
-;;;### (autoloads nil "term" "term.el" (21710 32133 783298 4000))
+;;;### (autoloads nil "term" "term.el" (21670 32331 885635 586000))
;;; Generated autoloads from term.el
(autoload 'make-term "term" "\
@@ -26875,8 +26873,8 @@ use in that buffer.
;;;***
-;;;### (autoloads nil "testcover" "emacs-lisp/testcover.el" (21710
-;;;;;; 32133 468296 366000))
+;;;### (autoloads nil "testcover" "emacs-lisp/testcover.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from emacs-lisp/testcover.el
(autoload 'testcover-this-defun "testcover" "\
@@ -26886,8 +26884,8 @@ Start coverage on function under point.
;;;***
-;;;### (autoloads nil "tetris" "play/tetris.el" (21710 32133 709297
-;;;;;; 619000))
+;;;### (autoloads nil "tetris" "play/tetris.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from play/tetris.el
(push (purecopy '(tetris 2 1)) package--builtin-versions)
@@ -26912,8 +26910,8 @@ tetris-mode keybindings:
;;;***
-;;;### (autoloads nil "tex-mode" "textmodes/tex-mode.el" (21710 32133
-;;;;;; 804298 113000))
+;;;### (autoloads nil "tex-mode" "textmodes/tex-mode.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from textmodes/tex-mode.el
(defvar tex-shell-file-name nil "\
@@ -27214,8 +27212,8 @@ Major mode to edit DocTeX files.
;;;***
-;;;### (autoloads nil "texinfmt" "textmodes/texinfmt.el" (21710 32133
-;;;;;; 805298 118000))
+;;;### (autoloads nil "texinfmt" "textmodes/texinfmt.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from textmodes/texinfmt.el
(autoload 'texinfo-format-buffer "texinfmt" "\
@@ -27254,8 +27252,8 @@ if large. You can use `Info-split' to do this manually.
;;;***
-;;;### (autoloads nil "texinfo" "textmodes/texinfo.el" (21710 32133
-;;;;;; 805298 118000))
+;;;### (autoloads nil "texinfo" "textmodes/texinfo.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from textmodes/texinfo.el
(defvar texinfo-open-quote (purecopy "``") "\
@@ -27339,8 +27337,8 @@ value of `texinfo-mode-hook'.
;;;***
-;;;### (autoloads nil "thai-util" "language/thai-util.el" (21710
-;;;;;; 32133 581296 953000))
+;;;### (autoloads nil "thai-util" "language/thai-util.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from language/thai-util.el
(autoload 'thai-compose-region "thai-util" "\
@@ -27367,8 +27365,8 @@ Compose Thai characters in the current buffer.
;;;***
-;;;### (autoloads nil "thingatpt" "thingatpt.el" (21710 32133 806298
-;;;;;; 123000))
+;;;### (autoloads nil "thingatpt" "thingatpt.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from thingatpt.el
(autoload 'forward-thing "thingatpt" "\
@@ -27432,7 +27430,7 @@ Return the Lisp list at point, or nil if none is found.
;;;***
-;;;### (autoloads nil "thumbs" "thumbs.el" (21710 32133 807298 128000))
+;;;### (autoloads nil "thumbs" "thumbs.el" (21670 32331 885635 586000))
;;; Generated autoloads from thumbs.el
(autoload 'thumbs-find-thumb "thumbs" "\
@@ -27466,8 +27464,8 @@ In dired, call the setroot program on the image at
point.
;;;***
-;;;### (autoloads nil "tibet-util" "language/tibet-util.el" (21710
-;;;;;; 32133 583296 964000))
+;;;### (autoloads nil "tibet-util" "language/tibet-util.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from language/tibet-util.el
(autoload 'tibetan-char-p "tibet-util" "\
@@ -27540,8 +27538,8 @@ See also docstring of the function
tibetan-compose-region.
;;;***
-;;;### (autoloads nil "tildify" "textmodes/tildify.el" (21710 32133
-;;;;;; 806298 123000))
+;;;### (autoloads nil "tildify" "textmodes/tildify.el" (21695 35516
+;;;;;; 595262 313000))
;;; Generated autoloads from textmodes/tildify.el
(push (purecopy '(tildify 4 6 1)) package--builtin-versions)
@@ -27607,7 +27605,7 @@ variable will be set to the representation.
;;;***
-;;;### (autoloads nil "time" "time.el" (21710 32133 807298 128000))
+;;;### (autoloads nil "time" "time.el" (21670 32331 885635 586000))
;;; Generated autoloads from time.el
(defvar display-time-day-and-date nil "\
@@ -27669,8 +27667,8 @@ Return a string giving the duration of the Emacs
initialization.
;;;***
-;;;### (autoloads nil "time-date" "calendar/time-date.el" (21710
-;;;;;; 32133 405296 38000))
+;;;### (autoloads nil "time-date" "calendar/time-date.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from calendar/time-date.el
(autoload 'date-to-time "time-date" "\
@@ -27773,8 +27771,8 @@ Convert the time interval in seconds to a short string.
;;;***
-;;;### (autoloads nil "time-stamp" "time-stamp.el" (21710 32133 807298
-;;;;;; 128000))
+;;;### (autoloads nil "time-stamp" "time-stamp.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from time-stamp.el
(put 'time-stamp-format 'safe-local-variable 'stringp)
(put 'time-stamp-time-zone 'safe-local-variable 'string-or-null-p)
@@ -27814,8 +27812,8 @@ With ARG, turn time stamping on if and only if arg is
positive.
;;;***
-;;;### (autoloads nil "timeclock" "calendar/timeclock.el" (21710
-;;;;;; 32133 406296 44000))
+;;;### (autoloads nil "timeclock" "calendar/timeclock.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from calendar/timeclock.el
(push (purecopy '(timeclock 2 6 1)) package--builtin-versions)
@@ -27925,7 +27923,7 @@ relative only to the time worked today, and not to past
time.
;;;***
;;;### (autoloads nil "titdic-cnv" "international/titdic-cnv.el"
-;;;;;; (21710 32133 571296 901000))
+;;;;;; (21670 32331 385639 720000))
;;; Generated autoloads from international/titdic-cnv.el
(autoload 'titdic-convert "titdic-cnv" "\
@@ -27947,7 +27945,7 @@ To get complete usage, invoke \"emacs -batch -f
batch-titdic-convert -h\".
;;;***
-;;;### (autoloads nil "tmm" "tmm.el" (21710 32133 807298 128000))
+;;;### (autoloads nil "tmm" "tmm.el" (21670 32331 885635 586000))
;;; Generated autoloads from tmm.el
(define-key global-map "\M-`" 'tmm-menubar)
(define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse)
@@ -27989,8 +27987,8 @@ Its value should be an event that has a binding in MENU.
;;;***
-;;;### (autoloads nil "todo-mode" "calendar/todo-mode.el" (21710
-;;;;;; 32133 407296 49000))
+;;;### (autoloads nil "todo-mode" "calendar/todo-mode.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from calendar/todo-mode.el
(autoload 'todo-show "todo-mode" "\
@@ -28057,8 +28055,8 @@ Mode for displaying and reprioritizing top priority
Todo.
;;;***
-;;;### (autoloads nil "tool-bar" "tool-bar.el" (21710 32133 808298
-;;;;;; 133000))
+;;;### (autoloads nil "tool-bar" "tool-bar.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from tool-bar.el
(autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\
@@ -28128,8 +28126,8 @@ holds a keymap.
;;;***
-;;;### (autoloads nil "tq" "emacs-lisp/tq.el" (21710 32133 468296
-;;;;;; 366000))
+;;;### (autoloads nil "tq" "emacs-lisp/tq.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emacs-lisp/tq.el
(autoload 'tq-create "tq" "\
@@ -28142,8 +28140,8 @@ to a tcp server on another machine.
;;;***
-;;;### (autoloads nil "trace" "emacs-lisp/trace.el" (21710 32133
-;;;;;; 468296 366000))
+;;;### (autoloads nil "trace" "emacs-lisp/trace.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/trace.el
(defvar trace-buffer "*trace-output*" "\
@@ -28188,8 +28186,8 @@ the output buffer or changing the window configuration.
;;;***
-;;;### (autoloads nil "tramp" "net/tramp.el" (21710 32133 644297
-;;;;;; 281000))
+;;;### (autoloads nil "tramp" "net/tramp.el" (21704 50495 455324
+;;;;;; 752000))
;;; Generated autoloads from net/tramp.el
(defvar tramp-mode t "\
@@ -28304,8 +28302,8 @@ Discard Tramp from loading remote files.
;;;***
-;;;### (autoloads nil "tramp-ftp" "net/tramp-ftp.el" (21710 32133
-;;;;;; 640297 260000))
+;;;### (autoloads nil "tramp-ftp" "net/tramp-ftp.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from net/tramp-ftp.el
(autoload 'tramp-ftp-enable-ange-ftp "tramp-ftp" "\
@@ -28315,8 +28313,8 @@ Discard Tramp from loading remote files.
;;;***
-;;;### (autoloads nil "tutorial" "tutorial.el" (21710 32133 808298
-;;;;;; 133000))
+;;;### (autoloads nil "tutorial" "tutorial.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from tutorial.el
(autoload 'help-with-tutorial "tutorial" "\
@@ -28340,8 +28338,8 @@ resumed later.
;;;***
-;;;### (autoloads nil "tv-util" "language/tv-util.el" (21710 32133
-;;;;;; 583296 964000))
+;;;### (autoloads nil "tv-util" "language/tv-util.el" (21607 54478
+;;;;;; 300138 641000))
;;; Generated autoloads from language/tv-util.el
(autoload 'tai-viet-composition-function "tv-util" "\
@@ -28351,8 +28349,8 @@ resumed later.
;;;***
-;;;### (autoloads nil "two-column" "textmodes/two-column.el" (21710
-;;;;;; 32133 806298 123000))
+;;;### (autoloads nil "two-column" "textmodes/two-column.el" (21670
+;;;;;; 32331 885635 586000))
;;; Generated autoloads from textmodes/two-column.el
(autoload '2C-command "two-column" () t 'keymap)
(global-set-key "\C-x6" '2C-command)
@@ -28399,8 +28397,8 @@ First column's text sSs Second column's text
;;;***
-;;;### (autoloads nil "type-break" "type-break.el" (21710 32133 809298
-;;;;;; 139000))
+;;;### (autoloads nil "type-break" "type-break.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from type-break.el
(defvar type-break-mode nil "\
@@ -28532,7 +28530,7 @@ FRAC should be the inverse of the fractional value; for
example, a value of
;;;***
-;;;### (autoloads nil "uce" "mail/uce.el" (21710 32133 608297 94000))
+;;;### (autoloads nil "uce" "mail/uce.el" (21670 32331 385639 720000))
;;; Generated autoloads from mail/uce.el
(autoload 'uce-reply-to-uce "uce" "\
@@ -28546,7 +28544,7 @@ You might need to set `uce-mail-reader' before using
this.
;;;***
;;;### (autoloads nil "ucs-normalize" "international/ucs-normalize.el"
-;;;;;; (21710 32133 571296 901000))
+;;;;;; (21670 32331 385639 720000))
;;; Generated autoloads from international/ucs-normalize.el
(autoload 'ucs-normalize-NFD-region "ucs-normalize" "\
@@ -28611,8 +28609,8 @@ Normalize the string STR by the Unicode NFC and Mac
OS's HFS Plus.
;;;***
-;;;### (autoloads nil "underline" "textmodes/underline.el" (21710
-;;;;;; 32133 806298 123000))
+;;;### (autoloads nil "underline" "textmodes/underline.el" (21670
+;;;;;; 32331 885635 586000))
;;; Generated autoloads from textmodes/underline.el
(autoload 'underline-region "underline" "\
@@ -28632,8 +28630,8 @@ which specify the range to operate on.
;;;***
-;;;### (autoloads nil "unrmail" "mail/unrmail.el" (21710 32133 608297
-;;;;;; 94000))
+;;;### (autoloads nil "unrmail" "mail/unrmail.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from mail/unrmail.el
(autoload 'batch-unrmail "unrmail" "\
@@ -28653,8 +28651,8 @@ The variable `unrmail-mbox-format' controls which mbox
format to use.
;;;***
-;;;### (autoloads nil "unsafep" "emacs-lisp/unsafep.el" (21710 32133
-;;;;;; 468296 366000))
+;;;### (autoloads nil "unsafep" "emacs-lisp/unsafep.el" (21670 32330
+;;;;;; 885624 725000))
;;; Generated autoloads from emacs-lisp/unsafep.el
(autoload 'unsafep "unsafep" "\
@@ -28666,7 +28664,7 @@ UNSAFEP-VARS is a list of symbols with local bindings.
;;;***
-;;;### (autoloads nil "url" "url/url.el" (21710 32133 814298 165000))
+;;;### (autoloads nil "url" "url/url.el" (21670 32331 885635 586000))
;;; Generated autoloads from url/url.el
(autoload 'url-retrieve "url" "\
@@ -28713,8 +28711,8 @@ no further processing). URL is either a string or a
parsed URL.
;;;***
-;;;### (autoloads nil "url-auth" "url/url-auth.el" (21710 32133 810298
-;;;;;; 144000))
+;;;### (autoloads nil "url-auth" "url/url-auth.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from url/url-auth.el
(autoload 'url-get-authentication "url-auth" "\
@@ -28755,8 +28753,8 @@ RATING a rating between 1 and 10 of the strength of
the authentication.
;;;***
-;;;### (autoloads nil "url-cache" "url/url-cache.el" (21710 32133
-;;;;;; 810298 144000))
+;;;### (autoloads nil "url-cache" "url/url-cache.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from url/url-cache.el
(autoload 'url-store-in-cache "url-cache" "\
@@ -28777,8 +28775,8 @@ Extract FNAM from the local disk cache.
;;;***
-;;;### (autoloads nil "url-cid" "url/url-cid.el" (21710 32133 810298
-;;;;;; 144000))
+;;;### (autoloads nil "url-cid" "url/url-cid.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from url/url-cid.el
(autoload 'url-cid "url-cid" "\
@@ -28788,8 +28786,8 @@ Extract FNAM from the local disk cache.
;;;***
-;;;### (autoloads nil "url-dav" "url/url-dav.el" (21710 32133 811298
-;;;;;; 149000))
+;;;### (autoloads nil "url-dav" "url/url-dav.el" (21696 56380 925320
+;;;;;; 624000))
;;; Generated autoloads from url/url-dav.el
(autoload 'url-dav-supported-p "url-dav" "\
@@ -28823,8 +28821,8 @@ added to this list, so most requests can just pass in
nil.
;;;***
-;;;### (autoloads nil "url-file" "url/url-file.el" (21710 32133 811298
-;;;;;; 149000))
+;;;### (autoloads nil "url-file" "url/url-file.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from url/url-file.el
(autoload 'url-file "url-file" "\
@@ -28834,8 +28832,8 @@ Handle file: and ftp: URLs.
;;;***
-;;;### (autoloads nil "url-gw" "url/url-gw.el" (21710 32133 811298
-;;;;;; 149000))
+;;;### (autoloads nil "url-gw" "url/url-gw.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from url/url-gw.el
(autoload 'url-gateway-nslookup-host "url-gw" "\
@@ -28856,8 +28854,8 @@ overriding the value of `url-gateway-method'.
;;;***
-;;;### (autoloads nil "url-handlers" "url/url-handlers.el" (21710
-;;;;;; 32133 811298 149000))
+;;;### (autoloads nil "url-handlers" "url/url-handlers.el" (21670
+;;;;;; 32331 885635 586000))
;;; Generated autoloads from url/url-handlers.el
(defvar url-handler-mode nil "\
@@ -28911,8 +28909,8 @@ accessible.
;;;***
-;;;### (autoloads nil "url-http" "url/url-http.el" (21710 32133 812298
-;;;;;; 154000))
+;;;### (autoloads nil "url-http" "url/url-http.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from url/url-http.el
(autoload 'url-default-expander "url-expand")
@@ -28924,8 +28922,8 @@ accessible.
;;;***
-;;;### (autoloads nil "url-irc" "url/url-irc.el" (21710 32133 812298
-;;;;;; 154000))
+;;;### (autoloads nil "url-irc" "url/url-irc.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from url/url-irc.el
(autoload 'url-irc "url-irc" "\
@@ -28935,8 +28933,8 @@ accessible.
;;;***
-;;;### (autoloads nil "url-ldap" "url/url-ldap.el" (21710 32133 812298
-;;;;;; 154000))
+;;;### (autoloads nil "url-ldap" "url/url-ldap.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from url/url-ldap.el
(autoload 'url-ldap "url-ldap" "\
@@ -28949,8 +28947,8 @@ URL can be a URL string, or a URL vector of the type
returned by
;;;***
-;;;### (autoloads nil "url-mailto" "url/url-mailto.el" (21710 32133
-;;;;;; 812298 154000))
+;;;### (autoloads nil "url-mailto" "url/url-mailto.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from url/url-mailto.el
(autoload 'url-mail "url-mailto" "\
@@ -28965,8 +28963,8 @@ Handle the mailto: URL syntax.
;;;***
-;;;### (autoloads nil "url-misc" "url/url-misc.el" (21710 32133 813298
-;;;;;; 160000))
+;;;### (autoloads nil "url-misc" "url/url-misc.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from url/url-misc.el
(autoload 'url-man "url-misc" "\
@@ -28997,8 +28995,8 @@ Fetch a data URL (RFC 2397).
;;;***
-;;;### (autoloads nil "url-news" "url/url-news.el" (21710 32133 813298
-;;;;;; 160000))
+;;;### (autoloads nil "url-news" "url/url-news.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from url/url-news.el
(autoload 'url-news "url-news" "\
@@ -29013,8 +29011,8 @@ Fetch a data URL (RFC 2397).
;;;***
-;;;### (autoloads nil "url-ns" "url/url-ns.el" (21710 32133 813298
-;;;;;; 160000))
+;;;### (autoloads nil "url-ns" "url/url-ns.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from url/url-ns.el
(autoload 'isPlainHostName "url-ns" "\
@@ -29054,8 +29052,8 @@ Fetch a data URL (RFC 2397).
;;;***
-;;;### (autoloads nil "url-parse" "url/url-parse.el" (21710 32133
-;;;;;; 813298 160000))
+;;;### (autoloads nil "url-parse" "url/url-parse.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from url/url-parse.el
(autoload 'url-recreate-url "url-parse" "\
@@ -29106,8 +29104,8 @@ parses to
;;;***
-;;;### (autoloads nil "url-privacy" "url/url-privacy.el" (21710 32133
-;;;;;; 813298 160000))
+;;;### (autoloads nil "url-privacy" "url/url-privacy.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from url/url-privacy.el
(autoload 'url-setup-privacy-info "url-privacy" "\
@@ -29117,8 +29115,8 @@ Setup variables that expose info about you and your
system.
;;;***
-;;;### (autoloads nil "url-queue" "url/url-queue.el" (21710 32133
-;;;;;; 813298 160000))
+;;;### (autoloads nil "url-queue" "url/url-queue.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from url/url-queue.el
(autoload 'url-queue-retrieve "url-queue" "\
@@ -29132,8 +29130,8 @@ The variable `url-queue-timeout' sets a timeout.
;;;***
-;;;### (autoloads nil "url-tramp" "url/url-tramp.el" (21710 32133
-;;;;;; 813298 160000))
+;;;### (autoloads nil "url-tramp" "url/url-tramp.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from url/url-tramp.el
(defvar url-tramp-protocols '("ftp" "ssh" "scp" "rsync" "telnet") "\
@@ -29151,8 +29149,8 @@ would have been passed to OPERATION.
;;;***
-;;;### (autoloads nil "url-util" "url/url-util.el" (21710 32133 813298
-;;;;;; 160000))
+;;;### (autoloads nil "url-util" "url/url-util.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from url/url-util.el
(defvar url-debug nil "\
@@ -29320,8 +29318,8 @@ This uses `url-current-object', set locally to the
buffer.
;;;***
-;;;### (autoloads nil "userlock" "userlock.el" (21710 32133 814298
-;;;;;; 165000))
+;;;### (autoloads nil "userlock" "userlock.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from userlock.el
(autoload 'ask-user-about-lock "userlock" "\
@@ -29349,8 +29347,8 @@ The buffer in question is current when this function is
called.
;;;***
-;;;### (autoloads nil "utf-7" "international/utf-7.el" (21710 32133
-;;;;;; 571296 901000))
+;;;### (autoloads nil "utf-7" "international/utf-7.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from international/utf-7.el
(autoload 'utf-7-post-read-conversion "utf-7" "\
@@ -29375,7 +29373,7 @@ The buffer in question is current when this function is
called.
;;;***
-;;;### (autoloads nil "utf7" "gnus/utf7.el" (21710 32133 552296 802000))
+;;;### (autoloads nil "utf7" "gnus/utf7.el" (21670 32331 385639 720000))
;;; Generated autoloads from gnus/utf7.el
(autoload 'utf7-encode "utf7" "\
@@ -29385,8 +29383,8 @@ Encode UTF-7 STRING. Use IMAP modification if FOR-IMAP
is non-nil.
;;;***
-;;;### (autoloads nil "uudecode" "mail/uudecode.el" (21710 32133
-;;;;;; 608297 94000))
+;;;### (autoloads nil "uudecode" "mail/uudecode.el" (21670 32331
+;;;;;; 385639 720000))
;;; Generated autoloads from mail/uudecode.el
(autoload 'uudecode-decode-region-external "uudecode" "\
@@ -29410,7 +29408,7 @@ If FILE-NAME is non-nil, save the result to FILE-NAME.
;;;***
-;;;### (autoloads nil "vc" "vc/vc.el" (21710 32133 828298 237000))
+;;;### (autoloads nil "vc" "vc/vc.el" (21670 32331 885635 586000))
;;; Generated autoloads from vc/vc.el
(defvar vc-checkout-hook nil "\
@@ -29697,8 +29695,8 @@ Return the branch part of a revision number REV.
;;;***
-;;;### (autoloads nil "vc-annotate" "vc/vc-annotate.el" (21710 32133
-;;;;;; 823298 212000))
+;;;### (autoloads nil "vc-annotate" "vc/vc-annotate.el" (21670 32331
+;;;;;; 885635 586000))
;;; Generated autoloads from vc/vc-annotate.el
(autoload 'vc-annotate "vc-annotate" "\
@@ -29737,8 +29735,8 @@ should be applied to the background or to the
foreground.
;;;***
-;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (21710 32133 824298
-;;;;;; 217000))
+;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (21691 38459 74604
+;;;;;; 918000))
;;; Generated autoloads from vc/vc-bzr.el
(defconst vc-bzr-admin-dirname ".bzr" "\
@@ -29754,8 +29752,8 @@ Name of the format file in a .bzr directory.")
;;;***
-;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (21710 32133 824298
-;;;;;; 217000))
+;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from vc/vc-cvs.el
(defun vc-cvs-registered (f)
"Return non-nil if file F is registered with CVS."
@@ -29766,8 +29764,8 @@ Name of the format file in a .bzr directory.")
;;;***
-;;;### (autoloads nil "vc-dir" "vc/vc-dir.el" (21710 32133 825298
-;;;;;; 222000))
+;;;### (autoloads nil "vc-dir" "vc/vc-dir.el" (21694 14651 747488
+;;;;;; 989000))
;;; Generated autoloads from vc/vc-dir.el
(autoload 'vc-dir "vc-dir" "\
@@ -29791,8 +29789,8 @@ These are the commands available for use in the file
status buffer:
;;;***
-;;;### (autoloads nil "vc-dispatcher" "vc/vc-dispatcher.el" (21710
-;;;;;; 32133 825298 222000))
+;;;### (autoloads nil "vc-dispatcher" "vc/vc-dispatcher.el" (21670
+;;;;;; 32331 885635 586000))
;;; Generated autoloads from vc/vc-dispatcher.el
(autoload 'vc-do-command "vc-dispatcher" "\
@@ -29815,8 +29813,8 @@ case, and the process object in the asynchronous case.
;;;***
-;;;### (autoloads nil "vc-git" "vc/vc-git.el" (21710 32133 825298
-;;;;;; 222000))
+;;;### (autoloads nil "vc-git" "vc/vc-git.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from vc/vc-git.el
(defun vc-git-registered (file)
"Return non-nil if FILE is registered with git."
@@ -29827,7 +29825,7 @@ case, and the process object in the asynchronous case.
;;;***
-;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (21710 32133 826298 227000))
+;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (21670 32331 885635 586000))
;;; Generated autoloads from vc/vc-hg.el
(defun vc-hg-registered (file)
"Return non-nil if FILE is registered with hg."
@@ -29838,8 +29836,8 @@ case, and the process object in the asynchronous case.
;;;***
-;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (21710 32133 826298
-;;;;;; 227000))
+;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from vc/vc-mtn.el
(defconst vc-mtn-admin-dir "_MTN" "\
@@ -29855,8 +29853,8 @@ Name of the monotone directory's format file.")
;;;***
-;;;### (autoloads nil "vc-rcs" "vc/vc-rcs.el" (21710 32133 827298
-;;;;;; 232000))
+;;;### (autoloads nil "vc-rcs" "vc/vc-rcs.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from vc/vc-rcs.el
(defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s"))
"\
@@ -29869,8 +29867,8 @@ For a description of possible values, see
`vc-check-master-templates'.")
;;;***
-;;;### (autoloads nil "vc-sccs" "vc/vc-sccs.el" (21710 32133 827298
-;;;;;; 232000))
+;;;### (autoloads nil "vc-sccs" "vc/vc-sccs.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from vc/vc-sccs.el
(defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s"
vc-sccs-search-project-dir)) "\
@@ -29888,8 +29886,8 @@ find any project directory." (let ((project-dir (getenv
"PROJECTDIR")) dirs dir)
;;;***
-;;;### (autoloads nil "vc-src" "vc/vc-src.el" (21710 32133 827298
-;;;;;; 232000))
+;;;### (autoloads nil "vc-src" "vc/vc-src.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from vc/vc-src.el
(defvar vc-src-master-templates (purecopy '("%s.src/%s,v")) "\
@@ -29902,8 +29900,8 @@ For a description of possible values, see
`vc-check-master-templates'.")
;;;***
-;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (21710 32133 827298
-;;;;;; 232000))
+;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (21688 62278 418203
+;;;;;; 119000))
;;; Generated autoloads from vc/vc-svn.el
(defun vc-svn-registered (f)
(let ((admin-dir (cond ((and (eq system-type 'windows-nt)
@@ -29916,8 +29914,8 @@ For a description of possible values, see
`vc-check-master-templates'.")
;;;***
-;;;### (autoloads nil "vera-mode" "progmodes/vera-mode.el" (21710
-;;;;;; 32133 757297 868000))
+;;;### (autoloads nil "vera-mode" "progmodes/vera-mode.el" (21670
+;;;;;; 32331 885635 586000))
;;; Generated autoloads from progmodes/vera-mode.el
(push (purecopy '(vera-mode 2 28)) package--builtin-versions)
(add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'") 'vera-mode))
@@ -29976,7 +29974,7 @@ Key bindings:
;;;***
;;;### (autoloads nil "verilog-mode" "progmodes/verilog-mode.el"
-;;;;;; (21710 32133 761297 889000))
+;;;;;; (21670 32331 885635 586000))
;;; Generated autoloads from progmodes/verilog-mode.el
(autoload 'verilog-mode "verilog-mode" "\
@@ -30115,8 +30113,8 @@ Key bindings specific to `verilog-mode-map' are:
;;;***
-;;;### (autoloads nil "vhdl-mode" "progmodes/vhdl-mode.el" (21710
-;;;;;; 32133 765297 910000))
+;;;### (autoloads nil "vhdl-mode" "progmodes/vhdl-mode.el" (21670
+;;;;;; 32331 885635 586000))
;;; Generated autoloads from progmodes/vhdl-mode.el
(autoload 'vhdl-mode "vhdl-mode" "\
@@ -30670,8 +30668,8 @@ Key bindings:
;;;***
-;;;### (autoloads nil "viet-util" "language/viet-util.el" (21710
-;;;;;; 32133 583296 964000))
+;;;### (autoloads nil "viet-util" "language/viet-util.el" (21670
+;;;;;; 32331 385639 720000))
;;; Generated autoloads from language/viet-util.el
(autoload 'viet-encode-viscii-char "viet-util" "\
@@ -30715,7 +30713,7 @@ Convert Vietnamese characters of the current buffer to
`VIQR' mnemonics.
;;;***
-;;;### (autoloads nil "view" "view.el" (21710 32133 829298 243000))
+;;;### (autoloads nil "view" "view.el" (21670 32331 885635 586000))
;;; Generated autoloads from view.el
(defvar view-remove-frame-by-deleting t "\
@@ -30971,8 +30969,8 @@ Exit View mode and make the current buffer editable.
;;;***
-;;;### (autoloads nil "viper" "emulation/viper.el" (21710 32133 475296
-;;;;;; 402000))
+;;;### (autoloads nil "viper" "emulation/viper.el" (21670 32330 885624
+;;;;;; 725000))
;;; Generated autoloads from emulation/viper.el
(push (purecopy '(viper 3 14 1)) package--builtin-versions)
@@ -30989,8 +30987,8 @@ Turn on Viper emulation of Vi in Emacs. See Info node
`(viper)Top'.
;;;***
-;;;### (autoloads nil "warnings" "emacs-lisp/warnings.el" (21710
-;;;;;; 32133 468296 366000))
+;;;### (autoloads nil "warnings" "emacs-lisp/warnings.el" (21670
+;;;;;; 32330 885624 725000))
;;; Generated autoloads from emacs-lisp/warnings.el
(defvar warning-prefix-function nil "\
@@ -31080,7 +31078,7 @@ this is equivalent to `display-warning', using
;;;***
-;;;### (autoloads nil "wdired" "wdired.el" (21710 32133 830298 248000))
+;;;### (autoloads nil "wdired" "wdired.el" (21670 32331 885635 586000))
;;; Generated autoloads from wdired.el
(push (purecopy '(wdired 2 0)) package--builtin-versions)
@@ -31098,8 +31096,8 @@ See `wdired-mode'.
;;;***
-;;;### (autoloads nil "webjump" "net/webjump.el" (21710 32133 644297
-;;;;;; 281000))
+;;;### (autoloads nil "webjump" "net/webjump.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from net/webjump.el
(autoload 'webjump "webjump" "\
@@ -31115,8 +31113,8 @@ Please submit bug reports and other feedback to the
author, Neil W. Van Dyke
;;;***
-;;;### (autoloads nil "which-func" "progmodes/which-func.el" (21710
-;;;;;; 32133 765297 910000))
+;;;### (autoloads nil "which-func" "progmodes/which-func.el" (21670
+;;;;;; 32331 885635 586000))
;;; Generated autoloads from progmodes/which-func.el
(put 'which-func-format 'risky-local-variable t)
(put 'which-func-current 'risky-local-variable t)
@@ -31146,8 +31144,8 @@ in certain major modes.
;;;***
-;;;### (autoloads nil "whitespace" "whitespace.el" (21710 32133 830298
-;;;;;; 248000))
+;;;### (autoloads nil "whitespace" "whitespace.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from whitespace.el
(push (purecopy '(whitespace 13 2 2)) package--builtin-versions)
@@ -31515,8 +31513,8 @@ cleaning up these problems.
;;;***
-;;;### (autoloads nil "wid-browse" "wid-browse.el" (21710 32133 830298
-;;;;;; 248000))
+;;;### (autoloads nil "wid-browse" "wid-browse.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from wid-browse.el
(autoload 'widget-browse-at "wid-browse" "\
@@ -31544,8 +31542,8 @@ if ARG is omitted or nil.
;;;***
-;;;### (autoloads nil "wid-edit" "wid-edit.el" (21710 32133 831298
-;;;;;; 253000))
+;;;### (autoloads nil "wid-edit" "wid-edit.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from wid-edit.el
(autoload 'widgetp "wid-edit" "\
@@ -31587,8 +31585,8 @@ Setup current buffer so editing string widgets works.
;;;***
-;;;### (autoloads nil "windmove" "windmove.el" (21710 32133 832298
-;;;;;; 258000))
+;;;### (autoloads nil "windmove" "windmove.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from windmove.el
(autoload 'windmove-left "windmove" "\
@@ -31640,7 +31638,7 @@ Default MODIFIER is 'shift.
;;;***
-;;;### (autoloads nil "winner" "winner.el" (21710 32133 834298 269000))
+;;;### (autoloads nil "winner" "winner.el" (21670 32331 885635 586000))
;;; Generated autoloads from winner.el
(defvar winner-mode nil "\
@@ -31663,7 +31661,7 @@ the mode if ARG is omitted or nil, and toggle it if ARG
is `toggle'.
;;;***
-;;;### (autoloads nil "woman" "woman.el" (21710 32133 835298 274000))
+;;;### (autoloads nil "woman" "woman.el" (21670 32331 885635 586000))
;;; Generated autoloads from woman.el
(push (purecopy '(woman 0 551)) package--builtin-versions)
@@ -31712,7 +31710,7 @@ Default bookmark handler for Woman buffers.
;;;***
-;;;### (autoloads nil "xml" "xml.el" (21710 32133 836298 279000))
+;;;### (autoloads nil "xml" "xml.el" (21670 32331 885635 586000))
;;; Generated autoloads from xml.el
(autoload 'xml-parse-file "xml" "\
@@ -31768,8 +31766,8 @@ Both features can be combined by providing a cons cell
;;;***
-;;;### (autoloads nil "xmltok" "nxml/xmltok.el" (21710 32133 649297
-;;;;;; 307000))
+;;;### (autoloads nil "xmltok" "nxml/xmltok.el" (21670 32331 385639
+;;;;;; 720000))
;;; Generated autoloads from nxml/xmltok.el
(autoload 'xmltok-get-declared-encoding-position "xmltok" "\
@@ -31787,8 +31785,8 @@ If LIMIT is non-nil, then do not consider characters
beyond LIMIT.
;;;***
-;;;### (autoloads nil "xref" "progmodes/xref.el" (21710 32133 765297
-;;;;;; 910000))
+;;;### (autoloads nil "xref" "progmodes/xref.el" (21696 56380 925320
+;;;;;; 624000))
;;; Generated autoloads from progmodes/xref.el
(autoload 'xref-pop-marker-stack "xref" "\
@@ -31837,8 +31835,8 @@ The argument has the same meaning as in `apropos'.
;;;***
-;;;### (autoloads nil "xt-mouse" "xt-mouse.el" (21710 32133 836298
-;;;;;; 279000))
+;;;### (autoloads nil "xt-mouse" "xt-mouse.el" (21670 32331 885635
+;;;;;; 586000))
;;; Generated autoloads from xt-mouse.el
(defvar xterm-mouse-mode nil "\
@@ -31867,7 +31865,19 @@ down the SHIFT key while pressing the mouse button.
;;;***
-;;;### (autoloads nil "yenc" "gnus/yenc.el" (21710 32133 552296 802000))
+;;;### (autoloads nil "xwidget" "xwidget.el" (21710 2878 794621 967000))
+;;; Generated autoloads from xwidget.el
+
+(autoload 'xwidget-webkit-browse-url "xwidget" "\
+Ask xwidget-webkit to browse URL.
+NEW-SESSION specifies whether to create a new xwidget-webkit session. URL
+defaults to the string looking like a url around the cursor position.
+
+\(fn URL &optional NEW-SESSION)" t nil)
+
+;;;***
+
+;;;### (autoloads nil "yenc" "gnus/yenc.el" (21670 32331 385639 720000))
;;; Generated autoloads from gnus/yenc.el
(autoload 'yenc-decode-region "yenc" "\
@@ -31882,7 +31892,7 @@ Extract file name from an yenc header.
;;;***
-;;;### (autoloads nil "zone" "play/zone.el" (21710 32133 709297 619000))
+;;;### (autoloads nil "zone" "play/zone.el" (21670 32331 385639 720000))
;;; Generated autoloads from play/zone.el
(autoload 'zone "zone" "\
@@ -31928,16 +31938,14 @@ Zone out, completely.
;;;;;; "cedet/semantic/analyze.el" "cedet/semantic/analyze/complete.el"
;;;;;; "cedet/semantic/analyze/debug.el" "cedet/semantic/analyze/fcn.el"
;;;;;; "cedet/semantic/analyze/refs.el" "cedet/semantic/bovine.el"
-;;;;;; "cedet/semantic/bovine/c-by.el" "cedet/semantic/bovine/c.el"
-;;;;;; "cedet/semantic/bovine/debug.el" "cedet/semantic/bovine/el.el"
-;;;;;; "cedet/semantic/bovine/gcc.el" "cedet/semantic/bovine/make-by.el"
-;;;;;; "cedet/semantic/bovine/make.el" "cedet/semantic/bovine/scm-by.el"
-;;;;;; "cedet/semantic/bovine/scm.el" "cedet/semantic/chart.el"
-;;;;;; "cedet/semantic/complete.el" "cedet/semantic/ctxt.el"
"cedet/semantic/db-debug.el"
-;;;;;; "cedet/semantic/db-ebrowse.el" "cedet/semantic/db-el.el"
-;;;;;; "cedet/semantic/db-file.el" "cedet/semantic/db-find.el"
"cedet/semantic/db-global.el"
-;;;;;; "cedet/semantic/db-javascript.el" "cedet/semantic/db-mode.el"
-;;;;;; "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el"
+;;;;;; "cedet/semantic/bovine/c.el" "cedet/semantic/bovine/debug.el"
+;;;;;; "cedet/semantic/bovine/el.el" "cedet/semantic/bovine/gcc.el"
+;;;;;; "cedet/semantic/bovine/make.el" "cedet/semantic/bovine/scm.el"
+;;;;;; "cedet/semantic/chart.el" "cedet/semantic/complete.el"
"cedet/semantic/ctxt.el"
+;;;;;; "cedet/semantic/db-debug.el" "cedet/semantic/db-ebrowse.el"
+;;;;;; "cedet/semantic/db-el.el" "cedet/semantic/db-file.el"
"cedet/semantic/db-find.el"
+;;;;;; "cedet/semantic/db-global.el" "cedet/semantic/db-javascript.el"
+;;;;;; "cedet/semantic/db-mode.el" "cedet/semantic/db-ref.el"
"cedet/semantic/db-typecache.el"
;;;;;; "cedet/semantic/db.el" "cedet/semantic/debug.el"
"cedet/semantic/decorate.el"
;;;;;; "cedet/semantic/decorate/include.el" "cedet/semantic/decorate/mode.el"
;;;;;; "cedet/semantic/dep.el" "cedet/semantic/doc.el"
"cedet/semantic/ede-grammar.el"
@@ -31955,26 +31963,25 @@ Zone out, completely.
;;;;;; "cedet/semantic/tag.el" "cedet/semantic/texi.el"
"cedet/semantic/util-modes.el"
;;;;;; "cedet/semantic/util.el" "cedet/semantic/wisent.el"
"cedet/semantic/wisent/comp.el"
;;;;;; "cedet/semantic/wisent/java-tags.el"
"cedet/semantic/wisent/javascript.el"
-;;;;;; "cedet/semantic/wisent/javat-wy.el" "cedet/semantic/wisent/js-wy.el"
-;;;;;; "cedet/semantic/wisent/python-wy.el" "cedet/semantic/wisent/python.el"
-;;;;;; "cedet/semantic/wisent/wisent.el" "cedet/srecode/args.el"
-;;;;;; "cedet/srecode/compile.el" "cedet/srecode/cpp.el"
"cedet/srecode/ctxt.el"
-;;;;;; "cedet/srecode/dictionary.el" "cedet/srecode/document.el"
+;;;;;; "cedet/semantic/wisent/python.el" "cedet/semantic/wisent/wisent.el"
+;;;;;; "cedet/srecode/args.el" "cedet/srecode/compile.el"
"cedet/srecode/cpp.el"
+;;;;;; "cedet/srecode/ctxt.el" "cedet/srecode/dictionary.el"
"cedet/srecode/document.el"
;;;;;; "cedet/srecode/el.el" "cedet/srecode/expandproto.el"
"cedet/srecode/extract.el"
;;;;;; "cedet/srecode/fields.el" "cedet/srecode/filters.el"
"cedet/srecode/find.el"
;;;;;; "cedet/srecode/getset.el" "cedet/srecode/insert.el"
"cedet/srecode/java.el"
;;;;;; "cedet/srecode/map.el" "cedet/srecode/mode.el"
"cedet/srecode/semantic.el"
-;;;;;; "cedet/srecode/srt-wy.el" "cedet/srecode/srt.el"
"cedet/srecode/table.el"
-;;;;;; "cedet/srecode/template.el" "cedet/srecode/texi.el" "cus-dep.el"
-;;;;;; "dframe.el" "dired-aux.el" "dired-x.el" "dom.el" "dos-fns.el"
-;;;;;; "dos-vars.el" "dos-w32.el" "dynamic-setting.el"
"emacs-lisp/avl-tree.el"
-;;;;;; "emacs-lisp/bindat.el" "emacs-lisp/byte-opt.el"
"emacs-lisp/cl-extra.el"
-;;;;;; "emacs-lisp/cl-generic.el" "emacs-lisp/cl-macs.el"
"emacs-lisp/cl-seq.el"
-;;;;;; "emacs-lisp/cl.el" "emacs-lisp/eieio-base.el"
"emacs-lisp/eieio-compat.el"
-;;;;;; "emacs-lisp/eieio-custom.el" "emacs-lisp/eieio-datadebug.el"
-;;;;;; "emacs-lisp/eieio-opt.el" "emacs-lisp/eieio-speedbar.el"
-;;;;;; "emacs-lisp/lisp-mnt.el" "emacs-lisp/package-x.el" "emacs-lisp/smie.el"
-;;;;;; "emacs-lisp/subr-x.el" "emacs-lisp/tcover-ses.el"
"emacs-lisp/tcover-unsafep.el"
+;;;;;; "cedet/srecode/srt.el" "cedet/srecode/table.el"
"cedet/srecode/template.el"
+;;;;;; "cedet/srecode/texi.el" "cus-dep.el" "dframe.el" "dired-aux.el"
+;;;;;; "dired-x.el" "dom.el" "dos-fns.el" "dos-vars.el" "dos-w32.el"
+;;;;;; "dynamic-setting.el" "emacs-lisp/avl-tree.el" "emacs-lisp/bindat.el"
+;;;;;; "emacs-lisp/byte-opt.el" "emacs-lisp/cl-extra.el"
"emacs-lisp/cl-generic.el"
+;;;;;; "emacs-lisp/cl-macs.el" "emacs-lisp/cl-seq.el" "emacs-lisp/cl.el"
+;;;;;; "emacs-lisp/eieio-base.el" "emacs-lisp/eieio-compat.el"
"emacs-lisp/eieio-custom.el"
+;;;;;; "emacs-lisp/eieio-datadebug.el" "emacs-lisp/eieio-opt.el"
+;;;;;; "emacs-lisp/eieio-speedbar.el" "emacs-lisp/lisp-mnt.el"
"emacs-lisp/package-x.el"
+;;;;;; "emacs-lisp/smie.el" "emacs-lisp/subr-x.el" "emacs-lisp/tcover-ses.el"
+;;;;;; "emacs-lisp/tcover-unsafep.el" "emacs-parallel/parallel-remote.el"
+;;;;;; "emacs-parallel/parallel-xwidget.el" "emacs-parallel/parallel.el"
;;;;;; "emulation/cua-gmrk.el" "emulation/edt-lk201.el"
"emulation/edt-mapper.el"
;;;;;; "emulation/edt-pc.el" "emulation/edt-vt100.el" "emulation/viper-cmd.el"
;;;;;; "emulation/viper-ex.el" "emulation/viper-init.el"
"emulation/viper-keym.el"
@@ -32013,35 +32020,28 @@ Zone out, completely.
;;;;;; "gnus/spam-wash.el" "hex-util.el" "hfy-cmap.el" "ibuf-ext.el"
;;;;;; "international/cp51932.el" "international/eucjp-ms.el"
"international/fontset.el"
;;;;;; "international/iso-ascii.el" "international/ja-dic-cnv.el"
-;;;;;; "international/ja-dic-utl.el" "international/ogonek.el"
"international/uni-bidi.el"
-;;;;;; "international/uni-brackets.el" "international/uni-category.el"
-;;;;;; "international/uni-combining.el" "international/uni-comment.el"
-;;;;;; "international/uni-decimal.el" "international/uni-decomposition.el"
-;;;;;; "international/uni-digit.el" "international/uni-lowercase.el"
-;;;;;; "international/uni-mirrored.el" "international/uni-name.el"
-;;;;;; "international/uni-numeric.el" "international/uni-old-name.el"
-;;;;;; "international/uni-titlecase.el" "international/uni-uppercase.el"
-;;;;;; "kermit.el" "language/hanja-util.el" "language/thai-word.el"
-;;;;;; "ldefs-boot.el" "leim/ja-dic/ja-dic.el" "leim/quail/arabic.el"
-;;;;;; "leim/quail/croatian.el" "leim/quail/cyril-jis.el"
"leim/quail/cyrillic.el"
-;;;;;; "leim/quail/czech.el" "leim/quail/ethiopic.el" "leim/quail/georgian.el"
-;;;;;; "leim/quail/greek.el" "leim/quail/hanja-jis.el" "leim/quail/hanja.el"
-;;;;;; "leim/quail/hanja3.el" "leim/quail/hebrew.el" "leim/quail/indian.el"
-;;;;;; "leim/quail/ipa-praat.el" "leim/quail/ipa.el" "leim/quail/japanese.el"
-;;;;;; "leim/quail/lao.el" "leim/quail/latin-alt.el" "leim/quail/latin-ltx.el"
-;;;;;; "leim/quail/latin-post.el" "leim/quail/latin-pre.el"
"leim/quail/lrt.el"
-;;;;;; "leim/quail/persian.el" "leim/quail/py-punct.el"
"leim/quail/pypunct-b5.el"
-;;;;;; "leim/quail/rfc1345.el" "leim/quail/sgml-input.el"
"leim/quail/sisheng.el"
-;;;;;; "leim/quail/slovak.el" "leim/quail/symbol-ksc.el" "leim/quail/thai.el"
-;;;;;; "leim/quail/tibetan.el" "leim/quail/viqr.el" "leim/quail/vntelex.el"
-;;;;;; "leim/quail/vnvni.el" "leim/quail/welsh.el" "loadup.el"
"mail/blessmail.el"
-;;;;;; "mail/mailheader.el" "mail/mspools.el" "mail/rfc2368.el"
-;;;;;; "mail/rfc822.el" "mail/rmail-spam-filter.el" "mail/rmailedit.el"
-;;;;;; "mail/rmailkwd.el" "mail/rmailmm.el" "mail/rmailmsc.el"
"mail/rmailsort.el"
-;;;;;; "mail/rmailsum.el" "mail/undigest.el" "mh-e/mh-acros.el"
-;;;;;; "mh-e/mh-alias.el" "mh-e/mh-buffers.el" "mh-e/mh-compat.el"
-;;;;;; "mh-e/mh-funcs.el" "mh-e/mh-gnus.el" "mh-e/mh-identity.el"
-;;;;;; "mh-e/mh-inc.el" "mh-e/mh-junk.el" "mh-e/mh-letter.el"
"mh-e/mh-limit.el"
+;;;;;; "international/ja-dic-utl.el" "international/ogonek.el" "kermit.el"
+;;;;;; "language/hanja-util.el" "language/thai-word.el" "ldefs-boot.el"
+;;;;;; "leim/quail/arabic.el" "leim/quail/croatian.el"
"leim/quail/cyril-jis.el"
+;;;;;; "leim/quail/cyrillic.el" "leim/quail/czech.el" "leim/quail/ethiopic.el"
+;;;;;; "leim/quail/georgian.el" "leim/quail/greek.el"
"leim/quail/hanja-jis.el"
+;;;;;; "leim/quail/hanja.el" "leim/quail/hanja3.el" "leim/quail/hebrew.el"
+;;;;;; "leim/quail/indian.el" "leim/quail/ipa-praat.el" "leim/quail/ipa.el"
+;;;;;; "leim/quail/japanese.el" "leim/quail/lao.el" "leim/quail/latin-alt.el"
+;;;;;; "leim/quail/latin-ltx.el" "leim/quail/latin-post.el"
"leim/quail/latin-pre.el"
+;;;;;; "leim/quail/lrt.el" "leim/quail/persian.el" "leim/quail/py-punct.el"
+;;;;;; "leim/quail/pypunct-b5.el" "leim/quail/rfc1345.el"
"leim/quail/sgml-input.el"
+;;;;;; "leim/quail/sisheng.el" "leim/quail/slovak.el"
"leim/quail/symbol-ksc.el"
+;;;;;; "leim/quail/thai.el" "leim/quail/tibetan.el" "leim/quail/viqr.el"
+;;;;;; "leim/quail/vntelex.el" "leim/quail/vnvni.el" "leim/quail/welsh.el"
+;;;;;; "loadup.el" "mail/blessmail.el" "mail/mailheader.el" "mail/mspools.el"
+;;;;;; "mail/rfc2368.el" "mail/rfc822.el" "mail/rmail-spam-filter.el"
+;;;;;; "mail/rmailedit.el" "mail/rmailkwd.el" "mail/rmailmm.el"
+;;;;;; "mail/rmailmsc.el" "mail/rmailsort.el" "mail/rmailsum.el"
+;;;;;; "mail/undigest.el" "mh-e/mh-acros.el" "mh-e/mh-alias.el"
+;;;;;; "mh-e/mh-buffers.el" "mh-e/mh-compat.el" "mh-e/mh-funcs.el"
+;;;;;; "mh-e/mh-gnus.el" "mh-e/mh-identity.el" "mh-e/mh-inc.el"
+;;;;;; "mh-e/mh-junk.el" "mh-e/mh-letter.el" "mh-e/mh-limit.el"
;;;;;; "mh-e/mh-loaddefs.el" "mh-e/mh-mime.el" "mh-e/mh-print.el"
;;;;;; "mh-e/mh-scan.el" "mh-e/mh-search.el" "mh-e/mh-seq.el"
"mh-e/mh-show.el"
;;;;;; "mh-e/mh-speed.el" "mh-e/mh-thread.el" "mh-e/mh-tool-bar.el"
@@ -32110,8 +32110,8 @@ Zone out, completely.
;;;;;; "vc/ediff-ptch.el" "vc/ediff-vers.el" "vc/ediff-wind.el"
;;;;;; "vc/pcvs-info.el" "vc/pcvs-parse.el" "vc/pcvs-util.el" "vc/vc-dav.el"
;;;;;; "vc/vc-filewise.el" "vcursor.el" "vt-control.el" "vt100-led.el"
-;;;;;; "w32-fns.el" "w32-vars.el" "x-dnd.el") (21710 33148 175417
-;;;;;; 782000))
+;;;;;; "w32-fns.el" "w32-vars.el" "x-dnd.el") (21710 3276 42011
+;;;;;; 943000))
;;;***
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 42fb954..57c7b61 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -668,7 +668,7 @@ regarding its parameter treatment."
;; functions allows them to be stand-alone commands, making it easier
;; to switch between browsers.
-(defun browse-url-interactive-arg (prompt)
+(defun browse-url-interactive-arg (prompt &optional default-url)
"Read a URL from the minibuffer, prompting with PROMPT.
If `transient-mark-mode' is non-nil and the mark is active,
it defaults to the current region, else to the URL at or before
@@ -685,7 +685,8 @@ for use in `interactive'."
"[\t\r\f\n ]+" ""
(buffer-substring-no-properties
(region-beginning) (region-end))))
- (browse-url-url-at-point)))
+ (browse-url-url-at-point)
+ default-url))
(not (eq (null browse-url-new-window-flag)
(null current-prefix-arg)))))
@@ -795,6 +796,13 @@ narrowed."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Browser-independent commands
+(defun url-tidy (url)
+ "Tidy up URL as much as possible."
+ (if (equal 0 (string-match ".*://" url))
+ url
+ (concat "http://" url) ;;TODO guess more url forms, like mailto
+ ))
+
;; A generic command to call the current browse-url-browser-function
;;;###autoload
@@ -807,6 +815,7 @@ first, if that exists."
(interactive (browse-url-interactive-arg "URL: "))
(unless (called-interactively-p 'interactive)
(setq args (or args (list browse-url-new-window-flag))))
+ (setq url (url-tidy url))
(when (and url-handler-mode (not (file-name-absolute-p url)))
(setq url (expand-file-name url)))
(let ((process-environment (copy-sequence process-environment))
diff --git a/lisp/xwidget.el b/lisp/xwidget.el
new file mode 100644
index 0000000..de3235d
--- /dev/null
+++ b/lisp/xwidget.el
@@ -0,0 +1,592 @@
+;;; xwidget.el --- api functions for xwidgets -*- lexical-binding: t -*-
+;; see xwidget.c for more api functions
+
+
+;;; Commentary:
+;;
+
+;;TODO this breaks compilation when we dont have xwidgets
+;;(require 'xwidget-internal)
+
+;;TODO model after make-text-button instead!
+;;; Code:
+
+(eval-when-compile (require 'cl))
+(require 'reporter)
+(require 'bookmark)
+
+(defcustom xwidget-webkit-scroll-behaviour 'native
+ "Scroll behaviour of the webkit instance.
+'native or 'image."
+ :group 'xwidgets)
+
+(defun xwidget-insert (pos type title width height)
+ "Insert an xwidget at POS.
+given ID, TYPE, TITLE WIDTH and
+HEIGHT in the current buffer.
+
+Return ID
+
+see `make-xwidget' for types suitable for TYPE."
+ (goto-char pos)
+ (let ((id (make-xwidget (point) (point)
+ type title width height nil)))
+ (put-text-property (point) (+ 1 (point))
+ 'display (list 'xwidget ':xwidget id))
+ id))
+
+(defun xwidget-at (pos)
+ "Return xwidget at POS."
+ ;;TODO this function is a bit tedious because the C layer isnt well
protected yet and
+ ;;xwidgetp aparently doesnt work yet
+ (let* ((disp (get-text-property pos 'display))
+ (xw (car (cdr (cdr disp)))))
+ ;;(if ( xwidgetp xw) xw nil)
+ (if (equal 'xwidget (car disp)) xw)))
+
+
+;; (defun xwidget-socket-handler ()
+;; "Create plug for socket. TODO."
+;; (interactive)
+;; (message "socket handler xwidget %S" last-input-event)
+;; (let*
+;; ((xwidget-event-type (nth 2 last-input-event))
+;; (xwidget-id (nth 1 last-input-event)))
+;; (cond ( (eq xwidget-event-type 'xembed-ready)
+;; (let*
+;; ((xembed-id (nth 3 last-input-event)))
+;; (message "xembed ready event: %S xw-id:%s" xembed-id
xwidget-id)
+;; ;;TODO fetch process data from the xwidget. create it, store
process info
+;; ;;will start emacs/uzbl in a xembed socket when its ready
+;; ;; (cond
+;; ;; ((eq 3 xwidget-id)
+;; ;; (start-process "xembed" "*xembed*" (format "%ssrc/emacs"
default-directory) "-q" "--parent-id" (number-to-string xembed-id) ) )
+;; ;; ((eq 5 xwidget-id)
+;; ;; (start-process "xembed2" "*xembed2*" "uzbl-core" "-s"
(number-to-string xembed-id) "http://www.fsf.org" ) )
+;; )))))
+
+(defun xwidget-display (xwidget)
+ "Force XWIDGET to be displayed to create a xwidget_view.
+Return the window displaying XWIDGET."
+ (let* ((buffer (xwidget-buffer xwidget))
+ (window (display-buffer buffer))
+ (frame (window-frame window)))
+ (set-frame-visible frame t)
+ (redisplay t)
+ window))
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; webkit support
+(require 'browse-url)
+(require 'image-mode);;for some image-mode alike functionality
+(require 'cl-macs);;for flet
+
+;;;###autoload
+(defun xwidget-webkit-browse-url (url &optional new-session)
+ "Ask xwidget-webkit to browse URL.
+NEW-SESSION specifies whether to create a new xwidget-webkit session. URL
+defaults to the string looking like a url around the cursor position."
+ (interactive (progn
+ (require 'browse-url)
+ (browse-url-interactive-arg "xwidget-webkit URL: "
+ ;;( xwidget-webkit-current-url)
+ )))
+ (when (stringp url)
+ (setq url (url-tidy url))
+ (if new-session
+ (xwidget-webkit-new-session url)
+ (xwidget-webkit-goto-url url))))
+
+
+;;shims for adapting image mode code to the webkit browser window
+(defun xwidget-image-display-size (spec &optional pixels frame)
+ "Image code adaptor. SPEC PIXELS FRAME like the corresponding `image-mode'
fn."
+ (let ((xwi (xwidget-info (xwidget-at 1))))
+ (cons (aref xwi 2)
+ (aref xwi 3))))
+
+(defadvice image-display-size (around image-display-size-for-xwidget
+ (spec &optional pixels frame)
+ activate)
+ "Advice for re-using image mode for xwidget."
+ (if (eq (car spec) 'xwidget)
+ (setq ad-return-value (xwidget-image-display-size spec pixels frame))
+ ad-do-it))
+
+;;todo.
+;; - check that the webkit support is compiled in
+(defvar xwidget-webkit-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map "g" 'xwidget-webkit-browse-url)
+ (define-key map "a" 'xwidget-webkit-adjust-size-dispatch)
+ (define-key map "b" 'xwidget-webkit-back )
+ (define-key map "r" 'xwidget-webkit-reload )
+ (define-key map "t" (lambda () (interactive) (message "o")) )
+ (define-key map "\C-m" 'xwidget-webkit-insert-string)
+ (define-key map "w" 'xwidget-webkit-current-url)
+
+ ;;similar to image mode bindings
+ (define-key map (kbd "SPC") 'xwidget-webkit-scroll-up)
+ (define-key map (kbd "DEL") 'xwidget-webkit-scroll-down)
+
+ (define-key map [remap scroll-up] 'xwidget-webkit-scroll-up)
+ (define-key map [remap scroll-up-command] 'xwidget-webkit-scroll-up)
+
+ (define-key map [remap scroll-down] 'xwidget-webkit-scroll-down)
+ (define-key map [remap scroll-down-command] 'xwidget-webkit-scroll-down)
+
+ (define-key map [remap forward-char]
'xwidget-webkit-scroll-forward)
+ (define-key map [remap backward-char]
'xwidget-webkit-scroll-backward)
+ (define-key map [remap right-char]
'xwidget-webkit-scroll-forward)
+ (define-key map [remap left-char]
'xwidget-webkit-scroll-backward)
+ ;; (define-key map [remap previous-line] 'image-previous-line)
+ ;; (define-key map [remap next-line] 'image-next-line)
+
+ ;; (define-key map [remap move-beginning-of-line] 'image-bol)
+ ;; (define-key map [remap move-end-of-line] 'image-eol)
+ ;; (define-key map [remap beginning-of-buffer] 'image-bob)
+ ;; (define-key map [remap end-of-buffer] 'image-eob)
+ map)
+ "Keymap for `xwidget-webkit-mode'.")
+
+(defun xwidget-webkit-scroll-up ()
+ "Scroll webkit up,either native or like image mode."
+ (interactive)
+ (if (eq xwidget-webkit-scroll-behaviour 'native)
+ (xwidget-set-adjustment (xwidget-webkit-last-session) 'vertical t 50)
+ (image-scroll-up)))
+
+(defun xwidget-webkit-scroll-down ()
+ "Scroll webkit down,either native or like image mode."
+ (interactive)
+ (if (eq xwidget-webkit-scroll-behaviour 'native)
+ (xwidget-set-adjustment (xwidget-webkit-last-session) 'vertical t -50)
+ (image-scroll-down)))
+
+(defun xwidget-webkit-scroll-forward ()
+ "Scroll webkit forward,either native or like image mode."
+ (interactive)
+ (if (eq xwidget-webkit-scroll-behaviour 'native)
+ (xwidget-set-adjustment (xwidget-webkit-last-session) 'horizontal t 50)
+ (xwidget-webkit-scroll-forward)))
+
+(defun xwidget-webkit-scroll-backward ()
+ "Scroll webkit backward,either native or like image mode."
+ (interactive)
+ (if (eq xwidget-webkit-scroll-behaviour 'native)
+ (xwidget-set-adjustment (xwidget-webkit-last-session) 'horizontal t -50)
+ (xwidget-webkit-scroll-backward)))
+
+
+;;the xwidget event needs to go into a higher level handler
+;;since the xwidget can generate an event even if its offscreen
+;;TODO this needs to use callbacks and consider different xw ev types
+(define-key (current-global-map) [xwidget-event] 'xwidget-event-handler)
+(defun xwidget-log ( &rest msg)
+ "Log MSG to a buffer."
+ (let ( (buf (get-buffer-create "*xwidget-log*")))
+ (save-excursion
+ (buffer-disable-undo buf)
+ (set-buffer buf)
+ (insert (apply 'format msg))
+ (insert "\n"))))
+
+(defun xwidget-event-handler ()
+ "Receive xwidget event."
+ (interactive)
+ (xwidget-log "stuff happened to xwidget %S" last-input-event)
+ (let*
+ ((xwidget-event-type (nth 1 last-input-event))
+ (xwidget (nth 2 last-input-event))
+ ;(xwidget-callback (xwidget-get
xwidget 'callback));;TODO stopped working for some reason
+ )
+ ;(funcall xwidget-callback xwidget
xwidget-event-type)
+ (message "xw callback %s" xwidget)
+ (funcall 'xwidget-webkit-callback xwidget xwidget-event-type)))
+
+(defun xwidget-webkit-callback (xwidget xwidget-event-type)
+ "Callback for xwidgets.
+XWIDGET instance, XWIDGET-EVENT-TYPE depends on the originating xwidget."
+ (save-excursion
+ (cond ((buffer-live-p (xwidget-buffer xwidget))
+ (set-buffer (xwidget-buffer xwidget))
+ (let* ((strarg (nth 3 last-input-event)))
+ (cond ((eq xwidget-event-type 'document-load-finished)
+ (xwidget-log "webkit finished loading: '%s'"
(xwidget-webkit-get-title xwidget))
+ ;;TODO - check the native/internal scroll
+ ;;(xwidget-adjust-size-to-content xwidget)
+ (xwidget-webkit-adjust-size-dispatch) ;;TODO send xwidget
here
+ (rename-buffer (format "*xwidget webkit: %s *"
(xwidget-webkit-get-title xwidget)))
+ (pop-to-buffer (current-buffer)))
+ ((eq xwidget-event-type
'navigation-policy-decision-requested)
+ (if (string-match ".*#\\(.*\\)" strarg)
+ (xwidget-webkit-show-id-or-named-element xwidget
(match-string 1 strarg))))
+ (t (xwidget-log "unhandled event:%s" xwidget-event-type)))))
+ (t (xwidget-log "error: callback called for xwidget with dead
buffer")))))
+
+(defvar bookmark-make-record-function)
+(define-derived-mode xwidget-webkit-mode
+ special-mode "xwidget-webkit" "xwidget webkit view mode"
+ (setq buffer-read-only t)
+ (setq-local bookmark-make-record-function
+ #'xwidget-webkit-bookmark-make-record)
+ ;; Keep track of [vh]scroll when switching buffers
+ (image-mode-setup-winprops))
+
+(defun xwidget-webkit-bookmark-make-record ()
+ (nconc (bookmark-make-record-default t t)
+ `((page . ,(xwidget-webkit-current-url))
+ (handler . (lambda (bmk) (browse-url (bookmark-prop-get bmk
'page)))))))
+
+
+(defvar xwidget-webkit-last-session-buffer nil)
+
+(defun xwidget-webkit-last-session ()
+ "Last active webkit, or nil."
+ (if (buffer-live-p xwidget-webkit-last-session-buffer)
+ (with-current-buffer xwidget-webkit-last-session-buffer
+ (xwidget-at 1))
+ nil))
+
+(defun xwidget-webkit-current-session ()
+ "Either the webkit in the current buffer, or the last one used, which might
be nil."
+ (if (xwidget-at 1)
+ (xwidget-at 1)
+ (xwidget-webkit-last-session)))
+
+(defun xwidget-adjust-size-to-content (xw)
+ "Resize XW to content."
+ ;;xwidgets doesnt support widgets that have their own opinions about size
well yet
+ ;;this reads the desired size and resizes the emacs allocated area
accordingly
+ (let ((size (xwidget-size-request xw)))
+ (xwidget-resize xw (car size) (cadr size))))
+
+
+(defvar xwidget-webkit-activeelement-js"
+function findactiveelement(doc){
+//alert(doc.activeElement.value);
+ if(doc.activeElement.value != undefined){
+ return doc.activeElement;
+ }else{
+ // recurse over the child documents:
+ var frames = doc.getElementsByTagName('frame');
+ for (var i = 0; i < frames.length; i++)
+ {
+ var d = frames[i].contentDocument;
+ var rv = findactiveelement(d);
+ if(rv != undefined){
+ return rv;
+ }
+ }
+ }
+ return undefined;
+};
+
+
+"
+
+ "javascript that finds the active element."
+ ;;yes its ugly. because:
+ ;; - there is aparently no way to find the active frame other than recursion
+ ;; - the js "for each" construct missbehaved on the "frames" collection
+ ;; - a window with no frameset still has frames.length == 1, but
frames[0].document.activeElement != document.activeElement
+ ;;TODO the activeelement type needs to be examined, for iframe, etc. sucks.
+ )
+
+(defun xwidget-webkit-insert-string (xw str)
+ "Insert string in the active field in the webkit.
+Argument XW webkit.
+Argument STR string."
+ ;;read out the string in the field first and provide for edit
+ (interactive
+ (let* ((xww (xwidget-webkit-current-session))
+
+ (field-value
+ (progn
+ (xwidget-webkit-execute-script xww
xwidget-webkit-activeelement-js)
+ (xwidget-webkit-execute-script-rv xww
"findactiveelement(document).value;" )))
+ (field-type (xwidget-webkit-execute-script-rv xww
"findactiveelement(document).type;" )))
+ (list xww
+ (cond ((equal "text" field-type)
+ (read-string "text:" field-value))
+ ((equal "password" field-type)
+ (read-passwd "password:" nil field-value))
+ ((equal "textarea" field-type)
+ (xwidget-webkit-begin-edit-textarea xww field-value))))))
+ (xwidget-webkit-execute-script xw (format
"findactiveelement(document).value='%s'" str)))
+
+(defvar xwidget-xwbl)
+(defun xwidget-webkit-begin-edit-textarea (xw text)
+ "Start editing of a webkit text area.
+XW is the xwidget identifier, TEXT is retrieved from the webkit."
+ (switch-to-buffer
+ (generate-new-buffer "textarea"))
+
+ (set (make-local-variable 'xwidget-xwbl) xw)
+ (insert text))
+
+(defun xwidget-webkit-end-edit-textarea ()
+ "End editing of a webkit text area."
+ (interactive)
+ (goto-char (point-min))
+ (while (search-forward "\n" nil t)
+ (replace-match "\\n" nil t))
+ (xwidget-webkit-execute-script xwidget-xwbl (format
"findactiveelement(document).value='%s'"
+ (buffer-substring (point-min)
(point-max))))
+ ;;TODO convert linefeed to \n
+ )
+
+(defun xwidget-webkit-show-named-element (xw element-name)
+ "Make named-element show. for instance an anchor."
+ (interactive (list (xwidget-webkit-current-session) (read-string "element
name:")))
+ ;;TODO
+ ;; since an xwidget is an Emacs object, it is not trivial to do some things
that are taken for granted in a normal browser.
+ ;; scrolling an anchor/named-element into view is one such thing.
+ ;; this function implements a proof-of-concept for this.
+ ;; problems remaining:
+ ;; - the selected window is scrolled but this is not always correct
+ ;; - this needs to be interfaced into browse-url somehow. the tricky part is
that we need to do this in two steps:
+ ;; A: load the base url, wait for load signal to arrive B: navigate to the
anchor when the base url is finished rendering
+
+ ;;this part figures out the Y coordinate of the element
+ (let ((y (string-to-number
+ (xwidget-webkit-execute-script-rv xw
+ (format
"document.getElementsByName('%s')[0].getBoundingClientRect().top" element-name)
+ 0))))
+ ;;now we need to tell emacs to scroll the element into view.
+ (xwidget-log "scroll: %d" y)
+ (set-window-vscroll (selected-window) y t)))
+
+(defun xwidget-webkit-show-id-element (xw element-id)
+ "make id-element show. for instance an anchor."
+ (interactive (list (xwidget-webkit-current-session)
+ (read-string "element id:")))
+ (let ((y (string-to-number
+ (xwidget-webkit-execute-script-rv xw
+ (format
"document.getElementById('%s').getBoundingClientRect().top" element-id)
+ 0))))
+ ;;now we need to tell emacs to scroll the element into view.
+ (xwidget-log "scroll: %d" y)
+ (set-window-vscroll (selected-window) y t)))
+
+(defun xwidget-webkit-show-id-or-named-element (xw element-id)
+ "make id-element show. for instance an anchor."
+ (interactive (list (xwidget-webkit-current-session)
+ (read-string "element id:")))
+ (let* ((y1 (string-to-number
+ (xwidget-webkit-execute-script-rv xw
+ (format
"document.getElementsByName('%s')[0].getBoundingClientRect().top" element-id)
+ "0")))
+ (y2 (string-to-number
+ (xwidget-webkit-execute-script-rv xw
+ (format
"document.getElementById('%s').getBoundingClientRect().top" element-id)
+ "0")))
+ (y3 (max y1 y2)))
+ ;;now we need to tell emacs to scroll the element into view.
+ (xwidget-log "scroll: %d" y3)
+ (set-window-vscroll (selected-window) y3 t)))
+
+(defun xwidget-webkit-adjust-size-to-content ()
+ "Adjust webkit to content size."
+ (interactive)
+ (xwidget-adjust-size-to-content (xwidget-webkit-current-session)))
+
+(defun xwidget-webkit-adjust-size-dispatch ()
+ "Adjust size according to mode."
+ (interactive)
+ (if (eq xwidget-webkit-scroll-behaviour 'native)
+ (xwidget-webkit-adjust-size-to-window)
+ (xwidget-webkit-adjust-size-to-content))
+ ;;the recenter is intended to correct a visual glitch
+ ;;it errors out if the buffer isnt visible, but then we dont get the glitch,
+ ;;so silence errors
+ (ignore-errors
+ (recenter-top-bottom))
+ )
+
+(defun xwidget-webkit-adjust-size-to-window ()
+ "Adjust webkit to window."
+ (interactive)
+ (xwidget-resize ( xwidget-webkit-current-session) (window-pixel-width)
(window-pixel-height)))
+
+(defun xwidget-webkit-adjust-size (w h)
+ "Manualy set webkit size.
+Argument W width.
+Argument H height."
+ ;;TODO shouldnt be tied to the webkit xwidget
+ (interactive "nWidth:\nnHeight:\n")
+ (xwidget-resize ( xwidget-webkit-current-session) w h))
+
+(defun xwidget-webkit-fit-width ()
+ "Adjust width of webkit to window width."
+ (interactive)
+ (xwidget-webkit-adjust-size (- (caddr (window-inside-pixel-edges))
+ (car (window-inside-pixel-edges)))
+ 1000))
+
+(defun xwidget-webkit-new-session (url)
+ "Create a new webkit session buffer with URL."
+ (let*
+ ((bufname (generate-new-buffer-name "*xwidget-webkit*"))
+ xw)
+ (setq xwidget-webkit-last-session-buffer (switch-to-buffer
(get-buffer-create bufname)))
+ (insert " 'a' adjusts the xwidget size.")
+ (setq xw (xwidget-insert 1 'webkit-osr bufname 1000 1000))
+ (xwidget-put xw 'callback 'xwidget-webkit-callback)
+ (xwidget-webkit-mode)
+ (xwidget-webkit-goto-uri (xwidget-webkit-last-session) url )))
+
+
+(defun xwidget-webkit-goto-url (url)
+ "Goto URL."
+ (if (xwidget-webkit-current-session)
+ (progn
+ (xwidget-webkit-goto-uri (xwidget-webkit-current-session) url))
+ (xwidget-webkit-new-session url)))
+
+(defun xwidget-webkit-back ()
+ "Back in history."
+ (interactive)
+ (xwidget-webkit-execute-script (xwidget-webkit-current-session)
"history.go(-1);"))
+
+(defun xwidget-webkit-reload ()
+ "Reload current url."
+ (interactive)
+ (xwidget-webkit-execute-script (xwidget-webkit-current-session)
"history.go(0);"))
+
+(defun xwidget-webkit-current-url ()
+ "Get the webkit url. place it on kill ring."
+ (interactive)
+ (let* ((rv (xwidget-webkit-execute-script-rv (xwidget-webkit-current-session)
+ "document.URL"))
+ (url (kill-new (or rv ""))))
+ (message "url: %s" url )
+ url))
+
+(defun xwidget-webkit-execute-script-rv (xw script &optional default)
+ "Same as 'xwidget-webkit-execute-script' but but with return value.
+XW is the webkit instance. SCRIPT is the script to execut.
+DEFAULT is the defaultreturn value."
+ ;;notice the fugly "title" hack. it is needed because the webkit api
+ ;;doesnt support returning values. this is a wrapper for the title
+ ;;hack so its easy to remove should webkit someday support JS return
+ ;;values or we find some other way to access the DOM
+
+ ;;reset webkit title. fugly.
+ (let* ((emptytag "titlecantbewhitespaceohthehorror")
+ title)
+ (xwidget-webkit-execute-script xw (format "document.title=\"%s\";" (or
default emptytag)))
+ (xwidget-webkit-execute-script xw (format "document.title=%s;" script))
+ (setq title (xwidget-webkit-get-title xw))
+ (if (equal emptytag title)
+ (setq title ""))
+ (unless title
+ (setq title default))
+ title))
+
+
+;; use declare here?
+;; (declare-function xwidget-resize-internal "xwidget.c" )
+;; check-declare-function?
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(defun xwidget-webkit-get-selection ()
+ "Get the webkit selection."
+ (xwidget-webkit-execute-script-rv (xwidget-webkit-current-session)
+ "window.getSelection().toString();"))
+
+(defun xwidget-webkit-copy-selection-as-kill ()
+ "Get the webkit selection and put it on the kill ring."
+ (interactive)
+ (kill-new (xwidget-webkit-get-selection)))
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; xwidget plist management(similar to the process plist functions)
+
+(defun xwidget-get (xwidget propname)
+ "Return the value of XWIDGET' PROPNAME property.
+This is the last value stored with `(xwidget-put XWIDGET PROPNAME VALUE)'."
+ (plist-get (xwidget-plist xwidget) propname))
+
+(defun xwidget-put (xwidget propname value)
+ "Change XWIDGET' PROPNAME property to VALUE.
+It can be retrieved with `(xwidget-get XWIDGET PROPNAME)'."
+ (set-xwidget-plist xwidget
+ (plist-put (xwidget-plist xwidget) propname value)))
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(defun xwidget-delete-zombies ()
+ "Helper for xwidget-cleanup."
+ (dolist (xwidget-view xwidget-view-list)
+ (when (or (not (window-live-p (xwidget-view-window xwidget-view)))
+ (not (memq (xwidget-view-model xwidget-view)
+ xwidget-list)))
+ (delete-xwidget-view xwidget-view))))
+
+(defun xwidget-cleanup ()
+ "Delete zombie xwidgets."
+ ;;its still pretty easy to trigger bugs with xwidgets.
+ ;;this function tries to implement a workaround
+ (interactive)
+ ;; kill xviews who should have been deleted but stull linger
+ (xwidget-delete-zombies)
+ ;; redraw display otherwise ghost of zombies will remain to haunt the screen
+ (redraw-display))
+
+;;this is a workaround because I cant find the right place to put it in C
+;;seems to work well in practice though
+;;(add-hook 'window-configuration-change-hook 'xwidget-cleanup)
+(add-hook 'window-configuration-change-hook 'xwidget-delete-zombies)
+
+(defun xwidget-kill-buffer-query-function ()
+ "Ask beforek illing a buffer that has xwidgets."
+ (let ((xwidgets (get-buffer-xwidgets (current-buffer))))
+ (or (not xwidgets)
+ (not (memq t (mapcar 'xwidget-query-on-exit-flag xwidgets)))
+ (yes-or-no-p
+ (format "Buffer %S has xwidgets; kill it? "
+ (buffer-name (current-buffer)))))))
+
+(add-hook 'kill-buffer-query-functions 'xwidget-kill-buffer-query-function)
+
+;;killflash is sadly not reliable yet.
+(defvar xwidget-webkit-kill-flash-oneshot t)
+(defun xwidget-webkit-kill-flash ()
+ "Disable the flash plugin in webkit.
+This is needed because Flash is non-free and doesnt work reliably
+on 64 bit systems and offscreen rendering. Sadly not reliable
+yet, so deinstall Flash instead for now."
+ ;;you can only call this once or webkit crashes and takes emacs with it. odd.
+ (unless xwidget-webkit-kill-flash-oneshot
+ (xwidget-disable-plugin-for-mime "application/x-shockwave-flash")
+ (setq xwidget-webkit-kill-flash-oneshot t)))
+
+(xwidget-webkit-kill-flash)
+
+(defun report-xwidget-bug ()
+ "Report a bug in GNU Emacs about the XWidget branch.
+Prompts for bug subject. Leaves you in a mail buffer."
+ (interactive)
+ (let ((reporter-prompt-for-summary-p t))
+ (reporter-submit-bug-report "address@hidden" nil nil nil nil
+ (format "Package: emacs-xwidgets
+
+Please describee xactly whata ctions triggered the bug, and the
+precise symptoms of the bug. If you can, give a recipe starting
+from `emacs -Q'.
+
+If Emacs crashed, and you have the Emacs process in the gdb
+deubbger, please include the output from the following gdb
+commands:
+ `bt full' and `xbacktrace'.
+
+For information about debugging Emacs, please read the file
+%s" (expand-file-name "DEBUG" data-directory)))))
+
+(provide 'xwidget)
+
+;;; xwidget.el ends here
diff --git a/src/ChangeLog b/src/ChangeLog
index d3f667e..d45b4e3 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -2,6 +2,23 @@
* xdisp.c (Fwindow_text_pixel_size): Add optional argument BUFFER.
+2015-02-01 Joakim Verona <address@hidden>
+ Support for the new Xwidget feature.
+ * window.c, Makefile.in, buffer.c, dispextern.h, dispnew.c, emacs.c:
+ * emacsgtkfixed.c, emacsgtkfixed.h, keyboard.c, lisp.h, print.c:
+ * termhooks.h, window.c, xdisp.c, xterm.c
+ New files for xwidgets:
+ * xwidget.c, xwidget.h:
+ Support for testing xwidgets
+ * xwidget-test-manual.el:
+
+2015-02-01 Grégoire Jadi <address@hidden>
+ Support for testing xwidgets
+ * parallell-remote.el, parallell-xwidget.el, parallell.el:
+ * xwidget-tests.el:
+ various improvements to xwidgets:
+ * xwidgets.c:
+
2015-01-31 Eli Zaretskii <address@hidden>
* coding.c (raw_text_coding_system_p): New function.
diff --git a/src/Makefile.in b/src/Makefile.in
index 32615c8..81977db 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -218,6 +218,12 @@ CFLAGS_SOUND= @CFLAGS_SOUND@
RSVG_LIBS= @RSVG_LIBS@
RSVG_CFLAGS= @RSVG_CFLAGS@
+WEBKIT_LIBS= @WEBKIT_LIBS@
+WEBKIT_CFLAGS= @WEBKIT_CFLAGS@
+
+GIR_LIBS= @GIR_LIBS@
+GIR_CFLAGS= @GIR_CFLAGS@
+
IMAGEMAGICK_LIBS= @IMAGEMAGICK_LIBS@
IMAGEMAGICK_CFLAGS= @IMAGEMAGICK_CFLAGS@
@@ -343,6 +349,7 @@ ALL_CFLAGS=-Demacs $(MYCPPFLAGS) -I. -I$(srcdir) \
$(GNUSTEP_CFLAGS) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \
$(PNG_CFLAGS) $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \
$(XRANDR_CFLAGS) $(XINERAMA_CFLAGS) $(XFIXES_CFLAGS) \
+ $(WEBKIT_CFLAGS) $(GIR_CFLAGS) \
$(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \
$(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) \
$(LIBGNUTLS_CFLAGS) $(GFILENOTIFY_CFLAGS) \
@@ -372,11 +379,13 @@ base_obj = dispnew.o frame.o scroll.o xdisp.o menu.o
$(XMENU_OBJ) window.o \
process.o gnutls.o callproc.o \
region-cache.o sound.o atimer.o \
doprnt.o intervals.o textprop.o composite.o xml.o $(NOTIFY_OBJ) \
+ xwidget.o \
profiler.o decompress.o \
$(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_OBJ) \
$(W32_OBJ) $(WINDOW_SYSTEM_OBJ) $(XGSELOBJ)
obj = $(base_obj) $(NS_OBJC_OBJ)
+xwidget.o: xwidget.c xwidget.h
## Object files used on some machine or other.
## These go in the DOC file on all machines in case they are needed.
## Some of them have no DOC entries, but it does no harm to have them
@@ -421,6 +430,7 @@ ALLOBJS = $(FIRSTFILE_OBJ) $(VMLIMIT_OBJ) $(obj) $(otherobj)
LIBES = $(LIBS) $(W32_LIBS) $(LIBS_GNUSTEP) $(LIBX_BASE) $(LIBIMAGE) \
$(LIBX_OTHER) $(LIBSOUND) \
$(RSVG_LIBS) $(IMAGEMAGICK_LIBS) $(LIB_ACL) $(LIB_CLOCK_GETTIME) \
+ $(WEBKIT_LIBS) $(GIR_LIBS) \
$(LIB_EACCESS) $(LIB_FDATASYNC) $(LIB_TIMER_TIME) $(DBUS_LIBS) \
$(LIB_EXECINFO) $(XRANDR_LIBS) $(XINERAMA_LIBS) $(XFIXES_LIBS) \
$(LIBXML2_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \
diff --git a/src/buffer.c b/src/buffer.c
index 67eda3e..223683d 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -42,6 +42,9 @@ along with GNU Emacs. If not, see
<http://www.gnu.org/licenses/>. */
#include "keymap.h"
#include "frame.h"
+#ifdef HAVE_XWIDGETS
+#include "xwidget.h"
+#endif /* HAVE_XWIDGETS */
#ifdef WINDOWSNT
#include "w32heap.h" /* for mmap_* */
#endif
@@ -1755,6 +1758,11 @@ cleaning up all windows currently displaying the buffer
to be killed. */)
kill_buffer_processes (buffer);
UNGCPRO;
+#ifdef HAVE_XWIDGETS
+ GCPRO1 (buffer);
+ kill_buffer_xwidgets (buffer);
+ UNGCPRO;
+#endif /* HAVE_XWIDGETS */
/* Killing buffer processes may run sentinels which may have killed
our buffer. */
if (!BUFFER_LIVE_P (b))
diff --git a/src/dispextern.h b/src/dispextern.h
index 4139479..fbf0c74 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -348,6 +348,10 @@ enum glyph_type
/* Glyph is a space of fractional width and/or height. */
STRETCH_GLYPH
+#ifdef HAVE_XWIDGETS
+ /* Glyph is an external widget drawn by the GUI toolkit. */
+ ,XWIDGET_GLYPH
+#endif
};
@@ -499,6 +503,9 @@ struct glyph
/* Image ID for image glyphs (type == IMAGE_GLYPH). */
int img_id;
+#ifdef HAVE_XWIDGETS
+ struct xwidget* xwidget;
+#endif
/* Sub-structure for type == STRETCH_GLYPH. */
struct
{
@@ -1353,6 +1360,9 @@ struct glyph_string
/* Image, if any. */
struct image *img;
+#ifdef HAVE_XWIDGETS
+ struct xwidget* xwidget;
+#endif
/* Slice */
struct glyph_slice slice;
@@ -2097,6 +2107,10 @@ enum display_element_type
/* Continuation glyphs. See the comment for IT_TRUNCATION. */
IT_CONTINUATION
+
+#ifdef HAVE_XWIDGETS
+ ,IT_XWIDGET
+#endif
};
@@ -2160,6 +2174,9 @@ enum it_method {
GET_FROM_C_STRING,
GET_FROM_IMAGE,
GET_FROM_STRETCH,
+#ifdef HAVE_XWIDGETS
+ GET_FROM_XWIDGET,
+#endif
NUM_IT_METHODS
};
@@ -2381,6 +2398,12 @@ struct it
struct {
Lisp_Object object;
} stretch;
+#ifdef HAVE_XWIDGETS
+ /* method == GET_FROM_XWIDGET */
+ struct {
+ Lisp_Object object;
+ } xwidget;
+#endif
} u;
/* Current text and display positions. */
@@ -2505,6 +2528,10 @@ struct it
/* If what == IT_IMAGE, the id of the image to display. */
ptrdiff_t image_id;
+#ifdef HAVE_XWIDGETS
+ /* If what == IT_XWIDGET*/
+ struct xwidget* xwidget;
+#endif
/* Values from `slice' property. */
struct it_slice slice;
diff --git a/src/dispnew.c b/src/dispnew.c
index 3c8117e..e614cee 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -48,6 +48,10 @@ along with GNU Emacs. If not, see
<http://www.gnu.org/licenses/>. */
#include TERM_HEADER
#endif /* HAVE_WINDOW_SYSTEM */
+#ifdef HAVE_XWIDGETS
+#include "xwidget.h"
+#endif
+
#include <errno.h>
#include <fpending.h>
@@ -3542,6 +3546,9 @@ update_window (struct window *w, bool force_p)
add_window_display_history (w, w->current_matrix->method, paused_p);
#endif
+#ifdef HAVE_XWIDGETS
+ xwidget_end_redisplay(w, w->current_matrix);
+#endif
clear_glyph_matrix (desired_matrix);
return paused_p;
@@ -4125,6 +4132,11 @@ scrolling_window (struct window *w, bool header_line_p)
break;
}
+#ifdef HAVE_XWIDGETS
+ //currently this is needed to detect xwidget movement reliably. or probably
not.
+ return 0;
+#endif
+
/* Give up if some rows in the desired matrix are not enabled. */
if (! MATRIX_ROW_ENABLED_P (desired_matrix, i))
return -1;
diff --git a/src/emacs.c b/src/emacs.c
index fdd17d1..87b1f11 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -65,6 +65,9 @@ along with GNU Emacs. If not, see
<http://www.gnu.org/licenses/>. */
#include "buffer.h"
#include "window.h"
+#ifdef HAVE_XWIDGETS
+#include "xwidget.h"
+#endif
#include "systty.h"
#include "atimer.h"
#include "blockinput.h"
@@ -1434,6 +1437,9 @@ Using an Emacs configured with --with-x-toolkit=lucid
does not have this problem
syms_of_xfns ();
syms_of_xmenu ();
syms_of_fontset ();
+#ifdef HAVE_XWIDGETS
+ syms_of_xwidget();
+#endif
syms_of_xsettings ();
#ifdef HAVE_X_SM
syms_of_xsmfns ();
diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c
index abec78f..1295a15 100644
--- a/src/emacsgtkfixed.c
+++ b/src/emacsgtkfixed.c
@@ -23,6 +23,9 @@ along with GNU Emacs. If not, see
<http://www.gnu.org/licenses/>. */
#include "lisp.h"
#include "frame.h"
#include "xterm.h"
+#ifdef HAVE_XWIDGETS
+#include "xwidget.h"
+#endif
#include "emacsgtkfixed.h"
/* Silence a bogus diagnostic; see GNOME bug 683906. */
@@ -31,26 +34,26 @@ along with GNU Emacs. If not, see
<http://www.gnu.org/licenses/>. */
# pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#endif
-#define EMACS_TYPE_FIXED emacs_fixed_get_type ()
-#define EMACS_FIXED(obj) \
- G_TYPE_CHECK_INSTANCE_CAST (obj, EMACS_TYPE_FIXED, EmacsFixed)
+//#define EMACS_TYPE_FIXED emacs_fixed_get_type ()
+/* #define EMACS_FIXED(obj) \ */
+/* G_TYPE_CHECK_INSTANCE_CAST (obj, EMACS_TYPE_FIXED, EmacsFixed) */
typedef struct _EmacsFixed EmacsFixed;
typedef struct _EmacsFixedPrivate EmacsFixedPrivate;
typedef struct _EmacsFixedClass EmacsFixedClass;
-struct _EmacsFixed
-{
- GtkFixed container;
+/* struct _EmacsFixed */
+/* { */
+/* GtkFixed container; */
- /*< private >*/
- EmacsFixedPrivate *priv;
-};
+/* /\*< private >*\/ */
+/* EmacsFixedPrivate *priv; */
+/* }; */
-struct _EmacsFixedClass
-{
- GtkFixedClass parent_class;
-};
+/* struct _EmacsFixedClass */
+/* { */
+/* GtkFixedClass parent_class; */
+/* }; */
struct _EmacsFixedPrivate
{
@@ -64,21 +67,109 @@ static void emacs_fixed_get_preferred_width (GtkWidget
*widget,
static void emacs_fixed_get_preferred_height (GtkWidget *widget,
gint *minimum,
gint *natural);
-static GType emacs_fixed_get_type (void);
G_DEFINE_TYPE (EmacsFixed, emacs_fixed, GTK_TYPE_FIXED)
+#ifdef HAVE_XWIDGETS
+
+struct GtkFixedPrivateL
+{
+ GList *children;
+};
+
+static void emacs_fixed_gtk_widget_size_allocate (GtkWidget *widget,
+ GtkAllocation *allocation){
+ //for xwidgets
+
+ //TODO 1st call base class method
+ EmacsFixedClass *klass;
+ GtkWidgetClass *parent_class;
+ struct GtkFixedPrivateL* priv;
+ GtkFixedChild *child;
+ GtkAllocation child_allocation;
+ GtkRequisition child_requisition;
+ GList *children;
+ struct xwidget_view* xv;
+
+ klass = EMACS_FIXED_GET_CLASS (widget);
+ parent_class = g_type_class_peek_parent (klass);
+ parent_class->size_allocate (widget, allocation);
+
+ priv = G_TYPE_INSTANCE_GET_PRIVATE (widget,
+ GTK_TYPE_FIXED,
+ struct GtkFixedPrivateL);
+
+ gtk_widget_set_allocation (widget, allocation);
+
+ if (gtk_widget_get_has_window (widget))
+ {
+ if (gtk_widget_get_realized (widget))
+ gdk_window_move_resize (gtk_widget_get_window (widget),
+ allocation->x,
+ allocation->y,
+ allocation->width,
+ allocation->height);
+ }
+
+ for (children = priv->children;
+ children;
+ children = children->next)
+ {
+ child = children->data;
+
+ if (!gtk_widget_get_visible (child->widget))
+ continue;
+
+ gtk_widget_get_preferred_size (child->widget, &child_requisition, NULL);
+ child_allocation.x = child->x;
+ child_allocation.y = child->y;
+
+ if (!gtk_widget_get_has_window (widget))
+ {
+ child_allocation.x += allocation->x;
+ child_allocation.y += allocation->y;
+ }
+
+ child_allocation.width = child_requisition.width;
+ child_allocation.height = child_requisition.height;
+
+
+
+ xv = (struct xwidget_view*) g_object_get_data (G_OBJECT (child->widget),
XG_XWIDGET_VIEW);
+ if(xv){
+ child_allocation.width = xv->clip_right;
+ child_allocation.height = xv->clip_bottom - xv->clip_top;
+ }
+ gtk_widget_size_allocate (child->widget, &child_allocation);
+
+ }
+
+}
+
+#endif /* HAVE_XWIDGETS */
+
static void
emacs_fixed_class_init (EmacsFixedClass *klass)
{
GtkWidgetClass *widget_class;
+ GtkFixedClass *fixed_class;
widget_class = (GtkWidgetClass*) klass;
+ fixed_class = (GtkFixedClass*) klass;
widget_class->get_preferred_width = emacs_fixed_get_preferred_width;
widget_class->get_preferred_height = emacs_fixed_get_preferred_height;
+#ifdef HAVE_XWIDGETS
+ widget_class->size_allocate = emacs_fixed_gtk_widget_size_allocate;
+#endif
g_type_class_add_private (klass, sizeof (EmacsFixedPrivate));
}
+static GType
+emacs_fixed_child_type (GtkFixed *container)
+{
+ return GTK_TYPE_WIDGET;
+}
+
static void
emacs_fixed_init (EmacsFixed *fixed)
{
diff --git a/src/emacsgtkfixed.h b/src/emacsgtkfixed.h
index bcf1cd9..7364d90 100644
--- a/src/emacsgtkfixed.h
+++ b/src/emacsgtkfixed.h
@@ -25,7 +25,35 @@ along with GNU Emacs. If not, see
<http://www.gnu.org/licenses/>. */
G_BEGIN_DECLS
+struct frame;
+
+#define EMACS_TYPE_FIXED (emacs_fixed_get_type ())
+#define EMACS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),
EMACS_TYPE_FIXED, EmacsFixed))
+#define EMACS_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),
EMACS_TYPE_FIXED, EmacsFixedClass))
+#define EMACS_IS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),
EMACS_TYPE_FIXED))
+#define EMACS_IS_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),
EMACS_TYPE_FIXED))
+#define EMACS_FIXED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),
EMACS_TYPE_FIXED, EmacsFixedClass))
+
+//typedef struct _EmacsFixed EmacsFixed;
+typedef struct _EmacsFixedPrivate EmacsFixedPrivate;
+typedef struct _EmacsFixedClass EmacsFixedClass;
+
+struct _EmacsFixed
+{
+ GtkFixed container;
+
+ /*< private >*/
+ EmacsFixedPrivate *priv;
+};
+
+
+struct _EmacsFixedClass
+{
+ GtkFixedClass parent_class;
+};
+
extern GtkWidget *emacs_fixed_new (struct frame *f);
+extern GType emacs_fixed_get_type (void);
G_END_DECLS
diff --git a/src/keyboard.c b/src/keyboard.c
index 1176d70..a9ff77d 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -4124,6 +4124,20 @@ kbd_buffer_get_event (KBOARD **kbp,
kbd_fetch_ptr = event + 1;
}
#endif
+#ifdef HAVE_XWIDGETS
+ else if (event->kind == XWIDGET_EVENT)
+ {
+ obj = make_lispy_event (event);
+ kbd_fetch_ptr = event + 1;
+ }
+#endif
+#ifdef HAVE_INOTIFY
+ else if (event->kind == FILE_NOTIFY_EVENT)
+ {
+ obj = make_lispy_event (event);
+ kbd_fetch_ptr = event + 1;
+ }
+#endif
else if (event->kind == CONFIG_CHANGED_EVENT)
{
obj = make_lispy_event (event);
@@ -6070,6 +6084,14 @@ make_lispy_event (struct input_event *event)
}
#endif /* HAVE_DBUS */
+#ifdef HAVE_XWIDGETS
+ case XWIDGET_EVENT:
+ {
+ return Fcons (Qxwidget_event,event->arg);
+ }
+#endif /* HAVE_XWIDGETS */
+
+
#if defined HAVE_GFILENOTIFY || defined HAVE_INOTIFY
case FILE_NOTIFY_EVENT:
{
@@ -11087,6 +11109,9 @@ syms_of_keyboard (void)
DEFSYM (Qdbus_event, "dbus-event");
#endif
+#ifdef HAVE_XWIDGETS
+ DEFSYM (Qxwidget_event,"xwidget-event");
+#endif /* HAVE_XWIDGETS */
#ifdef USE_FILE_NOTIFY
DEFSYM (Qfile_notify, "file-notify");
#endif /* USE_FILE_NOTIFY */
diff --git a/src/lisp.h b/src/lisp.h
index f5242ab..87bc3ef 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -781,6 +781,11 @@ enum pvec_type
PVEC_WINDOW_CONFIGURATION,
PVEC_SUBR,
PVEC_OTHER,
+#ifdef HAVE_XWIDGETS
+ PVEC_XWIDGET,
+ PVEC_XWIDGET_VIEW,
+#endif
+
/* These should be last, check internal_equal to see why. */
PVEC_COMPILED,
PVEC_CHAR_TABLE,
diff --git a/src/print.c b/src/print.c
index 1a0aebb..75288bc 100644
--- a/src/print.c
+++ b/src/print.c
@@ -37,6 +37,10 @@ along with GNU Emacs. If not, see
<http://www.gnu.org/licenses/>. */
#include "termhooks.h" /* For struct terminal. */
#include "font.h"
+#ifdef HAVE_XWIDGETS
+#include "xwidget.h"
+#endif
+
#include <float.h>
#include <ftoastr.h>
@@ -1772,6 +1776,18 @@ print_object (Lisp_Object obj, Lisp_Object printcharfun,
bool escapeflag)
strout (XSUBR (obj)->symbol_name, -1, -1, printcharfun);
PRINTCHAR ('>');
}
+#ifdef HAVE_XWIDGETS
+ else if (XWIDGETP (obj))
+ {
+ strout ("#<xwidget ", -1, -1, printcharfun);
+ PRINTCHAR ('>');
+ }
+ else if (XWIDGET_VIEW_P (obj))
+ {
+ strout ("#<xwidget-view ", -1, -1, printcharfun);
+ PRINTCHAR ('>');
+ }
+#endif
else if (WINDOWP (obj))
{
int len;
diff --git a/src/termhooks.h b/src/termhooks.h
index 3cafc43..58ae239 100644
--- a/src/termhooks.h
+++ b/src/termhooks.h
@@ -236,6 +236,10 @@ enum event_kind
, NS_NONKEY_EVENT
#endif
+#ifdef HAVE_XWIDGETS
+ /* events generated by xwidgets*/
+ , XWIDGET_EVENT
+#endif
#ifdef USE_FILE_NOTIFY
/* File or directory was changed. */
, FILE_NOTIFY_EVENT
diff --git a/src/window.c b/src/window.c
index 2f44bf7..b423010 100644
--- a/src/window.c
+++ b/src/window.c
@@ -44,6 +44,9 @@ along with GNU Emacs. If not, see
<http://www.gnu.org/licenses/>. */
#ifdef MSDOS
#include "msdos.h"
#endif
+#ifdef HAVE_XWIDGETS
+#include "xwidget.h"
+#endif
static int displayed_window_lines (struct window *);
static int count_windows (struct window *);
@@ -4559,6 +4562,9 @@ Signal an error when WINDOW is the only window on its
frame. */)
/* Block input. */
block_input ();
+#ifdef HAVE_XWIDGETS
+ xwidget_view_delete_all_in_window(w);
+#endif
window_resize_apply (p, horflag);
/* If this window is referred to by the dpyinfo's mouse
highlight, invalidate that slot to be safe (Bug#9904). */
diff --git a/src/xdisp.c b/src/xdisp.c
index 8f6695a..2da6c76 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -318,6 +318,9 @@ along with GNU Emacs. If not, see
<http://www.gnu.org/licenses/>. */
#include TERM_HEADER
#endif /* HAVE_WINDOW_SYSTEM */
+#ifdef HAVE_XWIDGETS
+#include "xwidget.h"
+#endif
#ifndef FRAME_X_OUTPUT
#define FRAME_X_OUTPUT(f) ((f)->output_data.x)
#endif
@@ -842,6 +845,9 @@ static int next_element_from_c_string (struct it *);
static int next_element_from_buffer (struct it *);
static int next_element_from_composition (struct it *);
static int next_element_from_image (struct it *);
+#ifdef HAVE_XWIDGETS
+static int next_element_from_xwidget(struct it *);
+#endif
static int next_element_from_stretch (struct it *);
static void load_overlay_strings (struct it *, ptrdiff_t);
static int init_from_display_pos (struct it *, struct window *,
@@ -4678,6 +4684,9 @@ handle_display_spec (struct it *it, Lisp_Object spec,
Lisp_Object object,
if (CONSP (spec)
/* Simple specifications. */
&& !EQ (XCAR (spec), Qimage)
+#ifdef HAVE_XWIDGETS
+ && !EQ (XCAR (spec), Qxwidget)
+#endif
&& !EQ (XCAR (spec), Qspace)
&& !EQ (XCAR (spec), Qwhen)
&& !EQ (XCAR (spec), Qslice)
@@ -5124,7 +5133,12 @@ handle_single_display_spec (struct it *it, Lisp_Object
spec, Lisp_Object object,
|| ((it ? FRAME_WINDOW_P (it->f) : frame_window_p)
&& valid_image_p (value))
#endif /* not HAVE_WINDOW_SYSTEM */
- || (CONSP (value) && EQ (XCAR (value), Qspace)));
+ || (CONSP (value) && EQ (XCAR (value), Qspace))
+#ifdef HAVE_XWIDGETS
+ || ((it ? FRAME_WINDOW_P (it->f) : frame_window_p)
+ && valid_xwidget_spec_p(value))
+#endif
+ );
if (valid_p && !display_replaced_p)
{
@@ -5199,6 +5213,18 @@ handle_single_display_spec (struct it *it, Lisp_Object
spec, Lisp_Object object,
*position = it->position = start_pos;
retval = 1 + (it->area == TEXT_AREA);
}
+#ifdef HAVE_XWIDGETS
+ else if (valid_xwidget_spec_p(value))
+ {
+ it->what = IT_XWIDGET;
+ it->method = GET_FROM_XWIDGET;
+ it->position = start_pos;
+ it->object = NILP (object) ? it->w->contents : object;
+ *position = start_pos;
+
+ it->xwidget = lookup_xwidget(value);
+ }
+#endif
#ifdef HAVE_WINDOW_SYSTEM
else
{
@@ -5935,6 +5961,11 @@ push_it (struct it *it, struct text_pos *position)
case GET_FROM_STRETCH:
p->u.stretch.object = it->object;
break;
+#ifdef HAVE_XWIDGETS
+ case GET_FROM_XWIDGET:
+ p->u.xwidget.object = it->object;
+ break;
+#endif
}
p->position = position ? *position : it->position;
p->current = it->current;
@@ -6028,6 +6059,11 @@ pop_it (struct it *it)
it->object = p->u.image.object;
it->slice = p->u.image.slice;
break;
+#ifdef HAVE_XWIDGETS
+ case GET_FROM_XWIDGET:
+ it->object = p->u.xwidget.object;
+ break;
+#endif
case GET_FROM_STRETCH:
it->object = p->u.stretch.object;
break;
@@ -6690,6 +6726,9 @@ static int (* get_next_element[NUM_IT_METHODS]) (struct
it *it) =
next_element_from_c_string,
next_element_from_image,
next_element_from_stretch
+#ifdef HAVE_XWIDGETS
+ ,next_element_from_xwidget
+#endif
};
#define GET_NEXT_DISPLAY_ELEMENT(it) (*get_next_element[(it)->method]) (it)
@@ -7535,6 +7574,10 @@ set_iterator_to_next (struct it *it, int reseat_p)
case GET_FROM_IMAGE:
case GET_FROM_STRETCH:
+#ifdef HAVE_XWIDGETS
+ case GET_FROM_XWIDGET:
+#endif
+
/* The position etc with which we have to proceed are on
the stack. The position may be at the end of a string,
if the `display' property takes up the whole string. */
@@ -7997,6 +8040,16 @@ next_element_from_image (struct it *it)
return 1;
}
+#ifdef HAVE_XWIDGETS
+/* im not sure about this FIXME JAVE*/
+static int
+next_element_from_xwidget (struct it *it)
+{
+ it->what = IT_XWIDGET;
+ return 1;
+}
+#endif
+
/* Fill iterator IT with next display element from a stretch glyph
property. IT->object is the value of the text property. Value is
@@ -17017,6 +17070,13 @@ try_window_reusing_current_matrix (struct window *w)
return 0;
#endif
+#ifdef HAVE_XWIDGETS_xxx
+ //currently this is needed to detect xwidget movement reliably. or probably
not.
+ printf("try_window_reusing_current_matrix\n");
+ return 0;
+#endif
+
+
if (/* This function doesn't handle terminal frames. */
!FRAME_WINDOW_P (f)
/* Don't try to reuse the display if windows have been split
@@ -18611,6 +18671,28 @@ dump_glyph (struct glyph_row *row, struct glyph
*glyph, int area)
glyph->left_box_line_p,
glyph->right_box_line_p);
}
+#ifdef HAVE_XWIDGETS
+ else if (glyph->type == XWIDGET_GLYPH)
+ {
+ fprintf (stderr,
+ " %5d %4c %6d %c %3d 0x%05x %c %4d %1.1d%1.1d\n",
+ glyph - row->glyphs[TEXT_AREA],
+ 'X',
+ glyph->charpos,
+ (BUFFERP (glyph->object)
+ ? 'B'
+ : (STRINGP (glyph->object)
+ ? 'S'
+ : '-')),
+ glyph->pixel_width,
+ glyph->u.xwidget,
+ '.',
+ glyph->face_id,
+ glyph->left_box_line_p,
+ glyph->right_box_line_p);
+
+ }
+#endif
}
@@ -24028,6 +24110,13 @@ calc_pixel_width_or_height (double *res, struct it
*it, Lisp_Object prop,
return OK_PIXELS (width_p ? img->width : img->height);
}
+#ifdef HAVE_XWIDGETS
+ if (FRAME_WINDOW_P (it->f) && valid_xwidget_spec_p (prop))
+ {
+ //TODO dont return dummy size
+ return OK_PIXELS (width_p ? 100 : 100);
+ }
+#endif
#endif
if (EQ (car, Qplus) || EQ (car, Qminus))
{
@@ -24532,6 +24621,18 @@ fill_image_glyph_string (struct glyph_string *s)
}
+#ifdef HAVE_XWIDGETS
+static void
+fill_xwidget_glyph_string (struct glyph_string *s)
+{
+ eassert (s->first_glyph->type == XWIDGET_GLYPH);
+ s->face = FACE_FROM_ID (s->f, s->first_glyph->face_id);
+ s->font = s->face->font;
+ s->width = s->first_glyph->pixel_width;
+ s->ybase += s->first_glyph->voffset;
+ s->xwidget = s->first_glyph->u.xwidget;
+}
+#endif
/* Fill glyph string S from a sequence of stretch glyphs.
START is the index of the first glyph to consider,
@@ -24867,6 +24968,20 @@ compute_overhangs_and_x (struct glyph_string *s, int
x, int backward_p)
} \
while (0)
+#ifdef HAVE_XWIDGETS
+#define BUILD_XWIDGET_GLYPH_STRING(START, END, HEAD, TAIL, HL, X, LAST_X) \
+ do
\
+ { \
+ s = (struct glyph_string *) alloca (sizeof *s); \
+ INIT_GLYPH_STRING (s, NULL, w, row, area, START, HL); \
+ fill_xwidget_glyph_string (s); \
+ append_glyph_string (&HEAD, &TAIL, s); \
+ ++START; \
+ s->x = (X); \
+ } \
+ while (0)
+#endif
+
/* Add a glyph string for a sequence of character glyphs to the list
of strings between HEAD and TAIL. START is the index of the first
@@ -24988,7 +25103,7 @@ compute_overhangs_and_x (struct glyph_string *s, int x,
int backward_p)
to allocate glyph strings (because draw_glyphs can be called
asynchronously). */
-#define BUILD_GLYPH_STRINGS(START, END, HEAD, TAIL, HL, X, LAST_X) \
+#define BUILD_GLYPH_STRINGS_1(START, END, HEAD, TAIL, HL, X, LAST_X) \
do \
{ \
HEAD = TAIL = NULL; \
@@ -25019,8 +25134,15 @@ compute_overhangs_and_x (struct glyph_string *s, int
x, int backward_p)
case IMAGE_GLYPH: \
BUILD_IMAGE_GLYPH_STRING (START, END, HEAD, TAIL, \
HL, X, LAST_X); \
- break; \
- \
+ break;
+
+#define BUILD_GLYPH_STRINGS_XW(START, END, HEAD, TAIL, HL, X, LAST_X) \
+ case XWIDGET_GLYPH: \
+ BUILD_XWIDGET_GLYPH_STRING (START, END, HEAD, TAIL, \
+ HL, X, LAST_X); \
+ break;
+
+#define BUILD_GLYPH_STRINGS_2(START, END, HEAD, TAIL, HL, X, LAST_X) \
case GLYPHLESS_GLYPH: \
BUILD_GLYPHLESS_GLYPH_STRING (START, END, HEAD, TAIL, \
HL, X, LAST_X); \
@@ -25039,6 +25161,18 @@ compute_overhangs_and_x (struct glyph_string *s, int
x, int backward_p)
} while (0)
+#ifdef HAVE_XWIDGETS
+#define BUILD_GLYPH_STRINGS(START, END, HEAD, TAIL, HL, X, LAST_X) \
+BUILD_GLYPH_STRINGS_1(START, END, HEAD, TAIL, HL, X, LAST_X) \
+BUILD_GLYPH_STRINGS_XW(START, END, HEAD, TAIL, HL, X, LAST_X) \
+BUILD_GLYPH_STRINGS_2(START, END, HEAD, TAIL, HL, X, LAST_X)
+#else
+#define BUILD_GLYPH_STRINGS(START, END, HEAD, TAIL, HL, X, LAST_X) \
+BUILD_GLYPH_STRINGS_1(START, END, HEAD, TAIL, HL, X, LAST_X) \
+BUILD_GLYPH_STRINGS_2(START, END, HEAD, TAIL, HL, X, LAST_X)
+#endif
+
+
/* Draw glyphs between START and END in AREA of ROW on window W,
starting at x-position X. X is relative to AREA in W. HL is a
face-override with the following meaning:
@@ -25677,6 +25811,113 @@ produce_image_glyph (struct it *it)
}
}
+#ifdef HAVE_XWIDGETS
+static void
+produce_xwidget_glyph (struct it *it)
+{
+ struct xwidget* xw;
+ struct face *face;
+ int glyph_ascent, crop;
+ eassert (it->what == IT_XWIDGET);
+
+ face = FACE_FROM_ID (it->f, it->face_id);
+ eassert (face);
+ /* Make sure X resources of the face is loaded. */
+ prepare_face_for_display (it->f, face);
+
+ xw = it->xwidget;
+ it->ascent = it->phys_ascent = glyph_ascent = xw->height/2;
+ it->descent = xw->height/2;
+ it->phys_descent = it->descent;
+ it->pixel_width = xw->width;
+ /* It's quite possible for images to have an ascent greater than
+ their height, so don't get confused in that case. */
+ if (it->descent < 0)
+ it->descent = 0;
+
+ it->nglyphs = 1;
+
+ if (face->box != FACE_NO_BOX)
+ {
+ if (face->box_line_width > 0)
+ {
+ it->ascent += face->box_line_width;
+ it->descent += face->box_line_width;
+ }
+
+ if (it->start_of_box_run_p)
+ it->pixel_width += eabs (face->box_line_width);
+ it->pixel_width += eabs (face->box_line_width);
+ }
+
+ take_vertical_position_into_account (it);
+
+ /* Automatically crop wide image glyphs at right edge so we can
+ draw the cursor on same display row. */
+ if ((crop = it->pixel_width - (it->last_visible_x - it->current_x), crop > 0)
+ && (it->hpos == 0 || it->pixel_width > it->last_visible_x / 4))
+ {
+ it->pixel_width -= crop;
+ }
+
+ if (it->glyph_row)
+ {
+ struct glyph *glyph;
+ enum glyph_row_area area = it->area;
+
+ glyph = it->glyph_row->glyphs[area] + it->glyph_row->used[area];
+ if (it->glyph_row->reversed_p)
+ {
+ struct glyph *g;
+
+ /* Make room for the new glyph. */
+ for (g = glyph - 1; g >= it->glyph_row->glyphs[it->area]; g--)
+ g[1] = *g;
+ glyph = it->glyph_row->glyphs[it->area];
+ }
+ if (glyph < it->glyph_row->glyphs[area + 1])
+ {
+ glyph->charpos = CHARPOS (it->position);
+ glyph->object = it->object;
+ glyph->pixel_width = it->pixel_width;
+ glyph->ascent = glyph_ascent;
+ glyph->descent = it->descent;
+ glyph->voffset = it->voffset;
+ glyph->type = XWIDGET_GLYPH;
+ glyph->avoid_cursor_p = it->avoid_cursor_p;
+ glyph->multibyte_p = it->multibyte_p;
+ if (it->glyph_row->reversed_p && area == TEXT_AREA)
+ {
+ /* In R2L rows, the left and the right box edges need to be
+ drawn in reverse direction. */
+ glyph->right_box_line_p = it->start_of_box_run_p;
+ glyph->left_box_line_p = it->end_of_box_run_p;
+ }
+ else
+ {
+ glyph->left_box_line_p = it->start_of_box_run_p;
+ glyph->right_box_line_p = it->end_of_box_run_p;
+ }
+ glyph->overlaps_vertically_p = 0;
+ glyph->padding_p = 0;
+ glyph->glyph_not_available_p = 0;
+ glyph->face_id = it->face_id;
+ glyph->u.xwidget = it->xwidget;
+
//assert_valid_xwidget_id(glyph->u.xwidget_id,"produce_xwidget_glyph");
+ glyph->font_type = FONT_TYPE_UNKNOWN;
+ if (it->bidi_p)
+ {
+ glyph->resolved_level = it->bidi_it.resolved_level;
+ eassert ((it->bidi_it.type & 7) == it->bidi_it.type);
+ glyph->bidi_type = it->bidi_it.type;
+ }
+ ++it->glyph_row->used[area];
+ }
+ else
+ IT_EXPAND_MATRIX_WIDTH (it, area);
+ }
+}
+#endif
/* Append a stretch glyph to IT->glyph_row. OBJECT is the source
of the glyph, WIDTH and HEIGHT are the width and height of the
@@ -27017,6 +27258,10 @@ x_produce_glyphs (struct it *it)
produce_image_glyph (it);
else if (it->what == IT_STRETCH)
produce_stretch_glyph (it);
+#ifdef HAVE_XWIDGETS
+ else if (it->what == IT_XWIDGET)
+ produce_xwidget_glyph (it);
+#endif
done:
/* Accumulate dimensions. Note: can't assume that it->descent > 0
@@ -27386,6 +27631,12 @@ get_window_cursor_type (struct window *w, struct glyph
*glyph, int *width,
/* Use normal cursor if not blinked off. */
if (!w->cursor_off_p)
{
+
+#ifdef HAVE_XWIDGETS
+ if (glyph != NULL && glyph->type == XWIDGET_GLYPH){
+ return NO_CURSOR;
+ }
+#endif
if (glyph != NULL && glyph->type == IMAGE_GLYPH)
{
if (cursor_type == FILLED_BOX_CURSOR)
diff --git a/src/xterm.c b/src/xterm.c
index 3955d02..abceefb 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -63,6 +63,9 @@ along with GNU Emacs. If not, see
<http://www.gnu.org/licenses/>. */
#include "coding.h"
#include "frame.h"
#include "dispextern.h"
+#ifdef HAVE_XWIDGETS
+#include "xwidget.h"
+#endif
#include "fontset.h"
#include "termhooks.h"
#include "termopts.h"
@@ -2676,6 +2679,13 @@ x_draw_glyph_string (struct glyph_string *s)
x_draw_image_glyph_string (s);
break;
+#ifdef HAVE_XWIDGETS
+ case XWIDGET_GLYPH:
+ //erase xwidget background
+ //x_draw_glyph_string_background (s, 0);
+ x_draw_xwidget_glyph_string (s);
+ break;
+#endif
case STRETCH_GLYPH:
x_draw_stretch_glyph_string (s);
break;
@@ -8016,6 +8026,11 @@ x_draw_bar_cursor (struct window *w, struct glyph_row
*row, int width, enum text
if (cursor_glyph == NULL)
return;
+#ifdef HAVE_XWIDGETS
+ if (cursor_glyph->type == XWIDGET_GLYPH){
+ return; //experimental avoidance of cursor on xwidget
+ }
+#endif
/* If on an image, draw like a normal cursor. That's usually better
visible than drawing a bar, esp. if the image is large so that
the bar might not be in the window. */
diff --git a/src/xwidget.c b/src/xwidget.c
new file mode 100644
index 0000000..747e803
--- /dev/null
+++ b/src/xwidget.c
@@ -0,0 +1,1853 @@
+#include <config.h>
+#ifdef HAVE_XWIDGETS
+
+#include <signal.h>
+
+#include <stdio.h>
+#include <setjmp.h>
+#ifdef HAVE_X_WINDOWS
+
+#include "lisp.h"
+#include "blockinput.h"
+#include "syssignal.h"
+
+#include "xterm.h"
+#include <X11/cursorfont.h>
+
+#ifndef makedev
+#include <sys/types.h>
+#endif /* makedev */
+
+#ifdef BSD_SYSTEM
+#include <sys/ioctl.h>
+#endif /* ! defined (BSD_SYSTEM) */
+
+#include "systime.h"
+
+#ifndef INCLUDED_FCNTL
+#include <fcntl.h>
+#endif
+#include <ctype.h>
+#include <errno.h>
+#include <setjmp.h>
+#include <sys/stat.h>
+
+#include "charset.h"
+#include "character.h"
+#include "coding.h"
+#include "ccl.h"
+#include "frame.h"
+#include "dispextern.h"
+#include "fontset.h"
+#include "termhooks.h"
+#include "termopts.h"
+#include "termchar.h"
+#include "emacs-icon.h"
+#include "disptab.h"
+#include "buffer.h"
+#include "window.h"
+#include "keyboard.h"
+#include "intervals.h"
+#include "process.h"
+#include "atimer.h"
+#include "keymap.h"
+
+
+#ifdef USE_X_TOOLKIT
+#include <X11/Shell.h>
+#endif
+#include <X11/extensions/Xcomposite.h>
+#include <X11/extensions/Xrender.h>
+#include <cairo.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#include "gtkutil.h"
+#include "font.h"
+#endif /* HAVE_X_WINDOWS */
+
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+
+#ifdef HAVE_GTK3
+//for gtk3; sockets and plugs
+#include <gtk/gtkx.h>
+#include <gtk/gtkscrolledwindow.h>
+#include "emacsgtkfixed.h"
+#endif
+
+#include <wchar.h>
+
+#ifdef HAVE_WEBKIT_OSR
+#include <webkit/webkitwebview.h>
+#include <webkit/webkitwebplugindatabase.h>
+#include <webkit/webkitwebplugin.h>
+#include <webkit/webkitglobals.h>
+#include <webkit/webkitwebnavigationaction.h>
+#include <webkit/webkitdownload.h>
+#include <webkit/webkitwebpolicydecision.h>
+#endif
+
+//for GIR
+#include <girepository.h>
+
+#include "xwidget.h"
+
+//TODO embryo of lisp allocators for xwidgets
+//TODO xwidget* should be Lisp_xwidget*
+struct xwidget*
+allocate_xwidget (void)
+{
+ return ALLOCATE_PSEUDOVECTOR (struct xwidget, height, PVEC_XWIDGET);
+}
+
+//TODO xwidget_view* should be Lisp_xwidget_view*
+struct xwidget_view*
+allocate_xwidget_view (void)
+{
+ return ALLOCATE_PSEUDOVECTOR (struct xwidget_view, redisplayed,
PVEC_XWIDGET_VIEW);
+}
+#define XSETXWIDGET(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_XWIDGET))
+#define XSETXWIDGET_VIEW(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_XWIDGET_VIEW))
+
+struct xwidget_view* xwidget_view_lookup(struct xwidget* xw, struct window
*w);
+Lisp_Object xwidget_spec_value ( Lisp_Object spec, Lisp_Object key, int
*found);
+gboolean offscreen_damage_event (GtkWidget *widget, GdkEvent *event, gpointer
data);
+void webkit_osr_document_load_finished_callback (WebKitWebView
*webkitwebview,
+ WebKitWebFrame *arg1,
+ gpointer
user_data);
+gboolean webkit_osr_download_callback (WebKitWebView *webkitwebview,
+ WebKitDownload *arg1,
+ gpointer data);
+
+gboolean
webkit_osr_mime_type_policy_typedecision_requested_callback(WebKitWebView
*webView,
+
WebKitWebFrame *frame,
+
WebKitNetworkRequest *request,
+ gchar
*mimetype,
+
WebKitWebPolicyDecision *policy_decision,
+ gpointer
user_data);
+
+gboolean
webkit_osr_new_window_policy_decision_requested_callback(WebKitWebView
*webView,
+
WebKitWebFrame *frame,
+
WebKitNetworkRequest *request,
+
WebKitWebNavigationAction *navigation_action,
+
WebKitWebPolicyDecision *policy_decision,
+ gpointer
user_data);
+
+
+gboolean
webkit_osr_navigation_policy_decision_requested_callback(WebKitWebView
*webView,
+ WebKitWebFrame
*frame,
+ WebKitNetworkRequest
*request,
+
WebKitWebNavigationAction *navigation_action,
+
WebKitWebPolicyDecision *policy_decision,
+ gpointer
user_data);
+
+GtkWidget* xwgir_create(char* class, char* namespace);
+
+
+
+static void
+send_xembed_ready_event (struct xwidget* xw, int xembedid);
+DEFUN ("make-xwidget", Fmake_xwidget, Smake_xwidget, 7, 8, 0,
+ doc: /* Make an xwidget from BEG to END of TYPE.
+
+If BUFFER is nil it uses the current buffer. If BUFFER is a string and
+no such buffer exists, it is created.
+
+TYPE is a symbol which can take one of the following values:
+- Button
+- ToggleButton
+- slider
+- socket
+- socket-osr
+- cairo
+*/
+ )
+ (Lisp_Object beg, Lisp_Object end,
+ Lisp_Object type,
+ Lisp_Object title,
+ Lisp_Object width, Lisp_Object height,
+ Lisp_Object data,
+ Lisp_Object buffer)
+{
+ //should work a bit like "make-button"(make-button BEG END &rest PROPERTIES)
+ // arg "type" and fwd should be keyword args eventually
+ //(make-xwidget 3 3 'button "oei" 31 31 nil)
+ //(xwidget-info (car xwidget-list))
+ struct xwidget* xw = allocate_xwidget();
+ Lisp_Object val;
+ xw->type = type;
+ xw->title = title;
+ if (NILP (buffer))
+ buffer = Fcurrent_buffer(); // no need to gcpro because Fcurrent_buffer
doesn't call Feval/eval_sub.
+ else
+ buffer = Fget_buffer_create (buffer);
+ xw->buffer = buffer;
+
+ xw->height = XFASTINT(height);
+ xw->width = XFASTINT(width);
+ xw->kill_without_query = 0;
+ XSETXWIDGET (val, xw); // set the vectorlike_header of VAL with the correct
value
+ Vxwidget_list = Fcons (val, Vxwidget_list);
+ xw->widgetwindow_osr = NULL;
+ xw->widget_osr = NULL;
+ xw->plist = Qnil;
+
+
+
+
+#ifdef HAVE_WEBKIT_OSR
+ /* DIY mvc. widget is rendered offscreen,
+ later bitmap copied to the views.
+ */
+ if (EQ(xw->type, Qwebkit_osr)||
+ EQ(xw->type, Qsocket_osr)||
+ (!NILP (Fget(xw->type, QCxwgir_class)))) {
+ block_input();
+ xw->widgetwindow_osr = gtk_offscreen_window_new ();
+ gtk_window_resize(GTK_WINDOW(xw->widgetwindow_osr), xw->width,
xw->height);
+ xw->widgetscrolledwindow_osr = NULL; //webkit osr is the only scrolled
component atm
+
+ if (EQ(xw->type, Qwebkit_osr)){
+ xw->widgetscrolledwindow_osr = gtk_scrolled_window_new(NULL, NULL);
+
gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(xw->widgetscrolledwindow_osr
),xw->height);
+
gtk_scrolled_window_set_min_content_width(GTK_SCROLLED_WINDOW(xw->widgetscrolledwindow_osr
),xw->width);
+
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(xw->widgetscrolledwindow_osr
), GTK_POLICY_ALWAYS, GTK_POLICY_ALWAYS);
+
+ xw->widget_osr=webkit_web_view_new();
+ gtk_container_add(GTK_CONTAINER(xw->widgetscrolledwindow_osr ),
GTK_WIDGET( WEBKIT_WEB_VIEW(xw->widget_osr)));
+ }
+ if(EQ(xw->type, Qsocket_osr))
+ xw->widget_osr = gtk_socket_new();
+ if(!NILP (Fget(xw->type, QCxwgir_class)))
+ xw->widget_osr = xwgir_create(SDATA(Fcar(Fcdr(Fget(xw->type,
QCxwgir_class)))),
+ SDATA(Fcar(Fget(xw->type,
QCxwgir_class))));
+
+ gtk_widget_set_size_request (GTK_WIDGET (xw->widget_osr), xw->width,
xw->height);
+
+ if (EQ(xw->type, Qwebkit_osr)){
+ gtk_container_add (GTK_CONTAINER (xw->widgetwindow_osr),
xw->widgetscrolledwindow_osr);
+ }else{
+ gtk_container_add (GTK_CONTAINER (xw->widgetwindow_osr),
xw->widget_osr);
+ }
+
+ gtk_widget_show (xw->widget_osr);
+ gtk_widget_show (xw->widgetwindow_osr);
+ gtk_widget_show (xw->widgetscrolledwindow_osr);
+
+ /* store some xwidget data in the gtk widgets for convenient retrieval
in the event handlers. */
+ g_object_set_data (G_OBJECT (xw->widget_osr), XG_XWIDGET, (gpointer)
(xw));
+ g_object_set_data (G_OBJECT (xw->widgetwindow_osr), XG_XWIDGET,
(gpointer) (xw));
+
+ /* signals */
+ if (EQ(xw->type, Qwebkit_osr)) {
+ g_signal_connect (G_OBJECT (xw->widget_osr),
+ "document-load-finished",
+ G_CALLBACK
(webkit_osr_document_load_finished_callback),
+ xw);
+
+ g_signal_connect (G_OBJECT (xw->widget_osr),
+ "download-requested",
+ G_CALLBACK (webkit_osr_download_callback),
+ xw);
+
+ g_signal_connect (G_OBJECT (xw->widget_osr),
+ "mime-type-policy-decision-requested",
+ G_CALLBACK
(webkit_osr_mime_type_policy_typedecision_requested_callback),
+ xw);
+
+ g_signal_connect (G_OBJECT (xw->widget_osr),
+ "new-window-policy-decision-requested",
+ G_CALLBACK
(webkit_osr_new_window_policy_decision_requested_callback),
+ xw);
+
+ g_signal_connect (G_OBJECT (xw->widget_osr),
+ "navigation-policy-decision-requested",
+ G_CALLBACK
(webkit_osr_navigation_policy_decision_requested_callback),
+ xw);
+ }
+
+ if (EQ(xw->type, Qsocket_osr)) {
+ send_xembed_ready_event (xw, gtk_socket_get_id (GTK_SOCKET
(xw->widget_osr)));
+ //gtk_widget_realize(xw->widget);
+ }
+
+
+ unblock_input();
+
+ }
+#endif /* HAVE_WEBKIT_OSR */
+
+ return val;
+}
+
+DEFUN ("get-buffer-xwidgets", Fget_buffer_xwidgets, Sget_buffer_xwidgets, 1,
1, 0,
+ doc: /* Return a list of xwidgets associated with BUFFER.
+BUFFER may be a buffer or the name of one.
+ */
+ )
+ (Lisp_Object buffer)
+{
+ Lisp_Object xw, tail, xw_list;
+
+ if (NILP (buffer)) return Qnil;
+ buffer = Fget_buffer (buffer);
+ if (NILP (buffer)) return Qnil;
+
+ xw_list = Qnil;
+
+ for (tail = Vxwidget_list; CONSP (tail); tail = XCDR (tail))
+ {
+ xw = XCAR (tail);
+ if (XWIDGETP (xw) && EQ (Fxwidget_buffer (xw), buffer))
+ xw_list = Fcons (xw, xw_list);
+ }
+ return xw_list;
+}
+
+int
+xwidget_hidden(struct xwidget_view *xv)
+{
+ return xv->hidden;
+}
+
+
+static void
+buttonclick_handler (GtkWidget * widget, gpointer data)
+{
+ Lisp_Object xwidget_view, xwidget;
+ XSETXWIDGET_VIEW (xwidget_view, (struct xwidget_view *) data);
+ xwidget = Fxwidget_view_model (xwidget_view);
+
+ struct input_event event;
+ Lisp_Object frame = Fwindow_frame (Fxwidget_view_window (xwidget_view));
+ struct frame *f = XFRAME (frame);
+ printf ("button clicked xw:%d '%s'\n", XXWIDGET (xwidget), XXWIDGET
(xwidget)->title);
+
+ EVENT_INIT (event);
+ event.kind = XWIDGET_EVENT;
+
+ event.frame_or_window = frame;
+
+ event.arg = Qnil;
+ event.arg = Fcons (xwidget, event.arg);
+ event.arg = Fcons (intern ("buttonclick"), event.arg);
+
+ kbd_buffer_store_event (&event);
+}
+
+
+static void
+send_xembed_ready_event (struct xwidget* xw, int xembedid)
+{
+ Lisp_Object xw_lo;
+ XSETXWIDGET(xw_lo, xw);
+ struct input_event event;
+ EVENT_INIT (event);
+ event.kind = XWIDGET_EVENT;
+ event.frame_or_window = Qnil; //frame; //how to get the frame here?
//TODO i store it in the xwidget now
+
+ event.arg = Qnil;
+ event.arg = Fcons (make_number (xembedid), event.arg);
+ event.arg = Fcons (xw_lo, event.arg);
+ event.arg = Fcons (intern ("xembed-ready"), event.arg);
+
+
+ kbd_buffer_store_event (&event);
+
+}
+
+void
+xwidget_show_view (struct xwidget_view *xv)
+{
+ xv->hidden = 0;
+ gtk_widget_show(xv->widgetwindow);
+ gtk_fixed_move (GTK_FIXED (xv->emacswindow), xv->widgetwindow, xv->x +
xv->clip_left, xv->y + xv->clip_top); //TODO refactor
+}
+
+
+/* hide an xvidget view */
+void
+xwidget_hide_view (struct xwidget_view *xv)
+{
+ xv->hidden = 1;
+ //gtk_widget_hide(xw->widgetwindow);
+ gtk_fixed_move (GTK_FIXED (xv->emacswindow), xv->widgetwindow,
+ 10000, 10000);
+}
+
+
+void
+xwidget_plug_added(GtkSocket *socket,
+ gpointer user_data)
+{
+ //hmm this doesnt seem to get called for foreign windows
+ printf("xwidget_plug_added\n");
+}
+
+gboolean
+xwidget_plug_removed(GtkSocket *socket,
+ gpointer user_data)
+{
+ printf("xwidget_plug_removed\n");
+ return TRUE; /* dont run the default handler because that kills the socket
and we want to reuse it*/
+}
+
+
+void
+xwidget_slider_changed (GtkRange *range,
+ gpointer user_data)
+{
+ //slider value changed. change value of siblings
+ //correspondingly. but remember that changing value will again
+ //trigger signal
+
+ //TODO MVC view storage wont be an array futureish so the loop needs to
change eventually
+ //TODO MVC it would be nice if this code could be reusable but, alas, C is
not a functional language
+ //issues are:
+ // - the type of the controllers value (double, boolean etc)
+ // - the getter and setter (but they can be func pointers)
+ // a behemoth macro is always an option.
+ double v=gtk_range_get_value(range);
+ struct xwidget_view* xvp = g_object_get_data (G_OBJECT (range),
XG_XWIDGET_VIEW);
+ struct xwidget_view* xv;
+
+ printf("slider changed val:%f\n", v);
+
+ for (Lisp_Object tail = Vxwidget_view_list; CONSP (tail); tail = XCDR (tail))
+ {
+ if (XWIDGET_VIEW_P (XCAR (tail))) {
+ xv = XXWIDGET_VIEW (XCAR (tail));
+ if (EQ (xvp->model, xv->model)) {
+ //block sibling views signal handlers
+ g_signal_handler_block(xv->widget, xv->handler_id);
+
+ //set values of sibling views and unblock
+ gtk_range_set_value(GTK_RANGE(xv->widget), v);
+ g_signal_handler_unblock(xv->widget,xv->handler_id);
+ }
+ }
+ }
+}
+
+
+/* when the off-screen webkit master view changes this signal is called.
+ it copies the bitmap from the off-screen webkit instance */
+gboolean
+offscreen_damage_event (GtkWidget *widget, GdkEvent *event, gpointer data)
+{
+ //TODO this is wrong! should just queu a redraw of onscreen widget
+ gtk_widget_queue_draw (GTK_WIDGET (data));
+ return FALSE;
+}
+
+void
+store_xwidget_event_string(struct xwidget* xw, char* eventname, const char*
eventstr)
+{
+ //refactor attempt
+ struct input_event event;
+ Lisp_Object xwl;
+ XSETXWIDGET(xwl,xw);
+ EVENT_INIT (event);
+ event.kind = XWIDGET_EVENT;
+ event.frame_or_window = Qnil; //frame; //how to get the frame here?
//TODO i store it in the xwidget now
+
+ event.arg = Qnil;
+ event.arg = Fcons (build_string(eventstr), event.arg); //string so dont
intern
+ event.arg = Fcons (xwl, event.arg); //TODO
+ event.arg = Fcons (intern (eventname), event.arg);//interning should be ok
+ kbd_buffer_store_event (&event);
+
+}
+
+//TODO deprecated, use load-status
+void
+webkit_osr_document_load_finished_callback (WebKitWebView *webkitwebview,
+ WebKitWebFrame *arg1,
+ gpointer data)
+{
+ //TODO this event sending code should be refactored
+ // struct xwidget *xw = (struct xwidget *) data;
+ struct xwidget* xw = (struct xwidget*) g_object_get_data (G_OBJECT
(webkitwebview), XG_XWIDGET);
+ printf("webkit finished loading\n");
+
+ store_xwidget_event_string(xw,
+ "document-load-finished", "");
+}
+
+gboolean
+webkit_osr_download_callback (WebKitWebView *webkitwebview,
+ WebKitDownload *arg1,
+ gpointer data)
+{
+ //TODO this event sending code should be refactored
+ struct input_event event;
+ // struct xwidget *xw = (struct xwidget *) data;
+ struct xwidget* xw = (struct xwidget*) g_object_get_data (G_OBJECT
(webkitwebview), XG_XWIDGET);
+ printf("download requested %s\n", webkit_download_get_uri (arg1));
+
+
+ printf("webkit finished loading\n");
+
+ store_xwidget_event_string(xw, "download-requested", webkit_download_get_uri
(arg1));
+
+ return FALSE;
+}
+
+gboolean
+webkit_osr_mime_type_policy_typedecision_requested_callback(WebKitWebView
*webView,
+ WebKitWebFrame
*frame,
+
WebKitNetworkRequest *request,
+ gchar
*mimetype,
+
WebKitWebPolicyDecision *policy_decision,
+ gpointer
user_data)
+{
+ printf("mime policy requested\n");
+ // this function makes webkit send a download signal for all unknown mime
types
+ // TODO defer the decision to lisp, so that its possible to make Emacs
handle text mime for instance
+ if(!webkit_web_view_can_show_mime_type(webView, mimetype)){
+ webkit_web_policy_decision_download (policy_decision);
+ return TRUE;
+ }else{
+ return FALSE;
+ }
+}
+
+
+gboolean
+webkit_osr_new_window_policy_decision_requested_callback(WebKitWebView
*webView,
+ WebKitWebFrame
*frame,
+ WebKitNetworkRequest
*request,
+
WebKitWebNavigationAction *navigation_action,
+
WebKitWebPolicyDecision *policy_decision,
+ gpointer
user_data)
+{
+ struct xwidget* xw = (struct xwidget*) g_object_get_data (G_OBJECT
(webView), XG_XWIDGET);
+ printf("webkit_osr_new_window_policy_decision_requested_callback %s\n",
+ webkit_web_navigation_action_get_original_uri (navigation_action));
+
+ store_xwidget_event_string(xw, "new-window-policy-decision-requested",
webkit_web_navigation_action_get_original_uri (navigation_action)
+ );
+ return FALSE;
+}
+
+gboolean
+webkit_osr_navigation_policy_decision_requested_callback(WebKitWebView
*webView,
+ WebKitWebFrame
*frame,
+ WebKitNetworkRequest
*request,
+
WebKitWebNavigationAction *navigation_action,
+
WebKitWebPolicyDecision *policy_decision,
+ gpointer
user_data)
+{
+ struct xwidget* xw = (struct xwidget*) g_object_get_data (G_OBJECT
(webView), XG_XWIDGET);
+ printf("webkit_osr_navigation_policy_decision_requested_callback %s\n",
+ webkit_web_navigation_action_get_original_uri (navigation_action));
+ store_xwidget_event_string(xw, "navigation-policy-decision-requested",
webkit_web_navigation_action_get_original_uri (navigation_action)
+ );
+ return FALSE;
+}
+
+//for gtk3 offscreen rendered widgets
+gboolean
+xwidget_osr_draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data)
+{
+ struct xwidget* xw = (struct xwidget*) g_object_get_data (G_OBJECT (widget),
XG_XWIDGET);
+ struct xwidget_view* xv = (struct xwidget_view*) g_object_get_data (G_OBJECT
(widget), XG_XWIDGET_VIEW);
+
+ cairo_rectangle(cr, 0,0, xv->clip_right, xv->clip_bottom);//xw->width,
xw->height);
+ cairo_clip(cr);
+
+ //
+ if(xw->widgetscrolledwindow_osr != NULL)
+ gtk_widget_draw (xw->widgetscrolledwindow_osr, cr);
+ else
+ gtk_widget_draw (xw->widget_osr, cr);
+ return FALSE;
+}
+
+GtkWidget* xwgir_create_debug;
+
+
+
+gboolean
+xwidget_osr_event_forward (GtkWidget *widget,
+ GdkEvent *event,
+ gpointer user_data)
+{
+ /* copy events that arrive at the outer widget to the offscreen widget */
+ struct xwidget* xw = (struct xwidget*) g_object_get_data (G_OBJECT (widget),
XG_XWIDGET);
+ GdkEvent* eventcopy = gdk_event_copy(event);
+ eventcopy->any.window = gtk_widget_get_window(xw->widget_osr);// works
+
+ /* printf("xwidget_osr_event_forward redirect event to window:%d\n",
((GdkEventAny*)eventcopy)->window); */
+ /* printf("A type:%d x:%f y:%f \n", event->type, event->button.x,
event->button.y); */
+ /* printf("B type:%d x:%f y:%f \n", eventcopy->type, eventcopy->button.x,
eventcopy->button.y); */
+ //gtk_button_get_event_window(xwgir_create_debug);
+ gtk_main_do_event(eventcopy); //TODO this will leak events. they should be
deallocated later, perhaps in xwgir_event_callback
+ return TRUE; //dont propagate this event furter
+}
+
+GIRepository *girepository ;
+
+DEFUN ("xwgir-require-namespace", Fxwgir_require_namespace,
Sxwgir_require_namespace, 2,2,0,
+ doc: /* Require a GObject Introspection namespace.
+ This must be done for all namespaces we want to use, before
using other xwgir functions.*/)
+ (Lisp_Object lnamespace, Lisp_Object lnamespace_version)
+{
+ char* namespace = SDATA(lnamespace);
+ char* namespace_version = SDATA(lnamespace_version);
+ GError *error = NULL;
+
+ girepository = g_irepository_get_default();
+ g_irepository_require(girepository, namespace, namespace_version, 0, &error);
+ if (error) {
+ g_error("ERROR: %s\n", error->message);
+ return Qnil;
+ }
+ return Qt;
+}
+
+GtkWidget* xwgir_create(char* class, char* namespace){
+ //TODO this is more or less the same as xwgir-call-method, so should be
refactored
+ //create a gtk widget, given its name
+ //find the constructor
+ //call it
+ //also figure out how to pass args
+
+ GError *error = NULL;
+ GIArgument return_value;
+
+ GIObjectInfo* obj_info = g_irepository_find_by_name(girepository, namespace,
class);
+ GIFunctionInfo* f_info = g_object_info_find_method (obj_info, "new");
+ g_function_info_invoke(f_info,
+ NULL, 0,
+ NULL, 0,
+ &return_value,
+ NULL);
+ xwgir_create_debug = return_value.v_pointer;
+ return return_value.v_pointer;
+
+}
+
+int
+xwgir_convert_lisp_to_gir_arg(GIArgument* giarg,
+ GIArgInfo* arginfo,
+ Lisp_Object lisparg )
+{
+
+ GITypeTag tag;
+ gboolean is_pointer;
+ gboolean is_enum;
+ tag = g_type_info_get_tag (g_arg_info_get_type (arginfo));
+
+ switch (tag)
+ {
+ case GI_TYPE_TAG_BOOLEAN:
+ giarg->v_boolean = XFASTINT(lisparg);
+ break;
+ case GI_TYPE_TAG_INT8:
+ giarg->v_int8 = XFASTINT(lisparg);
+ break;
+ case GI_TYPE_TAG_UINT8:
+ giarg->v_uint8 = XFASTINT(lisparg);
+ break;
+ case GI_TYPE_TAG_INT16:
+ giarg->v_int16 = XFASTINT(lisparg);
+ break;
+ case GI_TYPE_TAG_UINT16:
+ giarg->v_uint16 = XFASTINT(lisparg);
+ break;
+ case GI_TYPE_TAG_INT32:
+ giarg->v_int32 = XFASTINT(lisparg);
+ break;
+ case GI_TYPE_TAG_UINT32:
+ giarg->v_uint32 = XFASTINT(lisparg);
+ break;
+
+ case GI_TYPE_TAG_INT64:
+ giarg->v_int64 = XFASTINT(lisparg);
+ break;
+ case GI_TYPE_TAG_UINT64:
+ giarg->v_uint64 = XFASTINT(lisparg);
+ break;
+
+
+ case GI_TYPE_TAG_FLOAT:
+ giarg->v_float = XFLOAT_DATA(lisparg);
+ break;
+
+ case GI_TYPE_TAG_DOUBLE:
+ giarg->v_double = XFLOAT_DATA(lisparg);
+ break;
+
+ case GI_TYPE_TAG_UTF8:
+ case GI_TYPE_TAG_FILENAME:
+ //giarg->v_string = SDATA(lisparg);
+ giarg->v_pointer = SDATA(lisparg);
+ break;
+
+ case GI_TYPE_TAG_ARRAY:
+ case GI_TYPE_TAG_GLIST:
+ case GI_TYPE_TAG_GSLIST:
+ case GI_TYPE_TAG_GHASH:
+ case GI_TYPE_TAG_ERROR:
+ case GI_TYPE_TAG_INTERFACE:
+ case GI_TYPE_TAG_VOID:
+ case GI_TYPE_TAG_UNICHAR:
+ case GI_TYPE_TAG_GTYPE:
+ //?? i dont know how to handle these yet TODO
+ printf("failed in my lisp to gir arg conversion duties. sob!\n");
+ return -1;
+ break;
+ }
+ return 0;
+}
+
+#if 0
+void
+refactor_attempt(){
+ //this methhod should be called from xwgir-xwidget-call-method and from
xwgir xwidget construction
+ char* class = SDATA(Fcar(Fcdr(Fget(xw->type, QCxwgir_class))));
+
+ GIObjectInfo* obj_info = g_irepository_find_by_name(girepository, namespace,
class);
+ GIFunctionInfo* f_info = g_object_info_find_method (obj_info, SDATA(method));
+
+ //loop over args, convert from lisp to primitive type, given arg
introspection data
+ //TODO g_callable_info_get_n_args(f_info) should match
+ int argscount = XFASTINT(Flength(arguments));
+ if(argscount != g_callable_info_get_n_args(f_info)){
+ printf("xwgir call method arg count doesn match! \n");
+ return Qnil;
+ }
+ int i;
+ for (i = 1; i < argscount + 1; ++i)
+ {
+ xwgir_convert_lisp_to_gir_arg(&in_args[i],
g_callable_info_get_arg(f_info, i - 1), Fnth(i - 1, arguments));
+ }
+
+ in_args[0].v_pointer = widget;
+ if(g_function_info_invoke(f_info,
+ in_args, argscount + 1,
+ NULL, 0,
+ &return_value,
+ &error)) {
+ //g_error("ERROR: %s\n", error->message);
+ printf("invokation error\n");
+ return Qnil;
+ }
+ return Qt;
+}
+#endif /* 0 */
+
+DEFUN ("xwgir-xwidget-call-method", Fxwgir_xwidget_call_method,
Sxwgir_xwidget_call_method, 3, 3, 0,
+ doc: /* Call Xwidget object method using GObject Introspection.
+ XWIDGET is the xwidget instance to act upon.
+ METHOD is the Gobject intrsopsection method name.
+ ARGUMENTS is a list of arguments for the call. They will
be converted to GObject types from Lisp types.
+ */)
+ (Lisp_Object xwidget, Lisp_Object method, Lisp_Object arguments)
+{
+ CHECK_XWIDGET (xwidget);
+ GError *error = NULL;
+ GIArgument return_value;
+ GIArgument in_args[20];
+
+
+ struct xwidget* xw;
+ if (NILP (xwidget)) { printf("ERROR xwidget nil\n"); return Qnil; };
+ xw = XXWIDGET(xwidget);
+ if(NULL == xw) printf("ERROR xw is 0\n");
+ char* namespace = SDATA(Fcar(Fget(xw->type, QCxwgir_class)));
+ //we need the concrete widget, which happens in 2 ways depending on OSR or
not TODO
+ GtkWidget* widget = NULL;
+ if(NULL == xw->widget_osr) {
+ widget = xwidget_view_lookup (xw, XWINDOW(FRAME_SELECTED_WINDOW
(SELECTED_FRAME ()))) -> widget;
+ } else {
+ widget = xw->widget_osr;
+ }
+
+ //char* class = SDATA(SYMBOL_NAME(xw->type)); //this works but is unflexible
+ //figure out the class from the widget instead
+ /* printf("type class: %s %s\n", G_OBJECT_TYPE_NAME(widget),
G_OBJECT_CLASS_NAME(G_OBJECT_GET_CLASS(widget))); */
+ /* char* class = G_OBJECT_TYPE_NAME(widget); //gives "GtkButton"(I want
"Button") */
+ /* class += strlen(namespace); //TODO check for corresponding api method.
but this seems to work. */
+
+ char* class = SDATA(Fcar(Fcdr(Fget(xw->type, QCxwgir_class))));
+
+ GIObjectInfo* obj_info = g_irepository_find_by_name(girepository, namespace,
class);
+ GIFunctionInfo* f_info = g_object_info_find_method (obj_info, SDATA(method));
+
+ //loop over args, convert from lisp to primitive type, given arg
introspection data
+ //TODO g_callable_info_get_n_args(f_info) should match
+ int argscount = XFASTINT(Flength(arguments));
+ if(argscount != g_callable_info_get_n_args(f_info)){
+ printf("xwgir call method arg count doesn match! \n");
+ return Qnil;
+ }
+ int i;
+ Lisp_Object n;
+ for (i = 1; i < argscount + 1; ++i)
+ {
+ XSETFASTINT (n, i - 1);
+ xwgir_convert_lisp_to_gir_arg(&in_args[i],
g_callable_info_get_arg(f_info, i - 1), Fnth(n, arguments));
+ }
+
+ in_args[0].v_pointer = widget;
+ if(g_function_info_invoke(f_info,
+ in_args, argscount + 1,
+ NULL, 0,
+ &return_value,
+ &error)) {
+ //g_error("ERROR: %s\n", error->message);
+ printf("invokation error\n");
+ return Qnil;
+ }
+ return Qt;
+}
+
+ void
+to_child (GtkWidget *bin,
+ double widget_x,
+ double widget_y,
+ double *x_out,
+ double *y_out)
+{
+ *x_out = widget_x;
+ *y_out = widget_y;
+}
+
+
+GdkWindow *
+offscreen_pick_embedded_child (GdkWindow *window,
+ double x,
+ double y,
+ gpointer *data)
+{
+ //in this simple case we assume the window contains a single widget. easy.
+ //but then we get the problem that the widget cant be embedded in several
windows
+ return gtk_widget_get_window (GTK_WIDGET (data));
+}
+
+void
+offscreen_to_embedder (GdkWindow *window,
+ gdouble offscreen_x,
+ gdouble offscreen_y,
+ gpointer embedder_x,
+ gpointer embedder_y,
+ gpointer data)
+{
+ * (gdouble *) embedder_x = offscreen_x;
+ * (gdouble *) embedder_y = offscreen_y;
+}
+
+void
+offscreen_from_embedder (GdkWindow *window,
+ gdouble embedder_x,
+ gdouble embedder_y,
+ gpointer offscreen_x,
+ gpointer offscreen_y,
+ gpointer user_data)
+{
+ * (gdouble *) offscreen_x = embedder_x;
+ * (gdouble *) offscreen_y = embedder_y;
+}
+
+gboolean
+xwidget_osr_event_set_embedder (GtkWidget *widget,
+ GdkEvent *event,
+ gpointer data)
+{
+ struct xwidget_view *xv = (struct xwidget_view *) data;
+ struct xwidget *xww = XXWIDGET (xv->model);
+ printf("gdk_offscreen_window_set_embedder %d %d\n",
+ GDK_IS_WINDOW(gtk_widget_get_window (xww->widget_osr)),
+ GDK_IS_WINDOW(gtk_widget_get_window (GTK_WIDGET (xv->widget))));
+ gdk_offscreen_window_set_embedder (gtk_widget_get_window
(xww->widgetwindow_osr),
+ gtk_widget_get_window (xv->widget));
+}
+
+
+/* initializes and does initial placement of an xwidget view on screen */
+struct xwidget_view*
+xwidget_init_view (struct xwidget *xww,
+ struct glyph_string *s,
+ int x, int y)
+{
+ struct xwidget_view *xv = allocate_xwidget_view();
+ Lisp_Object val;
+ GdkColor color;
+
+ XSETXWIDGET_VIEW (val, xv) ;
+ Vxwidget_view_list = Fcons (val, Vxwidget_view_list);
+
+ XSETWINDOW(xv->w, s->w);
+ XSETXWIDGET(xv->model, xww);
+
+ //widget creation
+ if(EQ(xww->type, Qbutton))
+ {
+ xv->widget = gtk_button_new_with_label (XSTRING(xww->title)->data);
+ g_signal_connect (G_OBJECT (xv->widget), "clicked",
+ G_CALLBACK (buttonclick_handler), xv); // the view
rather than the model
+ } else if (EQ(xww->type, Qtoggle)) {
+ xv->widget = gtk_toggle_button_new_with_label (XSTRING(xww->title)->data);
+ //xv->widget = gtk_entry_new ();//temp hack to experiment with key
propagation TODO entry widget is useful for testing
+ } else if (EQ(xww->type, Qsocket)) {
+ xv->widget = gtk_socket_new ();
+ g_signal_connect_after(xv->widget, "plug-added",
G_CALLBACK(xwidget_plug_added), "plug added");
+ g_signal_connect_after(xv->widget, "plug-removed",
G_CALLBACK(xwidget_plug_removed), "plug removed");
+ //TODO these doesnt help
+ gtk_widget_add_events(xv->widget, GDK_KEY_PRESS);
+ gtk_widget_add_events(xv->widget, GDK_KEY_RELEASE);
+ } else if (EQ(xww->type, Qslider)) {
+ xv->widget =
+ //gtk_hscale_new (GTK_ADJUSTMENT(gtk_adjustment_new (0.0, 0.0, 100.0,
1.0, 10.0, 10.0)));
+ gtk_hscale_new_with_range ( 0.0, 100.0, 10.0);
+ gtk_scale_set_draw_value (GTK_SCALE (xv->widget), FALSE); //i think its
emacs role to show text and stuff, so disable the widgets own text
+ xv->handler_id = g_signal_connect_after(xv->widget, "value-changed",
G_CALLBACK(xwidget_slider_changed), "slider changed");
+ } else if (EQ(xww->type, Qcairo)) {
+ //Cairo view
+ //uhm cairo is differentish in gtk 3.
+ //gdk_cairo_create (gtk_widget_get_window (FRAME_GTK_WIDGET (s->f)));
+ xv->widget = gtk_drawing_area_new();
+ g_signal_connect (G_OBJECT ( xv->widget), "draw",
+ G_CALLBACK (xwidget_osr_draw_callback), NULL);
+
+ } else if (EQ(xww->type, Qwebkit_osr)||
+ EQ(xww->type, Qsocket_osr)||
+ (!NILP (Fget(xww->type, QCxwgir_class))))//xwgir widgets are OSR
+ {
+ printf("osr init:%s\n",SDATA(SYMBOL_NAME(xww->type)));
+ xv->widget = gtk_drawing_area_new();
+ gtk_widget_set_app_paintable ( xv->widget, TRUE); //because expose event
handling
+ gtk_widget_add_events(xv->widget, GDK_ALL_EVENTS_MASK);
+
+ /* Draw the view on damage-event */
+ g_signal_connect (G_OBJECT (xww->widgetwindow_osr), "damage-event",
+ G_CALLBACK (offscreen_damage_event), xv->widget);
+
+ if (EQ(xww->type, Qwebkit_osr)){
+ /* ///xwgir debug */
+ /* //forward events. this isnt compatible with the set_embedded strategy
*/
+ g_signal_connect (G_OBJECT ( xv->widget), "button-press-event",
+ G_CALLBACK (xwidget_osr_event_forward), NULL);
+ g_signal_connect (G_OBJECT ( xv->widget), "button-release-event",
+ G_CALLBACK (xwidget_osr_event_forward), NULL);
+ g_signal_connect (G_OBJECT ( xv->widget), "motion-notify-event",
+ G_CALLBACK (xwidget_osr_event_forward), NULL);
+ }else{
+ //xwgir debug , orthogonal to forwarding
+ g_signal_connect (G_OBJECT (xv->widget), "enter-notify-event",
+ G_CALLBACK (xwidget_osr_event_set_embedder), xv);
+ }
+
+ //draw
+ g_signal_connect (G_OBJECT (xv->widget), "draw",
+ G_CALLBACK (xwidget_osr_draw_callback), NULL);
+
+ }
+ //else return NULL;
+
+ //widget realization
+ //make container widget 1st, and put the actual widget inside the container
+ //later, drawing should crop container window if necessary to handle case
where xwidget
+ //is partially obscured by other emacs windows
+ //other containers than gtk_fixed where explored, but gtk_fixed had the most
predictable behaviour so far.
+ xv->emacswindow = FRAME_GTK_WIDGET (s->f);
+ xv->widgetwindow = gtk_fixed_new ();
+ gtk_widget_set_has_window(xv->widgetwindow, TRUE);
+ gtk_container_add (GTK_CONTAINER (xv->widgetwindow), xv->widget);
+
+ //store some xwidget data in the gtk widgets
+ g_object_set_data (G_OBJECT (xv->widget), XG_FRAME_DATA, (gpointer) (s->f));
//the emacs frame
+ g_object_set_data (G_OBJECT (xv->widget), XG_XWIDGET, (gpointer) (xww));
//the xwidget
+ g_object_set_data (G_OBJECT (xv->widget), XG_XWIDGET_VIEW, (gpointer) (xv));
//the xwidget
+ g_object_set_data (G_OBJECT (xv->widgetwindow), XG_XWIDGET, (gpointer)
(xww)); //the xwidget window
+ g_object_set_data (G_OBJECT (xv->widgetwindow), XG_XWIDGET_VIEW, (gpointer)
(xv)); //the xwidget window
+
+
+ gtk_widget_set_size_request (GTK_WIDGET (xv->widget), xww->width,
xww->height);
+ gtk_widget_set_size_request (xv->widgetwindow, xww->width, xww->height);
+ gtk_fixed_put (GTK_FIXED (FRAME_GTK_WIDGET (s->f)), xv->widgetwindow, x, y);
+ xv->x = x; xv->y = y;
+ gtk_widget_show_all (xv->widgetwindow);
+
+
+
+ //widgettype specific initialization only possible after realization
+ if (EQ(xww->type, Qsocket)) {
+ printf ("xwid:%d socket id:%x %d\n",
+ xww,
+ gtk_socket_get_id (GTK_SOCKET (xv->widget)),
+ gtk_socket_get_id (GTK_SOCKET (xv->widget)));
+ send_xembed_ready_event (xww,
+ gtk_socket_get_id (GTK_SOCKET (xv->widget)));
+ //gtk_widget_realize(xw->widget);
+ }
+
+ //////////////////////////////////////////////////////////////
+ // xwgir debug
+ if (//EQ(xww->type, Qwebkit_osr)|| //TODO should be able to choose compile
time which method to use with webkit
+ EQ(xww->type, Qsocket_osr)||
+ (!NILP (Fget(xww->type, QCxwgir_class))))//xwgir widgets are OSR
+ {
+ printf("gdk_offscreen_window_set_embedder %d %d\n",
+ GDK_IS_WINDOW(gtk_widget_get_window (xww->widget_osr)),
+ GDK_IS_WINDOW(gtk_widget_get_window (GTK_WIDGET (xv->widget))));
+ // set_embedder needs to be called after xv->widget realization
+ gdk_offscreen_window_set_embedder (gtk_widget_get_window
(xww->widgetwindow_osr),
+ gtk_widget_get_window (xv->widget));
+ g_signal_connect (gtk_widget_get_window (xv->widget),
"pick-embedded-child",
+ G_CALLBACK (offscreen_pick_embedded_child),
xww->widgetwindow_osr);
+
+ g_signal_connect (gtk_widget_get_window (xww->widgetwindow_osr),
"from-embedder",
+ G_CALLBACK (offscreen_from_embedder), NULL);
+ g_signal_connect (gtk_widget_get_window (xww->widgetwindow_osr),
"to-embedder",
+ G_CALLBACK (offscreen_to_embedder), NULL);
+ }
+ ////////////////////////////////////////
+
+ return xv;
+}
+
+
+void
+x_draw_xwidget_glyph_string (struct glyph_string *s)
+{
+ /*
+ this method is called by the redisplay engine and places the xwidget on
screen.
+ moving and clipping is done here. also view init.
+
+ */
+ int box_line_hwidth = eabs (s->face->box_line_width);
+ int box_line_vwidth = max (s->face->box_line_width, 0);
+ int height = s->height;
+ struct xwidget *xww = s->xwidget;
+ struct xwidget_view *xv = xwidget_view_lookup(xww, s->w);
+ int clip_right; int clip_bottom; int clip_top; int clip_left;
+
+ int x = s->x;
+ int y = s->y + (s->height / 2) - (xww->height / 2);
+ int moved=0;
+
+ /* We do it here in the display loop because there is no other
+ time to know things like window placement etc.
+ */
+ printf ("xv init for xw %d\n", xww);
+ xv = xwidget_init_view (xww, s, x, y);
+
+ //calculate clipping, which is used for all manner of onscreen xwidget views
+ //each widget border can get clipped by other emacs objects so there are
four clipping variables
+ clip_right = min (xww->width, WINDOW_RIGHT_EDGE_X (s->w) - x -
WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH(s->w) - WINDOW_RIGHT_FRINGE_WIDTH(s->w));
+ clip_left = max (0, WINDOW_LEFT_EDGE_X (s->w) - x +
WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH(s->w) + WINDOW_LEFT_FRINGE_WIDTH(s->w));
+
+ clip_bottom = min (xww->height, WINDOW_BOTTOM_EDGE_Y (s->w) -
WINDOW_MODE_LINE_HEIGHT (s->w) - y);
+ clip_top = max(0, WINDOW_TOP_EDGE_Y(s->w) -y );
+
+ //we are conserned with movement of the onscreen area. the area might sit
still when the widget actually moves
+ //this happens when an emacs window border moves across a widget window
+ //so, if any corner of the outer widget clippng window moves, that counts as
movement here, even
+ //if it looks like no movement happens because the widget sits still inside
the clipping area.
+ //the widget can also move inside the clipping area, which happens later
+ moved = (xv->x + xv->clip_left != x+clip_left)
+ || ((xv->y + xv->clip_top)!= (y+clip_top));
+ xv->x = x;
+ xv->y = y;
+ if (moved) //has it moved?
+ {
+ if (1)//!xwidget_hidden(xv)) //hidden equals not being seen during
redisplay
+ {
+ //TODO should be possible to use xwidget_show_view here
+ gtk_fixed_move (GTK_FIXED (FRAME_GTK_WIDGET (s->f)),
+ xv->widgetwindow,
+ x + clip_left, y + clip_top);
+ }
+ }
+ //clip the widget window if some parts happen to be outside drawable area
+ //an emacs window is not a gtk window, a gtk window covers the entire frame
+ //cliping might have changed even if we havent actualy moved, we try figure
out when we need to reclip for real
+ if((xv->clip_right != clip_right)
+ || (xv->clip_bottom != clip_bottom)
+ || (xv->clip_top != clip_top)
+ || (xv->clip_left != clip_left)){
+ gtk_widget_set_size_request (xv->widgetwindow, clip_right + clip_left,
clip_bottom + clip_top);
+ gtk_fixed_move(GTK_FIXED(xv->widgetwindow), xv->widget, -clip_left,
-clip_top);
+
+ xv->clip_right = clip_right; xv->clip_bottom = clip_bottom; xv->clip_top =
clip_top;xv->clip_left = clip_left;
+ }
+ //if emacs wants to repaint the area where the widget lives, queue a redraw
+ //TODO it seems its possible to get out of sync with emacs redraws so emacs
bg sometimes shows up instead of xwidget
+ //its just a visual glitch though
+ if (!xwidget_hidden(xv)){
+ gtk_widget_queue_draw (xv->widgetwindow);
+ gtk_widget_queue_draw (xv->widget);
+ }
+}
+
+
+#ifdef HAVE_WEBKIT_OSR
+
+//FUGLY macro that checks WEBKIT_IS_WEB_VIEW(xw->widget_osr) first
+#define WEBKIT_FN_INIT() \
+ struct xwidget* xw; \
+ CHECK_XWIDGET (xwidget); \
+ if(NILP (xwidget)) {printf("ERROR xwidget nil\n"); return Qnil;}; \
+ xw = XXWIDGET(xwidget); \
+ if(NULL == xw) printf("ERROR xw is 0\n"); \
+ if((NULL == xw->widget_osr) || !WEBKIT_IS_WEB_VIEW(xw->widget_osr)){ \
+ printf("ERROR xw->widget_osr does not hold a webkit instance\n");\
+ return Qnil;\
+ };
+
+
+DEFUN ("xwidget-webkit-goto-uri", Fxwidget_webkit_goto_uri,
Sxwidget_webkit_goto_uri,
+ 2, 2, 0,
+ doc: /* Make the webkit instance referenced by XWIDGET browse URI.
*/)
+ (Lisp_Object xwidget, Lisp_Object uri)
+{
+ WEBKIT_FN_INIT();
+ CHECK_STRING(uri);
+ webkit_web_view_load_uri ( WEBKIT_WEB_VIEW(xw->widget_osr), SDATA(uri));
+ return Qnil;
+}
+
+
+DEFUN ("xwidget-webkit-execute-script", Fxwidget_webkit_execute_script,
Sxwidget_webkit_execute_script,
+ 2, 2, 0,
+ doc: /* webkit exec js.*/)
+ (Lisp_Object xwidget, Lisp_Object script)
+{
+ WEBKIT_FN_INIT();
+ CHECK_STRING(script);
+ webkit_web_view_execute_script( WEBKIT_WEB_VIEW(xw->widget_osr),
SDATA(script));
+ return Qnil;
+}
+
+DEFUN ("xwidget-webkit-get-title", Fxwidget_webkit_get_title,
Sxwidget_webkit_get_title,
+ 1, 1, 0,
+ doc: /* Get the title from the Webkit instance in XWIDGET.
+ This can be used to work around the lack of a return value
from the exec method.
+ */)
+ (Lisp_Object xwidget)
+{
+ //TODO support multibyte strings
+ WEBKIT_FN_INIT();
+ const gchar* str=webkit_web_view_get_title( WEBKIT_WEB_VIEW(xw->widget_osr));
+ //return make_string_from_bytes(str, wcslen((const wchar_t *)str),
strlen(str));
+ if(str == 0){
+ //TODO maybe return Qnil instead. I suppose webkit returns nullpointer
when doc is not properly loaded or something
+ printf("xwidget-webkit-get-title null webkit title\n");
+ return build_string("");
+ }
+ return build_string(str);
+}
+
+//TODO missnamed
+DEFUN ("xwidget-disable-plugin-for-mime", Fxwidget_disable_plugin_for_mime ,
Sxwidget_disable_plugin_for_mime,
+ 1,1,0, doc: /* */)
+ (Lisp_Object mime)
+{
+ WebKitWebPlugin *wp = webkit_web_plugin_database_get_plugin_for_mimetype
+ (webkit_get_web_plugin_database(), SDATA(mime));
+ if(wp == NULL) return Qnil;
+ if(webkit_web_plugin_get_enabled (wp)){
+ webkit_web_plugin_set_enabled (wp, FALSE);
+ return Qt;
+ }
+ return Qnil;
+}
+
+
+void
+xwidget_webkit_dom_dump(WebKitDOMNode* parent)
+{
+ WebKitDOMNodeList* list;
+ int i;
+ int length;
+ WebKitDOMNode* attribute;
+ WebKitDOMNamedNodeMap* attrs;
+ WebKitDOMNode* child;
+ printf("node:%d type:%d name:%s content:%s\n",
+ parent,
+ webkit_dom_node_get_node_type(parent),//1 element 3 text 8 comment 2
attribute
+ webkit_dom_node_get_local_name(parent),
+ webkit_dom_node_get_text_content(parent));
+
+ if(webkit_dom_node_has_attributes(parent)){
+ attrs = webkit_dom_node_get_attributes(parent);
+
+ length = webkit_dom_named_node_map_get_length(attrs);
+ for (int i = 0; i < length; i++) {
+ attribute = webkit_dom_named_node_map_item(attrs,i);
+ printf(" attr node:%d type:%d name:%s content:%s\n",
+ attribute,
+ webkit_dom_node_get_node_type(attribute),//1 element 3 text 8
comment
+ webkit_dom_node_get_local_name(attribute),
+ webkit_dom_node_get_text_content(attribute));
+ }
+ }
+ list = webkit_dom_node_get_child_nodes(parent);
+ length = webkit_dom_node_list_get_length(list);
+
+ for (int i = 0; i < length; i++) {
+ child = webkit_dom_node_list_item(list, i);
+ //if(webkit_dom_node_has_child_nodes(child))
+ xwidget_webkit_dom_dump(child);
+ }
+}
+
+
+DEFUN ("xwidget-webkit-dom-dump", Fxwidget_webkit_dom_dump,
Sxwidget_webkit_dom_dump,
+ 1, 1, 0,
+ doc: /*Dump the DOM contained in the webkit instance in XWIDGET.*/)
+ (Lisp_Object xwidget)
+{
+ WEBKIT_FN_INIT();
+ xwidget_webkit_dom_dump(WEBKIT_DOM_NODE(webkit_web_view_get_dom_document(
WEBKIT_WEB_VIEW(xw->widget_osr))));
+ return Qnil;
+}
+
+
+
+#endif /* HAVE_WEBKIT_OSR */
+
+
+
+DEFUN ("xwidget-resize", Fxwidget_resize, Sxwidget_resize, 3, 3, 0, doc:
+ /* Resize XWIDGET.
+ NEW_WIDTH NEW_HEIGHT defines the new size.)
+ */)
+ (Lisp_Object xwidget, Lisp_Object new_width, Lisp_Object new_height)
+{
+ CHECK_XWIDGET (xwidget);
+ struct xwidget* xw = XXWIDGET(xwidget);
+ struct xwidget_view *xv;
+ int w, h;
+
+ CHECK_NUMBER (new_width);
+ CHECK_NUMBER (new_height);
+ w = XFASTINT (new_width);
+ h = XFASTINT (new_height);
+
+
+ printf("resize xwidget %d (%d,%d)->(%d,%d)\n",xw, xw->width,xw->height,w,h);
+ xw->width=w;
+ xw->height=h;
+ //if theres a osr resize it 1st
+ if(xw->widget_osr){
+ printf("resize xwidget_osr\n");
+ //gtk_container_set_resize_mode ( GTK_WINDOW(xw->widgetwindow_osr),
GTK_RESIZE_QUEUE);
+ //gtk_container_set_resize_mode ( GTK_WINDOW(xw->widget_osr),
GTK_RESIZE_QUEUE);
+
+
+ //gtk_layout_set_size (GTK_LAYOUT (xw->widgetwindow_osr), xw->width,
xw->height);
+ gtk_widget_set_size_request (GTK_WIDGET (xw->widget_osr), xw->width,
xw->height); //minimum size
+ //gtk_window_resize( GTK_WINDOW(xw->widget_osr), xw->width, xw->height);
+ gtk_window_resize( GTK_WINDOW(xw->widgetwindow_osr), xw->width,
xw->height);
+ gtk_window_resize( GTK_WINDOW(xw->widgetscrolledwindow_osr), xw->width,
xw->height);
+
gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(xw->widgetscrolledwindow_osr
),xw->height);
+
gtk_scrolled_window_set_min_content_width(GTK_SCROLLED_WINDOW(xw->widgetscrolledwindow_osr
),xw->width);
+
+ //gtk_container_resize_children ( GTK_WINDOW(xw->widgetwindow_osr));
+ gtk_container_resize_children (GTK_CONTAINER(xw->widgetwindow_osr));
+
+ }
+
+ for (Lisp_Object tail = Vxwidget_view_list; CONSP (tail); tail = XCDR
(tail)) //TODO MVC refactor lazy linear search
+ {
+ if (XWIDGET_VIEW_P (XCAR (tail))) {
+ xv = XXWIDGET_VIEW (XCAR (tail));
+ if(XXWIDGET (xv->model) == xw) {
+ gtk_layout_set_size (GTK_LAYOUT (xv->widgetwindow), xw->width,
xw->height);
+ gtk_widget_set_size_request (GTK_WIDGET (xv->widget), xw->width,
xw->height);
+ }
+ }
+ }
+
+ return Qnil;
+}
+
+
+
+DEFUN ("xwidget-set-adjustment", Fxwidget_set_adjustment,
Sxwidget_set_adjustment, 4, 4, 0, doc:
+ /* set scrolling */)
+ (Lisp_Object xwidget, Lisp_Object axis, Lisp_Object relative, Lisp_Object
value)
+{
+ CHECK_XWIDGET (xwidget);
+ struct xwidget* xw = XXWIDGET(xwidget);
+ GtkAdjustment* adjustment;
+ float final_value=0.0;
+
+ if(EQ(Qvertical, axis)){
+ adjustment =
gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(xw->widgetscrolledwindow_osr));
+ }
+ if(EQ(Qhorizontal, axis)){
+ adjustment =
gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(xw->widgetscrolledwindow_osr));
+ }
+
+ if(EQ(Qt, relative)){
+ final_value=gtk_adjustment_get_value(adjustment)+XFASTINT(value);
+ }else{
+ final_value=0.0+XFASTINT(value);
+ }
+
+ gtk_adjustment_set_value(adjustment, final_value);
+
+ return Qnil;
+}
+
+
+DEFUN ("xwidget-size-request", Fxwidget_size_request, Sxwidget_size_request,
1, 1, 0, doc:
+ /* Desired size of the XWIDGET.
+
+ This can be used to read the xwidget desired size, and resizes the Emacs
allocated area accordingly.
+
+(TODO crashes if arg not osr widget)*/)
+ (Lisp_Object xwidget)
+{
+ CHECK_XWIDGET (xwidget);
+ GtkRequisition requisition;
+ Lisp_Object rv;
+ gtk_widget_size_request(XXWIDGET(xwidget)->widget_osr, &requisition);
+ rv = Qnil;
+ rv = Fcons (make_number(requisition.height), rv);
+ rv = Fcons (make_number(requisition.width), rv);
+ return rv;
+
+}
+
+DEFUN ("xwidgetp", Fxwidgetp, Sxwidgetp, 1, 1, 0,
+ doc: /* Return t if OBJECT is a xwidget. */)
+ (Lisp_Object object)
+{
+ return XWIDGETP (object) ? Qt : Qnil;
+}
+
+DEFUN ("xwidget-view-p", Fxwidget_view_p, Sxwidget_view_p, 1, 1, 0,
+ doc: /* Return t if OBJECT is a xwidget-view. */)
+ (Lisp_Object object)
+{
+ return XWIDGET_VIEW_P (object) ? Qt : Qnil;
+}
+
+DEFUN ("xwidget-info", Fxwidget_info , Sxwidget_info, 1,1,0,
+ doc: /* Get XWIDGET properties.
+ Currently type, title, width, height.*/)
+ (Lisp_Object xwidget)
+{
+ CHECK_XWIDGET (xwidget);
+ Lisp_Object info, n;
+ struct xwidget* xw = XXWIDGET(xwidget);
+
+ info = Fmake_vector (make_number (4), Qnil);
+ ASET (info, 0, xw->type);
+ ASET (info, 1, xw->title);
+ XSETFASTINT(n, xw->width);
+ ASET (info, 2, n);
+ XSETFASTINT(n, xw->height);
+ ASET (info, 3, n);
+
+ return info;
+}
+
+DEFUN ("xwidget-view-info", Fxwidget_view_info , Sxwidget_view_info, 1, 1, 0,
doc:
+ /* Get XWIDGET-VIEW properties.
+ Currently x,y clip right, clip bottom, clip top, clip left*/)
+ (Lisp_Object xwidget_view)
+{
+ CHECK_XWIDGET_VIEW (xwidget_view);
+ struct xwidget_view *xv = XXWIDGET_VIEW (xwidget_view);
+ Lisp_Object info;
+
+ info = Fmake_vector (make_number (6), Qnil);
+ ASET (info, 0, make_number(xv->x));
+ ASET (info, 1, make_number(xv->y));
+ ASET (info, 2, make_number(xv->clip_right));
+ ASET (info, 3, make_number(xv->clip_bottom));
+ ASET (info, 4, make_number(xv->clip_top));
+ ASET (info, 5, make_number(xv->clip_left));
+
+ return info;
+}
+
+DEFUN ("xwidget-view-model", Fxwidget_view_model, Sxwidget_view_model,
+ 1, 1, 0,
+ doc: /* Get XWIDGET-VIEW model. */)
+ (Lisp_Object xwidget_view)
+{
+ CHECK_XWIDGET_VIEW (xwidget_view);
+ return XXWIDGET_VIEW (xwidget_view)->model;
+}
+
+DEFUN ("xwidget-view-window", Fxwidget_view_window, Sxwidget_view_window,
+ 1, 1, 0,
+ doc: /* Get XWIDGET-VIEW window. */)
+ (Lisp_Object xwidget_view)
+{
+ CHECK_XWIDGET_VIEW (xwidget_view);
+ return XXWIDGET_VIEW (xwidget_view)->w;
+}
+
+DEFUN ("xwidget-send-keyboard-event", Fxwidget_send_keyboard_event,
Sxwidget_send_keyboard_event, 2, 2, 0,
+ doc:/* Synthesize a kbd event for XWIDGET. TODO crashes atm.. */
+ )
+ (Lisp_Object xwidget, Lisp_Object keydescriptor)
+{
+ //TODO this code crashes for offscreen widgets and ive tried many different
strategies
+ //int keyval = 0x058; //X
+ int keyval = XFASTINT(keydescriptor); //X
+ char *keystring = "";
+ GdkKeymapKey* keys;
+ gint n_keys;
+ GdkDeviceManager* manager;
+ struct xwidget *xw;
+ GtkWidget* widget;
+ GdkEventKey* ev;
+ Lisp_Object window;
+ //popup_activated_flag = 1; //TODO just a hack
+ gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(), keyval, &keys,
&n_keys);
+
+ xw = XXWIDGET(xwidget);
+
+ ev = (GdkEventKey*)gdk_event_new(GDK_KEY_PRESS);
+
+
+ //todo what about windowless widgets?
+
+ window = FRAME_SELECTED_WINDOW (SELECTED_FRAME ());
+
+
+ //TODO maybe we also need to special case sockets by picking up the plug
rather than the socket
+ if(xw->widget_osr)
+ widget = xw->widget_osr;
+ else
+ widget = xwidget_view_lookup(xw, XWINDOW(window))->widget;
+
+ ev->window = gtk_widget_get_window(widget);
+ gtk_widget_grab_focus(widget);
+ ev->send_event = FALSE;
+
+ ev->hardware_keycode = keys[0].keycode;
+ ev->group = keys[0].group;
+
+ ev->keyval = keyval;
+ ev->time = GDK_CURRENT_TIME;
+
+ //ev->device = gdk_device_get_core_pointer();
+ manager = gdk_display_get_device_manager(gdk_window_get_display(ev->window));
+ gdk_event_set_device ((GdkEvent*)ev,
gdk_device_manager_get_client_pointer(manager));
+ gdk_event_put((GdkEvent*)ev);
+ //g_signal_emit_by_name(ev->window,"key-press-event", ev);
+
+ ev->type = GDK_KEY_RELEASE;
+ gdk_event_put((GdkEvent*)ev);
+ //g_signal_emit_by_name(ev->window,"key-release-event", ev);
+ //gtk_main_do_event(ev);
+
+ //TODO
+ //if I delete the event the receiving component eventually crashes.
+ //it ough TDTRT since event_put is supposed to copy the event
+ //so probably this leaks events now
+ //gdk_event_free((GdkEvent*)ev);
+
+ return Qnil;
+}
+
+DEFUN ("delete-xwidget-view", Fdelete_xwidget_view, Sdelete_xwidget_view,
+ 1, 1, 0,
+ doc: /* Delete the XWIDGET-VIEW. */)
+ (Lisp_Object xwidget_view)
+{
+ CHECK_XWIDGET_VIEW (xwidget_view);
+ struct xwidget_view *xv = XXWIDGET_VIEW (xwidget_view);
+ gtk_widget_destroy(xv->widgetwindow);
+ Vxwidget_view_list = Fdelq (xwidget_view, Vxwidget_view_list);
+}
+
+DEFUN ("xwidget-view-lookup", Fxwidget_view_lookup, Sxwidget_view_lookup,
+ 1, 2, 0,
+ doc: /* Return the xwidget-view associated to XWIDGET in
+WINDOW if specified, otherwise it uses the selected window. */)
+ (Lisp_Object xwidget, Lisp_Object window)
+{
+ CHECK_XWIDGET (xwidget);
+
+ if (NILP (window))
+ window = Fselected_window();
+ CHECK_WINDOW (window);
+
+ for (Lisp_Object tail = Vxwidget_view_list; CONSP (tail); tail = XCDR (tail))
+ {
+ Lisp_Object xwidget_view = XCAR (tail);
+ if (EQ (Fxwidget_view_model (xwidget_view), xwidget)
+ && EQ (Fxwidget_view_window (xwidget_view), window))
+ return xwidget_view;
+ }
+
+ return Qnil;
+}
+
+DEFUN ("set-frame-visible", Fset_frame_visible, Sset_frame_visible,
+ 2, 2, 0,
+ doc: /* HACKY */)
+ (Lisp_Object frame, Lisp_Object flag)
+{
+ CHECK_FRAME (frame);
+ struct frame *f = XFRAME (frame);
+ SET_FRAME_VISIBLE (f, !NILP (flag));
+ return flag;
+}
+
+DEFUN ("xwidget-plist", Fxwidget_plist, Sxwidget_plist,
+ 1, 1, 0,
+ doc: /* Return the plist of XWIDGET. */)
+ (register Lisp_Object xwidget)
+{
+ CHECK_XWIDGET (xwidget);
+ return XXWIDGET (xwidget)->plist;
+}
+
+DEFUN ("xwidget-buffer", Fxwidget_buffer, Sxwidget_buffer,
+ 1, 1, 0,
+ doc: /* Return the buffer of XWIDGET. */)
+ (register Lisp_Object xwidget)
+{
+ CHECK_XWIDGET (xwidget);
+ return XXWIDGET (xwidget)->buffer;
+}
+
+DEFUN ("set-xwidget-plist", Fset_xwidget_plist, Sset_xwidget_plist,
+ 2, 2, 0,
+ doc: /* Replace the plist of XWIDGET with PLIST. Returns PLIST. */)
+ (register Lisp_Object xwidget, Lisp_Object plist)
+{
+ CHECK_XWIDGET (xwidget);
+ CHECK_LIST (plist);
+
+ XXWIDGET (xwidget)->plist = plist;
+ return plist;
+}
+
+DEFUN ("set-xwidget-query-on-exit-flag",
+ Fset_xwidget_query_on_exit_flag, Sset_xwidget_query_on_exit_flag,
+ 2, 2, 0,
+ doc: /* Specify if query is needed for XWIDGET when Emacs is
+exited. If the second argument FLAG is non-nil, Emacs will query the
+user before exiting or killing a buffer if XWIDGET is running. This
+function returns FLAG. */)
+ (Lisp_Object xwidget, Lisp_Object flag)
+{
+ CHECK_XWIDGET (xwidget);
+ XXWIDGET (xwidget)->kill_without_query = NILP (flag);
+ return flag;
+}
+
+DEFUN ("xwidget-query-on-exit-flag",
+ Fxwidget_query_on_exit_flag, Sxwidget_query_on_exit_flag,
+ 1, 1, 0,
+ doc: /* Return the current value of query-on-exit flag for XWIDGET. */)
+ (Lisp_Object xwidget)
+{
+ CHECK_XWIDGET (xwidget);
+ return (XXWIDGET (xwidget)->kill_without_query ? Qnil : Qt);
+}
+
+void
+syms_of_xwidget (void)
+{
+ int i;
+
+ defsubr (&Smake_xwidget);
+ defsubr (&Sxwidgetp);
+ DEFSYM (Qxwidgetp, "xwidgetp");
+ defsubr (&Sxwidget_view_p);
+ DEFSYM (Qxwidget_view_p, "xwidget-view-p");
+ defsubr (&Sxwidget_info);
+ defsubr (&Sxwidget_view_info);
+ defsubr (&Sxwidget_resize);
+ defsubr (&Sget_buffer_xwidgets);
+ defsubr (&Sxwidget_view_model);
+ defsubr (&Sxwidget_view_window);
+ defsubr (&Sxwidget_view_lookup);
+ defsubr (&Sxwidget_query_on_exit_flag);
+ defsubr (&Sset_xwidget_query_on_exit_flag);
+ defsubr (&Sset_frame_visible);
+
+ #ifdef HAVE_WEBKIT_OSR
+ defsubr (&Sxwidget_webkit_goto_uri);
+ defsubr (&Sxwidget_webkit_execute_script);
+ defsubr (&Sxwidget_webkit_get_title);
+ DEFSYM (Qwebkit_osr, "webkit-osr");
+ #endif
+
+ defsubr (&Sxwgir_xwidget_call_method );
+ defsubr (&Sxwgir_require_namespace);
+ defsubr (&Sxwidget_size_request );
+ defsubr (&Sdelete_xwidget_view);
+ defsubr (&Sxwidget_disable_plugin_for_mime);
+
+ defsubr (&Sxwidget_send_keyboard_event);
+ defsubr (&Sxwidget_webkit_dom_dump);
+ defsubr (&Sxwidget_plist);
+ defsubr (&Sxwidget_buffer);
+ defsubr (&Sset_xwidget_plist);
+
+ defsubr (&Sxwidget_set_adjustment);
+
+ DEFSYM (Qxwidget, "xwidget");
+
+ DEFSYM (QCxwidget, ":xwidget");
+ DEFSYM (QCxwgir_class, ":xwgir-class");
+ DEFSYM (QCtitle, ":title");
+
+ /* Do not forget to update the docstring of make-xwidget if you add
+ new types. */
+ DEFSYM (Qbutton, "Button"); //changed to match the gtk class because
xwgir(experimental and not really needed)
+ DEFSYM (Qtoggle, "ToggleButton");
+ DEFSYM (Qslider, "slider");
+ DEFSYM (Qsocket, "socket");
+ DEFSYM (Qsocket_osr, "socket-osr");
+ DEFSYM (Qcairo, "cairo");
+
+ DEFSYM (Qvertical, "vertical");
+ DEFSYM (Qhorizontal, "horizontal");
+
+ DEFSYM (QCplist, ":plist");
+
+ DEFVAR_LISP ("xwidget-list", Vxwidget_list, doc: /*xwidgets list*/);
+ Vxwidget_list = Qnil;
+
+ DEFVAR_LISP ("xwidget-view-list", Vxwidget_view_list, doc: /*xwidget views
list*/);
+ Vxwidget_view_list = Qnil;
+
+ Fprovide (intern ("xwidget-internal"), Qnil);
+
+}
+
+
+/* Value is non-zero if OBJECT is a valid Lisp xwidget specification. A
+ valid xwidget specification is a list whose car is the symbol
+ `xwidget', and whose rest is a property list. The property list must
+ contain a value for key `:type'. That value must be the name of a
+ supported xwidget type. The rest of the property list depends on the
+ xwidget type. */
+
+int
+valid_xwidget_spec_p (Lisp_Object object)
+{
+ int valid_p = 0;
+
+ if (CONSP (object) && EQ (XCAR (object), Qxwidget))
+ {
+ /* Lisp_Object tem; */
+
+ /* for (tem = XCDR (object); CONSP (tem); tem = XCDR (tem)) */
+ /* if (EQ (XCAR (tem), QCtype)) */
+ /* { */
+ /* tem = XCDR (tem); */
+ /* if (CONSP (tem) && SYMBOLP (XCAR (tem))) */
+ /* { */
+ /* struct xwidget_type *type; */
+ /* type = lookup_xwidget_type (XCAR (tem)); */
+ /* if (type) */
+ /* valid_p = type->valid_p (object); */
+ /* } */
+
+ /* break; */
+ /* } */
+ //never mind type support for now
+ valid_p = 1;
+ }
+
+ return valid_p;
+}
+
+
+
+/* find a value associated with key in spec */
+Lisp_Object
+xwidget_spec_value ( Lisp_Object spec, Lisp_Object key,
+ int *found)
+{
+ Lisp_Object tail;
+
+ eassert (valid_xwidget_spec_p (spec));
+
+ for (tail = XCDR (spec);
+ CONSP (tail) && CONSP (XCDR (tail)); tail = XCDR (XCDR (tail)))
+ {
+ if (EQ (XCAR (tail), key))
+ {
+ if (found)
+ *found = 1;
+ return XCAR (XCDR (tail));
+ }
+ }
+
+ if (found)
+ *found = 0;
+ return Qnil;
+}
+
+
+void
+xwidget_view_delete_all_in_window (struct window *w)
+{
+ struct xwidget_view* xv = NULL;
+ for (Lisp_Object tail = Vxwidget_view_list; CONSP (tail); tail = XCDR (tail))
+ {
+ if (XWIDGET_VIEW_P (XCAR (tail))) {
+ xv = XXWIDGET_VIEW (XCAR (tail));
+ if(XWINDOW (xv->w) == w) {
+ gtk_widget_destroy(xv->widgetwindow);
+ Vxwidget_view_list = Fdelq (XCAR (tail), Vxwidget_view_list);
+ }
+ }
+ }
+}
+
+struct xwidget_view*
+xwidget_view_lookup (struct xwidget* xw, struct window *w)
+{
+ Lisp_Object xwidget, window, ret;
+ XSETXWIDGET (xwidget, xw);
+ XSETWINDOW (window, w);
+
+ ret = Fxwidget_view_lookup (xwidget, window);
+
+ return EQ (ret, Qnil) ? NULL : XXWIDGET_VIEW (ret);
+}
+
+struct xwidget*
+lookup_xwidget (Lisp_Object spec)
+{
+ /* When a xwidget lisp spec is found initialize the C struct that is used in
the C code.
+ This is done by redisplay so values change if the spec changes.
+ So, take special care of one-shot events
+
+ TODO remove xwidget init from display spec. simply store an xwidget
reference only and set
+ size etc when creating the xwidget, which should happen before insertion
into buffer
+ */
+ int found = 0, found1 = 0, found2 = 0;
+ Lisp_Object value;
+ struct xwidget *xw;
+
+ value = xwidget_spec_value (spec, QCxwidget, &found1);
+ xw = XXWIDGET(value);
+
+ return xw;
+}
+
+/*set up detection of touched xwidget*/
+void
+xwidget_start_redisplay (void)
+{
+ for (Lisp_Object tail = Vxwidget_view_list; CONSP (tail); tail = XCDR (tail))
+ {
+ if (XWIDGET_VIEW_P (XCAR (tail)))
+ XXWIDGET_VIEW (XCAR (tail))->redisplayed = 0;
+ }
+}
+
+/* the xwidget was touched during redisplay, so it isnt a candidate for
hiding*/
+void
+xwidget_touch (struct xwidget_view *xv)
+{
+ xv->redisplayed = 1;
+}
+
+int
+xwidget_touched (struct xwidget_view *xv)
+{
+ return xv->redisplayed;
+}
+
+/* redisplay has ended, now we should hide untouched xwidgets
+*/
+void
+xwidget_end_redisplay (struct window *w, struct glyph_matrix *matrix)
+{
+
+ int i;
+ struct xwidget *xw;
+ int area;
+
+
+ xwidget_start_redisplay ();
+ //iterate desired glyph matrix of window here, hide gtk widgets
+ //not in the desired matrix.
+
+ //this only takes care of xwidgets in active windows.
+ //if a window goes away from screen xwidget views wust be deleted
+
+ // dump_glyph_matrix(matrix, 2);
+ for (i = 0; i < matrix->nrows; ++i)
+ {
+ // dump_glyph_row (MATRIX_ROW (matrix, i), i, glyphs);
+ struct glyph_row *row;
+ row = MATRIX_ROW (matrix, i);
+ if (row->enabled_p != 0)
+ {
+ for (area = LEFT_MARGIN_AREA; area < LAST_AREA; ++area)
+ {
+ struct glyph *glyph = row->glyphs[area];
+ struct glyph *glyph_end = glyph + row->used[area];
+ for (; glyph < glyph_end; ++glyph)
+ {
+ if (glyph->type == XWIDGET_GLYPH)
+ {
+ /*
+ the only call to xwidget_end_redisplay is in dispnew
+ xwidget_end_redisplay(w->current_matrix);
+ */
+ xwidget_touch (xwidget_view_lookup(glyph->u.xwidget,
+ w));
+ }
+ }
+ }
+ }
+ }
+
+ for (Lisp_Object tail = Vxwidget_view_list; CONSP (tail); tail = XCDR (tail))
+ {
+ if (XWIDGET_VIEW_P (XCAR (tail))) {
+ struct xwidget_view* xv = XXWIDGET_VIEW (XCAR (tail));
+
+ //"touched" is only meaningful for the current window, so disregard
other views
+ if (XWINDOW (xv->w) == w) {
+ if (xwidget_touched(xv))
+ xwidget_show_view (xv);
+ else
+ xwidget_hide_view (xv);
+ }
+ }
+ }
+}
+
+/* Kill all xwidget in BUFFER. */
+void
+kill_buffer_xwidgets (Lisp_Object buffer)
+{
+ Lisp_Object tail, xwidget;
+ for (tail = Fget_buffer_xwidgets (buffer); CONSP (tail); tail = XCDR (tail))
+ {
+ xwidget = XCAR (tail);
+ Vxwidget_list = Fdelq (xwidget, Vxwidget_list);
+ /* TODO free the GTK things in xw */
+ {
+ CHECK_XWIDGET (xwidget);
+ struct xwidget *xw = XXWIDGET (xwidget);
+ if (xw->widget_osr && xw->widgetwindow_osr)
+ {
+ gtk_widget_destroy(xw->widget_osr);
+ gtk_widget_destroy(xw->widgetwindow_osr);
+ }
+ }
+ }
+}
+
+#endif /* HAVE_XWIDGETS */
diff --git a/src/xwidget.h b/src/xwidget.h
new file mode 100644
index 0000000..cbaddf6
--- /dev/null
+++ b/src/xwidget.h
@@ -0,0 +1,115 @@
+#ifndef XWIDGET_H_INCLUDED
+#define XWIDGET_H_INCLUDED
+
+void x_draw_xwidget_glyph_string (struct glyph_string *s);
+void syms_of_xwidget ();
+
+//extern Lisp_Object Qxwidget;
+
+
+int valid_xwidget_spec_p (Lisp_Object object) ;
+
+#include <gtk/gtk.h>
+
+
+/*
+each xwidget instance/model is described by this struct.
+
+lisp pseudovector.
+
+
+ */
+struct xwidget{
+ struct vectorlike_header header;
+ Lisp_Object plist;//auxilliary data
+ Lisp_Object type;//the widget type
+ Lisp_Object buffer; //buffer where xwidget lives
+ Lisp_Object title;//a title that is used for button labels for instance
+
+ //here ends the lisp part.
+ //"height" is the marker field
+ int height;
+ int width;
+
+ //for offscreen widgets, unused if not osr
+ GtkWidget* widget_osr;
+ GtkWidget* widgetwindow_osr;
+ //this is used if the widget (webkit) is to be wrapped in a scrolled window,
+ GtkWidget* widgetscrolledwindow_osr;
+ /* Non-nil means kill silently if Emacs is exited. */
+ unsigned int kill_without_query : 1;
+
+};
+
+
+//struct for each xwidget view
+struct xwidget_view {
+ struct vectorlike_header header;
+ Lisp_Object model;
+ Lisp_Object w;
+
+ //here ends the lisp part.
+ //"redisplayed" is the marker field
+ int redisplayed; //if touched by redisplay
+
+ int hidden;//if the "live" instance isnt drawn
+
+ GtkWidget* widget;
+ GtkWidget* widgetwindow;
+ GtkWidget* emacswindow;
+ int x; int y;
+ int clip_right; int clip_bottom; int clip_top; int clip_left;
+
+
+ long handler_id;
+};
+
+/* Test for xwidget pseudovector*/
+#define XWIDGETP(x) PSEUDOVECTORP (x, PVEC_XWIDGET)
+#define XXWIDGET(a) (eassert (XWIDGETP(a)), \
+ (struct xwidget *) XUNTAG(a, Lisp_Vectorlike))
+
+#define CHECK_XWIDGET(x) \
+ CHECK_TYPE (XWIDGETP (x), Qxwidgetp, x)
+
+/* Test for xwidget_view pseudovector */
+#define XWIDGET_VIEW_P(x) PSEUDOVECTORP (x, PVEC_XWIDGET_VIEW)
+#define XXWIDGET_VIEW(a) (eassert (XWIDGET_VIEW_P(a)), \
+ (struct xwidget_view *) XUNTAG(a, Lisp_Vectorlike))
+
+#define CHECK_XWIDGET_VIEW(x) \
+ CHECK_TYPE (XWIDGET_VIEW_P (x), Qxwidget_view_p, x)
+
+struct xwidget_type
+{
+ /* A symbol uniquely identifying the xwidget type, */
+ Lisp_Object *type;
+
+ /* Check that SPEC is a valid image specification for the given
+ image type. Value is non-zero if SPEC is valid. */
+ int (* valid_p) (Lisp_Object spec);
+
+ /* Next in list of all supported image types. */
+ struct xwidget_type *next;
+};
+
+static struct xwidget_type *lookup_xwidget_type (Lisp_Object symbol);
+
+struct xwidget* xwidget_from_id(int id);
+
+//extern int xwidget_owns_kbd;
+
+void xwidget_start_redisplay();
+void xwidget_end_redisplay (struct window *w, struct glyph_matrix *matrix);
+
+void xwidget_touch (struct xwidget_view *xw);
+
+//void assert_valid_xwidget_id(int id,char *str);
+
+struct xwidget* lookup_xwidget (Lisp_Object spec);
+#define XG_XWIDGET "emacs_xwidget"
+#define XG_XWIDGET_VIEW "emacs_xwidget_view"
+void xwidget_view_delete_all_in_window( struct window *w );
+
+void kill_buffer_xwidgets (Lisp_Object buffer);
+#endif /* XWIDGET_H_INCLUDED */
diff --git a/test/ChangeLog b/test/ChangeLog
index a9834cc..2817881 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,11 @@
+2015-02-01 Joakim Verona <address@hidden>
+ Support for testing xwidgets
+ * xwidget-test-manual.el:
+
+2015-02-01 Grégoire Jadi <address@hidden>
+ Support for testing xwidgets
+ * automated/xwidget-tests.el:
+
2015-01-31 Stefan Monnier <address@hidden>
* automated/eieio-tests.el (eieio-test-23-inheritance-check): Simplify.
diff --git a/test/automated/xwidget-tests.el b/test/automated/xwidget-tests.el
new file mode 100644
index 0000000..7f79c94
--- /dev/null
+++ b/test/automated/xwidget-tests.el
@@ -0,0 +1,121 @@
+;; -*- lexical-binding: t; -*-
+
+(require 'cl)
+(require 'xwidget)
+(require 'xwidget-test)
+(require 'parallel)
+
+(defvar xwidget-parallel-config (list :emacs-path (expand-file-name
+
"~/packages/xwidget-build/src/emacs")))
+
+(defmacro xwidget-deftest (name types &rest body)
+ (declare (indent defun))
+ (if (null types)
+ `(ert-deftest ,(intern (format "%s" name)) ()
+ (let ((parallel-config xwidget-parallel-config))
+ ,@body))
+ `(progn
+ ,@(loop for type in types
+ collect
+ `(ert-deftest ,(intern (format "%s-%s" name type)) ()
+ (let ((parallel-config xwidget-parallel-config)
+ (type ',type)
+ (title ,(symbol-name type)))
+ ,@body))))))
+
+(xwidget-deftest xwidget-make-xwidget (Button ToggleButton slider socket cairo)
+ (let* ((beg 1)
+ (end 1)
+ (width 100)
+ (height 100)
+ (data nil)
+ (proc (parallel-start
+ (lambda (beg end type title width height data)
+ (require 'xwidget)
+ (require 'cl)
+ (with-temp-buffer
+ (insert ?\0)
+ (let* ((buffer (current-buffer))
+ (xwidget (make-xwidget beg end type title width
height data buffer)))
+ (set-xwidget-query-on-exit-flag xwidget nil)
+ (parallel-remote-send (coerce (xwidget-info xwidget)
'list))
+ (parallel-remote-send (buffer-name buffer))
+ (buffer-name (xwidget-buffer xwidget)))))
+ :env (list beg end type title width height data)))
+ (results (parallel-get-results proc)))
+ (should (parallel-success-p proc))
+ (when (parallel-success-p proc)
+ (destructuring-bind (xwidget-buffer temp-buffer xwidget-info)
+ results
+ (should (equal (list type title width height)
+ xwidget-info))
+ (should (equal temp-buffer xwidget-buffer))))))
+
+(xwidget-deftest xwidget-query-on-exit-flag ()
+ (should (equal '(nil t)
+ (parallel-get-results
+ (parallel-start (lambda ()
+ (require 'xwidget)
+ (let ((xwidget (make-xwidget 1 1 'Button
"Button" 100 100 nil)))
+ (parallel-remote-send
(xwidget-query-on-exit-flag xwidget))
+ (set-xwidget-query-on-exit-flag xwidget
nil)
+ (xwidget-query-on-exit-flag
xwidget))))))))
+
+(xwidget-deftest xwidget-query-on-exit-flag (Button ToggleButton slider socket
cairo)
+ (should (parallel-get-result
+ (parallel-start (lambda (type title)
+ (require 'xwidget)
+ (with-temp-buffer
+ (let ((xwidget (make-xwidget 1 1 type title 10
10 nil)))
+ (set-xwidget-query-on-exit-flag xwidget nil)
+ (xwidgetp xwidget))))
+ :env (list type title)))))
+
+(xwidget-deftest xwidget-CHECK_XWIDGET ()
+ (should (equal (parallel-get-result
+ (parallel-start (lambda ()
+ (require 'xwidget)
+ (xwidget-info nil))))
+ '(wrong-type-argument xwidgetp nil)))
+ (should (equal (parallel-get-result
+ (parallel-start (lambda ()
+ (require 'xwidget)
+ (xwidget-view-info nil))))
+ '(wrong-type-argument xwidget-view-p nil))))
+
+(xwidget-deftest xwidget-view-p (Button ToggleButton slider socket cairo)
+ (should (parallel-get-result
+ (parallel-start (lambda (type title)
+ (require 'xwidget)
+ (with-temp-buffer
+ (insert ?\0)
+ (let* ((xwidget (xwidget-insert 1 type title
100 100))
+ (window (xwidget-display xwidget)))
+ (set-xwidget-query-on-exit-flag xwidget nil)
+ (xwidget-view-p
+ (xwidget-view-lookup xwidget window)))))
+ :env (list type title)
+ :graphical t
+ :emacs-args '("-T" "emacs-debug")))))
+
+(defun xwidget-interactive-tests ()
+ "Interactively test Button ToggleButton and slider.
+
+Start Emacs instances and try to insert the xwidget."
+ (interactive)
+ (flet ((test-xwidget (type)
+ (parallel-get-result
+ (parallel-start (lambda ()
+ (require 'xwidget)
+ (with-temp-buffer
+ (insert ?\0)
+ (set-xwidget-query-on-exit-flag
+ (xwidget-insert 1 type (format
"%s" type) 100 100) nil)
+ (display-buffer (current-buffer))
+ (cons type (or (y-or-n-p (format
"Do you see a %s?" type)) 'failed))))
+ :graphical t
+ :debug t
+ :config xwidget-parallel-config))))
+ (message "%S" (mapcar #'test-xwidget '(Button ToggleButton slider)))))
+
+(provide 'xwidget-tests)
diff --git a/test/xwidget-test-manual.el b/test/xwidget-test-manual.el
new file mode 100644
index 0000000..3732dca
--- /dev/null
+++ b/test/xwidget-test-manual.el
@@ -0,0 +1,204 @@
+;;test like:
+;; cd /path/to/xwidgets-emacs-dir
+;; make all&& src/emacs -q --eval "(progn (load
\"`pwd`/lisp/xwidget-test.el\") (xwidget-demo-basic))"
+
+
+;; you should see:
+;; - a gtk button
+;; - a gtk toggle button
+;; - a gtk slider button
+;; - an xembed window(using gtk_socket) showing another emacs instance
+;; - an xembed window(using gtk_socket) showing an uzbl web browser if its
installed
+
+;;the widgets will move when you type in the buffer. good!
+
+;;there will be redrawing issues when widgets change rows, etc. bad!
+
+;;its currently difficult to give kbd focus to the xembedded emacs,
+;;but try evaling the following:
+
+;; (xwidget-set-keyboard-grab 3 1)
+
+
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; demo/test functions
+(require 'xwidget)
+
+(defmacro xwidget-demo (name &rest body)
+ `(defun ,(intern (concat "xwidget-demo-" name)) ()
+ (interactive)
+ (switch-to-buffer ,(format "*xwidget-demo-%s*" name))
+ (text-mode);;otherwise no local keymap
+ (insert "Some random text for xwidgets to be inserted in for demo
purposes.\n")
+ ,@body))
+
+(xwidget-demo "a-button"
+ (xwidget-insert (point-min) 'Button "button" 60 50)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+(xwidget-demo "a-button-bidi"
+ (xwidget-insert (+ 5 (point-min)) 'Button "button" 60 50)
+ (set (make-local-variable 'bidi-paragraph-direction)
'right-to-left)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+
+(xwidget-demo "a-toggle-button"
+ (xwidget-insert (point-min) 'ToggleButton "toggle" 60 50)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+(xwidget-demo "a-big-button"
+ (xwidget-insert (point-min) 'Button "button" 400 500)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+(xwidget-demo "a-socket"
+ (xwidget-insert (point-min) 'socket "socket" 500 500)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+(xwidget-demo "a-socket-osr-broken"
+ (xwidget-insert (point-min) 'socket-osr "socket-osr" 500 500)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+
+(xwidget-demo "a-slider"
+ (xwidget-insert (point-min) 'slider "slider" 500 100)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+(xwidget-demo "a-canvas"
+ (xwidget-insert (point-min) 'cairo "canvas" 1000 1000)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+(xwidget-demo "a-webkit-broken"
+ (xwidget-insert (point-min) 'webkit "webkit" 1000 1000)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+(xwidget-demo "a-webkit-osr"
+ (xwidget-insert (point-min) 'webkit-osr "webkit-osr" 1000 1000)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic)
+ (xwidget-webkit-goto-uri (xwidget-at 1) "http://www.fsf.org"))
+
+(xwidget-demo "a-xwgir"
+ (xwidget-insert (point-min) 'xwgir "xwgir" 1000 1000)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+(xwidget-demo "a-xwgir-color-button"
+ (xwgir-require-namespace "Gtk" "3.0")
+ (put 'ColorButton :xwgir-class '("Gtk" "ColorSelection"))
+ (xwidget-insert (point-min) 'ColorButton "xwgir-color-button"
1000 1000)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+(xwidget-demo "a-xwgir-button"
+ (xwgir-require-namespace "Gtk" "3.0")
+ (put 'xwgirButton :xwgir-class '("Gtk" "Button"))
+
+ (xwidget-insert (point-min) 'xwgirButton "xwgir label didnt
work..." 700 700)
+ (xwgir-xwidget-call-method (xwidget-at 1) "set_label" '( "xwgir
label worked!"))
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+(xwidget-demo "a-xwgir-check-button"
+ (xwgir-require-namespace "Gtk" "3.0")
+ (put 'xwgirCheckButton :xwgir-class '("Gtk" "CheckButton"))
+
+ (xwidget-insert (point-min) 'xwgirCheckButton "xwgir label
didnt work..." 700 700)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+(xwidget-demo "a-xwgir-hscale"
+ (xwgir-require-namespace "Gtk" "3.0")
+ (put 'xwgirHScale :xwgir-class '("Gtk" "HScale"))
+
+ (xwidget-insert (point-min) 'xwgirHScale "xwgir label didnt
work..." 700 700)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+(xwidget-demo "a-xwgir-webkit"
+ (xwgir-require-namespace "WebKit" "3.0")
+ (put 'xwgirWebkit :xwgir-class '("WebKit" "WebView"))
+
+ (xwidget-insert (point-min) 'xwgirWebkit "xwgir webkit..." 700
700)
+ (define-key (current-local-map) [xwidget-event]
'xwidget-handler-demo-basic))
+
+
+
+;; tentative testcase:
+;; (xwgir-require-namespace "WebKit" "3.0")
+
+;; (put 'webkit-osr :xwgir-class '("WebKit" "WebView"))
+;; (xwgir-call-method (xwidget-at 1) "set_zoom_level" '(3.0))
+
+;; (xwgir-require-namespace "Gtk" "3.0")
+;; (put 'color-selection :xwgir-class '("Gtk" "ColorSelection"))
+
+
+(xwidget-demo "basic"
+ (xwidget-insert (point-min) 'button "button" 40 50 )
+ (xwidget-insert 15 'toggle "toggle" 60 30 )
+ (xwidget-insert 30 'socket "emacs" 400 200 )
+ (xwidget-insert 20 'slider "slider" 100 50 )
+ (xwidget-insert 40 'socket "uzbl-core" 400 400 )
+ (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)
+)
+
+
+;it doesnt seem gtk_socket_steal works very well. its deprecated.
+; xwininfo -int
+; then (xwidget-embed-steal 3 <winid>)
+(defun xwidget-demo-grab ()
+ (interactive)
+ (insert "0 <<< grabbed appp will appear here\n")
+ (xwidget-insert 1 1 3 "1" 1000 )
+ (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-grab)
+ )
+
+;ive basically found these xembeddable things:
+;openvrml
+;emacs
+;mplayer
+;surf
+;uzbl
+
+;try the openvrml:
+;/usr/libexec/openvrml-xembed 0 ~/Desktop/HelloWorld.wrl
+
+(defun xwidget-handler-demo-basic ()
+ (interactive)
+ (message "stuff happened to xwidget %S" last-input-event)
+ (let*
+ ((xwidget-event-type (nth 1 last-input-event))
+ (xwidget (nth 2 last-input-event)))
+ (cond ( (eq xwidget-event-type 'xembed-ready)
+ (let*
+ ((xembed-id (nth 3 last-input-event)))
+ (message "xembed ready event: %S xw-id:%s" xembed-id xwidget)
+ ;;will start emacs/uzbl in a xembed socket when its ready
+ (cond
+ (t;;(eq 3 xwidget)
+ (start-process "xembed" "*xembed*"
"/var/lib/jenkins/jobs/emacs-xwidgets-automerge/workspace/src/emacs" "-q"
"--parent-id" (number-to-string xembed-id) ) )
+;; ((eq 5 xwidget-id)
+;; (start-process "xembed2" "*xembed2*" "uzbl-core" "-s"
(number-to-string xembed-id) "http://www.fsf.org" )
+ )
+
+ )
+ ))))
+
+
+
+(defun xwidget-handler-demo-grab ()
+ (interactive)
+ (message "stuff happened to xwidget %S" last-input-event)
+ (let*
+ ((xwidget-event-type (nth 2 last-input-event)))
+ (cond ( (eq xwidget-event-type 'xembed-ready)
+ (let*
+ ((xembed-id (nth 3 last-input-event)))
+ (message "xembed ready %S" xembed-id)
+ )
+ ))))
+(defun xwidget-dummy-hook ()
+ (message "xwidget dummy hook called"))
+
+; (xwidget-resize-hack 1 200 200)
+
+;(xwidget-demo-basic)
+
+(provide 'xwidget-test-manual)