commit fafdfcb1fa629d659bb97986f8e748d75b97cad6 (HEAD, refs/remotes/origin/master) Author: Lars Ingebrigtsen Date: Fri Apr 29 03:15:59 2016 +0200 Rename "Directory Search" menu to "Servers" * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory Search" to "Directory Servers". Suggested by Eli Zaretskii. (bug#14919). * lisp/net/eudc.el: Rename ditto throughout. diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index cc7233e..82d8fad 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -1583,7 +1583,7 @@ mail status in mode line")) (bindings--define-key menu [browse-web] '(menu-item "Browse the Web..." browse-web)) (bindings--define-key menu [directory-search] - '(menu-item "Directory Search" eudc-tools-menu)) + '(menu-item "Directory Servers" eudc-tools-menu)) (bindings--define-key menu [compose-mail] '(menu-item "Compose New Mail" compose-mail :visible (and mail-user-agent (not (eq mail-user-agent 'ignore))) diff --git a/lisp/net/eudc.el b/lisp/net/eudc.el index 867bea9..22e48db 100644 --- a/lisp/net/eudc.el +++ b/lisp/net/eudc.el @@ -1146,7 +1146,7 @@ queries the server for the existing fields and displays a corresponding form." (defun eudc-menu () (let (command) - (append '("Directory Search") + (append '("Directory Servers") (list (append '("Server") @@ -1186,8 +1186,8 @@ queries the server for the existing fields and displays a corresponding form." (define-key global-map [menu-bar tools directory-search] - (cons "Directory Search" - (easy-menu-create-menu "Directory Search" (cdr (eudc-menu)))))) + (cons "Directory Servers" + (easy-menu-create-menu "Directory Servers" (cdr (eudc-menu)))))) ((fboundp 'easy-menu-add-item) (let ((menu (eudc-menu))) (easy-menu-add-item nil '("tools") (easy-menu-create-menu (car menu) @@ -1197,8 +1197,9 @@ queries the server for the existing fields and displays a corresponding form." (define-key global-map [menu-bar tools eudc] - (cons "Directory Search" - (easy-menu-create-keymaps "Directory Search" (cdr (eudc-menu)))))) + (cons "Directory Servers" + (easy-menu-create-keymaps "Directory Servers" + (cdr (eudc-menu)))))) (t (error "Unknown version of easymenu")))) )) @@ -1231,7 +1232,7 @@ This does nothing except loading eudc by autoload side-effect." (cond ((not (featurep 'xemacs)) (defvar eudc-tools-menu - (let ((map (make-sparse-keymap "Directory Search"))) + (let ((map (make-sparse-keymap "Directory Servers"))) (define-key map [phone] `(menu-item ,(purecopy "Get Phone") eudc-get-phone :help ,(purecopy "Get the phone field of name from the directory server"))) @@ -1255,7 +1256,7 @@ This does nothing except loading eudc by autoload side-effect." map)) (fset 'eudc-tools-menu (symbol-value 'eudc-tools-menu))) (t - (let ((menu '("Directory Search" + (let ((menu '("Directory Servers" ["Load Hotlist of Servers" eudc-load-eudc t] ["New Server" eudc-set-server t] ["---" nil nil] @@ -1279,8 +1280,8 @@ This does nothing except loading eudc by autoload side-effect." (define-key global-map [menu-bar tools eudc] - (cons "Directory Search" - (easy-menu-create-keymaps "Directory Search" + (cons "Directory Servers" + (easy-menu-create-keymaps "Directory Servers" (cdr menu))))))))))) ;;}}} commit 4fa7b7634270f27fdaaa6428ce1b389e1255dbcb Author: Lars Ingebrigtsen Date: Fri Apr 29 02:40:13 2016 +0200 Remove uses of the unused to-end parameter from simple.el * lisp/simple.el (line-move-partial): Remove usages of the unused to-end parameter, and make it optional (bug#14844). (line-move): Remove use of the unused to-end parameter. diff --git a/lisp/simple.el b/lisp/simple.el index 7573789..595eba3 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -5829,7 +5829,7 @@ The value is a floating-point number." (/ (float (- (nth 3 edges) (nth 1 edges))) dlh))) ;; Returns non-nil if partial move was done. -(defun line-move-partial (arg noerror to-end) +(defun line-move-partial (arg noerror &optional _to-end) (if (< arg 0) ;; Move backward (up). ;; If already vscrolled, reduce vscroll @@ -5927,7 +5927,7 @@ The value is a floating-point number." ;; discrepancies between that and DLH. (if (and rowh rbot (>= (- (+ rowh rbot) winh) 1)) (set-window-vscroll nil dlh t)) - (line-move-1 arg noerror to-end) + (line-move-1 arg noerror) t) ;; If there are lines above the last line, scroll-up one line. ((and vpos (> vpos 0)) @@ -5944,7 +5944,7 @@ The value is a floating-point number." ;; scrolling with cursor motion. But so far we don't have ;; a cleaner solution to the problem of making C-n do something ;; useful given a tall image. -(defun line-move (arg &optional noerror to-end try-vscroll) +(defun line-move (arg &optional noerror _to-end try-vscroll) "Move forward ARG lines. If NOERROR, don't signal an error if we can't move ARG lines. TO-END is unused. @@ -5952,7 +5952,7 @@ TRY-VSCROLL controls whether to vscroll tall lines: if either `auto-window-vscroll' or TRY-VSCROLL is nil, this function will not vscroll." (if noninteractive - (line-move-1 arg noerror to-end) + (line-move-1 arg noerror) (unless (and auto-window-vscroll try-vscroll ;; Only vscroll for single line moves (= (abs arg) 1) @@ -5962,7 +5962,7 @@ not vscroll." ;; But don't vscroll in a keyboard macro. (not defining-kbd-macro) (not executing-kbd-macro) - (line-move-partial arg noerror to-end)) + (line-move-partial arg noerror)) (set-window-vscroll nil 0 t) (if (and line-move-visual ;; Display-based column are incompatible with goal-column. @@ -5994,7 +5994,7 @@ not vscroll." (set-window-vscroll nil (- lh dlh) t)))) - (line-move-1 arg noerror to-end))))) + (line-move-1 arg noerror))))) ;; Display-based alternative to line-move-1. ;; Arg says how many lines to move. The value is t if we can move the commit 21128b5ff48578b11e045ac99e061fe45d3eb89f Author: Lars Ingebrigtsen Date: Fri Apr 29 01:41:34 2016 +0200 Doc fix: _ chars are automatically removed. * lisp/cus-edit.el (custom-buffer-create): _ chars are automatically removed when displaying help, so fix the last doc change. (custom-buffer-create-other-window): Ditto. diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index cf98b60..ee0f14f 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -1549,7 +1549,7 @@ Optional NAME is the name of the buffer. OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where SYMBOL is a customization option, and WIDGET is a widget for editing that option. -_DESCRIPTION is unused." +DESCRIPTION is unused." (pop-to-buffer-same-window (custom-get-fresh-buffer (or name "*Customization*"))) (custom-buffer-create-internal options)) @@ -1562,7 +1562,7 @@ Optional NAME is the name of the buffer. OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where SYMBOL is a customization option, and WIDGET is a widget for editing that option. -_DESCRIPTION is unused." +DESCRIPTION is unused." (unless name (setq name "*Customization*")) (switch-to-buffer-other-window (custom-get-fresh-buffer name)) (custom-buffer-create-internal options)) commit 23ba488a5e8290c4de91e0ff4161641efa364c0d Author: Lars Ingebrigtsen Date: Fri Apr 29 01:19:49 2016 +0200 Doc string change to enable-recursive-minibuffers * src/minibuf.c (syms_of_minibuf): Mention minibuffer-depth-indicator-mode in the doc string to enable-recursive-minibuffers (bug#14147). diff --git a/src/minibuf.c b/src/minibuf.c index 644e527..0b8b00c 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -1964,7 +1964,9 @@ controls the behavior, rather than this variable. */); DEFVAR_BOOL ("enable-recursive-minibuffers", enable_recursive_minibuffers, doc: /* Non-nil means to allow minibuffer commands while in the minibuffer. -This variable makes a difference whenever the minibuffer window is active. */); +This variable makes a difference whenever the minibuffer window is active. +Also see `minibuffer-depth-indicator-mode', which may be handy if this +variable is non-nil. */); enable_recursive_minibuffers = 0; DEFVAR_LISP ("minibuffer-completion-table", Vminibuffer_completion_table, commit 2334ad569555933fa074d342b7016c9932eb4ab7 Author: Lars Ingebrigtsen Date: Fri Apr 29 00:20:55 2016 +0200 Fix definition of nobreak-space * lisp/faces.el (nobreak-space): The definition to nobreak-space was inadvertantly changed by the previous checkin. diff --git a/lisp/faces.el b/lisp/faces.el index 552a7be..7bd8107 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -2428,9 +2428,9 @@ If you set `term-file-prefix' to nil, this function does nothing." :version "22.1") (defface nobreak-space - '((((background dark)) :foreground "cyan") - (((type pc)) :foreground "magenta") - (t :foreground "brown")) + '((((class color) (min-colors 88)) :inherit escape-glyph :underline t) + (((class color) (min-colors 8)) :background "magenta") + (t :inverse-video t)) "Face for displaying nobreak space." :group 'basic-faces :version "22.1") commit cd993be60da2d12db0d390001373d486c1091c47 Author: Lars Ingebrigtsen Date: Fri Apr 29 00:17:50 2016 +0200 Clarify the `interactive' doc string slightly * src/callint.c (Finteractive): Clarify the doc string slightly (bug#14577). diff --git a/src/callint.c b/src/callint.c index 3bcf2c8..e56f7cd 100644 --- a/src/callint.c +++ b/src/callint.c @@ -41,20 +41,24 @@ For example, write (defun foo (arg buf) "Doc string" (interactive "P\\nbbuffer: ") .... ) to make ARG be the raw prefix argument, and set BUF to an existing buffer, when `foo' is called as a command. -The "call" to `interactive' is actually a declaration rather than a function; - it tells `call-interactively' how to read arguments - to pass to the function. -When actually called, `interactive' just returns nil. - -Usually the argument of `interactive' is a string containing a code letter - followed optionally by a prompt. (Some code letters do not use I/O to get - the argument and do not use prompts.) To get several arguments, concatenate - the individual strings, separating them by newline characters. -Prompts are passed to format, and may use % escapes to print the + +The "call" to `interactive' is actually a declaration rather than a + function; it tells `call-interactively' how to read arguments to pass + to the function. When actually called, `interactive' just returns + nil. + +Usually the argument of `interactive' is a string containing a code + letter followed optionally by a prompt. (Some code letters do not + use I/O to get the argument and do not use prompts.) To pass several + arguments to the command, concatenate the individual strings, + separating them by newline characters. + +Prompts are passed to `format', and may use % escapes to print the arguments that have already been read. If the argument is not a string, it is evaluated to get a list of - arguments to pass to the function. -Just `(interactive)' means pass no args when calling interactively. + arguments to pass to the command. +Just `(interactive)' means pass no arguments to the command when + calling interactively. Code letters available are: a -- Function name: symbol with a function definition. @@ -99,7 +103,7 @@ If the string begins with `^' and `shift-select-mode' is non-nil, Emacs first calls the function `handle-shift-selection'. You may use `@', `*', and `^' together. They are processed in the order that they appear, before reading any arguments. -usage: (interactive &optional ARGS) */ +usage: (interactive &optional ARG-DESCRIPTOR) */ attributes: const) (Lisp_Object args) { commit 65797b1d75e9f608ffd50fd88be47a854b143bb1 Author: Drew Adams Date: Thu Apr 28 19:31:43 2016 +0200 Make icomplete respect `completion-ignored-extensions' * lisp/icomplete.el (icomplete-completions): Heed `completion-ignored-extensions' (bug#12939). diff --git a/etc/NEWS b/etc/NEWS index c7bc34f..543b3ba 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -56,6 +56,10 @@ affected by this, as SGI stopped supporting IRIX in December 2013. * Changes in Emacs 25.2 +--- +** icomplete now respects `completion-ignored-extensions'. + ++++ ** Non-breaking hypens are now displayed with the `nobreak-hyphen' face instead of the `escape-glyph' face. diff --git a/lisp/icomplete.el b/lisp/icomplete.el index 3b60daa..6a96264 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el @@ -388,6 +388,9 @@ matches exist." (progn ;;(debug (format "Candidates=%S field=%S" candidates name)) (format " %sNo matches%s" open-bracket close-bracket)) (if last (setcdr last nil)) + (when (and minibuffer-completing-file-name + icomplete-with-completion-tables) + (setq comps (completion-pcm--filename-try-filter comps))) (let* ((most-try (if (and base-size (> base-size 0)) (completion-try-completion commit f078ef90cbcf479053efd81e1d95e50e64da2e99 Author: Lars Ingebrigtsen Date: Thu Apr 28 18:51:51 2016 +0200 Make ibuffer not break on newline-embedded buffer names * lisp/ibuffer.el (name): When buffer names contain newlines, quote those newlines before displaying (bug#12378). diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index b2ec073..704907a 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el @@ -1740,7 +1740,13 @@ If point is on a group name, this function operates on that group." (cond ((zerop bufs) "No buffers") ((= 1 bufs) "1 buffer") (t (format "%s buffers" bufs)))))) - (propertize (buffer-name) 'font-lock-face (ibuffer-buffer-name-face buffer mark))) + (let ((string (propertize (buffer-name) + 'font-lock-face + (ibuffer-buffer-name-face buffer mark)))) + (if (not (seq-position string ?\n)) + string + (replace-regexp-in-string + "\n" (propertize "^J" 'font-lock-face 'escape-glyph) string)))) (define-ibuffer-column size (:inline t commit c3ac2cbf73516d2414c845087cac8fc7ec1ce5d7 Author: Lars Ingebrigtsen Date: Thu Apr 28 18:09:10 2016 +0200 Add a new face for non-breaking hyphen characters * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen. (Text Display): Ditto. * lisp/faces.el (nobreak-hyphen): New face (bug#12048). * src/xdisp.c (get_next_display_element): Use it instead of the escape-glyph face. * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen. diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 8039291..89f5bec 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -657,6 +657,9 @@ The face for displaying control characters and escape sequences @item nobreak-space The face for displaying no-break space characters (@pxref{Text Display}). +@item nobreak-hyphen +The face for displaying no-break hyphen characters (@pxref{Text +Display}). @end table The following faces control the appearance of parts of the Emacs @@ -1481,7 +1484,7 @@ characters. To deal with this problem, Emacs displays such characters specially: it displays @code{U+00A0} (no-break space) with the @code{nobreak-space} face, and it displays @code{U+00AD} (soft hyphen), @code{U+2010} (hyphen), and @code{U+2011} (non-breaking -hyphen) with the @code{escape-glyph} face. To disable this, change +hyphen) with the @code{nobreak-hyphen} face. To disable this, change the variable @code{nobreak-char-display} to @code{nil}. If you give this variable a non-@code{nil} and non-@code{t} value, Emacs instead displays such characters as a highlighted backslash followed by a diff --git a/etc/NEWS b/etc/NEWS index da68ed5..c7bc34f 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -56,6 +56,9 @@ affected by this, as SGI stopped supporting IRIX in December 2013. * Changes in Emacs 25.2 +** Non-breaking hypens are now displayed with the `nobreak-hyphen' +face instead of the `escape-glyph' face. + --- ** `C-x h' (`mark-whole-buffer') will now avoid marking the prompt part of minibuffers. diff --git a/lisp/faces.el b/lisp/faces.el index c9cc611..552a7be 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -2428,13 +2428,21 @@ If you set `term-file-prefix' to nil, this function does nothing." :version "22.1") (defface nobreak-space - '((((class color) (min-colors 88)) :inherit escape-glyph :underline t) - (((class color) (min-colors 8)) :background "magenta") - (t :inverse-video t)) + '((((background dark)) :foreground "cyan") + (((type pc)) :foreground "magenta") + (t :foreground "brown")) "Face for displaying nobreak space." :group 'basic-faces :version "22.1") +(defface nobreak-hyphen + '((((background dark)) :foreground "cyan") + (((type pc)) :foreground "magenta") + (t :foreground "brown")) + "Face for displaying nobreak hyphens." + :group 'basic-faces + :version "25.2") + (defgroup mode-line-faces nil "Faces used in the mode line." :group 'mode-line diff --git a/src/xdisp.c b/src/xdisp.c index 4f33c0d..d0ff952 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -7080,6 +7080,19 @@ get_next_display_element (struct it *it) goto display_control; } + /* Handle non-ascii hyphens in the mode where it only + gets highlighting. */ + + if (nonascii_hyphen_p && EQ (Vnobreak_char_display, Qt)) + { + /* Merge `nobreak-space' into the current face. */ + face_id = merge_faces (it->f, Qnobreak_hyphen, 0, + it->face_id); + XSETINT (it->ctl_chars[0], '-'); + ctl_len = 1; + goto display_control; + } + /* Handle sequences that start with the "escape glyph". */ /* the default escape glyph is \. */ @@ -7096,15 +7109,6 @@ get_next_display_element (struct it *it) ? merge_faces (it->f, Qt, lface_id, it->face_id) : merge_escape_glyph_face (it)); - /* Draw non-ASCII hyphen with just highlighting: */ - - if (nonascii_hyphen_p && EQ (Vnobreak_char_display, Qt)) - { - XSETINT (it->ctl_chars[0], '-'); - ctl_len = 1; - goto display_control; - } - /* Draw non-ASCII space/hyphen with escape glyph: */ if (nonascii_space_p || nonascii_hyphen_p) @@ -31198,8 +31202,10 @@ They are still logged to the *Messages* buffer. */); /* Name and number of the face used to highlight escape glyphs. */ DEFSYM (Qescape_glyph, "escape-glyph"); - /* Name and number of the face used to highlight non-breaking spaces. */ + /* Name and number of the face used to highlight non-breaking + spaces/hyphens. */ DEFSYM (Qnobreak_space, "nobreak-space"); + DEFSYM (Qnobreak_hyphen, "nobreak-hyphen"); /* The symbol 'image' which is the car of the lists used to represent images in Lisp. Also a tool bar style. */ @@ -31311,7 +31317,7 @@ The face used for trailing whitespace is `trailing-whitespace'. */); doc: /* Control highlighting of non-ASCII space and hyphen chars. If the value is t, Emacs highlights non-ASCII chars which have the same appearance as an ASCII space or hyphen, using the `nobreak-space' -or `escape-glyph' face respectively. +or `nobreak-hyphen' face respectively. U+00A0 (no-break space), U+00AD (soft hyphen), U+2010 (hyphen), and U+2011 (non-breaking hyphen) are affected. commit 214f85a0a68b96a552ca605d601b33f6eef5c4ca Author: Lars Ingebrigtsen Date: Thu Apr 28 15:53:15 2016 +0200 Make a menu less ambiguous * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node is about using modifier keys, not binding them (bug#10942). diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 7be660c..5cb52e6 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi @@ -1400,7 +1400,7 @@ init file (@pxref{Init Rebinding}). * Minibuffer Maps:: The minibuffer uses its own local keymaps. * Rebinding:: How to redefine one key's meaning conveniently. * Init Rebinding:: Rebinding keys with your initialization file. -* Modifier Keys:: Using modifier keys in key bindings. +* Modifier Keys:: Using modifier keys. * Function Keys:: Rebinding terminal function keys. * Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on. * Mouse Buttons:: Rebinding mouse buttons in Emacs. commit 355c8b5810cd66c2c41e8479d301af76a3ff9bdb Author: Lars Ingebrigtsen Date: Thu Apr 28 15:34:51 2016 +0200 Make kill-emacs-query-functions into defcustom * lisp/files.el (save-buffers-kill-terminal): Mention `save-buffers-kill-emacs' (bug#10794). (kill-emacs-query-functions): Made into a defcustom. diff --git a/lisp/files.el b/lisp/files.el index d5b34af..2857f6d 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -6663,11 +6663,14 @@ message to that effect instead of signaling an error." ;; Simulate the message printed by `ls'. (insert (format "%s: No such file or directory\n" file)))) -(defvar kill-emacs-query-functions nil +(defcustom kill-emacs-query-functions nil "Functions to call with no arguments to query about killing Emacs. If any of these functions returns nil, killing Emacs is canceled. `save-buffers-kill-emacs' calls these functions, but `kill-emacs', -the low level primitive, does not. See also `kill-emacs-hook'.") +the low level primitive, does not. See also `kill-emacs-hook'." + :type 'hook + :version "25.2" + :group 'convenience) (defcustom confirm-kill-emacs nil "How to ask for confirmation when leaving Emacs. @@ -6726,7 +6729,8 @@ if any returns nil. If `confirm-kill-emacs' is non-nil, calls it." (defun save-buffers-kill-terminal (&optional arg) "Offer to save each buffer, then kill the current connection. -If the current frame has no client, kill Emacs itself. +If the current frame has no client, kill Emacs itself using +`save-buffers-kill-emacs'. With prefix ARG, silently save all file-visiting buffers, then kill. commit d160f530328fa2872296485b92602435921bd4fd Author: Lars Ingebrigtsen Date: Thu Apr 28 15:24:09 2016 +0200 Have describe-variable output multi-line values better * lisp/help-fns.el (describe-variable): When printing multi-line expressions, display them prettier (bug#10723). diff --git a/lisp/help-fns.el b/lisp/help-fns.el index c3a5f26..e2cb9f8 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -758,9 +758,8 @@ it is displayed along with the global value." (unless valvoid (with-current-buffer standard-output (setq val-start-pos (point)) - (princ "value is ") - (let ((from (point)) - (line-beg (line-beginning-position)) + (princ "value is") + (let ((line-beg (line-beginning-position)) (print-rep (let ((rep (let ((print-quoted t)) @@ -769,17 +768,17 @@ it is displayed along with the global value." (format-message "`%s'" rep) rep)))) (if (< (+ (length print-rep) (point) (- line-beg)) 68) - (insert print-rep) + (insert " " print-rep) (terpri) (pp val) - (if (< (point) (+ 68 (line-beginning-position 0))) - (delete-region from (1+ from)) - (delete-region (1- from) from))) + ;; Remove trailing newline. + (delete-char -1)) (let* ((sv (get variable 'standard-value)) (origval (and (consp sv) (condition-case nil (eval (car sv)) - (error :help-eval-error))))) + (error :help-eval-error)))) + from) (when (and (consp sv) (not (equal origval val)) (not (equal origval :help-eval-error))) commit 14508eaa3c0a97e305e8eebae5ce55787eec1e4a Author: Lars Ingebrigtsen Date: Thu Apr 28 14:50:24 2016 +0200 Clean up custom-buffer-create code slightly * lisp/cus-edit.el (custom-buffer-create-other-window): Don't pass the unused description value on (for clarity) (bug#10540). (custom-buffer-create): Ditto diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index addff82..cf98b60 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -1543,27 +1543,29 @@ not for everybody." buf)))) ;;;###autoload -(defun custom-buffer-create (options &optional name description) +(defun custom-buffer-create (options &optional name _description) "Create a buffer containing OPTIONS. Optional NAME is the name of the buffer. OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where SYMBOL is a customization option, and WIDGET is a widget for editing that option. -DESCRIPTION is unused." - (pop-to-buffer-same-window (custom-get-fresh-buffer (or name "*Customization*"))) - (custom-buffer-create-internal options description)) +_DESCRIPTION is unused." + (pop-to-buffer-same-window + (custom-get-fresh-buffer (or name "*Customization*"))) + (custom-buffer-create-internal options)) ;;;###autoload -(defun custom-buffer-create-other-window (options &optional name description) +(defun custom-buffer-create-other-window (options &optional name _description) "Create a buffer containing OPTIONS, and display it in another window. The result includes selecting that window. Optional NAME is the name of the buffer. OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where SYMBOL is a customization option, and WIDGET is a widget for editing -that option." +that option. +_DESCRIPTION is unused." (unless name (setq name "*Customization*")) (switch-to-buffer-other-window (custom-get-fresh-buffer name)) - (custom-buffer-create-internal options description)) + (custom-buffer-create-internal options)) (defcustom custom-reset-button-menu t "If non-nil, only show a single reset button in customize buffers. commit ad3ef417f3c40f086de9c547d6272e5685595e42 Author: Lars Ingebrigtsen Date: Thu Apr 28 13:00:11 2016 +0200 Clarify some doc strings * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock): Clarify doc string (bug#8693). (syntax-propertize): Clarify doc string. diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el index c221a01..ae682ec 100644 --- a/lisp/emacs-lisp/syntax.el +++ b/lisp/emacs-lisp/syntax.el @@ -272,9 +272,10 @@ Note: back-references in REGEXPs do not work." (cond ,@(nreverse branches)))))) (defun syntax-propertize-via-font-lock (keywords) - "Propertize for syntax in START..END using font-lock syntax. + "Propertize for syntax using font-lock syntax. KEYWORDS obeys the format used in `font-lock-syntactic-keywords'. -The return value is a function suitable for `syntax-propertize-function'." +The return value is a function (with two paremeters, START and +END) suitable for `syntax-propertize-function'." (lambda (start end) (with-no-warnings (let ((font-lock-syntactic-keywords keywords)) @@ -283,7 +284,7 @@ The return value is a function suitable for `syntax-propertize-function'." (setq keywords font-lock-syntactic-keywords))))) (defun syntax-propertize (pos) - "Ensure that syntax-table properties are set until POS." + "Ensure that syntax-table properties are set until POS (a buffer point)." (when (< syntax-propertize--done pos) (if (null syntax-propertize-function) (setq syntax-propertize--done (max (point-max) pos)) commit 786ab4a5ca0a326a1c2d44dcbfed8427f7783062 Author: Nicolas Richard Date: Thu Apr 28 12:38:38 2016 +0200 Fix number-at-point in lisp buffers * lisp/thingatpt.el (number-at-point): Don't say that things like ?a are numbers in lisp mode buffers (bug#8634). diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el index 9920fa0..df5c52d 100644 --- a/lisp/thingatpt.el +++ b/lisp/thingatpt.el @@ -603,7 +603,10 @@ Signal an error if the entire string was not used." ;;;###autoload (defun number-at-point () "Return the number at point, or nil if none is found." - (form-at-point 'sexp 'numberp)) + (when (thing-at-point-looking-at "-?[0-9]+\\.?[0-9]*" 500) + (string-to-number + (buffer-substring (match-beginning 0) (match-end 0))))) + (put 'number 'thing-at-point 'number-at-point) ;;;###autoload (defun list-at-point () commit 866e3c050fe64fee81f29a335a50a11b2562422e Author: Lars Ingebrigtsen Date: Thu Apr 28 12:05:15 2016 +0200 Don't consider colons to be paragraphs starting chars in strings * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't consider colons to start paragraphs in (doc) strings (bug#7751). diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 74aebc0..4f3af2a 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -1216,8 +1216,15 @@ and initial semicolons." ;; ;; The `fill-column' is temporarily bound to ;; `emacs-lisp-docstring-fill-column' if that value is an integer. - (let ((paragraph-start (concat paragraph-start - "\\|\\s-*\\([(;:\"]\\|`(\\|#'(\\)")) + (let ((paragraph-start + (concat paragraph-start + (format "\\|\\s-*\\([(;%s\"]\\|`(\\|#'(\\)" + ;; If we're inside a string (like the doc + ;; string), don't consider a colon to be + ;; a paragraph-start character. + (if (nth 3 (syntax-ppss)) + "" + ":")))) (paragraph-separate (concat paragraph-separate "\\|\\s-*\".*[,\\.]$")) (fill-column (if (and (integerp emacs-lisp-docstring-fill-column)