Re-enable checks in member, memql, delete to complain about non-lists
- * fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
-
-2016-01-28 Glenn Morris <rgm@gnu.org>
+ * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
+
+2016-02-04 Martin Rudalics <rudalics@gmx.at>
+
+ Minor doc(-string) tweaks
+
+ * lisp/window.el (window-in-direction): Fix doc-string typo.
+ * doc/lispref/frames.texi (Frame Font): Mention canonical
+ character width/height.
+ * doc/lispref/windows.texi (Windows and Frames): Clarify
+ handling of minibuffer window for `window-in-direction'.
+ (Window Sizes): Minor tweaks in descriptions of
+ `window-max-chars-per-line', `window-min-width' and
+ `window-min-size'.
+ (Deleting Windows): Minor tweak in `delete-window' description.
+ (Selecting Windows): Clarify window use time description.
+ (Cyclic Window Ordering): Minor tweak.
+ (Switching Buffers): Clarify description of
+ `switch-to-buffer-in-dedicated-window'.
+
+2016-02-04 Eli Zaretskii <eliz@gnu.org>
Remove some useless-use-of eval.
@end group
@group
;; @r{else}
- (push string kill-ring)
+ (push string kill-ring)
@end group
@group
- (setq kill-ring (cons string kill-ring))
(if (> (length kill-ring) kill-ring-max)
;; @r{avoid overly long kill ring}
(setcdr (nthcdr (1- kill-ring-max) kill-ring) nil)))
@item
The sixth part is nearly like the argument that follows the
@code{interactive} declaration in a function written in Lisp: a letter
-followed, perhaps, by a prompt. The only difference from the Lisp is
+followed, perhaps, by a prompt. The only difference from Lisp is
when the macro is called with no arguments. Then you write a @code{0}
(which is a null string), as in this macro.
The @code{del_range_1} function actually deletes the text. It is a
complex function we will not look into. It updates the buffer and
does other things. However, it is worth looking at the two arguments
-passed to @code{del_range}. These are @w{@code{XINT (start)}} and
+passed to @code{del_range_1}. These are @w{@code{XINT (start)}} and
@w{@code{XINT (end)}}.
As far as the C language is concerned, @code{start} and @code{end} are
@end itemize
@need 1500
-Here is example:
+Here is an example:
@smallexample
@group
@code{nil}.
Next is a @code{let}. That specifies the values of two local
-variables, @code{point} and @code{sentence-end}. The local value of
+variables, @code{opoint} and @code{sentence-end}. The local value of
point, from before the search, is used in the
@code{constrain-to-field} function which handles forms and
equivalents. The @code{sentence-end} variable is set by the
The third part of a recursive function is the recursive call.
-Somewhere, also, we also need a part that does the work of the
+Somewhere, we also need a part that does the work of the
function, a part that does the counting. A vital part!
@need 1250
includes the problem of handling symbols as well as words.
@item
-Second, write a function to list the numbers of words in each function
+Second, write a function to list the number of words in each function
in a file. This function can use the @code{count-words-in-defun}
function.
@item
-Third, write a function to list the numbers of words in each function
+Third, write a function to list the number of words in each function
in each of several files. This entails automatically finding the
various files, switching to them, and counting the words in the
definitions within them.
According to its documentation as shown by @kbd{C-h f} (the
@code{describe-function} command), the @code{find-file-noselect}
function reads the named file into a buffer and returns the buffer.
-(Its most recent version includes an optional wildcards argument,
+(Its most recent version includes an optional @var{wildcards} argument,
too, as well as another to read a file literally and an other you
suppress warning messages. These optional arguments are irrelevant.)
@end ifnottex
The design using a @code{while} loop is routine. The argument passed
-the function is a list of files. As we saw earlier (@pxref{Loop
+to the function is a list of files. As we saw earlier (@pxref{Loop
Example}), you can write a @code{while} loop so that the body of the
loop is evaluated if such a list contains elements, but to exit the
loop if the list is empty. For this design to work, the body of the
the word ``print'' or the word ``insert'' or the word ``column''.
Therefore, we can simply type @kbd{M-x apropos RET
print\|insert\|column RET} and look at the result. On my system, this
-command once too takes quite some time, and then produced a list of 79
+command once took quite some time, and then produced a list of 79
functions and variables. Now it does not take much time at all and
produces a list of 211 functions and variables. Scanning down the
list, the only function that looks as if it might do the job is
current element of the @code{numbers-list}. We need to construct a
list of asterisks of the right length for each call to
@code{insert-rectangle}. If this list consists solely of the requisite
-number of asterisks, then we will have position point the right number
+number of asterisks, then we will have to position point the right number
of lines above the base for the graph to print correctly. This could
be difficult.
used for the blank and for the marked entries in the column are
hard-coded as a space and asterisk. This is fine for a prototype,
but you, or another user, may wish to use other symbols. For example,
-in testing the graph function, you many want to use a period in place
+in testing the graph function, you may want to use a period in place
of the space, to make sure the point is being repositioned properly
each time the @code{insert-rectangle} function is called; or you might
want to substitute a @samp{+} sign or other symbol for the asterisk.
``You don't have to like Emacs to like it''---this seemingly
paradoxical statement is the secret of GNU Emacs. The plain, out-of-the-box
-Emacs is a generic tool. Most people who use it, customize
+Emacs is a generic tool. Most people who use it customize
it to suit themselves.
GNU Emacs is mostly written in Emacs Lisp; this means that by writing
@end smallexample
@noindent
-and find that the group for editing files of data is called ``data''.
+and find that the group for editing files of text is called ``Text''.
Enter that group. Text Mode Hook is the first member. You can click
on its various options, such as @code{turn-on-auto-fill}, to set the
values. After you click on the button to
:group 'allout)
;;;_ - allout-title
(defcustom allout-title '(or buffer-file-name (buffer-name))
- "Expression to be evaluated to determine the title for LaTeX
-formatted copy."
+ "Expression to evaluate to determine the title for LaTeX formatted copy."
:type 'sexp
+ :risky t
:group 'allout)
;;;_ - allout-line-skip
(defcustom allout-line-skip ".05cm"
(defcustom ede-debug-program-function 'gdb
"Default Emacs command used to debug a target."
:group 'ede
- :type 'sexp) ; make this be a list of options some day
+ :type 'function) ; make this be a list of options some day
(defcustom ede-project-directories nil
"Directories in which EDE may search for project files.
(defcustom project-am-debug-target-function 'gdb
"*Default Emacs command used to debug a target."
:group 'project-am
- :type 'sexp) ; make this be a list some day
+ :type 'function) ; make this be a list some day
(defconst project-am-type-alist
'(("bin" project-am-program "bin_PROGRAMS" t)
Only minor modes for which the name of the buffer-local variable
and the name of the minor mode function are different have to be added to
this table. See also `desktop-minor-mode-handlers'."
- :type 'sexp
+ :type '(alist :key-type (symbol :tag "Minor mode")
+ :value-type (list :tag "Restore function"
+ (choice (const nil) function)))
:group 'desktop)
;;;###autoload
"If non-nil, an expression to test for at every stop point.
If the result is non-nil, then break. Errors are ignored."
:type 'sexp
+ :risky t
:group 'edebug)
(defcustom edebug-sit-for-seconds 1
;; Some important keys used in viper
(defcustom viper-toggle-key [(control ?z)] ; "\C-z"
"The key used to change states from Emacs to Vi and back.
-In insert mode, this key also functions as Meta.
-
-Enter as a sexp. Examples: \"\\C-z\", [(control ?z)]."
- :type 'sexp
+In insert mode, this key also functions as Meta."
+ :type 'key-sequence
:group 'viper
:set (lambda (symbol value)
(let ((old-value (if (boundp 'viper-toggle-key)
HOST is the servers hostname and
PORTS is either a number, a list of numbers, or a list of port ranges."
:group 'erc-networks
- :type 'sexp)
+ :type '(alist :key-type (string :tag "Name")
+ :value-type
+ (group symbol (string :tag "Hostname")
+ (choice :tag "Ports"
+ (integer :tag "Port number")
+ (repeat :tag "List of ports or ranges"
+ (choice (integer :tag "Port number")
+ (list :tag "Port range"
+ integer integer)))))))
(defcustom erc-networks-alist
'((4-irc "4-irc.com")
:group 'gnus-score-kill
:type 'boolean)
-(defcustom gnus-winconf-kill-file nil
+(defvar gnus-winconf-kill-file nil
"What does this do, Lars?
-I don't know, Per."
- :group 'gnus-score-kill
- :type 'sexp)
+I don't know, Per.")
(defcustom gnus-kill-killed t
"*If non-nil, Gnus will apply kill files to already killed articles.
:type '(repeat regexp))
(defcustom message-deletable-headers '(Message-ID Date Lines)
- "Headers to be deleted if they already exist and were generated by message previously."
+ "Headers to delete if present and previously generated by message."
:group 'message-headers
:link '(custom-manual "(message)Message Headers")
- :type 'sexp)
+ :type '(repeat (symbol :tag "Header")))
(defcustom message-ignored-news-headers
"^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:\\|^X-Draft-From:\\|^X-Gnus-Agent-Meta-Information:\\|^X-Message-SMTP-Method:\\|^X-Gnus-Delayed:"
If a function, the result from the function will be used instead.
If a form, the result from the form will be used instead."
:version "23.2"
- :type 'sexp
+ :type '(choice string (const :tag "Contents of signature file" t)
+ function
+ sexp)
+ :risky t
:link '(custom-manual "(message)Insertion Variables")
:group 'message-insertion)
actually occur."
:group 'message-sending
:link '(custom-manual "(message)Mail Variables")
+ :risky t
:type 'sexp)
;;;###autoload
(defcustom mail-directory-stream nil
"List of (HOST SERVICE) for stream connection to mail directory."
- :type 'sexp
+ :type '(choice (const nil)
+ (list (string :tag "Host name or ip address")
+ (choice (integer :tag "Service port number")
+ (string :tag "Service name"))
+ (plist :inline t
+ :tag "Additional open-network-stream parameters")))
:group 'mailalias)
(put 'mail-directory-stream 'risky-local-variable t)
(defcustom Man-frame-parameters nil
"Frame parameter list for creating a new frame for a manual page."
- :type 'sexp
+ :type '(repeat (cons :format "%v"
+ (symbol :tag "Parameter")
+ (sexp :tag "Value")))
:group 'man)
(defcustom Man-downcase-section-letters-flag t
set it by calling `midnight-delay-set', or use `custom'.
If you wish, you can use a string instead, it will be passed as the
first argument to `run-at-time'."
- :type 'sexp
+ :type '(choice integer string)
:set #'midnight-delay-set)
(provide 'midnight)
((browse-url-can-use-xdg-open) 'browse-url-xdg-open)
;;; ((executable-find browse-url-gnome-moz-program) 'browse-url-gnome-moz)
((executable-find browse-url-mozilla-program) 'browse-url-mozilla)
- ((executable-find browse-url-chrome-program) 'browse-url-chrome)
((executable-find browse-url-firefox-program) 'browse-url-firefox)
((executable-find browse-url-chromium-program) 'browse-url-chromium)
;;; ((executable-find browse-url-galeon-program) 'browse-url-galeon)
;;; ((executable-find browse-url-netscape-program) 'browse-url-netscape)
;;; ((executable-find browse-url-mosaic-program) 'browse-url-mosaic)
((executable-find browse-url-conkeror-program) 'browse-url-conkeror)
+ ((executable-find browse-url-chrome-program) 'browse-url-chrome)
((executable-find browse-url-xterm-program) 'browse-url-text-xterm)
((locate-library "w3") 'browse-url-w3)
(t
(defcustom tetris-x-colors
[[0 0 1] [0.7 0 1] [1 1 0] [1 0 1] [0 1 1] [0 1 0] [1 0 0]]
- "Vector of colors of the various shapes."
+ "Vector of RGB colors of the various shapes."
:group 'tetris
- :type 'sexp)
+ :type '(vector (vector :tag "Shape 1" number number number)
+ (vector :tag "Shape 2" number number number)
+ (vector :tag "Shape 3" number number number)
+ (vector :tag "Shape 4" number number number)
+ (vector :tag "Shape 5" number number number)
+ (vector :tag "Shape 6" number number number)
+ (vector :tag "Shape 7" number number number)))
(defcustom tetris-buffer-name "*Tetris*"
"Name used for Tetris buffer."
(defcustom gud-tooltip-modes '(gud-mode c-mode c++-mode fortran-mode
python-mode)
"List of modes for which to enable GUD tooltips."
- :type 'sexp
+ :type '(repeat (symbol :tag "Major mode"))
:group 'gud
:group 'tooltip)
Forms in the list are combined with AND. The default is to display
only tooltips in the buffer containing the overlay arrow."
:type 'sexp
+ :risky t
:group 'gud
:group 'tooltip)
;;
(defcustom speedbar-select-frame-method 'attached
"Specify how to select a frame for displaying a file.
-A value of `attached' means to use the attached frame (the frame
-that speedbar was started from.) A number such as 1 or -1 means to
-pass that number to `other-frame' while selecting a frame from speedbar."
+A number such as 1 or -1 means to pass that number to `other-frame'
+while selecting a frame from speedbar. Any other value means to use
+the attached frame (the frame that speedbar was started from)."
:group 'speedbar
- :type 'sexp)
+ :type '(choice integer (other :tag "attached" attached)))
(defun speedbar-find-file-in-frame (file)
"This will load FILE into the speedbar attached frame.
(defconst css-escapes-re
"\\\\\\(?:[^\000-\037\177]\\|[0-9a-fA-F]+[ \n\t\r\f]?\\)")
(defconst css-nmchar-re (concat "\\(?:[-[:alnum:]]\\|" css-escapes-re "\\)"))
-(defconst css-nmstart-re (concat "\\(?:--\\)?\\(?:[[:alpha:]]\\|" css-escapes-re "\\)"))
+(defconst css-nmstart-re (concat "\\(?:[[:alpha:]]\\|" css-escapes-re "\\)"))
(defconst css-ident-re ;; (concat css-nmstart-re css-nmchar-re "*")
;; Apparently, "at rules" names can start with a dash, e.g. @-moz-keyframes.
(concat css-nmchar-re "+"))
;; Since "An at-rule consists of everything up to and including the next
;; semicolon (;) or the next block, whichever comes first."
(,(concat "@" css-ident-re) (0 font-lock-builtin-face))
+ ;; Variables.
+ (,(concat "--" css-ident-re) (0 font-lock-variable-name-face))
;; Selectors.
;; FIXME: attribute selectors don't work well because they may contain
;; strings which have already been highlighted as f-l-string-face and
Note that font and color parameters are ignored, and the attributes
of the `tooltip' face are used instead."
- :type 'sexp
+ :type '(repeat (cons :format "%v"
+ (symbol :tag "Parameter")
+ (sexp :tag "Value")))
:group 'tooltip)
(defface tooltip
(defcustom tree-widget-space-width 0.5
"Amount of space between an icon image and a node widget.
-Must be a valid space :width display property."
+Must be a valid space :width display property.
+See Info node `(elisp)Specified Space'."
:group 'tree-widget
- :type 'sexp)
+ :type '(choice (number :tag "Multiple of normal character width")
+ sexp))
\f
;;; Image support
;;
The command `type-break-guesstimate-keystroke-threshold' can be used to
guess a reasonably good pair of values for this variable."
:set-after '(type-break-interval)
- :type 'sexp
+ :type '(cons (choice integer (const nil)) (choice integer (const nil)))
:group 'type-break)
(defcustom type-break-query-function 'yes-or-no-p
(defcustom ediff-default-filtering-regexp nil
"The default regular expression used as a filename filter in multifile comparisons.
Should be a sexp. For instance (car ediff-filtering-regexp-history) or nil."
- :type 'sexp
+ :type 'sexp ; yuck - why not just a regexp?
+ :risky t
:group 'ediff-mult)
;; This has the form ((meta-buf regexp dir1 dir2 dir3 merge-auto-store-dir)
"Imenu support for Sections and Subsections.
An alist with elements of the form (MENU-TITLE REGEXP INDEX) --
see the documentation for `imenu-generic-expression'."
- :type 'sexp
+ :type '(alist :key-type (choice :tag "Title" (const nil) string)
+ :value-type (group (choice (string :tag "Regexp")
+ function)
+ integer))
:group 'woman-interface)
(defcustom woman-imenu nil
case STATUS_READ_READY:
case STATUS_READ_IN_PROGRESS:
- DebPrint (("sys_read called when read is in progress\n"));
+#if 0
+ /* This happens all the time during GnuTLS handshake
+ with the remote, evidently because GnuTLS waits for
+ the read to complete by retrying the read operation
+ upon EAGAIN. So I'm disabling the DebPrint to avoid
+ wasting cycles on something that is not a real
+ problem. Enable if you need to debug something that
+ bumps into this. */
+ DebPrint (("sys_read called when read is in progress %d\n",
+ current_status));
+#endif
errno = EWOULDBLOCK;
return -1;