------------------------------------------------------------ revno: 115728 committer: Xue Fuqiao branch nick: trunk timestamp: Tue 2013-12-24 16:33:02 +0800 message: * doc/emacs/trouble.texi (Checklist): Fix a cross-reference. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2013-12-24 03:07:21 +0000 +++ doc/emacs/ChangeLog 2013-12-24 08:33:02 +0000 @@ -1,6 +1,7 @@ 2013-12-24 Xue Fuqiao * trouble.texi (Understanding Bug Reporting): Minor update. + (Checklist): Fix a cross-reference. 2013-12-23 Xue Fuqiao === modified file 'doc/emacs/trouble.texi' --- doc/emacs/trouble.texi 2013-12-24 03:07:21 +0000 +++ doc/emacs/trouble.texi 2013-12-24 08:33:02 +0000 @@ -852,9 +852,9 @@ before the error happens (that is to say, you must give that command and then make the bug happen). This causes the error to start the Lisp debugger, which shows you a backtrace. Copy the text of the -debugger's backtrace into the bug report. @xref{Debugger,, The Lisp -Debugger, elisp, the Emacs Lisp Reference Manual}, for information on -debugging Emacs Lisp programs with the Edebug package. +debugger's backtrace into the bug report. @xref{Edebug,, Edebug, +elisp, the Emacs Lisp Reference Manual}, for information on debugging +Emacs Lisp programs with the Edebug package. This use of the debugger is possible only if you know how to make the bug happen again. If you can't make it happen again, at least copy === modified file 'lisp/emacs-lisp/rx.el' --- lisp/emacs-lisp/rx.el 2013-01-01 09:11:05 +0000 +++ lisp/emacs-lisp/rx.el 2013-12-24 08:33:02 +0000 @@ -871,7 +871,7 @@ REGEXPS is a non-empty sequence of forms of the sort listed below. Note that `rx' is a Lisp macro; when used in a Lisp program being - compiled, the translation is performed by the compiler. +compiled, the translation is performed by the compiler. See `rx-to-string' for how to do such a translation at run-time. The following are valid subforms of regular expressions in sexp ------------------------------------------------------------ revno: 115727 fixes bug: http://debbugs.gnu.org/16144 committer: Lars Ingebrigtsen branch nick: trunk timestamp: Tue 2013-12-24 08:25:27 +0100 message: Fix eww bookmark window configuration * net/eww.el (eww-bookmark-quit): Remove. (eww-bookmark-browse): Restore the window configuration when you choose a bookmark. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-12-24 03:48:55 +0000 +++ lisp/ChangeLog 2013-12-24 07:25:27 +0000 @@ -1,3 +1,9 @@ +2013-12-24 Lars Ingebrigtsen + + * net/eww.el (eww-bookmark-quit): Remove. + (eww-bookmark-browse): Restore the window configuration when you + choose a bookmark (bug#16144). + 2013-12-24 Daniel Colascione * icomplete.el: Remove redundant :group arguments to `defcustom' === modified file 'lisp/net/eww.el' --- lisp/net/eww.el 2013-12-22 22:40:35 +0000 +++ lisp/net/eww.el 2013-12-24 07:25:27 +0000 @@ -1083,6 +1083,8 @@ ;;; Bookmarks code (defvar eww-bookmarks nil) +(defvar eww-previous-window-configuration nil) +(make-variable-buffer-local 'eww-previous-window-configuration) (defun eww-add-bookmark () "Add the current page to the bookmarks." @@ -1127,6 +1129,7 @@ (unless eww-bookmarks (user-error "No bookmarks are defined")) (set-buffer (get-buffer-create "*eww bookmarks*")) + (setq eww-previous-window-configuration (current-window-configuration)) (eww-bookmark-mode) (let ((format "%-40s %s") (inhibit-read-only t) @@ -1178,21 +1181,15 @@ (cons bookmark (nthcdr line eww-bookmarks))))) (eww-write-bookmarks))) -(defun eww-bookmark-quit () - "Kill the current buffer." - (interactive) - (kill-buffer (current-buffer))) - (defun eww-bookmark-browse () "Browse the bookmark under point in eww." (interactive) (let ((bookmark (get-text-property (line-beginning-position) 'eww-bookmark))) (unless bookmark (user-error "No bookmark on the current line")) - ;; We wish to leave this window, but if it's the only window here, - ;; just let it remain. - (ignore-errors - (delete-window)) + (quit-window) + (when eww-previous-window-configuration + (set-window-configuration eww-previous-window-configuration)) (eww-browse-url (plist-get bookmark :url)))) (defun eww-next-bookmark () @@ -1238,7 +1235,7 @@ (defvar eww-bookmark-mode-map (let ((map (make-sparse-keymap))) (suppress-keymap map) - (define-key map "q" 'eww-bookmark-quit) + (define-key map "q" 'quit-window) (define-key map [(control k)] 'eww-bookmark-kill) (define-key map [(control y)] 'eww-bookmark-yank) (define-key map "\r" 'eww-bookmark-browse) @@ -1246,7 +1243,7 @@ (easy-menu-define nil map "Menu for `eww-bookmark-mode-map'." '("Eww Bookmark" - ["Exit" eww-bookmark-quit t] + ["Exit" quit-window t] ["Browse" eww-bookmark-browse :active (get-text-property (line-beginning-position) 'eww-bookmark)] ["Kill" eww-bookmark-kill ------------------------------------------------------------ revno: 115726 committer: Xue Fuqiao branch nick: trunk timestamp: Tue 2013-12-24 14:52:10 +0800 message: Fix my previous change. diff: === modified file 'admin/admin.el' --- admin/admin.el 2013-12-24 04:41:18 +0000 +++ admin/admin.el 2013-12-24 06:52:10 +0000 @@ -62,7 +62,7 @@ (insert entry)))) (defun set-version-in-file (root file version rx) - "Subroutine of `set-version'." + "Subroutine of `set-version' and `set-copyright'." (find-file (expand-file-name file root)) (goto-char (point-min)) (unless (re-search-forward rx nil :noerror) ------------------------------------------------------------ revno: 115725 committer: Xue Fuqiao branch nick: trunk timestamp: Tue 2013-12-24 12:41:18 +0800 message: Change some `error's to `user-error's. * admin/admin.el (add-release-logs): (set-version-in-file, set-version, set-copyright): Use `user-error'. diff: === modified file 'admin/ChangeLog' --- admin/ChangeLog 2013-12-22 18:24:23 +0000 +++ admin/ChangeLog 2013-12-24 04:41:18 +0000 @@ -1,3 +1,9 @@ +2013-12-24 Xue Fuqiao + + * admin.el (add-release-logs): + (set-version-in-file, set-version, set-copyright): + Use `user-error'. + 2013-12-22 Eli Zaretskii * unidata/unidata-gen.el (unidata-split-name): Don't give any NAME === modified file 'admin/admin.el' --- admin/admin.el 2013-08-27 17:19:04 +0000 +++ admin/admin.el 2013-12-24 04:41:18 +0000 @@ -21,7 +21,7 @@ ;; add-release-logs Add ``Version X released'' change log entries. ;; set-version Change Emacs version number in source tree. -;; set-copyright Change emacs short copyright string (eg as +;; set-copyright Change Emacs short copyright string (eg as ;; printed by --version) in source tree. ;;; Code: @@ -46,7 +46,7 @@ (funcall add-log-time-format)))))) (setq root (expand-file-name root)) (unless (file-exists-p (expand-file-name "src/emacs.c" root)) - (error "%s doesn't seem to be the root of an Emacs source tree" root)) + (user-error "%s doesn't seem to be the root of an Emacs source tree" root)) (require 'add-log) (or date (setq date (let ((add-log-time-zone-rule t)) (funcall add-log-time-format)))) @@ -62,10 +62,11 @@ (insert entry)))) (defun set-version-in-file (root file version rx) + "Subroutine of `set-version'." (find-file (expand-file-name file root)) (goto-char (point-min)) - (unless (re-search-forward rx nil t) - (error "Version not found in %s" file)) + (unless (re-search-forward rx nil :noerror) + (user-error "Version not found in %s" file)) (replace-match (format "%s" version) nil nil nil 1)) (defun set-version (root version) @@ -73,7 +74,7 @@ Root must be the root of an Emacs source tree." (interactive "DEmacs root directory: \nsVersion number: ") (unless (file-exists-p (expand-file-name "src/emacs.c" root)) - (error "%s doesn't seem to be the root of an Emacs source tree" root)) + (user-error "%s doesn't seem to be the root of an Emacs source tree" root)) (set-version-in-file root "README" version (rx (and "version" (1+ space) (submatch (1+ (in "0-9.")))))) @@ -167,7 +168,7 @@ (format "Copyright (C) %s Free Software Foundation, Inc." (format-time-string "%Y"))))) (unless (file-exists-p (expand-file-name "src/emacs.c" root)) - (error "%s doesn't seem to be the root of an Emacs source tree" root)) + (user-error "%s doesn't seem to be the root of an Emacs source tree" root)) (set-version-in-file root "configure.ac" copyright (rx (and bol "copyright" (0+ (not (in ?\"))) ?\" (submatch (1+ (not (in ?\")))) ?\"))) ------------------------------------------------------------ revno: 115724 committer: Chong Yidong branch nick: trunk timestamp: Tue 2013-12-24 12:14:17 +0800 message: Minor edits to NEWS. diff: === modified file 'etc/NEWS' --- etc/NEWS 2013-12-23 13:05:27 +0000 +++ etc/NEWS 2013-12-24 04:14:17 +0000 @@ -217,6 +217,20 @@ ** The default value of `comment-use-global-state' is changed to t, and this variable has been marked obsolete. +** New user options: + +*** `read-regexp-defaults-function' defines a function to read regexps, +used by commands like `rgrep', `lgrep' `occur', `highlight-regexp', +etc. You can customize this to specify a function that provides a +default value from the regexp last history element, or from the symbol +found at point. + +*** `load-prefer-newer', affects how the `load' function chooses the +file to load. If this is non-nil, then when both .el and .elc +versions of a file exist, and the caller did not explicitly specify +which one to load, then the newer file is loaded. The default, nil, +means to always load the .elc file. + * Editing Changes in Emacs 24.4 @@ -390,11 +404,12 @@ ** CUA mode -*** CUA mode was changed to make use of delete-selection-mode and -shift-select-mode. So you can now enable it independently from -transient-mark-mode, delete-selection-mode, and shift-select-mode. -As a result, cua-highlight-region-shift-only is obsolete -(you can disable transient-mark-mode to get the same result). +*** CUA mode now uses `delete-selection-mode' and `shift-select-mode'. +Hence, you can now enable it independently from `transient-mark-mode', +`delete-selection-mode', and `shift-select-mode'. + +*** `cua-highlight-region-shift-only' is now obsolete. +You can disable `transient-mark-mode' to get the same result. *** CUA's rectangles can now be used via `cua-rectangle-mark-mode'. @@ -872,7 +887,7 @@ More specifically, the redisplay does not bother to check for a frame-local value when looking up variables. -** nil and "unbound" are indistinguishable in symbol-function. +** nil and "unbound" are indistinguishable in `symbol-function'. `symbol-function' never signals `void-function' any more. `fboundp' returns non-nil if the symbol was `fset' to nil. @@ -893,56 +908,64 @@ Formerly it returned a list (-1 LOW USEC PSEC), but this was ambiguous in the presence of files with negative time stamps. -** The cars of the elements in `interpreter-mode-alist' are now treated -as regexps rather than literal strings. Technically this is an -incompatible change, but unless you are using interpreter-mode-alist -for something (not just adding elements to it), it ought not to affect you. +** The cars of the elements in `interpreter-mode-alist' are now +treated as regexps rather than literal strings. This change should +not affect you unless you are using `interpreter-mode-alist' for +something (not just adding elements to it). * Lisp Changes in Emacs 24.4 +** The second argument of `eval' can now specify a lexical environment. + +++ -** New variable `enable-dir-local-variables'. -Directory-local variables are ignored if this is set to nil. This may -be useful for modes that want to ignore directory-locals while still -respecting file-local variables. +** New functions `special-form-p' and `macrop'. ** New macro `define-alternatives' can be used to define generic commands. Generic commands are interactive functions whose implementation can be selected among several alternatives, as a matter of user preference. +** The `defalias-fset-function' property lets you catch `defalias' +calls, and redirect them to your own function, instead of `fset'. + +** Docstrings can be made dynamic by adding a `dynamic-docstring-function' +text-property on the first char. + ++++ +** New variable `enable-dir-local-variables'. +Directory-local variables are ignored if this is nil. This may be +useful for modes that want to ignore directory-locals while still +respecting file-local variables. + +++ ** New function `get-pos-property'. -** Minibuffer changes - -*** completing-read-multiple's separator can now be a regexp. -The default separator is changed to allow surrounding spaces around the comma. - -*** New option `read-regexp-defaults-function' defines the function -that provides the default value for commands that ask for a regexp: -`rgrep', `lgrep' `occur', `multi-occur', `multi-occur-in-matching-buffers', -`highlight-regexp', `highlight-lines-matching-regexp', `highlight-phrase'. -This option can be customized to values that provide a default value -from the regexp last history element or from the symbol found at point. - -** New option `load-prefer-newer', if non-nil, means that when both -.el and .elc versions of a file exist, rather than `load' always -choosing the .elc version, it will choose whichever is newer -(unless you explicitly specify one or the other). - -** New hook `pre-redisplay-function'. +** Completion changes + +*** The separator for `completing-read-multiple' can now be a regexp. +The default separator has been changed to allow surrounding spaces +around the comma. + +*** The `common-substring' arg of `display-completion-list' is obsolete. +Either use `completion-all-completions', which returns highlighted +strings (including for partial or substring completion), or call +`completion-hilit-commonality' to add the highlight. + +** Terminal changes +++ -** Functions that pop up menus and dialogs now work on all terminal types, -including TTYs. -This includes `x-popup-menu', `x-popup-dialog', `message-box', -`yes-or-no-p', etc. +*** Functions to pop up menus and dialogs now work on all terminals, +including TTYs. This includes `x-popup-menu', `x-popup-dialog', +`message-box', `yes-or-no-p', etc. The function `display-popup-menus-p' will now return non-nil for a display or frame whenever a mouse is supported on that display or frame. +*** New hook `tty-setup-hook'. + +** New hook `pre-redisplay-function'. + +++ ** New bool-vector set operation functions: *** `bool-vector-exclusive-or' @@ -957,13 +980,12 @@ +++ ** Comparison functions =, <, >, <=, >= now take many arguments. -** The second argument of `eval' can now be a lexical-environment. +** Error-handling changes -** `with-demoted-errors' takes an additional argument `format'. +++ -** New function `define-error'. +*** New function `define-error'. -** New hook `tty-setup-hook'. +*** `with-demoted-errors' takes an additional argument `format'. +++ ** New macro with-eval-after-load. Like eval-after-load, but better behaved. @@ -993,6 +1015,7 @@ *** `isearch-nonincremental-exit-minibuffer' *** `isearch-filter-visible' *** `generic-make-keywords-list' +*** `get-upcase-table' (use `case-table-get-table' instead). ** `with-wrapper-hook' is obsoleted by `add-function'. The few hooks that used with-wrapper-hook are replaced as follows: @@ -1010,8 +1033,6 @@ ** New function `string-suffix-p'. -** `get-upcase-table' is obsoleted by the new `case-table-get-table'. - ** File-handling changes +++ @@ -1058,10 +1079,9 @@ ** Face changes -*** The function `face-spec-set' is now analogous to `setq' for face specs. -Its third arg now accepts values specifying exactly which face spec to -set (defface, custom, or user spec), and it directly sets the relevant -property using the supplied face spec. +*** The function `face-spec-set' is now like `setq' for face specs. +Its third arg now accepts values specifying a face spec type (defface, +custom, or override spec), and the relevant spec is set accordingly. +++ *** New function `add-face-text-property', which can be used to @@ -1086,15 +1106,13 @@ whether or not it specifies a frame delay. +++ -*** When animating images that do not specify a frame delay, -Emacs uses `image-default-frame-delay'. +*** New variable `image-default-frame-delay' gives the frame delay for +animated images which do not specify a frame delay. +++ *** New functions `image-current-frame' and `image-show-frame' for getting and setting the current frame of a multi-frame image. -*** You can change the speed of animated images. - ** EIEIO *** Namespace cleanup by obsolete-aliasing functions to use `eieio-' prefix. @@ -1148,15 +1166,6 @@ ** `time-to-seconds' is not obsolete any more. -+++ -** New functions `special-form-p' and `macrop'. - -** Docstrings can be made dynamic by adding a `dynamic-docstring-function' -text-property on the first char. - -** The `defalias-fset-function' property lets you catch calls to defalias -and redirect them to your own function instead of `fset'. - ** The lock for 'DIR/FILE' is now 'DIR/.#FILE' and may be a regular file. When you edit DIR/FILE, Emacs normally creates a symbolic link DIR/.#FILE as a lock that warns other instances of Emacs that DIR/FILE @@ -1171,11 +1180,6 @@ +++ ** New functions `group-gid' and `group-real-gid'. -** The `common-substring' argument of `display-completion-list' is obsolete. -Either use `completion-all-completions' which already returns highlighted -strings (including for partial or substring completion) or call -`completion-hilit-commonality' to add the highlight. - ** Changes to the Emacs Lisp Coding Conventions in Emacs 24.4 +++ ------------------------------------------------------------ revno: 115723 committer: Daniel Colascione branch nick: trunk timestamp: Mon 2013-12-23 19:48:55 -0800 message: Change icomplete to display completions on initial input diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-12-23 15:01:32 +0000 +++ lisp/ChangeLog 2013-12-24 03:48:55 +0000 @@ -1,3 +1,13 @@ +2013-12-24 Daniel Colascione + + * icomplete.el: Remove redundant :group arguments to `defcustom' + throughout. + (icomplete-show-matches-on-no-input): New customizable variable. + (icomplete-minibuffer-setup): Call `icomplete-exhibit' on setup if + we have something to show. + (icomplete-exhibit): Compute completions even if we have no user + input. + 2013-12-23 Daniel Colascione * icomplete.el: Move `provide' to end of file. === modified file 'lisp/icomplete.el' --- lisp/icomplete.el 2013-12-23 15:01:32 +0000 +++ lisp/icomplete.el 2013-12-24 03:48:55 +0000 @@ -76,13 +76,16 @@ "When non-nil, hide common prefix from completion candidates. When nil, show candidates in full." :type 'boolean - :version "24.4" - :group 'icomplete) + :version "24.4") + +(defcustom icomplete-show-matches-on-no-input t + "When non-nil, show completions when first prompting for input." + :type 'boolean + :version "24.4") (defface icomplete-first-match '((t :weight bold)) "Face used by icomplete for highlighting first match." - :version "24.4" - :group 'icomplete) + :version "24.4") ;;;_* User Customization variables (defcustom icomplete-prospects-height @@ -91,24 +94,20 @@ (+ 1 (/ (+ icomplete-prospects-length 20) (window-width))) "Maximum number of lines to use in the minibuffer." :type 'integer - :group 'icomplete :version "23.1") (defcustom icomplete-compute-delay .3 "Completions-computation stall, used only with large-number completions. See `icomplete-delay-completions-threshold'." - :type 'number - :group 'icomplete) + :type 'number) (defcustom icomplete-delay-completions-threshold 400 "Pending-completions number over which to apply `icomplete-compute-delay'." - :type 'integer - :group 'icomplete) + :type 'integer) (defcustom icomplete-max-delay-chars 3 "Maximum number of initial chars to apply icomplete compute delay." - :type 'integer - :group 'icomplete) + :type 'integer) (defvar icomplete-in-buffer nil "If non-nil, also use Icomplete when completing in non-mini buffers.") @@ -256,7 +255,9 @@ (current-local-map))) (add-hook 'pre-command-hook #'icomplete-pre-command-hook nil t) (add-hook 'post-command-hook #'icomplete-post-command-hook nil t) - (run-hooks 'icomplete-minibuffer-setup-hook))) + (run-hooks 'icomplete-minibuffer-setup-hook) + (when icomplete-show-matches-on-no-input + (icomplete-exhibit)))) (defvar icomplete--in-region-buffer nil) @@ -304,8 +305,8 @@ (save-excursion (goto-char (point-max)) ; Insert the match-status information: - (if (and (> (icomplete--field-end) (icomplete--field-beg)) - buffer-undo-list ; Wait for some user input. + (if (and (or icomplete-show-matches-on-no-input + (> (icomplete--field-end) (icomplete--field-beg))) (or ;; Don't bother with delay after certain number of chars: (> (- (point) (icomplete--field-beg)) ------------------------------------------------------------ revno: 115722 committer: Xue Fuqiao branch nick: trunk timestamp: Tue 2013-12-24 11:07:21 +0800 message: * doc/emacs/trouble.texi (Understanding Bug Reporting): Minor update. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2013-12-23 13:17:59 +0000 +++ doc/emacs/ChangeLog 2013-12-24 03:07:21 +0000 @@ -1,3 +1,7 @@ +2013-12-24 Xue Fuqiao + + * trouble.texi (Understanding Bug Reporting): Minor update. + 2013-12-23 Xue Fuqiao * regs.texi (Bookmarks): Document `bookmark-default-file'. === modified file 'doc/emacs/trouble.texi' --- doc/emacs/trouble.texi 2013-09-11 14:06:22 +0000 +++ doc/emacs/trouble.texi 2013-12-24 03:07:21 +0000 @@ -631,6 +631,13 @@ have---but, as before, please stick to the raw facts about what you did to trigger the bug the first time. + Please do not stack multiple issues into one report unless it is +really necessary. For example, jamming @code{electric-indent-mode} +and @code{electric-pair-mode} into one report, reporting multiple key +binding problems into one report (e.g., @kbd{C-i} doesn't indent the +current line, @code{M-h} doesn't set mark, etc.). Please make one +report for each individual problem. + @node Checklist @subsection Checklist for Bug Reports ------------------------------------------------------------ revno: 115721 committer: Xue Fuqiao branch nick: trunk timestamp: Tue 2013-12-24 06:27:49 +0800 message: Revert r115714. According to: http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00828.html diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2013-12-23 13:11:29 +0000 +++ etc/ChangeLog 2013-12-23 22:27:49 +0000 @@ -1,7 +1,3 @@ -2013-12-23 Xue Fuqiao - - * MORE.STUFF: Mention RefTeX. - 2013-12-23 Teodor Zlatanov * NEWS: Updated for `gnutls-verify-error', cfengine-mode, and === modified file 'etc/MORE.STUFF' --- etc/MORE.STUFF 2013-12-23 13:11:29 +0000 +++ etc/MORE.STUFF 2013-12-23 22:27:49 +0000 @@ -67,8 +67,6 @@ * Org mode: - * RefTeX: - * Tramp: Remote file access via rsh/ssh ------------------------------------------------------------ revno: 115720 fixes bug: http://debbugs.gnu.org/16051 committer: Eli Zaretskii branch nick: trunk timestamp: Mon 2013-12-23 21:24:25 +0200 message: Last portion of fix for bug #16051 with redisplay loops. src/xdisp.c (redisplay_tool_bar): Modify the tool-bar-lines frame parameter only when the new size is different from the old one, and the new size can be achieved given the frame height. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-12-23 16:36:34 +0000 +++ src/ChangeLog 2013-12-23 19:24:25 +0000 @@ -5,6 +5,9 @@ redisplay_tool_bar does. Improve and fix commentary. (hscroll_window_tree): Don't assume w->cursor.vpos is within the limits of the glyph matrices. (Bug#16051) + (redisplay_tool_bar): Modify the tool-bar-lines frame parameter + only when the new size is different from the old one, and the new + size can be achieved given the frame height. 2013-12-23 Jan Djärv === modified file 'src/xdisp.c' --- src/xdisp.c 2013-12-23 16:36:34 +0000 +++ src/xdisp.c 2013-12-23 19:24:25 +0000 @@ -12289,18 +12289,35 @@ if (change_height_p) { + /* Current size of the tool-bar window in canonical line + units. */ + int old_lines = WINDOW_TOTAL_LINES (w); + /* Required size of the tool-bar window in canonical + line units. */ int new_lines = ((new_height + FRAME_LINE_HEIGHT (f) - 1) / FRAME_LINE_HEIGHT (f)); + /* Maximum size of the tool-bar window in canonical line + units that this frame can allow. */ + int max_lines = + WINDOW_TOTAL_LINES (XWINDOW (FRAME_ROOT_WINDOW (f))) - 1; - XSETFRAME (frame, f); - Fmodify_frame_parameters (frame, - list1 (Fcons (Qtool_bar_lines, - make_number (new_lines)))); - /* Always do that now. */ - clear_glyph_matrix (w->desired_matrix); - f->n_tool_bar_rows = nrows; - f->fonts_changed = 1; - return 1; + /* Don't try to change the tool-bar window size and set + the fonts_changed flag unless really necessary. That + flag causes redisplay to give up and retry + redisplaying the frame from scratch, so setting it + unnecessarily can lead to nasty redisplay loops. */ + if (new_lines <= max_lines + && eabs (new_lines - old_lines) >= 1) + { + XSETFRAME (frame, f); + Fmodify_frame_parameters (frame, + list1 (Fcons (Qtool_bar_lines, + make_number (new_lines)))); + clear_glyph_matrix (w->desired_matrix); + f->n_tool_bar_rows = nrows; + f->fonts_changed = 1; + return 1; + } } } } ------------------------------------------------------------ revno: 115719 committer: Eli Zaretskii branch nick: trunk timestamp: Mon 2013-12-23 20:32:58 +0200 message: Update MS-Windows installation instructions for librsvg. diff: === modified file 'nt/ChangeLog' --- nt/ChangeLog 2013-12-16 18:18:44 +0000 +++ nt/ChangeLog 2013-12-23 18:32:58 +0000 @@ -1,3 +1,9 @@ +2013-12-23 Eli Zaretskii + + * README.W32: + * INSTALL: Update instructions for downloading and using image + libraries in general, and librsvg in particular. + 2013-12-16 Eli Zaretskii * emacs-x64.manifest: === modified file 'nt/INSTALL' --- nt/INSTALL 2013-11-12 02:50:28 +0000 +++ nt/INSTALL 2013-12-23 18:32:58 +0000 @@ -534,7 +534,11 @@ For PNG images, we recommend to use versions 1.4.x and later of libpng, because previous versions had security issues. You can find precompiled libraries and headers on the GTK download page for - Windows (http://www.gtk.org/download/win32.php). + Windows (http://www.gtk.org/download/win32.php for 32-bit builds and + http://www.gtk.org/download/win64.php for 64-bit builds). The + ezwinports site, http://sourceforge.net/projects/ezwinports/files/ + also offers PNG (as well as other image libraries), which are + usually newer. Versions 1.4.0 and later of libpng are binary incompatible with earlier versions, so Emacs will only look for libpng libraries which @@ -563,11 +567,98 @@ libraries that are known to be compatible with the version given by `libgif-version'. - Binaries for the other image libraries can be found at the GnuWin32 - project. Note specifically that, due to some packaging snafus in - the GnuWin32-supplied image libraries, you will need to download - _source_ packages for some of the libraries in order to get the - header files necessary for building Emacs with image support. + Pre-built versions of librsvg and its dependencies can be found in + one of these places: + + 1. http://sourceforge.net/projects/ezwinports/files/ + + This site includes a minimal (as much as possible for librsvg) + build of the library and its dependencies; it is also more + up-to-date with the latest upstream versions. However, it + currently only offers 32-bit builds. For building Emacs, you + need to download from this site all of the following *-bin.zip + archives: + + librsvg, gdk-pixbuf, cairo, glib + + The 'bin' archives on this site include both header files and the + libraries needed for building with librsvg and for running Emacs. + The librsvg archive includes all the shared libraries needed to + run Emacs with SVG support; the other 3 packages are required + because the compiler needs to see their header files when + building Emacs. + + 2. GTK project download site for Windows (see above for 2 URLs, + either for 32-bit builds or 64-bit builds) + + This is the official Windows download site of the GTK project. + Its builds of librsvg are fatter, but are currently the only + alternative for 64-bit builds. The easiest way to obtain the + dependencies required for building from this site is to download + a pre-bundled GTK+ development environment for Windows. If you + would nevertheless like to download only the packages that are + strictly required, then, as of the time of this writing, here's + the list of GTK+ packages you will need: + + librsvg, pango, freetype-2.4.11, freetype-2.4.2, croco, cairo, + glib, gdk-pixbuf, fontconfig, libpng-1.4.x, libpng-1.5.x, + libffi, libxml2, zlib + + The GTK download page provides 2 separate archives for each + package: a 'bin' (binary) archive with programs and DLLs, and a + 'dev' (development) archive with header files, import libraries, + and pkg-config files; download and install both archives for each + package you need. (Sources of each package are available in a + separate, 3rd archive.) + + As you see, some libraries for using this site's librsvg are + needed in more than one version -- this is because librsvg and + some of its dependencies were linked against different versions + of those libraries, and will look only for those DLLs when you + invoke SVG function. So there's a bit of "DLL hell" involved + here, but at least in theory this should work, as each library + will dynamically link only against its dependencies, even if + another version of the same library is already loaded. In + particular, at least 2 different versions of libpng will have to + be installed on your machine. When you install these libpng + versions, be sure to keep the header files and the pkg-config + files in sync, i.e. install both the 'bin' and 'dev' archives of + the same libpng version together. + + To use librsvg at runtime, ensure that librsvg and its dependencies + are on your PATH, or in the same directory as the emacs.exe binary. + If you are downloading from the ezwinports site, you only need to + install a single archive, librsvg-X.Y.Z-w32-bin.zip, which includes + all the dependency DLLs. For the GTK project site, download the + 'bin' archives for each of the libraries mentioned above. + + If you think you've got all the dependencies and SVG support is + still not working, check your PATH for other libraries that shadow + the ones you downloaded. Libraries of the same name from different + sources may not be compatible, this problem was encountered in the + past, e.g., with libcroco from gnome.org. + + If you can see etc/images/splash.svg, then you have managed to get + SVG support working. Congratulations for making it through DLL hell + to this point. For some SVG images, you'll probably see error + messages from Glib about failed assertions, or warnings from Pango + about failure to load fonts (installing the missing fonts should fix + the latter kind of problems). Problems have been observed in some + images that contain text, they seem to be a problem in the Windows + port of Pango, or maybe a problem with the way Cairo or librsvg is + using it that doesn't show up on other platforms. However, Emacs + should not crash due to these issues. If you eventually find the + SVG support too unstable to your taste, you can rebuild Emacs + without it by specifying the --without-rsvg switch to the configure + script. + + Binaries for the other image libraries can be found on the + ezwinports site or at the GnuWin32 project (the latter are generally + very old, so not recommended). Note specifically that, due to some + packaging snafus in the GnuWin32-supplied image libraries, you will + need to download _source_ packages for some of the libraries in + order to get the header files necessary for building Emacs with + image support. * Optional GnuTLS support === modified file 'nt/README.W32' --- nt/README.W32 2013-11-27 06:15:06 +0000 +++ nt/README.W32 2013-12-23 18:32:58 +0000 @@ -20,12 +20,8 @@ * Preliminaries - Along with this file should be five subdirectories (bin, etc, info, - lisp, site-lisp). If you have downloaded the barebin - distribution, then it will contain only the bin directory and the - built in documentation in etc/DOC, the rest of the subdirectories - are in the src distribution, which the barebin distribution is - designed to be used with. + Along with this file should be four subdirectories (bin, libexec, + share, and var). * Setting up Emacs @@ -99,15 +95,18 @@ + addpm.exe - A basic installer that creates Start Menu icons for Emacs. Running this is optional. - + cmdproxy.exe - Used internally by Emacs to work around problems with - the native shells in various versions of Windows. - + ctags.exe, etags.exe - Tools for generating tag files. See the `Tags' node of the Emacs manual. + ebrowse.exe - A tool for generating C++ browse information. See the `Ebrowse' manual. + Several helper programs are in a version-specific subdirectory of + the libexec directory: + + + cmdproxy.exe - Used internally by Emacs to work around problems with + the native shells in various versions of Windows. + + ddeclient.exe - A tool for interacting with DDE servers. To be invoked as "ddeclient SERVER [TOPIC]", where SERVER is the DDE server name, and sends each line of its standard input to the DDE @@ -122,12 +121,27 @@ a mail spool or POP server to a local user mailbox. See the `Movemail' node of the Emacs manual. + + profile.exe - A helper program that generates periodic events for + profiling Emacs Lisp code. + + + update-game-score.exe - A utility for updating the score files of + Emacs games. + * Image support Emacs has built in support for XBM and PPM/PGM/PBM images, and the - libXpm library is bundled, providing XPM support (required for color - toolbar icons and splash screen). Source for libXpm should be available - on the same place as you got this binary distribution from. + libraries. These libraries are all available on the following sites: + + 1. http://sourceforge.net/projects/ezwinports/files/ + -- leaner, more up-to-date builds, only for 32-bit Emacs + 2. http://www.gtk.org/download/win32.php + http://www.gtk.org/download/win64.php + -- GTK project site; offers much fatter builds, but includes 64-bit + DLLs + 3. GnuWin32 project -- very old builds, not recommended + + Emacs will find these libraries if the directory they are installed + in is on the PATH. Emacs can also support some other image formats with appropriate libraries. These libraries are all available as part of GTK @@ -136,7 +150,7 @@ they are installed in is on the PATH. PNG: requires the PNG reference library 1.4 or later, which will - be named libpng14.dll or libpng14-14.dll. LibPNG requires zlib, + be named libpngNN.dll or libpngNN-NN.dll. LibPNG requires zlib, which should come from the same source as you got libpng. Starting with Emacs 23.3, the precompiled Emacs binaries are built with libpng 1.4.x and later, and are incompatible with @@ -151,7 +165,14 @@ or libtiff.dll. GIF: requires libungif or giflib 4.1 or later, which will be - called giflib4.dll, libungif4.dll or libungif.dll. + called libgif-6.dll, giflib4.dll, libungif4.dll or libungif.dll. + + SVG: requires librsvg 2.x whose DLL will be called + librsvg-2-2.dll. SVG also requires several dependency DLLs, + such as Pango, Cairo, and Glib, all of them found on the + above-mentioned sites. If you download from the ezwinports + site, you need only librsvg-2.nn.x-bin.zip, it comes with all + the other dependencies bundled. If you have image support DLLs under different names, customize the value of `dynamic-library-alist'. @@ -168,8 +189,8 @@ the relevant DLLs during startup; failure to do so is not an error, but GnuTLS won't be available to the running session. - You can get pre-built binaries (including any required DLL and the - header files) at http://sourceforge.net/projects/ezwinports/files/. + You can get pre-built binaries (including any dependency DLLs) at + http://sourceforge.net/projects/ezwinports/files/. * libxml2 support ------------------------------------------------------------ revno: 115718 fixes bug: http://debbugs.gnu.org/16051 committer: Eli Zaretskii branch nick: trunk timestamp: Mon 2013-12-23 18:36:34 +0200 message: Fix most of bug #16051 with redisplay loops when resizing tool-bar. src/xdisp.c (tool_bar_height): Use WINDOW_PIXEL_WIDTH to set up the iterator X limits, not FRAME_TOTAL_COLS, for consistency with what redisplay_tool_bar does. Improve and fix commentary. (hscroll_window_tree): Don't assume w->cursor.vpos is within the limits of the glyph matrices. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-12-23 12:07:46 +0000 +++ src/ChangeLog 2013-12-23 16:36:34 +0000 @@ -1,3 +1,11 @@ +2013-12-23 Eli Zaretskii + + * xdisp.c (tool_bar_height): Use WINDOW_PIXEL_WIDTH to set up the + iterator X limits, not FRAME_TOTAL_COLS, for consistency with what + redisplay_tool_bar does. Improve and fix commentary. + (hscroll_window_tree): Don't assume w->cursor.vpos is within the + limits of the glyph matrices. (Bug#16051) + 2013-12-23 Jan Djärv * conf_post.h: Use unsigned it for bool_bf if GNUSTEP (Bug#16210). === modified file 'src/xdisp.c' --- src/xdisp.c 2013-12-19 19:25:13 +0000 +++ src/xdisp.c 2013-12-23 16:36:34 +0000 @@ -12057,8 +12057,8 @@ #define MAX_FRAME_TOOL_BAR_HEIGHT(f) \ ((FRAME_LINE_HEIGHT (f) * FRAME_LINES (f))) -/* Value is the number of screen lines needed to make all tool-bar - items of frame F visible. The number of actual rows needed is +/* Value is the number of pixels needed to make all tool-bar items of + frame F visible. The actual number of glyph rows needed is returned in *N_ROWS if non-NULL. */ static int @@ -12075,8 +12075,7 @@ F->desired_tool_bar_string in the tool-bar window of frame F. */ init_iterator (&it, w, -1, -1, temp_row, TOOL_BAR_FACE_ID); it.first_visible_x = 0; - /* PXW: Use FRAME_PIXEL_WIDTH (f) here? */ - it.last_visible_x = FRAME_TOTAL_COLS (f) * FRAME_COLUMN_WIDTH (f); + it.last_visible_x = WINDOW_PIXEL_WIDTH (w); reseat_to_string (&it, NULL, f->desired_tool_bar_string, 0, 0, 0, -1); it.paragraph_embedding = L2R; @@ -12254,6 +12253,10 @@ && it.current_y < max_tool_bar_height) change_height_p = 1; + /* We subtract 1 because display_tool_bar_line advances the + glyph_row pointer before returning to its caller. We want to + examine the last glyph row produced by + display_tool_bar_line. */ row = it.glyph_row - 1; /* If there are blank lines at the end, except for a partially @@ -12607,15 +12610,25 @@ { int h_margin; int text_area_width; - struct glyph_row *current_cursor_row - = MATRIX_ROW (w->current_matrix, w->cursor.vpos); - struct glyph_row *desired_cursor_row - = MATRIX_ROW (w->desired_matrix, w->cursor.vpos); - struct glyph_row *cursor_row - = (desired_cursor_row->enabled_p - ? desired_cursor_row - : current_cursor_row); - int row_r2l_p = cursor_row->reversed_p; + struct glyph_row *cursor_row; + struct glyph_row *bottom_row; + int row_r2l_p; + + bottom_row = MATRIX_BOTTOM_TEXT_ROW (w->desired_matrix, w); + if (w->cursor.vpos < bottom_row - w->desired_matrix->rows) + cursor_row = MATRIX_ROW (w->desired_matrix, w->cursor.vpos); + else + cursor_row = bottom_row - 1; + + if (!cursor_row->enabled_p) + { + bottom_row = MATRIX_BOTTOM_TEXT_ROW (w->current_matrix, w); + if (w->cursor.vpos < bottom_row - w->current_matrix->rows) + cursor_row = MATRIX_ROW (w->current_matrix, w->cursor.vpos); + else + cursor_row = bottom_row - 1; + } + row_r2l_p = cursor_row->reversed_p; text_area_width = window_box_width (w, TEXT_AREA); ------------------------------------------------------------ revno: 115717 committer: Andreas Schwab branch nick: emacs timestamp: Mon 2013-12-23 16:13:14 +0100 message: * configure.ac: Replace obsolete macro AC_CONFIG_HEADER by AC_CONFIG_HEADERS. diff: === modified file 'ChangeLog' --- ChangeLog 2013-12-19 18:00:05 +0000 +++ ChangeLog 2013-12-23 15:13:14 +0000 @@ -1,3 +1,8 @@ +2013-12-23 Andreas Schwab + + * configure.ac: Replace obsolete macro AC_CONFIG_HEADER by + AC_CONFIG_HEADERS. + 2013-12-19 Rüdiger Sonderfeld * .gitignore: Ignore refcard temporaries and info/*.info files. === modified file 'configure.ac' --- configure.ac 2013-12-14 22:59:20 +0000 +++ configure.ac 2013-12-23 15:13:14 +0000 @@ -78,7 +78,7 @@ optsep=' ' done -AC_CONFIG_HEADER(src/config.h:src/config.in) +AC_CONFIG_HEADERS(src/config.h:src/config.in) AC_CONFIG_SRCDIR(src/lisp.h) AC_CONFIG_AUX_DIR(build-aux) dnl Fairly arbitrary, older versions might work too. ------------------------------------------------------------ revno: 115716 committer: Daniel Colascione branch nick: trunk timestamp: Mon 2013-12-23 07:01:32 -0800 message: Move provide to end of file for icomplete diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-12-23 12:51:51 +0000 +++ lisp/ChangeLog 2013-12-23 15:01:32 +0000 @@ -1,3 +1,7 @@ +2013-12-23 Daniel Colascione + + * icomplete.el: Move `provide' to end of file. + 2013-12-23 Teodor Zlatanov * net/gnutls.el (gnutls-verify-error): Add version tag. === modified file 'lisp/icomplete.el' --- lisp/icomplete.el 2013-12-14 14:24:36 +0000 +++ lisp/icomplete.el 2013-12-23 15:01:32 +0000 @@ -58,10 +58,6 @@ ;;; Code: -;;;_* Provide -(provide 'icomplete) - - (defgroup icomplete nil "Show completions dynamically in minibuffer." :prefix "icomplete-" @@ -484,6 +480,9 @@ "}") (concat determ " [Matched]")))))) +;;;_* Provide +(provide 'icomplete) + ;;_* Local emacs vars. ;;Local variables: ;;allout-layout: (-2 :) ------------------------------------------------------------ revno: 115715 committer: Xue Fuqiao branch nick: trunk timestamp: Mon 2013-12-23 21:17:59 +0800 message: * doc/emacs/regs.texi (Bookmarks): Document `bookmark-default-file'. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2013-12-23 13:01:25 +0000 +++ doc/emacs/ChangeLog 2013-12-23 13:17:59 +0000 @@ -1,5 +1,7 @@ 2013-12-23 Xue Fuqiao + * regs.texi (Bookmarks): Document `bookmark-default-file'. + * misc.texi (Shell Mode): Add a cross-reference. * building.texi (Lisp Eval): Add an index. === modified file 'doc/emacs/regs.texi' --- doc/emacs/regs.texi 2013-12-22 18:31:38 +0000 +++ doc/emacs/regs.texi 2013-12-23 13:17:59 +0000 @@ -335,6 +335,10 @@ saving. If you set this variable to @code{nil}, Emacs only saves bookmarks if you explicitly use @kbd{M-x bookmark-save}. +@vindex bookmark-default-file + The variable @code{bookmark-default-file} specifies the file in +which to save bookmarks by default. + @vindex bookmark-search-size Bookmark position values are saved with surrounding context, so that @code{bookmark-jump} can find the proper position even if the file is ------------------------------------------------------------ revno: 115714 committer: Xue Fuqiao branch nick: trunk timestamp: Mon 2013-12-23 21:11:29 +0800 message: * etc/MORE.STUFF: Mention RefTeX. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2013-12-23 13:05:27 +0000 +++ etc/ChangeLog 2013-12-23 13:11:29 +0000 @@ -1,3 +1,7 @@ +2013-12-23 Xue Fuqiao + + * MORE.STUFF: Mention RefTeX. + 2013-12-23 Teodor Zlatanov * NEWS: Updated for `gnutls-verify-error', cfengine-mode, and === modified file 'etc/MORE.STUFF' --- etc/MORE.STUFF 2013-04-28 17:40:32 +0000 +++ etc/MORE.STUFF 2013-12-23 13:11:29 +0000 @@ -57,6 +57,8 @@ * CC mode: + * CEDET: + * Gnus: * MH-E: @@ -65,7 +67,7 @@ * Org mode: - * CEDET: + * RefTeX: * Tramp: Remote file access via rsh/ssh ------------------------------------------------------------ revno: 115713 committer: Ted Zlatanov branch nick: quickfixes timestamp: Mon 2013-12-23 08:05:27 -0500 message: Noted `gnutls-verify-error', cfengine-mode, and package.el changes. * NEWS: Updated for `gnutls-verify-error', cfengine-mode, and package.el changes. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2013-12-21 16:11:55 +0000 +++ etc/ChangeLog 2013-12-23 13:05:27 +0000 @@ -1,3 +1,8 @@ +2013-12-23 Teodor Zlatanov + + * NEWS: Updated for `gnutls-verify-error', cfengine-mode, and + package.el changes. + 2013-12-21 Jan Djärv * NEWS: Mention ns-use-srgb-colorspace. === modified file 'etc/NEWS' --- etc/NEWS 2013-12-23 11:40:42 +0000 +++ etc/NEWS 2013-12-23 13:05:27 +0000 @@ -91,6 +91,12 @@ * Changes in Emacs 24.4 +++ +** New option `gnutls-verify-error', if non-nil, means that Emacs +should reject SSL/TLS certificates that GnuTLS determines as invalid. +(This option defaults to nil at present, but this is expected to change +in a future release.) + ++++ ** Emacs now supports menus on text-mode terminals. If the terminal supports a mouse, clicking on the menu bar, or on sensitive portions of the mode line or header line, will drop down the @@ -392,6 +398,14 @@ *** CUA's rectangles can now be used via `cua-rectangle-mark-mode'. +** CFEngine mode + +*** Support for completion, ElDoc, and Flycheck has been added. + +*** The current CFEngine syntax is parsed from "cf-promises -s json". +There is a fallback syntax available if you don't have cf-promises or +if it doesn't support that option. + ** Delete Selection mode can now be used without `transient-mark-mode'. ** Desktop @@ -560,6 +574,13 @@ *** `describe-package' buffer uses the `:url' extra property to display a `Homepage' header, if it's present. +*** In the buffer produced by `describe-package', there are now buttons +listing the keywords related to that package. You can click on them +to see other packages related to any given keyword. + +*** In the *Packages* buffer, `f' or the Package->Filter menu filters +the packages by a keyword. + ** Prolog mode *** `prolog-use-smie' has been removed, along with the non-SMIE ------------------------------------------------------------ revno: 115712 committer: Xue Fuqiao branch nick: trunk timestamp: Mon 2013-12-23 21:01:25 +0800 message: Minor doc fixes. * doc/emacs/misc.texi (Shell Mode): Add a cross-reference. * doc/emacs/building.texi (Lisp Eval): Add an index. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2013-12-22 23:13:18 +0000 +++ doc/emacs/ChangeLog 2013-12-23 13:01:25 +0000 @@ -1,3 +1,9 @@ +2013-12-23 Xue Fuqiao + + * misc.texi (Shell Mode): Add a cross-reference. + + * building.texi (Lisp Eval): Add an index. + 2013-12-22 Glenn Morris * entering.texi (Entering Emacs): Typo fix. === modified file 'doc/emacs/building.texi' --- doc/emacs/building.texi 2013-01-01 09:11:05 +0000 +++ doc/emacs/building.texi 2013-12-23 13:01:25 +0000 @@ -1422,6 +1422,7 @@ @section Evaluating Emacs Lisp Expressions @cindex Emacs Lisp mode @cindex mode, Emacs Lisp +@cindex evaluation, Emacs Lisp @findex emacs-lisp-mode Emacs Lisp mode is the major mode for editing Emacs Lisp. Its mode === modified file 'doc/emacs/misc.texi' --- doc/emacs/misc.texi 2013-12-20 14:18:21 +0000 +++ doc/emacs/misc.texi 2013-12-23 13:01:25 +0000 @@ -810,8 +810,8 @@ for a password. Please note that Emacs will not echo passwords by default. If you -really want them to be echoed, evaluate the following Lisp -expression: +really want them to be echoed, evaluate (@pxref{Lisp Eval}) the +following Lisp expression: @example (remove-hook 'comint-output-filter-functions ------------------------------------------------------------ revno: 115711 committer: Ted Zlatanov branch nick: quickfixes timestamp: Mon 2013-12-23 07:51:51 -0500 message: net/gnutls.el (gnutls-verify-error): Add version tag. * net/gnutls.el (gnutls-verify-error): Add version tag. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-12-23 04:07:01 +0000 +++ lisp/ChangeLog 2013-12-23 12:51:51 +0000 @@ -1,3 +1,7 @@ +2013-12-23 Teodor Zlatanov + + * net/gnutls.el (gnutls-verify-error): Add version tag. + 2013-12-23 Chong Yidong * subr.el (set-transient-map): Rename from === modified file 'lisp/net/gnutls.el' --- lisp/net/gnutls.el 2013-12-16 02:24:08 +0000 +++ lisp/net/gnutls.el 2013-12-23 12:51:51 +0000 @@ -54,6 +54,7 @@ (defcustom gnutls-verify-error nil "If non-nil, this should be a list of checks per hostname regex or t." :group 'gnutls + :version "24.4" :type '(choice (const t) (repeat :tag "List of hostname regexps with flags for each" ------------------------------------------------------------ revno: 115710 committer: Ted Zlatanov branch nick: quickfixes timestamp: Mon 2013-12-23 07:50:47 -0500 message: Document `gnutls-verify-error'. * emacs-gnutls.texi (Help For Users): Document `gnutls-verify-error'. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2013-12-22 23:13:18 +0000 +++ doc/misc/ChangeLog 2013-12-23 12:50:47 +0000 @@ -1,3 +1,7 @@ +2013-12-23 Teodor Zlatanov + + * emacs-gnutls.texi (Help For Users): Document `gnutls-verify-error'. + 2013-12-22 Glenn Morris * woman.texi (Navigation): Use itemx where appropriate. === modified file 'doc/misc/emacs-gnutls.texi' --- doc/misc/emacs-gnutls.texi 2013-09-08 23:31:14 +0000 +++ doc/misc/emacs-gnutls.texi 2013-12-23 12:50:47 +0000 @@ -132,6 +132,24 @@ of that platform. @end defvar +@defvar gnutls-verify-error +The @code{gnutls-verify-error} variable allows you to verify SSL/TLS +server certificates for all connections or by host name. It defaults +to @code{nil} for now but will likely be changed to @code{t} later, +meaning that all certificates will be verified. + +There are two checks available currently, that the certificate has +been issued by a trusted authority as defined by +@code{gnutls-trustfiles}, and that the hostname matches the +certificate. @code{t} enables both checks, but you can enable them +individually as well with @code{:trustfiles} and @code{:hostname} +instead. + +Because of the low-level interactions with the GnuTLS library, there +is no way currently to ask if a certificate can be accepted. You have +to look in the @code{*Messages*} buffer. +@end defvar + @defvar gnutls-min-prime-bits The @code{gnutls-min-prime-bits} variable is a pretty exotic customization for cases where you want to refuse handshakes with keys ------------------------------------------------------------ revno: 115709 fixes bug: http://debbugs.gnu.org/16210 committer: Jan D. branch nick: trunk timestamp: Mon 2013-12-23 13:07:46 +0100 message: * src/conf_post.h: Use unsigned it for bool_bf if GNUSTEP. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-12-23 02:54:28 +0000 +++ src/ChangeLog 2013-12-23 12:07:46 +0000 @@ -1,3 +1,7 @@ +2013-12-23 Jan Djärv + + * conf_post.h: Use unsigned it for bool_bf if GNUSTEP (Bug#16210). + 2013-12-23 Glenn Morris * lread.c (Fload): Mention load-prefer-newer in doc. === modified file 'src/conf_post.h' --- src/conf_post.h 2013-12-14 21:36:44 +0000 +++ src/conf_post.h 2013-12-23 12:07:46 +0000 @@ -34,8 +34,9 @@ #include -/* The pre-C99 emulation doesn't work for bool bitfields. */ -#if __STDC_VERSION__ < 199901 +/* The pre-C99 emulation doesn't work for bool bitfields. + Nor does compiling Objective-C with standard GCC. */ +#if __STDC_VERSION__ < 199901 || NS_IMPL_GNUSTEP typedef unsigned int bool_bf; #else typedef bool bool_bf; ------------------------------------------------------------ revno: 115708 committer: Xue Fuqiao branch nick: trunk timestamp: Mon 2013-12-23 19:40:42 +0800 message: NEWS tweak. diff: === modified file 'etc/NEWS' --- etc/NEWS 2013-12-23 11:27:29 +0000 +++ etc/NEWS 2013-12-23 11:40:42 +0000 @@ -1147,15 +1147,17 @@ On file systems that do not support symbolic links, the lock is now a regular file with contents being what would have been in the symlink. ++++ ** New functions `group-gid' and `group-real-gid'. -** The `common-substring' argument of display-completion-list is obsolete. +** The `common-substring' argument of `display-completion-list' is obsolete. Either use `completion-all-completions' which already returns highlighted strings (including for partial or substring completion) or call `completion-hilit-commonality' to add the highlight. ** Changes to the Emacs Lisp Coding Conventions in Emacs 24.4 ++++ *** The package descriptor and name of global variables, constants, and functions should be separated by two hyphens if the symbol is not meant to be used by other packages. ------------------------------------------------------------ revno: 115707 committer: Xue Fuqiao branch nick: trunk timestamp: Mon 2013-12-23 19:27:29 +0800 message: Document `special-form-p' and `macrop'. * doc/lispref/eval.texi (Special Forms): Document `special-form-p'. * doc/lispref/macros.texi (Simple Macro): Document `macrop'. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2013-12-23 08:50:31 +0000 +++ doc/lispref/ChangeLog 2013-12-23 11:27:29 +0000 @@ -1,5 +1,9 @@ 2013-12-23 Xue Fuqiao + * eval.texi (Special Forms): Document `special-form-p'. + + * macros.texi (Simple Macro): Document `macrop'. + * files.texi (Changing Files): Fix an argument of `copy-file'. * strings.texi (Creating Strings): Document TRIM in `split-string'. === modified file 'doc/lispref/eval.texi' --- doc/lispref/eval.texi 2013-10-23 17:20:09 +0000 +++ doc/lispref/eval.texi 2013-12-23 11:27:29 +0000 @@ -440,6 +440,11 @@ expression, so Emacs may signal an error, or may return 3 or 4 or @code{nil}, or may behave in other ways. +@defun special-form-p object +This predicate tests whether its argument is a special form, and +returns @code{t} if so, @code{nil} otherwise. +@end defun + Here is a list, in alphabetical order, of all of the special forms in Emacs Lisp with a reference to where each is described. === modified file 'doc/lispref/macros.texi' --- doc/lispref/macros.texi 2013-09-08 18:01:25 +0000 +++ doc/lispref/macros.texi 2013-12-23 11:27:29 +0000 @@ -55,6 +55,11 @@ returns this expansion, Lisp proceeds to evaluate it, thus incrementing @code{x}. +@defun macrop object +This predicate tests whether its argument is a macro, and returns +@code{t} if so, @code{nil} otherwise. +@end defun + @node Expansion @section Expansion of a Macro Call @cindex expansion of macros === modified file 'etc/NEWS' --- etc/NEWS 2013-12-23 08:50:31 +0000 +++ etc/NEWS 2013-12-23 11:27:29 +0000 @@ -1012,11 +1012,11 @@ PRESERVE-EXTENDED-ATTRIBUTES as it now handles both SELinux context and ACL entries. ++++ *** The function `file-ownership-preserved-p' now has an optional argument GROUP which causes it check for file group too. This can be used in place of the 9th element of `file-attributes'. - *** The function `set-visited-file-modtime' now accepts a 0 or -1 argument, with the same interpretation as the returned value of `visited-file-modtime'. @@ -1042,6 +1042,7 @@ set (defface, custom, or user spec), and it directly sets the relevant property using the supplied face spec. ++++ *** New function `add-face-text-property', which can be used to conveniently prepend/append new face properties. @@ -1051,6 +1052,7 @@ *** New face characteristic (supports :underline (:style wave)) specifies whether or not the terminal can display a wavy line. ++++ *** New face spec attribute :distant-foreground specifies foreground to use if background color is near the foreground color that would otherwise have been used. @@ -1125,6 +1127,7 @@ ** `time-to-seconds' is not obsolete any more. ++++ ** New functions `special-form-p' and `macrop'. ** Docstrings can be made dynamic by adding a `dynamic-docstring-function' ------------------------------------------------------------ revno: 115706 committer: Xue Fuqiao branch nick: trunk timestamp: Mon 2013-12-23 16:50:31 +0800 message: Fix an argument of `copy-file'. * doc/lispref/files.texi (Changing Files): Fix an argument of `copy-file'. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2013-12-23 07:55:08 +0000 +++ doc/lispref/ChangeLog 2013-12-23 08:50:31 +0000 @@ -1,5 +1,7 @@ 2013-12-23 Xue Fuqiao + * files.texi (Changing Files): Fix an argument of `copy-file'. + * strings.texi (Creating Strings): Document TRIM in `split-string'. 2013-12-23 Chong Yidong === modified file 'doc/lispref/files.texi' --- doc/lispref/files.texi 2013-11-20 02:52:35 +0000 +++ doc/lispref/files.texi 2013-12-23 08:50:31 +0000 @@ -1550,7 +1550,7 @@ same effect as renaming, aside from momentary intermediate states. @end deffn -@deffn Command copy-file oldname newname &optional ok-if-exists time preserve-uid-gid preserve-selinux +@deffn Command copy-file oldname newname &optional ok-if-exists time preserve-uid-gid preserve-extended-attributes This command copies the file @var{oldname} to @var{newname}. An error is signaled if @var{oldname} does not exist. If @var{newname} names a directory, it copies @var{oldname} into that directory, === modified file 'etc/NEWS' --- etc/NEWS 2013-12-23 08:11:14 +0000 +++ etc/NEWS 2013-12-23 08:50:31 +0000 @@ -993,6 +993,7 @@ ** File-handling changes ++++ *** Support for filesystem notifications. Emacs now supports notifications of filesystem changes, such as creation, modification, and deletion of files. This requires the @@ -1000,11 +1001,13 @@ MS-Windows systems, this is supported for Windows XP and newer versions. ++++ *** The 9th element returned by `file-attributes' is now unspecified. Formerly, it was t if the file's gid would change if file were deleted and recreated. This value has been inaccurate for years on many platforms, and nobody seems to have noticed or cared. ++++ *** The 6th argument to `copy-file' has been renamed to PRESERVE-EXTENDED-ATTRIBUTES as it now handles both SELinux context and ACL entries.