@@ -289,66 +289,6 @@ with C-q w."
289
289
(setq ws-last-errormessage string)
290
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
292
(defun ws-begin-block ()
353
293
" In WordStar mode: Set block begin marker to current cursor position."
354
294
(interactive )
@@ -447,96 +387,6 @@ with C-q w."
447
387
(ws-block-end-marker " Block begin marker not set" )
448
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
390
(defun ws-goto-block-begin ()
541
391
" In WordStar mode: Go to block begin marker."
542
392
(interactive )
@@ -654,6 +504,36 @@ sWith: " )
654
504
(ws-block-end-marker " Block begin marker not set" )
655
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
537
(provide 'ws-mode )
658
538
659
539
; ;; ws-mode.el ends here
0 commit comments