Commit graph

49 commits

Author SHA1 Message Date
Stefan Monnier
26f8a38497 cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
* lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
use of c[ad]+r", so as to keep the "cl-" prefix on all
cl-lib definitions.
2015-04-10 01:50:22 -04:00
Alan Mackenzie
2056db3fad Rationalize use of c[ad]+r, expunging cl-c[ad]\{3,4\}r.
Also expunge eudc-c[ad]+r.

* subr.el (internal--compiler-macro-cXXr): "New" function, copied
from cl--compiler-macro-cXXr.
(caar, cadr, cdar, cddr): Change from defsubsts to defuns with
the above compiler-macro.

* net/eudc.el (eudc-cadr, eudc-cdar, eudc-caar, eudc-cdaar): Remove.

* emacs-lisp/cl.el (Top level dolist doing defaliases): Remove
caaar, etc., from list of new alias functions.

* emacs-lisp/cl-lib.el (cl-caaar, etc): Rename to caaar, etc.
(gen-cXXr--rawname, gen-cXXr-all-cl-aliases): New function/macro
which generate obsolete cl- aliases for caaar, etc.  Invoke them.

* desktop.el:
* edmacro.el:
* emacs-lisp/cl-macs.el:
* frameset.el:
* ibuffer.el:
* mail/footnote.el:
* net/dbus.el:
* net/eudc-export.el:
* net/eudc.el:
* net/eudcb-ph.el:
* net/rcirc.el:
* net/secrets.el:
* play/5x5.el:
* play/decipher.el:
* play/hanoi.el:
* progmodes/hideif.el:
* ses.el: Replace cl-caaar, eudc-cadr, etc. with caaar and cadr, etc.
2015-04-05 12:49:14 +00:00
Mark Laws
805fe50708 Support daemon mode on MS-Windows (bug#19688)
src/emacs.c <w32_daemon_event> [WINDOWSNT]: New global var.
 (main) [WINDOWSNT]: Initialize it to NULL.  Create the event to
 signal clients we are ready for connections.
 (Fdaemon_initialized): Use DAEMON_RUNNING.
 [WINDOWSNT]: MS-Windows specific code to signal clients we are
 ready for connections.
 src/lisp.h (DAEMON_RUNNING): New macro, encapsulates Posix and
 MS-Windows conditions for running in daemon mode.
 src/minibuf.c (read_minibuf): Use DAEMON_RUNNING.
 src/keyboard.c (kbd_buffer_get_event): Use DAEMON_RUNNING.
 src/dispnew.c (init_display) [WINDOWSNT]: Initialize frames/terminal
 even in daemon mode.

 nt/inc/ms-w32.h (W32_DAEMON_EVENT): New macro.

 lib-src/emacsclient.c (decode_options) [WINDOWSNT]: Don't reject empty
 arguments for --alternate-editor.
 (print_help_and_exit) [WINDOWSNT]: Don't refrain from advertising
 empty arguments for --alternate-editor.
 (start_daemon_and_retry_set_socket) [WINDOWSNT]: MS-Windows
 specific code to start Emacs in daemon mode and wait for it to be
 ready for client connections.

 lisp/server.el (server-process-filter): Force GUI frames on
 MS-Windows in daemon mode, even if a TTY frame was requested.
 lisp/frameset.el (frameset-keep-original-display-p): Don't assume
 windows-nt cannot be in daemon mode.
 lisp/frame.el (window-system-for-display): Don't assume windows-nt
 cannot be in daemon mode.
2015-02-27 12:43:30 +02:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Stefan Monnier
a57fa9642d * lisp/subr.el (alist-get): New accessor.
* lisp/emacs-lisp/gv.el (alist-get): Provide expander.
* lisp/winner.el (winner-remember):
* lisp/tempo.el (tempo-use-tag-list):
* lisp/progmodes/gud.el (minor-mode-map-alist):
* lisp/international/mule-cmds.el (define-char-code-property):
* lisp/frameset.el (frameset-filter-params):
* lisp/files.el (dir-locals-set-class-variables):
* lisp/register.el (get-register, set-register):
* lisp/calc/calc-yank.el (calc-set-register): Use it.
* lisp/ps-print.el (ps-get, ps-put, ps-del): Mark as obsolete.
* lisp/tooltip.el (tooltip-set-param): Mark as obsolete.
(tooltip-show): Use alist-get instead.
* lisp/ses.el (ses--alist-get): Remove.  Use alist-get instead.
* admin/unidata/unidata-gen.el (unidata-gen-table-word-list): Use alist-get
and cl-incf.
2014-10-01 13:23:42 -04:00
Juanma Barranquero
1e757eb0a5 Merge from emacs-24; up to 2014-03-24T03:06:35Z!dancol@dancol.org 2014-03-27 18:34:22 +01:00
Juanma Barranquero
857ba6ec46 lisp/frameset.el: Fix bug#17046.
(frameset--restore-frame): Remove workaround for bug#14795
which is no longer needed and causes trouble in GTK builds.
2014-03-27 02:01:36 +01:00
Juanma Barranquero
16adf2e6eb Merge from emacs-24; up to 2014-03-23T23:14:52Z!yamaoka@jpl.org 2014-03-26 16:57:13 +01:00
Juanma Barranquero
c3561529d2 lisp/frameset.el (frameset--initial-params): Fix typo in parameter name. 2014-03-24 21:01:21 +01:00
Juanma Barranquero
ee79b33f49 lisp/frameset.el (frameset-restore): Compare display strings with equal. 2014-03-23 23:14:11 +01:00
Juanma Barranquero
6ce1b56e2a lisp/frameset.el: Make list-registers a bit more informative.
(frameset--print-register): New function.
(frameset-to-register): Use it.
2014-03-21 01:03:08 +01:00
Juanma Barranquero
d27a1a7b39 lisp/frameset.el: Optimize check for visible frame.
(frameset-restore): When checking for a visible frame,
use the action map instead of calling visible-frame-list.
2014-03-12 19:36:26 +01:00
Juanma Barranquero
13c00cf02f lisp/frameset.el (frameset--jump-to-register): Add autoload. 2014-03-12 03:21:09 +01:00
Juanma Barranquero
baf8d0ac7d lisp/frameset.el: Let-bind frameset--target-display.
* frameset.el (frameset--target-display): Remove definition; declare.
(frameset-save, frameset-restore): Let-bind frameset--target-display.
2014-03-11 02:44:51 +01:00
Juanma Barranquero
4538c058d0 lisp/frameset.el: Separate frame reusing from cleaning up.
* lisp/desktop.el (desktop-restore-forces-onscreen)
  (desktop-restore-reuses-frames): Use non-keyword values.
  (desktop-restore-frameset): Use CLEANUP-FRAMES arg of frameset-restore.

* lisp/frameset.el: Separate options for reusing frames and cleaning up.
  (frameset--reuse-list): Remove definition; declare.
  (frameset--action-map): Declare.
  (frameset--find-frame-if): Doc fix.
  (frameset--restore-frame): Cache frame action.
  (frameset-restore): New keyword arg CLEANUP-FRAMES, allows to select
  how to clean up the frame list after restoring.  Remove cleaning
  options from REUSE-FRAMES.  Change all keyword values to symbols.
  (frameset--jump-to-register): Simplify by using CLEANUP-FRAMES.
2014-03-11 01:46:07 +01:00
Juanma Barranquero
e7db54476d lisp/frameset.el: Avoid computing frame-list unnecessarily.
(frameset-restore): When no frame is visible, do not generate
a list of frames, just make visible the selected one.
2014-03-08 23:26:20 +01:00
Juanma Barranquero
9284000e10 lisp/frameset.el (frameset--initial-params): Filter out null entries. 2014-03-05 17:22:47 +01:00
Juanma Barranquero
94e5e202d9 lisp/frameset.el (frameset-restore): Remove duplicate ids only when needed. 2014-02-19 22:04:06 +01:00
Juanma Barranquero
f097a3d25f lisp/frameset.el (frameset--reuse-frame): Remove workaround for bug#16793. 2014-02-19 12:01:35 +01:00
Juanma Barranquero
7108e1c040 lisp/frameset.el: Workaround bug#16793.
lisp/frameset.el (frameset--restore-frame): When a frame is being reused
and its root window is not alive, delete all the frame's windows before
restoring the window state.
2014-02-18 18:33:37 +01:00
Juanma Barranquero
c64633402e lisp/frameset.el: Fix bug#16748.
* lisp/frameset.el (frameset-cfg-id): New function.
(frameset--reuse-frame, frameset-restore): Use it.
(frameset--jump-to-register): Try harder to reuse frames.
2014-02-17 17:01:43 +01:00
Juanma Barranquero
285f1858c3 frameset.el (frameset--jump-to-register): Check that buffer is live (bug#16749). 2014-02-15 05:16:46 +01:00
Juanma Barranquero
26c5ecd9de lisp/frameset.el (frameset--jump-to-register): Fix bug#16696.
Select the required window and buffer before restoring position.
2014-02-11 21:48:23 +01:00
Glenn Morris
7bcbca405f Tidy up some -to-register function argument specs
* lisp/register.el (window-configuration-to-register)
(frame-configuration-to-register): Unadvertise unused argument.

* lisp/frameset.el (frameset-to-register): Remove unused argument.
2014-02-02 23:56:44 -08:00
Glenn Morris
6a6b8e405e Be more consistent in using register-read-with-preview to read registers
* frameset.el (frameset-to-register):
* kmacro.el (kmacro-to-register):
* register.el (increment-register):
* calc/calc-yank.el (calc-copy-to-register, calc-insert-register)
(calc-append-to-register, calc-prepend-to-register):
* play/gametree.el (gametree-layout-to-register)
(gametree-apply-register-layout):
* textmodes/picture.el (picture-clear-rectangle-to-register)
(picture-yank-rectangle-from-register):
* vc/emerge.el (emerge-combine-versions-register):
Use register-read-with-preview to read registers.

* cedet/semantic/senator.el (senator-copy-tag-to-register):
Use register-read-with-preview, if available.

* calculator.el, emulation/viper-cmd.el: Comments.
2014-02-02 16:40:49 -08:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Paul Eggert
526e5233cc Spelling fixes. 2013-08-15 22:15:51 -07:00
Juanma Barranquero
14d1e4634c lisp/frameset.el: Allow orphaned minibufferless frames.
(frameset-filter-minibuffer): Deal with the case that the minibuffer
parameter was already set in FILTERED.  Doc fix.
(frameset--record-minibuffer-relationships): Allow saving a
minibufferless frame without its corresponding minibuffer frame.
(frameset--reuse-frame): Accept a match from an orphaned minibufferless
frame, if the frame id matches.
(frameset--minibufferless-last-p): Sort non-orphaned minibufferless
frames before orphaned ones.
(frameset-restore): Warn about orphaned windows, instead of error out.
2013-08-14 15:41:02 +02:00
Juanma Barranquero
62f33baed9 lisp/frameset.el: Use gv-setter declaration.
(frameset--prop-setter): New function.
(frameset-prop): Add gv-setter declaration.
2013-08-14 15:30:13 +02:00
Stefan Monnier
1f585e6529 * lisp/frameset.el (frameset--make): Rename constructor from make-frameset.
(frameset-p, frameset-valid-p): Don't autoload.
(frameset-valid-p): Use normal accessors.
2013-08-13 09:47:54 -04:00
Juanma Barranquero
7ec326db1d lisp/frameset.el (frameset-valid-p): Fix check; STATES can indeed be nil. 2013-08-11 05:09:21 +02:00
Juanma Barranquero
77187e6f36 Move frameset-to-register stuff from register.el to frameset.el.
lisp/register.el (frameset-frame-id, frameset-frame-with-id, frameset-p)
(frameset-restore, frameset-save, frameset-session-filter-alist):
Remove declarations.
(register-alist): Doc fix.
(frameset-to-register): Move to frameset.el.
(jump-to-register, describe-register-1): Remove frameset-specific code.

lisp/frameset.el (frameset-p): Add autoload cookie.
(frameset--jump-to-register): New function, based on code moved from
register.el.
(frameset-to-register): Move from register.el.  Adapt to `registerv'.
2013-08-09 02:30:24 +02:00
Juanma Barranquero
c03c02eea4 lisp/frameset.el (frameset-save): Check validity of the resulting frameset.
(frameset-valid-p): Doc fix.
2013-08-08 17:59:14 +02:00
Juanma Barranquero
f9dbf1cbb8 lisp/frameset.el: Doc fixes. 2013-08-08 12:44:07 +02:00
Juanma Barranquero
76c5e5ab36 lisp/frameset.el: Revert to built-in frameset-p; document slot accessors.
(frameset): Do not disable creation of the default frameset-p predicate.
Doc fix.
(frameset-valid-p): New function, copied from the old predicate-p.
Add additional checks.
(frameset-restore): Check with frameset-valid-p.
(frameset-p, frameset-version, frameset-timestamp, frameset-app)
(frameset-name, frameset-description, frameset-properties)
(frameset-states): Add docstring.
2013-08-08 11:54:29 +02:00
Juanma Barranquero
bd0c3c0b12 lisp/frameset.el (frameset-p, frameset-prop): Doc fixes. 2013-08-08 05:54:41 +02:00
Juanma Barranquero
3677ffeb28 lisp/frameset.el (frameset-restore): Doc fix. 2013-08-08 03:19:11 +02:00
Juanma Barranquero
a912c0163d lisp/frameset.el: Convert `frameset' to vector and add new slots.
(frameset): Use type vector, not list (incompatible change).
Do not declare a new constructor, use the default one.
Upgrade suggested properties `app', `name' and `desc' to slots `app',
`name' and `description', respectively, and add read-only slot `timestamp'.
Doc fixes.
(frameset-copy, frameset-persistent-filter-alist)
(frameset-filter-alist, frameset-switch-to-gui-p)
(frameset-switch-to-tty-p, frameset-filter-tty-to-GUI)
(frameset-filter-sanitize-color, frameset-filter-minibuffer)
(frameset-filter-iconified, frameset-keep-original-display-p):
Doc fixes.
(frameset-filter-shelve-param, frameset-filter-unshelve-param):
Rename from frameset-filter-(save|restore)-param.  All callers changed.
Doc fix.
(frameset-p): Adapt to change to vector and be more thorough.
Change arg name to OBJECT.  Doc fix.
(frameset-prop): Rename arg PROP to PROPERTY.  Doc fix.
(frameset-session-filter-alist): Rename from frameset-live-filter-alist.
All callers changed.
(frameset-frame-with-id): Rename from frameset-locate-frame-id.
All callers changed.
(frameset--record-minibuffer-relationships): Rename from
frameset--process-minibuffer-frames.  All callers changed.
(frameset-save): Add new keyword arguments APP, NAME and DESCRIPTION.
Use new default constructor (again).  Doc fix.
(frameset--find-frame-if): Rename from `frameset--find-frame.
All callers changed.
(frameset--reuse-frame): Rename arg FRAME-CFG to PARAMETERS.
(frameset--initial-params): Rename arg FRAME-CFG to PARAMETERS.
Doc fix.
(frameset--restore-frame): Rename args FRAME-CFG and WINDOW-CFG to
PARAMETERS and WINDOW-STATE, respectively.
(frameset-restore): Add new keyword argument PREDICATE.
Reset frameset--target-display to nil.  Doc fix.

lisp/desktop.el (desktop-save-frameset): Use new frameset-save args.
Use lexical-binding.
2013-08-08 00:54:08 +02:00
Juanma Barranquero
024b38fc4d lisp/frameset.el: Doc fixes.
(frameset, frameset-filter-alist, frameset-filter-params, frameset-save)
(frameset--reuse-frame, frameset--minibufferless-last-p, frameset-restore):
Doc fixes.
(frameset-compute-pos): Rename from frameset--compute-pos, and add docstring.
(frameset-move-onscreen): Use frameset-compute-pos.
Most changes suggested by Drew Adams <drew.adams@oracle.com>.
2013-08-06 14:18:43 +02:00
Juanma Barranquero
307764cc3a lisp/frameset.el: Various fixes.
(frameset-p): Don't check non-nullness of the `properties'
slot , which can indeed be nil.
(frameset-live-filter-alist, frameset-persistent-filter-alist):
Move entry for `left' from persistent to live filter alist.
(frameset-filter-alist, frameset--minibufferless-last-p, frameset-save):
Doc fixes.
(frameset-filter-params): When restoring a frame, copy items added to
`filtered', to avoid unwittingly modifying the original parameters.
(frameset-move-onscreen): Rename from frameset--move-onscreen.  Doc fix.
(frameset--restore-frame): Fix reference to frameset-move-onscreen.
2013-08-06 03:26:29 +02:00
Juanma Barranquero
38276e01db lisp/frameset.el: New frame-id functions.
(frameset--set-id): Doc fix.
(frameset-frame-id, frameset-frame-id-equal-p)
(frameset-locate-frame-id): New functions.
(frameset--process-minibuffer-frames, frameset--reuse-frame)
(frameset-restore): Use them.
2013-08-05 15:06:29 +02:00
Juanma Barranquero
063233c357 * lisp/frameset.el: Miscellaneous cleanups.
(frameset): Add docstring.  Move :version property to its
  own `version' slot.
  (frameset-copy): Rename from copy-frameset.
  (frameset-p): Check more thoroughly.
  (frameset-prop): Do not check for :version, which is no longer a prop.
  (frameset-live-filter-alist, frameset-persistent-filter-alist):
  Use new :never value instead of t.
  (frameset-filter-alist): Expand and clarify docstring.
  (frameset-filter-tty-to-GUI, frameset-filter-sanitize-color)
  (frameset-filter-minibuffer, frameset-filter-save-param)
  (frameset-filter-restore-param, frameset-filter-iconified):
  Add pointer to docstring of frameset-filter-alist.
  (frameset-filter-params): Rename filter values to be more meaningful:
  :never instead of t, and reverse the meanings of :save and :restore.
  (frameset--process-minibuffer-frames): Clarify error message.
  (frameset-save): Avoid unnecessary and confusing call to framep.
  Use new BOA constructor for framesets.
  (frameset--reuse-list): Doc fix.
  (frameset--restore-frame): Rename from frameset--get-frame.  Doc fix.
  (frameset--minibufferless-last-p): Rename from frameset--sort-states.
  (frameset-minibufferless-first-p): Doc fix.
  Rename from frameset-sort-frames-for-deletion.
  (frameset-restore): Doc fixes.  Use new function names.
  Most changes suggested by Drew Adams <drew.adams@oracle.com>.

* lisp/desktop.el (desktop-clear): Use new name of sort predicate.
2013-08-05 06:45:17 +02:00
Juanma Barranquero
d5671a82b8 * lisp/frameset.el: Add new predicate values for frameset-restore args.
(frameset-live-filter-alist, frameset-persistent-filter-alist):
  New variables.
  (frameset-filter-alist): Use them.  Add autoload cookie.
  (frameset-filter-tty-to-GUI): Move from desktop.el and rename.
  (frameset--set-id, frameset--reuse-frame): Rename `frame-id' to
  `frameset--id' (it's supposed to be internal to frameset.el).
  (frameset--process-minibuffer-frames): Ditto.  Doc fix.
  (frameset--initial-params): New function.
  (frameset--get-frame): Use it.  Doc fix.
  (frameset--move-onscreen): Accept new PRED value for FORCE-ONSCREEN.
  Accept :all, not 'all.
  (frameset-restore): Add new predicate values for FORCE-ONSCREEN and
  FORCE-DISPLAY.  Use :keywords for constant arguments to avoid collision
  with fbound symbols.  Fix frame id matching, and remove matching ids if
  the frame being restored is deleted.  Obey :delete.

* lisp/desktop.el (desktop-restore-forces-onscreen)
  (desktop-restore-reuses-frames): Document :keyword constant values.
  (desktop-filter-parameters-alist): Remove, now identical to
  frameset-filter-alist.
  (desktop--filter-tty*): Remove, moved to frameset.el.
  (desktop-save-frameset, desktop-restore-frameset):
  Do not pass :filters argument.
2013-08-05 00:12:18 +02:00
Juanma Barranquero
a04d36a068 lisp/frameset.el (frameset--reuse-frame): Use correct frame-id to find frame.
(frameset--set-id, frameset--process-minibuffer-frames)
(frameset-restore): Rename parameter `frameset-id' to `frame-id'.
2013-08-04 04:57:45 +02:00
Juanma Barranquero
51d30f2c72 lisp/frameset.el: Fix typos and autoload cookies.
(frameset-p, frameset-save): Fix autoload cookies.
(frameset-filter-minibuffer): Doc fix.
(frameset-restore): Fix autoload cookie.  Fix typo in docstring.
2013-08-04 02:58:32 +02:00
Juanma Barranquero
6475c94b6a lisp/frameset.el (frameset-prop): Preserve `setf' semantics in setter. 2013-08-03 15:33:22 +02:00
Juanma Barranquero
2613dea20a lisp/frameset.el (frameset-prop): New function and setter.
(frameset-save): Do not modify frame list passed by the caller.
2013-08-03 11:57:07 +02:00
Juanma Barranquero
f078d5700b lisp/frameset.el (frameset-filter-params): Fix order of arguments. 2013-08-02 18:03:13 +02:00
Juanma Barranquero
9421876de5 lisp/desktop.el: Move code related to saving frames to frameset.el.
Require frameset.
(desktop-restore-frames): Doc fix.
(desktop-restore-reuses-frames): Rename from
desktop-restoring-reuses-frames.
(desktop-saved-frameset): Rename from desktop-saved-frame-states.
(desktop-clear): Clear frames too.
(desktop-filter-parameters-alist): Set from frameset-filter-alist.
(desktop--filter-tty*, desktop-save, desktop-read):
Use frameset functions.
(desktop-before-saving-frames-functions, desktop--filter-*-color)
(desktop--filter-minibuffer, desktop--filter-restore-desktop-parm)
(desktop--filter-save-desktop-parm, desktop--filter-iconified-position)
(desktop-restore-in-original-display-p, desktop--filter-frame-parms)
(desktop--process-minibuffer-frames, desktop-save-frames)
(desktop--reuse-list, desktop--compute-pos, desktop--move-onscreen)
(desktop--find-frame, desktop--select-frame, desktop--make-frame)
(desktop--sort-states, desktop-restoring-frames-p)
(desktop-restore-frames): Remove.  Most code moved to frameset.el.
(desktop-restoring-frameset-p, desktop-restore-frameset)
(desktop--check-dont-save, desktop-save-frameset): New functions.
(desktop--app-id): New constant.
(desktop-first-buffer, desktop-buffer-ok-count)
(desktop-buffer-fail-count): Move before first use.
lisp/frameset.el: New file.
2013-08-02 06:33:58 +02:00