From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: EMACS_INT cleanup Date: Thu, 23 Sep 2010 20:37:45 +0200 Organization: Programmerer Ingebrigtsen Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: dough.gmane.org 1285267098 24092 80.91.229.12 (23 Sep 2010 18:38:18 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 23 Sep 2010 18:38:18 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Sep 23 20:38:16 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OyqgR-0001iO-Ua for ged-emacs-devel@m.gmane.org; Thu, 23 Sep 2010 20:38:16 +0200 Original-Received: from localhost ([127.0.0.1]:52059 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OyqgR-0000s5-3e for ged-emacs-devel@m.gmane.org; Thu, 23 Sep 2010 14:38:15 -0400 Original-Received: from [140.186.70.92] (port=45234 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OyqgH-0000pC-Br for emacs-devel@gnu.org; Thu, 23 Sep 2010 14:38:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OyqgD-0003Yy-5d for emacs-devel@gnu.org; Thu, 23 Sep 2010 14:38:05 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:38926) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OyqgC-0003YP-Kc for emacs-devel@gnu.org; Thu, 23 Sep 2010 14:38:01 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1Oyqg8-0001YZ-4B for emacs-devel@gnu.org; Thu, 23 Sep 2010 20:37:56 +0200 Original-Received: from cm-84.215.34.171.getinternet.no ([84.215.34.171]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 23 Sep 2010 20:37:56 +0200 Original-Received: from larsi by cm-84.215.34.171.getinternet.no with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 23 Sep 2010 20:37:56 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Original-Lines: 272 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: cm-84.215.34.171.getinternet.no Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAHlBMVEX+//kcDgb9/fkgEggY CgP+//j+//v///9vZVoRBQH6RVUeAAACZElEQVQ4jWWUvW7bMBCADwZMzSw5pJsqw7BW6lJAq5Ab os1I4MJjkMHuGGgQvVqCWz2Ah+pte0dKrtseING47/55MhDpqiIieeTQlab6qgmsFrHxsdpoJwc6 0MahwxLRiYExWjtnKwYGWcpdLwc6gwbZg/QEHnavEWh5C9AQFOV6H07UEVcGI8DLC94Jp4sgx6+7 /E7PxSGIc9YXsMyxyzCaOX5DxWS9KgEW3XaZZfkwNINg4F7Net8BHCHIW+LbPgDuKoUUElb6VnmR JnpUOoXtWkHifXsMwPfcOXH/F4AlKFa2SdBzegbcTCHBg3H0WMUcT8g1gZq1fkrORWGpAA7+JpKb Q5HGcgvK/wWcZQ/uMFXJHWh757Q0iLhVt0jtRnLw2KXBPgXp4EPC5Bsu11nLfZA5p1LtMeg7Bo2z NWhbGZdCzP6eDwJOAiSUKxRE+6GT82RojFWVydvRN1nTZaHJlbYMZBvKRKnmlDebUNj7GTlU2JIC 1CLPsqk/nsgMynSR51m0b+T23RgBpothsvffRf84hmVA/DGFj4F4v9gjuPy8Deok9lLVk+iHzXwX 4ZJ4u2uopKhvf4bbx73nkXCoYnPTNzgDabBQvr0Dlq8izqqA47w4DdvzV8DJmT58gmQGvncVf4M1 A6LuMoPD4aPXRONIAq5DF/cqlHbmj3YG9LwOixW8ViRgHKFmQKVcofoIwNoJsJ5MsXzJsvX2cEi+ cIjJQ/4PzND3uuRci3M1e4zjteaauXp63u1Wluxn0QAJvo6csqb6sn/kYjm7gDqAa/D/1XP8Wn4G EHT/CkTX8T/6G2+zS7PGAUGVAAAAAElFTkSuQmCC Mail-Copies-To: never X-Now-Playing: Sci-Fi =?iso-8859-1?Q?Sk=E5ne's_=5FK=E4nslan?= av att jorden krymper =?iso-8859-1?Q?v=E4xer=5F=3A?= "Jag har aldrig bott vid en =?iso-8859-1?Q?landsv=E4g=22?= User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:psn7uWH13+sU7jROAciyILCyeN8= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:130676 Archived-At: --=-=-= Content-Type: text/plain I went through marker.c and fixed all the EMACS_INT/int problems there. Before committing, could somebody take a peek and see whether it looks saneish? I can't actually test, since the interval cleanup makes Emacs segfault... --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=marker.diff === modified file 'src/ChangeLog' --- src/ChangeLog 2010-09-23 17:10:21 +0000 +++ src/ChangeLog 2010-09-23 18:33:22 +0000 @@ -1,3 +1,14 @@ +2010-09-23 Lars Magne Ingebrigtsen + + * lisp.h: Change the definition of all marker.c functions that + take and return buffer stuff to be EMACS_INT instead of int. + + * marker.c (buf_charpos_to_bytepos, CONSIDER, set_marker_both) + (buf_charpos_to_bytepos, bytepos_to_charpos) + (buf_bytepos_to_charpos, Fbuffer_has_markers_at) + (set_marker_restricted, set_marker_both): Convert int to EMACS_INT + for all buffer positions. + 2010-09-23 Eli Zaretskii * editfns.c (transpose_markers, update_buffer_properties) === modified file 'src/lisp.h' --- src/lisp.h 2010-09-23 17:10:21 +0000 +++ src/lisp.h 2010-09-23 18:30:34 +0000 @@ -3054,17 +3054,17 @@ EXFUN (Fmarker_buffer, 1); EXFUN (Fcopy_marker, 2); EXFUN (Fset_marker, 3); -extern int marker_position (Lisp_Object); -extern int marker_byte_position (Lisp_Object); +extern EMACS_INT marker_position (Lisp_Object); +extern EMACS_INT marker_byte_position (Lisp_Object); extern void clear_charpos_cache (struct buffer *); -extern int charpos_to_bytepos (int); -extern int buf_charpos_to_bytepos (struct buffer *, int); -extern int buf_bytepos_to_charpos (struct buffer *, int); +extern EMACS_INT charpos_to_bytepos (EMACS_INT); +extern EMACS_INT buf_charpos_to_bytepos (struct buffer *, EMACS_INT); +extern EMACS_INT buf_bytepos_to_charpos (struct buffer *, EMACS_INT); extern void unchain_marker (struct Lisp_Marker *marker); extern Lisp_Object set_marker_restricted (Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object set_marker_both (Lisp_Object, Lisp_Object, int, int); +extern Lisp_Object set_marker_both (Lisp_Object, Lisp_Object, EMACS_INT, EMACS_INT); extern Lisp_Object set_marker_restricted_both (Lisp_Object, Lisp_Object, - int, int); + EMACS_INT, EMACS_INT); extern void syms_of_marker (void); /* Defined in fileio.c */ === modified file 'src/marker.c' --- src/marker.c 2010-08-30 12:47:49 +0000 +++ src/marker.c 2010-09-23 18:35:58 +0000 @@ -27,12 +27,12 @@ /* Record one cached position found recently by buf_charpos_to_bytepos or buf_bytepos_to_charpos. */ -static int cached_charpos; -static int cached_bytepos; +static EMACS_INT cached_charpos; +static EMACS_INT cached_bytepos; static struct buffer *cached_buffer; static int cached_modiff; -static void byte_char_debug_check (struct buffer *, int, int); +static void byte_char_debug_check (struct buffer *, EMACS_INT, EMACS_INT); /* Nonzero means enable debugging checks on byte/char correspondences. */ @@ -60,12 +60,12 @@ #define CONSIDER(CHARPOS, BYTEPOS) \ { \ - int this_charpos = (CHARPOS); \ + EMACS_INT this_charpos = (CHARPOS); \ int changed = 0; \ \ if (this_charpos == charpos) \ { \ - int value = (BYTEPOS); \ + EMACS_INT value = (BYTEPOS); \ if (byte_debug_flag) \ byte_char_debug_check (b, charpos, value); \ return value; \ @@ -90,7 +90,7 @@ { \ if (best_above - best_below == best_above_byte - best_below_byte) \ { \ - int value = best_below_byte + (charpos - best_below); \ + EMACS_INT value = best_below_byte + (charpos - best_below); \ if (byte_debug_flag) \ byte_char_debug_check (b, charpos, value); \ return value; \ @@ -99,9 +99,9 @@ } static void -byte_char_debug_check (struct buffer *b, int charpos, int bytepos) +byte_char_debug_check (struct buffer *b, EMACS_INT charpos, EMACS_INT bytepos) { - int nchars = 0; + EMACS_INT nchars = 0; if (bytepos > BUF_GPT_BYTE (b)) { @@ -118,18 +118,18 @@ abort (); } -int -charpos_to_bytepos (int charpos) +EMACS_INT +charpos_to_bytepos (EMACS_INT charpos) { return buf_charpos_to_bytepos (current_buffer, charpos); } -int -buf_charpos_to_bytepos (struct buffer *b, int charpos) +EMACS_INT +buf_charpos_to_bytepos (struct buffer *b, EMACS_INT charpos) { struct Lisp_Marker *tail; - int best_above, best_above_byte; - int best_below, best_below_byte; + EMACS_INT best_above, best_above_byte; + EMACS_INT best_below, best_below_byte; if (charpos < BUF_BEG (b) || charpos > BUF_Z (b)) abort (); @@ -269,12 +269,12 @@ #define CONSIDER(BYTEPOS, CHARPOS) \ { \ - int this_bytepos = (BYTEPOS); \ + EMACS_INT this_bytepos = (BYTEPOS); \ int changed = 0; \ \ if (this_bytepos == bytepos) \ { \ - int value = (CHARPOS); \ + EMACS_INT value = (CHARPOS); \ if (byte_debug_flag) \ byte_char_debug_check (b, value, bytepos); \ return value; \ @@ -299,7 +299,7 @@ { \ if (best_above - best_below == best_above_byte - best_below_byte) \ { \ - int value = best_below + (bytepos - best_below_byte); \ + EMACS_INT value = best_below + (bytepos - best_below_byte); \ if (byte_debug_flag) \ byte_char_debug_check (b, value, bytepos); \ return value; \ @@ -307,18 +307,18 @@ } \ } -int -bytepos_to_charpos (int bytepos) +EMACS_INT +bytepos_to_charpos (EMACS_INT bytepos) { return buf_bytepos_to_charpos (current_buffer, bytepos); } -int -buf_bytepos_to_charpos (struct buffer *b, int bytepos) +EMACS_INT +buf_bytepos_to_charpos (struct buffer *b, EMACS_INT bytepos) { struct Lisp_Marker *tail; - int best_above, best_above_byte; - int best_below, best_below_byte; + EMACS_INT best_above, best_above_byte; + EMACS_INT best_below, best_below_byte; if (bytepos < BUF_BEG_BYTE (b) || bytepos > BUF_Z_BYTE (b)) abort (); @@ -470,7 +470,7 @@ Returns MARKER. */) (Lisp_Object marker, Lisp_Object position, Lisp_Object buffer) { - register int charno, bytepos; + register EMACS_INT charno, bytepos; register struct buffer *b; register struct Lisp_Marker *m; @@ -545,7 +545,7 @@ Lisp_Object set_marker_restricted (Lisp_Object marker, Lisp_Object pos, Lisp_Object buffer) { - register int charno, bytepos; + register EMACS_INT charno, bytepos; register struct buffer *b; register struct Lisp_Marker *m; @@ -618,7 +618,7 @@ character position and the corresponding byte position. */ Lisp_Object -set_marker_both (Lisp_Object marker, Lisp_Object buffer, int charpos, int bytepos) +set_marker_both (Lisp_Object marker, Lisp_Object buffer, EMACS_INT charpos, EMACS_INT bytepos) { register struct buffer *b; register struct Lisp_Marker *m; @@ -666,7 +666,7 @@ be outside the visible part. */ Lisp_Object -set_marker_restricted_both (Lisp_Object marker, Lisp_Object buffer, int charpos, int bytepos) +set_marker_restricted_both (Lisp_Object marker, Lisp_Object buffer, EMACS_INT charpos, EMACS_INT bytepos) { register struct buffer *b; register struct Lisp_Marker *m; @@ -776,7 +776,7 @@ /* Return the char position of marker MARKER, as a C integer. */ -int +EMACS_INT marker_position (Lisp_Object marker) { register struct Lisp_Marker *m = XMARKER (marker); @@ -790,12 +790,12 @@ /* Return the byte position of marker MARKER, as a C integer. */ -int +EMACS_INT marker_byte_position (Lisp_Object marker) { register struct Lisp_Marker *m = XMARKER (marker); register struct buffer *buf = m->buffer; - register int i = m->bytepos; + register EMACS_INT i = m->bytepos; if (!buf) error ("Marker does not point anywhere"); @@ -856,7 +856,7 @@ (Lisp_Object position) { register struct Lisp_Marker *tail; - register int charno; + register EMACS_INT charno; charno = XINT (position); --=-=-= Content-Type: text/plain -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen --=-=-=--