aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Oteiza2019-05-10 20:55:04 -0400
committerMark Oteiza2019-05-10 20:55:04 -0400
commitcc67d6ef36a07f26364d63e524fcba6fe9cb2112 (patch)
tree0592d088901879e55bd601f0077117ee012c2ab0
parent616ce44ac53f08bf447cbc032f4bb10cd65c0b70 (diff)
downloademacs-cc67d6ef36a07f26364d63e524fcba6fe9cb2112.tar.gz
emacs-cc67d6ef36a07f26364d63e524fcba6fe9cb2112.zip
Generate some repetitive WordStar code with macros
* lisp/obsolete/ws-mode.el (ws-set-marker-0, ws-set-marker-1): (ws-set-marker-2, ws-set-marker-3, ws-set-marker-4, ws-set-marker-5): (ws-set-marker-6, ws-set-marker-7, ws-set-marker-8, ws-set-marker-9): (ws-find-marker-0, ws-find-marker-1, ws-find-marker-2, ws-find-marker-3): (ws-find-marker-4, ws-find-marker-5, ws-find-marker-6, ws-find-marker-7): (ws-find-marker-8, ws-find-marker-9): Remove. (ws-set-marker, ws-find-marker): New macros. Use them.
-rw-r--r--lisp/obsolete/ws-mode.el180
1 files changed, 30 insertions, 150 deletions
diff --git a/lisp/obsolete/ws-mode.el b/lisp/obsolete/ws-mode.el
index 3d2e968b1da..16156106710 100644
--- a/lisp/obsolete/ws-mode.el
+++ b/lisp/obsolete/ws-mode.el
@@ -289,66 +289,6 @@ with C-q w."
289 (setq ws-last-errormessage string) 289 (setq ws-last-errormessage string)
290 (error string)) 290 (error string))
291 291
292(defun ws-set-marker-0 ()
293 "In WordStar mode: Set marker 0 to current cursor position."
294 (interactive)
295 (setq ws-marker-0 (point-marker))
296 (message "Marker 0 set"))
297
298(defun ws-set-marker-1 ()
299 "In WordStar mode: Set marker 1 to current cursor position."
300 (interactive)
301 (setq ws-marker-1 (point-marker))
302 (message "Marker 1 set"))
303
304(defun ws-set-marker-2 ()
305 "In WordStar mode: Set marker 2 to current cursor position."
306 (interactive)
307 (setq ws-marker-2 (point-marker))
308 (message "Marker 2 set"))
309
310(defun ws-set-marker-3 ()
311 "In WordStar mode: Set marker 3 to current cursor position."
312 (interactive)
313 (setq ws-marker-3 (point-marker))
314 (message "Marker 3 set"))
315
316(defun ws-set-marker-4 ()
317 "In WordStar mode: Set marker 4 to current cursor position."
318 (interactive)
319 (setq ws-marker-4 (point-marker))
320 (message "Marker 4 set"))
321
322(defun ws-set-marker-5 ()
323 "In WordStar mode: Set marker 5 to current cursor position."
324 (interactive)
325 (setq ws-marker-5 (point-marker))
326 (message "Marker 5 set"))
327
328(defun ws-set-marker-6 ()
329 "In WordStar mode: Set marker 6 to current cursor position."
330 (interactive)
331 (setq ws-marker-6 (point-marker))
332 (message "Marker 6 set"))
333
334(defun ws-set-marker-7 ()
335 "In WordStar mode: Set marker 7 to current cursor position."
336 (interactive)
337 (setq ws-marker-7 (point-marker))
338 (message "Marker 7 set"))
339
340(defun ws-set-marker-8 ()
341 "In WordStar mode: Set marker 8 to current cursor position."
342 (interactive)
343 (setq ws-marker-8 (point-marker))
344 (message "Marker 8 set"))
345
346(defun ws-set-marker-9 ()
347 "In WordStar mode: Set marker 9 to current cursor position."
348 (interactive)
349 (setq ws-marker-9 (point-marker))
350 (message "Marker 9 set"))
351
352(defun ws-begin-block () 292(defun ws-begin-block ()
353 "In WordStar mode: Set block begin marker to current cursor position." 293 "In WordStar mode: Set block begin marker to current cursor position."
354 (interactive) 294 (interactive)
@@ -447,96 +387,6 @@ with C-q w."
447 (ws-block-end-marker "Block begin marker not set") 387 (ws-block-end-marker "Block begin marker not set")
448 (t "Block markers not set"))))) 388 (t "Block markers not set")))))
449 389
450(defun ws-find-marker-0 ()
451 "In WordStar mode: Go to marker 0."
452 (interactive)
453 (if ws-marker-0
454 (progn
455 (setq ws-last-cursorposition (point-marker))
456 (goto-char ws-marker-0))
457 (ws-error "Marker 0 not set")))
458
459(defun ws-find-marker-1 ()
460 "In WordStar mode: Go to marker 1."
461 (interactive)
462 (if ws-marker-1
463 (progn
464 (setq ws-last-cursorposition (point-marker))
465 (goto-char ws-marker-1))
466 (ws-error "Marker 1 not set")))
467
468(defun ws-find-marker-2 ()
469 "In WordStar mode: Go to marker 2."
470 (interactive)
471 (if ws-marker-2
472 (progn
473 (setq ws-last-cursorposition (point-marker))
474 (goto-char ws-marker-2))
475 (ws-error "Marker 2 not set")))
476
477(defun ws-find-marker-3 ()
478 "In WordStar mode: Go to marker 3."
479 (interactive)
480 (if ws-marker-3
481 (progn
482 (setq ws-last-cursorposition (point-marker))
483 (goto-char ws-marker-3))
484 (ws-error "Marker 3 not set")))
485
486(defun ws-find-marker-4 ()
487 "In WordStar mode: Go to marker 4."
488 (interactive)
489 (if ws-marker-4
490 (progn
491 (setq ws-last-cursorposition (point-marker))
492 (goto-char ws-marker-4))
493 (ws-error "Marker 4 not set")))
494
495(defun ws-find-marker-5 ()
496 "In WordStar mode: Go to marker 5."
497 (interactive)
498 (if ws-marker-5
499 (progn
500 (setq ws-last-cursorposition (point-marker))
501 (goto-char ws-marker-5))
502 (ws-error "Marker 5 not set")))
503
504(defun ws-find-marker-6 ()
505 "In WordStar mode: Go to marker 6."
506 (interactive)
507 (if ws-marker-6
508 (progn
509 (setq ws-last-cursorposition (point-marker))
510 (goto-char ws-marker-6))
511 (ws-error "Marker 6 not set")))
512
513(defun ws-find-marker-7 ()
514 "In WordStar mode: Go to marker 7."
515 (interactive)
516 (if ws-marker-7
517 (progn
518 (setq ws-last-cursorposition (point-marker))
519 (goto-char ws-marker-7))
520 (ws-error "Marker 7 not set")))
521
522(defun ws-find-marker-8 ()
523 "In WordStar mode: Go to marker 8."
524 (interactive)
525 (if ws-marker-8
526 (progn
527 (setq ws-last-cursorposition (point-marker))
528 (goto-char ws-marker-8))
529 (ws-error "Marker 8 not set")))
530
531(defun ws-find-marker-9 ()
532 "In WordStar mode: Go to marker 9."
533 (interactive)
534 (if ws-marker-9
535 (progn
536 (setq ws-last-cursorposition (point-marker))
537 (goto-char ws-marker-9))
538 (ws-error "Marker 9 not set")))
539
540(defun ws-goto-block-begin () 390(defun ws-goto-block-begin ()
541 "In WordStar mode: Go to block begin marker." 391 "In WordStar mode: Go to block begin marker."
542 (interactive) 392 (interactive)
@@ -654,6 +504,36 @@ sWith: " )
654 (ws-block-end-marker "Block begin marker not set") 504 (ws-block-end-marker "Block begin marker not set")
655 (t "Block markers not set"))))) 505 (t "Block markers not set")))))
656 506
507(defmacro ws-set-marker (&rest indices)
508 (let (n forms)
509 (while indices
510 (setq n (pop indices))
511 (push `(defun ,(intern (format "ws-set-marker-%d" n)) ()
512 ,(format "In WordStar mode: Set marker %d to current cursor position" n)
513 (interactive)
514 (setq ,(intern (format "ws-marker-%d" n)) (point-marker))
515 (message ,(format "Marker %d set" n)))
516 forms))
517 `(progn ,@(nreverse forms))))
518
519(ws-set-marker 0 1 2 3 4 5 6 7 8 9)
520
521(defmacro ws-find-marker (&rest indices)
522 (let (n forms)
523 (while indices
524 (setq n (pop indices))
525 (push `(defun ,(intern (format "ws-find-marker-%d" n)) ()
526 ,(format "In WordStar mode: Go to marker %d." n)
527 (interactive)
528 (if ,(intern (format "ws-marker-%d" n))
529 (progn (setq ws-last-cursorposition (point-marker))
530 (goto-char ,(intern (format "ws-marker-%d" n))))
531 (ws-error ,(format "Marker %d not set" n))))
532 forms))
533 `(progn ,@(nreverse forms))))
534
535(ws-find-marker 0 1 2 3 4 5 6 7 8 9)
536
657(provide 'ws-mode) 537(provide 'ws-mode)
658 538
659;;; ws-mode.el ends here 539;;; ws-mode.el ends here