aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorPaul Eggert2016-01-30 11:43:26 -0800
committerPaul Eggert2016-01-30 11:43:26 -0800
commitcb4e054e41cdb7e398351a5ae8224759e721349e (patch)
treeae2bec4f10425bd61e2a90563edc178d382bb4b8 /lisp
parente6d575316a42946aac6d83c9587f09afd1a59d98 (diff)
parent60902756b0d794b16b9c1c67c4c40a3ac04d1c1b (diff)
downloademacs-cb4e054e41cdb7e398351a5ae8224759e721349e.tar.gz
emacs-cb4e054e41cdb7e398351a5ae8224759e721349e.zip
-
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog.174
-rw-r--r--lisp/autorevert.el4
-rw-r--r--lisp/cedet/mode-local.el4
-rw-r--r--lisp/cedet/semantic/senator.el2
-rw-r--r--lisp/cedet/semantic/wisent.el2
-rw-r--r--lisp/dos-fns.el2
-rw-r--r--lisp/emacs-lisp/ert.el6
-rw-r--r--lisp/emacs-lisp/pcase.el2
-rw-r--r--lisp/emacs-lisp/tabulated-list.el1
-rw-r--r--lisp/files-x.el29
-rw-r--r--lisp/files.el123
-rw-r--r--lisp/font-lock.el8
-rw-r--r--lisp/frameset.el14
-rw-r--r--lisp/gnus/gnus-agent.el2
-rw-r--r--lisp/gnus/gnus-art.el4
-rw-r--r--lisp/gnus/mm-util.el6
-rw-r--r--lisp/international/characters.el2
-rw-r--r--lisp/ldefs-boot.el6
-rw-r--r--lisp/mail/mailclient.el2
-rw-r--r--lisp/man.el2
-rw-r--r--lisp/mh-e/mh-search.el2
-rw-r--r--lisp/net/browse-url.el8
-rw-r--r--lisp/net/nsm.el2
-rw-r--r--lisp/net/tramp-cmds.el2
-rw-r--r--lisp/net/tramp-gvfs.el2
-rw-r--r--lisp/org/ChangeLog.12
-rw-r--r--lisp/org/org-crypt.el2
-rw-r--r--lisp/org/org-element.el10
-rw-r--r--lisp/org/org-feed.el2
-rw-r--r--lisp/org/org-mobile.el2
-rw-r--r--lisp/org/org.el2
-rw-r--r--lisp/org/ox-ascii.el6
-rw-r--r--lisp/org/ox-icalendar.el2
-rw-r--r--lisp/org/ox-publish.el2
-rw-r--r--lisp/org/ox.el18
-rw-r--r--lisp/play/gamegrid.el2
-rw-r--r--lisp/play/gomoku.el2
-rw-r--r--lisp/progmodes/antlr-mode.el4
-rw-r--r--lisp/progmodes/cc-engine.el6
-rw-r--r--lisp/progmodes/etags.el2
-rw-r--r--lisp/progmodes/python.el4
-rw-r--r--lisp/progmodes/vhdl-mode.el4
-rw-r--r--lisp/simple.el2
-rw-r--r--lisp/strokes.el2
-rw-r--r--lisp/textmodes/flyspell.el3
-rw-r--r--lisp/textmodes/ispell.el2
-rw-r--r--lisp/textmodes/reftex-vars.el2
-rw-r--r--lisp/tree-widget.el2
-rw-r--r--lisp/vc/pcvs.el4
-rw-r--r--lisp/window.el2
-rw-r--r--lisp/xwidget.el113
51 files changed, 229 insertions, 216 deletions
diff --git a/lisp/ChangeLog.17 b/lisp/ChangeLog.17
index ee812bde82d..1785a336732 100644
--- a/lisp/ChangeLog.17
+++ b/lisp/ChangeLog.17
@@ -4437,7 +4437,7 @@
4437 4437
44382014-12-07 Lars Magne Ingebrigtsen <larsi@gnus.org> 44382014-12-07 Lars Magne Ingebrigtsen <larsi@gnus.org>
4439 4439
4440 * net/eww.el (eww-follow-link): Revert prefix behaviour to 4440 * net/eww.el (eww-follow-link): Revert prefix behavior to
4441 previous behavior. 4441 previous behavior.
4442 (eww-copy-page-url): Add doc string. 4442 (eww-copy-page-url): Add doc string.
4443 4443
@@ -9140,7 +9140,7 @@
91402014-06-30 Grégoire Jadi <daimrod@gmail.com> 91402014-06-30 Grégoire Jadi <daimrod@gmail.com>
9141 9141
9142 * net/rcirc.el (rcirc-buffer-process): Restore previous 9142 * net/rcirc.el (rcirc-buffer-process): Restore previous
9143 behaviour. (Bug#17772) 9143 behavior. (Bug#17772)
9144 9144
91452014-06-29 Alan Mackenzie <acm@muc.de> 91452014-06-29 Alan Mackenzie <acm@muc.de>
9146 9146
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index 5851a89ec97..14e39bddd2e 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -664,8 +664,8 @@ This is an internal function used by Auto-Revert Mode."
664 (not (eq revert 'fast))) 664 (not (eq revert 'fast)))
665 (message "Reverting buffer `%s'." (buffer-name))) 665 (message "Reverting buffer `%s'." (buffer-name)))
666 ;; If point (or a window point) is at the end of the buffer, we 666 ;; If point (or a window point) is at the end of the buffer, we
667 ;; want to keep it at the end after reverting. This allows to 667 ;; want to keep it at the end after reverting. This allows one
668 ;; tail a file. 668 ;; to tail a file.
669 (when buffer-file-name 669 (when buffer-file-name
670 (setq eob (eobp)) 670 (setq eob (eobp))
671 (walk-windows 671 (walk-windows
diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el
index ce367485c16..c7e6615e0df 100644
--- a/lisp/cedet/mode-local.el
+++ b/lisp/cedet/mode-local.el
@@ -189,7 +189,7 @@ BINDINGS is a list of (VARIABLE . VALUE).
189Optional argument PLIST is a property list each VARIABLE symbol will 189Optional argument PLIST is a property list each VARIABLE symbol will
190be set to. The following properties have special meaning: 190be set to. The following properties have special meaning:
191 191
192- `constant-flag' if non-nil, prevent to rebind variables. 192- `constant-flag' if non-nil, prevent rebinding variables.
193- `mode-variable-flag' if non-nil, define mode variables. 193- `mode-variable-flag' if non-nil, define mode variables.
194- `override-flag' if non-nil, define override functions. 194- `override-flag' if non-nil, define override functions.
195 195
@@ -544,7 +544,7 @@ default is to call the function `NAME-default' with the appropriate
544arguments. 544arguments.
545 545
546BODY can also include an override form that specifies which part of 546BODY can also include an override form that specifies which part of
547BODY is specifically overridden. This permits to specify common code 547BODY is specifically overridden. This permits specifying common code
548run for both default and overridden implementations. 548run for both default and overridden implementations.
549An override form is one of: 549An override form is one of:
550 550
diff --git a/lisp/cedet/semantic/senator.el b/lisp/cedet/semantic/senator.el
index a45077e50e4..38abc9ebbd9 100644
--- a/lisp/cedet/semantic/senator.el
+++ b/lisp/cedet/semantic/senator.el
@@ -803,7 +803,7 @@ if available."
803 (setq isearch-adjusted t) 803 (setq isearch-adjusted t)
804 (isearch-update)) 804 (isearch-update))
805 805
806;; Recent versions of GNU Emacs allow to override the isearch search 806;; Recent versions of GNU Emacs allow overriding the isearch search
807;; function for special needs, and avoid to advice the built-in search 807;; function for special needs, and avoid to advice the built-in search
808;; function :-) 808;; function :-)
809(defun senator-isearch-search-fun () 809(defun senator-isearch-search-fun ()
diff --git a/lisp/cedet/semantic/wisent.el b/lisp/cedet/semantic/wisent.el
index 2df4b2a2e15..d0632f1640c 100644
--- a/lisp/cedet/semantic/wisent.el
+++ b/lisp/cedet/semantic/wisent.el
@@ -149,7 +149,7 @@ and will be collected in `semantic-lex' form: (SYMBOL START . END)."
149 149
150;; Parser plug-ins 150;; Parser plug-ins
151;; 151;;
152;; The following functions permit to plug the Wisent LALR parser in 152;; The following functions permit plugging the Wisent LALR parser in
153;; Semantic toolkit. They use the standard API provided by Semantic 153;; Semantic toolkit. They use the standard API provided by Semantic
154;; to plug parsers in. 154;; to plug parsers in.
155;; 155;;
diff --git a/lisp/dos-fns.el b/lisp/dos-fns.el
index 0ce2b23527d..7188ae0bce7 100644
--- a/lisp/dos-fns.el
+++ b/lisp/dos-fns.el
@@ -98,7 +98,7 @@ sure to obey the 8.3 limitations."
98 string)) 98 string))
99 (aset string i ?_)) 99 (aset string i ?_))
100 ;; If we don't have a period in the first 8 chars, insert one. 100 ;; If we don't have a period in the first 8 chars, insert one.
101 ;; This enables to have 3 more characters from the original 101 ;; This enables having 3 more characters from the original
102 ;; name in the extension. 102 ;; name in the extension.
103 (if (> (or (string-match "\\." string) (length string)) 103 (if (> (or (string-match "\\." string) (length string))
104 8) 104 8)
diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el
index f4be9473394..7a914da3977 100644
--- a/lisp/emacs-lisp/ert.el
+++ b/lisp/emacs-lisp/ert.el
@@ -2128,12 +2128,12 @@ To be used in the ERT results buffer."
2128 "Move point from NODE to the previous or next node. 2128 "Move point from NODE to the previous or next node.
2129 2129
2130EWOC-FN specifies the direction and should be either `ewoc-prev' 2130EWOC-FN specifies the direction and should be either `ewoc-prev'
2131or `ewoc-next'. If there are no more nodes in that direction, an 2131or `ewoc-next'. If there are no more nodes in that direction, a
2132error is signaled with the message ERROR-MESSAGE." 2132user-error is signaled with the message ERROR-MESSAGE."
2133 (cl-loop 2133 (cl-loop
2134 (setq node (funcall ewoc-fn ert--results-ewoc node)) 2134 (setq node (funcall ewoc-fn ert--results-ewoc node))
2135 (when (null node) 2135 (when (null node)
2136 (error "%s" error-message)) 2136 (user-error "%s" error-message))
2137 (unless (ert--ewoc-entry-hidden-p (ewoc-data node)) 2137 (unless (ert--ewoc-entry-hidden-p (ewoc-data node))
2138 (goto-char (ewoc-location node)) 2138 (goto-char (ewoc-location node))
2139 (cl-return)))) 2139 (cl-return))))
diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el
index 549ee96dd5f..7be997e6469 100644
--- a/lisp/emacs-lisp/pcase.el
+++ b/lisp/emacs-lisp/pcase.el
@@ -117,7 +117,7 @@ two element list, binding its elements to symbols named `foo' and
117 117
118A significant difference from `cl-destructuring-bind' is that, if 118A significant difference from `cl-destructuring-bind' is that, if
119a pattern match fails, the next case is tried until either a 119a pattern match fails, the next case is tried until either a
120succesful match is found or there are no more cases. 120successful match is found or there are no more cases.
121 121
122Another difference is that pattern elements may be backquoted, 122Another difference is that pattern elements may be backquoted,
123meaning they must match exactly: The pattern \\='(foo bar) 123meaning they must match exactly: The pattern \\='(foo bar)
diff --git a/lisp/emacs-lisp/tabulated-list.el b/lisp/emacs-lisp/tabulated-list.el
index 68658d20b37..00b029d8f3e 100644
--- a/lisp/emacs-lisp/tabulated-list.el
+++ b/lisp/emacs-lisp/tabulated-list.el
@@ -571,7 +571,6 @@ data in an ewoc may instead specify a printer function (e.g., one
571that calls `ewoc-enter-last'), with `tabulated-list-print-entry' 571that calls `ewoc-enter-last'), with `tabulated-list-print-entry'
572as the ewoc pretty-printer." 572as the ewoc pretty-printer."
573 (setq-local truncate-lines t) 573 (setq-local truncate-lines t)
574 (setq-local buffer-read-only t)
575 (setq-local buffer-undo-list t) 574 (setq-local buffer-undo-list t)
576 (setq-local revert-buffer-function #'tabulated-list-revert) 575 (setq-local revert-buffer-function #'tabulated-list-revert)
577 (setq-local glyphless-char-display tabulated-list-glyphless-char-display) 576 (setq-local glyphless-char-display tabulated-list-glyphless-char-display)
diff --git a/lisp/files-x.el b/lisp/files-x.el
index 2e1a728356e..05ad7f57c57 100644
--- a/lisp/files-x.el
+++ b/lisp/files-x.el
@@ -429,23 +429,24 @@ from the MODE alist ignoring the input argument VALUE."
429 (catch 'exit 429 (catch 'exit
430 (unless enable-local-variables 430 (unless enable-local-variables
431 (throw 'exit (message "Directory-local variables are disabled"))) 431 (throw 'exit (message "Directory-local variables are disabled")))
432 (let ((variables-file (and (buffer-file-name) 432 (let* ((dir-or-cache (and (buffer-file-name)
433 (not (file-remote-p (buffer-file-name))) 433 (not (file-remote-p (buffer-file-name)))
434 (dir-locals-find-file (buffer-file-name)))) 434 (dir-locals-find-file (buffer-file-name))))
435 variables) 435 (variables-file
436 (setq variables-file
437 ;; If there are several .dir-locals, the user probably 436 ;; If there are several .dir-locals, the user probably
438 ;; wants to edit the last one (the highest priority). 437 ;; wants to edit the last one (the highest priority).
439 (cond ((stringp variables-file) 438 (cond ((stringp dir-or-cache)
440 (car (last (dir-locals--all-files variables-file)))) 439 (car (last (dir-locals--all-files dir-or-cache))))
441 ((consp variables-file) ; result from cache 440 ((consp dir-or-cache) ; result from cache
442 ;; If cache element has an mtime, assume it came from a file. 441 ;; If cache element has an mtime, assume it came
443 ;; Otherwise, assume it was set directly. 442 ;; from a file. Otherwise, assume it was set
444 (if (nth 2 variables-file) 443 ;; directly.
445 (car (last (dir-locals--all-files (car variables-file)))) 444 (if (nth 2 dir-or-cache)
446 (cadr variables-file))) 445 (car (last (dir-locals--all-files (car dir-or-cache))))
446 (cadr dir-or-cache)))
447 ;; Try to make a proper file-name. 447 ;; Try to make a proper file-name.
448 (t (concat dir-locals-file ".el")))) 448 (t (expand-file-name dir-locals-file))))
449 variables)
449 ;; I can't be bothered to handle this case right now. 450 ;; I can't be bothered to handle this case right now.
450 ;; Dir locals were set directly from a class. You need to 451 ;; Dir locals were set directly from a class. You need to
451 ;; directly modify the class in dir-locals-class-alist. 452 ;; directly modify the class in dir-locals-class-alist.
diff --git a/lisp/files.el b/lisp/files.el
index 5a15c71aab6..92ae4344e1c 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -3713,37 +3713,43 @@ VARIABLES list of the class. The list is processed in order.
3713 applied by recursively following these rules." 3713 applied by recursively following these rules."
3714 (setf (alist-get class dir-locals-class-alist) variables)) 3714 (setf (alist-get class dir-locals-class-alist) variables))
3715 3715
3716(defconst dir-locals-file ".dir-locals" 3716(defconst dir-locals-file ".dir-locals.el"
3717 "Pattern for files that contain directory-local variables. 3717 "File that contains directory-local variables.
3718It has to be constant to enforce uniform values across different 3718It has to be constant to enforce uniform values across different
3719environments and users. 3719environments and users.
3720See also `dir-locals-file-2', whose values override this one's.
3721See Info node `(elisp)Directory Local Variables' for details.")
3720 3722
3721Multiple dir-locals files in the same directory are loaded in 3723(defconst dir-locals-file-2 ".dir-locals-2.el"
3722`string<' order. 3724 "File that contains directory-local variables.
3725This essentially a second file that can be used like
3726`dir-locals-file', so that users can have specify their personal
3727dir-local variables even if the current directory already has a
3728`dir-locals-file' that is shared with other users (such as in a
3729git repository).
3723See Info node `(elisp)Directory Local Variables' for details.") 3730See Info node `(elisp)Directory Local Variables' for details.")
3724 3731
3725(defun dir-locals--all-files (file-or-dir) 3732(defun dir-locals--all-files (directory)
3726 "Return a list of all readable dir-locals files matching FILE-OR-DIR. 3733 "Return a list of all readable dir-locals files in DIRECTORY.
3727If FILE-OR-DIR is a file pattern, expand wildcards in it and 3734The returned list is sorted by increasing priority. That is,
3728return a sorted list of the results. If it is a directory name, 3735values specified in the last file should take precedence over
3729return a sorted list of all files matching `dir-locals-file' in 3736those in the first."
3730this directory. 3737 (when (file-readable-p directory)
3731The returned list is sorted by `string<' order." 3738 (let* ((file-1 (expand-file-name (if (eq system-type 'ms-dos)
3732 (require 'seq) 3739 (dosified-file-name dir-locals-file)
3733 (let ((dir (if (file-directory-p file-or-dir) 3740 dir-locals-file)
3734 file-or-dir 3741 directory))
3735 (or (file-name-directory file-or-dir) 3742 (file-2 (when (string-match "\\.el\\'" file-1)
3736 default-directory))) 3743 (replace-match "-2.el" t nil file-1)))
3737 (file (cond ((not (file-directory-p file-or-dir)) (file-name-nondirectory file-or-dir)) 3744 (out nil))
3738 ((eq system-type 'ms-dos) (dosified-file-name dir-locals-file)) 3745 ;; The order here is important.
3739 (t dir-locals-file)))) 3746 (dolist (f (list file-2 file-1))
3740 (seq-filter (lambda (f) (and (file-readable-p f) 3747 (when (and f
3741 (file-regular-p f) 3748 (file-readable-p f)
3742 (not (file-directory-p f)))) 3749 (file-regular-p f)
3743 (mapcar (lambda (f) (expand-file-name f dir)) 3750 (not (file-directory-p f)))
3744 (nreverse 3751 (push f out)))
3745 (let ((completion-regexp-list '("\\.el\\'"))) 3752 out)))
3746 (file-name-all-completions file dir)))))))
3747 3753
3748(defun dir-locals-find-file (file) 3754(defun dir-locals-find-file (file)
3749 "Find the directory-local variables for FILE. 3755 "Find the directory-local variables for FILE.
@@ -3758,24 +3764,19 @@ A cache entry based on a `dir-locals-file' is valid if the modification
3758time stored in the cache matches the current file modification time. 3764time stored in the cache matches the current file modification time.
3759If not, the cache entry is cleared so that the file will be re-read. 3765If not, the cache entry is cleared so that the file will be re-read.
3760 3766
3761This function returns either nil (no directory local variables found), 3767This function returns either:
3762or the matching entry from `dir-locals-directory-cache' (a list), 3768 - nil (no directory local variables found),
3763or the full path to the `dir-locals-file' (a string) in the case 3769 - the matching entry from `dir-locals-directory-cache' (a list),
3764of no valid cache entry. If `dir-locals-file' contains 3770 - or the full path to the directory (a string) containing at
3765wildcards, then the return value is not a proper filename, it is 3771 least one `dir-locals-file' in the case of no valid cache
3766an absolute version of `dir-locals-file' which is guaranteed to 3772 entry."
3767expand to at least one file."
3768 (setq file (expand-file-name file)) 3773 (setq file (expand-file-name file))
3769 (let* ((locals-dir (locate-dominating-file (file-name-directory file) 3774 (let* ((locals-dir (locate-dominating-file (file-name-directory file)
3770 #'dir-locals--all-files)) 3775 #'dir-locals--all-files))
3771 locals-file dir-elt) 3776 dir-elt)
3772 ;; `locate-dominating-file' may have abbreviated the name. 3777 ;; `locate-dominating-file' may have abbreviated the name.
3773 (when locals-dir 3778 (when locals-dir
3774 (setq locals-dir (expand-file-name locals-dir)) 3779 (setq locals-dir (expand-file-name locals-dir)))
3775 (setq locals-file (expand-file-name (if (eq system-type 'ms-dos)
3776 (dosified-file-name dir-locals-file)
3777 dir-locals-file)
3778 locals-dir)))
3779 ;; Find the best cached value in `dir-locals-directory-cache'. 3780 ;; Find the best cached value in `dir-locals-directory-cache'.
3780 (dolist (elt dir-locals-directory-cache) 3781 (dolist (elt dir-locals-directory-cache)
3781 (when (and (string-prefix-p (car elt) file 3782 (when (and (string-prefix-p (car elt) file
@@ -3808,20 +3809,19 @@ expand to at least one file."
3808 (delq dir-elt dir-locals-directory-cache)) 3809 (delq dir-elt dir-locals-directory-cache))
3809 ;; Return the first existing dir-locals file. Might be the same 3810 ;; Return the first existing dir-locals file. Might be the same
3810 ;; as dir-elt's, might not (eg latter might have been deleted). 3811 ;; as dir-elt's, might not (eg latter might have been deleted).
3811 locals-file) 3812 locals-dir)
3812 ;; No cache entry. 3813 ;; No cache entry.
3813 locals-file))) 3814 locals-dir)))
3814 3815
3815(defun dir-locals-read-from-file (file) 3816(defun dir-locals-read-from-dir (dir)
3816 "Load a variables FILE and register a new class and instance. 3817 "Load all variables files in DIR and register a new class and instance.
3817FILE is the absolute name of the file holding the variables to 3818DIR is the absolute name of a directory which must contain at
3818apply. It may contain wildcards. 3819least one dir-local file (which is a file holding variables to
3819The new class name is the same as the directory in which FILE 3820apply).
3820is found. Returns the new class name." 3821Return the new class name, which is a symbol named DIR."
3821 (require 'map) 3822 (require 'map)
3822 (let* ((dir-name (file-name-directory file)) 3823 (let* ((class-name (intern dir))
3823 (class-name (intern dir-name)) 3824 (files (dir-locals--all-files dir))
3824 (files (dir-locals--all-files file))
3825 (read-circle nil) 3825 (read-circle nil)
3826 (success nil) 3826 (success nil)
3827 (variables)) 3827 (variables))
@@ -3838,7 +3838,7 @@ is found. Returns the new class name."
3838 (setq success t)) 3838 (setq success t))
3839 (dir-locals-set-class-variables class-name variables) 3839 (dir-locals-set-class-variables class-name variables)
3840 (dir-locals-set-directory-class 3840 (dir-locals-set-directory-class
3841 dir-name class-name 3841 dir class-name
3842 (seconds-to-time 3842 (seconds-to-time
3843 (if success 3843 (if success
3844 (apply #'max (mapcar (lambda (file) 3844 (apply #'max (mapcar (lambda (file)
@@ -3849,6 +3849,9 @@ is found. Returns the new class name."
3849 0))) 3849 0)))
3850 class-name)) 3850 class-name))
3851 3851
3852(define-obsolete-function-alias 'dir-locals-read-from-file
3853 'dir-locals-read-from-dir "25.1")
3854
3852(defcustom enable-remote-dir-locals nil 3855(defcustom enable-remote-dir-locals nil
3853 "Non-nil means dir-local variables will be applied to remote files." 3856 "Non-nil means dir-local variables will be applied to remote files."
3854 :version "24.3" 3857 :version "24.3"
@@ -3870,17 +3873,17 @@ This does nothing if either `enable-local-variables' or
3870 (not (file-remote-p (or (buffer-file-name) 3873 (not (file-remote-p (or (buffer-file-name)
3871 default-directory))))) 3874 default-directory)))))
3872 ;; Find the variables file. 3875 ;; Find the variables file.
3873 (let ((file-pattern-or-cache (dir-locals-find-file 3876 (let ((dir-or-cache (dir-locals-find-file
3874 (or (buffer-file-name) default-directory))) 3877 (or (buffer-file-name) default-directory)))
3875 (class nil) 3878 (class nil)
3876 (dir-name nil)) 3879 (dir-name nil))
3877 (cond 3880 (cond
3878 ((stringp file-pattern-or-cache) 3881 ((stringp dir-or-cache)
3879 (setq dir-name (file-name-directory file-pattern-or-cache) 3882 (setq dir-name dir-or-cache
3880 class (dir-locals-read-from-file file-pattern-or-cache))) 3883 class (dir-locals-read-from-dir dir-or-cache)))
3881 ((consp file-pattern-or-cache) 3884 ((consp dir-or-cache)
3882 (setq dir-name (nth 0 file-pattern-or-cache)) 3885 (setq dir-name (nth 0 dir-or-cache))
3883 (setq class (nth 1 file-pattern-or-cache)))) 3886 (setq class (nth 1 dir-or-cache))))
3884 (when class 3887 (when class
3885 (let ((variables 3888 (let ((variables
3886 (dir-locals-collect-variables 3889 (dir-locals-collect-variables
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index 988bf7bd216..471db6b148f 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -1074,7 +1074,13 @@ accessible portion of the current buffer."
1074 1074
1075(defvar font-lock-ensure-function 1075(defvar font-lock-ensure-function
1076 (lambda (_beg _end) 1076 (lambda (_beg _end)
1077 (unless font-lock-fontified (font-lock-default-fontify-buffer))) 1077 (unless font-lock-fontified
1078 (font-lock-default-fontify-buffer)
1079 (unless font-lock-mode
1080 ;; If font-lock is not enabled, we don't have the hooks in place to
1081 ;; track modifications, so a subsequent call to font-lock-ensure can't
1082 ;; assume that the fontification is still valid.
1083 (setq font-lock-fontified nil))))
1078 "Function to make sure a region has been fontified. 1084 "Function to make sure a region has been fontified.
1079Called with two arguments BEG and END.") 1085Called with two arguments BEG and END.")
1080 1086
diff --git a/lisp/frameset.el b/lisp/frameset.el
index b8d86c649ec..2453f57e228 100644
--- a/lisp/frameset.el
+++ b/lisp/frameset.el
@@ -354,12 +354,12 @@ Properties can be set with
354;; Now, what about the filter alist variables? There are three of them, 354;; Now, what about the filter alist variables? There are three of them,
355;; though only two sets of parameters: 355;; though only two sets of parameters:
356;; 356;;
357;; - `frameset-session-filter-alist' contains these filters that allow to 357;; - `frameset-session-filter-alist' contains these filters that allow
358;; save and restore framesets in-session, without the need to serialize 358;; saving and restoring framesets in-session, without the need to
359;; the frameset or save it to disk (for example, to save a frameset in a 359;; serialize the frameset or save it to disk (for example, to save a
360;; register and restore it later). Filters in this list do not remove 360;; frameset in a register and restore it later). Filters in this
361;; live objects, except in `minibuffer', which is dealt especially by 361;; list do not remove live objects, except in `minibuffer', which is
362;; `frameset-save' / `frameset-restore'. 362;; dealt especially by `frameset-save' / `frameset-restore'.
363;; 363;;
364;; - `frameset-persistent-filter-alist' is the whole deal. It does all 364;; - `frameset-persistent-filter-alist' is the whole deal. It does all
365;; the filtering described above, and the result is ready to be saved on 365;; the filtering described above, and the result is ready to be saved on
@@ -1072,7 +1072,7 @@ FORCE-ONSCREEN can be:
1072 - a list (LEFT TOP WIDTH HEIGHT), describing the workarea. 1072 - a list (LEFT TOP WIDTH HEIGHT), describing the workarea.
1073 It must return non-nil to force the frame onscreen, nil otherwise. 1073 It must return non-nil to force the frame onscreen, nil otherwise.
1074 1074
1075CLEANUP-FRAMES allows to \"clean up\" the frame list after restoring a frameset: 1075CLEANUP-FRAMES allows \"cleaning up\" the frame list after restoring a frameset:
1076 t Delete all frames that were not created or restored upon. 1076 t Delete all frames that were not created or restored upon.
1077 nil Keep all frames. 1077 nil Keep all frames.
1078 FUNC A function called with two arguments: 1078 FUNC A function called with two arguments:
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index 9219ce04c1f..80753c11813 100644
--- a/lisp/gnus/gnus-agent.el
+++ b/lisp/gnus/gnus-agent.el
@@ -680,7 +680,7 @@ minor mode in all Gnus buffers."
680 680
681(defun gnus-agent-queue-setup (&optional group-name) 681(defun gnus-agent-queue-setup (&optional group-name)
682 "Make sure the queue group exists. 682 "Make sure the queue group exists.
683Optional arg GROUP-NAME allows to specify another group." 683Optional arg GROUP-NAME allows another group to be specified."
684 (unless (gnus-gethash (format "nndraft:%s" (or group-name "queue")) 684 (unless (gnus-gethash (format "nndraft:%s" (or group-name "queue"))
685 gnus-newsrc-hashtb) 685 gnus-newsrc-hashtb)
686 (gnus-request-create-group (or group-name "queue") '(nndraft "")) 686 (gnus-request-create-group (or group-name "queue") '(nndraft ""))
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 11ce04f799a..54bbfd857f1 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -1659,7 +1659,9 @@ called with the group name as the parameter, and should return a
1659regexp." 1659regexp."
1660 :version "24.1" 1660 :version "24.1"
1661 :group 'gnus-art 1661 :group 'gnus-art
1662 :type '(choice regexp function)) 1662 :type '(choice (const :tag "Allow all" nil)
1663 (regexp :tag "Regular expression")
1664 (function :tag "Use a function")))
1663 1665
1664;;; Internal variables 1666;;; Internal variables
1665 1667
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el
index fb97479302b..106d010a3dc 100644
--- a/lisp/gnus/mm-util.el
+++ b/lisp/gnus/mm-util.el
@@ -496,9 +496,9 @@ Unless LIST is given, `mm-codepage-ibm-list' is used."
496 (windows-1257 . (mm-codepage-setup 1257 t)))) 496 (windows-1257 . (mm-codepage-setup 1257 t))))
497 "An alist of (CHARSET . FORM) pairs. 497 "An alist of (CHARSET . FORM) pairs.
498If an article is encoded in an unknown CHARSET, FORM is 498If an article is encoded in an unknown CHARSET, FORM is
499evaluated. This allows to load additional libraries providing 499evaluated. This allows the loading of additional libraries
500charsets on demand. If supported by your Emacs version, you 500providing charsets on demand. If supported by your Emacs
501could use `autoload-coding-system' here." 501version, you could use `autoload-coding-system' here."
502 :version "22.1" ;; Gnus 5.10.9 502 :version "22.1" ;; Gnus 5.10.9
503 :type '(list (set :inline t 503 :type '(list (set :inline t
504 (const (windows-1250 . (mm-codepage-setup 1250 t))) 504 (const (windows-1250 . (mm-codepage-setup 1250 t)))
diff --git a/lisp/international/characters.el b/lisp/international/characters.el
index 2e947331abe..a43c0f68070 100644
--- a/lisp/international/characters.el
+++ b/lisp/international/characters.el
@@ -496,7 +496,7 @@ with L, LRE, or LRO Unicode bidi character type.")
496 table))) 496 table)))
497 497
498;; Load uni-mirrored.el and uni-brackets.el if available, so that they 498;; Load uni-mirrored.el and uni-brackets.el if available, so that they
499;; get dumped into Emacs. This allows to start Emacs with 499;; get dumped into Emacs. This allows starting Emacs with
500;; force-load-messages in ~/.emacs, and avoid infinite recursion in 500;; force-load-messages in ~/.emacs, and avoid infinite recursion in
501;; bidi_initialize, which needs to load uni-mirrored.el and 501;; bidi_initialize, which needs to load uni-mirrored.el and
502;; uni-brackets.el in order to display the "Loading" messages. 502;; uni-brackets.el in order to display the "Loading" messages.
diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el
index f0c65fa032b..7b46822aad7 100644
--- a/lisp/ldefs-boot.el
+++ b/lisp/ldefs-boot.el
@@ -11624,7 +11624,7 @@ FORCE-ONSCREEN can be:
11624 - a list (LEFT TOP WIDTH HEIGHT), describing the workarea. 11624 - a list (LEFT TOP WIDTH HEIGHT), describing the workarea.
11625 It must return non-nil to force the frame onscreen, nil otherwise. 11625 It must return non-nil to force the frame onscreen, nil otherwise.
11626 11626
11627CLEANUP-FRAMES allows to \"clean up\" the frame list after restoring a frameset: 11627CLEANUP-FRAMES allows \"cleaning up\" the frame list after restoring a frameset:
11628 t Delete all frames that were not created or restored upon. 11628 t Delete all frames that were not created or restored upon.
11629 nil Keep all frames. 11629 nil Keep all frames.
11630 FUNC A function called with two arguments: 11630 FUNC A function called with two arguments:
@@ -30597,8 +30597,8 @@ Usage:
30597 according to option `vhdl-argument-list-indent'. 30597 according to option `vhdl-argument-list-indent'.
30598 30598
30599 If option `vhdl-indent-tabs-mode' is nil, spaces are used instead of 30599 If option `vhdl-indent-tabs-mode' is nil, spaces are used instead of
30600 tabs. `\\[tabify]' and `\\[untabify]' allow to convert spaces to tabs 30600 tabs. `\\[tabify]' and `\\[untabify]' allow the conversion of spaces to
30601 and vice versa. 30601 tabs and vice versa.
30602 30602
30603 Syntax-based indentation can be very slow in large files. Option 30603 Syntax-based indentation can be very slow in large files. Option
30604 `vhdl-indent-syntax-based' allows you to use faster but simpler indentation. 30604 `vhdl-indent-syntax-based' allows you to use faster but simpler indentation.
diff --git a/lisp/mail/mailclient.el b/lisp/mail/mailclient.el
index bfd6e7d1424..eb1305a5e39 100644
--- a/lisp/mail/mailclient.el
+++ b/lisp/mail/mailclient.el
@@ -22,7 +22,7 @@
22 22
23;;; Commentary: 23;;; Commentary:
24 24
25;; This package allows to hand over a buffer to be sent off 25;; This package allows handing over a buffer to be sent off
26;; via the system's designated e-mail client. 26;; via the system's designated e-mail client.
27;; Note that the e-mail client will display the contents of the buffer 27;; Note that the e-mail client will display the contents of the buffer
28;; again for editing. 28;; again for editing.
diff --git a/lisp/man.el b/lisp/man.el
index 40b77e6eeed..04a7fc3fe7a 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -75,7 +75,7 @@
75;; ============= TODO =========== 75;; ============= TODO ===========
76;; - Add a command for printing. 76;; - Add a command for printing.
77;; - The awk script deletes multiple blank lines. This behavior does 77;; - The awk script deletes multiple blank lines. This behavior does
78;; not allow to understand if there was indeed a blank line at the 78;; not allow one to understand if there was indeed a blank line at the
79;; end or beginning of a page (after the header, or before the 79;; end or beginning of a page (after the header, or before the
80;; footer). A different algorithm should be used. It is easy to 80;; footer). A different algorithm should be used. It is easy to
81;; compute how many blank lines there are before and after the page 81;; compute how many blank lines there are before and after the page
diff --git a/lisp/mh-e/mh-search.el b/lisp/mh-e/mh-search.el
index 30b38919944..6e607444ad8 100644
--- a/lisp/mh-e/mh-search.el
+++ b/lisp/mh-e/mh-search.el
@@ -1262,7 +1262,7 @@ is used to search."
1262 (forward-line))) 1262 (forward-line)))
1263 1263
1264;; All implementations of pick have special options -cc, -date, -from and 1264;; All implementations of pick have special options -cc, -date, -from and
1265;; -subject that allow to search for corresponding components. Any other 1265;; -subject that allow searching for corresponding components. Any other
1266;; component is searched using option --COMPNAME, for example: `pick 1266;; component is searched using option --COMPNAME, for example: `pick
1267;; --x-mailer mh-e'. Mailutils "pick" supports this option using a certain 1267;; --x-mailer mh-e'. Mailutils "pick" supports this option using a certain
1268;; kludge, but it prefers the following syntax for this purpose: 1268;; kludge, but it prefers the following syntax for this purpose:
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index edf91ab6000..1a666e0d9e9 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -148,7 +148,7 @@ regexp should probably be \".\" to specify a default browser."
148 (function-item :tag "eww" :value eww-browse-url) 148 (function-item :tag "eww" :value eww-browse-url)
149 (function-item :tag "Mozilla" :value browse-url-mozilla) 149 (function-item :tag "Mozilla" :value browse-url-mozilla)
150 (function-item :tag "Firefox" :value browse-url-firefox) 150 (function-item :tag "Firefox" :value browse-url-firefox)
151 (function-item :tag "Google Chrome" :value browse-url-chrome) 151 (function-item :tag "Google Chrome" :value browse-url-chrome)
152 (function-item :tag "Chromium" :value browse-url-chromium) 152 (function-item :tag "Chromium" :value browse-url-chromium)
153 (function-item :tag "Epiphany" :value browse-url-epiphany) 153 (function-item :tag "Epiphany" :value browse-url-epiphany)
154 (function-item :tag "Conkeror" :value browse-url-conkeror) 154 (function-item :tag "Conkeror" :value browse-url-conkeror)
@@ -266,15 +266,15 @@ Defaults to the value of `browse-url-firefox-arguments' at the time
266 (while (and candidates (not (executable-find (car candidates)))) 266 (while (and candidates (not (executable-find (car candidates))))
267 (setq candidates (cdr candidates))) 267 (setq candidates (cdr candidates)))
268 (or (car candidates) "chromium")) 268 (or (car candidates) "chromium"))
269 "The name by which to invoke Chromium." 269 "The name by which to invoke the Chrome browser."
270 :type 'string 270 :type 'string
271 :version "24.1" 271 :version "25.1"
272 :group 'browse-url) 272 :group 'browse-url)
273 273
274(defcustom browse-url-chrome-arguments nil 274(defcustom browse-url-chrome-arguments nil
275 "A list of strings to pass to Google Chrome as arguments." 275 "A list of strings to pass to Google Chrome as arguments."
276 :type '(repeat (string :tag "Argument")) 276 :type '(repeat (string :tag "Argument"))
277 :version "24.1" 277 :version "25.1"
278 :group 'browse-url) 278 :group 'browse-url)
279 279
280(defcustom browse-url-chromium-program 280(defcustom browse-url-chromium-program
diff --git a/lisp/net/nsm.el b/lisp/net/nsm.el
index ebdeeccc2c8..ee8b55bf192 100644
--- a/lisp/net/nsm.el
+++ b/lisp/net/nsm.el
@@ -87,7 +87,7 @@ against previous connections. If the function determines that
87there is something odd about the connection, the user will be 87there is something odd about the connection, the user will be
88queried about what to do about it. 88queried about what to do about it.
89 89
90The process it returned if everything is OK, and otherwise, the 90The process is returned if everything is OK, and otherwise, the
91process will be deleted and nil is returned. 91process will be deleted and nil is returned.
92 92
93If SAVE-FINGERPRINT, always save the fingerprint of the 93If SAVE-FINGERPRINT, always save the fingerprint of the
diff --git a/lisp/net/tramp-cmds.el b/lisp/net/tramp-cmds.el
index 5e9af0b18eb..856011fc0ee 100644
--- a/lisp/net/tramp-cmds.el
+++ b/lisp/net/tramp-cmds.el
@@ -209,7 +209,7 @@ Before reproducing the bug, you might apply
209 209
210 M-x tramp-cleanup-all-connections 210 M-x tramp-cleanup-all-connections
211 211
212This allows to investigate from a clean environment. Another 212This allows us to investigate from a clean environment. Another
213useful thing to do is to put 213useful thing to do is to put
214 214
215 (setq tramp-verbose 9) 215 (setq tramp-verbose 9)
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index 46bf3de098d..796a5d3d0dd 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -86,7 +86,7 @@
86 86
87;; Restrictions: 87;; Restrictions:
88 88
89;; * The current GVFS implementation does not allow to write on the 89;; * The current GVFS implementation does not allow writing on the
90;; remote bluetooth device via OBEX. 90;; remote bluetooth device via OBEX.
91;; 91;;
92;; * Two shares of the same SMB server cannot be mounted in parallel. 92;; * Two shares of the same SMB server cannot be mounted in parallel.
diff --git a/lisp/org/ChangeLog.1 b/lisp/org/ChangeLog.1
index 57a427c30d4..ccc849d226a 100644
--- a/lisp/org/ChangeLog.1
+++ b/lisp/org/ChangeLog.1
@@ -32528,7 +32528,7 @@
32528 (org-export-normalize-links) 32528 (org-export-normalize-links)
32529 (org-export-concatenate-multiline-links) 32529 (org-export-concatenate-multiline-links)
32530 (org-export-concatenate-multiline-emphasis): New functions, 32530 (org-export-concatenate-multiline-emphasis): New functions,
32531 obtained from spliting the export preprocessor. 32531 obtained from splitting the export preprocessor.
32532 32532
32533 * org-table.el (org-table-recalculate): Improve error message if 32533 * org-table.el (org-table-recalculate): Improve error message if
32534 the row number is invalid. 32534 the row number is invalid.
diff --git a/lisp/org/org-crypt.el b/lisp/org/org-crypt.el
index 22b02c84889..8abe32befe0 100644
--- a/lisp/org/org-crypt.el
+++ b/lisp/org/org-crypt.el
@@ -225,7 +225,7 @@ See `org-crypt-disable-auto-save'."
225 ;; outline property starts at the \n of the heading. 225 ;; outline property starts at the \n of the heading.
226 (delete-region (1- (point)) end) 226 (delete-region (1- (point)) end)
227 ;; Store a checksum of the decrypted and the encrypted 227 ;; Store a checksum of the decrypted and the encrypted
228 ;; text value. This allow to reuse the same encrypted text 228 ;; text value. This allow reusing the same encrypted text
229 ;; if the text does not change, and therefore avoid a 229 ;; if the text does not change, and therefore avoid a
230 ;; re-encryption process. 230 ;; re-encryption process.
231 (insert "\n" (propertize decrypted-text 231 (insert "\n" (propertize decrypted-text
diff --git a/lisp/org/org-element.el b/lisp/org/org-element.el
index e47d65f1037..a19f52c7923 100644
--- a/lisp/org/org-element.el
+++ b/lisp/org/org-element.el
@@ -367,8 +367,8 @@ still has an entry since one of its properties (`:title') does.")
367;; Provide four accessors: `org-element-type', `org-element-property' 367;; Provide four accessors: `org-element-type', `org-element-property'
368;; `org-element-contents' and `org-element-restriction'. 368;; `org-element-contents' and `org-element-restriction'.
369;; 369;;
370;; Setter functions allow to modify elements by side effect. There is 370;; Setter functions allow modification of elements by side effect.
371;; `org-element-put-property', `org-element-set-contents', 371;; There is `org-element-put-property', `org-element-set-contents',
372;; `org-element-set-element' and `org-element-adopt-element'. Note 372;; `org-element-set-element' and `org-element-adopt-element'. Note
373;; that `org-element-set-element' and `org-element-adopt-elements' are 373;; that `org-element-set-element' and `org-element-adopt-elements' are
374;; higher level functions since also update `:parent' property. 374;; higher level functions since also update `:parent' property.
@@ -487,7 +487,7 @@ Return parent element."
487;; cannot contain other greater elements of their own type. 487;; cannot contain other greater elements of their own type.
488;; 488;;
489;; Beside implementing a parser and an interpreter, adding a new 489;; Beside implementing a parser and an interpreter, adding a new
490;; greater element requires to tweak `org-element--current-element'. 490;; greater element requires tweaking `org-element--current-element'.
491;; Moreover, the newly defined type must be added to both 491;; Moreover, the newly defined type must be added to both
492;; `org-element-all-elements' and `org-element-greater-elements'. 492;; `org-element-all-elements' and `org-element-greater-elements'.
493 493
@@ -4023,8 +4023,8 @@ position of point and CDR is nil."
4023;; `org-element-parse-secondary-string', which parses objects within 4023;; `org-element-parse-secondary-string', which parses objects within
4024;; a given string. 4024;; a given string.
4025;; 4025;;
4026;; The (almost) almighty `org-element-map' allows to apply a function 4026;; The (almost) almighty `org-element-map' allows applying a function
4027;; on elements or objects matching some type, and accumulate the 4027;; on elements or objects matching some type, and accumulating the
4028;; resulting values. In an export situation, it also skips unneeded 4028;; resulting values. In an export situation, it also skips unneeded
4029;; parts of the parse tree. 4029;; parts of the parse tree.
4030 4030
diff --git a/lisp/org/org-feed.el b/lisp/org/org-feed.el
index 2d71c8b6fcc..6d6f996954a 100644
--- a/lisp/org/org-feed.el
+++ b/lisp/org/org-feed.el
@@ -24,7 +24,7 @@
24;; 24;;
25;;; Commentary: 25;;; Commentary:
26;; 26;;
27;; This module allows to create and change entries in an Org-mode 27;; This module allows entries to be created and changed in an Org-mode
28;; file triggered by items in an RSS feed. The basic functionality is 28;; file triggered by items in an RSS feed. The basic functionality is
29;; geared toward simply adding new items found in a feed as outline nodes 29;; geared toward simply adding new items found in a feed as outline nodes
30;; to an Org file. Using hooks, arbitrary actions can be triggered for 30;; to an Org file. Using hooks, arbitrary actions can be triggered for
diff --git a/lisp/org/org-mobile.el b/lisp/org/org-mobile.el
index b11f4448a8d..f535390790f 100644
--- a/lisp/org/org-mobile.el
+++ b/lisp/org/org-mobile.el
@@ -88,7 +88,7 @@ org-agenda-text-search-extra-files
88Encryption uses AES-256, with a password given in 88Encryption uses AES-256, with a password given in
89`org-mobile-encryption-password'. 89`org-mobile-encryption-password'.
90When nil, plain files are kept on the server. 90When nil, plain files are kept on the server.
91Turning on encryption requires to set the same password in the MobileOrg 91Turning on encryption requires setting the same password in the MobileOrg
92application. Before turning this on, check of MobileOrg does already 92application. Before turning this on, check of MobileOrg does already
93support it - at the time of this writing it did not yet." 93support it - at the time of this writing it did not yet."
94 :group 'org-mobile 94 :group 'org-mobile
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 960b874bc7e..6e7d54d39c0 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -2254,7 +2254,7 @@ fast, while still showing the whole path to the entry."
2254 :type 'boolean) 2254 :type 'boolean)
2255 2255
2256(defcustom org-refile-allow-creating-parent-nodes nil 2256(defcustom org-refile-allow-creating-parent-nodes nil
2257 "Non-nil means allow to create new nodes as refile targets. 2257 "Non-nil means allow the creation of new nodes as refile targets.
2258New nodes are then created by adding \"/new node name\" to the completion 2258New nodes are then created by adding \"/new node name\" to the completion
2259of an existing node. When the value of this variable is `confirm', 2259of an existing node. When the value of this variable is `confirm',
2260new node creation must be confirmed by the user (recommended). 2260new node creation must be confirmed by the user (recommended).
diff --git a/lisp/org/ox-ascii.el b/lisp/org/ox-ascii.el
index 1907dc0c748..dcca608b306 100644
--- a/lisp/org/ox-ascii.el
+++ b/lisp/org/ox-ascii.el
@@ -35,10 +35,10 @@
35 35
36;;; Define Back-End 36;;; Define Back-End
37;; 37;;
38;; The following setting won't allow to modify preferred charset 38;; The following setting won't allow modifying preferred charset
39;; through a buffer keyword or an option item, but, since the property 39;; through a buffer keyword or an option item, but, since the property
40;; will appear in communication channel nonetheless, it allows to 40;; will appear in communication channel nonetheless, it allows
41;; override `org-ascii-charset' variable on the fly by the ext-plist 41;; overriding `org-ascii-charset' variable on the fly by the ext-plist
42;; mechanism. 42;; mechanism.
43;; 43;;
44;; We also install a filter for headlines and sections, in order to 44;; We also install a filter for headlines and sections, in order to
diff --git a/lisp/org/ox-icalendar.el b/lisp/org/ox-icalendar.el
index 44480673db8..0d34ba19f45 100644
--- a/lisp/org/ox-icalendar.el
+++ b/lisp/org/ox-icalendar.el
@@ -76,7 +76,7 @@ for timed events. If non-zero, alarms are created.
76 76
77(defcustom org-icalendar-exclude-tags nil 77(defcustom org-icalendar-exclude-tags nil
78 "Tags that exclude a tree from export. 78 "Tags that exclude a tree from export.
79This variable allows to specify different exclude tags from other 79This variable allows specifying different exclude tags from other
80back-ends. It can also be set with the ICAL_EXCLUDE_TAGS 80back-ends. It can also be set with the ICAL_EXCLUDE_TAGS
81keyword." 81keyword."
82 :group 'org-export-icalendar 82 :group 'org-export-icalendar
diff --git a/lisp/org/ox-publish.el b/lisp/org/ox-publish.el
index ec33bbda52d..38fdce1d0bf 100644
--- a/lisp/org/ox-publish.el
+++ b/lisp/org/ox-publish.el
@@ -1078,7 +1078,7 @@ publishing directory."
1078 "Return numbering for headline matching FUZZY search in FILE. 1078 "Return numbering for headline matching FUZZY search in FILE.
1079 1079
1080Return value is a list of numbers, or nil. This function allows 1080Return value is a list of numbers, or nil. This function allows
1081to resolve external fuzzy links like: 1081the resolution of external fuzzy links like:
1082 1082
1083 [[file.org::*fuzzy][description]]" 1083 [[file.org::*fuzzy][description]]"
1084 (when org-publish-cache 1084 (when org-publish-cache
diff --git a/lisp/org/ox.el b/lisp/org/ox.el
index cc5a2d2bcf2..89d79738a63 100644
--- a/lisp/org/ox.el
+++ b/lisp/org/ox.el
@@ -775,7 +775,7 @@ is nil. You can also allow them through local buffer variables."
775(defcustom org-export-snippet-translation-alist nil 775(defcustom org-export-snippet-translation-alist nil
776 "Alist between export snippets back-ends and exporter back-ends. 776 "Alist between export snippets back-ends and exporter back-ends.
777 777
778This variable allows to provide shortcuts for export snippets. 778This variable allows providing shortcuts for export snippets.
779 779
780For example, with a value of \((\"h\" . \"html\")), the 780For example, with a value of \((\"h\" . \"html\")), the
781HTML back-end will recognize the contents of \"@@h:<b>@@\" as 781HTML back-end will recognize the contents of \"@@h:<b>@@\" as
@@ -849,7 +849,7 @@ output is restricted to body only, \"s\" when it is restricted to
849the current subtree, \"v\" when only visible elements are 849the current subtree, \"v\" when only visible elements are
850considered for export, \"f\" when publishing functions should be 850considered for export, \"f\" when publishing functions should be
851passed the FORCE argument and \"a\" when the export should be 851passed the FORCE argument and \"a\" when the export should be
852asynchronous). Also, [?] allows to switch back to standard 852asynchronous). Also, [?] allows switching back to standard
853mode." 853mode."
854 :group 'org-export-general 854 :group 'org-export-general
855 :version "24.4" 855 :version "24.4"
@@ -3657,9 +3657,9 @@ INFO is the plist used as a communication channel."
3657;; `org-export-get-relative-level' is a shortcut to get headline 3657;; `org-export-get-relative-level' is a shortcut to get headline
3658;; level, relatively to the lower headline level in the parsed tree. 3658;; level, relatively to the lower headline level in the parsed tree.
3659;; 3659;;
3660;; `org-export-get-headline-number' returns the section number of an 3660;; `org-export-get-headline-number' returns the section number of a
3661;; headline, while `org-export-number-to-roman' allows to convert it 3661;; headline, while `org-export-number-to-roman' allows it to be
3662;; to roman numbers. 3662;; converted to roman numbers.
3663;; 3663;;
3664;; `org-export-low-level-p', `org-export-first-sibling-p' and 3664;; `org-export-low-level-p', `org-export-first-sibling-p' and
3665;; `org-export-last-sibling-p' are three useful predicates when it 3665;; `org-export-last-sibling-p' are three useful predicates when it
@@ -4093,8 +4093,8 @@ Otherwise, only provided element's type is considered.
4093Optional argument PREDICATE is a function returning a non-nil 4093Optional argument PREDICATE is a function returning a non-nil
4094value if the current element or object should be counted in. It 4094value if the current element or object should be counted in. It
4095accepts two arguments: the element or object being considered and 4095accepts two arguments: the element or object being considered and
4096the plist used as a communication channel. This allows to count 4096the plist used as a communication channel. This allows counting
4097only a certain type of objects (i.e. inline images). 4097only a certain type of object (i.e. inline images).
4098 4098
4099Return value is a list of numbers if ELEMENT is a headline or an 4099Return value is a list of numbers if ELEMENT is a headline or an
4100item. It is nil for keywords. It represents the footnote number 4100item. It is nil for keywords. It represents the footnote number
@@ -5458,7 +5458,7 @@ to `:default' encoding. If it fails, return S."
5458;; returned results in the current process. 5458;; returned results in the current process.
5459;; 5459;;
5460;; At a higher level, `org-export-to-buffer' and `org-export-to-file' 5460;; At a higher level, `org-export-to-buffer' and `org-export-to-file'
5461;; allow to export to a buffer or a file, asynchronously or not. 5461;; allow exporting to a buffer or a file, asynchronously or not.
5462;; 5462;;
5463;; `org-export-output-file-name' is an auxiliary function meant to be 5463;; `org-export-output-file-name' is an auxiliary function meant to be
5464;; used with `org-export-to-file'. With a given extension, it tries 5464;; used with `org-export-to-file'. With a given extension, it tries
@@ -5985,7 +5985,7 @@ is nil when this menu hasn't been selected yet.
5985 5985
5986EXPERTP, when non-nil, triggers expert UI. In that case, no help 5986EXPERTP, when non-nil, triggers expert UI. In that case, no help
5987buffer is provided, but indications about currently active 5987buffer is provided, but indications about currently active
5988options are given in the prompt. Moreover, [?] allows to switch 5988options are given in the prompt. Moreover, [?] allows switching
5989back to standard interface." 5989back to standard interface."
5990 (let* ((fontify-key 5990 (let* ((fontify-key
5991 (lambda (key &optional access-key) 5991 (lambda (key &optional access-key)
diff --git a/lisp/play/gamegrid.el b/lisp/play/gamegrid.el
index 0a63644ab7f..2c557ba7547 100644
--- a/lisp/play/gamegrid.el
+++ b/lisp/play/gamegrid.el
@@ -379,7 +379,7 @@ static unsigned char gamegrid_bits[] = {
379 (dotimes (i height) 379 (dotimes (i height)
380 (insert line)) 380 (insert line))
381 ;; Adjust the height of the default face to the height of the 381 ;; Adjust the height of the default face to the height of the
382 ;; images. Unlike XEmacs, Emacs doesn't allow to make the default 382 ;; images. Unlike XEmacs, Emacs doesn't allow making the default
383 ;; face buffer-local; so we do this with an overlay. 383 ;; face buffer-local; so we do this with an overlay.
384 (when (eq gamegrid-display-mode 'glyph) 384 (when (eq gamegrid-display-mode 'glyph)
385 (overlay-put (make-overlay (point-min) (point-max)) 385 (overlay-put (make-overlay (point-min) (point-max))
diff --git a/lisp/play/gomoku.el b/lisp/play/gomoku.el
index c1372fa36d6..02ac240ad6e 100644
--- a/lisp/play/gomoku.el
+++ b/lisp/play/gomoku.el
@@ -551,7 +551,7 @@ that DVAL has been added on SQUARE."
551;;; 551;;;
552 552
553;; Several variables are used to monitor a game, including a GAME-HISTORY (the 553;; Several variables are used to monitor a game, including a GAME-HISTORY (the
554;; list of all (SQUARE . PREVSCORE) played) that allows to take moves back 554;; list of all (SQUARE . PREVSCORE) played) that allows you to take moves back
555;; (anti-updating the score table) and to compute the table from scratch in 555;; (anti-updating the score table) and to compute the table from scratch in
556;; case of an interruption. 556;; case of an interruption.
557 557
diff --git a/lisp/progmodes/antlr-mode.el b/lisp/progmodes/antlr-mode.el
index 20880a806fd..ee81add340c 100644
--- a/lisp/progmodes/antlr-mode.el
+++ b/lisp/progmodes/antlr-mode.el
@@ -537,8 +537,8 @@ corresponding kind, i.e., looks like \(OPTION-DEF...).
537Each OPTION-DEF looks like \(OPTION-NAME EXTRA-FN VALUE-SPEC...) which 537Each OPTION-DEF looks like \(OPTION-NAME EXTRA-FN VALUE-SPEC...) which
538defines a file/grammar/rule/subrule option with name OPTION-NAME. The 538defines a file/grammar/rule/subrule option with name OPTION-NAME. The
539OPTION-NAMEs are used for the creation of the \"Insert XXX Option\" 539OPTION-NAMEs are used for the creation of the \"Insert XXX Option\"
540submenus, see `antlr-options-use-submenus', and to allow to insert the 540submenus, see `antlr-options-use-submenus', and to allow the insertion
541option name with completion when using \\[antlr-insert-option]. 541of the option name with completion when using \\[antlr-insert-option].
542 542
543If EXTRA-FN is a function, it is called at different phases of the 543If EXTRA-FN is a function, it is called at different phases of the
544insertion with arguments \(PHASE OPTION-NAME). PHASE can have the 544insertion with arguments \(PHASE OPTION-NAME). PHASE can have the
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 018805d679f..dc2480961d1 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -8278,8 +8278,8 @@ comment at the start of cc-engine.el for more info."
8278 before-lparen after-rparen 8278 before-lparen after-rparen
8279 (here (point)) 8279 (here (point))
8280 (pp-count-out 20) ; Max number of paren/brace constructs before 8280 (pp-count-out 20) ; Max number of paren/brace constructs before
8281 ; we give up 8281 ; we give up.
8282 ids ; List of identifiers in the parenthesised list. 8282 ids ; List of identifiers in the parenthesized list.
8283 id-start after-prec-token decl-or-cast decl-res 8283 id-start after-prec-token decl-or-cast decl-res
8284 c-last-identifier-range identifier-ok) 8284 c-last-identifier-range identifier-ok)
8285 (narrow-to-region low-lim (or macro-end (point-max))) 8285 (narrow-to-region low-lim (or macro-end (point-max)))
@@ -8304,7 +8304,7 @@ comment at the start of cc-engine.el for more info."
8304 ;; { 8304 ;; {
8305 ;; 8305 ;;
8306 ;; Additionally, for a knr list to be recognized: 8306 ;; Additionally, for a knr list to be recognized:
8307 ;; o - The identifier of each deeclarator up to and including the 8307 ;; o - The identifier of each declarator up to and including the
8308 ;; one "near" point must be contained in the arg list. 8308 ;; one "near" point must be contained in the arg list.
8309 8309
8310 (catch 'knr 8310 (catch 'knr
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 271033b15f8..a2a0df2d6e1 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -2100,7 +2100,7 @@ for \\[find-tag] (which see)."
2100 (etags--xref-find-definitions symbol t)) 2100 (etags--xref-find-definitions symbol t))
2101 2101
2102(defun etags--xref-find-definitions (pattern &optional regexp?) 2102(defun etags--xref-find-definitions (pattern &optional regexp?)
2103 ;; This emulates the behaviour of `find-tag-in-order' but instead of 2103 ;; This emulates the behavior of `find-tag-in-order' but instead of
2104 ;; returning one match at a time all matches are returned as list. 2104 ;; returning one match at a time all matches are returned as list.
2105 ;; NOTE: find-tag-tag-order is typically a buffer-local variable. 2105 ;; NOTE: find-tag-tag-order is typically a buffer-local variable.
2106 (let* ((xrefs '()) 2106 (let* ((xrefs '())
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index a8c65fa23a9..01f7f251edd 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -2737,7 +2737,7 @@ killed."
2737 (process (get-buffer-process buffer)) 2737 (process (get-buffer-process buffer))
2738 ;; Users can override the interpreter and args 2738 ;; Users can override the interpreter and args
2739 ;; interactively when calling `run-python', let-binding 2739 ;; interactively when calling `run-python', let-binding
2740 ;; these allows to have the new right values in all 2740 ;; these allows having the new right values in all
2741 ;; setup code that is done in `inferior-python-mode', 2741 ;; setup code that is done in `inferior-python-mode',
2742 ;; which is important, especially for prompt detection. 2742 ;; which is important, especially for prompt detection.
2743 (python-shell--interpreter interpreter) 2743 (python-shell--interpreter interpreter)
@@ -3351,7 +3351,7 @@ def __PYTHON_EL_native_completion_setup():
3351 if not completion: 3351 if not completion:
3352 if self.last_completion != '1__dummy_completion__': 3352 if self.last_completion != '1__dummy_completion__':
3353 # When no more completions are available, returning a 3353 # When no more completions are available, returning a
3354 # dummy with non-sharing prefix allow to ensure output 3354 # dummy with non-sharing prefix allow ensuring output
3355 # while preventing changes to current input. 3355 # while preventing changes to current input.
3356 # Coincidentally it's also the end of output. 3356 # Coincidentally it's also the end of output.
3357 completion = '1__dummy_completion__' 3357 completion = '1__dummy_completion__'
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index d20a6b2f682..b176e64652e 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -4422,8 +4422,8 @@ Usage:
4422 according to option `vhdl-argument-list-indent'. 4422 according to option `vhdl-argument-list-indent'.
4423 4423
4424 If option `vhdl-indent-tabs-mode' is nil, spaces are used instead of 4424 If option `vhdl-indent-tabs-mode' is nil, spaces are used instead of
4425 tabs. `\\[tabify]' and `\\[untabify]' allow to convert spaces to tabs 4425 tabs. `\\[tabify]' and `\\[untabify]' allow the conversion of spaces to
4426 and vice versa. 4426 tabs and vice versa.
4427 4427
4428 Syntax-based indentation can be very slow in large files. Option 4428 Syntax-based indentation can be very slow in large files. Option
4429 `vhdl-indent-syntax-based' allows you to use faster but simpler indentation. 4429 `vhdl-indent-syntax-based' allows you to use faster but simpler indentation.
diff --git a/lisp/simple.el b/lisp/simple.el
index ed4ca91b2e5..72e87a410fc 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -2894,7 +2894,7 @@ removes the previous `undo-boundary' if a series of such calls
2894have been made. By default `self-insert-command' and 2894have been made. By default `self-insert-command' and
2895`delete-char' are the only amalgamating commands, although this 2895`delete-char' are the only amalgamating commands, although this
2896function could be called by any command wishing to have this 2896function could be called by any command wishing to have this
2897behaviour." 2897behavior."
2898 (let ((last-amalgamating-count 2898 (let ((last-amalgamating-count
2899 (undo-auto--last-boundary-amalgamating-number))) 2899 (undo-auto--last-boundary-amalgamating-number)))
2900 (setq undo-auto--this-command-amalgamating t) 2900 (setq undo-auto--this-command-amalgamating t)
diff --git a/lisp/strokes.el b/lisp/strokes.el
index 8bdabc9e590..5a2020d3ca0 100644
--- a/lisp/strokes.el
+++ b/lisp/strokes.el
@@ -858,7 +858,7 @@ The command will be executed provided one exists for that stroke,
858based on the variable `strokes-minimum-match-score'. 858based on the variable `strokes-minimum-match-score'.
859If no stroke matches, nothing is done and return value is nil." 859If no stroke matches, nothing is done and return value is nil."
860 ;; FIXME: Undocument return value. It is not documented for all cases, 860 ;; FIXME: Undocument return value. It is not documented for all cases,
861 ;; and doesn't allow to difference between no stroke matches and 861 ;; and doesn't allow differentiating between no stroke matches and
862 ;; command-execute returning nil, anyway. 862 ;; command-execute returning nil, anyway.
863 (let* ((match (strokes-match-stroke stroke strokes-global-map)) 863 (let* ((match (strokes-match-stroke stroke strokes-global-map))
864 (command (car match)) 864 (command (car match))
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 20316794c5d..3b1a805f51b 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -393,6 +393,9 @@ like <img alt=\"Some thing.\">."
393 (let ((f (get-text-property (- (point) 1) 'face))) 393 (let ((f (get-text-property (- (point) 1) 'face)))
394 (memq f flyspell-prog-text-faces))) 394 (memq f flyspell-prog-text-faces)))
395 395
396;; Records the binding of M-TAB in effect before flyspell was activated.
397(defvar flyspell--prev-meta-tab-binding)
398
396;;;###autoload 399;;;###autoload
397(defun flyspell-prog-mode () 400(defun flyspell-prog-mode ()
398 "Turn on `flyspell-mode' for comments and strings." 401 "Turn on `flyspell-mode' for comments and strings."
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 97e64c906c8..db03a3244a4 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -1979,7 +1979,7 @@ and pass it the output of the last Ispell invocation."
1979 1979
1980(defun ispell-send-replacement (misspelled replacement) 1980(defun ispell-send-replacement (misspelled replacement)
1981 "Notify Aspell that MISSPELLED should be spelled REPLACEMENT. 1981 "Notify Aspell that MISSPELLED should be spelled REPLACEMENT.
1982This allows to improve the suggestion list based on actual misspellings." 1982This allows improving the suggestion list based on actual misspellings."
1983 (and ispell-really-aspell 1983 (and ispell-really-aspell
1984 (ispell-send-string (concat "$$ra " misspelled "," replacement "\n")))) 1984 (ispell-send-string (concat "$$ra " misspelled "," replacement "\n"))))
1985 1985
diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el
index c725d9f450e..d1a6b87da2e 100644
--- a/lisp/textmodes/reftex-vars.el
+++ b/lisp/textmodes/reftex-vars.el
@@ -1905,7 +1905,7 @@ instead or as well. The variable may have one of these values:
1905 mouse Highlighting is mouse driven. 1905 mouse Highlighting is mouse driven.
1906 both Both cursor and mouse trigger highlighting. 1906 both Both cursor and mouse trigger highlighting.
1907 1907
1908Changing this variable requires to rebuild the selection and *toc* buffers 1908Changing this variable requires rebuilding the selection and *toc* buffers
1909to become effective (keys `g' or `r')." 1909to become effective (keys `g' or `r')."
1910 :group 'reftex-fontification-configurations 1910 :group 'reftex-fontification-configurations
1911 :type '(choice 1911 :type '(choice
diff --git a/lisp/tree-widget.el b/lisp/tree-widget.el
index c1bb2a7adcc..fd502dd1847 100644
--- a/lisp/tree-widget.el
+++ b/lisp/tree-widget.el
@@ -664,7 +664,7 @@ This hook should be local in the buffer setup to display widgets.")
664 (flags (widget-get tree :tree-widget--guide-flags)) 664 (flags (widget-get tree :tree-widget--guide-flags))
665 (indent (widget-get tree :indent)) 665 (indent (widget-get tree :indent))
666 ;; Setup widget's image support. Looking up for images, and 666 ;; Setup widget's image support. Looking up for images, and
667 ;; setting widgets' :tag-glyph is done here, to allow to 667 ;; setting widgets' :tag-glyph is done here, to allow us to
668 ;; dynamically change the image theme. 668 ;; dynamically change the image theme.
669 (widget-image-enable (tree-widget-use-image-p)) ; Emacs 669 (widget-image-enable (tree-widget-use-image-p)) ; Emacs
670 (widget-glyph-enable widget-image-enable) ; XEmacs 670 (widget-glyph-enable widget-image-enable) ; XEmacs
diff --git a/lisp/vc/pcvs.el b/lisp/vc/pcvs.el
index 36a1d91d90e..573feedd047 100644
--- a/lisp/vc/pcvs.el
+++ b/lisp/vc/pcvs.el
@@ -58,8 +58,8 @@
58;; ******** FIX THE DOCUMENTATION ********* 58;; ******** FIX THE DOCUMENTATION *********
59;; 59;;
60;; - rework the displaying of error messages. 60;; - rework the displaying of error messages.
61;; - allow to flush messages only 61;; - allow the flushing of messages only
62;; - allow to protect files like ChangeLog from flushing 62;; - allow the protection of files like ChangeLog from flushing
63;; - query the user for cvs-get-marked (for some cmds or if nothing's selected) 63;; - query the user for cvs-get-marked (for some cmds or if nothing's selected)
64;; - don't return the first (resp last) FI if the cursor is before 64;; - don't return the first (resp last) FI if the cursor is before
65;; (resp after) it. 65;; (resp after) it.
diff --git a/lisp/window.el b/lisp/window.el
index 620f4ed26a9..948e2dae2fe 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -2005,7 +2005,7 @@ SIDE can be any of the symbols `left', `top', `right' or
2005 2005
2006;; Predecessors to the below have been devised by Julian Assange in 2006;; Predecessors to the below have been devised by Julian Assange in
2007;; change-windows-intuitively.el and Hovav Shacham in windmove.el. 2007;; change-windows-intuitively.el and Hovav Shacham in windmove.el.
2008;; Neither of these allow to selectively ignore specific windows 2008;; Neither of these allow one to selectively ignore specific windows
2009;; (windows whose `no-other-window' parameter is non-nil) as targets of 2009;; (windows whose `no-other-window' parameter is non-nil) as targets of
2010;; the movement. 2010;; the movement.
2011(defun window-in-direction (direction &optional window ignore sign wrap mini) 2011(defun window-in-direction (direction &optional window ignore sign wrap mini)
diff --git a/lisp/xwidget.el b/lisp/xwidget.el
index f184eb31dbb..9f257ba463a 100644
--- a/lisp/xwidget.el
+++ b/lisp/xwidget.el
@@ -25,7 +25,8 @@
25;; 25;;
26;; See xwidget.c for more api functions. 26;; See xwidget.c for more api functions.
27 27
28;; TODO this breaks compilation when we don't have xwidgets. 28;; This breaks compilation when we don't have xwidgets.
29;; And is pointless when we do, since it's in C and so preloaded.
29;;(require 'xwidget-internal) 30;;(require 'xwidget-internal)
30 31
31;;; Code: 32;;; Code:
@@ -33,9 +34,9 @@
33(require 'cl-lib) 34(require 'cl-lib)
34(require 'bookmark) 35(require 'bookmark)
35 36
36(defcustom xwidget-webkit-scroll-behaviour 'native 37(defcustom xwidget-webkit-scroll-behavior 'native
37 "Scroll behaviour of the webkit instance. 38 "Scrolling behavior of the webkit instance.
38'native or 'image." 39The possible values are: `native' or `image'."
39 :version "25.1" 40 :version "25.1"
40 :group 'frames ; TODO add xwidgets group if more options are added 41 :group 'frames ; TODO add xwidgets group if more options are added
41 :type '(choice (const native) (const image))) 42 :type '(choice (const native) (const image)))
@@ -58,14 +59,11 @@
58(declare-function get-buffer-xwidgets "xwidget.c" (buffer)) 59(declare-function get-buffer-xwidgets "xwidget.c" (buffer))
59 60
60(defun xwidget-insert (pos type title width height &optional args) 61(defun xwidget-insert (pos type title width height &optional args)
61 "Insert an xwidget at POS. 62 "Insert an xwidget at position POS.
62given ID, TYPE, TITLE WIDTH and 63Supply the xwidget's TYPE, TITLE, WIDTH, and HEIGHT.
63HEIGHT in the current buffer. 64See `make-xwidget' for the possible TYPE values.
64 65The usage of optional argument ARGS depends on the xwidget.
65Return ID 66This returns the result of `make-xwidget'."
66
67see `make-xwidget' for types suitable for TYPE.
68Optional argument ARGS usage depends on the xwidget."
69 (goto-char pos) 67 (goto-char pos)
70 (let ((id (make-xwidget (point) (point) 68 (let ((id (make-xwidget (point) (point)
71 type title width height args))) 69 type title width height args)))
@@ -92,8 +90,8 @@ Optional argument ARGS usage depends on the xwidget."
92;;;###autoload 90;;;###autoload
93(defun xwidget-webkit-browse-url (url &optional new-session) 91(defun xwidget-webkit-browse-url (url &optional new-session)
94 "Ask xwidget-webkit to browse URL. 92 "Ask xwidget-webkit to browse URL.
95NEW-SESSION specifies whether to create a new xwidget-webkit session. URL 93NEW-SESSION specifies whether to create a new xwidget-webkit session.
96defaults to the string looking like a url around the cursor position." 94Interactively, URL defaults to the string looking like a url around point."
97 (interactive (progn 95 (interactive (progn
98 (require 'browse-url) 96 (require 'browse-url)
99 (browse-url-interactive-arg "xwidget-webkit URL: " 97 (browse-url-interactive-arg "xwidget-webkit URL: "
@@ -141,32 +139,40 @@ defaults to the string looking like a url around the cursor position."
141 "Keymap for `xwidget-webkit-mode'.") 139 "Keymap for `xwidget-webkit-mode'.")
142 140
143(defun xwidget-webkit-scroll-up () 141(defun xwidget-webkit-scroll-up ()
144 "Scroll webkit up,either native or like image mode." 142 "Scroll webkit up.
143Depending on the value of `xwidget-webkit-scroll-behavior',
144this scrolls in 'native' fashion, or like `image-mode' would."
145 (interactive) 145 (interactive)
146 (if (eq xwidget-webkit-scroll-behaviour 'native) 146 (if (eq xwidget-webkit-scroll-behavior 'native)
147 (xwidget-set-adjustment (xwidget-webkit-last-session) 'vertical t 50) 147 (xwidget-set-adjustment (xwidget-webkit-last-session) 'vertical t 50)
148 (image-scroll-up))) 148 (image-scroll-up)))
149 149
150(defun xwidget-webkit-scroll-down () 150(defun xwidget-webkit-scroll-down ()
151 "Scroll webkit down,either native or like image mode." 151 "Scroll webkit down.
152Depending on the value of `xwidget-webkit-scroll-behavior',
153this scrolls in 'native' fashion, or like `image-mode' would."
152 (interactive) 154 (interactive)
153 (if (eq xwidget-webkit-scroll-behaviour 'native) 155 (if (eq xwidget-webkit-scroll-behavior 'native)
154 (xwidget-set-adjustment (xwidget-webkit-last-session) 'vertical t -50) 156 (xwidget-set-adjustment (xwidget-webkit-last-session) 'vertical t -50)
155 (image-scroll-down))) 157 (image-scroll-down)))
156 158
157(defun xwidget-webkit-scroll-forward () 159(defun xwidget-webkit-scroll-forward ()
158 "Scroll webkit forward,either native or like image mode." 160 "Scroll webkit forwards.
161Depending on the value of `xwidget-webkit-scroll-behavior',
162this scrolls in 'native' fashion, or like `image-mode' would."
159 (interactive) 163 (interactive)
160 (if (eq xwidget-webkit-scroll-behaviour 'native) 164 (if (eq xwidget-webkit-scroll-behavior 'native)
161 (xwidget-set-adjustment (xwidget-webkit-last-session) 'horizontal t 50) 165 (xwidget-set-adjustment (xwidget-webkit-last-session) 'horizontal t 50)
162 (xwidget-webkit-scroll-forward))) 166 (xwidget-webkit-scroll-forward))) ; FIXME infloop!
163 167
164(defun xwidget-webkit-scroll-backward () 168(defun xwidget-webkit-scroll-backward ()
165 "Scroll webkit backward,either native or like image mode." 169 "Scroll webkit backwards.
170Depending on the value of `xwidget-webkit-scroll-behavior',
171this scrolls in 'native' fashion, or like `image-mode' would."
166 (interactive) 172 (interactive)
167 (if (eq xwidget-webkit-scroll-behaviour 'native) 173 (if (eq xwidget-webkit-scroll-behavior 'native)
168 (xwidget-set-adjustment (xwidget-webkit-last-session) 'horizontal t -50) 174 (xwidget-set-adjustment (xwidget-webkit-last-session) 'horizontal t -50)
169 (xwidget-webkit-scroll-backward))) 175 (xwidget-webkit-scroll-backward))) ; FIXME infloop!
170 176
171 177
172;; The xwidget event needs to go into a higher level handler 178;; The xwidget event needs to go into a higher level handler
@@ -292,9 +298,7 @@ function findactiveelement(doc){
292 ) 298 )
293 299
294(defun xwidget-webkit-insert-string (xw str) 300(defun xwidget-webkit-insert-string (xw str)
295 "Insert string in the active field in the webkit. 301 "Insert string STR in the active field in the webkit XW."
296Argument XW webkit.
297Argument STR string."
298 ;; Read out the string in the field first and provide for edit. 302 ;; Read out the string in the field first and provide for edit.
299 (interactive 303 (interactive
300 (let* ((xww (xwidget-webkit-current-session)) 304 (let* ((xww (xwidget-webkit-current-session))
@@ -310,9 +314,9 @@ Argument STR string."
310 "findactiveelement(document).type;"))) 314 "findactiveelement(document).type;")))
311 (list xww 315 (list xww
312 (cond ((equal "text" field-type) 316 (cond ((equal "text" field-type)
313 (read-string "text:" field-value)) 317 (read-string "Text: " field-value))
314 ((equal "password" field-type) 318 ((equal "password" field-type)
315 (read-passwd "password:" nil field-value)) 319 (read-passwd "Password: " nil field-value))
316 ((equal "textarea" field-type) 320 ((equal "textarea" field-type)
317 (xwidget-webkit-begin-edit-textarea xww field-value)))))) 321 (xwidget-webkit-begin-edit-textarea xww field-value))))))
318 (xwidget-webkit-execute-script 322 (xwidget-webkit-execute-script
@@ -325,7 +329,6 @@ Argument STR string."
325XW is the xwidget identifier, TEXT is retrieved from the webkit." 329XW is the xwidget identifier, TEXT is retrieved from the webkit."
326 (switch-to-buffer 330 (switch-to-buffer
327 (generate-new-buffer "textarea")) 331 (generate-new-buffer "textarea"))
328
329 (set (make-local-variable 'xwidget-xwbl) xw) 332 (set (make-local-variable 'xwidget-xwbl) xw)
330 (insert text)) 333 (insert text))
331 334
@@ -343,11 +346,10 @@ XW is the xwidget identifier, TEXT is retrieved from the webkit."
343 ) 346 )
344 347
345(defun xwidget-webkit-show-named-element (xw element-name) 348(defun xwidget-webkit-show-named-element (xw element-name)
346 "Make named-element show. for instance an anchor. 349 "Make webkit xwidget XW show a named element ELEMENT-NAME.
347Argument XW is the xwidget. 350For example, use this to display an anchor."
348Argument ELEMENT-NAME is the element name to display in the webkit xwidget."
349 (interactive (list (xwidget-webkit-current-session) 351 (interactive (list (xwidget-webkit-current-session)
350 (read-string "element name:"))) 352 (read-string "Element name: ")))
351 ;;TODO since an xwidget is an Emacs object, it is not trivial to do 353 ;;TODO since an xwidget is an Emacs object, it is not trivial to do
352 ;; some things that are taken for granted in a normal browser. 354 ;; some things that are taken for granted in a normal browser.
353 ;; scrolling an anchor/named-element into view is one such thing. 355 ;; scrolling an anchor/named-element into view is one such thing.
@@ -371,11 +373,10 @@ Argument ELEMENT-NAME is the element name to display in the webkit xwidget."
371 (set-window-vscroll (selected-window) y t))) 373 (set-window-vscroll (selected-window) y t)))
372 374
373(defun xwidget-webkit-show-id-element (xw element-id) 375(defun xwidget-webkit-show-id-element (xw element-id)
374 "Make id-element show. for instance an anchor. 376 "Make webkit xwidget XW show an id-element ELEMENT-ID.
375Argument XW is the webkit xwidget. 377For example, use this to display an anchor."
376Argument ELEMENT-ID is the id of the element to show."
377 (interactive (list (xwidget-webkit-current-session) 378 (interactive (list (xwidget-webkit-current-session)
378 (read-string "element id:"))) 379 (read-string "Element id: ")))
379 (let ((y (string-to-number 380 (let ((y (string-to-number
380 (xwidget-webkit-execute-script-rv 381 (xwidget-webkit-execute-script-rv
381 xw 382 xw
@@ -387,11 +388,10 @@ Argument ELEMENT-ID is the id of the element to show."
387 (set-window-vscroll (selected-window) y t))) 388 (set-window-vscroll (selected-window) y t)))
388 389
389(defun xwidget-webkit-show-id-or-named-element (xw element-id) 390(defun xwidget-webkit-show-id-or-named-element (xw element-id)
390 "Make id-element show. for instance an anchor. 391 "Make webkit xwidget XW show a name or element id ELEMENT-ID.
391Argument XW is the webkit xwidget. 392For example, use this to display an anchor."
392Argument ELEMENT-ID is either a name or an element id."
393 (interactive (list (xwidget-webkit-current-session) 393 (interactive (list (xwidget-webkit-current-session)
394 (read-string "element id:"))) 394 (read-string "Name or element id: ")))
395 (let* ((y1 (string-to-number 395 (let* ((y1 (string-to-number
396 (xwidget-webkit-execute-script-rv 396 (xwidget-webkit-execute-script-rv
397 xw 397 xw
@@ -415,15 +415,14 @@ Argument ELEMENT-ID is either a name or an element id."
415(defun xwidget-webkit-adjust-size-dispatch () 415(defun xwidget-webkit-adjust-size-dispatch ()
416 "Adjust size according to mode." 416 "Adjust size according to mode."
417 (interactive) 417 (interactive)
418 (if (eq xwidget-webkit-scroll-behaviour 'native) 418 (if (eq xwidget-webkit-scroll-behavior 'native)
419 (xwidget-webkit-adjust-size-to-window) 419 (xwidget-webkit-adjust-size-to-window)
420 (xwidget-webkit-adjust-size-to-content)) 420 (xwidget-webkit-adjust-size-to-content))
421 ;; The recenter is intended to correct a visual glitch. 421 ;; The recenter is intended to correct a visual glitch.
422 ;; It errors out if the buffer isn't visible, but then we don't get 422 ;; It errors out if the buffer isn't visible, but then we don't get
423 ;; the glitch, so silence errors. 423 ;; the glitch, so silence errors.
424 (ignore-errors 424 (ignore-errors
425 (recenter-top-bottom)) 425 (recenter-top-bottom)))
426 )
427 426
428(defun xwidget-webkit-adjust-size-to-window () 427(defun xwidget-webkit-adjust-size-to-window ()
429 "Adjust webkit to window." 428 "Adjust webkit to window."
@@ -432,9 +431,7 @@ Argument ELEMENT-ID is either a name or an element id."
432 (window-pixel-height))) 431 (window-pixel-height)))
433 432
434(defun xwidget-webkit-adjust-size (w h) 433(defun xwidget-webkit-adjust-size (w h)
435 "Manually set webkit size. 434 "Manually set webkit size to width W, height H."
436Argument W width.
437Argument H height."
438 ;; TODO shouldn't be tied to the webkit xwidget 435 ;; TODO shouldn't be tied to the webkit xwidget
439 (interactive "nWidth:\nnHeight:\n") 436 (interactive "nWidth:\nnHeight:\n")
440 (xwidget-resize (xwidget-webkit-current-session) w h)) 437 (xwidget-resize (xwidget-webkit-current-session) w h))
@@ -468,7 +465,7 @@ Argument H height."
468 (xwidget-webkit-new-session url))) 465 (xwidget-webkit-new-session url)))
469 466
470(defun xwidget-webkit-back () 467(defun xwidget-webkit-back ()
471 "Back in history." 468 "Go back in history."
472 (interactive) 469 (interactive)
473 (xwidget-webkit-execute-script (xwidget-webkit-current-session) 470 (xwidget-webkit-execute-script (xwidget-webkit-current-session)
474 "history.go(-1);")) 471 "history.go(-1);"))
@@ -480,7 +477,7 @@ Argument H height."
480 "history.go(0);")) 477 "history.go(0);"))
481 478
482(defun xwidget-webkit-current-url () 479(defun xwidget-webkit-current-url ()
483 "Get the webkit url. place it on kill ring." 480 "Get the webkit url and place it on the kill-ring."
484 (interactive) 481 (interactive)
485 (let* ((rv (xwidget-webkit-execute-script-rv (xwidget-webkit-current-session) 482 (let* ((rv (xwidget-webkit-execute-script-rv (xwidget-webkit-current-session)
486 "document.URL")) 483 "document.URL"))
@@ -489,9 +486,9 @@ Argument H height."
489 url)) 486 url))
490 487
491(defun xwidget-webkit-execute-script-rv (xw script &optional default) 488(defun xwidget-webkit-execute-script-rv (xw script &optional default)
492 "Same as 'xwidget-webkit-execute-script' but but with return value. 489 "Same as `xwidget-webkit-execute-script' but with return value.
493XW is the webkit instance. SCRIPT is the script to execute. 490XW is the webkit instance. SCRIPT is the script to execute.
494DEFAULT is the defaultreturn value." 491DEFAULT is the default return value."
495 ;; Notice the ugly "title" hack. It is needed because the Webkit 492 ;; Notice the ugly "title" hack. It is needed because the Webkit
496 ;; API at the time of writing didn't support returning values. This 493 ;; API at the time of writing didn't support returning values. This
497 ;; is a wrapper for the title hack so it's easy to remove should 494 ;; is a wrapper for the title hack so it's easy to remove should
@@ -518,7 +515,7 @@ DEFAULT is the defaultreturn value."
518 "window.getSelection().toString();")) 515 "window.getSelection().toString();"))
519 516
520(defun xwidget-webkit-copy-selection-as-kill () 517(defun xwidget-webkit-copy-selection-as-kill ()
521 "Get the webkit selection and put it on the kill ring." 518 "Get the webkit selection and put it on the kill-ring."
522 (interactive) 519 (interactive)
523 (kill-new (xwidget-webkit-get-selection))) 520 (kill-new (xwidget-webkit-get-selection)))
524 521
@@ -527,13 +524,15 @@ DEFAULT is the defaultreturn value."
527;; Xwidget plist management (similar to the process plist functions) 524;; Xwidget plist management (similar to the process plist functions)
528 525
529(defun xwidget-get (xwidget propname) 526(defun xwidget-get (xwidget propname)
530 "Return the value of XWIDGET' PROPNAME property. 527 "Get an xwidget's property value.
531This is the last value stored with `(xwidget-put XWIDGET PROPNAME VALUE)'." 528XWIDGET is an xwidget, PROPNAME a property.
529Returns the last value stored with `xwidget-put'."
532 (plist-get (xwidget-plist xwidget) propname)) 530 (plist-get (xwidget-plist xwidget) propname))
533 531
534(defun xwidget-put (xwidget propname value) 532(defun xwidget-put (xwidget propname value)
535 "Change XWIDGET' PROPNAME property to VALUE. 533 "Set an xwidget's property value.
536It can be retrieved with `(xwidget-get XWIDGET PROPNAME)'." 534XWIDGET is an xwidget, PROPNAME a property to be set to specified VALUE.
535You can retrieve the value with `xwidget-get'."
537 (set-xwidget-plist xwidget 536 (set-xwidget-plist xwidget
538 (plist-put (xwidget-plist xwidget) propname value))) 537 (plist-put (xwidget-plist xwidget) propname value)))
539 538