90 |
But documentation strings are usually not useful in nameless functions. |
But documentation strings are usually not useful in nameless functions. |
91 |
INTERACTIVE should be a call to the function `interactive', which see. |
INTERACTIVE should be a call to the function `interactive', which see. |
92 |
It may also be omitted. |
It may also be omitted. |
93 |
BODY should be a list of Lisp expressions." |
BODY should be a list of Lisp expressions. |
94 |
|
|
95 |
|
\(fn ARGS [DOCSTRING] [INTERACTIVE] BODY)" |
96 |
;; Note that this definition should not use backquotes; subr.el should not |
;; Note that this definition should not use backquotes; subr.el should not |
97 |
;; depend on backquote.el. |
;; depend on backquote.el. |
98 |
(list 'function (cons 'lambda cdr))) |
(list 'function (cons 'lambda cdr))) |
163 |
(defmacro declare (&rest specs) |
(defmacro declare (&rest specs) |
164 |
"Do not evaluate any arguments and return nil. |
"Do not evaluate any arguments and return nil. |
165 |
Treated as a declaration when used at the right place in a |
Treated as a declaration when used at the right place in a |
166 |
`defmacro' form. \(See Info anchor `(elisp)Definition of declare'." |
`defmacro' form. \(See Info anchor `(elisp)Definition of declare'.)" |
167 |
nil) |
nil) |
168 |
|
|
169 |
(defsubst caar (x) |
(defsubst caar (x) |
182 |
"Return the cdr of the cdr of X." |
"Return the cdr of the cdr of X." |
183 |
(cdr (cdr x))) |
(cdr (cdr x))) |
184 |
|
|
185 |
(defun last (x &optional n) |
(defun last (list &optional n) |
186 |
"Return the last link of the list X. Its car is the last element. |
"Return the last link of LIST. Its car is the last element. |
187 |
If X is nil, return nil. |
If LIST is nil, return nil. |
188 |
If N is non-nil, return the Nth-to-last link of X. |
If N is non-nil, return the Nth-to-last link of LIST. |
189 |
If N is bigger than the length of X, return X." |
If N is bigger than the length of LIST, return LIST." |
190 |
(if n |
(if n |
191 |
(let ((m 0) (p x)) |
(let ((m 0) (p list)) |
192 |
(while (consp p) |
(while (consp p) |
193 |
(setq m (1+ m) p (cdr p))) |
(setq m (1+ m) p (cdr p))) |
194 |
(if (<= n 0) p |
(if (<= n 0) p |
195 |
(if (< n m) (nthcdr (- m n) x) x))) |
(if (< n m) (nthcdr (- m n) list) list))) |
196 |
(while (consp (cdr x)) |
(while (consp (cdr list)) |
197 |
(setq x (cdr x))) |
(setq list (cdr list))) |
198 |
x)) |
list)) |
199 |
|
|
200 |
(defun butlast (x &optional n) |
(defun butlast (list &optional n) |
201 |
"Returns a copy of LIST with the last N elements removed." |
"Returns a copy of LIST with the last N elements removed." |
202 |
(if (and n (<= n 0)) x |
(if (and n (<= n 0)) list |
203 |
(nbutlast (copy-sequence x) n))) |
(nbutlast (copy-sequence list) n))) |
204 |
|
|
205 |
(defun nbutlast (x &optional n) |
(defun nbutlast (list &optional n) |
206 |
"Modifies LIST to remove the last N elements." |
"Modifies LIST to remove the last N elements." |
207 |
(let ((m (length x))) |
(let ((m (length list))) |
208 |
(or n (setq n 1)) |
(or n (setq n 1)) |
209 |
(and (< n m) |
(and (< n m) |
210 |
(progn |
(progn |
211 |
(if (> n 0) (setcdr (nthcdr (- (1- m) n) x) nil)) |
(if (> n 0) (setcdr (nthcdr (- (1- m) n) list) nil)) |
212 |
x)))) |
list)))) |
213 |
|
|
214 |
(defun delete-dups (list) |
(defun delete-dups (list) |
215 |
"Destructively remove `equal' duplicates from LIST. |
"Destructively remove `equal' duplicates from LIST. |
629 |
|
|
630 |
(defsubst eventp (obj) |
(defsubst eventp (obj) |
631 |
"True if the argument is an event object." |
"True if the argument is an event object." |
632 |
(or (integerp obj) |
(or (and (integerp obj) |
633 |
|
;; Filter out integers too large to be events. |
634 |
|
;; M is the biggest modifier. |
635 |
|
(zerop (logand obj (lognot (1- (lsh ?\M-\^@ 1))))) |
636 |
|
(characterp (event-basic-type obj))) |
637 |
(and (symbolp obj) |
(and (symbolp obj) |
638 |
(get obj 'event-symbol-elements)) |
(get obj 'event-symbol-elements)) |
639 |
(and (consp obj) |
(and (consp obj) |
650 |
(setq type (car type))) |
(setq type (car type))) |
651 |
(if (symbolp type) |
(if (symbolp type) |
652 |
(cdr (get type 'event-symbol-elements)) |
(cdr (get type 'event-symbol-elements)) |
653 |
(let ((list nil)) |
(let ((list nil) |
654 |
(or (zerop (logand type ?\M-\^@)) |
(char (logand type (lognot (logior ?\M-\^@ ?\C-\^@ ?\S-\^@ |
655 |
|
?\H-\^@ ?\s-\^@ ?\A-\^@))))) |
656 |
|
(if (not (zerop (logand type ?\M-\^@))) |
657 |
(setq list (cons 'meta list))) |
(setq list (cons 'meta list))) |
658 |
(or (and (zerop (logand type ?\C-\^@)) |
(if (or (not (zerop (logand type ?\C-\^@))) |
659 |
(>= (logand type 127) 32)) |
(< char 32)) |
660 |
(setq list (cons 'control list))) |
(setq list (cons 'control list))) |
661 |
(or (and (zerop (logand type ?\S-\^@)) |
(if (or (not (zerop (logand type ?\S-\^@))) |
662 |
(= (logand type 255) (downcase (logand type 255)))) |
(/= char (downcase char))) |
663 |
(setq list (cons 'shift list))) |
(setq list (cons 'shift list))) |
664 |
(or (zerop (logand type ?\H-\^@)) |
(or (zerop (logand type ?\H-\^@)) |
665 |
(setq list (cons 'hyper list))) |
(setq list (cons 'hyper list))) |
851 |
(make-obsolete 'dot-min 'point-min "before 19.15") |
(make-obsolete 'dot-min 'point-min "before 19.15") |
852 |
(make-obsolete 'dot-marker 'point-marker "before 19.15") |
(make-obsolete 'dot-marker 'point-marker "before 19.15") |
853 |
(make-obsolete 'buffer-flush-undo 'buffer-disable-undo "before 19.15") |
(make-obsolete 'buffer-flush-undo 'buffer-disable-undo "before 19.15") |
854 |
(make-obsolete 'baud-rate "use the baud-rate variable instead." "before 19.15") |
(make-obsolete 'baud-rate "use the `baud-rate' variable instead." "before 19.15") |
855 |
(make-obsolete 'compiled-function-p 'byte-code-function-p "before 19.15") |
(make-obsolete 'compiled-function-p 'byte-code-function-p "before 19.15") |
856 |
(make-obsolete 'define-function 'defalias "20.1") |
(make-obsolete 'define-function 'defalias "20.1") |
857 |
|
(make-obsolete 'focus-frame "it does nothing." "19.32") |
858 |
|
(make-obsolete 'unfocus-frame "it does nothing." "19.32") |
859 |
|
|
860 |
(defun insert-string (&rest args) |
(defun insert-string (&rest args) |
861 |
"Mocklisp-compatibility insert function. |
"Mocklisp-compatibility insert function. |
872 |
"Return the value of the `baud-rate' variable." |
"Return the value of the `baud-rate' variable." |
873 |
baud-rate) |
baud-rate) |
874 |
|
|
875 |
(defalias 'focus-frame 'ignore) |
(defalias 'focus-frame 'ignore "") |
876 |
(defalias 'unfocus-frame 'ignore) |
(defalias 'unfocus-frame 'ignore "") |
877 |
|
|
878 |
|
|
879 |
;;;; Obsolescence declarations for variables. |
;;;; Obsolescence declarations for variables. |
1122 |
"Open a TCP connection for a service to a host. |
"Open a TCP connection for a service to a host. |
1123 |
Returns a subprocess-object to represent the connection. |
Returns a subprocess-object to represent the connection. |
1124 |
Input and output work as for subprocesses; `delete-process' closes it. |
Input and output work as for subprocesses; `delete-process' closes it. |
1125 |
|
|
1126 |
Args are NAME BUFFER HOST SERVICE. |
Args are NAME BUFFER HOST SERVICE. |
1127 |
NAME is name for process. It is modified if necessary to make it unique. |
NAME is name for process. It is modified if necessary to make it unique. |
1128 |
BUFFER is the buffer (or buffer-name) to associate with the process. |
BUFFER is the buffer (or buffer name) to associate with the process. |
1129 |
Process output goes at end of that buffer, unless you specify |
Process output goes at end of that buffer, unless you specify |
1130 |
an output stream or filter function to handle the output. |
an output stream or filter function to handle the output. |
1131 |
BUFFER may be also nil, meaning that this process is not associated |
BUFFER may be also nil, meaning that this process is not associated |
1132 |
with any buffer |
with any buffer. |
1133 |
Third arg is name of the host to connect to, or its IP address. |
HOST is name of the host to connect to, or its IP address. |
1134 |
Fourth arg SERVICE is name of the service desired, or an integer |
SERVICE is name of the service desired, or an integer specifying |
1135 |
specifying a port number to connect to." |
a port number to connect to." |
1136 |
(make-network-process :name name :buffer buffer |
(make-network-process :name name :buffer buffer |
1137 |
:host host :service service)) |
:host host :service service)) |
1138 |
|
|
1141 |
It returns nil if non-blocking connects are not supported; otherwise, |
It returns nil if non-blocking connects are not supported; otherwise, |
1142 |
it returns a subprocess-object to represent the connection. |
it returns a subprocess-object to represent the connection. |
1143 |
|
|
1144 |
This function is similar to `open-network-stream', except that this |
This function is similar to `open-network-stream', except that it |
1145 |
function returns before the connection is established. When the |
returns before the connection is established. When the connection |
1146 |
connection is completed, the sentinel function will be called with |
is completed, the sentinel function will be called with second arg |
1147 |
second arg matching `open' (if successful) or `failed' (on error). |
matching `open' (if successful) or `failed' (on error). |
1148 |
|
|
1149 |
Args are NAME BUFFER HOST SERVICE SENTINEL FILTER. |
Args are NAME BUFFER HOST SERVICE SENTINEL FILTER. |
1150 |
NAME, BUFFER, HOST, and SERVICE are as for `open-network-stream'. |
NAME, BUFFER, HOST, and SERVICE are as for `open-network-stream'. |
1151 |
Optional args, SENTINEL and FILTER specifies the sentinel and filter |
Optional args SENTINEL and FILTER specify the sentinel and filter |
1152 |
functions to be used for this network stream." |
functions to be used for this network stream." |
1153 |
(if (featurep 'make-network-process '(:nowait t)) |
(if (featurep 'make-network-process '(:nowait t)) |
1154 |
(make-network-process :name name :buffer buffer :nowait t |
(make-network-process :name name :buffer buffer :nowait t |
1166 |
|
|
1167 |
Args are NAME BUFFER SERVICE SENTINEL FILTER. |
Args are NAME BUFFER SERVICE SENTINEL FILTER. |
1168 |
NAME is name for the server process. Client processes are named by |
NAME is name for the server process. Client processes are named by |
1169 |
appending the ip-address and port number of the client to NAME. |
appending the ip-address and port number of the client to NAME. |
1170 |
BUFFER is the buffer (or buffer-name) to associate with the server |
BUFFER is the buffer (or buffer name) to associate with the server |
1171 |
process. Client processes will not get a buffer if a process filter |
process. Client processes will not get a buffer if a process filter |
1172 |
is specified or BUFFER is nil; otherwise, a new buffer is created for |
is specified or BUFFER is nil; otherwise, a new buffer is created for |
1173 |
the client process. The name is similar to the process name. |
the client process. The name is similar to the process name. |
1174 |
Third arg SERVICE is name of the service desired, or an integer |
Third arg SERVICE is name of the service desired, or an integer |
1175 |
specifying a port number to connect to. It may also be t to selected |
specifying a port number to connect to. It may also be t to select |
1176 |
an unused port number for the server. |
an unused port number for the server. |
1177 |
Optional args, SENTINEL and FILTER specifies the sentinel and filter |
Optional args SENTINEL and FILTER specify the sentinel and filter |
1178 |
functions to be used for the client processes; the server process |
functions to be used for the client processes; the server process |
1179 |
does not use these function." |
does not use these function." |
1180 |
(if (featurep 'make-network-process '(:server t)) |
(if (featurep 'make-network-process '(:server t)) |
1181 |
(make-network-process :name name :buffer buffer |
(make-network-process :name name :buffer buffer |
1182 |
:service service :server t :noquery t |
:service service :server t :noquery t |
1187 |
|
|
1188 |
;; compatibility |
;; compatibility |
1189 |
|
|
1190 |
|
(make-obsolete 'process-kill-without-query |
1191 |
|
"use `process-query-on-exit-flag' or `set-process-query-on-exit-flag'." |
1192 |
|
"21.5") |
1193 |
(defun process-kill-without-query (process &optional flag) |
(defun process-kill-without-query (process &optional flag) |
1194 |
"Say no query needed if PROCESS is running when Emacs is exited. |
"Say no query needed if PROCESS is running when Emacs is exited. |
1195 |
Optional second argument if non-nil says to require a query. |
Optional second argument if non-nil says to require a query. |
1196 |
Value is t if a query was formerly required. |
Value is t if a query was formerly required." |
|
New code should not use this function; use `process-query-on-exit-flag' |
|
|
or `set-process-query-on-exit-flag' instead." |
|
1197 |
(let ((old (process-query-on-exit-flag process))) |
(let ((old (process-query-on-exit-flag process))) |
1198 |
(set-process-query-on-exit-flag process nil) |
(set-process-query-on-exit-flag process nil) |
1199 |
old)) |
old)) |
1286 |
(defun read-passwd (prompt &optional confirm default) |
(defun read-passwd (prompt &optional confirm default) |
1287 |
"Read a password, prompting with PROMPT. Echo `.' for each character typed. |
"Read a password, prompting with PROMPT. Echo `.' for each character typed. |
1288 |
End with RET, LFD, or ESC. DEL or C-h rubs out. C-u kills line. |
End with RET, LFD, or ESC. DEL or C-h rubs out. C-u kills line. |
1289 |
Optional argument CONFIRM, if non-nil, then read it twice to make sure. |
If optional CONFIRM is non-nil, read password twice to make sure. |
1290 |
Optional DEFAULT is a default password to use instead of empty input." |
Optional DEFAULT is a default password to use instead of empty input." |
1291 |
(if confirm |
(if confirm |
1292 |
(let (success) |
(let (success) |
1335 |
(let ((n nil)) |
(let ((n nil)) |
1336 |
(when default |
(when default |
1337 |
(setq prompt |
(setq prompt |
1338 |
(if (string-match "\\(\\):[^:]*" prompt) |
(if (string-match "\\(\\):[ \t]*\\'" prompt) |
1339 |
(replace-match (format " [%s]" default) t t prompt 1) |
(replace-match (format " (default %s)" default) t t prompt 1) |
1340 |
(concat prompt (format " [%s] " default))))) |
(replace-regexp-in-string "[ \t]*\\'" |
1341 |
|
(format " (default %s) " default) |
1342 |
|
prompt t t)))) |
1343 |
(while |
(while |
1344 |
(progn |
(progn |
1345 |
(let ((str (read-from-minibuffer prompt nil nil nil nil |
(let ((str (read-from-minibuffer prompt nil nil nil nil |
1346 |
(number-to-string default)))) |
(and default |
1347 |
|
(number-to-string default))))) |
1348 |
(setq n (cond |
(setq n (cond |
1349 |
((zerop (length str)) default) |
((zerop (length str)) default) |
1350 |
((stringp str) (read str))))) |
((stringp str) (read str))))) |
1469 |
|
|
1470 |
(defun momentary-string-display (string pos &optional exit-char message) |
(defun momentary-string-display (string pos &optional exit-char message) |
1471 |
"Momentarily display STRING in the buffer at POS. |
"Momentarily display STRING in the buffer at POS. |
1472 |
Display remains until next character is typed. |
Display remains until next event is input. |
1473 |
If the char is EXIT-CHAR (optional third arg, default is SPC) it is swallowed; |
Optional third arg EXIT-CHAR can be a character, event or event |
1474 |
otherwise it is then available as input (as a command if nothing else). |
description list. EXIT-CHAR defaults to SPC. If the input is |
1475 |
|
EXIT-CHAR it is swallowed; otherwise it is then available as |
1476 |
|
input (as a command if nothing else). |
1477 |
Display MESSAGE (optional fourth arg) in the echo area. |
Display MESSAGE (optional fourth arg) in the echo area. |
1478 |
If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there." |
If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there." |
1479 |
(or exit-char (setq exit-char ?\ )) |
(or exit-char (setq exit-char ?\ )) |
1503 |
(recenter 0)))) |
(recenter 0)))) |
1504 |
(message (or message "Type %s to continue editing.") |
(message (or message "Type %s to continue editing.") |
1505 |
(single-key-description exit-char)) |
(single-key-description exit-char)) |
1506 |
(let ((char (read-event))) |
(let (char) |
1507 |
(or (eq char exit-char) |
(if (integerp exit-char) |
1508 |
(setq unread-command-events (list char))))) |
(condition-case nil |
1509 |
|
(progn |
1510 |
|
(setq char (read-char)) |
1511 |
|
(or (eq char exit-char) |
1512 |
|
(setq unread-command-events (list char)))) |
1513 |
|
(error |
1514 |
|
;; `exit-char' is a character, hence it differs |
1515 |
|
;; from char, which is an event. |
1516 |
|
(setq unread-command-events (list char)))) |
1517 |
|
;; `exit-char' can be an event, or an event description |
1518 |
|
;; list. |
1519 |
|
(setq char (read-event)) |
1520 |
|
(or (eq char exit-char) |
1521 |
|
(eq char (event-convert-list exit-char)) |
1522 |
|
(setq unread-command-events (list char)))))) |
1523 |
(if insert-end |
(if insert-end |
1524 |
(save-excursion |
(save-excursion |
1525 |
(delete-region pos insert-end))) |
(delete-region pos insert-end))) |
1540 |
(overlay-put o1 (pop props) (pop props))) |
(overlay-put o1 (pop props) (pop props))) |
1541 |
o1)) |
o1)) |
1542 |
|
|
1543 |
(defun remove-overlays (beg end name val) |
(defun remove-overlays (&optional beg end name val) |
1544 |
"Clear BEG and END of overlays whose property NAME has value VAL. |
"Clear BEG and END of overlays whose property NAME has value VAL. |
1545 |
Overlays might be moved and or split." |
Overlays might be moved and/or split. |
1546 |
|
BEG and END default respectively to the beginning and end of buffer." |
1547 |
|
(unless beg (setq beg (point-min))) |
1548 |
|
(unless end (setq end (point-max))) |
1549 |
(if (< end beg) |
(if (< end beg) |
1550 |
(setq beg (prog1 end (setq end beg)))) |
(setq beg (prog1 end (setq end beg)))) |
1551 |
(save-excursion |
(save-excursion |
1705 |
(if (nth 4 handler) ;; COMMAND |
(if (nth 4 handler) ;; COMMAND |
1706 |
(setq this-command (nth 4 handler))))) |
(setq this-command (nth 4 handler))))) |
1707 |
|
|
1708 |
(defun insert-buffer-substring-no-properties (buf &optional start end) |
(defun insert-buffer-substring-no-properties (buffer &optional start end) |
1709 |
"Insert before point a substring of buffer BUFFER, without text properties. |
"Insert before point a substring of BUFFER, without text properties. |
1710 |
BUFFER may be a buffer or a buffer name. |
BUFFER may be a buffer or a buffer name. |
1711 |
Arguments START and END are character numbers specifying the substring. |
Arguments START and END are character positions specifying the substring. |
1712 |
They default to the beginning and the end of BUFFER." |
They default to the values of (point-min) and (point-max) in BUFFER." |
1713 |
(let ((opoint (point))) |
(let ((opoint (point))) |
1714 |
(insert-buffer-substring buf start end) |
(insert-buffer-substring buffer start end) |
1715 |
(let ((inhibit-read-only t)) |
(let ((inhibit-read-only t)) |
1716 |
(set-text-properties opoint (point) nil)))) |
(set-text-properties opoint (point) nil)))) |
1717 |
|
|
1718 |
(defun insert-buffer-substring-as-yank (buf &optional start end) |
(defun insert-buffer-substring-as-yank (buffer &optional start end) |
1719 |
"Insert before point a part of buffer BUFFER, stripping some text properties. |
"Insert before point a part of BUFFER, stripping some text properties. |
1720 |
BUFFER may be a buffer or a buffer name. Arguments START and END are |
BUFFER may be a buffer or a buffer name. |
1721 |
character numbers specifying the substring. They default to the |
Arguments START and END are character positions specifying the substring. |
1722 |
beginning and the end of BUFFER. Strip text properties from the |
They default to the values of (point-min) and (point-max) in BUFFER. |
1723 |
inserted text according to `yank-excluded-properties'." |
Strip text properties from the inserted text according to |
1724 |
|
`yank-excluded-properties'." |
1725 |
;; Since the buffer text should not normally have yank-handler properties, |
;; Since the buffer text should not normally have yank-handler properties, |
1726 |
;; there is no need to handle them here. |
;; there is no need to handle them here. |
1727 |
(let ((opoint (point))) |
(let ((opoint (point))) |
1728 |
(insert-buffer-substring buf start end) |
(insert-buffer-substring buffer start end) |
1729 |
(remove-yank-excluded-properties opoint (point)))) |
(remove-yank-excluded-properties opoint (point)))) |
1730 |
|
|
1731 |
|
|
1733 |
|
|
1734 |
(defun start-process-shell-command (name buffer &rest args) |
(defun start-process-shell-command (name buffer &rest args) |
1735 |
"Start a program in a subprocess. Return the process object for it. |
"Start a program in a subprocess. Return the process object for it. |
|
Args are NAME BUFFER COMMAND &rest COMMAND-ARGS. |
|
1736 |
NAME is name for process. It is modified if necessary to make it unique. |
NAME is name for process. It is modified if necessary to make it unique. |
1737 |
BUFFER is the buffer or (buffer-name) to associate with the process. |
BUFFER is the buffer (or buffer name) to associate with the process. |
1738 |
Process output goes at end of that buffer, unless you specify |
Process output goes at end of that buffer, unless you specify |
1739 |
an output stream or filter function to handle the output. |
an output stream or filter function to handle the output. |
1740 |
BUFFER may be also nil, meaning that this process is not associated |
BUFFER may be also nil, meaning that this process is not associated |
1741 |
with any buffer |
with any buffer |
1742 |
Third arg is command name, the name of a shell command. |
COMMAND is the name of a shell command. |
1743 |
Remaining arguments are the arguments for the command. |
Remaining arguments are the arguments for the command. |
1744 |
Wildcards and redirection are handled as usual in the shell." |
Wildcards and redirection are handled as usual in the shell. |
1745 |
|
|
1746 |
|
\(fn NAME BUFFER COMMAND &rest COMMAND-ARGS)" |
1747 |
(cond |
(cond |
1748 |
((eq system-type 'vax-vms) |
((eq system-type 'vax-vms) |
1749 |
(apply 'start-process name buffer args)) |
(apply 'start-process name buffer args)) |
1802 |
(declare (indent 1) (debug t)) |
(declare (indent 1) (debug t)) |
1803 |
;; Most of this code is a copy of save-selected-window. |
;; Most of this code is a copy of save-selected-window. |
1804 |
`(let ((save-selected-window-window (selected-window)) |
`(let ((save-selected-window-window (selected-window)) |
1805 |
|
;; It is necessary to save all of these, because calling |
1806 |
|
;; select-window changes frame-selected-window for whatever |
1807 |
|
;; frame that window is in. |
1808 |
(save-selected-window-alist |
(save-selected-window-alist |
1809 |
(mapcar (lambda (frame) (list frame (frame-selected-window frame))) |
(mapcar (lambda (frame) (list frame (frame-selected-window frame))) |
1810 |
(frame-list)))) |
(frame-list)))) |
1816 |
(window-live-p (cadr elt)) |
(window-live-p (cadr elt)) |
1817 |
(set-frame-selected-window (car elt) (cadr elt)))) |
(set-frame-selected-window (car elt) (cadr elt)))) |
1818 |
(if (window-live-p save-selected-window-window) |
(if (window-live-p save-selected-window-window) |
|
;; This is where the code differs from save-selected-window. |
|
1819 |
(select-window save-selected-window-window 'norecord))))) |
(select-window save-selected-window-window 'norecord))))) |
1820 |
|
|
1821 |
(defmacro with-temp-file (file &rest body) |
(defmacro with-temp-file (file &rest body) |
2089 |
`split-string-default-separators', normally \"[ \\f\\t\\n\\r\\v]+\", and |
`split-string-default-separators', normally \"[ \\f\\t\\n\\r\\v]+\", and |
2090 |
OMIT-NULLS is forced to t. |
OMIT-NULLS is forced to t. |
2091 |
|
|
2092 |
If OMIT-NULLs is t, zero-length substrings are omitted from the list \(so |
If OMIT-NULLS is t, zero-length substrings are omitted from the list \(so |
2093 |
that for the default value of SEPARATORS leading and trailing whitespace |
that for the default value of SEPARATORS leading and trailing whitespace |
2094 |
are effectively trimmed). If nil, all zero-length substrings are retained, |
are effectively trimmed). If nil, all zero-length substrings are retained, |
2095 |
which correctly parses CSV format, for example. |
which correctly parses CSV format, for example. |