/[emacs]/emacs/src/callint.c
ViewVC logotype

Diff of /emacs/src/callint.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.111 by pj, Sat Dec 22 13:55:34 2001 UTC revision 1.112 by rms, Fri Feb 1 04:32:24 2002 UTC
# Line 160  char *callint_argfuns[] Line 160  char *callint_argfuns[]
160      = {"", "point", "mark", "region-beginning", "region-end"};      = {"", "point", "mark", "region-beginning", "region-end"};
161    
162  static void  static void
163  check_mark ()  check_mark (for_region)
164         int for_region;
165  {  {
166    Lisp_Object tem;    Lisp_Object tem;
167    tem = Fmarker_buffer (current_buffer->mark);    tem = Fmarker_buffer (current_buffer->mark);
168    if (NILP (tem) || (XBUFFER (tem) != current_buffer))    if (NILP (tem) || (XBUFFER (tem) != current_buffer))
169      error ("The mark is not set now");      error (for_region ? "The mark is not set now, so there is no region"
170               : "The mark is not set now");
171    if (!NILP (Vtransient_mark_mode) && NILP (Vmark_even_if_inactive)    if (!NILP (Vtransient_mark_mode) && NILP (Vmark_even_if_inactive)
172        && NILP (current_buffer->mark_active))        && NILP (current_buffer->mark_active))
173      Fsignal (Qmark_inactive, Qnil);      Fsignal (Qmark_inactive, Qnil);
# Line 609  supply if the command inquires which eve Line 611  supply if the command inquires which eve
611            break;            break;
612    
613          case 'm':               /* Value of mark.  Does not do I/O.  */          case 'm':               /* Value of mark.  Does not do I/O.  */
614            check_mark ();            check_mark (0);
615            /* visargs[i] = Qnil; */            /* visargs[i] = Qnil; */
616            args[i] = current_buffer->mark;            args[i] = current_buffer->mark;
617            varies[i] = 2;            varies[i] = 2;
# Line 664  supply if the command inquires which eve Line 666  supply if the command inquires which eve
666            break;            break;
667    
668          case 'r':               /* Region, point and mark as 2 args. */          case 'r':               /* Region, point and mark as 2 args. */
669            check_mark ();            check_mark (1);
670            set_marker_both (point_marker, Qnil, PT, PT_BYTE);            set_marker_both (point_marker, Qnil, PT, PT_BYTE);
671            /* visargs[i+1] = Qnil; */            /* visargs[i+1] = Qnil; */
672            foo = marker_position (current_buffer->mark);            foo = marker_position (current_buffer->mark);

Legend:
Removed from v.1.111  
changed lines
  Added in v.1.112

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26