Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 427-436) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 134-136) - Merge from emacs--devo--0 - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-110
This commit is contained in:
commit
863153c57b
109 changed files with 3131 additions and 1650 deletions
|
@ -66,13 +66,13 @@
|
|||
;;
|
||||
;; The corresponding Lisp bindat specification looks like this:
|
||||
;;
|
||||
;; (setq header-spec
|
||||
;; (setq header-bindat-spec
|
||||
;; '((dest-ip ip)
|
||||
;; (src-ip ip)
|
||||
;; (dest-port u16)
|
||||
;; (src-port u16)))
|
||||
;;
|
||||
;; (setq data-spec
|
||||
;; (setq data-bindat-spec
|
||||
;; '((type u8)
|
||||
;; (opcode u8)
|
||||
;; (length u16r) ;; little endian order
|
||||
|
@ -80,12 +80,12 @@
|
|||
;; (data vec (length))
|
||||
;; (align 4)))
|
||||
;;
|
||||
;; (setq packet-spec
|
||||
;; '((header struct header-spec)
|
||||
;; (setq packet-bindat-spec
|
||||
;; '((header struct header-bindat-spec)
|
||||
;; (items u8)
|
||||
;; (fill 3)
|
||||
;; (item repeat (items)
|
||||
;; (struct data-spec))))
|
||||
;; (struct data-bindat-spec))))
|
||||
;;
|
||||
;;
|
||||
;; A binary data representation may look like
|
||||
|
@ -121,6 +121,9 @@
|
|||
;; Binary Data Structure Specification Format
|
||||
;; ------------------------------------------
|
||||
|
||||
;; We recommend using names that end in `-bindat-spec'; such names
|
||||
;; are recognized automatically as "risky" variables.
|
||||
|
||||
;; The data specification is formatted as follows:
|
||||
|
||||
;; SPEC ::= ( ITEM... )
|
||||
|
@ -342,8 +345,8 @@
|
|||
|
||||
(defun bindat-unpack (spec bindat-raw &optional bindat-idx)
|
||||
"Return structured data according to SPEC for binary data in BINDAT-RAW.
|
||||
BINDAT-RAW is a unibyte string or vector. Optional third arg BINDAT-IDX specifies
|
||||
the starting offset in BINDAT-RAW."
|
||||
BINDAT-RAW is a unibyte string or vector.
|
||||
Optional third arg BINDAT-IDX specifies the starting offset in BINDAT-RAW."
|
||||
(when (multibyte-string-p bindat-raw)
|
||||
(error "String is multibyte"))
|
||||
(unless bindat-idx (setq bindat-idx 0))
|
||||
|
|
|
@ -149,13 +149,20 @@ be a symbol, or any generalized variable allowed by `setf'."
|
|||
(if (symbolp place) (list 'setq place (list 'cons x place))
|
||||
(list 'callf2 'cons x place)))
|
||||
|
||||
(defvar pushnew-internal)
|
||||
|
||||
(defmacro pushnew (x place &rest keys)
|
||||
"(pushnew X PLACE): insert X at the head of the list if not already there.
|
||||
Like (push X PLACE), except that the list is unmodified if X is `eql' to
|
||||
an element already on the list.
|
||||
\nKeywords supported: :test :test-not :key
|
||||
\n(fn X PLACE [KEYWORD VALUE]...)"
|
||||
(if (symbolp place) (list 'setq place (list* 'adjoin x place keys))
|
||||
(if (symbolp place)
|
||||
(if (null keys)
|
||||
`(let ((pushnew-internal ,place))
|
||||
(add-to-list 'pushnew-internal ,x nil 'eql)
|
||||
(setq ,place pushnew-internal))
|
||||
(list 'setq place (list* 'adjoin x place keys)))
|
||||
(list* 'callf2 'adjoin x place keys)))
|
||||
|
||||
(defun cl-set-elt (seq n val)
|
||||
|
|
|
@ -432,7 +432,7 @@ Emacs Lisp mode) that support Eldoc.")
|
|||
;; Prime the command list.
|
||||
(eldoc-add-command-completions
|
||||
"backward-" "beginning-of-" "move-beginning-of-" "delete-other-windows"
|
||||
"delete-window"
|
||||
"delete-window" "handle-select-window"
|
||||
"end-of-" "move-end-of-" "exchange-point-and-mark" "forward-"
|
||||
"indent-for-tab-command" "goto-" "mark-page" "mark-paragraph"
|
||||
"mouse-set-point" "move-" "pop-global-mark" "next-" "other-window"
|
||||
|
|
|
@ -32,9 +32,11 @@
|
|||
;; Layout of a timer vector:
|
||||
;; [triggered-p high-seconds low-seconds usecs repeat-delay
|
||||
;; function args idle-delay]
|
||||
;; triggered-p is nil if the timer is active (waiting to be triggered),
|
||||
;; t if it is inactive ("already triggered", in theory)
|
||||
|
||||
(defun timer-create ()
|
||||
"Create a timer object."
|
||||
"Create a timer object which can be passed to `timer-activate'."
|
||||
(let ((timer (make-vector 8 nil)))
|
||||
(aset timer 0 t)
|
||||
timer))
|
||||
|
@ -173,6 +175,10 @@ fire repeatedly that many seconds apart."
|
|||
(defun timer-activate (timer &optional triggered-p reuse-cell)
|
||||
"Put TIMER on the list of active timers.
|
||||
|
||||
If TRIGGERED-P is t, that means to make the timer inactive
|
||||
\(put it on the list, but mark it as already triggered).
|
||||
To remove from the list, use `cancel-timer'.
|
||||
|
||||
REUSE-CELL, if non-nil, is a cons cell to reuse instead
|
||||
of allocating a new one."
|
||||
(if (and (timerp timer)
|
||||
|
@ -256,10 +262,10 @@ of allocating a new one."
|
|||
(setq timer-idle-list (delq timer timer-idle-list))
|
||||
nil)
|
||||
|
||||
;; Remove TIMER from the list of active timers or idle timers.
|
||||
;; Only to be used in this file. It returns the cons cell
|
||||
;; that was removed from the list.
|
||||
(defun cancel-timer-internal (timer)
|
||||
"Remove TIMER from the list of active timers or idle timers.
|
||||
Only to be used in this file. It returns the cons cell
|
||||
that was removed from the timer list."
|
||||
(let ((cell1 (memq timer timer-list))
|
||||
(cell2 (memq timer timer-idle-list)))
|
||||
(if cell1
|
||||
|
@ -270,7 +276,9 @@ of allocating a new one."
|
|||
|
||||
;;;###autoload
|
||||
(defun cancel-function-timers (function)
|
||||
"Cancel all timers scheduled by `run-at-time' which would run FUNCTION."
|
||||
"Cancel all timers which would run FUNCTION.
|
||||
This affects ordinary timers such as are scheduled by `run-at-time',
|
||||
and idle timers such as are scheduled by `run-with-idle-timer'."
|
||||
(interactive "aCancel timers of function: ")
|
||||
(let ((tail timer-list))
|
||||
(while tail
|
||||
|
@ -284,9 +292,12 @@ of allocating a new one."
|
|||
(setq tail (cdr tail)))))
|
||||
|
||||
;; Record the last few events, for debugging.
|
||||
(defvar timer-event-last-2 nil)
|
||||
(defvar timer-event-last-1 nil)
|
||||
(defvar timer-event-last nil)
|
||||
(defvar timer-event-last nil
|
||||
"Last timer that was run.")
|
||||
(defvar timer-event-last-1 nil
|
||||
"Next-to-last timer that was run.")
|
||||
(defvar timer-event-last-2 nil
|
||||
"Third-to-last timer that was run.")
|
||||
|
||||
(defvar timer-max-repeats 10
|
||||
"*Maximum number of times to repeat a timer, if real time jumps.")
|
||||
|
@ -440,6 +451,7 @@ This function returns a timer object which you can use in `cancel-timer'."
|
|||
timer))
|
||||
|
||||
(defun with-timeout-handler (tag)
|
||||
"This is the timer function used for the timer made by `with-timeout'."
|
||||
(throw tag 'timeout))
|
||||
|
||||
;;;###autoload (put 'with-timeout 'lisp-indent-function 1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue